changelog-old.txt000064400000370432147400355670010034 0ustar00This file contains changelog entries that are not contained in the main readme.txt file (that file contains the newest entries). = 1.12.35 - 03/Mar/2017 = * FIX: Fix an issue causing corruption of interrupted Dropbox backups. All Dropbox users are recommended to update asap. * TWEAK: Fix a regression that prevented information about a faulty WP scheduler from being shown in recent releases (incomplete fix in 1.12.34) * TWEAK: submit_button() needs to be available (possible UpdraftCentral fatal when requesting filesystem creds) * TWEAK: Remove an ES5 JavaScript construct (incompatible with some old browsers) * TWEAK: Fix incorrect variable name in routine that triggered WP automatic update check * TWEAK: Fix a logic error whereby if Google Drive and Google Cloud were both in use and partially set up, a notice about completing the setup of Cloud could fail to show = 1.12.34 - 23/Feb/2017 = * FEATURE: Added the ability to allow other plugins to call an automatic backup more easily * FEATURE: Added the ability to select which tables you want to backup when using the 'Backup now' modal (Premium) * FIX: Re-scanning a Dropbox that contained more than 1000 backup archives only fetched the first 1000 (this was previously awaiting on Dropbox fixing a related bug on their API servers). * FIX: Escape table names to allow table names with hyphens in, when reading data * FIX: The "Advanced Tools" tab was appearing with no contents if you chose an unwritable backup directory (regression) * TRANSLATIONS: Remove bundled Swedish (sv), Spanish (Spain) (es_ES) and Czeck (Čeština‎, cs_CZ) translations, since these are now retrieved from wordpress.org. * TWEAK: Prevent a JavaScript message being logged when loading UD infrastructure on non-UD settings pages (e.g. plugins that integrate to do backups via UD) * TWEAK: Make it easier for other plugins to get/set UpdraftPlus options with less code * TWEAK: Make sure that the get_plugins() function is available before using it when generating notices * TWEAK: Add the updraftplus_exclude_directory and updraftplus_exclude_file filters allowing arbitrary backup exclusions from code * TWEAK: Add a work-around for a bug in some server/Firefox combinations in handling of the Content-Length header with non-ASCII characters * TWEAK: Cause an informational message to be shown in the Rackspace module if php-json is not enabled * TWEAK: Fix a regression that prevented information about a faulty WP scheduler from being shown in recent releases * TWEAK: Made alert regarding plupload's 'HTTP -200' error, when upload of file fails, more informative. * TWEAK: Internal changes to the remote storage method API (future improvements which build on these are planned) = 1.12.32 - 26/Jan/2017 = * FEATURE: Add UpdraftCentral (https://updraftcentral.com) UpdraftVault listener * FEATURE: Encryption and decryption is now chunked, meaning that large databases of any size can be encrypted without being prevented by memory limits * FIX: Fix a bug whereby if a backup set containing a manual "more files" element was imported via a remote scan, then an error would show concerning it when attempting to restore. * FIX: On certain combinations of changing the "more files to backup" settings, these changes might not be reflected in the "Backup Now" dialog without a page reload * FIX: Remove a PHP 5.5+-only construction that crept into 1.12.31 * TWEAK: Allow UpdraftCentral command classes to provide commands via the __call method * TWEAK: Move the existing backups table into the templating system * TWEAK: When trying to restore before cleaning up a previous restore, the detailed error message shown needed tweaking * TWEAK: Some refactoring of the dashboard JavaScript, to abstract/harmonise all AJAX calls * TWEAK: Removed the triple click and replaced it with standard double click * TWEAK: Some refactoring of the UpdraftCentral command interface, to facilitate reduction of duplicated dashboard control code * TWEAK: One less HTTP round-trip when deleting from the dashboard * TWEAK: Updated advanced tools to allow UpdraftCentral to use wipe settings and export / import * TWEAK: Revamped the 'Premium / Extensions' tab in the free version * TWEAK: Work around HTTP 400 error from Dropbox on servers with several-year old version of curl, caused by bad interaction between curl and Dropbox over a specific header * TWEAK: Add a notice advising of WP-Optimize (https://wordpress.org/plugins/wp-optimize/) to the available notices * TWEAK: Prevent an unwanted PHP log notice when using Google Drive * TWEAK: More file directories are now added using a directory browser * TWEAK: Update plugin update checker library (paid versions) to version 3.1, which fixes some PHP 7 issues = 1.12.30 - 23/Dec/2016 = * FIX: Fix a Dropbox APIv2 issue where paths containing certain characters were incorrectly being encoded * FEATURE: Add UpdraftCentral (https://updraftcentral.com) comment-control and advanced tools listeners * TWEAK: Starting an operation to retrieve a remote backup from UpdraftCentral succeeded, but gave a UI error in UC when doing so * TWEAK: Fix a Dropbox APIv2 issue where Team storage displayed an incorrect value * TWEAK: Support for the new AWS S3 Canada Central 1 and London regions * TWEAK: Some re-factoring of the settings page output code for easier maintenance * TWEAK: Some re-factoring of the notices code, to allow re-use in other projects * TWEAK: Make sure that a UpdraftCentral_Commands class is available before loading any external command classes, so that they can rely on its presence = 1.12.29 - 22/Nov/2016 = * FIX: Fix a PHP error in the notices code (regression in 1.12.28) * FIX: Manual database search and replace now outputs logged operation information (regression in 1.12.28) = 1.12.28 - 21/Nov/2016 = * TWEAK: The UPDRAFTPLUS_DROPBOX_API_V1 constant will be ignored from 28th June 2017 (when Dropbox turn off that API entirely) * TWEAK: A new internal infrastructure for handling user-visible notices in the dashboard and reports * TWEAK: Small layout tweak to fix a malformatted error message = 1.12.27 - 17/Nov/2016 = * FIX: The WP 4.7 compatibility tweak in 1.12.26 introduced a regression that caused the question to appear when unwanted on other WP versions. = 1.12.26 - 16/Nov/2016 = * COMPATIBILITY: On WordPress 4.7, the behaviour of shiny updates has changed, necessitating a small tweak to prevent an unwanted "do you really want to move away from this page?" question from the browser on the updates/plugins pages in some situations. * TWEAK: When the Dropbox quota state seems to imply that the next upload will fail, do not register this as an error before it actually happens. * TWEAK: When an error occurs when re-scanning Dropbox, make sure the error details are logged in the browser developer console * FIX: Fix ability to rescan a Dropbox sub-folder (regression in 1.12.25) = 1.12.25 - 12/Nov/2016 = * COMPATIBILITY: Dropbox APIv2 capability (see: https://updraftplus.com/dropbox-api-version-1-deprecation/) in 1.12.24 was not complete - this release now avoids all APIv1 use * TWEAK: The 'site information' advanced tool now contains information on loaded Apache modules. * TWEAK: Small layout tweak to fix a malformatted error message = 1.12.24 - 08/Nov/2016 = * FIX: When importing a single site into a multisite install as a new site (experimental feature), the main multisite URL was being incorrectly adjusted * FIX: Fix a bug with remote scans not returning more database archives correctly * COMPATIBILITY: Add Dropbox APIv2 capability (see: https://updraftplus.com/dropbox-api-version-1-deprecation/) * FEATURE: Look for mysqldump.exe in likely locations on Windows, for faster database backups * TWEAK: UpdraftVault, Amazon S3 and DreamObjects downloaders have been rewritten without race conditions * TWEAK: Introduce an abstraction layer for reporting on the status of restore operations * TWEAK: Deleting remote backup sets from the dashboard is now batched for sets with many archives, to avoid potential PHP timeouts on slow remote services * TWEAK: Updated bundled phpseclib library to version 1.0.4 * TWEAK: Introduce an internal templating layer, for improved long-term maintainability * TWEAK: When importing a single site into a multisite install as a new site, remove any cron entries for backup runs on the new site * TWEAK: Fix an inconsequential off-by-one in the chunked downloading algorithm so that the behaviour is as documented * TWEAK: Improve accessibility of Labelauty components with keyboard navigation * TWEAK: Tweak the algorithm for scheduling resumptions, to improve efficiency in the (once) seen corner-case of PHP usually having a predictable run-time, but with an instance of a much longer run-time * TWEAK: Slightly more logging when an S3 error condition occurs, allowing easier diagnosis * TWEAK: Add support for the new US East (Ohio) region to S3 * TWEAK: OneDrive authentication can now detect a block by CloudFlare, and direct the user accordingly * TWEAK: If there are remote storage methods needing authentication, then pop up a box showing this to the user - so that it does not rely on them spotting the dashboard notice or having read the instructions = 1.12.23 - 04/Oct/2016 = * FIX: Fix a bug in URL replacement when cloning from a flat configuration to a WP-in-own-directory configuration * FIX: The button for testing connections to extra databases added to the backup was not working * FIX: Direct dashboard logins from UpdraftCentral were not working on WP 3.2 - 3.4 sites * COMPATIBILITY: Will upgrade Dropbox OAuthv1 tokens to OAuthv2 (to handle Dropbox API v1 deprecation in summer 2017) * TWEAK: Deleting an already-deleted backup set from UpdraftCentral now produces a more informative error message * TWEAK: When restoring only a single site out of a multisite install, store less data in memory on irrelevant tables, and do less logging when skipping tables * TWEAK: Update bundled UDRPC library to version 1.4.9 - fixes a bug with the admin URL used for contact via UpdraftCentral on multisite * TWEAK: Explicitly store the UpdraftPlus object as a global * TWEAK: Prevent a pointless "unsaved settings" warning if settings were changed then the 'wipe' button used * TWEAK: When using the Importer add-on, allow backups from WordPress Backup to Dropbox to be wrapped in an extra 'wpb2d' folder * TWEAK: Strengthen protections against resuming an already-complete backup after migration on servers with misbehaving WP schedulers * TWEAK: Touch already-existing but incomplete files being downloaded, to reduce possibility of two processes downloading at once * TWEAK: Add a link to more information about UpdraftCentral in the advanced tool * TWEAK: The UPDRAFTPLUS_MYSQLDUMP_EXECUTABLE define can now be used on Windows (you will need to define a path to take advantage of it) * TWEAK: Introduce the UPDRAFTPLUS_SKIP_CPANEL_QUOTA_CHECK constant to allow skipping of trying to check cPanel quota = 1.12.21 - 08/Sep/2016 = * FIX: Fix a bug in the updater code that caused updates checks to be run more often than intended * TWEAK: Improve/tidy layout of the "Advanced Tools" tab * TWEAK: Make it more obvious in the file uploading widget when an upload is 100% complete * TWEAK: Prevent spurious OneDrive message being shown when re-scanning remote storage and not using OneDrive * TWEAK: OneDrive storage now uses the refresh token yes frequently (less HTTP calls) = 1.12.20 - 29/Aug/2016 = * FEATURE: OpenStack uploads (including Rackspace Cloudfiles) can now adapt their upload rate to network conditions, leading to much faster uploads on many networks * FEATURE: Updated the OneDrive configuration to make it easier to setup. A custom Microsoft Developer App is no longer required * FEATURE: The "Advanced Tools" tab now has tools for importing and exporting settings * TWEAK: Honour the "do not verify SSL certificates" setting with WebDAV storage on PHP 5.6+ * TWEAK: When there's a connection problem to updraftplus.com when claiming licences, provide more error info and guidance * TWEAK: In particular circumstances (malfunctioning WP scheduler, expert option to keep backups after despatching remotely selected (non-default)), zips could be sent to Google Drive more than once * TWEAK: Tweak issue in 1.12.18 with automatic backup pop-up appearing under another pop-up if you update themes via the themes pop-up (instead of the direct link) * TWEAK: When rescanning remote storage, don't log a potentially confusing message for an unconfigured storage module * TWEAK: Show a visual indicator and advice if an invalid hostname is entered for WebDAV * TWEAK: Removed the no-longer-useful debug backup buttons * TWEAK: Add a message when generating a key on a server without php-openssl, with information about how to make it faster * TWEAK: Prevent PHP installs which print PHP logging information to the browser from messing up the WebDAV settings in some situations * TWEAK: If PHP reports the current memory limit as a non-positive integer, do not display any message to the user about a low memory limit * TWEAK: If the user deletes their Google API project, then show clearer information on what to do when a backup fails * TWEAK: If you changed your OneDrive client ID, UD will now more clearly advise you of the need to re-authenticate * COMPATIBILITY: Updated the OneDrive authentication procedure to make it compatible with the new Microsoft Developer Apps = 1.12.18 - 03/Aug/2016 = * TWEAK: When Microsoft OneDrive quota is insufficient, the advisory message from UD now includes the available quota (as well as the used) * FEATURE: The Azure add-on/Premium now supports new-style Azure storage, as well as classic * FEATURE: The Rackspace enhanced wizard can now be accessed via UpdraftCentral * TWEAK: Fix a regression in recent WP versions which caused remote keys to not always be retained after a migration * TWEAK: When logging Azure upload locations, include the account name * TWEAK: Make the entering of settings for WebDAV more user-friendly * TWEAK: Update bundled select2 to version 4.0.3 * TWEAK: Clarify error message when a 'more files' location is not found * TWEAK: Add redirection_404 to the list of tables likely to be large, and not needing search/replacing * COMPATIBILITY: Compatible with WP 4.6 (previous paid versions have incompatibilities with the changes made to 'shiny updates/installs/deletes' in WP 4.6) = 1.12.17 - 19/Jul/2016 = * FIX: Previous free release included empty translation files * TWEAK: Add 'snapshots' to the default list of directories to exclude from the uploads backup (is used by another backup plugin - avoid backups-of-backups) * TWEAK: Add et_bloom_stats to the list of tables likely to be large, and not needing search/replacing = 1.12.16 - 07/Jul/2016 = * TWEAK: Log FTP progress upload less often (slight resource usage improvement) * TWEAK: For multi-archive backup sets, the HTML title attribute of download buttons had unnecessary duplicated information * TWEAK: Improve OneDrive performance by caching directory listings * TWEAK: Detect and handle a case in which OneDrive incorrectly reports a file as incompletely uploaded * FIX: OneDrive scanning of large directories for existing backup sets was only detecting the first 200 files = 1.12.15 - 06/Jul/2016 = * TWEAK: S3 now supports the new Mumbai region * TWEAK: If the user enters an AWS/S3 access key that looks prima facie invalid, then mention this in the error output * TWEAK: Make the message that the user is shown in the case of no network connectivity to updraftplus.com when connecting for updates (paid versions) clearer * TWEAK: Extend caching of enumeration of uploads that was introduced in 1.11.1 to other data in wp-content also * TWEAK: Avoid fatal error in Migrator if running via WP-CLI with the USER environment variable unset * TWEAK: When DB_CHARSET is defined but empty, treat it the same as if undefined * TWEAK: Add updraftplus_remotesend_udrpc_object_obtained action hook, allowing customisation of HTTP transport options for remote sending * TWEAK: Introduced new UPDRAFTPLUS_RESTORE_ALL_SETTINGS constant to assist in complicated load-balancing setups with duplicate install on the same URL * TWEAK: Update bundled tripleclick script to fix bug in teardown handler * TWEAK: Update bundled UDRPC library to version 1.4.8 * TWEAK: Patch Labelauty to be friendly to screen-readers * TWEAK: Suppress the UD updates check on paid versions that immediately follows a WP automatic core security update * TWEAK: Handle missing UpdraftCentral command classes more elegantly * FEATURE: Endpoint handlers for forthcoming updates and user management features in UpdraftCentral * TRANSLATIONS: Remove bundled German (de_DE) translation, since this is now retrieved from wordpress.org * FIX: Fix inaccurate reporting of the current Vault quota usage in the report email * FIX: Fix logic errors in processing return codes when no direct MySQL/MySQLi connection was possible in restoring that could cause UpdraftPlus to wrongly conclude that restoring was not possible = 1.12.13 - 07/Jun/2016 = * TWEAK: Default the S3 secret key field type to 'password' instead of 'text' * TWEAK: Do more checks for active output buffers prior to spooling files to the browser (to prevent memory overflows) * TWEAK: Update bundled UDRPC library to version 1.4.7 = 1.12.12 - 25/May/2016 = * FIX: When restoring a plugins backup on multisite, old plugins were inactivated but not always removed * TWEAK: Use POST instead of GET for OneDrive token requests - some new accounts seem to have begun requiring this * TWEAK: When backing up user-configured directories, don't log confusing/misleading messages for unzippable directory symlinks * TRANSLATIONS: wordpress.org is now serving up translations for fr_FR, pt_PT and ro_RO, so these can/have been removed from the plugin zip (1.2Mb released) = 1.12.11 - 19/May/2016 = * FIX: 1.12.8 (paid versions only) contained a regression that prevented S3 access if the user had a custom policy that did not include location permission. This fix means that the work-around of adding that permission to the policy is no longer required. * FIX: Fix a regression in 1.12.8 that prevented non-existent DreamObjects buckets from being created * FIX: Fix inaccurate reporting of the current Vault quota usage in the report email since 1.12.8 * FIX: The short-lived 1.12.10 had a duplicate copy of the plugin in the release zip * TWEAK: Detect a particular obscure PHP bug in some versions that is triggered by the Amazon S3 SDK, and automatically switch to the older SDK if it is hit (N.B. Not compatible with Frankfurt region). * TWEAK: Audit/update all use of wp_remote_ functions to reflect API changes in the upcoming WP 4.6 * TWEAK: Tweak to the settings saving, to avoid a false-positive trigger of a particular rule found in some mod_security installs * TWEAK: Update bundled UDRPC library to version 1.4.5 = 1.12.9 - 11/May/2016 = * FIX: In yesterday's 1.12.8, some previously accessible Amazon S3 buckets could no longer be accessed = 1.12.8 - 10/May/2016 = * FEATURE: Support S3's "infrequent access" storage class (Premium) * FIX: Fix bug in SFTP uploading algorithm that would corrupt archives if a resumption was necessary * TWEAK: Add information on UpdraftVault quota to reporting emails * TWEAK: Update the bundled AWS library to version 2.8.30 * TWEAK: Update the bundled Symfony library to version 2.8.5 * TWEAK: Update the bundled phpseclib library to version 1.0.2 (which includes a fix for SFTP on PHP 5.3) * TWEAK: Improve the overlapping runs detection when writing out individual database tables, for helping servers with huge tables without mysqldump * TWEAK: Prevent restoration from replacing the local record of keys of remote sites to send backups to (Migrator add-on) * TWEAK: Re-order the classes in class-zip.php, to help misbehaving XCache (and perhaps other opcode cache) instances * TWEAK: Do not include transient update availability data in the backup (which will be immediately out-of-date) * TWEAK: Updated the URLs of various S3-compatible providers to use SSL, where available * TWEAK: Added an endpoint drop-down for Dreamobjects, using their new/updated endpoint (currently only one choice, but they will have more in future) * TWEAK: Suppress a log message from UpdraftVault when that message is not in use * TWEAK: When key creation times out in the Migrator, display the error message in the UI = 1.12.6 - 30/Apr/2016 = * FIX: UpdraftVault quota usage was being shown incorrectly in recounts on sites connected to accounts backing up multiple sites * TWEAK: In accordance with Barracuda's previous announcement, copy.com no longer exists - https://techlib.barracuda.com/CudaDrive/EOL * TWEAK: Allow particular log lines to be cancelled * TWEAK: Explicitly set the separator when calling http_build_query(), to prevent problems with non-default configurations * TWEAK: Tweak the algorithm for sending data to a remote UD installation to cope with eventually-consistent filesystems that are temporarily inconsistent * TWEAK: Make the automatic backups advert prettier * TWEAK: Detect and combine file and database backups running on different schedules which coincide * TWEAK: Update bundled Select2 to version 4.0.2 * TWEAK: Update UDRPC library to version 1.4.3 * TWEAK: Update dashboard notices for 2017/18 = 1.12.5 - 08/Apr/2016 = * TWEAK: (Paid versions) - tweak the updater class so that it sends the information that updraftplus.com needs in order to correctly advise about language pack update availability. (If you are continuously seeing the same language pack update offered, then this may continue for a few more hours - please be patient!). * TWEAK: Detect another case and deal with an HTTP 413 response when sending chunked data on a direct site-to-site migration = 1.12.4 - 07/Apr/2016 = * FEATURE: Faster uploads to Dropbox, via adapting to network conditions: https://updraftplus.com/faster-dropbox-uploads/ * FEATURE: (Paid versions) Plugin now no longer bundles all translations - instead, WP's mechanism for downloading single translations, as/when needed, is used (reduces on-disk size by 12MB=36%)). * FIX: Deal with some database encryption phrases with special characters that were incorrectly processed * FIX: Deal with an error in the advanced retention rules processing code, that could lead to keeping the wrong backup set * FIX: Fix an unescaped string which could cause a JavaScript notice on the UD settings page in some non-English translations * FIX: The minimum allowed value for the split size was not previously taking effect when saving settings * TWEAK: When connection to an updraftplus.com UpdraftCentral dashboard, allow use of the alternative connection method * TWEAK: Suppress some known deprecation warnings on PHP 7 * TWEAK: Show OpenSSL/Mcrypt info in the log + debug info * TWEAK: Detect a completed upload to Dropbox masked by a race event from the WP scheduler * TWEAK: The drop-down in the 'Migrate' dialog will now update on a rescan without needing a page reload * TWEAK: (Paid versions) Update bundled plugin updater class (Yahnis Elsts) to version 3.0 * TWEAK: Add woocommerce_sessions to the list of tables of transient data * TWEAK: When saving settings, if invalid input is adjusted, this will be reflected back to the UI without a page load (not on all elements) * TWEAK: When saving settings, the schedule was written twice on non-multisite installs = 1.12.2 - 30/Mar/2016 = * TWEAK: When testing Amazon S3 bucket accessibility, slightly improve one of the corner-case checks * TWEAK: When creating an encryption key for direct Migration, or UpdraftCentral, allow the user to choose their key size (this helps with PHP installs lacking both OpenSSL and GMP, in which case key creation can be really slow) * TWEAK: Detect another case and deal with an HTTP 413 response when sending chunked data on a direct site-to-site migration = 1.12.1 - 24/Mar/2016 = * TWEAK: Update the bundled remote communications library - needed for some UpdraftCentral users = 1.12.0 - 23/Mar/2016 = * FEATURE: Compatible with the forthcoming (very soon!) UpdraftCentral remote control panel * COMPATIBILITY: Tested + supported on the upcoming WordPress 4.5 * FIX: On some setups, if no remote storage was configured (not recommended), then old backups were not being pruned * FIX: Make FTP active mode (very rarely seen) work correctly again * TWEAK: Added a hint to FTP users who appear to be firewalled on only the data channel when attempting to use encrypted FTP * TWEAK: Improve detection of the WordPress scheduler duplicating periodic events when the server is overloaded * TWEAK: Simplify main tab layout upon first use * TWEAK: Add some previously unbundled licence files * TWEAK: Prevent a couple of PHP notices being logged when running a manual search/replace * TWEAK: Add a filter to allow more over-riding of pruning = 1.11.29 - 27/Feb/2016 = * FIX: When saving settings on multisite, some connections to remote storage could drop and need to be re-made * FIX: Fix an inoperative button in the Clone dialog box * FIX: Fix an error upon automatic backups (Premium) in 2.11.28 * TWEAK: Updated readme to reflect > 700,000 active sites * TWEAK: When cloning a site and mod_rewrite is not available, give a warning pre-restore * TWEAK: Options saving on multisite is now much more efficient (in terms of database requests required) * TWEAK: Improve the scheduling algorithm in the case of hosts that allow very long runs times, and a network outage on the cloud storage * TWEAK: When connecting to updraftplus.com to claim a licence (paid versions), use the newer JSON-based protocol * TWEAK: Many and various internal improvements to structure of the admin page HTML, CSS and JS * TWEAK: The boxes for adding extra addresses for reporting, and extra DBs, now fade in = 1.11.27 - 17/Feb/2016 = * FEATURE: Automatic backups can take place before updates commissioned via WordPress.Com/JetPack remote site management (requires a not-yet-released version of JetPack - all current releases are insufficient, so please don't file reports about this yet) * FIX: Fixed a further logic error in the advanced backup retention options, potentially relevant if you had more than one extra rule, affecting the oldest backups * TWEAK: Resolve issue on some sites with in-dashboard downloads being interfered with by other site components * TWEAK: Auto-backups now hook to a newly-added more suitable action, on WP 4.4+ (https://core.trac.wordpress.org/ticket/30441) * TWEAK: Make WebDAV library not use a language construct that's not supported by HHVM * TWEAK: Change options in the "Backup Now" dialog as main settings are changed * TWEAK: Show the file options in the "Backup Now" dialog if/when alerting the user that they've chosen inconsistent options * TWEAK: When pruning old backups, save the history to the database at least every 10 seconds, to help with sites with slow network communications and short PHP timeouts = 1.11.26 - 13/Feb/2016 = * TWEAK: Prevent HTTP 500 download errors on some very large file/hosting setups * TWEAK: A tiny number of users had a badly laid-out settings screen until they refreshed their browser cache. This release prevents that. = 1.11.24 - 10/Feb/2016 = * FIX: Fixed further logic errors in the advanced backup retention options, potentially relevant if you had more than one extra rule * TWEAK: Saving of settings is now done over AJAX (i.e. without a page reload) * TWEAK: In-dashboard downloads now process the HTTP Range: header, allowing resumption of failed downloads via the browser * TWEAK: Tweak 'Existing Backups' table CSS, to allow more entities per row * TWEAK: Warn copy.com users of Barracuda ending the service - https://techlib.barracuda.com/CudaDrive/EOL * TWEAK: Rename the 'hidden' CSS class, to prevent clashes with other plugins/themes which load their CSS code onto UD's page (which they shouldn't be doing) * TWEAK: Fix newsletter sign-up link * TWEAK: Log and triple-click summary now mentions the total size of the backup (i.e. total of the compressed backup set) * TWEAK: Try to detect a very rare case of recoverable database read failure, and schedule a re-try * TWEAK: Suppress unnecessary warning message when Dropbox account info checking fails * TWEAK: Attempt to restart a large OneDrive upload in a particular case seen when OneDrive's end seems to get into confusion about state * TWEAK: Various bits of internal re-factoring to support future improvements = 1.11.23 - 26/Jan/2016 = * FIX: When migrating a sub-folder based multisite into a non-root install with different relative path to the source multisite (I can't think of any good reasons to do this), the search/replace could leave sub-sites unreachable without manual correction * FIX: Logic errors in the advanced backup retention options could lead to the oldest backups being deleted prematurely, and some backups not being deleted when they were overdue for deletion * FIX: Amazon S3 bucket creation wizard (in the S3 enhanced add-on) was not honouring the chosen region for new buckets * FIX: Upon restoration over an existing site, inactive plugins could remain post-restore (bug introduced in 1.11.20) * TWEAK: Various internal re-organisations, to improve modularity/re-use of the code * TWEAK: Internal CSS re-organisation to make future layout changes easier * TWEAK: The "stop" link in the backup progress indicator now halts the backup asap, instead of at the next scheduled resumption * TWEAK: Clarify the course of action needed if you attempt a Dropbox backup without Curl * TWEAK: Add support for the new Asia Pacific (Seoul) region to Amazon S3 * TWEAK: Make the automatic backup option box appear on the updates page for users who can update plugins or themes (not just core - previously it was assumed that these would always go together in the real world, but some managed hosts are now removing the core update capability from the default admin user, whilst leaving the others) * TWEAK: Change default zip split size to 400Mb on new installs * TWEAK: Clean up use of composer, to conform to proper usage standards, and update to current version (to avoid causing a problem for plugins using PSR-4 autoloaders) * TWEAK: Provide direct links to cart when choosing UpdraftPlus Vault storage * TWEAK: Add debug.log to the default exclusions in wp-content (when people leave debug logging on and forget, it can get huge) * TWEAK: On multisite, make sure that the site/blogs tables are placed early in the backup (assists with quickly scanning backup info) * TWEAK: Update to phpseclib 1.0.1 * TWEAK: Prevent a PHP notice when using SCP * TWEAK: Add new termmeta table to the default list of core tables (which is usually automatically detected) = 1.11.21 - 28/Dec/2015 = * TWEAK: If there's a problem connecting to UpdraftPlus Vault, in some situations the information on the cause was not easily readable * TWEAK: Slightly more logging on failed OneDrive operations, to aid problem-solving * TWEAK: Add wysija_email_user_stat to the list of potentially huge non-critical tables (which can get skipped in an emergency) * FIX: Package Pear/Exception.php, so that servers without it already can use Microsoft Azure blob storage * FIX: Prevent PHP fatal error on admin area in some restore scenarios = 1.11.20 - 21/Dec/2015 = * FEATURE: WordPress multisite backup administrators can now selectively restore data from a chosen site, instead of restoring the entire WordPress install - https://updraftplus.com/selectively-restoring-on-wordpress-multisite/ (requires WP 3.5+, UpdraftPlus Premium) * FEATURE: Import a WordPress single-site backup into WordPress multisite, as a new site (requires WP 3.5+, UpdraftPlus Premium) - https://updraftplus.com/information-on-importing-a-single-site-wordpress-backup-into-a-wordpress-network-i-e-multisite/ * FIX: Properly encode folder paths with Copy.Com, allowing some previously prevented folder names to work * FIX: In-dashboard decryption using some decryption keys with URL-encodable characters failed * FIX: Prevent PHP fatal error on settings page on a buggy old PHP version (5.2.10) when Google Cloud storage add-on not present * FIX: When using multiple remote storage providers, a race condition could lead to some old backups not being deleted on the storage not uploaded to last * FIX: Views are now placed after tables in the database backup * FIX: In-page uploader widget was not working on sub-domain based multisites in some dashboard access scenarios * FIX: Package Net/URL2 (PEAR), so that servers without it already can use Microsoft Azure blob storage * TWEAK: Upgrade Microsoft OneDrive API usage to latest version * TWEAK: Automatic backups are now hooked into the themes page in the network admin on WP multisite installs * TWEAK: Dashboard messages were not being clearly shown when trying to use UpdraftPlus Vault without PHP Curl available * TWEAK: Protect against other plugins loading incompatible Google SDKs when Google Cloud is being used * TWEAK: When trying to use S3, DreamObjects or UpdraftPlus Vault without PHP Curl available, make the cause of the problem more obvious * TWEAK: When sending data to remote site, keep re-trying on receipt of an HTTP 413 (request entity too large) down to 64Kb (instead of previous 128Kb) - a webserver was seen in the wild configured at this level * TWEAK: Detect the WordPress scheduler invoking a scheduled backup multiple times, in some cases where the existing semaphore lock wasn't helping (because the backup already finished, or the WP scheduler invoked multiple instances of the same event minutes apart - apparently possible when very heavily overloaded) * TWEAK: Detect an inconsistent semaphore locking state, and fix it (apparently only possible upon unexpected server crash) * TWEAK: Provide a button to cancel (not just continue) an interrupted restore * TWEAK: Work around buggy Ubuntu PHP versions - https://bugs.launchpad.net/ubuntu/+source/php5/+bug/1315888 * TWEAK: Make sure that backup options get passed on with continuation data, when resuming an interrupted restore * TWEAK: Catch a few untranslated strings (in the decryptor widget for encrypted backups) * TWEAK: Log more information if a connection to UpdraftPlus Vault fails * TWEAK: The internal info shown when triple-clicking a backup set's date had messed-up formatting = 1.11.18 - 25/Nov/2015 = * FEATURE: On hosts with low timeouts that kill restore operations half-way though, provide an obvious button on the dashboard to immediately resume; see: https://updraftplus.com/resuming-interrupted-restores/ * FEATURE: Usability improvements and ability to select file components in the 'Backup Now' dialog - https://updraftplus.com/improvements-to-the-backup-now-dialog-box/ * FEATURE: Full support for Microsoft Azure blob storage (UpdraftPlus Premium) * FEATURE: Allow all files beginning with a defined prefix to be excluded from the backup by inputting (for example) prefix:someprefix_,prefix:someotherprefix- in your exclusion settings - see: https://updraftplus.com/faqs/how-can-i-exclude-particular-filesdirectories-from-the-backup/ * FEATURE: UpdraftPlus Premium can now restore backups created by "Dropbox Backup" by WPAdm * COMPATIBILITY: Tested/supported on the forthcoming WordPress 4.4 * TWEAK: Faster zip file creation on PHP 7 with ZipArchive - https://updraftplus.com/faster-zip-file-creation-with-the-php-7-zip-engine/ * TWEAK: Improve settings tab: remove headings, tweak a few wordings, move "remote storage" section further up * TWEAK: Introduce UPDRAFTPLUS_SET_TIME_LIMIT internal constant * TWEAK: Quote the table name passed to MySQL in DESCRIBE statement * TWEAK: Prevent a PHP notice being logged during initial updates connection, and another when restoring third-party databases * TWEAK: Style previously unstyled button in some auto-backup scenarios * FIX: A few settings were not being deleted by the "Wipe Settings" button. * FIX: Importer would not correctly handle third-party backups where the files and zip were both in zip format, separately, and where they were restored together * FIX: With multi-archive backup sets, files in the top level of a backup of WP core or 'others' were not restored by an in-dashboard restore if they over-wrote an existing non-identical file if they were not in the first archive = 1.11.17 - 13/Nov/2015 = * FIX: Resolve a conflict with "Simple Calendar" (formerly "Google Calendar Events") since their re-written 3.0 release, when using Google Drive storage = 1.11.15 - 28/Oct/2015 = * FEATURE: Google Cloud Storage support (UpdraftPlus Premium) * FIX: Automatic backups of WordPress core prior to WP core upgrade in recent versions were including non-WP core files * FIX: OwnCloud 8.1's WebDAV server responds differently, breaking UD's communications: restore the ability to backup to OwnCloud WebDAV * TWEAK: Allow use of the Meta key for selecting multiple backup sets (as well as Control) * TWEAK: When sending backup data directly site-to-site (when migrating), handle the (very rare) case where a remote server complains of the chunk size after accepting previous chunks of the same size * TWEAK: Add message to final log line when sending backup set directly to a remote site, reminding the user of what to do next. * TWEAK: Tweak zip-splitting algorithm, to prevent delayed split on resumption when final file in the last-created zip is gigantic * TWEAK: By default, exclude directories that appear to be the UpdraftPlus internal directory of a site stored in a sub-directory when backing up WordPress core * TWEAK: In the debugging output, show more clearly when Curl is not installed * TWEAK: Remove trailing slashes from what WP returns as the uploads/plugins directories, in case the user has specified a manual directory over-ride and erroneously added a trailing slash * TWEAK: Replace all remaining http:// links to updraftplus.com with https:// * TWEAK: Raise some of the Google Drive network timeouts * TWEAK: Suppress an internal PHP notice when pruning backups in some circumstances * TRANSLATIONS: Various updated translations = 1.11.12 - 29/Sep/2015 = * FEATURE: More sophisticated rules for retention/deletion (UpdraftPlus Premium) - https://updraftplus.com/more-sophisticated-backup-retention/ * FEATURE: Delete multiple backups at once - https://updraftplus.com/deleting-multiple-backups/ * FEATURE: When choosing a monthly backup, you can now choose the starting date (e.g. choose 17th, not just choose the next week-day, e.g. next Monday) * FEATURE: You can exclude files with any particular extension by using the constant UPDRAFTPLUS_EXCLUDE_EXTENSIONS (comma-separate different extensions), or by inputting (for example) ext:.zip,ext:.mp4 in your exclusion settings. * FEATURE: Tested and supported on the forthcoming PHP 7.0 * FIX: SFTP uploads could hang after finishing, if more than one attempt was needed to upload the file * FIX: Stop causing JavaScript errors on WordPress 3.2 on the plugins page * TWEAK: UI improvement when choosing multiple storage options - https://updraftplus.com/a-prettier-way-to-choose-remote-storage-options/ * TWEAK: The storage selection drop-down (free version) now has icons to make it easier on the eye * TWEAK: Use UpdraftPlus Vault logo * TWEAK: Replace target="_new" with target="_blank" when opening new browser ports, to be more standards-compliant * TWEAK: Tweak the auto-split algorithm again to catch another case where it would have been better to split in a low-resource situation * TWEAK: When checking the backup integrity, allow for a multisite to not have a root options table; check sitemeta instead (unlikely, but theoretically possible) * TWEAK: Raise default Google Drive network timeout from 15 seconds - it's too possible to hit this on a slow uplink (e.g. congested ADSL) * TWEAK: Upgrade the bundled Google SDK to the most recent release (1.1.4) * TWEAK: Add previously-untranslated string * TWEAK: Suppress a PHP notice relating to a constant that needed quoting * TWEAK: Turn off reporting of PHP deprecation conditions if using phpseclib on PHP 7 (can break communications - phpseclib uses PHP4-style constructors) * TRANSLATIONS: Various updated translations = 1.11.9 - 04/Sep/2015 = * FIX: Dropbox introduced an un-documented, un-announced change to their server, which caused new site authentications in UpdraftPlus to no longer work. Now fixed with this release. * FIX: If backing up multiple extra directories under "more files", if large directories required a resumption, then inclusion of the files multiple times in the backup was possible. * TWEAK: Tweak the auto-split algorithm to not avoid firing in a particular case (that relies on a sequence of unlikely I/O events, seen on GoDaddy) if there's no resumption scheduled * TWEAK: Add mysql.sql to the (changeable) default configuration for excludes from wp-content - on WP Engine this is an unreadable file that they create that thus produces a backup warning * TWEAK: Add a dashboard warning (+ link to documentation) if UD appears to be incompletely installed * TWEAK: Add UPDRAFTPLUS_WEBDAV_NEVER_CHUNK constant for WebDAV servers that return the wrong error code when chunking fails * TWEAK: Introduce a UPDRAFTPLUS_REMOTESEND_DEFAULT_CHUNK_BYTES constant allowing the over-riding of the remote-send (Migrator) starting chunk size in wp-config.php (expert users) * TWEAK: Add CSS classes to dashboard updates notices, so that people can hide them more easily if they wish * TWEAK: If gzopen() is disabled, then test binzip without trying to use PclZip to verify the results * TWEAK: Add work-around for PHP bug https://bugs.php.net/bug.php?id=62852 = 1.11.6 - 22/Aug/2015 = * FIX: SFTP was not working in 1.11.4 for some servers (related to phpseclib library update and sources of random data) * FIX: 1.11.5 release had wrong version number in header for paying users; corrected with fresh release = 1.11.4 - 19/Aug/2015 = * FIX: Perform previously missing tweak on the database after restoring a multisite backup to an install with a different table prefix, which inhibited the ability to create new users on the main site in a network. * TWEAK: Remove an inefficiency when examining files to prune from Google Drive, reducing the amount of time needed. * TWEAK: Show a warning if UpdraftPlus's directory in wp-content/plugins has been manually renamed to include a space, which WordPress does not support * TWEAK: Skip search/replacing of the 'guid' column in the posts table when migrating (improves performance - and prevents possible re-appearances of blog articles in peoples' feed readers if double-migrating) * TWEAK: Upgraded the bundled phpseclib Math, Net and File libraries to current versions (1.0 branch) * TWEAK: Prevent PHP notice in log file when deleting FTP backup from dashboard * TRANSLATIONS: Updated translations, including Greek = 1.11.3 - 13/Aug/2015 = * FIX: Fix access to S3 for PHP 5.2 users using buckets in the US-WEST-1 region * FIX: Fix access to UpdraftPlus Vault for some PHP 5.2 users = 1.11.2 - 11/Aug/2015 = * TWEAK: Handle the results when someone with no UpdraftPlus Vault quota attempts to connect more gracefully = 1.11.1 - 10/Aug/2015 = * FEATURE: UpdraftPlus Vault storage - simple to set up storage from your trusted provider: https://updraftplus.com/landing/vault - with 1Gb of free storage for UpdraftPlus Premium customers ( https://updraftplus.com/shop/updraftplus-premium/ ) - and more storage available for anyone to purchase. All other storage options (Dropbox, Google Drive, etc.) remain available, of course! * FEATURE: S3 enhanced wizard now allows the user to optionally deny the new Amazon Web Services IAM user download and/or delete permissions, for an even more secure setup (at the cost of some convenience - you will need to download/restore/delete S3 backups outside of UpdraftPlus). * FEATURE: Amazon S3 in UpdraftPlus Premium now supports optional server-side encryption * FEATURE: An "UpdraftPlus" menu now appears on the WP admin bar, allowing quick access. * COMPATIBILITY: Tested and compatible with WordPress 4.3 * SPEED: For users' whose backups are created with a zip binary (the default engine, where available), CPU usage + zip creation times have been significantly reduced * SPEED: For users cloning a website with a large number of users and a changed table prefix, a long and slow series of SQL operations has been replaced with a single fast one * FIX: The chunk-uploading algorithm for Copy.Com could unnecessarily upload the same chunks multiple times. We have not had any reports, but we believe it's also theoretically possible that a Copy.Com upload could have been corrupted by the same issue, so recommend updating for all Copy.Com users. * FIX: Fix issue with site cloning whereby on sites with very large numbers of entries in the postmeta table that needed search/replacing, some could be omitted (in the case seen, the table had >600,000 entries) * FIX: Saving the settings immediately after authenticating with Copy.Com resulted in being redirected to WP's page for all settings. * FIX: If PHP was killed by the webserver during the process of pruning old backups, then this would not be retried until the next backup, thus potentially leaving more backups than desired around in remote storage in the meanwhile. * FIX: Log files sometimes failed to mention the MySQL version * TRANSLATIONS: Various updated translations - thanks to our translators * TWEAK: When choosing multiple remote storage options (Premium), these are now stacked via tabs, instead of vertically as before * TWEAK: More help for enormous sites on badly resourced web hosting: part of the enumeration of uploads needing backing up is now cached, allowing more to be time when time limits are short * TWEAK: Secret credentials (e.g. S3 secret key) in the admin area are now starred (as explained in our long-standing FAQ, this does nothing to protect against malicious WordPress co-admins on your site - https://updraftplus.com/faqs/in-the-administration-section-it-shows-my-amazon-ftp-etc-passwords-without-using-stars-is-this-safe/ - but at least we won't get asked about it so many times!). * TWEAK: Provide more direct help to the user if they are hosting with Strato and get the 'File Size Limit Exceeded' zip message * TWEAK: When migrating data directly to a remote site, if the remote site returns a 413 HTTP code ("Request Entity Too Large"), re-try using a smaller chunk size * TWEAK: Log when about to begin encryption of a database file (allowing the progress to be monitored more easily if there's a problem) * TWEAK: Detect a further case of an incompatible database (that is from a remote source and uses MySQL features not present on the destination server) and warn before attempting to import. * TWEAK: Make the error message shown if trying to restore an incompatible database (that is from a remote source and uses MySQL features not present on the destination server) clearer. * TWEAK: If the user uses "Backup Now" before saving their settings, warn them that the unsaved settings changes won't apply to this backup * TWEAK: Only warn about very large files found once for each file (rather than once per resumption) * TWEAK: Add the UPDRAFTPLUS_GOOGLEDRIVE_DISABLEGZIP constant - define it as true to work-around broken HTTP setups (possibly broken outgoing proxy?) when accessing Google Drive * TWEAK: When claiming an add-on (paid versions), the user's updraftplus.com password will automatically be forgotten once it is no longer needed * TWEAK: Handle the case of the user typing in an invalid number of backups to retain more elegantly * TWEAK: No longer require the php-mcrypt module for Dropbox * TWEAK: Also retry a smaller chunk size if it looks like mod_security unhelpfully replaced a 413 HTTP code with a 200 success message despite the operation actually failing for this reason, or if it looks like sending is just timing out before the PHP timeout (so that we don't get notified). * TWEAK: Added new CA root certificates to store (http://curl.haxx.se/ca/cacert.pem) * TWEAK: If the Migrator's direct-send component drops its chunk size, then store this information so that it doesn't have to go through the cycle of finding the best chunk size the next time. * TWEAK: Added UPDRAFTPLUS_IPV4_ONLY constant to prevent use of IPv6 (currently implemented by Google Drive only) * TWEAK: Deal with a case where the web host appears to be losing disk I/O near kill time, despite later database writes going through (so, the order of operations was insufficient to guarantee what had been completed). This issue was only cosmetic - backup sets were intact (hence "tweak", not "fix") * TWEAK: Increase HTTP timeout for remote site-to-site operations * TWEAK: Don't cause the 'debug' tab to abort rendering if the web host has disabled the gzopen() function (which is an odd/pointless thing to do) * TWEAK: Resolve PHP 'strict standards' coding internal notice in Google Drive module = 1.10.3 - 2015-06-09 = * FEATURE: Migration component can now send backup data directly from one WP site to another - https://updraftplus.com/shop/updraftplus-premium/ * FEATURE: Support active mode FTP servers (extremely rare) * FIX: The error message when choosing no components to restore was empty * FIX: Restore ability to run on WordPress 3.5 (actually fixed in downloads of 1.10.1 after 2015-05-13) * FIX: Some automatic pre-upgrade backups were not marked internally as such, leading UD to delete the oldest scheduled backup prematurely backups prematurely * TWEAK: Reduce HTTP round-trips when checking presence + downloading backup archives in a restore/migrate operation * TWEAK: Alert the user earlier if they're trying to use a database with a character set not supported by MySQL * TWEAK: Use separate internal jobs for separate downloads, and thus avoid race conditions when updating job data (symptom: download widgets that don't show current information) * TWEAK: Add constant UPDRAFTPLUS_SFTP_TIMEOUT allowing users to over-ride (via wp-config.php) the default SFTP timeout (default now: 15 seconds). * TWEAK: Make Copy.Com filter out non-backups from remote file listings at an earlier stage * TWEAK: Log more information when a curl error occurs when getting a OneDrive access token * TWEAK: Code re-arrangement in OneDrive library to deal with sites using the obsolete PHP safe_mode * TWEAK: Clearer message for users whose access to paid plugin updates has expired (paid versions) * TWEAK: Improve detection of started pre-upgrade automatic backups in case of webserver misbehaviour * TWEAK: Fix untranslated message when confirming the wiping of settings * TWEAK: Replace more non-SSL links to updraftplus.com with SSL links * TWEAK: Use a POST instead of a GET during one of the restore sub-stages (avoids a false positive on some mod_security setups) * TWEAK: Improve backup-file-naming routine to reduce the times when no ASCII name can be found (ASCII is preferred as not all cloud storage methods will accept arbitrary characters in filenames) * TWEAK: Don't keep a log file (unless debug mode is on) for scheduled tasks that result in the result that nothing needs backing up * TWEAK: Remove cache files from Cherry Framework child themes upon migration (framework misbehaves if cache files are present after URL change) = 1.10.1 - 2015-05-12 = * FEATURE: Microsoft OneDrive support (Premium version) - full support (including chunked/resumable uploading and downloading) * FEATURE: Allow prevention of backup of unwanted tables, via a filter; see: https://updraftplus.com/faqs/how-can-i-exclude-a-specific-table-from-the-backup/ * FIX: Restore window would not open if date contained a single quote character in it (which was possible only in some languages) * FIX: Restore the ability of PHP installations (< 1%) without curl to use Google Drive (broke when Google introduced a new SSL certificate at their end which PHP couldn't handle properly without extra help). * TWEAK: Add woocommerce_order_items and relevanssi_log to the list of potentially huge tables that won't need search/replacing * TWEAK: Add link to admin email setting and fix broken link to reporting add-on in free version * TWEAK: Provide more direct help for paid users getting blocked by the security shield when connecting for updates access * TWEAK: Small tweak in zip-splitting algorithm if it looks likely that there are insufficient resources with no further resumptions yet scheduled * TWEAK: "Migrate" dialogue, when the Migrator is installed, now contains a widget to use directly (instead of just directing to other route) * TWEAK: Ask user to confirm if they navigate away from the settings page with unsaved changes * TWEAK: Replace some non-SSL links to updraftplus.com with SSL links, and replace all non-SSL readme links * TWEAK: Add UPDRAFTPLUS_DBSCAN_TIMEOUT constant to control how much time is allowed for scanning database, and make the default vary instead of constant (will help users with absolutely enormous databases). * TWEAK: Provide clearer guidance to users with a wrong updraftplus.com password entered for updates * TWEAK: When cloning a site with Jetpack, automatically clear Jetpack invalid connection status * TWEAK: Prevent some old admin notices from being repeated when saving settings = 1.9.64 - 2015-04-20 = * FEATURE: (Premium) Added wizard to make it easier to create limited-access AWS users (requires PHP 5.3.3) * SECURITY: Fix non-persistent back-end XSS vulnerability, reported by Sucuri - https://updraftplus.com/new-security-vulnerability-found-across-significant-numbers-of-wordpress-plugins-including-updraftplus/ * FIX: Fix failure to access some files (e.g. for downloading or deleting) in Google Drive folders that contained >100 UpdraftPlus backup archives (thanks to IanUK for his help) * TWEAK: Amazon S3 reduced redundancy storage (a feature of UpdraftPlus Premium) now requires use of PHP 5.3.3 or later. * TWEAK: Various fixes to bring automatic backups code up to date with WP 4.2 release candidate 1 (there were some changes since beta 3, which worked since UD 1.9.62) * TWEAK: Update to version 2.0 of plugin updater class (https://github.com/YahnisElsts/plugin-update-checker) - necessary on WP 4.2 to prevent shiny updates after the first failing when 3rd party plugins exist, and to suppress a PHP notice on the plugins page. * TWEAK: Add wp_rp_tags to the list of potentially huge tables that won't need search/replacing * TRANSLATION: New Slovenian translation, courtesy of Clav Icula = 1.9.63 - 2015-04-03 = * TWEAK: Revert to previous global SSL CA bundle: it seems Amazon S3 still has servers with 1024-bit SSL certificates = 1.9.62 - 2015-04-01 = * FEATURE: Automatic backups now integrate with the forthcoming WP 4.2's "shiny plugin updates" * COMPATIBILITY: Tested and marked compatible with the forthcoming WordPress 4.2 (tested up to beta 3) * FIX: Fix regression in 1.9.60 for corner-case of S3 users with no permission to check their bucket's location (but permission to write to it). * TWEAK: Make "settings saved" message disappear after a few seconds, to prevent UI clutter * TWEAK: Decrease UI clutter in backup time selection * TWEAK: Update to latest global SSL CA bundle, removing again 1024-bit root CAs (last attempted in 1.9.26, but S3 still had some legacy servers). Modern web browsers have not accepted these for 6 months now. (SSL verification can be turned off in the expert options). * TWEAK: Defeat WP Download Manager Google Drive plugin's loading of its SDK on all pages (conflicting with UD when UD attempts to backup to Google Drive) * TWEAK: Detect case of old MySQL on Windows with table prefix that varies by case (and hence WP actually only works by accident) - produce a consistent backup that can be restored on any MySQL server. * TWEAK: Add dashboard notice with links to more resources, for free users who've been installed >4 weeks (with option to dismiss notice) * TWEAK: Add itsec_log to the list of tables of non-essential/not-needing-search/replace + likely to be large tables for backup strategy * TWEAK: Improvement to scheduling algorithm in case where WP's scheduler starts same resumption multiple times - prevent next attempt being delayed longer than necessary * TWEAK: Add a header to report emails indicating the job ID - helps when debugging * TWEAK: Detect + show a more helpful error message if blocked by CloudFlare when connecting for updates (paid versions) * TWEAK: Make it easier to use custom Dropbox API keys, via UPDRAFTPLUS_CUSTOM_DROPBOX_APP constant (define to true in wp-config.php) * TWEAK: Tweak debug output of webserver information to avoid triggering a (silly) mod_security rule in some setups * TWEAK: Alert the user if using Amazon S3 if they do not have the PHP XML Writer module available * TWEAK: Log the fact that local deletions are being skipped, if the user set that option. * TWEAK: Give timestamp of WPB2D backups without relying upon location of SQL file * TWEAK: Detect a situation on migration where the uploads path is changed (from a site that began pre-WP 3.5) that was previously undetected * TRANSLATIONS: French translation updated from less than half to complete, thanks to Erwan François. Various other translations updated (many thanks to all translators). = 1.9.60 - 2015-02-24 = * FEATURE: When using "Backup Now", and keeping the UpdraftPlus settings page open, a broken WP scheduler will not prevent the backup's progress. * FEATURE: Amazon's "EU Central 1" Frankfurt region now supported again (Amazon began requiring their new signature method at this location - probably a sign of things to come everywhere). PHP 5.3.3 required for this region. * FEATURE: Database backup files can now be handled when uncompressed - i.e., you can remove the gzip compression, and use the resulting file (useful for large backups on slow/limited hosting: pre-decompressing the file will reduce the processing time needed) * FEATURE: Introduced new in-page auto-backup widget that can resume, and thus cope with a backup of any size. This feature is in preparation of WP 4.2's major re-write of the updating user experience flow. * TWEAK: Update PHP-Opencloud (Rackspace) and dependency libraries to current versions. * TWEAK: Make sure that activity is recorded periodically when adding database tables to the final database backup (found a site with over 7,500 tables) * TWEAK: Don't bother to attempt to detect double-gz compression on setups where it can't be handled (where gzseek() has been disabled in the PHP configuration) * TWEAK: Added free/Premium comparison table to the free version * TWEAK: Importer (part of UpdraftPlus Premium) can now import generic .sql, .sql.gz and .sql.bz2 files * TWEAK: Don't show the "memory limit" warning in a case where the value could not be accurately detected * TWEAK: If the user chooses the "email" remote storage method, then a warning will be added if the archive being sent is bigger than most mailservers can carry (and will be removed if it is successfully sent), thus giving the user a hint as to the failure cause (if they overlooked the existing warning in the email settings). * TWEAK: The importer (part of UpdraftPlus Premium) can now import the latest BackupWordPress format databases * TWEAK: Flush output buffer explicitly when closing the browser connection - prevents delayed feedback on some setups * TWEAK: Automatic backups are now offered if you go to the 'Plugins' page, and update via the 'More information' iframe * TWEAK: Trim spaces from Google Drive client_id/secret - some users didn't spot that they introduced whitespace when copy-pasting * TWEAK: Add "Simple Visitor Stats" and "Simple Feed Stats" tables to the list of tables that may have large amounts of data, and which don't need search/replacing when migrating * TWEAK: When restoring plugins and themes, log the list of entities being restored (helps with tracing problems) * TWEAK: Deal with CloudFTP/StorageMadeEasy returning directory listings in a non-standard format, when rescanning remote backups * TWEAK: Version numbering scheme for paid versions changed; see: https://updraftplus.com/change-in-updraftpluss-version-numbering-scheme-for-paid-versions/ * TRANSLATIONS: Updated translations in several languages (many thanks for our translators) * FIX: For imported 3rd-party backups, the 'Existing Backups' tab (only) was showing "Unknown Source" instead of the detected source. = 1.9.52 - 2015-02-07 = * FIX: Fix issue when migrating (hence, in Premium versions only) backups with very large options tables output by mysqldump, which could cause the site URL to finish with an incorrect value = 1.9.51 - 2015-02-03 = * SECURITY: Prevent nonce leak that could allow logged-in users who aren't admins (if you have any) to access backups, UpdraftPlus settings and perform other harmful actions. No issue exists for users of UpdraftPlus Premium, or if you have the stand-alone "Automatic Backups" or "No Adverts" add-ons, or if your site has no untrusted users who can log in (or whilst have dismissed the "Automatic Backups" notice on the updates page). Credit to Sucuri (http://sucuri.net) for identifying this issue, and notifying us of it. = 1.9.50 - 2015-01-29 = * TWEAK: Importer now supports a previously-unseen format for WordPress Backup 2 Dropbox backups * TWEAK: Fix cron calculation that could have prevented UpdraftPlus loading when using ALTERNATE_WP_CRON (see 1.9.45) * TWEAK: If insufficient permissions exist when restoring, then exit maintenance mode when this is detected; and handle the case of having create but not drop permissions more elegantly * TWEAK: Defeat some other plugins/themes which load their CSS code onto UpdraftPlus settings page and break things * TWEAK: Prevent a "not tested on this version of WP" message showing for a short time after install of a new version, when it only applied to the previous version * TWEAK: Reduce HTTP timeout when checking for available plugin updates (paid versions) from 10 to 5 seconds * TWEAK: Tidy up the post-restore screen a little - one less info box. * TWEAK: When a restore finishes, WP Super Cache's cache will be emptied (if present), to prevent confusion caused by cached pre-restore pages. * TWEAK: Slight change to how the 'mothership' for updates is calculated, for more flexibility in our in-house testing * TWEAK: Log more informative error if user chooses 'FTP' for their remote storage, but adds no FTP settings * TWEAK: Change "any other directory" to "any other file/directory" in the "more files" add-on, to better reflect its capabilities * TWEAK: Make sure that "more files" will skip UD's temporary directory, if asked to backup a parent directory of it * TWEAK: Default to https for updates checking, with fallback to http (only relevant to versions from updraftplus.com) * TWEAK: Prevent 'Strict Standards' PHP coding notice with WebDAV on PHP 5.5 * TWEAK: Provide clickable link through to the admin email address in the reporting settings * TWEAK: If the gzopen or gzread functions are disabled in the PHP install, then the message saying so omitted to say which one (or both) * FIX: WebDAV upload method could very occasionally fail to detect upload error conditions = 1.9.46 - 2014-12-29 = * FEATURE: Chunked/resumable uploads are now supported for SFTP * FIX: Scan for existing backup sets added manually to local storage in recent versions could overlook some unless clicked twice, in non-GMT timezones * TWEAK: Work-around issue in Manage WP worker plugin which caused a crash when authenticating with Dropbox * TWEAK: Prevent PHP notice when listing files on SFTP server * TWEAK: Reset an internal upload counter used to detect activity when a cloud storage switch is made due to no apparent activity - could prevent some large, long-running uploads on hosts with little available execution time = 1.9.45 - 2014-12-20 = * FIX: Fix case in which the database imported from a BackWPUp backup could be falsely identified as missing (introduced in 1.9.40) * FIX: WordPress installs with ALTERNATE_WP_CRON set could skip some scheduled backups (since 1.9.19, so it appears that the conditions required to cause this bug are rare) = 1.9.44 - 2014-12-13 = * TRANSLATIONS: Add new incomplete translations (ready for the wordpress.org change to take translation availability into account when searching for plugins): Norwegian Bokmål, Norwegian Nynorsk, Finnish, Hebrew, Catalan, Vietnamese, Bengali * FIX: Fix a failure to detect the progress properly for large backup sets, introduced in 1.9.40 = 1.9.43 - 2014-12-11 = * FIX: Fix bug in 'lock admin' feature causing lock-outs even with the correct password * TWEAK: Site is put in maintenance mode whilst database restore takes place = 1.9.42 - 2014-12-08 = * FIX: Fix bug in 1.9.40 that caused some cloud storage uploads to be terminated. * FIX: Restore functionality for Premium users on older WP versions (3.1 - 3.5) = 1.9.40 - 2014-12-04 = * FEATURE: The auto-backup addon (UpdraftPlus Premium) can now run before WordPress automatic updates * FEATURE: Lock access to your UpdraftPlus settings (Premium) - https://updraftplus.com/lock-updraftplus-settings/ * FEATURE: The full log file viewer is now real-time - it updates as the backup progresses * FEATURE: When downloading from remote storage via the settings page, stalled downloads are now automatically restarted (relevant for large backups with low web-server PHP time-outs) * FIX: Manual search/replace expert tool was broken in early downloads of 1.9.31 * FIX: Suppress bogus messages about missing files from 3rd party tar backups when restoring * FIX: If backing up multiple "more files" locations (Premium), then paths that were identical in both locations could be omitted from the second location * FIX: With the reporting add-on, any mails sent by other plugins after UpdraftPlus had finished (which has never been seen in the wild) would have corrupted contents * TWEAK: The tab for downloading/restoring backups has been simplified * TWEAK: Item for UpdraftPlus now appears in the network admin menu, for super-admins on network installs * TWEAK: Labels (Premium) are now maintained and can be detected for locally-imported database backups * TWEAK: Automatic backups are now labelled * TWEAK: The "retain" settings now do not apply for auto-backups (Premium), unless at least the specified number of non-auto-backups has already been retained. * TWEAK: Time selector now accepts typed hours without the trailing zero * TWEAK: Extended BackWPUp importer to handle older BackWPUp backups lacking manifests * TWEAK: Removed Bitcasa storage option, due to closing down of API (November 15th 2014) * TWEAK: When an invalid JSON response is received during restore stage 2, display the data directly (not just in the error console, where not everyone will think of looking). * TWEAK: 3rd party backups which are missing expected entities are now handled more gracefully * TWEAK: The fancy report now tells the user what paths are in the zips for any additional paths they configured to add to the backup * TWEAK: Add a swifter resumption in one corner case (efficiency) * TWEAK: If a zip error is encountered on cPanel, then the free disk space is checked, to potentially give the user more information on probable causes * TWEAK: You can now remove your updraftplus.com password from the settings (paid version) without losing your access to updates * TWEAK: Suppress top advert if the user is on their first go (free version - danger of too many notices) * TWEAK: Don't display the post-restoration message "if your backup set...", since we can work this out ourselves * TWEAK: Supply extra help to the user if the backup directory is not writable. * TWEAK: SCP remote storage now logs chunk progress * TWEAK: Provide a database encryption phrase text entry in the restore options (rather than needing to enter it in the settings) * TWEAK: Set the PclZip temporary directory to the Updraft directory if unset, to keep its temporary files out of the way more easily * COMPATIBILITY: Tested with the forthcoming WordPress 4.1 * TRANSLATIONS: New Dansk / Danish translation by Lars Lund and Lasse Jensen = 1.9.31 - 2014-10-24 = * TWEAK: Bitcasa now gives a deprecation warning (Bitcasa are closing down their API on November 15th 2014) * TWEAK: Fix bug causing PHP notices in Migrator add-on search/replace * TWEAK: Add support for Amazon S3's new Frankfurt region * TWEAK: Add work-around for bug in the ancient PHP 5.2.6 (May 2008!) if binary zip not available = 1.9.30 - 2014-10-21 = * FEATURE: Add the capability to handle BackupWordPress database zip backups (https://updraftplus.com/shop/importer/) * FEATURE: Add capability to apply labels to backups (Premium - https://updraftplus.com/shop/updraftplus-premium/) * TWEAK: Logs are now shown in a pop-out window with a separate download button * TWEAK: Detect select/poll lengthy timeouts when uploading to Dropbox, and prevent overlapping activity * TWEAK: Add constant UPDRAFTPLUS_NOAUTOBACKUPS to programmatically disable the automatic backups add-on * TWEAK: Rename UpdraftPlus Dropbox class, to avoid clash with Ninja Forms upload add-on * TWEAK: Made the output of the HTTP (curl) debugging tool more informative * TWEAK: Add web.config file to make updraft directory unviewable on IIS * TWEAK: If the user tries to import a WordPress Network backup into a single-site install, then detect and warn * TWEAK: In the free version, avoid unexpectedly changing the daily backup time when other settings are saved * TWEAK: Improve the immediate retry strategy in case of zip failure (saves time and/or notifying the user to manually check the log) * TWEAK: Correctly detect language on WP 4.0 onwards, when suggesting helping with translation * TWEAK: When connecting for updates to updraftplus.com (Premium), indicate if it was the username or password that was wrong * TWEAK: Alert user if they are trying to use Google Drive with a direct-IP address site URL forbidden by Google's policy * TWEAK: Prevent a corner-case where excessive logging could occur upon restoration * TWEAK: Be less strict with case when looking for supported patterns in the Importer add-on (https://updraftplus.com/shop/importer/) * TWEAK: Search/replace the postmeta table faster * DEPRECATED: Bitcasa support has been deprecated, and the links removed from the free version. (Existing Premium users using Bitcasa will continue to be able to do so). See: https://updraftplus.com/bitcasas-current-direction-unclear/ * FIX: Fix corner-case in URL search/replace when migrating a site that had WP in a different directory to the site home, and migration to a sub-directory of the original site. * FIX: Autobackup setting (https://updraftplus.com/shop/autobackup/) failed to save properly if turned off on first usage * TRANSLATION: New Farsi (Persian, fa_IR) translation, courtesy of Jamshidpour, Ashkan Ghadimi, Mohammad (2online4.ir) and Nasiri Amirreza = 1.9.26 - 2014/09/22 = * TWEAK: There are still some Amazon S3 servers validated via a Verisign 1024-bit certificate, causing backup to fail due to SSL validation failure. Revert to previous collection of root SSL certificates in order to still allow access to these servers (see: https://blog.mozilla.org/security/2014/09/08/phasing-out-certificates-with-1024-bit-rsa-keys/) * TWEAK: If Google Drive reports that the quota will be exceeded, then make this feedback more obvious to the user without reading the log * TWEAK: If the user enters an S3 path with an erroneous preceding slash, then remove it * FIX: Amazon S3 RRS settings (Premium) were not being applied on archives smaller than 5Mb * TRANSLATION: New Română (Romanian, ro_RO) translation, courtesy of Augustin-Mihai Mufturel and Teodor Muraru = 1.9.25 - 2014/09/17 = * FEATURE: Copy (https://copy.com) cloud storage support (Premium - https://updraftplus.com/shop/updraftplus-premium/) * FEATURE: The search/replace expert tool can now work on selected tables only * PERFORMANCE: Use PageVisibility API to be more intelligent about when we need to poll for progress in the dashboard * FIX: The Migrator add-on would fetch more database rows than it should, increasing the (low) risk of hitting memory limits, and increasing the time needed on enormous sites * FIX: Some Google Drive backups could get uploaded twice, if you were using multiple storage backends * FIX: If user set the option to not verify SSL certificates, then this option was not honoured for all methods * FIX: If user had never saved their settings (and hence using no cloud backup), then old backup sets were not pruned * TWEAK: Inform the user of possible plugin compatibility issues if they are about to restore a site onto a webserver running a PHP major version older than the original backup. * TWEAK: Detect database disconnection when search/replacing, and reconnect if possible; and to try less rows in case it was a memory limit * TWEAK: Allow wildcards at either end in exclusion items (e.g. *backups*) * TWEAK: Add option to control how many rows are search/replaced at once * TWEAK: Prevent PHP notice being generated on first Google Drive authentication * TWEAK: Update Bitcasa console link to new location * TRANSLATIONS: New Portuguese (Portugal) translation (pt_PT) - thanks to Pedro Mendonça * TRANSLATIONS: Updated translations for Dutch, Italian, Swedish, Russian, Czech, Greek, Portuguese (Brazilian) = 1.9.19 - 2014/08/19 = * FEATURE: Omit any directory from the backup (recursively) by creating a file called .donotbackup within it * PERFORMANCE: Lazy-load more code * PERFORMANCE: Prevent no-op search/replacements when restoring * FIX: Fix a corner-case where a backup might be able to continue but no attempt was made after using PclZip * FIX: Fix a corner-case (race condition) where UD might try to upload the same archive twice * FIX: Detection of pre-WP 3.5 hard-coded uploads paths upon site clone had stopped working * FIX: Fix bug in Importer add-on which could halt restorations of 3rd-party backups from the BackupWordPress plugin * FIX: Fix bug in the informational disk space consumption calculation in the expert tools section * TWEAK: Catch + log errors thrown by phpMailer * TWEAK: Merge Google SDK tweak from https://github.com/google/google-api-php-client/pull/189 to deal with buggy curl/proxy combinations with Google Drive * TWEAK: Prevent PHP log notice being generated on "Backup Now" * TWEAK: Change default zip split size to 500Mb on new installs * TWEAK: Scheduling algorithm tweak for more efficiency with very large backups when PHP is allowed to run long * TWEAK: Do not rely on PHP's disk_free_space() when it returns (int)0 * TWEAK: Check database connection after auto-backup * TWEAK: More helpful message if uploading a backup when local storage is not writable * TWEAK: Extra logic to survive out-of-memory MySQL conditions in extreme cases; plus introduce UPDRAFTPLUS_ALWAYS_TRY_MYSQLDUMP constant * TWEAK: Tweak Amazon S3 logic so that it can cope with a situation where there is no permission to request its location (but there is permission for all other operations) * TWEAK: Workaround for PHP bug #62119 which could cause some files beginning with a non-ASCII character to be dropped * TWEAK: Warn the user if they are running on Apache without mod_rewrite and restore a site with permalinks requiring mod_rewrite * TWEAK: If Premium user was backing up non-WP tables, then optimize the backup table order * TWEAK: Deal with case when uploading very large backups to Google Drive on overloaded servers with unreliable network where activity check might misfire * TRANSLATIONS: Updated translations: Hungarian, Swedish, Russian, Brazilian (Portuguese), Spanish, Czeck, Dutch, Turkish, German = 1.9.17 - 2014/07/16 = * FEATURE: Can now import/restore/migrate backups created by WordPress Backup To Dropbox (Premium) * FIX: Fix bug in Importer add-on that prevented some potential warnings about the integrity of the 3rd party backup zip being displayed * FIX: Some errors upon S3 downloads were not being passed back up to the settings page for display * FIX: Update "Rackspace Enhanced" add-on for compatibility with current Rackspace API * TWEAK: Prevent spurious messages about quota for users who have upgraded their Bitcasa account to infinite storage * TWEAK: Prevent some unnecessary duplication of work when resuming a database backup (since 1.9.13) * TWEAK: Dropbox now supports use of WP_PROXY_ settings (proxy needs to support HTTP GET/POST/PUT) * TWEAK: Add work-around for "Google Drive as CDN" plugin's inclusion of incompatible Google SDK * TWEAK: "More Files" add-on now lets you list single files for inclusion * TRANSLATIONS: Many translations updated = 1.9.15 - 2014/06/09 = * FEATURE: New search/replace expert tool (Premium) * TWEAK: UI has been simplified - see: https://updraftplus.com/gentle-re-design/ * TWEAK: "Backup Now" now avoids the WordPress scheduler - thus meaning it can work on sites where the WordPress scheduler is broken (e.g. Heart Internet) * TWEAK: Make sure that server HTTP-level errors are shown directly to the user at the 'Processing files...' stage of a restore * TWEAK: Amend SQL which prevented options/sitemeta tables backing up at full speed on large sites * TWEAK: Dropbox will now display some error messages more prominently, where relevant * TWEAK: Dropbox account user's name is stored when you authorise * TWEAK: Show link to FAQ if user's zip upload is corrupt * TWEAK: Work around annoying Google Drive issue whereby Google's end sometimes returns an incomplete list of folders * TWEAK: Interpret time in imported backup sets as being in destination WP install's timezone * TWEAK: Auto-correct Dropbox folder configuration if the user erroneously enters a full URL instead of a folder path * TWEAK: Bitcasa back-end now checks account quota and logs a warning if it looks like it will be exceeded * TWEAK: Email reports created by UpdraftPlus (free) now include the latest blog headlines from updraftplus.com * TWEAK: Make sure all relevant restoration options in restore dialogue are shown (works around Firefox issue upon page reload/navigation) * FIX: Reporting add-on could mis-display number of warnings when saying "X errors, Y warnings". * TRANSLATION: New Tagalog translation (thanks to Kristen Macasero) = 1.9.13 - 2014/05/19 = * FEATURE: Google Drive now works without the PHP curl module being needed * FEATURE: UpdraftPlus Premium can now backup non-WordPress tables and external databases; database encryption is also now a Premium feature; see: https://updraftplus.com/backing-external-databases/ * FIX: Work around conflicts with the Google Analyticator and Appointments+ plugins when using Google Drive since 1.9.4 (see: http://wordpress.org/support/topic/dont-unconditionally-load-old-google-sdk) * FIX: Work around conflict with some XCache setups that prevented activation since 1.9.4 * FIX: Make all S3 SSL settings take effect * FIX: Fix packet size calculation issue upon restore that could cause false detection of over-large packets * FIX: Prevent unnecessary abortion of restore if PHP's (deprecated) safe_mode is on (PHP 5.3 and below) * FIX: When migrating a multisite with a different table prefix, make sure the user role list is maintained on each site * FIX: Rescan of remote FTP storage was not using configured path * TWEAK: Now tested on PHP 5.5 * TWEAK: Migrator can now cope with situations where the development site was developed under multiple URLs without the developer cleaning up * TWEAK: Remove several PHP strict coding standards messages, and a deprecation warning on PHP 5.5+ when using Bitcasa * TWEAK: Add Counterize tables to the custom lists of tables that do not need search/replacing upon migration / are non-vital data * TWEAK: Check for DB connection having been dropped before pruning old backups (WP 3.9+) * TWEAK: Make sure that if the user has not configured the Google Drive API in their Google account, then they are alerted * TRANSLATIONS: Updated Greek, Czech, German, Spanish, French, Dutch, Portuguese (Brazilian), Russian, Swedish and Turkish translations = 1.9.5 - 2014/04/25 = * FIX: Backups were not uploaded successfully if you were using both an encrypted database and Google Drive storage in 1.9.4 = 1.9.4 - 2014/04/23 = * FEATURE: New remote storage back-end for OpenStack Swift * FEATURE: New remote storage back-end for Bitcasa (Premium - https://updraftplus.com/shop/updraftplus-premium/) * FEATURE: New Google Drive back-end now uses new SDK; resulting new capabilities include ability to rescan remote storage, and chunked downloading for huge files; also requires a shorter list of permissions * FEATURE: Restore backups that were created by the plugin BackWPup (Premium - https://updraftplus.com/shop/updraftplus-premium/) * FIX: WebDAV storage: remove requirement for PEAR to be pre-installed on server * FIX: Fix restoration on sites where WP did not have direct filesystem access * FIX: Fix regex which prevented download progress of mu-plugins zip displaying correctly * FIX: Fix issue preventing some useful information about URL changes being included in the migration log file * FIX: Restore compatibility with WordPress 3.2 (if you're using that, you're overdue an upgrade by some years!) * TWEAK: Enable new locations for plupload Flash/Silverlight widgets (for non-HTML5 browsers) in WP3.9+ (later reverted by core devs, but is harmless in case they re-introduce) * TWEAK: Take advantage of WP 3.9+'s new method (if available) for maintaining DB connectivity on very long runs * TWEAK: Add filter so that programmers can allow the options page to be shown to non-admins * TWEAK: Add filter allowing programmers to forbid a backup * TWEAK: Detect and adapt to cases where the site is moved to a system with different case-sensitivity and the database record of the theme is now wrong * TWEAK: Prevent erroneous warning about a missing table in the database backup on some WPMU installs that began life as a very old WP version * TWEAK: Introduce constant allowing users of pre-release WP installs to disable notices about using a version of WP that UpdraftPlus has not been tested on. * TWEAK: Make Dropbox uploads at least 25% faster (in our testing) by increasing the chunk size * TWEAK: Reduce number of rows fetched from MySQL if no activity took place on the previous resumption * TWEAK: AWS image in settings page will now use https if dashboard access is https - prevents non-https warnings in recent browsers * TWEAK: Hook into Better WP Security so that it doesn't tell the user that they have no backup plugin * TWEAK: New debugging tool to test remote HTTP connectivity * TWEAK: Tweak the MySQL version detection in the 'debug' section of the admin page to prevent a PHP message being thrown on PHP 5.5+/WP3.9+ * TRANSLATION: New Czech (cs_CZ) translation; thanks to Martin Křížek * TRANSLATION: Updated Russian, Swedish, Dutch and Portuguese translations = 1.9.0 - 2014/03/26 = * COMPATIBILITY: Tested on and updated for forthcoming WordPress 3.9 * FIX: Prevent SQL errors on restore if SQL command was over-sized and split awkwardly (very hard to trigger) * FIX: Fix subtle race condition that prevented uploads of large archives on Amazon S3 in some very limited situations * FEATURE: Ability to restore and migrate from backups produced by other backup plugins (Premium) (supported: BackUpWordPress and Simple Backups (zip-based; though, if you have a tar-backup, you can re-pack it easily)) * FEATURE: Feature to re-scan remote storage (allows detection of existing backups after a restore to an earlier site version, and allows quicker moving of data from site to site when migrating) * FEATURE: SFTP add-on (https://updraftplus.com/shop/sftp/) now supports key-based logins (as well as password-based) * TWEAK: Add a warning message and link to helpful page for people whose WP schedulers don't seem to be working (at least 4 overdue jobs in the queue) * TWEAK: Introduce a filter allowing users to add a bespoke scheduling option (e.g. every 2 days) * TWEAK: When backup is sent by email attachment, the email now indicates the originating site more clearly * TWEAK: Display a dashboard warning if you are using a version of UpdraftPlus that has not been tested on your current WordPress version * TWEAK: Add work-around for bad hard-coded data in Elegant Themes Theme Builder when restoring * TWEAK: Log a message when Dropbox authentication completes (prevent user confusion if the most recent message is pre-success) * TRANSLATIONS: New Arabic translation (thanks to Omar Amassine - me at omar.ma, Ahmed Fahmy and Riyadh Altayib) * TRANSLATIONS: Updated Spanish translation (thanks to Pablo Laguna - laguna.sanchez at gmail.com) * TRANSLATIONS: Updated Nederlands / Dutch translation (thanks to Dennis Hunink - dennishunink at me.com) * TRANSLATIONS: New Turkish translation (various translators - not yet complete) = 1.8.13 - 2014/03/07 = * FIX: Fix bug that prevented changes to your schedule being saved on network (WPMU) installs (Multisite add-on) = 1.8.12 - 2014/02/27 = * FIX: Prevent spurious warning message showing when authenticating new Dropbox connections (introduced in 1.8.11) * TWEAK: Add support for Amazon S3's China + government zones = 1.8.11 - 2014/02/27 = * FIX: Deal with some unlikely multisite migration combinations * FEATURE: Allow the 'exclude' options (for omitting files/directories from the backup) to go to any level (i.e. can now exclude entities which are deep in the directory tree) * FEATURE: "More Files" add-on (and hence Premium) now allows adding as many non-WP directories as you like * FEATURE: Allow use of Amazon S3's Reduced Redundancy Storage (via add-on/Premium) * FEATURE: Allow all messages to be centrally logged in syslog/Event Log (via add-on/Premium) * RELIABILITY: Allow skipping of data from tables whose data is explicitly known to be inessential if at least 2 attempts to backup the data fail (e.g. lack of resources on low-budget hosts with huge tables, e.g. StatPress data) - as an alternative to total backup failure. * TWEAK: Prevent spurious warning message if the site (uploads) is empty and using /usr/bin/zip * TWEAK: Work-around for quirky FTP server for which PHP loses the communication if SIZE is called for a non-existent file * TWEAK: Show table prefix in debugging information, and add quick links to install useful debugging plugins * TWEAK: Limit amount of to-database logging when backing up uploads if the user is not using dated directories (speed-up) * TWEAK: Split zip earlier if progress made in the past but not recently (should help with some ultra-low-resource hosts, e.g. one.com) * TWEAK: "Custom Content Type Manager" plugin has bad hard-coded cache data; detect + fix this on restore * TRANSLATIONS: Updated translations for Russian, Dutch, German and Portuguese (Brazilian) = 1.8.8 - 2014/01/27 = * FIX: Correctly detect table prefix on some WPMU installs that had been upgraded from an earlier version than 3.0 (i.e. very old) * FIX: Files directly in wp-content/uploads (from a 1.8.5 backup and not in any sub-directory) were being restored one directory too high * UPDATED: Updated Swedish, Portuguese and Dutch translations * UPDATED: Update root certificates to match latest CURL/Mozilla version * TWEAK: Automatically change http(s):// to webdav(s):// in WebDAV URLs if the user overlooks the instructions * TWEAK: If SHOW TABLES returns no tables, then schedule a re-try later (presume the DB connection had been dropped) * TWEAK: Preceed warnings in the log file with [Warning] * TWEAK: Prevent a very rare PHP segfault due to https://bugs.php.net/bug.php?id=51425 * TWEAK: Show the filename being unpacked during restore (helps with troubleshooting if there are very many zips) * TWEAK: Premium plugin now shows information about pending/past update/support expiries + links to renewal page * TWEAK: Show all defined constants in the debug dialog * TWEAK: Detect + deal with situations where the webserver double-gzipped the database file * TWEAK: Display a warning in the FTP configuration section if the hosting company disabled FTP functions * TWEAK: Make sure that WebDAV notices are included in UD's log file = 1.8.5 - 2014/01/09 = * FEATURE: Add option to exclude specified files from the 'uploads' backup. The default option will omit backing up backups created by at least 2 other backup plugins. * FEATURE: New Brazilian Portuguese translation - thanks to Lucien Raven and Tom Fonseca * FEATURE: Migrator search/replace now handles JSON and object-encoded data * UPDATED: Updated Swedish translation * FIX: When advising the user that his remaining Dropbox quota is insufficient, take into account parts of the file already uploaded * FIX: Delete Old Directories button in 1.8.2 was using a PHP 5.3+ feature: restore PHP 5.2 compatibility * FIX: Reporting add-on was incorrectly inflating the number displayed for the total error count if there were warnings * FIX: Prevent a bogus warning appearing when the user has filtered the base table prefix * TWEAK: Give more feedback to user when FTP login fails. Also, improve automatic switch to non-SSL FTP if SSL FTP fails to cover more situations. * TWEAK: Add informational text about the implications of not choosing any remote storage method * TWEAK: Supply the "Delete Old Directories" button directly with the message advising users to press it * TWEAK: If using WP Slimstats, don't search/replace the slimstats table when migrating (referer data should be left intact); and this table is often gigantic, so this hugely speeds up restores/migrations * TWEAK: Handle odd file permissions setups more skilfully when restoring/migrating * TWEAK: Automatically rescan for new backup sets if none were previously known (saves a click when manually importing) * TWEAK: Force a shorter pathname to be used when unpacking zip files (prevent maximum pathname limits being hit) * TWEAK: Tweak CSS to work-around other plugins that dump their CSS code on all settings pages and break modals (in this case, Events Manager) * TWEAK: Hide the instruction for users of Opera unless the user agent header indicates Opera * TWEAK: Speed migrations by skipping redundant search/replace scan on term_relationships table (which can never have URLs in it) = 1.8.2 - 2013/12/13 = * FIX: Various small fixes to the initial release of 1.8.1 * TWEAK: Restorer now switches theme if database is restored to indicate a non-existent theme, and Migrator temporarily disables caching plugins during Migration * TWEAK: Improve handling of MySQL's maximum packet size - attempt to raise it, and leave some margin * TWEAK: Move the Rackspace SDK around to prevent problems on systems with limited maximum pathname lengths * TWEAK: Provide a link to the log file at the top of the restoration page = 1.8.1 - 2013/12/10 = * FEATURE: New "Reporting" add-on - more sophisticated/flexible backup reports (https://updraftplus.com/shop/reporting/) * FEATURE: New enhanced add-on for Rackspace Cloud Files users, allowing them to create a new sub-user with exclusive access to the backup container (https://updraftplus.com/shop/cloudfiles-enhanced/) (PHP 5.3.3+ required for this feature) * FEATURE: Add region-selection (Dallas/Chicago/Northern Virginia/Sydney/Hong Kong) to Rackspace Cloud Files (PHP 5.3.3+ required for this feature) * FEATURE: Add option to 'Backup Now' dialog to not despatch this backup to the cloud * FIX: Fix bug in restore of wpcore (Premium) with certain options when backup set was from a previously restored backup with the same certain options * FIX: After restoring a site, only delete the backup set from local storage if it was also stored in the cloud (prevents the user having to upload the backup set twice if they want to re-run the restore) * FIX: Improve detection of extremely long-running/slow jobs * FIX: Fix issue with Rackspace Cloudfiles on WPMU installs * TWEAK: Mark as tested up to WordPress 3.8 * TWEAK: Restore operations are now logged * TWEAK: Detect the database connection dropping and recover (seen on a very slow site where PHP ran continuously for 30 mins) * TWEAK: Change how permalinks are flushed post-restore. This spares the user from having to manually visit the permalinks page if they had plugins that altered their permalink structure (e.g. WooCommerce). * TWEAK: Require fewer file permissions when restoring/migrating * TWEAK: Remove various spurious PHP notices caught by the post-1.7.41 extra logging * TWEAK: Compress the log file before emailing it, if it is over 6Mb * TWEAK: Make sure some potential error messages from Dropbox are displayed properly * TWEAK: Work around sites with site/home URL settings in the WP DB that erroneously have a trailing slash * TWEAK: Log PHP notices for all job types = 1.7.41 - 2013/11/16 = * FIX: Work around bug in some old PHP versions on Windows when creating database dump * FIX: If binary mysqldump failed, then retry * TWEAK: Log PHP notices in the log file * TWEAK: Allow primitive exclusion based on filename suffixes = 1.7.39 - 2013/11/11 = * FIX: Correct calculation of which old backups to delete when automatic pre-plugin/theme backups run * FIX: Binzip could block if the zip binary produced a lot of unexpected output * FIX: Fix a corner-case where a setting needed manual updating post-migration on WP 3.4+earlier sites with custom uploads path * FIX: Prevent the settings page needing a refresh if the server temporarily goes away * TWEAK: For reasons unknown, Google's new cloud console removes parameters after the first from the redirect_uri; this breaks new Google Drive authentications. To work around this, we have adjusted our redirect_uri to use only one parameter. * TWEAK: Removed a couple of clicks from the install procedure for add-ons * TWEAK: Handle migration URL rewrites where content directory location has been manually altered * TWEAK: Change default number of backups to retain on new installs from 1 to 2 * TWEAK: Add extra file permissions check before restoring (prevent unexpected aborts) * TWEAK: Suppress a spurious 'insufficient visitors' warning for some sites with long-running backups * TWEAK: Prevent spurious message about unexpected SQL if restoring a backup with very large tables produced by mysqldump * TWEAK: Catch some more untranslated strings * TRANSLATIONS: New Russian translation; updated German and Polish translations = 1.7.35 - 2013/10/26 = * FIX: Fix potential problem whereby some tables could be missed from the backup on WPMU (WP multisite) installs. Strongly recommended that all WPMU users update and take a fresh backup. * FIX: Work around http://bugs.mysql.com/62077 (could cause permanently stuck lock on databases with wrong collocations - if you have this problem, then no backups happen) * TWEAK: Don't use binzip method on OpenVZ with low memory * TWEAK: Suppress a couple of spurious messages in the log * TWEAK: Add facility to quickly download log files in the 'expert settings' section = 1.7.34 - 2013/10/21 = * FEATURE: Options in the "Backup Now" dialog to exclude files or database from the backup (https://updraftplus.com/more-flexibility-in-backup-now/) * FEATURE: Use binary mysqldump, if available, for much faster dumps of large tables * FEATURE: New Ελληνική / Greek translation (el): Κώστας Θερμογιάννης (Kostas Thermoyiannis) - http://tovivlio.net * FIX: Fix a JavaScript error in Internet Explorer 8 * FIX: Under very unusual circumstances, it was still possible for multiple backup jobs to occur * FIX: For non-English installs, the email indicating backup success sometimes failed to send * FIX: Fix obscure table name error if WP was using bespoke database setup without delete access * FIX: On multi-site installs, settings changes could be lost if they were made during an ongoing backup * TWEAK: Now marked as WordPress 3.7 compatible * TWEAK: Raw files list in expert section now makes log files directly downloadable * TWEAK: Detect available disk quota in CPanel account (if relevant), log, and warn if low * TWEAK: Amazon S3 backend now can use WP proxy settings (if any) * TWEAK: All multisite settings pages have now been moved to the network admin section * TWEAK: Restorer now handles hand-moved non-default WP site directories (where they differ from the website base directory) * TWEAK: Migrator can now migrate sub-domain-based WPMU installs with no manual steps required * TWEAK: Internationalised the add-ons management page (Premium) * TWEAK: Switch zip engines from ZipArchive earlier if it appears to be broken * TWEAK: Now cleans up some previously un-caught temporary files if the backup aborted unexpectedly * TWEAK: Remove bogus warning about W3TC object cache * TWEAK: Backup log file now includes SHA1 checksums * TWEAK: Add warning for user if their max_execution_time is very low * TWEAK: Make fewer HTTP requests when tracking download status * TWEAK: Under certain conditions, the report email could wrongly state that files were included in a db-only backup * TWEAK: Improve detection of recent activity on resumptions when zips split * TWEAK: Prevent some warning messages from being shown twice * TWEAK: Remove the "that's a lot of rows" warning once the table successfully finishes being dumped * TWEAK: Cache the results of looking for a zip executable for the duration of the job * TWEAK: Some badly-written plugins place their own code on UD's settings page, and break the layout; overcome this * TWEAK: Add a warning for people using encryption without mcrypt installed (slow) * TWEAK: Suppress useless warning when using BinZip and only empty directories exist in 'others' backup = 1.7.20 - 2013/09/20 = * TWEAK: Add semaphore locking to prevent WP's cron system kicking off multiple jobs on overloaded systems * TWEAK: Catch and display some previously uncaught AJAX notices when restoring, and display information on the restore process earlier = 1.7.18 - 2013/09/17 = * FEATURE: New "more storage" add-on, enabling backing up to multiple storage destinations * FEATURE: New progress meter on dashboard page when a backup is running * FEATURE: SCP support (in the SFTP/FTPS/SCP add-on) * FEATURE: If (and only if) your settings page is open, then UpdraftPlus will automatically perform tricks to help backups run even if your WordPress install has its scheduler disabled (of course, enabling your scheduler would better). * FIX: Fix bug whereby clicking on 'rescan' lost track of backups sent to remote storage * FIX: Fix obscure bug that could cause WPMU installs to not backup all tables * FIX: Fix unwanted warning message if the uploads folder was empty * FIX: Show timestamps of available backup sets in local time zone * FIX: Email subjects and contents use local time zone * FIX: Fix mangled pathnames for PclZip one-shot attempts * FIX: Fix bug that caused files to be dropped if one was in a sub-directory of the entity and named (entire name) "0" * FIX: Show correct title on page when upgrading * FIX: Fix one-character typo that could cause Dropbox uploads to not continue if Dropbox threw a transient error from their end * FIX: Permanent solution to conflict with W3TC's object cache (and removal of advisory notice) * FIX: Correctly show estimated size of 'others' backup within the expert section * FIX: Fix small typo in inline decrypter that led to viewer reading an incomplete message * TWEAK: Warn the user if they seem to be a on a dev website that is not visited + so can't backup (https://updraftplus.com/faqs/why-am-i-getting-warnings-about-my-site-not-having-enough-visitors/) * TWEAK: More detection of possible overlaps (use temporary files as evidence) * TWEAK: Extra check that the directory is writable before unpacking zip in restore (so user gets friendly error message instead of trickier one) * TWEAK: Provide option to remember the "automatic backup" setting * TWEAK: The WebDAV add-on now has support for WebDAV servers that don't support Content-Range (e.g. ownCloud) = 1.7.3 - 2013/08/26 = * FIX: Some Dropbox connect errors were being lost * FIX: Fix detection of availability of binary zip method on PHP installs where popen() is available put proc_open() is disabled * FIX: (Premium): WP Core and More Files remaining locally/not being despatched to cloud storage * TWEAK: More logging of the success (or not) of backups sent via email * TWEAK: Remember hint from previous job if PHP is allowed to run for more than 300 seconds at a time = 1.7.1 - 2013/08/20 = * FIX: Fix error preventing file backups in 1.7.0 for PHP installs without the ZipArchive class. * TWEAK: Only include phpseclib in the path when required = 1.7.0 - 2013/08/20 = * FEATURE: Split large sites into multiple zips (see: https://updraftplus.com/splitting-large-sites-into-multiple-archives/) * FEATURE: Fix time add-on can now also choose the day of the week * FEATURE: New add-on/Premium feature - Automatic Backups (automatically take backups before plugin/theme updates) - https://updraftplus.com/shop/autobackup/ * FEATURE: Svensk / Swedish translation (sv_SE) by Steve Sandström (http://www.brandicon.se) * FEATURE: Français / French translation (fr_FR) by ufo3D - http://ufo-3d.fr/ and Thomas Jacobsen - http://123informatique.ch/ - with help from Françoise Lhermitte - http://www.ajwan.net * TWEAK: Save the result of looking for a binary zip (don't re-test) * TWEAK: Show 'Last log message' in dashboard using local time zone * TWEAK: Log file times are now recorded relative to the backup start, rather than the current resumption start * TWEAK: More code-tidying and optimisation * TWEAK: Warn the user if the WordPress scheduler is disabled * TWEAK: Many + various extra sanity-checks for possible problems * TWEAK: Warn user if trying to upload an above-limit (>10Gb) file to Google Drive * TWEAK: Reduce memory usage during restore * TWEAK: No longer require mbstring extension for Dropbox * TWEAK: Move JavaScript into separate file, and make strings translatable * INTERNALS: PclZip and BinZip methods now have feature parity with ZipArchive (can resume+split, more logging) * TWEAK/FIX: When restoring/migrating, split SQL commands to avoid exceeding MySQL's max_allowed_packet * FIX: Make sure output buffering is off when sending files from the browser (prevents memory exhaustion) * FIX: Prevent double-backup (very unusual combination of circumstances) * FIX: Some Windows webserver configurations could have corruption of filenames in WordPress core backups (recoverable) * FIX: Remove temporary files created by PclZip (where PclZip is used) = 1.6.46 - 2013/07/11 = * FEATURE: New storage back-end for any S3-compatible provider (e.g. Google Cloud Storage, Eucalyptus, Cloudian, many more - tested with Dreamobjects and original S3) * FEATURE: Delete existing backup sets manually (deletes both local + cloud copies). Also show backup set debugging info in expert options; and counter now dynamically updates without refresh. * FEATURE: Restorations + migrations can now be attempted even if the user lacks CREATE TABLE or DROP TABLE permissions * FEATURE: Italiano/Italian translation by Francesco Carpana (f.carpana at gmail.com) * FEATURE: Chinese (zh_CN) translation by K L Wang (http://klwang.info) * FEATURE: Re-worked error handling internally, leading to users now being notified prominently of warning-level conditions (non-fatal conditions, but things the user should be advised of) * FEATURE: Allow some hiding of secrets in the admin area (see: https://updraftplus.com/faqs/in-the-administration-section-it-shows-my-amazon-ftp-etc-passwords-without-using-stars-is-this-safe/) * FEATURE: Restorer now obtains files at an earlier stage, allowing analysis + more intelligent presentation of options and applicable warnings pre-restore. Now warns if you are migrating without having chosen search/replace of DB. Also pre-decrypts the database, which lessens the risk of timeouts. * FEATURE: Allow entries in the list of files to exclude from backup to end in a wildcard (*). Change default exclusion for content dir to include backup* to catch other backup plugins' archives. * FIX: "Wipe settings" wipes S3 + DreamObjects settings (they were retained previously) * FIX: Suppress spurious "Table prefix has changed" message * FIX: Now copes on restores/migrations if you've moved around your WP_CONTENT_DIR/WP_PLUGIN_DIR/UPLOADS folder * FIX: Escape output of logging lines (prevents on-page JavaScript breakage if error from cloud service contained unescaped quotes) * FIX: Fix syntax error in rarely-triggered part of scheduling calculation algorithm that could cause a dramatic slow-down * FIX: Tweak the no-activity-for-a-while-when-writing-zip detector to not fire prematurely (found an extreme corner-case where this caused a problem) * FIX: The "Test (cloud method) settings" button would fail if credentials contained a backslash (\), due to WP's automatic doubling of backslashes * FIX: When restoring, don't make failure to remove a temporary directory an abortion condition * FIX: Database dump now retains NULL values for string fields (instead of making them empty strings) * FIX: Remove directories that cause an error during restoration when user restores from a backup made from a previously-restored site without removing old directories when requested. * TWEAK: Detect WP installs with broken plugins that add extra white-space (thus breaking AJAX output) * TWEAK: When running on (old) MySQL 4.1, replace TYPE= with ENGINE= for compatibility with later MySQL versions * TWEAK: Detect which MySQL engines are available on the restoring side, and switch if the requested engine is not available; remove PAGE_CHECKSUM and TRANSACTIONAL options if engine was (M)aria. Always remove (removed from upstream) PAGE_CHECKSUM from MyISAM. * TWEAK: Batch database rows by the 1000 instead of 100 - proved to be 3x faster on massive MyISAM tables * TWEAK: Abort a restoration if the first CREATE TABLE command produces an error (rather than continue and likely have many more) * TWEAK: Replace one use of method_exists() to prevent triggering segfault in some faulty PHP installs * TWEAK: Allow an extra attempt if in "over-time" - allows recovery from transient errors (e.g. cloud service temporary outage) in over-time. * TWEAK: Work-around WP installs with broken caching setups where cache deletion is not working * TWEAK: If ZipArchive::close() fails, then log the list of files we were trying to add at the time * TWEAK: Detect generous amounts of time allowed for running better, and schedule appropriately * TWEAK: Add detection of jQuery errors in the admin page, and direct users with such errors to a help page * TWEAK: More aggressively clean up temporary files (can lower temporary disk space requirements) * TWEAK: Provide the error message sent by Google upon initial Drive authentication errors. * TWEAK: Found a case where PHP's is_writable() erroneously returns true - actually test a write * TWEAK: Use pseudo-namespacing on the CloudFiles library to prevent clashes with other plugins (pre-emptive - no known conflicts exist) * TWEAK: Use higher priority on cron backup schedules call to prevent other plugins which call WP wrongly from over-writing new cron schedules (e.g. BackupBuddy) = 1.6.17 - 2013/06/06 = * FEATURE: News blog - https://updraftplus.com/news/ - please subscribe if you want to stay up to date with news of new features, tips, and special offers. RSS link: http://feeds.feedburner.com/UpdraftPlus * FEATURE: Restoration/migration now copes with a change of table prefix, and asks WordPress to recreate your .htaccess/web.config file * FEATURE: Add support for DreamHost DreamObjects (http://dreamhost.com/cloud/dreamobjects/) * FEATURE: Polski / Polish (pl_PL) translation: thanks to Bartosz Kaczmarek (barth.kaczmarek at gmail.com) * FEATURE: Add expert options to count expected uncompressed backup size, show/delete active jobs, and PHP info * FEATURE: Send backup reports to multiple addresses (comma-separate the addresses you wish to use) * FIX: Inform users of Dropbox tokens which stop working * FIX: Don't flag an error if mu-plugins are selected, but none are found and WordPress agrees that none exist * COMPATIBILITY: WordPress multisite post-3.5 does not store blog uploads separately from main uploads directory * COMPATIBILITY: Now marked as compatible with WordPress 3.6 * TWEAK: When errors occur, list them in the notification email and attach the log file * TWEAK: Use only one transient per job, and clean it up upon completion * TWEAK: Added a "Clone/Migrate" button to give a visual clue for people wanting to do this * TWEAK: More verbose error reporting from PclZip * TWEAK: After database restoration, permalinks are flushed (often helps regenerate .htaccess+web.config files) * TWEAK: Database backups now put the options table first, to allow earlier changing of site URL upon migration * TWEAK: Show PHP + web server versions in the debug information * TWEAK: More sophisticated attempts to get a writable backup directory, and more helpful messages if we can't * TWEAK: Some more logging, data-gathering and algorithm-tweaking to especially improve the chances for people with astonishingly slow web hosting, but also tweaks that improve efficiency everywhere, especially for larger backup sets. * TWEAK: Migrator plugin now does search+replace after each table (instead of after them all) * TWEAK: Clean up temporary files earlier where safe+possible (can lower disk space requirements) * TWEAK: Re-scan of known sets now removes those known to be gone from the list * TWEAK: Made a few things use AJAX instead of full page loads * TWEAK: Replace Rackspace logo with current version * TWEAK: Make missing PHP component warnings more prominent * TWEAK: Warn users if they have W3 Total Cache's object cache (which has a bug that affects scheduled tasks) active. * TWEAK: Add a notice for users who have turned on debugging (some forget to turn it off, then ask for support when they see lots of debugging notices) = 1.6.2 - 05/11/2013 = * FIX: Prevent PHP fatal error on some database restores = 1.6.1 - 05/06/2013 = * FEATURE: New "Migrator" add-on for moving sites from one WordPress install to another (https://updraftplus.com/shop/) * FEATURE: The "More files" add-on can now backup any files from anywhere on your filesystem (not just parts of WordPress) * FEATURE: The "More files" add-on can now exclude specified directories from the backup of WordPress core * FEATURE: Dropbox and Google Drive now check available quota before uploading * FEATURE: Nederlands / Dutch (nl_NL) translation: thanks to Hans van der Vlist - hansvandervlist at gmail.com * FEATURE: The SFTP/FTPS add-on now supports implicit encryption (so now both explicit + implicit are supported) * FIX: Google Drive now requires additional permissions to download your files - you will need to re-authenticate if you are downloading or restoring. * FIX: Fix serious corruption issue in larger Rackspace Cloud Files backups (fixed a bug in Rackspace's Cloud Files library) * FIX: Fix mcrypt call in Dropbox module to be compatible with PHP 5.2 on Windows, and with ancient FreeBSD versions which have no /dev/urandom * FIX: Allow top-level "Restore" button even if no backup sets currently known (to allow uploading some) * FIX: Fixed issues hindering restoration on web hosting setups with file permissions that invoked WP's remote filesystem methods * TWEAK: Database backup now includes more info about original WP install (e.g. WP/PHP versions) * TWEAK: The "More files" add-on now allows the user to choose whether to restore wp-config.php or not (and gives help) * TWEAK: Added an approximate expected row count when beginning to dump out a table * TWEAK: Remove the Google Drive URL prefix automatically for those who don't spot the instruction to do so = 1.5.22 - 04/16/2013 = * FIX: 1.5.21 broke Dropbox authentication for some users. Upgrade if you had that issue. = 1.5.21 - 04/15/2013 = * FEATURE: Now restores databases (we recommend the MySQL command-line for versions created with previous versions of UpdraftPlus) * FEATURE: Rackspace Cloud Files support (http://www.rackspace.com/cloud/files/) * FEATURE: Built-in multi-uploader, allowing easier restoration of old backup sets * FEATURE: Allow instant downloading of the most recently modified log file * FEATURE: Built in drag-and-drop database decrypter for manual decryption * FEATURE: Deutsch / German translation: thanks to Marcel Herrguth - mherrguth at mrgeneration.de * FEATURE: Magyar / Hungarian translation: thanks to Szépe Viktor - http://www.szepe.net * FEATURE: Spanish / Español translation: thanks to Fernando Villasmil - villasmil.fernando at gmail.com * FEATURE: Added encryption (used by default) to Amazon S3 communications * FEATURE: New "more files" add-on, allowing backup of WordPress core and non-WordPress files * RELIABILITY: Various algorithm tweaks to help larger sites on lower resources. Largest site a known user has: 1.5Gb * RELIABILITY/FEATURE: Ship up-to-date SSL certificates, and added expert options to prefer server SSL CA certificates, and to disable peer verification * SPEED: Batch INSERT commands in database backups, for much faster restoration (typically 95% faster) * SPEED/RELIABILITY: FTP and FTPS (not SFTP) are now chunked and resumable (both download and upload), subject to your FTP server responding correctly to SIZE * SPEED: Re-factoring of admin-area and some backup code into separate lazy-loaded files, to reduce memory consumption on sites generally * FIX: Clear PHP's file stat cache when checking for zip file activity - fixes potential halt on very enormous sites or sites with very low PHP timeouts. * FIX: Caught some untranslated strings * FIX: Respect WordPress's WP_MAX_MEMORY_LIMIT constant * FIX: Remove timezone display from local time - WordPress's get_date_from_gmt function does not completely do what the manual says it does * FIX: A small typo slipped into 1.5.5 which prevented some Google Drive users from setting up new installations * FIX: Fix strict coding warnings on PHP 5.4 * TWEAK: In fix-time add-on, fade UI when relevant * TWEAK: Improved UI of downloader * TWEAK: Decrease FTP timeouts to improve our chances of getting back an error before PHP aborts * TWEAK: Tweaked al relevant methods to follow the general SSL CA certificate options = 1.5.5 - 03/26/2013 = * Now translatable - .pot file included (translators welcome!) * When restoring, you can now select only some components to restore * History of previous backups can re-scan to find backups manually imported (e.g. via FTP) (trunk has drag-and-drop uploader) * Multisite add-on (https://updraftplus.com/shop/) now stores/restores blogs and mu-plugins separately * Display UpdraftPlus's disk space usage * Internationalisation hooks in main body of plugin * Correctly remove old 'other' directories from a restoration when requested * Various layout + niceness fixes upon restoration * Prevent deletion of local archives upon failed restoration when there was no cloud storage * Various usability tweaks for the admin UI, including showing multisite warning only on UD's pages * Fix incorrect restoration (since 1.4.0) of directory-less paths from 'others' zip * Fix prevention of Dropbox re-authentication when Dropbox returns 5xx first time (library error) * Clear Dropbox credentials if the user explicitly re-authenticates * Clean up temporary files left behind by zipArchive::addFile * Tweak Dropbox library to work from behind very weird proxies that double-surround the HTTP header * Improved help for people with broken schedulers * Fix FTP download error = 1.4.48 - 03/11/2013 = * Improve batching on zip creation for sites with very large files * Unlimited early resumption if zip file creation takes too long * Suppress some warning notices that can break JavaScript on sites with notices sent to the browser * Earlier warning/failure if backup directory was not writable * Hooks for Dropbox folders add-on * More scheduler/overlap tweaks, to assist enormous uploads * When the temporary directory is within the site, store+display relatively (removes need to modify upon site move) * Sort existing backups display by date * Use WordPress time for creation of filenames * Fix bug in 1.4.47 which caused problems on new site installs * Prevent erroneous warning when backup zip (usually uploads) has no files = 1.4.30 - 03/04/2013 = * Hooks for WebDAV support via add-on = 1.4.29 - 02/23/2013 = * Now remembers what cloud service you used for historical backups, if you later switch * Now performs user downloads from the settings page asynchronously, meaning that enormous backups can be fetched this way * Fixed bug which forced GoogleDrive users to re-authenticate unnecessarily * Fixed apparent race condition that broke some backups * Include disk free space warning * More intelligent scheduling of resumptions, leading to faster completion on hosts with low max_execution_time values * Polls and updates in-page backup history status (no refresh required) * Hooks for SFTP + encrypted FTP add-on = 1.4.14 - 02/19/2013 = * Display final status message in email * Clean-up any old temporary files detected = 1.4.13 - 02/18/2013 = * Some extra hooks for "fix time" add-on (https://updraftplus.com/shop/fix-time/) * Some internal simplification * Small spelling + text fixes = 1.4.11 - 02/13/2013 = * Various branding tweaks - launch of updraftplus.com * Important fix for people with non-encrypted database backups = 1.4.9 - 02/12/2013 = * Do more when testing Amazon S3 connectivity (catches users with bucket but not file access) * Tweak algorithm for detecting useful activity to further help gigantic sites = 1.4.7 - 02/09/2013 = * Tweak for some Amazon EU West 1 bucket users = 1.4.6 - 02/07/2013 = * Amazon S3 now works for users with non-US buckets * Further tweak to overlap detection = 1.4.2 - 02/06/2013 = * More Amazon S3 logging which should help people with wrong details * More race/overlap detection, and more flexible rescheduling = 1.4.0 - 02/04/2013 = * Zip file creation is now resumable; and thus the entire backup operation is; there is now no "too early to resume" point. So even the most enormous site backups should now be able to proceed. * Prefer PHP's native zip functions if available - 25% speed-up on zip creation = 1.3.22 - 01/31/2013 = * More help for really large uploads; dynamically alter the maximum number of resumption attempts if something useful is still happening = 1.3.20 - 01/30/2013 = * Add extra error checking in S3 method (can prevent logging loop) = 1.3.19 - 01/29/2013 = * Since 1.3.3, the 'Last Backup' indicator in the control panel had not been updating = 1.3.18 - 01/28/2013 = * Made 'expert mode' easier to operate, and tidier options for non-expert users. * Some (not total) compliance with PHP's strict coding standards mode * More detail provided when failing to authorise with Google = 1.3.15 - 01/26/2013 = * Various changes to Google Drive authentication to help those who don't enter the correct details first time, or who later need to change accounts. = 1.3.12 - 01/25/2013 = * 1.3.0 to 1.3.8 had a fatal flaw for people with large backups. * 1.3.0 to 1.3.9 gave erroneous information in the email reports on what the backup contained. * Fixed DropBox authentication for some users who were having problems = 1.3.8 - 01/24/2013 = * Fixed faulty assumptions in 'resume' code, now leading to more reliable resuming * Removed some duplicate code; first attempt and resumptions now uses same code * Added further parameters that should be removed on a wipe operation * More logging of detected double runs = 1.3.2 - 01/23/2013 = * Internal reorganisation, enabling UpdraftPlus Premium = 1.2.46 - 01/22/2013 = * Easier Dropbox setup (we are now an official production app) * New button to delete all existing settings * Admin console now displays rolling status updates * Feature: choose how many files and databases to retain separately * Fixed bug with checking access token on Google Drive restore * Fixed bug producing copious warnings in PHP log * Fixed bug in automated restoration processes * Possibly fixed settings saving bug in RTL installations * Fix erroneous display of max_execution_time warning * Better logging when running a DB debug session * Better detection/handling of overlapping/concurrent runs = 1.2.31 - 01/15/2013 = * Fixed bug with Dropbox deletions * Fixed cases where Dropbox failed to resume chunked uploading * Can now create uncreated zip files on a resumption attempt * FTP method now supports SSL (automatically detected) * New "Test FTP settings" button * Less noise when debugging is turned off * Fix bug (in 1.2.30) that prevented some database uploads completing = 1.2.20 - 01/12/2013 = * Dropbox no longer limited to 150Mb uploads * Dropbox can upload in chunks and resume uploading chunks * Improved Dropbox help text = 1.2.18 - 01/11/2013 = * Revert Dropbox to CURL-only - was not working properly with WordPress's built-in methods * Add note that only up to 150Mb is possible for a Dropbox upload, until we change our API usage * Fix unnecessary repetition of database dump upon resumption of a failed backup = 1.2.14 - 01/08/2013 = * Dropbox support (no chunked uploading yet, but otherwise complete) * Make the creation of the database dump also resumable, for people with really slow servers * Database table backups are now timed * FTP logging slightly improved * Dropbox support uses WordPress's built-in HTTP functions = 1.1.16 - 01/07/2013 = * Requested feature: more frequent scheduling options requested * Fixed bug which mangled default suggestion for backup working directory on Windows * Provide a 'Test S3 Settings' button for Amazon S3 users = 1.1.11 - 01/04/2013 = * Bug fix: some backup runs were erroneously being identified as superfluous and cancelled = 1.1.9 - 12/31/2012 = * Big code re-factoring; cloud access methods now modularised, paving way for easier adding of new methods. Note that Google Drive users may need to re-authenticate - please check that your backups are working. * Fix bug whereby some resumptions of failed backups were erroneously cancelled * Database encryption made part of what is resumable = 1.0.16 - 12/24/2012 = * Improve race detection and clean up already-created files when detected = 1.0.15 - 12/22/2012 = * Fixed bug that set 1Tb (instead of 1Mb) chunk sizes for Google Drive uploads * Added link to some screenshots to help with Google Drive setup * Allowed use of existing Amazon S3 buckets with restrictive policies (previously, we tested for the bucket's existence by running a create operation on it, which may not be permitted) * Use WordPress's native HTTP functions for greater reliability when performing Google Drive authorisation * Deal with WP-Cron racey double events (abort superseded backups) * Allow user to download logs from admin interface = 1.0.5 - 12/13/2012 = * Tweaked default Google Drive options = 1.0.4 - 12/10/2012 = * Implemented resumption/chunked uploading on Google Drive - much bigger sites can now be backed up * Fixed bug whereby setting for deleting local backups was lost * Now marked as 1.0, since we are feature-complete with targeted features for this release * Made description fuller = 0.9.20 - 12/06/2012 = * Updated to latest S3.php library with chunked uploading patch * Implemented chunked uploading on Amazon S3 - much bigger sites can now be backed up with S3 = 0.9.10 - 11/22/2012 = * Completed basic Google Drive support (thanks to Sorin Iclanzan, code taken from "Backup" plugin under GPLv3+); now supporting uploading, purging and restoring - i.e. full UpdraftPlus functionality * Licence change to GPLv3+ (from GPLv2+) to allow incorporating Sorin's code * Tidied/organised the settings screen further = 0.9.2 - 11/21/2012 = * Failed uploads can now be re-tried, giving really big blogs a better opportunity to eventually succeed uploading = 0.8.51 - 11/19/2012 = * Moved screenshot into assets, reducing plugin download size = 0.8.50 - 10/13/2012 = * Important new feature: backup other directories found in the WP content (wp-content) directory (not just plugins/themes/uploads, as in original Updraft) = 0.8.37 - 10/12/2012 = * Don't whinge about Google Drive authentication if that method is not current = 0.8.36 - 10/03/2012 = * Support using sub-directories in Amazon S3 * Some more debug logging for Amazon S3 = 0.8.33 - 09/19/2012 = * Work around some web hosts with invalid safe_mode configurations = 0.8.32 - 09/17/2012 = * Fix a subtle bug that caused database tables from outside of this WordPress install to be backed up = 0.8.31 - 09/08/2012 = * Fixed error deleting old S3 backups. If your expired S3 backups were not deleted, they should be in future - but you will need to delete manually those that expired before you installed this update. * Fixed minor bug closing log file * Marked as working with WordPress 3.4.2 = 0.8.29 - 06/29/2012 = * Marking as tested up to WordPress 3.4.1 = 0.8.28 - 06/06/2012 = * Now experimentally supports Google Drive (thanks to Sorin Iclanzan, code re-used from his Google Drive-only 'backup' plugin) * New feature: backup files and database on separate schedules * Tidied and improved retain behaviour = 0.7.7 - 05/29/2012 = * Implementation of a logging mechanism to allow easier debugging and development = 0.7.4 - 05/21/2012 = * Removed CloudFront method; I have no way of testing this * Backup all tables found in the database that have this site's table prefix * If encryption fails, then abort (don't revert to not encrypting) * Added ability to decrypt encrypted database backups * Added ability to opt out of backing up each file group * Now adds database character set, the lack of which before made database backups unusable without modifications * Version number bump to make clear that this is an improvement on the original Updraft, and is now tried and tested = 0.1.3 - 01/16/2012 = * Force backup of all tables found in database (vanilla Updraft only backed up WP core tables) * Tweak notification email to include site name = 0.1 - 08/10/2011 = * A fork of Updraft Backup/Restore 0.6.1 by Paul Kehrer with the following improvements * Replaced deprecated function calls (in WordPress 3.2.1) * Removed all warnings from basic admin page with WP_DEBUG on * Implemented encrypted backup (but not yet automatic restoration) on database * Some de-uglification of admin interface languages/updraftplus-fa_IR.po000064400001347664147400355670012441 0ustar00# Translation of UpdraftPlus in Persian # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2021-04-05 14:32:41+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: fa\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "یک پشتیبان تهیه کنید" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "پلاگین های عالی بیشتر توسط تیم Updraft " #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "پشتیبان‌های تدریجی" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "برای دریافت دستورالعمل‌های نصب (به ویژه مرحله 1) این لینک را دنبال کنید." #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "شما با موفقیت اکانت ویژه Updraft را خریداری نمودید. " #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "به صفحه پرداخت updraftplus.com می‌رود" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "مقدار بالاتر منابع سرور برای ساختن بایگانی، مورد نیاز می باشد." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "جهت گرفتن پشتیبان های افزایشی" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "نمایش همه نسخه‌های پشتیبان..." #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "اجزاء را برای بازگردانی انتخاب کنید:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "بازگردانی فایل‌ها از" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "اطلاعات بیشتری در مورد \"پشتیبان‌گیری‌های تدریجی\" را در اینجا کسب کنید." #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "پیشتیبان های افزایشی یکی از ویژگی های %s هستند (جهت ارتقا اکانت خود این پیوند را دنبال کنید)." #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "یک پشتیبان تدریجی تهیه کنید" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "یک پشتیبان جدید تهیه کنید" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "پوشه وجود ندارد، و تلاش برای ایجاد آن ناموفق بود" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "شروع اشتراک" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "شروع آزمایشی" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "%s ماه %s نسخه‌آزمایشی" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "همراه با تست" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "آیا قبلا فضا گرفته‌اید؟" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "آیا به فضا نیاز دارید؟" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "خطا: مقدار دهی اولیه انجام نشد" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "بارگذاری انجام نشد" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "عدم موفقیت در ورود" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "خطا - بارگذاری فایل انجام نشد" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "خطا - اتصال مجدد تکه‌ها انجام نشد" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "خطا - ایجاد و دسترسی کانتینر انجام نشد" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "احراز هویت انجام نشد" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "در غیر این صورت، شما فقط با 1 دلار می‌توانید آپ‌درفت‌والت را به مدت 1 ماه امتحان کنید!" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "اگر مجوز معتبر نسخه‌ی پریمیوم دارید، 1 گیگابایت فضای ذخیره نیز در آن قرار دارد." #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "آپ‌درفت‌والت را فقط با 1 دلار به مدت 1 ماه امتحان کنید!" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "همه سایت های وردپرس خود را به صورت فوری از یک مکان، مدیریت نمایید." #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "سایت‌های زیادی؟" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "به روزرسانی های خودکار را آنگونه که خودتان می خواهید، مدیریت نمایید" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "ذخیره زمان" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "زمانی که پلاگین ها، قالب ها یا هسته را به روزرسانی می کنید، به صورت خودکار پشتیبان تهیه کنید. " #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "مراقب باشید" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "با آپ‌درفت‌پلاس بروزرسانی‌ها را آسان کنید" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "کپی گرفتن از %s" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "نا تمام" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "به دلیل شکست های پشت سر هم در انجام فرآیند، گرفتن نسخه پشتیبان بی نتیجه ماند." #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "درحال تعمیر..." #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "شما درخواست ذخیره کردن بر روی محل ذخیره سازی ریموت (%s) را داده اید، اما هیچ تنظیماتی را برای محل ذخیره سازی مورد نظر، وارد نکرده اید. " #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "این سایت فعلی" #: src/admin.php:6135 msgid "Clone:" msgstr "کلُون:" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "درحال تمیز کردن" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "پیشرفت بازگردانی:" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "بازگردانی آپ‌درفت‌پلاس" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "(بایگانی‌(های) %d در مجموعه، کل %s)." #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "درباره آپ‌درفت‌سنترال بیشتر بیاموزید" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "اضافه کردن این وبسایت به آپ‌درفت‌سنترال (کنترل متمرکز و از راه دور) - برای حداکثر 5 سایت رایگان است." #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "بازگشت به پیکربندی آپ‌درفت‌پلاس" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "خطای بازگردانی:" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "آماده‌سازی فایل‌های پشتیبان" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "دانلود فایل‌های پشتیبان در صورت لزوم" #: src/admin.php:1104 msgid "Begun" msgstr "شروع شده" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "تمام شده" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "آخرین فعالیت: %d ثانیه قبل" #: src/admin.php:1095 msgid "credentials" msgstr "اعتبارنامه" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "امتحان کنید - 1 ماه با $1!" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "آپ‌درفت‌والت را امتحان کنید!" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "تنظیمات پشتیبان‌گیری از فایل" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "در حال تعیین درستی رمز عبور قبلی..." #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "ورود موفقیت آمیز بود، درحال بارگذاری مجدد اطلاعات." #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "نسخه پشتیبان موجود" #: src/admin.php:664 msgid "Dismiss notice" msgstr "رد کردن اعلان" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "با استفاده از اعتبارات آپ‌درفت‌کلُون می‌توانید سایت در حال کار خود را بر روی نسخه دیگری از PHP (یا وردپرس) تست کنید." #: src/admin.php:652 msgid "dismiss notice" msgstr "رد کردن اعلان" #: src/admin.php:652 msgid "go here to learn more" msgstr "برای کسب اطلاعات بیشتر به اینجا بروید" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "با استفاده از اعتبارات آپ‌درفت‌کلُون می‌توانید سایت در حال آپدیت خود را بر روی یک نسخه کپی فوری آزمایش کنید" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "خطا: بارگذاری انجام نشد" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "دانلود: انجام نشد: فایل یافت نشد" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "خطا: فایل محلی باز نشد" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "کپی گرفتن ناحیه: " #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "اطلاعات بیشتر درباره Easy Updates Manager را بخوانید" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "می‌توانید اطلاعات بیشتری در مورد کلیدهای کلُون در اینجا بیابید." #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "یا، از یک کلید آپ‌درفت‌کلُون استفاده کنید" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "از وردپرس درخواست کنید تا زمانی که به روز رسانی ای برای UpdraftPlus در دسترس باشد، به صورت خودکار به روزرسانی را انجام دهد. " #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "آپدیت‌های خودکار" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "کاربر پایگاه‌داده شما اجازه حذف جدول‌ها را ندارد" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "از وردپرس بخواهید هنگام بروزرسانی، به طور خودکار آپ‌درفت‌پلاس را آپدیت کند (آپدیت خودکار توصیه نمی‌شود)" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "یک قانون محرومیت اضافه کنید" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "یک پیشوند فایل تایپ کنید" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "فایل/پوشه" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "مستثنی‌کردن فایل‌ها/پوشه‌ها" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "حساب کاربری UpdraftPlus.Com شما" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "شما می توانید مقدار پیشرفت را اینجا یا در %s ، بررسی نمایید" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "UpdraftClone شما، هنوز در حال تنظیم شدن می باشد. " #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "%s بایگانی باقی مانده است" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "همه داده های سایت دریافت شد، و وارد کردن آن شروع شده است. " #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "وردپرس نصب شد، حالا منتظر فرستادن داده های سایت هستیم تا فرستاده شود." #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "کلُون آماده است" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "داده های سایت، استقرار یافت" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "استقرار دادن داده های سایت" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "داده سایت دریافت شد" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "در حال دریافت داده های سایت" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "وردپرس نصب شد" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "کپی شما شروع شده است، اطلاعات شبکه هنوز در دسترس نیست اما اینجا نمایش داده خواهد شد و همچنین در اکانت شما در سایت updraftplus.com آماده خواهد بود. " #: src/admin.php:4330 msgid "Exclude these from" msgstr "به استثنای این موارد" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "لطفا یک پیشوند نام فایل معتبر وارد کنید" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "لطفا یک پسوند فایل معتبر وارد کنید" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "نتایج گزارش کنسول" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "برای ایجاد یک کلون موقتی در حساب کاربری خود به اعتبار نیاز دارید." #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "سؤالات متداول را اینجا بخوانید." #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "بارگذاری فایل در %s انجام نشد (برای اطلاعات بیشتر فایل گزارش را مشاهده کنید)" #: src/admin.php:6222 msgid "Dashboard:" msgstr "پیشخوان:" #: src/admin.php:6221 msgid "Front page:" msgstr "صفحه اول:" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "مدیریت کردن" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "کلُون‌های فعلی" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "افزودن یک سایت" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "مهاجرت (ایجاد یک نسخه از سایتی در هاستی که کنترل می‌کنید)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "مدیریت کلُون‌ها" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "پشتیبان‌گیری قطع شد" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "شرایط و ضوابط آپ‌درفت‌کلُون را می‌پذیرم" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "حساب کاربری ندارید؟ با خرید چند توکن از اینجا یک حساب کاربری دریافت کنید." #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "شما می‌توانید توکن‌های آپ‌درفت‌کلُون را از فروشگاه ما، از اینجا خریداری کنید." #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "برای ایجاد یک کلُون موقت، به این موارد نیاز دارید: 1) اعتبار در حساب کاربری خود و 2) اتصال به حساب خود، از طریق فیلدهای زیر." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "اگر می‌خواهید، آپدیت نسخه جدید PHP یا وردپرس را تست کنید." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "انعطاف‌پذیر" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "فقط زمان لازم برای ایجاد یک نسخه پشتیبان و ارسال آن را از شما می‌گیرید." #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "سریع" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "برای هر کلون یک VPS (سرور اختصاصی مجازی) وجود دارد، که با هیچ‌کسی مشترک نیست." #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "امن" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "با ظرفیت از یک ارائه‌دهنده رایانش ابری پیشرو اجرا می‌شود." #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "قابل اعتماد" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "آسان" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "یک کلون موقتی در سرورهای ما ایجاد کنید (آپ‌درفت‌کلُون)" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "افزونه‌های ووکامرس" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "بازنشانی تور آموزشی" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "برای گذراندن تور آموزشی این افزونه، این دکمه را فشار دهید." #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "گذراندن تور آموزشی" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "برای فعال کردن تمام ویژگی‌هایی که به آنها دسترسی دارید، از اینجا وارد شوید." #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "اتصال به updraftplus.com" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "پایان" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "آپ‌درفت‌پلاس پریمیوم و افزودنی‌ها" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "بخاطر گذراندن این تور آموزشی از شما سپاسگزاریم." #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "آیا چند سایت وردپرس دیگری دارید که می‌خواهید از آنها نسخه پشتیبان تهیه کنید؟ اگر بله، می‌توانید با کنترل تمام نسخه‌های پشتیبان خود در یک مکان از آپ‌درفت‌سنترال در زمان خود صرفه جویی کنید." #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "تمام نسخه‌های پشتیبان خود را در یک مکان کنترل کنید" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "هوووورا! تبریک می‌گویم ، تنظیمات شما با موفقیت ذخیره شد." #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "اینجا را فشار دهید تا تنظیمات خود را ذخیره کنید." #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "ذخیره" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "سایر تنظیمات را در اینجا جستجو کنید و تغییراتی را که دوست دارید انجام دهید." #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "تنظیمات بیشتر" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "اطلاعات بیشتر را از اینجا پیدا کنید." #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "آپ‌درفت‌والت حافظه‌ی ذخیره‌سازی از راه دور ما است که یکپارچه با آپ‌درفت‌پلاس کار می‌کند." #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "برنامه‌ی زمان‌بندی را که می‌خواهید نسخه پشتیبان تهیه شود، انتخاب کنید." #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "برنامه زمانی پشتیبان‌گیری خود را انتخاب کنید" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "به تنظیمات بروید" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "در حال ساخت اولین نسخه پشتیبان شما" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "برای تهیه نسخه پشتیبان ساده از سرور خود، این دکمه را فشار دهید. یا برای تنظیم پشتیبان‌گیری خودکار منظم و ذخیره‌سازی از راه دور، به %s تنظیمات %s بروید" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "اولین نسخه پشتیبان شما" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "برای شروع اینجا را کلیک کنید!" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "قابل اعتمادترین افزونه پشتیبان‌گیری جهان!" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "سلام جیگر! به آپ‌درفت‌پلاس خوش آمدید" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "تنظیمات آپ‌درفت‌پلاس" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "پایان تور آموزشی" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "از این مرحله بگذر" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "بازگشت" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "افزونه‌های فوق‌العاده‌ی دیگر" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "می‌توانید اطلاعات کلُون موقت خود را در حساب updateraftplus.com خود در اینجا پیدا کنید." #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "در حال ارسال فایل‌ها به سایت از راه دور" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "پشتیبان‌گیری / بازگردانی" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "پشتیبان‌گیری" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "ذخیره‌سازی از راه دور: %s" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "مجموعه کاراکترهای درخواست شده (%s) موجود نیست - درحال تغییر به %s." #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "تازه‌سازی اتصال" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "اطلاعات بیشتر در اینجا می‌باشد." #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "مهاجرت / کلُون" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "اجازه دهید که این نسخه پشتیبان فقط به صورت دستی قابل حذف باشد (به عبارت دیگر، حتی اگر محدودیت‌های ذخیره‌سازی هم وجود داشته باشد، به صورت اتوماتیک حذف نمی‌شود)." #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "(نسخه فعلی)" #: src/admin.php:4235 msgid "press here" msgstr "اینجا را فشار دهید" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "این سیاست حفظ حریم خصوصی" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "لطفاً %s را برای استفاده از اپلیکیشن تأیید مجوز %s ما بخوانید (هیچکدام از اطلاعات پشتیبان شما به ما ارسال نشده است)." #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "هر ساعت" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "ايجاد کلُون" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "توکن‌های کلُون موقت موجود:" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "در حال پردازش" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "اتصال به فضای ابری آپ‌درفت‌سنترال" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "با این آدرس ایمیل وارد شوید یا ثبت نام کنید" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "برای اتصال آن به اینجا بروید." #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "یا اگر ترجیح می‌دهید خود میزبان باشید، می‌توانید نسخه خود میزبان (self-hosted) را از اینجا دریافت کنید." #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "این سایت را به فضای ابری آپ‌درفت‌سنترال وصل کنید" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "همه‌ی سایت‌های وردپرسی خود را از یک داشبورد پشتیبان‌گیری، بروزرسانی و مدیریت کنید" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "لطفاً برای باز کردن %s، این لینک را دنبال کنید." #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "فضای ابری آپ‌درفت‌سنترال" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "آیا مطمئن هستید که می‌خواهید برای همیشه همه‌ی خبرهای آپ‌درفت‌پلاس را غیرفعال کنید؟" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "رد کردن همه‌ی خبرهای آپ‌درفت‌پلاس:" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "اخبار آپ‌درفت‌پلاس" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "بارگذاری پشتیبان" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "(قبلا بارگذاری شده است)" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "بارگذاری" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "فقط نسخه پشتیبان پایگاه‌داده را ایمیل کن" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "این قابلیت توسط مدیر سایت غیرفعال شده است." #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "با سپاس از شما برای نصب UpdraftPlus!" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "خواندن پوشه‌ی در حال کار انجام نشد." #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "فایل manifest در نسخه پشتیبان یافت نشد." #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "قبل از اینکه ادامه دهید، اطمینان حاصل نمایید که با یک حساب کاربری معتبر وارد شده اید." #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "روش ذخیره سازی از راه دور و شناسه نمونه برای احراز هویت لازم است." #: src/admin.php:5720 msgid "authentication error" msgstr "خطای احراز هویت" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "(هنوز هیچ گزارشی ثبت نشده است)" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "اضافه نمودن یک حساب %s دیگر" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "این تنظیمات را پاک کن " #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "در حال حاضر غیرفعال است" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "در حال حاضر فعال است" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "اگر شما آپ‌درفت‌پلاس را از سایت UpdraftPlus.Com خریده‌اید، این لینک را برای دستورات نصب دنبال نمایید. (بخصوص مرحله 1)." #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "شما هم اکنون در حال استفاده از امکانات نسخه رایگان آپ‌درفت‌پلاس هستید." #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "آن را از اینجا بگیرید" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "سایت از راه دور" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "نام باکت صحیح نیست" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "بعد" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "لطفاً آدرس URL معتبری را وارد کنید مثلاً http://example.com" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "برای حذف این تنظیمات برای %s، این لینک را دنبال کنید." #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "یک خطای جدی (%s) رخ داده است: %s" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "یک استثناء پی‌اچ‌پی (%s) رخ داده است: %s" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "ذخیره‌سازی از راه دور" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "فایل‌ها را انتخاب کنید" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "آپ‌درفت‌والت" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "بایگانی" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "درحال بارگذاری فایل گزارش" #: src/admin.php:1036 msgid "Search" msgstr "جستجو" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "یک فایل را برای مشاهده اطلاعات در مورد آن انتخاب کنید" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "مرور فایل زیپ" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "با استفاده از آپ‌درفت‌پلاس پریمیوم، می‌توانید مستقیماً فایل‌های جداگانه را از اینجا بارگیری کنید." #: src/admin.php:944 msgid "Browse contents" msgstr "مرور محتواها" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "اطلاعات بیشتر ممکن است در کنسول جاوا اسکریپت مرورگر و گزارش‌های خطای PHP سرور مشاهده شود." #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "در حال تلاش برای بارگذاری یک فایل zip هستید که قبلاً توسط آپ‌درفت‌پلاس ایجاد شده است." #: src/admin.php:1033 msgid "The available memory on the server." msgstr "حافظه موجود در سرور." #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "هرگونه تنظیمات در فایل htaccess یا web.config شما که بر حداکثر اندازه بارگذاری یا ارسال تأثیر دارد." #: src/admin.php:1032 msgid "HTTP code:" msgstr "کد HTTP:" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "شما پشتیبان‌گیری از یک پایگاه‌داده را انتخاب کرده‌اید، اما هیچ جدولی انتخاب نشده است" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "اطلاعات بیشتر" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "تور آموزشی آپ‌درفت‌پلاس" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "درون‌ریز" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "اکنون ارتقا دهید" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "نصب شده" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "رایگان" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "آپ‌درفت‌پلاس" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "توصیه می‌شود: پایگاه‌داده خود را با افزونه‌ی WP-Optimize بهینه کنید." #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "اطلاعات بیشتر" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "ویرایش" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "آپ‌درفت‌سنترال" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "بزن بریم جیگر" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "ثبت‌نام کنید" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "دریافت نسخه پریمیوم" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "ماژول‌های سرور آپاچی" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "عضویت در خبرنامه" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "تنظیمات پیشرفته" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "آپ‌درفت‌پلاس پریمیوم:" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "اندازه‌ی سایت" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "تنظیمات قفل" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "اطلاعات سایت" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "تنظیمات درون‌ریزی" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "تنظیمات برون‌بری" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "شامل همه‌ی گذرواژه‌ها" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "تنظیمات درون‌ریزی / برون‌بری" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "پشتیبان‌گیری از: %s" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "فایل‌های از راه دور حذف شدند" #: src/admin.php:1027 msgid "Complete" msgstr "تکمیل" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "آیا می‌خواهید درون‌ریزی را انجام دهید؟" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "که در این تاریخ برون‌بری شده است:" #: src/admin.php:1024 msgid "This will import data from:" msgstr "اطلاعات را از اینجا درون‌ریزی می‌کند:" #: src/admin.php:1023 msgid "Importing..." msgstr "درحال درون‌ریزی..." #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "شما هنوز فایلی را برای درون‌ریزی انتخاب نکرده‌اید." #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "فایل برون‌بری شما از تنظیمات نمایش داده شده شما خواهد بود، نه موارد ذخیره شده شما." #: src/admin.php:99 msgid "template not found" msgstr "الگو پیدا نشد" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "یا برای بازگردانی دستی" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "نصب PHP شما فاقد ماژول opensl است. در نتیجه، این می‌تواند چند دقیقه طول بکشد. اگر تا آن زمان هیچ اتفاقی نیفتاده باشد، یا باید یک کلید با اندازه‌ی کوچکتر را امتحان کنید، یا از شرکت هاستینگ خود بپرسید که چگونه این ماژول PHP را در تنظیمات هاستتان فعال کنید." #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "سوالات متداول" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "%s: فایل غیرقابل خواندن می باشد - نمی توان از آن بک آپ گرفت (اجازه دسترسی فایل را بررسی نمایید)" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "آهسته‌تر ، قوی‌ترین" #: src/addons/migrator.php:559 msgid "recommended" msgstr "توصیه شده" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "%s بایت" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "سریعتر (قابلیتی برای نصب PHP آهسته)" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "%s بیت" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "اندازه کلید رمزگذاری:" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "پیش بینی آپلود ناموفق: محدودیت %s برای هر فایل تکی %s می باشد، در حالیکه حجم این فایل %s گیگابایت (%d بایت) است" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "ورود" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "آگاه باشید که سرورهای ایمیل معمولاً محدودیت حجم دارند؛ معمولاً چیزی حدود %s مگابایت؛ پشتیبان‌های بزرگتر از هر محدودیتی، به احتمال زیاد به مقصد نخواهند رسید." #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "اندازه: %s مگابایت" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "شما قادر خواهید بود %s برای ساخت پیوند های یکتا زیبا برای کار هایتان (به عنوان مثال %s )" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "%s سالانه" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "یا (تخفیف سالانه)" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "پیکربندی شما ذخیره شد . " #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "توقف" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "پشتیبان‌گیری به پایان رسید" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "حذف تنظیمات" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "نوسازي" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "این مجموعه پشتیبان‌ها" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "این مجموعه پشتیبان" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "محاسبه کردن" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "شما باید تغییرات خود را ذخیره کنید تا اطمینان حاصل کنید که از آنها برای تهیه نسخه پشتیبان استفاده شده‌اند." #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "ما درخواست کردیم که فایل را حذف کنیم، اما پاسخ سرور را نتوانستیم متوجه شویم" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "لطفا یک آدرس وب معتبر وارد کنید" #: src/admin.php:976 msgid "Saving..." msgstr "در حال ذخیره..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "خطا: سرور پاسخی برای ما ارسال نموده است که متوجه نشده ایم." #: src/admin.php:926 msgid "Fetching..." msgstr "در حال بازخوانی..." #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "URL آپلود" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "لطفا این پیوند را برای اطلاعات مهمی در این فرایند بخوانید." #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "این به عنوان یک سایت جدید وارد می شود." #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "پنهاندن" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "لطفا اطلاعات مورد نیاز را تکمیل کنید." #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "تنظیمات ذخیره شده شما همچنین بر آنچه پشتیبان گرفته می‌شود تأثیر می‌گذارد - مثلا فایل‌هایی که مستثنی شده‌اند." #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "تنظیمات فایل" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "کپی کردن فایل پشتیبان بر روی حافظه جانبی" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "این دکمه تمام تنظیمات آپ‌درفت‌پلاس و اطلاعات پیشرفت برای پشتیبان‌گیری‌های در حال اجرا را حذف می‌کند (اما هیچ یک از پشتیبان‌های موجود شما در فضای ذخیره ابری را حذف نمی‌کند)." #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "این نسخه پشتیبان را برای حافظه ذخیره‌سازی از راه دور ارسال کنید" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "آیا فضای ذخیره‌ی از راه دور ندارید؟" #: src/admin.php:5530 msgid "settings" msgstr "تنظیمات" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "نسخه پشتیبان به هیچ فضای ذخیره‌سازی از راه دور ارسال نمی‌شود - هیچ کدام در %s ذخیره نشده‌اند" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "فایل‌ها خود را به نسخه پشتیبان اضافه کنید" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "پایگاه‌داده خود را به نسخه پشتیبان اضافه کنید" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "نسخه پریمیوم / افزودنی‌ها" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "دانلود" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "شما نسخه پشتیبان تهیه کرده‌اید ، اما هیچ یک از پرونده‌ها انتخاب نشده‌اند" #: src/admin.php:772 msgid "Extensions" msgstr "افزودنی ها" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "ابزارهای پیشرفته" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "نصب نشده" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "لغو انتخاب" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "انتخاب همه" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "در حال پردازش..." #: src/admin.php:1010 msgid "For backups older than" msgstr "برای پشتیبان‌های قدیمی‌تر از" #: src/admin.php:1009 msgid "week(s)" msgstr "هفته" #: src/admin.php:1008 msgid "hour(s)" msgstr "ساعت‌" #: src/admin.php:1007 msgid "day(s)" msgstr "روز" #: src/admin.php:1006 msgid "in the month" msgstr "در ماه" #: src/admin.php:1005 msgid "day" msgstr "روز" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "آدرس ایمیل خود را نمی‌دانید، یا رمزعبور خود را فراموش کرده‌اید؟" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "ایمیل و رمزعبور UpdraftPlus.Com خود را در اینجا وارد کنید تا متصل شوید:" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "پرداخت‌ها را می‌توان به دلار آمریکا، یورو یا پوند استرلینگ از طریق کارت یا پی‌پال انجام داد." #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "درحال محاسبه..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "درحال قطع ارتباط..." #: src/admin.php:978 msgid "Connecting..." msgstr "در حال اتصال..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "تازه‌سازی وضعیت فعلی" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "قطع شدن" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "برای اطلاعات بیشتر به این قسمت بروید" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "بازگشت..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "%s سه ماهه" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "نمایش تنظیمات" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "برای شروع یک دکمه را فشار دهید." #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "حذف انجام نشد:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "باید بررسی کنید که سایت از راه دور آنلاین باشد، فایروال نباشد، دارای ماژول‌های امنیتی که احتمال دارد دسترسی را مسدود کنند، نباشد، دارای آپ‌درفت‌پلاس نسخه %s یا بالاتر فعال باشد و اینکه کلیدها به درستی وارد شده باشند." #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "سایت پیدا نشد" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "سایت" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "پشتیبان ارسال شده به سایت از راه دور - برای دانلود در دسترس نیست." #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "درحال تست اتصال..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "درحال حذف..." #: src/admin.php:991 msgid "key name" msgstr "نام کلید" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "لطفاً یک نام برای این کلید بگذارید (به عنوان مثال به سایتی که کلید برای آن است اشاره کنید):" #: src/admin.php:986 msgid "Creating..." msgstr "در حال ساخت..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "ارسال" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "ارسال به سایت:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "هنوز هیچ سایت دریافت کننده‌ای اضافه نشده است." #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "کلید" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "تقریباً تمام سرورهای FTP حالت غیرفعال (passive mode) می‌خواهند. اما اگر به حالت فعال (active mode) نیاز دارید ، این گزینه را بردارید." #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "حالت غیرفعال" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "مسیر از راه دور" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "رمز عبور FTP" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "لاگین FTP" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "سرور FTP" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "سایت را اضافه کنید" #: src/admin.php:983 msgid "Adding..." msgstr "درحال افزودن..." #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "شما تغییراتی در تنظیمات خود ایجاد کرده‌اید و ذخیره نکرده‌اید." #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "برای اطلاعات بیشتر، شامل اسکرین‌شات، این لینک را دنبال کنید." #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "برای حذف بلوک، لطفاً به اینجا بروید." #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "این به احتمال زیاد بدان معنی است که شما یک وب سرور با یک وب سایت هک شده که در حملات قبلی استفاده میشده به اشتراک گذاشته اید." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "به نظر میرسد که آی پی وب سرور شما (%s) بلوک شده است." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "UpdraftPlus.com \" عدم دسترسی \" را پاسخ داده." #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "افزونه ی تجاری WooCommerce" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "دو افزونه ی رایگان امنیتی" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "افزونه‌های با کیفیت تر" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "نسخه ی تجاری UpdraftPlus" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "بست ( برای %s ماه)" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "(در همان زمانی که از فایل ها پشتیبان تهیه میشود )" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "هیچ پشیبانی هنوز کامل نشده" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "ثبت نام در خبرنامه" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "برای عضویت در خبرنامه UpdraftPlus لینک زیر را دنبال کنید" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "پشتیبان گیری از فایل های وردپرس به همراه دیتابیس" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "سوال قبل از سفارش" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "لیست کلیه ی امکانات" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "لیست کامل امکانات" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "پشتیبان گیری از پلاگین ها ,قالب ها ها و پایگاه داده وردپرس با UpdraftPlus قبل از به روز رسانی" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "%s خطا: مقدار دهی اولیه با شکست روبرور شد" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "یا" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "OpenStack tenant" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "این یک آدرس احراز هویت از نسخه ی 2 (Keystone) دارد ; از نسخه 1 پشتیبانی نمیشود (Swauth) ." #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "آدرس مدیریت سایت شما" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "برای ارسال گزارش به شما این گزینه را انتخاب کنید" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "دستی " #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "یک خظا رخ داد (%s) :" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "تغییر تنظیمات قفل" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "برای ویژگی های بیشتر و پشتیبانی شخصی , انتخاب شود " #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "عبارت مورد نیاز برای رمزگذاری پایگاه داده" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "پشتیبان گیری خودکار قبل از بروز رسانی" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "هسته ی وردپرس ( فقط)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "برای دسترسی به تنظیمات UpdraftPlus لطفا پسورد را وارد کنید" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "پسورد اشتباهه" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "بازکردن قفل" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "در غیر این صورت لینک اولیه نشان داده خواهد شد." #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "آدرس پشتیان" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "درخواست پسورد دوباره بعد از" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "%s هفته" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "1 هفته" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "%s ساعت" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "1 ساعت" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "لطفا مطمئن شوید که شما یک یاداوری برای پسوردتان در نظر گرفته اید!" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "قفل کردن دسترسی به صفحه ی تنظیمات UpdraftPlus" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "پسورد مدیریت تغییر کرد ." #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "یک پسورد برای مدیریت هم اکنون قرار داده شد." #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "پسورد مدیریت همکنون پاک شد" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "(اطلاعات بیشتر در مورد این گزینه)" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "مشاهده گزارش" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "اطلاعات پشتیبان ( برای دانلود کلیک کنید )" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "تاریخ پشتیبان" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "و تعداد پشتیبان‌های زمان‌بندی‌شده که باید نگهداری شوند" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "آپلود فایل ها به UpdraftPlus ." #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "عنوان پشتیبان :" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "خطا: خواندن پرونده‌ی غیرمنتظره انجام نشد" #: src/backup.php:4389 msgid "check your log for more details." msgstr "چک کردن گزارش شما برای دیدن جزئیات." #: src/backup.php:4385 msgid "A zip error occurred" msgstr "خطای از نوع ZIP رخ داده" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "لیبل شما برای این فایل پشتیبان (اختیاری)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "آدرس ایمیل شما توسط UpdraftPlus.Com قابل تشخیص نمی باشد" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "آدرس ایمیل شما معتبر است، ولی رمز عبور شما توسط UpdraftPlus.Com شناسایی نمی شود." #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "باید آدرس ایمیل و رمز عبور را تامین نمائید." #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "اگر می خواهید پشتیبان multisite را بازیابی کنید، اول نیاز دارید که وردپرس را به صورت multisite تنظیم نمائید." #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "انجام شد" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "پرش (در لیست نمی باشد)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "جستجو و جایگزینی جدول" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "یک لیست csv وارد نمائید. در غیر اینصورت برای همه جداول خالی بگذارید." #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "فقط این جداول" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "ردیف در دسته" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "شما هنوز به اکانت UpdraftPlus.Com متصل نشده اید." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "برای دریافت بروزرسانی ها در آینده نیاز به اتصال به UpdraftPlus دارید." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "هر درخواست پشتیبانی با %s باید از ظریق شرکت هاستینگ سایت مطرح گردد." #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "این جدیدتر از سروری است که در حال بازسازی درون آن هستید (نسخه %s)" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "فیسبوک" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "توییتر" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "UpdraftPlus در رسانه های اجتماعی - از اینجا ما را ببینید:" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "چرا من این را می بینم؟" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "محل این دایرکتوری در تنظیمات پیشرفته در تب تنظیمات قابل تنظیم است." #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "اینجا را فشار دهید تا درون دایرکتوری UpdraftPlus (بر روی فضای میزبانی خود) را برای هر پشتیبان جدیدی که آپلود کرده اید، مشاهده نمائید." #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "شروع پشتیبان گیری" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "شما در حال استفاده از وب سرور %s هستید، ولی به نظر می رسد که ماژول %s بارگذاری نگردیده است." #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "شما باید با ارائه دهنده سرویس هاست وب سایت خود تماس گرفته و در مورد چگونگی ایجاد دسترسی نوشتن یک افزونه وردپرس به دایرکتوری کمک بخواهید." #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "تا زمانی که شما دچار مشکل شده اید، می توانید هرچیزی که در اینجا وجود دارد را نادیده بگیرید." #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "فایل نمی تواند آپلود شود." #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "شما می توانید اطلاعات بیشتری از این قسمت را در بخش تنظیمات پیدا کنید." #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "افزونه های پشتیبان گیری قابل پشتیبانی: %s" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "درباره پشتیبان گیری افزایشی بیشتر توضیح بده." #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "محدودیت حافظه" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "بازسازی" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "افزایشی" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "پشتیبان گیری کامل" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "درحال اقدام برای بروزرسانی ..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(مشاهده گزارش ...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "پشتیبان گیری با موفقیت به اتمام رسید" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "هر %s ساعت" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "جستجو و جایگزین کردن" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "برو" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "یک فرایند جستجو/جایگزین کردن نمی‌تواند بازگردانده شود - آیا مطمئن هستید که می‌خواهید این کار را انجام دهید؟" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "این مورد می‌تواند به راحتی سایت شما را تخریب کند؛ بنابراین با دقت استفاده کنید!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "جایگزین کن با" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "جستجو کن برای" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "جستجو / جایگزین کردن دیتابیس" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "شرایط جستجو" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "خطاهای بسیار زیادی مربوط به دیتابیس بوجود آمد - درحال خاتمه دادن" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "در %s بیشتر بخوانید" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "گزارش‌های ایمیلی ایجاد شده توسط نسخه رایگان UpdraftPlus آخرین اخبار وبسایت UpdraftPlus.com را برایتان ارائه می‌کند" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "اگر UpdraftPlus را بر روی چندین سایت مختلف وردپرسی نصب کنید، نمی‌توانید پروژه تان را دوباره استفاده کنید؛ باید برای هر یک از سایت‌ها، باید مورد جدیدی از کنسول API گوگل خود ایجاد کنید." #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "شما تا کنون پشتیبان‌ای نساخته اید." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "تنظیمات دیتابیس" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s استفاده شده)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "فضای دیسک خالی موجود در این اکانت:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "این کلید غیرفعال است چون پوشه پشتیبان گیری شما غیر قابل نوشتن است (تنظیمات را مشاهده کنید)." #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "برای تغییر هرگونه تنظیمی از تنظیمات پیشفرض چیزهایی که پشتیبان گرفته شده اند، برای پیکربندی پشتیبان گیریهای زمان بندی شده، برای ارسال پشتیبان های شما به مخزن ذخیره سازی از راه دور (توصیه میشود)، و بیشتر، به بخش تنظیمات بروید." #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "برای ایجاد پشتیبان، بر روی کلید {همین حالا پشتیبان بگیر} کلیک کنید." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "به UpdraftPlus خوش آمدید!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "درحال تست ..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "تست ارتباط ..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "پیشوند جدول" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "پشتیبان گیری از دیتابیس خارجی" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "افزودن یک دیتابیس خارجی به پشتیبان گیری ..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "اگر دیتابیس شما شمایل تیبل هایی هست که بخشی از وردپرس نیستند این گزینه را علامت بزنید تا از انها نیز پشتیبان تهیه شود ." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "پشتیبان های تیبل های غیر وردپرس نیز به طور یکجا در دیتابیس وردپرس قرار گرفت" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "این گزینه باعث می شود که از تیبل هایی که متعلق به وردپرس نیستند نیز پشتیبان تهیه شود .(تعریف شده توسط پیشوند , %s )" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "ارتباط برقرار نشد." #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "ارتباط با موفقیت برقرار شد." #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "%s جدول یافته شد. %s با پیشوند یافته شد." #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "%s جدول (ها) یافته شد." #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "تلاش برای ارتباط با دیتابیس با مشکل مواجه شد." #: src/addons/moredatabase.php:117 msgid "database name" msgstr "نام دیتابیس" #: src/addons/moredatabase.php:115 msgid "host" msgstr "میزبان" #: src/addons/moredatabase.php:113 msgid "user" msgstr "کاربر" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "دیتابیس خارجی (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "این لینک را برای دسترسی به کنسول API گوگل دنبال کنید و دیسک API را فعال و یک آی دی کاربری در قسمت دسترسی API ایجاد نمایید." #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "دسترسی به پوشه ی مادر با مشکل مواجه شد" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "اما , تلاش برای دسترسی بعدی با مشکل مواجه شد." #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "دیتابیس خارجی" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "این گزینه یک خروجی دیباگ شده برای تمام پلاگین های شما ایجاد خواهد نمود - لطفا از دیدن ان شگفت زده نشید ." #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "پشتیبان‌گیری از پایگاه‌داده‌های بیشتر" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "ابتدا, کلید رمزگشایی را وارد کنید" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr " در اینجا شما می توانید به صورت دستی از دیتابیس های رمزگذاری شده رمزگشایی کنید ." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "اون میتواند از دیتابییس خارجی پشتیبانگیری کند." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "نمیخواید جاسوسی کنید ؟ UpdraftPlus پرمیوم میتواند دیتابیس شما را رمزگذاری کند ." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "استفاده از UpdraftPlus تجاری" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "تنها دیتابیس های وردپرس قایل بازیابی هست. برای دیتابیس های خارجی باید دستی عمل کنید ." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "در اولین %s دستور یک مشکل رخ داد - در حال لغو." #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "ارتباط با مشکل مواجه شد : جزئیات دسترسی را چک کنید , که سرور دیتابیس آنلاین باشد و شبکه ی ارتباطی توسط فایروال محدود نشده باشد." #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "تلاش برای ارتباط با دیتابیس با مشکل مواجه شد." #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "اخطار: آدرس صفحه ی اصلی دیتابیس (%s) متفاوت از آن چیزی است که ما انتظار داریم (%s)" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "در %s، نام آدرس به حروف کوچک و بزرگ حساس است." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "در صورتیکه خالی بگذارید، فایل پشتیبان در شاخه اصلی %s شما درج خواهد شد." #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "مثال %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "مسیر فولدر %s که مایلید استفاده کنید را اینجا وارد کنید." #: src/methods/openstack2.php:257 msgid "Container" msgstr "کانتینر" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "اگر خالی بماند، یک پیشفرض برایش انتخاب خواهد شد." #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "مستاجر" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "برای اطلاعات بیشتر این لینک را دنبال کنید" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "احراز هویت URI" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "ناموفق در دانلود نمودن %s" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "ناموفق در دانلود" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "ناموفق در لیست نمودن فایل ها" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "ناموفق در آپلود %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "موفق:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "دراپ باکس" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "احراز هویت با %s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "خطا در دانلود فایل ریموت: دانلود ناموفق" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "منطقه: %s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "خطای %s - ما به کانتینر دسترسی پیدا کردیم، اما نتوانستیم فایلی درون آن ایجاد کنیم" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "موضوع %s یافت نشد" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "نمی توان به کانتینر %s دسترسی پیدا کرد" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "خطای %s - ناموفق در دسترسی به کانتینر" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "نام صاحب حساب: %s" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "اگر می خواهید توانایی انتخاب نام فولدر دلخواه خود را داشته باشید، از آپ درفت پلاس پریمیوم استفاده کنید." #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "این یک شماره شناسه ی داخلی برای گوگل درایو می باشد" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "این نام فولدر نیست." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "فولدر" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "دانلود %s: ناموفق: فایل یافت نشد" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "نام: %s" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "لیست فایل های Google Drive : دسترسی به پوشه ی مادر با شکست مواجه شد." #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "نسخه ی %s شما: %s." #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "شما نیاز خواهید داشت با شرکت هاستینگ خود برای ارتقا تماس بگیرید." #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "این روش ذخیره سازی دستی (%s) نیازمند PHP %s یا جدیدتر می باشد." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "تماس" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "بازخوانی" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "این امکانات نیازمند %s نسخه %s یا جدیدتر میباشد." #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "ناموفق در بازگشایی آرشیو" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "خطا - ناموفق در دانلود فایل" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "جستجوی مجدد فولدر جهت ایجاد بکاپ" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "شما باید UpdraftPlus را به روز رسانی کنید تا مطمئن شوید که نسخه شما تست سازگاری شده است." #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "تا نسخه ی %s تست شده است." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr " نسخه پشتیبان / بازیابی UpdraftPlus هنوز روی نسخه ی وردپرس (%s) شما تست نشده است." #: src/addons/sftp.php:646 msgid "password/key" msgstr "رمز/کلید" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "کلید" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "برای ورود تنها نیاز بهیک پسورد یا کلید میباشد نه هر دو." #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "فرمت کلید ارائه شده صحیح نیست یا اینکه خراب است." #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "رمز/ کلید SCP/SFTP" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "فایل پشتیبان ایجاد شد ( توسط %s) " #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "فایل ها و دیتابیس وردپرس پشتیبان گیری شد .( توسط %s)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "بوسیله ی %s پشتیبان ایجاد شد. " #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "دیتابیس ( ایجاد شده توسط %s)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "منبع نامشخص" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "اسکن دوباره فضا" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "آپلود فایل های پشتیبان" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "این پشتیبان ایجاد شده توسط %s و میتواند بارگزای شود ." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "برای راهنمایی این صفحه را مطالعه کنید تا از نکات امکان پذیر برای حل مشکل اطلاع پیدا کنید." #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "اگر این فایل پشتیبان توسط پلاگین های دیگری ایجاد شده ممکن است نسخه ی تجاری UpdraftPlus به شما کمک کند ." #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "اگر چه , فایل فایل های آرشیو UpdraftPlus از فرمت های استاندارد zip/SQL هستند اگر شما مطمئن هستید که فرمت های شما صحیح میباشند شما میتوانید آنها را به الگوی صحیح تغییر نام دهید ." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "این فایل به نظر میرسد از فایل های پشتیبان UpdraftPlus نمیباشد ( فایل هایی با فرمت هایی مثل : zip یا gz با نام هایی مثل : backup_(time)_(site name)_(code)_(type).(zip|gz) )" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "فایل پشتیبان توسط منبع نامشخصی ایجاد شده (%s) است و نمیتواند بازیابی شود ." #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "پوشه ی محتویات وردپرس (wp-content) در این فایل زیپ یافت نشد." #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "این نسخه از UpdraftPlus توانایی پشتیبانی از این نوع فایل پشتیبان بیگانه را ندارد " #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "%s پاسخ HTTP ناخواسته ای بازگشت داده شد :%s" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "روش دسترسی (%s) به فایل توسط ماژول UpdraftPlus در لیست فایل ها پشتیبانی نمیشود ." #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "هیچ تنظیماتی یافت نشد" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "یک یا چندین پشتیبان از طریق اسکن کردن فضای ذخیره سازی ریموت، افزوده شدند. توجه کنید که این پشتیبان ها به صورت خودکار طبق تنظیمات \"حفظ پشتیبان ها\" حذف نخواهند شد. اگر/وقتی که شما تصمیم به حذف کردن آن دارید، باید این کار را به صورت دستی انجام دهید." #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "جستوجوی دوباره مکان های ذخیره سازی برای مجموعه فایل های پشتیبانی..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "(ادامه مطلب)" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "گزارش تمام پیام ها در گزارش سیستم ( تنها ادمین سرور ها اینو میخواهند )" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "حذف" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr " %s سوالات متداول دیگر" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "این گزینه را برای دریافت اطلاعات و ایمیل های فرآیند پشتیبان گیری انتخاب کنید - برای زمانی که فرایند با مشکل مواجه می شوند مفید هست ." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "شررکت هاست شما باید ایت تابع را فعال کنید قبل از اینکه %s بتواند کار کند ." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "تنظیمات نصب وب سرور PHP شما این تابع را غیر فعال کرده است : %s ." #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "FTP رمزگذاری شده ( رمزگذاری صریح)" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "FTP رمزگذاری شده ( رمزگذاری ضمنی)" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "FTP غیر رمزگداری شده ی معمولی" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "پشتیبانی ایجاد شده بوسیله ی :" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "در این سایت امکان پذیره" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "برای باقی ماند دسترسی به پشتیبانی , لطفا تجدید کنید ." #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "دسترسی تجاری شما برای پشتیبانی UpdraftPlus به زودی به اتمام خواهد رسید." #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "برای دسترسی دوباره، لطفا تجدید کنید." #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "دسترسی تجاری شما به پشتیبانی UpdraftPlus به اتمام رسیده است." #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "دسترسی تجاری شما برای بروزرسانی های UpdraftPlus برای این سایت به زودی به اتمام خواهد رسید." #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "برای حفظ دسترسیتان و ادامه استفاده از بروزرسانی ها (که شامل قابلیت های جدید و سازگاری با نسخه های جدید وردپرس است) و برای پشتیبانی، لطفا تجدید کنید." #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "دسترسی تجاری شما به بروزرسانی های UpdraftPlus برای %s از %s افزونه های روی این سایت به زودی به اتمام خواهد رسید." #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "دسترسی تجاری شما به آپدیت های UpdraftPlus برای افزونه های %s روی این سایت منقضی شده است." #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "برای دسترسی دوباره به بروزرسانی ها (که شامل قابلیت های جدید و سازگاری با نسخه های جدید وردپرس است) و پشتیبانی، لطفا تجدید کنید." #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "نادیده گرفتن از داشبورد اصلی (برای %s هفته)" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "تلاش برای خنثی کردن فشردگی دولایی موفقیت آمیز بود." #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "تلاش برای خنثی کردن فشردگی دولایی با شکست مواجه شد." #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "فایل دیتابیس به نظر میرسد که دوبار فشرده سازی شده است - ممکن است وبسایتی که از آن دانلود کرده این دارای اشکال در پیکربندی وب سرور باشد." #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "ثابت ها" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "بازکردن فایل دستابیس با شکست مواجه شد برای خواندن:" #: src/backup.php:1645 msgid "No database tables found" msgstr "هیچ تیبلی در دیتابیس پیدا نشد" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "لطفا برای تلاش های برنامه ریزی شده منتظر بمانید" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "حساب کاربری پر شده است: حساب کاربری %s شما فقط %d بایت دیگر دارد، ولی فایلی که در حال بارگزاری آن هستید %d بایت دیگر باقی مانده است (حجم کل: %d بایت)" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "خطایی رخ داده است:" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "از طریق این لینک می توانید فایل سوابق بازیابی را دانلود نمائید (برای درخواست های پشتیبانی نیاز دارید)." #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "این FAQ را هم ملاحظه نمائید." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "مقدار زمانی که برای اجرای افزونه های وردپرس اجازه داده شده است (%s ثانیه) خیلی کم است - شما برای اجتناب از رخ دادن خطا در پشتیبان گیری باید آن را افزایش دهید (با شرکت هاست خود صحبت کنید تا به شما کمک کنند - تنظیمات PHP در max_execution_time است؛ پیشنهاد می شود آن را به %s ثانیه و یا بیشتر تغییر دهید)" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "این افزونه غیر فعال گردید: %s: هر زمان که آماده بودید، برای فعالسازی مجدد آن به صورت دستی اقدام نمائید." #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "زمان اتصال %s منقضی شد؛ اگر سرور را درست وارد کرده اید، ممکن است به خاطر بلوکه کردن توسط فایروال اتفاق افتاده باشد- باید با شرکت هاست خود کنترل نمائید." #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "پیغام:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "دایرکتوری موجود نمی باشد" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "ایمیل کاربر جدید" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "نام کاربری کاربر جدید" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "کلید API ادمین" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "نام کاربری ادمین" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "حساب کاربری US یا UK Rackspace" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "ساخت کاربر API و کانتینر جدید" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "کلید API: %s" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "رمز عبور: %s" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "نام کاربری: %s" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "عدم موفقیت در عملیات فایل های ابری (%s)" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "تداخل: این کاربر و یا ایمیل وجود دارد" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "یک ایمیل معتبر وارد نمائید" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "یک container وارد نمائید" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "یک نام کاربری جدید وارد نمائید" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "نیاز به وارد کردن کلید API دارید" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "باید نام کاربری ادمین را وارد نمایید" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "ساخت کاربر API جدید با دسترسی به این کانتینر (به غیر از کل کاربر شما)" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "کانتینر فایل های ابری" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "کلید API فایل های ابری" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "نام کاربری فضای ابری" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "لندن (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "هنگ کنگ (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "Northern Virginia (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "Chicago (ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "Sydney (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "Dallas (DFW) (default)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "ناحیه ذخیره فضای ابری" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "حساب های کاربری ساخته شده در rackspacecloud.com حساب های آمریکا هستند؛ حساب های کاربری ساخته شده در rackspace.co.uk حساب های انگلیس محور هستند." #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "حساب کاربری US یا UK-based Rackspace" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "حساب های کاربری ساخته شده در rackspacecloud.com حساب های آمریکا هستند؛ حساب های کاربری ساخته شده در rackspace.co.uk حساب های انگلیس هستند." #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "عدم تایید مجوز (اعتبار خود را بررسی نمائید)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "خطای ناشناخته در هنگام اتصال به UpdraftPlus.Com رخ داده است." #: src/admin.php:965 msgid "Create" msgstr "ایجاد" #: src/admin.php:925 msgid "Trying..." msgstr "در حال تلاش..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "رمز عبور کاربر جدید کنسول RackSpace این است (دوباره نمایش داده نخواهد شد):" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "داده خطا:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "پشتیبان در تاریخچه پشتیبان وجود ندارد" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "نمی توان فایل های قدیمی را حذف کرد." #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "برداشتن دیتا قدیمی از سر راه..." #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "آدرس دیگری اضافه نمائید..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "آدرس ها را در این قسمت وارد کن تا زمانی که عملیات پشتیبان گیری به پایان رسید، گزارش به آن ارسال شود." #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "کنترلی %s: %s" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "فایل: %s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "از بخش \"گزارشگیری\" برای تنظیم آدرس ایمیل مورد استفاده، استفاده نمائید." #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "اطلاعات مشکل زدایی" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "آپلود شده در:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "زمان سپری شده:" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "اخطارها" #: src/addons/reporting.php:223 msgid "Errors" msgstr "خطاها" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "خطاها/اخطارها:" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "شامل:" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "پشتیبان گیری شروع شده از:" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "گزارش پشتیبان گیری" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "%d ساعت، %d دقیقه، %d ثانیه" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "%d خطا، %d هشدار" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "احراز هویت %s" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "خطای %s: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "لوگو %s" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "ماژول PHP %s لازم نصب نشده است - از شرکت هاست خود برای فعالسازی آن درخواست کنید." #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "آدرس ایمیل ادمین شما (%s) استفاده خواهد شد." #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "اتصال" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(نسخه: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "آگاه باشید که سرورهای ایمیل معمولاً محدودیت حجم دارند؛ معمولاً %s مگابایت؛ پشتیبان های بزرگتر از این مقدار نخواهند رسید." #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "آخرین وضعیت:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "محتویات پشتیبان:" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "پشتیان گیری شده: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "فایل سوابق به این ایمیل الصاق شده است." #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "خطای ناشناخته - لطفاً درخواست پشتیبانی ثبت نمائید" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "فقط پایگاه داده (فایل ها شامل این زمانبندی خاص نمی شود)" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "پایگاه داده (پشتیبان گیری از فایل ها کامل نشده است)" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "فایل (پشتیبان گیری از پایگاه داده کامل نشده است)" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "فایل ها و پایگاه داده" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "این یک وردپرس multisite است." #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "اخطار UpdraftPlus:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "(یا با استفاده از فرم درون این صفحه در صورتی که آن را خریده اید، متصل شوید)" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "این لینک ها را دنبال کن تا بتونی پلاگین را فعال کنی " #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "این لینک ها رو دنبال کن تا بتونی پلاگین رو آپدیت کنی" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "آخرین " #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "مدل نسخه شما %s" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "آفرین تمام شد " #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "پشتیبانی UpdraftPlus" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "یک بروز رسانی برای تعلقات در دسترس است از لینک زیر به دنبال آن بروید " #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "تعلقات UpdraftPlus" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "یک بروز رسانی برای UpdraftPlus است لینک زیر را دنیال کنید " #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "سایت UpdraftPlus.Com پاسخ داده است اما ما که چیزی نفهمیدیم " #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "ایمیل و آدرس شما را سایت UpdraftPlus.Com شناسایی نمی کند " #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "سایت UpdraftPlus.Com پاسخ داده است اما ما دقیقا این قسمت رو متوجه نشدیم (اطلاعات :%s )" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "سایت UpdraftPlus.Com پاسخ داده است اما ما که چیزی نفهمیدیم " #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr " ما نتوانستیم به سایت UpdraftPlus.Com متصل شویم :((" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "گزارش " #: src/admin.php:5927 msgid "Options (raw)" msgstr "گزینه ها (خام)" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "وقتی گزارش بفرست که خظا یا هشداری وجود دارد " #: src/restorer.php:3052 msgid "Content URL:" msgstr "لینک محتویات " #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "شما باید مجوز های دسترسی فایل را درنصب و راه اندازی وردپرس خود بررسی کنید" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "میزان فضای خالی در حساب هاست شما اندک است فقط %s مگابایت باقی مانده " #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "مقدار حافظه (RAM) برای پی اچ پی بسیار کم است (%s مگابایت) - شما باید آن را برای جلوگیری از خرابی افزایش دهید (از اونی که ازش هاست خریدی کمک بگیر )" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "مدیریت افزونی ها " #: src/udaddons/options.php:543 msgid "Buy It" msgstr "اقدام به خرید" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "از فروشگاه UpdraftPlus.com آن را خریداری نمایید" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "آن را در این سایت فعال نمایید" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "شما یک خرید غیرفعال دارید" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "اختصاص داده شده به این سایت" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "موجود برای این سایت (از طریق خرید همه افزونه های شما)" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "(ظاهرا یک نسخه ی قبل از انتشار یا انتشاری صرف نظر شده است)" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "به اینجا بروید" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "به پشتیبانی نیاز دارید؟" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "در هنگام تلاش برای بازیابی افزونه های شما یک خطا رخ داد." #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "ادعا اعطا نشد - مشخصات ورود شما به حساب اشتباه بود" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "لطفا صبر کنید در حالی که ما این ادعا را ثبت می کنیم..." #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "در هنگام تلاش برای ارتباط با سرور خطایی رخ داد:" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "شما در حال حاضر متصل نیستید به اکانتی در UpdraftPlus.com" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "اگر شما افزونه های جدیدی خریداری نموده اید، پس برای رفرش نمودن کانکشن خود این لینک را دنبال کنید" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "مشتاقید درباره ی امنیت پسورد خود در UpdraftPlus.com بیشتر بدانید؟ اینجا پیرامون آن بخوانید." #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "جزئیات خود را فراموش کرده اید؟" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "هنوز اکانت ندارید (رایگان است)؟ یکی برای خود ثبت کنید!" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "در حال اتصال به اکانت UpdraftPlus.com شما" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "به نظر میرسد شما این افزونه را نصب شده دارید - شاید افزونه را گیج نموده اید؟" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "برای شروع نصب افزونه به اینجا بروید." #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "افزونه هنوز نصب نشده است." #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "برای فعالسازی افزونه به اینجا بروید." #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "افزونه هنوز فعال نشده است." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "برای اتصال به اینجا بروید." #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "شما هنوز به اکانت خود در UpdraftPlus.com متصل نیستید که پیش نیاز لیست کردن افزونه های خریداری شده شماست." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "بدون آن، کد نمودن بسیار آهسته تر خواهد شد." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "ماژول %s بر روی وب سرور شما نصب نیست." #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "(به نظر میرسد شما احراز هویت شده اید، گرچه اگر مشکلی دارید می توانید برای رفرش نمودن دسترسی خود دوباره لاگین کنید)." #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "فایل های پشتیبان را به اینجا بکشید" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "وب سرور کد خطا برگرداند (دوباره تلاش کنید، یا فایل رخدادهای وب سرور خود را بررسی نمایید)" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "اگر شما هم پشتیبان دیتابیس و هم پشتیبان فایل ها را استثنا کنید، در واقع همه چیز را مستثنی نموده اید!" #: src/restorer.php:3046 msgid "Site home:" msgstr "صفحه اول سایت:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "گزینه های حافظه ی خارجی" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(ثبت رخدادها بطور پیشفرض در صفحه ی تنظیمات افزونه قرار دارند)..." #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "این انتخاب را برای دفعه ی بعد به خاطر بسپار (شما کماکان این شانس را خواهید داشت که آن را در آینده تغییر دهید)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "آپلود ناموفق بود" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "پیرامون نحوه کار برنامه بیشتر بدانید..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "انجام نشد: ما قادر به وارد شدن بودیم، اما متاسفانه ایجاد فایل در آن مکان با موفقیت انجام نشد." #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "انجام نشد: ما قادر به ورود و منتقل کردن به مسیر مشخص شده بودیم، اما متاسفانه ایجاد فایل در آن مکان با موفقیت انجام نشد" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "به جای SFTP از SCP استفاده کن" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "تنظیمات کاربر SCP/SFTP" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "تنظیمات هاست SCP/SFTP" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "تلاش برای ارسال بک آپ توسط ایمیل ناموفق بود (احتمالا حجم فایل بک آپ برای استفاده از این شیوه خیلی زیاد است)" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "پشتیبان گیری از: %s." #: src/admin.php:1017 msgid "%s settings test result:" msgstr "نتیجه آزمایش %s تنظیمات:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(تمام نشده است)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "اگر شما بک آپ هایی بیش از حد انتظار می بینید، این احتمالا به این دلیل است که پاک کردن بک آپ های قدیمی پس از تکمیل یک بک آپ جدید در تنظیمات غیر فعال است." #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "این را درون مسیر آپلودها یا پلاگین ها قرار ندهید، زیرا ممکن است موجب تکرار شود (بک آپ از بک آپ از بک آپ از ...)." #: src/admin.php:3843 msgid "Job ID: %s" msgstr "شناسه کار: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "آخرین فعالیت: %ss قبل" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "ناشناخته" #: src/admin.php:3756 msgid "Backup finished" msgstr "بک آپ به پایان رسید" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "بدلیل بروز خطا تا موعد زمانبندی شده منتظر بمانید" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "در حال هرس کردن بک آپ های قدیمی" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "در حال آپلود فایل ها در حافظه ی خارجی" #: src/admin.php:3803 msgid "Encrypted database" msgstr "دیتابیس رمزگذاری شده" #: src/admin.php:3795 msgid "Encrypting database" msgstr "رمزگذاری دیتابیس" #: src/admin.php:3769 msgid "Created database backup" msgstr "دیتابیس بک آپ ساخته شده" #: src/admin.php:3782 msgid "table: %s" msgstr "جدول: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "در حال ساخت بک آپ دیتابیس" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "فایل های زیپ بک آپ ساخته شد" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "در حال ساخت فایل های زیپ بک آپ" #: src/admin.php:3706 msgid "Backup begun" msgstr "بک آپ شروع شد" #: src/restorer.php:1563 msgid "file" msgstr "فایل" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "فولدر" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "افزونه در صدد ساخت یک %s در پوشه ی محتوای شما بود، اما موفق نشد - لطفا مجوزهای فایل خود را چک کنید و به آن اجازه ی دسترسی دهید. (%s)" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "بک آپ به پایان نرسید، از سرگیری زمانبندی شد" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "وب سایت شما به ندرت بازدید می شود و این افزونه منابعی که به آن امیدوار بود دریافت نمی کند، لطفا این صفحه را بخوانید:" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "ادامه همراه با بروز رسانی" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "پس از کلیک بر روی لینک زیر دیگر آن را متوقف نکنید - منتظر شوید تا بک آپ تکمیل شود." #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "بک آپ خودکار آپ درفت پلاس" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "مشکلاتی رخ داده است:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "در حال بک آپ گیری با افزونه ی \"آپ درفت پلاس\"" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "بک آپ خودکار" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "در حال بک آپ گیری از دیتابیس با افزونه ی \"آپ درفت پلاس\"" #: src/addons/autobackup.php:431 msgid "themes" msgstr "پوسته ها" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "افزونه ها" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "شروع بک آپ خودکار..." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "در حال ساخت %s و بک آپ گیری از دیتابیس با افزونه ی آپ درفت پلاس" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "قبل از بروزرسانی بصورت خودکار از افزونه ها، پوسته ها و دیتابیس وردپرس توسط افزونه ی آپ درفت پلاس بک آپ بگیرید" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "اگر مطمئن نیستید پس متوقف شوید، در غیر اینصورت ممکن است نصب وردپرس را ویران کنید." #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "این شبیه به یک بک آپ ارزشمند از هسته ی وردپرس نمی باشد - فایل %s گم شده است." #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "ناتوان از گشودن فایل زیپ (%s) - نمی توانیم آن را اسکن کنیم تا یکپارچگی آن چک شود." #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "ناتوان از خواندن فایل زیپ (%s) - نمی توانیم آن را اسکن کنیم تا یکپارچگی آن چک شود." #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "افزونه های بیشتر" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "پشتیبانی" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "افزونه هنگامی که بک آپ دیتابیس را اسکن می کرد قادر به یافتن پیشوند جدول نبود." #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "این بک آپ از دیتابیس فاقد جدول های هسته ی وردپرس است: %s" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "حجم دیتابیس بسیار کمتر از آنست که یک دیتابیس وردپرسی معتبر باشد (سایز: %s کیلوبایت)." #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "با پشتیبان گیری خودکار امن باشید" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "اگر پس از کامل لود شدن صفحه شما کماکان می توانید این جمله را بخوانید، پس یک مشکل جاوا اسکریپت یا جی کوئری در سایت وجود دارد." #: src/admin.php:960 msgid "The file was uploaded." msgstr "فایل آپلود شد." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "وضعیت پاسخ ناشناخته ی سرور:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "پاسخی ناشناخته از سرور:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "این کلید آشکارسازی مورد بهره قرار خواهد گرفت:" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "برای در آوردن از حالت رمزنگاری شده (آشکارسازی) و دانلود فایل دیتابیس به کامپیوتر خود این لینک را دنبال کنید." #: src/admin.php:955 msgid "Upload error" msgstr "خطا در آپلود" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "خطای بروز رسانی:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(مطمئن شوید که فایل زیپی را آپلود می کنید که قبلا توسط این افزونه ایجاد شده است)" #: src/admin.php:943 msgid "Download to your computer" msgstr "به کامپیوتر خود دانلود کنید" #: src/admin.php:942 msgid "Delete from your web server" msgstr "از وب سرور خود حذف کنید" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "مثال هایی از ارائه دهندگان حافظه ی سازگار با S3 " #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "فایل ها را خرد کن هر:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "خطا: سرور پاسخی برای ما ارسال کرد (JSON) که ما قادر به درک آن نیستیم." #: src/admin.php:932 msgid "Warnings:" msgstr "اخطارها:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "خطا: سرور پاسخی خالی ارسال کرد." #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "این مجموعه چند بک آپی به نظر میرسد فاقد آرشیوهای زیر است: %s" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "فایل (%s) پیدا شد، اما حجمی متفاوت (%s) از آنچه انتظار میرفت (%s) دارد - ممکن است خراب باشد." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "فایل یافت شد، اما حجم آن صفر است (نیاز است که دوباره آن را آپلود کنید): %s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "فایل یافت نشد (می بایست آن را آپلود کنید): %s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "چنین مجموعه بک آپی وجود ندارد" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "انتقال بک آپ غیر فشرده به محل..." #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "ناموفق در گشودن فایل فشرده شده (%s) - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "مسیر سرور پوشه ی روت وردپرس: %s" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "%s نقطه پایان" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "... و بسیار فراتر از اینها" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (سازگاری)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "فایل بصورت لوکال حضور ندارد - نیاز به بازیابی از حافظه ی خارجی" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "در جستجوی %s آرشیو: نام فایل: %s" #: src/restorer.php:635 msgid "Final checks" msgstr "بررسی نهایی" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "پس از اتمام پشتیبان گیری، برای حذف فایل های پشتیبان زائد از سرور خود این گزینه را انتخاب کنید (در صورت عدم گزینش، همه ی فایلهای ارسال شده به صورت لوکال باقی خواهند ماند و این همه فایل های لوکال باقی مانده برای محافظت از محدودیت حافظه مناسب نیست)." #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "فایل های کد شده ی دیتابیس (فایل های db.gz.crypt) را برای آپلود و رمزگشایی به اینجا بکشید." #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "مسیر پوشه ی wp-content شما: %s" #: src/admin.php:949 msgid "Raw backup history" msgstr "تاریخچه ی پشتیبان گیری های ناقص" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "نمایش لیست پشتیبان گیری و فایل های ناقص" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "در حال پردازش فایل ها - لطفا منتظر بمانید..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "ناموفق در گشودن فایل دیتابیس." #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "بک آپ های شناخته شده (ناقص)" #: src/restorer.php:1835 msgid "Files found:" msgstr "فایل های یافت شده:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "بازگردانی جدول: %s" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "موتور جدول درخواست شده (%s) موجود نیست - تغییر به MyISAM." #: src/restorer.php:539 msgid "file is size:" msgstr "حجم فایل:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "برای اطلاعات بیشتر به اینجا بروید." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "چندین فایل کماکان در حال دانلود یا پردازش می باشند - لطفا منتظر باشید." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "از بازه زمانی استفاده شده در تنظیمات وردپرس شما استفاده خواهد شد. در تنظیمات -> همگانی " #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "به این فرمت وارد کنید HH:MM (مثال: 14:22)." #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "%s ورود ناموفق" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "ناموفق در دسترسی به %s در هنگام حذف کردن (برای اطلاعات بیشتر فایل رخدادها را ببینید)" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "خطا - چنین فایلی وجود ندارد." #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "%s خطا" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "%s خطا - ناموفق در آپلود فایل" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "%s خطا - ناموفق در دوباره بهم متصل کردن تکه ها" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "%s ناموفق در احراز هویت" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "خطا: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "مسیر مشخص شده برای بک آپ وجود دارد، اما قابل نوشتن نیست." #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "مسیر مشخص شده برای بک آپ وجود ندارد." #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "اخطار: %s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "مواجهه با فایل بسیار حجیم: %s (سایز: %s مگابایت)" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s: فایل غیر قابل خواندن - نمی توان از آن بک آپ گرفت" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "خطایی رخ داد در حالیکه آخرین فایل دیتابیس بسته میشد" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "مواجهه با اخطار:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "فضای خالی دیسک شما بسیار کم است - فقط %s مگابایت باقی مانده" #: src/addons/migrator.php:398 msgid "New site:" msgstr "سایت جدید:" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "سایت مهاجرت داده شده (از UpdraftPlus)" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "جزئیات را مشخص کنید که این سایت جدید در کجای وردپرس چند سایتی نصب شده ی شما می خواهد قرار بگیرد:" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "اطلاعات مورد نیاز برای ادامه:" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "فعالسازی پوسته ی شبکه:" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "پلاگین پردازش شده:" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "اجازه دسترسی فایل خود را بررسی کنید: نمی توان با موفقیت مسیر را ساخت و به آن وارد شد:" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "لطفا اختیارات دسترسی خود را بررسی کنید." #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "خطای گزارش شده با %s:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "لطفا اطلاعات خواسته شده را ارائه کنید و سپس ادامه دهید." #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "اطلاعات سایت:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "اخطارها:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "شما در حال اجرا بر روی وردپرس چند سایته (مولتی سایت) هستید - اما پشتیبان شما برای مولتی سایت نیست." #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "بستن" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "پاسخ غیرمنتظره:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "برای ارسال به بیش از یک آدرس، هر آدرس را با کاما جدا کنید." #: src/admin.php:947 msgid "PHP information" msgstr "اطلاعات PHP " #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "فایل زیپ قابل اجرا یافت شد:" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "نمایش اطلاعات PHP (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "همچنین از روی حافظه جانبی حذف گردد" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "آخرین اخبار UpdraftPlus.com:" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "پریمیوم" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "اخبار" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "مجموعه پشتیبان ها پیدا نشد." #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "لینک RSS" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "لینک وبلاگ" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "در حال تست تنظیمات %s..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "یا می توانید آن را در دایرکتوری UpdraftPlus به صورت دستی قرار دهید (از طریق wp-content/updraft) توسط FTP و پس از آن بر روی لینک \"اسکن مجدد\" بالا کلیک کنید." #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "توجه" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "خطاهایی رخ داده است:" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "اسکن مجدد (در حال جستجوی پشتیبان هایی که به صورت دستی بارگذاری شده اند)..." #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "شروع به جستجوی این ورودی کرده است" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "ذخیره شده در" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "\"%s\" کلید اولیه ندارد. در ردیف %s تنظیمات دستی مورد نیاز است." #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "ردیف ها: %d" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "زمان سپری شده (ثانیه):" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "خطاها:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "دستورات بروزرسانی SQL در حال اجرا:" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "تغییرات ایجاد شده:" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "ردیف های امتحان شده:" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "جداول امتحان شده:" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "نمی توان لیست جداول را دریافت کرد" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "اخطار: URL پایگاه داده سایت (%s) با چیزی که انتظار می رفت (%s) متفاوت است" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "چیزی برای انجام وجود ندارد: URL سایت همچنان: %s" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "خطا: پارامترهای خالی (%s, %s)" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "پایگاه داده: جستجو و جایگزینی URL سایت" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "ناموفق: نتایج برگردانده شده از عملیات %s را متوجه نشدیم." #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "ناموفق: عملیات %s قادر به انجام نیست." #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "جستجو و جایگزینی مکان سایت در پایگاه داده (عزیمت)" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "آپلودهای بلاگ" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "افزونه هایی که باید استفاده گردد." #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "نصب چندین سایت" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "شروع از دفعه بعد خواهد بود" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "شکست: درگاه باید یه عدد صحیح باشد." #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "رمز عبور" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "نام کاربری" #: src/addons/sftp.php:638 msgid "host name" msgstr "نام میزبان" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "مسیر دایرکتوری" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "رمز عبور" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "درگاه" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "میزبان" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "دسترسی فایل خود را بررسی نمائید: نمی توان ایجاد کرد و وارد گردید:" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "هیچ %s یافت نشد" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "هیچ پشتیبان گیری از دایرکتوری %s: هیچ چیزی برای پشتیبان گیری یافت نشد" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "اگر شما نمی دانید که این گزینه برای چیست، پس نیازی به آن ندارید و بگذارید خاموش باشد." #: src/addons/morefiles.php:294 msgid "More Files" msgstr "فایل های بیشتر" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "نوشتن و بازنشانی wp-config.php" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "هسته وردپرس" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "ناموفق: قادر به قرار دادن فایل در دایرکتوری نمی باشیم - لطفاً دسترسی خود را بررسی نمائید." #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "ناموفق" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "WebDAV URL" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "نوشتن محلی ناموفق: ناموفق در دانلود" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "خطا در باز کردن فایل ریموت: ناموفق در دانلود" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "هیچ تنظیمات %s پیدا نشد." #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "شکست: هیچ جزئیاتی از سرور داده نشده است." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "لازم است که از قبل موجود باشد" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "نام حساب کاربری %s: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "شما حساب کاربری %s خود را احراز هویت نموده اید" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "آیا می خواهید از زیر فولدر استفاده کنید؟" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "خطا: عدم موفقیت در بارگزاری فایل در %s (مشاهده فایل سوابق برای اطلاعات بیشتر)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "خطا: %s (برای اطلاعات بیشتر فایل گزارش را مشاهده کنید)" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "ارتباطات با %s رمگذاری نشده است." #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "ارتباطات با %s رمگذاری شده است." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "ما به باکت دسترسی پیدا کردیم و توانستیم پرونده هایی درون آن ایجاد کنیم." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "ما با موفقیت به باکت دسترسی پیدا کردیم، اما تلاش برای ایجاد پرونده در آن ناموفق بود." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "شکست" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "ناحیه" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "خطا: جزئیات باکت داده نشده است." #: src/methods/s3.php:1370 msgid "API secret" msgstr "رمز API" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "مکان %s" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "کلید مخفی %s" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "کلید دسترسی %s" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "اگر شما خطاهای مرتبط با گواهینامه SSL مشاهده نموده اید، لطفاً برای کمک به این قسمت بروید." #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "جداسازی %s: بارگذاری انجام نشد" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "توجه:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "بک آپ وردپرس" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "خطا: هیچ جزئیاتی در مورد کانتینر داده نشد." #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "نام کاربری" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "کلید API" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "شکست: هیچ %s داده نشده است." #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "نام کاربری فضای ابری" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "UK" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "US (پیشفرض)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "US یا UK Cloud" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "همچنین باید این FAQ مهم را بخوانید." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "تست تنظیمات %s" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "خطا در باز کردن فایل محلی: ناموفق در دانلود" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "خطای %s: آپلود ناموفق" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "خطای %s: باز کردن فایل لوکال ناموفق" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "احراز هویت ناموفق فایل های ابری" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "احراز هویت توسط گوگل" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "رمز مشتری" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "اگر گوگل به شما پیغام \"invalid_client\" را نشان داد، یعنی شما ID مشتری معتبری در این قسمت وارد ننموده اید." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "ID مشتری" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "وقتی از شما خواسته شد، باید موارد زیر را به عنوان آدرس ریدایرکت مجاز (زیر \"گزینه‌های بیشتر\") اضافه کنید" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "'Web Application' را به عنوان نوع کاربرد انتخاب نمائید." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "حساب کاربری احراز هویت نشده است." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "ناموفق در آپلود در %s" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "حساب کاربری پر شده است: حساب کاربری %s شما فقط %d بایت دیگر دارد در حالی که فایل مورد نظر شما برای آپلود %d بایت است" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "هنوز اجازه دسترسی به گوگل را دریافت نکرده ایم - شما باید مجدداً به گوگل درایو متصل شوید." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "شما موفق به احراز هویت حساب کاربری %s شدید." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "موفق" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "ترافیک مصرفی %s شما: %s %% استفاده شده، %s در دسترس می باشد" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "از این لینک دریافت کنید." #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "شما افزونه %s UpdraftPlus را نصب نکرده اید - از %s بگیرید" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "شما نیاز به احراز هویت مجدد %s دارید چون هویت فعلی شما کار نمی کند." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "OK" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "گزارش‌گیری از پایگاه‌داده در حال اجراست:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "بازنشانی خواهد شد به عنوان:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "پیشوند جداول قدیم:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "پشتیبان از:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "ناموفق در بازکردن فایل پایگاه داده" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "ناموفق در یافتن فایل پایگاه داده" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "ناموفق در ساخت دایرکتوری موقت" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "عدم موفقیت در پاک کردن دایرکتوری در حال کار بعد از بازیابی." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "تمیز کردن زباله..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "پایگاه داده با موفقیت رمزگشایی گردید." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "باز کردن بسته پشتیبان..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "ناموفق در کپی کردن این موجودیت" #: src/restorer.php:842 msgid "Backup file not available." msgstr "فایل پشتیبان در دسترس نمی باشد" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "متن خطا" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "سایز مورد انتظار آرشیو:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "اگر درخواست پشتیبانی دارید، لطفاً این اطلاعات را تامین کنید:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "بازسازی UpdraftPlus : در حال انجام" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "بعد از فشردن این دکمه، شما می توانید انتخاب کنید که کدام کامپوننت را می خواهید بازسازی کنید" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "حذف این مجموعه پشتیبان" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "ذخیره تغییرات" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "SSL را در هر جای ممکن غیر فعال کن." #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "توجه داشته باشید که همه روش‌های پشتیبان‌گیری ابری الزاماً از احراز هویت SSL استفاده نمی‌کنند." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "گواهینامه SSL را تائید ننمائید" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "از سروری با گواهینامه های SSL استفاده نمائید." #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "یا برای ریست کردن این گزینه" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "برای ایجاد دایرکتوری و تعریف سطح دسترسی آن بر روی اینجا کلیک کنید" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "دایرکتوری مشخص شده برای پشتیبان گیری قابل نوشتن است." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "پوشه فایل های پشتیبان" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "فایل محلی را پاک کن" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "نمایش تنظیمات حرفه ای" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "تنظیمات حرفه ای" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "حالت رفع عیب" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "تنظیمات پیشرفته/رفع عیب" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "در حال درخواست شروع پشتیبان‌گیری..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "لغو" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "هیچکدام" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "حافظه ریموت خود را انتخاب کنید" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "رمزگشایی فایل پشتیبان پایگاه داده به صورت دستی" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "عبارت رمزگذاری پایگاه داده" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "ایمیل" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "شامل این موارد نمی شود:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "یک پوشه ی دیگر در مسیر wp-content یافت شد" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "قرار گرفتن در فایل های پشتیبان" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "به طور مثال اگر سرور شما در طول روز شلوغ بوده و شما می خواهید در شب آن را اجرا کنید" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "به منظور اصلاح زمانی که پشتیبان گیری باید اجرا شود ," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "ماهانه" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "هر دو هفته یکبار" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "هفتگی" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "روزانه" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "دانلود فایل سوابق" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "فولدر وجود دارد، ولی وب سرور دسترسی نوشتن در آن را ندارد." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "درخواست دسترسی به فایل های سیستمی به منظور ایجاد پوشه با شکست روبرو شد ." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "حذف" #: src/admin.php:3877 msgid "show log" msgstr "نمایش فایل سوابق" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "این کار باعث حذف کلیه تنظمیات UpdraftPlus خواهد شد. آیا مطمئن هستید؟" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "شمارش" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "لطفا توجه داشته باشید، این اندازه‌گیری براساس بوده‌ها یا نبوده‌های زمانی‌است که آخرین بار تنظیمات را ذخیره کرده‌اید." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "کل اطلاعات (غیر فشرده) روی دیسک." #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "خیر" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "بله" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "%s نسخه :" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "حافظه ی موجود استفاده شده" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "پیک مصرف مموری" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "وب سرور:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "آیا شما به پشتیبانی چند سایته وردپرس نیاز دارید؟" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "چند سایتی" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "آیا مطالعه ی این راهنما قبل از بازیابی برای شما مفید بود ." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s تنظیمات بازیابی:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "شما نیاز خواهید داشت که به صورت دستی بازیابی انجام دهید." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "این موجودیت نمی تواند به طور اتوماتیک بازسازی گردد: %s." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "وبسرور شما دارای php میباشد که safe_mode در آن فعال است ." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "انتخاب اجزا برای بازیابی" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "با بازیابی قالب سایت ها , افزونه ها , پوشه ی آپلود , دیتابیس و سایر محتوای پوشه ها جایگزین میشوند.( بر اساس آنچه که در فایل پشتیبان موجود میباشد )" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "بازیابی پشتیبان" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "حذف تنظیمات پشتیبان" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "خطای دانلود: سرور پاسخی برای ما ارسال نموده است که متوجه نشده ایم." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "خطا :" #: src/admin.php:927 msgid "calculating..." msgstr "درحال پردازش ..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - آپلود فایل های پشتیبان" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "رفرش" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "فضای دیسک وب سرور تحت استفاده توسط UpdraftPlus" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "این تعداد محتویات دایرکتوری Updraft شما است." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "گوگل درایو" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "اگر شما از این استفاده می کنید، حالت Turbo/Road را خاموش کنید." #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "مرورگر اینترنتی اپرا" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "وظایف بیشتر:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "دانلود فایل گزارش آخرین تغییرات" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "آخرین پیام ثبت شده" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "بازنشانی" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "تهیه ی پشتیبان" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "زمان الان" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "دیتابیس" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "فایل ها" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "پشتیبان گیری زمانبندی شده ی بعدی" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "در یک زمان به عنوان فایل های پشتیبانی" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "چیزی برنامه ریزی نشده است" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "اخطار جاوا اسکریپت" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "حذف پوشه های قدیمی" #: src/admin.php:3050 msgid "Current limit is:" msgstr "محدودیت کنونی:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "پشتیبان شما بازنشانی شد." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "نسخه" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "رفتن به صفحه توسعه دهنده" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "تنظیمات شما پاک شد." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "فایل پشتیبان با موفقیت ایجاد شد ." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "فایل پشتیان نمیتواند ایجاد شود ." #: src/admin.php:3888 msgid "Remove old directories" msgstr "حذف پوشه های قدیمی" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "بازگشت به تنظیمات UpdraftPlus ." #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "فعالیت ها" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "فرمت نام فایل مناسب نیست . رمز نگاری فایل دیتابیس ایجاد شده توسط UpdraftPlus مناسب نیست." #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "فرمت نام مناسب نیست - به نظر نمی رسد این فایل توسط UpdraftPlus ایجاد شده باشد" #: src/admin.php:2631 msgid "No local copy present." msgstr "هیچ کپی محلیی وجود ندارد ." #: src/admin.php:2628 msgid "Download in progress" msgstr "در حال دانلود نمودن" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "فایل آماده است." #: src/admin.php:2598 msgid "Download failed" msgstr "دانلود ناموفق" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "خطا" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "هیچ کاری یافت نشد - احتمالا آن تمام شده ؟" #: src/admin.php:2335 msgid "Job deleted" msgstr "عملیات پاک شد" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "هیچ گزارشی هنوز ثبت نشده" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "اگر مشکلی با پشتیبان گیری داشتید، لطفا این سوالات رایج را بررسی کنید." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "وب سایت شما توسط وب سرور %s میزبانی می شود." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "اخطار" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "تنظیمات" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "حلقه ی تکرار بینهایت . برای دریافت اطلاعات بیشتر به فایل گزارش مراجعه کنید" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "فایل یافت نشد" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "کلید رمزگشایی استفاده شده :" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "نمیتوان فایل پشتیبان برای نگارش باز کرد ." #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "ناتوان از خواندن مسیر" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "پوشه ی پشتیبان گیری (%s) غیر قابل نوشتن می باشد یا موجود نیست . " #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "ایجاد پشتیبان از وردپرس انجام شد" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "تلاش برای ایجاد پشتیبان گیری انجام شد , اما ظاهرا نا موفق بوده ." #: src/class-updraftplus.php:2109 msgid "Others" msgstr "سایرین" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "آپلودها" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "پوسته ها" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "افزونه ها" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "فایل رخداد یافت نشد." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "فایل رخداد قابل خواندن نمی باشد." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "توجه UpdraftPlus:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "پشتیبان های UpdraftPlus"languages/updraftplus-bg_BG.po000064400001547275147400355670012421 0ustar00# Translation of UpdraftPlus in Bulgarian # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2020-08-03 14:29:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: bg\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "Купете %s" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "Вземете %s от магазина UpdraftPlus.com" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "Отидете до таблото за управление на UpdraftCentral Cloud" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "Успешно влязохте в UpdraftPlus и свързахте този сайт с UpdraftCentral Cloud." #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "Извършете резервно копие" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "Още страхотни плъгини от екипа на Updraft" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "Позволява ви да архивирате само промените във вашите файлове (като ново изображение), които са направени на вашия сайт от последната резервна копие." #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "Постепенни резервни копия" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "Следвайте тази връзка към инструкциите за инсталиране (особено стъпка 1)." #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "Успешно закупихте UpdraftPremium." #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "Отива към страница за купуване на updraftplus.com" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "Отива на страницата за купуване на updraftplus.com" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "Вземете %s тук" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "Колкото по-висока е стойността, толкова повече сървърни ресурси са необходими за създаването на архива." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "да направите постепенно архивиране" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "Запазете тези много планирани резервни копия на базата данни" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "Запазете тези много планирани архивирания на файлове" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "Добавете правило за изключване за %s" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "Използвайте ctrl / cmd + натиснете, за да изберете няколко елемента, или ctrl / cmd + shift + натиснете, за да изберете всички между" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "Премахнете избора на всички резервни копия" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "Изберете всички резервни копия" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "Изтрийте избраните архиви" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "Показване на всички резервни копия ..." #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "Покажи още резервни копия ..." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "Изберете компонентите за възстановяване:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "Възстановяване на файлове от" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "Научете повече за допълнителните резервни копия тук." #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "Постъпковите архиви са функция на %s (надстройката следва тази връзка)." #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "Вземете постъпково резервно копие" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "Вземете ново архивно копие" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "Връзката с базата данни е затворена и не може да бъде отворена отново." #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "Пропускаща таблица %s: вече е възстановена при по-предходно изпълнение; следваща таблица за възстановяване: %s" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "Пропускане на таблица %s: потребителят е избрал да не възстановява тази таблица" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "Намерени и заменени съществуващи ограничения за чужди ключови таблици, тъй като префиксът на таблицата е променен." #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "Възникна грешка при опит за задаване на нова стойност на глобалната log_bin_trust_function_creators променлива на MySQL %s" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "Възникна грешка при опит за извличане на глобалната log_bin_trust_function_creators променлива на MySQL %s" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "Директорията не съществува и опитът за създаване на нея е неуспешен" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "Не може да се изтрие старият път." #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "Следвайте тази връзка за помощ" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "Въведете вашата %s парола" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "Въведете вашия имейл адрес %s" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "Стартиране на абонамент" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "Стартиране на абонамент %s" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "Започнете пробен период" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "Стартиране на пробен период %s" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "Стартиране на %s UpdraftVault абонамент" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "%s месец опит %s" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "с опцията на" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "Прочетете повече за %s тук." #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "Свързване с вашия %s акаунт" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "Вече имате място?" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "Трябва да получите пространство?" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "Грешка: Неуспешно инициализиране" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "неуспешно качване" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "неуспешно влизане" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "грешка - проблем при качване на файла" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "грешка - проблем при събиране отново на блокове" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "грешка - проблем при създаване и достъп до контейнера" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "неуспешно удостоверяване" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "В противен случай можете да опитате UpdraftVault за 1 месец само за $1!" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "Ако имате валиден Premium лиценз, получавате 1GB място за съхранение." #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "Опитайте UpdraftVault за 1 месец само за $1!" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "управлява всички ваши WordPress сайтове едновременно от едно място" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "Много сайтове?" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "обработва актуализациите автоматично, както ги искате" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "Спестете време" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "архивира автоматично, когато актуализирате приставки, теми или ядро" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "Бъдете в безопасност" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "Направете актуализациите лесни с UpdraftPlus" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "Клониране на %s" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "%d токен" msgstr[1] "%d токени" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "%s от сега" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "Този архивен комплект съдържа допълнителни резервни копия на вашите файлове; изберете времето, което желаете да възстановите" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "Разархивирайте напредъка: %d извън %d файла" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "Възникна грешка при опит за извличане на рутинната SQL/DDL команда (%s %s)" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "Възникна грешка при опит за извличане на рутинно състояние (%s %s)" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "Възникна грешка при опит за проверка на поддръжката на съхранените съчетания (%s %s)" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "Това е по-старо от сървъра, на който се възстановява (версия %s)." #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "Недовършено" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "Архивирането е прекратено поради повтарящ се неуспех." #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "В Профилактика" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "Поискахте записване в отдалечено хранилище (%s), но без да въвеждате никакви настройки за това място за съхранение." #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "Празна WordPress инсталация" #: src/admin.php:6137 msgid "This current site" msgstr "Този текущ сайт" #: src/admin.php:6135 msgid "Clone:" msgstr "Клонинг:" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "Регистър на дейностите" #: src/admin.php:5148 msgid "Cleaning" msgstr "Изчистване" #: src/admin.php:5139 msgid "Verifying" msgstr "Проверка" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "Напредък на възстановяването:" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "Възстановяване на updraftPlus" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "(%d архив(а) в комплект, общо %s)." #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "Научете повече за UpdraftCentral" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "Добавете този сайт към UpdraftCentral (дистанционно, централизирано управление) - безплатно за до 5 сайта." #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "Връщане към конфигурацията на UpdraftPlus" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "Проверете регистрационния файл за грешки за повече подробности" #: src/admin.php:1109 msgid "Missing pages:" msgstr "Липсващи страници:" #: src/admin.php:1108 msgid "Restore error:" msgstr "Грешка при възстановяване:" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "Опитите на браузъра да се свърже с уеб сайта са неуспешни." #: src/admin.php:1106 msgid "Preparing backup files" msgstr "Подготовка на архивни файлове" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "Изтегляне на архивни файлове, ако е необходимо" #: src/admin.php:1104 msgid "Begun" msgstr "Започнал" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "Завършен" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "Възстановяване на %s1 файлове от %s2" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "няма скорошна дейност; ще предложи възобновяване след: %d секунди" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "последна активност: преди %d секунди" #: src/admin.php:1095 msgid "credentials" msgstr "идентификационни данни" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "Опитайте - 1 месец за $ 1!" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "Опитайте UpdraftVault!" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "Не сте избрали път за възстановяване за избраните архиви" #: src/admin.php:1086 msgid "File backup options" msgstr "Опции за архивиране на файлове" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "Проверка на еднократна парола..." #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "Успешен вход; информация за презареждане." #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "Съществуващи архиви" #: src/admin.php:664 msgid "Dismiss notice" msgstr "Освобождаване на известието" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "Можете да тествате течаща вашия сайт с различна версия на PHP (или WordPress) с помощта на кредитите UpdraftClone." #: src/admin.php:652 msgid "dismiss notice" msgstr "освобождаване от длъжност" #: src/admin.php:652 msgid "go here to learn more" msgstr "отидете тук, за да научите повече" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "Можете да тествате надстройването на сайта си на незабавно копие с помощта на Кредити updraftClone" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "Няма налични постъпкови точки за възстановяване на резервни копия." #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "Времеви отпечатъци" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "Не са намерени валидни компоненти, изберете различни компоненти или набор от компоненти, които могат да бъдат възстановени." #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "Грешка: Неуспешно качване" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "Близкия изток (Бахрейн)" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "Европа (Стокхолм)" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "Прочетете повече за шифроването от страна на сървъра" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "Интелигентен теринг" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "Местоположение за възстановяване, намерено за:" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "Местоположението на възстановяване не съществува във файловата система за:" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "Моля, изберете повече архивни файлове, които искате да възстановите:" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "Ако въведете префикс на таблица, само таблиците, които започват с този префикс, ще бъдат архивирани." #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "Въведете префикс на таблица" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "Въвеждане на база данни" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "Въведете база данни." #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "Въведете парола" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "Въведете парола." #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "Въведете потребителско име" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "Въведете потребителско име." #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "Въведете хост" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "Въведете хост." #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "Не е възможно да се направи резервно копие на вашите файлове, тъй като не е намерено подходящо съществуващо резервно копие, за да се добавят стъпки към." #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "N.B. Няма да се извършва резервно копие на базата данни в постъпково резервно копие; ако искате и архивна база данни, след това вземете това отделно." #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "Файловете, променени след последното архивиране, ще бъдат добавени като ново увеличение в този архивен набор." #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "Прочетете повече за местоположенията на кофите" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "Прочетете повече за класовете за съхранение" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "изтегляне: не е успешно: файлът не е намерен" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "Грешка: Не можа да се отвори локален файл" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "Начален час" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "Ден за изпълнение на архиви" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "Добавяне на допълнително правило за задържане на файлове" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "Добавяне на допълнително правило за задържане на база данни" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "Това е необходимо, ако и само ако ключът за приложението е специфичен за вас ключ за приложение (а не главен ключ)" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "ИД на клавиша за приложение в паметта" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "ИД на главен номер на приложение" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "За помощ при конфигуриране на %s, включително екранни снимки, следвайте тази връзка." #: src/addons/azure.php:706 msgid "Azure China" msgstr "Лазурен Китай" #: src/admin.php:6121 msgid "Clone region:" msgstr "Клонинг област:" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "отидете тук" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "Ако вече сте подновени, трябва да разпределите лиценз на този сайт - %s" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "Идентификация" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "Трябва да изберете поне една отдалечена дестинация за съхранение, за да качите този архивен набор." #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "Прочетете повече за лесните актуализации мениджър" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "Можете да научите повече за клонинг ключове тук." #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "Или използвайте updraftClone ключ" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "Намерени са имена на зададени адреси %s, но се променя на %s, както е предложено от WPDB::determine_charset()." #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "Изисква се и точен ключ." #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "Подготовката на данните за клонинга е прекратена." #: src/addons/azure.php:705 msgid "Azure Government" msgstr "Правителството на Azure" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "Помолете WordPress да актуализира автоматично UpdraftPlus, когато намери налична актуализация." #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "Автоматични актуализации" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "Вашата база данни потребител няма разрешение да пуснете таблици" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "Помолете WordPress да актуализира UpdraftPlus автоматично, когато има налична актуализация" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "Трябва да добавите следното като оторизиран URI за пренасочване (под \"Повече опции\"), когато бъдете" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "Франкфурт" #: src/addons/googlecloud.php:61 msgid "London" msgstr "Лондон" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "Белгия" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "Сидни" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "Сингапур" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "Токио" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "Тайван" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "Орегон" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "Северна Вирджиния" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "Южна Каролина" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "Айова" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "Потвърждаване на промяната" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "Добавяне на правило за изключване" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "Въведете префикс на файл" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "Всички файлове, започващи с тези знаци" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "Въведете разширение като цип" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "Изберете файл/папка, който искате да изключите" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "Всички файлове, започващи с дадени знаци" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "Всички файлове с това разширение" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "Файл/директория" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "Изберете начин за изключване на файлове или директории от архива" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "Изключване на файлове/директории" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "За да прочетете често задавани въпроси/документация за UpdraftClone, отидете тук." #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "вашия UpdraftPlus.com акаунт" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "Можете да проверите хода на процеса тук или в %s" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "Вашият UpdraftClone все още се настройва." #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "Архивите на %s остават" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "Данните за сайта са получени и импортирането му е започнало." #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "Инсталиран WordPress; момента се очаква да бъдат изпратени данните за сайта." #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "Готови клонинги" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "Данните за сайта са внедрени" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "Внедряване на данни за сайтове" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "Получени данни за сайта" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "Получаване на данни за сайта" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "Инсталиран WordPress" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "Вашият клонинг е започнал, мрежовата информация все още не е налична, но ще се покаже тук и на вашия updraftplus.com акаунт, след като е готов." #: src/admin.php:4330 msgid "Exclude these from" msgstr "Изключване на тези" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "Правилото за изключване, което се опитвате да добавите, вече съществува" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "Въведете валиден префикс за име на файл" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "Въведете знаците, които започват името на файла, което искате да изключите" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "Въведете валидно разширение на файла" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "Моля, въведете разширение на файла, като zip" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "Изберете файл/папка, който искате да изключите" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "Наистина ли искате да премахнете това правило за изключване?" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "вход резултати на конзолата" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "За да създадете временен клон, ви е необходим кредит в профила си." #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "Прочетете често задавани въпроси тук." #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "неуспешно качване на файл в %s (вижте регистрационния файл за повече)" #: src/admin.php:6222 msgid "Dashboard:" msgstr "Таблото:" #: src/admin.php:6221 msgid "Front page:" msgstr "Заглавна страница:" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "Вашият клонинг е започнал и ще бъде достъпен на следните URL адреси, след като е готов." #: src/includes/class-commands.php:1093 msgid "manage" msgstr "управление" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "Текущи клонинги" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "Клонингът ви сега ще разположи тези данни, за да създаде отново сайта Ви." #: src/addons/migrator.php:541 msgid "Site key" msgstr "Ключ за сайта" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "Добавяне на сайт" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "обратно" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "Прочетете тази статия, за да видите стъпка по стъпка как се прави." #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "Мигриране (създаване на копие на сайт на хостинг, който контролирате)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "Управление на клонингите" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "Заключителния 1 октомври 2018" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "Вашият клонинг ще се поднови на:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "Не може да се получи дата на подновяване" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "Архивирането е прекратено" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "OneDrive Германия" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "OneDrive Международен" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "Моят акаунт" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "Приемам Общите условия на UpdraftClone" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "Нямате ли сметка? Вземи си, като си купиш жетони тук." #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "Можете да си купите жетони от магазина ни." #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "За да създадете временен клон, ви е необходим: 1) кредит в профила си и 2) за свързване към профила ви по-долу." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "Ако искате, тествайте надстройването до различна версия на PHP или WP." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "Гъвкави" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "Отнема само времето, необходимо за създаване на резервно копие и изпращането му." #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "Бързо" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "Един VPS (виртуален частен сървър) на клонинг, споделен с никой." #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "Сигурен" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "Работи на производителност от водещ доставчик на изчислителни облаци." #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "Надеждни" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "Лесно" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "Създаване на временен клонинг на нашите сървъри (UpdraftClone)" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "Приставки за WooCommerce" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "Връщане в начално състояние" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "Натиснете този бутон, за да направите обиколка на плъгина." #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "Направете обиколка" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "Влезте тук, за да активирате всички функции, до които имате достъп." #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "Свързване с updraftplus.com" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "За да започнете с UpdraftVault, изберете една от опциите по-долу:" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "Край" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "UpdraftPlus Premium има много по-вълнуващи функции!" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "UpdraftPlus Премиум и добавки" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "Благодаря, че преминахте обиколката." #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "Имате ли още няколко WordPress сайтове, които искате да архивирате? Ако отговорът е \"да\", можете да спестите часове, като контролирате всички ваши архиви на едно място от UpdraftCentral." #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "Управлявайте всички архиви на едно място" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "Поздравления, настройките ви са успешно запазени." #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "Натиснете тук, за да запазите настройките си." #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "Запази" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "Разгледайте другите настройки тук, като направите промените, които искате." #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "Още настройки" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "Научете повече тук." #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "UpdraftVault е нашето дистанционно съхранение, което работи безпроблемно с UpdraftPlus." #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "Изберете графика, на който искате да се изпълняват архивите." #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "Изберете графика за архивиране" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "Поздравления!! Първото ви архивиране е в движение." #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "Отидете в настройките" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "Но за да се избягват системните заплахи за целия сървър, редовно се архивират отдалечените облачни устройства за съхранение в %s настройки %s" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "Натиснете тук, за да стартирате ръчно архивиране." #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "Създаване на първия си архив" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "Изберете какво искате да архивирате" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "Опции за ръчно архивиране" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "За да направите просто резервно копие на вашия сървър, натиснете този бутон. Или за настройка на обикновени архиви и отдалечено хранилище, отидете на %s настройки %s" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "Първото ви архивиране" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "Натиснете тук, за да започнете!" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "най-надеждният резервен плъгин в света!" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "Добре дошли в UpdraftPlus" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "Настройки на UpdraftPlus" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "Край на обиколката" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "Пропусни тази стъпка" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "Назад" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "Тук можете да купите още временни клонинг символи." #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "Забраняване на администраторите да влизат в WordPress на вашия клонинг" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "Премиум / Научете повече" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "Други страхотни плъгини" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "Създаването на вашите данни за създаване на клонинга трябва да започне." #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "Можете да намерите вашата временна информация за клониране в updraftplus.com си акаунт тук." #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "Изберете по подразбиране за всяка таблица" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "Изпращане на файлове до отдалечен сайт" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "Clone сървър се обезпечава и обувка (може да отнеме няколко минути)" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "За да импортирате набор от архиви, отидете на раздела \"Съществуващи архиви\" в раздела \"Архивиране/възстановяване\"" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "Архивиране / възстановяване" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "Архивиране" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "Последно пълно архивиране е намерено; Идентификатор:" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "Не е намерено предишно пълно архивиране." #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "Отдалечено хранилище: %s" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "Не е намерено предишно резервно копие, към което да се добави увеличение." #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "Заявеният набор от знаци (%s) не е наличен - промяна в %s." #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "Позволяване само на администраторите да влизат" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "Можете да забраните на не-администраторите влизания в този клониран сайт, като поставите отметка в квадратчето по-долу" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "UpdraftPlus временно настройки за вход в клона потребител:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "Добре дошли във вашия UpdraftClone (временен клонинг)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "Обновяване на връзката" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "Регистрирай всички съобщения в syslog" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "RSA ключа на сървъра %s отпечатък: %s." #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "RSA пръстов отпечатък" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "Отпечатъците не съвпадат." #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "Повече информация тук." #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "Мигриране / Клонинг" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "Позволявайте само ръчно изтриване на този архив (т.е. да го запазите дори ако са уд уцелени ограниченията за задържане)." #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "Вашата WordPress инсталация има стари директории от своето състояние, преди да сте възстановени / мигрирали (техническа информация: те са наставени с -old)." #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "Това не е постъпково архивиране" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "Изпълнете тази команда, за да видите регистрационния файл за това възстановяване (необходим за всички заявки за поддръжка)." #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "(актуална версия)" #: src/admin.php:4235 msgid "press here" msgstr "натиснете тук" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "тази политика за поверителност" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "Моля, прочетете %s за използване на нашето приложение за удостоверяване %s (нито един от вашите архивни данни не е изпратен до нас)." #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "Разкажи ми повече" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "След това добавете и постъпково резервно копие" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "Всеки час" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "Създаване на клон" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "Налични временни клонирани маркери:" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "Обработка" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "Свързване към UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "UpdraftPlus.Com условия и правила на профила" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "Съгласен съм с %s" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "Еднократна парола (проверете вашия OTP приложение, за да получите тази парола)" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "Влезте или се регистрирайте с този имейл адрес" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "Ако не, изберете вашите данни и ще се регистрира нов акаунт." #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "Ако вече имате updraftplus.com акаунт, въведете данните по-долу." #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "Добавете този уеб сайт към таблото си updraftCentral Cloud на updraftplus.com." #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "Влезте или се регистрирайте за UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "Отидете тук, за да го свържете." #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "Или ако предпочитате да се самоизточете, тогава можете да получите самостоятелно хоствана версия тук." #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "Свържете този сайт с UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "Архивиране, актуализиране и управление на всички ваши WordPress сайтове от едно табло" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "Файлът %s има \"байт за ред\" (BOM) в началото си." msgstr[1] "Файловете %s имат \"байт за ред\" (КИ) в началото си." #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "За бъдещия контрол на всички ваши UpdraftCentral връзки отидете в раздела \"Разширени инструменти\"." #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "Можете също да затворите този съветник." #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "Трябва да прочетете и приемете правилата за данни и поверителност на UpdraftCentral Cloud, преди да можете да продължите." #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "Моля, изчакайте, докато бъдете пренасочени към UpdraftCentral Cloud." #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "Моля, изчакайте, докато системата генерира и регистрира ключ за криптиране на вашия уеб сайт с UpdraftCentral Cloud." #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "Може би вместо това бихте искали да влезете." #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "Проблеми с връзката? Опитайте да използвате алтернативен метод в разширените опции за защита." #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "Изисква се имейл и трябва да бъде във валиден формат." #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "Полетата за имейл и парола са задължителни." #: src/admin.php:1059 msgid "Registration successful." msgstr "Регистрацията е успешна." #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "Следвайте тази връзка, за да отворите %s в нов прозорец." #: src/admin.php:1057 msgid "Login successful." msgstr "Успешен вход." #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "Удрафенцентрален облак" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "Наистина ли искате да отхвърлите всички UpdraftPlus новини завинаги?" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "Освободете всички UpdraftPlus новини" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "Новини за UpdraftPlus" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "Създаден е ключ за мигриране:" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "Липсващи параметри" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "Azure Германия" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "Azure Глобално" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "Акаунт в Azure" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "Задайте името на папката Microsoft OneDrive, а не URL адреса." #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "Изберете отдалечените дестинации за съхранение, за които искате да качите този архивен" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "Качване на резервно копие" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "След като натиснете този бутон, можете да изберете къде да качите архива от списък с вашите текущо запазени местоположения за отдалечено съхранение" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "(вече е качен)" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "Стартира локалното качване на резервно копие; моля, проверете регистрационния файл, за да видите напредъка на качването" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "Качи" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "Само архивиране на базата данни" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "Имайте предвид, че пощенски сървъри са склонни да имат ограничения за размера; обикновено около %s МБ; архивиране по-големи от всички ограничения вероятно няма да пристигне като резултат UpdraftPlus ще изпрати само архивиране на бази данни на електронна поща." #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "Използвайте тази опция, за да изпращате архиви на бази данни само при изпращане на имейл и да пропуснете други компоненти." #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "За допълнителни резервни копия ще можете да избирате кои стъпки да възстановите на по-късен етап." #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "Стъпки съществуват в: %s" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "(последна стъпка: %s)" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "Европа (Париж)" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "WP-CLI команди, за да вземе, списък и изтриване на резервни копия." #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "Поддръжка на WP-CLI" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "WP CLI" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "Невалиден ИД на задание" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "Последно започна иД на заданието за архивиране: %s" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "Дадената стойност за опцията '%s' е невалидна" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "Така че, за да получите ключа за отдалечения сайт, отворете прозореца \"Мигриране на сайта\" на този сайт и отидете на този раздел." #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "Ключовете за сайт са създадени в раздела \"получи резервно копие от отдалечен сайт\"." #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "Трябва да копирате и поставите този ключ на изпращащия сайт сега - той не може да бъде показан отново." #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "Тази функция е забранена от администратора на сайта." #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "Благодаря ви за инсталирането UpdraftPlus!" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "Няма ключове, които да позволяват на отдалечени сайтове да изпращат резервни данни тук все още са създадени." #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "Неуспешно четене от работната директория." #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "Неуспешно откриване на манифест в архива." #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "Неуспешно четене на манифеста от архива." #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "(Няма конфигуриран)" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "Уверете се, че сте влезли в правилния акаунт, преди да продължите." #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "Метод за отдалечено съхранение и идентификатор на екземпляр са необходими за удостоверяване." #: src/admin.php:5720 msgid "authentication error" msgstr "грешка при удостоверяване" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "(Нищо не е записано още)" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "ще искате да използвате по-долу търсене и да замени място на сайта в базата данни (мигриране) за търсене/замяна на адреса на сайта." #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "Добавяне на друг %s акаунт..." #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "Изтриване на тези настройки" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "В момента е забранена" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "В момента е активиран" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "Ако сте закупили от UpdraftPlus.Com, следвайте тази връзка към инструкциите за инсталиране (особено стъпка 1)." #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "В момента използвате безплатната версия на UpdraftPlus." #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "Вземи го тук" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "отдалечен сайт" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "Невалидно име на кофа" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "Исканото сравнение на таблицата (%1$s) не е налично - промяна на %2$s." msgstr[1] "Заявените сравнения на таблици (%1$s) не са налични - промяна на %2$s." #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "Вашият избор на замяна" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "Вместо това можете да изберете друго подходящо сравнение и да продължите с възстановяването (на свой собствен риск)." #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "Сървърът за база данни, на който работи този сайт на WordPress, не поддържа сравнението (%s), използвано в базата данни, която се опитвате да импортирате." msgstr[1] "Сървърът за база данни, на който работи този сайт на WordPress, не поддържа множество сравнения (%s), използвани в базата данни, която се опитвате да импортирате." #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "Опции за възстановяване на база данни:" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "Това изглежда като миграция (архивирането е от сайт с различен адрес/URL адрес, %s)." #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "Префикс %s" #: src/addons/azure.php:696 msgid "%s Container" msgstr "%s Контейнер" #: src/addons/azure.php:694 msgid "%s Key" msgstr "%s Ключ" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "%s Име на акаунт" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "Вашият .htaccess има стара препратка към сайт на номер %s. Трябва да го премахнете ръчно." msgstr[1] "Вашият .htaccess има стари препратки към сайтове за номерата на редове %s. Трябва да ги премахнете ръчно." #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "Исканият набор от знаци на таблицата (%s) липсва - промяна в %s." #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "Вместо това избраният от вас набор от знаци:" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "Вместо това можете да изберете друг подходящ набор от символи и да продължите с възстановяването на свой собствен риск." #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "Сървърът за база данни, на който работи този сайт на WordPress, не поддържа набора от знаци (%s), който се опитвате да импортирате." msgstr[1] "Сървърът за база данни, на който работи този сайт на WordPress, не поддържа наборите от знаци (%s), които се опитвате да импортирате." #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "Следващ" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "Моля въведете валиден адрес - пример http://example.com" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "някои / път" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "Име на кофа" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "Път до архива" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "Ключ за приложение" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "тук" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "Получаване на тези настройки от %s или регистриране на %s." #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "Ключ за Акаунта" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "Акаунт ID" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "Този архивен набор е на този сайт, но по време на архивирането, който сте използвали %s, докато сайтът сега използва %s." #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "За да де-оторизиране UpdraftPlus (всички сайтове) да получите достъп до google диск, следвайте този линк към настройките на профила си в Google." #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "Следвайте тази връзка, за да премахнете тези настройки за %s." #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "Възникнала е PHP фатална грешка (%s): %s" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "Възникна изключение от PHP (%s): %s" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "Югоизточна Австралия" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "Югоизточна Азия" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "Североизточна Азия" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "Удостоверяване за отдалечено съхранение" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "Мрежа и многостранна" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "Мигретор" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "Допълнително съхранение" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "Отдалечено съхранение" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "Избиране на файл" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "Файлове в облака" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "UpdraftVault" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "архив" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "Допълнителна база данни" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "Натиснете тук, за да изтеглите или прегледате" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "Грешка: невалиден път" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "Възникна грешка при извличане на опциите на модула за съхранение: " #: src/admin.php:1038 msgid "Loading log file" msgstr "Зареждане на регистрационен файл" #: src/admin.php:1036 msgid "Search" msgstr "Търсене" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "Изберете файл, за да видите информация за него" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "Преглеждане на zip файл" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "С UpdraftPlus Premium можете директно да изтеглите отделни файлове от тук." #: src/admin.php:944 msgid "Browse contents" msgstr "Преглед на съдържанието" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "Пропуснати таблици:" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "С UpdraftPlus Premium можете да изберете да архивирате не WordPress таблици, архивиране само определени таблици и архивиране на други бази данни също." #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "Всички WordPress таблици ще бъдат архивирани." #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "Допълнителна информация може да бъде намерена в браузъра JavaScript конзолата и сървър PHP грешки регистрационни файлове." #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "Че се опитвате да качите zip файл, създаден преди това от UpdraftPlus." #: src/admin.php:1033 msgid "The available memory on the server." msgstr "Наличната памет на сървъра." #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "Всички настройки във файла .htaccess или web.config, които засягат максималния размер на качване или публикуване." #: src/admin.php:1032 msgid "HTTP code:" msgstr "HTTP код:" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "Избрахте да архивирате база данни, но не са избрани таблици" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "таблици" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "База данни на WordPress" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "Трябва да архивирате всички таблици, освен ако не сте експерт в рамките на базата данни на WordPress." #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "Намери още" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "UpdraftPlus има своя собствена вградена опция за съхранение, осигуряваща нулева караница начин да изтеглите, съхранявате и управлявате всички ваши архиви от едно място." #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "UpdraftPlus Обиколка" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "Заключване на достъпа до UpdraftPlus чрез парола, така че да изберете кои администратор потребители могат да имат достъп до архиви." #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "Някои резервни плъгини не могат да възстановят резервно копие, така че Premium ви позволява да възстановите архиви от други плъгини." #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "Вносител" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "Почиствайте нещата за клиенти и премахнете всички реклами за другите ни продукти." #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "Няма реклами" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "Усъвършенствани възможности за отчитане и изпращане на имейли." #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "Шифроване на вашите поверителни бази данни (напр. информация за клиенти или пароли); Архивиране на външни бази данни също." #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "Още опции за база данни" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "Задайте точното време, за да създавате или изтривате архиви." #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "Време за архивиране и планиране" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "Архивиране на WordPress многосайтове (т.е. мрежи), сигурно." #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "Мрежа / многостранна" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "Архивиране на WordPress ядро и не WP файлове и бази данни." #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "Автоматично архивира уебсайта ви, преди да се актуализират плъгини, теми и wordPress ядро." #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "Архиви за предварителна актуализация" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "Предоставя експертна помощ и поддръжка от разработчиците, когато имате нужда от нея." #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "Бърза, лична поддръжка" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "UpdraftPlus Migrator клонира вашия WordPress сайт и го премества директно и просто към нов домейн." #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "Клониране и миграция" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "Допълнителни и подобрени местоположения за отдалечено съхранение" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "Архивиране в отдалечени места за съхранение" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "Надстройте сега" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "Инсталирано" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "Безплатно" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "UpdraftPlus" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "Препоръчва се: оптимизирайте базата си данни с WP-Optimize." #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "Прочети повече" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "След като архивирате вашата база данни, ви препоръчваме да инсталирате нашата WP-Optimize плъгин, за да го рационализират за по-добра ефективност на уебсайта." #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "Изберете файл или директория" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "Потвърждаване" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "Качи се на директория" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "Добавяне на директория..." #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "Редактирай" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "Ако го използвате, изберете път от дървото на директориите по-долу и след това натиснете потвърждаване на избора." #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "Европа (Франкфурт)" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "Европа (Лондон)" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "Европа (Ирландия)" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "UpdraftCentral" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "забележите изображение" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "Върни се назад" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "Регистрация" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "Вземи премиум" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "Преглед на UpdraftPlus" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "Вземи updraftCentral" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "Модули Apache" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "Блог updraftPlus - актуални новини и оферти" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "Бюлетин на UpdraftPlus" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "Контролирайте всички ваши Инсталации на WordPress от едно място, като използвате UpdraftCentral дистанционно управление на сайта!" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "Използвате updraftPlus на няколко сайта?" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "UpdraftCentral е високо ефективен начин за управление, актуализиране и архивиране на множество уеб сайтове от едно място." #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "Въвеждане на UpdraftCentral" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "лесно мигриране или клониране на вашия сайт за минути" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "Добавете SFTP, за да изпращате данните си сигурно, да заключвате настройките и да шифровате архивите на базата данни за допълнителна сигурност." #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "защита на резервните копия" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "Защитено многостранно инсталиране, разширено докладване и много други." #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "показване на разширените опции" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "разширени опции за отдалечено съхранение" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "Най-сигурна и удобна място за съхранение на вашите архиви." #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "UpdraftVault съхранение" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "Насладете се на професионална, бърза и приятелска помощ, когато имате нужда от нея с Premium." #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "UpdraftPlus Премиум:" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "Размер на сайта" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "Заключване на настройките" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "Информация за сайта" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "За възможността да мигрирате уеб сайтове, преминете към UpdraftPlus Premium." #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "Импортиране на настройки" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "Експортиране на настройки" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "включително всички пароли" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "Експортиране / импортиране на настройки" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "Таблица за обработка (%s)" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "Архивиране на: %s" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "%s де-удостоверяване" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "Трябва да добавите следното като URI на оторизирано пренасочване в конзолата на Dropbox (под \"Настройки на API\") при запитване" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "Ако не, ще трябва или да премахнете данни от тази таблица, или да се свържете с вашата хостинг компания, за да поискате повече ресурси." #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "Избрали сте опция за отдалечено съхранение, която има стъпка за удостоверяване, за да завършите:" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "Отдалечени файлове изтрити:" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "Изтрити локални файлове:" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "Следвайте тази връзка, за да разрешите достъпа до вашия %s акаунт (няма да можете да архивирате в %s без него)." #: src/admin.php:1031 msgid "remote files deleted" msgstr "отдалечените файлове изтрити" #: src/admin.php:1027 msgid "Complete" msgstr "Завършен" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "Искате ли да извършите импортирането?" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "Който е изнесен на:" #: src/admin.php:1024 msgid "This will import data from:" msgstr "Това ще импортира данни от:" #: src/admin.php:1023 msgid "Importing..." msgstr "Добавяне..." #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "Все още не сте избрали файл за импортиране." #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "Експортираният файл ще бъде на показаните настройки, а не на запазените." #: src/admin.php:99 msgid "template not found" msgstr "шаблонът не е намерен" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "Сащ Изток (Охайо)" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "Акаунтът не е разрешен (%s)." #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "Вашият IP адрес:" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "За да премахнете всеки блок, моля, отидете тук." #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "Получи се отговор на грешка; HTTP код:" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "%s добавката не е намерена" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "или да възстановите ръчно" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "За да решите този проблем, отидете тук." #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "OptimizePress 2.0 кодира съдържанието му, така че търсенето/замяната не работи." #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "php инсталацията ви липсва модулът openssl; в резултат на това това може да отнеме минути; ако нищо не се е случило до тогава, тогава трябва да опитате по-малък размер на ключа или да попитате уеб хостинг компанията как да активирате този PHP модул на вашата настройка." #: src/addons/webdav.php:437 msgid "Path" msgstr "Път" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "Оставете това празно, за да използвате по подразбиране (80 за webdav, 443 за webdavs)" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "Въведете пътя в полето по-долу." #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "Името на хоста не може да съдържа наклонена черта." #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "Протокол (SSL или не)" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "Ключът за достъп AWS изглежда грешен (валидните %s клавиши за достъп започват с \"AK\")" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "Не са намерени настройки - моля, отидете в раздела Настройки и проверете настройките си" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "Архивиране с използване на %s?" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "Азия Пасифик (Мумбай)" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "Стандарт (рядък достъп)" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "ЧЗВ" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "Грешка при отваряне на директорията (проверете разрешенията за файлове и собствеността): %s" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "%s: нечетим файл - не можа да бъде архивиран (проверете разрешенията за файла и собствеността)" #: src/addons/migrator.php:563 msgid "Create key" msgstr "Създаване на ключ" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "по-бавна, най-силна" #: src/addons/migrator.php:559 msgid "recommended" msgstr "препоръчва" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "%s байта" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "по-бързо (възможност за бавни PHP инсталации)" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "%s бита" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "Размер на шифроващия ключ:" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "Въведете избраното от Вас име" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "Създайте ключ: дайте на този ключ уникално име (напр. посочете сайта, за който е), след което натиснете \"Създаване на ключ\":" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "Качването се очаква да е неуспешно: ограничението %s за всеки отделен файл е %s, докато този файл е %s GB (%d байта)" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "Това понякога се дължи на защитна стена - опитайте да изключите SSL в експертните настройки и отново да тествате." #: src/methods/ftp.php:438 msgid "login" msgstr "вход" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "Имайте предвид, че пощенски сървъри са склонни да имат ограничения за размера; обикновено около %s МБ; резервни копия, по-големи от всички ограничения, най-вероятно няма да пристигнат." #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "Размер: %s МБ" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "Трябва да разрешите на %s да направи всички доста пермалин връзки (напр. %s) да работят" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "(натиснете икона, за да изберете или отмените избора)" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "%s на година" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "или (годишна отстъпка)" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "Не е намерена връзка с трезора за този сайт (преместил ли се е?); свържете отново." #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "Файлът не е намерен или не може да бъде прочетен." #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "Архивирането е прекратено от потребителя" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Настройките ви са записани." #: src/admin.php:4515 msgid "Total backup size:" msgstr "Общ размер на архива:" #: src/admin.php:3878 msgid "stop" msgstr "спиране" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "Архивирането завърши изпълнението" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "Изтриване на настройките" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "нулирай" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "тези резервни комплекти" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "този архивен комплект" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "изчисляване" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "Трябва да запишете промените си, за да сте сигурни, че те се използват за създаване на архива." #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "Поискахме да изтрие файла, но не може да разбере отговора на сървъра" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "Въведете валиден URL адрес" #: src/admin.php:976 msgid "Saving..." msgstr "Запазване..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "Грешка: сървърът ни изпрати отговор, който не разбираме." #: src/admin.php:926 msgid "Fetching..." msgstr "Извлича се..." #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "Азия Пасифик (Сеул)" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "URL адрес за качвания:" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "Необходимият php модул %s не е инсталиран - попитайте вашата уеб хостинг компания, за да го разреши." #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "За да импортирате обикновен WordPress сайт в многостранна инсталация, изисква %s." #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "Моля, прочетете този линк за важна информация за този процес." #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "Той ще бъде импортиран като нов сайт." #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Отхвърли" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "Моля, попълнете необходимата информация." #: src/addons/multisite.php:691 msgid "Read more..." msgstr "Прочетете повече..." #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "може да включва някои данни за целия сайт" #: src/addons/multisite.php:677 msgid "All sites" msgstr "Всички сайтове" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "Кой сайт да се възстанови" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "Грешка при създаване на нов сайт на избрания от вас адрес:" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "Необходимата информация за възстановяване на този архив не е дадена (%s)" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "Атрибут импортирано съдържание на потребител" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "Трябва да използвате малки букви или цифри само за пътя на сайта." #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "Тази функция не е съвместима с %s" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "Импортиране на един сайт в многостранна инсталация" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "друго съдържание от wp-съдържание" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "Ядро на WordPress" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "Избрали сте %s да бъде включен във възстановяването - това не може/ не трябва да се прави, когато импортирате един сайт в мрежа." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "Подкани за действие на WordPress:" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "Запазените настройки също влияят върху това, което се архивира – например изключени файлове." #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "Прескачане: този архив вече е възстановен." #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "Опции за файлове" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "Изпращане на резервно копие на отдалечено хранилище" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "График за архивиране на база данни" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "График за архивиране на файлове" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "Този бутон ще изтрие всички настройки на UpdraftPlus и информация за напредъка на архивите в момента (но не и някои от вашите съществуващи архиви от вашето място за съхранение в облака)." #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "Изпращане на този архив в отдалечено хранилище" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "Нямате ли някакво отдалечено хранилище?" #: src/admin.php:5530 msgid "settings" msgstr "настройки" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "Архивирането не може да бъде изпратено до отдалечено хранилище - нито едно не е записано в %s" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "Включване на файловете в архива" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "Включване на вашата база данни в архива" #: src/admin.php:3293 msgid "Continue restoration" msgstr "Продължаване на възстановяването" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "Имате незавършена операция по възстановяване, започнала е преди %s." #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "Недовършено възстановяване" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "%s минути, %s секунди" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "Съдържание и график за архивиране" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "Премиум / Разширения" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "Не можа да бъде намерена достатъчно информация за операцията за възстановяване в процес." #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "Изтегляне" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "Избрахте да архивирате файлове, но не са избрани обекти на файлове" #: src/admin.php:772 msgid "Extensions" msgstr "Добавки" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "Разширени инструменти" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "Местоположение на кофата" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "Имайте предвид, че Google не поддържа всеки клас на съхранение на всяко място - трябва да прочетете документацията им, за да научите за текущата наличност." #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "Тази настройка се прилага само когато се създава новото такова." #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "За всички потребители на %s трябва да използвате уникално име на кофа." #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "Не бъркайте %s с %s - те са отделни неща." #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "Нямате достъп до тази кофа" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "Западна Европа" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "Източна Азия и Тихоокеански регион" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "Западен САЩ" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "Източни Съединени щати" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "Централна АМЕРИКА" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "Европейски съюз" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "Азия Пасифик" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "местоположение на няколко региона" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "САЩ" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "Нелинейна линия" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "Трайна намалена наличност" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "Стандарт" #: src/addons/azure.php:700 msgid "container" msgstr "контейнер" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "Можете да въведете пътя на всяка виртуална папка %s, която искате да използвате тук." #: src/addons/azure.php:699 msgid "optional" msgstr "по избор" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "Вижте указанията на Microsoft за именуване на контейнери, като следвате тази връзка." #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "Въведете пътя на %s, който искате да използвате тук." #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "Това не е вашето влизане в Azure - вижте инструкциите, ако се нуждаете от повече насоки." #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "Лазурно" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "Създайте идентификационни данни в Azure в конзолата на разработчиците на Azure." #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "Контейнерът не може да бъде създаден" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "Не можа да бъде достъпен контейнер" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "За да завършите мигрирането/клонинга, сега трябва да влезете в отдалечения сайт и да възстановите архивния набор." #: src/backup.php:1901 msgid "the options table was not found" msgstr "таблицата с опции не е намерена" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "не са намерени опции или таблица sitemeta" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "Архивната директория не е записваема (или дисково пространство е пълно) - архивиране на базата данни се очаква да скоро неуспешно." #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "за някои доставчици на отдалечени" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Не е инсталиран" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "Клас на съхранение" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "Вижте указанията на Google за именуване на кофа, като следвате тази връзка." #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "Въведете името на кофата %s, която искате да използвате тук." #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "Кофа" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "В противен случай можете да го оставите празен." #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "Nb. Това е необходимо само ако не сте създали вече кофата, и искате UpdraftPlus да го създаде за вас." #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "Въведете ИД на проекта %s, който желаете да използвате тук." #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "Следвайте тази връзка към конзолата на Google API и активирате приаята памет и създайте Client ID в секцията достъп до API." #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "Трябва да въведете ИД на проект, за да можете да създадете ново кофа." #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "Проект ID" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "Трябва да запишете и да удостоверите, преди да можете да тествате настройките си." #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "Все още не сте получили маркер за достъп от Google - трябва да упълномощите или повторно да оторизирате връзката си с Google Cloud." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "Нямате достъп до тази кофа." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "Google Облак" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "%s Изключение за услуги." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "или да конфигурирате по-сложни графици" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "Сигурни ли сте, че искате да премахнете %s от UpdraftPlus?" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "Deselect" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "Избиране на всички" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "Действия при избрани архиви" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "Натиснете тук, за да разгледате методите за отдалечено съхранение за всички съществуващи комплекти за архивиране (от всеки сайт, ако се съхраняват в същата папка)." #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "Изтриват се резервните комплекти:" #: src/admin.php:1012 msgid "Processing..." msgstr "Обработка..." #: src/admin.php:1010 msgid "For backups older than" msgstr "За архиви, по-стари от" #: src/admin.php:1009 msgid "week(s)" msgstr "седмица (и)" #: src/admin.php:1008 msgid "hour(s)" msgstr "час(ове)" #: src/admin.php:1007 msgid "day(s)" msgstr "ден(дни)" #: src/admin.php:1006 msgid "in the month" msgstr "през месеца" #: src/admin.php:1005 msgid "day" msgstr "ден" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "(колкото искате)" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "Добавяне на допълнително правило за задържане..." #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "Тази база данни трябва да бъде разположена в MySQL версия %s или по-нова версия." #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "Този проблем се дължи на опит за възстановяване на база данни на много стара MySQL версия, която е несъвместима с базата данни източник." #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "Трябва да надстроите MySQL, за да можете да използвате тази база данни." #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "Архивирането на базата данни използва функциите на MySQL, които не са налични в старата версия на MySQL (%s), на която се изпълнява този сайт." #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "Не знаете имейл адреса си или не сте забравили паролата си?" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "Въведете вашия имейл адрес UpdraftPlus.Com тук, за да се свържете:" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "Прочетете често задаваните въпроси за %s тук." #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "Поставете отметка в това поле, за да използвате шифроването на сървъра на Amazon" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "Шифроване от страна на сървъра" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "Ако сте забравили паролата си, отидете тук, за да промените паролата си на updraftplus.com." #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "%s е избран за отдалечено хранилище, но в момента не сте свързани." #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "Плащанията могат да се извършват в щатски долари, евро или gb лири стерлинги, чрез карта или PayPal." #: src/admin.php:982 msgid "Update quota count" msgstr "Актуализиране на броя квоти" #: src/admin.php:981 msgid "Counting..." msgstr "Преброяване..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "Прекъсват..." #: src/admin.php:978 msgid "Connecting..." msgstr "Свързване..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "Обновяване на текущото състояние" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "Получете повече квота" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "Текуща употреба:" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "Можете да получите повече квота тук" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "Отписване" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "Квота:" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "Собственик на хранилище" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "Добре направено - няма нищо по-необходимо за настройка." #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "Отиди тук за помощ" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "Върни се назад..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "Абонаментите могат да бъдат анулирани по всяко време." #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "%s на тримесечие" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "Показване на разширените опции" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "Натиснете бутон, за да започнете." #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "Тока за тока" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "Изтриването е неуспешно:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "Машината за цип върна съобщението: %s." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "Без това разрешение UpdraftPlus не може да изтрие архивите - трябва да зададете настройките си за \"запазване\" много високо, за да не виждате грешки при изтриване." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "Разреши изтриване" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "Без това разрешение не можете директно да изтеглите или възстановите използването updraftPlus, а вместо това ще трябва да посетите сайта на AWS." #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "Разреши изтегляне" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "Ако изпращането директно от сайта към сайта не работи за вас, тогава има три други метода - моля, опитайте един от тях вместо това." #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "Трябва да проверите дали отдалеченият сайт е онлайн, не е защитен, няма модули за защита, които може да блокира достъпа, има updraftPlus версия %s или по-нова версия, и дали ключовете са въведени правилно." #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "Съществуващи ключове" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "Вашият нов ключ:" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "Ключът е създаден успешно." #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "Вече съществува ключ с това име; трябва да използвате уникално име." #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "Също така изпратете този архив на активните места за отдалечено съхранение" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "сайтът не е намерен" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "Резервните данни ще бъдат изпратени на:" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "Възстановяване на съществуващ архивен набор в този сайт" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "Този сайт няма архиви, които да се възстановяват от все още." #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "Архивирането е направено от %s" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "Този метод за съхранение не позволява изтегляне" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "(архивен комплект, импортиран от отдалечено местоположение)" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "Саит" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "Архивирането, изпратено до отдалечен сайт - не е достъпно за изтегляне." #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "Трябва да се уверите, че това наистина е резервен комплект, предназначен за използване на този сайт, преди да възстановите (вместо резервен набор от несвързани уеб сайтове)." #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "Този архивен набор не е известен от UpdraftPlus да бъде създаден от текущата инсталация на WordPress, но е бил или намерен в отдалечено съхранение, или е изпратен от отдалечен сайт." #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "Тестване на връзка..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "Изтриване..." #: src/admin.php:991 msgid "key name" msgstr "име на ключ" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "Моля, посочете име на този ключ (напр. посочете сайта за него):" #: src/admin.php:986 msgid "Creating..." msgstr "Създаване..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "Получаване на резервно копие от отдалечен сайт" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "Постави ключа тук" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "Как да получа ключ на сайт?" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "За да добавите сайт като дестинация за изпращане, въведете ключа на този сайт по-долу." #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "Изпращане на резервно копие на друг сайт" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "Изпрати" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "Изпрати в сайта:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "Все още не са добавени сайтове за получаване." #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "Той е за изпращане на резервни копия на следния сайт: " #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "Ключът е добавен успешно." #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "Въведеният ключ не принадлежи на отдалечен сайт (той принадлежи на този)." #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "Въведеният ключ е повреден - опитайте отново." #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "Въведеният ключ е с грешна дължина - опитайте отново." #: src/includes/class-remote-send.php:580 msgid "key" msgstr "ключ" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "Почти всички FTP сървъри ще искат пасивен режим; но ако имате нужда от активен режим, след това махнете отметката от това." #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "Пасивен режим" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "Отдалечен път" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "FTP парола" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "FTP вход" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "FTP сървър" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "UpdraftPlus Migrator променя операцията по възстановяване по подходящ начин, за да се поберат резервните данни към новия сайт." #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "\"Миграция\" в крайна сметка е същото като възстановяване - но с помощта на архиви, които импортирате от друг сайт." #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "Добавяне на сайт" #: src/admin.php:983 msgid "Adding..." msgstr "Добавяне..." #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "Не е предоставена претенция - може би вече сте използвали тази покупка някъде другаде, или платения ви период за изтегляне от updraftplus.com е изтекъл?" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "За да използвате това архивиране, вашият сървър за база данни трябва да поддържа набора от знаци %s." #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "за да промените паролата си на updraftplus.com." #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "Ако сте забравили паролата си " #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "Отидете тук, за да въведете отново паролата си." #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "След като натиснете този бутон, ще ви бъде дадена възможност да изберете кои компоненти" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "Направили сте промени в настройките си, а не записани." #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "N.B. %s не е чувствителен към малки и главни букви." #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "Ако OneDrive по-късно ви показва съобщението \"unauthorized_client\", тогава не сте въвели валиден клиентски ИД тук." #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "За по-дълго помощ, включително екранни снимки, следвайте тази връзка." #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "Създаване на идентификационни данни за OneDrive в конзолата за разработчици на OneDrive." #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "Трябва да добавите следното като оторизиран URI за пренасочване в конзолата на OneDrive (под \"Настройки на API\"), когато бъдете" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "неуспешно удостоверяване:" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "OneDrive" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "Моля, ре-оторизирайте връзката към вашият %s акаунт." #: src/methods/email.php:110 msgid "configure it here" msgstr "конфигурирате тук" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "За да премахнете блока, моля, отидете тук." #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "Не забравяйте да запазите настройките си." #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "Сега използвате IAM потребителски акаунт за достъп до вашата кофа." #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "S3 кофа" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "Китай (Пекин) (ограничен)" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "Азия Пасифик (Токио)" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "Азия Пасифик (Сидни)" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "Азия Пасифик (Сингапур)" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "Правителството на САЩ Запад (ограничено)" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "Западен САЩ (Н. Калифорния)" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "Запад (Орегон)" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "S3 област за съхранение" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "Ново IAM потребителско име" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "Таен ключ на администратор" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "Администраторски достъп" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "След това тези идентификационни данни за достъп с по-ниска мощност може да се използва, вместо да се съхраняват вашите административни ключове." #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "Те ще се използват за създаване на нова двойка потребители и ключове с IAM приложени правила, които ще му позволят достъп само до посочената група." #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "Въведете вашия административен достъп / тайни ключове на Amazon S3 (това трябва да бъде двойка ключове с достатъчно права за създаване на нови потребители и кофи), и ново (уникално) потребителско име за новия потребител и име на кофа." #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "Създаване на нова IAM потребителска и S3 кофа" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "Таен ключ: %s" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "Ключ за достъп: %s" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "Неуспешно прилагане на правилата за потребителя" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "Неуспешна операция за създаване на ключ за достъп на потребителя" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "Операцията IAM е неуспешна (%s)" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "Конфликт: този потребител вече съществува" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "AWS удостоверяването е неуспешно" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "Трябва да въведете кофа" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "Трябва да въведете ново IAM потребителско име" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "Трябва да въведете таен ключ на администратор" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "Трябва да въведете администраторски ключ за достъп" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "Ако имате потребител на AWS администратор, можете да използвате този съветник за бързо създаване на нов потребител AWS (IAM) с достъп само до тази кофа (а не целия ви акаунт)" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "Това най-вероятно означава, че споделяте уеб сървър с хакнат уеб сайт, който е бил използван при предишни атаки." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "Изглежда, че IP адресът на вашия уеб сървър (%s) е блокиран." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "UpdraftPlus.com е отговорил с \"Достъпът е отказан\"." #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "Първокласни WooCommerce плъгини" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "Безплатна двуфактомна сигурност плъгин" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "Повече качествени приставки" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus Премиум" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "Отхвърляне (за %s месеца)" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "(в същото време като архивиране на файлове)" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "Архивирането не е завършено" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "Абониране за бюлетин" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "Следвайте този линк, за да се регистрирате за бюлетина UpdraftPlus." #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "Архивиране на файлове и бази данни, които не са на WordPress" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "Задайте въпрос преди продажбата" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "ЧЗВ преди продажбата" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "Пълен списък с функции" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Архивиране (където е уместно) плъгини, теми и база данни на WordPress с UpdraftPlus преди да се актуализира" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "%s Грешка: Не може да се инициализира" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "или" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "PKCS1 (PEM заглавие: BEGIN RSA private KEY), ключове за XML и Putty формат се приемат." #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "наемател" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "Това трябва да бъде URI за удостоверяване v2 (keystone) ; v1 (Swauth) не се поддържа." #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "администраторски адрес на сайта Ви" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "Поставете отметка в това квадратче, за да изпратите базова справка" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "Ръчна" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "Възникна грешка (%s):" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "Промяна на настройките за заключване" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "Всеки друг файл/директория на вашия сървър, който искате да архивирате" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "За още повече функции и лична поддръжка проверете " #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "Фраза за дешифриране на база данни" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "Автоматично архивиране преди актуализация" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "Ядро на WordPress (само)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "За да отключите поддръжка, моля, свържете се с този, който управлява UpdraftPlus за вас." #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "За достъп до настройките на UpdraftPlus, моля въведете паролата си за отключване" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "Неправилна парола" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "Отключване" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "В противен случай ще се покаже връзката по подразбиране." #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "Всеки, който вижда екрана при заключване, ще бъде показан за поддръжка на този URL адрес - въведете адрес на уеб сайт или имейл адрес." #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "URL адрес за поддръжка" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "Изисквай парола отново след" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "%s седмици" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "1 седмица" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "%s часа" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "1 час" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "Моля, уверете се, че сте направили бележка на паролата!" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "Заключване на достъпа до страницата с настройки на UpdraftPlus" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "Администраторската парола е променена." #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "Зададена е парола на администратор." #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "Паролата на администратора вече е премахната." #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "(научете повече за този важен вариант)" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "Имайте предвид, че след като сте заявили добавките си, можете да премахнете паролата си (но не и имейл адреса) от настройките по-долу, без това да засяга достъпа на този сайт до актуализации." #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "Преглед на регистрационен файл" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "Архивиране на данни (щракнете, за да изтеглите)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "Дата на архивиране" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "и да запазите този много планирани архиви" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "постъпково резервно копие; базово архивиране: %s" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "За възможността да се заключи достъп до UpdraftPlus настройки с парола, ъпгрейд до UpdraftPlus Premium." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "Качване на файлове в UpdraftPlus." #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "Бутонът \"Архивиране сега\" е деактивиран, тъй като директорията ви за архивиране не е записваема (отидете в раздела \"Настройки\" и намерете съответната опция)." #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "Етикет за архивиране:" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "Грешка: неочакван файл четене е неуспешно" #: src/backup.php:4389 msgid "check your log for more details." msgstr "проверете регистрационния си файл за повече подробности." #: src/backup.php:4385 msgid "A zip error occurred" msgstr "Грешка в zip файла" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "Вашият етикет за това архивиране (по избор)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "Въведохте имейл адрес, който не е разпознат от UpdraftPlus.Com" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "Имейл адресът ви е валиден, но паролата ви не е разпозната от UpdraftPlus.Com." #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "Трябва да предоставите както имейл адрес, така и парола" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "Ако искате да възстановите многостранен архив, първо трябва да настроите wordPress инсталацията като многостранна." #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "вече е направено" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "прескочи (не в списъка)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "Търсене и заместване на таблица:" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "Въведете списък, разделен със запетая; в противен случай оставете празно за всички таблици." #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "Тези таблици само" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "Редове на партида" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "Все още не сте се свързали с вашия UpdraftPlus.Com акаунт." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "Трябва да се свържете, за да получавате бъдещи актуализации на UpdraftPlus." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "Всички заявки за поддръжка, свързани с %s, трябва да бъдат повдигнати с вашата уеб хостинг компания." #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "Това е значително по-нова от сървъра, на който се възстановява (версия %s)." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "UpdraftPlus е в социалните медии - вижте ни!" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "Защо виждам това?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "Местоположението на тази директория е зададено в експертните настройки в раздела Настройки." #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "Натиснете тук, за да погледнете в updraftPlus директорията си (във вашето уеб хостинг пространство) за всички нови резервни комплекти, които сте качили." #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "Стартиране на архивиране" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "Използвате уеб сървър %s, но изглежда не е зареден модулът %s." #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "Ще трябва да се консултирате с вашия доставчик на уеб хостинг, за да разберете как да зададете разрешения за WordPress плъгин, за да пишете в директорията." #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "Освен ако нямате проблем, можете напълно да игнорирате всичко тук." #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "Този файл не може да бъде качен" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "Повече информация за това ще намерите в раздела Настройки." #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "Поддържани приставки за архивиране: %s" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "Това резервно копие ли е създадено от друг резервен плъгин? Ако е така, тогава може да се наложи първо да го преименувате, така че да може да бъде разпознат - моля, следвайте тази връзка." #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "Кажете ми повече за допълнителните резервни копия" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "Ограничение на паметта" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "възстановяване" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "Допълнителни" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "Пълно архивиране" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "сега ще продължим с актуализациите..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(преглед на лог...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "Архивирането е успешно" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "На всеки %s часа" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "търсене и замяна" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Напред" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "Търсенето/замяната не може да бъде отменено – сигурни ли сте, че искате да направите това?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "Това може лесно да унищожи сайта ви; така че, да го използвате внимателно!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "Замяна с" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "Търсене за" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "Търсене / заместване на база данни" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "търсене термин" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "Възникнаха твърде много грешки в базата данни - прекратяване на" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "повече на %s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "Имейл доклади, създадени от UpdraftPlus (безплатно издание) ви носят най-новите новини за UpdraftPlus.com" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "Nb. Ако инсталирате UpdraftPlus на няколко WordPress сайтове, тогава не можете да използвате отново проекта си; трябва да създадете нов от конзолата си за API на Google за всеки сайт." #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "Все още не сте направили никакви резервни копия." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "Опции за база данни" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (използван е%s)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "Свободно място на диска в акаунта:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "Този бутон е забранен, защото директорията за архивиране не е записваема (вижте настройките)." #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "За да промените някоя от настройките по подразбиране на това, което се архивира, за да конфигурирате планирани архиви, да изпратите архивите си на отдалечено хранилище (препоръчително) и други, отидете в раздела \"Настройки\"." #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "За да направите резервно копие, просто натиснете бутона Архивиране сега." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "Добре дошли в UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "Тестване..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "Тест на връзката..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "Префикс на таблица" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "Архивиране на външна база данни" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "Добавяне на външна база данни за архивиране..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "Ако вашата база данни включва допълнителни таблици, които не са част от този WordPress сайт (ще знаете дали това е така), след това активирайте тази опция, за да ги архивирате." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "Резервни не-WordPress таблици, съдържащи се в същата база данни като WordPress" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "Тази опция ще доведе до създаване на резервно копие на таблиците, съхранявани в MySQL базата данни, които не принадлежат на WordPress (идентифицирани от липсващия конфигуриран представка за WordPress, %s), също да бъдат архивирани." #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "Връзката е неуспешна." #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "Връзката е успешна." #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "Намерени %s са всички таблици; %s с посочения префикс." #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "Намерени са %s таблица." #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "неуспешен опит за свързване на база данни" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "име на база данни" #: src/addons/moredatabase.php:115 msgid "host" msgstr "домакин" #: src/addons/moredatabase.php:113 msgid "user" msgstr "потребител" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "Външна база данни (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "Следвайте тази връзка към конзолата ви на Google API и активирате прите интерфейса на устройството и създайте Клиентски идентификатор в секцията за достъп до API." #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "не можа да се получи достъп до родителска папка" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "Обаче неуспешни последващи опити за достъп:" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "Външна база данни" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "Това също ще доведе до отстраняване на грешки изход от всички плъгини, за да се покаже на този екран - моля не се изненадвайте, че тези." #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "Архивиране на още бази данни" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "Първо, въведете ключа за декриптиране" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "Тук можете ръчно да дешифрирате шифрована база данни." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "Той може да архивира и външни бази данни." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "Не искаш да те шпионират? UpdraftPlus Premium може да криптира архива на базата данни." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "използване на UpdraftPlus Premium" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "Само базата данни на WordPress може да бъде възстановена; трябва да се справите с външната база данни ръчно." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "Възникна грешка в първата команда %s - прекъсване на изпълнение" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "Връзката е неуспешна: проверете данните за достъпа, дали сървърът на базата данни е нагоре и че мрежовата връзка не е защитна стена." #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "неуспешен опит за свързване с база данни." #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "Предупреждение: домашният URL адрес на базата данни (%s) е различен от очаквания от нас (%s)" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "В %s имената на пътищата са чувствителни към малки и главни букви." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "Ако го оставите празно, архивът ще бъде поставен в главната директория на %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "например%s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "Въведете пътя до папката %s, която искате да използвате тук." #: src/methods/openstack2.php:257 msgid "Container" msgstr "Контейнер" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "Оставете това празно и ще бъде избрана по подразбиране." #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "Наемател" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "Следвайте тази връзка за повече информация" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "URI за удостоверяване" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "Неуспешно изтегляне на %s" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "Неуспешно изтегляне" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "неуспешно изброяване на файлове" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "Неуспешно качване на %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "Готово:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "След като сте записали настройките си (като кликнете върху \"Запиши промените\" по-долу), се върнете тук веднъж и следвайте тази връзка, за да завършите удостоверяването с %s." #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "Удостоверяване с %s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "Грешка при изтегляне на отдалечен файл: Неуспешно изтегляне" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "Регион: %s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "%s грешка - достъп до контейнера, но не успяхме да създадем файл в него" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "Не е открит %s обект" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "Не може да се осъществи достъп до контейнера %s" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "%s грешка - не успя да влезе в контейнера" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "Име на собственика на акаунта: %s." #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "За да можете да зададете персонализирано име на папка, използвайте UpdraftPlus Premium." #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "Това е идентификационен номер в Google Диск" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "Това не е име на папка." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "Папка" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "%s изтегляне: не е успешно: файлът не е намерен" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "Име: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "Файловете на списъка с Google Диск: не са успели да получат достъп до родителската папка" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "Вашата версия %s: %s." #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "Ще трябва да поискате от вашата уеб хостинг компания да надстроите." #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "Този метод за отдалечено съхранение (%s) изисква PHP %s или по-нова версия." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "Обаждане" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "Донесе" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "Този компонент изисква версия %s %s или по-нова версия" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "Неуспешно разопаковане на архива" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "Грешка - не успя да изтеглите файла" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "Преименувай локалната папка за нови комплекти за архивиране" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "Трябва да актуализирате UpdraftPlus, за да се уверите, че имате версия, която е тествана за съвместимост." #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "Тестван е до версия %s." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "Инсталираната версия на UpdraftPlus backup/Restore не е тествана на вашата версия на WordPress (%s)." #: src/addons/sftp.php:646 msgid "password/key" msgstr "парола/ключ" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "Ключ" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "Вашето потребителско име може да е или с парола, или ключ- трябва само да въведете едно, а не и двете." #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "Предоставеният ключ не е във валиден формат или е повреден." #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "SCP/SFTP парола/ключ" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "Архивиране на файлове (създадено от %s)" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "Архивни файлове и база данни на WordPress (създадени от %s)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "Архивирането е създадено от: %s." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "База данни (създадена от %s)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "неизвестен източник" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "Повторно сканиране на отдалечено хранилище" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Качване на архивни файлове" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "Това архивиране е създадено от %s и може да бъде импортирано." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "Прочетете тази страница за ръководство за възможните причини и как да го поправите." #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "Ако това е резервно копие, създадено от друг резервен плъгин, updraftPlus Premium може да е в състояние да ви помогне." #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "Въпреки това, UpdraftPlus архивите са стандартни ZIP / SQL файлове - така че ако сте сигурни, че файлът ви има правилния формат, можете да го преименувате, за да съответства на този модел." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "Този файл не изглежда да бъде Backup архив UpdraftPlus (такива файлове са .zip или .gz файлове, които имат име като: backup_(time)__(име на сайта) _(код)__(тип).( (напр. цип|gz))." #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "Архивирането, създадено от неизвестен източник (%s) - не може да бъде възстановено." #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "Папката със съдържание на WordPress (wp-съдържание) не е намерена в този zip файл." #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "Тази версия на UpdraftPlus не знае как да се справи с този тип чуждестранен архив" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "%s върна неочакван HTTP отговор: %s" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "Модулът UpdraftPlus за този метод за достъп до файлове (%s) не поддържа списък на файлове" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "Не са намерени настройки" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "Едно или повече архиви са добавени от сканирането за отдалечено съхранение; имайте предвид, че тези архиви няма да бъдат автоматично изтрити чрез настройките за \"запазване\"; ако/, когато искате да ги изтриете, трябва да го направите ръчно." #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "Повторно сканиране на отдалечено и локално хранилище за резервни комплекти..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "Прочети повече" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "Влезте всички съобщения в syslog (само администраторите на сървъра вероятно искат това)" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "Няма резервно копие на местоположението: не е намерено нищо за архивиране" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "Премахни" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "Други често задавани въпроси за %s." #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "Проверете това, за да получите повече информация и имейли за процеса на архивиране - полезно, ако нещо се обърка." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "Вашата хостинг компания трябва да разреши тези функции, преди %s да може да работи." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "PHP инсталацията на вашия уеб сървър е забранена: %s." #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "криптиран FTP (изрично шифроване)" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "криптиран FTP (подразбиращ се шифроване)" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "редовен нешифрован FTP" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "Архивиране, създадено от:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "Налични за предявяване на претенция на този сайт" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "За да поддържате достъпа си до поддръжка, моля подновите." #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "Вашият платен достъп до поддръжката на UpdraftPlus скоро ще изтече." #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "За да си възвърнете достъпа, моля подновите." #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "Платеният ви достъп до поддръжката на UpdraftPlus е изтекъл." #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "Вашият платен достъп до актуализациите на UpdraftPlus за този сайт скоро ще изтече." #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "За да запазите достъпа си и да поддържате достъп до актуализации (включително бъдещите функции и съвместимост с бъдещите версии на WordPress) и поддръжка, моля поднови." #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "Вашият платен достъп до актуализациите на UpdraftPlus за %s на добавките %s на този сайт скоро ще изтече." #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "Платеният ви достъп до актуализациите на UpdraftPlus за %s добавките на този сайт е изтекъл." #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "За да си възвърнете достъпа до актуализации (включително бъдещите функции и съвместимост с бъдещите версии на WordPress) и поддръжка, моля поднови." #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "Отхвърляне от главното табло (за %s седмици)" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "Опитът за отмяна на двойното компресиране е успешен." #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "Опитът за отмяна на двойното компресиране е неуспешен." #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "Файлът на базата данни изглежда е компресиран два пъти - вероятно сайтът, който сте го изтеглили, е конфигуриран погрешно уеб сървър." #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "Константи" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "Грешка при отваряне на файла на базата данни за четене:" #: src/backup.php:1645 msgid "No database tables found" msgstr "Не са намерени таблици от база данни" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "моля изчакайте пренасрочвания опит" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "Акаунтът е пълен: вашият %s акаунт има само %d байта, но файлът, който трябва да бъде качен, има %d байта (общ размер: %d байта)" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "Възникнаха грешки:" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "Следвайте тази връзка, за да изтеглите регистрационния файл за това възстановяване (необходим за всички заявки за поддръжка)." #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "Вижте и този ЧЗВ." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "Извличане (ако е необходимо) и подготовка на архивни файлове..." #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "Времето, позволено за WordPress плъгини, които да се изпълняват, е много ниско (%s секунди) - трябва да го увеличите, за да се избегнат грешки в архивирането поради времето за изчакване (консултирайте се с уеб хостинг компанията за повече помощ - това е настройката на max_execution_time PHP; препоръчителната стойност е %s секунди или повече)" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "Забранено е разширението: %s: активирайте го отново ръчно, когато сте готови." #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "Времето за връзка %s изтече; ако сте въвели сървъра правилно, то това обикновено се дължи на защитна стена, блокираща връзката - трябва да проверите с вашата уеб хостинг компания." #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "Съобщения:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "Беше намерен SQL ред, който е по-голям от максималния размер на пакета и не може да бъде разделен; този ред няма да бъде обработен, но ще бъде премахнат: %s" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "Директорията не съществува" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "Имейл адрес на нов потребител" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "Ново потребителско име" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "АПИ ключ за администратор" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "Потребителско име на администратор" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "Сащ или Uk Rackspace акаунт" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "Въведете потребителското си име/ КЛЮЧ за API на Rackspace (така че Rackspace да удостовери вашето разрешение за създаване на нови потребители) и въведете ново (уникално) потребителско име и имейл адрес за новия потребител и име на контейнер." #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "Създаване на нов потребител и контейнер за API" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "API ключ: %s" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "Парола: %s" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "Потребител: %s" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "Операцията за файлове в облака е неуспешна (%s)" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "Конфликт: този потребител или имейл адрес вече съществува" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "Трябва да въведете валиден нов имейл адрес" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "Трябва да въведете контейнер" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "Трябва да въведете ново потребителско име" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "Трябва да въведете ключ за api на администратор" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "Трябва да въведете потребителско име на администратор" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "Създаване на нов потребител на API с достъп само до този контейнер (а не целия ви профил)" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "Контейнер за файлове в облака" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "Клавиш за API за файлове в облака" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "Потребителско име на файловете в облака" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "Лондон (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "Хонконг (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "Северна Вирджиния (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "Чикаго (ОРИЕНТА)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "Сидни (СИД)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "Далас (DFW) (по подразбиране)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "Регион за съхранение на файлове в облака" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "Сметките, създадени на rackspacecloud.com са в САЩ; rackspace.co.uk са базирани на" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "В САЩ или великобритания акаунт в Rackspace" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "Създадените на rackspacecloud.com акаунти са американски акаунти; rackspace.co.uk са сметките в Обединеното кралство." #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "Неуспешно разрешение (проверете вашите идентификационни данни)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "Възникна неизвестна грешка при опит за свързване с UpdraftPlus.Com" #: src/admin.php:965 msgid "Create" msgstr "Създаване" #: src/admin.php:925 msgid "Trying..." msgstr "Опитва..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "Паролата на новата конзола RackSpace на потребителя е (това няма да се показва отново):" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "Данни за грешка:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "Архивирането не съществува в хронологията на архивирането" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "Разделяне на линия, за да се избегне превишаване на максималния размер на пакета" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "Не може да се преместят старите файлове по пътя." #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "Да се махна от пътя..." #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "Добавяне на друг адрес..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "Въведете адреси тук, за да им изпратите отчет, когато заданието за архивиране завърши." #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "%s контролна сума: %s" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "файлове: %s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "Използвайте секцията \"Отчитане\", за да конфигурирате имейл адресите, които ще се използват." #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "Информация за отстраняване на грешки" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "Kачени в:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "Време:" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "Предупреждения" #: src/addons/reporting.php:223 msgid "Errors" msgstr "Грешки" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "Грешки / предупреждения:" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "Съдържание:" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "Архивиране започна:" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "Отчет за архивиране" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "%d часа, %d минути, %d секунди" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "%d грешки, %d предупреждения" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "Удостоверяване на %s" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "%s грешка: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "Емблема на %s" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "не връща очаквания отговор - проверете регистрационния файл за повече подробности" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "Необходимият PHP модул %s не е инсталиран - попитайте вашата уеб хостинг компания, за да го разреши" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "Ще бъде използван администраторския имейл адрес на вашия сайт (%s)." #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "Свързване" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(версия: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "Имайте предвид, че пощенски сървъри са склонни да имат ограничения за размера; обикновено около %s Мб; резервни копия, по-големи от всички ограничения, най-вероятно няма да пристигнат." #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "Последно състояние:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "Архивирането съдържа:" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "Резервно копие: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "Регистрационният файл е прикачен към този имейл." #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "Неизвестна/неочаквана грешка - моля, повдигнете заявка за поддръжка" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "Само за база данни (файловете не са част от този конкретен график)" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "База данни (архивирането на файлове не е завършено)" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "Само файлове (базата данни не е част от този конкретен график)" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "Файлове (архивирането на базата данни не е завършено)" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "Файлове и база данни" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "(Това важи за всички WordPress резервни плъгини, освен ако те са изрично кодирани за многостранна съвместимост)." #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "Без да се обновява, UpdraftPlus позволява на всеки администратор на блог, който може да променя настройките на плъгин за архивиране (и следователно достъп до данните, включително пароли, от) и възстановяване (включително с персонализирани модификации, например променени пароли) цялата мрежа." #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "Това е WordPress мулти-сайт (a.k.a. мрежова) инсталация." #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "Предупреждение за UpdraftPlus:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "(или се свържете чрез формуляра на тази страница, ако вече сте го закупили)" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "моля, следвайте тази връзка, за да актуализирате приставката, за да го активирате" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "моля, следвайте тази връзка, за да актуализирате плъгина, за да го получите" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "последни" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "Вашата версия: %s" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "Вие го имате" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "Поддръжка на UpdraftPlus" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "Актуализация, съдържаща добавките ви, е достъпна за UpdraftPlus - моля, следвайте този линк, за да го получите." #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "Добавки за updraftPlus" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "Налична е актуализация за UpdraftPlus - моля, следвайте този линк, за да го получите." #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "UpdraftPlus.Com отговори, но не можахме да го разберем" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "Имейл адресът и паролата ви не са разпознати от UpdraftPlus.Com" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "UpdraftPlus.Com върна отговор, който не може да се разбере (данни: %s)" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "UpdraftPlus.Com отговориха, но не разбирахме отговора" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "Неуспешно свързване с UpdraftPlus.Com" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "Репортаж" #: src/admin.php:5927 msgid "Options (raw)" msgstr "Опции (сурови)" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "Изпращане на отчет само когато има предупреждения/грешки" #: src/restorer.php:3052 msgid "Content URL:" msgstr "URL адрес на съдържание:" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "Трябва да проверите собствеността и разрешенията на файловете в wordPress инсталацията" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "Свободното пространство в хостинг акаунта ви е много ниско - остават само %s Mb" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "Размерът на паметта(RAM) разрешен за PHP е много малък (%s Mb) - трябва да я увеличите, за да избегнете грешки поради недостатъчна памет (консултирайте се с уеб хостинг компанията за повече помощ)" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "Управление на добавки" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "Купи го" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "Вземете го от UpdraftPlus.Com Store" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "активиране на този сайт" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "Имате неактивна покупка" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "Присвоен на този сайт" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "Наличен за този сайт (чрез вашата покупка на всички добавки)" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "(очевидно предварително освобождаване или изтеглено издание)" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "Отидете тук" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "Трябва да получите подкрепа?" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "Възникна грешка при опит за извличане на добавките." #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "Искането не е предоставено - данните за влизане в профила ви са грешни" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "Моля, изчакайте, докато ние се заявя..." #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "Възникнаха грешки при опит за свързване с UpdraftPlus.Com:" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "Понастоящем не сте свързани към UpdraftPlus.Com акаунт." #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "Ако сте закупили нови добавки, следвайте тази връзка, за да обновите връзката си" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "В момента сте свързани към UpdraftPlus.Com акаунт." #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "Интересувате се от знаейки за вашата UpdraftPlus.Com парола за сигурност? Прочетете за това тук." #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "Забравили сте си детайлите?" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "Все още не е сметка (това е безплатно)? Иди да вземеш един!" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "Свързване с вашия акаунт за UpdraftPlus.Com" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "Изглежда, че имате инсталирана updraft плъгин остаряла - може би сте ги объркали?" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "Отидете тук, за да започнете да го инсталирате." #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "UpdraftPlus все още не е инсталиран." #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "Отидете тук, за да го активирате." #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "UpdraftPlus все още не е активиран." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "Отидете тук, за да се свържете." #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "Все още не сте се свързали с вашия акаунт за UpdraftPlus.Com, за да можете да изброите закупените от вас добавки." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "Без него криптирането ще бъде много по-бавно." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "Вашият уеб сървър не е инсталиран модул %s." #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "(Изглеждате вече удостоверени, въпреки че можете да удостоверите отново, за да опресните достъпа си, ако сте имали проблем)." #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "Пуснете архивни файлове тук" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "Уеб сървърът е върнал код на грешка (опитайте отново или проверете регистрационните файлове на уеб сървъра)" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "Ако изключите и двете база данни и файловете, тогава сте изключили всичко!" #: src/restorer.php:3046 msgid "Site home:" msgstr "Начална страница:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "Опции за отдалечено съхранение" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(трупи могат да бъдат намерени в updraftPlus настройки страница както обикновено)..." #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "Запомни този избор за следващия път (все още ще имаш възможността да го промениш)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "Файловете не успяха да се качат" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "Прочетете повече за това как работи това..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "Неуспешно: Успяхме да се регистрираме, но не успяхме успешно да създадем файл в това местоположение." #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "Неуспешно: Успяхме да се регистрираме и да се преместим в указаната директория, но не успяхме да създадем успешно файл в това местоположение." #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "Използвайте SCP вместо SFTP" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "SCP/SFTP потребителска настройка" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "SCP/SFTP хост настройка" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "Опитът за изпращане на архивиране по имейл е неуспешен (вероятно архивирането е твърде голям за този метод)" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "Архивирането е на: %s." #: src/admin.php:1017 msgid "%s settings test result:" msgstr "%s резултат от теста:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(Не е завършено)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "Ако виждате повече архиви, отколкото очаквате, вероятно това е така, защото изтриването на стари комплекти за архивиране не се случва, докато не завърши ново резервно копие." #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "Не го поставяйте в директорията си за качвания или плъгини, тъй като това ще доведе до рекурсия (резервни копия на резервни копия на резервни копия на...)." #: src/admin.php:3843 msgid "Job ID: %s" msgstr "ИД на задание: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "последна дейност: преди %ss" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "Неизвестно" #: src/admin.php:3756 msgid "Backup finished" msgstr "Архивирането завърши" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "Изчакване до планирано време за повторен опит поради грешки" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "Резитба стари комплекти за архивиране" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "Качване на файлове в отдалечено хранилище" #: src/admin.php:3803 msgid "Encrypted database" msgstr "Шифрована база данни" #: src/admin.php:3795 msgid "Encrypting database" msgstr "Шифроване на база данни" #: src/admin.php:3769 msgid "Created database backup" msgstr "Създаване на резервно копие на база данни" #: src/admin.php:3782 msgid "table: %s" msgstr "таблица: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "Създаване на архивни данни" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "Създадени архивирани zips файлове" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "Създаване на архивирани файлове" #: src/admin.php:3706 msgid "Backup begun" msgstr "Започна архивиране" #: src/restorer.php:1563 msgid "file" msgstr "файл" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "папка" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "UpdraftPlus е необходимо, за да се създаде %s в директорията на съдържанието, но не успя - проверете разрешенията за файла и активирайте достъпа (%s)" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "Архивирането не е завършено; е планирано възобновяване на" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "Вашият сайт се посещава рядко и UpdraftPlus не получава ресурсите, за които се надяваше; моля, прочетете тази страница:" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "Продължете с актуализацията" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "Не прекратявайте след натискане на \"Продължете по-долу\" - изчакайте архивирането да завърши." #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "UpdraftPlus Автоматични резервни копия" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "Възникнаха грешки:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "Създаване на резервно копие с UpdraftPlus ..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "Автоматично архивиране" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "Създаване на архивни данни с UpdraftPlus..." #: src/addons/autobackup.php:431 msgid "themes" msgstr "теми" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "плъгини" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "Стартиране на автоматично архивиране..." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "Създаване на %s и архивиране на бази данни с UpdraftPlus..." #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Автоматично архивиране (където е уместно) плъгини, теми и база данни на WordPress с UpdraftPlus преди да се актуализира" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "Ако не сте сигурни, трябва да спрете; в противен случай можете да унищожите тази инсталация на WordPress." #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "Това не изглежда като валиден архив на ядрото на WordPress - файлът %s липсва." #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "Не може да се отвори zip файл (%s) - не може да бъде сканиран предварително, за да се провери целостта му." #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "Не може да се прочете zip файл (%s) - не може да бъде сканиран предварително, за да се провери целостта му." #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "Още плъгини" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Поддръжка" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "UpdraftPlus не можа да намери префикса на таблицата при сканиране на архива на базата данни." #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "Този архив на базата данни липсва ядрото на WordPress таблици: %s" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "Базата данни е твърде малка, за да бъде валидна база данни на WordPress (размер: %s Кб)." #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "Бъдете в безопасност с автоматично архивиране" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "Ако все още можете да прочетете тези думи след завършване на страницата за зареждане, тогава има проблем с JavaScript или jQuery в сайта." #: src/admin.php:960 msgid "The file was uploaded." msgstr "Файлът е качен." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "Неизвестно състояние на отговор на сървъра:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "Неизвестен отговор на сървъра:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "Този ключ за дешифриране ще бъде направен опит:" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "Следвайте тази връзка, за да опитате да дешифрирате и изтеглите файла на базата данни на компютъра." #: src/admin.php:955 msgid "Upload error" msgstr "Грешка при качването" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "Грешка при качване:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(Уверете се, че сте се опитвали да качите zip файл, създаден преди това от UpdraftPlus)" #: src/admin.php:943 msgid "Download to your computer" msgstr "Изтегляне на вашия компютър" #: src/admin.php:942 msgid "Delete from your web server" msgstr "Изтриване от вашия уеб сървър" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "Разделен архив на всеки:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "Грешка: сървърът ни изпрати отговор (JSON), който не разбираме." #: src/admin.php:932 msgid "Warnings:" msgstr "Предупреждения:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "Грешка: сървърът изпрати празен отговор." #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "Изглежда, че този архивен набор за архивиране липсва следните архиви: %s" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "Файлът (%s) е намерен, но има различен размер (%s) от очакваното (%s) - може да е повреден." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "Файлът е намерен, но е с нулев размер (трябва да го качите отново): %s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "Файлът не е намерен (трябва да го качите): %s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "Не съществува такъв комплект архивиране" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "Преместване на неопаковано архивиране на място..." #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "Не можа да се отвори zip файл (%s) - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "WordPress път на главния сървър: %s" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "%s крайна точка" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "... и още много!" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (съвместим)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "Файлът не е локално присъстващ - трябва да се извлича от отдалечено хранилище" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "Търсене на %s архив: име на файл: %s" #: src/restorer.php:635 msgid "Final checks" msgstr "Окончателни проверки" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "Проверете това, за да изтриете излишните архивни файлове от сървъра си след приключване на архивирането (т.е. ако махнете отметката, тогава всички файлове, които се експедират дистанционно, също ще останат локално и всички файлове, които се съхраняват локално няма да бъдат предмет на ограниченията за задържане)." #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "Пуснете шифровани файлове на бази данни (db.gz.crypt файлове) тук, за да ги качите за дешифриране" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "Път до вашия wp-content директория на директория: %s" #: src/admin.php:949 msgid "Raw backup history" msgstr "Необработена хронология на архивирането" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "Показвай необработените архивни копия и списъка с файлове" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "Обработка на файловете - моля изчакайте..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "Грешка при отваряне на файла на базата данни." #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "Известни архиви (сурови)" #: src/restorer.php:1835 msgid "Files found:" msgstr "Намерени файлове:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "Възстановяване на таблица: %s" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "Исканият двигател на таблица (%s) не е наличен - преминаване към MyISAM." #: src/restorer.php:539 msgid "file is size:" msgstr "размерът на файла е:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "Отидете тук за повече информация." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "Някои файлове все още се изтеглят или обработват - моля изчакайте." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "Използваната часова зона е тази от настройките на WordPress, в Настройки -> Общи." #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "Въведете във формат HH:MM (напр. 14:22)." #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "Неуспешно влизане в %s" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "Не можа да се осъществи достъп до %s при изтриване (вижте регистрационния файл за повече)" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "Грешка - такъв файл не съществува." #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "%s Грешка" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "%s грешка - грешка при качване на файл" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "%s грешка - неуспешно събиране на блокове" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "%s удостоверяването е неуспешно" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "Грешка: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "Указаната директория за архивиране съществува, но не може да се записва." #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "Указаната директория за архивиране не съществува." #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "Предупреждение: %s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "Срещнат е много голям файл: %s (размер: %s Мб)" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s: нечетим файл - не може да бъде архивиран" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "Възникна грешка при затваряне на крайния файл с база данни" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "Срещнати предупреждения:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "Дисковото пространство на диска е много малко - остават само %s Мб" #: src/addons/migrator.php:398 msgid "New site:" msgstr "Нов сайт:" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "Мигриране на сайта (от UpdraftPlus)" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "Въведете подробности за това къде този нов сайт ще живее в рамките на многостранната ви инсталация:" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "Информация, необходима за продължаване на:" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "Мрежа за активиране на тема:" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "Обработен плъгин:" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "Проверете разрешенията за файла: Не можа успешно да се създаде и въведете директория:" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "Проверете вашите идентификационни данни за достъп." #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "Грешката, отчетена от %s, е:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "Моля, посочете исканата информация и продължете." #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "Информация за сайта:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Внимание:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "Вие работите на многостранна wordPress - но вашето архивиране не е на многостранен сайт." #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Затвори" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "Неочакван отговор:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "За да изпратите на повече от един адрес, отделете всеки адрес със запетая." #: src/admin.php:947 msgid "PHP information" msgstr "Информация за PHP" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "намерена е файлът с разширение на цип:" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "показване на информация за PHP (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "Искате ли да мигрирате или да клонирате/дублирате сайт?" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "Моля, изчакайте да завърши комуникацията с отдалеченото хранилище." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "Също изтриване от дистанционно съхранение" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "Последни новини от UpdraftPlus.com:" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "Премиум" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "Новини" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "Архивен набор не е намерен" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "%s - не можа да архивира този обект; съответната директория не съществува (%s)" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "RSS" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "Връзка към блог" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "Тестване на настройките на %s..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "Или можете да ги поставите ръчно в директорията updraftPlus (обикновено wp-content /updraft), например чрез FTP, и след това да използвате връзката \"Повторно сканиране\" по-горе." #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "Известие" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "Открити са грешки:" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "Повторно сканиране (търсене на архиви, които сте качили ръчно във вътрешния архивен магазин)..." #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "Започна да търси тази същност" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "Съхранявайте на" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "\"%s\" няма първичен ключ, необходима е ръчна промяна на ред %s." #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "редове: %d" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "Време (секунди):" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "Грешки:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "SQL актуализация команди:" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "Направени промени:" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "Проверени редове:" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "Разгледани таблици:" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "Не може да се получи списък на таблици" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "Предупреждение: URL адресът на сайта на базата данни (%s) е различен от очаквания от нас (%s)" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "Нищо за върша: URL адресът на сайта вече е: %s" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "Грешка: неочакван празен параметър (%s, %s)" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "База данни: търсене и заместване на URL адрес на сайт" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "Неуспешно: не разбирахме резултата, върнат от операцията %s." #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "Неуспешно: операцията %s не можа да стартира." #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "Търсене и заместване на местоположение на сайта в базата данни (мигриране)" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "Всички препратки към местоположението на сайта в базата данни ще бъдат заменени с текущия url адрес на сайта ви, което е: %s" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "Качвания на блогове" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "Приставки за задължително използване" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "Инсталиране на множество" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "започвайки от следващия път" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "Грешка: Портът трябва да е цяло число." #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "парола" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "потребителско име" #: src/addons/sftp.php:638 msgid "host name" msgstr "име на хост" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "Къде да промените директорията след влизане в профила си - често това е по отношение на вашата домашна директория." #: src/addons/sftp.php:615 msgid "Directory path" msgstr "Път до директорията" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Парола" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "Порт" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "Домакин" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "Грешка: Неуспешно изтегляне" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "Проверете разрешенията за файла: Не можа да бъде създаден и въведен успешно:" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "Няма намерени %s" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "Няма архив на директориите %s: няма нищо за архивиране" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "Бъдете внимателни, какво да изберете - ако изберете / след това наистина ще се опита да създаде цип, съдържащ целия си уеб сървър." #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "Ако не сте сигурни за какво е тази опция, тогава няма да я искате и трябва да я изключите." #: src/addons/morefiles.php:294 msgid "More Files" msgstr "Още файлове" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "Ядро на WordPress (включително всички допълнения към вашата WordPress директория)" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "Горните файлове съдържат всичко в wordPress инсталация." #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "Над-напиши wp-config.php" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "Ядро на WordPress" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "Неуспешно: Не успяхме да поставим файл в тази директория - проверете вашите идентификационни данни." #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Неуспешно" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "Уеб адрес" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "Неуспешен локален запис: Неуспешно изтегляне" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "Грешка при отваряне на отдалечен файл: Неуспешно изтегляне" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "Не са намерени %s настройки" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "Грешка: успешно влязохме, но не успяхме да създадем файл в дадена директория." #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "Успех: успешно се регистрирахме и потвърдихме способността си да създадем файл в дадена директория (тип вход:" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "Неуспех: ние не успешно се логнете с тези идентификационни данни." #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "Грешка: Не са дадени данни за сървъра." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "Трябва вече да съществува" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "Име на акаунт %s: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "сте удостоверили вашия %s акаунт" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "Трябва да използвате подпапки?" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "грешка: не успя да качите файл в %s (вижте регистрационния файл за повече)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "грешка: %s (виж регистрационния файл за повече)" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "Комуникацията с %s не е шифрована." #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "Комуникацията с %s е шифрована." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "Ние имаме достъп до кофата и успяхме да създадем файлове в него." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "Успешно осъществихме достъп до кофата, но опитът да се създаде файл в него е неуспешен." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "Провалено" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "Регион" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "Неуспех: Не са дадени подробности за кофата." #: src/methods/s3.php:1370 msgid "API secret" msgstr "API secret" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "Местоположение %s" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "Секретен ключ %s" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "%s ключ за достъп" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "Ако виждате грешки за SSL сертификати, моля, отидете тук за помощ." #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "Грешка при повторно сглобяване %s (%s): (виж регистрационния файл за повече)" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "качване (%s): неуспешна грешка при повторното сглобяване (вижте регистрационния файл за повече подробности)" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "блок %s: качването е неуспешно" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "грешка: файл %s беше съкратен неочаквано" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "%s качване: получаване на качване на качване за многочайна качване е неуспешно - за повече подробности вижте регистрационния файл" #: src/methods/email.php:106 msgid "Note:" msgstr "Бележка:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "Архивиране на WordPress" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "Ние достъп до контейнера и успяхме да създадем файлове в него." #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "Грешка в Cloud Files - достъпхме контейнера, но не успяхме да създадем файл в него" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "Отказ: Не са дадени подробности за контейнера." #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Потребителско име" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "Ключ за API" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "Грешка: Не е даден %s." #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "Потребителско име за файлове в облака" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "UK" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "US (по подразбиране)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "Облакът в САЩ или Обединеното кралство" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "Също така трябва да прочетете тези важни ЧЗВ." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "Тест на %s Настройки" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "Грешка при отваряне на локален файл: Неуспешно изтегляне" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "%s Грешка: Не можа да бъде качено" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "%s Грешка: Не може да се отвори локален файл" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "Неуспешно удостоверяване на файлове в облака" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Удостоверяване с Google" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "Клиентска тайна/Таен ключ" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "Ако Google по-късно ви покаже съобщението \"invalid_client\", не сте въвели валиден клиентски номер тук." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "Клиентски идентификационен номер" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "Трябва да добавите следното като оторизиран URI за пренасочване (в \"Повече опции\"), когато бъдете" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "Изберете \"Уеб приложение\" като тип приложение." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "Акаунтът не е оторизиран." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "Неуспешно качване в %s" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "Акаунтът е пълен: вашият %s акаунт има само %d байта, но файлът, който трябва да бъде качен, е %d байта" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "Все още не сте получили маркер за достъп от Google – трябва да оторизирате или да преотстъпвате връзката си с Google Диск." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "вие сте удостоверили вашия %s акаунт." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "Успешно" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "Използване на квота %s: %s %% използвана, %s на разположение" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "следвайте тази връзка, за да го получите" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "Поддръжката на %s е налична като добавка" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "Нямате инсталирана добавката UpdraftPlus %s - да го получите от %s" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "Трябва да удостоверите отново с %s, тъй като вашите съществуващи идентификационни данни не работят." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "ОК" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "Префиксът на таблицата е променен: съответно променя полето (полетата на %s) таблица:" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "заявката за база данни, която се изпълнява, е:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "ще се възстанови като:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "Стар префикс на таблицата:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "Архивиране на:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "Грешка при отваряне на файла на базата данни" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "Неуспешно намиране на файл на база данни" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "Неуспешно записване на разшифрованата база данни във файловата система" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "Неуспешно създаване на временна директория" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "Неуспешно изтриване на работната директория след възстановяване." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "Почиствам боклука..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "Възстановяване на базата данни (на голям сайт това може да отнеме много време - ако това време (което може да се случи, ако уеб хостинг компания е конфигурирала хостинга ви да ограничава ресурсите), тогава трябва да използвате друг метод, като phpMyAdmin)..." #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "Базата данни е успешно дешифрирана." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "Дешифриране на база данни (може да отнеме известно време)..." #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "Разопаковане на архивно копие..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "Копирането на този обект е неуспешно." #: src/restorer.php:842 msgid "Backup file not available." msgstr "Няма наличен архивен файл." #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "Съобщение за грешка" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "Архивните записи не съдържат информация за правилния размер на този файл." #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "Очаква се архивът да бъде размер:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "Ако правите заявка за поддръжка, моля, включете тази информация:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "ABORT: Не може да се намери информация за това кои обекти да се възстанови." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "Възстановяване на updraftPlus: Прогрес" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "След като натиснете този бутон, ще ви бъде дадена възможност да изберете кои компоненти" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "Изтриване на този архивен набор" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Запис на промените" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "Забраняване на SSL, когато е възможно" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "Имайте предвид, че не всички методи за архивиране в облака са задължително с помощта на SSL удостоверяване." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "Не проверявай SSL сертификати" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "Използване на SSL сертификати на сървъра" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "Ако това е неуспешен, проверете разрешенията на вашия сървър или го променете в друга директория, която може да се записва от процеса на вашия уеб сървър." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "или, за да нулирате тази опция" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "Следвайте тази връзка, за да се опитате да създадете директория и да зададете разрешения" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "Указаната директория за архивиране е записваема, което е добро." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "Директория за архивиране" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "Изтриване на локално архивиране" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "отворете това, за да покажете някои допълнителни опции; Не се занимавайте с това, освен ако нямате проблем или сте любопитни." #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "Показване на експертните настройки" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "Експертни настройки" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Режим на отстраняване" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "Разширени настройки за отстраняване на грешки" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "Искам да започна подкрепление..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Отмяна" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Няма" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "Изберете вашето отдалечено хранилище" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "Ръчно дешифриране на архивен файл на база данни" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "Фраза за шифроване на база данни" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "Електронна поща" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "Горните директории са всичко, с изключение на самото ядро на WordPress, което можете да изтеглите отново от WordPress.org." #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "Без тези артикули:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "Всички други директории, намерени в wp-съдържание" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "Включване в архивирането на файлове" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "например ако вашият сървър е зает през деня и искате да стартирате през нощта" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "За да се определи времето, в което трябва да се извърши архивирането," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "Интервал на архивиране на база данни" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Месечен" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "Две седмици" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Ежеседмично" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Ежедневно" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "Интервал за архивиране на файлове" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "Изтегляне на регистрационен файл" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "Папката съществува, но вашият уеб сървър няма разрешение да я пише." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "Искането за създаване на директорията е неуспешно." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Изтрий" #: src/admin.php:3877 msgid "show log" msgstr "показване на дневник" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "Това ще изтрие всички настройки на UpdraftPlus - наистина ли искате да направите това?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "преброяване" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "Nb. Това се базира на това какво е било или не, изключва последния път, когато сте записали опциите." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Общо (некомпресирани) данни на диска:" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Не" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Да" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "Версия %s:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "Текущо използване на паметта" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "Максимално използване на паметта" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "Уеб сървър:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "Нуждаете ли се от поддръжка на WordPress?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Многоезичен сайт" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "Прочетете тази полезна статия за полезни неща, които трябва да знаете преди да го възстановите." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s опции за възстановяване:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "Ще трябва да го възстановите ръчно." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "Следният обект не може да бъде възстановен автоматично: \"%s\"." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "Вашият уеб сървър има така наречените safe_mode PHP." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Изберете компонентите за възстановяване" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "Възстановяването ще замени темите, плъгините, качването, базата данни и/или други директории на съдържанието (според съдържанието, което се съдържа в архивния набор и избора ви)." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Възстановяване на архив" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "Изтриване на архивен набор" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "Грешка при изтегляне: сървърът ни изпрати отговор, който не разбираме." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Грешка:" #: src/admin.php:927 msgid "calculating..." msgstr "изчисляване..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - Качване на резервни файлове" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "обновяване" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "Дисково пространство на уеб сървъра, което се използва от UpdraftPlus" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "Това е преброяване на съдържанието на вашата директория в Updraft" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Диск" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "Ако използвате това, изключете турбо/пътния режим." #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Уеб браузър на Opera" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "Още задачи:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "Изтегляне на последно променения регистрационен файл" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Последно съобщение на регистрационния файл" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Възстановяване" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "Архивиране сега" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "Време е" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Бази данни" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Файлове" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "Следващи планирани архиви" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "В същото време, като архивиране на файлове" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "Нищо планирано в момента" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "Предупреждение за JavaScript" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Изтриване на стари директории" #: src/admin.php:3050 msgid "Current limit is:" msgstr "Настоящото ограничение е:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "Архивирането ви е възстановено." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Версия" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "Начална страница на програмиста на потенциални клиенти" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Настройките ви са били изтрити." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "Архивната директория е създадена успешно." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "Директорията за архивиране не може да бъде създадена" #: src/admin.php:3888 msgid "Remove old directories" msgstr "Премахване на стари директории" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Връщане към конфигурацията на UpdraftPlus" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Действия" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "Лош файлов формат - това не изглежда като шифрован файл на база данни, създаден от UpdraftPlus" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Лош формат на файл - това не изглежда като файл, създаден от UpdraftPlus" #: src/admin.php:2631 msgid "No local copy present." msgstr "Няма локален екземпляр." #: src/admin.php:2628 msgid "Download in progress" msgstr "В ход е изтеглянето" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "Досието е готово." #: src/admin.php:2598 msgid "Download failed" msgstr "Неуспешно изтегляне" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Грешка" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "Не можах да намеря тази работа - може би вече е свършила?" #: src/admin.php:2335 msgid "Job deleted" msgstr "Заданието е изтрито" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Нищо все още не е регистрирано" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Моля, консултирайте се с този ЧЗВ, ако имате проблеми с архивирането." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "Вашият уеб сайт се хоства с помощта на уеб сървъра %s." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Внимание" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Настройки" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Безкрайно рекурсия: консултирайте се с вашия регистрационен файл за повече информация" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Файлът не беше намерен" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "Използваният ключ за декриптиране:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "Не може да се отвори архивният файл за запис" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "Директорията не може да бъде прочетена" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "Директорията за архивиране (%s) не може да се записва или не съществува." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "Архивирането в WordPress е завършено" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "Опитът за архивиране е завършен, очевидно безуспешно" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Други" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Качвания" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Теми" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Плъгини" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "Не са намерени лог файлове." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "Регистрационният файл не можа да бъде прочетен." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "Известие за UpdraftPlus:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "Резервни копия на updraftPlus"languages/updraftplus-te.po000064400001120060147400355670012044 0ustar00# Translation of UpdraftPlus in Telugu # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: +0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: te\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "" #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-zh_TW.po000064400001152520147400355670012475 0ustar00# Translation of UpdraftPlus in Chinese (Taiwan) # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2018-01-22 20:53:09+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: GlotPress/3.0.0\n" "Language: zh_TW\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "遠端儲存空間認證" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "網路與多網站" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "轉移" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "額外的儲存空間" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "遠端儲存空間" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "選擇檔案" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "雲端檔案" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "UpdraftVault" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "取得更多資訊" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "匯入" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "無廣告" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "詳細報告與郵件通知功能。" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "更多資料庫選項" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "備份時間與排程" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "網路/多網站" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "預先更新備份" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "迅速,個人用戶支援" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "複製與轉移" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "附加與增強的遠端儲存空間位置" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "立刻升級" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "已安裝" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "免費版" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "UpdraftPlus" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "推薦:使用 WP-Optimize 優化你的資料庫。" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "閱讀更多" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "UpdraftCentral" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "注意圖示" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "到那裡" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "加入" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "取得進階版" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "評價 UpdraftPlus" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "取得 UpdraftCentral" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "Apache 模組" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "UpdraftPlus 網誌 - 取得最新訊息與優惠" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "UpdraftPlus 電子報" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "你有使用在多網站系統上使用 UpdraftPlus 嗎?" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "UpdraftCentral 介紹" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "保護您的備份" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "進階設定" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "UpdraftVault 儲存空間" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "UpdraftPlus 進階版:" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "網站大小" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "本地設定" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "網站資訊" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "匯入設定" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "匯出設定" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "匯出/匯入設定" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "備份: %s" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "遠端檔案已刪除:" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "本地檔案已移除:" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "遠端檔案已移除:" #: src/admin.php:1027 msgid "Complete" msgstr "完成" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "這將匯入檔案,從:" #: src/admin.php:1023 msgid "Importing..." msgstr "匯入中..." #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "你的 IP 位址:" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "若要移除封鎖,請往此處去。" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "%s 擴充套件未被找到" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "或手動還原" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "到這邊修復此問題。" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "OptimizePress 2.0 會加密自身的內容,因此無法搜尋或取代。" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "你的 PHP 沒有安裝 OpenSSL 模組;這通常需要花上幾分鐘;如果稍後沒有任何變化,那麼你應該試試小一點的金鑰長度,或者是諮詢你的網頁代管公司如何啟用 OpenSSL 模組。" #: src/addons/webdav.php:437 msgid "Path" msgstr "路徑" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "保持空白即使用預設值(80 為 webdav,443 為 webdavs)" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "在下面欄位內輸入任何路徑" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "主機名稱不能有斜線" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "通訊協定(SSL 或不用)" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "AWS 存取金鑰有誤(%s 有效的存取金鑰應該以 \"AK\" 開頭)" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "尚未設定。請至設定頁面檢查設定。" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "使用 %s 備份?" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "亞太(孟買)" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "標準(極少存取)" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "常見問題" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "已推薦" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "%s bytes" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "%s bits" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "加密金鑰長度:" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "登入" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "大小:%s MB" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "(點選圖案以選擇或取消選擇)" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "%s 每年" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "您的設置已經保存。" #: src/admin.php:4515 msgid "Total backup size:" msgstr "總備份大小:" #: src/admin.php:3878 msgid "stop" msgstr "停止" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "Wipe 設定" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "重設" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "這個備份檔" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "計算" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "儲存中..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "擷取中..." #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "上傳路徑:" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "忽略" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "檔案選項" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "資料庫備份排程" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "檔案備份排程" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "設定" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "進階/擴充" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "下載" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "擴展功能" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "進階工具" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Not installed" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "你確定你希望從 UpdraftPlus 刪除 %s ?" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "選擇全部" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "按這裡查看你目前遠端備份方式所存的檔案(來自任何網站,假設你儲存在同一目錄的話)" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "備份檔案已移除:" #: src/admin.php:1012 msgid "Processing..." msgstr "處理中..." #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "週" #: src/admin.php:1008 msgid "hour(s)" msgstr "小時" #: src/admin.php:1007 msgid "day(s)" msgstr "天" #: src/admin.php:1006 msgid "in the month" msgstr "本月" #: src/admin.php:1005 msgid "day" msgstr "日" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "伺服器端加密" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "使用信用卡或 Paypal 時,接受以美金、歐元或是英鎊作為貨幣單位。" #: src/admin.php:982 msgid "Update quota count" msgstr "上傳限額" #: src/admin.php:981 msgid "Counting..." msgstr "統計中..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "中斷連線中..." #: src/admin.php:978 msgid "Connecting..." msgstr "連線中..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "更新使用狀態" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "取得更多額度" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "現已使用:" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "你可以在此取得更多的使用額度" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "中斷連線" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "引言:" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "Vault 擁有人" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "做得好 - 已經沒有東西需要設定了" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "到這裡尋求協助" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "返回..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "可以隨時隨地取消訂閱" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "顯示選項" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "按下按鈕以開始" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "更新 Vault" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "刪除失敗:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "壓縮引擎回傳了以下的訊息:%s" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "若失去這項權限,UpdraftPlus 便不能刪除備份 - 或許你可以將你的「保留」選項設得非常大,避免類似的刪除錯誤跑出來>" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "允許刪除" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "若失去這項權限,你便不能透過 UpdraftPlus 直接下載或還原備份,你得親自到 AWS 網站處理。" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "允許下載" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "如果無法直接跨站發送,這裡還有其他方法可以使用 - 請試著使用其他方法作為替代。" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "請確定你連得上遠端網站、並未被防火牆擋住、啟用 UpdraftPlus %s 或以上的版本而且各項欄位都已正確輸入。" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "金鑰建立成功。" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "找不到站點" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "備份資料將發送到:" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "在這個戰點上還原一個現有的備份" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "這個站點尚未有任何備份可以用來還原" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "由 %s 建立備份" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "這個儲存空間不允許下載" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "(已從遠端匯入備份)" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "網站" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "測試連線中..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "刪除中..." #: src/admin.php:991 msgid "key name" msgstr "金鑰名稱" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "建立中…" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "送出" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "發送到網站:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "被動模式" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "遠端目錄" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "FTP 密碼" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "FTP 登入" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "FTP 位址" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "新增網站" #: src/admin.php:983 msgid "Adding..." msgstr "先增中..." #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "若之後 OneDrive 顯示" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "在你的 OneDrive 開發者後台建立 OneDrive 憑證。" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "OneDrive" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "在此設定" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "中國 (北京) (受限)" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "US Government West (restricted)" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "美國西岸 (加州北部)" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "進階 WooCommerce 外掛" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus 進階版" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "關閉 ( %s 月)" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "沒有已有完成的備份" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "訂閱最新消息" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "點此連結以取得 UpdraftPlus 最新消息。" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "詢問售前問題" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "售前常見問題" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "完整功能清單" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "這需要使用 v2 (Keystone) 認證方式; 現時未有支援 v1 (Swauth) 認證方式" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "網站管理員信箱" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "若有打勾,每次備份的基本報告將會自動寄給" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "手動" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "發生錯誤 (%s):" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "變更鎖定設定" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "如果需要更多功能和個人支援, 留意這裡" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "資料庫解鎖碼" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "升級前自動備份" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "WordPress 核心 (僅)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "如果需要解鎖的支援, 請聯絡 UpdraftPlus 管理者" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "請輸入解鎖密碼以存取 UpdraftPlus 設定" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "密碼錯誤" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "解除鎖定" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "否則, 將會顯示預設連結" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "任何人觀看鎖定頁面時會顯示支援網址 - 輸入網站地址或電子郵件地址" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "支援網址" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "再次要求提供密碼的間隔" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "%s 星期" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "1 星期" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "%s 小時" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "1 小時" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "已變更管理員密碼" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "已設定管理員密碼" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "已移除管理員密碼" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "(了解更多關於這個重要的選項)" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "檢視記錄" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "備份資料 (點擊下載)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "備份時間" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "和保留排程備份數量" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "增量備份; 基層備份: %s" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "上傳檔案到 UpdraftPlus 。" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "未能進行 \"立即備份\", 這可能是由於備份目錄為不可寫入狀態 (請前往 \"設定\" 頁檢視及修改相關的選項)" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "備份標籤:" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "未預期的檔案讀取失敗" #: src/backup.php:4389 msgid "check your log for more details." msgstr "檢視記錄以獲取更多資訊" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "發生 zip 錯誤" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "此備份的標籤 (可選)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "你的電郵地址是有效的, 但密碼未能在 UpdraftPlus.Com 驗證" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "你需要提供電子郵件和密碼" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "已經完成" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "略過 (未有在列表上)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "搜尋和取代資料表:" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "輸入以逗號分間的清單; 或者, 留空以選取所有資料表" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "只有這些資料表" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "每次的行數" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "你仍未連結到 UpdraftPlus.Com 帳號" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "UpdraftPlus 也在社群平台上 - 追蹤我們!" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "為甚麼我會見到這個?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "開始備份" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "除非你遇到問題, 否則你可以略過這些內容" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "更多有關增量備份" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "記憶體限額" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "增量" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "完整備份" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "正在進行及更新" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(查看紀錄...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "備份已完成" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "每 %s 小時" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "搜尋及取代" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "執行" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "搜尋/取代功能不能復原 - 你確定要這樣做嗎?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "這樣很容易會破壞你的網站; 所以請小心使用!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "取代為" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "搜尋項目" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "搜尋 / 取代 資料庫" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "搜尋字詞" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "發生過多的資料庫錯誤 - 中斷中" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "在 %s 閱覽更多" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "UpdraftPlus (免費版本) 製作的電郵報告將會提供最近 UpdraftPlus.com 的消息" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "你未有任何已製作的備份" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "資料庫選項" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s 已使用)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "可用磁碟空間:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "按鍵已停用, 因為你的備份資料夾未能寫入檔案 (請檢查設定)。" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "想要更改任何預設備份設定、排程自動備份、自動上傳備份檔案到遠端(推薦)...等功能,請到「設定」頁籤操作吧!" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "製作備份, 只需按一下 \"立即備份\"。" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "歡迎使用 UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "測試中..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "測試連接..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "資料表前綴" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "備份外部資料庫" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "新增一個外部資料庫進行備份......" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "備份在 WordPress 同一資料庫內的非 WordPress 資料表" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "連結失敗" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "連接成功。" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "總計已找到 %s 資料表; %s 個標明前綴的資料表" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "找到 %s 資料表。" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "資料庫名稱" #: src/addons/moredatabase.php:115 msgid "host" msgstr "伺服器" #: src/addons/moredatabase.php:113 msgid "user" msgstr "使用者" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "外部資料庫 (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "未能存取父層資料夾" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "外部資料庫" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "首先請輸入解密金鑰" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "你可以在這裡把已加密的資料庫解密" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "它亦可以備份外部資料庫" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "不想要被竊取?UpdraftPlus 進階版可以加密你的資料庫備份。" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "使用 UpdraftPlus 進階版" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "例如 %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "容器" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "留空將會使用預設值" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "無法下載 %s" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "無法下載" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "無法列出檔案" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "成功:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "以 %s 作認證" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "未能存取 %s 容器" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "想要設定資料夾名稱,請使用 UpdraftPlus 進階版。" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "資料夾" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "名稱:%s。" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "呼叫" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "擷取" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "這功能需要 %s 版本 %s 或更新" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "重新掃描在本機資料夾的備份檔" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "金鑰" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "未知的來源" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "重新掃描遠端儲存空間" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "上傳備份檔案" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "未找到任何設定" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "重新掃描遠端和本地空間的備份檔..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "其他 %s 常見問題。" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "備份建立由:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "訊息:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "倫敦(LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "香港(HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "芝加哥(ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "嘗試連接 UpdraftPlus.Com 時, 出現未知的錯誤" #: src/admin.php:965 msgid "Create" msgstr "建立" #: src/admin.php:925 msgid "Trying..." msgstr "正在嘗試..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "錯誤資訊:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "增加另一個地址..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "%s 校驗碼: %s" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "檔案: %s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "除錯資訊" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "已上傳到:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "所需時間:" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "警告" #: src/addons/reporting.php:223 msgid "Errors" msgstr "錯誤" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "錯誤/警告:" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "包含:" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "備份開始:" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "備份報告" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "%d 小時, %d 分鐘, %d 秒" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "%d 錯誤, %d 警告" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "%s 認證" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "%s 錯誤: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "%s 圖示" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "未有安裝必需的 PHP 組件 - 請向你的網頁寄存公司查詢以開啟此功能" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "將會使用網站的管理員電郵 (%s)" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "連接" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(版本: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "最近狀態:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "已備份: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "Log已附件在這封電子郵件內。" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "未知或未預期的錯誤 - 請尋求我們的支援" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "只限檔案 (排程不包括資料庫)" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "UpdraftPlus 警告:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "報告" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "內容網址:" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "嘗試抓取擴充組件時出現錯誤" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "拖曳檔案至此" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "網站主目錄:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "上傳失敗" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(尚未完成)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "工作 ID: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "最近活動: %ss 之前" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "未知" #: src/admin.php:3756 msgid "Backup finished" msgstr "復份已完成" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "正在上傳檔案到遠端" #: src/admin.php:3803 msgid "Encrypted database" msgstr "已加密資料庫" #: src/admin.php:3795 msgid "Encrypting database" msgstr "加密中資料庫" #: src/admin.php:3769 msgid "Created database backup" msgstr "建立資料庫備份" #: src/admin.php:3782 msgid "table: %s" msgstr "資料表:%s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "建立資料庫備份" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "建立備份壓縮檔案" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "建立備份壓縮檔案" #: src/admin.php:3706 msgid "Backup begun" msgstr "備份已開始" #: src/restorer.php:1563 msgid "file" msgstr "檔案" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "資料夾" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "自動備份" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "主題" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "外掛" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "更多外掛" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "支援服務" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "更安全的自動備份" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "這個檔案已上傳。" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "未知的伺服器回應狀態:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "未知的伺服器回應:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "上傳錯誤" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "上傳錯誤:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "下載到你的電腦" #: src/admin.php:942 msgid "Delete from your web server" msgstr "刪除本地備份檔案" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "檔案分割大小每:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "警告:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "沒有備份檔案" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (相容)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "拖曳加密資料庫檔案(db.gz.crypt 檔案)到此上傳並進行解密" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "檔案處理中 - 請稍後..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "到這裡取得更多資訊。" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "%s 錯誤" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "錯誤:%s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "警告:%s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "網站資訊:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "警告:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "關閉" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "未預期的回應:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "PHP 資訊" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "找到可執行zip檔:" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "顯示 PHP 資訊 (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "一併移除遠端備份檔案" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "UpdraftPlus.Com 最新消息:" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "進階版" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "最新消息" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "找不到備份檔" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "RSS 連結" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "Blog 連結" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "或者你可以手動放置在 UpdraftPlus 目錄 (通常位於wp-content/updraft),例如,從 FTP,然後進行 \"重新掃描\"。" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "提醒" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "重新掃描(正尋找已手動上傳至內部備份空間的備份檔案)..." #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "開始尋找檔案實體資料" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "錯誤:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "使用者密碼" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "使用者帳號" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "密碼" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "失敗" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "需要使用子目錄嗎?" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "失敗" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "區域" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "API 密鑰" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "%s 密鑰" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "備註:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "使用者帳號" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "API 金鑰" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "英國" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "美國(預設)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "測試 %s 設定" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Google 認證" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "Client Secret" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "如果待會Google顯示「invalid_client」,你就不用輸入「client ID」。" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "Client ID" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "帳戶未認證。" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "名稱:%s。" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "成功" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "好" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "執行資料庫查詢: " #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "清理無用的檔案..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "資料庫已經成功解密。" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "如需尋找支援, 請包含以下資訊" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "中斷: 找不到還原項目的資訊" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "UpdraftPlus 還原設定: 過程" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "刪除備份檔" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "儲存變更" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "盡可能完全禁止使用 SSL" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "注意並非所有雲端備份方法都需要使用 SSL 認證" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "不要驗證 SSL 憑證" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "使用伺服器的 SSL 證書" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "如果不成功, 請檢查伺服器權限或使用伺服器上其他可寫入的目錄" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "或者, 重設此選項" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "很棒!指定的備份資料夾可以寫入。" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "備份資料夾" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "刪除本機備份" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "顯示進階設定" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "進階設定" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "除錯模式" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "進階/除錯設定" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "正在請求開始備份" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "取消" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "無" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "選擇你的遠端儲存空間" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "手動解密資料庫備份檔" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "資料庫加密短語 (phrase)" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "郵件通知" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "以上的目錄為所有的網站項目,但不包含 WordPress 主程式,因為你可以從 WordPress.org 直接下載取得。" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "排除這些目錄:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "任何在 wp-content 內找尋到的資料夾" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "包含在備份檔中" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "e.g. 當你的伺服器平日很繁忙, 而你希望在午夜進行" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "修復備份開始時間" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "每月" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "每兩星期" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "每星期" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "每日" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "下載Log檔案" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "資料夾已存在, 但你的網頁伺服器未有寫入權限" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "在檔案系統建立資料夾的請求失敗" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "刪除" #: src/admin.php:3877 msgid "show log" msgstr "顯示Log檔" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "這會移除 UpdraftPlus 所有的設定 - 你確定要這樣做?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "統計" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "硬碟空間總計 (未經壓縮):" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "否" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "是" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "%s 版本:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "目前記憶體使用量" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "高峰記憶體使用量" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "伺服器環境:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "你需要 WordPress 多站點支援嗎?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "多站點" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "在還原之前, 請先閱讀這篇文章以取得更多資訊" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s 還原過程選項" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "你將需要手動進行還原" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "以下實體未能自動還原: \"%s\"" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "你的網頁伺服器的 PHP 已啟用 的 safe_mode" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "選擇組件以還原" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "還原將會取代這個網站的佈景主題, 外掛, 上傳, 資料庫 及/或 其他內容的資料夾 (基於備份檔和你選擇的內容)" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "還原備份" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "刪除備份檔" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "下載錯誤: 伺服器返回了一個未知的回應" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "錯誤:" #: src/admin.php:927 msgid "calculating..." msgstr "計算中..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - 上傳備份檔案" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "重新整理" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "UpdraftPlus 已佔用的空間" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "這是你 Updraft 資料夾的內容總計" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google 雲端硬碟" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "如果你正在使用它, 請關閉 Turbo/Road 模式" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Opera 瀏覽器" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "更多任務:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "下載最近修改過的Log檔" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "最近Log訊息" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "還原" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "立即備份" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "現在時間" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "資料庫(Database)" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "檔案" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "下次排程備份" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "在檔案備份期間同時進行" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "目前沒有排程任務" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "JavaScript 警告" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "刪除舊有資料夾" #: src/admin.php:3050 msgid "Current limit is:" msgstr "目前限制為:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "你的備份已還原" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "版本" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "主要開發者網頁" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "你的設定已被抹除" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "備份資料夾已成功建立" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "無法建立備份資料夾" #: src/admin.php:3888 msgid "Remove old directories" msgstr "移除舊資料夾" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "返回 UpdraftPlus 設定" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "動作" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "錯誤的檔案格式 - 似乎這個已加密的資料庫檔案不是由 UpdraftPlus 建立的" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "錯誤的檔案格式 - 似乎這個檔案不是由 UpdraftPlus 建立的" #: src/admin.php:2631 msgid "No local copy present." msgstr "未有本機副本" #: src/admin.php:2628 msgid "Download in progress" msgstr "正在下載中" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "檔案已準備好。" #: src/admin.php:2598 msgid "Download failed" msgstr "下載失敗" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "錯誤" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "無法找到任務 - 或許它已經完成?" #: src/admin.php:2335 msgid "Job deleted" msgstr "任務已刪除" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "未有任何已登入" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "如果你有任何備份的問題, 請查閱這份 FAQ" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "你的網頁使用 %s 網頁伺服器" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "警告" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "設定" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "無限遞迴: 查閱Log以取得更多資訊" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "無法找到檔案" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "使用的密碼:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "無法寫入備份檔案" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "無法讀取資料夾" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "備份資料夾 (%s) 可能未有寫入權限, 或資料夾不存在" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "WordPress 備份已完成" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "備份工作已完成, 但似乎不成功" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "其它" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "已上傳檔案(uploads)" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "佈景(themes)" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "外掛(plugins)" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "沒有找到Log檔" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "無法讀取Log檔" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "UpdraftPlus 提醒:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "UpdraftPlus 備份"languages/updraftplus-zh_HK.po000064400001144446147400355670012455 0ustar00# Translation of UpdraftPlus in Chinese (Hong Kong) # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2021-04-05 14:31:47+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: GlotPress/3.0.0\n" "Language: zh_HK\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "WP-CLI 支援" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "WP CLI" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "多謝您安裝UpdraftPlus!" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "驗證錯誤" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "已停用" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "已啟用" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "遠端網站" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "請輸入一個有效的網址 例如 http://example.com" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "網絡及多站台" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "轉移器" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "遠端存儲" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "選擇檔案" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "雲端檔案" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "UpdraftVault" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "封裝檔" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr " 額外數據庫" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "按這裡以下載或瀏覽" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "錯誤:無效的路徑" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "正在載入日誌檔" #: src/admin.php:1036 msgid "Search" msgstr "搜尋" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "正在瀏覽zip檔案" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "瀏覽內容" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "已跳過數據表:" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "所有WordPresss數據表會被備份。" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "HTTP代碼:" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "了解更多" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "匯入器" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "沒有廣吿" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "更多數據庫選項" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "備份時間及排程" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "網絡 / 多站台" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "預先更新備份" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "克隆及轉移" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "現在升級" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "已安裝" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "免費" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "UpdraftPlus" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "閱讀更多" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "歐洲 (法蘭克福)" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "歐洲 (倫敦)" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "歐洲 (愛爾蘭)" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "UpdraftCentral" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "註冊" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "取得高級版" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "評價 UpdraftPlus" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "取得 UpdraftCentral" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "Apache 模組" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "UpdraftPlus 部落格-取得最新情報和著數" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "為你送上 UpdraftCentral" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "高級設定" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "UpdraftVault 存儲" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "UpdraftPlus 高級版:" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "網站大小" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "鎖定設定" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "網站資訊" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "匯入設定" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "匯出設定" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "包含任何密碼" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "匯出/匯入設定" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "備份:%s" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "已刪除遠端檔案:" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "已刪除本地檔案:" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "遠端檔案已刪除" #: src/admin.php:1027 msgid "Complete" msgstr "完成" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "匯入中..." #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "你未選擇一個要匯入的檔案。" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "找不到模板" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "使用%s備份?" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "常見問題" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "開啟目錄失敗 (檢查檔案權限和擁有者):%s" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "較慢,最穩定" #: src/addons/migrator.php:559 msgid "recommended" msgstr "推薦" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "%s 位元組" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "登入" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "大小:%s MB" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "備份已被使用者中止" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "您的設置已經保存。" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "停止" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "備份已執行完成" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "重設" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "計算" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "請輸入一個有效的網址" #: src/admin.php:976 msgid "Saving..." msgstr "儲存中..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "屏蔽" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "呼叫WordPress操作:" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "檔案選項" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "數據庫備份排程" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "檔案備份排程" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "設定" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "繼續還原" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "未完成的還原" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "%s 分鐘,%s秒" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "進階版 / 擴充元件" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "下載" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "擴展功能" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "高級工具" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Not installed" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "取消選擇" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "全選" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "處理中..." #: src/admin.php:1010 msgid "For backups older than" msgstr "備份舊過" #: src/admin.php:1009 msgid "week(s)" msgstr "星期" #: src/admin.php:1008 msgid "hour(s)" msgstr "小時" #: src/admin.php:1007 msgid "day(s)" msgstr "日" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "天" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "你必須升級MySQL以使用此數據庫。" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "使用信用卡或 Paypal 時,接受以美金、歐元或是英鎊作為貨幣單位。" #: src/admin.php:982 msgid "Update quota count" msgstr "上傳限額" #: src/admin.php:981 msgid "Counting..." msgstr "統計中..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "中斷連線中..." #: src/admin.php:978 msgid "Connecting..." msgstr "連線中..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "更新使用狀態" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "取得更多額度" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "現已使用:" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "你可以在此取得更多的使用額度" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "中斷連線" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "引言:" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "Vault 擁有人" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "做得好 - 已經沒有東西需要設定了" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "到這裡尋求協助" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "返回..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "可以隨時隨地取消訂閱" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "顯示選項" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "按下按鈕以開始" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "更新 Vault" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "刪除失敗:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "壓縮引擎回傳了以下的訊息:%s" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "請確定你連得上遠端網站、並未被防火牆擋住、啟用 UpdraftPlus %s 或以上的版本而且各項欄位都已正確輸入。" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "(已從遠端匯入備份)" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "站點" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "測試連線中..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "刪除中..." #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "建立中…" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "傳送" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "傳送到網站:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "被動模式" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "遠端路徑" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "FTP密碼" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "FTP登入" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "FTP伺服器" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "增加網站" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "在這裏設定" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus 進階版" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "備份WordPress檔案和數據庫" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "詢問售前問題" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "售前常見問答集" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "完整功能清單" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "%s 錯誤:初始化失敗" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "或" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "這需要使用 v2 (Keystone) 認證方式; 現時未有支援 v1 (Swauth) 認證方式" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "勾選此選項,每次工作完成後將會把簡述報告寄送給你" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "手動" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "發生錯誤 (%s):" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "如果需要更多功能和個人支援, 留意這裡" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "升級前自動備份" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "檢視記錄" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "備份資料 (點擊下載)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "備份時間" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "和保留這個數量的排程備份" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "增量備份; 基層備份: %s" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "把檔案上傳到UpdraftPlus。" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "未能進行 \"立即備份\", 這可能是由於備份目錄為不可寫入狀態 (請前往 \"設定\" 頁檢視及修改相關的選項)" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "備份標籤:" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "未預期的檔案讀取失敗" #: src/backup.php:4389 msgid "check your log for more details." msgstr "檢視記錄以獲取更多資訊" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "發生 zip 錯誤" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "你的電郵地址是有效的, 但密碼未能在 UpdraftPlus.Com 驗證" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "你需要提供電子郵件和密碼" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "為甚麼我會見到這個?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "開始備份" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "除非你遇到問題, 否則你可以略過這些內容" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "更多有關增量備份" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "記憶體限額" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "還原" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "增量" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "完整備份" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "每 %s 小時" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "搜尋/取代數據庫" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "發生過多的數據庫錯誤 - 中斷中" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "在 %s 閱覽更多" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "UpdraftPlus (免費版本) 製作的電郵報告將會提供最近 UpdraftPlus.com 的消息" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "你未有任何已製作的備份" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "數據庫選項" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s 已使用)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "可用磁碟空間:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "按鍵已停用, 因為你的備份資料夾未能寫入檔案 (請檢查設定)。" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "製作備份, 只需按一下 \"立即備份\"。" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "歡迎使用 UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "未能存取父層資料夾" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "外部數據庫" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "首先請輸入解密金鑰" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "你可以在這裡把已加密的數據庫解密" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "它亦可以備份外部數據庫" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "使用 UpdraftPlus Premium" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "容器" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "留空將會使用預設值" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "成功:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "以 %s 作認證" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "下載遠端檔案時發生錯誤:無法下載" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "地區%s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "未能存取 %s 容器" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "資料夾" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "%s下載:失敗:找不到檔案" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "名稱:%s。" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "Google 雲端硬碟列出檔案:無法存取主資料夾" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "你的%s版本:%s。" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "錯誤 - 無法下載檔案" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "重新掃描在本機資料夾的備份集" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "數據庫 (由%s建立)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "未知的來源" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "重新掃描遠端儲存空間" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "上傳備份檔案" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "在zip檔中找不到WordPress內容目錄(wp-content)。" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "未找到任何設定" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "重新掃描遠端和本地空間的備份集..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "其他 %s 的常見問題。" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "一般未加密的FTP" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "備份建立者:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "訊息:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "該目錄不存在" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "倫敦 (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "悉尼 (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "授權錯誤 (檢查你輸入的資料)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "嘗試連接 UpdraftPlus.Com 時, 出現未知的錯誤" #: src/admin.php:965 msgid "Create" msgstr "建立" #: src/admin.php:925 msgid "Trying..." msgstr "正在嘗試..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "錯誤資訊:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "檔案:%s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "已上載到:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "%s 認證" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "%s 錯誤: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "未有安裝必需的 %s PHP 組件 - 請向你的網頁寄存公司查詢以開啟此功能" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "將會使用網站的管理員電郵 (%s)" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "連接" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(版本: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "最近狀態:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "備份內含:" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "已備份: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "紀錄檔已附件在這封電郵內。" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "未知或未預期的錯誤 - 請尋求我們的支援" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "只限檔案 (排程不包括數據庫)" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "UpdraftPlus 警告:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "UpdraftPlus.Com 回傳了一個我們無法明白的回應 (數據:%s)" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "報告" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "內容URL:" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "網站主目錄:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "%s設定測試結果:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(未完成)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "工作 ID: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "最近活動: %ss 之前" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "未知" #: src/admin.php:3756 msgid "Backup finished" msgstr "復份已完成" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "上傳檔案到遠端存儲" #: src/admin.php:3803 msgid "Encrypted database" msgstr "已加密的數據庫" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "已建立數據庫備份" #: src/admin.php:3782 msgid "table: %s" msgstr "數據表:%s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "正在建立數據庫備份" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "已建立備份zip檔案" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "正在建立備份zip檔案" #: src/admin.php:3706 msgid "Backup begun" msgstr "備份已開始" #: src/restorer.php:1563 msgid "file" msgstr "檔案" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "資料夾" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "更多插件" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "支援" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "上傳錯誤" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "上傳錯誤:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "下載到你的電腦" #: src/admin.php:942 msgid "Delete from your web server" msgstr "從網頁伺服器刪除" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "警告:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "無法開啟zip檔案 (%s) - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "...以及更多!" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (相容)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "無法開啟數據庫檔案。" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "找到檔案:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "%s 登入失敗" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "%s錯誤" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "%s 錯誤:上載檔案失敗" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "錯誤:%s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "指定的備份目錄存在,但不能寫入。" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "警告:%s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s:無法讀取的檔案 - 無法被備份" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "你只剩下很少的磁碟空間 - 只剩下 %s MB" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "網站資訊:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "警告:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "關閉" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "顯示 PHP 資訊 (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "高級版" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "新聞" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "找不到備份集" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "RSS 連結" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "Blog 連結" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "正在測試 %s 設定..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "或者你可以手動放置在 UpdraftPlus 目錄 (通常位於wp-content/updraft),例如,從 FTP,然後進行 \"重新掃描\"。" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "重新掃描(正尋找手動上傳的備份至備份集)..." #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "錯誤:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "密碼" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "帳戶名稱" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "密碼" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "WordPress 核心" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "失敗" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "沒有找到%s設定" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "需要已存在" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "你的 %s 帳戶名字:%s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "失敗" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "API密鑰" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "%s 位置" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "%s 密鑰" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "注意:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "WordPress 備份" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "使用者名稱" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "API金鑰" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "測試 %s 設定" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "%s 錯誤:上載失敗" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "%s 錯誤:無法開啟本地檔案" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "雲端檔案驗證失敗" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Google 認證" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "用戶端密碼" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "客戶端 ID" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "帳戶未被授權。" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "無法上傳至%s" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "成功" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "你的 %s 限額使用量:%s %% 已使用,%s 可用" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "OK" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "執行數據庫查詢: " #: src/restorer.php:2607 msgid "will restore as:" msgstr "將還原為:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "備份" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "開啟數據庫檔案失敗" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "尋找數據庫檔案失敗" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "無法建立一個暫時目錄" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "清理無用的檔案..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "數據庫已成功解密。" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "正在解密數據庫 (需要一段時間) ..." #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "正在解開備份..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "錯誤訊息" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "如需尋找支援, 請包含以下資訊" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "中斷: 找不到還原項目的資訊" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "UpdraftPlus 還原設定: 過程" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "刪除備份集" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "儲存變更" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "如果可以, 完全禁止使用 SSL" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "注意並非所有雲端備份方法都需要使用 SSL 認證" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "不要驗證 SSL 憑證" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "使用伺服器的 SSL 證書" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "如果不成功, 請檢查伺服器權限或使用伺服器上其他可寫入的目錄" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "或者, 重設此選項" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "指定的備份資料夾可以寫入, 非常好" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "備份資料夾" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "刪除本機備份" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "顯示進階設定" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "進階設定" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "除錯模式" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "進階/除錯設定" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "正在請求開始備份" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "取消" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "無" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "選擇你的遠端儲存空間" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "手動解密數據庫備份檔" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "數據庫加密短語 (phrase)" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "電郵" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "以上的資料夾為所有的網站項目, 除了 WordPress 核心檔案, 因為你可以從 WordPress.org 下載" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "除了這些:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "任何在 wp-content 內找尋到的資料夾" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "包含在資料備份" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "e.g. 當你的伺服器平日很繁忙, 而你希望在午夜進行" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "修復備份開始時間" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "每月" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "每兩星期" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "每星期" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "每日" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "下載紀錄檔案" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "資料夾已存在, 但你的網頁伺服器未有寫入權限" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "在檔案系統建立資料夾的請求失敗" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "刪除" #: src/admin.php:3877 msgid "show log" msgstr "顯示紀錄" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "這會刪除 UpdraftPlus 所有的設定 - 你確定要這樣做?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "統計" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "留意: 這個統計建基於是或者不是, 除了你上一次儲存的選項以外" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "磁碟數據總計 (未經壓縮)" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "否" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "是" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "%s 版本:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "目前記憶體使用量" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "高峰記憶體使用量" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "網頁伺服器:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "你需要 WordPress 多站點支援嗎?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "多站點" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "在還原之前, 請先閱讀這篇文章以取得更多資訊" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s 還原過程選項" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "你將需要手動進行還原" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "以下實體未能自動還原: \"%s\"" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "你的網頁伺服器的 PHP 已啟用 的 safe_mode" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "選擇組件以還原" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "還原將會取代這個網站的佈景主題, 插件, 上傳, 數據庫 及/或 其他內容的資料夾 (基於備份集和你選擇的內容)" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "還原備份" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "刪除備份集" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "下載錯誤: 伺服器返回了一個未知的回應" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "錯誤:" #: src/admin.php:927 msgid "calculating..." msgstr "計算中..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - 上傳備份檔案" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "重新整理" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "UpdraftPlus 已佔用的空間" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "這是你 Updraft 資料夾的內容總計" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google 雲端硬碟" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "如果你正在使用它, 請關閉 Turbo/Road 模式" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Opera 瀏覽器" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "更多任務:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "下載最近修改過的紀錄" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "最近紀錄訊息" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "還原" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "立即備份" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "數據庫" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "檔案" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "下次排程備份" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "在檔案備份期間同時進行" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "目前未有排程任務" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "JavaScript 警告" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "刪除舊有資料夾" #: src/admin.php:3050 msgid "Current limit is:" msgstr "目前限制為:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "你的備份已還原" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "版本" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "主要開發者網頁" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "你的設定已被抹除" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "備份資料夾已成功建立" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "無法建立備份資料夾" #: src/admin.php:3888 msgid "Remove old directories" msgstr "移除舊資料夾" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "返回 UpdraftPlus 設定" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "動作" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "錯誤的檔案格式 - 似乎這個已加密的數據庫檔案不是由 UpdraftPlus 建立的" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "錯誤的檔案格式 - 似乎這個檔案不是由 UpdraftPlus 建立的" #: src/admin.php:2631 msgid "No local copy present." msgstr "未有本機副本" #: src/admin.php:2628 msgid "Download in progress" msgstr "正在下載中" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "檔案已預備" #: src/admin.php:2598 msgid "Download failed" msgstr "下載失敗" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "錯誤" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "無法找到任務 - 或許它已經完成?" #: src/admin.php:2335 msgid "Job deleted" msgstr "任務已刪除" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "未有任何紀錄" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "如果你有任何備份的問題, 請查閱這份 FAQ" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "你的網頁使用 %s 網頁伺服器" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "警告" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "設定" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "無限遞迴: 查閱紀錄以取得更多資訊" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "無法找到檔案" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "使用的密碼:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "無法寫入備份檔案" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "無法讀取資料夾" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "備份資料夾 (%s) 可能未有寫入權限, 或資料夾不存在" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "WordPress 備份已完成" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "備份工作已完成, 但似乎不成功" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "其他" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "上傳檔案" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "佈景主題" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "外掛" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "沒有找到紀錄檔" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "無法讀取紀錄檔" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "UpdraftPlus 提醒:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "UpdraftPlus 備份"languages/updraftplus-ko_KR.po000064400001120627147400355670012452 0ustar00# Translation of UpdraftPlus in Korean # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2021-04-05 14:33:28+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: GlotPress/3.0.0\n" "Language: ko_KR\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "우커머스 플러그인" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "네트워크 / 멀티사이트" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "설치했습니다" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "잠금 설정" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "로그인" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "설정이 저장되었습니다." #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "중지" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "저장 중..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "무시하기" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "설정" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "추가기능" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "인스톨되지 않음" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus 프리미엄" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "트위터" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "지원" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "경고:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "PHP 정보" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "프리미엄" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "회원 아이디" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "변경 사항 저장" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "취소" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "없음" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "월간" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "주간" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "일간" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "지우기" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "아니오" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "네" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "다중사이트" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "에러:" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "지금 백업하기" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "버전" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "오류" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "설정" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-ru_RU.mo000064400000516067147400355670012504 0ustar00T%JJ8JuJe6Ue&e+eeef#f 5fCfGUf f8fff gJgKgg_gh hhh h hhh iii/i6iLi ai-oi5iimjODkEk kk l!&lHlcl9l3m Jm Tm bm nm|m mmmmm!mT n!_nnnn"n3no) o 6oDoWoo o o p pp.pJphpp:pp(p*#qNq kqwq9~q?qYq!Rr!trrr3r#rs,8ses ssss sssss tt$t)=tgtxttt?t u%(u NuYu)ouuuuuuuv v6v MvYvmvvvv#vEv ww w(w*@wLkw5wwxGx"&y(Iy1ry:yPyJ0z{zzz(zzzT {a{i{{{{{]{|-|DA|N|O|#%}I}X}4h}5}5}. ~8~G~W~<(e.E#K o1{ ,-4K R\)tHA*) Tu|:  1ATc,r̃ۃ  ' > H U`i9p&Ƅ3!4Jg)G̅%:Wk<~Z>[/F%lt&)&߈!?(^hljc͉ 1B>* @NJ)G3Z >΋ -HQqx%Wa;rHw79HgJ5 MQY ֐ % FUX`qǑ"ۑ) ( 57B zz0+ѓ.,fFmA]kl`ؖ_955Kk|R4Rڙ$~]LGNn0 ۜ% &2IF9ʝWB=G&$+ў1"/R e p|0DUr/&ˠ,Gg n%{ ' ס  % -&8 _ l!x$ ɢۢ as ɤ $ 8BGZq t?.'Go̦ /&Pi*ܨ!$6g* ʪx*" " 5BQTV%ά8'-U#n%O(?1;q6@;%;a'ůͯү9EY!k Ա۱$!,&N u@òײ PQ ht{ @A%'gb6?-Gu77#oķ Է޷2 K Xbi: ڸ@F5|1 4ι< @K^1c" %ƺ  5Jh y » Ի,B_n1 ̼ +,4r=V 8 ? LAYž&2I _%jFbrV[Ix@u$(c2;5n:o6OQ"(,$qQIIAJ /V8=N2<Sj;}R,-LLz3=W9>Pu!P(f3YS8.9@@z&P&3,Z?R=9M ZXoP#t(9=-".PS~RR EK@bfW<{4wO13.7b$$ChEOL1" /J MZz LL; 9EO ! 3Qey!!!.7RAPLC3# We y f  (Z5!H!= F S _i7 KK: @C44OiS + EPW2o^&< RO`,r3IB;(8;XOTM9(E,#4?%t&DZGa;H6Lk="-[P[GAPU7< C]=$ =+^"%%#R7p*SAUj6ZB9?y% ,:-S&TB<:FLV4GDg%V )479lP_GWH2&Y5jD6/vL) &:B U_ n "#  @#Z#~:3E J Xbi3  #8<E\cz &" &# J c   E ? ' E M  ] i q *         ! 0 F d  i s !          &+ 'R z   _ u'108 9ZEO^4$ !B-\(H[Gw@2E&a  x+RF~:O&oFm!3HKd9[mFIcbW"!%GP_vCc  ~!6"K"I #fS## ##.#'$C$W$k%/N&:~&&'(L((P(4L)/)Y)+ *7*Q*/i*)*<*4+85+@n+3++,P1-H-4-..#.#./F/90W0$1?C2x2z2vw3t3c4E5E5866E7L7c=88888 9995C:-y:Y:\;^; o;;d;F<hY<1<<~=C]>>> >!>>J? @6(@7_@:@/@A-A8AUAGSB4B@BC^C|D~D]EXqE{EQFF<F=F6G-JG/xGGdHrH:HG1IKyIIgJJ0KL/MMMMM-N >NKN*ZN N%N8N*NtOOP(R@StSMT`TG}T>T?UDUhJVVVVW'WZ7Z$3\X\m\\\1\a\48]Im]5]a]?O^E^\^:2_m__g_r_i`NaQdaBaNamHbQbDcgMcAcc d%d6@d*wd!ddd,d"$eGe&]efe(eNfDcfDff>gDg h):hgdhh0h7 i#Di hi?i?i! jR+j~j2jjBj $kIEkkl)lAl,VlQll<mqm2:nmnEocboVoQpopq(q)qqMr&frHrrsssst!"tDt0u*7ubu}vv=Hwwwjw|*xdxb y.oy/yy{{|} ~:!~\~Ww~$~j~k_ LZ4k@pQPQ ,3܂3D ˃ 1,L!h";0+&H6o#'ʅ$),Vev_+IiՇ&?%f<@ɈV Cam<5P))ڊl|I.JxÍ/ԍDBIWcHcV0" :dE#aΓ>0Moܔ# KAXTMRޚI&#z˞FY=lS$6#(Z6 ؠFA56wCNMA7 Ǣ ԢuAV8_\V/L|/קlE)ūWV٭0ӯxy.>سSc׶#;R_>SZ*Jʹ QȺbE}WûW@s'ܼ${>O? 4J I_lK̿ 1-"jP,4I^7x5b |3%?H i 703h5.;T=*O18)Oy;8o5_&\_ #)A<~v9GKo<`V1! )?6?hH3 ) ChP^&?X v"6,SY['MYu^.[6{k5o\wUD$%"45j P,q&L0CY\k IK43EKFc*B`o: Ea0p HKFvM XBh6d(xX6, 5Vq"&( =6%t 3l)^ ~P-yw]|l3gR!b7?w58;h5#5(;TqV66^9WQi GZ/w "t7boA(('(>g3{N!J ku@+ >l  TW  _cZx0H`IAN!m.q0Th%py):wa)<:KxiGl*^n%c~Q Z c (8!0a!""k#!$;$k9&&&>'M'(4(K(?=) })P*_*D;+s++,-4r./m0 1m1l1e2 33Z4+t4"44X566f8v]99m::;q@<<QJ=|>P?gj?@wA FB^QBKB6B3CEC(MCHvCCC%CDD.DWHDkD EEXENgvUoTkɑґ  den7;˒5RH =M44iHDɔ< KXnO %AV-gk  ):Yu3Ԙ)1K`sO-'*$R*wۚ-EFc4:ߛ"%s" has no primary key, manual change needed on row %s."tenant" is a term used with OpenStack storage - Google for "OpenStack tenant" to get more help on its meaningtenant%d errors, %d warnings%d hours, %d minutes, %d seconds%s (%s used)%s - could not back this entity up; the corresponding directory does not exist (%s)%s Error%s Error: Failed to initialise%s Error: Failed to open local file%s Error: Failed to upload%s Service Exception.%s access key%s archives remain%s authentication%s authentication failed%s checksum: %s%s download: failed: file not found%s end-point%s error - failed to access the container%s error - failed to re-assemble chunks%s error - failed to upload file%s error - we accessed the container, but failed to create a file within it%s error: %s%s has been chosen for remote storage, but you are not currently connected.%s hours%s location%s login failure%s logo%s minutes, %s seconds%s per quarter%s per year%s re-assembly error (%s): (see log file for more)%s restoration options:%s returned an unexpected HTTP response: %s%s secret key%s settings test result:%s support is available as an add-on%s table(s) found.%s total table(s) found; %s with the indicated prefix.%s upload: getting uploadID for multipart upload failed - see log file for more details%s version:%s weeks%s: unreadable file - could not be backed up%s: unreadable file - could not be backed up (check the file permissions and ownership)(Not finished)(Read more)(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).(already uploaded)(apparently a pre-release or withdrawn release)(as many as you like)(at same time as files backup)(backup set imported from remote location)(learn more about this significant option)(logs can be found in the UpdraftPlus settings page as normal)...(make sure that you were trying to upload a zip file previously created by UpdraftPlus)(or connect using the form on this page if you have already purchased it)(tap on an icon to select or unselect)(verb)Download(version: %s)(view log...)... and many more!1 hour1 weekDo not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...).(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem).This is NOT a folder name.A "migration" is ultimately the same as a restoration - but using backup archives that you import from another site.A key with this name already exists; you must use a unique name.A search/replace cannot be undone - are you sure you want to do this?A very large file was encountered: %s (size: %s Mb)A zip error occurredABORT: Could not find the information on which entities to restore.API Key: %sAPI keyAPI secretAWS authentication failedAccess Key: %sAccount IDAccount full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized.Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-basedActionsActions upon selected backupsAdd a siteAdd an additional retention rule...Add an exclusion ruleAdd an exclusion rule for %sAdd an external database to backup...Add another address...Add siteAdding...Additional storageAdmin API KeyAdmin UsernameAdmin access keyAdmin secret keyAdvanced / Debugging SettingsAdvanced ToolsAfter pressing this button, you will be given the option to choose which components you wish to migrateAfter pressing this button, you will be given the option to choose which components you wish to restoreAll files beginning with given charactersAll files beginning with these charactersAll files with this extensionAll references to the site location in the database will be replaced with your current site URL, which is: %sAll sitesAllow deletionAllow downloadAlmost all FTP servers will want passive mode; but if you need active mode, then uncheck this.Also delete from remote storageAlso send this backup to the active remote storage locationsAlso, you should read this important FAQ.An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %sAn admin password has been set.An error occurred on the first %s command - aborting runAn error occurred when trying to retrieve your add-ons.An error occurred whilst closing the final database fileAn unknown error occurred when trying to connect to UpdraftPlus.ComAn update containing your addons is available for UpdraftPlus - please follow this link to get it.An update is available for UpdraftPlus - please follow this link to get it.Any other directories found inside wp-contentAny support requests to do with %s should be raised with your web hosting company.Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address.Archive is expected to be size:Are you sure that you wish to remove %s from UpdraftPlus?Are you sure you want to remove this exclusion rule?Asia PacificAsia Pacific (Singapore)Asia Pacific (Sydney)Asia Pacific (Tokyo)Ask WordPress to automatically update UpdraftPlus when it finds an available update.Ask WordPress to update UpdraftPlus automatically when an update is availableAsk a pre-sales questionAssigned to this siteAt the same time as the files backupAttribute imported content to userAuthenticate with %sAuthenticate with GoogleAuthenticationAuthorisation failed (check your credentials)Automatic BackupAutomatic backup before updateAutomatic updatesAutomatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable for this site (via your all-addons purchase)Available to claim on this siteAzureAzure GovernmentBack...Backed up: %sBackup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingBackup Contents And ScheduleBackup NowBackup ReportBackup began:Backup begunBackup contains:Backup created by unknown source (%s) - cannot be restored.Backup created by:Backup created by: %s.Backup data (click to download)Backup data will be sent to:Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified does not exist.Backup directory specified exists, but is not writable.Backup directory specified is writable, which is good.Backup directory successfully created.Backup does not exist in the backup historyBackup external databaseBackup file not available.Backup finishedBackup is of: %s.Backup label:Backup made by %sBackup non-WordPress tables contained in the same database as WordPressBackup of:Backup sent to remote site - not available for download.Backup set not foundBackup sets removed:Backup succeededBackup won't be sent to any remote storage - none has been saved in the %sBad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive.Be safe with an automatic backupBegun looking for this entityBelgiumBlog linkBlog uploadsBucketBucket locationBuy ItCallCall WordPress action:CancelCentral United StatesChange Lock SettingsChanges made:Check this box to have a basic report sent toCheck this box to use Amazon's server-side encryptionCheck this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits).Check this to receive more information and emails on the backup process - useful if something is going wrong.Check your file permissions: Could not successfully create and enter directory:Check your file permissions: Could not successfully create and enter:Chicago (ORD)China (Beijing) (restricted)Choose the components to restoreChoose the components to restore:Choose your remote storageClaim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?Claim not granted - your account login details were wrongCleaning up rubbish...Client IDClient SecretClone readyClone region:CloseCloud FilesCloud Files API KeyCloud Files ContainerCloud Files Storage RegionCloud Files UsernameCloud Files authentication failedCloud Files error - we accessed the container, but failed to create a file within itCloud Files operation failed (%s)Cloud Files usernameConfirmConfirm changeConflict: that user already existsConflict: that user or email address already existsConnectConnect with your UpdraftPlus.Com accountConnecting...Connection failed.Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.Connection succeeded.ConstantsContainerContains:Content URL:Continue restorationCopying this entity failed.Could not access %s containerCould not access containerCould not create the containerCould not find that job - perhaps it has already finished?Could not get list of tablesCould not move old files out of the way.Could not open the backup file for writingCould not read the directoryCounting...CreateCreate Azure credentials in your Azure developer console.Create OneDrive credentials in your OneDrive developer console.Create a new API user with access to only this container (rather than your whole account)Create new API user and containerCreate new IAM user and S3 bucketCreated database backupCreated file backup zipsCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backupCreating database backup with UpdraftPlus...Creating file backup zipsCreating...Current clonesCurrent limit is:Current memory usageCurrent use:Currently disabledCurrently enabledDailyDallas (DFW) (default)Dashboard:DatabaseDatabase (created by %s)Database (files backup has not completed)Database OptionsDatabase backup scheduleDatabase decryption phraseDatabase encryption phraseDatabase only (files were not part of this particular schedule)Database successfully decrypted.Database: search and replace site URLDebug modeDebugging informationDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete failed:Delete from your web serverDelete local backupDelete selected backupsDelete these settingsDelete this backup setDeleting...Deploying site dataDeselectDeselect all backupsDirectory pathDisable SSL entirely where possibleDisabled this plugin: %s: re-activate it manually when you are ready.DisconnectDisconnecting...DismissDismiss (for %s months)Dismiss from main dashboard (for %s weeks)Do not abort after pressing Proceed below - wait for the backup to complete.Do not confuse %s with %s - they are separate things.Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated.PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted.Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do remember to save your settings.Do you need WordPress Multisite support?Do you want to migrate or clone/duplicate a site?Don't know your email address, or forgotten your password?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDrop backup files hereDrop encrypted database files (db.gz.crypt files) here to upload them for decryptionDropboxDurable reduced availabilityEastern Asia-PacificEastern United StatesEditEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypted databaseEncrypting databaseEnter a comma-separated list; otherwise, leave blank for all tables.Enter addresses here to have a report sent to them when a backup job finishes.Enter details for where this new site is to live within your multisite install:Enter in format HH:MM (e.g. 14:22).Enter passwordEnter password.Enter the ID of the %s project you wish to use here.Enter the name of the %s bucket you wish to use here.Enter the path of the %s folder you wish to use here.Enter the path of the %s you wish to use here.Enter usernameEnter username.Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name.Enter your UpdraftPlus.Com email / password here to connect:Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name.Enter your chosen nameErrorError - failed to download the fileError data:Error downloading remote file: Failed to downloadError messageError opening local file: Failed to downloadError opening remote file: Failed to downloadError when creating new site at your chosen address:Error:Error: %sError: Failed to uploadError: the server sent an empty response.Error: the server sent us a response (JSON) which we did not understand.Error: the server sent us a response which we did not understand.Error: unexpected empty parameter (%s, %s)Error: unexpected file read failErrorsErrors / warnings:Errors encountered:Errors have occurred:Errors occurred when trying to connect to UpdraftPlus.Com:Errors occurred:Errors:Europe (Frankfurt)Europe (Ireland)Europe (London)Europe (Stockholm)European UnionEvery %s hoursExamples of S3-compatible storage providers:Exclude files/directoriesExclude these fromExclude these:Existing backupsExisting keysExpert settingsExtensionsExternal databaseExternal database (%s)FTP loginFTP passwordFTP serverFacebookFailedFailed to access %s when deleting (see log file for more)Failed to apply User PolicyFailed to create a temporary directoryFailed to delete working directory after restoring.Failed to downloadFailed to download %sFailed to find database fileFailed to open database fileFailed to open database file for reading:Failed to open database file.Failed to open directory (check the file permissions and ownership): %sFailed to open the zip file (%s) - %sFailed to unpack the archiveFailed to upload %sFailed to upload to %sFailed to write out the decrypted database to the filesystemFailed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location.Failed: We were able to log in, but failed to successfully create a file in that location.Failed: We were not able to place a file in that directory - please check your credentials.Failed: the %s operation was not able to start.Failed: we did not understand the result returned by the %s operation.FailureFailure: No %s was given.Failure: No bucket details were given.Failure: No container details were given.Failure: No server details were given.Failure: Port must be an integer.Failure: we did not successfully log in with those credentials.Failure: we successfully logged in, but were not able to create a file in the given directory.FetchFile (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.File OptionsFile is not locally present - needs retrieving from remote storageFile not foundFile not found (you need to upload it): %sFile ready.File was found, but is zero-sized (you need to re-upload it): %sFile/directoryFilesFiles (database backup has not completed)Files and databaseFiles and database WordPress backup (created by %s)Files backup (created by %s)Files backup scheduleFiles found:Files only (database was not part of this particular schedule)Final checksFind out more about incremental backups here.FinishedFirst, enter the decryption keyFolderFollow this link for helpFollow this link for more informationFollow this link to attempt decryption and download the database file to your computer.Follow this link to download the log file for this restoration (needed for any support requests).Follow this link to sign up for the UpdraftPlus newsletter.Follow this link to the installation instructions (particularly step 1).Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section.For backups older thanFor even more features and personal support, check out For longer help, including screenshots, follow this link.For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium.For unlocking support, please contact whoever manages UpdraftPlus for you.Forgotten your details?FortnightlyFound SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset().FrankfurtFreeFree disk space in account:Free two-factor security pluginFront page:Full backupFull feature listGet it from the UpdraftPlus.Com StoreGet more quotaGoGo hereGo here for helpGo here for more information.Go here to activate it.Go here to begin installing it.Go here to connect.Go here to re-enter your password.Go to your UpdraftCentral Cloud dashboardGoogle CloudGoogle DriveGoogle Drive list files: failed to access parent folderHTTP code:Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.Hong Kong (HKG)HostHow do I get a site's key?However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.However, subsequent access attempts failed:I accept the UpdraftClone terms and conditionsIAM operation failed (%s)If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If OneDrive later shows you the message "unauthorized_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead.If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.If you are not sure then you should stop; otherwise you may destroy this WordPress installation.If you are not sure what this option is for, then you will not want it, and should turn it off.If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes.If you are using this, then turn Turbo/Road mode off.If you bought new add-ons, then follow this link to refresh your connectionIf you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.If you exclude both the database and the files, then you have excluded everything!If you have already renewed, then you need to allocate a licence to this site - %sIf you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)If you have forgotten your password If you have forgotten your password, then go here to change your password on updraftplus.com.If you leave it blank, then the backup will be placed in the root of your %sIf you see errors about SSL certificates, then please go here for help.If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite.If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.Importing a single site into a multisite installImporting...In %s, path names are case sensitive.Include in files backupIncrementalIncremental backupsIncremental backups are a feature of %s (upgrade by following this link).Infinite recursion: consult your log for more informationInformation needed to continue:Interested in knowing about your UpdraftPlus.Com password security? Read about it here.IowaIt appears that your web server's IP Address (%s) is blocked.It can also backup external databases.It has been tested up to version %s.It is an ID number internal to Google DriveIt is for sending backups to the following site: It will be imported as a new site.JavaScript warningJob ID: %sJob deletedKeyKey created successfully.Keystone and swauth are technical terms which cannot be translatedThis needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.Known backups (raw)Last log messageLatest UpdraftPlus.com news:Latest status:Lead developer's homepageLeave this blank, and a default will be chosen.Local write failed: Failed to downloadLock access to the UpdraftPlus settings pageLog all messages to syslog (only server admins are likely to want this)LondonLondon (LON)Looking for %s archive: file name: %sManage AddonsManually decrypt a database backup fileMemory limitMessages:Middle East (Bahrain)Migrated site (from UpdraftPlus)MonthlyMore FilesMore great plugins by the Updraft TeamMore pluginsMore tasks:Moving old data out of the way...Moving unpacked backup into place...MultisiteMultisite InstallMust-use pluginsN.B. %s is not case-sensitive.N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.N.B. This count is based upon what was, or was not, excluded the last time you saved the options.N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you.Name: %s.NearlineNeed to get support?Need to use sub-folders?Needs to already existNetwork activating theme:New IAM usernameNew User's Email AddressNew User's UsernameNew site:NewsNewsletter sign-upNext scheduled backupsNoNo %s foundNo %s settings were foundNo adsNo backup has been completedNo backup of %s directories: there was nothing found to back upNo database tables foundNo local copy present.No log files were found.No receiving sites have yet been added.No settings were foundNo such backup set existsNoneNorth VirginiaNorthern Virginia (IAD)Not got any remote storage?Not installedNot yet got an account (it's free)? Go get one!Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability.Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates.Note that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing to do: the site URL is already: %sNothing yet loggedNoticeOKOld table prefix:One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the "retain" settings; if/when you wish to delete them then you must do so manually.OneDriveOnly the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOperation to create user Access Key failedOptions (raw)Or, use an UpdraftClone keyOr, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.OregonOther %s FAQs.OthersOtherwise, the default link will be shown.Otherwise, you can leave it blank.Over-write wp-config.phpPHP informationPassive modePasswordPassword incorrectPassword: %sPaste key herePathPayments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.Peak memory usagePerform a backupPlease check your access credentials.Please consult this FAQ if you have problems backing up.Please enter a file extension, like zipPlease enter a valid URLPlease enter a valid file extensionPlease enter a valid file name prefixPlease enter characters that begin the filename which you would like to excludePlease fill in the required information.Please give this key a name (e.g. indicate the site it is for):Please make sure that you have made a note of the password!Please re-authorize the connection to your %s account.Please read this link for important information on this process.Please select a file/folder which you would like to excludePlease supply the requested information, and then continue.Please wait whilst we make the claim...PluginsPortPre-sales FAQsPremiumPremium / ExtensionsPremium WooCommerce pluginsPress a button to get started.Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded.Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder).Proceed with updateProcessed plugin:Processing files - please wait...Processing table (%s)Processing...Project IDPruning old backup setsQuota:RSS linkRaw backup historyRead FAQs here.Read more about Easy Updates ManagerRead more about how this works...Read more about server-side encryptionRead more...Read this page for a guide to possible causes and how to fix it.Receiving site dataRefresh current statusRegionRegion: %sRemember this choice for next time (you will still have the chance to change it)Remote Storage OptionsRemote pathRemoveRemove old directoriesReplace withReportingRequested table engine (%s) is not present - changing to MyISAM.Requesting start of backup...Require password again afterRequired information for restoring this backup was not given (%s)Rescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...RestoreRestore an existing backup set onto this siteRestore backupRestore files fromRestoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Retrieving (if necessary) and preparing backup files...Return to UpdraftPlus ConfigurationReview UpdraftPlusRows examined:Rows per batchS3 (Compatible)S3 bucketS3 storage regionSCP/SFTP host settingSCP/SFTP password/keySCP/SFTP user settingSQL update commands run:Save ChangesSaving...SearchSearch / replace databaseSearch and replace site location in the database (migrate)Search and replacing table:Search forSecret Key: %sSee Google's guidelines on bucket naming by following this link.See Microsoft's guidelines on container naming by following this link.See this FAQ also.Select 'Web Application' as the application type.Select FilesSelect a file/folder which you would like to excludeSelect a way to exclude files or directories from the backupSelect allSelect all backupsSendSend a report only when there are warnings/errorsSend this backup to remote storageSend to site:Sending Your Backup To Remote StorageServer-side encryptionSettingsShow all backups...Show expert settingsShow more backups...Show raw backup and file listShow the optionsSingaporeSiteSite data has been deployedSite data receivedSite home:Site information:Size: %s MBSkip this stepSkipping: this archive was already restored.Some files are still downloading or being processed - please wait.South CarolinaSplit archives every:Split line to avoid exceeding maximum packet sizeStandardStart backupStarting automatic backup...Storage classStore atSubscriptions can be cancelled at any time.SuccessSuccess:Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:Sufficient information about the in-progress restoration operation could not be found.SupportSupport URLSupported backup plugins: %sSydneySydney (SYD)Table prefixTable prefix has changed: changing %s table field(s) accordingly:Tables examined:TaiwanTake a new backupTake an incremental backupTell me more about incremental backupsTenantTest %s SettingsTest connection...Testing %s Settings...Testing connection...Testing...Thank you for installing UpdraftPlus!The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.The %s object was not foundThe 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site.The UpdraftPlus module for this file access method (%s) does not support listing filesThe WordPress content folder (wp-content) was not found in this zip file.The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The above files comprise everything in a WordPress installation.The admin password has been changed.The admin password has now been removed.The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)The attempt to send the backup via email failed (probably the backup was too large for this method)The attempt to undo the double-compression failed.The attempt to undo the double-compression succeeded.The backup attempt has finished, apparently unsuccessfullyThe backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail.The backup has not finished; a resumption is scheduledThe backup records do not contain information about the proper size of this file.The backup was aborted by the userThe communication with %s was encrypted.The communication with %s was not encrypted.The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on.The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.The database is too small to be a valid WordPress database (size: %s Kb).The decryption key used:The directory does not existThe directory does not exist, and the attempt to create it failedThe entered key does not belong to a remote site (it belongs to this one).The entered key was corrupt - please try again.The entered key was the wrong length - please try again.The error reported by %s was:The exclusion rule which you are trying to add already existsThe file was uploaded.The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The higher the value, the more server resources are required to create the archive.The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The key provided was not in a valid format, or was corrupt.The key was successfully added.The location of this directory is set in the expert settings, in the Settings tab.The log file could not be read.The log file has been attached to this email.The new user's RackSpace console password is (this will not be shown again):The preparation of the clone data has been aborted.The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe site data has all been received, and its import has begun.The time zone used is that from your WordPress settings, in Settings -> General.The user is being told the number of times an error has happened, e.g. An error (27) occurredAn error (%s) occurred:The web server returned an error code (try again, or check your web server logs)The zip engine returned the message: %s.ThemesThen, these lower-powered access credentials can be used, instead of storing your administrative keys.These tables onlyThese will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket.This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site.This backup was created by %s, and can be imported.This button is disabled because your backup directory is not writable (see the settings).This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage).This can easily destroy your site; so, use it with care!This current siteThis database backup is missing core WordPress tables: %sThis database needs to be deployed on MySQL version %s or later.This decryption key will be attempted:This does not look like a valid WordPress core backup - the file %s was missing.This feature is not compatible with %sThis feature requires %s version %s or laterThis file could not be uploadedThis file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).This functionality has been disabled by the site administrator.This is a WordPress multi-site (a.k.a. network) installation.This is a count of the contents of your Updraft directoryThis is not your Azure login - see the instructions if needing more guidance.This is significantly newer than the server which you are now restoring onto (version %s).This most likely means that you share a webserver with a hacked website that has been used in previous attacks.This multi-archive backup set appears to have the following archives missing: %sThis option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up.This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database.This remote storage method (%s) requires PHP %s or later.This setting applies only when a new bucket is being created.This site has no backups to restore from yet.This storage method does not allow downloadingThis version of UpdraftPlus does not know how to handle this type of foreign backupThis will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these.This will delete all your UpdraftPlus settings - are you sure you want to do this?Time nowTime taken (seconds):Time taken:To access the UpdraftPlus settings, please enter your unlock passwordTo add a site as a destination for sending to, enter that site's key below.To be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To complete your migration/clone, you should now log in to the remote site and restore the backup set.To create a temporary clone you need credit in your account.To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings.To fix the time at which a backup should take place,To import an ordinary WordPress site into a multisite installation requires %s.To maintain your access to support, please renew.To make a backup, just press the Backup Now button.To read FAQs/documentation about UpdraftClone, go here.To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To regain your access, please renew.To remove the block, please go here.To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To send to more than one address, separate each address with a comma.To use this backup, your database server needs to support the %s character set.TokyoToo many database errors have occurred - abortingTotal (uncompressed) on-disk data:Total backup size:Trying...TwitterType a file prefixType an extension like zipUKUS (default)US Government West (restricted)US West (N. California)US West (Oregon)US or UK CloudUS or UK Rackspace AccountUS or UK-based Rackspace AccountUnable to open zip file (%s) - could not pre-scan it to check its integrity.Unable to read zip file (%s) - could not pre-scan it to check its integrity.Under MaintenanceUnexpected response:Unfinished restorationUnited StatesUnknownUnknown server response status:Unknown server response:Unknown/unexpected error - please raise a support requestUnless you have a problem, you can completely ignore everything here.UnlockUnpacking backup...Update quota countUpdraft VaultUpdraftCentralUpdraftClone key is required.UpdraftPlus - Upload backup filesUpdraftPlus AddonsUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus PremiumUpdraftPlus Premium:UpdraftPlus Restoration: ProgressUpdraftPlus SupportUpdraftPlus is not yet activated.UpdraftPlus is not yet installed.UpdraftPlus is on social media - check us out!UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)UpdraftPlus notice:UpdraftPlus settingsUpdraftPlus warning:UpdraftPlus was unable to find the table prefix when scanning the database backup.UpdraftPlus.Com responded, but we did not understand the responseUpdraftPlus.Com returned a response which we could not understand (data: %s)UpdraftPlus.Com returned a response, but we could not understand itUpdraftPlus.com has responded with 'Access Denied'.Upload backupUpload backup filesUpload errorUpload error:Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)Upload failedUpload files into UpdraftPlus.Uploaded to:Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select FilesorUploading files to remote storageUploadsUse SCP instead of SFTPUse the "Reporting" section to configure the email addresses to be used.Use the server's SSL certificatesUsernameUsername: %sVault ownerVerifyingVerifying one-time password...VersionView LogWaiting until scheduled time to retry because of errorsWarningWarning:Warning: %sWarning: the database's home URL (%s) is different to what we expected (%s)Warning: the database's site URL (%s) is different to what we expected (%s)WarningsWarnings encountered:Warnings:We accessed the bucket, and were able to create files within it.We accessed the container, and were able to create files within it.We failed to successfully connect to UpdraftPlus.ComWe requested to delete the file, but could not understand the server's responseWe successfully accessed the bucket, but the attempt to create a file in it failed.Web server:Web-server disk space in use by UpdraftPlusWebDAV URLWeeklyWelcome to UpdraftPlus!Well done - there's nothing more needed to set up.Western EuropeWestern United StatesWhere to change directory to after logging in - often this is relative to your home directory.Which site to restoreWhy am I seeing this?Wipe settingsWith UpdraftPlus Premium, you can directly download individual files from here.Without it, encryption will be a lot slower.Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors.Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website.WordPress BackupWordPress CoreWordPress backup is completeWordPress coreWordPress core (including any additions to your WordPress root directory)WordPress core (only)WordPress installedWordPress installed; now awaiting the site data to be sent.WordPress root directory server path: %sYesYou are currently using the free version of UpdraftPlus.You are now using a IAM user account to access your bucket.You are presently not connected to an UpdraftPlus.Com account.You are running on WordPress multisite - but your backup is not of a multisite site.You are using the %s webserver, but do not seem to have the %s module loaded.You can check the progress here or in %sYou can enter the path of any %s virtual folder you wish to use here.You can find out more about clone keys here.You can get more quota hereYou can manually decrypt an encrypted database here.You do not have access to this bucketYou do not have access to this bucket.You do not have the UpdraftPlus %s add-on installed - get it from %sYou do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?You entered an email address that was not recognised by UpdraftPlus.ComYou have an inactive purchaseYou have an unfinished restoration operation, begun %s ago.You have chosen to backup files, but no file entities have been selectedYou have made changes to your settings, and not saved.You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons.You have not yet connected with your UpdraftPlus.Com account.You have not yet made any backups.You must add the following as the authorised redirect URI (under "More Options") when askedYou must add the following as the authorized redirect URI (under "More Options") when askedYou must enter a project ID in order to be able to create a new bucket.You must save and authenticate before you can test your settings.You must select at least one remote storage destination to upload this backup set to.You must upgrade MySQL to be able to use this database.You must use a bucket name that is unique, for all %s users.You must use lower-case letters or numbers for the site path, only.You need to connect to receive future updates to UpdraftPlus.You need to enter a bucketYou need to enter a containerYou need to enter a new IAM usernameYou need to enter a new usernameYou need to enter a valid new email addressYou need to enter an admin API keyYou need to enter an admin access keyYou need to enter an admin secret keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You need to supply both an email address and a passwordYou selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network.You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly.You should check the file ownerships and permissions in your WordPress installationYou should enable %s to make any pretty permalinks (e.g. %s) workYou should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website).You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility.You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud.You will find more information about this in the Settings section.You will need to ask your web hosting company to upgrade.You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.You will need to restore it manually.You've got itYour %s account name: %sYour %s quota usage: %s %% used, %s availableYour %s version: %s.Your IP address:Your UpdraftClone is still setting up.Your backup has been restored.Your clone has started and will be available at the following URLs once it is ready.Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready.Your clone will now deploy this data to re-create your site.Your database user does not have permission to drop tablesYour email address and password were not recognised by UpdraftPlus.ComYour email address was valid, but your password was not recognised by UpdraftPlus.Com.Your free disk space is very low - only %s Mb remainYour free space in your hosting account is very low - only %s Mb remainYour hosting company must enable these functions before %s can work.Your label for this backup (optional)Your login may be either password or key-based - you only need to enter one, not both.Your new key:Your paid access to UpdraftPlus support has expired.Your paid access to UpdraftPlus support will soon expire.Your paid access to UpdraftPlus updates for %s add-ons on this site has expired.Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire.Your paid access to UpdraftPlus updates for this site will soon expire.Your saved settings also affect what is backed up - e.g. files excluded.Your settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your version: %sYour web server has PHP's so-called safe_mode active.Your web server's PHP installation has these functions disabled: %s.Your web-server does not have the %s module installed.Your website is hosted using the %s web server.Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:Your wp-content directory server path: %sactivate it on this sitealready doneand retain this many scheduled backupsarchiveauthentication URIcalculatecalculating...check your log for more details.configure it herecontainercountdatabase connection attempt faileddatabase connection attempt failed.database namedayday(s)e.g. %se.g. if your server is busy at day and you want to run overnightencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)error: failed to upload file to %s (see log file for more)failed to access parent folderfailed to list filesfailed to upload file to %s (see log file for more)filefile is size:files: %sfolderfollow this link to get itgo herego here to change your password on updraftplus.com.go here to learn morehosthost namehour(s)i.e. Non-automaticManualin the monthincremental backup; base backup: %skeykey namelast activity: %ss agolatestlog results to consoleloginlogin failuremanagemay include some site-wide datamoremulti-region locationno options or sitemeta table was foundnow proceeding with the updates...optionalor to configure more complex schedulesor, to reset this optionother content from wp-contentpasswordpassword/keyplease follow this link to update the plugin in order to activate itplease follow this link to update the plugin in order to get itplease wait for the rescheduled attemptpluginsread more at %srecommendedrefreshregular non-encrypted FTPrequired for some remote storage providersresetrestorationrows: %dsearch and replacesearch termsettingsshow PHP information (phpinfo)show logsite not foundskipped (not in list)starting from next time it isstoptable: %stemplate not foundthe database query being run was:the options table was not foundthemesunknown sourceupload faileduse UpdraftPlus Premiumuserusernameweek(s)will restore as:you have authenticated your %s accountyou have authenticated your %s account.your UpdraftPlus.com accountyour site's admin addresszip executable found:PO-Revision-Date: 2021-02-17 23:47:10+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2); X-Generator: GlotPress/3.0.0 Language: ru Project-Id-Version: UpdraftPlus "%s" не имеет первичного ключа, необходимы исправления в строке %s.группа пользователей OpenStack%d ошибок, %d предупреждений%d час(-ов) %d минут(-а) %d секунд(-а)%s (%s использовано)%s - не удалось создать резервную копию этого объекта; соответствующая директория не найдена (%s)%s Ошибка%s Ошибка: Не удалось инициализироватьОшибка %s: Неудалось открыть локальный файл Ошибка %s: Неудалось закачатьИсключение службы %s%s код доступа%s архивы остаются%s авторизация%s авторизация не удалась%s контрольная сумма: %sСкачивание %s: не удалось: файл не найден%s конечная точкаОшибка %s - не удалось получить доступ к контейнеру%s ошибка - не удалось собрать фрагменты%s ошибка - невозможно закачать файл%s ошибка - мы получили доступ к контейнеру, но не смогли создать в нём файл%s ошибка: %s%s выбран в качестве удаленного хранилища, однако в данный момент вы не подключены.%s часа(-ов)%s расположение%s ошибка авторизации%s лого%s минут, %s секунд%s на четверть%s в годОшибка %s: %s (смотрите файл журнала для более подробной информации)%s опции восстановления:%s вернул непредусмотренный ответ HTTP: %s%s секретный ключРезультат проверки настройки %s:%s поддержка доступна в качестве дополнения%s таблица(-ц) найдено.%s всего таблиц; %s с заданным префиксом.загрузка %s: не удалось получить идентификатор для мультифайловой загрузки (смотрите файл журнала)Версия %s:%s недель%s: нечитаемый файл - не возможно сохранить в резервной копии%s: нечитаемый файл - резервное копирование не может быть произведено (проверьте права на чтение/запись)(Не завершено)(Узнать больше)(Это будет применено для всех плагинов резервного копирования WordPress, кроме случаев когда они конкретно были написаны для совместимости с мультсайтовой конфигурацией).(уже загружено)(возможно пре-релиз или отменённый релиз)(столько сколько вам требуется)(одновременно с созданием резервной копии файлов)(резервная копия импортирована из удаленного расположения)(узнать больше об этом важном параметре)(логи могут быть найдены на странице настроек UpdraftPlus)...(убедитесь что вы пытались загрузить zip-архив ранее созданный при помощи UpdraftPlus)(или воспользуйтесь формой на этой странице если вы уже совершили покупку ранее)(нажмите на иконку для выбора или отмены выбора)Скачать(версия: %s)(просмотреть лог...)... и многое другое!1 час1 неделяНе размещайте внутри директории загрузок или плагинов, потому что это может вызвать повторения (резервные копии резервных копий резервных копий...).(Похоже что вы уже авторизованы. Несмотря на это вы можете авторизоваться заново, если у вас возникли какие-то проблемы).Это НЕ название директории."Перенос" - это практически то же самое что и восстановление, разница только в том что используется резервная копия, импортированная с другого сайта.Ключ с таким именем уже существует; вы должны выбрать уникальное имя.Поиск и замена не могут быть отменены - вы уверены, что хотите сделать это?Найден очень большой файл: %s (размер: %s МБ)Произошла ошибка при работе с zip архивомОТМЕНА: Не удалось найти информацию для восстановления.Ключ API: %sКлюч APIСекретный ключ APIАвторизация AWS не удаласьКлюч доступа: %sID аккаунтаУчётная запись заполнена: остаток свободного места для вашей учётной записи %s составляет %d байт, осталось загрузить %d байт (общий размер файла: %d байт)Аккаунт заполнен: свободное место на Вашем аккаунте %s составляет %d байт, а файл который нужно загрузить имеет размер %d байт.Имя владельца аккаунта: %s.Учётная запись на авторизована.Аккаунты созданные на rackspacecloud.com это аккаунты US (американские); аккаунты созданные на rackspace.co.uk это аккаунты UK (английские); Аккаунты созданные на rackspacecloud.com это аккаунты US (американские); аккаунты созданные на rackspace.co.uk расположены в UK (Великобритании); ДействияДействия с выбранными резервными копиямиДобавить сайтДобавить дополнительное правило задержки...Добавить правило исключенияДобавить исключение для %sДобавить внешнюю базу данных к резервной копии...Добавить другой адрес...Добавить сайтДобавление...Дополнительное хранилищеКлюч API АдминистратораИмя пользователя АдминистратораКлюч доступа АдминистратораСекретный ключ АдминистратораРасширенные / отладочные настройкиДополнительные ВозможностиПосле нажатия этой кнопки у вас будет возможность выбрать какие компоненты вы хотели бы перенестиПосле нажатия этой кнопки Вам будет доступен выбор компонентов для восстановленияВсе файлы, начинающиеся с заданных символовВсе файлы, начинающиеся с этих символовВсе файлы с этим расширениемВсе ссылки сайта в базе данных будут изменены в соответствии с Вашим текущим URL сайта, который имеет вид: %sВсе сайтыРазрешить удалениеРазрешить загрузкуПочти все серверы FTP работают в пассивном режиме. Но если вам необходим активный режим - снимите выбор с этого пункта.Также удалить из удалённого хранилищаДополнительно отправить эту резервную копию в активные удалённые хранилищаВы также должны прочитать этот важный раздел FAQ.Найдена строка базы данных SQL которая превышает максимальный размер пакета и не может быть разделена на фрагменты; она не будет обработана, но будет сброшена: %sПароль администратора установлен.Произошла ошибка при выполнении первой команды %s - отмена запускаПроизошла ошибка при попытке получить ваши дополнительные модули.Во время закрытия последнего файла базы данных произошла ошибкаПри попытке соединения с UpdraftPlus.com произошла неизвестная ошибкаДоступно обновления для UpdraftPlus и всех ваших дополнений - пожалуйста проследуйте по этой ссылке для того чтобы получить его.Доступно обновление для UpdraftPlus - пожалуйста проследуйте по ссылке для того чтобы его получить.Любые другие папки в директории wp-contentЛюбые запросы в техподдержку, связанные с %s, должны быть адресованы вашему хостинг провайдеру.Каждый кто увидит экран блокировки будет видеть данный URL техподдержки - введите адрес сайта или адрес e-mail.Архив должен быть следующего размера:Вы уверены, что хотите удалить %s из UpdraftPlus?Вы уверены, что хотите удалить это правило исключения?Азиатско-Тихоокеанский регионAsia Pacific (Singapore)Asia Pacific (Sydney)Asia Pacific (Tokyo)Настройте WordPress автоматически обновить UpdraftPlus, когда он найдет доступное обновление.Настройте WordPress автоматически обновлять UpdraftPlus, когда доступно обновлениеЗадать вопрос перед покупкойПрикреплён к этому сайтуОдновременно с созданием резервной копии файловПрикрепить импортированные данные к пользователюВойти с %sАвторизация в GoogleАутентификацияАвторизация не удалась (Проверьте ваши учётные данные)Автоматическое резервное копированиеАвтоматическое резервное копирование перед обновлениемАвтоматические обновленияАвтоматическое резервное копирование (там где необходимо) плагинов, тем и базы данных WordPress при помощи UpdraftPlus перед обновлениемДоступно для этого сайта (через покупку всех дополнительных модулей)Доступно для получения на этом сайтеAzureAzure GovernmentНазад...Резервная копия: %sСоздавать (при необходимости) резервную копию плагинов, тем и базы данных WordPress, при помощи UpdraftPlus перед обновлениемСодержимое резервных копий и РасписаниеСоздать РК сейчасОтчёт Резервного копированияРезервное копирование начато:Резервное копирование началосьРезервная копия содержит:Резервная копия создана неизвестным источником (%s) - восстановление не возможно.Резервная копия создана:Резервная копия был создана: %s.Данные резервной копии (нажмите чтобы скачать)Резервная копия будет отправлена сюда:Дата резервного копированияДиректория резервного копированияДиректория резервного копирования (s%) недоступна для записи или не существует.Невозможно создать директорию для резервных копий.Указанная директория для резервного копирования НЕ существует.Директория для резервного копирования существует, но НЕ доступна для записи.Указанная директория доступна для записи, отлично.Директория для резервных копий успешно создана.Резервная копия не существует в директории резервного копированияСоздать резервную копию внешней базы данныхФайл резервной копии недоступен.Резервное копирование завершено.Резервная копия состоит из: %s.Подпись резервной копии:Резервная копия создана %sСоздавать резервную копию таблиц не принадлежащих Wordpress, находящихся в базе данных используемой WordpressРезервная копия:Резервная копия отправлена на удалённый сайт - скачать нельзя.Не найден набор резервной копииУдалены наборы файлов резервной копии:Резервное копирование выполнено успешноРезервная копия не может быть отправлена в удалённое хранилище - ничего не сохранено в %sНеправильный формат имени файла - этот файл не похож на файл созданный UpdraftPlus.Неправильный формат имени файла - этот файл не похож на шифрованный файл резервной копии базы данных созданный UpdraftPlus.Имейте ввиду что почтовые сервера имеют ограничения на размер пересылаемых файлов; обычно около %s Мб; резервные копии превышающие этот размер скорее всего не дойдут.Будьте в безопасность с функцией автоматического резервного копированияНачат поиск данной записиБельгияСсылка на БлогЗагрузки блогаКонтейнерРасположение контейнераКупитьВызватьВызвать действие WordPress:ОтменаЦентральная АмерикаИзменить настройки блокировкиИзменения произведены:Выберите это поле для того чтобы базовый отчет был отправлен наВыберите для того чтобы использовать шифрование на стороне сервера AmazonВыберите чтобы удалить все лишние файлы с вашего сервера после того как резервное копирование будет завершено (если вы отключите эту опцию то файлы, отправляемы в удалённое хранилище также будут сохранены локально, и любые файлы сохранённые локально не будут иметь лимитов на сохранение).Поставьте галочку, чтобы получать больше информации и электронных писем во время резервного копирования — может пригодиться, если что-то пойдет не так.Проверьте ваши права на чтение/запись: не получается создать и открыть директорию:Проверьте права на чтение/запись: Невозможно создать и открыть:Чикаго (ORD)China (Beijing) (restricted)Выбрать компоненты для восстановления Выберите, что нужно восстановить:Выберите ваше удалённое хранилищеЗапрос не подтвержден - возможно вы уже использовали эту покупку в другом месте, либо оплаченный вами период на загрузку с updraftplus.com закончился?Запрос не выполнен - данные вашей учётной записи не верныОчистка мусора...ID клиентаСекретный ключКлон готовПродублируйте регионЗакрытьФайлы облачного хранилищаКлюч API CloudFilesКонтейнер CloudFilesРегион хранилища CloudFilesИмя пользователя CloudFilesОшибка авторизации Cloud FilesОшибка: мы получили доступ к контейнеру, но не можем создавать в нем файлыОперация CloudFiles не удалась (%s)Имя пользователя облачного хранилищаПодтвердитьПодтвердите изменениеКонфликт: такой пользователь уже существуетКонфликт: данный пользователь или адрес e-mail уже существуетСоединитьсяСоединиться с вашей учётной записью UpdraftPlus.comСоединение...Соединение установить не удалось.Соединение прервано: проверьте реквизиты доступа, удостоверьтесь что сервер с базой данных доступен, а также убедитесь что соединение с сетью не блокировано файерволом.Соединение успешно.ПостоянныеКонтейнерСодержит:URL данных:Продолжить восстановлениеКопирование данного логического объекта невозможна.Не можем принять контейнер %sНе удалось получить доступ к контейнеруНе удалось создать контейнерНевзможно найти задание - возможно оно уже завершено?Невозможно получить список таблицНе удалось удалить устаревшие данные.Невзможно открыть файл резервной копии для записиНевозможно прочесть директориюПодсчёт...СоздатьСоздайте реквизиты доступа Azure в консоли разработчка AzureСоздайте реквизиты доступа в вашей консоли разработчика OneDrive.Создать нового пользователя API с доступом только к данному контейнера (вместо всего аккаунта)Создать нового пользователя API и контейнерСоздать нового пользователя IAM и контейнер S3Резервная копия базы данных созданаСоздание zip-архивов резервных копий файловСоздание %s и резервной копии базы данных при помощи UpdraftPlus...Создание резервной копии при помощи UpdraftPlus...Создание резервной копии базы данныхСоздание резервной копии базы данных при помощи UpdraftPlus...Создание zip-архивов резервных копийСоздание...Текущие клоныТекущий лимит:Текущее использование памятиТекущее использование:Временно отключенВременно включенЕжедневноДаллас (DFW) (по умолчанию)Панель управления:База данныхБаза данных (Автор: %s)База данных (резервное копирование файлов не завершено)Настройки базы данныхГрафик резервного копирования базы данныхФраза (Ключ) для шифровки базы данных Кодовая фраза шифрования базы данныхТолько база данных (резервное копирование файлов не было включено в это конкретное расписание)База данных успешно расшифрована.База данных: найти и заменить URL сайтаРежим отладкиОтладочная информацияРасшифровка базы данных (может занять некоторое время)...УдалитьУдалить старые директорииУдалить набор резервной копииНе удалось удалить:Удалить с сервераУдалить локальную резервную копиюУдалить выбранные резервные копииУдалить настройкиУдалить данный набор резервного копированияУдаление...Развертывание данных сайтаОтменить выборОтменить выбор всех резервных копийПуть к директорииПолностью отключить SSL, где это возможноОтключен плагин: %s: активируйте его заново вручную когда будете готовы.ОтключитьсяОтключение...ПропуститьОтложить (на %s месяц(-ев))Скрыть из панели управления (на %s неделю(-ль))Не отменяйте резервное копирование после нажатия Начать ниже - дождитесь пока оно будет завершено.Не путайте %s с %s - это разные вещи.PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), поддерживаются форматы ключей XML и PuTTY.Не проверять SSL сертификатыПеред восстановлением прочтите эту статью, она очень полезна и содержит много удобных приёмов.Не забудьте сохранить ваши настройки.Вам нужна поддержка многосайтовой конфигурации WordPress?Вы хотите перенести сайт или создать его копию?Вы не знаете адрес e-mail или забыли ваш пароль?Не хотите чтобы за вами шпионили? UpdraftPlus Premium может шифровать резервные копии вашей базы данных. Ошибка скачивания: сервер прислал ответ, который мы не смогли распознать.Скачивание не удалосьПроизводится загрузкаСкачать лог-файлСкачать наиболее свежий вариант лог-файлаСкачать на компьютерРазместить файлы резервных копий здесьДобавьте сюда зашифрованные файлы резервной копии базы данных (файлы формата db.gz.crypt) для того чтобы загрузить их для дешифровкиDropboxDurable reduced availabilityEastern Asia-PacificEastern United StatesИзменитьЭлектронная почтаЭлектронная почта, сгенерированная бесплатной версией UpdraftPlus, включает в себя последние новости UpdraftPlus.comЗашифрованная база данныхШифрование базы данныхВведите в виде списка разделенного запятыми; в противном случае оставьте поля пустыми для всех таблиц.Адреса e-mail для отправки отчёта об окончании резервного копирования.Укажите детали где расположить данный новый сайт в пределах вашей мультисайтовой установки:Введите в формате ЧЧ:ММ (напр. 14:22).Введите парольВведите пароль.Введите ID проекта %s, который вы хотите использовать здесь.Введите сюда название контейнера %s, которое вы хотите использовать.Введите путь к %s папке, которую вы хотите использовать.Введите путь к %s, который вы хотите использовать сюда.Введите имя пользователяВведите имя пользователя.Введите ваше имя пользователя администратора Rackspace и ключ API (для того чтобы Rackspace могли авторизовать ваши права на создание новых пользователей), введите новое (уникальное) имя пользователя и адрес e-mail для нового пользователя, а также имя контейнера.Для того чтобы подключиться введите сюда ваши e-mail и пароль UpdraftPlus.comВведите ваши административные ключ доступа и секретный ключ Amazon S3 (необходимо чтобы введенные реквизиты имели достаточно прав для создания новых пользователей и контейнеров) а также новое (уникальное) имя пользователя для нового пользователя и название контейнера.Введите имяОшибкаОшибка - не удалось скачать файлДанные ошибки:Ошибка при скачивании файла: Не удалось скачатьСообщение об ошибкеОшибка открытия локального файла: Не удалось скачать файлОшибка при открытии удалённого файла: Неудалось загрузитьПроизошла ошибка при создании нового сайта по указанному вами адресу:Ошибка:Ошибка: %sОшибка: не удалось загрузитьОшибка: сервер выдаёт пустой ответ.Ошибка: сервер выдаёт ответ (JSON) который мы не можем понять (интерпретировать).Ошибка: сервер выдаёт ответ (JSON) который мы не можем понять (интерпретировать).Ошибка: непредвиденный пустой параметр (%s, %s)Ошибка: неожиданная ошибка при чтении файлаОшибкиОшибки / предупреждения:Произошли следующие ошибки:Произошли следующие ошибки:При попытке установить соединение с аккаунтом UpdraftPlus.Com произошли ошибки:Произошли ошибки:Ошибки:Европа (Франкфурт-на-Майне)Европа (Ирландия)Европа (Лондон)Европа (Стокгольм)ЕвросоюзКаждый(-е) %s час(-ов)Примеры хранилищ с поддержкой S3:Исключить файлы / каталогиИсключить их изИсключить следующее:Существующие резервные копииСуществующие ключиЭкспертные настройкиДополненияВнешняя база данныхВнешняя база данных (%s)Логин FTPПароль FTPFTP серверFacebookНеудалосьОшибка доступа к %s во время удаления (смотрите log-файл чтобы узнать больше)Не удалось применить настройки прав к пользователю Неудалось создать временную директориюНе удалось удалить рабочий каталог после восстановления.Не удалось загрузитьНе удалось скачать %sНеудалось найти файл базы данныхНеудалось открыть файл базы данныхНе удалось открыть файл базы данных для чтения:Невозможно открыть файл базы данных.Невозможно открыть директорию ( проверьте права доступа ): %sНевозможно открыть zip-архив (%s) - %sНе удалось распаковать архивНе удалось загрузить %sНеудалось закачать в %sНе удалось произвести запись расшифрованных данных в файловую систему сервераОшибка: Мы успешно вошли и перешли в указанную папку, но не можем создать файл.Ошибка: Мы успешно вошли, но не можем создать файл в этом расположении.Ошибка: Неудалось поместить файл в данную директорию - пожалуйста проверьте ваши учётные данные.Неудалось: не удалось начать операцию %s.Ошибка: результат операции %s неизвестен.НеудачноОшибка нет информации о %s.Ошибка: Данные контейнера не указаны.Ошибка: нет информации о контейнере.Неудача: Информация о сервере не предоставлена.Ошибка: значаение поля "Порт" должно быть целым числом.Неудача: попытка аутентифицироваться с помощью этих учётных данных окончилась неудачно.Неудача: попытка авторизации успешна, но права на создание файлов в данной директории получить не удалосьПолучитьФайл (%s) найден, но он имеет размер (%s) отличный от ожидаемого (%s) - возможно файл повреждён.Настройки файлаФайл не представлен локально - необходимо запросить его из удалённого хранилищаФайл не найденФайл не найден (вам необходимо его загрузить): %sФайл готов.Файл найден, но имеет нулевой размер (вам нужно загрузить его повторно): %sФайл/каталогФайлыФайлы (резервное копирование базы данных не завершено)Файлы и база данныхРезервная копия файлов и базы данных WordPress (создана %s)Резервная копия файлов (создана %s)Расписание резервного копирования файловНайденные файлы:Только файлы (резервное копирование базы данных не было включено в это конкретное расписание)Финальные проверкиБольше информации о добавочных (инкрементальных) резервных копиях можно найти здесь. ГотовоДля начала, введите ключ шифрованияДиректорияПерейдите по этой ссылке для получения помощиПроследуйте по ссылке чтобы узнать большеПроследуйте по этой ссылке для того чтобы произвести шифрование и скачать базу данных на свой компьютер.Следуйте по данной ссылке для того чтобы скачать файл журнала (log-файл) для данного восстановления (необходим для запросов в техподдержку).Следуйте по этой ссылке чтобы подписаться на новостную рассылку UpdraftPlus.Чтобы посмотреть инструкцию по установке, перейдите по этой ссылке (шаг 1).Перейдите по этой ссылке в вашу Консоль Google API, и активируйте Drive API, а затем создайте Client ID в разделе API Access.Проследуйте по этой ссылке в вашу консоль Google API и активируйте там Storage API, после чего создайте ID клиента в разделе API Access.Для резервных копий, которые старше, чемДля ещё большего количества функций и персональной техподдержки, обратите внимание наДля более подробной инструкции со скриншотами пройдите по этой ссылке.Для того чтобы иметь возможность заблокировать доступ к настройкам UpdraftPlus паролем - обновитесь до версии UpdraftPlus Premium.Для помощи в разблокировке свяжитесь с теми, кто поддерживает UpdraftPlus для вас.Забыли ваши данные?Раз в две неделиНайдены SET NAMES %s, но они изменились на %s, как предложено WPD::define_charset ().ФранкфуртБесплатноСвободное место в учетной записи:Бесплатный плагин двухфакторной авторизацииТитульная страница:Полное резервное копированиеПолный список функцийПолучить из магазина UpdraftPlus.comУвеличить квотуВперёдСюдаПроследуйте сюда для получения помощиПерейдите сюда чтобы узнать больше.Перейдите сюда для активации.Перейдите сюда для начала установки.Перейдите сюда для того чтобы соединиться.Здесь вы можете заново ввести свой пароль.Перейдите в панель UpdraftCentral CloudGoogle CloudGoogle DriveПросмотр файлов на Google Drive: не удалось получить доступ к родительской директорииКод состояния HTTP:Не получен маркер доступа от Google. Вы должны авторизоваться или обновить авторизацию в Google Drive.Гонконг (HKG)ХостКак я могу получить ключ сайта?Впрочем, архивы UpdraftPlus это стандартные zip/SQL файлы - так что если вы уверены, что ваш файл имеет правильный формат, то Вы можете переименовать его так чтобы он соответствовал заданному шаблону.Однако, следующие попытки доступа провалились:Я принимаю условия UpdraftCloneОшибка IAM (%s)Если Google покажет вам сообщение "invalid_client", значит вы ввели сюда неправильный ID клиента.Если OneDrive отображает сообщение "unauthorized_client", это означает что вы ввели здесь неправильный ID.При составлении запроса в службу поддержки, пожалуйста, включите эту информацию:Если отправка данных напрямую с сайта на сайт не работает в вашем случае, есть ещё три способа - попробуйте один из них.Если операция не удалась, проверьте права доступа к папке или замените ее на другую папку, которая уже имеет права на запись.Если это резервная копия, созданная другим плагином резервного копирования, то, вероятно, UpdraftPlus Premium сможет вам помочь.Если вы не уверены не стоит продолжать; В противном случае вы можете повредить данную конфигурацию Wordpress.Если Вы не уверены для чего нужна эта опция -скорее всего она Вам не требуется и Вам стоит её отключить.Если вы видите здесь больше резервных копий чем ожидали - возможно это произошло потому что удаление старых резервных копий не производится пока новые резервные копии не будут завершены.Если Вы используете это, отключите режим Turbo/Road.Если вы приобрели новые дополнительные модули проследуйте по этой ссылке для того чтобы обновить соединениеЕсли этот текст не исчезает после полной загрузки страницы - значит на данном сайте имеет место проблема JavaScript или jQuery.Если вы исключаете из резервной копии и базу данных и файлы - вы исключаете всё что можно скопировать!Если вы уже продлили, то вам нужно внести лицензию на этот сайт - %sЕсли у вас есть пользователь-администратор AWS, то вы можете использовать этот мастер для того чтобы быстро создать нового пользователя AWS (IAM) с доступом только к этому контейнеру (а не ко всей учётной записи)Если вы забыли ваш парольЕсли вы забыли ваш пароль updraftplus.com - перейдите сюда для того чтобы сменить его.Если вы оставите это поле пустым, то резервная копия будет помещёна в корень вашей %sЕсли Вы видите ошибку SSL-сертификата, перейдите сюда для получения более подробной информацииЕсли вы хотите восстановить резервную копию мультисайтовой установки, вы должны сперва настроить ваш WordPress как мультисайтовую установку.Если ваша база данных содержит дополнительные таблицы которые не имеют отношения к WordPress (вы поймете если это так), активируйте данную опцию для того чтобы добавить их в резервную копию.Импорт одиночного сайта в многосайтовую конфигурациюИмпорт в процессе...В %s, названия путей чувствительны к регистру.Включить в резервную копию файловДобавочныйДобавочные (инкрементальные) резервные копииИнкрементальное резервное копирование доступно только в %s (перейдите сюда, чтобы получить доступ к этой функции)Бесконечная рекурсия (функция вызывает саму себя): смотрите log-файл чтобы узнать большеИнформация необходимая для продолжения:Хотите узнать насчёт безопасности вашего пароля UpdraftPlus.com? Вы можете прочесть об этом здесь.АйоваПохоже что IP вашего сервера (%s) заблокирован.А также создавать резервные копии внешних баз данных.Она была проверена вплоть до версии %s.Это номер ID, который используется внутри Google DriveДля отправки резервных копий на следующий сайт:Будет импортировано как новый сайтПредупреждение JavaScriptID задания: %sЗадание удаленоКлючКлюч создан успешноЭто должен быть URI аутентификации v2 (Keystone). v1 (Swauth) не поддерживается.Известные резервные копии (необработанные)Последнее сообщение журнала (лога)Последние новосити UpdraftPlus.com:Последний статус:Открыть домашнюю страницу разработчикаОставьте это поле пустым для того чтобы выбрать значение по умолчанию.Ошибка записи в локальный файл: Неудалось загрузитьЗаблокировать доступ к настройкам UpdraftPlusСохранять все сообщения в системный журнал (это может понадобиться только администраторам сервера)ЛондонЛондон (LON)Поиск архива %s: Имя файла: %sУправление дополнениямиПроизвести дешифовку резервной копии базы данных вручнуюЛимит памятиСообщения:Ближний Восток (Бахрейн)Перенесённый сайт (из UpdraftPlus)ЕжемесячноБольше файловБольше крутых плагинов от UpdraftЕщё плагиныБольше заданий:Удаление устаревших данных...Перемещение распакованной резервной копии на место...MultisiteМногосайтовая конфигурацияНеобходимые плагиныНапр. %s не чувствителен к регистру.N.B. Если вы устанавливаете UpdraftPlus на нескольких сайтах WordPress, тогда вы не можете повторно использовать ваш проект; вы должны создать новый с помощью консоли Google API для каждого сайта.Примечание: этот подсчет производится без учета изменений после последнего сохранения параметров.Внимание! Это необходимо только в случае если вы ещё не создали контейнер и хотите, чтобы UpdraftPlus сделал это для вас.Название: %s.NearlineНужна поддержка?Хотите использовать подпапки?Должны быть заранее созданыУдалённая активация шаблона:Новое имя пользователя IAMНовый E-mail текущего ПользователяНовое Имя пользователя текущего ПользователяНовый сайт:НовостиПодписаться на НовостиСледующие запланированные резервные копииНет%s не найденоНастройки %s не найденыБез рекламыНет завершенных резервный копийРезервные копии директорий %s не созданы - файлы для резервного копирования не обнаруженыНе найдены таблицы базы данныхЛокальная копия отсутствует.Логи не найдены.Сайты получающие резервные копии пока не добавлены.Настройки не найденыТакого набора резервного копирования не существуетПустоСеверная ВирджинияСеверная Вирджиния (IAD)Ещё не выбрали удаленное хранилище?Не установленоУ вас ещё нет учётной записи (бесплатно)? Зарегистрируйте сейчас!Примите во внимание что Google не поддерживает любой класс хранения во всех расположениях - вам нужно обратиться к их документации для того чтобы уточнить наличие поддержки.Примечание: после того как вы получили ваши дополнения, вы можете стереть ваш пароль (но не адрес электронной почты) из поля настроек ниже, при этом доступ к обновлениям останется.Не все облачные хранилища требуют безопасную SSL-авторизацию.Примечание:Ничего пока что не запланированоНет необходимости что то делать: URL адрес сайта уже: %sПока лог файлы отсутствуютОбратите вниманиеО'кейСтарый префикс таблиц:Одна или более резервных копий были добавлены при сканировании удалённого хранилища; обратите внимание, что эти резервные копии не будут автоматически удалены при "сопоставлении" настроек с сохраненными; если/когда вы захотите удалить их - вам придётся сделать это вручную.OneDriveВосстановлению подлежат только базы данных Wordpress; с внешними базами данных вам придется работать вручную.Браузер OperaВ процессе создания ключа пользователя произошла ошибкаНастройки (необработанные, для отладки)Или используйте ключ UpdraftCloneИли вы можете вручную поместить их в вашу директорию UpdraftPlus (обычно это wp-content/updraft), например при помощи FTP, после чего нажать на ссылку "пересканировать" ниже.ОрегонДругие %s ЧаВо.ДругоеВ противном случае будет отображена ссылка по-умолчанию.В противном случае можете оставить это поле пустым.Перезаписать wp-config.phpИнформация PHPПассивный режимПарольПароль неверныйПароль: %sВставьте ключ сюдаПутьПлатежи могут быть произведены в долларах, евро или фунтах стерлинга, при помощи PayPal или банковской карты.Пиковое использование памятиСоздать резервную копиюПожалуйста проверьте ваши реквизиты доступа.Пожалуйста прочтите данный раздел FAQ если у Вас проблемы с резервным копированием.Пожалуйста, введите расширение файла, например: zipВведите правильный URLПожалуйста, введите правильное расширение файлаПожалуйста, введите правильный префикс имени файлаПожалуйста, введите символы, которые начинаются с имени файла, которое вы хотели бы исключитьПожалуйста, предоставьте необходимую информацию.Пожалуйста, присвойте этому ключу название (напр. сайт для которого он):Пожалуйста убедитесь в том что вы записали (чтобы не забыть) пароль!Пожалуйста переавторизуйте ваше соединение с аккаунтом %s.Пожалуйста перейдите по ссылке для того чтобы получить важную информацию, касающуюся этого процесса.Пожалуйста, выберите файл/папку, которую вы хотите исключитьПожалуйста предоставьте запрошенные данные и затем продолжайте.Пожалуйста подождите пока мы проведем запрос..ДополненияПортЧаВо перед покупкойПремиумПремиум / ДополненияPremium Плагины WooCommerceНажмите кнопку чтобы начать.Нажмите сюда для того чтобы произвести поиск недавно загруженных вами резервных копий в директории UpdraftPlus на вашем хостинге.Нажмите здесь для того чтобы проверить наличие во внешних хранилищах существующих резервных копий (любых сайтов, при условии что они хранятся в одной папке).Приступить к обновлениюОбработанный плагин:Обработка файлов - пожалуйста подождите...Таблица обрабатывается (%s)Обработка...ID проектаСокращение устаревших комплектов резервных копийКвота:Ссылка на RSSИстория необработанных резервных копийЧитайте "Часто Задаваемые Вопросы" здесь.Узнайте больше о Easy Updates ManagerУзнать больше о том как это работает...Прочтите о шифровании на стороне сервераУзнать больше...Прочитайте эту страницу чтобы получить информацию о возможных причинах и способах их устранения.Получение данных сайтаОбновить статусОбластьРегион: %sЗапомнить мой выбор на следующий раз (у вас будет возможность его поменять)Настройки удалённого хранилищаУдаленный путьУдалитьУдалить старые директорииЗаменить наОтчётЗапрошенная система обработки таблиц (%s) не найдена - переключаемся на MyISAM.Запрос старта резервного копирования...Заново требовать пароль в последствииТребуемая информация для восстановления данной резервной копии не была получена (%s)Пересканировать локальную директорию, чтобы найти новые наборы резервных копийПовторно сканировать удалённое хранилищеПовторное сканирование (поиск наборов резервных копий которые вы загрузили вручную во внутреннее хранилище резервных копий)...Повторно сканируем удалённое и локальное хранилища в поисках наборов резервных копий.ВосстановитьВосстановить существующую резервную копию на этом сайтеВосстановить резервную копиюВосстановить файлы изВосстановление базы данных (на больших сайтах это может занять много времени и привести к таймауту (если Ваш сервер сконфигурирован с ограничением ресурсов) - в этом случае придется воспользоватся альтернативным методом, например, прямым импортом файла резервной копии в phpMyAdmin)...Восстановление приведет к замене имени сайта, тем, плагинов, загрузок, базы данных и/или другого контента на этом сайте (в зависимости от содержимого выбранных для восстановления резервных копий и выбранных Вами опций).Получение (если необходимо) и подготовка файлов резервной копии...Вернуться к настройкам UpdraftPlusОставьте отзыв на UpdraftPlusСтроки проверены:Строк на пакетS3 (Совместимый)контейнер S3 регион хранилища S3SCP/SFTP настройки хостаSCP/SFTP пароль/ключSCP/SFTP имя пользователяЗапущенные команды обновления SQL:Сохранить настройкиСохранение…ПоискНайти / заменить базу данныхНайти и заменить расположение сайта в базе данных (перенос)Таблица поиска/замены:ИскатьСекретный ключ: %sПо этой ссылке вы можете просмотреть гайдлайны Google в отншении названий контейнеров.Просмотрите гайдлайны Microsoft по названиям контейнеров по этой ссылке.Также прочтите данный FAQ.Выберите «Web Application» (веб-приложение) при указании типа приложения.Выбрать ФайлыВыберите файл / папку, которую вы хотите исключить. Выберите способ исключения файлов или каталогов из резервной копииВыбрать всеВыбрать все резервные копииОтправитьОтправлять отчёт только в случае если есть какие то предупреждения/ошибкиНе отправлять эту резервную копию в удалённое хранилищеОтправить на сайт:Поместить вашу резервную копию в удалённое хранилищеШифрование на стороне сервераНастройкиПоказать все резервные копииПоказать экспертные настройкиПоказать больше резервных копийПоказать необработанные резервные копии и список файловПоказать настройкиСингапурСайтДанные сайта были развернутыДанные сайта полученыКорень сайта:Описание сайта:Размер: %s MBПропустить шагПропуск: этот архив уже был восстановлен ранее.Некоторые файлы всё ещё загружаются или находятся в обработке - пожалуйста подождите.Южная КаролинаРазделять архив через каждые:Разбивать на фрагменты для того чтобы избежать превышения максимального размера пакетаСтандартныйНачать резервное копированиеАвтоматическое резервное копирование начинается...Класс хранилищаХранить вПодписки могут быть отменены в любой момент.УспехУспешно:Успех: попытка авторизации успешна, права на создание файлов в данной директории получены (тип входа:Нет возможности получиить достаточную информацию о прогрессе запущенной операции восстановления.ПоддержкаURL техподдержкиПоддерживаемые плагины: %sСиднейСидней (SYD)Префикс таблицИзменился префикс таблицы: изменение полей %s в соответствии с новым префиксом:Таблицы проверены:ТайваньСоздать новую резервную копиюСоздать добавочную (инкрементальную) резервную копиюРасскажите мне больше про добавочное резервное копирование.АрендаторПроверить настройки %sПроверка соединения...Проверка настроек %s...Проверка соединения...Проверка...Спасибо за установку UpdraftPlus!Соединение %s закрыто сервером; если Вы ввели данные сервера корректно, то это может быть вызвано файерволом, блокирующим соединение - Вам нужно связаться с Вашим хостинг-провайдером.Объект %s не найденКнопка "Создать РК Сейчас" отключена, т.к. директория, указанная для резервного копирования недоступна для записи (перейдите во вкладку "Настройки" и найдите соответствующую опцию).Перенос UpdraftPlus настраивает процесс восстановления соответствующим образом для того чтобы правильно распределить данные резервной копии на новом сайте.Модуль UpdraftPlus для этого метода доступа к файлам (%s) не поддерживает листинг файловПапка с содержимым Wordpress (wp-content) не обнаружена в данном zip-архиве.В вышеперечисленных директориях отсутствуют только файлы самого ядра WordPress, самую свежую версию которого можно всегда скачать с сайта ru.wordpress.org.Вышеперечисленные файлы - это все, из чего состоит Ваша конфигурация WordPress.Пароль администратора был изменён.Пароль администратора был удалён.Лимит оперативной памяти (RAM) на выполнение PHP скриптов слишком мал (%s Мб) - Вам необходимо увеличить его для того чтобы избежать проблем из за недостатка памяти (обратитесь в техподдержку хостинг-провайдера если Вам необходима помощь)Временное ограничение для работы плагинов WordPress очень мало (%s секунд) - Вы должны увеличить лимит для того чтобы избежать ошибок резервного копирования по причине таймаутов (свяжитесь с Вашим хостинг провайдером для получения помощи - Вам необходимо именить настройку PHP max_execution_time; рекомендуемое значение %s секунд или больше)Попытка отправить резервную копию по email не удалась (возможно файл резервной копии слишком большой)Не удалось восстановить файл после двойного сжатия.Файл успешно восстановлен после двойного сжатия.Попытка резервного копирования удалась, но по видимому неуспешнаДиректория для резервного копирования недоступна для записи (или законичилось дисковое пространство) - резервное копирование базы данных вскоре станет невозможным.Резервное копирование не завершено; повторная попытка запланированаЗаписи резервной копии не содержат информации о правильном размере данного файла.Создание резервной копии остановлено пользователемДанные передаваемые %s были зашифрованы.Данные передаваемые %s не были зашифрованы.Эта база данных использует функции MySQL, которые недоступны в устаревшей версии MySQL (%s) на которой работает этот сайт.Файл базы данных по всей видимости был сжат дважды - возможно сайт с которого Вы его скачали имеет проблемы с настройками сервера.Данная база данных имеет слишком маленький размер чтобы являться действительной базой данных WordPress (размер: %s Кб).Использованный клДиректория не существуетКаталог/директория не существует, и создать ее не получилось. Введенный ключ не принадлежит удалённому сайту (он принадлежит этому).Введенный ключ поврежден - попробуйте еще раз.Введенный ключ имеет неверную длину - попробуйте еще раз.Ошибка переданная %s:Правило исключения, которое вы пытаетесь добавить, уже существуетФайл успешно загружен.Директория существует, но сервер не имеет прав доступа для того чтобы производить в неё запись.Следующие объекты не могут быть восстановлены автоматически: "%s".Чем выше значение, тем больше ресурсов сервера используется для создания архива.Установленная версия UpdraftPlus Backup/Restore не была проверена на вашей версии WordPress (%s).Ключ, который Вы предоставили, имеет неправильный формат или был повреждён.Ключ успешно добавлен.Местоположение данной директории задаётся в экспертных настройках, во вкладке Настройки.Лог файл не может быть прочитан.К данному письму был прикреплён лог-файл.Новый пароль пользователя консоли RackSpace (больше не будет показан):Подготовка данных клона была прервана.Запрос к файловой системе на создание директории неудался.Необходимый модуль PHP %s не установлен - обратитесь к Вашему хостинг-провайдеру с просьбой активировать данный модульВсе данные сайта были получены, и их импорт начался.Используется часовой пояс, установленный в настройках WordPress, Настройки->Основные.Произошло (%s) ошибок:Ошибка сервера (попытайтесь ещё или проверьте log-файл вашего сервера)Процессор zip ответил следующим сообщением: %sТемыПосле чего, эти реквизиты доступа с меньшими правами могут быть использованы вместо ваших административных ключей.Только данные таблицыЭти данные будут использованы для создания нового пользователя и пары ключей, которые будут в соответствии с настройками IAM иметь доступ только к данному контейнеру.UpdraftPlus определил эту резервную копию как не принадлежащую текущей установке WordPress, она либо получена из удаленного хранилища, либо отправлена с другого сайта.Резервная копия была создана %s и может быть импортирована.Эта кнопка неактивна по причине того, что запись в директорию резервного копирования не возможна (проверьте настройки).Эта кнопка удаляет все настройки UpdraftPlus и информацию о незавершенных операциях резервного копирования (но не удаляет существующие резервные копии из облачного хранилища).Это легко может испортить ваш сайт; пользуйтесь осторожно!Текущий сайтВ данный резервной копии базы данных отсутствуют таблицы ядра Wordpress: %sЭто база данных может быть развернута на версии MySQL %s или более поздней.Данный ключ шифрования будет использован:Этот файл не является действительной резервной копией ядра Wordpress - файл %s не может быть найден.Эта функция несовместима с %sЭта функция требует %s версии %s или большеДанный файл не может быть загруженЭтот файл не является архивом с резервной копией UpdraftPlus (обычно файлы резервной копии это архивы .zip или .gz c именем вида backup_(time)_(site name)_(code)_(type).(zip|gz)).Функционал отключен администратором сайта.Это мультисайтовая конфигурация WordPress (или сетевая).Это содержимое Вашей директории Updraft Это не логин Azure - просмотрите инструкцию если вам нужна помощь.Данный сервер значительно более новый чем тот на который вы производите восстановление резервной копии в данный момент (версия %s).Скорее всего это означает что с вами на одном сервере находился сайт который был ранее взломан и использовался для атак.В наборе резервного копирования состоящем из нескольких архивов нехватает следующих архивов: %sДанная настройка активирует резервное копирование таблиц не принадлежащих Wordpress (определяется отсутствием настроенного префикса Wordpress, %s) хранящихся в базе данных MySQL.Данная проблема вызвана попыткой восстановить базу данных на очень старой версии MySQL, которая несовместима с базой данных источника.Этот метод удалённого хранилища (%s) требует PHP %s или позднее.Эти настройки будут применены только при создании нового контейнера.Этот сайт пока не имеет резервных копий для восстановления.Выбранный способ хранения не позволяет произвести закачкуДанная версия UpdraftPlus не имеет информации о том, как работать с этим типом резервных копий.Также активирует показ на данном экране отладочных сообщений от всех плагинов - не удивляйтесь увидев их здесь.Это удалит все ваши настройки UpdraftPlus - вы уверены что хотите это сделать?Текущее времяВремени затрачено (сек):Потрачено времени:Для доступа к настройкам UpdraftPlus, пожалуйста введите ваш пароль для разблокировкиДля того чтобы добавить этот сайт в качестве получателя резервных копий, введите ключ от него ниже.Чтобы иметь возможность использовать своё название директории, используйте UpdraftPlus Premium.Для того чтобы изменить любые из настроек резервного копирования по умолчанию, настроить резервное копирование по расписанию, отправить свои резервные копии в удалённое хранилище (рекомендовано), и прочее - перейдите на вкладку настроек.Для того чтобы завершить перенос/копирование, вы должны войти на удалённый сайт и запустить восстановление из данной резервной копии.Для создания временного клона вам нужен кредит в вашем аккаунте.Чтобы закрыть доступ UpdraftPlus к Вашему Google Drive, перейдите по этой ссылке к настройкам аккаунта Google.Чтобы указать точное время запуска резервного копирования,Для того чтобы импортировать обычный сайт WordPress в многосайтовую конфигурацию требуется %s.Для того чтобы продлить доступ к технической поддержке, пожалуйста продлите вашу подписку.Чтобы сделать резервную копию просто нажмите на кнопку Backup Now.Чтобы прочитать часто задаваемые вопросы / документацию по UpdraftClone, перейдите сюда.Для того чтобы возобновить доступ к обновлениям (включая новые функции и совместимость с последующими версиями WordPress) а также для доступа к техподдержке, пожалуйста продлите подписку.Для того чтобы вновь получить доступ, пожалуйста продлите подписку.Для того чтобы удалить блок, перейдите сюда.Для того чтобы продлить доступ к обновлениям (включая новые функции и совместимость с последующими версиями WordPress) а также для получения доступа к техподдержке, пожалуйста продлите вашу подписку.Для того чтобы произвести отправку на несколько адресов, разделите их при помощи запятых.Для того чтобы использовать данную резервную копию ваш сервер базы данных должен поддерживать набор символов %s.ТокиоПроизошло слишком много ошибок базы данных - отменаОбщий размер файлов на диске (без сжатия):Общий размер резервной копии:Попытка...TwitterВведите префикс файлаВведите расширение как почтовый индексUKUS (по умолчанию)US Government West (запрещен)US West (N. California)US West (Oregon)US или UK облакоАмериканский (US) или Английский (UK) аккаунт RackspaceАккаунт Rackspace расположенный в US (США) или UK (Великобритания)Не удалось открыть zip-архив (%s) - предварительная проверка целостности не возможна.Не удалось прочесть zip-архив (%s) - предварительная проверка целостности не возможна.В разработкеНеожиданный ответ:Незавершенное восстановлениеСоединённые ШтатыНеизвестное(-ая)Неизвестный статус ответа сервера:Неизвестный ответ сервера:Неизвестная/непредвиденная ошибка - пожалуйста подайте запрос в техподдержкуВ случае если у вас нет никаких проблем, можете полностью проигнорировать всё написанное здесь.РазблокироватьРаспаковка резервной копииОбновить квотуUpdraft VaultUpdraftCentralТребуется ключ UpdraftClone.UpdraftPlus - Загрузить файлы резервных копийДополнения UpdraftPlusАвтоматическое резервное копирование UpdraftPlusРезервные копии UpdraftPlusUpdraftPlus PremiumUpdraftPlus Премиум:Восстановление из резервных копий: Идет процесс...Поддержка UpdraftPlusUpdraftPlus ещё не активирован.UpdraftPlus ещё не установлен.UpdraftPlus в соцсетях - подробнее:UpdraftPlus необходимо было создать файл(папку) %s в вашей директории для контента, но этого сделать не удалось - пожалуйста проверьте права на чтение/запись и разрешите доступ (%s)Уведомление UpdraftPlus:Настройки UpdraftPlusПредупреждение UpdraftPlus:UpdraftPlus не удалось найти префикс таблиц во время сканирования резервной копии базы данных.UpdraftPlus.Com ответил, но мы не смогли его интерпретировать ответUpdraftPlus.Com отправил ответ, который мы не смогли интерпретировать (данные: %s)Ответ от UpdraftPlus.Com получен, но мы не смогли его интерпретироватьUpdraftPlus.com выдал ответ 'Доступ Запрещен'.Загрузить резервную копиюЗагрузить файлы резервной копииОшибка загрузкиОшибка загрузки:Ожидается ошибка при загрузке: %s предельный размер для одного файла %s, в то время как этот файл имеет размер %s ГБ (%d байт)Загрузка не удаласьФайлы загруженные в UpdraftPlus.Загружено в:илиЗагрузка файлов в удалённое хранилищеЗагрузкиИспользовать SCP вместо SFTPИспользуйте секцию "Отчёты" для настройки e-mail адресов для использования.Использовать SSL сертификаты сервераИмя пользователяИмя пользователя: %sВладелец хранилищаПроверкаИдет проверка разового пароля...ВерсияПосмотреть логПодождать запланированное время перед повторной попыткой по причине ошибок.ВниманиеВнимание:Предупреждение: %sВнимание: домашний URL базы данных (%s) отличается от того, что мы ожидали (%s)Внимание: URL адрес базы данных сайта (%s) отличается от ожидаемого (%s)ПредупрежденияПредупреждения:Предупреждения:Мы получили доступ к контейнеру и смогли создать в нём файл.Мы получили доступ к контейнеру и можем создавать в нем файлы.Нам не удалось соединиться с UpdraftPlus.ComМы запросили удаление файла, но не смогли расшифровать ответ сервера.Мы успешно создали контейнер но не смогли создать в нём файл.Сервер:Место на сервере использованное UpdraftPlusАдрес URl WebDAVЕженедельноДобро пожаловать в UpdraftPlus!Отлично - больше ничего не нужно настраивать.Western EuropeWestern United StatesВ какую директорию заходить после авторизации - обычно указывается относительно Вашей домашней директории.Какой из сайтов планируется восстановитьПочему я это вижу?Стереть настройкиС премиум-версией UpdraftPlus Вы сможете скачивать любые файлы напрямую отсюда.Без этого (него) шифрование будет намного медленнее.Без этого разрешения UpdraftPlus не сможет удалять резервные копии. Также вам необходимо будет установить настройки сохранений на очень высокий уровень для того чтобы не наблюдать ошибки удаления.Без этого разрешения вы не сможете напрямую закачивать или восстанавливать резервную копию при помощи UpdraftPlus, вместо этого вам придется производить вышеуказанные действия через сайт AWS.Резервная копия WordPressЯдро WordPressРезервное копирование WordPress завершеноЯдро WordPressЯдро WordPress (включая все ваши дополнительные файлы в корневой директории WordPress)Ядро WordPress (только)WordPress установленWordPress установлен; сейчас в ожидании данных сайта для отправки.Путь к корневой директории WordPress: %sДаВ данный момент, Вы используете бесплатную версию UpdraftPlus.Теперь вы используете аккаунт пользователя IAM для доступа к вашему контейнеру.В данный момент соединение с учётной записью UpdraftPlus.com НЕ установлено.Вы используете WordPress в многосайтовом варианте - но ваша резервная копия не является таковой.Вы используете сервер %s, но при этом у вас отсутствует/не загружен модуль %s.Вы можете проверить прогресс здесь или в %sЗдесь вы, при необходимости, можете ввести путь к любой виртуальной папке %s.Вы можете узнать больше о ключах клонирования здесь.Вы можете увеличить квоту здесьЗдесь вы можете вручную расшифровать зашифрованную базу данных.У вас нет доступа к данному контейнеруУ вас нет доступа к этому контейнеру.У Вас не установлено дополнение %s для UpdraftPlus - получите его тут: %sНе похоже на то чтобы вы имели устаревшую версию плагина Updraft - возможно вы их перепутали?Введенный вами адрес email не опознан UpdraftPlus.comВаша покупка не активированаУ вас есть незавершенная операция восстановления, начатая %s назад.Вы включили резервное копирование файлов, но не выбрали группы файловВы изменили настройки, но не произвели сохранение.Вы еще не соединены с вашей учётной записью UpdraftPlus.com для того чтобы иметь возможность активировать список приобретённых вами дополнительных модулей. Вы пока еще не подключили ваш аккаунт UpdraftPlus.com.Вы ещё не сделали ни одной резервной копии.Вы должны указать в качестве URI для переадресации этот адрес (на вкладке "Дополнительные настройки")Вы должны добавить следующее в качестве авторизованного URI перенаправления (в разделе «Дополнительные параметры») при запросеВы должны ввести ID проекта для того чтобы получить возможность создать новый контейнер.Вы должны авторизоваться, прежде чем вы сможете проверить свои настройки.Вы должны выбрать хотя бы одно удаленное хранилище, чтобы загрузить этот набор резервных копий.Вам необходимо обновить MySQL для того чтобы иметь возможность использовать эту базу данных.Вы должны использовать название контейнера, которое уникально для всех пользователей %s.Для указания адреса сайта вы должны использовать только буквы нижнего регистра и цифры.Вам нужно подключить ваш аккаунт для того чтобы получать будущие обновления UpdraftPlus.Вам нужно ввести контейнерВам необходимо ввести контейнерВам нужно ввести новое имя пользователя IAMВам необходимо ввести новое имя пользователяВам необходимо ввести правильный адрес e-mailВам необходимо ввести ключ API АдминистратораВам необходимо ввести ключ доступа администратораВам необходимо ввести секретный ключ администратораВам необходимо ввести Имя пользователя АдминистратораВам нужно повторно авторизоваться в %s, так как ваши существующие учётные данные не работают.Вам необходимо указать и e-mail и парольВы выбрали вариант с добавлением %s к резервной копии - эта функция не доступна при импорте отдельного сайта в сеть.Вы должны убедиться что удалённый сайт находится в онлайн, не защищен фаерволом, не имеет модулей безопасности, которые могут блокировать доступ, имеет UpdraftPlus версии %s или выше, который активирован, а также все ключи введены верно.Проверьте права на чтение/запись в Вашей конфигурации WordPressАктивируйте %s для того чтобы работали преобразователи постоянных ссылок в ЧПУ (напр. %s).Прежде чем произвести восстановление данной резервной копии, вы должны определить, предназначена ли она для этого сайта (и не является ли копией для другого сайта).Обновите UpdraftPlus, для того чтобы убедиться, что вы используете версию, которая была проверена на совместимость.Вы успешно зашли в UpdraftPlus и подключили сайт к облачному хранилищу UpdraftCentral.Вы найдете больше информации об этом в разделе Настройки.Вам придётся попросить вашего хостинг провайдера проапгрейдиться.Вам необходимо проконсультироваться с вашим хостинг провайдером для того чтобы узнать как установить права на запись в директорию для плагина Wordpress.Вам придётся произвести восстановление вручную.Вы это получилиИмя вашей учётной записи %s: %sИспользование Вашей %s квоты: %s %% использовано, %s доступноВерсия вашего %s: %s.Ваш IP-адрес:Ваш UpdraftClone все еще настраиваетсяВаша резервная копия восстановлена.Ваш клон запущен и будет доступен по следующим URL, когда он будет готов.Ваш клон запущен, информация о сети еще не доступна, но будет отображаться здесь и в вашей учетной записи на сайте updraftplus.com, как только она будет готова.Теперь ваш клон развернет эти данные для повторного создания вашего сайта.У пользователя вашей базы данных нет прав на удаление таблицВаши адрес e-mail и пароль не распознаны UpdraftPlus.ComВы введи корректный адрес email, но ваш UpdraftPlus.com не может опознать ваш парольОчень мало свободного места на диске - осталось всего %s МБВ вашем хостинг-аккаунте очени мало свободного места - осталось всего лишь %s Мб Ваш хостинг провайдер должен активировать данные функции для работы %s.Ваша подпись к этой резервной копии (опционально)Ваш логин может быть основан на ключе или пароле - вам нужно ввести что то одно, нет необходимости вводить и то и другое.Ваш новый ключ:Ваша платная подписка для доступа к техподдержке UpdraftPlus истекла.Ваша платная подписка для доступа к техподдержке UpdraftPlus скоро заканчивается.Ваша платная подписка на обновления UpdraftPlus для дополнения %s для данного сайта истёкла.Ваша платная подписка на UpdraftPlus для обновления %s дополнений %s для данного сайта скоро истекает.Ваша платная подписка на обновления UpdraftPlus скоро истекает.Сохраненные вами настройки также повлияют на уже существующие резервные копии - например файлы будут исключены.Ваши настройки были сохраненыВаши настройки успешно удалены.Будет использован e-mail адрес Администратора Вашего сайта (%s).Ваша версия: %sВ настройках Вашего PHP активирован безопасный режим (safe_mode).В вашей конфигурации PHP отключены следующие функции: %s.На вашем сервере отсутствует модуль %s.Ваш хостинг использует %s сервер.Ваша интернет страница посещается нечасто и UpdraftPlus не получает необходимые ресурсы; пожалуйста прочитайте информацию на этой странице:Путь к вашей директории wp-content: %sактивируйте на этом сайтеуже готовои накапливает множество запланированных резервных копийархивURI для авторизациивычислитьрасчёт...проверьте ваш лог для того чтобы узнать больше подробностей.настроить здеськонтейнерколичествопопытка соединения с базой данных не удаласьпопытка соединения с базой данных не удалась.имя базы данныхденьдня(-ей)напр. %sнапример, если ваш сервер загружен днем и вы хотите запускать резервное копирование ночью,шифрованный FTP (explicit - шифрование)защищённый FTP (implicit - шифрование)ошибка: не удалось загрузить файл %s (для более подробной информации смотрите log-файл)не удалось получить доступ к родительской директориине удалось получить список файловне удалось загрузить файл в %s (смотрите лог файл)файлразмер файла:файлы: %sдиректорияследуйте по этой ссылке для того чтобы скачатьпройдите сюдаперейдите сюда для того чтобы сменить ваш пароль на updraftplus.com.перейдите сюда для дополнительной информациихостхостчас(-а, -ов)Ручноев месяцдобавочная резервная копия; базовая резервная копия: %sключимя ключапоследняя активность: %ss ранеепоследняязаписывать результаты в консольвойдитене удалось войтиуправлятьможет включать в себя некоторые данные сайтабольшемультирегиональное расположениенайдено таблиц опций или метаданных сайтаобрабатываются обновления...опциональноили настройте более сложные расписанияили для того чтобы сбросить эту опциюдругое содержимое из папки wp-contentпарольпароль/ключпожалуйста проследуйте по этой ссылке чтобы обновить плагин для того чтобы активировать егопожалуйста проследуйте по этой ссылке чтобы обновить плагин для того чтобы получить этопожалуйста дождитесь перенесённой попыткиплагиныпрочесть больше на %sжелательнообновитьобычный (незащищённый) FTPтребуется для некоторых провайдеров удалённого хранилищасбросвосстановлениестроки: %dнайти и заменитьусловие поисканастройкипоказать информацию PHP (phpinfo)показать логСайт не найденпропущено (не в списке)начиная со следующего разаостановитьтаблица: %sшаблон не найденбыл запущен следующий запрос к базе данных:таблица опций не найденатемы (шаблоны)неизвестный источникзагрузка не удаласьиспользуйте UpdraftPlus Premiumпользовательимя пользователянеделя(-ль)будет восстановлено как:вы авторизовали вашу учётную запись %sвы авторизовали вашу учётную запись %s.Ваша учетная запись UpdraftPlus.comадрес админ панели вашего сайтанайден zip архив:languages/updraftplus-sl_SI.po000064400001230552147400355670012455 0ustar00# Translation of UpdraftPlus in Slovenian # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2017-01-31 17:23:01+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n % 100 == 1) ? 0 : ((n % 100 == 2) ? 1 : ((n % 100 == 3 || n % 100 == 4) ? 2 : 3));\n" "X-Generator: GlotPress/3.0.0\n" "Language: sl_SI\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Vaše nastavitve so shranjene" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "Ustavi" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "Shranjevanje ..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Opusti" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "nastavitve" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "Razširitve" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Nie je nainštalovaná" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "To običajno pomeni, da ste na strežniku z napadeno spletno stranjo, ki je bila uporabljena v prejšnjih napadih." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "Videti je, da je IP naslov (%s) vašega strežnika blokiran." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "UpdraftPlus.com sporoča \"Zavrnjen dostop\"." #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "Premium WooCommerce vtičniki" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "Brezplačen dvofaktorski varnostni vtičnik" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus Premium" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "Opusti (za %s mesecev)" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "(medtem, ko se ustvarja varnostna kopija)" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "Nobena varnostna kopija ni bila dokončana" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "Prijava na glasilo" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "Za prijavo na UpdraftPlus glasilo sledite tej povezavi." #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "Zastavi vprašanje pred nakupom" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "Pogosto zastavljena vprašanja pred nakupom" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "Seznam vseh značilnosti" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Pred posodobitvijo ustvari varnostno kopijo vtičnikov (kjer je to ustrezno), tem in Wordpress baz podatkov z UpdraftPlus." #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "%s Napaka: Napaka pri zagonu" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "ali" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "PKCS1 (PEM glava: BEGIN RSA PRIVATE KEY), XML in PuTTY format ključi so sprejeti." #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "zakupnik" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "To mora biti v2 (Keystone) preverjanje URI; v1 (Swauth) ni podprto." #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "naslov skrbnika vašega spletnega mesta" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "Za pošiljanje osnovnega poročila izberi ti polje" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "Ročno" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "Pripetila se je napaka (%s):" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "Spremeni nastavitve zaklepanja" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "Za več značilnosti in osebno podporo preveri" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "Fraza za šifriranje baze podatkov" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "Samodejna varnostna kopija pred posodabljanjem" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "Wordpress jedro (samo)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "Za podporo glede odklepanja, kontaktirajte osebo, ki za vas upravlja z UpdraftPlus." #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "Za dostop do nastavitev UpdraftPlus vpišite geslo za odklepanje." #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "Napačno geslo" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "Odkleni" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "V nasprotnem primeru bo prikazana privzeta povezava." #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "Kdorkoli vidi zaklenjen zaslon, bo videl to URL povezavo za podporo - vnesite naslov spletne strani ali naslov e-pošte." #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "URL podpore" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "Ponovno zahtevaj geslo po" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "%s tednov" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "1 teden" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "%s ur" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "1 ura" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "Prosimo, preverite, da ste zabeležili geslo!" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "Zakleni dostop do nastavitev UpdraftPlus" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "Geslo skrbnika je spremenjeno." #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "Geslo skrbnika je nastavljeno." #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "Geslo skrbnika je sedaj odstranjeno." #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "(več o tej pomembni možnosti)" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "Potem, ko ste prevzeli dodatke, lahko odstranite vaše geslo (vendar ne naslova e-pošte) iz spodnjih nastavitev, ne da bi vplivali na posodabljanje tega spletnega mesta." #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "Oglej si poročilo" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "Podatki varnostne kopije (klik za prenos)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "Datum varnostne kopije" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "in ohrani toliko časovno nastavljivih varnostnih kopij" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "inkrementalna varnostna kopija; temeljna varnostna kopija: %s" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "Za možnost zaklepanja dostopa do nastavitev UpdraftPlus z geslom, nadgradite UpdraftPlus v različico Premium." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "Naloži datoteke v UpdraftPlus." #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "Gumb za varnostno kopiranje je onemogočen, ker ni mogoče zapisovati na mesto varnostne kopije (pojdi v zavihek Nastavitve in poišči ustrezno možnost)." #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "Oznaka varnostne kopije" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "Napaka: nepričakovana napaka pri branju datoteke" #: src/backup.php:4389 msgid "check your log for more details." msgstr "Preverite poročilo za več podrobnosti." #: src/backup.php:4385 msgid "A zip error occurred" msgstr "Napaka pri ustvarjanju zip" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "Vaša oznaka za to varnostno kopijo (po izbiri)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "Vpisali ste e-pošte, ki je UpdraftPlus.Com ni prepoznal." #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "Tvoja e-pošta je veljavna, vendar UpdraftPlus.Com ni prepoznal tvojega gesla." #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "Potrebno je vpisati tako naslov e-pošte kot geslo." #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "Če želite obnoviti varnostno kopijo multisite, je potrebno naprej nastaviti namestitev Worpress kot multisite." #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "že končano" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "prezrto (ni v seznamu)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "Išči in zamenjaj preglednico:" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "Vnesi seznam, ločen z vejicami; v nasprotnem primeru pusti prazno za vse tabele." #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "Samo te tabele" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "Vrstice na serijo" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "Niste še povezani s svojim UpdraftPlus.Com računom." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "Za prihodnje posodobitve UpdraftPlus se je potrebno povezati." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "Za podporo v zvezi z %s se je priporočljivo obrniti na tvojega ponudnika spletnega gostovanja." #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "To je izrazito novejše kot strežnik, na katerega obnavljate podatke (verzija %s)." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "Zakaj vidim to?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "Mesto te mape je določeno v naprednih nastavitvah zavihka Nastavitve." #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "Pritisni tukaj za ogled mape UpdraftPlus (v prostoru tvojega spletnega gostovanja) za nove varnostne kopije, ki si jih naložil." #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "Prični varnostno kopiranje" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "Uporabljaš %s strežnik, vendar ni videti, da bi bil naložen %s modul." #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "Za informacijo o dovoljenju Wordpress vtičnika o zapisovanjo v mapo, se bo potrebno posvetovati z vašim ponudnikom spletnega gostovanja." #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "Če nimate problema, lahko popolnoma prezrete vse, kar je tukaj." #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "Te datoteke ni bilo mogoče naložiti" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "Več informacij o tem boste našli med Nastavitvami." #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "Podprti vtičniki za varnostno kopiranje: %s" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "Več o inkrementalni varnostni kopiji" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "Limit spomina" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "obnova" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "Inkrementalno" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "Celotna varnostna kopija" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "nadaljujem s posodobitvami..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(oglej si poročilo...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "Varnostna kopija je uspela" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "Vsakih %s ur" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "poišči in zamenjaj" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Pojdi" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "Iskanja/zamenjave ni mogoče povrniti - ste prepričani, da to želite?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "To lahko z lahkoto uniči vaše spletno mesto; uporabite s previdnostjo!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "Zamenjaj z" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "Poišči" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "Poišči / zamenjaj bazo podatkov" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "poišči izraz" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "Pripetilo se je preveč napak z bazami podatkov - preklicujem" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "preberi več na %s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "E-poštna poročila UpdraftPlus (brezplačna različica) prinašajo zadnje novice z UpdraftPlus.com " #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "Če namestite UpdraftPlus na več Wordpress spletnih mestih, potem ni mogoče ponovno uporabiti vašega projekta; ustvariti je potrebno novega s konzolo Google API za vsako spletno mesto." #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "Niste še naredili nobenih varnostnih kopij." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "Možnosti baze podatkov" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s uporabljeno)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "Razpoložljiv prostor na računu:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "Ta gumb ni omogočen, ker na izbrano mesto za varnostno kopijo ni mogoče zapisovati (glej nastavitve)." #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "Za spreminjanje privzetih nastavitev varnostnega kopiranja, prilagajanje v naprej potekajočih kopij, pošiljanje kopij na oddaljen pogon (priporočljivo) in drugo pojdi na zavihek Nastavitve." #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "Za ustvarjanje varnostne kopije, zgolj pritisni na gumb Kopiraj zdaj." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "Dobrodošli na UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "Preverjam..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "Preveri povezavo..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "Predpona tabele" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "Varnostno kopiraj zunanjo bazo podatkov" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "V varnostno kopiranje dodaj zunanjo bazo podatkov..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "Če vaša baza podatkov vsebuje dodatne tabele, ki niso del tega Worpress spletnega mesta (vedeli boste, če to drži), potem aktivirajte to možnost, da jih vključite v varnostno kopiranje." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "Varnostno kopiraj ne-Wordpressove tabele, ki so v isti bazi podatkov kot Worpress" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "Ta možnost bo povzročila, da bodo tabele v bazi MySQL, ki niso del Wordpress (identificirane kot tiste brez Wordpressovih predpon, %s), prav tako vključene v varnostno kopijo." #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "Povezava ni uspela." #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "Povezava uspela." #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "%s skupno najdenih tabel; %s z navedenimi predponami." #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "%s najdenih tabel." #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "poskus povezave z bazo podatkov ni uspel" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "ime baze podatkov" #: src/addons/moredatabase.php:115 msgid "host" msgstr "gostitelj" #: src/addons/moredatabase.php:113 msgid "user" msgstr "uporabnik" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "Zunanja baza podatkov (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "Sledi tej povezavi do svoje Google API konzole, kjer lahko aktiviraš Drive API in ustvariš ID klienta v oddelku API dostop." #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "neuspel dostop do zgornje mape" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "Kakorkoli, kasnejši poskusi dostopa niso uspeli:" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "Zunanja baza podatkov" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "To bo povzročilo tudi razhroščevanje iz drugih vtičnikov, ki se bodo prikazali na zaslonu - prosimo, ob tem ne bodite presenečeni." #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "Najprej vnesite dešifrirni ključ" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "Tukaj lahko ročno dešifrirate šifrirano podatkovno bazo." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "Poleg tega lahko naredi varnostno kopijo zunanjih podatkovnih baz." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "Ne želite, da kdo vohuni za vami? UpdraftPlus Premium omogoča šifriranje varnostne kopije baze podatkov." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "uporabite UpdraftPlus Premium" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "Obnovljena je lahko samo Wordpressova podatkovna baza; zunanje baze podatkov je potrebno obnoviti ročno." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "Prišlo je do napake pri prvem %s ukazu - preklicujem" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "Povezava ni uspela: preveri podrobnosti dostopa, da je strežnik dosegljiv, in da spletne povezave ne blokira požarni zid." #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "Povezava z bazo podatkov ni uspela." #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "Opozorilo: domači URL podatkovne baze (%s) je drugačen kot smo pričakovali (%s)" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "V %s, imena poti razlikujejo med malimi in velikimi črkami." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "Če pustite prazno, bo varnostna kopija postavljena v izhodišče vaše %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "npr. %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "Vnesite pot do %s mape, ki je želite uporabiti na tem mestu." #: src/methods/openstack2.php:257 msgid "Container" msgstr "Kontejner" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "Pustite prazno in izbrano bo privzeto." #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "Zakupnik" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "Za več informacij sledite tej povezavi" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "URI avtentifikacija" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "Prenos %s ni uspel" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "Prenos ni uspel" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "ustvarjanje seznama datotek ni uspelo" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "Neuspelo nalaganje %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "Uspeh:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "Avtentifikacija z %s." #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "Napaka pri prenosu oddaljenih datotek: Neuspešen prenos" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "Regija: %s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "%s napaka - dostopali smo do kontejnerja, a v njem nismo uspeli ustvariti datoteke" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "%s objekt ni bil najden" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "Ne moremo dostopati do %s kontejnerja" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "%s napaka: neuspeh pri dostopu do kontejnerja" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "Ime nosilca računa: %s." #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "Za poimenovanje map po meri uporabite UpdraftPlus Premium." #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "To je ID številka v Google Drive" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "To NI ime mape." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "Mapa" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "%s prenos: neuspelo: ne najdem datoteke" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "Ime: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "Google Drive seznam datotek: neuspeh pri dostopu do zgornje mape" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "Vaša %s različica: %s." #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "Morali boste zahtevati nadgradnjo pri vašem ponudniku spletnega gostovanja." #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "Ta metoda oddaljenega shranjevanja (%s) zahteva PHP %s ali kasnejši." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "Kliči" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "Pridobi" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "Ta značilnost zahteva %s različico %s ali kasnejšo" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "Neuspeh pri razširjanju arhiva" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "Napaka - neuspeh pri prenosu datoteke" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "Preišči lokalno mapo za novimi varnostnimi kopijami" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "Posodobite UpdraftPlus, da bi se prepričali, če imate preizkušeno in združljivo različico." #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "Preizkušeno je bilo do različice %s." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "Nameščene različica UpdraftPlus Backup/Restore ni bila preizkušena na vaši različici Wordpressa (%s)." #: src/addons/sftp.php:646 msgid "password/key" msgstr "geslo/ključ" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "Ključ" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "Vaša prijava lahko temelji na geslu ali ključu - vnesti je potrebno samo enega in ne obeh." #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "Izbrani ključ ni v veljavnem formatu ali je poškodovan." #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "SCP/SFTP geslo/ključ" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "Varnostna kopija datotek (narejena z %s)" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "Varnostna kopija datotek in podatkovnih baz Wordpress (narejena z %s)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "Varnostna kopija ustvarjena z: %s." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "Podatkovna baza (narejena z %s)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "nepoznan vir" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "Ponovno preišči lokalno shrambo" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Naloži datoteke varnostne kopije" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "Ta varnostna kopija je bila narejena z %s in jo lahko uvozimo." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "Preberi to stran za pojasnilo o možnih razlogih in odpravi napak." #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "Če je bila ta varnostna kopija ustvarjena z drugim tovrstnim vtičnikom, potem vam morda lahko pomaga UpdraftPlus Premium." #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "Kakorkoli, UpdraftPlus arhivi so običajne zip/SQL datoteke - če ste prepričani, da je vaša datoteka v ustreznem formatu, jo lahko preimenujete, da bo ustrezala vzorcu." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "Ta datoteka ni videti arhiv varnostne kopije UpdraftPlus backup archive (takšne datoteke so .zip ali .gz, ki imajo imena kot: backup_(time)_(site name)_(code)_(type).(zip|gz))." #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "Varnostno kopijo je ustvaril nepoznani vir (%s) - obnova ni mogoča." #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "V tej zip datoteki ne najdemo Wordpressove vsebinske mape (wp-content)." #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "Ta različica UpdraftPlus ne zna rokovati s to vrsto varnostne kopije." #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "%s je vrnil nepričakovan HTTP odgovor: %s" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "UpdraftPlus modul za metodo dostopa do te datoteke (%s) ne podpira seznama datotek" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "Na najdemo nastavitev" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "Ena ali več varnostnih kopij je bila dodana pri iskanju v oddaljeni shrambi; imejte v mislih, da te kopije ne bodo samodejno izbrisane preko nastavitve \"ohrani\"; če/ko jih želite izbrisati, je to potrebno narediti ročno." #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "Ponovno preiskujem oddaljeno in lokalno shrambo za varnostnimi kopijami..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "(Preberi več)" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "Vsa sporočila oblikuj v syslog (to ustreza najbrž samo strežniškim administratorjem)" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "Odstrani" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "Druga %s pogosto zastavljena vprašanja." #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "Označi za prejemanje več informacij in e-pošte o procesu varnostnega kopiranja - uporabno, če gre kaj narobe." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "Vaše spletno gostovanje mora omogočiti te funkcije preden %s bodo lahko delovale." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "Namestitev PHP na vašem spletnem strežniku nima vzpostavljenih teh funkcij: %s." #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "šifrirani FTP (explicitno šifriranje)" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "šifriran FTP (implicitno šifriranje)" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "običajen nešifriran FTP" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "Varnostna kopija narejena z:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "Zahtevek na tej strani je na voljo" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "Prosim obnovite za ohranjanje dostopa do podpore." #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "Vaš plačan dostop do podpore UpdraftPlus bo kmalu potekel." #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "Za ponovno pridobitev dostopa, prosimo obnovite." #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "Vaš plačan dostop do podpore UpdraftPlus na tem spletnem mestu je potekel." #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "Vaš plačan dostop do posodobitev UpdraftPlus na tem spletnem mestu bo kmalu potekel." #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Za ohranitev dostopa in pridobivanja posodobitev (vključno z s prihodnjimi funkcijami in združljivostjo s prihodnjimi različicami Wordpressa) ter podpore, prosimo obnovite." #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "Vaš plačan dostop do posodobitev UpdraftPlus za %s %s dodatkov na tem spletnem mestu bo kmalu potekel." #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "Vaš plačan dostop do posodobitev UpdraftPlus za %s dodatkov na tem spletnem mestu je potekel." #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Za ponovno pridobitev dostopa do posodobitev (vključno z s prihodnjimi funkcijami in združljivostjo s prihodnjimi različicami Wordpressa) ter podpore, prosimo obnovite." #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "Izključi iz glavne nadzorne plošče (za %s tednov)" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "Poskus razveljavitve dvojnega stiskanja je uspel." #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "Poskus razveljavitve dvojnega stiskanja ni uspel." #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "Videti je, da je bila podatkovna baza dvakrat stisnjena - spletna stran, od koder ste prenesli datoteko, je imela najbrž napačno nastavljen strežnik." #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "Konstante" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "Odpiranje podatkovne baze za branje ni uspel:" #: src/backup.php:1645 msgid "No database tables found" msgstr "Ne najdemo podatkovne baze" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "Prosimo, počakajte na ponoven preložen poskus" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "Račun je poln: vaš %s račun ima na voljo le še %d bajtov prostora, od datoteke, ki bo naložena, pa je ostalo še %d bajtov (skupna velikost: %d bajtov)" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "Pojavile so se napake:" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "Sledite povezavi za prenos poročila te obnovitve (potrebno za podporo)." #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "Glej tudi ta pogosto zastavljena vprašanja." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "Ponovno pridobivanje (če je potrebno) in priprava datotek varnostne kopije..." #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "Za izvajanje Wordpressovih vtičnikov je na voljo zelo malo časa (%s sekund) - v izzogib neuspešnih varnostnih kopij zaradi izteka časa bi ga morali zagotoviti več (posvetujte se s svojim ponudnikom spletnega gostovanja za več pomoči to je PHP nastavitev max_execution_time; priporočena vrednost je %s sekund ali več)" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "Onemogoči ta vtičnik: %s: ponovno ga aktivirajte ročno, ko boste pripravljeni." #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "%s povezava se je iztekla; če je strežnik pravilno nastavljen, to ponavadi povzroča požarni zid, ki blokira povezavo - preverite pri svojem ponudniku spletnega gostovanja." #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "Sporočila:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "Najdena je SQL vrstica, ki je večja od največje velikosti paketa in je ne moremo razdeliti; te vrstice ne bomo procesirali, vendar bo spuščena: %s" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "Direktorij ne obstaja" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "E-pošta novega uporabnika" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "Uporabniško ime novega uporabnika" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "API ključ skrbnika" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "Uporabniško ime skrbnika" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "US ali UK Rackspace račun" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "Vnesite vaše skrbniško uporabniško ime/API ključ za Rackspace (da Rackspace lahko avtentificira vaše dovoljenje za ustvarjanje novih uporabnikov) ter vpišite novo (unikatno) uporabniško ime in e-pošto za novega uporabnika in ime kontejnerja." #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "Ustvari novega API uporabnika in kontejner" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "API ključ: %s" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "Geslo: %s" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "Uporabniško ime: %s" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "Operacija Cloud Files ni uspela (%s)" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "Konflikt: uporabnik ali e-pošta že obstajata" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "Potrebno je vnesti novo veljavno e-pošto" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "Potrebno je vnesti kontejner" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "Potrebno je vnesti novo uporabniško ime" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "Potrebno je vnesti API ključ skrbnika" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "Potrebno je vnesti uporabniško ime skrbnika" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "Ustvari novega API uporabnika z dostopom samo do tega kontejnerja (namesto celega računa)" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "Cloud Files kontejner" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "Clouf Files API ključ" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "Uporabniško ime Cloud Files" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "London (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "Hong Kong (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "Severna Virginija (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "Chicago (ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "Sydney (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "Dallas (DFW) (privzeto)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "Cloud Files Storage Region" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "Računi, ustvarjeni na rackspacecloud.com so US-računi; računi, ustvarjeni na rackspace.co.uk bazirajo na UK" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "US ali UK baziran Rackspace račun" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "Računi, ustvarjeni na rackspacecloud.com so US-računi; računi, ustvarjeni na rackspace.co.uk so UK računi." #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "Avtorizacija ni uspela (preverite svoje poverilnice)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "Pripetila se je nepoznana napake pri poskusu povezave z Updraft.Com" #: src/admin.php:965 msgid "Create" msgstr "Ustvari" #: src/admin.php:925 msgid "Trying..." msgstr "Poskušam..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "Geslo konzole novega uporabnika RackSpace je (to se ne več pokazalo):" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "Podatki napake:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "V zgodovini varnostnih kopij ne obstaja varnostna kopija" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "Razdeli vrstico v izzogib preseganja največje velikosti paketa" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "Ni bilo mogoče premakniti starih podatkov." #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "Premikam stare podatke..." #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "Dodaj nov naslov..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "Tukaj vnesite naslove, na katere bomo poslali poročilo ob zaključku varnostnega kopiranja." #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "%s checksum: %s" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "datoteke: %s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "Za nastavitev uporabljenih e-poštnih naslovov uporabi sekcijo \"Poročanje\"." #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "Informacije o razhroščevanju" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "Naloženo na:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "Porabljen čas:" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "Opozorila" #: src/addons/reporting.php:223 msgid "Errors" msgstr "Napake" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "Napake / opozorila:" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "Vsebuje:" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "Začetek varnostnega kopiranja:" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "Poročilo o varnostni kopiji" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "%d ur, %d minut, %d sekund" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "%d napak, %d opozoril" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "%s avtentifikacija" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "%s napaka: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "%s logo" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "Potreben %s PHP modul ni nameščen - prosite vašega ponudnika spletnega gostovanja, da ga omogoči" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "Uporabljena bo e-pošta (%s) skrbnika vašega spletnega mesta." #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "Poveži" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(različica: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "Imejte v mislih, da imajo e-poštni strežniki pogosto omejitve velikosti; običajno okoli %sMb; varnostne kopije, ki so večje od katerihkoli omejitev po vsej verjetnosti ne bodo prispele." #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "Zadnji status:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "Varnostna kopija vsebuje:" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "Kopirano: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "Poročilo se nahaja v priponki." #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "Nepoznana/nepričakovana napaka - prosimo, obrnite se na podporo" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "Samo podatkovna baza (datoteke niso bile del tega načrtovanega opravila)" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "Podatkovna baza (varnostna kopija datotek ni bila narejena)" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "Samo datoteke (podatkovne baze niso bile del tega načrtovanega orpavila)" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "Datoteke (varnostna kopija podatkovne baze ni bila končana)" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "Datoteke in baze podatkov" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "(To se nanaša na vse Wordpressove vtičnike za varnostno kopiranje, razen če so bili posebej programirani za združljivost z omrežji)." #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "To je namestitev Worpress multi-site (network)." #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "Opozorilo UpdraftPlus:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "(ali se povežite z uporabo obrazca na tej strani, če ste že opravili nakup)" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "prosimo, sledite tej povezavi za posodobitev vtičnika, da ga boste aktivirali" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "prosimo, sledite tej povezavi za posodobitev vtičnika, da ga boste prejeli" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "zadnje" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "Vaša različica: %s" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "Prejeli ste" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "Podpora UpdraftPlus" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "Posodobitev, ki vključuje vaše dodatke, je na voljo na UpdraftPlus - prosimo, da za prejem sledite povezavi." #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "Dodatki UpdraftPlus" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "Za UpdraftPlus je na voljo posodobitev - prosimo, da za prejem sledite povezavi." #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "UpdraftPlus.Com je vrnil odgovor, vendar ga nismo razumeli" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "UpdraftPlus.Com ni prepoznal vaše e-pošte in gesla." #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "UpdraftPlus.Com je odgovoril z odgovorom, ki ga nismo razumeli (podatki: %s)" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "UpdraftPlus.Com je odgovoril, vendar nismo razumeli odgovora" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "Nismo se uspeli povezati z UpdraftPlus.Com" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "Poročanje" #: src/admin.php:5927 msgid "Options (raw)" msgstr "Možnosti (neobdelane)" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "Pošlji poročilo samo ob opozorilih/napakah" #: src/restorer.php:3052 msgid "Content URL:" msgstr "URL vsebine:" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "Na vašem računu spletnega gostovanja je le še malo razpoložljivega prostora - ostaja samo %s Mb" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "Količina dovoljenega pomnilnika (RAM) za PHP je zelo nizka (%s Mb) - v izzogib neuspehom zaradi nezadostnega pomnilnika bi ga morali povečati (za več pomoči se posvetujte z vašim ponudnikom spletnega gostovanja)" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "Upravljaj dodatke" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "Kupite ga" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "Pridobite ga iz trgovine UpdraftPlus.Com" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "aktivirajte ga na tej strani" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "Imate neaktiven nakup" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "Dodeljen temu spletnemu mestu" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "Na voljo za to spletno mesto (preko nakupa vseh dodatkov)" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "(videti je kot predizdaja ali umaknjena izdaja)" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "Pojdite sem" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "Potrebujete podporo?" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "Pri poskusu pridobivanja vaših dodatkov je prišlo do napake." #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "Zahteva ni bila ugodena - prijavni podatki za vaš račun so napačni" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "Prosimo, počajte, medtem ko delamo zahtevek..." #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "Pri poskusu povezave z UpdraftPlus.Com je prišlo do napake:" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "Trenutno niste povezani v vaš UpdraftPlus.Com račun." #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "Če ste kupili nove dodatke, potem sledite tej povezavi za osvežitev vaše povezave" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "Vas zanima več o varnosti gesel UpdraftPlus.com? Preberite tukaj." #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "Ste pozabili vaše podrobnosti?" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "Še nimate računa (je brezplačen)? Pridobite ga!" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "Povežite se z vašim računom UpdraftPlus.Com" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "Videti je, da imate nameščen zastarel Updraft vtičnik - mogoče ste jih zmedli?" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "Za namestitev pojdite sem." #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "UpdraftPlus še ni nameščen." #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "Za aktivacijo pojdi sem." #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "UpdraftPlus še ni aktiviran." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "Za povezavo pojdite sem" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "Niste se še povezali z vašim računom Updraft.Com, da bi omogočili seznam kupljenih podatkov." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "Brez njega bo šifriranje precej počasnejše." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "Vaš strežnik nima nameščenega %s modula." #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "(Videti je, da ste že avtentificirani, čeprav se lahko v primeru težav avtentificirate znova, da osvežite vaš dostop)." #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "Podatke varnostne kopije spustite sem" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "Strežnik je vrnil kodo napake (poskusite znova ali preverite poročilo vašega strežnika)" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "Če izvzamete tako podatkovne baze kot podatke, potem ste izvzeli vse!" #: src/restorer.php:3046 msgid "Site home:" msgstr "Spletno mesto:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "Možnosti oddaljene shrambe" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(kot ponavadi lahko poročilo najdete na UpdraftPlus strani nastavitev)..." #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "Zapomni si to odločitev za naslednjič (še vedno boste imeli možnost za spremembo)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "Nalaganje ni uspelo" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "Preberi več o delovanju..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "Neuspeh: Uspeli smo se prijaviti, a na tej lokaciji nismo uspeli ustvariti datoteke." #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "Neuspeh: Uspeli smo se prijaviti in premakniti na izbrani direktorij, a na tej lokaciji nismo uspeli ustvariti datoteke." #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "Uporabi SCP namesto SFTP" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "SCP/SFTP uporabniške nastavitve" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "SCP/SFTP nastavitve gostovanja" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "Poskus pošiljanja varnostne kopije preko e-pošte ni uspel (najbrž je kopija prevelika za to metodo)" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "Varnostna kopija je od: %s." #: src/admin.php:1017 msgid "%s settings test result:" msgstr "%s testni rezultat nastavitev:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(Ni končano)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "Če vidite več varnostnih kopij, kot ste jih pričakovali, je to najbrž posledica neizbrisa starih varnostnih kopij preden se konča novo varnostno kopiranje." #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "Ne postavite je v vaš direktorij za nalaganje ali vtičnike, saj bo to povzročilo rekurzijo (varnostno kopijo varnostne kopije od varnostne kopije...)." #: src/admin.php:3843 msgid "Job ID: %s" msgstr "ID opravila: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "Zadnja aktivnost: %ss nazaj" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "Nepoznano" #: src/admin.php:3756 msgid "Backup finished" msgstr "Varnostno kopiranje je končano" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "Čakam, dokler načrtovalec zaradi napak ne poskusi znova" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "Obrezovanje starih varnostnih kopij" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "Nalagam datoteke na oddaljeno shrambo" #: src/admin.php:3803 msgid "Encrypted database" msgstr "Šifrirana podatkovna baza" #: src/admin.php:3795 msgid "Encrypting database" msgstr "Šifriranje podatkovne baze" #: src/admin.php:3769 msgid "Created database backup" msgstr "Ustvarjena varnostna kopija podatkovne baze" #: src/admin.php:3782 msgid "table: %s" msgstr "tabela: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "Ustvarjanje varnostne kopije podatkovne baze" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "Ustvarjena je zip datoteke varnostne kopije" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "Ustvarjamo zip datoteke varnostne kopije" #: src/admin.php:3706 msgid "Backup begun" msgstr "Varnostno kopiranje se je pričelo" #: src/restorer.php:1563 msgid "file" msgstr "datoteka" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "mapa" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "UpdraftPlus bi moral ustvariti %s v vašem vsebinskem direktoriju, vendar ni uspel - prosimo, preverite dovoljenja vaših datotek in omogočite dostop (%s)" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "Varnostno kopiranje se ni končalo; nadaljevanje je načrtovano" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "Vaša spletna stran ni pogosto obiskana in UpdraftPlus ne dobiva dovolj sredstev, ki si jih želi; prosimo, preberite to stran:" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "Nadaljuj s posodobitvijo" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "Ne prekinjajte po pritisku na Nadaljuj spodaj - počakajte, da se varnostno kopiranje zaključi." #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "Samodejne varnostne kopije UpdraftPlus" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "Pripetile so se napake:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "Ustvarjanje varnostne kopije z UpdraftPlus..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "Samodejno varnostna kopija" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "Ustvarjam varnostno kopijo podatkovne baze z UpdraftPlus..." #: src/addons/autobackup.php:431 msgid "themes" msgstr "teme" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "vtičniki" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "Začenjam samodejno varnostno kopiranje..." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "Ustvarjam %s in varnostno kopijo podatkovne baze z UpdraftPlus..." #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Samodejno varnostno kopiraj (kjer možno) vtičnike, teme in Wordpressove podatkovne baze z UpdraftPlus pred posodobitvijo" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "Če niste prepričani, se raje ustavite; v nasprotnem primeru lahko uničite namestitev Wordpressa." #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "To ni videti veljavna Wordpressova temeljna varnostna kopija - manjkala je datoteka %s." #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "Ni mogoče odpreti zip datoteke (%s) - ni bilo možno preveriti njene celovitosti." #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "Ni mogoče brati zip datoteke (%s) - ni bilo možno preveriti njene celovitosti." #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "Več vtičnikov" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Podpora" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "UpdraftPlus med iskanjem varnostne kopije podatkovne baze ni mogel najti predpone tabele." #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "Tej varnostni kopiji podatkovne baze manjka jedro Wordpressovih tabel: %s" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "Podatkovna baza je premajhna, da bi bila veljavna Wordpressova podatkovna baza (velikost: %s Kb)." #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "Zavarujte se s samodejnim varnostnim kopiranjem" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "Če še vedno lahko berete te besede, ko se stran neha nalagati, potem je na spletnem mestu Javascript ali jQuery napaka." #: src/admin.php:960 msgid "The file was uploaded." msgstr "Datoteka je naložena." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "Status neznanega odgovora strežnika:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "Neznan odgovor strežnika:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "Ta dešifrirni ključ bo doživel poskus:" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "Sledite tej povezavi za poskus dešifriranja in prenosa podatkovne baze na vaš računalnik." #: src/admin.php:955 msgid "Upload error" msgstr "Napaka nalaganja" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "Napaka nalaganja:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(preverite, da ste poskusili naložiti zip datoteko, ki je bila predhodno ustvarjena z UpdraftPlus)" #: src/admin.php:943 msgid "Download to your computer" msgstr "Prenesi na vaš računalnik" #: src/admin.php:942 msgid "Delete from your web server" msgstr "Brisanje iz vašega strežnika" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "Primeri S3 združljivih ponudnikov gostovanja:" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "Razdeli arhiv vsakih:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "Napaka: strežnik nam je poslal nerazumljiv odgovor (JSON)." #: src/admin.php:932 msgid "Warnings:" msgstr "Opozorila:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "Napaka: strežnik je poslal prazen odgovor." #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "Tej seriji varnostne kopije iz več arhivov manjkajo naslednji arhivi: %s" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "Datoteko (%s) smo našli, vendar je drugačne velikoste (%s) od pričakovane (%s) - morda je poškodovana." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "Datoteko smo našli, vendar je nične velikosti (potrebno jo je ponovno naložiti): %s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "Ne najdemo datoteke (potrebno jo je naložiti) %s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "Ne obstaja nobena takšna serija varnostne kopije." #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "Premikamo razpakirano varnostno kopijo na svoje mesto..." #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "Neuspeh pri odpiranju zip datoteke (%s) - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "Pot do strežnikovega Wordpress root direktorija: %s" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "%s končna točka" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "... in veliko več!" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (združljivo)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "Datoteka lokalno ni na voljo - potrebno jo je pridobiti iz oddaljene shrambe" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "Iskanje %s arhiva: ime datoteke: %s" #: src/restorer.php:635 msgid "Final checks" msgstr "Zadnje preverbe" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "Izberite za brisanje odvečnih datotek varnostne kopije iz vašega strežnika, potem ko se varnostno kopiranje zaključi (če ne izberete, potem odposlane datoteke ostanejo na voljo tudi lokalno, te datoteke pa niso del limitov hrambe)." #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "Spustite šifrirane datoteke (db.gz.crypt datoteke) podatkovne baze na to mesto, da jih naložite na dešifriranje" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "Strežniška pot do vašega direktorija wp-content: %s" #: src/admin.php:949 msgid "Raw backup history" msgstr "Neobdelana zgodovina varnostnih kopij" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "Pokaži neobdelano varnostno kopijo in seznam datoteke" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "Procesiram datoteke - prosimo, počakajte..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "Neuspeh pri odpiranju datoteke podatkovne baze." #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "Poznane varnostne kopije (neobdelane)" #: src/restorer.php:1835 msgid "Files found:" msgstr "Najdene datoteke:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "Zahtevan pogon (%s) tabele ni prisoten - spreminjam v MyISAM." #: src/restorer.php:539 msgid "file is size:" msgstr "Datoteka velikosti:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "Pojdite sem za več informacij." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "Nekatere datoteke se še vedno prenašajo ali se procesirajo - prosimo, počakajte." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "Uporabljeni časovni pas je tisti iz nastavitev Wordpress, v Nastavitve -> Splošno" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "Vnesite v obliki UU:MM (npr. 14:22)." #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "Neuspela prijava %s" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "Neuspeh pri dostopu %s med brisanjem (glejte poročilo za več informacij)" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "%s napaka" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "%s napaka - neuspeh pri nalaganju datoteke" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "%s napaka - neuspelo ponovno sestavljanje delčkov" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "%s avtentifikacija ni uspela" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "Napaka: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "Direktorij varnostne kopije obstaja, a ni zapisljiv." #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "Direktorij varnostne kopije ne obstaja." #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "Opozorilo: %s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "Naleteli smo na zelo veliko datoteko: %s (velikost: %s Mb)" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s neberljiva datoteka - ni je mogoče varnostno kopirati" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "Pripetila se je napaka ob zapiranju zaključne datoteke podatkovne baze." #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "Pripetena opozorila:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "Razpoložljivega prostora na disku je zelo malo - ostaja le %s Mb" #: src/addons/migrator.php:398 msgid "New site:" msgstr "Novo spletno mesto:" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "Preseljeno mesto (iz UpdraftPlus)" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "Vnesite podrobnosti o položaju tega novega spletnega mesta v omrežni namestitvi:" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "Potrebne informacije za nadaljevanje:" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "Aktivirana tema omrežja:" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "Procesirani vtičniki:" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "Preverite dovoljenja vaše datoteke: Nismo mogli uspešno ustvariti direktorija in vstopiti vanj:" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "Prosimo, preverite poverilnice dostopa." #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "Napaka, sporočena z %s, je bila:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "Prosimo, priskrbite zahtevane informacije in nato nadaljujte." #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "Informacije o spletnem mestu:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Opozorilo:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "Uporabljate Wordpress omrežje - vendar vaša varnostna kopija ni takšne vrste." #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Zapri" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "Nepričakovan odgovor:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "Za pošiljanje na več naslovov, vsak naslov ločite z vejico." #: src/admin.php:947 msgid "PHP information" msgstr "PHP informacija" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "najden izvršilni zip:" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "prikaži PHP informacijo (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "Ali želite seliti ali klonirati/podvojiti spletno mesto?" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "Izbriši tudi iz oddaljene shrambe" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "Zadnje UpdraftPlus.com novice:" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "Premium" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "Novice" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "Najdena je serija varnostne kopije" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "%s - ne moremo varnostno kopirati tega subjekta; ustrezen direktorij ne obstaja (%s)" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "Povezava do RSS" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "Povezava do bloga" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "Preizkušamo %s nastavitve..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "Ali jih lahko ročno prenesete v vaš UpdraftPlus direktorij (običajno wp-content/updraft), npr. preko FTP, in nato uporabite zgornjo povezavo \"ponovno iskanje\"." #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "Obvestilo" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "Pripetene napake:" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "Ponovno iskanje (varnostnih kopij, ki ste jih ročno naložili v interno hrambo)..." #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "Začeli smo iskati ta subjekt" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "Shrani na" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "\"%s\" nima primarnega ključa, na vrstici %s je potrebna ročna sprememba." #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "vrstice: %d" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "Porabljen čas (sekunde):" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "Napake:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "Poteka SQL posodobitev ukazov:" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "Narejene spremembe:" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "Preučene vrstice:" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "Preučene tabele:" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "Ni mogoče pridobiti seznama tabel" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "Opozorilo: URL (%s) baze podatkov spletnega mesta je drugačen od pričakovanega (%s)" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "Nič ni za narediti: URL spletnega mesta je že: %s" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "Napaka: nepričakovan prazen parameter (%s, %s)" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "Podatkovna baza: išči in zamenjaj URL spletnega mesta" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "Neuspeh: nismo razumeli rezultat %s operacije." #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "Neuspeh: %s operacija se mi mogla začeti." #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "Išči in zamenjaj lokacijo spletnega mesta podatkovne baze (seli)" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "Vsi sklici na lokacijo spletnega mesta bodo zamenjani s trenutnim URL vašega spletnega mesta, ki je: %s" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "Nalaganje na blog" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "Nujni vtičniki" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "Omrežna namestitev" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "začenjati iz naslednjič je" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "Neuspeh: Vrata morajo biti število." #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "geslo" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "uporabniško ime" #: src/addons/sftp.php:638 msgid "host name" msgstr "ime gostitelja" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "Na katero mesto spremeniti direktorij po prijavi - to je pogosto relativno glede na vaš domači direktorij." #: src/addons/sftp.php:615 msgid "Directory path" msgstr "Pot direktorija" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Geslo" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "Vrata" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "Gostitelj" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "Preverite dovoljenja za vašo datoteko: Nismo mogli uspešno ustvariti in vnesti:" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "Ni najdenih %s" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "Ni varnostnih kopij %s direktorijev: nič ni bilo najdeno za kopiranje" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "Če niste prepričani, čemu služi ta možnost, potem je nočete in jo izklopite." #: src/addons/morefiles.php:294 msgid "More Files" msgstr "Več datotek" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "Wordpress jedro (vključno z dodatki v vaš root Wordpress direktorij)" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "Zgornje datoteke obsegajo vse v namestitvi Wordpress." #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "Prepiši wp-config.php" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "Jedro Wordpress" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "Neuspeh: v ta direktorij nismo uspeli umestiti datoteke - prosimo, preverite svoje poverilnice." #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Neuspelo" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "WebDAV URL" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "Neuspelo lokalno zapisovanje: Napaka pri prenosu" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "Napaka pri odpiranju oddaljene datoteke: Neuspešen prenos" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "Nismo našli %s nastavitev" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "Neuspeh: uspešno smo se prijavili, a nismo uspeli ustvariti datoteke v danem direktoriju." #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "Uspeh: uspešno smo se prijavili in potrdili zmožnost ustvarjanja datoteke v danem direktoriju (vrsta prijava:" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "Neuspeh: ni se nam uspelo prijaviti s temi poverilnicami." #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "Neuspeh: Ni bilo danih strežnikovih podrobnosti." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "Mora že obstajati" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "Ime vašega %s računa: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "avtentificirali ste vaš %s račun" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "Želite uporabljati podmape?" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "napaka: neuspeh pri nalaganju datoteke v %s (glejte poročilo za več informacij)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "Komunikacija z %s ni bila šifrirana." #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "Komunikacija z %s je bila šifrirana." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "Dostopali smo do prenosnih podatkov in v njih ustvarili datoteke." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "Uspešno smo dostopali do prenosnih podatkov, vendar poskus ustvarjanja datoteke ni uspel." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "Neuspeh" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "Regija" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "Neuspeh: Ni danih podrobnosti prenosnih podatkov." #: src/methods/s3.php:1370 msgid "API secret" msgstr "Skrivni API" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "%s lokacija" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "%s skrivni ključ" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "%s dostopni ključ" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "Če vidite napake z zvezi s SSL certifikati, potem prosimo, če tukaj poiščete pomoč." #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "%s napaka ponovnega sestavljanja (%s): (oglejte si poročilo za več podrobnosti)" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "%s nalaganje: pridobivanje uploadID za večdelno nalaganje ni uspelo - glejte poročilo za več informacij" #: src/methods/email.php:106 msgid "Note:" msgstr "Opomba:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "Varnostna kopija Wordpressa" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "Dostopali smo do kontejnerja in v njem uspeli ustvariti datoteko." #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "Cloud Files napaka - dostopali smo do kontejnerha, a v njem nismo uspeli ustvariti datoteke" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "Neuspeh: Ni danih podrobnosti kontejnerja." #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Uporabniško ime" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "API ključ" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "Neuspeh: Ni danih %s." #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "Cloud Files uporabniško ime" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "UK" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "US (privzeto)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "US ali UK oblak" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "Prav tako preberite tudi ta pomembna pogosto zastavljena vprašanja." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "Preizkus %s nastavitev" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "Napaka pri odpiranju lokalne datoteke: Neuspel prenos" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "%s Napaka: Neuspelo nalaganje" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "%s Napaka: Neuspelo odpiranje lokalne datoteke" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "Cloud Files avtentifikacija ni uspela." #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Avtentifikacija z Googlom" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "Skrivni klient" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "Če Google kasneje prikaže sporočilo \"invalid_client\", potem tukaj niste vnesli veljavnega ID klienta." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "ID klienta" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "Ko ste pozvani je potrebno kot avtoriziran preusmeritveni URI dodati naslednje (pod \"Več možnosti\")" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "Kot vrsto aplikacije, izberite \"Spletne aplikacije\"." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "Račun ni avtoriziran." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "Neuspelo nalaganje na %s" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "Račun je poln: vaš %s račun ima samo še %d bajtov razpoložljivega prostora, datoteka, ki jo nalagate, pa ima %d bajtov" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "Nismo še prejeli Googlovega žetona za dostop - potrebno je avtorizirati ali ponovno avtorizirati vašo povezavo z Google Drive." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "avtentificirali ste vaš %s račun." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "Uspeh" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "Vaša %s kvota uporabe: %s %% uporabljeno, %s na voljo" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "sledite povezavi, da ga prejmete" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "%s podpora je na voljo kot dodatek" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "Nimate nameščenega %s dodatka UpdraftPlus - dobite ga na %s" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "Potrebno je ponovno avtentificirati z %s, saj obstoječe poverilnice ne delujejo." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "OK" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "Predpona tabele se je spremenila: v skladu s tem spreminjamo %s polje(a) tabele:" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "Poizvedba podatkovne baze, ki je tekla, je bila:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "se bo obnovilo kot:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "Stara predpona tabele:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "Varnostna kopija od:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "Neuspešno odpiranje datoteke podatkovne baze" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "Neuspešno iskanje datoteke podatkovne baze" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "Neuspešno izpisovanje dešifrirane podatkovne baze v datotečni sistem" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "Neuspešno ustvarjanje začasnega direktorija" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "Neuspešno brisanje delovnega direktorija po obnovitvi." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "Čiščenje odvečnih datotek..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "Obnovitev podatkovne baze (na velikih spletnih mestih lahko vzame veliko časa - če se čas izteče (kar se dogaja, če je vaš ponudnik spletnega gostovanja nastavil gostovanje z omejenimi sredstvi), potem bo potrebna druga metoda, kot npr. phpMyAdmin)..." #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "Podatkovna baza je uspešno dešifrirana." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "Dešifriram podatkovno bazo (lahko traja nekaj časa)..." #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "Razpakiravam varnostno kopijo..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "Kopiranje tega subjekta ni uspelo." #: src/restorer.php:842 msgid "Backup file not available." msgstr "Datoteka varnostne kopije ni na voljo." #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "Sporočilo o napaki" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "Podatki varnostne kopije ne vsebujejo informacije o ustrezni velikosti te datoteke." #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "Pričakovana velikost arhiva:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "Če boste zahtevali podporo, prosimo, vključite te informacija:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "PREKINITEV: Ne najdemo informacij o subjektu za obnovo." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "UpdraftPlus Obnovitev: Napredek" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "Po pritisku na ta gumb, se bo pojavila možnost izbire komponent, ki jih želite obnoviti" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "Izbriši to serijo varnostne kopije" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Shrani spremembe" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "Povsem onemogoči SSL, kjer je to mogoče" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "Imejte v mislih, da pri uporabi SSL avtentifikacije niso nujne vse oblačne metode varnostnega kopiranja." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "Ne preveri SSL certifikata" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "Uporabite SSL certifikate strežnika" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "Če to ne bo uspelo, preverite dovoljenja na vašem strežniki ali jih spremenite v drug direktorij, ki ga bo proces vašega strežnika lahko zapisal." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "ali za resetiranje te možnosti" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "Izbran direktorij varnostne kopije je zapisljiv, kar je v redu." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "Direktorij varnostne kopije" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "Izbriši lokalno varnostno kopijo" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "Prikaži napredne nastavitve" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "Napredne nastavitve" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Način razhroščevanja" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "Napredne / Razhroščevalne nastavitve" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "Zahtevam začetek varnostnega kopiranja..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Prekliči" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Noben" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "Izberite oddaljeno shrambo" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "Ročno dešifriraj datoteko varnostne kopije podatkovne baze" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "Fraza za šifriranje podatkovne baze" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "E-pošta" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "Zgornji direktoriji so vse, razen jedra Wordpress, ki ga lahko prenesete na novo z WordPress.org." #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "Izvzemi te:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "Katerikoli drugi direktoriji, najdeni znotraj wp-content" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "Vključi v varnostno kopijo datotek" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "npr. če je vaš strežnik čez dan obremenjen in bi želeli izvesti ponoči" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "Za določitev časa, ob katerem se bo izvedla varnostna kopija," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Mesečno" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "Vsakih štirinajst dni" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Tedensko" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Dnevno" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "Prenašam poročilo" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "Mapa obstaja, vendar vaš spletni strežnik nima dovoljenja za pisanje vanjo." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "Zahteva datotečnemu sistemu za ustvarjanje direktorija ni uspela." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Izbriši" #: src/admin.php:3877 msgid "show log" msgstr "prikaži poročilo" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "To bo izbrisalo vse vaše UpdraftPlus nastavitve - ali ste prepričani, da želite to storiti?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "štejte" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "Imejte v mislih, da to štetje temelji na tem, kaj je bilo ali ni bilo izvzeto ob zadnji shranitvi možnosti." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Skupni (nestisnjeni) podatki na disku:" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Ne" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Da" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "%s različica:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "Trenutna uporaba pomnilnika" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "Maksimalna uporaba pomnilnika" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "Spletni strežnik:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "Ali potrebujete podporo za Wordpress Multisite?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Multisite" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "Pred obnovitvijo preberite ta koristen članek o uporabnih stvareh." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s možnosti obnovitve:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "Morali ga boste ročno obnoviti." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "Naslednjega subjekta ne moremo samodejno obnoviti: \"%s\"." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "Vaš spletni strežnik deluje v t.i. aktivnem načinu PHP safe_mode." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Izberite komponente za obnovitev" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "Obnovitev bo zamenjala teme, vtičniki, naložene datoteke, podatkovne baze in/ali druge direktorije tega spletnega mesta (v skladu s tem, kar vsebuje serija varnostne kopije in vaša izbira)." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Obnovi varnostno kopijo" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "Izbriši serijo varnostne kopije" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "Napak pri prenosu: strežnik nam je poslal odgovor, ki ga nismo razumeli." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Napaka:" #: src/admin.php:927 msgid "calculating..." msgstr "izračunavam..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - Naložite daoteke varnostne kopije" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "osveži" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "Prostor na spletnem strežniku, ki ga uporablja UpdraftPlus" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "To je štetje vsebine vašega Updraft direktorija" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Drive" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "Če to uporabljate, potem izklopite način Turbo/Road." #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Spletni brskalnik Opera" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "Več opravil:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "Prenesite nazadnje spremenjeno poročilo" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Sporočilo zadnjega poročila" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Obnovitev" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "Kopiraj zdaj" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "Trenutni čas" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Baza podatkov" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Datoteke" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "Naslednje razporejene varnostne kopije" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "V času, ko se datotek varnostno kopirajo" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "Nobeno opravilo trenutno ni razporejeno" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "Opozorilo JavaScript" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Izbriši stare direktorije" #: src/admin.php:3050 msgid "Current limit is:" msgstr "Trenuten limit je:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "Vaša varnostna kopija je obnovljena." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Različica" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "Domača stran glavnega razvijalca" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Počistili smo vaše nastavitve." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "Ustvarili smo direktorij varnostne kopije." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "Nismo mogli ustvariti direktorija varnostne kopije" #: src/admin.php:3888 msgid "Remove old directories" msgstr "Odstranite stare direktorije" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Vrnite se na nastavitev UpdraftPlus" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Dejanja" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "Neprepoznavna oblika zapisa datoteke - ni videti kot šifrirana podatkovna baza, ustvarjena z UpdraftPlus" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Neprepoznavna oblika zapisa datoteke - ni videti kot datoteka, ustvarjena z UpdraftPlus" #: src/admin.php:2631 msgid "No local copy present." msgstr "Lokalne kopije ni na voljo." #: src/admin.php:2628 msgid "Download in progress" msgstr "Prenos v teku" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "Datoteka je pripravljena." #: src/admin.php:2598 msgid "Download failed" msgstr "Prenos ni uspel" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Napaka" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "Nismo mogli najti opravila - morda se je že končalo?" #: src/admin.php:2335 msgid "Job deleted" msgstr "Opravilo izbrisano" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Nič še ni za poročati" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Prosimo, preberite ta pogosto vprašanja in odgovore, če imate težave pri varnostne kopiranju." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "Vaša spletna stran je gostovana na %s spletnem strežniku." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Opozorilo" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Nastavitve" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Neskončna rekurzija: oglejte si vaše poročilo za več informacij" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Ne najdemo datoteke" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "Uporabljen dešifrirni ključ:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "Nismo mogli odpreti datoteke varnostne kopije za zapisovanje" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "Direktorija nismo mogli brati." #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "Direktorij (%s) varnostne kopije ni zapisljiv ali ne obstaja." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "Varnostna kopija Wordpressa je končana" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "Poskus varnostne kopije se očitno ni uspešno končal." #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Drugo" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Naložene vsebine" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Teme" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Vtičniki" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "Na najdemo poročil." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "Poročila ne moremo brati." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "UpdraftPlus opombe:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "Varnostne kopije UpdradtPlus"languages/updraftplus-th.po000064400001117733147400355670012064 0ustar00# Translation of UpdraftPlus in Thai # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: +0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: GlotPress/3.0.0\n" "Language: th\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "" #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-tl.po000064400001225450147400355670012064 0ustar00# Translation of UpdraftPlus in Tagalog # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2017-01-31 17:19:25+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: tl_PH\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "Pumasok" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Ang iyong setting ay nailagay na." #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "Isini-save..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Alisin" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "Mga setting" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "hanapin at palitan" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Go" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "Ang paghahanap / pagpapalit ay hindi na mababawi - sigurado ka ba na gusto mong gawin ito?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "Ito ay maaaring maging madaling sirain ang iyong site; kaya, gamitin ito may pag-iingat!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "palitan ng" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "maghanap" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "Paghahanap / palitan database" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "terminong ginamit sa paghahanap" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "Naganap Masyadong maraming mga error database - aborting" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "magbasa nang higit pa sa %s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "Mga ulat sa email na nilikha ng UpdraftPlus (libreng edisyon) ay magbibigay sa iyo ng pinakabagong mga balita UpdraftPlus.com" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "N.B. Kung nag-install ka ng UpdraftPlus sa ilang mga site ng WordPress, pagkatapos ay hindi mo magamit muli ang iyong proyekto; dapat kang lumikha ng bago mula sa iyong Google API console para sa bawat site." #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "Hindi ka pa gumawa ng anumang mga backup." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "Database Options" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s nagamit)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "Libreng disk space sa account:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "Ang pindutan na ito ay hindi pinagana dahil ang iyong backup na direktoryo ay hindi writable (tingnan ang mga setting)." #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "Upang baguhin ang anuman sa mga setting ng default ng kung ano ang na-back up, i-configure ang naka-iskedyul na backup, upang ipadala ang iyong mga backup sa remote na imbakan (inirerekomenda), at higit pa, pumunta sa tab na mga setting." #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "Upang makagawa ng isang backup, pindutin lamang ang Backup Now." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "Maligayang pagdating sa UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "Testing..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "Test connection..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "Table prefix" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "Backup panlabas na database" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "Magdagdag ng isang panlabas na database upang backup ..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "Kung ang iyong database ay may kasamang dagdag na mga talahanayan na hindi bahagi ng WordPress site na ito (malalaman mo kung ito ang kaso), pagkatapos ay i-activate ang pagpipiliang ito upang i-back din sa kanila up." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "Backup mga talahanayan di-WordPress na nakapaloob sa parehong database bilang ng WordPress" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "Magiging sanhi ng mga talahanayan naka-imbak sa ang MySQL database na kung saan ay hindi kasama sa WordPress (na kinilala sa pamamagitan ng kanilang kulang ang configure WordPress prefix,%s) upang i-back up din ng pagpipiliang ito." #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "Nabigo ang koneksyon." #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "Nagtagumpay ang koneksyon." #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "kabuuang (mga) talahanayan%s natagpuan; %s gamit ang ipinahiwatig prefix." #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "%s table(s) found." #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "Nabigo ang pagtatangka koneksyon sa database" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "database name" #: src/addons/moredatabase.php:115 msgid "host" msgstr "host" #: src/addons/moredatabase.php:113 msgid "user" msgstr "user" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "External database (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "Sundin ang link na ito sa iyong Google API Console, at doon buhayin ang Drive API at lumikha ng isang Client ID sa seksyon ng API Access." #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "Nabigong ma-access ang pangunahing folder" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "However, subsequent access attempts failed:" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "External database" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "Magkakaroon din magsanhi ito ng pag-debug output mula sa lahat ng mga plugin na ipapakita sa screen na ito - mangyaring huwag magulat upang makita ang mga ito." #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "Una, ipasok ang decryption key" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "Maaari mong mano-manong i-decrypt ang isang naka-encrypt na database dito." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "Maaari rin itong backup na mga panlabas na mga database." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "Hindi nais na mai-spied sa? UpdraftPlus Premium maaari encrypt ang iyong database backup." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "gamitin UpdraftPlus Premium" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "Ang WordPress database lamang ang maaaring maibalik; kailangan mong harapin ang mga panlabas na database ng mano-mano." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "May naganap na error sa unang%s utos - aborting run" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "Nabigo ang koneksyon: suriin ang iyong mga detalye ng access, na ang server ng ​​database ay up, at na ang koneksyon sa network ay hindi firewalled." #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "Nabigo ang pagtatangka koneksyon sa database." #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "Warning: tahanan URL (%s) ang database ay iba sa kung ano ang aming inaasahan (%s)" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "Sa %s, mga pangalan ng landas ay sensitibong kaso." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "Kung iiwan mo itong blangko, pagkatapos ay ang backup ay ilalagay sa root ng iyong% s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "e.g. %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "Ipasok ang path ng folder ang% s nais mong gamitin dito." #: src/methods/openstack2.php:257 msgid "Container" msgstr "Container" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "Iwanan itong blangko, at isang default ay napili." #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "Tenant" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "Sundin ang link na ito para sa karagdagang impormasyon" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "pagpapatunay na URI" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "Nabigong i-download%s" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "Nabigong i-download" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "Nabigo upang ilista ang mga file" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "Nabigong mai-upload%s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "Success:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "Patunayan na may% s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "Error sa pag-download ng mga remote file: Nabigong i-download" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "Region: %s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "%s error - na-access namin ang lalagyan, ngunit nabigong lumikha ng isang file sa loob nito" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "Ang bagay na% s ay hindi natagpuan" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "Could not access %s container" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "%s error - Nabigo upang ma-access ang lalagyan" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "Account holder's name: %s." #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "Upang magagawang upang magtakda ng isang pasadyang pangalan ng folder, gamitin UpdraftPlus Premium." #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "Ito ay isang panloob sa Google Drive ID number" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "This is NOT a folder name." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "Folder" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "%s download: di nagtagumpay: Hindi nahanap ang file ng" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "Name: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "Google Drive listahan ng mga file: Nabigo upang ma-access ang pangunahing folder" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "Ang bersyon ng iyong%s:%s." #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "Kailangan mong hilingin sa iyong kumpanya ng web hosting upang mag-upgrade." #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "Ito ang malayuang pamamaraan ng imbakan (% s) ay nangangailangan ng PHP% s o mas bago." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "Call" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "Fetch" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "Nangangailangan ang tampok na ito na bersyon% s% s o mas bago" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "Nabigong ma-unpack ang archive" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "Error - Nabigo upang i-download ang file" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "Rescan ang lokal na folder para sa mga bagong set ng mga backup" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "Dapat mong i-update ang UpdraftPlus upang matiyak na mayroon kang isang bersyon na na-nasubok para sa compatibility." #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "It has been tested up to version %s." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "Ang naka-install na bersyon ng UpdraftPlus Backup / Ibalik ay hindi pa nasubok sa iyong bersyon ng WordPress (% s)." #: src/addons/sftp.php:646 msgid "password/key" msgstr "password/key" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "Key" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "Ang iyong login ay maaaring maging alinman sa password o key na batay sa - kailangan mo na lang ipasok ay ang isa, hindi pareho." #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "Ang key na ibinigay ay hindi isang wastong format, o noon ay corrupt." #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "SCP/SFTP password/key" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "Files backup (created by %s" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "Files and database WordPress backup (created by %s)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "Backup created by: %s." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "Database (nilikha sa pamamagitan ng% s)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "hindi kilalang pinagmulan" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "Rescan remote storage" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Upload backup files" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "Backup na ito ay nilikha ng%s, at maaaring i-import." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "Basahin ang pahinang ito para sa gabay sa mga posibleng sanhi at kung paano ayusin ito." #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "Kung ito ay isang backup na ginawa ng isang iba't ibang mga backup plugin, pagkatapos ay i-UpdraftPlus Premium ay maaaring makatulong sa iyo." #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "Gayunpaman, ang UpdraftPlus archive ay Standard zip / SQL file - kaya kung ikaw ay sigurado na ang iyong mga file ay may karapatan na format, ay maaari mong palitan ang pangalan nito upang tumugma sa pattern na iyon." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "Ang file na ito ay hindi lumitaw na maging isang UpdraftPlus backup archive (tulad ng mga file ay zip o gz mga file na magkaroon ng isang pangalan tulad ng: backup_(time)_(site name)_(code)_(type).(zip|gz))." #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "Backup na nilikha ng mga hindi kilalang pinagmulan (%s) - hindi na maibabalik." #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "Ang WordPress folder na nilalaman (wp-content) ay hindi nahanap sa ito zip file." #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "Ang bersyong ito ng UpdraftPlus ay hindi alam kung paano panghawakan ang ganitong uri ng mga banyagang backup" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "%s ay nagbalik ng hindi inaasahang tugon ng HTTP:%s" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "Hindi sinusuportahan ng UpdraftPlus module para sa ang paraan na ito ng access ng file (% s) ay naglilista ng mga file" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "Walang mga setting ang natagpuan" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "Isa o higit pang mga backup ay idinagdag sa pag-iiscan remote na imbakan; Tandaan na ang mga backup hindi ay awtomatikong tatanggalin sa pamamagitan ng \"panatilihin \" mga setting ng kung / kapag nais mong tanggalin ang mga ito pagkatapos ay kailangan mong gawin ito nang mano-mano." #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "Rescanning remote at lokal na imbakan para sa backup na sets..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "(Basahin ng higit pa)" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "Mag-log ang lahat ng mga mensahe sa syslog (tanging mga admin ng server ay malamang na nais ito)" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "Remove" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "Other %s FAQs." #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "Lagyan ito ng tsek upang makatanggap ng higit pang impormasyon at mga email sa proseso ng backup - kapaki-pakinabang kung ang isang bagay ay pagpunta mali." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "Dapat na paganahin ng iyong kumpanya sa pagho-host ang mga pag-andar bago maaaring gumana ang%s." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "Pag-install ng PHP Ang iyong web server ay hindi pinagana ang mga pag-andar:%s." #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "encrypted FTP (explicit encryption)" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "encrypted FTP (implicit encryption)" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "regular non-encrypted FTP" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "Nilikha sa pamamagitan ng Backup:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "Magagamit na mag-claim sa site na ito" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "Upang mapanatili ang iyong access sa suporta, mangyaring i-renew." #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "Ang iyong bayad na access sa UpdraftPlus support mawawalan ng bisa sa lalong madaling panahon." #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "Upang mabawi ang iyong pag-access, mangyaring i-renew." #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "Ang iyong bayad na access sa UpdraftPlus support ay napaso na." #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "Ang iyong bayad na access sa UpdraftPlus update para sa site na ito ay mawawalan ng bisa sa lalong madaling panahon." #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Upang panatilihin ang iyong pag-access, at panatilihin ang pag-access sa mga pag-update (kabilang ang mga hinaharap na mga tampok at sa pagiging tugma sa WordPress release hinaharap) at suporta, mangyaring i-renew." #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "Ang iyong bayad na access sa UpdraftPlus update para sa% s ng mga add-on ang% s sa site na ito ay mawawalan ng bisa sa lalong madaling panahon." #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "Ang iyong bayad na access sa UpdraftPlus update para sa mga add-on% s sa site na ito ay napaso na." #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Upang mabawi ang access sa pag-update (kabilang ang mga hinaharap na mga tampok at sa pagiging tugma sa WordPress release hinaharap) at suporta, mangyaring i-renew." #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "Bale-walain mula sa pangunahing dashboard (para sa% s linggo)" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "Nagtagumpay Ang pagtatangka upang i-undo ang double-compression." #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "Nabigo ang pagtatangka upang i-undo ang double-compression." #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "Lumilitaw ang database file sa Na-compress na dalawang beses - marahil ang website na-download ito mula ay nagkaroon ng isang di-configure webserver." #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "Constants" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "Nabigong mabuksan ang database file para sa pagbabasa:" #: src/backup.php:1645 msgid "No database tables found" msgstr "Walang mga talahanayan ng database na natagpuan" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "mangyaring maghintay para sa ibang oras pagtatangka" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "Buong account: account iyong%s ay lamang ang natitira%d bytes, ngunit ang mga file na ia-upload ay may %d mga byte natitirang (kabuuang sukat na: %d mga byte)" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "Naganap error:" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "Sundin ang link na ito upang i-download ang log file para sa pagpapanumbalik (kinakailangan para sa anumang mga kahilingan sa suporta)." #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "See this FAQ also." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "Binabawi (kung kinakailangan) at paghahanda ng mga backup file ..." #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "Ang halaga ng oras na pinahihintulutan para sa WordPress plugin upang tumakbo ay napakababa (segundo% s) - dapat mo itong dagdagan upang maiwasan ang backup pagkabigo dahil sa time-out (kumonsulta sa iyong kumpanya sa pagho-host ng web para sa higit pang tulong - ito ay ang setting na max_execution_time PHP; ang pinapayong halaga ay% s segundo o higit pa)" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "Hindi pinagana ang plugin:%s: manu-manong muling i-activate ito kapag handa ka na." #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "Nag-time out ang% s koneksyon; kung ipinasok mo ang server na tama, pagkatapos ito ay karaniwang sanhi ng isang firewall ng pagharang ng koneksyon - dapat mong suriin sa iyong kumpanya ng web hosting." #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "Mga mensahe:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "Ang isang SQL line ay mas malaki kaysa sa maximum na laki ng packet at hindi maaaring hatiin ang nakita; ang linyang ito ay hindi naproseso, ngunit bababa:%s" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "Direktoryo ay hindi umiiral" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "New User's Email Address" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "New User's Username" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "Admin API Key" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "Admin Username" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "US o UK Rackspace Account" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "Ipasok ang iyong Rackspace admin username / API key (sa gayon ay Rackspace mapapatunayan ang iyong pahintulot upang lumikha ng mga bagong gumagamit), at ipasok ang isang bagong (natatanging) username at email address para sa bagong user at isang pangalan ng container." #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "Lumikha ng bagong user ng ​​API at lalagyan" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "API Key: %s" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "Password: %s" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "Username: %s" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "Cloud Files operation failed (%s)" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "Kaguluhan: na ay umiiral na address ng gumagamit o e-mail" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "Kailangan mong magpasok ng isang wastong bagong email address" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "Kailangan mong magpasok ng isang lalagyan" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "Kailangan mong magpasok ng isang bagong username" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "Kailangan mong magpasok ng isang admin API key" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "Kailangan mong magpasok ng isang admin username" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "Lumikha ng isang bagong gumagamit ng API na may access sa lamang lalagyan ito (sa halip na ang iyong buong account)" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "Cloud Files Container" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "Cloud Files API Key" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "Cloud Files Username" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "London (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "Hong Kong (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "Northern Virginia (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "Chicago (ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "Sydney (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "Dallas (DFW) (default)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "Cloud Files Storage Region" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "Mga Account na nilikha sa rackspacecloud.com ay US-accounts; mga account na nilikha sa rackspace.co.uk ay nakabatay sa UK" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "Na batay sa UK US o Rackspace Account" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "Mga Account na nilikha sa rackspacecloud.com ay US account; mga account na nilikha sa rackspace.co.uk ay UK account." #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "Nabigo ang Authorisation (i-check ang iyong mga credential)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "Isang hindi alam na error ang naganap kapag sinusubukang kumonekta sa UpdraftPlus.Com" #: src/admin.php:965 msgid "Create" msgstr "Create" #: src/admin.php:925 msgid "Trying..." msgstr "Trying..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "Sa bagong user na Rackspace console paaword ay (ito ay hindi ipapakita muli):" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "Error data:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "Backup ay hindi umiiral sa ang backup kasaysayan" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "Hatiin ang linya upang maiwasan ang paglampas sa maximum na packet " #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "Hindi mailipat ang lumang mga file." #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "Ang paglipat ng mga lumang data sa labas ng paraan ..." #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "Magdagdag ng isa pang address ..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "Ipasok ang address dito upang magkaroon ng isang ulat na ipinadala sa mga ito kapag natapos ng isang backup na trabaho." #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "%s checksum: %s" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "files: %s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "Gamitin ang seksyong \"ulat\" upang i-configure ang mga email address na gagamitin." #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "Debugging information" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "Uploaded to:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "Time taken:" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "Warnings" #: src/addons/reporting.php:223 msgid "Errors" msgstr "Errors" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "Errors / warnings:" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "Contains:" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "Backup began:" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "Backup Report" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "%d hours, %d minutes, %d seconds" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "%d errors, %d warnings" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "%s authentication" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "%s error: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "%s logo" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "Module na PHP Ang kailangang%s ay hindi naka-install - hilingin sa iyong kumpanya ng web hosting upang paganahin ito" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "Email address ng admin ng iyong site (%s) ay magagamit." #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "Connect" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(bersyon:%s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "Magkaroon ng kamalayan na ang mail server ay may posibilidad na magkaroon ng mga limitasyon sa laki; karaniwang sa paligid Mb%s; pag-backup ng mas malaki kaysa sa anumang mga limitasyon ay malamang na hindi dumating." #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "Pinakabagong mga katayuan:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "Naglalaman ng Backup:" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "Back up:%s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "Ang log file ay nai-attach sa email na ito." #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "Hindi kilalang / hindi inaasahang error - mangyari lamang na taasan ang isang kahilingan sa suporta" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "Database lamang (mga file ay hindi bahagi ng partikular na iskedyul)" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "Database (mga file na backup ay hindi nakumpleto)" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "Mga file lamang (database ay hindi bahagi ng partikular na iskedyul)" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "File (database backup ay hindi nakumpleto)" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "Mga File at database" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "(Ito ay angkop sa lahat ng WordPress backup plugin maliban kung ang mga ito ay tahasang naka-code para sa multisite compatibility)." #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "Ito ay isang WordPress multi-site (aka network) pag-install." #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "UpdraftPlus warning:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "(o kumonekta gamit ang form sa pahinang ito kung nakapag pa ito nabibili)" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "mangyaring sundin ang link na ito upang i-update ang plugin upang isaaktibo ito" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "mangyaring sundin ang link na ito upang i-update ang plugin sa pagkakasunud-sunod upang makakuha ng mga ito" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "latest" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "Ang iyong bersyon:%s" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "Mayroon kayong ito" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "UpdraftPlus Support" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "Isang pag-update naglalaman ng iyong mga addons ay magagamit para sa UpdraftPlus - mangyaring sundin ang link na ito upang makakuha ng mga ito." #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "UpdraftPlus Addons" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "Isang pag-update ay magagamit para sa UpdraftPlus - mangyaring sundin ang link na ito upang makakuha ng mga ito." #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "UpdraftPlus.Com ibinalik ng tugon, ngunit hindi namin maunawaan ito" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "Ang iyong email address at password na hindi nakilala sa pamamagitan ng UpdraftPlus.Com" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "UpdraftPlus.Com ibinalik ng tugon na hindi namin maunawaan (data:%s)" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "UpdraftPlus.Com ay sumagot, ngunit hindi namin naintindihan ang tugon" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "Nabigo kaming matagumpay na kumonekta sa UpdraftPlus.Com" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "Reporting" #: src/admin.php:5927 msgid "Options (raw)" msgstr "Options (raw)" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "Magpadala ng isang ulat lamang kapag mayroong mga babala / mga error" #: src/restorer.php:3052 msgid "Content URL:" msgstr "URL ng Nilalaman:" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "Ang iyong libreng puwang sa iyong hosting account ay napakababa - only %s Mb remain" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "Ang halaga ng memorya (RAM) na pinapayagan para sa PHP ay napakababa (Mb% s) - dapat mo itong dagdagan upang maiwasan ang pagkabigo dahil sa hindi sapat na memorya (kumonsulta sa iyong kumpanya ng web hosting para sa higit pang tulong)" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "Manage Addons" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "Buy It" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "Kunin ito mula sa UpdraftPlus.Com Store" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "activate ito sa site na ito" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "Mayroon kang isang hindi aktibong pagbili" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "Nakatalagang sa site na ito" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "Magagamit para sa site na ito (sa pamamagitan ng iyong pagbili ng all-addons)" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "(tila isang pre-release o withdraw release)" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "pumunta dito" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "Kailangan mo upang makakuha ng suporta?" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "Naganap ang isang error kapag sinusubukan upang makuha ang iyong mga add-on." #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "I-claim ang hindi ibinigay ng - ang iyong mga detalye sa pag-login ng account ay mali" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "Mangyaring maghintay habang ginagawa namin ang claim ..." #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "Mga error na naganap kapag sinusubukang kumonekta sa UpdraftPlus.Com:" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "Ikaw ay kasalukuyang hindi konektado sa isang UpdraftPlus.Com account." #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "Kung bumili ka ng mga bagong add-on, pagkatapos ay sundin ang link na ito upang i-refresh ang iyong koneksyon sa" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "Interesado sa pag-alam tungkol sa iyong UpdraftPlus.Com seguridad password? Basahin ang tungkol sa ito dito." #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "Nakalimutan mo ba ang iyong mga detalye?" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "Di pa nakakuha ng isang account (ito ay libre)? Pumunta makakuha ng isa!" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "Kumonekta sa iyong mga UpdraftPlus.Com account" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "Mukhang mo na magkaroon ng na naka-install ang laos na Updraft plugin - marahil ba kayong mga ito nalilito?" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "Pumunta dito upang simulan ang pag-install ito." #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "UpdraftPlus ay hindi pa naka-install." #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "Pumunta dito upang i-activate ito." #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "UpdraftPlus ay hindi pa ginawang aktibo." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "Pumunta dito upang kumonekta." #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "Hindi ka pa nakakonekta sa iyong mga UpdraftPlus.Com account, i-daan sa iyo upang ilista ang iyong mga binili na add-on." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "Nang walang ito, ang pag-encrypt ay magiging marami mas mabagal." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "Ang iyong web-server ay hindi naka-install ang module na ang%s." #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr " (Lumitaw ikaw ay napatotohanan, bagaman maaari mong patotohanan muli upang i-refresh ang iyong access kung nagkaroon ka ng problema)." #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "I-drop ang mga backup file dito" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "Nagbalik ang server ng web ng isang error code (subukan muli, o suriin ang iyong mga tala ng web server)" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "Kung ibubukod mo ang parehong database at ang mga file, pagkatapos ay naibukod ang lahat ng bagay!" #: src/restorer.php:3046 msgid "Site home:" msgstr "Tahanan Site:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "Mga Pagpipilian sa Remote Imbakan" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(Maaaring matagpuan ang mga tala sa pahina ng mga setting UpdraftPlus bilang normal) ..." #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "Tandaan ang pagpipiliang ito para sa susunod na beses (ikaw pa rin magkaroon ng pagkakataon na baguhin ito)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "Upload failed" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "Magbasa nang higit pa tungkol sa kung paano ito gumagana ..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "Nabigong: namin nagawang mag-log in, subalit nabigong matagumpay na lumikha ng isang file sa lokasyong iyon." #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "Nabigong: namin nagawang mag-log in at lumipat sa ipinahiwatig na direktoryo, subalit nabigong matagumpay na lumikha ng isang file sa lokasyong iyon." #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "Gamitin SCP sa halip ng SFTP" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "SCP/SFTP user setting" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "SCP/SFTP host setting" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "Nabigo ang pagtatangka upang ipadala ang backup sa pamamagitan ng email (marahil ang backup ay masyadong malaki para sa meth" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "Backup is of: %s." #: src/admin.php:1017 msgid "%s settings test result:" msgstr "%s settings test result:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(Hindi tapos)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "Kung iyong nakikita ang nalalaman backup kaysa sa iyong inaasahan, pagkatapos ito ay marahil dahil sa pagtanggal ng lumang backup na set ay hindi mangyayari hanggang sa makumpleto ang isang sariwang backup." #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr " Huwag ilagay ito sa loob ng iyong mga pag-upload o direktoryo plugin, pati na magiging sanhi ng recursion (mga backup ng mga backup ng mga backup ng ...)." #: src/admin.php:3843 msgid "Job ID: %s" msgstr "Job ID: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "last activity: %ss ago" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "Unknown" #: src/admin.php:3756 msgid "Backup finished" msgstr "tapos na ang Backup" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "Naghihintay hanggang sa naka-iskedyul na oras upang subukang muli dahil sa mga error" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "Pruning old backup sets" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "Ina-upload ang mga file sa remote na imbakan" #: src/admin.php:3803 msgid "Encrypted database" msgstr "Encrypted database" #: src/admin.php:3795 msgid "Encrypting database" msgstr "Encrypting database" #: src/admin.php:3769 msgid "Created database backup" msgstr "Nilikha database backup" #: src/admin.php:3782 msgid "table: %s" msgstr "table: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "Paglikha ng database backup" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "Nilikha ang file backup Zip" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "Paglikha ng mga file na backup Zip" #: src/admin.php:3706 msgid "Backup begun" msgstr "Backup begun" #: src/restorer.php:1563 msgid "file" msgstr "file" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "folder" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "UpdraftPlus na kinakailangan upang lumikha ng%s sa iyong direktoryo ng nilalaman, ngunit nabigo - mangyaring suriin ang iyong mga pahintulot ng file at paganahin ang pag-access (%s)" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "Ang backup ay hindi natapos; isang pagpapatuloy ay naka-iskedyul" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "Ang iyong website ay binisita madalang at UpdraftPlus hindi nakakakuha ang mga mapagkukunan nito umaasa para; pakibasa ang pahinang ito:" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "Magpatuloy sa pag-update" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "Huwag i-abort pagkatapos ng pagpindot Magpatuloy sa ibaba - maghintay para sa backup upang makumpleto." #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "UpdraftPlus Automatic Backups" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "Naganap error:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "Paglikha ng backup sa UpdraftPlus ..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "Automatic Backup" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "Paglikha ng database backup sa UpdraftPlus ..." #: src/addons/autobackup.php:431 msgid "themes" msgstr "themes" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "mga plugin" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "Simula sa awtomatikong pag-backup ..." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "Paglikha ng %s at database backup sa UpdraftPlus ..." #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Awtomatikong i-backup (kung saan may-katuturan) plugin, mga tema at mga WordPress database na may UpdraftPlus bago ang pag-update" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "Kung hindi ka sigurado pagkatapos ay dapat itigil; kung hindi, maaari mong sirain ang pag-install ng WordPress." #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "Hindi ito mukhang isang wastong WordPress core backup - ang file% s ay nawawala." #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "Hindi mabuksan ang zip file (% s) - maaaring hindi pre-i-scan ito upang suriin ang integridad nito." #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "Hindi mabasa ang mga zip file (% s) - ay hindi ma-pre-i-scan ito upang suriin ang integridad nito." #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "More plugins" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Support" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "UpdraftPlus ay hindi nagawang upang mahanap ang prefix talahanayan kapag kinikilatis ang backup database." #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "Kulang ito ng database backup WordPress mga talahanayan core:%s" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "Ang database ay masyadong maliit upang maging isang wastong database WordPress (laki: Kb%s)." #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "Maging ligtas sa awtomatikong pag-backup" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "Kung maaari mo pa ring basahin ang mga salitang ito pagkatapos tatapusin naglo-load ang pahina, pagkatapos ay mayroong problema JavaScript o jQuery sa site." #: src/admin.php:960 msgid "The file was uploaded." msgstr "Ang file ay na-upload." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "Katayuan ng tugon ng server Hindi alam:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "Hindi alam ng pagtugon ng server:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "Ay tinangka na ito decryption key:" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "Sundin ang link na ito upang tangkain ang decryption at i-download ang database file sa iyong computer." #: src/admin.php:955 msgid "Upload error" msgstr "Upload error" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "Upload error:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(tiyakin na sinusubukan mong mag-upload ng zip file sa nakaraang nalikha sa pamamagitan ng UpdraftPlus)" #: src/admin.php:943 msgid "Download to your computer" msgstr "I-download sa iyong computer" #: src/admin.php:942 msgid "Delete from your web server" msgstr "Tanggalin mula sa iyong mga web server" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "Mga halimbawa ng S3-katugmang imbakan provider:" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "Hatiin ang mga archive bawat:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "Error: nagpadala sa amin ang server ng tugon (JSON) na hindi namin naintindihan." #: src/admin.php:932 msgid "Warnings:" msgstr "Mga Babala:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "Error: Nagpadala ang server ng walang laman na tugon." #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "Ito multi-archive backup set na lilitaw upang magkaroon ng mga sumusunod na mga archive nawawala:%s" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "File (%s) ay natagpuan, ngunit may isang iba't ibang laki (%s) mula sa kung ano ang inaasahan (%s) - maaaring ito ay corrupt." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "File ay natagpuan, ngunit ay zero-sized (kailangan mong i-upload ang muling ito):%s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "Hindi nahanap ang file (kailangan mong i-upload ito):%s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "Walang ganoong backup set na umiiral" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "Ang paglipat ng unpacked backup sa lugar ..." #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "Nabigong buksan ang zip file (%s) -%s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "WordPress root directory server path:%s" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "%s end-point" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "... At marami pa!" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (Compatible)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "Ang file na ay hindi lokal na naroroon - mga pangangailangan sa pagkuha mula sa remote na imbakan" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "Naghahanap para sa archive% s: pangalan ng file:%s" #: src/restorer.php:635 msgid "Final checks" msgstr "Final checks" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "Lagyan ito ng tsek upang tanggalin ang anumang mga kalabisan backup na file mula sa iyong server matapos ang pagda-backup run (ibig sabihin kung i-uncheck mo, pagkatapos ay ang anumang mga file despatsado sa malayo ay mananatiling din nang lokal, at ang anumang mga file na pinananatiling nang lokal ay hindi napapailalim sa mga limitasyon ng pagpapanatili)." #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "I-drop ang naka-encrypt na database ng mga file (db.gz.crypt mga file) dito upang mag-upload ng mga ito para sa decryption" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "Ang iyong wp-content direktoryo ng server path:% s" #: src/admin.php:949 msgid "Raw backup history" msgstr "Raw kasaysayan ng backup" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "Ipakita ang raw backup at listahan ng file" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "Pinoproseso ang file - mangyari lamang na maghintay ..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "Nabigong mabuksan ang database file." #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "Known backups (raw)" #: src/restorer.php:1835 msgid "Files found:" msgstr "Mga file na natagpuan:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "Requested table engine (% s) ay hindi naroroon - pagbabago sa MyISAM." #: src/restorer.php:539 msgid "file is size:" msgstr "file ay na sukat:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "Pumunta dito para sa karagdagang impormasyon." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "Ang ilang mga file ay ng da-download pa rin o pinoproseso - mangyaring maghintay." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "Ang time zone ay ginamit na mula sa iyong mga setting ng WordPress, sa Mga Setting -> General." #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "Enter in format HH:MM (e.g. 14:22)." #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "%s login failure" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "Nabigong i-access%s kapag nagtatanggal ng (tingnan ang log file para sa higit pa)" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "%s Error" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "%s error - failed to upload file" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "%s error - Nabigo upang muling magtipon chunks" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "%s authentication failed" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "Error: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "Backup na direktoryo tinukoy na umiiral, ngunit hindi writable." #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "Backup na direktoryo tinukoy ang hindi umiiral." #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "Babala:%s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "Isang napakalaking file naranasang:%s (laki:%s Mb)" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s: hindi nababasa ng file - hindi ma-back up" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "May naganap na error habang isinasara ang panghuling database file" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "Nakaranas babala:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "Ang iyong libreng puwang sa disk ay napakababa - only %s Mb remain" #: src/addons/migrator.php:398 msgid "New site:" msgstr "New site:" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "Migrated site (from UpdraftPlus)" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "Ipasok ang mga detalye para sa kung saan bagong site na ito ay upang mabuhay sa loob ng iyong multisite install:" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "Impormasyon na kailangan upang magpatuloy:" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "Network activating theme:" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "Processed plugin:" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "Suriin ang iyong mga pahintulot ng file: ma hindi matagumpay na lumikha at ipasok direktoryo:" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "Mangyaring suriin ang iyong mga kredensyal sa pag-access." #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "Ang error na iniulat ng%s ay:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "Mangyaring ibigay ang hiniling na impormasyon, at pagkatapos ay magpatuloy." #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "Impormasyon ng Site:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Babala:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "Ikaw ay tumatakbo sa WordPress multisite - ngunit ang iyong mga backup ay hindi sa isang multisite site." #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Close" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "Hindi inaasahang tugon:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "Upang magpadala sa higit sa isang address, ihiwalay ang bawat address gamit ang isang kuwit." #: src/admin.php:947 msgid "PHP information" msgstr "PHP information" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "nahanap zip executable:" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "show PHP information (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "Gusto mong i-migrate o clone / doblehin ang isang site?" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "Tatanggalin din mula sa remote na imbakan" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "Pinakabagong balita UpdraftPlus.com:" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "Premium" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "News" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "Hindi nahanap ang Backup na hanay" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "%s - hindi ma-back ito entity up; ang mga kaukulang direktoryo ay hindi umiiral (%s)" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "RSS link" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "Blog link" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "Testing %s Settings..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "O, maaari mong ilagay ang mga ito nang mano-mano sa iyong direktoryo ng UpdraftPlus (karaniwan ay wp-content/updraft), hal sa pamamagitan ng FTP, at pagkatapos ay gamitin ang \"rescan \" na link itaas." #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "paunawa" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "Nakaranas ng mga error:" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "Rescanning (naghahanap ng mga backup na manu-mano mong na-upload sa panloob na backup) ..." #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "Nagsimula na naghahanap para sa entity na ito" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "Store at" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "\"%s\" ay walang pangunahing key, kailangan sa hilera %s manu-manong pagbabago." #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "rows: %d" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "Time taken (seconds):" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "Errors:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "SQL update commands run:" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "Changes made:" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "Rows examined:" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "Tables examined:" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "Hindi makuha ang listahan ng mga talahanayan" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "Warning: URL ng site ang database ni (%s) ay naiiba sa kung ano ang aming inaasahan (%s)" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "Nothing to do: the site URL is already: %s" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "Error: unexpected empty parameter (%s, %s)" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "Database: URL maghanap at palitan ang site" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "Failed: we did not understand the result returned by the %s operation." #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "Failed: the %s operation was not able to start." #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "Hanapin at palitan ang lokasyon ng site sa database (migrate)" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "Ang lahat ng mga sanggunian sa lokasyon ng site sa database ay mapapalitan ng iyong kasalukuyang URL ng site, kung saan ay:%s" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "upload blog" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "Dapat gamitin ng mga plugin" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "Multisite I-install" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "simula sa susunod na panahon ito ay" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "Pagkabigo: Port dapat maging isang integer." #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "password" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "username" #: src/addons/sftp.php:638 msgid "host name" msgstr "host name" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "Saan upang baguhin ang direktoryo na pagkatapos ng pag-log in - madalas na ito ay may kaugnayan sa iyong home directory." #: src/addons/sftp.php:615 msgid "Directory path" msgstr "Directory path" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Password" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "Port" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "Host" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "Suriin ang iyong mga pahintulot ng file: ma hindi matagumpay na lumikha at ipasok ang:" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "No %s found" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "Walang backup ng mga direktoryo% s: nagkaroon walang natagpuan upang i-back up" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "Kung hindi ka sigurado kung ano ang opsyon na ito ay para sa, pagkatapos ay hindi mo gusto ito, at dapat itong i-off." #: src/addons/morefiles.php:294 msgid "More Files" msgstr "Higit pang mga File" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "WordPress core (kabilang ang anumang mga pagdaragdag sa iyong WordPress root directory)" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "Ang mga file sa itaas masaklaw ang lahat sa isang WordPress pag-install." #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "Over-write wp-config.php" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "WordPress Core" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "Nabigo: Hindi namin nagawang maglagay ng isang file sa directory na iyon - mangyaring suriin ang iyong mga kredensyal." #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Failed" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "WebDAV URL" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "Local write failed: Failed to download" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "Error sa pambungad na remote file: Nabigong i-download" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "Walang mga setting ng% s ang natagpuan" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "Pagkabigo: matagumpay naming naka-log in, ngunit hindi nagawang lumikha ng isang file sa ibinigay na direktoryo." #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "Tagumpay: matagumpay naming naka-log in, at nakumpirma ang aming kakayahan upang lumikha ng isang file sa ibinigay na direktoryo ng (uri ng pag-login:" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "Pagkabigo: hindi matagumpay namin ginawa mag-log in gamit ang mga kredensyal." #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "Pagkabigo: Walang mga detalye ng server ay naibigay na." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "Kailangang naka exist" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "Your %s account name: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "na napatotohanan mo ang account na iyong%s" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "Kailangang gumamit ng mga sub-folder?" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "Error: Nabigong ma-upload ang file sa% s (tingnan ang log file para sa higit pa)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "Ang pakikipag-usap sa% s ay hindi naka-encrypt." #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "Ang pakikipag-usap sa%s ay naka-encrypt." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "Na-access namin ang bucket, at nagawang lumikha ng mga file sa loob nito." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "Matagumpay naming na-access ang bucket, ngunit nabigo ang pagtatangka upang lumikha ng isang file sa loob nito." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "pagkabigo" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "Region" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "Pagkabigo: Walang mga detalye bucket ay naibigay na." #: src/methods/s3.php:1370 msgid "API secret" msgstr "API secret" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "%s location" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "%s secret key" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "%s access key" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "Kung makakita ka ng error tungkol sa SSL certificate, pagkatapos mangyaring pumunta dito para sa tulong." #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "%s re-assembly error (%s): (tingnan ang log file para sa higit pa)" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "% s pag-upload: Nabigo ang pagkuha ng uploadID para sa multipart pag-upload - makita ang log file para sa higit pang mga detalye" #: src/methods/email.php:106 msgid "Note:" msgstr "Note:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "WordPress Backup" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "Na-access namin ang lalagyan, at nagawang lumikha ng mga file sa loob nito." #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "Cloud Files error - na-access namin ang lalagyan, ngunit nabigong lumikha ng isang file sa loob nito" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "Pagkabigo: Walang mga detalye ng container ay naibigay na." #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Username" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "API key" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "Failure: No %s was given." #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "Cloud Files username" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "UK" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "US (default)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "US o UK Cloud" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "Gayundin, dapat mong basahin ito mahalagang FAQ." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "Test %s Settings" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "Error sa pagbukas ng mga lokal na file: Nabigong i-download" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "%s Error: Failed to upload" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "%s Error: Nabigong buksan ang mga lokal na file" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "Cloud Files authentication failed" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Patunayan sa Google" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "Client Secret" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "Kung ipinapakita ng Google mamaya mo ang mensahe \"invalid_client \", pagkatapos ay hindi ka nagpasok ng isang wastong client ID dito." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "Client ID" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "Dapat mong idagdag ang mga sumusunod bilang mga awtorisadong URI pag-redirect (sa ilalim \"Higit pang mga Pagpipilian\") kapag tinanong" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "Sundin ang link na Na Ito Sa na iyong Google API Console, sa doon buhayin ang Drive API sa lumikha Ng isang Client ID Sa seksyon Ng API Access." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "Account is not authorized." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "Failed to upload to %s" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "Buong account: account iyong%s ay lamang ang natitira%d bytes, ngunit ang mga file na ia-upload ay% d mga byte" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "Hindi pa nakuha ng token sa pag-access mula sa Google - kailangan mo upang pahintulutan o muling pahintulutan ang iyong koneksyon sa Google Drive." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "you have authenticated your %s account." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "Success" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "Your %s quota usage: %s %% used, %s available" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "sundin ang link na ito upang makakuha ng mga ito" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "support% s ay magagamit bilang isang add-on" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "Wala kang ang UpdraftPlus%s add-on na naka-install - makakuha ng ito mula sa%s" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "Kailangan mong muling patotohanan gamit ang% s, pati na ang iyong umiiral na mga credential ay hindi gumagana." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "OK" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "Ang table prefix ay nagbago: pagbabago ng table field(s) %s nang naaayon:" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "ang database query tumatakbo ay:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "will restore as:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "Old table prefix:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "Backup ng:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "Nabigong mabuksan ang database file" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "Nabigong mahanap ang database file" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "Nabigong isulat ang decrypted database sa filesystem" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "Nabigong lumikha ng pansamantalang direktoryo" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "Nabigong tanggalin nagtatrabaho direktoryo pagkatapos ng pagpapanumbalik." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "Cleaning up rubbish..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "Ipinapanumbalik ang database (sa isang malaking site ay maaaring ito tumagal ng isang mahabang oras - kung ito ay mag time out (na maaaring mangyari kung ang iyong weg host ay na-configure ang iyong pagho-host upang limitahan ang mga mapagkukunan) pagkatapos ay dapat gumamit ng ibang paraan, katulad ng phpMyAdmin) .. ." #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "Database successfully decrypted." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "Decrypting database (maaaring tumagal) ..." #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "Unpacking backup ..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "Nabigo ang pagkopya ng mga entity na ito." #: src/restorer.php:842 msgid "Backup file not available." msgstr "Hindi available ang backup na file." #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "Error message" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "Ang mga tala ng backup na hindi naglalaman ng impormasyon tungkol sa tamang laki ng file na ito." #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "Archive ay inaasahang maging sukat:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "Kung sa paggawa ng isang kahilingan para sa suporta, mangyaring isama ang impormasyong ito:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "I-abort: Hindi mahanap ang impormasyon sa kung aling mga entity upang ibalik." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "UpdraftPlus Restoration: Progreso" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "Pagkatapos pindutin ang pindutang ito, ikaw ay bibigyan ng pagpipilian upang piliin kung aling mga bahagi naisin mong ibalik" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "Tanggalin ang backup set" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Save Changes" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "Huwag paganahin ang ganap na SSL kung saan posible" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "Tandaan na hindi lahat ng mga pamamaraan na ulap backup ay kinakailangang gamit ang SSL pagpapatunay." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "Do not verify SSL certificates" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "Use the server's SSL certificates" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "Kung iyon ay hindi matagumpay na suriin ang mga pahintulot sa iyong server o baguhin ito sa isa pang directory na iyon ay writable sa pamamagitan ng iyong proseso ng web server." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "o, i-reset ang opsyon na ito" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "Backup na direktoryo tinukoy ay writable, na mahusay." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "Backup na direktoryo ng" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "Tanggalin ang mga lokal na backup" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "Ipakita ang mga setting sa mga dalubhasang" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "Expert settings" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Debug mode" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "Mga Setting ng Advanced / Pag-debug" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "Humihiling ng pagsisimula ng mga backup ..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Cancel" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "wala" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "Piliin ang iyong remote na imbakan" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "Manu-manong i-decrypt ang isang database backup file" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "Parirala ng pag-encrypt ng Database" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "Email" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "Ang mga direktoryo sa itaas ay ang lahat ng bagay, maliban para sa WordPress core mismo kung saan maaari mong i-download muli pa mula sa WordPress.org." #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "Exclude these:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "Anumang iba pang mga direktoryo natagpuan sa loob wp-content" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "Isama sa mga file na backup" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "halimbawa kung ang iyong server ay abala sa araw at gusto mong patakbuhin ang magdamag" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "Upang ayusin ang oras kung ang isang backup ay dapat na maganap," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Monthly" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "Fortnightly" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Weekly" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Daily" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "I-download ang log file" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "Ang folder na umiiral, ngunit ang iyong webserver ay walang pahintulot na magsulat sa mga ito." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "Nabigo ang kahilingan sa filesystem upang lumikha ng direktoryo." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Delete" #: src/admin.php:3877 msgid "show log" msgstr "show log" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "Tatanggalin nito ang lahat ng iyong mga setting ng UpdraftPlus - sigurado ka ba na gusto mong gawin ito?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "count" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "N.B. Count na ito ay batay sa kung ano ang, o hindi, ibinukod ang huling beses na nai-save ang mga pagpipilian." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Kabuuang (hindi naka-compress) on-disk data:" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "hindi" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "oo" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "%s version:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "Current memory usage" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "Peak memory usage" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "Web server:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "Kailangan ba ninyo ng WordPress Multisite suporta?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Multisite" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "Basahin ba ito nakatulong sa artikulo ng kapaki-pakinabang na mga bagay upang malaman bago pagpapanumbalik." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s opsyon sa pagpapanumbalik:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "Kailangan mong ibalik ito ng mano-mano." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "Ang mga sumusunod na entity ay hindi maaaring awtomatikong naibalik: \"%s\"." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "Ang iyong web server ay PHP naaktibong tinatawag na safe_mode." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Piliin ang mga bahagi upang ipanumbalik" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "Ipinapanumbalik ay papalit sa tema ng site na ito, plugin, upload, database at / o iba pang mga direktoryo ng nilalaman (ayon sa kung ano ay nilalaman sa backup set, at ang iyong pagpili)." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Restore backup" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "Tanggalin ang backup set" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "I-download ang error: Ipinadala sa amin ang server ng isang tugon na hindi namin naintindihan." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Error:" #: src/admin.php:927 msgid "calculating..." msgstr "calculating..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - Mag-upload ng mga backup file" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "refresh" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "Espasyo Web-server disk sa paggamit sa pamamagitan ng UpdraftPlus" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "Ito ay isang pagbilang ng mga nilalaman ng iyong direktoryo ng Updraft" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Drive" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "Kung ikaw ay gumagamit ng ito, pagkatapos ay i-mode Turbo / Road off." #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Opera web browser" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "More tasks:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "I-download ang pinaka-kamakailang binagong log file" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Last log message" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Restore" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "I-backup Ngayon" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "Time now" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Database" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Files" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "Susunod na naka-iskedyul na pag-backup" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "Kasabay nito bilang ang mga backup file" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "Walang kasalukuyang naka-iskedyul" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "JavaScript babala" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Tanggalin ang Lumang Mga Direktoryo" #: src/admin.php:3050 msgid "Current limit is:" msgstr "Kasalukuyang limitasyon ay:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "Ang iyong backup ay naibalik na." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Version" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "Lead developer's homepage" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Backup Na direktoryo ay wikang Hindi mabuo" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "Backup na direktoryo ay Hindi mabuo" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "Backup directory ay hindi mabuo" #: src/admin.php:3888 msgid "Remove old directories" msgstr "Alisin ang lumang mga direktoryo" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Bumalik sa UpdraftPlus Configuration" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Mga Pagkilos" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "Masamang filename format - ito ay hindi mukhang isang naka-encrypt na database file na nilikha ng mga UpdraftPlus" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Masamang filename format - ito ay hindi mukhang isang file na nilikha ng mga UpdraftPlus" #: src/admin.php:2631 msgid "No local copy present." msgstr "Walang mga lokal na kopya kasalukuyan." #: src/admin.php:2628 msgid "Download in progress" msgstr "Download in progress" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "File ready." #: src/admin.php:2598 msgid "Download failed" msgstr "Nabigo ang pag-download " #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Error" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "Hindi mahanap na trabaho - marahil ito ay na natapos?" #: src/admin.php:2335 msgid "Job deleted" msgstr "Job deleted" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Wala pa naka-log" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Mangyaring kumonsulta ang FAQ na ito kung mayroon kang mga problema sa pag-back up." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "Ang iyong website ay naka-host sa pamamagitan ng web server ang% s." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "babala" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Settings" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Walang-hanggan recursion: kumonsulta sa iyong pag-log para sa karagdagang impormasyon" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Hindi nahanap ang file" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "Ang decryption key na ginamit:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "Hindi mabuksan ang backup na file para sa pagsulat" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "Hindi mabasa ang directory na" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "Backup na direktoryo ng (%s) ay hindi writable, o hindi na umiiral." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "WordPress backup ay kumpleto na" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "Ang tamgkang pag baback-up ay tapos na, subalit hindi matagumpay." #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Others" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Uploads" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Themes" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Plugins" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "Walang mga file ng log ang natagpuan." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "Ang log file ay hindi mabasa." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "UpdraftPlus notice:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "UpdraftPlus Backups"languages/updraftplus-es_AR.po000064400001406527147400355670012444 0ustar00# Translation of UpdraftPlus in Spanish (Argentina) # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2023-09-04 19:09:13+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: es_AR\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "archivo %d de %d" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "Aún no obtuviste un token de acceso de Google; tenés que autorizar o volver a autorizar tu conexión con Google Cloud." #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "Iniciá sesión con %s" #: src/admin.php:3822 msgid "(after %ss)" msgstr "(después %ss)" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "siguiente reanudación: %d" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "Instalar plugins de depuración:" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "ABSPATH anterior:" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "Hay una actualización de UpdraftPlus disponible - conectate aquí para obtenerla." #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "ya subido" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "Probá UpdraftPlus Premium." #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "Anonimizá los datos personales en los respaldos de tu base de datos." #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "Funciones de anonimato" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "Para tener más tipos de informes, usá la versión Premium" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "Tu respaldo por correo electrónico y un informe se enviarán a" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "Mirá también la versión Premium en nuestra tienda." #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "Agregar regla de exclusión" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "al final de sus nombres" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "en cualquier lugar de sus nombres" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "al principio de sus nombres" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "estos caracteres" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "Todos los archivos/directorios que contengan" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "Seleccioná la carpeta en la que están localizados los archivos/directorios que te gustaría excluir" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "Todos los archivos/directorios que contengan los caracteres dados en sus nombres" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "Archivos/directorios que contengan los caracteres dados en sus nombres" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "Nunca" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "Quizás más tarde" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "Ok, lo merecés" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "Modo SQL actual:" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "Imagen de UpdraftClone:" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "Compatible con WordPress multisitio, con características adicionales, gracias a UpdraftPlus Premium." #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "Estilo de servidor virtual" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "Estilo de ruta" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "Leé más sobre el estilo de acceso a cubos" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "Estilo de acceso a cubos" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "Fallo: No se han facilitado detalles de la variable." #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "Si querés encriptación (por ejemplo: estás almacenando datos sensibles del negocio), hay disponible una extensión en la versión Premium." #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "Para más opciones, usá la versión Premium" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "Si hacés respaldos de varios sitios en el mismo Dropbox y querés organizarlos en subcarpetas %sprobá la versión Premium%s" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "Completar la identificación manual" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "Código de identificación de %s:" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "Para completar la identificación manual, en la pantalla naranja de identificación de UpdraftPlus, seleccioná el enlace \"¿Tenés problemas con la identificación?\" y, después, copiá y pegá aquí el código proporcionado." #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "Si estás teniendo problemas con la identificación con %s, aquí podés autorizarlo manualmente." #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "Identificación de %s:" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "La extensión de suscripciones WordPress para dueños de tiendas WooCommerce." #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "por" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "El equipo de Updraft" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "¡Muchas gracias!" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "Advertencia: No te quedan tokens de clonado o no hay suscripciones o ninguna suscripción que se renovará antes de la fecha de caducidad del clon." #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "Fue eliminada la lista de sitios existentes" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "Hubo un error al intentar eliminar la lista de sitios existentes." #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "Vaciar la lista de sitios existentes" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "Falta el ID de la instancia:" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "Faltan datos de identificación:" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "La identificación manual no está disponible para este método de almacenamiento remoto" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "O, si están en un almacenamiento remoto, podés conectar con ese almacenamiento remoto (en la pestaña \"Ajustes\"), guardar tus ajustes y usar el enlace \"Volver a explorar el almacenamiento remoto\"." #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "Si tenés un respaldo existente desde la que deseas subir y restaurar usá el enlace \"Subir archivos de respaldo\" anterior." #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "Incluí todas las tablas que no están en la siguiente lista" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "Por lo tanto, las tablas afectadas en el sitio actual que ya existen no serán reemplazadas predeterminada, para evitar dañarlas (podés revisarlo a continuación en la lista de tablas)." #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "Por tanto, se aconseja que hagas una nueva respaldo en el sitio de origen, usando una versión posterior." #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "Este respaldo se creó en una versión anterior de UpdraftPlus (%s) y el respaldo de las tablas con claves primarias compuestas (como la tabla `term_relationships`, que registra etiquetas y atributos del producto) no fue realizado correctamente." #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "Este respaldo es de un sitio con un prefijo de tabla vacío, con lo que WordPress no es compatible; los resultados pueden ser poco fiables." #: src/class-updraftplus.php:4033 msgid "View log" msgstr "Ver el registro" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "Podés ver el registro presionando el botón \"Ver el registro\"." #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "UpdraftPlus en %s" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "Tu proveedor de hosting solo te permite hacer un respaldo incremental por día." #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "Se hicieron dos intentos fallidos para incluirlo, y ahora se omitirá del respaldo" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "se está haciendo un segundo intento (se omitirá si volvé a fallar)" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "Falló el respaldo de la tabla de la base de datos:" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "Falló la apertura del directorio para tu lectura:" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "El enlace de descarga está roto o el archivo de respaldo ya no está disponible" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "El enlace de descarga está roto, es posible que hayas hecho clic en el enlace de una fuente no confiable" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "Debido a la restricción, algunos ajustes pueden ser automáticamente ajustados, desactivados o no estar disponibles." #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "Tu web está alojada con %s (%s)." #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "El siguiente almacenamiento remoto (%s) solo fue configurado parcialmente. Si estás teniendo problemas, podés intentar autorizarlo manualmente en la página de ajustes de UpdraftPlus." #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "El siguiente almacenamiento remoto (%s) solo fue configurado parcialmente. La autorización manual no es compatible con este almacenamiento remoto. Por favor, intentalo de nuevo y, si el problema persiste, contactate con el soporte." #: src/admin.php:6151 msgid "more info" msgstr "más información" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "Están configuradas las siguientes opciones del almacenamiento remoto." #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "No se encontraron ubicaciones de almacenamiento con opciones válidas." #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "Esto puede impedir que el procedimiento de restauración pueda continuar." #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "(el asterisco coincide con cero o más caracteres)" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "Aviso de UpdraftPlus" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "Soporte Premium / Pro" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "El número de opciones de restauración que se enviarán supera el máximo configurado en tu configuración de PHP (max_input_vars)." #: src/admin.php:1148 msgid "is not" msgstr "no es" #: src/admin.php:1144 msgid "is" msgstr "es" #: src/admin.php:1138 msgid "Day of the month" msgstr "Día del mes" #: src/admin.php:1134 msgid "Day of the week" msgstr "Día de la semana" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "si se cumplen todas las condiciones siguientes:" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "si se cumple cualquiera de las siguientes condiciones:" #: src/admin.php:1120 msgid "on every backup" msgstr "en cada respaldo" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "Tu proveedor de hosting solo te permite hacer un respaldo incremental por día." #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "Alcanzaste el límite diario de respaldos incrementales que podés crear en este momento." #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "Por favor, contactate con tu empresa de hosting (%s) si necesitás más soporte." #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "Tu proveedor de hosting solo te permite hacer un respaldo por mes." #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "Alcanzaste el límite mensual del número de respaldos que podés crear en este momento." #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "Restaurando rutina almacenada: %s" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "Por favor, ingresá la parte del nombre del archivo" #: src/admin.php:1013 msgid "Loading..." msgstr "Cargando…" #: src/admin.php:969 msgid "Exit full-screen" msgstr "Salir de pantalla completa" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "Pantalla completa" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "Elegiste enviar este respaldo a un almacenamiento remoto, pero no se ha seleccionado ninguna ubicación de almacenamiento." #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "Iniciaste sesión en UpdraftPlus.Com correctamente y conectaste el plugin con tu cuenta" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "Espera mientras nos conectamos con UpdraftPlus.com ..." #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "Falló el intento de abrir y leer el contenido del archivo de contraseñas; asegurate de que el archivo sea legible y no esté siendo bloqueado por otro proceso" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "El archivo de contraseñas que especificaste no existe; por favor, chequeá el parámetro --password-file." #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "La dirección de correo electrónico ingresada parece no ser válida. Por favor, chequeala e intentá de nuevo." #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "Fallo al buscar y reemplazar" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "Búsqueda y reemplazo correctos." #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "Fallo al buscar y reemplazar:" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "No se pudo crear una clave de UpdraftCentral" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "Clave de UpdraftCentral creada:" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "China (Ningxia) (restringido)" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "Asia Pacífico (Hong Kong)" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "Asia Pacífico (Osaka-Local) (restringido)" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "África (Ciudad del Cabo)" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "Europa (Milán)" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "Este de EE. UU. (Virginia del norte) (predeterminado)" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "Cuando esté habilitado el método de almacenamiento en el correo electrónico y se ingrese una dirección de correo, también enviar el respaldo" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "Enviar informes" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "Enviar respaldos programados a este destino:" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "Deseleccionar todo" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "Seleccionar todo (este sitio)" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "No se encontró el bucket especificado." #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "Aprendé más" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "Anonimizar los datos personales de todos los usuarios excepto del personal" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "Anonimizar los datos personales de todos los usuarios excepto el usuario con la sesión iniciada" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "Nótese que la información anonimizada no se puede recuperar; los datos originales no anonimizados estarán ausentes del respaldo." #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "Estas opciones pueden anonimizar los datos personales en el respaldo de la base de datos." #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "Comprar %s" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "Obtené %s desde la tienda de UpdraftPlus.com" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "Andá al escritorio de UpdraftCentral Cloud" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "Iniciaste sesión a UpdraftPlus y conectaste este sitio a UpdraftCentral Cloud de forma exitosa." #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "Realizar un respaldo" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "Más fantásticos plugins del equipo de Updraft" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "Te permite hacer respaldo solo de los cambios en tus archivos (como por ejemplo una nueva imagen) que hayan tenido lugar en el sitio desde el último respaldo." #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "Respaldos incrementales" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "Seguí este enlace para ir a las instrucciones de instalación (en particular al paso 1)." #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "Compraste UdraftPremium de forma exitosa" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "Va a la página de finalizar compra de updraftplus.com" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "Va a la página de pago de updraftplus.com" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "Obtené aquí %s" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "Cuanto mayor sea el valor, más recursos de servidor se necesitarán para crear el archivo." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "para realizar respaldos incrementales" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "Conservar todos estos respaldos programados de la base de datos" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "Conservar todos estos archivos de respaldos programados" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "Agregar una regla de exclusión para %s" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "Utiliza ctrl / cmd + clic para seleccionar varios elementos, o ctrl / cmd + may + clic para seleccionar todos los que haya entre las hacé clic enciones" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "Anular la selección de todos los respaldos" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "Seleccionar todos los respaldos" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "Borrar los respaldos seleccionadas" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "Mostrar todos los respaldos…" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "Mostrar más respaldos…" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "Elegí los componentes a restaurar:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "Restaurar archivos desde" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "Obtené más información acerca de los respaldos incrementales aquí." #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "Las respaldos incrementales son una característica de %s (actualizá siguiendo este enlace)." #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "Realiza un respaldo incremental" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "Realiza una nueva respaldo" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "La conexión con la base de datos fue cerrada y no puede ser reabierta." #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "Tabla %s omitida: ya fue restaurada en una ejecución anterior; siguiente tabla a restaurar: %s" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "Tabla %s omitida: el usuario ha elegido no restaurar esta tabla" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "Se han encontrado y reemplazado las restricciones de clave externa de la tabla existente, ya que el prefijo de tabla ha cambiado." #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "Ocurrió un error al tratar de establecer un nuevo valor a la variable MySQL global log_bin_trust_function_creators %s" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "Ocurrió un error al tratar de recuperar la variable MySQL global log_bin_trust_function_creators %s" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "El directorio no existe, y el intento de crearlo falló" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "No se pudo borrar la ruta anterior." #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "Seguí este enlace para obtener ayuda" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "Por favor, ingresá tu contraseña de %s" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "Por favor, ingresá tu dirección de correo electrónico de %s" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "Comenzar suscripción" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "Comenzar la suscripción de %s" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "Comenzar prueba" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "Comenzar la prueba de %s" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "Comenzar una suscripción a UpdraftVault de %s" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "%s mes de prueba %s" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "con la opción de " #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "Leé más sobre %s aquí." #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "Conectate con tu cuenta de %s" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "¿Ya tenés espacio?" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "¿Necesitás espacio?" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "Error: No se pudo inicializar" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "fallo de subida" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "error de inicio de sesión" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "error - no se ha subido el archivo" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "error - no se han podido ensamblar los pedazos" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "error - no se pudo crear y acceder al contenedor" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "fallo de indentificación" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "En caso contrario, ¡podés probar UpdraftVault 1 mes por solo 1$!" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "Si tenés una licencia Premium válida, tenés 1GB de almacenamiento incluido." #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "¡Probá UpdraftVault 1 mes por solo 1$!" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "administra todos tus sitios de WordPress a la vez desde un solo lugar" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "¿Tenés muchos sitios?" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "maneja las actualizaciones automáticamente según tus necesidades" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "Ahorrça tiempo" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "realiza un respaldo automáticamente cuando actualices plugins, temas o el núcleo" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "Cuidate" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "Simplifica las actualizaciones con UpdraftPlus" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "Clon de %s" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "%d token" msgstr[1] "%d tokens" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "%s desde ahora" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "Este conjunto de respaldos contiene respaldos incrementales de tus archivos; seleccioná la hora a la que deseás restaurar tus archivos." #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "Progreso de descompresión: %d de %d archivos" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "Ocurrió un error al tratar de recuperar la declaración de la rutina SQL/DDL (%s %s)" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "Ocurrió un error al tratar de recuperar el estado de la rutina (%s %s)" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "Ocurrió un error al tratar de comprobar la compatibilidad de la creación de rutinas almacenadas (%s %s)" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "Si no querés restaurar todas las tablas de tu base de datos entonces elegí aquí las que quieras excluir." #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "Esta es más antigua que la del servidor en el que estás restaurando ahora (versión %s)." #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "Incompleto" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "El respaldo se está abortando por un fallo repetido en su progreso." #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "En mantenimiento" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "Solicitaste guardar en almacenamiento remoto (%s), pero sin ingresar ninguna configuración para ese almacenamiento." #: src/admin.php:6151 msgid "Clone package" msgstr "Paquete del clon" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "Una instalación vacía de WordPress" #: src/admin.php:6137 msgid "This current site" msgstr "Este sitio" #: src/admin.php:6135 msgid "Clone:" msgstr "Clonar:" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "Registro de actividad" #: src/admin.php:5148 msgid "Cleaning" msgstr "Limpieza" #: src/admin.php:5139 msgid "Verifying" msgstr "Verificación" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "Progreso de la restauración:" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "Restauración de UpdraftPlus" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "(%d archivo(s) en el conjunto, en total %s)." #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "Más información sobre UpdraftCentral" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "Agregá este sitio web a UpdraftCentral (control remoto y centralizado) - gratis para un máximo de 5 sitios." #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "Volver a la configuración de UpdraftPlus" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "Por favor, revisá el registro del error para más detalles" #: src/admin.php:1109 msgid "Missing pages:" msgstr "Páginas no disponibles:" #: src/admin.php:1108 msgid "Restore error:" msgstr "Error de restauración:" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "Falló el intento del navegador de contactater con la web." #: src/admin.php:1106 msgid "Preparing backup files" msgstr "Preparar los archivos del respaldo" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "Descargar, si es necesario, los archivos del respaldo" #: src/admin.php:1104 msgid "Begun" msgstr "Iniciado" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "Finalizado" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "Restaurando %s1 archivos de %s2" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "ninguna actividad reciente; se ofrecerá la reanudación después de: %d segundos" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "última actividad: hace %d segundos" #: src/admin.php:1095 msgid "credentials" msgstr "credenciales" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "Pruébalo - ¡1 mes por 1$!" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "¡Probá UpdraftVault!" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "No seleccionaste una ruta de restauración para los respaldos que elegiste" #: src/admin.php:1086 msgid "File backup options" msgstr "Opciones de respaldo de archivos" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "Verificando la contraseña de un solo uso...." #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "Inicio de sesión correcto; recargando la información." #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "Respaldos existentes" #: src/admin.php:664 msgid "Dismiss notice" msgstr "Descartar aviso" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "Podés probar a ejecutar tu sitio con una versión distinta de PHP (o de WordPress) usando créditos de UpdraftClone." #: src/admin.php:652 msgid "dismiss notice" msgstr "descartar aviso" #: src/admin.php:652 msgid "go here to learn more" msgstr "entrá acá para saber más" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "Podés probar a actualizar tu sitio en una copia instantánea usando créditos de UpdraftClone" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "No hay puntos de restauración de respaldos incrementales disponibles." #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "Marca temporal" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "No se encontraron componentes válidos, seleccioná diferentes componentes o un conjunto de respaldos con componentes que se puedan restaurar." #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "Error: Fallo en la subida" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "Medio Oriente (Bahréin)" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "Europa (Estocolmo)" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "Leé más acerca de la encriptación del lado del servidor" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "Nivelación inteligente" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "Ubicación de restauración encontrada para:" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "La ubicación de restauración no existe en el sistema de archivos para:" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "Seleccioná todos los archivos de respaldo que quieras restaurar:" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "Si ingresás un prefijo de tabla solo se respaldarán las tablas que comiencen con este prefijo." #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "Ingresá el prefijo de las tablas" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "Ingresá el nombre de la base de datos" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "Ingresá el nombre de la base de datos." #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "Ingresá la contraseña" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "Ingresá la contraseña." #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "Ingresá el nombre de usuario" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "Ingresá el nombre de usuario." #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "Ingresá el servidor" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "Ingresá el host." #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "No es posible realizar un respaldo incremental de tus archivos ya que no se encontró un respaldo existente adecuado para agregar incrementos." #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "Nota: No se realizará ningún respaldo de la base de datos en un respaldo incremental; si también querés respaldar la base de datos tenés que hacerlo por separado." #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "Los archivos modificados desde el último respaldo serán agregados como un nuevo incremento en este conjunto de respaldos." #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "Leé más sobre las ubicaciones de los buckets" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "Leé más sobre las clases de almacenamiento" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "download: falló: archivo no encontrado" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "Error: No se pudo abrir el archivo local" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "Hora de inicio" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "Día para ejecutar los respaldos" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "Agregar regla adicional de retención de archivos" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "Agregar regla adicional de retención de base de datos" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "Esto es necesario si, y solo si, tu clave de aplicación fuese una clave de aplicación de un bucket específico (no una clave maestra)" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "ID de clave de aplicación de bucket" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "ID de clave maestra de aplicación" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "Para obtener ayuda con la configuración de %s incluyendo capturas de pantalla, seguí este enlace." #: src/addons/azure.php:706 msgid "Azure China" msgstr "Azure China" #: src/admin.php:6121 msgid "Clone region:" msgstr "Clonar región:" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "andá acá" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "Si ya renovaste necesitás asignar una licencia a este sitio -%s" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "Autenticación" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "Tenés que seleccionar por lo menos una ubicación de almacenamiento remoto a la que subir este respaldo. " #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "Leer más sobre Easy Updates Manager" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "Podés encontrar más información sobre las claves de clonación aquí." #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "O bien, utiliza una clave de UpdraftClone" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "Encontrado SET NAMES %s, pero cambiando a %s como sugiere WPDB::determine_charset()." #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "Se requiere una clave UpdraftClone." #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "La preparación de los datos del clon fue cancelada." #: src/addons/azure.php:705 msgid "Azure Government" msgstr "Azure Government" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "Pedir a WordPress que actualice automáticamente UpdraftPlus cuando encuentre una nueva versión disponible." #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "Actualizaciones automáticas" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "Tu usuario de base de datos no tiene permiso para borrar tablas" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "Pedir a WordPress que actualice UpdraftPlus automáticamente cuando haya una actualización disponible" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "Tenés agregar lo siguiente como el URI de redireccionamiento autorizado (bajo \"Más opciones\") cuando se te solicite" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "Frankfurt" #: src/addons/googlecloud.php:61 msgid "London" msgstr "Londres" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "Bélgica" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "Sidney" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "Singapur" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "Tokio" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "Taiwán" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "Oregon" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "Virginia del Norte" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "Carolina del Sur" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "Iowa" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "Confirma el cambio" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "Agregar una regla de exclusión" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "Escribe un prefijo de archivo" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "Todos los archivos que comiencen por estos caracteres" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "Escribe una extensión como zip" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "Seleccioná un archivo/carpeta que quieras excluir" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "Todos los archivos que comiencen por estos caracteres" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "Todos los archivos con esta extensión" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "Archivo/directorio" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "Seleccioná una forma de excluir archivos o directorios del respaldo" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "Excluir archivos/directorios" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "Hacé clic aquí para leer las preguntas frecuentes/documentación de UpdraftClone." #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "tu cuenta de UpdraftPlus.com" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "Podés ver el progreso aquí o en %s" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "Tu UpdraftClone todavía se está configurando." #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "Quedan %s archivos" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "Se han recibido todos los datos del sitio y se ha iniciado tu importación." #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "WordPress instalado; esperando ahora a que se envíen los datos del sitio." #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "Clon listo" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "Los datos del sitio se han desplegado" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "Desplegando datos del sitio" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "Datos del sitio recibidos" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "Recibiendo datos del sitio" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "WordPress instalado" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "Tu clon ha comenzado, la información de la red aún no está disponible, pero se mostrará aquí y en tu cuenta de updraftplus.com una vez que esté lista." #: src/admin.php:4330 msgid "Exclude these from" msgstr "Excluirlos de" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "La regla de exclusión que estás intentando agregar ya existe" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "Por favor, introduzca un prefijo de nombre de archivo válido" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "Por favor, ingresá los caracteres por los que comienza el nombre del archivo que querés excluir" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "Por favor, introduzce una extensión de archivo válida" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "Por favor, introduzce una extensión de archivo, como zip" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "Por favor, seleccioná un archivo/carpeta que quieras excluir" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "¿Está seguro de que querés eliminar esta regla de exclusión?" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "registra resultados a la consola" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "Para crear un clon temporal necesitás crédito en tu cuenta." #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "Leé las FAQ aquí." #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "error al subir el archivo a %s (más información en el registro)" #: src/admin.php:6222 msgid "Dashboard:" msgstr "Escritorio:" #: src/admin.php:6221 msgid "Front page:" msgstr "Portada:" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "Tu clon se ha iniciado y estará disponible en estas URLs cuando esté listo." #: src/includes/class-commands.php:1093 msgid "manage" msgstr "gestionar" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "Clones actuales" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "Tu clon desplegará ahora estos datos para replicar tu sitio." #: src/addons/migrator.php:541 msgid "Site key" msgstr "Clave del sitio" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "Agregar un sitio" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "atrás" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "Leé este artículo para ver paso a paso cómo se hace." #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "Migrar (crear un respaldo un sitio en un hosting que controlas)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "Gestioná tus clones" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "Termina el 1 de octubre de 2018" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "Tu clon se renovará:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "No se pudo recuperar la fecha de renovación" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "Se abortó el respaldo" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "OneDrive Alemania" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "OneDrive Internacional" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "Tipo de cuenta" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "Acepto los términos y condiciones de UpdraftClone" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "¿No tenés una cuenta? O sigue uno de comprando algunos tokens aquí." #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "Podés comprar tokens de UpdraftClone aquí en nuestra tienda." #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "Para crear un clon temporal necesitás: 1) crédito en tu cuenta. 2) conectar con tu cuenta aquí abajo." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "Si querés, probá actualizar a una versión diferente de PHP o de WordPress." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "Flexible" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "Solo necesitás el tiempo de crear un respaldo y enviarla." #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "Rápido" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "Un VPS (Virtual Private Server) por clon, no compartido con nadie." #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "Seguro" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "Utiliza los recursos de un destacado proveedor de cloud computing." #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "Fiable" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "Fácil" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "Crea un clon temporal en nuestros servidores (UpdraftClone)" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "plugins de WooCommerce" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "Restablecer guía" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "Hacé clic en este botón para hacer una vista guiada del plugin." #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "Realizar guía" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "Iniciá sesión aquí para habilitar todas las funciones a las que tenés acceso." #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "Conectate a updraftplus.com" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "Para empezar con UpdraftVault seleccioná una de las opciones de abajo:" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "Terminar" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "¡UpdraftPlus Premium tiene mucha más funciones espectaculares!" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "UpdraftPlus Premium y extensiones" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "Gracias por hacer el tour." #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "¿Tenés algunos sitios WordPress más a los que quieras hacer respaldo? ¡Si así fuera podés ahorrar horas controlando todas tus respaldos en un solo lugar desde UpdraftCentral\"" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "Controla todas tus respaldos en único sitio" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "Felicitaciones, tus ajustes se guardaron correctamente." #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "Hacé clic en aquí para guardar tus ajustes." #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "Guardar" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "Revisa estos ajustes y hacé los cambios que quieras." #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "Más ajustes" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "Averigua más aquí." #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "UpdraftVault es nuestro almacenamiento remoto. Se integra nativamente con UpdraftPlus." #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "Elegí la frecuencia con la que querés que se ejecuten tus respaldos." #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "Elegí la programación de tus respaldos" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "¡Felicidades! Tu primer respaldo está ejecutándose." #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "Ir a ajustes" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "Pero para evitar amenazas al propio servidor es mejor que %s configures %s copias regulares a un almacenamiento remoto" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "Hacé clic en aquí para realizar un respaldo manual." #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "Creando tu primer respaldo" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "Seleccioná de lo que quieras hacer respaldo" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "Opciones de respaldo manual" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "Para hacer un respaldo simple en tu servidor hacé clic en este botón. O para configurar respaldos regulares y almacenamiento remoto andá a los %s ajustes %s" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "Tu primera respaldo" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "¡Hacé clic en aquí para empezar!" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "¡el plugin de respaldos más fiable del mundo!" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "Bienvenido a UpdraftPlus" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "Ajustes de UpdraftPlus" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "Terminar guía" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "Saltar este paso" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "Atrás" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "Podés comprar más tokens temporales aquí." #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "Prohibir a los usuarios que no sean administradores iniciar sesión en WordPress en tu clon." #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "Premium / Más información" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "Otros plugins geniales" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "La creación de los datos de tu respaldo para crear el clon debería comenzar ahora." #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "Podés encontrar la información de tu clon temporal en tu cuenta de updraftplus.com" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "Elegí un valor predeterminada para cada tabla" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "Enviado archivos al sitio remoto" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "Configurando y arrancando el servidor del clon (puede tardar algunos minutos)" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "Para importar un conjunto de respaldos, andá a la sección \"Respaldos existentes\" en la pestaña \"Respaldar/Restaurar\"" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "Respaldo / Restaurar" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "Respaldo" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "Último respaldo completo encontrado; identificador:" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "No se encontraron respaldos previos." #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "Almacenamiento remoto: %s" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "No se encontró un respaldo previo al cual agregarle un incremento." #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "El juego de caracteres solicitado (%s) no está presente, cambiando a %s." #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "Permitir que solo los administradores inicien sesión" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "Podés prohibir los inicios de sesión a este sitio clonado a no administradores marcando la casilla a continuación" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "Ajustes de inicio de sesión de usuario de la clonación temporal de UpdraftPlus:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "Bienvenido a tu UpdraftClone (clon temporal)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "Actualizar conexión" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "Registrar todos los mensajes en el syslog" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "Huella digital%s de la clave RSA del servidor: %s." #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "Huella digital RSA" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "Las huellas digitales no coinciden." #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "Más información aquí." #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "Migrar / Clonar" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "Solo permite que este respaldo se elimine manualmente (es decir, consérvala incluso si se alcanzan los límites de retención)." #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "Tu instalación de WordPress tiene antiguos directorios de antes de que restaurases/migrases (información técnica: tienen el sufijo -old)." #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "Este no es un respaldo incremental" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "Ejecutá este comando para ver el archivo de registro de esta restauración (necesario para cualquier solicitud de soporte)." #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "(versión actual)" #: src/admin.php:4235 msgid "press here" msgstr "presiona aquí" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "esta política de privacidad" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "Por favor, lee %s para usar nuestra %s app de autorización (no se nos enviará ningún dato de tus respaldos)." #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "Contame más" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "Y después agregá un respaldo incremental" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "Todas las horas" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "Crear clon" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "Tokens temporales de clonado:" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "Procesando" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "Conectater a UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "Términos y políticas de la cuenta en UpdraftPlus.com" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "Consiento a %s" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "Contraseña de un solo uso (One Time Password). Fijate en tu app OTP para obtener esta contraseña." #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "Accede o regístrate con esta cuenta de email" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "Si no, completá tu información y se registrará una nueva cuenta." #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "Si ya tenés una cuenta en updraftplus.com, por favor ingresá los detalles abajo." #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "Agregar esta web al escritorio de tu cuenta en UpdraftCentral Cloud en updraftplus.com." #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "Accede o regístrate en UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "Andá aquí para conectarte." #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "O si prefieres tu propio host, entonces podés usar la versión para hosting personal aquí." #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "Conectater este sitio a UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "Realiza respaldos, actualiza y gestiona todos tus sitios WordPress desde un único escritorio" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "El archivo %s tiene el \"byte order mark\" (BOM) al comienzo." msgstr[1] "Los archivos %s tienen el \"byte order mark\" (BOM) al comienzo." #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "Para un control futuro de todas tus conexiones a UpdraftCentral, andá a la pestaña de \"Herramientas avanzadas\"." #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "También podés cerrar este asistente." #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "Es necesario leer y aceptar las políticas de privacidad y datos de UpdraftCentral antes de continuar." #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "Por favor espera mientras eres redireccionado a UpdraftCentral Cloud." #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "Por favor espera mientras el sistema genera y registra una clave de cifrado para tu web con UpdraftCentral Cloud." #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "Quizá lo que quieras es acceder." #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "¿Problemas conectando? Probá usando un método alternativo en la opciones avanzadas de seguridad." #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "Se requiere un email y es necesario que tenga un formato válido." #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "Se requieren tanto el campo de email como el de contraseña." #: src/admin.php:1059 msgid "Registration successful." msgstr "Registro correcto." #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "Por favor sigue usa enlace para abrir %s en una nueva ventana." #: src/admin.php:1057 msgid "Login successful." msgstr "Acceso correcto." #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "UpdraftCentral Cloud" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "¿Estas seguro de que querés descartar todas las noticias de UpdraftPlus para siempre?" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "Descartar todas las noticias de UpdraftPlus" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "Noticias de UpdraftPlus" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "Clave de migración creada:" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "Parámetros faltantes" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "Azure Alemania" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "Azure Global" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "Cuenta Azure" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "Por favor, especifica el nombre de la carpeta de Microsoft OneDrive, no la URL." #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "Seleccioná una ubicación de almacenamiento remoto a la que quieras subir este conjunto de respaldo" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "Subir respaldo" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "Tras presionar este botón podrás seleccionar dónde subir tus copias de seguriad en una lista de tus ubicaciones de almacenamiento remoto guardadas" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "(ya subida)" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "La subida local del respaldo ha comenzado; por favor, comprueba la pestaña de estado actual para ver el progreso de la subida" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "Subir" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "Solo respaldo de la base de datos por correo electrónico." #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "Tené en cuenta que los servidores de correo tienden a tener límites de tamaño; normalmente alrededor de los %s MB; Es muy probable que los respaldos que superen los límites no lleguen. Como resultado, UpdraftPlus solo enviará al correo electrónico el respaldo de la base de datos." #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "Usá esta opción para solo enviar respaldos de la base de datos cuando se envíen por correo electrónico y se omitan otros componentes." #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "Para los respaldos incrementales podés elegir qué incrementos restaurar en una etapa posterior." #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "Existen incrementos en: %s" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "(último incremento: %s)" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "Europa (París)" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "Comandos WP-CLI para recuperar, listar y borrar respaldos." #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "Compatibilidad con WP-CLI" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "WP CLI" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "Id de trabajo no válido" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "ID de trabajo del respaldo iniciado recientemente: %s" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "El valor ingresado para la opción '%s' no es válido" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "Entonces, para obtener la clave del sitio remoto, abrÍ la ventana 'Migrar sitio' en ese sitio y andá a esa sección." #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "Las claves para un sitio se crean en la sección \"recibir un respaldo de un sitio remoto\"." #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "Ahora tenés que copiar y pegar esta clave en el sitio de envío - no se puede volver a mostrar." #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "Esta función fue deshabilitada por el administrador del sitio." #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "¡Gracias por instalar UpdraftPlus!" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "Aún no se han creado claves para permitir que los sitios remotos envíen datos de los respaldos aquí." #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "Fallo al leer desde el directorio de trabajo." #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "Fallo al buscar un archivo de manifiesto en el respaldo. " #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "Fallo al leer el archivo de manifiesto en el respaldo." #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "(Ninguno configurado)" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "Asegurate de haber iniciado sesión en la cuenta correcta antes de continuar." #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "Para la identificación es obligatorio el método de almacenamiento remoto y el ID de la instancia." #: src/admin.php:5720 msgid "authentication error" msgstr "error de identificación" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "(aún no se ha registrado nada)" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "querrás usar la búsqueda a continuación y reemplazar la ubicación del sitio en la base de datos (migrar) para buscar/reemplazar la dirección del sitio." #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "Agregar otra cuenta %s..." #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "Borrar estos ajustes" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "Deshabilitado" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "Habilitado" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "Si has hecho la compra en UpdraftPlus.com entonces sigue este enlace a las instrucciones de instalación (en particular el paso 1)." #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "Estás usando la versión gratuita de UpdraftPlus." #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "Consíguelo aquí" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "sitio remoto" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "Nombre de bucket no válido" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "El cotejamiento de tabla selecccionado (%1$s) no está presente - cambiando a %2$s." msgstr[1] "Los cotejamientos de tabla selecccionados (%1$s) no está presente - cambiando a %2$s." #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "El cotejamiento de tabla que elegiste para reemplazo" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "Podés elegir otro cotejamiento válido y continuar con la restauración (bajo tu responsabilidad)." #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "El servidor de base de datos que está utilizando este sitio WordPress no es compatible con el cotejamiento (%s) usado en la base de datos que estás intentado importar." msgstr[1] "El servidor de base de datos que está utilizando este sitio WordPress no es compatible con los cotejamientos (%s) usados en la base de datos que estás intentado importar." #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "Opciones de restauración de la base de datos:" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "Esto parece una migración (el respaldo es de un sitio con una dirección/URL diferente,%s)." #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "Prefijo %s" #: src/addons/azure.php:696 msgid "%s Container" msgstr "Contenedor %s" #: src/addons/azure.php:694 msgid "%s Key" msgstr "Clave de %s" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "Nombre de la cuenta %s" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "Tu archivo .htaccess tiene una referencia de un sitio anterior en la línea número %s. Tenés que borrarla manualmente." msgstr[1] "Tu archivo .htaccess tiene referencias de un sitio anterior en las líneas número %s. Tenés que borrarlas manualmente." #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "El mapa de tabla de caracteres solicitado (%s) no está presente - cambiando a %s." #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "Mapa de caracteres que elegiste usar en su lugar:" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "Podés elegir otro mapa de caracteres y seguir con la restauración bajo tu propio riesgo." #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "El servidor de la base de datos en el que se está ejecutando este sitio WordPress no es compatible con el mapa de caracteres (%s) que estás tratando de importar." msgstr[1] "El servidor de la base de datos en el que se está ejecutando este sitio WordPress no es compatible con los mapas de caracteres (%s) que estás tratando de importar." #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "Siguiente" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "Por favor, ingresá una URL válida, p.ej. http://ejemplo.com" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "una/ruta" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "Nombre del bucket" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "Ruta del respaldo" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "Clave de aplicación" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "aquí" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "Obtenelos desde %s o registrá %s." #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "Clave de la cuenta" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "ID de la cuenta" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "Este respaldo es de este sitio, pero en el momento del respaldo estabas usando %s, y ahora el sitio usa %s." #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "Para quitar a UpdraftPlus la autorización (en todos los sitios) de acceder a tu Google Drive seguí este enlace a los ajustes de tu cuenta de Google." #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "Seguí este enlace para borrar los ajustes de este sitio para %s." #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "Ocurrió un error fatal de PHP (%s): %s" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "Ocurrió una excepción PHP (%s): %s" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "Sureste de Australia" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "Sureste de Asia" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "Noreste de Asia" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "Identificación en el almacenamiento remoto" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "Red y multisitio" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "Migrator" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "Almacenamiento adicional" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "Almacenamiento remoto" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "Seleccionar archivos" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "Archivos en la nube" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "UpdraftVault" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "archivo" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "Base de datos extra" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "Hacé clic en aquí para descargar o navegar" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "Error: ruta no válida" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "Ocurrió un error al recuperar las opciones del módulo de almacenamiento:" #: src/admin.php:1038 msgid "Loading log file" msgstr "Cargando registro" #: src/admin.php:1036 msgid "Search" msgstr "Buscar" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "Elegí un archivo para ver tu información." #: src/admin.php:1034 msgid "Browsing zip file" msgstr "Explorando el archivo zip" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "Con UpdraftPlus Premium podés descargar directamente archivos individuales desde aquí." #: src/admin.php:944 msgid "Browse contents" msgstr "Explorar contenidos" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "Tablas omitidas:" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "Con UpdraftPlus Premium podés elegir si hacer respaldo de tablas que no son de WordPress, solo de tablas específicas o si hacer también respaldo de otras bases de datos." #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "Todas las tablas de WordPress serán incluidas en el respaldo." #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "Podés encontrar más información en la consola JavaScript del navegador y en los registros de errores PHP del servidor." #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "Estás tratando de subir un archivo zip previamente creado con UpdraftPlus." #: src/admin.php:1033 msgid "The available memory on the server." msgstr "La memoria disponible en el servidor." #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "Cualquier ajuste de tus archivos .htaccess o web.config que afecten al máximo de subidas o al tamaño de publicación." #: src/admin.php:1032 msgid "HTTP code:" msgstr "Código HTTP:" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "Elegiste realizar un respaldo de una base de datos, pero no se seleccionaron tablas." #: src/addons/moredatabase.php:463 msgid "tables" msgstr "tablas" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "base de datos de WordPress" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "Tenés que respaldar todas las tablas a menos que seas un experto en el manejo de la base de datos de WordPress." #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "Sabé más" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "UpdraftPlus tiene tu propia opción de almacenamiento incluido, ofreciendo un modo sin fallos para descargar, almacenar y gestionar todas tus respaldos desde un único lugar." #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "Tour de UpdraftPlus" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "Bloquea el acceso a UpdraftPlus mediante contraseña para que puedas elegir qué usuarios administradores pueden acceder a los respaldos." #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "Algunos plugins de respaldos no son capaces de restaurar copias, por eso la versión Premium te permite restaurar respaldos de otros plugins." #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "Importador" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "Arregla cosas por el cliente y quita todos los anuncios del resto de nuestros productos." #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "Sin anuncios" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "Informes sofisticados y capacidades de envío por correo electrónico." #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "Encriptá tus bases de datos sensibles (p.ej. información de clientes o contraseñas); hacé respaldo también de bases de datos externas." #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "Más opciones de base de datos" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "Establece las horas exactas para crear o borrar respaldos." #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "Horario y programación de respaldos" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "Respaldos de WordPress multisitio (p.ej. redes) con seguridad." #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "Red / Multisitio" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "Respaldo del núcleo de WordPress y de archivos y bases de datos que no sean de WordPress." #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "Hacé respaldos automáticas de tu web antes de actualizar plugins, temas y el núcleo de WordPress." #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "Respaldos antes de actualizar" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "Ofrece ayuda y soporte experto de los desarrolladores donde lo necesites." #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "Soporte rápido y personal" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "UpdraftPlus Migrator clona tu sitio WordPress y lo mueandá a un nuevo dominio directamente y de manera sencilla." #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "Clonado y migración" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "Ubicaciones de almacenamiento remoto adicionales y mejoradas" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "Respaldos en ubicaciones de almacenamiento remoto" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "Actualizar ahora" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "Instalado" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "Gratis" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "UpdraftPlus" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "Recomendado: optimizá tu base de datos con WP-Optimize." #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "Leer más" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "Después de respaldar de tu base de datos te recomendamos que instales nuestro plugin WP-Optimize para optimizarla para un mejor rendimiento de la web." #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "Elegí un archivo o directorio" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "Confirmar" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "Subir un nivel" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "Agregar directorio..." #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "Editar" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "Si lo estás usando seleccioná una ruta del árbol de directorios a continuación y luego presioná confirmar selección." #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "Europa (Frankfurt)" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "Europa (Londres)" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "Europa (Irlanda)" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "UpdraftCentral" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "imagen de aviso" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "Ir " #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "Regístrate" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "Hacete Premium" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "Reseñá UpdraftPlus" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "Conseguí UpdraftCentral" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "Módulos de Apache" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "UpdraftPlus Blog - estáte al día de las últimas ofertas y noticias." #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "Boletín de UpdraftPlus" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "Controlá todas tus instalaciones de WordPress desde un único punto usando la gestión remota disponible en UpdraftCentral." #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "¿Usás UpdraftPlus en varios sitios?" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "UpdraftCentral es una manera muy eficiente de gestionar, actualizar y hacer respaldos de múltiples sitios wen desde un único lugar." #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "Presentamos UpdraftCentral" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "migrá o cloná tu sitio web en minutos" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "Agregá SFTP para enviar tus datos de forma segura, bloqueá los ajustes y encriptá la base de datos de tu respaldo para agregar un extra de seguridad." #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "mejorá la seguridad de tus respaldos" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "Protege instalaciones multi-sitio, informes avanzados y mucho más." #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "opciones avanzadas" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "opciones de almacenamiento remoto mejoradas." #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "El mejor lugar y el más seguro donde almacenar tus respaldos." #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "Almacenamiento en UpdraftVault" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "Disfrutá de un soporte profesional, rápido y amigable en cualquier momento en que lo necesites con la versión Premium." #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "UpdraftPlus Premium:" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "Canadá (Central)" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "Tamaño del sitio" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "Bloquear configuración" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "Información del sitio" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "Para poder migrar sitios web, actualízate a UpdraftPlus Premium." #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "Importar configuración" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "Exportar configuración" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "incluyendo cualquier contraseña" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "Ajustes de exportación / importación" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "Procesando table (%s)" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "Respaldo de: %s" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "%s anular identificación" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "Tenés que agregar lo siguiente como la URI de redirección autorizada en tu consola de Dropbox (en el apartado \"configuración de API\") cuando se te solicite" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "Si no, necesitarás eliminar datos de esta tabla, o contactater con tu empresa de hosting para solicitar más recursos." #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "Seleccionaste una opción de almacenamiento remoto que requiere completar una autorización previa:" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "Archivos remotos eliminados:" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "Archivos locales eliminados:" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "Seguí este enlace para autorizar el acceso a tu cuenta de %s (no vas a poder hacer respaldos en %s si no realizás este paso)." #: src/admin.php:1031 msgid "remote files deleted" msgstr "archivos remotos eliminados" #: src/admin.php:1027 msgid "Complete" msgstr "Completo" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "¿Querés realizar la importación?" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "Que se exportó a:" #: src/admin.php:1024 msgid "This will import data from:" msgstr "Esto importará los datos desde:" #: src/admin.php:1023 msgid "Importing..." msgstr "Importando..." #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "Todavía no seleccionaste ningún archivo a importar." #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "El archivo se exportará según los ajustes que se muestran, no según los guardados." #: src/admin.php:99 msgid "template not found" msgstr "plantilla no encontrada" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "Este de EE. UU. (Ohio)" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "La cuenta no está autorizada (%s)." #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "Tu dirección IP:" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "Para eliminar cualquier bloque, andá acá." #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "Se recibió una respuesta de error; código HTTP:" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "No se encuentra la extensión %s" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "o para restaurar manualmente" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "Para solucionar este problema andá aquí." #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "OptimizePress 2.0 codifica los contenidos, por lo que buscar/reemplazar no funciona." #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "La instalación de PHP carece del módulo openssl; como resultado, esto puede llevar varios minutos; si para entonces no ha ocurrido nada, deberías probar un tamaño de clave más pequeño o solicitar a tu alojados web que active este módulo de PHP en tu instalación." #: src/addons/webdav.php:437 msgid "Path" msgstr "Ruta" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "Dejá este espacio en blanco para utilizar el valor predeterminado (80 para webdav, 443 para webdavs)" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "Ingresá cualquier ruta en el campo a continuación." #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "El nombre del servidor no puede contener una barra." #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "Protocolo (SSL o no)" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "La clave de acceso a AWS parece no ser correcta (las claves de acceso válidas %s comienzan por \"AK\")" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "No se encontraron ninguna configuración, por favor andá a la pestaña de configuración y revisá los parámetros." #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "Respaldo usando %s?" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "Asia Pacífico (Bombay)" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "Estándar (acceso poco frecuente)" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "FAQs" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "Fallo al abrir el directorio (revisá los permisos y si eres el propietario del archivo): %s" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "%s: no se puede leer el archivo - no pudo ser respaldado (revisá los permisos del archivo)" #: src/addons/migrator.php:563 msgid "Create key" msgstr "Crear clave" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "más lento, más fuerte" #: src/addons/migrator.php:559 msgid "recommended" msgstr "recomendado" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "%s bytes" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "más rápido (posiblemente debido a una instalación de PHP lento)" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "%s bits" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "Tamaño de clave de encriptación:" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "Ingresá el nombre elegido" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "Crear una clave: asigná a esta clave un nombre único (por ejemplo, indicá el sitio para el que es), luego presioná \"Crear clave\":" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "Es probable que la subida falle: el límite %s para un solo archivo es de %s, mientras que este archivo es de %s GB (%d bytes)" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "Algunas veces esto es causado por un firewall - intenta deshabilitar el SSL en los ajustes avanzados y prueba de nuevo." #: src/methods/ftp.php:438 msgid "login" msgstr "iniciar-sesión" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "Tené en cuenta que los servidores de correo suelen tener límites de tamaño de envío de archivos; normalmente alrededor de %s MB; los respaldos más grandes de estos límites probablemente no lleguen." #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "Tamaño: %s MB" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "Tenés que activar %s para hacer funcionar cualquier permalink(ej. %s) " #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "(hacé clic en un ícono para seleccionar o deseleccionar)" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "%s por año" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "o (descuento anual)" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "No se encontró ningún Vault (¿se ha movido?); por favor desconectate y conectate de nuevo." #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "El archivo proporcionado no se encuentra o no puede ser leido" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "El respaldo fue cancelado por el usuario" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Sus ajustes fueron guardados." #: src/admin.php:4515 msgid "Total backup size:" msgstr "Tamaño total del respaldo:" #: src/admin.php:3878 msgid "stop" msgstr "detener" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "El proceso de respaldo terminó" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "Borrar ajustes" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "restablecer" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "estos conjuntos de respaldos" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "este conjunto de respaldos" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "calcular" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "Deberías guardar los cambios para asegurarte de que se usan para hacer el respaldo." #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "Solicitamos eliminar el archivo, pero no hemos entendido la respuesta del servidor" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "Ingresá una dirección URL correcta" #: src/admin.php:976 msgid "Saving..." msgstr "Guardando..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "Error: el servidor envió una respuesta (JSON) que no entendemos." #: src/admin.php:926 msgid "Fetching..." msgstr "Recuperando..." #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "Asia Pacífico (Seúl)" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "URL de subidas:" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "El módulo PHP %s requerido no está instalado; solicitá a su proveedor de hosting que lo habilite." #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "Para importar un sitio de WordPress ordinario en una instalación multisitio requiere%s." #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "Por favor, accedé a este enlace para informarte de información importante acerca de este proceso." #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "Se importará como un sitio nuevo." #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Descartar" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "Por favor, completá la información requerida." #: src/addons/multisite.php:691 msgid "Read more..." msgstr "Leer más..." #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "puede incluir algunos datos de todo el sitio" #: src/addons/multisite.php:677 msgid "All sites" msgstr "Todos los sitios" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "Cuál sitio restaurar" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "Error al crear un nuevo sitio en la dirección elegida:" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "No se proporcionó la información necesaria para restaurar este respaldo (%s)" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "Atribuir contenido importado al usuario" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "Solo podés usar letras minúsculas o números para la ruta del sitio." #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "Esta función no es compatibles con %s" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "Importación de un sitio individual a una instalación multisitio" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "otro contenido de wp-content" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "Núcleo de WordPress" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "Seleccionaste %s para que se incluyera en la restauración; esto no puede/no debe hacerse al importar un sitio individual a una red." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "Llamá una acción de WordPress:" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "La configuración guardada también afectan a lo que se respaldo - por ejemplo, archivos excluidos." #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "Saltando: este archivo ya fue restaurado." #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "Opciones de archivo" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "Enviando respaldo al almacenamiento remoto" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "Programación de respaldo de base de datos" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "Programación de respaldo de archivos" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "Este botón borrará todos los ajustes UpdraftPlus e información de progreso para los respaldos en curso (pero no cualquiera de sus respaldos existentes de tu almacenamiento en la nube)." #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "Enviar este respaldo al almacenamiento remoto" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "¿No tenés ningún servicio de almacenamiento remoto?" #: src/admin.php:5530 msgid "settings" msgstr "ajustes" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "Respaldo no se enviará a cualquier almacenamiento remoto - no se ha guardado en el directorio%s" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "Incluir tus archivos en el respaldo" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "Incluir tu base de datos en el respaldo" #: src/admin.php:3293 msgid "Continue restoration" msgstr "Continuar restauración" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "Tenés una restauración sin finalizar, comenzó hace %s " #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "Restauración no finalizada" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "%s minutos, %s segundos" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "Contenidos y programación del respaldo" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "Premium / Extensiones" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "No se ha encontrado suficiente información sobre el avance de la operación de restauración." #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "Descarga" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "Elegiste hacer un respaldo, pero no seleccionaste nada sobre lo que hacerla" #: src/admin.php:772 msgid "Extensions" msgstr "Extensiones" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "Herramientas avanzadas" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "Ubicación del bucket" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "Tené en cuenta que Google no admite todas las clases de almacenamiento en todas las ubicaciones; necesitás leer la documentación para conocer la disponibilidad actual." #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "Este ajuste se aplica solo cuando se crea un bucket nuevo." #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "Tenés que usar un nombre de bucket que sea único para todos los usuarios de %s." #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "No confundas %s con %s, son cosas separadas." #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "No tenés acceso a este bucket" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "Europa Oriental" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "Asia Pacífico oriental" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "Oeste de Estados Unidos" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "Este de Estados Unidos" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "Centro de Estados Unidos" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "Unión Europea" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "Asia Pacífico" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "ubicación multi-regional" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "Estados Unidos" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "Línea cerca" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "Disponibilidad reducida duradera" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "Estándar" #: src/addons/azure.php:700 msgid "container" msgstr "contenedor" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "Podés ingresar aquí la ruta de cualquier carpeta virtual %s que desees utilizar." #: src/addons/azure.php:699 msgid "optional" msgstr "optional" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "Consultá las pautas de Microsoft sobre la denominación de contenedores siguiendo este enlace." #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "Ingresá aquí la ruta de l%s que desees utilizar." #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "Este no es tu inicio de sesión de Azure; consultá las instrucciones si necesitás más orientación." #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "Azure" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "Creá credenciales de Azure en tu consola de desarrollador de Azure." #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "No se pudo crear el contenedor" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "No se pudo acceder al contenedor" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "Para completar la migración/clonado deberías iniciar sesión ahora en el sitio remoto y hacer una restauración del respaldo." #: src/backup.php:1901 msgid "the options table was not found" msgstr "no se ha encontrado la tabla de opciones" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "no se han encontrado ni la tabla de opciones ni la de sitemeta" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "El directorio del respaldo no tiene permisos de escritura ( o el disco está lleno) - es probable que el respaldo de la base de datos falle dentro de poco." #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "es requisito de algunos proveedores de almacenamiento remoto" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "No está instalada" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "Clase de almacenamiento" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "Consultá las pautas de Google sobre la asignación de nombres de buckets siguiendo este enlace." #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "Ingresá aquí el nombre del bucket %s que desees usar." #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "Bucket" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "De lo contrario, podés dejarlo en blanco." #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "Nota: Esto solo es necesario si aún no creaste el bucket y querés que UpdraftPlus lo cree por vos." #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "Ingresá aquí el ID del proyecto %s que desees utilizar." #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "Seguí este enlace a tu Consola API de Google, y allí activá la API de almacenamiento y creá un ID de cliente en la sección Acceso a la API." #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "Tenés que ingresar un ID de proyecto para poder crear un nuevo bucket." #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "ID del proyecto" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "Tenés que guardar y autenticarte antes de poder probar la configuración." #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "Todavía no obtuviste un token de acceso de Google; tenés que autorizar o volver a autorizar tu conexión a Google Cloud." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "No tenés acceso a este bucket." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "Google Cloud" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "Excepción del servicio %s." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "o configurar programaciones más complejas" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "¿Estás seguro de que querés eliminar %s de UpdraftPlus?" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "Deseleccionar" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "Seleccionar todo" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "Acciones sobre los respaldos seleccionadas" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "Hacé clic en aquí para ver los métddos de almacenamiento remoto disponibles para las copias de seguriad existentes (de cualquier sitio web, si están almacenados en la misma carpeta)." #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "Conjuntos de respaldos eliminadas:" #: src/admin.php:1012 msgid "Processing..." msgstr "Procesando..." #: src/admin.php:1010 msgid "For backups older than" msgstr "Para respaldos más antiguas que" #: src/admin.php:1009 msgid "week(s)" msgstr "semana(s)" #: src/admin.php:1008 msgid "hour(s)" msgstr "hora(s)" #: src/admin.php:1007 msgid "day(s)" msgstr "día(s)" #: src/admin.php:1006 msgid "in the month" msgstr "del mes" #: src/admin.php:1005 msgid "day" msgstr "día" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "(tantos como quieras)" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "Agregar una regla de retención adicional..." #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "Esta base de datos necesita ser implementado en la versión de MySQL%s o posterior." #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "Este problema es causado por tratar de restaurar una base de datos en una versión muy antigua de MySQL, que es incompatible con la base de datos fuente." #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "Debe actualizar el servidor para poder utilizar esta base de datos." #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "El respaldo de base de datos MySQL no utiliza características disponibles en la versión antigua de MySQL (%s) que este sitio está ejecutando." #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "¿No te acordás tu dirección de correo electrónico, o te olvidaste tu contraseña?" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "Ingresá tu cuenta de correo electrónico / contraseña aquí para conectar:" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "Leé aquí las FAQs de %s." #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "Marcá esta casilla para usar el cifrado del lado del servidor de Amazon" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "Cifrado del lado del servidor" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "Si olvidaste tu contraseña, y luego ir aquí para cambiar tu contraseña en updraftplus.com." #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "%s fue elegido para el almacenamiento remoto, pero no está conectado actualmente." #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "Podés realizar los pagos en dólares US, euros o libras esterlinas GB, con tarjeta o mediante PayPal." #: src/admin.php:982 msgid "Update quota count" msgstr "Cuenta de actualización de cuotas" #: src/admin.php:981 msgid "Counting..." msgstr "Contando..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "Desconectando..." #: src/admin.php:978 msgid "Connecting..." msgstr "Conectatendo..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "Estado" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "Conseguir más cuota de espacio" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "Uso actual:" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "Podés obtener más cuota de aquí" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "Error: tenés suficiente cuota de almacenamiento disponible (%s) para subir este archivo (%s) (%s)." #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "Desconectar" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "Cuota:" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "Propietario de Vault" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "Bien hecho - no hay nada más necesario para la creación." #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "Andá aquí si necesitás ayuda" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "Atrás..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "Podés cancelar la suscripción en cualquier momento." #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "%s por cuarto" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "Mostrar las opciones" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "Hacé clic en un botón para empezar." #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "Updraft Vault" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "Falló el borrado:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "El motor zip devolvió este mensaje: %s." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "Sin este permiso, UpdraftPlus no puede eliminar los respaldos; también tenés que establecer tu configuración de 'retención' muy alta para evitar ver errores de eliminación." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "Permitir borrado" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "Sin este permiso no podés descargar o restaurar directamente con UpdraftPlus por lo que deberás visitar el sitio web de AWS." #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "Permitir descarga" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "Si el envío directo de sitio a sitio no te funciona, existen otros tres métodos - por favor prueba uno de estos en tu lugar." #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "Debe comprobar que el sitio remoto está en línea, no un firewall, no dispone de módulos de seguridad que puedan estar bloqueando el acceso, tiene UpdraftPlus versión%s o posterior activa y que las llaves se han introducido correctamente." #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "Claves existentes" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "Tu nueva clave:" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "Clave creada con éxito." #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "Una clave con este nombre ya existe; tenés que usar un nombre único." #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "También envía este respaldo a las ubicaciones de almacenamiento remoto activas" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "sitio no encontrado" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "Los datos del respaldo serán enviados a:" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "Restaurar un conjunto de respaldo existente, a este sitio" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "El sitio todavía no tiene respaldos que restaurar." #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "Respaldo hecho por %s" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "Este método de almacenamiento no permite descargas" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "(Conjunto de respaldo importado de ubicación remota)" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "Sitio" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "Respaldo envía al sitio remoto - no está disponible para tu descarga." #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "Antes de restaurar, deberías asegurarte de que este es realmente un conjunto de respaldo pensado para usarlo en esta web (en vez de un conjunto de respaldo de una web no relacionada que usaba la misma ubicación de almacenamiento)." #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "UpdraftPlus no conocía este conjunto de respaldo debido a que fue creado por la instalación de WordPress actual, pero se encuentra o en almacenamiento remoto o fue enviado desde un sitio remoto." #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "Probá de conexión ..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "Borrando..." #: src/admin.php:991 msgid "key name" msgstr "Nombre de clave" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "Por favor, dar esta clave un nombre (por ejemplo, indican que el sitio es para):" #: src/admin.php:986 msgid "Creating..." msgstr "Creando..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "Recibir un respaldo desde un sitio remoto" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "Pegá la clave aquí" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "¿Cómo obtengo una clave del sitio?" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "Para agregar un sitio como destino para el envío ingresá la clave (de ese sitio) a continuación." #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "Enviar un respaldo a otro sitio" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "Enviar" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "Enviar a un sitio:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "No se han agregado sitios de recepción." #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "Es para el envío de respaldos al siguiente sitio:" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "La clave fue añadida con éxito." #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "La clave introducida no pertenece a un sitio remoto (pertenece a este)." #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "La clave introducida estaba corrupta - intentalo de nuevo, por favor." #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "La clave ingresada no tenía la longitud correcta. Intentalo de nuevo." #: src/includes/class-remote-send.php:580 msgid "key" msgstr "clave" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "Casi todos los servidores FTP querrán modo pasivo; pero si necesitás el modo activo, a continuación, desactivá esto." #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "Modo pasivo" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "Ruta remota" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "Contraseña FTP" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "Datos de inicio de sesión FTP" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "Servidor FTP" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "UpdraftPlus Migrator modifica la operación de restauración de manera adecuada para ajustar los datos de respaldo al nuevo sitio." #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "Una \"migración\" es, en última instancia, lo mismo que una restauración pero utilizando archivos de respaldo que se importan desde otro sitio." #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "Agregar sitio" #: src/admin.php:983 msgid "Adding..." msgstr "Agregando..." #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "Reclamo no válido: quizás ya hayas usado esta compra en otro lugar o tu período de pago para descargas de updraftplus.com expiró." #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "Para utilizar este respaldo, el servidor de base de datos debe ser compatible con el juego de caracteres%s." #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "andá aquí para cambiar tu contraseña de updraftplus.com." #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "Si te olvidaste la contraseña" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "Andá aquí para reingresar tu contraseña." #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "Después de presionar este botón te daremos la opción de elegir los componentes que quieras migrar" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "Se realizaron cambios en la configuración, y no se guardaron." #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "Tené en cuenta que %s no distingue mayúsculas y minúsculas." #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "Si después OneDrive te muestra el mensaje \"unuthorized_client\" es que no ingresaste un ID de cliente válido aquí." #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "Para más ayuda, incluyendo capturas de pantalla, sigue este enlace." #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "Creá las credenciales de OneDrive en tu consola de desarrollador de OneDrive." #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "Tenés que agregar lo siguiente como el URI de redireccionamiento autorizado en tu consola de OneDrive (en \"Configuración de API\") cuando se te solicite" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "autorización fallida:" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "OneDrive" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "Volvé a autorizar la conexión con tu cuenta %s, por favor." #: src/methods/email.php:110 msgid "configure it here" msgstr "configurar aquí" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "Para quitar este bloque, por favor andá acá." #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "Acordate de guardar tus ajustes." #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "Ahora estás utilizando una cuenta de usuario de IAM para acceder a tu bucket." #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "Bucket de S3" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "China (Beijing) (restringido)" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "Sudamérica (San Pablo)" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "Asia Pacífico (Tokio)" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "Asia Pacífico (Sydney)" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "Asia Pacífico (Singapur)" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "Gobierno de EE. UU. Oeste (restringido)" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "Oeste de EE. UU. (Norte de California)" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "Oeste de EE. UU. (Oregón)" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "Región de almacenamiento S3" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "Nuevo nombre de usuario IAM" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "Clave secreta de administrador" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "Clave de acceso de administrador" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "Después se pueden usar estas credenciales de acceso de menores privilegios en lugar de almacenar tus claves administrativas." #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "Estos se utilizarán para crear un nuevo usuario y un par de claves con una política de IAM adjunta que solo te permitirá acceder al bucket indicado." #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "Ingresá tus claves de acceso/secreta administrativas de Amazon S3 (debe ser un par de claves con suficientes derechos para crear nuevos usuarios y buckets), un nuevo nombre de usuario (único) para el nuevo usuario y un nombre de bucket." #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "Crear un nuevo usuario de IAM y un bucket de S3" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "Clave secreta: %s" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "Clave de acceso: %s" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "Fallo al aplicar la política de usuario" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "Falló la operación de creación de clave de acceso de usuario" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "Operación IAM fallida (%s)" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "Conflicto: este usuario ya existe" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "Falla en la autenticación de AWS" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "No se puede crear un nuevo usuario de AWS ya que se está utilizando un kit de herramientas de AWS desconocido." #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "Necesitás ingresar un bucket" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "Tenés que ingresar un nuevo nombre de usuario IAM" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "Tenés que ingresar una clave secreta de administrador" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "Tenés que ingresar una clave de acceso de administrador" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "Si tenés un usuario administrador de AWS podés usar este asistente para crear rápidamente un nuevo usuario de AWS (IAM) con acceso solo a este bucket (en lugar de a toda la cuenta)." #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "Para crear un nuevo usuario secundario y la clave de acceso de IAM que solo tenga acceso a este bucket, pasate a Premium." #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "Lo mas probable es que esto quiera decir que estás compartiendo un servidor con un sitio web hackeado que fue usado en ataques previos." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "Pareciera que la Dirección IP (%s) esta bloqueada en tu navegador." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "UpdraftPlus.com a respondido con \"Acceso Denegado\"." #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "Plugin de Woocommerce Primium" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "Plugin de dos factores de seguridad gratis" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "Más plugins de calidad" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus Premium" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "Descartado (por %s meses)" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "(al mismo tiempo que los archivos de respaldo)" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "No se completó ningún respaldo" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "Suscripción al Boletín Informativo (Newsletter) " #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "Seguí este enlace para suscribirte al boletín informativo, gratis." #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "Respaldos de archivos y base de datos que no son de WordPress" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "Hacé preguntas de pre-ventas" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "Preguntas (FAQ) de preventa" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "Lista completa de caracteristicas" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Hacer un respaldo (cuando sea relevante) de los plugins, temas y la base de datos de WordPress con UpdraftPlus antes de actualizar" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "%s Error: No puede Iniciar" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "o" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "PKCS1 (encabezado PEM: BEGIN RSA PRIVATE KEY), se aceptan formatos de clave XML y PuTTY." #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "inquilino" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "Necesita ser autenticado URI con v2 (Keystone); v1 (Swauth) no está soportado." #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "la dirección del administrador de tu sitio " #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "Seleccioná este cuadro para enviar un informe básico a" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "Manual" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "(%s) errores ocurridos;" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "Cambiar ajustes de bloqueo" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "Cualquier otro archivo/directorio de tu servidor que quieras respaldar" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "Para ver mas características y soporte personal, mirá" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "Frase de encriptación de la base de datos" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "Respaldo automático antes de actualizar" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "Núcleo de WordPress (solamente)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "Para obtener soporte para desbloquear comunicate con quien administre UpdraftPlus por vos." #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "Para acceder a los ajustes de UpdraftPlus ingresá tu contraseña de desbloqueo" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "Contraseña incorrecta" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "Desbloquear" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "De lo contrario, se mostrará el enlace predeterminado." #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "A cualquier persona que vea la pantalla de bloqueo se le mostrará esta URL para obtener soporte: ingresá una dirección de sitio web o una dirección de correo electrónico." #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "URL de asistencia" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "Solicitar contraseña nuevamente después" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "%s semanas" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "1 semana" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "%s horas" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "1 hora" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "¡Asegurate de haber anotado la contraseña!" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "Bloquea en acceso a la página de configuración de UpdraftPlus" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "Se modificó la contraseña del administrador." #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "Se estableció una contraseña de administrador." #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "Se eliminó la contraseña del administrador." #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "(aprendé más sobre esta importante opción)" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "Tené en cuenta que después de haber reclamado tus complementos, podés eliminar tu contraseña (pero no la dirección de correo electrónico) de los ajustes a continuación, sin afectar el acceso de este sitio a las actualizaciones." #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "Ver los registros" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "Datos del respaldo (hacé clic para descargar)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "Fecha del respaldo" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "y retener esta cantidad de respaldos programados" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "Respaldo incremental; respaldo base: %s" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "Para la habilidad de bloquear el acceso a la configuración de UpdraftPlus, compre el UpdraftPlus Premium " #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "Subir los archivos a UpdraftPlus." #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "El botón de 'Hacer respaldo ahora' esta desactivado porque en directorio de respaldos no tiene permisos de escritura (andá a la pestaña de 'Ajustes' y buscá la opción relevante)." #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "Etiqueta de respaldo:" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "Error: inesperada falla en lectura de archivo" #: src/backup.php:4389 msgid "check your log for more details." msgstr "Chequeá el log (registro) para mas detalles." #: src/backup.php:4385 msgid "A zip error occurred" msgstr "Ocurrió un error de compresión zip" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "La etiqueta para este respaldo (opcional)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "Ingresaste una dirección de correo electrónico que no fue reconocida por UpdraftPlus.Com" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "Tu dirección de correo electrónica era válida, pero tu clave no fue reconocida por UpdraftPlus.Com." #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "Tenés que proporcionar una dirección de correo electrónico y una contraseña " #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "Si querés restaurar un sitio de múltiples respaldos, primero tenés que configurar tu instalación de WordPress como multisitio." #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "ya fue hecho" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "omitido (no está en la lista)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "Tabla de búsqueda y reemplazo:" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "Ingresá una lista separada por comas; de lo contrario dejalo en blanco para todas las tablas." #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "Solo estas tablas" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "Filas por lote" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "Todavía no conectaste tu cuenta de UpdraftPlus.Com." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "Tenés que conectarte para recibir actualizaciones de UpdraftPlus." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "Cualquier soporte requerido para %s debe ser consultado con tu proveedor de hosting." #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "Esta es significativamente más nueva que la del servidor en el que estás restaurando ahora (versión %s)." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "UpdraftPlus esta en las redes sociales - ¡visitanos!" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "Por qué veo esto?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "La ubicación de este directorio está fijado de los \"Ajuste Para Expertos\", en el tab de ajustes. " #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "Hacé clic en aquí para mirar dentro de tu directorio de UpdraftPlus (en tu espacio de hosting web) para buscar cualquier conjunto de respaldos que hayas subido." #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "Iniciar el respaldo" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "Estás usando el servidor web %s, pero no parece que tenga cargado el módulo %s." #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "Vas a tener que consultar con tu proveedor de hosting para saber cómo establecer permisos para que un plugin WordPress pueda escribir en el directorio." #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "A menos que tengas un problema podés ignorar todo lo de aquí. " #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "Este archivo no podrá ser subido" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "Encontrarás más información sobre esto en la sección de ajustes." #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "Complementos de respaldo soportados: %s" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "¿Fue esta un respaldo creado por un complemento de respaldos diferente? Si es así, es posible que primero tengas que cambiarle el nombre para que se pueda reconocer; seguí este enlace." #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "Contame más acerca de los respaldos incrementales" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "Limite de Memoria" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "restauración" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "Incremental" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "Respaldo completo" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "ahora procediendo con las actualizaciones..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(ver registro...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "Respaldo exitoso" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "Cada %s horas" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "buscar y remplazar" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Ir" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "Una búsqueda/reemplazo no se puede deshacer, ¿estás seguro de que querés hacer esto?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "Esto puede destruir fácilmente tu sitio; ¡Tené cuidado!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "Reemplazar con" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "Buscar" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "Buscar / reemplazar en la base de datos" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "término de búsqueda" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "Demasiados errores en la base de datos han ocurrido - abortando" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "lea mas en %s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "Los reportes por correo de UpdraftPlus (gratuito) te traen las ultimas noticias de UpdraftPlus.com" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "N.B. Si instalas UpdraftPlus en varios sitios WordPress, entonces no podés reutilizar tu proyecto; tenés que iniciar uno nuevo desde la consola de Google API para cada web." #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "Aún no has hecho respaldos." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "Opciones de Base de Datos" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s usado)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "Espacio de disco disponible gratis:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "Este botón esta desactivado porque tu directorio de respaldos no tiene permisos de escritura (mira los ajustes)." #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "Para cambiar cualquier ajuste predeterminada de lo que se ha hecho respaldo, para configurar la programación de respaldos, para enviar tus respaldos a almacenamientos remotos (recomendado), y más, andá a la pestaña de ajustes. " #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "Para realizar un respaldo, simplemente hacé clic en el botón de 'Hacer respaldo ahora'." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "Bienvenido a UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "Probando..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "Probar conexión..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "Prefijo de las tablas" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "Respaldar base de datos externa" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "Agregar una base de datos externa al respaldo..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "Si la base de datos incluye tablas adicionales que no forman parte de este sitio de WordPress (sabrá si este es el caso), activá esta opción para también respaldarlas." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "Respaldar tablas que no son de WordPress contenidas en la misma base de datos que WordPress" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "Esta opción hará que las tablas almacenadas en la base de datos MySQL que no pertenecen a WordPress (identificadas por carecer del prefijo de WordPress configurado, %s) también sean respaldadas." #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "Conexión fallida." #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "Conexión exitosa." #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "Se encontraron %s tabla(s) en total; %s con el prefijo indicado." #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "%s tabla(s) encontrada(s)." #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "intento de conexión a la base de datos fallido" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "nombre de la base de datos" #: src/addons/moredatabase.php:115 msgid "host" msgstr "servidor" #: src/addons/moredatabase.php:113 msgid "user" msgstr "usuario" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "Base de datos externa (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "Seguí ente enlace para ir a la consola de Google API, y ahí activa el disco API y crear un ID de cliente en la sección de API Access (acceso)." #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "Falló el acceso al directorio principal" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "Sin embargo, accesos subsecuentes también fallaron:" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "Base de datos externas" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "Esto también causara salida de depuración de todos los plugins que aparecerán en esta pantalla - por favor no se sorprenda al ver estos." #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "Respaldar bases de datos adicionales " #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "Primero, ingresá tu frase de cifrado" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "Podés descifrar manualmente una base de datos cifrada." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "También podés hacer respaldo de bases de datos externas." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "¿No querés que te espíen? UpdraftPlus Premium puede cifrar el respaldo de tu base de datos." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "use UpdraftPlus Premium" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "Solo se pudo hacer respaldo de la base de datos de WordPress; tenés que hacer el respaldo de la base de datos externa manualmente." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "Un error ocurrió en el primer comando %s - abortando" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "Conexión falló: Chequeá los detalles de tu acceso, que tu servidor de datos este activo y que tu conexión de la red no esté bloqueada por un firewall." #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "conexión de la base de datos fallo. " #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "Advertencia: la URL de inicio de la base de datos (%s) es diferente a la que esperábamos (%s)" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "En %s, los nombres de las rutas distinguen entre mayúsculas y minúsculas." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "Si lo dejás en blanco, el respaldo se colocará en la raíz de tu %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "por ej. %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "Ingresá aquí la ruta de la carpeta %s que quieras usar." #: src/methods/openstack2.php:257 msgid "Container" msgstr "Contenedor" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "Dejalo en blanco y asumirá la configuración predeterminada." #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "inquilino" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "Seguir este enlace para mayor información" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "autenticando el URI" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "Fallo al descargar %s" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "Fallo al descargar" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "error al listar los archivos" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "Fallo al subir %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "Exitoso: " #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "Después de que guardés tus ajustes (haciendo clic en 'Guardar cambios' abajo), volvé aquí y hacé clic en este enlace para completar la autenticación con %s." #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "Autenticación con %s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "Error bajando (downloading) el archivo remoto: Falló la descarga" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "Región: %s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "error %s - accedimos el contenedor, pero falló la creación del archivo dentro del" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "El objeto %s no se encontró" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "No se pudo acceder al contenedor %s" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "error %s - falló el acceso al contenedor" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "Nombre de la persona de la cuenta: %s" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "Para poder cambiar el nombre de la carpeta, necesitás UpdraftPlus Premium." #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "Es un numero del ID interno de Google Drive" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "Este NO es un nombre de carpeta." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "Carpeta" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "La descarga %s falló: no se encontró el archivo" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "Nombre: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "Lista de archivo de Google Drive: fallo al acceder la carpeta principal " #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "Tu versión %s : %s." #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "Necesitarás pedirle a tu hosting que lo actualicen." #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "Este método de almacenamiento remoto (%s) requiere PHP %s o posterior." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "Llamar" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "Traer" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "Esta característica requiere %s versión %s o posterior " #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "No se pudo descomprimir el archivo" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "Error - Fallo en la descarga del archivo" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "Volver al explorar la carpeta local para los nuevos conjuntos de respaldos" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "Tendrías que actualizar UpdraftPlus para asegurarte de que tenés una versión cuya compatibilidad haya sido probada." #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "Fue probado hasta la versión %s." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "La versión instalada de UpdraftPlus Backup/Restore no se ha probado en tu versión de WordPress (%s)." #: src/addons/sftp.php:646 msgid "password/key" msgstr "contraseña/clave" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "Key (llave)" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "Tu inicio de sesión puede estar basado en contraseña o clave; solo necesitás ingresar uno, no ambos." #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "La clave proporcionada no tenía un formato válido o estaba dañada." #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "Contraseña/clave SCP/SFTP" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "Respaldo de los archivos (creada por %s)" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "Respaldo de los archivos y la base de datos de WordPress (creada por %s)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "Respaldo creada por: %s." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "Base de datos (creada por %s)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "fuente desconocida " #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "Re-escaneando almacenamiento remoto" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Subir archivos de respaldo" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "Este respaldo la creó %s y puede importarse." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "Lea esta guía para probables causas y como arreglarlas." #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "Si este respaldo fue creada por un plugin diferente, entonces UpdraftPlus Premium podrá ayudarte. " #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "Sin embargo, los archivos de UpdraftPlus son archivos zip/SQL - así que si estás seguro que son del el formato correcto podés renombrarlos siguiendo el patrón." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "Este archivo no parece ser de un archivo de respaldo de UpdraftPlus (suelen ser archivos .zip or .gz y tienen nombres como: backup_(time)_(site name)_(code)_(type).(zip|gz))." #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "Respaldo creada por una fuente desconocida (%s) - y no puede restaurarse. " #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "La carpeta (wp-content) de WordPress no se encontró en este archivo zip." #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "Esta versión de UpdraftPlus no sabe como gestionar esta versión de respaldo externa" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "%s devolvió una respuesta HTTP inesperada: %s" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "El módulo UpdraftPlus para este método de acceso a archivos (%s) no admite listas de archivos" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "No se encontraron ajustes" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "Una o más respaldos fueron agregadas desde la exploración del hosting externo; ten en cuenta que estos respaldos no se borrarán automáticamente mediante los ajustes de \"retención\" cuando desees borrarlas, vas a tener que hacerlo manualmente." #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "Volviendo a explorar el almacenamiento externo y local en busca de paquetes de respaldo..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "(Leer más)" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "Registrar todos los mensajes en el syslog (es probable que solo los administradores del servidor quieran esto)" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "No hay respaldos de la ubicación: no se encontró nada que respaldar" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "Eliminar" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "Otras %s preguntas frecuentes (FAQs)." #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "Marcá esta casilla para recibir más información y correos electrónicos en el proceso de respaldo - útil si cualquier cosa funciona mal." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "Tu proveedor de hosting tiene que habilitar estas funciones antes de que %s pueda funcionar." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "Tu instalación PHP del servidor web tiene estas funciones deshabilitadas: %s." #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "FTP cifrado (cifrado explícito)" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "FTP cifrado (cifrado implícito)" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "FTP normal sin cifrar" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "Respaldo creada por:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "Disponible para reclamar en este sitio" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "Para mantener tu acceso al soporte, por favor, renová." #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "Tu acceso pago al soporte de UpdraftPlus vencerá pronto." #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "Para volver a tener acceso tenés que renovarlo." #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "Tu acceso pago al soporte de UpdraftPlus se encuentra vencido." #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "Tu acceso pago a las actualizaciones de UpdraftPlus para este sitio vencerá pronto." #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Para conservar tu acceso y mantener el acceso a las actualizaciones (incluidas las funciones futuras y la compatibilidad con futuras versiones de WordPress) y el soporte, renová." #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "Tu acceso pago a las actualizaciones de UpdraftPlus para %s de los complementos %s de este sitio vencerá pronto." #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "Tu acceso pago a las actualizaciones de UpdraftPlus para los complementos %s de este sitio se encuentra vencido. " #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Para recuperar el acceso a las actualizaciones (incluidas las funciones futuras y la compatibilidad con futuras versiones de WordPress) y al soporte, tenés que renovar." #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "Descartar del panel principal (durante %s semanas)" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "El intento de deshacer la doble compresión tuvo éxito." #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "El intento de deshacer la doble compresión falló." #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "El archivo de la base de datos parece haber sido comprimido dos veces - probablemente la web descargada tenía un servidor web mal configurado." #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "Constantes" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "Fallo al abrir el archivo de la base de datos para tu lectura:" #: src/backup.php:1645 msgid "No database tables found" msgstr "No se encontraron tablas en la base de datos" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "por favor, esperá el intento de reprogramado" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "Cuenta llena: a tu cuenta %s solo le quedan %d bytes, pero al archivo que se va a subir le quedan %d bytes (tamaño total: %d bytes)" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "Ocurrieron errores:" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "Seguí este enlace para descargar el archivo de registro para esta restauración (necesario para cualquier solicitud de soporte)." #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "Mirá también estas preguntas frecuentes (FAQ)." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "Recuperando (si es necesario) y preparando los archivos de respaldo..." #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "La cantidad de tiempo permitido para ejecuciones de plugins de WordPress es muy baja (%s segundos) - deberías incrementarla para evitar fallos de respaldos por exceso de tiempo de ejecución de comandos (consulta con tu proveedor de hosting web para obtener ayuda - se trata del ajuste PHP max_execution_time; el valor recomendado es %s segundos o más)" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "Deshabilitaste este plugin: %s: volvé a activarlo manualmente cuando estés listo." #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "La conexión %s excedió el tiempo de ejecución; si introdujo el servidor correctamente, entonces probablemente esté causado porque un firewall está bloqueando la conexión - deberías revisarlo con tu proveedor de hosting web." #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "Mensajes:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "Se encontró una línea de SQL que es mayor que el tamaño máximo de paquete y no se puede dividir; esta línea no será procesada, sino será dada de baja: %s" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "El directorio no existe" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "Dirección de correo electrónico del nuevo usuario" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "Nombre de usuario del nuevo usuario" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "Clave API del administrador" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "Nombre de usuario del administrador" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "Cuenta de Rackspace de USA o UK" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "Ingresá su nombre de usuario/clave API de administrador de Rackspace (para que Rackspace pueda autenticar tu permiso para crear nuevos usuarios) e ingresá un nuevo nombre de usuario (único), una dirección de correo electrónico para el nuevo usuario y un nombre de contenedor." #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "Crear nuevo usuario API y contenedor" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "Clave API: %s" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "Contraseña: %s" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "Nombre de usuario: %s" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "Error en la operación de Cloud Files (%s)" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "Conflicto: ese usuario o dirección de correo electrónico ya existe" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "Tenés que ingresar una nueva dirección de correo electrónico válida" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "Tenés que ingresar un contenedor" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "Tenés que ingresar un nuevo nombre de usuario" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "Tenés que ingresar una clave API de administrador" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "Tenés que ingresar un nombre de usuario de administrador" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "Crear un nuevo usuario de API con acceso solo a este contenedor (en lugar de a toda la cuenta)" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "Contenedor de Cloud Files" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "Clave API de Cloud Files" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "Para crear una nueva API sub-usuario y una clave API de Rackspace que solo tenga acceso a este contenedor, usá la versión Premium." #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "Nombre de usuario de Cloud Files" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "London (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "Hong Kong (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "Northern Virginia (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "Chicago (ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "Sydney (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "Dallas (DFW) (predeterminada)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "Región de almacenamiento de Cloud Files" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "Las cuentas creadas en rackspacecloud.com son las de los EEUU de Norteamérica; las cuentas creadas en rackspace.co.uk son las de Reino Unido" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "Cuenta Rackspace albergada en EEUU o Reino Unido" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "Las cuentas creadas en rackspacecloud.com son las cuentas de los Estados Unidos de Norteamérica; las cuentas creadas en rackspace.co.uk son las cuentas del Reino Unido." #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "Fallo de autorización (revisá sus credenciales)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "Ocurrió un error desconocido cuando se intentaba conectar a UpdraftPlus.Com" #: src/admin.php:965 msgid "Create" msgstr "Crear" #: src/admin.php:925 msgid "Trying..." msgstr "Probando..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "La nueva contraseña de la consola de usuario de RackSpace es (no será mostrada de nuevo):" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "Datos del error:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "La respaldo no existe en el historial de respaldos" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "Dividir línea para evitar sobrepasar el tamaño máximo de archivo." #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "No se pudieron mover los archivos antiguos." #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "Quitando de en medio los datos antiguos..." #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "Agregar otra dirección..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "Ingresá aquí las direcciones a las que querés que se les envíe un informe cuando finalice una tarea de respaldo." #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "%s suma de comprobación:%s" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "archivos: %s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "Usá la sección \"Informes\" para configurar las direcciones de correo electrónico que se utilizarán." #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "Información de depuración" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "Subido a:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "Tiempo tomado:" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "Advertencias" #: src/addons/reporting.php:223 msgid "Errors" msgstr "Errores" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "Errores/advertencias:" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "Contiene:" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "El respaldo comenzó:" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "Informe del respaldo" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "%d horas, %d minutos, %d segundos" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "%d errores, %d advertencias" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "Autenticación %s" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "Error %s: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "Logo de %s" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "no devolvió la respuesta esperada - revisá tu archivo de registro para más detalles" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "El módulo PHP requerido (%s) no está instalado - pregunte a tu proveedor de hosting web sobre tu habilitación" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "La dirección de correo electrónico del administrador de tu sitio (%s) será usada." #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "Conectater" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(versión: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "Tené en cuenta que los servidores de correo suelen tener límites de tamaño, por lo general alrededor de %s MB; los respaldos más grandes que los límites probablemente no lleguen." #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "Último estado:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "La respaldo contiene:" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "Respaldado: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "El archivo de registro se adjuntó a este correo electrónico." #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "Error desconocido/inesperado - por favor, enviá una solicitud de soporte" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "Solo base de datos (los archivos no formaban parte de este respaldo)" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "Base de datos (el respaldo de los archivos no se completó)" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "Solo archivos (la base de datos no formaba parte de este respaldo)" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "Archivos (el respaldo de la base de datos no se completó)" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "Archivos y base de datos" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "(Esto se aplica a todos los plugins de respaldo de WordPress a menos que hayan sido programados explícitamente para tu compatibilidad con multisitio)." #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "Sin la actualización, UpdraftPlus permite a todos los administradores de blog que puedan modificar los ajustes del plugin para respaldos (y por tanto acceder a los datos, incluidas las contraseñas) y restaurar (incluido con modificaciones personalizadas, por ejemplo, cambiar las contraseñas) toda la red." #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "Esta es una instalación Multisitio de WordPress." #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "Advertencia de UpdraftPlus:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "(o conectate usando el formulario en esta página si ya lo compraste)" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "seguí este enlace para actualizar el complemento y activarlo" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "seguí este enlace para obtener y actualizar el complemento" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "último" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "Tu versión: %s" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "¡Listo!" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "Soporte de UpdraftPlus" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "Está disponible una actualización para UpdraftPlus que contiene tus complementos; seguí este enlace para obtenerla." #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "Extensiones de UpdraftPlus" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "Hay una actualización de UpdraftPlus disponible; seguí este enlace para obtenerla." #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "UpdraftPlus.Com devolvió una respuesta, pero no se comprendió" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "Tu dirección de correo y contraseña no fueron reconocidas por UpdraftPlus.Com" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "UpdraftPlus.Com devolvió una respuesta que no pudimos entender (dato: %s)" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "UpdraftPlus.Com respondió, pero no entendimos la respuesta" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "No pudimos conectarnos con éxito a UpdraftPlus.Com" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "Reportando" #: src/admin.php:5927 msgid "Options (raw)" msgstr "Opciones (en bruto)" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "Enviar un reporte solo cuando hay advertencias/errores" #: src/restorer.php:3052 msgid "Content URL:" msgstr "URL del contenido:" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "Deberías revisár los permisos de los archivos de tu instalación de WordPress" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "Tu espacio libre en tu cuenta de hosting es muy bajo - solo quedan %s MB " #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "La cantidad de memoria (RAM) permitida por PHP es muy baja (%s MB) - debería incrementarla para evitar fallos por insuficiencia de memoria (consulte a tu proveedor de hosting para más información)" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "Gestionar extensiones" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "Comprar" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "Conseguilo en la tienda UpdraftPlus.Com" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "activarlo en este sitio" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "Tenés una compra inactiva" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "Asignado a este sitio" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "Disponible para este sitio (a través de tu compra de todos los complementos)" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "(aparentemente una versión preliminar o retirada)" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "Andá acá" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "¿Necesitás soporte?" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "Ocurrió un error al intentar obtener tus complementos." #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "Reclamo no concedido: los datos de inicio de sesión de tu cuenta son incorrectos" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "Esperá mientras hacemos el reclamo ..." #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "Se produjeron errores al intentar conectarse a UpdraftPlus.Com:" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "En este momento no estás conectado a una cuenta de UpdraftPlus.Com." #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "Si compraste nuevos complementos, seguí este enlace para actualizar la conexión" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "En este momento estás conectado a una cuenta de UpdraftPlus.Com." #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "¿Estás interesado en saber más sobre la seguridad con contraseña de UpdraftPlus.com? Leé más sobre ello aquí." #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "¿Has olvidado tus detalles?" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "¿Todavía no tenés una cuenta (es gratis)? ¡Créate una aquí!" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "Conectate con tu cuenta UpdraftPlus.com" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "Parece que tenés instalado el complemento de Updraft obsoleto, ¿tal vez los confundiste?" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "Hacé clic aquí para empezar a instalarlo." #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "UpdraftPlus todavía no está instalado." #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "Andá acá para desactivarlo." #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "UpdraftPlus todavía no está activado." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "Andá acá para conectar." #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "Aún no te conectaste con tu cuenta UpdraftPlus.Com para que podamos enumerar tus complementos comprados." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "Sin ello, el cifrado será mucho más lento." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "Tu servidor web no tiene el módulo %s instalado." #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "(Parece que ya estás autenticado, aunque podés autenticarte de nuevo para actualizar tu acceso si tuviste algún problema)." #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "Arrastrá los archivos de respaldo aquí" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "El servidor web devolvió un código de error (pruebe de nuevo, o revisá los archivos de registro de tu servidor web)" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "Si excluís tanto la base de datos como los archivos, ¡entonces estás excluyendo todo!" #: src/restorer.php:3046 msgid "Site home:" msgstr "Inicio del sitio:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "Opciones de almacenamiento remoto" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(los registros se pueden encontrar en la página de configuración de UpdraftPlus como de costumbre)..." #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "Recordá esta opción la próxima vez (todavía vas a poder cambiarla)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "Falló la subida" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "Podés enviar un respaldo a más de un destino con la versión Premium." #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "Leé más sobre cómo funciona..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "Error: pudimos iniciar sesión, pero no pudimos crear correctamente un archivo en esa ubicación." #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "Fallido: pudimos iniciar sesión y movernos al directorio indicado, pero no pudimos crear correctamente un archivo en esa ubicación." #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "Usar SCP en vez de SFTP" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "Ajustes de usuario SCP/SFTP" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "Ajuste de servidor SCP/SFTP" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "El intento de enviar el respaldo mediante correo electrónico falló (probablemente el respaldo era demasiado grande para este método)" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "El respaldo es de: %s." #: src/admin.php:1017 msgid "%s settings test result:" msgstr "Resultados del test de los ajustes %s:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(No finalizado)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "Si estás viendo más respaldos de los que esperabas probablemente sea porque el borrado de conjuntos de respaldos antiguos no se realiza hasta que se completa un respaldo reciente." #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "No la pongas en tu directorio de subidas o de plugins, pues esto provocará que se hagan respaldos de los respaldos." #: src/admin.php:3843 msgid "Job ID: %s" msgstr "ID del trabajo: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "última actividad: hace %ss" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "Desconocido" #: src/admin.php:3756 msgid "Backup finished" msgstr "Respaldo finalizada" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "Esperando hasta la hora programada para reintentar, en caso de errores" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "Eliminando paquetes de respaldo antiguos" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "Subiendo archivos al hosting externo" #: src/admin.php:3803 msgid "Encrypted database" msgstr "Base de datos cifrada" #: src/admin.php:3795 msgid "Encrypting database" msgstr "Cifrando base de datos" #: src/admin.php:3769 msgid "Created database backup" msgstr "Creada respaldo de la base de datos" #: src/admin.php:3782 msgid "table: %s" msgstr "tabla: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "Creando respaldo de la base de datos" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "Creados los archivos zip del respaldo" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "Creando los archivos zip del respaldo" #: src/admin.php:3706 msgid "Backup begun" msgstr "Comenzó a realizarse el respaldo" #: src/restorer.php:1563 msgid "file" msgstr "archivo" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "carpeta" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "UpdraftPlus necesitaba crear un %s en tu directorio de contenidos, pero falló - por favor, revisá los permisos y habilita el acceso (%s)" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "El respaldo no terminó; se ha programado una reanudación" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "Tu sitio web es visitado con poca frecuencia y UpdraftPlus no está recibiendo los recursos que se espera, por favor leé esta página:" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "Proceder con la actualización" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "No abortar después de presionar Proceda a continuación: esperá a que se complete el respaldo." #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "Respaldos automáticos de UpdraftPlus" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "Hubo errores:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "Creando respaldo con UpdraftPlus..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "Respaldo automático" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "Creando respaldo de la base de datos con UpdraftPlus" #: src/addons/autobackup.php:431 msgid "themes" msgstr "temas" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "plugins" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "Comenzando respaldo automático..." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "Creando respaldos de %s y base de datos con UpdraftPlus... " #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Hacé un respaldo automático (cuando sea relevante) de complementos, temas y la base de datos de WordPress con UpdraftPlus antes de actualizar" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "Si no estás seguro no lo hagas; de lo contrario podés romper esta instalación de WordPress." #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "Esto no parece un respaldo válido del núcleo de WordPress: le falta el archivo %s." #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "No se pudo abrir el archivo zip (%s): no se pudo escanear previamente para verificar su integridad." #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "No se puede leer el archivo zip (%s): no se pudo escanear previamente para verificar su integridad." #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "Más plugins" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Soporte" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "UpdraftPlus no pudo encontrar el prefijo de tabla al explorar el respaldo de la base de datos." #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "Este respaldo de la base de datos no tiene las tablas del núcleo de WordPress: %s" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "La base de datos es demasiado pequeña para ser una base de datos válida de WordPerss (tamaño: %s KB)." #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "Quedate tranquilo con un respaldo automático" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "Si aún puede leer estas palabras después de que la página termine de cargarse, entonces hay un problema en el sitio con JavaScript o jQuery." #: src/admin.php:960 msgid "The file was uploaded." msgstr "El archivo se subió." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "Respuesta de estado del servidor desconocida:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "Respuesta del servidor desconocida:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "Esta clave de descifrado será usada:" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "Seguí este enlace para intentar descifrar y descargar en tu equipo el archivo de la base de datos." #: src/admin.php:955 msgid "Upload error" msgstr "Error de subida" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "Error de subida:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(asegurate de que tratabas de subir un archivo zip creado previamente por UpdraftPlus)" #: src/admin.php:943 msgid "Download to your computer" msgstr "Descargar a tu equipo" #: src/admin.php:942 msgid "Delete from your web server" msgstr "Eliminar de tu servidor web" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "Ejemplos de proveedores de almacenamiento compatibles con S3:" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "Dividir archivos cada:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "Error: el servidor nos envió una respuesta (JSON) que no entendimos." #: src/admin.php:932 msgid "Warnings:" msgstr "Advertencias:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "Error: el servidor envió una respuesta vacía." #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "Parece que a este conjunto de respaldo de archivos múltiples le faltan los siguientes archivos: %s" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "Se encontró el archivo (%s), pero tiene un tamaño diferente (%s) del que se esperaba (%s) - puede estar dañado." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "Se encontró el archivo, pero tu tamaño es cero (tenés que volver a subirlo): %s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "No se ha encontrado el archivo (tenés que subirlo): %s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "No existe tal paquete de respaldos" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "Moviendo el respaldo desempaquetado a..." #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "Fallo al abrir el archivo zip (%s) - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "Ruta en el servidor del directorio raíz de WordPress: %s" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "%s punto final" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "... ¡y mucho más!" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (Compatible)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "El archivo no está en el hosting local - es necesario recuperarlo del hosting externo" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "Buscando archivo (%s), nombre del archivo: %s" #: src/restorer.php:635 msgid "Final checks" msgstr "Comprobaciones finales" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "Activa esta opción para borrar todos los archivos de respaldo superfluos desde el servidor una vez finalizada la ejecución de este respaldo (es decir, si la desactivas, entonces los archivos lanzados remotamente también se mantendrán a nivel local sin límites de retención)." #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "Arrastrá los archivos cifrados de base de datos (archivos db.gz.crypt) aquí para subirlos y descifrarlos" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "La ruta del directorio wp-content en el servidor: %s" #: src/admin.php:949 msgid "Raw backup history" msgstr "Historial de respaldos en bruto" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "Mostrar el historial de respaldos en bruto y la lista de archivos" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "Procesando archivos - por favor, espera..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "Fallo al abrir el archivo de la base de datos." #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "Respaldos conocidas (en bruto)" #: src/restorer.php:1835 msgid "Files found:" msgstr "Archivos encontrados:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "Restaurando la tabla: %s" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "El motor de tablas solicitado (%s) no está presente - cambiando a MyISAM." #: src/restorer.php:539 msgid "file is size:" msgstr "Tamaño del archivo:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "Más información aquí." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "Advertencia: Si aún podés leer estas palabras después de que la página termine de cargar, entonces hay un problema de JavaScript o de jQuery en el sitio." #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "Algunos archivos se estçan descargando aún o están siendo procesados - esperá por favor." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "La zona horaria utilizada es la de la configuración de WordPress, en Ajustes -> General." #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "Ingresá con el formato HH: MM (por ejemplo, 14:22)." #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "Fallo en el inicio de sesión de %s" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "Fallo al acceder a %s cuando se eliminaba (mira el archivo de registro para saber más)" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "Error - no existe tal archivo." #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "Error %s" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "Error %s - fallo al subir el archivo" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "Error %s - Fallo al re-ensamblar las partes" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "Falló la autenticación %s" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "Error: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "El directorio del respaldo especificado existe, pero no> tiene permisos de escritura." #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "El directorio de respaldo especificado no> existe." #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "Aviso: %s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "Se encontró un archivo muy grande: %s (tamaño: %s MB)" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s: archivo no legible - no se pudo incluir en el respaldo" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "La tabla %s tiene muchas filas (%s) - esperamos que tu proveedor de hosting te proporcione los recursos suficientes para volcar esa tabla en el respaldo." #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "Ocurrió un error mientras se cerraba el archivo final de la base de datos" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "Advertencias encontradas:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "Tu espacio libre en disco es muy bajo - solo quedan %s MB" #: src/addons/migrator.php:398 msgid "New site:" msgstr "Nuevo sitio:" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "Sitio migrado (desde UpdraftPlus)" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "Ingresá detalles de dónde va a estar ubicado este sitio dentro de una instalación multisitio:" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "Información necesaria para continuar:" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "Tema de activación de red:" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "Plugin procesado:" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "Chequeá los permisos de los archivos: no se pudo crear ni entrar al directorio:" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "Por favor, revisá sus credenciales de acceso." #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "El error reportado por %s fue:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "Por favor, facilite la información solicitada y luego continúe." #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "Información del sitio:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Advertencia:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "Estás ejecutando sobre una instalación multisitio de WordPress - pero tu respaldo no es de un sitio multisitio." #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Cerrar" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "Respuesta inesperada:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "Para enviar a más de una dirección separalas con comas." #: src/admin.php:947 msgid "PHP information" msgstr "Información PHP" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "encontrado zip ejecutable:" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "mostrar información PHP (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "¿Querés migrar o clonar/duplicar un sitio?" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "Permite que pase el tiempo necesario para que se completen las comunicaciones con el almacenamiento remoto." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "Eliminar también del almacenamiento externo" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "Últimas noticias de UpdraftPlus.com:" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "Premium" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "Noticias" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "Conjunto de respaldos no encontrado" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "%s - no se puede hacer respaldo esta entidad; el directorio correspondiente no existe (%s)" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "Enlace al RSS" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "Enlace al sitio" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "Probando los ajustes %s..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "O bien, puede colocarlo manualmente en el directorio de UpdraftPlus (normalmente wp-content/updraft), por ejemplo mediante FTP, y luego usa el enlace \"re-escanear\" anterior." #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "Aviso" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "Errores encontrados:" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "Volviendo a explorar (buscando respaldos subidas manualmente al hosting interno de respaldos)..." #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "Comenzando a buscar esta entidad" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "Guardar en" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "\"%s\" no tiene clave primaria, es necesario un cambio manual en la fila %s." #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "filas: %d" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "Tiempo empleado (en segundos):" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "Errores:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "Comandos SQL de actualización ejecutados:" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "Cambios realizados:" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "Filas examinadas:" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "Tablas examinadas:" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "Se se pudo obtener la lista de tablas" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "Advertencia: la URL de la base de datos del sitio (%s) es distinta de la que esperábamos (%s)" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "Nada que hacer: la URL del sitio ya está: %s" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "Error: parámetro vacío inesperado (%s, %s)" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "Base de datos: buscar y reemplazar URL del sitio" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "Fallo: no pudimos entender el resultado devuelto por la operación %s." #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "Fallo: no se pudo iniciar la operación %s." #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "Buscar y reemplazar la ubicación del sitio en la base de datos (migrar)" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "Todas la referencias a la ubicación del sitio en la base de datos han sido reemplazadas con la URL del sitio actual: %s" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "Subidas del blog" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "Plugins indispensables (MU)" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "Instalación multisitio" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "a partir de la próxima vez que es" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "Fallo: El puerto debe ser un entero." #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "contraseña" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "Nombre de usuario" #: src/addons/sftp.php:638 msgid "host name" msgstr "nombre del servidor" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "A dónde cambiar el directorio después de iniciar la sesión - en general es relativa a tu directorio de inicio." #: src/addons/sftp.php:615 msgid "Directory path" msgstr "Ruta del directorio" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Contraseña" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "Puerto" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "Servidor" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "Error: falló la descarga" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "Chequeá los permisos de los archivos: no se pudo crear e ingresar:" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "No se encontraron %s" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "No hay respaldo de %s directorios: no se encontró nada para hacer respaldar" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "Tené cuidado: si seleccionás / realmente se intentará crear un archivo zip que contenga el servidor web completo." #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "Si no estás seguro de para qué es esta opción no la vas a querer habilitada." #: src/addons/morefiles.php:294 msgid "More Files" msgstr "Más archivos" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "Núcleo de WordPress (incluyendo cualquier archivo en el directorio raíz de WordPress)" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "Los archivos anteriores comprenden todo en una instalación de WordPress." #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "Sobrescribir el archivo wp-config.php" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "Núcleo de WordPress" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "Fallo: No pudimos colocar un archivo en ese directorio - comprueba tus credenciales." #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Error" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "URL de WebDAV" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "Fallo en la escritura local: falló la descarga" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "Error abriendo un archivo remoto: falló la descarga" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "No se encontraron los ajustes %s" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "Fallo: la identificación tuvo éxito, pero no pudimos crear un archivo en el directorio indicado." #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "Éxito: iniciamos sesión con éxito, y confirmamos la posibilidad de crear un archivo en el directorio indicado (tipo de acceso:" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "Fallo: no tuvo éxito el inicio de sesión con esas credenciales." #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "Fallo: Los detalles del servidor no fueron dados." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "Tiene que existir ya" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "Tu nombre de cuenta %s: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "tiene autenticada tu cuenta %s" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "Los respaldos están guardados en %s." #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "¿Necesita usar subcarpetas?" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "Error: fallo al subir el archivo a %s (mira el archivo de registro para saber más)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "error: %s (más información en el registro)" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "La comunicación con %s no fue cifrada." #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "La comunicación con %s fue cifrada." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "Accedimos correctamente al cubo, y pudimos crear archivos en él." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "Accedimos correctamente al cubo, pero el intento de crear un archivo en él falló." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "Fallo" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "Región" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "Fallo: No se dieron los detalles del cubo." #: src/methods/s3.php:1370 msgid "API secret" msgstr "API secret" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "Ubicación de %s" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "Clave secreta de %s" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "clave de acceso %s" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "Si ve errores sobre certificados SSL, vaya aquí para obtener ayuda." #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "Error de %s al re-ensamblar (%s): (mira el archivo del archivo de registro para saber más)" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "subida (%s): reensamblado fallido (ver el registro para más detalles)" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "trozo de %s: falló la subida" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "Error: el archivo %s fue reducido inesperadamente" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "%s subida: falló la obtención de una ID de subida para la subida multiparte - mira el archivo del archivo de registro para más detalles" #: src/methods/email.php:106 msgid "Note:" msgstr "Nota:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "Respaldo de WordPress" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "Accedimos al contenedor, y pudimos crear archivos en él." #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "Error de archivos en la nube - accedimos al contenedor, pero falló la creación de un archivo en él" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "Fallo: Lo detalles del contenedor no fueron dados." #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Nombre de usuario" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "Clave API" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "Fallo: %s no fue dado." #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "Nombre de usuario de Cloud Files" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "Reino Unido" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "EEUU de Norteamérica (US)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "Nube de EEUU o Reino Unido" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "También, debería leer esta pregunta frecuente (FAQ) importante." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "Probar ajustes %s" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "Error al abrir el archivo local: Fallo al descargar" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "Error %s: Fallo al subir" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "Error %s: Fallo al abrir el archivo local" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "Falló la autenticación de Cloud Files" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Autenticarte con Google" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "Client Secret" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "Si Google te muestra luego el mensaje \"invalid_client\" es porque no ingresaste un Client ID válido aquí." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "Client ID" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "Tenés que agregar lo siguiente la URI de redirección autorizada (en \"Más opciones\") cuando se te pida" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "Seleccioná 'Aplicación web' como el tipo de aplicación." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "La cuenta no está autorizada." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "Fallo al subir a %s" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "Cuenta llena: tu cuenta %s tiene solo %d bytes más, y el archivo a subir es de %d bytes" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "Aún no se obtuvo una señal de acceso desde Google - tenés que autorizar o re-autorizar tu conexión a Google Drive." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "has identificado tu cuenta %s." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "Correcto" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "Tu cuota usada de %s: %s %% usado, %s disponible" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "siga este enlace para conseguirlo" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "Soporte para %s está disponible como un complemento" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "No tenés instalado el complemento %s de UpdraftPlus - conseguilo de %s" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "Tenés que volver a identificarse con %s, ya que tus credenciales actuales no están funcionando." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "Ok" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "El prefijo de la tabla ha cambiado: cambiando %s campo(s) de la tabla en consecuencia:" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "la consulta a la base de datos que se ejecutaba fue:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "se restaurará como:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "Antiguo prefijo de la tabla:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "Respaldo de:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "Fallo al abrir la base de datos" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "Fallo en encontrar la base de datos" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "Fallo al escribir la base de datos descifrada al sistema de archivos" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "Fallo al crear un directorio temporal" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "No se borró el directorio de trabajo después de restaurar." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "Limpiando basura..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "Restaurando la base de datos... (en sitios grandes podría tardar mucho tiempo - si obtiene errores de exceso de tiempo de ejecución de comandos (timeout), lo que puede pasar si tu proveedor de hosting (hosting) tiene configurado tu hosting con recursos limitados, entonces debe usar un método diferente como phpMyAdmin)" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "La base de datos fue descifrada con éxito." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "Descifrando base de daros (puede tardar)..." #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "Descomprimiendo el respaldo..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "Falló el respaldo de esta entidad." #: src/restorer.php:842 msgid "Backup file not available." msgstr "Archivo de respaldo no disponible." #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "No se pudo leer uno de los archivos de la restauración" #: src/restorer.php:725 msgid "Error message" msgstr "Mensaje de error" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "Los registros del respaldo no contienen información sobre el tamaño apropiado de este archivo." #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "Tamaño esperado del archivo:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "Si hacés una solicitud de soporte, por favor incluí esta información:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "ABORTADO: No se puede conseguir la información de qué entidades restaurar." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "Restauración de UpdraftPlus: progreso" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "Después de hacer clic en este botón vas a tener la opción de seleccionar los componentes que quieras restaurar" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "Borrar este respaldo" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Guardar cambios" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "Deshabilitar SSL donde sea posible" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "Tené en cuenta que no todos los métodos de respaldo en la nube usan necesariamente identificación SSL." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "No verificar los certificados SSL" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "Usar el certificado SSL del servidor" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "Si no se logra, verifique los permisos en tu servidor o cambie a otro directorio que se pueda escribir." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "o, para resetear la opción" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "Hacé clic aquí para tratar de crear el directorio y establecer los permisos" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "El directorio de respaldo especificado tiene permisos de escritura, lo que es bueno." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "Directorio de respaldo" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "Borrar respaldo local" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "abre esto para mostrar más opciones; no lo utilices a menos que tengas un problema o seas curioso." #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "Mostrar ajustes para expertos" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "Ajustes para expertos" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Modo de depuración" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "Avanzado / Ajustes de depuración" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "Solicitando empezar el respaldo..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Cancelar" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Ninguno" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "Seleccioná tu almacenamiento externo" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "Descifrar manualmente un respaldo de la base de datos" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "Frase de cifrado de la base de datos" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "Correo electrónico" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "Los directorios de arriba tienen todo, excepto por el núcleo de WordPress que puede ser descargado completo desde WordPress.org." #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "Excluir estos:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "Cualquier otro directorio que se encuentre en wp-content" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "Incluir en los archivos de respaldo" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "ej. si tu servidor está ocupado de día y realizarla por la noche" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "Para fijar el horario cuando deba iniciarse el respaldo," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "Intervalo del respaldo de la base de datos" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Mensual" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "Quincenal" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Semanal" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Diario" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "Intervalo de los archivos del respaldo" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "Descargar el archivo de registro (log)" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "La carpeta existe, pero tu servidor web no tiene permisos para escribir en ella." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "Falló la solicitud al sistema de archivos de crear el directorio." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Borrar" #: src/admin.php:3877 msgid "show log" msgstr "mostrar archivo de registro (log)" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "Esto borrara todos los ajustes de UpdraftPlus. Está seguro de realizar esta operación?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "calcular peso" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "Nota: Este recuento está basado en lo que fue, o no fue, excluyendo la última vez que guardaron las opciones." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Datos totales (descomprimidos) en disco:" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "No" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Sí" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "Versión de %s:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "Uso de memoria actual" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "Tope de uso de memoria" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "Servidor web:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "¿Necesita soporte de Multisitio de WordPress?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Multisitio" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "Lea este artículo para saber cosas útiles antes de la restauración." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s opciones de restauración:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "Vas a tener que restaurarla manualmente." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "La siguiente entidad no puede ser restaurada automáticamente: \"%s\"." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "Tu servidor web tiene activo el modo seguro (safe_mode) de PHP." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Seleccioná los componentes a restaurar" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "La restauración reemplazará la base de datos, los directorios, temas, plugins, subidas, y/o otros directorios de wp-content (según lo que contenga este paquete de respaldo, y tu selección)." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Restaurar el respaldo" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "Borrar respaldo" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "Error descargando: el servidor envió una respuesta que no entendimos." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Error:" #: src/admin.php:927 msgid "calculating..." msgstr "calculando..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - Subir archivo de respaldo" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "actualizar" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "Espacio de disco en tu servidor de web en uso por UpdraftPlus" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "Esto es un recuento del contenido de tu directorio Updraft" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Drive" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "Si está usando esto apagá el modo Turbo/Road." #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Navegador Opera" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "Más tareas:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "Descargar el archivo de registro (log) más reciente" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Último mensaje del archivo de registro (log)" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Restaurar" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "Hacer ahora un respaldo" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "Hora actual" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Base de datos" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Archivos" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "Próximas respaldos programados" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "Al mismo tiempo que el respaldo de los archivos" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "Nada programado actualmente" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "Advertencia de JavaScrip" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Borrar directorios antiguos" #: src/admin.php:3050 msgid "Current limit is:" msgstr "Límite actual:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "Se restauró tu respaldo." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Versión" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "Página web del desarrollador principal" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Tus ajustes fueron eliminados." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "Directorio de respaldos creado correctamente." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "El directorio de respaldos no se pudo crear" #: src/admin.php:3888 msgid "Remove old directories" msgstr "Eliminar directorios antiguos" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Volver a la configuración de UpdraftPlus" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Acciones" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "Formato de nombre de archivo inapropiado - no parece un archivo de base de datos cifrado por UpdraftPlus" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Formato de nombre de archivo inapropiado - no parece un archivo creado por UpdraftPlus" #: src/admin.php:2631 msgid "No local copy present." msgstr "No hay presente una copia local." #: src/admin.php:2628 msgid "Download in progress" msgstr "Descarga en progreso" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "Archivo preparado." #: src/admin.php:2598 msgid "Download failed" msgstr "La descarga falló" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Error" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "No se pudo encontrar este trabajo - ¿quizás haya finalizado?" #: src/admin.php:2335 msgid "Job deleted" msgstr "Trabajo eliminado" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Todavía no hay nada conectado" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Por favor, consultá las FAQ si tenés problemas con los respaldos." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "Tu sitio web está alojado usando el servidor web %s." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Advertencia" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Ajustes" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Bucle infinito: consultá el archivo de registro para más información" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Archivo no encontrado" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "La clave de descifrado usada:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "No se pudo abrir el archivo de respaldo para escribir en él" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "No se pudo leer el directorio" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "El directorio de respaldo (%s) no tiene permisos de escritura o no existe." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "Se completó el respaldo de WordPress" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "El intento de respaldo terminó, al parecer sin éxito" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Otros" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Subidas" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Temas" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Plugins" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "No se encontraron archivos de registro." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "No se pudo leer el archivo de registro." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "Aviso de UpdraftPlus:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "Respaldos UpdraftPlus"languages/updraftplus-fr_CA.mo000064400000000425147400355670012404 0ustar00$,,-PO-Revision-Date: +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: GlotPress/3.0.0 Language: fr_CA Project-Id-Version: UpdraftPlus languages/updraftplus-hi_IN.mo000064400000003345147400355670012424 0ustar00!$,,-4:@G OZc kux }    (-") LVp " ,=S"l$-CZ v # CancelCloseDailyDeleteDismissExtensionsFacebookMonthlyMultisiteNoNoneNot installedNoticePasswordPluginsSave ChangesSaving...SettingsSuccessSupportTwitterUsernameVersionWarningWarning:WeeklyYesfileloginrecommendedsettingsstopPO-Revision-Date: 2016-06-09 09:21:11+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: hi_IN Project-Id-Version: UpdraftPlus कैंसिल करें बंदप्रतिदिन हटाएँख़ारिजएक्सटेंशनFacebookमासिकमल्टीसाइटनहींकोई नहीं नहीं स्थापितसूचना:पासवर्डप्लगिन्सबदलाव सहेजेंसहेजा जा रहा... सेटिंगसफलतासहायताट्विटरयूज़रनेमसंस्करण चेतावनीचेतावनी:साप्ताहिकहाँफ़ाइललॉग इनकी सिफारिश कीसेटिंग्सरोकlanguages/updraftplus-tr_TR.po000064400001256775147400355670012515 0ustar00# Translation of UpdraftPlus in Turkish # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2019-03-06 13:15:50+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: tr\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "Klonlama bölgesi:" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "buraya git" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "Önceden yenilediyseniz, bu siteye bir lisans tahsis etmeniz gerekir - %s" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "Doğrulama" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "Bu yedeklemeyi yüklemek için en az bir uzak depolama hedefi seçmelisiniz." #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "Kolay güncellemeler yöneticisi hakkında daha fazla bilgi edinin" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "Burada klon anahtarları hakkında daha fazla bilgi bulabilirsiniz." #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "Veya, bir UpdraftClone anahtarı kullanın" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "%s adları ayarlandı, ancak WPDB::determine_charset() tarafından önerilen %s olarak değişiyor." #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "UpdraftClone anahtar gereklidir." #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "Klon verilerinin hazırlanması iptal edildi." #: src/addons/azure.php:705 msgid "Azure Government" msgstr "Azure hükümet" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "Kullanılabilir bir güncelleme bulduğunda WordPress'ten UpdraftPlus'u otomatik olarak güncellemesini isteyin." #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "Otomatik güncellemeler" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "Veritabanı kullanıcınızın tabloları bırakma izni yok" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "Bir güncelleme olduğunda WordPress'e UpdraftPlus'u otomatik olarak güncellemesini isteyin" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "Sorulduğunda, yetkili yeniden yönlendirme URI'si olarak aşağıdakileri eklemeniz gerekir (\"diğer seçenekler\" altında)" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "Frankfurt" #: src/addons/googlecloud.php:61 msgid "London" msgstr "Londra" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "Belçika" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "Sidney" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "Singapur" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "Tokyo" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "Tayvan" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "Oregon" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "Kuzey Virjinya" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "Güney Karolina" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "Iowa" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "Değişikliği onayla" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "Dışlama kuralı ekleme" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "Bir dosya öneki yazın" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "Bu karakterlerle başlayan tüm dosyalar" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "Zip gibi bir uzantı yazın" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "Dışlamak istediğiniz bir dosya/klasör seçin" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "Belirtilen karakterlerle başlayan tüm dosyalar" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "Bu uzantıya sahip tüm dosyalar" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "Dosya/dizin" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "Dosyaları veya dizinleri yedeklemenin dışında bırakmak için bir yol seçin" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "Dosyaları/dizinleri hariç tut" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "UpdraftClone hakkında SSS/belgeleri okumak için buraya gidin." #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "UpdraftPlus.com hesabınız" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "Gelişmeyi burada veya %s içinde kontrol edebilirsiniz." #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "UpdraftClone'nunuz hâlâ ayarlamaya devam ediyor." #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "%s arşivleri kalıyor" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "Site verilerinin tümü alındı ve içe aktarma başladı." #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "WordPress yüklü; Şimdi gönderilecek site verilerini bekliyor." #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "Klonlama hazır" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "Site verileri dağıtıldı" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "Site verilerini dağıtma" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "Site verileri alındı" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "Site verileri alınıyor " #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "WordPress yüklü" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "Klonunuz başladı, ağ bilgileri henüz mevcut değil ama hazır olduğunda burada ve updraftplus.com hesabınızda görüntülenecek." #: src/admin.php:4330 msgid "Exclude these from" msgstr "Bunları hariç tut" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "Eklemeye çalıştığınız dışlama kuralı zaten var" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "Lütfen geçerli bir dosya adı öneki girin" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "Lütfen hariç tutmak istediğiniz dosya adını başlatan karakterleri girin" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "Lütfen geçerli bir dosya uzantısı girin" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "Lütfen zip gibi bir dosya uzantısı girin" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "Lütfen dışlamak istediğiniz bir dosya/klasör seçin" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "Bu dışlama kuralını kaldırmak istediğinizden emin misiniz?" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "günlük sonuçları konsola kaydetmek" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "Geçici bir klon oluşturmak için hesabınızda kredi gerekir." #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "SSS bölümüne bakınız." #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "%s dosyasına dosya yüklenemedi (daha fazla bilgi için günlük dosyasına bakın)" #: src/admin.php:6222 msgid "Dashboard:" msgstr "Pano:" #: src/admin.php:6221 msgid "Front page:" msgstr "Ön sayfa:" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "Klonunuz başladı ve hazır olduğunda aşağıdaki URL'lerde kullanılabilir olacaktır." #: src/includes/class-commands.php:1093 msgid "manage" msgstr "yönetmek" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "Mevcut klonlar" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "Klonunuz şimdi sitenizi yeniden oluşturmak için bu verileri dağıtacak." #: src/addons/migrator.php:541 msgid "Site key" msgstr "Site anahtarı" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "Site ekle" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "geri" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "Nasıl yapıldığını adım adım görmek için bu makaleyi okuyun." #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "Geçiş yap (kontrolü sizde barındıran bir sitenin kopyasını oluşturun)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "Klonlarınızı yönetin" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "Kapanış 1 Ekim 2018’de" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "Klonunuz yenilenecek:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "Yenileme tarihi alınamıyor" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "Yedekleme iptal edildi" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "OneDrive Almanya" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "OneDrive Uluslararası" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "Hesap türü" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "Sunucularımız (UpdraftClone) üzerinde geçici bir klon oluşturun" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "WooCommerce eklentileri" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "Turu sıfırla" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "Eklentiyi gezmek için bu düğmeye basın." #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "Tur at" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "Erişiminiz olan tüm özellikleri etkinleştirmek için burada oturum açın." #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "Updraftplus.com'a bağlan" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "UpdraftVault'u kullanmaya başlamak için aşağıdaki seçeneklerden birini seçin:" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "Bitir" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "UpdraftPlus Premium çok daha heyecan verici özelliklere sahiptir!" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "UpdraftPlus Premium ve ekleri" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "Geziye katıldığınız için teşekkür ederim." #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "Yedeklemek istediğiniz birkaç WordPress siteniz daha var mı? Evet ise, tüm yedeklerinizi UpdraftCentral'dan tek bir yerde kontrol ederek saatlerce tasarruf edebilirsiniz." #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "Tüm yedeklemelerinizi tek bir yerde kontrol etme" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "Yedeklemek istediğiniz şeyi seçin" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "Manuel yedekleme seçenekleri" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "Bulut dosyaları" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "Kayıt ol" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "Site boyutu" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "Kilit ayarları" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "Site bilgileri" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "İçer aktarma ayarları" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "Dışa aktarma ayarları" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "Dışa/İçe aktarma ayarları" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "Uzak sunucuda ki dosyalar silindi:" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "Yerel dosyalar silindi:" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "Tamamla" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "İçe aktarılıyor..." #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "Henüz içe aktarmak için bir dosya seçmediniz." #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "şablon bulunamadı" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "Bu sorunu gidermek için buraya gidin." #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "SSS" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "daha yavaş, en güçlü" #: src/addons/migrator.php:559 msgid "recommended" msgstr "tavsiye edilen" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "Şifreleme anahtarı boyutu:" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "giriş" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "Boyut: %s MB" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "ya da (yıllık indirim)" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "Yedekleme kullanıcı tarafından iptal edildi" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Ayarlarınız kaydedildi." #: src/admin.php:4515 msgid "Total backup size:" msgstr "Toplam yedek boyutu:" #: src/admin.php:3878 msgid "stop" msgstr "durdur" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "Yedekleme çalışmayı bitirdi" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "Ayarları sıfırla" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "varsayılana dön" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "hesapla" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "Lütfen geçerli bir URL giriniz" #: src/admin.php:976 msgid "Saving..." msgstr "Kaydediyor..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "Hata: sunucu bize anlayamadığımız bir yanıt gönderdi." #: src/admin.php:926 msgid "Fetching..." msgstr "Getiriliyor..." #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "İptal" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "Lütfen gerekli bilgileri doldurun." #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "Yedeğiniz uzak depolama alanına gönderiliyor" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "Veritabanı yedekleme zamanlaması" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "Dosya yedekleme zamanlaması" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "Bu yedeği uzak depolama alanına gönder" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "ayarlar" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "%s dakika, %s saniye" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "Yedekleme içeriği ve zamanlama" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "Premium / Eklentiler" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "İndir" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "Eklentiler" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "Gelişmiş araçlar" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "seçenekler tablosu bulunamadı" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Kurulmadı" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "veya daha kompleks takvimler ayarlayın" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "UpdraftPlus'dan %s kaldırmak istediğinize emin misiniz?" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "Seçimi kaldır" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "Hepsini seç" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "Seçilen yedekler için eylemler" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "Uzak depolama metodlarında mevcut yedeklere ulaşmak için buraya tıklayın. (her hangi bir site için aynı klasörde saklanmak şartıyla)" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "Kaldırılan yedekler:" #: src/admin.php:1012 msgid "Processing..." msgstr "İşleniyor..." #: src/admin.php:1010 msgid "For backups older than" msgstr "Şu tarihten eski yedekler için" #: src/admin.php:1009 msgid "week(s)" msgstr "hafta(lar)" #: src/admin.php:1008 msgid "hour(s)" msgstr "saat(ler)" #: src/admin.php:1007 msgid "day(s)" msgstr "gün(ler)" #: src/admin.php:1006 msgid "in the month" msgstr "ay içinde" #: src/admin.php:1005 msgid "day" msgstr "gün" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "(istediğiniz kadar)" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "Ekstra bir saklama kuralı belirleyin..." #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "Bu veritabanı %s ve sonrası bir MySQL versiyonuna yüklenebilir." #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "Bu problem kaynak veritabanıyla uyumsuz çok eski bir MySQL versiyonuna geri yükleme yapılırken oluşur." #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "Bu veritabanını kullanmak için MySQL sürümünüzü yükseltmelisiniz." #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "Bu veritabanı yedeği bu sitenin çalıştığı eski MySQL versiyonunda (%s) bulunmayan özellikler kullanmaktadır." #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "Email adresinizi ve ya şifrenizi mi unuttunuz?" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "Bağlanmak için UpdraftPlus.Com email / şifrenizi girin:" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "Amazon'un sunucu tarafında şifrelemesini kullanmak için kutucuğu işaretleyin" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "Sunucu-tarafında şifreleme" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "Eğer şifrenizi unuttuysanız, updraftplus.com'a şifrenizi değişmek için buradan gidebilirsiniz." #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "%s uzaktan depolama için seçildi, ancak şuan bağlı değilsiniz." #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "Ödemeler Amerikan Doları, Euro, İngiliz Sterlini, kredi kartı veya PayPal ile yapılabilir." #: src/admin.php:982 msgid "Update quota count" msgstr "Kota durumunu güncelle" #: src/admin.php:981 msgid "Counting..." msgstr "Hesaplanıyor..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "Bağlantı kesiliyor..." #: src/admin.php:978 msgid "Connecting..." msgstr "Bağlanıyor..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "Durumu güncelle" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "Daha fazla kota" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "Mevcut kullanım" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "Buradan kotanızı arttırabilirsiniz" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "Bağlantıyı kes" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "Kota:" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "Vault sahibi" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "Bravo - ayarlanması gereken başka bir şey yok." #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "Yardım için şuraya bakın" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "Geri..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "Abonelikler her hangi bir zaman iptal edilebilir." #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "her çeyrek için %s" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "Seçenekleri göster" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "Başlamak için bir tuşa basın." #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "Updraft Vault" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "Silme başarısız:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "Sıkıştırma motoru şu mesajı dönderdi : %s." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "Bu izin olmadan, UpdraftPlus yedekleri silemez - ayrıca silme hataları görmemek için 'retain' ayarlarınızı çok yüksek ayarlamalısınız." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "Silmeye izin ver" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "Bu izin olmadan, UpdraftPlus'dan indirme ve ya geriyükleme yapamazsınız, aksine AWS websitesini ziyaret etmeniz gerekir." #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "İndirmeye izin ver" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "Eğer siteden siteye direk gönderim çalışmıyorsa, bundan başka 3 metod daha bulunmakta - bunlardan birini deneyiniz." #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "Uzaktaki sitenin online, güvenlik duvarsız, erişimi engelleyecek her hangi bir güvenlik modülüne sahip olmadığından, UpdraftPlus versiyon %s ve sonrasının aktif ve anahtarlarının doğru girildiğinden emin olunuz." #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "Mevcut anahtarlar" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "Yeni anahtarınız:" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "Anahtar başarıyla oluşturuldu." #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "Bu isimle bir anahtar zaten mevcut; benzersiz bir isim kullanmalısınız." #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "Ayrıca bu yedeği aktif uzak depolama konumlarına yükle" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "site bulunamadı" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "Yedekleme verisi şuraya gönderilecek:" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "Bu siteye varolan bir yedek setini geri yükleyin" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "Bu site henüz geri yükleme yapacak bir yedeğe sahip değil." #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "%s tarafından yapılan yedek" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "Bu saklama metodu indirmeye izin vermez" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "(uzak konumdan içeri aktarılan yedek seti)" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "Site" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "Yedek uzak siteye gönderildi - indirme için uygun değil." #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "Geri yüklemeden önce, bu yedeğin gerçekten bu siteye ait bir yedek olduğundan emin olmalısınız (Başka bir siyeye ait olabilir)." #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "UpdraftPlus bu yedek setini şuanki WordPress kurulumu üzerinden tanıyamıyor, uzak depolama alanında bulunmuş veya uzak bir site üzerinden yüklenmiş olabilir." #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "Bağlantı test ediliyor..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "Siliniyor..." #: src/admin.php:991 msgid "key name" msgstr "anahtar adı" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "Lütfen anahtara bir isim verin (hangi siteye ait olduğunu belirtecek şekilde):" #: src/admin.php:986 msgid "Creating..." msgstr "Yaratılıyor..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "Uzak bir siteden yedek alma" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "Anahtarı buraya yapıştırın" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "Bir sitenin anahtarını nasıl alırım?" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "Yükleme konumu olarak bir site eklemek için, hedef sitenin anahtarını aşağıya girin." #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "Yedeği başka bir siteye gönder" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "Gönder" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "Siteye yükle:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "Alıcı bir site henüz eklenmedi." #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "Şu siteye yedek yüklemek için geçerlidir:" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "Anahtar başarıyla eklendi." #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "Girilen anahtar uzak siteye ait değil (bu siteye ait)." #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "Girilen anahtar yanlış - tekrar deneyin." #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "Girilen anahtarın uzunluğu hatalı - tekrar deneyin." #: src/includes/class-remote-send.php:580 msgid "key" msgstr "anahtar" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "Neredeyse bütün FTP sunucuları pasif mod ister; ancak aktif moda ihtiyacınız varsa, bu kutucuğun işaretini kaldırın." #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "Pasif mod" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "Uzak konum" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "FTP şifre" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "FTP kullanıcı" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "FTP sunucusu" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "UpdraftPlus Migrator geri yükleme işlemini uygun şekilde modifiye eder, böylece yedekleme verisi yeni siteye uyum sağlar." #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "Bir \"taşıma\" geri yükleme ile tamamen aynıdır - ancak başka bir siteden içeri aktardığınız yedekleri kullanırsınız." #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "Site ekle" #: src/admin.php:983 msgid "Adding..." msgstr "Ekleniyor..." #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "Alacak hakkınız onaylanmadı - belki bu satınalmayı başka bir yerde kullandınız, veya updraftplus.com'dan indirme yapmak için ödenmiş süreniz doldu?" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "Bu yedeği kullanabilmek için, veritabanı sunucunuz %s karakter setini desteklemelidir." #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "şifrenizi updraftplus.com üzerinden değiştirmek için buraya gidin." #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "Şifrenizi unuttuysanız" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "Şifrenizi tekrar girmek için buraya gidin." #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "Bu butona tıkladıktan sonra, hangi bileşenleri taşımak istediğinizi seçme imkanı elde edeceksiniz" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "Ayalarınızda değişiklik yaptınız ve kaydetmediniz." #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "N.B. %s büyük-küçük harf duyarlı değil." #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "Eğer OneDrive sonradan size \"unauthorized_client\" mesajını gösterirse, buraya doğru bir client ID girmemişsiniz demektir." #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "Ekran görüntüleri içeren, daha uzun yardım için, bu bağlantıyı takip edin." #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "OneDrive giriş bilgilerinizi OneDrive geliştiirici konsolunda oluşturun." #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "Yetkilendirme başarısız oldu:" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "OneDrive" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "Lütfen %s hesabına bağlantınızı tekrar sağlayın." #: src/methods/email.php:110 msgid "configure it here" msgstr "buradan ayarlayın" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "Bloğu kaldırmak için lütfen buraya gidin." #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "Ayarlarınızı kaydetmeyi unutmayın." #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "Kovanıza ulaşmak için IAM kullanıcı hesabı kullanıyorsunuz." #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "S3 bucket" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "Çin (Beijing) (kısıtlı)" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "Asya Pasifik (Tokyo)" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "Asya Pasifik (Sidney)" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "Asya Pasifik (Singapur)" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "ABD Batı (kısıtlamalı)" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "ABD Batı (K. Kaliforniya)" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "ABD Batı (Oregon)" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "S3 saklama bölgesi" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "Yeni IAM kullanıcı adı" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "Yönetici gizlilik anahtarı" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "Yönetici erişim anahtarı" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "Böylece, yönetici anahtarlarınız yerine, düşük seviyede erişim bilgileri kullanılabilir." #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "Bu yeni bir IAM policy ile birlikte sadece belirtilen kovaya erişimi sağlayan yeni bir kullanıcı ve anahtar çifti oluşturacaktır." #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "Amazon S3 yönetici erişim/gizlilik anahtarlarınızı ve yeni kullanıcı için (benzersiz) bir kullanıcı adı ve kova adı girin." #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "Yeni bir IAM kullanıcısı ve S3 kovası oluştur" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "Gizlilik Anahtarı: %s" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "Erişim Anahtarı: %s" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "User Policy uygulanamadı" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "Kullanıcı Erişim Anahtarı oluşturma başarısız" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "IAM işlemi başarısız (%s)" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "Çakışma: kullanıcı zaten mevcut" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "AWS bağlantısı başarısız" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "Bir kova girmelisiniz" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "Yeni bir IAM kullanıcı adı girmelisiniz" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "Bir yönetici gizlilik anahtarı girmelisiniz" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "Bir yönetici erişim anahtarı girmelisiniz" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "Eğer bir AWS yönetici kullanıcısına sahipseniz, (bütün hesabınız yerine) sadece bu kovaya erişimi olan bir AWS (IAM) kullanıcısı oluşturmak için bu sihirbazı kullanabilirsiniz." #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "Bu muhtemelen önceki saldırılarda kullanılan hacklenmiş bir websitesiyle aynı sunucuyu kullandığınız anlamına gelir." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "Wen sunucunuzun IP adresi (%s) engellenmiş gözüküyor." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "UpdraftPlus.com 'Erişim Reddedildi' cevabını verdi." #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "Premium WooCommerce eklentileri" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "Bedava çift-yönlü güvenlik eklentisi" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "Daha fazla kaliteli Eklentiler" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus Premium" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "Ertele (%s ay için)" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "(dosya yedekleriyle aynı zamanda)" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "Tamamlanan bir yedek yok" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "Bülten kayıt" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "UpdraftPlus haber listesine katılmak için bu linke tıklayın." #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "WordPress dosyalarını ve veritabanını yedekle" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "Satış öncesi sorularınızı sorun" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "Satış öncesi SSS" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "Özelliklerin tam listesi" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Güncellemeden önce (ilgili) eklentileri, temaları ve WordPress veritabanını UpdraftPlus ile yedekle." #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "%s Hata : Başlatma başarısız" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "veya" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "PKCS1 (PEM başlığı: BEGIN RSA PRIVATE KEY), XML ve PuTTY biçimlendirme anahtarları kabul edilir." #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "tenant" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "Bu bir v2 (Keystone) yetkilendirme URI olmalıdır; v1 (Swauth) desteklenmemektedir." #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "site yöneticinizin adresine" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "Temel bir rapor göndermek için bu kutucuğu işaretleyin" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "Manuel" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "Bir hata (%s) oluştu:" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "Kilit Ayarlarını Değiştir" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "Daha fazla özellik ve kişisel destek için, göz atın" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "Veritabanı şifreleme aşaması" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "Güncellemeden önce otomatik yedek" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "WordPress çekirdeği (sadece)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "Destek kilidini açmak için, sizin adınıza UpdraftPlus'ı yöneten kişiye başvurun." #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "UpdraftPlus ayarlarına erişmek için, kilit açma şifrenizi giriniz." #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "Hatalı şifre" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "Kilidi aç" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "Aksi taktirde, vaysayılan bağlantı görüntülenecektir." #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "Kilit ekranını gören herkese destek için bu URL gösterilecek - geçerli bir web yada email adresi giriniz." #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "Destek URL'si" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "Sonra şifreye tekrar ihtiyacınız olacak" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "%s hafta" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "1 hafta" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "%s saat" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "1 saat" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "Lütfen şifreyi not aldığınızdan emin olun!" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "UpdraftPlus ayarlar sayfasına erişimi kilitle" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "Yönetici şifresi değiştirildi." #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "Yönetici şifresi belirlendi." #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "Yönetici şifresi kaldırıldı." #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "(bu iyi seçenek hakkında daha fazla öğren)" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "Eklentilerinizi aktive ettikten sonra, sitenin güncellemelere erişimini etkilemeden şifrenizi (mail adresiniz hariç) aşağıdaki ayarlardan kaldırabilirsiniz." #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "Log kaydını göster" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "Yedek veriler (indirmek için tıklayın)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "Yedek tarihi" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "ve bu kadar zamanlanmış yedek tut" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "Arttırılan yedek; temel yedek; %s" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "UpdraftPlus ayarlarına erişimi bir şifre ile kilitlemek için, UpdraftPlus Premium'a terfi edin." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "UpdraftPlus'a dosya yükleyin." #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "Yedekleme klasörünüz yazılabilir olmadığı için 'Şimdi Yedekle' butonu etkisizleştirilmiştir ('Ayarlar' menüsünde ilgili seçeneğe gidin)" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "Yedek etiketi:" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "Hata: beklenmeyen dosya okuma hatası" #: src/backup.php:4389 msgid "check your log for more details." msgstr "daha fazla detay için log kayıtlarını inceleyiniz." #: src/backup.php:4385 msgid "A zip error occurred" msgstr "Bir sıkıştırma hatası oluştu" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "Bu yedek için etiketiniz (opsiyonel)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "UpdraftPlus.Com tarafından tanınmayan bir email adresi girdiniz" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "Email adresiniz geçerli, fakat şifreniz UpdraftPlus.Com tarafından tanınmamaktadır." #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "Email ve şifre alanlarını doldurmanız gerekmektedir" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "Eğer çoklu site yedeği geri yüklemek istiyorsanız, ilk önde Wordpress kurulumunuzu çoklu site olarak ayarlamalısınız." #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "zaten yapılmış" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "esgeçildi (listede yok)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "Tablo bul ve değiştiriliyor:" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "Virgülle ayrılmış bir liste girin; aksi takdirde, bütün tablolar için boş bırakın." #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "Sadece bu tablolar" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "satır grup başına" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "UpdraftPlus.Com hesabınızla henüz bağlanmadınız." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "UpdraftPlus güncellemelerini almak için bağlanmalısınız." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "%s konusuyla ilgili herhangi bir destek talebi hosting firmanıza iletilmelidir." #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "Bu şuan geri yükleme yaptığınız sunucudan oldukça daha yeni (version %s)." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "Bunu neden görüyorum?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "Bu dizinin lokasyonu, Ayarlar sekmesinin uzman ayarları bölümünden ayarlanabilir." #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "UpdraftPlus dizininize (web hosting alanınızda) yüklenmiş yeni yedek paketlerini görmek için buraya tıklayın." #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "Yedeklemeyi başlat" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "%s web sunucusunu kullanıyorsunuz ama %s modülü yüklenmemiş görünüyor." #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "WordPress eklentisinin klasöre yazma yetkisinin nasıl ayarlanacağı ile ilgili olarak web hosting sağlayıcınıza danışmanız gerekir." #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "Bir problem olmadığı sürece buradaki her şeyi görmezden gelebilirsiniz." #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "Bu dosya yüklenemedi" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "Ayarlar bölümünde bununla ilgili daha fazla bilgi bulabilirsiniz." #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "Desteklenen yedekleme eklentileri: %s" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "Artan yedekleme ile ilgili daha fazla bilgi" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "Hafıza limiti" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "geri yükleme" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "Artan" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "Tam yedekleme" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "şimdi güncellemeler işleniyor..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(logu görüntüle...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "Yedekleme başarılı" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "%s saatte bir" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "bul ve değiştir" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Başla" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "Bul/değiştir işlemi geri alınamaz - bunu yapmak istediğinizden emin misiniz?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "Bu işlem sitenizi kolayca bozabilir; dikkatli kullanın!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "Bununla değiştir" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "Şunu ara" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "Veritabanında bul / değiştir" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "arama terimi" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "Çok fazla veritabanı hatası oluştu - iptal ediliyor" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "daha fazlasını okuyun: %s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "UpdraftPlus (ücretsiz sürüm) tarafından oluşturulam email raporları, size en son UpdraftPlus.com haberlerini iletir" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "Dikkat. Eğer UpdraftPlus'ı birden fazla WordPress sitesine kuruyorsanız, aynı projeyi tekrar kullanamazsınız. Her site için Google API konsolundan yeni bir proje oluşturmalısınız." #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "Henüz bir yedekleme yapmadınız." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "Veritabanı Seçenekleri" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s kullanılıyor)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "Hesaptaki kullanılabilir disk alanı:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "Yedek klasörünüz yazılabilir olmadığı için bu buton pasif (ayarlara bakınız)." #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "Nelerin yedekleneceğine dair varssayılan ayarları değiştirmek, zamanlı yedekleri ayarlamak, yedekleri uzak depolama alanına göndermek (tavsiye edilen) ve daha fazlası için ayarlar sekmesine gidin." #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "Yedek almak için Şimdi Yedekle butonuna tıklamanız yeterli." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "UpdraftPlus'a hoşgeldiniz!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "Test ediliyor..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "Test bağlantısı..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "Tablo önek" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "Harici veritabanını yedekle" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "Yedeklemek için harici bir veritabanı ekleyin..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "Eğer veritabanında WordPress'in parçası olmayan tablolar var ise (eğer öyleyse bunu biliyorsunuzdur), bu tabloları da yedeklemek için bu seçeneği aktifleştirin." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "WordPress veritabanında bulunan ve WordPress'e ait olmayan tabloları yedekle" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "Bu seçenek MySQL veritabanında bulunan fakat Wordpress'e ait olmayan (başında belirlenen Wordpress öneki %s bulunmayan) tabloların da yedeklenmesini sağlar." #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "Bağlantı başarısız." #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "Bağlantı başarılı." #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "Toplam %s tablo bulundu; %s tanesi belirtilen önek'e sahip." #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "%s tablo bulundu." #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "veritabanı bağlantı denemesi başarısız" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "veritabanı adı" #: src/addons/moredatabase.php:115 msgid "host" msgstr "host" #: src/addons/moredatabase.php:113 msgid "user" msgstr "kullanıcı" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "Harici veritabanı (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "Google API konsoluna ulaşmak için bu linki takip edin, ve orada Drive API'yi aktive edin ve Credientials bölümünde bir Client ID oluşturun" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "üst dizine erişim başarısız" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "Ancak, tekrar eden denemeler başarısız olmuştur:" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "Harici veritabanı" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "Bu ayrıca tüm eklentilerin hata ayıklama çıktılarının bu ekranda görüntülenmesine sebep olacaktır - bunları görürseniz şaşırmayın." #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "İlk olarak, çözümleme anahtarını girin" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "Kriptolanmış bir veritabanını burada manuel olarak çözebilirsiniz." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "Ayrıca dışarıda bulunan veritabanlarınızı yedekleyebilir." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "Gözetlenmek istemiyor musunuz? UpdraftPlus Premium veritabanı yedeğinizi şifreleyebilir." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "UpdraftPlus Premium kullanın" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "Sadece Wordpress veritabanı geri yüklenebilir; dış veritabanı ile manuel olarak ilgilenmelisiniz." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "İlk %s komutunda bir hata oluştu - işlem iptal ediliyor." #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "Bağlantı başarısız: erişim bilgilerinizi kontrol edin, veri tabanınızın çalışır olduğundan ve ağ bağlantısında güvenlik duvarı olmadığından emin olun." #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "veritabanı bağlantı denemesi başarısız." #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "veritabanındaki anasayfa adresi (%s), beklenenden (%s) farklı" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "%s içindeki dizin ismi büyük-küçük harfe duyarlıdır." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "Eğer boş bırakırsanız, yedekler %s kök dizinine yerleştirilecek" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "örneğin: %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "Burada kullanmak istediğiniz %s klasörünün yolunu giriniz." #: src/methods/openstack2.php:257 msgid "Container" msgstr "Taşıyıcı" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "Burayı boş bırakırsanız varsayılan seçim kullanılır." #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "Kullanıcı" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "Daha fazla bilgi için linke tıklayın" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "giriş URI" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "%s indirilemedi" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "indirme başarısız" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "dosyalar listelenemiyor" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "%s yüklenemedi" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "Tamamlandı:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "%s ile giriş yap" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "Uzak dosya indirilemiyor: İndirme başarısız" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "Bölge: %s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "%s hatası - taşıyıcıya eriştik, ama içinde dosya oluşturamadık" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "%s bulunamadı" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "%s taşıyıcısına erişilemiyor" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "%s hatası - taşıyıcıya erişilemiyor" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "Hesap sahibinin adı: %s." #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "Özel klasör ismi kullanabilmek için UpdraftPlus Premium kullanın." #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "Bu Google Drive'a özgü bir dahili ID numarasıdır" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "Bu bir klasör ismi değil." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "Klasör" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "%s indirme: başarısız: dosya bulunamadı" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "İsim: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "Google Drive dosya listeleme: kök klasöre erişilemiyor" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "%s versiyonunuz: %s." #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "Hosting şirketinizden sistemi upgrade etmelerini istemelisiniz." #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "Uzak depolama metodu (%s) PHP %s veya daha güncelini gerektiriyor." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "Çağır" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "Getir" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "Bu özellik %s %s sürümü veya daha güncelini gerektiriyor" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "Arşiv açılamadı" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "Hata - dosya indirilemedi" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "Yeni yedek dosyaları için yerel klasörü tekrar tara" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "Uyumluluk testleri yapılmış bir sürüm kullandığınızdan emin olmak için UpdraftPlus'ı güncellemelisiniz." #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "En fazla %s versiyonuna kadar test edilmiştir." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "Yüklü UpdraftPlus Yedekleme/Geri Yükleme versiyonu kullandığınız Wordpress versiyonu (%s) ile test edilmemiştir." #: src/addons/sftp.php:646 msgid "password/key" msgstr "parola/anahtar" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "Anahtar" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "Giriş bilginiz bir şifre ve ya anahtar-tabanlı olablir, sadece birini girmelisiniz, ikisi birden olmaz." #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "Anahtar geçerli formatta değil veya bozulmuş." #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "SCP/SFTP parola/anahtar" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "Yedeklenen dosyalar (%s tarafından oluşturulmuş)" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "Dosyalar ve veritabanı Wordpress yedeği (%s tarafından oluşturulmuş)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "Yedek %s tarafından oluşturuldu." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "Veritabanı (%s tarafından oluşturuldu)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "bilinmeyen kaynak" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "Uzak depolama alanını tekrar tara" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Yedek dosyalarını yükle" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "Bu yedek %s tarafından oluşturulmuş, ve içeri yüklenebilir." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "Meydana gelebilecek sorunlar ve çözümlemesi için bu sayfayı okuyun." #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "Bu yedek başka bir yedekleme eklentisi ile oluşturulduysa UpdraftPlus Premium yardımcı olabilir." #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "Ancak, UpdraftPlus arşivleri standart zip/SQL dosyalarıdır - eğer dosyanızın uygun biçimde olduğundan eminseniz, şablona uyacak şekilde yeniden adlandırabilirsiniz." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "Bu dosya bir UpdraftPlus yedek arşivi gibi durmuyor. (arşivler backup_(saat)_(site adı)_kod_(tip).(zip|gz) gibi bir isme sahip .zip veya .gz uzantılı dosyalardır)" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "Bilinmeyen kaynak tarafından oluşturulmuş yedek (%s) - geri yüklenemiyor." #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "Zip dosyasında WordPress içerik klasörü (wp-content) bulunamadı." #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "UpdraftPlus'ın bu sürümü bu tip yabancı yedeği nasıl işleyeceğini bilmiyor" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "%s işlemi beklenmeyen bir HTTP yanıtı döndürdü: %s" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "Bu dosya er,şim metodu (%s) için olan UpdraftPlus modülü dosyaları listelemeyi desteklemiyor" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "Ayar bulunamadı" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "Uzak depolama alanının taranması sonucu bir ya da daha fazla yedek eklendi; bu yedekler \"tutma\" ayarlarından otomatik olarak silinmeyecektir; bu dosyaları silmek istiyorsanız/istediğinizde bunu manuel olarak yapmalısınız." #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "Uzak ve yerel depolama yedek setleri için tekrar taranıyor..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "(Devamını oku)" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "Tüm log kayıtlarını syslog'a kaydet (sadece sunucu yöneticileri bunu yapmak isteyebilir)" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "Kaldır" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "Diğer %s SSS." #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "Yedekleme işlemi ile ilgili daha fazla bilgi ve email almak için buraya bakın - özellikle bir şeyler hatalı çalışıyorsa faydalı olacaktır." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "%s çalışmadan önce, hosting firmanız bu fonksiyonları aktive etmelidir." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "Sunucunuzun PHP yüklemesinde bu fonksiyonlar pasif hale getirilmiş: %s." #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "krtiptolanmış FTP (açık şifreleme)" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "kriptolanmış FTP (kapalı kriptolama)" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "yaygın kriptolanmamış FTP" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "Yedeği yaratan:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "Bu sitede talep kullanılabilir" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "Destek erişiminizi devam ettirmek için lütfen yenileyin." #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "UpdraftPlus desteğine erişim için ödemenizin süresi dolmak üzere." #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "Tekrar erişim kazanmak için, lütfen yenileyin." #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "UpdraftPlus destek erişimi için yaptığınız ödemenin süresi doldu." #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "Bu sitede UpdraftPlus güncellemeleri için paralı erişiminizin yakında süresi dolacaktır." #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Erişiminizin ve güncellemelerin devamı (gelecek özellikler ve yeni Wordpress versiyonlarıyla uyumluluk) ve destek için, lütfen yenileyin." #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "Bu sitede %s / %s eklenti için UpdraftPlus güncellemelerine paralı erişiminizin süresi dolmak üzeredir." #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "Bu sitede %s eklentileri için UpdraftPlus güncellemelerine paralı erişiminizin süresi dolmuştur." #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Güncellemelere (gelecek özellikler ve Wordpress uyumluluk güncellemeleri dahil) tekrar erişim kazanmak ve desteklemek için, lütfen yenileyin." #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "Ana gösterge panaelinden gizle (%s hafta için)" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "Çifte-sıkıştırmayı geri alma denemesi başarılı oldu." #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "Çifte-sıkıştırmayı geri alma denemesi başarısız oldu." #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "Veritabanı dosyası iki kez sıkıştırılmış gözüküyor - muhtemelen dosyayı indirdiğiniz site yanlış-ayarlanmış bir websunucuna sahipti." #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "Sabitler" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "Veri tabanı dosyasını okumak için açma başarısız:" #: src/backup.php:1645 msgid "No database tables found" msgstr "Database tablosu bulunamadı" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "lütfen tekrar zamanlanmış deneme için bekleyin" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "Hesap dolu: %s hesabınızda sadece %d byte kaldı, ancak yüklenecek dosya %d byte kalan veri içeriyor ( toplam boyut %d byte)" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "Oluşan hatalar:" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "Bu geri yüklemeye ait log dosyasını indirmek için bu linki takip edin (destek talepleriniz için gereklidir)" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "Bu sıkça sorulan sorularada gözatınız" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "Geri alınıyor (gerekli ise) ve yedek dosyaları hazırlanıyor..." #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "Wordpress eklentilerini çalıştırmak için izin verilen süre çok az (%s saniye) - yedekleme hatalarını ve zaman aşımlarını engellemek için bu süreyi arttırmalısınız (daha fazla yardım için hosting firmanıza danışın - PHP ayarlarındaki max_execution_time ayarından kaynaklanıyor; tavsiye edilen süre %s saniye ve daha fazlası)" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "Bu eklenti devre dışı: %s: Hazır olduğunuzda yeniden etkinleştirin." #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "%s bağlantısı zaman aşımına uğradı; eğer sunucu bilgilerini doğru girdiyseniz, bu sorun bağlantıyı engelleyen bir firewall'dan kaynaklanıyor olabilir. Hosting şirketiniz ile iletişime geçmeniz önerilir." #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "Mesajlar:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "Maksimum paket boyutundan büyük ve bölünemeyen bir SQL satırı bulundu; bu satır işlenmeyecek ve düşürülecek: %s" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "Dizin bulunamadı" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "Yeni Kullanıcı'nın Email Adresi" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "Yeni Kullanıcı'nın Kullanıcı Adı" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "Yönetici API Anahtarı" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "Yönetici Kullanıcı Adı" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "Amerika veya İngiltere Rackspace Hesabı" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "Rackspace yönetici kullanıcıadı/API anahtarınızı girin (böylece Rackspace sizi tanıyarak yeni kullanıcılar yaratma izni verir), ve yeni kullanıcı için yeni (eşsiz) bir kullanıcıadı ve email adresi girin, bir de konteyner adı verin." #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "Yeni API kullanıcısı ve içeriği yarat." #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "API Anahtarı: %s" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "Şifre: %s" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "Kullanıcı adı: %s" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "Bulut Dosyaları işlemi başarısız oldu (%s)" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "Çakışma: Kullanıcı adı veya e-mail mevcut." #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "Geçerli bir email adresi girmelisiniz" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "Bir konteyner girin" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "Yeni bir kullanıcı adı girmelisiniz" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "Bir yönetici API anahtarı girmeniz gerekiyor" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "Bir yönetici kullanıcı adı girmeniz gerekiyor" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "Sadece bu konteynere (tüm hesabınız yerine) erişimi olan yeni bir API kullanıcısı oluşturun" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "Bulut Dosyası Kapsayıcısı" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "Bulut Dosyaları API Anahtarı" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "Bulut Dosyaları Kullanıcı Adı" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "Londra (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "Hong Kong (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "Kuzey Vijinya (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "Şikago (ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "Sidney (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "Dallas (DFW) (varsayılan)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "Bulut Dosyaları Saklama Bölgesi" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "Rackspacecloud.com sitesinde oluşturulan hesaplar US-hesaplarıdır; rackspace.co.uk sitesinde oluşturulan hesaplar UK-tabanlıdır." #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "ABD yada İngiltere kaynaklı Rackspace Hesabı" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "Rackspacecloud.com sitesinde oluşturulan hesaplar US hesaplarıdır; rackspace.co.uk sitesinde oluşturulan hesaplar UK hesaplarıdır." #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "Yetkilendirme başarısız (giriş bilgilerinizi kontrol edin)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "UpdraftPlus.Com'a bağlanmaya çalışırken bilinmeyen bir hata oluştu" #: src/admin.php:965 msgid "Create" msgstr "Oluştur" #: src/admin.php:925 msgid "Trying..." msgstr "Deneniyor..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "Yeni kullanıcının RackSpace konsol şifresi (tekrak gösterilmeyecektir):" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "Veri hatası:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "Yedek, yedekleme geçmişinde mevcut deil." #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "Maksimum paket boyutunu aşmamak için satırları ayır" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "Eski dosyalar yolun dışına taşınamadı." #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "Eski veriler yolun dışına taşınıyor..." #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "Başka adres ekle..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "Yedekleme işi bittiğinde rapor göndermek için mail adreslerini buraya girin." #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "%s checksum: %s" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "dosyalar: %s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "Kullanılacak email adresini ayarlamak için \"Raporlama\" sekmesini kullanın." #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "Bilgi ayıklanıyor" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "Şuraya yüklendi:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "Geçen süre" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "Uyarılar" #: src/addons/reporting.php:223 msgid "Errors" msgstr "Hatalar" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "Hatalar / uyarılar:" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "İçerik:" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "Yedekleme başlangıcı:" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "Yedekleme raporu" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "%d saat, %d dakika, %d saniye" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "%d hata, %d uyarı" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "%s yetkilendirme" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "%s hata: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "%s logo" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "beklenen yanıtı geri vermedi - daha fazla ayrıntı için günlük dosyanızı kontrol edin" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "Gerekli %s PHP modülü yüklü değil - hosting firmanızdan yüklemesini isteyin" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "Sitenizin yönetici email adresi (%s) kullanılacak." #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "Bağlan" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(versiyon: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "Mail sunucularının boyut limitleri olduğunu unutmayın; genellikle yaklaşık %s Mb; limit boyutunu aşan yedekler ulaşmayabilir" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "Son durum:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "Yedek içeriği:" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "Yedeklendi: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "Log dosyası bu e-mail'e eklendi." #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "Bilinmeyen/beklenmeyen hata - lütfen destek talebi açınız" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "Sadece veritabanı (dosyalar bu plana dahil değil)" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "Veritabanı (dosyaların yedeklemesi tamamlanmadı)" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "Sadece dosyalar (veritabanı bu plana dahil değil)" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "Dosyalar (veritabanı yedeklemesi tamamlanmadı)" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "Dosyalar ve veritabanı" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "(Bu özellikle multisite uyumluluğu için kodlanmış eklentiler hariç bütün WordPress yedekleme eklentileri için geçerlidir)." #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "Bu bir WordPress multi-site (diğer adıyla ağ) kurulumudur." #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "UpdraftPlus uyarı:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "(ve ya önceden satın aldıysanız bu sayfadaki formu kullanarak bağlanın)" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "aktive ekmek üzere eklentiyi güncellemek için bu linki takip edin" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "yüklemek ve eklentiyi güncellemek için bu linki takip edin" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "son" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "Kullandığınız versiyon: %s" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "Yüklediniz" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "UpdraftPlus Destek" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "UpdraftPlus için uygun eklentileri içeren bir güncelleme hazır - yüklemek için bu linke tıklayınız." #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "UpdraftPlus Eklentileri" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "UpdraftPlus için bir güncelleme mevcut - yüklemek için bu linki takip edin." #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "UpdraftPlus.Com yanıt verdi, fakat yanıtı anlamadık" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "Email adresiniz ve şifreniz UpdraftPlus.Com tarafından tanınmadı" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "UpdraftPlus.Com anlayamadığımız bir yanıt verdi (veri: %s)" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "UpdraftPlus.Com yanıt verdi, fakat yanıtı anlamadık" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "UpdraftPlus.Com bağlantısı başarısız" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "Raporlama" #: src/admin.php:5927 msgid "Options (raw)" msgstr "Seçenekler (ham)" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "Sadece hatalar/uyarılar olduğunda rapor gönder" #: src/restorer.php:3052 msgid "Content URL:" msgstr "İçerik URLsi:" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "WordPress yüklemenizdeki dosya izinlerini ve sahipliklerini kontrol etmelisiniz" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "Hosting hesabınızdaki boş alan çok az kaldı - sadece %s Mb kaldı" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "PHP için ayrılan hafıza (RAM) çok düşük (%s Mb) - yetersiz hafızadan kaynaklı hatalar yaşanmaması için hafızayı arttırmalısınız (daha fazla bilgi için hosting şirketinize danışın)" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "Eklentileri Yönet" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "Satın al" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "UpdraftPlus.Com mağazasından edin" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "Onu bu sitede aktive edin" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "Aktif olmayan bir satın almanız mevcut" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "Bu siteye atanmış" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "Bu site için mevcut (Tüm-eklentiler satın almanız vasıtasıyla)" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "(büyük ihtimalle geri çekilen veya henüz yayınlanmayan bir sürüm)" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "Buraya gidin" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "Teknik desteğe mi ihtiyacınız var?" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "Eklentileriniz alınırken bir hata oluştu." #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "Talep kabul edilmedi - hesap giriş bilgileriniz yanlış" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "Biz talepte bulunurken lütfen bekleyin..." #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "UpdraftPlus.Com'a bağlanmaya çalışırken hatalar oluştu:" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "Şu an UpdraftPlus.Com hesabınıza bağlı değilsiniz." #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "Yeni eklenti satın aldıysanız bu linke tıklayarak bağlantınızı yenileyin." #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "UpdraftPlus.Com parola güvenliğiniz ile ilgili bilgi almak ister misiniz? Burayı okuyun." #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "Bilgilerini mi unuttun?" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "Hala bir hesabın yok mu? Hemen bir tane al! (beleş beleş)" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "UpdraftPlus.com hesabınızla bağlanın" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "Kullanımdan kalkmış bir Updraft eklentisi yüklemiş gözüküyorsunuz - belki karıştırmış olabilir misiniz?" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "Yüklemeye başlamak için buraya gidin." #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "UpdraftPlus henüz yüklenmedi." #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "Aktif etmek için tıkla." #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "UpdraftPlus henüz aktif edilmedi." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "Bağlanmak için buraya gidin." #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "Satın aldığınız eklentileri listelemeyi etkinleştirmek için, henüz UpdraftPlus.com hesabınıza bağlanmadınız." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "Bu olmadan kriptolanma çok daha yavaş olur." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "Sunucunuzda %s modülü yüklü değil." #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "(Giriş yapmış gözüküyorsunuz, ancak bir problem yaşadıysanız tekrar giriş yaparak erişiminizi tazeleyebilirsiniz)." #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "Dosyaları buraya sürükle" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "Web sunucusu bir hata kodu döndürdü (tekray deneyin, ya da web sunucu loglarını kontrol edin)" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "Eğer hem veritabanını hem de dosyaları hariç tutarsanız, her şeyi hariç tutmuş ollursunuz." #: src/restorer.php:3046 msgid "Site home:" msgstr "Site Anasayfa:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "Uzak Depolama Seçenekleri" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(loglar UpdraftPlus ayarlar sayfasında normal şekilde bulunabilir)..." #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "Bu seçimi bir daha ki sefer hatırla (tekrar değiştirme şansınız olacak)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "Yükleme başarısız" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "Bunun nasıl çalıştığı hakkında daha fazla oku..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "Başarısız: Giriş yaptık, fakat bu konumda başarıyla bir dosya yaratamadık." #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "Başarısız: Giriş yaptık ve ilgili klasöre ulaştık, fakat bu konumda başarıyla bir dosya yaratamadık." #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "SFTP yerine SCP kullanın" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "SCP/SFTP kullanıcı ayarı" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "SCP/SFTP host ayarı" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "Email ile yedeği gönderme denemesi başarısız oldu (muhtemelen yedek bu metod için fazla büyük)" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "Yedek kaynağı: %s." #: src/admin.php:1017 msgid "%s settings test result:" msgstr "%s ayarları test sonucu:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(Tamamlanmadı)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "Umduğunuzdan fazla yedek görüyorsanız, bu belkide eski yedek setlerinin yeni yedekler tamamlanmadan silinmesinden olabilir." #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "Sakın uploads ya da plugins klasörünün altı olarak belirlemeyin, yoksa kendini yenileme sorunu olacaktır. (yedeğin yedeğinin yedeği...)" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "İş ID: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "son etkinlig: %ss önce" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "Bilinmiyor" #: src/admin.php:3756 msgid "Backup finished" msgstr "Yedekleme tamamlandı" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "Hatalar yüzünden belirlenmiş tekrar deneme zamanını bekliyor" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "Eski yedek setleri siliniyor" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "Dosyalar uzak depolama birimine yükleniyor" #: src/admin.php:3803 msgid "Encrypted database" msgstr "Veritabanı şifrelendi" #: src/admin.php:3795 msgid "Encrypting database" msgstr "Veritabanı şifreleniyor" #: src/admin.php:3769 msgid "Created database backup" msgstr "Veritabanı yedeği oluşturuldu" #: src/admin.php:3782 msgid "table: %s" msgstr "tablo: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "Veritabanı yedeği oluşturuluyor" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "Yedek zip dosyaları oluşturuldu" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "Yedek zip dosyaları oluşturuluyor" #: src/admin.php:3706 msgid "Backup begun" msgstr "Yedekleme başladı" #: src/restorer.php:1563 msgid "file" msgstr "dosya" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "klasör" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "UpdraftPlus içerik klasörünüzde %s oluşturmak zorundaydı, ancak başarısız oldu - lütfen dosya izinlerinizi kontrol edin ve erişime izin verin (%s)" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "Yedekleme henüz bitmedi; yeniden başlama zamanlandı" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "Web sayfanız seyrek ziyaret ediliyor ve UpdraftPlus umduğu kaynaklara ulaşamıyor; lütfen bu sayfayı okuyun:" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "Güncellemeye devam et" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "Aşağıda Devam a tıkladıktan sonra iptal etmeyin - yedeğin bitmesini bekleyin." #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "UpdraftPlus Otomatik Yedeklemeler" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "Hata oluştu:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "UpdraftPlus ile yedek oluşturuluyor..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "Otomatik Yedekleme" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "UpdraftPlus ile veritabanı yedeği oluşturuluyor..." #: src/addons/autobackup.php:431 msgid "themes" msgstr "temalar" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "eklentiler" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "Otomatik yedekleme başlıyor..." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "UpdraftPlus ile %s ve veritabanı yedeği oluşturuyor..." #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Güncelleme yapmadan önce (ilgili) yedekleri, temaları ve WordPress veritabanını otomatik olarak yedekle" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "Eğer ne yaptığınızdan emin değilseniz durmalısınız; aksi taktirde WordPress yüklemenizi yok edebilirsiniz." #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "Bu geçerli bir Wordpress çekirdek yedeğine benzemiyor - %s dosyası eksik." #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "Zip dosyası (%s) açılamadı - bütünlük kontrolu için öntarama yapılamadı." #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "Zip dosyası (%s) okunamadı - bütünlüğünü kontrol etmek için ön-tarama yapılamadı." #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "Daha fazla eklenti" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Destek" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "UpdraftPlus veritabanı yedeğini tararken veritabanı önekini bulamadı." #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "Bu veritabanında ana Wordpress tabloları eksik: %s" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "Veritabanı geçerli bir WordPress veritabanı olmak için çok küçük (Boyut: %s Kb)." #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "Otomatik yedekleme ile güvende kalın" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "Sayfanın yüklenmesi sona ermesine rağmen bu yazıyı hala okuyabiliyorsanız, sitede JavaScript veya jQuery ile ilgili bir problem var demektir." #: src/admin.php:960 msgid "The file was uploaded." msgstr "Dosya upload edildi." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "Bilinmeyen sunucu yanıt durumu:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "Bilinmeyen sunucu yanıtı:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "Şifre çözmek için kullanılacak anahtar:" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "Şifrenin çözülmesi ve veritabanı dosyasının bilgisayarınıza indirilmesi için bu linki takip edin. " #: src/admin.php:955 msgid "Upload error" msgstr "Upload hatası" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "Upload hatası:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(UpdraftPlus tarafından yaratılmış bir zip dosyası upload ettiğinizden emin olun)" #: src/admin.php:943 msgid "Download to your computer" msgstr "Bilgisayarınıza indirin" #: src/admin.php:942 msgid "Delete from your web server" msgstr "Web sunucunuzdan silin" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "Örnek S3-uyumlu depo sağlayıcılar:" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "Arşiv parçalama boyutu:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "Hata: Sunucu bize anlayamadığımız bir yanıt (JSON) gönderdi." #: src/admin.php:932 msgid "Warnings:" msgstr "Uyarılar:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "Hata: Sunucu boş yanıt gönderdi. " #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "Bu çoklu-arşiv yedek kümesinde şu arşivler eksik: %s" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "Dosya (%s) bulundu, ama beklenenden (%s) farklı bir boyutu (%s) var - zarar görmüş olabilir." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "Dosya bulundu, ama boyutu sıfır (yeniden upload etmeniz gerekiyor): %s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "Dosya bulunamadı (upload etmeniz gerekiyor): %s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "Böyle bir yedek mevcut değil" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "Açılmış yedek yerine taşınıyor..." #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "Zip dosyası (%s) açılamadı - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "WordPress ana dizin sunucu yolu: %s" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "%s bitiş noktası" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "... ve daha fazlası!" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (Uyumlu)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "Dosya lokalde mevcut değil - uzak depodan alınması gerekiyor" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "%s arşivi aranıyor: dosya adı: %s" #: src/restorer.php:635 msgid "Final checks" msgstr "Son kontroller" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "Yedekleme sonrası gerek olmayan yedekleme dosyalarını sunucunuzdan silmek için burayı işaretleyin (işaretlemezseniz, uzağa gönderilen dosyalar lokalde de kalacaklar ve lokalde kalan bu dosyalar koruma limitlerine tabii olmayacaklar)" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "Şifre çözme amaçlı upload etmek için şifreli veritabanı dosyalarınızı (db.gx.crypt uzantılı dosyalar) buraya bırakın" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "Sizin wp-content dizini sunucu yolunuz: %s" #: src/admin.php:949 msgid "Raw backup history" msgstr "Ham yedek tarihçesi" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "Ham yedek ve dosya listesini göster" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "Dosyalar işleniyor - lütfen bekleyin..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "Veritabanı dosyası açılamadı." #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "Bilinen yedekler (ham)" #: src/restorer.php:1835 msgid "Files found:" msgstr "Bulunan dosyalar:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "İstenen tablo motoru (%s) mevcut değil - MyISAM'a geçiliyor" #: src/restorer.php:539 msgid "file is size:" msgstr "dosya boyutu:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "Daha fazla bilgi için buraya gidin." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "Bazı dosyalar hala indiriliyor veya işleniyor - lütfen bekleyin." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "Kullanılan saat dilimi WordPress ayarlarınızdan (Ayarlar -> Genel) gelmektedir." #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "SS:DD formatında giriş yapın (örn. 14:22)" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "%s oturum açma başarısız" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "Silme esnasında %s için giriş yapılamadı (detay için log dosyasına bakın)" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "%s Hata" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "%s hata - Dosya upload işlemi başarısız" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "%s hata: Yığınları yeniden birleştirme işlemi başarısız" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "%s kimlik denetimi başarısız" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "Hata: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "Belirtilen yedek dizini mevcut, ama yazılabilir değil." #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "Belirtilen yedek dizini mevcut değil." #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "Uyarı: %s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "Çok büyük boyutlu bir dosya ile karşılaşıldı: %s (boyut: %s Mb)" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s: okunamayan dosya - yedeklenemedi" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "En son veritabanı dosyasını kapatırken bir hata oluştu. " #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "Karşılaşılan uyarılar:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "Boş disk alanınız çok düşük - sadece %s Mb kalmış." #: src/addons/migrator.php:398 msgid "New site:" msgstr "Yeni site:" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "Taşınmış site (UpdraftPlus'tan)" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "Çoklu-site yükleme işleminde bu yeni sitenin yeri ile ilgili detayları girin:" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "Devam etmek için bilgi gerekiyor:" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "Ağ etkinleştiren tema:" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "İşlenen eklenti:" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "Dosya yetkilerinizi kontrol edin: Dizin yaratılamadı: " #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "Lütfen giriş kimlik bilgilerinizi kontrol edin." #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "%s tarafından bildirilen hata şu şekildeydi:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "Lütfen talep edilen bilgiyi sağlayın ve devam edin." #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "Site bilgisi:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Uyarı:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "WordPress çoklu-sitesi üzerinde çalışıyorsunuz - ama yedeğiniz çoklu-siteden alınmış değil." #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Kapat" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "Beklenmeyen yanıt:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "Birden fazla adrese göndermek için, her bir adresi virgülle ayırın." #: src/admin.php:947 msgid "PHP information" msgstr "PHP bilgisi" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "Çalıştırılabilir zip bulundu:" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "PHP bilgisini göster (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "Siteyi taşımak mı yoksa klonlamak/kopyalamak mı istiyorsunuz?" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "Uzak depodan da sil" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "UpdraftPlus.com'dan son haberler:" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "Premium" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "Haberler" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "Yedek kümesi bulunamadı" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "%s - Bu birim yedeklenemedi; ilgili dizin mevcut değil (%s)" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "RSS linki" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "Blog linki" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "%s Ayarları Test Ediliyor..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "Veya, mesela FTP kullanarak, UpdraftPlus dizininize (normalde wp-content/updraft) bunları manuel olarak koyabilir, sonrasında yukarıdaki \"yeniden tara\" linkini kullanabilirsiniz." #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "Duyuru" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "Karşılaşılan hatalar:" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "Yeniden taranıyor (dahili yedek alanına manuel olarak upload etmiş olduğunuz yedekler aranıyor)..." #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "Bu öge aramaya başlandı" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "Depolama yeri " #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "\"%s\" tablosunda birincil anahtar mevcut değil, %s satırında manuel değişiklik gerekiyor." #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "satırlar: %d" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "Süre (saniye):" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "Hatalar:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "Çalıştırılan SQL güncelleme komutları:" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "Yapılan değişiklikler:" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "İncelenen satırlar:" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "Kontrol edilen tablolar:" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "Tablo listesi alınamadı" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "Uyarı: veritabanının site URL'si (%s) beklenenden (%s) farklı" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "Yapacak bir şey yok: Site URL'si zaten: %s" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "Hata: Beklenmeyen boş parametre (%s, %s)" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "Veritabanı: Site URL'sini ara ve değiştir" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "Başarısız: %s işleminden dönen sonuç anlaşılamadı." #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "Başarısız: %s işlemi başlatılamadı." #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "Veritabanında site adresini ara ve değiştir" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "Veritabanında site adresine verilen tüm referanslar şu anki site URL'si (%s) ile değiştirilecek" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "Blog upload'ları" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "En popüler eklentiler" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "Çoklu-site Yüklemesi" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "Gelecek seferden başlayarak" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "Başarısız: Port bir tamsayı olmalı" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "parola" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "kullanıcı adı" #: src/addons/sftp.php:638 msgid "host name" msgstr "host adı" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "Oturum açtıktan sonra gidilecek dizin - genelde ana dizininize görecelidir" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "Dizin adresi" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Parola" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "Port" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "Host" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "Dosya yetkilerinizi kontrol edin: Başarılı bir şekilde yaratılamadı: " #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "%s bulunamadı" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "daha fazla" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "%s dizinlerinin yedeği alınamadı: Yedeği alınacak bir şey bulunamadı" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "Bu seçeneğin ne olduğundan emin değilseniz, bu seçeneği kapatmalısınız." #: src/addons/morefiles.php:294 msgid "More Files" msgstr "Daha Fazla Dosya" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "WordPress çekirdeği (eğer varsa WordPress ana dizininize yapılan eklemelerle birlikte)" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "Yukarıdaki dosyalar bir WordPress yüklemesindeki herşeyi içeriyor." #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "wp-config.php dosyasının üzerine yaz" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "WordPress Çekirdeği" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "Başarısız: Bu dizine bir dosya yerleştirmeyi başaramadık - lütfen kimlik bilgilerinizi kontrol edin" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Başarısız" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "WebDAV URL" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "Lokalde yazma işlemi başarısız: İndirme işlemi başarısız" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "Uzak dosyayı açarken hata: İndirme işlemi başarısız" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "%s ayarları bulunamadı" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "Başarısız: Başarılı bir şekilde oturum açtık, ama verilen dizinde dosya yaratmayı başaramadık." #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "Başarılı: Başarılı bir şekilde oturumu açtık ve verilen dizinde dosya yaratabildiğimizi gördük (oturum türü: " #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "Başarısız: Bu bilgilerle oturum açılamadı." #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "Başarısız: Sunucu detay bilgileri verilmedi." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "Hali hazırda bulunuyor olmalı" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "%s hesap adınız: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "%s hesabınızla kimlik doğruladınız" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "Alt-klasör kullanma ihtiyacı var mı?" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "hata: dosya şuraya upload edilemedi: %s (detaylar için log dosyasına bakın)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "Hata: %s (daha fazla bilgi için günlük dosyasına bakın)" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "%s ile iletişim şifrelenmedi." #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "%s ile iletişim şifrelendi." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "Kovaya eriştik, ve içinde dosyalar yaratabildik." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "Kovaya başarıyla erişim sağladık, fakat dosya yaratma denemesi başarısız oldu." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "Başarısız" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "Bölge" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "Başarısız: Biriktirme yeri ayrıntısı verilmemiş." #: src/methods/s3.php:1370 msgid "API secret" msgstr "API kodu" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "%s lokasyon" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "%s gizli anahtar" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "%s giriş anahtarı" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "SSL sertifikasıyla ilgili hata görüyorsanız yardım için buraya bakın." #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "%s tekrar birleştirme hatası (%s): (daha fazlası için log dosyasına bakın)" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "%s yükleme: çok parçalı yükleme için uploadID alımı başarısız - daha fazla detay için log dosyasına bakınız" #: src/methods/email.php:106 msgid "Note:" msgstr "Not:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "WordPress Yedeği" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "Konteynere giriş yaptık ama içerisinde dosya yaratamadık" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "Bulut Dosyaları hatası: Konteynere giriş yaptık ama içerisinde dosya yaratamadık" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "Başarısız: Konteyner detayları verilmedi." #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Kullanıcı adı" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "API anahtarı" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "Başarısız: %s verilmedi." #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "Bulut Dosyaları kullanıcı adı" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "İngiliz" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "Amerikan (varsayılan)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "Amerikan veya İngiliz Bulutu" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "Ayrıca, bu önemli SSS'i okumalısınız." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "%s Ayarlarını Test Edin" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr " Yerel dosyayı açarken hata: İndirme başarısız" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "%s Hatası: yüklenemedi" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "%s Hata: Yerel dosya açılamadı" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "Bulut dosyaları yetkilendirmesi başarısız" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Google ile yetkilendir" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "Client Secret" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "Eğer Google \"invalid_client\" mesajını gösterirse, buraya doğru bir client ID girmemişsiniz demektir." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "Client ID" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "Takip eden gri metni authorised redirect URI (\"More Options\" başlığı altında) kısmına girmelisiniz" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "Uygulama çeşidi olarak 'Web Application' seçin." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "Hesap yetkilendirilmemiş." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "%s ye yükleme başarısız" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "Hesap dolu: %s hesabınızda sadece %d byte kaldı, ancak yüklenecek dosya %d byte" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "Google'dan henüz erişim sinyali alınmadı - Google Drive bağlantınızı yetkilendirin ve ya tekrar yenileyin." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "%s hesabınıza giriş yaptınız." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "Başarılı" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "%s kota kullanımınız: %s %% dolu, %s boş" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "yüklemek için bu linki takip edin" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "%s desteği eklenti olarak uygun" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "%s UpdraftPlus eklentisi yüklü değil - %s den yükleyin" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "%s ile tekrar giriş yapmalısınız, varolan giriş bilgileriniz çalışmıyor." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "Tamam" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "Tablo öneki değişti: %s tablo alan(lar)ı uygun şekilde değiştiriliyor:" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "çalıştırılan veri tabanı sorgusu şuydu:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "olarak geri yükle:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "Eski tablo öneki:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "Yedek:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "Veritabanı dosyası açılamadı" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "Veritabanı dosyası bulunamadı" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "Çözümlenmiş veritabanını dosya sistemine yazma başarısız." #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "Geçici dizin oluşturma başarısız" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "Geri yükleme sonrasında çalışılan klasörü silme başarısız." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "Çöp kutusu boşaltılıyor..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "Veritabanı geri yükleniyor (büyük bir sitede bu uzun zaman alabilir - eğer zaman aşımına uğrarsa (eğer hosting şirketiniz hosting kaynaklarına limit koyduysa) phpMyAdmin gibi başka bir metod kullanın)" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "Veritabanı başarıyla çözüldü." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "Veritabanı çözülüyor (biraz zaman alabilir)..." #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "Yedek çıkartılıyor..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "Bu nesneyi kopyalama başarısız." #: src/restorer.php:842 msgid "Backup file not available." msgstr "Yedek dosyası geçerli değil" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "Hata mesajı" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "Yedek kayıtları bu dosyanın tam boyutu ile ilgili bilgi içermiyor." #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "Beklenen arşiv boyutu:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "Eğer destek talebinde bulunacaksanız, lütfen şu bilgiyi ekleyin:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "İPTAL: Hangi nesnelerin geri yükleneceği ile ilgili bilgi bulunamadı." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "UpdraftPlus Geri Yükleme: İlerleme" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "Bu butona bastıktan sonra, hangi bileşenleri geri yükleyeceğinizi seçmek için seçenekler sunulacak" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "Bu yedek setini sil" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Değişiklikleri Kaydet" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "Mümkün olan her yerde SSL'i devre dışı bırak" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "Bütün bulut yedekleme metodlarının yetkilendirme için SSL kullandığını unutmayın." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "SSL sertifikalarını doğrulama" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "Sunucunun SSL sertifkalarını kullan" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "Eğer başarısız olursa, sunucunuzdaki izinleri kontrol edin veya web sunucu işleminiz tarafından yazılabilir olan başka bir klasör olarak değiştirin." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "ya da bu seçeneği sıfırla" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "Yedekleme dizini yazılabilir olarak belirlenmiş, bu güzel :)" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "Yedek dizini" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "Yerel yedeği sil" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "Uzman ayarkarını göster" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "Uzman ayarları" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Hata ayıklayıcı modu" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "Gelişmiş / Hata Ayıklama Ayarları" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "Yedekleme istemi başlatılıyor..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "İptal" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Hiçbiri" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "Uzak depolama birimini seç" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "Veritabanı dosyasını manuel çözümle" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "Veritabanı şifreleme anahtarı" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "E-mail" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "Yukarıdaki klasörler herşeydir, WordPress.org'dan taze olarak indirebileceğiniz WordPress çekirdeği hariç." #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "Şunları hariç tut:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "wp-content klasörünün içinde bulunan diğer tüm klasörler" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "Dosya yedeğinde dahil et" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "örneğin gün içinde sunucunuz yoğunsa ve gece çalıştırmak isterseniz" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "Yedeklemenin ne zaman çalışacağını düzeltmek için," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Aylık" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "İki haftada bir" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Haftalık" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Günlük" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "Log kaydını indir" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "Klasör var fakat webserverınız klasörü yazmak için gerekli izne sahip değil." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "Dosya sistemine klasör oluşturma talebi başarısız oldu." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Sil" #: src/admin.php:3877 msgid "show log" msgstr "log kaydını göster" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "UpdraftPlus ayarlarınızın tamamını sileceksiniz - bunu yapmak için emin misiniz,son kararınız mı?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "adet" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "Not. Bu sayımda son defa seçenekleri kaydettiğinizde hariç tuttuğunuz ya da tutmadıklarınız baz alınmıştır." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Diskteki toplam (sıkıştırılmamış) veri:" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Hayır" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Evet" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "versiyon %s:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "Güncel bellek kullanımı" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "En yüksek bellek kullanımı" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "Web server:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "WordPress Multisite desteğine ihtiyacınız mı var?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Multisite" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "Geri yükleme yapmadan önce faydalı bilgiler içeren bu yardımcı makaleyi okuyun." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s geri yükleme seçenekleri:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "Manuel olarak geri yükleme yapmalısınız." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "Bu nesne otomatik olarak geri yüklenemez: \"%s\"" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "Web sunucunuzda PHP'nin sözde safe_mode (güvenli modu) aktif." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Geri yüklemek için bileşenleri seç" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "Geri yükleme; sitenizin temalarını,eklentileri,yüklemelerini,veritabanını ve/veya diğer içer dizinlerini değiştirecek (yedekleme dosyanızdaki içeriğine ve sizin seçiminize göre)" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Yedeği geri yükle" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "Yedek setini sil" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "İndirme hatası: sunucu bize anlamadığımız bir yanıt verdi." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Hata:" #: src/admin.php:927 msgid "calculating..." msgstr "hesaplanıyor..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - Yedekleme dosyalarını yükle" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "yenile" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "UpdraftPlus tarafından kullanılan web sunucu disk alanı" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "Bu Updraft klasörünüzdeki içeriklerin sayısıdır." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Drive" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "Eğer bunu kullanıyorsanız Turbo/Road modu kapat." #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Opera Web tarayıcısı" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "Başka görevler:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "En son değiştirilen günlük dosyası indir" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Son log mesajı" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Geri yükle" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "Şimdi Yedekle" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "Şu anki saat" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Veritabanı" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Dosyalar" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "Bir sonraki planlanmış yedeklemeler" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "Dosyalar yedeklenirken aynı anda" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "Şu anda planlanmış bir şey yok" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "JavaScript uyarısı" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Eski Dizinleri Sil" #: src/admin.php:3050 msgid "Current limit is:" msgstr "Geçerli limit:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "Yedeğiniz geri yüklendi." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Versiyon" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "Öncü geliştiricinin web sayfası" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Ayarlarınız temizlendi." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "Yedekleme dizini başarılı bir şekilde yaratıldı." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "Yedekleme dizini yaratılamadı" #: src/admin.php:3888 msgid "Remove old directories" msgstr "Eski dizinleri kaldır" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "UpdraftPlus Yapılandırmasına Geri Dön" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Aksiyonlar" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "Yanlış dosya ismi formatı - UpdraftPlus tarafından yaratılmış bir şifreli veritabanına benzemiyor" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Yanlış dosya ismi formatı - UpdraftPlus ile yaratılmış bir dosyaya benzemiyor" #: src/admin.php:2631 msgid "No local copy present." msgstr "Lokal kopya mevcut değil." #: src/admin.php:2628 msgid "Download in progress" msgstr "İndirme işlemi sürüyor" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "Dosya hazır." #: src/admin.php:2598 msgid "Download failed" msgstr "İndirme işlemi başarısız" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Hata" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "İş bulunamadı - belki zaten tamamlanmış olabilir mi?" #: src/admin.php:2335 msgid "Job deleted" msgstr "İş silindi" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Henüz loglanmış bir şey yok" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Yedekleme ile ilgili sorun yaşıyorsanız lütfen bu SSS'a bir göz atın." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "Web siteniz %s web sunucusu üzerinde barındırılıyor." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Uyarı" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Ayarlar" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Sonsuz döngü: Daha fazla bilgi için lütfen logunuzu inceleyin" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Dosya bulunamadı" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "Kod çözme anahtarı kullanıldı:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "Yedekleme dosyası yazmak için açılamadı." #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "Dizin okunamadı" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "Yedekleme dizini (%s) yazılabilir değil, veya mevcut değil." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "WordPress yedeklemesi tamamlandı." #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "Yedekleme girişimi başarısız oldu." #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Diğer" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Upload'lar" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Temalar" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Eklentiler" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "Log dosyası bulunamadı." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "Log dosyası okunamadı." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "UpdraftPlus bildirisi:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "UpdraftPlus Yedekleri"languages/updraftplus-et.po000064400001125461147400355670012056 0ustar00# Translation of UpdraftPlus in Estonian # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2024-01-01 14:54:13+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: et_EE\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "Loo varukoopia" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "Veel Updraft Team loodud pluginaid" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "Kustuta valitud varukoopiad" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "Kuva kõik varukoopiad" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "Näita rohkem varukoopiaid" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "Taasata failid asukohast" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "Tee uus varukoopia" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "Abi saamiseks vajutage sellele lingile" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "valikuga" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "Sul juba on salvestusruum?" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "Vajad salvestusruumi?" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "üleslaadimine ebaõnnestus" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "Sisselogimine ebaõnnestus" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "Viga - faili üleslaadimine nurjus" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "autentimine ebaõnnestus" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "Kehtiva Preemium litsensiga tuleb 1GB salvestusruumi kaasa." #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "haldab kõiki sinu WordPress lehti korraga ühes kohas" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "Mitu veebilehte?" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "käsitleb soovikorral uuendusi automaatselt " #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "Säästa aega" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "Ole turvaline" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "Poolik" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "Hoolduses" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "Puuduolevad lehed:" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "Alustatud" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "Lõpetatud" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "Euroopa (Stockholm)" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "Sisesta andmebaas" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "Sisesta andmebaas." #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "Sisesta parool" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "Sisesta parool." #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "Sisesta kasutajanimi" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "Sisesta kasutajanimi." #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "allalaadimine: ebaõnnestus: faili ei leitud" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "mine siia" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "Automaatsed uuendused" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "Võimalda WordPressil uuendada UpdraftPlus automaatselt, kui uuendus on saadaval" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "Frankfurt" #: src/addons/googlecloud.php:61 msgid "London" msgstr "London" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "Belgia" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "Sydney" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "Singapur" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "Tokyo" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "Taiwan" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "Oregon" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "Põhja Virginia" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "Lõuna Carolina" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "Iowa" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "Kinnita muudatused" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "tagasi" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "OneDrive Saksamaa" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "Paindlik" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "Kiire" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "Turvaline" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "Usaldusväärne" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "Lihtne" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "WooCommerce pluginad" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "Lõpeta" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "Salvesta" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "Rohkem sätteid" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "Leia rohkem siit" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "Alustamiseks vajuta siia!" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "UpdraftPlus sätted" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "Jäta see samm vahele" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "Tagasi" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "Rohkem infot siin." #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "(praegune versioon)" #: src/admin.php:4235 msgid "press here" msgstr "vajuta siia" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "Iga tund" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "Logi sisse või registreeru selle meiliaadressiga" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "UpdraftPlus Uudised" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "Euroopa (Pariis)" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "Kustuta need sätted" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "Järgmine" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "siin" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "UpdraftVault" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "arhiiv" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "HTTP kood:" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "tabelid" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "WordPressi andmebaas" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "Tasuta" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "UpdraftPlus" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "Loe rohkem" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "Kinnita" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "Euroopa (Frankfurt)" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "Euroopa (London)" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "Euroopa (Iirimaa)" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "UpdraftCentral" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "Sinu IP aadress:" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "KKKd" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "soovituslik" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Sinu seaded on salvestatud." #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "peatus" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "Salvestan..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Tühista" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "Loe rohkem" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "seaded" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "Lae alla" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "Lääne-Euroopa" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "Euroopa Liit" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "Ameerika Ühendriigid" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Ei ole installeeritud" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "Google Cloud" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "Vali kõik" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "Tagasi..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "Luba allalaadimine" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "Kustutan..." #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "Koostan..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "Saada" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "FTP parool" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "FTP server" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "OneDrive" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "Vale parool" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "1 nädal" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "1 tund" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "juba tehtud" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "Ainult need tabelid" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "Miks ma seda näen?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "taastamine" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Mine" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "andmebaasi nimi" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "kasutaja" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "Väline andmebaas" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "Kaust" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "Viga - faili allalaadmine ebaõnnestus" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Lae varukoopia failid üles" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "Loe rohkem" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "Eemalda" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "London (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "Hong Kong (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "Põhja-Virginia (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "Chicago (ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "Sydney (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "Dallas (DFW) (vaikimisi)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "Hoiatused" #: src/addons/reporting.php:223 msgid "Errors" msgstr "Vead" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "Vead / hoiatused" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "Failid ja andmebaas" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "UpdraftPlus hoiatus:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "Osta" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "fail" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "kaust" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "Jätka uuendusega" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "teemad" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "pluginad" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "Veel pluginaid" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Tugi" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "Fail on üleslaetud" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "Hoiatused:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "fail on suurusega:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "Viga - sellist faili ei eksisteeri" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "Jätkamiseks vajalik info" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Hoiatus:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Sulge" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "PHP informatsioon" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "Uudised" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "Vead:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "parool" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "kasutajanimi" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Parool" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Ebaõnnestus" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "WebDAV URL" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "Märkus:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "WordPress varukoopia" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Kasutajanimi" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "Olgu" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "Varukoopia fail ei ole saadaval" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "Veateade" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Salvesta muudatused" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Tühista" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "meil" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Igakuine" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Iganädalaselt" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Igapäevaselt" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Kustuta" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "arv" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Ei" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Jah" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Viga:" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "värskenda" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Drive" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Failid" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "JavaScript hoiatus" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Versioon" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Viga" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Hoiatus" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Sätted" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Faili ei leitud" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "WordPress backup on valmis" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Muu" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Teemad" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Pluginad" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "UpdraftPlus varukoopiad"languages/updraftplus-sl_SI.mo000064400000246216147400355670012455 0ustar00 1181u622 2 2S2E3N3#m33 3333#3 4)&4'P4 x4K4 44 4552 5S5+k5 55$5565W-6 66,66 6r6/U77*7A7W8Ii8 8 88888u9+:E.:3t::C: ; ; ; ;];;<l4<h< =%=8= O=]=l=g=m=`>)>>:?8Z?7?8?C@bH@K@-@R%AoxAAB!B$7B\BqB-BBBqB6ZCC CcC #D .D E6E&F+:FfFFFF FGF GG2GKCG_GG sHH H HHHHH H-H-Im0JOJEJ 4K BKcK9~KK K KKKLL2L!GLTiL!LL3L)M)1M[MnMM N N N #N0NLN:jNN(N*NO3OY:O!OOO3O#P?P,XPPPPPPPP)Q/Q@Q[Q?vQ Q%Q QR)RHRORfRxRRRR#RER8S@S*XSLSSTGT(U11UPcUJUUV$V(6V_VyVTVVV]VQWdWDxWNWO X#\X5XXY#Y Y1Y Y,Y-*ZXZ _Z)iZHZ*Z [([/[B[V[:l[[[[,[[ \ \&\8\O\X\9_\&\3\\]]:])W]]%]]]]< ^~J^Z^[$_/_F___&`)@`&j`!`?`^`RacXaBaa*b 9b@Ebb)bb3bb c>'c fcscc%cWcad;zdd76egneJe!f 9fEfaf ff%fffffg&g :g7Ggzgg hh+hfhACiikj`}j_j>k5kKl|\lRlL,mGymnm0n%nn o9oYoWyo=o&p$6p+[pp p pppKq_qpqqq/q&q, rG:r r%r r'r r r s#s +s 6s Cs!Os$qs ssssajt tttuu5uNu buluquuu uuu?u!v:vQvjvvvv v/vvPwww*xFxYx`xcxuxgMyy yygzvz*}zzzzz zz% {82{;k{;{'{ |||'|/|K|||!|},}5}!H}@j}} }P}~%~,~ C~ P~@Z~~~'~~b6w7e#Ё߁1 J Wa:{ ҂݂11"T]r B1 8Ebksr|  -A:|&̅߅ ӆVYIx@s$(وcՊ295l:6݋Q(f,IBN<Fj;R*}-Lˏ=WVPuPuƑ͑3ߑY8m9&P,X=P9ZȔo#P9SҖ~&R E#@i4^13ř$}E@1" ۛ  'LHL98Er!ӝ&:!Np!!ȞPdRyA̟LC[3Ӡ  /Z<!H١!"D MZb7k KK Xa w@C£4S; + ǤҤ٤^P,fIХ(0YO]TM4PDZʧG%mk="5[X= +1"]#R7j/B9ݫ% ʬج-4FSV4G&Dn%Vٮ409eP_GP2ְ 5DP6/̱v)s &ò -"3#V z@#ѳ#:Ts Ǵ ̴ִ#+"2Un wE?ʵ' 2:JR lx ȶѶ !6=Ldir&'ҷIILйT 9C.`Ӻ'(-:2h*Rƻ ' -9MQU*">5Qj 9 ESb/)FJfcNduP G:F7 {,nCn!4)^r&Yh!"D5>HCfnP8j_x|)42g.z9,"f z ;"[~D")G^=z2.;?V*8'&"IiQ"'WBi/" 4> EOn2qaQv E X y&[%$..){=  "%6="t+<Z'*++A-G,u;(6= Uc;"$I)i78;D _!#)Qqx4`R%xC/9kAI ()R%nrd}Q\Rc$=%@8P5: +!;M/1<0m .   %.J7-7+ -7-e/,&G?yT_V*.1.*`1$9ZwjL71K}V<4EN(I")L'Q\yH7}W.oSt!+!Mf(  &@3t 1h@W{/cRb6T:yF JPXpe<%#b C%B<AB~&! /BCI%!&!0H(yX #,<> { !  8 >H\lm("<PW&j*F0Kg|22-iB'J3r i. F ] ( ) 4/ d {     ' ` -Q = /   + ) 1 O   , #- Q %a  B   U Njs  =*5)!_SJ *BEN#Uy $5!FBh,4,6 cn6SC?Y* og o,{ P%(NWn ]uRGda5D$cEag11A7s?S%?%ea$!M8B k{ 9 F!!h!!F!B!d-"S""[#_#d#>s#g#H$Ic$)$W$6/%%f%%/>&1n&S&r&Ig''Ed(F((^y) ))*A*:R**?N+1+E+,0,,>-=-&. 7.D.L. O.].m.".R.P.O/ f/%p//@/@/30 ;00\00&00001-1K1j122Y12<2M2:3+Q3!}33333 34%4.4@4LY4$444 4495 I5 S5 ^5Rl5U5 66 46A?6A6*6Z6I7;\7 777l758.E8t88'8F894&9[9G^9P9H9;@:=|:R:9 ;G;a];5;,;e"<=<<(<) =&6=,]=Q=3=_>4p>L>> ~? ??6??%@5<@Nr@A@cATgA/A\ALIB<B_Bh3CVCC D>2DqDDDQD,E;JEE6F=F ZF7gFFF(FF(F#GAGSGL[G'G&GQGIH%hHHH HH H HHH=HDo not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...).(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem).This is NOT a folder name.A search/replace cannot be undone - are you sure you want to do this?A very large file was encountered: %s (size: %s Mb)A zip error occurredABORT: Could not find the information on which entities to restore.API Key: %sAPI keyAPI secretAccount full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized.Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-basedActionsAdd an external database to backup...Add another address...Admin API KeyAdmin UsernameAdvanced / Debugging SettingsAfter pressing this button, you will be given the option to choose which components you wish to restoreAll references to the site location in the database will be replaced with your current site URL, which is: %sAlso delete from remote storageAlso, you should read this important FAQ.An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %sAn admin password has been set.An error occurred on the first %s command - aborting runAn error occurred when trying to retrieve your add-ons.An error occurred whilst closing the final database fileAn unknown error occurred when trying to connect to UpdraftPlus.ComAn update containing your addons is available for UpdraftPlus - please follow this link to get it.An update is available for UpdraftPlus - please follow this link to get it.Any other directories found inside wp-contentAny support requests to do with %s should be raised with your web hosting company.Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address.Archive is expected to be size:Ask a pre-sales questionAssigned to this siteAt the same time as the files backupAuthenticate with %sAuthenticate with GoogleAuthorisation failed (check your credentials)Automatic BackupAutomatic backup before updateAutomatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable for this site (via your all-addons purchase)Available to claim on this siteBacked up: %sBackup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingBackup NowBackup ReportBackup began:Backup begunBackup contains:Backup created by unknown source (%s) - cannot be restored.Backup created by:Backup created by: %s.Backup data (click to download)Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified does not exist.Backup directory specified exists, but is not writable.Backup directory specified is writable, which is good.Backup directory successfully created.Backup does not exist in the backup historyBackup external databaseBackup file not available.Backup finishedBackup is of: %s.Backup label:Backup non-WordPress tables contained in the same database as WordPressBackup of:Backup set not foundBackup succeededBad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive.Be safe with an automatic backupBegun looking for this entityBlog linkBlog uploadsBuy ItCallCancelChange Lock SettingsChanges made:Check this box to have a basic report sent toCheck this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits).Check this to receive more information and emails on the backup process - useful if something is going wrong.Check your file permissions: Could not successfully create and enter directory:Check your file permissions: Could not successfully create and enter:Chicago (ORD)Choose the components to restoreChoose your remote storageClaim not granted - your account login details were wrongCleaning up rubbish...Client IDClient SecretCloseCloud Files API KeyCloud Files ContainerCloud Files Storage RegionCloud Files UsernameCloud Files authentication failedCloud Files error - we accessed the container, but failed to create a file within itCloud Files operation failed (%s)Cloud Files usernameConflict: that user or email address already existsConnectConnect with your UpdraftPlus.Com accountConnection failed.Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.Connection succeeded.ConstantsContainerContains:Content URL:Copying this entity failed.Could not access %s containerCould not find that job - perhaps it has already finished?Could not get list of tablesCould not move old files out of the way.Could not open the backup file for writingCould not read the directoryCreateCreate a new API user with access to only this container (rather than your whole account)Create new API user and containerCreated database backupCreated file backup zipsCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backupCreating database backup with UpdraftPlus...Creating file backup zipsCurrent limit is:Current memory usageDailyDallas (DFW) (default)DatabaseDatabase (created by %s)Database (files backup has not completed)Database OptionsDatabase decryption phraseDatabase encryption phraseDatabase only (files were not part of this particular schedule)Database successfully decrypted.Database: search and replace site URLDebug modeDebugging informationDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete from your web serverDelete local backupDelete this backup setDirectory pathDisable SSL entirely where possibleDisabled this plugin: %s: re-activate it manually when you are ready.DismissDismiss (for %s months)Dismiss from main dashboard (for %s weeks)Do not abort after pressing Proceed below - wait for the backup to complete.Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated.PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted.Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do you need WordPress Multisite support?Do you want to migrate or clone/duplicate a site?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDrop backup files hereDrop encrypted database files (db.gz.crypt files) here to upload them for decryptionDropboxEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypted databaseEncrypting databaseEnter a comma-separated list; otherwise, leave blank for all tables.Enter addresses here to have a report sent to them when a backup job finishes.Enter details for where this new site is to live within your multisite install:Enter in format HH:MM (e.g. 14:22).Enter the path of the %s folder you wish to use here.Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name.ErrorError - failed to download the fileError data:Error downloading remote file: Failed to downloadError messageError opening local file: Failed to downloadError opening remote file: Failed to downloadError:Error: %sError: the server sent an empty response.Error: the server sent us a response (JSON) which we did not understand.Error: unexpected empty parameter (%s, %s)Error: unexpected file read failErrorsErrors / warnings:Errors encountered:Errors have occurred:Errors occurred when trying to connect to UpdraftPlus.Com:Errors occurred:Errors:Every %s hoursExamples of S3-compatible storage providers:Exclude these:Expert settingsExtensionsExternal databaseExternal database (%s)FacebookFailedFailed to access %s when deleting (see log file for more)Failed to create a temporary directoryFailed to delete working directory after restoring.Failed to downloadFailed to download %sFailed to find database fileFailed to open database fileFailed to open database file for reading:Failed to open database file.Failed to open the zip file (%s) - %sFailed to unpack the archiveFailed to upload %sFailed to upload to %sFailed to write out the decrypted database to the filesystemFailed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location.Failed: We were able to log in, but failed to successfully create a file in that location.Failed: We were not able to place a file in that directory - please check your credentials.Failed: the %s operation was not able to start.Failed: we did not understand the result returned by the %s operation.FailureFailure: No %s was given.Failure: No bucket details were given.Failure: No container details were given.Failure: No server details were given.Failure: Port must be an integer.Failure: we did not successfully log in with those credentials.Failure: we successfully logged in, but were not able to create a file in the given directory.FetchFile (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.File is not locally present - needs retrieving from remote storageFile not foundFile not found (you need to upload it): %sFile ready.File was found, but is zero-sized (you need to re-upload it): %sFilesFiles (database backup has not completed)Files and databaseFiles and database WordPress backup (created by %s)Files backup (created by %s)Files found:Files only (database was not part of this particular schedule)Final checksFirst, enter the decryption keyFolderFollow this link for more informationFollow this link to attempt decryption and download the database file to your computer.Follow this link to download the log file for this restoration (needed for any support requests).Follow this link to sign up for the UpdraftPlus newsletter.Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.For even more features and personal support, check out For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium.For unlocking support, please contact whoever manages UpdraftPlus for you.Forgotten your details?FortnightlyFree disk space in account:Free two-factor security pluginFull backupFull feature listGet it from the UpdraftPlus.Com StoreGoGo hereGo here for more information.Go here to activate it.Go here to begin installing it.Go here to connect.Google DriveGoogle Drive list files: failed to access parent folderHave not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.Hong Kong (HKG)HostHowever, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.However, subsequent access attempts failed:If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.If you are not sure then you should stop; otherwise you may destroy this WordPress installation.If you are not sure what this option is for, then you will not want it, and should turn it off.If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes.If you are using this, then turn Turbo/Road mode off.If you bought new add-ons, then follow this link to refresh your connectionIf you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.If you exclude both the database and the files, then you have excluded everything!If you leave it blank, then the backup will be placed in the root of your %sIf you see errors about SSL certificates, then please go here for help.If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite.If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.In %s, path names are case sensitive.Include in files backupIncrementalInfinite recursion: consult your log for more informationInformation needed to continue:Interested in knowing about your UpdraftPlus.Com password security? Read about it here.It appears that your web server's IP Address (%s) is blocked.It can also backup external databases.It has been tested up to version %s.It is an ID number internal to Google DriveJavaScript warningJob ID: %sJob deletedKeyKeystone and swauth are technical terms which cannot be translatedThis needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.Known backups (raw)Last log messageLatest UpdraftPlus.com news:Latest status:Lead developer's homepageLeave this blank, and a default will be chosen.Local write failed: Failed to downloadLock access to the UpdraftPlus settings pageLog all messages to syslog (only server admins are likely to want this)London (LON)Looking for %s archive: file name: %sManage AddonsManually decrypt a database backup fileMemory limitMessages:Migrated site (from UpdraftPlus)MonthlyMore FilesMore pluginsMore tasks:Moving old data out of the way...Moving unpacked backup into place...MultisiteMultisite InstallMust-use pluginsN.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.N.B. This count is based upon what was, or was not, excluded the last time you saved the options.Name: %s.Need to get support?Need to use sub-folders?Needs to already existNetwork activating theme:New User's Email AddressNew User's UsernameNew site:NewsNewsletter sign-upNext scheduled backupsNoNo %s foundNo %s settings were foundNo backup has been completedNo backup of %s directories: there was nothing found to back upNo database tables foundNo local copy present.No log files were found.No settings were foundNo such backup set existsNoneNorthern Virginia (IAD)Not installedNot yet got an account (it's free)? Go get one!Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates.Note that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing to do: the site URL is already: %sNothing yet loggedNoticeOKOld table prefix:One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the "retain" settings; if/when you wish to delete them then you must do so manually.Only the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOptions (raw)Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.Other %s FAQs.OthersOtherwise, the default link will be shown.Over-write wp-config.phpPHP informationPasswordPassword incorrectPassword: %sPeak memory usagePlease check your access credentials.Please consult this FAQ if you have problems backing up.Please make sure that you have made a note of the password!Please supply the requested information, and then continue.Please wait whilst we make the claim...PluginsPortPre-sales FAQsPremiumPremium WooCommerce pluginsPress here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded.Proceed with updateProcessed plugin:Processing files - please wait...Pruning old backup setsRSS linkRaw backup historyRead more about how this works...Read this page for a guide to possible causes and how to fix it.RegionRegion: %sRemember this choice for next time (you will still have the chance to change it)Remote Storage OptionsRemoveRemove old directoriesReplace withReportingRequested table engine (%s) is not present - changing to MyISAM.Requesting start of backup...Require password again afterRescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...RestoreRestore backupRestoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Retrieving (if necessary) and preparing backup files...Return to UpdraftPlus ConfigurationRows examined:Rows per batchS3 (Compatible)SCP/SFTP host settingSCP/SFTP password/keySCP/SFTP user settingSQL update commands run:Save ChangesSaving...Search / replace databaseSearch and replace site location in the database (migrate)Search and replacing table:Search forSee this FAQ also.Select 'Web Application' as the application type.Send a report only when there are warnings/errorsSettingsShow expert settingsShow raw backup and file listSite home:Site information:Some files are still downloading or being processed - please wait.Split archives every:Split line to avoid exceeding maximum packet sizeStart backupStarting automatic backup...Store atSuccessSuccess:Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:SupportSupport URLSupported backup plugins: %sSydney (SYD)Table prefixTable prefix has changed: changing %s table field(s) accordingly:Tables examined:Tell me more about incremental backupsTenantTest %s SettingsTest connection...Testing %s Settings...Testing...The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.The %s object was not foundThe 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).The UpdraftPlus module for this file access method (%s) does not support listing filesThe WordPress content folder (wp-content) was not found in this zip file.The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The above files comprise everything in a WordPress installation.The admin password has been changed.The admin password has now been removed.The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)The attempt to send the backup via email failed (probably the backup was too large for this method)The attempt to undo the double-compression failed.The attempt to undo the double-compression succeeded.The backup attempt has finished, apparently unsuccessfullyThe backup has not finished; a resumption is scheduledThe backup records do not contain information about the proper size of this file.The communication with %s was encrypted.The communication with %s was not encrypted.The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.The database is too small to be a valid WordPress database (size: %s Kb).The decryption key used:The directory does not existThe error reported by %s was:The file was uploaded.The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The key provided was not in a valid format, or was corrupt.The location of this directory is set in the expert settings, in the Settings tab.The log file could not be read.The log file has been attached to this email.The new user's RackSpace console password is (this will not be shown again):The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe time zone used is that from your WordPress settings, in Settings -> General.The user is being told the number of times an error has happened, e.g. An error (27) occurredAn error (%s) occurred:The web server returned an error code (try again, or check your web server logs)ThemesThese tables onlyThis backup was created by %s, and can be imported.This button is disabled because your backup directory is not writable (see the settings).This can easily destroy your site; so, use it with care!This database backup is missing core WordPress tables: %sThis decryption key will be attempted:This does not look like a valid WordPress core backup - the file %s was missing.This feature requires %s version %s or laterThis file could not be uploadedThis file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).This is a WordPress multi-site (a.k.a. network) installation.This is a count of the contents of your Updraft directoryThis is significantly newer than the server which you are now restoring onto (version %s).This most likely means that you share a webserver with a hacked website that has been used in previous attacks.This multi-archive backup set appears to have the following archives missing: %sThis option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up.This remote storage method (%s) requires PHP %s or later.This version of UpdraftPlus does not know how to handle this type of foreign backupThis will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these.This will delete all your UpdraftPlus settings - are you sure you want to do this?Time nowTime taken (seconds):Time taken:To access the UpdraftPlus settings, please enter your unlock passwordTo be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To fix the time at which a backup should take place,To maintain your access to support, please renew.To make a backup, just press the Backup Now button.To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To regain your access, please renew.To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To send to more than one address, separate each address with a comma.Too many database errors have occurred - abortingTotal (uncompressed) on-disk data:Trying...TwitterUKUS (default)US or UK CloudUS or UK Rackspace AccountUS or UK-based Rackspace AccountUnable to open zip file (%s) - could not pre-scan it to check its integrity.Unable to read zip file (%s) - could not pre-scan it to check its integrity.Unexpected response:UnknownUnknown server response status:Unknown server response:Unknown/unexpected error - please raise a support requestUnless you have a problem, you can completely ignore everything here.UnlockUnpacking backup...UpdraftPlus - Upload backup filesUpdraftPlus AddonsUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus PremiumUpdraftPlus Restoration: ProgressUpdraftPlus SupportUpdraftPlus is not yet activated.UpdraftPlus is not yet installed.UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)UpdraftPlus notice:UpdraftPlus warning:UpdraftPlus was unable to find the table prefix when scanning the database backup.UpdraftPlus.Com responded, but we did not understand the responseUpdraftPlus.Com returned a response which we could not understand (data: %s)UpdraftPlus.Com returned a response, but we could not understand itUpdraftPlus.com has responded with 'Access Denied'.Upload backup filesUpload errorUpload error:Upload failedUpload files into UpdraftPlus.Uploaded to:Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select FilesorUploading files to remote storageUploadsUse SCP instead of SFTPUse the "Reporting" section to configure the email addresses to be used.Use the server's SSL certificatesUsernameUsername: %sVersionView LogWaiting until scheduled time to retry because of errorsWarningWarning:Warning: %sWarning: the database's home URL (%s) is different to what we expected (%s)Warning: the database's site URL (%s) is different to what we expected (%s)WarningsWarnings encountered:Warnings:We accessed the bucket, and were able to create files within it.We accessed the container, and were able to create files within it.We failed to successfully connect to UpdraftPlus.ComWe successfully accessed the bucket, but the attempt to create a file in it failed.Web server:Web-server disk space in use by UpdraftPlusWebDAV URLWeeklyWelcome to UpdraftPlus!Where to change directory to after logging in - often this is relative to your home directory.Why am I seeing this?Without it, encryption will be a lot slower.WordPress BackupWordPress CoreWordPress backup is completeWordPress core (including any additions to your WordPress root directory)WordPress core (only)WordPress root directory server path: %sYesYou are presently not connected to an UpdraftPlus.Com account.You are running on WordPress multisite - but your backup is not of a multisite site.You are using the %s webserver, but do not seem to have the %s module loaded.You can manually decrypt an encrypted database here.You do not have the UpdraftPlus %s add-on installed - get it from %sYou do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?You entered an email address that was not recognised by UpdraftPlus.ComYou have an inactive purchaseYou have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons.You have not yet connected with your UpdraftPlus.Com account.You have not yet made any backups.You must add the following as the authorised redirect URI (under "More Options") when askedYou need to connect to receive future updates to UpdraftPlus.You need to enter a containerYou need to enter a new usernameYou need to enter a valid new email addressYou need to enter an admin API keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You need to supply both an email address and a passwordYou should update UpdraftPlus to make sure that you have a version that has been tested for compatibility.You will find more information about this in the Settings section.You will need to ask your web hosting company to upgrade.You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.You will need to restore it manually.You've got itYour %s account name: %sYour %s quota usage: %s %% used, %s availableYour %s version: %s.Your backup has been restored.Your email address and password were not recognised by UpdraftPlus.ComYour email address was valid, but your password was not recognised by UpdraftPlus.Com.Your free disk space is very low - only %s Mb remainYour free space in your hosting account is very low - only %s Mb remainYour hosting company must enable these functions before %s can work.Your label for this backup (optional)Your login may be either password or key-based - you only need to enter one, not both.Your paid access to UpdraftPlus support has expired.Your paid access to UpdraftPlus support will soon expire.Your paid access to UpdraftPlus updates for %s add-ons on this site has expired.Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire.Your paid access to UpdraftPlus updates for this site will soon expire.Your settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your version: %sYour web server has PHP's so-called safe_mode active.Your web server's PHP installation has these functions disabled: %s.Your web-server does not have the %s module installed.Your website is hosted using the %s web server.Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:Your wp-content directory server path: %sactivate it on this sitealready doneand retain this many scheduled backupsauthentication URIcalculating...check your log for more details.countdatabase connection attempt faileddatabase connection attempt failed.database namee.g. %se.g. if your server is busy at day and you want to run overnightencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)error: failed to upload file to %s (see log file for more)failed to access parent folderfailed to list filesfilefile is size:files: %sfolderfollow this link to get ithosthost namei.e. Non-automaticManualincremental backup; base backup: %slast activity: %ss agolatestnow proceeding with the updates...or, to reset this optionpasswordpassword/keyplease follow this link to update the plugin in order to activate itplease follow this link to update the plugin in order to get itplease wait for the rescheduled attemptpluginsread more at %srefreshregular non-encrypted FTPrestorationrows: %dsearch and replacesearch termsettingsshow PHP information (phpinfo)show logskipped (not in list)starting from next time it isstoptable: %sthe database query being run was:themesunknown sourceuse UpdraftPlus Premiumuserusernamewill restore as:you have authenticated your %s accountyou have authenticated your %s account.your site's admin addresszip executable found:PO-Revision-Date: 2017-01-31 17:23:01+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=4; plural=(n % 100 == 1) ? 0 : ((n % 100 == 2) ? 1 : ((n % 100 == 3 || n % 100 == 4) ? 2 : 3)); X-Generator: GlotPress/3.0.0 Language: sl_SI Project-Id-Version: UpdraftPlus "%s" nima primarnega ključa, na vrstici %s je potrebna ročna sprememba.zakupnik%d napak, %d opozoril%d ur, %d minut, %d sekund%s (%s uporabljeno)%s - ne moremo varnostno kopirati tega subjekta; ustrezen direktorij ne obstaja (%s)%s napaka%s Napaka: Napaka pri zagonu%s Napaka: Neuspelo odpiranje lokalne datoteke%s Napaka: Neuspelo nalaganje%s dostopni ključ%s avtentifikacija%s avtentifikacija ni uspela%s checksum: %s%s prenos: neuspelo: ne najdem datoteke%s končna točka%s napaka: neuspeh pri dostopu do kontejnerja%s napaka - neuspelo ponovno sestavljanje delčkov%s napaka - neuspeh pri nalaganju datoteke%s napaka - dostopali smo do kontejnerja, a v njem nismo uspeli ustvariti datoteke%s napaka: %s%s ur%s lokacijaNeuspela prijava %s%s logo%s napaka ponovnega sestavljanja (%s): (oglejte si poročilo za več podrobnosti)%s možnosti obnovitve:%s je vrnil nepričakovan HTTP odgovor: %s%s skrivni ključ%s testni rezultat nastavitev:%s podpora je na voljo kot dodatek%s najdenih tabel.%s skupno najdenih tabel; %s z navedenimi predponami.%s nalaganje: pridobivanje uploadID za večdelno nalaganje ni uspelo - glejte poročilo za več informacij%s različica:%s tednov%s neberljiva datoteka - ni je mogoče varnostno kopirati(Ni končano)(Preberi več)(To se nanaša na vse Wordpressove vtičnike za varnostno kopiranje, razen če so bili posebej programirani za združljivost z omrežji).(videti je kot predizdaja ali umaknjena izdaja)(medtem, ko se ustvarja varnostna kopija)(več o tej pomembni možnosti)(kot ponavadi lahko poročilo najdete na UpdraftPlus strani nastavitev)...(preverite, da ste poskusili naložiti zip datoteko, ki je bila predhodno ustvarjena z UpdraftPlus)(ali se povežite z uporabo obrazca na tej strani, če ste že opravili nakup)(različica: %s)(oglej si poročilo...)... in veliko več!1 ura1 tedenNe postavite je v vaš direktorij za nalaganje ali vtičnike, saj bo to povzročilo rekurzijo (varnostno kopijo varnostne kopije od varnostne kopije...).(Videti je, da ste že avtentificirani, čeprav se lahko v primeru težav avtentificirate znova, da osvežite vaš dostop).To NI ime mape.Iskanja/zamenjave ni mogoče povrniti - ste prepričani, da to želite?Naleteli smo na zelo veliko datoteko: %s (velikost: %s Mb)Napaka pri ustvarjanju zipPREKINITEV: Ne najdemo informacij o subjektu za obnovo.API ključ: %sAPI ključSkrivni APIRačun je poln: vaš %s račun ima na voljo le še %d bajtov prostora, od datoteke, ki bo naložena, pa je ostalo še %d bajtov (skupna velikost: %d bajtov)Račun je poln: vaš %s račun ima samo še %d bajtov razpoložljivega prostora, datoteka, ki jo nalagate, pa ima %d bajtovIme nosilca računa: %s.Račun ni avtoriziran.Računi, ustvarjeni na rackspacecloud.com so US-računi; računi, ustvarjeni na rackspace.co.uk so UK računi.Računi, ustvarjeni na rackspacecloud.com so US-računi; računi, ustvarjeni na rackspace.co.uk bazirajo na UKDejanjaV varnostno kopiranje dodaj zunanjo bazo podatkov...Dodaj nov naslov...API ključ skrbnikaUporabniško ime skrbnikaNapredne / Razhroščevalne nastavitvePo pritisku na ta gumb, se bo pojavila možnost izbire komponent, ki jih želite obnovitiVsi sklici na lokacijo spletnega mesta bodo zamenjani s trenutnim URL vašega spletnega mesta, ki je: %sIzbriši tudi iz oddaljene shrambePrav tako preberite tudi ta pomembna pogosto zastavljena vprašanja.Najdena je SQL vrstica, ki je večja od največje velikosti paketa in je ne moremo razdeliti; te vrstice ne bomo procesirali, vendar bo spuščena: %sGeslo skrbnika je nastavljeno.Prišlo je do napake pri prvem %s ukazu - preklicujemPri poskusu pridobivanja vaših dodatkov je prišlo do napake.Pripetila se je napaka ob zapiranju zaključne datoteke podatkovne baze.Pripetila se je nepoznana napake pri poskusu povezave z Updraft.ComPosodobitev, ki vključuje vaše dodatke, je na voljo na UpdraftPlus - prosimo, da za prejem sledite povezavi.Za UpdraftPlus je na voljo posodobitev - prosimo, da za prejem sledite povezavi.Katerikoli drugi direktoriji, najdeni znotraj wp-contentZa podporo v zvezi z %s se je priporočljivo obrniti na tvojega ponudnika spletnega gostovanja.Kdorkoli vidi zaklenjen zaslon, bo videl to URL povezavo za podporo - vnesite naslov spletne strani ali naslov e-pošte.Pričakovana velikost arhiva:Zastavi vprašanje pred nakupomDodeljen temu spletnemu mestuV času, ko se datotek varnostno kopirajoAvtentifikacija z %s.Avtentifikacija z GooglomAvtorizacija ni uspela (preverite svoje poverilnice)Samodejno varnostna kopijaSamodejna varnostna kopija pred posodabljanjemSamodejno varnostno kopiraj (kjer možno) vtičnike, teme in Wordpressove podatkovne baze z UpdraftPlus pred posodobitvijoNa voljo za to spletno mesto (preko nakupa vseh dodatkov)Zahtevek na tej strani je na voljoKopirano: %sPred posodobitvijo ustvari varnostno kopijo vtičnikov (kjer je to ustrezno), tem in Wordpress baz podatkov z UpdraftPlus.Kopiraj zdajPoročilo o varnostni kopijiZačetek varnostnega kopiranja:Varnostno kopiranje se je pričeloVarnostna kopija vsebuje:Varnostno kopijo je ustvaril nepoznani vir (%s) - obnova ni mogoča.Varnostna kopija narejena z:Varnostna kopija ustvarjena z: %s.Podatki varnostne kopije (klik za prenos)Datum varnostne kopijeDirektorij varnostne kopijeDirektorij (%s) varnostne kopije ni zapisljiv ali ne obstaja.Nismo mogli ustvariti direktorija varnostne kopijeDirektorij varnostne kopije ne obstaja.Direktorij varnostne kopije obstaja, a ni zapisljiv.Izbran direktorij varnostne kopije je zapisljiv, kar je v redu.Ustvarili smo direktorij varnostne kopije.V zgodovini varnostnih kopij ne obstaja varnostna kopijaVarnostno kopiraj zunanjo bazo podatkovDatoteka varnostne kopije ni na voljo.Varnostno kopiranje je končanoVarnostna kopija je od: %s.Oznaka varnostne kopijeVarnostno kopiraj ne-Wordpressove tabele, ki so v isti bazi podatkov kot WorpressVarnostna kopija od:Najdena je serija varnostne kopijeVarnostna kopija je uspelaNeprepoznavna oblika zapisa datoteke - ni videti kot datoteka, ustvarjena z UpdraftPlusNeprepoznavna oblika zapisa datoteke - ni videti kot šifrirana podatkovna baza, ustvarjena z UpdraftPlusImejte v mislih, da imajo e-poštni strežniki pogosto omejitve velikosti; običajno okoli %sMb; varnostne kopije, ki so večje od katerihkoli omejitev po vsej verjetnosti ne bodo prispele.Zavarujte se s samodejnim varnostnim kopiranjemZačeli smo iskati ta subjektPovezava do blogaNalaganje na blogKupite gaKličiPrekličiSpremeni nastavitve zaklepanjaNarejene spremembe:Za pošiljanje osnovnega poročila izberi ti poljeIzberite za brisanje odvečnih datotek varnostne kopije iz vašega strežnika, potem ko se varnostno kopiranje zaključi (če ne izberete, potem odposlane datoteke ostanejo na voljo tudi lokalno, te datoteke pa niso del limitov hrambe).Označi za prejemanje več informacij in e-pošte o procesu varnostnega kopiranja - uporabno, če gre kaj narobe.Preverite dovoljenja vaše datoteke: Nismo mogli uspešno ustvariti direktorija in vstopiti vanj:Preverite dovoljenja za vašo datoteko: Nismo mogli uspešno ustvariti in vnesti:Chicago (ORD)Izberite komponente za obnovitevIzberite oddaljeno shramboZahteva ni bila ugodena - prijavni podatki za vaš račun so napačniČiščenje odvečnih datotek...ID klientaSkrivni klientZapriClouf Files API ključCloud Files kontejnerCloud Files Storage RegionUporabniško ime Cloud FilesCloud Files avtentifikacija ni uspela.Cloud Files napaka - dostopali smo do kontejnerha, a v njem nismo uspeli ustvariti datotekeOperacija Cloud Files ni uspela (%s)Cloud Files uporabniško imeKonflikt: uporabnik ali e-pošta že obstajataPovežiPovežite se z vašim računom UpdraftPlus.ComPovezava ni uspela.Povezava ni uspela: preveri podrobnosti dostopa, da je strežnik dosegljiv, in da spletne povezave ne blokira požarni zid.Povezava uspela.KonstanteKontejnerVsebuje:URL vsebine:Kopiranje tega subjekta ni uspelo.Ne moremo dostopati do %s kontejnerjaNismo mogli najti opravila - morda se je že končalo?Ni mogoče pridobiti seznama tabelNi bilo mogoče premakniti starih podatkov.Nismo mogli odpreti datoteke varnostne kopije za zapisovanjeDirektorija nismo mogli brati.UstvariUstvari novega API uporabnika z dostopom samo do tega kontejnerja (namesto celega računa)Ustvari novega API uporabnika in kontejnerUstvarjena varnostna kopija podatkovne bazeUstvarjena je zip datoteke varnostne kopijeUstvarjam %s in varnostno kopijo podatkovne baze z UpdraftPlus...Ustvarjanje varnostne kopije z UpdraftPlus...Ustvarjanje varnostne kopije podatkovne bazeUstvarjam varnostno kopijo podatkovne baze z UpdraftPlus...Ustvarjamo zip datoteke varnostne kopijeTrenuten limit je:Trenutna uporaba pomnilnikaDnevnoDallas (DFW) (privzeto)Baza podatkovPodatkovna baza (narejena z %s)Podatkovna baza (varnostna kopija datotek ni bila narejena)Možnosti baze podatkovFraza za šifriranje baze podatkovFraza za šifriranje podatkovne bazeSamo podatkovna baza (datoteke niso bile del tega načrtovanega opravila)Podatkovna baza je uspešno dešifrirana.Podatkovna baza: išči in zamenjaj URL spletnega mestaNačin razhroščevanjaInformacije o razhroščevanjuDešifriram podatkovno bazo (lahko traja nekaj časa)...IzbrišiIzbriši stare direktorijeIzbriši serijo varnostne kopijeBrisanje iz vašega strežnikaIzbriši lokalno varnostno kopijoIzbriši to serijo varnostne kopijePot direktorijaPovsem onemogoči SSL, kjer je to mogočeOnemogoči ta vtičnik: %s: ponovno ga aktivirajte ročno, ko boste pripravljeni.OpustiOpusti (za %s mesecev)Izključi iz glavne nadzorne plošče (za %s tednov)Ne prekinjajte po pritisku na Nadaljuj spodaj - počakajte, da se varnostno kopiranje zaključi.PKCS1 (PEM glava: BEGIN RSA PRIVATE KEY), XML in PuTTY format ključi so sprejeti.Ne preveri SSL certifikataPred obnovitvijo preberite ta koristen članek o uporabnih stvareh.Ali potrebujete podporo za Wordpress Multisite?Ali želite seliti ali klonirati/podvojiti spletno mesto?Ne želite, da kdo vohuni za vami? UpdraftPlus Premium omogoča šifriranje varnostne kopije baze podatkov.Napak pri prenosu: strežnik nam je poslal odgovor, ki ga nismo razumeli.Prenos ni uspelPrenos v tekuPrenašam poročiloPrenesite nazadnje spremenjeno poročiloPrenesi na vaš računalnikPodatke varnostne kopije spustite semSpustite šifrirane datoteke (db.gz.crypt datoteke) podatkovne baze na to mesto, da jih naložite na dešifriranjeDropboxE-poštaE-poštna poročila UpdraftPlus (brezplačna različica) prinašajo zadnje novice z UpdraftPlus.com Šifrirana podatkovna bazaŠifriranje podatkovne bazeVnesi seznam, ločen z vejicami; v nasprotnem primeru pusti prazno za vse tabele.Tukaj vnesite naslove, na katere bomo poslali poročilo ob zaključku varnostnega kopiranja.Vnesite podrobnosti o položaju tega novega spletnega mesta v omrežni namestitvi:Vnesite v obliki UU:MM (npr. 14:22).Vnesite pot do %s mape, ki je želite uporabiti na tem mestu.Vnesite vaše skrbniško uporabniško ime/API ključ za Rackspace (da Rackspace lahko avtentificira vaše dovoljenje za ustvarjanje novih uporabnikov) ter vpišite novo (unikatno) uporabniško ime in e-pošto za novega uporabnika in ime kontejnerja.NapakaNapaka - neuspeh pri prenosu datotekePodatki napake:Napaka pri prenosu oddaljenih datotek: Neuspešen prenosSporočilo o napakiNapaka pri odpiranju lokalne datoteke: Neuspel prenosNapaka pri odpiranju oddaljene datoteke: Neuspešen prenosNapaka:Napaka: %sNapaka: strežnik je poslal prazen odgovor.Napaka: strežnik nam je poslal nerazumljiv odgovor (JSON).Napaka: nepričakovan prazen parameter (%s, %s)Napaka: nepričakovana napaka pri branju datotekeNapakeNapake / opozorila:Pripetene napake:Pripetile so se napake:Pri poskusu povezave z UpdraftPlus.Com je prišlo do napake:Pojavile so se napake:Napake:Vsakih %s urPrimeri S3 združljivih ponudnikov gostovanja:Izvzemi te:Napredne nastavitveRazširitveZunanja baza podatkovZunanja baza podatkov (%s)FacebookNeuspeloNeuspeh pri dostopu %s med brisanjem (glejte poročilo za več informacij)Neuspešno ustvarjanje začasnega direktorijaNeuspešno brisanje delovnega direktorija po obnovitvi.Prenos ni uspelPrenos %s ni uspelNeuspešno iskanje datoteke podatkovne bazeNeuspešno odpiranje datoteke podatkovne bazeOdpiranje podatkovne baze za branje ni uspel:Neuspeh pri odpiranju datoteke podatkovne baze.Neuspeh pri odpiranju zip datoteke (%s) - %sNeuspeh pri razširjanju arhivaNeuspelo nalaganje %sNeuspelo nalaganje na %sNeuspešno izpisovanje dešifrirane podatkovne baze v datotečni sistemNeuspeh: Uspeli smo se prijaviti in premakniti na izbrani direktorij, a na tej lokaciji nismo uspeli ustvariti datoteke.Neuspeh: Uspeli smo se prijaviti, a na tej lokaciji nismo uspeli ustvariti datoteke.Neuspeh: v ta direktorij nismo uspeli umestiti datoteke - prosimo, preverite svoje poverilnice.Neuspeh: %s operacija se mi mogla začeti.Neuspeh: nismo razumeli rezultat %s operacije.NeuspehNeuspeh: Ni danih %s.Neuspeh: Ni danih podrobnosti prenosnih podatkov.Neuspeh: Ni danih podrobnosti kontejnerja.Neuspeh: Ni bilo danih strežnikovih podrobnosti.Neuspeh: Vrata morajo biti število.Neuspeh: ni se nam uspelo prijaviti s temi poverilnicami.Neuspeh: uspešno smo se prijavili, a nismo uspeli ustvariti datoteke v danem direktoriju.PridobiDatoteko (%s) smo našli, vendar je drugačne velikoste (%s) od pričakovane (%s) - morda je poškodovana.Datoteka lokalno ni na voljo - potrebno jo je pridobiti iz oddaljene shrambeNe najdemo datotekeNe najdemo datoteke (potrebno jo je naložiti) %sDatoteka je pripravljena.Datoteko smo našli, vendar je nične velikosti (potrebno jo je ponovno naložiti): %sDatotekeDatoteke (varnostna kopija podatkovne baze ni bila končana)Datoteke in baze podatkovVarnostna kopija datotek in podatkovnih baz Wordpress (narejena z %s)Varnostna kopija datotek (narejena z %s)Najdene datoteke:Samo datoteke (podatkovne baze niso bile del tega načrtovanega orpavila)Zadnje preverbeNajprej vnesite dešifrirni ključMapaZa več informacij sledite tej povezaviSledite tej povezavi za poskus dešifriranja in prenosa podatkovne baze na vaš računalnik.Sledite povezavi za prenos poročila te obnovitve (potrebno za podporo).Za prijavo na UpdraftPlus glasilo sledite tej povezavi.Sledi tej povezavi do svoje Google API konzole, kjer lahko aktiviraš Drive API in ustvariš ID klienta v oddelku API dostop.Za več značilnosti in osebno podporo preveriZa možnost zaklepanja dostopa do nastavitev UpdraftPlus z geslom, nadgradite UpdraftPlus v različico Premium.Za podporo glede odklepanja, kontaktirajte osebo, ki za vas upravlja z UpdraftPlus.Ste pozabili vaše podrobnosti?Vsakih štirinajst dniRazpoložljiv prostor na računu:Brezplačen dvofaktorski varnostni vtičnikCelotna varnostna kopijaSeznam vseh značilnostiPridobite ga iz trgovine UpdraftPlus.ComPojdiPojdite semPojdite sem za več informacij.Za aktivacijo pojdi sem.Za namestitev pojdite sem.Za povezavo pojdite semGoogle DriveGoogle Drive seznam datotek: neuspeh pri dostopu do zgornje mapeNismo še prejeli Googlovega žetona za dostop - potrebno je avtorizirati ali ponovno avtorizirati vašo povezavo z Google Drive.Hong Kong (HKG)GostiteljKakorkoli, UpdraftPlus arhivi so običajne zip/SQL datoteke - če ste prepričani, da je vaša datoteka v ustreznem formatu, jo lahko preimenujete, da bo ustrezala vzorcu.Kakorkoli, kasnejši poskusi dostopa niso uspeli:Če Google kasneje prikaže sporočilo "invalid_client", potem tukaj niste vnesli veljavnega ID klienta.Če boste zahtevali podporo, prosimo, vključite te informacija:Če to ne bo uspelo, preverite dovoljenja na vašem strežniki ali jih spremenite v drug direktorij, ki ga bo proces vašega strežnika lahko zapisal.Če je bila ta varnostna kopija ustvarjena z drugim tovrstnim vtičnikom, potem vam morda lahko pomaga UpdraftPlus Premium.Če niste prepričani, se raje ustavite; v nasprotnem primeru lahko uničite namestitev Wordpressa.Če niste prepričani, čemu služi ta možnost, potem je nočete in jo izklopite.Če vidite več varnostnih kopij, kot ste jih pričakovali, je to najbrž posledica neizbrisa starih varnostnih kopij preden se konča novo varnostno kopiranje.Če to uporabljate, potem izklopite način Turbo/Road.Če ste kupili nove dodatke, potem sledite tej povezavi za osvežitev vaše povezaveČe še vedno lahko berete te besede, ko se stran neha nalagati, potem je na spletnem mestu Javascript ali jQuery napaka.Če izvzamete tako podatkovne baze kot podatke, potem ste izvzeli vse!Če pustite prazno, bo varnostna kopija postavljena v izhodišče vaše %sČe vidite napake z zvezi s SSL certifikati, potem prosimo, če tukaj poiščete pomoč.Če želite obnoviti varnostno kopijo multisite, je potrebno naprej nastaviti namestitev Worpress kot multisite.Če vaša baza podatkov vsebuje dodatne tabele, ki niso del tega Worpress spletnega mesta (vedeli boste, če to drži), potem aktivirajte to možnost, da jih vključite v varnostno kopiranje.V %s, imena poti razlikujejo med malimi in velikimi črkami.Vključi v varnostno kopijo datotekInkrementalnoNeskončna rekurzija: oglejte si vaše poročilo za več informacijPotrebne informacije za nadaljevanje:Vas zanima več o varnosti gesel UpdraftPlus.com? Preberite tukaj.Videti je, da je IP naslov (%s) vašega strežnika blokiran.Poleg tega lahko naredi varnostno kopijo zunanjih podatkovnih baz.Preizkušeno je bilo do različice %s.To je ID številka v Google DriveOpozorilo JavaScriptID opravila: %sOpravilo izbrisanoKljučTo mora biti v2 (Keystone) preverjanje URI; v1 (Swauth) ni podprto.Poznane varnostne kopije (neobdelane)Sporočilo zadnjega poročilaZadnje UpdraftPlus.com novice:Zadnji status:Domača stran glavnega razvijalcaPustite prazno in izbrano bo privzeto.Neuspelo lokalno zapisovanje: Napaka pri prenosuZakleni dostop do nastavitev UpdraftPlusVsa sporočila oblikuj v syslog (to ustreza najbrž samo strežniškim administratorjem)London (LON)Iskanje %s arhiva: ime datoteke: %sUpravljaj dodatkeRočno dešifriraj datoteko varnostne kopije podatkovne bazeLimit spominaSporočila:Preseljeno mesto (iz UpdraftPlus)MesečnoVeč datotekVeč vtičnikovVeč opravil:Premikam stare podatke...Premikamo razpakirano varnostno kopijo na svoje mesto...MultisiteOmrežna namestitevNujni vtičnikiČe namestite UpdraftPlus na več Wordpress spletnih mestih, potem ni mogoče ponovno uporabiti vašega projekta; ustvariti je potrebno novega s konzolo Google API za vsako spletno mesto.Imejte v mislih, da to štetje temelji na tem, kaj je bilo ali ni bilo izvzeto ob zadnji shranitvi možnosti.Ime: %s.Potrebujete podporo?Želite uporabljati podmape?Mora že obstajatiAktivirana tema omrežja:E-pošta novega uporabnikaUporabniško ime novega uporabnikaNovo spletno mesto:NovicePrijava na glasiloNaslednje razporejene varnostne kopijeNeNi najdenih %sNismo našli %s nastavitevNobena varnostna kopija ni bila dokončanaNi varnostnih kopij %s direktorijev: nič ni bilo najdeno za kopiranjeNe najdemo podatkovne bazeLokalne kopije ni na voljo.Na najdemo poročil.Na najdemo nastavitevNe obstaja nobena takšna serija varnostne kopije.NobenSeverna Virginija (IAD)Nie je nainštalovanáŠe nimate računa (je brezplačen)? Pridobite ga!Potem, ko ste prevzeli dodatke, lahko odstranite vaše geslo (vendar ne naslova e-pošte) iz spodnjih nastavitev, ne da bi vplivali na posodabljanje tega spletnega mesta.Imejte v mislih, da pri uporabi SSL avtentifikacije niso nujne vse oblačne metode varnostnega kopiranja.Opomba:Nobeno opravilo trenutno ni razporejenoNič ni za narediti: URL spletnega mesta je že: %sNič še ni za poročatiObvestiloOKStara predpona tabele:Ena ali več varnostnih kopij je bila dodana pri iskanju v oddaljeni shrambi; imejte v mislih, da te kopije ne bodo samodejno izbrisane preko nastavitve "ohrani"; če/ko jih želite izbrisati, je to potrebno narediti ročno.Obnovljena je lahko samo Wordpressova podatkovna baza; zunanje baze podatkov je potrebno obnoviti ročno.Spletni brskalnik OperaMožnosti (neobdelane)Ali jih lahko ročno prenesete v vaš UpdraftPlus direktorij (običajno wp-content/updraft), npr. preko FTP, in nato uporabite zgornjo povezavo "ponovno iskanje".Druga %s pogosto zastavljena vprašanja.DrugoV nasprotnem primeru bo prikazana privzeta povezava.Prepiši wp-config.phpPHP informacijaGesloNapačno gesloGeslo: %sMaksimalna uporaba pomnilnikaProsimo, preverite poverilnice dostopa.Prosimo, preberite ta pogosto vprašanja in odgovore, če imate težave pri varnostne kopiranju.Prosimo, preverite, da ste zabeležili geslo!Prosimo, priskrbite zahtevane informacije in nato nadaljujte.Prosimo, počajte, medtem ko delamo zahtevek...VtičnikiVrataPogosto zastavljena vprašanja pred nakupomPremiumPremium WooCommerce vtičnikiPritisni tukaj za ogled mape UpdraftPlus (v prostoru tvojega spletnega gostovanja) za nove varnostne kopije, ki si jih naložil.Nadaljuj s posodobitvijoProcesirani vtičniki:Procesiram datoteke - prosimo, počakajte...Obrezovanje starih varnostnih kopijPovezava do RSSNeobdelana zgodovina varnostnih kopijPreberi več o delovanju...Preberi to stran za pojasnilo o možnih razlogih in odpravi napak.RegijaRegija: %sZapomni si to odločitev za naslednjič (še vedno boste imeli možnost za spremembo)Možnosti oddaljene shrambeOdstraniOdstranite stare direktorijeZamenjaj zPoročanjeZahtevan pogon (%s) tabele ni prisoten - spreminjam v MyISAM.Zahtevam začetek varnostnega kopiranja...Ponovno zahtevaj geslo poPreišči lokalno mapo za novimi varnostnimi kopijamiPonovno preišči lokalno shramboPonovno iskanje (varnostnih kopij, ki ste jih ročno naložili v interno hrambo)...Ponovno preiskujem oddaljeno in lokalno shrambo za varnostnimi kopijami...ObnovitevObnovi varnostno kopijoObnovitev podatkovne baze (na velikih spletnih mestih lahko vzame veliko časa - če se čas izteče (kar se dogaja, če je vaš ponudnik spletnega gostovanja nastavil gostovanje z omejenimi sredstvi), potem bo potrebna druga metoda, kot npr. phpMyAdmin)...Obnovitev bo zamenjala teme, vtičniki, naložene datoteke, podatkovne baze in/ali druge direktorije tega spletnega mesta (v skladu s tem, kar vsebuje serija varnostne kopije in vaša izbira).Ponovno pridobivanje (če je potrebno) in priprava datotek varnostne kopije...Vrnite se na nastavitev UpdraftPlusPreučene vrstice:Vrstice na serijoS3 (združljivo)SCP/SFTP nastavitve gostovanjaSCP/SFTP geslo/ključSCP/SFTP uporabniške nastavitvePoteka SQL posodobitev ukazov:Shrani spremembeShranjevanje ...Poišči / zamenjaj bazo podatkovIšči in zamenjaj lokacijo spletnega mesta podatkovne baze (seli)Išči in zamenjaj preglednico:PoiščiGlej tudi ta pogosto zastavljena vprašanja.Kot vrsto aplikacije, izberite "Spletne aplikacije".Pošlji poročilo samo ob opozorilih/napakahNastavitvePrikaži napredne nastavitvePokaži neobdelano varnostno kopijo in seznam datotekeSpletno mesto:Informacije o spletnem mestu:Nekatere datoteke se še vedno prenašajo ali se procesirajo - prosimo, počakajte.Razdeli arhiv vsakih:Razdeli vrstico v izzogib preseganja največje velikosti paketaPrični varnostno kopiranjeZačenjam samodejno varnostno kopiranje...Shrani naUspehUspeh:Uspeh: uspešno smo se prijavili in potrdili zmožnost ustvarjanja datoteke v danem direktoriju (vrsta prijava:PodporaURL podporePodprti vtičniki za varnostno kopiranje: %sSydney (SYD)Predpona tabelePredpona tabele se je spremenila: v skladu s tem spreminjamo %s polje(a) tabele:Preučene tabele:Več o inkrementalni varnostni kopijiZakupnikPreizkus %s nastavitevPreveri povezavo...Preizkušamo %s nastavitve...Preverjam...%s povezava se je iztekla; če je strežnik pravilno nastavljen, to ponavadi povzroča požarni zid, ki blokira povezavo - preverite pri svojem ponudniku spletnega gostovanja.%s objekt ni bil najdenGumb za varnostno kopiranje je onemogočen, ker ni mogoče zapisovati na mesto varnostne kopije (pojdi v zavihek Nastavitve in poišči ustrezno možnost).UpdraftPlus modul za metodo dostopa do te datoteke (%s) ne podpira seznama datotekV tej zip datoteki ne najdemo Wordpressove vsebinske mape (wp-content).Zgornji direktoriji so vse, razen jedra Wordpress, ki ga lahko prenesete na novo z WordPress.org.Zgornje datoteke obsegajo vse v namestitvi Wordpress.Geslo skrbnika je spremenjeno.Geslo skrbnika je sedaj odstranjeno.Količina dovoljenega pomnilnika (RAM) za PHP je zelo nizka (%s Mb) - v izzogib neuspehom zaradi nezadostnega pomnilnika bi ga morali povečati (za več pomoči se posvetujte z vašim ponudnikom spletnega gostovanja)Za izvajanje Wordpressovih vtičnikov je na voljo zelo malo časa (%s sekund) - v izzogib neuspešnih varnostnih kopij zaradi izteka časa bi ga morali zagotoviti več (posvetujte se s svojim ponudnikom spletnega gostovanja za več pomoči to je PHP nastavitev max_execution_time; priporočena vrednost je %s sekund ali več)Poskus pošiljanja varnostne kopije preko e-pošte ni uspel (najbrž je kopija prevelika za to metodo)Poskus razveljavitve dvojnega stiskanja ni uspel.Poskus razveljavitve dvojnega stiskanja je uspel.Poskus varnostne kopije se očitno ni uspešno končal.Varnostno kopiranje se ni končalo; nadaljevanje je načrtovanoPodatki varnostne kopije ne vsebujejo informacije o ustrezni velikosti te datoteke.Komunikacija z %s je bila šifrirana.Komunikacija z %s ni bila šifrirana.Videti je, da je bila podatkovna baza dvakrat stisnjena - spletna stran, od koder ste prenesli datoteko, je imela najbrž napačno nastavljen strežnik.Podatkovna baza je premajhna, da bi bila veljavna Wordpressova podatkovna baza (velikost: %s Kb).Uporabljen dešifrirni ključ:Direktorij ne obstajaNapaka, sporočena z %s, je bila:Datoteka je naložena.Mapa obstaja, vendar vaš spletni strežnik nima dovoljenja za pisanje vanjo.Naslednjega subjekta ne moremo samodejno obnoviti: "%s".Nameščene različica UpdraftPlus Backup/Restore ni bila preizkušena na vaši različici Wordpressa (%s).Izbrani ključ ni v veljavnem formatu ali je poškodovan.Mesto te mape je določeno v naprednih nastavitvah zavihka Nastavitve.Poročila ne moremo brati.Poročilo se nahaja v priponki.Geslo konzole novega uporabnika RackSpace je (to se ne več pokazalo):Zahteva datotečnemu sistemu za ustvarjanje direktorija ni uspela.Potreben %s PHP modul ni nameščen - prosite vašega ponudnika spletnega gostovanja, da ga omogočiUporabljeni časovni pas je tisti iz nastavitev Wordpress, v Nastavitve -> SplošnoPripetila se je napaka (%s):Strežnik je vrnil kodo napake (poskusite znova ali preverite poročilo vašega strežnika)TemeSamo te tabeleTa varnostna kopija je bila narejena z %s in jo lahko uvozimo.Ta gumb ni omogočen, ker na izbrano mesto za varnostno kopijo ni mogoče zapisovati (glej nastavitve).To lahko z lahkoto uniči vaše spletno mesto; uporabite s previdnostjo!Tej varnostni kopiji podatkovne baze manjka jedro Wordpressovih tabel: %sTa dešifrirni ključ bo doživel poskus:To ni videti veljavna Wordpressova temeljna varnostna kopija - manjkala je datoteka %s.Ta značilnost zahteva %s različico %s ali kasnejšoTe datoteke ni bilo mogoče naložitiTa datoteka ni videti arhiv varnostne kopije UpdraftPlus backup archive (takšne datoteke so .zip ali .gz, ki imajo imena kot: backup_(time)_(site name)_(code)_(type).(zip|gz)).To je namestitev Worpress multi-site (network).To je štetje vsebine vašega Updraft direktorijaTo je izrazito novejše kot strežnik, na katerega obnavljate podatke (verzija %s).To običajno pomeni, da ste na strežniku z napadeno spletno stranjo, ki je bila uporabljena v prejšnjih napadih.Tej seriji varnostne kopije iz več arhivov manjkajo naslednji arhivi: %sTa možnost bo povzročila, da bodo tabele v bazi MySQL, ki niso del Wordpress (identificirane kot tiste brez Wordpressovih predpon, %s), prav tako vključene v varnostno kopijo.Ta metoda oddaljenega shranjevanja (%s) zahteva PHP %s ali kasnejši.Ta različica UpdraftPlus ne zna rokovati s to vrsto varnostne kopije.To bo povzročilo tudi razhroščevanje iz drugih vtičnikov, ki se bodo prikazali na zaslonu - prosimo, ob tem ne bodite presenečeni.To bo izbrisalo vse vaše UpdraftPlus nastavitve - ali ste prepričani, da želite to storiti?Trenutni časPorabljen čas (sekunde):Porabljen čas:Za dostop do nastavitev UpdraftPlus vpišite geslo za odklepanje.Za poimenovanje map po meri uporabite UpdraftPlus Premium.Za spreminjanje privzetih nastavitev varnostnega kopiranja, prilagajanje v naprej potekajočih kopij, pošiljanje kopij na oddaljen pogon (priporočljivo) in drugo pojdi na zavihek Nastavitve.Za določitev časa, ob katerem se bo izvedla varnostna kopija,Prosim obnovite za ohranjanje dostopa do podpore.Za ustvarjanje varnostne kopije, zgolj pritisni na gumb Kopiraj zdaj.Za ponovno pridobitev dostopa do posodobitev (vključno z s prihodnjimi funkcijami in združljivostjo s prihodnjimi različicami Wordpressa) ter podpore, prosimo obnovite.Za ponovno pridobitev dostopa, prosimo obnovite.Za ohranitev dostopa in pridobivanja posodobitev (vključno z s prihodnjimi funkcijami in združljivostjo s prihodnjimi različicami Wordpressa) ter podpore, prosimo obnovite.Za pošiljanje na več naslovov, vsak naslov ločite z vejico.Pripetilo se je preveč napak z bazami podatkov - preklicujemSkupni (nestisnjeni) podatki na disku:Poskušam...TwitterUKUS (privzeto)US ali UK oblakUS ali UK Rackspace računUS ali UK baziran Rackspace računNi mogoče odpreti zip datoteke (%s) - ni bilo možno preveriti njene celovitosti.Ni mogoče brati zip datoteke (%s) - ni bilo možno preveriti njene celovitosti.Nepričakovan odgovor:NepoznanoStatus neznanega odgovora strežnika:Neznan odgovor strežnika:Nepoznana/nepričakovana napaka - prosimo, obrnite se na podporoČe nimate problema, lahko popolnoma prezrete vse, kar je tukaj.OdkleniRazpakiravam varnostno kopijo...UpdraftPlus - Naložite daoteke varnostne kopijeDodatki UpdraftPlusSamodejne varnostne kopije UpdraftPlusVarnostne kopije UpdradtPlusUpdraftPlus PremiumUpdraftPlus Obnovitev: NapredekPodpora UpdraftPlusUpdraftPlus še ni aktiviran.UpdraftPlus še ni nameščen.UpdraftPlus bi moral ustvariti %s v vašem vsebinskem direktoriju, vendar ni uspel - prosimo, preverite dovoljenja vaših datotek in omogočite dostop (%s)UpdraftPlus opombe:Opozorilo UpdraftPlus:UpdraftPlus med iskanjem varnostne kopije podatkovne baze ni mogel najti predpone tabele.UpdraftPlus.Com je odgovoril, vendar nismo razumeli odgovoraUpdraftPlus.Com je odgovoril z odgovorom, ki ga nismo razumeli (podatki: %s)UpdraftPlus.Com je vrnil odgovor, vendar ga nismo razumeliUpdraftPlus.com sporoča "Zavrnjen dostop".Naloži datoteke varnostne kopijeNapaka nalaganjaNapaka nalaganja:Nalaganje ni uspeloNaloži datoteke v UpdraftPlus.Naloženo na:aliNalagam datoteke na oddaljeno shramboNaložene vsebineUporabi SCP namesto SFTPZa nastavitev uporabljenih e-poštnih naslovov uporabi sekcijo "Poročanje".Uporabite SSL certifikate strežnikaUporabniško imeUporabniško ime: %sRazličicaOglej si poročiloČakam, dokler načrtovalec zaradi napak ne poskusi znovaOpozoriloOpozorilo:Opozorilo: %sOpozorilo: domači URL podatkovne baze (%s) je drugačen kot smo pričakovali (%s)Opozorilo: URL (%s) baze podatkov spletnega mesta je drugačen od pričakovanega (%s)OpozorilaPripetena opozorila:Opozorila:Dostopali smo do prenosnih podatkov in v njih ustvarili datoteke.Dostopali smo do kontejnerja in v njem uspeli ustvariti datoteko.Nismo se uspeli povezati z UpdraftPlus.ComUspešno smo dostopali do prenosnih podatkov, vendar poskus ustvarjanja datoteke ni uspel.Spletni strežnik:Prostor na spletnem strežniku, ki ga uporablja UpdraftPlusWebDAV URLTedenskoDobrodošli na UpdraftPlus!Na katero mesto spremeniti direktorij po prijavi - to je pogosto relativno glede na vaš domači direktorij.Zakaj vidim to?Brez njega bo šifriranje precej počasnejše.Varnostna kopija WordpressaJedro WordpressVarnostna kopija Wordpressa je končanaWordpress jedro (vključno z dodatki v vaš root Wordpress direktorij)Wordpress jedro (samo)Pot do strežnikovega Wordpress root direktorija: %sDaTrenutno niste povezani v vaš UpdraftPlus.Com račun.Uporabljate Wordpress omrežje - vendar vaša varnostna kopija ni takšne vrste.Uporabljaš %s strežnik, vendar ni videti, da bi bil naložen %s modul.Tukaj lahko ročno dešifrirate šifrirano podatkovno bazo.Nimate nameščenega %s dodatka UpdraftPlus - dobite ga na %sVideti je, da imate nameščen zastarel Updraft vtičnik - mogoče ste jih zmedli?Vpisali ste e-pošte, ki je UpdraftPlus.Com ni prepoznal.Imate neaktiven nakupNiste se še povezali z vašim računom Updraft.Com, da bi omogočili seznam kupljenih podatkov.Niste še povezani s svojim UpdraftPlus.Com računom.Niste še naredili nobenih varnostnih kopij.Ko ste pozvani je potrebno kot avtoriziran preusmeritveni URI dodati naslednje (pod "Več možnosti")Za prihodnje posodobitve UpdraftPlus se je potrebno povezati.Potrebno je vnesti kontejnerPotrebno je vnesti novo uporabniško imePotrebno je vnesti novo veljavno e-poštoPotrebno je vnesti API ključ skrbnikaPotrebno je vnesti uporabniško ime skrbnikaPotrebno je ponovno avtentificirati z %s, saj obstoječe poverilnice ne delujejo.Potrebno je vpisati tako naslov e-pošte kot geslo.Posodobite UpdraftPlus, da bi se prepričali, če imate preizkušeno in združljivo različico.Več informacij o tem boste našli med Nastavitvami.Morali boste zahtevati nadgradnjo pri vašem ponudniku spletnega gostovanja.Za informacijo o dovoljenju Wordpress vtičnika o zapisovanjo v mapo, se bo potrebno posvetovati z vašim ponudnikom spletnega gostovanja.Morali ga boste ročno obnoviti.Prejeli steIme vašega %s računa: %sVaša %s kvota uporabe: %s %% uporabljeno, %s na voljoVaša %s različica: %s.Vaša varnostna kopija je obnovljena.UpdraftPlus.Com ni prepoznal vaše e-pošte in gesla.Tvoja e-pošta je veljavna, vendar UpdraftPlus.Com ni prepoznal tvojega gesla.Razpoložljivega prostora na disku je zelo malo - ostaja le %s MbNa vašem računu spletnega gostovanja je le še malo razpoložljivega prostora - ostaja samo %s MbVaše spletno gostovanje mora omogočiti te funkcije preden %s bodo lahko delovale.Vaša oznaka za to varnostno kopijo (po izbiri)Vaša prijava lahko temelji na geslu ali ključu - vnesti je potrebno samo enega in ne obeh.Vaš plačan dostop do podpore UpdraftPlus na tem spletnem mestu je potekel.Vaš plačan dostop do podpore UpdraftPlus bo kmalu potekel.Vaš plačan dostop do posodobitev UpdraftPlus za %s dodatkov na tem spletnem mestu je potekel.Vaš plačan dostop do posodobitev UpdraftPlus za %s %s dodatkov na tem spletnem mestu bo kmalu potekel.Vaš plačan dostop do posodobitev UpdraftPlus na tem spletnem mestu bo kmalu potekel.Vaše nastavitve so shranjenePočistili smo vaše nastavitve.Uporabljena bo e-pošta (%s) skrbnika vašega spletnega mesta.Vaša različica: %sVaš spletni strežnik deluje v t.i. aktivnem načinu PHP safe_mode.Namestitev PHP na vašem spletnem strežniku nima vzpostavljenih teh funkcij: %s.Vaš strežnik nima nameščenega %s modula.Vaša spletna stran je gostovana na %s spletnem strežniku.Vaša spletna stran ni pogosto obiskana in UpdraftPlus ne dobiva dovolj sredstev, ki si jih želi; prosimo, preberite to stran:Strežniška pot do vašega direktorija wp-content: %saktivirajte ga na tej straniže končanoin ohrani toliko časovno nastavljivih varnostnih kopijURI avtentifikacijaizračunavam...Preverite poročilo za več podrobnosti.štejteposkus povezave z bazo podatkov ni uspelPovezava z bazo podatkov ni uspela.ime baze podatkovnpr. %snpr. če je vaš strežnik čez dan obremenjen in bi želeli izvesti ponočišifrirani FTP (explicitno šifriranje)šifriran FTP (implicitno šifriranje)napaka: neuspeh pri nalaganju datoteke v %s (glejte poročilo za več informacij)neuspel dostop do zgornje mapeustvarjanje seznama datotek ni uspelodatotekaDatoteka velikosti:datoteke: %smapasledite povezavi, da ga prejmetegostiteljime gostiteljaRočnoinkrementalna varnostna kopija; temeljna varnostna kopija: %sZadnja aktivnost: %ss nazajzadnjenadaljujem s posodobitvami...ali za resetiranje te možnostigeslogeslo/ključprosimo, sledite tej povezavi za posodobitev vtičnika, da ga boste aktiviraliprosimo, sledite tej povezavi za posodobitev vtičnika, da ga boste prejeliProsimo, počakajte na ponoven preložen poskusvtičnikipreberi več na %sosvežiobičajen nešifriran FTPobnovavrstice: %dpoišči in zamenjajpoišči izraznastavitveprikaži PHP informacijo (phpinfo)prikaži poročiloprezrto (ni v seznamu)začenjati iz naslednjič jeUstavitabela: %sPoizvedba podatkovne baze, ki je tekla, je bila:temenepoznan viruporabite UpdraftPlus Premiumuporabnikuporabniško imese bo obnovilo kot:avtentificirali ste vaš %s računavtentificirali ste vaš %s račun.naslov skrbnika vašega spletnega mestanajden izvršilni zip:languages/updraftplus-id_ID.po000064400001166313147400355670012417 0ustar00# Translation of UpdraftPlus in Indonesian # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2020-04-22 03:12:33+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: id\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "Beli %s" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "Dapatkan %s dari Toko UpdraftPlus.com" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "Lakukan pencadangan" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "Anda berhasil membeli UpdraftPremium." #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "Pergi ke halaman checkout updraftplus.com" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "Pergi ke halaman checkout updraftplus.com" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "Dapatkan %s di sini" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "Wilayah klon:" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "kesini" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "Jika Anda telah memperbarui, maka Anda perlu mengalokasikan lisensi ke situs ini - %s" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "Otentikasi" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "Anda harus memilih setidaknya satu tujuan penyimpanan jarak jauh untuk mengunggah set cadangan ini." #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "Baca lebih lanjut tentang Easy Updates Manager" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "Anda dapat mengetahui lebih lanjut tentang kunci klon di sini." #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "Atau, gunakan kunci UpdraftClone" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "Diperlukan kunci UpdraftClone." #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "Persiapan data klon telah dibatalkan." #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "Mintalah WordPress untuk memperbarui UpdraftPlus secara otomatis ketika menemukan pembaruan yang tersedia." #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "Pembaruan otomatis" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "Mintalah WordPress untuk memperbarui UpdraftPlus secara otomatis ketika pembaruan tersedia" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "Anda harus menambahkan yang berikut ini sebagai URI pengalihan resmi (di bawah \"Opsi Lainnya\") ketika ditanya" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "Frankfurt" #: src/addons/googlecloud.php:61 msgid "London" msgstr "London" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "Belgium" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "Sydney" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "Singapura" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "Tokyo" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "Taiwan" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "Oregon" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "Virginia Utara" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "Karolina Selatan" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "Iowa" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "Memastikan perubahan" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "Tambahkan aturan pengecualian" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "Ketikkan awalan berkas" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "Semua berkas dimulai dengan karakter ini" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "Ketikkan ekstensi seperti zip" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "Pilih berkas/direktori yang ingin Anda kecualikan" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "Semua berkas dimulai dengan karakter yang diberikan" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "Semua berkas dengan ekstensi ini" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "Berkas/direktori" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "Pilih cara untuk mengecualikan file atau direktori dari cadangan" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "Kecualikan berkas/direktori" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "Untuk membaca Pertanyaan Umum/dokumentasi tentang UpdraftClone, buka di sini." #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "akun UpdraftPlus.com Anda" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "Anda dapat memeriksa progresnya di sini atau dalam %s" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "UpdraftClone Anda masih disiapkan." #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "Arsip %s tetap ada" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "Semua data situs telah diterima, dan impornya telah dimulai." #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "WordPress diinstal; sekarang menunggu data situs untuk dikirim." #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "Klon siap" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "Data situs telah digunakan" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "Menyebarkan data situs" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "Data situs diterima" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "Menerima data situs" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "WordPress terpasang" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "Klon Anda sudah mulai, informasi jaringan belum tersedia tetapi akan ditampilkan di sini dan di akun updraftplus.com Anda setelah siap." #: src/admin.php:4330 msgid "Exclude these from" msgstr "Kecualikan ini dari" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "Aturan pengecualian yang Anda coba tambahkan sudah ada" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "Silakan masukkan awalan nama berkas yang valid" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "Silakan masukkan karakter yang memulai nama file yang ingin Anda kecualikan" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "Silakan masukkan ekstensi berkas yang valid" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "Silakan masukkan ekstensi berkas, seperti zip" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "Silakan pilih berkas/direktori yang ingin Anda kecualikan" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "Apakah Anda yakin ingin menghapus aturan pengecualian ini?" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "mencatat hasil ke konsol" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "Untuk membuat klon sementara Anda membutuhkan kredit di akun Anda." #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "Baca Pertanyaan Umum di sini." #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "gagal mengunggah berkas ke %s (lihat berkas log untuk lebih lanjut)" #: src/admin.php:6222 msgid "Dashboard:" msgstr "Dasbor:" #: src/admin.php:6221 msgid "Front page:" msgstr "Halaman Depan:" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "Klon Anda sudah mulai dan akan tersedia di URL berikut setelah siap." #: src/includes/class-commands.php:1093 msgid "manage" msgstr "mengelola" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "Klon saat ini" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "Klon Anda sekarang akan menggunakan data ini untuk membuat kembali situs Anda." #: src/addons/migrator.php:541 msgid "Site key" msgstr "Kunci situs" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "Tambahkan situs" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "kembali" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "Baca artikel ini untuk melihat langkah demi langkah cara melakukannya." #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "Migrasikan (buat salinan situs di hosting yang Anda kontrol)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "Kelola klon Anda" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "Penutupan 1 Oktober 2018" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "Klon Anda akan diperbarui pada:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "Tidak dapat memperoleh tanggal pembaruan" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "Cadangan dibatalkan" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "OneDrive Jerman" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "OneDrive International" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "Jenis akun" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "Saya menerima syarat dan ketentuan UpdraftClone" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "Belum punya akun? Dapatkan satu dengan membeli beberapa token di sini." #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "Anda dapat membeli token UpdraftClone dari toko kami, di sini." #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "Untuk membuat klon sementara Anda perlu: 1) kredit di akun Anda dan 2) untuk terhubung ke akun Anda, di bawah ini." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "Jika Anda mau, uji peningkatan ke versi PHP atau WP yang berbeda." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "Fleksibel" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "Hanya membutuhkan waktu untuk membuat cadangan dan mengirimkannya." #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "Cepat" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "Satu VPS (Virtual Private Server) per klon, dibagikan kepada siapa pun." #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "Aman" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "Berjalan pada kapasitas dari penyedia cloud computing terkemuka." #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "Andal" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "Mudah" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "Buat klon sementara di server kami (UpdraftClone)" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "Plugin WooCommerce" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "Setel ulang tur" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "Tekan tombol ini untuk melakukan tur plugin." #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "Ambil tur" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "Masuk di sini untuk mengaktifkan semua fitur yang Anda miliki aksesnya." #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "Sambungkan ke updraftplus.com" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "Untuk memulai dengan UpdraftVault, pilih salah satu opsi di bawah ini:" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "Selesai" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "UpdraftPlus Premium memiliki banyak fitur menarik lainnya!" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "Premium dan addon UpdraftPlus" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "Terima kasih telah mengikuti tur." #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "Apakah Anda memiliki beberapa situs WordPress yang ingin Anda backup? Jika ya, Anda dapat menghemat waktu dengan mengendalikan semua cadangan Anda di satu tempat dari UpdraftCentral." #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "Kontrol semua cadangan Anda di satu tempat" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "Selamat, pengaturan Anda telah berhasil disimpan." #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "Tekan di sini untuk menyimpan pengaturan Anda." #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "Menyimpan" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "Lihat melalui pengaturan lain di sini, buat perubahan apa pun yang Anda suka." #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "Lebih banyak pengaturan" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "Cari tahu lebih lanjut di sini." #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "UpdraftVault adalah penyimpanan jarak jauh kami yang berfungsi mulus dengan UpdraftPlus." #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "Pilih jadwal yang Anda inginkan untuk menjalankan pencadangan Anda." #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "Pilih jadwal cadangan Anda" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "Selamat! Cadangan pertama Anda sedang berjalan." #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "Pergi ke pengaturan" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "Tekan di sini untuk menjalankan pencadangan manual." #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "Membuat cadangan pertama Anda" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "Pilih apa yang ingin Anda cadangkan" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "Opsi pencadangan manual" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "Cadangan pertama Anda" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "Tekan di sini untuk memulai!" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "plugin cadangan paling tepercaya di dunia!" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "Akhiri tur" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "Lewati langkah ini" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "Kembali" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "Anda dapat membeli lebih banyak token klon sementara di sini." #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "Melarang non-administrator untuk masuk ke WordPress di klon Anda" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "Premium / Cari tahu lebih lanjut" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "Plugin hebat lainnya" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "Anda dapat menemukan informasi klon sementara di akun updraftplus.com Anda di sini." #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "Pilih default untuk setiap tabel" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "Mengirim berkas ke situs jarak jauh" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "Server klon disediakan dan di-boot (bisa memakan waktu beberapa menit)" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "Cadangkan / Kembalikan" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "Izinkan hanya administrator untuk masuk" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "Anda dapat melarang login non-admin ke situs yang dikloning ini dengan mencentang kotak di bawah in" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "Pengaturan login sementara pengguna UpdraftPlus sementara:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "Selamat datang di UpdraftClone Anda (klon sementara)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "Segarkan koneksi" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "Log semua pesan ke syslog" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "Kunci RSA kunci server %s sidik jari: %s." #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "Sidik jari RSA" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "Sidik jari tidak cocok." #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "Informasi lebih lanjut di sini." #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "Migrasi / Klon" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "Instalasi WordPress Anda memiliki direktori lama dari statusnya sebelum Anda dipulihkan / dimigrasikan (informasi teknis: ini berakhir dengan yang lama)." #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "Ini bukan cadangan tambahan" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "Jalankan perintah ini untuk melihat berkas log untuk pemulihan ini (diperlukan untuk setiap permintaan dukungan)." #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "(versi sekarang)" #: src/admin.php:4235 msgid "press here" msgstr "tekan di sini" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "kebijakan privasi ini" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "Harap baca %s untuk penggunaan aplikasi otorisasi %s kami (tidak ada data cadangan Anda yang dikirimkan kepada kami)." #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "Ceritakan lebih banyak" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "Dan kemudian tambahkan cadangan tambahan" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "Setiap jam" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "Buat klon" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "Token klon sementara yang tersedia:" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "Pengolahan" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "Terhubung ke UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "Persyaratan dan kebijakan akun UpdraftPlus.Com" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "Saya menyetujui %s" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "Kata Sandi Satu Kali (periksa aplikasi OTP Anda untuk mendapatkan kata sandi ini)" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "Masuk atau daftar dengan alamat email ini" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "Jika tidak, maka pilih detail Anda dan akun baru akan didaftarkan." #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "Jika Anda sudah memiliki akun updraftplus.com, maka masukkan detail di bawah ini." #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "Mungkin Anda ingin masuk saja." #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "Kesulitan menghubungkan? Coba gunakan metode alternatif dalam opsi keamanan tingkat lanjut." #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "Diperlukan email dan harus dalam format yang valid." #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "Kolom email dan kata sandi diperlukan." #: src/admin.php:1059 msgid "Registration successful." msgstr "Registrasi berhasil." #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "Ikuti tautan ini untuk membuka %s di jendela baru." #: src/admin.php:1057 msgid "Login successful." msgstr "Login berhasil." #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "UpdraftCentral Cloud" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "Apakah Anda yakin ingin mengabaikan semua berita UpdraftPlus selamanya?" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "Singkirkan semua berita UpdraftPlus" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "Berita UpdraftPlus" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "Kunci migrasi dibuat:" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "Parameter tidak ada" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "Azure Jerman" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "Azure Global" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "Perintah WP-CLI untuk mengambil, mendaftar dan menghapus cadangan." #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "Dukungan WP-CLI" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "WP CLI" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "Id Pekerjaan Tidak Valid" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "arsip" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "Ekstra database" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "Tekan disini untuk mengunduh ataupun menjelajahi" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "Kesalahan: jalur tidak valid" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "Memproses file log" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "Telusuri file zip" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "Dengan UpdraftPlus Premium, anda bisa langsung mengunduh file secara individual dari sini." #: src/admin.php:944 msgid "Browse contents" msgstr "Telusuri konten" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "Tabel yang terlewati:" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "Semua tabel WordPress akan dicadangkan." #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "Kode HTTP:" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "Pertanyaan Umum" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "direkomendasikan" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "Pengunggahan kemungkinan gagal: Batas %s untuk satu berkas adalah %s, dan berkas ini berukuran %s GB (%d bytes)" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "Ini biasanya dikarenakan oleh firewall - coba nonaktifkan SSL dalam pengaturan lanjutan, dan coba lagi." #: src/methods/ftp.php:438 msgid "login" msgstr "masuk" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "Ketahui bahwa server mail terkadang memiliki batas ukuran; biasanya sekitar %s MB; cadangan lebih besar dari batas kemungkinan tidak akan terkirim." #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "Ukuran: %s MB" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "Anda harus mengaktifkan %s untuk membuat pranala (misal. %s) bekerja" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "(sentuh di icon untuk memilih atau membatalkan pilihan)" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "%s per tahun" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "atau (diskon tahunan)" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "Tidak ditemukan sambungan Vault untuk situs ini (apakah sudah dipindahkan?); mohon putuskan dan sambungkan ulang." #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "Berkas tersebut tidak ditemukan, atau tidak dapat dibaca." #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "Pencadangan dibatalkan oleh user" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Pengaturan Anda telah disimpan." #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "Berhenti" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "Menyimpan..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "Galat: server mengirimkan respon yang tidak dapat dimengerti." #: src/admin.php:926 msgid "Fetching..." msgstr "Mengambil..." #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "Asia Pacific (Seoul)" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Abaikan" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "pengaturan" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "Ekstensi" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "Anda tidak memiliki akses bucket ini" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "Eropa Barat" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "Asia Pasifik Barat" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "Amerika Serikat Barat" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "Amerika Serikat Timur" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "Amerika Serikat Tengah" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "Uni Eropa" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "Asia Pasifik" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "lokasi multi-region" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "Amerika Serikat" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "Nearline" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "Ketersedian yang kurang tahan lama" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "Standard" #: src/addons/azure.php:700 msgid "container" msgstr "container" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "Anda dapat memasukan path dari folder virtual %s apapun yang Anda ingin gunakan disini." #: src/addons/azure.php:699 msgid "optional" msgstr "opsional" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "Lihat panduan Microsoft tentang penamaan container dengan mengikuti tautan berikut." #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "Masukan path dari %s yang Anda ingin gunakan disini." #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "Ini bukan akun Azure anda - lihat instruksi jika memerlukan bantuan lebih lanjut." #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "Azure" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "Buat kredensial Azure di console pengembang Azure Anda." #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "Tidak dapat membuat container" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "Tidak dapat mengakses container" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Tidak diinstal" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "Anda harus menyimpan dan mengautentikasi sebelum dapat mencoba pengaturan Anda." #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "Belum memperoleh token akses dari Google - Anda perlu mengesahkan atau mengesahkan kembali koneksi Anda ke Google Cloud." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "Anda tidak memiliki akses bucket ini." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "Google Cloud" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "Kesalahan Service %s." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "Tambahkan aturan penyimpanan..." #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "Gagal menghapus:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "Untuk bantuan lebih lanjut, termasuk screenshot, ikuti tautan berikut." #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "(bersamaan dengan pencadangan berkas)" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Cadangkan (yang berlaku) plugin, tema dan database Wordpress dengan UpdraftPlus sebelum memperbarui" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "Pencadangan otomatis sebelum pembaruan" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "WordPress core (saja)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "sedang memproses pembaruan..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(lihat log...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "Pencadangan berhasil" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "Namun, upaya akses selanjutnya gagal:" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "Dalam %s, nama path case sensitive." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "Jika Anda mengosongkannya, maka cadangan akan ditempatkan di root %s Anda" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "misal. %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "Masukan path folder %s yang Anda ingin gunakan disini." #: src/methods/openstack2.php:257 msgid "Container" msgstr "Container" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "Berhasil:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "Autentikasi dengan %s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "Objek %s tidak ditemukan" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "Nama pemegang akun: %s" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "Folder" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "Pengunduhan %s: gagal: berkas tidak ditemukan" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "NamA: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "Kunci" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "Akun penuh: akun %s anda hanya memiliki sisa %d bytes, tapi file yang akan diunggah memiliki sisa %d bytes (total ukuran: %d bytes)" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "Alamat Email User Baru" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "Username User Baru" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "Kunci API Admin" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "Username Admin" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "Akun Rackspace AS atau UK" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "Masukan username/kunci API admin Rackspace Anda (agar Rackspace dapat mengautentikasikan ijin Anda untuk membuat user baru), dan masukan username (unik) dan alamat email baru untuk user baru dan nama container." #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "Buat user dan container API baru" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "Kunci API: %s" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "Password: %s" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "Username: %s" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "Opearasi Cloud Files gagal (%s)" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "Konflik: user atau alamat email sudah ada" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "Anda harus memasukan alamat email baru yang sah" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "Anda harus memasukan container" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "Anda harus memasukan username baru" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "Anda harus memasukan kunci API admin" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "Anda harus memasukan username admin" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "Buat user API baru dengan akses hanya ke container ini (tidak ke seluruh akun Anda)" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "Container Cloud Files" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "Hong Kong (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "Northern Virginia (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "Chicago (ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "Sydney (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "Dallas (DFW) (default)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "Wilayah Penyimpanan Cloud Files" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "Akun yang dibuat di rackspacecloud.com adalah akun AS; akun yang dibuat di rackspacecloud.co.uk adalah akun UK." #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "Autorisasi gagal (periksa kredensial Anda)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "Autentikasi %s" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "Galat %s: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(log dapat dilihat di halaman pengaturan UpdraftPlus dengan normal)..." #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "Ingat pilihan ini untuk berikutnya (Anda masih bisa mengubahnya)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "Gagal mengunggah" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "Baca lebih lanjut tentang bagaimana cara kerjanya..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "Lanjutkan pembaruan" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "Jangan membatalkan setelah menekan Lanjutkan di bawah - tunggu sampai pencadangan selesai." #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "Pencadangan Otomatis UpdraftPlus" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "Terjadi kesalahan:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "Membuat cadangan dengan UpdraftPlus..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "Pencadangan Otomatis" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "Membuat cadangan database dengan UpdraftPlus..." #: src/addons/autobackup.php:431 msgid "themes" msgstr "tema" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "plugin" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "Memulai pencadangan otomatis." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "Membuat %s dan cadangan database dengan UpdraftPlus..." #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Cadangkan otomatis (yang berlaku) plugin, tema dan database Wordpress dengan UpdraftPlus sebelum memperbarui" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "Aman dengan pencadangan otomatis" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "Zona waktu yang digunakan dari pengaturan WordPress Anda, di Pengaturan -> Umum." #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "Masukan dalam format JJ:MM (misal. 14:22)." #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "Galat %s" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "Galat: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Peringatan:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Tutup" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "Respon salah:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "Simpan di" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "dimulai dari selanjutnya" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Kata kunci" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "Inti WordPress" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Gagal" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "Tidak ditemukan pengaturan %s" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "Berhasil: kami berhasil masuk, dan mengonfirmasi kemampuan kami untuk membuat file di direktori yang diberikan (jenis login:" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "Kegagalan: kami tidak berhasil masuk dengan kredensial itu." #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "Kegagalan: Tidak ada detail server yang diberikan." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "Nama akun %s anda: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "anda telah mengautentikasikan akun %s Anda" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "Perlu menggunakan sub-folder?" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "kesalahan: gagal mengunggah file ke %s (lihat berkas log untuk lebih lanjut)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "kesalahan: %s (lihat berkas log untuk lebih lanjut)" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "Komunikasi dengan %s tidak dienkripsi." #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "Komunikasi dengan %s dienkripsi." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "Kegagalan" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "Gagal: Tidak ada detail bucket." #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "Catatan:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "Backup WordPress" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "Kami mengakses wadah, dan dapat membuat file di dalamnya." #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "Kesalahan File Cloud - kami mengakses wadah, tetapi gagal membuat file di dalamnya" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "Kesalahan: Tidak ada detail kontainer yang diberikan." #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Nama Pengguna" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "Kunci API" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "Kegagalan: Tidak ada %s yang diberikan." #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "Nama pengguna Cloud Files" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "UK" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "AS (default)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "Cloud AS atau Inggris" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "Anda juga harus membaca Pertanyaan Umum penting ini." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "Tes Pengaturan %s" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "Kesalahan membuka berkas lokal: Gagal mengunduh" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "Kesalahan %s: Gagal mengunggah" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "Galat %s: Gagal membuka berkas lokal" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "Autentikasi Cloud Files gagal" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Otentikasi dengan Google" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "Rahasia Klien" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "Jika Google nanti menampilkan pesan \"invalid_client\" kepada Anda, maka Anda tidak memasukkan ID klien yang valid di sini." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "ID klien" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "Pilih 'Aplikasi Web' sebagai jenis aplikasi." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "Akun tidak terautorisasi." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "Gagal mengunggah ke %s" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "Akun penuh: akun %s Anda hanya memiliki %d byte, tetapi file yang akan diunggah adalah %d byte" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "Belum memperoleh token akses dari Google - Anda perlu mengesahkan atau mengesahkan kembali koneksi Anda ke Google Drive." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "Anda telah mengautentikasi akun %s Anda." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "Berhasil" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "Penggunaan quota %s Anda: %s %% digunakan, %s tersisa" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "ikuti tautan ini untuk mendapatkannya" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "Dukungan %s tersedia sebagai add-on" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" "70/5000\n" "Anda tidak menginstal add-on %s UpdraftPlus - dapatkan dari %s" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "Anda perlu mengautentikasi ulang dengan %s, karena kredensial Anda yang saat ini ada tidak berfungsi." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "OK" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "Prefix tabel telah diubah: mengubah %s field tabel dengan penyesuaian:" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "query database yang dijalankan adalah:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "akan dipulihkan sebagai:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "Prefix tabel lama:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "Cadangan dari:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "Gagal membuka berkas database" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "Gagal menemukan berkas database" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "Gagal menulis database yang didekrip ke filesystem" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "Gagal membuat direktori sementara" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "Gagal menghapus direktori kerja setelah pemulihan." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "Membersihkan sampah..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "Memulihkan database (pada situs besar akan membutuhkan waktu lama - jika waktu habis (mungkin terjadi jika penyedia hosting web Anda memberlakukan batas resource) maka Anda harus menggunakan metode lain, misalnya phpMyAdmin)..." #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "Database berhasil didekrip." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "Mendekrip database (mungkin membutuhkan waktu lama)..." #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "Membuka cadangan..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "Gagal menyalin entitas ini." #: src/restorer.php:842 msgid "Backup file not available." msgstr "Berkas cadangan tidak tersedia." #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "Pesan galat" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "Catatan pencadangan tidak memuat informasi tentang ukuran berkas yang tepat." #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "Arsip diperkirakan berukuran:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "Jika anda menyampaikan permintaan bantuan, mohon sertakan informasi berikut:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "BATAL: Tidak dapat menemukan informasi entitas yang akan dipulihkan." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "Pemulihan UpdraftPlus: Proses" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "Setelah mengklik tombol ini, Anda akan diberi pilihan untuk menentukan komponen yang ingin Anda pulihkan." #: src/admin.php:4745 msgid "Delete this backup set" msgstr "Hapus set cadangan ini" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Simpan Perubahan" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "Nonaktifkan SSL sepenuhnya jika memungkinkan" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "Ingat bahwa tidak semua metode pencadangan cloud perlu menggunakan autentikasi SSL." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "Jangan verifikasi sertifikat SSL" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "Gunakan sertifikat SSL server" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "Jika itu tidak berhasil perika ijin pada server Anda atau ubah ke direktori lain yang dapat ditulis oleh proses server web Anda." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "atak, untuk mengatur ulang opsi ini" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "Ikuti tautan ini untuk mencoba membuat direktori dan mengatur izin" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "Direktori pencadangan yang ditentukan dapat ditulis, bagus." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "Direktory pencadangan" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "Hapus cadangan lokal" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "Tampilkan pengaturan lanjutan" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "Pengaturan lanjutan" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Mode debug" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "Pengaturan Lanjutan / Debugging" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "Meminta permulaan pencadangan..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Batal" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Tidak ada" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "Pilih penyimpanan Anda" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "Dekrip berkas cadangan database secara manual" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "Frasa enkripsi Database" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "Email" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "Direktori diatas adalah seluruhnya, kecuali WordPress core yang dapat anda unduh dari WordPress.org." #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "Terkecuali:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "Direktori lainnya di dalam wp-content" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "Termasuk di berkas cadangan" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "misal. jika server Anda sibuk saat pagi dan anda ingin menjalankannya semalaman" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "Untuk menentukan waktu pencadangan dilakukan," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Bulanan" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "Setiap 2 minggu" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Mingguan" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Harian" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "Unduh berkas log" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "Folder ada, tetapi server web Anda tidak memiliki ijin untuk menulisnya." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "Gagal meminta filesystem untuk membuat direktori." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Hapus" #: src/admin.php:3877 msgid "show log" msgstr "tampilkan log" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "Ini akan menghapus semua setelan UpdraftPlus Anda - yakin ingin melakukannya?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "penghitungan" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "N.B. Penghitungan ini berdasarkan yang dikecualikan, atau tidak dikecualikan, saat terakhir Anda menyimpan opsi tersebut." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Total (tidak dikompres) data on-disk" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Tidak" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Ya" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "Versi %s:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "Penggunaan memory saat ini" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "Penggunaan memory tertinggi" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "Server web:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "Anda membutuhkan dukungan Multi-situs WordPress?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Multi-situs" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "Baca artikel berikut tentang hal yang perlu diketahui sebelum memulihkan." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "Opsi pemulihan %s:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "Anda harus memulihkannya secara manual." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "Tidak dapat memulihkan entitas berikut secara otomatis: \"%s\"." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "Server web Anda mengaktifkan mode yang disebut safe_mode pada PHP" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Pilih komponen untuk dipulihkan" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "Pemulihan akan menggantikan tema, plugin, unggah, database dan/atau direktori konten lainnya pada website (tergantung pada yang terdapat dalam set cadangan, dan pilihan Anda)" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Pulihkan cadangan" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "Hapus set cadangan" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "Galat pengunduhan: server mengirimkan respon yang tidak dapat dimengerti." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Galat:" #: src/admin.php:927 msgid "calculating..." msgstr "menghitung..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - Unggah berkas cadangan" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "segarkan" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "Ruang disk web-server yang digunakan oleh UpdraftPlus" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "Ini adalah hitungan dari isi direktori Updraft Anda" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Drive" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "Jika anda menggunakan ini, nonaktifkan mode Tubro/Road" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Peramban web Opera" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "Tugas lain:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "Unduh berkas log yang baru dimodifikasi" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Pesan log terakhir" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Pulihkan" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "Cadangkan Sekarang" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "Waktu sekarang" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Database" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Berkas" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "Pencadangan terjadwal selanjutnya" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "Di saat yang sama dengan pencadangan berkas" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "Tidak ada penjadwalan" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "Peringatan JavaScript" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Hapus Direktori Lama" #: src/admin.php:3050 msgid "Current limit is:" msgstr "Batas saat ini:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "Cadangan anda telah dipulihkan." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Versi" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "Homepage pemimpin pengembangan" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Setelan Anda telah dihapus." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "Direktori pencadangan berhasil dibuat." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "Direktori pencadangan tidak dapat dibuat" #: src/admin.php:3888 msgid "Remove old directories" msgstr "Hapus direktori lama" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Kembali ke Konfigurasi UpdraftPlus" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Tindakan" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "Format nama berkas salah - tampaknya ini bukan berkas database terenkripsi yang dibuat dengan UpdraftPlus" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Format nama berkas salah - tampaknya ini bukan berkas yang dibuat dengan UpdraftPlus" #: src/admin.php:2631 msgid "No local copy present." msgstr "Tidak ada salinan lokal." #: src/admin.php:2628 msgid "Download in progress" msgstr "Pengunduhan sedang berlangsung" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "Berkas siap." #: src/admin.php:2598 msgid "Download failed" msgstr "Gagal mengunduh" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Galat" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "Tidak dapat menemukan pekerjaan - mungkin sudah selesai?" #: src/admin.php:2335 msgid "Job deleted" msgstr "Pekerjaan dihapus" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Belum ada log" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Silahkan periksa FAQ berikut jika Anda memiliki masalah dalam pencadangan." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "Web situs anda dihost menggunakan server web %s." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Peringatan" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Pengaturan" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Pengulangan tanpa henti: lihat log Anda untuk informasi lebih lanjut" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Berkas tidak ditemukan" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "Kunci dekripsi yang digunakan:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "Tidak dapat membuka berkas cadangan untuk ditulis" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "Tidak dapat membaca direktori" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "Direktori pencadangan (%s) tidak dapat ditulis, atau tidak ada." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "Pencadangan WordPress selesai" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "Upaya pencadangan selesai, tetapi tidak berhasil." #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Lainnya" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Pengunggahan" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Tema" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Plugin" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "Tidak ada berkas log." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "Berkas log tidak dapat dibaca." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "Pemberitahuan UpdraftPlus" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "UpdraftPlus Backups"languages/updraftplus-da_DK.po000064400001323411147400355670012403 0ustar00# Translation of UpdraftPlus in Danish # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2019-05-27 21:59:09+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: da_DK\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "Klon region:" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "gå hertil" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "Hvis du allerede har fornyet, skal du tilknytte en licens til dette websted - %s" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "Godkendelse" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "Du skal vælge mindst ét fjernlager at uploade denne backup til." #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "Læs mere om Easy Updates Manager" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "Du kan finde ud af mere om klonetaster her." #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "Eller, brug en UpdraftClone nøgle" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "Fundet SET NAMES %s, men skifter til %s som foreslået af WPDB::determine_charset()." #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "UpdraftClone-nøgle er påkrævet." #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "Udarbejdelsen af klondataene er blevet afbrudt." #: src/addons/azure.php:705 msgid "Azure Government" msgstr "Azure regering" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "Bed WordPress om automatisk at opdatere UpdraftPlus, når der findes en tilgængelig opdatering." #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "Automatiske opdateringer" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "Din database brugerkonto har ikke tilladelse til at slette tabeller" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "Bed WordPress om at opdatere UpdraftPlus automatisk, når en opdatering er tilgængelig" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "Du skal tilføje følgende som autoriseret omdirigerings-URI (under \"Flere indstillinger\"), når du bliver spurgt" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "Frankfurt" #: src/addons/googlecloud.php:61 msgid "London" msgstr "London" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "Belgien" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "Sydney" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "Singapore" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "Tokyo" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "Taiwan" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "Oregon" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "North Virginia" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "South Carolina" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "Iowa" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "Bekræft ændring" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "Tilføj en udelukkelsesregel" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "Indtast et filpræfiks" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "Alle filer der begynder med disse tegn" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "Skriv en udvidelse som f.eks. zip" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "Vælg en fil/mappe, som du gerne vil udelukke" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "Alle filer der begynder med disse tegn" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "Alle filer med denne udvidelse" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "Fil/mappe" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "Vælg en måde at ekskludere filer eller mapper fra backup'en" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "Ekskluder filer/mapper" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "Gå hertil, for at læse ofte stillede spørgsmål/dokumentation om UpdraftClone." #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "din UpdraftPlus.com konto" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "Du kan kontrollere fremskridt her eller i %s" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "Din UpdraftClone indstilles stadig." #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "%s arkiver mangler" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "Alle webstedets data er blevet modtaget, og importen er begyndt." #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "WordPress installeret; afventer nu de data, der skal sendes." #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "Klon klar" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "Webstedets data er blevet implementeret" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "Implementering af webstedsdata" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "Websteddata modtaget" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "Modtagelse af webstedsdata" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "WordPress installeret." #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "Din klon er startet, netværksoplysninger er endnu ikke tilgængelige, men vil blive vist her og på din updraftplus.com konto, når den er klar." #: src/admin.php:4330 msgid "Exclude these from" msgstr "Ekskluder disse fra" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "Den udelukkelsesregel, som du forsøger at tilføje, eksisterer allerede" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "Indtast venligst et gyldigt filnavn præfiks" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "Indtast venligst tegn, der begynder filnavnet, som du gerne vil udelukke" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "Indtast venligst et gyldigt filtypenavn" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "Indtast venligst en filtype, som f.eks. zip" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "Vælg venligst en fil/mappe, som du gerne vil udelukke" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "Er du sikker på, at du vil fjerne denne udelukkelsesregel?" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "log resultater til konsol" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "For at oprette en midlertidig klon har du brug for kredit på din konto." #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "Læs ofte stillede spørgsmål her." #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "kunne ikke uploade filen til %s (se logfil for mere info)" #: src/admin.php:6222 msgid "Dashboard:" msgstr "Dashboard:" #: src/admin.php:6221 msgid "Front page:" msgstr "Forside:" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "Din klon er startet og vil være tilgængelig på følgende webadresser, når den er klar." #: src/includes/class-commands.php:1093 msgid "manage" msgstr "styre" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "Nuværende kloner" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "Din klon vil nu implementere disse data for at genskabe dit websted." #: src/addons/migrator.php:541 msgid "Site key" msgstr "Side-nøgle" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "Tilføj et site." #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr " tilbage" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "Læs denne artikel for at se trin for trin, hvordan man gør. " #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "Migrere (lav en kopi af et websted, du administrerer) " #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "Administrer dine kloner" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "Lukker 1. oktober 2018" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "Din klon vil blive fornyte:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "Kan ikke få dato for fornyelse" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "Backup'en blev afbrudt" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "OneDrive Tyskland" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "OneDrive International" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "Kontotype" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "Jeg accepterer vilkår og betingelser for UpdraftClone" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "Har du ikke en konto? Få en ved at købe nogle tokens her" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "Her kan du købe UpdraftCone tokens fra vores shop." #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "For at oprette en midlertidig klon har du brug for: 1) Kredit på din konto og 2) At oprette forbindelse til din konto nedenfor." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "Du er velkommen til at teste opgradering til en anden PHP eller WP-version." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "Fleksibel" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "Tager kun den nødvendige for at oprette en sikkerhedskopi og sende den." #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "Hurtigt" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "En VPS (Virtual Private Server) pr. klon, ikke delt med andre." #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "Sikker" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "Kører på kapacitet fra en førende cloud data provider." #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "Pålidelig" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "Nemt" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "Opret en midlertidig klon på vores servere (UpdraftClone)" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "WooCommerce plugins" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "Reset tour" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "Tryk på denne knap for at få en rundvisning af plugin'et." #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "Tag rundvisningen" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "Log ind her for at aktivere alle de funktioner, du har adgang til." #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "Opret forbindelse til updraftplus.com" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "Vælg én af nedenstående muligheder for at komme i gang med UpdraftVault." #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "Slut" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "UpdraftPlus Premium har endnu flere spændende funktioner!" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "UpdraftPlus Premium og addons" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "Tak fordi du tog rundvisningen." #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "Har du flere WordPress-sider, du vil sikkerhedskopiere? Hvis ja, kan du spare timer ved at administrere alle dine sikkerhedskopier vis UpdraftCentral." #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "Administrer alle dine backups ét sted" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "Tillykke, dine indstillinger er blevet gemt." #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "Tryk her for at gemme dine indstillinger." #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "Gem" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "Gennemse de andre indstillinger her og foretag enhver ønsket ændring." #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "Flere indstillinger" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "Lær mere her" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "UpdraftVault er vores fjernlager, der fungerer problemfrit med UpdraftPlus." #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "Vælg den tidsplan for kørsel af dine sikkerhedskopier." #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "Vælg din backup-plan" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "Tillykke! Din første sikkerhedskopiering kører." #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "Gå til indstillinger" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "Kør regelmæssigt backup til fjerntliggende cloud storage i %s indstillinger %s for at undgå server-trusler" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "Klik her for at køre en manuel backup." #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "Opret din første backup" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "Vælg hvad du ønsker at lave backup af" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "Manuelle backup muligheder" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "Tryk her for at udføre en simpel backup til din server. Eller gå til %s indstillinger %s for at konfigurere regelmæssige sikkerhedskopier og fjernlager." #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "Din første backup" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "Klik her for at starte!" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "verdens mest betroede backup plugin!" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "Velkommen til UpdraftPlus" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "UpdraftPlus-indstillinger" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "Slut rundvisning" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "Spring over dette step" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "Tilbage" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "Du kan købe flere midlertidige klon tokens her." #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "Forbyd ikke-administratorer at logge ind på WordPress på din klon" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "Premium / Se mere her" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "Andre gode plugins" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "Du kan finde dine midlertidige klonoplysninger på din updraftplus.com konto her." #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "Vælg en standard for hver tabel" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "Sender filer til fjernwebsted" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "Klon-server klargøres og genstartes (kan tage flere minutter)" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "Backup / Genskab" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "Backup" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "Seneste fulde backup fundet; identificerer:" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "Ingen tidligere backup fundet." #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "Fjernlager: %s" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "Ingen tidligere backup at tilføje et trin til blev fundet." #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "Ønsket tegnsæt (%s) er ikke tilgængeligt - skifter til %s." #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "Tillad kun administratorer at logge ind" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "Du kan forbyde ikke-admin logins på dette klonede websted ved at markere afkrydsningsfeltet nedenfor" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "UpdraftPlus bruger login-indstillinger for midlertidig klon:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "Velkommen til din UpdraftClone (midlertidig klon)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "Opdater forbindelse" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "Log alle meddelelser til syslog" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "Serverens RSA-nøgle %s fingeraftryk: %s." #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "RSA fingeraftryk" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "Fingeraftryk matcher ikke." #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "Mere information her." #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "Flytte / Klone" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "Tillad kun manuel sletning af denne backup (dvs. behold den, selv om tidsgrænsen for opbevaring overskrides)." #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "Din WordPress installation har gamle mapper fra inden du gendannede / migrerede (teknisk information: disse er markeret med -old)." #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "Dette er ikke en trinvis backup" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "Kør denne kommando for at se log-filen for denne genoprettelse (skal bruges ved alle supportanmodninger)." #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "(nuværende version)" #: src/admin.php:4235 msgid "press here" msgstr "klik her" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "denne privatlivspolitik" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "Læs venligst %s til brug af vores %s autorisations-app (ingen af dine backupdata bliver sendt til os)." #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "Fortæl mig mere" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "Og tilføj så en trinvis backup" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "Hver time" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "Opret klon" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "Tilgængelige midlertidige klon tokens:" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "Bearbejder" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "Opret forbindelse til UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "UpdraftPlus.Com kontovilkår og politikker" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "Jeg accepterer op til %s" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "One Time Password (check din OTP app for at få denne adgangskode)" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "Log ind eller registrer dig med denne mailadresse" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "Hvis ikke, så vælg dine oplysninger og en ny konto vil blive registreret." #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "Hvis du allerede har en updraftplus.com-konto, skal du indtaste oplysningerne herunder." #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "Tilføj denne hjemmeside til dit UpdraftCentral Cloud dashboard på updraftplus.com." #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "Log ind eller registrer dig for UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "Gå hertil for at forbinde det." #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "Eller hvis du foretrækker selv at være vært, kan du få den selvhostede version her." #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "Forbind dette websted til UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "Backup, opdater og administrer alle dine WordPress-websteder fra ét dashboard" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "Filen %s har et \"byte rækkefølge mærke\" (BOM) ved starten." msgstr[1] "Filerne %s har et \"byte rækkefølge mærke\" (BOM) ved starten." #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "Gå til \"Advancerede Værktøjer\" fanen for fremtidig kontrol af alle dine UpdraftCentral forbindelser." #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "Du kan også lukke denne guide." #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "Du skal læse og acceptere UpdraftCentral Cloud data- og privatlivspolitikker, før du kan fortsætte." #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "Vent venligst mens du omdirigeres til UpdraftCentral Cloud." #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "Vent venligst mens systemet genererer og registrerer en krypteringsnøgle til dit websted med UpdraftCentral Cloud." #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "Måske vil du gerne logge ind i stedet." #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "Problemer med at forbinde? Prøv at bruge en anden metode i de avancerede sikkerhedsindstillinger." #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "En email er påkrævet og skal være i et gyldigt format." #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "Både email og adgangskode felter er påkrævede." #: src/admin.php:1059 msgid "Registration successful." msgstr "Registrering succesfuld." #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "Følg dette link for at åbne %s i et nyt vindue." #: src/admin.php:1057 msgid "Login successful." msgstr "Login succesfuld." #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "UpdraftCentral Cloud" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "Er du sikker på, at du vil afvise alle UpdraftPlus nyheder for evigt?" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "Afvis alle UpdraftPlus nyheder" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "UpdraftPlus Nyheder" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "Overflytnings-nøgle oprettet:" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "Manglende parametre" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "Azure Germany" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "Azure Global" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "Azure Konto" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "Venligst angiv Microsoft OneDrive-mappenavnet, ikke URL'en." #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "Vælg de fjernlagrings-steder, du vil uploade dette backup sæt til" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "Upload backup" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "Når du har trykket på denne knap, kan du på liste over dine gemte fjernlagre vælge, hvortil du vil uploade din sikkerhedskopi" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "(allerede uploaded)" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "Upload" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "Mail kun database backup'en" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "Vær opmærksom på, at mail-servere har tendens til at have størrelses-begrænsningerr; typisk omkring %s MB; Backups større end eventuelle begrænsninger vil sandsynligvis ikke komme frem som følge heraf. UpdraftPlus sender kun database backups til emails." #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "Brug denne indstilling til alene at sende databasebackups, når du sender til e-mail." #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "For trinvise sikkerhedskopier kan du vælge, hvilke trin der skal gendannes på et senere tidspunkt." #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "Forøgelser eksisterer ved: %s" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "(seneste stigning: %s)" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "Europa (Paris)" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "WP-CLI kommandoer til at tage, sortere og slette sikkerhedskopier." #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "WP-CLI support" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "WP CLI" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "Ugyldigt job ID" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "Backup ID startet fornylig:%s" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "Den angivne værdi for '%s'-muligheden er ikke gyldig" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "Så for at få nøglen til fjernwebstedet, skal du åbne vinduet \"Migrér websted\" på dette websted og gå til det pågældende afsnit." #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "Nøgler til et websted oprettes i afsnittet \"Modtag en sikkerhedskopi fra et eksternt site\"." #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "Du skal kopiere og indsætte denne nøgle på afsendelsesstedet nu - Den kan ikke vises igen." #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "Denne funktionalitet er blevet deaktiveret af webstedsadministratoren." #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "Tak for, at du installerede UpdraftPlus!" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" "Ingen nøgler til at tillade fjernwebsites at sende backup data her er endnu blevet oprettet.\n" "Der er endnu ikke oprettet nøgler til at sende backup data hertil fra fjern-websites." #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "Kunne ikke læse fra arbejdsmappen." #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "Kunne ikke finde en manifest-fil i backup'en." #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "Kunne ikke læse manifest-filen fra backup." #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "(Ingen konfigureret)" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "Sørg for, at du er logget ind på den rigtige konto, inden du fortsætter." #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "Fjernlager metode og angivelse af id er nødvendige for godkendelse." #: src/admin.php:5720 msgid "authentication error" msgstr "godkendelsesfejl" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "(Intet er logget endnu)" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "Du vil gerne bruge nedenstående søgning og erstatte webstedets placering i databasen for at søge / erstatte webstedets adresse." #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "Tilføj en anden %s konto ..." #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "Slet disse indstillinger" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "I øjeblikket deaktiveret" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "I øjeblikket aktiveret" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "Hvis du har købt via UpdraftPlus.Com, skal du følge dette link til installationsvejledningen (især trin 1)." #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "Du bruger i øjeblikket den gratis version af UpdraftPlus." #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "Få det her" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "ekstern side" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "Ugyldigt emne-navn" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "Den ønskede tabel-sortering (%1$s) findes ikke - skift til %2$s." msgstr[1] "De ønskede tabel-sorteringer (%1$s) findes ikke - skift til %2$s." #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "Din valgte alternative sortering" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "Du kan vælge en anden passende sortering i stedet og fortsætte med genoprettelsen (på egen risiko)." #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "Database-serveren, som dette WordPress-websted ligger på, understøtter ikke den sortering (%s), der bruges i databasen, som du forsøger at importere." msgstr[1] "Database-serveren, som dette WordPress-websted ligger på, understøtter ikke flere af sorteringerne (%s), der bruges i databasen, som du forsøger at importere." #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "Muligheder ved genskabelse af database:" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "Dette ligner en migrering (sikkerhedskopien er fra et websted med en anden adresse / URL,%s)." #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "%s forudinstilling" #: src/addons/azure.php:696 msgid "%s Container" msgstr "%s beholder" #: src/addons/azure.php:694 msgid "%s Key" msgstr "%s Nøgle" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "%s Konto navm" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "Dit .htaccess har en gammel side-reference på linjenummer %s. Du skal fjerne det manuelt." msgstr[1] "Dine .htaccess har gamle side-referencer på linjenumrene %s. Du skal fjerne dem manuelt." #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "Det ønskede tabel-tegnsæt (%s) findes ikke - ændres til %s." #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "Dit valgte tegnsæt, der skal bruges i stedet:" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "Du kan vælge et andet passende tegnsæt i stedet og erstatte det på egen risiko." #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "Database-serveren, som dette WordPress-websted kører på, understøtter ikke tegnsættet (%s), som du forsøger at importere." msgstr[1] "Database-serveren, som dette WordPress-websted kører på, understøtter ikke tegnsættene (%s), som du forsøger at importere." #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "Næste" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "Indtast venligst en gyldig webadresse, fx http://eksempel.dk" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "nogle/sti" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "Beholder-navn" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "Backup sti" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "Applikationsnøgle" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "her" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "Få disse indstillinger fra %s, eller tilmeld %s." #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "Kontonøgle" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "Konto-ID" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "Dette backup-sæt er slået fra på dette websted, men på tidspunktet for sikkerhedskopien brugte du %s, mens webstedet nu bruger %s." #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "Hvis du vil fjerne tilladelse til UpdraftPlus (alle websteder) til at få adgang til dit Google Drev, skal du følge dette link til dine Google-kontoindstillinger." #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "Følg dette link for at fjerne disse indstillinger for %s." #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "En alvorlig PHP fejl (%s) er opstået: %s" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "Der er opstået en PHP-undtagelse (%s): %s" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "Syd-øst Australien" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "Syd-øst Asien" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "Nord-øst Asien" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "Autorisation af ekstern lagring" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "Netværk og multisite" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "Migrator" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "Ekstra opbevaring" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "Fjernlager" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "Vælg filer" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "Cloud filer" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "UpdraftVault" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "arkiv" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "Ekstra database" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "Klik her for at downloade eller gennemse" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "Fejl: Ugyldig sti" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "Der opstod en fejl ved hentning af lagermodulets indstillinger:" #: src/admin.php:1038 msgid "Loading log file" msgstr "Indlæser logfil" #: src/admin.php:1036 msgid "Search" msgstr "Søg" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "Vælg en fil for at se oplysninger om den" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "Gennemser zip-fil" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "Med UpdraftPlus Premium kan du hente individuelle filer direkte herfra." #: src/admin.php:944 msgid "Browse contents" msgstr "Gennemse indhold" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "Kasserede tabeller:" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "Med UpdraftPlus Premium kan du vælge at sikkerhedskopiere ikke-WordPress-tabeller, eller kun tage backup af udvalgte tabeller og endelig også at sikkerhedskopiere andre databaser." #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "Alle WordPress tabeller vil blive sikkerhedskopieret." #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "Yderligere informationer kan findes i browserens JavaScript-konsol og i serverens PHP fejllogs." #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "at du prøver at uploade en zip-fil, der tidligere er oprettet af UpdraftPlus." #: src/admin.php:1033 msgid "The available memory on the server." msgstr "Den tilgængelige hukommelse på serveren." #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "Enhver indstilling i din .htaccess- eller web.config-fil, der påvirker maksimal upload eller poststørrelse." #: src/admin.php:1032 msgid "HTTP code:" msgstr "HTTP kode:" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "Du har valgt at sikkerhedskopiere en database, men ingen tabeller er blevet valgt" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "tabeller" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "WordPress database" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "Du bør sikkerhedskopiere alle tabeller, medmindre du er ekspert i detaljer i WordPress-databasen." #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "Se mere" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "UpdraftPlus har sin egen indlejrede lagringsmulighed, hvilket giver en super-let måde at downloade, gemme og administrere alle dine sikkerhedskopier på ét sted." #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "UpdraftPlus Rundvisning" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "Lås adgang til UpdraftPlus via en adgangskode, så du vælger hvilke admin-brugere der kan få adgang til sikkerhedskopier." #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "Nogle backup plugins kan ikke gendanne en backup, så Premium tillader dig at gendanne sikkerhedskopier fra andre plugins." #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "Importer" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "Ryd op for kunder og fjern alle annoncer for vores andre produkter." #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "Ingen reklamer" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "Sofistikerede rapporterings- og mailingsfunktioner." #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "Krypter dine følsomme databaser (f.eks. kundeoplysninger eller adgangskoder); Lav også backup af eksterne databaser." #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "Flere database muligheder" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "Indstil nøjagtige tidspunkter for at oprette eller slette sikkerhedskopier." #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "Backup tidspunkt og planlægning" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "Lav sikker backup af WordPress Multisites (netværk)." #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "Netværk / Multisite" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "Lav backup af WordPress-filer, øvrige filer og databaser." #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "Sikkerhedskopierer automatisk dit websted inden opdateringer til plugins, temaer og WordPress-kernen." #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "Sikkerhedskopierer inden opdateringer" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "Giver eksperthjælp og support fra udviklerne, når du har brug for det." #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "Hurtig. personlig support" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "UpdraftPlus Migrator kloner dit WordPress-websted og flytter det direkte og enkelt til et nyt domæne." #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "Kloning og migration" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "Ekstra og forbedrede fjernlagerpladser" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "Sikkerhedskopiering til eksterne lagringssteder" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "Opgrader nu" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "Installeret" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "Gratis" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "UpdraftPlus" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "Anbefalet: Optimer din database med WP-Optimize." #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "Læs mere" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "Når du har sikkerhedskopieret din database, anbefaler vi, at du installerer vores WP-Optimize-plugin for at strømline til bedre websiteydelse." #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "Vælg venligst en fil eller en mappe" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "Bekræft" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "Gå et mappeniveau op" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "Tilføj mappe..." #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "Rediger" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "Hvis du bruger det, skal du vælge en sti fra mappe-træet herunder og derefter trykke på bekræft valg." #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "Europa (Frankfurt)" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "Europa (London)" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "Europa (Irland)" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "UpdraftCentral" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "læg mærke til billede" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "Gå dertil" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "Tilmeld" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "Få Premium" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "Anmel UpdraftPlus" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "Få UpdraftCentral" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "Apache moduler" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "UpdraftPlus Blog - Få opdaterede nyheder og tilbud" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "UpdraftPlus Nyhedsbrev" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "Styr alle dine WordPress-installationer fra ét sted ved hjælp af UpdraftCentral remote site management!" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "Bruger du UpdraftPlus på flere websteder?" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "UpdraftCentral er en yderst effektiv måde at administrere, opdatere og sikkerhedskopiere flere websteder fra ét sted." #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "Præsenterer UpdraftCentral" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "migrer eller klon let dit websted på få minutter" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "Tilføj SFTP for at sende dine data sikkert, låse indstillinger og kryptere dine database backups for ekstra sikkerhed." #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "beskyt dine sikkerhedskopier" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "Sikker multisite installation, avanceret rapportering og meget mere." #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "avancerede indstillinger" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "forbedrede muligheder for fjernlager" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "Det ultimativt sikre og bekvemme sted at gemme dine sikkerhedskopier." #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "UpdraftVault lager" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "Nyd professionel, hurtig og venlig hjælp, når du har brug for det med Premium." #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "UpdraftPlus Premium:" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "Site størrelse" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "Lås indstillinger" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "Site information" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "Opgradér til UpdraftPlus Premium for at kunne overføre websites." #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "Importér indstillinger" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "Eksportindstillinger" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "Inklusiv ethvert password" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "Eksport / import indstillinger" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "Behandler tabel (%s)" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "Backup af: %s" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "%s af-autentificering" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "Du skal, når du bliver spurgt, tilføje følgende som den autoriserede omdirigering URI i din Dropbox-konsol (under \"API Indstillinger\")." #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "Hvis ikke, skal du enten fjerne data fra denne tabel, eller kontakte dit hostingselskab for at anmode om flere ressourcer." #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "Du har valgt en ekstern lagerløsning, der har et tilladelses-step for at fuldføre:" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "Slettede eksterne filer:" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "Slettede lokale filer:" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "Følg dette link for at godkende adgang til din %s konto (du vil ikke kunne sikkerhedskopiere til %s uden at gøre dette)." #: src/admin.php:1031 msgid "remote files deleted" msgstr "fjernfiler slettet" #: src/admin.php:1027 msgid "Complete" msgstr "Komplet" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "Vil du udføre importen?" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "Som blev eksporteret:" #: src/admin.php:1024 msgid "This will import data from:" msgstr "Dette vil importere data fra:" #: src/admin.php:1023 msgid "Importing..." msgstr "Importerer..." #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "Du har endnu ikke valgt en fil, der skal importeres." #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "Din eksportfil vil være af dine viste indstillinger, ikke dine gemte indstillinger." #: src/admin.php:99 msgid "template not found" msgstr "skabelon blev ikke fundet" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "US East (Ohio)" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "Kontoen er ikke godkendt (%s)." #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "Din IP-adresse:" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "Fjern enhver blok her." #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "En fejlmeddelelse blev modtaget; HTTP kode:" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "%s add-on blev ikke fundet" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "eller at gendanne manuelt" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "Løs dette problem her." #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "OptimizePress 2.0 koder dens indhold, så søg/erstat virker ikke." #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "din PHP installation mangler open-ssl modulet. Som et resultat, kan dette tage minutter. Hvis intet er sket inden da, så skal du enten prøve en mindre størrelse nøgle, eller spørge din webudbyder, hvordan du aktiverer dette PHP modul i din opsætning." #: src/addons/webdav.php:437 msgid "Path" msgstr "Sti" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "Lad dette være tomt for at bruge standard (80 for webdav, 443 for webdavs)" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "Indtast en sti i feltet nedenfor." #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "Et værtsnavn kan ikke indeholde skråstreg." #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "Protokol (SSL eller ikke)" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "AWS adgangskoden er tilsyneladende forkert (gyldige %s adgangskoder begynder med \"AK\")" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "Indstillinger blev ikke fundet - Gå venligst til Indstillinger knappen og kontroller dine indstillinger" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "Bakcup ved hjælp af %s?" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "Asia Pacific (Mumbai)" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "Standard (sjælden adgang)" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "FAQs" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "Kunne ikke åbne bibliotek (tjek fil-tilladelser og -ejerskab): %s" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "%s: Ulæselig fil - kunne ikke sikkerhedskopieres (check fil-tilladelser og -ejerskab)" #: src/addons/migrator.php:563 msgid "Create key" msgstr "Opret nøgle" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "langsomere, stærkest" #: src/addons/migrator.php:559 msgid "recommended" msgstr "anbefalet" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "%s bytes" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "hurtigere (mulighed for langsomme PHP installationer)" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "%s bits" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "Krypterings-nøglens størrelse:" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "Indtast dit valgte navn" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "Oprette en nøgle: Giv denne nøgle et unikt navn (som f.eks antyder det site, den er til), og tryk derefter på \"Opret Nøgle\":" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "Upload forventes at svigte: %s grænsen for en enkelt fil er %s, mens denne fil er %s GB (%d bytes)" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "Dette er undertiden forårsaget af en firewall - prøv at fravælge SSL i ekspert indstillingerne, og teste igen." #: src/methods/ftp.php:438 msgid "login" msgstr "Log ind" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "Vær opmærksom på at mailservere ofte har størrelsesbegrænsninger; typisk omkring %s MB; backups større end eventuelle grænser vil sandsynligvis ikke blive modtaget." #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "Størrelse: %s MB" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "Du bør frigøre %s for at pæne permalinks (f.eks. %s) kan virke" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "(klik på et ikon for at vælge eller fravælge)" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "%s pr. år" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "eller (årlig rabat)" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "Ingen Vault forbindelse blev fundet for dette websted (er det flyttet?); venligst afbryd og tilslut igen." #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "Den pågældende fil blev ikke fundet eller kunne ikke læses." #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "Backup'en blev afbrudt af brugeren" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Dine indstillinger er gemt" #: src/admin.php:4515 msgid "Total backup size:" msgstr "Total backup-størrelse:" #: src/admin.php:3878 msgid "stop" msgstr "stoppe" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "Denne backup er færdig" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "Wipe-indstillinger" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "nulstil" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "disse backup sæt" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "dette backup sæt" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "Beregn" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "Du bør gemme dine ændringer for at sikre, at de bliver anvendt til din backup." #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "Vi anmodede om at slette filen, men kunne ikke forstå serverens svar" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "Venligst indtast en gyldig URL" #: src/admin.php:976 msgid "Saving..." msgstr "Gemmer..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "Fejl: Serveren sendte et uforståeligt svar." #: src/admin.php:926 msgid "Fetching..." msgstr "Henter..." #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "Asia Pacific (Seoul)" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "Uploads URL:" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "Det nødvendige %s PHP modul er ikke installeret - bed din webudbyder om at aktivere det." #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "For at importere et almindeligt WordPress site til en multisite installation kræves %s." #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "Venligst læs dette link for vigtig information om processen." #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "Vil blive importeret som et nyt site." #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Luk" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "Venligst udfyld den nødvendige information." #: src/addons/multisite.php:691 msgid "Read more..." msgstr "Læs mere..." #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "kan indeholde nogle data for hele sitet" #: src/addons/multisite.php:677 msgid "All sites" msgstr "Allle sider" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "Hvilket site at gendanne" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "Der opsted fejl oprettelse af nyt site på din valgte adresse:" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "Der blev ikke givet nødvendige oplysninger for at kunne genskabe denne sikkerhedskopi (%s)" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "Egenskabs importeret indhold til bruger" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "Du skal bruge små bogstaver eller tal i websitets sti." #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "Denne funktion er ikke kompatibel med %s" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "Importerer et single site til en multisite installation" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "andet indhold end wp-indhold" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "WordPress core" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "Du valgte at %s skal indgå i gendannelsen - det kan ikke / bør ikke ske ved import af et enkelt site til et netværk." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "Udfør WordPress handling:" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "Dine gemte indstillinger påvirker også, hvad der oprettes back up af - f.eks. udelukkes filer." #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "Stopper: Dette arkiv er allerede genskabt." #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "Fil-muligheder" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "Sender din backup til fjernlager" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "Database backup tidsplan" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "Tidsplan for backup af filer" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "Denne knap vil slette alle UpdraftPlus indstillinger og information om igangværende sikkerhedskopier (men ikke slette eksisterende sikkerhedskopier i din sky)." #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "Send denne backup til fjernlager" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "Har du ikke et fjernlager?" #: src/admin.php:5530 msgid "settings" msgstr "Indstillinger" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "Backup vil ikke blive sendt til noget lager - Intet er blevet gemt i %s" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "Fortsæt gendannelse" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "Du har en ufærdig gendannelses-operation, påbegyndt for %s siden." #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "Ufærdig gendannelse" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "%s minutter, %s sekunder" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "Backup Indhold og Tidspland" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "Premium / Udvidelser" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "Tilstrækkelige informationer om den igangværende genskabelse kunne ikke findes." #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "Download" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "Du har valgt at tage backup, men har ikke valgt nogle filer" #: src/admin.php:772 msgid "Extensions" msgstr "Udviddelser" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "Avancerede værktøjer" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "Gruppe lokation" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "Bemærk, at Google ikke understøtter alle lagringsklasser på enhver placering - Du bør læse deres dokumentation for at lære om aktuel tilgængelighed." #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "Denne indstilling gælder kun, når en ny gruppe bliver skabt." #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "Du skal bruge et gruppenavn, der er unikt for alle %s brugere." #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "%s of %s må ikke forveksles - De er forskellige" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "Du har ikke adgang til denne gruppe" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "Vesteuropa" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "Østlige Asia-Pacific" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "Vestlige United States" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "Østlige United States" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "Central United States" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "Europæsik Union" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "Asia Pacific" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "multi-regional lokation" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "United States" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "Nearline" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "Vedværende begrænset tilgængelighed" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "Standard" #: src/addons/azure.php:700 msgid "container" msgstr "mappe" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "Du kan indtaste stien til enhver %s virtuel mappe, du ønsker at bruge her." #: src/addons/azure.php:699 msgid "optional" msgstr "valgfri" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "Se Microsofts retningslinjer for mappe-navngivning ved at følge dette link." #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "Indtast stien til den %s, du ønsker at bruge her." #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "Dette er ikke din Azure login - se anvisninger, hvis du har brug for mere vejledning." #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "Azure" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "Opret Azure legitimationsoplysninger i din Azure udviklerkonsol." #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "Kunne ikke oprette beholderen" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "Kunne ikke tilgå mappe" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "For at fuldføre din migrering/kloning, bør du nu logge ind på det eksterne site og genoprette backup sættet." #: src/backup.php:1901 msgid "the options table was not found" msgstr "tabellen med muligheder blev ikke fundet" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "der blev ikke fundet hverken valgmuligheder eller site-meta" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "Backup-mappen er ikke skrivbar (eller diskplads er fuld) - Database-backup'en forventes snart at mislykkes." #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "krævet af nogle lager-udbydere" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Ikke installeret" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "Lager niveau" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "Se Google's vejledning vedrørende navngivning af grupper ved at følge dette link." #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "Indtast navnet på den %s gruppe, du vil bruge her." #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "Gruppe" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "Ellers kan du lade det være tomt." #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "N. B. Dette er kun nødvendigt, hvis du ikke allerede har oprettet gruppen, og du ønsker at UpdraftPlus opretter det for dig." #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "Indtast ID''et til det %s projekt du ønsker at benytte her." #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "Følg dette link til din Google API Console og aktivér Lager API'en og opret et klient ID i API-adgang sektionen." #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "Du skal indtaste et projekt ID for at kunne oprette en nu gruppe." #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "Projekt ID" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "Du skal gemme og godkende, før du kan teste dine indstillinger." #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "Har endnu ikke fået adgangstoken fra Google - du skal godkende eller genautorisere din forbindelse til Google Cloud." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "Du har ikke adgang til denne gruppe" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "Google Cloud" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "%s Service undtagelse" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "eller at konfigurere mere komplekse skemaer" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "Er du sikker på, at du ønsker at fjerne %s fra UpdraftPlus?" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "Fravælg" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "Vælg alle" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "Handlinger for udvalgte backups" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "Tryk her for at se dit fjernlagers muligheder ved eventuelle eksisterende backup sæt (fra ethvert websted, hvis de opbevares i samme mappe)." #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "Backup sæt fjernet:" #: src/admin.php:1012 msgid "Processing..." msgstr "Behandler..." #: src/admin.php:1010 msgid "For backups older than" msgstr "For backup ældre end" #: src/admin.php:1009 msgid "week(s)" msgstr "uge(r)" #: src/admin.php:1008 msgid "hour(s)" msgstr "time(r)" #: src/admin.php:1007 msgid "day(s)" msgstr "dag(e)" #: src/admin.php:1006 msgid "in the month" msgstr "i måneden" #: src/admin.php:1005 msgid "day" msgstr "dag" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "(som mange af jer synes om)" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "Tilføj en ekstra tilføjelsesregel..." #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "Denne database skal indsættes på MySQL version %s eller nyere." #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "Dette problem er forårsaget af forsøg på genskabelse af en database på en meget gammel MySQL version, der er uforenelig med kildedatabasen." #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "Du skal opgradere MySQL for at kunne bruge denne database." #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "Database-backup'en bruger MySQL funktioner, som ikke findes i den gamle MySQL version (%s), dette websted kører på." #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "Kender du ikke din email-adresse, eller har du glemt dit password?" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "Indtast dit UpdraftPlus.Com email/password her for at forbinde:" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "Sæt kryds i denne boks for at bruge Amazon's server-side kryptering" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "Server-side kryptering" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "Hvis du har glemt dit password, så klik her for at ændre det på udraftsplus.com " #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "%s er blevet valgt til fjernlager, men du er ikke tilsluttet i øjeblikket." #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "Betaling kan foretages i amerikanske dollars, euro eller GB pounds sterling, via kort eller PayPal." #: src/admin.php:982 msgid "Update quota count" msgstr "Opdatér kvotetæller" #: src/admin.php:981 msgid "Counting..." msgstr "Tæller..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "Afbryder..." #: src/admin.php:978 msgid "Connecting..." msgstr "Tilslutter..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "Opdatér nuværende status" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "Få større kvote" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "Nuværende brug:" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "Du kan få større kvote her" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "Afbrudt" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "Kvote:" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "Vault ejer" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "Godt gået - Der behøves ikke mere for setup." #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "Klik her for hjælp" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "Tilbage..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "Abonnement kan til enhver tid opsiges." #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "%s per kvartal" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "Vis mulighederne" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "Tryk på en knap for at starte." #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "Updraft Vault" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "Sletning mislykkedes:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "Zip returnerede denne besked: %s." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "Uden denne tilladelse, kan UpdraftPlus ikke slette backups - Du skal også sætte din 'behold' indstillinger meget høj for at forhindre at se sletningsfejl." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "Tillad sletning" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "Uden denne tilladelse, kan du ikke downloade eller gendanne direkte ved hjælp UpdraftPlus, og vil i stedet være nødt til at besøge AWS's hjemmeside." #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "Tillad download" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "Hvis muligheden for at sende direkte fra site til site ikke virker for dig, så er der tre andre metoder - prøv en af disse i stedet." #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "Du bør kontrollere, at den eksterne site er online, ikke er bag en firewall, ikke har sikkerhedsmoduler, der kan blokere adgangen, har UpdraftPlus version %s eller nyere aktiv, og at nøglerne er blevet indtastet korrekt." #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "Eksisterende nøgler" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "Din nye nøgle:" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "Nøgle blev skabt med succes." #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "En nøgle med dette navn eksisterer allerede; du skal bruge et unikt navn." #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "Send også denne backup til de aktive eksterne lagringslokationer" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "site ikke fundet" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "Backup data vil blive sendt til:" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "Genskab et eksisterende backup sæt til dette site" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "Dette site har ingeb backups at genskabe fra endnu." #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "Backup skabt af %s" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "Denne lagringsmetode tillader ikke download" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "(backup sæt importeret fra ekstern lokation)" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "Site" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "Backup sendt til eksternt site - ikke tilgængelig til download." #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "Du bør sørge for, at dette virkelig er et backup sæt beregnet til brug på denne hjemmeside, før du gendanner (snarere end et backup sæt fra en urelateret hjemmeside)." #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "Dette backup sæt blev ikke genkendt af UpdraftPlus som værende skabt af den nuværende WordPress installation, men blev enten fundet i fjernlager, eller blev sendt fra et eksternt site." #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "Tester forbindelse..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "Sletter..." #: src/admin.php:991 msgid "key name" msgstr "nøgle navn" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "Giv denne nøgle et navn (angiv f.eks. sitet den er til):" #: src/admin.php:986 msgid "Creating..." msgstr "Opretter..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "Modtag en backup fra et fjernlager-site" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "Indsæt nøglen her" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "Hvordan får jeg et sites nøgle?" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "For at tilføje en hjemmeside som en destination til at sende til, skal du indtaste dette websteds nøgle nedenfor." #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "Send en backup til et andet site" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "Send" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "Send til site:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "Ingen modtagerside er blevet tilføjet." #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "Det er til brug ved afsendelse af backup til følgende side:" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "Nøglen blev tilføjet med succes." #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "Den angivne nøgle tilhører ikke en fjern-side (den tilhører denne side)." #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "Den angivne nøgle var i stykker - prøv venligst igen." #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "Den angivne nøgle havde forkert længde - prøv venligst igen." #: src/includes/class-remote-send.php:580 msgid "key" msgstr "nøgle" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "Næsten alle FTP-servere benytter passiv tilstand; men hvis du behøver aktiv tilstand, skal du fjerne afkrydsning af dette felt." #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "Passiv tilstand" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "Fjern-sti" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "FTP password" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "FTP login" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "FTP server" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "UpdraftPlus Migrator modificerer restaurering processen korrekt, så det passer til backup data på det nye websted." #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "En \"flytning\" er i sidste ende det samme som en restaurering - men benytter backup arkiver, som du importerer fra et andet site." #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "Tilføj site" #: src/admin.php:983 msgid "Adding..." msgstr "Tilføjer..." #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "Adgang nægtet - Måske har du allerede brugt dette køb et andet sted, eller din betalte periode til at downloade fra updraftplus.com er udløbet?" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "For at bruge denne backup, skal din database server understøtte %s tegnsæt." #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "klik her for at ændre dit password på updraftplus.com" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "Hvis du har glemt dit password" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "Klik her for at indtaste dit password igen." #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "Når du trykker på denne knap, vil du få mulighed for at vælge, hvilke komponenter du ønsker at migrere" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "Du har ændret dine indstillinger, men har ikke gemt." #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "N.B. %s skelner ikke mellem store og små bogstaver." #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "Hvis OneDrive senere viser meddelelsen \"unauthorized_client\", så har du ikke indtastet en gyldig klient-id her." #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "Følg dette link for mere uddybende hjælp, der blandt andet indkluderer skærmbilleder." #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "Opret OneDrive legimitation i din OneDrive udviklerkonsol." #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "Du skal tilføje følgende som den autoriserede omdirigerings-URI i din OneDrive-konsol (under \"API-indstillinger\"), når du bliver bedt om det" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "godkendelse mislykkedes:" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "OneDrive" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "Godkend igen forbindelsen til din %s konto." #: src/methods/email.php:110 msgid "configure it here" msgstr "konfigurer her" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "Klik her for at fjerne block'en." #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "Husk at gemme dine indstillinger." #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "Du benytter nu en IAM brugerkonto for adgang til din bucket." #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "S3 Bucket" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "Kina (Beijing) (begrænset)" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "Asien (Tokyo)" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "Asien (Sydney)" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "Asien (Singapore)" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "US Government West (begrænset)" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "US West (N. California)" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "US West (Oregon)" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "S3 storage region" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "Nyt IAM brugernavn" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "Admin hemmelig nøgle" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "Admin adgangs nøgle" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "Derefter kan disse lavere-drevne adgang legitimationsoplysninger bruges, i stedet for at gemme dine administrative nøgler." #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "Disse vil blive brugt til at oprette en ny bruger og nøglepar med et IAM politik vedhæftet, som kun vil gøre det muligt af få adgang til den angivne spand." #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "Indtast dit Amazon S3 adgang / hemmelige nøgler (dette skal være et nøglepar med nok rettigheder til at oprette nye brugere og spande), og et nyt (unikt) brugernavn til den nye bruger og en spand navn." #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "Opret ny IAM bruger og S3 bucket" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "Fortrolig nøgle: %s" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "Adgangs-nøgle: %s" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "Det lykkedes ikke at anvende User Policy" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "Kunne ikke oprette bruger adgangsnøgle" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "IAM operation mislykkedes (%s)" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "Konflikt: Denne bruger findes allerede" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "AWS godkendelse mislykkedes" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "Du skal angive en bucket" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "Du skal indtaste et nyt IAM brugernavn" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "Du skal indtaste en hemmelig admin adgangsnøgle" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "Du skal indtaste en admin adgangsnøgle" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "Hvis du har en AWS admin brugerkonto, kan du bruge denne guide til hurtigt at oprette en ny AWS (IAM) bruger med adgang til kun denne spand (i stedet for hele din konto)" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "Dette sker ofte, hvis du deler server med en hacked webside som har været brugt i et tidligere angreb." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "Det ser ud til at din web server's IP addresse (%s) er blokeret." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "UpdraftPlus.com har svaret med 'Adgang nægtet'." #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "Premium WooCommerce plugins" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "Gratis to-faktor sikkerhedsplugin" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "Flere kvalitets-plugins" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus Premium" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "Udskyd (i %s måneder)" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "(samtidigt, som der tages backup af filerne)" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "Ingen backup er fuldført." #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "Tilmelding til nyhedsbrev" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "Følg dette link for at tilmelde dig UpdraftPlus nyhedsbrev." #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "Udfør backup af ikke-WordPress filer og databaser" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "Stil et spørgsmål før køb" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "Før du køber FAQ's" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "Komplet liste over funktioner" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Lav backup (hvis relevant) af plugins, temaer og WordPress database med UpdraftPlus før du opdaterer" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "%s Fejl: Kunne ikke initialiseres" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "eller" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "PKCS1 (PEM header: BEGIN RSA-nøgle), XML og PuTTY format nøgler accepteret." #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "lejer" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "Det skal være en v2 (Keystone) godkendelse URI; v1 (Swauth) understøttes ikke." #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "dit websteds admin adresse" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "Markér dette felt for at få en grundlæggende rapport sendt til" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "Manual" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "En fejl (%s) opstod:" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "Skift låse-indstillinger" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "Enhver anden fil/mappe på din server, som du ønsker at sikkerhedskopiere" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "For endnu flere funktioner og personlig support, tjek" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "Database dekryptering sætning" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "Automatisk backup inden opdatering" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "WordPress kerne (kun)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "For oplåsning support, venligst kontakt den, der administrerer UpdraftPlus for dig." #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "For at få adgang til UpdraftPlus' indstillinger, skal du indtaste din adgangskode" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "Forkert password" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "Lås op" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "Ellers vil standard-linket blive vist." #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "Enhver der ser låseskærmen vil se denne URL til support - Angiv en website adresse eller en e-mail adresse." #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "Support URL" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "Kræv adgangskode igen efter" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "%s uger" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "1 uge" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "%s timer" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "1 time" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "Sørg for, at du har lavet et notat af kodeordet!" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "Lås adgang til UpdraftPlus' indstillings-side." #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "Administrator adgangskoden er blevet ændret." #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "En administrator adgangskode er blevet angivet." #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "Administrator adgangskoden er nu blevet fjernet." #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "(lær mere om denne betydelige mulighed)" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "Bemærk, at efter du har modtaget dine tilføjelser, kan du fjerne dit password (men ikke e-mail-adresse) fra indstillingerne nedenfor, uden at påvirke dette sites adgang til opdateringer." #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "Se loggen" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "Backup data (klik for at downloade)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "Backup dato" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "og fastholde så mange planlagte backups" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "trinvis sikkerhedskopi; basis backup: %s" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "For evnen til at låse adgangen til UpdraftPlus-indstillingerne med en adgangskode, skal du opgradere til UpdraftPlus Premium." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "Upload filer til UpdraftPlus." #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "\"Backup Nu\"-knappen er deaktiveret, da din backup mappe er ikke skrivbar (gå til fanen \"Indstillinger\", og find den relevante mulighed)." #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "Backup etiket:" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "Fejl: Uventet fejl ved læsning af fil" #: src/backup.php:4389 msgid "check your log for more details." msgstr "tjek din log for flere detaljer." #: src/backup.php:4385 msgid "A zip error occurred" msgstr "En zip fejl opstod" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "Din label til denne backup (valgfrit)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "Du har indtastet en e-mail adresse som ikke blev genkendt af UpdraftPlus.Com" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "Din e-mailadresse var gyldig, men din adgangskode blev ikke genkendt af UpdraftPlus.Com." #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "Du er nødt til at bruge både en e-mail adresse og en adgangskode" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "Hvis du ønsker at genskabe en multisite backup, så skal du først sætte din WordPress op som en multisite installation." #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "Allerede færdig" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "Sprang over (ikke på listen)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "Søg og erstat tabel:" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "Indtast en kommasepareret liste; ellers efterlad tom for alle felter." #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "Kun disse tabeller" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "Rækker pr. kørsel" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "Du har endnu ikke forbundet din UpdraftPlus.Com konto." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "Du er nødt til at modtage fremtidige opdateringer UpdraftPlus." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "Eventuelle support anmodninger som har med %s at gøre bør løses med dit web-hosting firma." #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "Denne er markant nyere end den serverversion, som du nu ønsker at gendanne på (version %s)." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "UpdraftPlus er på sociale medier - tjek os ud!" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "Hvorfor ser jeg dette?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "Placeringen af denne mappe er angivet i ekspertindstillingerne i fanen Indstillinger." #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "Klik her for at se i din UpdraftPlus mappe (på dit webhotel) efter nye backups som du har uploadet." #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "Start backup" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "Du bruger %s webserver, men den lader ikke til at have %s modulet indlæst." #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "Du er nødt til at kontakte din hostingudbyder for at finde ud af, hvordan du skal angive tilladelser for et WordPress plugin for at det kan skrive til mappen." #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "Med mindre du har problemmer, kan du bare ignorere alt her." #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "Denne fil kunne ikke blive uploadet" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "Du kan finde mere information om dette i afsnittet Indstillinger." #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "Understøttede backup plugins: %s" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "Var denne backup oprettet af et andet backup plugin? Hvis ja, skal du muligvis først omdøbe den, så den kan genkendes - følg dette link." #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "Fortæl mig mere om trinvis sikkerhedskopiering" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "hukommelsesgrænse" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "genoprettelse" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "Trinvis" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "Fuld backup" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "fortsætter nu med opdateringerne..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(se log...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "Backup lykkedes" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "Hver %s time" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "søger og erstatter" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Start" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "En søg/erstat kan ikke gøres om - er du sikker på, at du vil gøre dette?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "Dette kan let ødelægge din side; så anvend det med forsigtighed!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "Erstat med" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "Søg efter" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "Søg / erstat database" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "søgefrase" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "Der har været for mange database fejl - stopper" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "læs mere på %s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "E-mail rapporter skabt af UpdraftPlus (gratis) giver dig de seneste UpdraftPlus.com nyheder" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "P.S. Hvis du installerer UpdraftPlus på flere WordPress-sider, kan du ikke genbruge dine projekter; du må oprette et ny ud fra din Google API konsol for hver side." #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "Du har endnu ikke oprettet nogle backups." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "Database muligheder" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s brugt)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "Ledig diskplads på konto:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "Denne knap er deaktiveret fordi dit backup-arkiv ikke er skrivbart (se indstillingerne)." #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "For at ændre standardinstillingerne for, hvad der skal tages backup af - for at indstille planlagte backups - for at sende dine backups til fjernlager (anbefales) - og mere - Gå til indstillingsfanen." #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "Klik på Backup Nu knappen for at skabe en backup." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "Velkommen til UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "Tester..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "Test forbindelse..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "Tabel præfiks" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "Lav backup af ekstern database" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "Tilføj en ekstern database til backup..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "Hvis din database indeholder ekstra tabeller, som ikke er en del af en WordPress side (du ved, når det er tilfældet), så aktivér denne mulighed for også at lave backup af disse." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "Lav backup af ikke-WordPress tabeller, der er placeret i samme database som WordPress" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "Denne instilling vil muliggøre at tabeller lagres i MySQL-databasen, som ikke hører til WordPress (genkendt ved deres mangel på konfigureret WordPress præfiks, %s). " #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "Forbindelse mislykkedes." #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "Forbindelse lykkedes." #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "%s total tabeller fundet; %s med det angivne præfiks." #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "%s tabeller fundet." #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "forbindelse til database mislykkedes" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "databasenavn" #: src/addons/moredatabase.php:115 msgid "host" msgstr "vært" #: src/addons/moredatabase.php:113 msgid "user" msgstr "bruger" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "Ekstern database (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "Følg linket til din Google API konsol og aktivér der Drive API og skab en Client ID i API Access sektionen." #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "adgang til den overliggende mappe mislykkedes" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "Dog mislykkede adgangsforsøget efterfølgende:" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "Ekstern database" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "Dette vil også medføre fejlsøgningsudskrift fra alle plugins som vil blive vist på denne skærm - du skal ikke blive overrasket over at se disse." #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "Sikkerhedskopier flere databaser" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "Indtast først dekrypteringsnøglen" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "Du kan manuelt dekryptere en krypteret database her." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "Det kan også sikkerhedskopier eksterne databaser." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "Har du ikke lyst til at blive udspioneret? UpdraftPlus Premium kan krypterer din database backup." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "brug UpdraftPlus Premium" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "Kun WordPress databasen kan gendannes; du bliver nødt til at behandle den eksterne database manuelt." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "Der opstod en fejl med den første %s kommando - afbryder kørelse" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "Forbindelsesfejl: kontrollere dine adgangsoplysninger, at database serveren er oppe og at netværksforbindelsen ikke er bag en firewall." #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "database forbindelse mislykkedes." #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "Advarsel: Databasens URL (%s) er forskellig fra, hvad vi forventede (%s)" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "Sti-navne i %s understøtter kun små bogstaver." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "Hvis feltet står tomt, vil backup'en placeres i roden af din %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "f.eks. %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "Her angives stien til %s mappen du ønsker at bruge." #: src/methods/openstack2.php:257 msgid "Container" msgstr "Container" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "Lad dette stå tomt, og der vælges en standard." #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "Lejer" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "Klik på linket for mere information." #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "bekræftelses URI" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "Download %s mislykkedes" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "Kunne ikke downloade" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "filerne kunne ikke vises" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "Upload %s mislykkedes" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "Udført:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "Godkend med %s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "Fejl ved download af fil: Download mislykkedes" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "Region: %s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "%s fejl - Vi kunne tilgå containeren, men kunne ikke oprette en fil i den" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "%s emnet blev ikke fundet" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "Kunne ikke tilgå %s container" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "%s fejl - Adgang til containeren mislykkedes" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "Kontoindehavers navn: %s." #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "For at kunne oprette et standard mappe-navn skal du bruge UpdraftPlus Premium." #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "Det er et internt Google Drive ID-nummer" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "Dette er IKKE et mappenavn." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "Mappe" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "%s download: Mislykkedes: Filen blev ikke fundet" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "Navn: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "Google Drive fil-liste: Kunne ikke få adgang til hovedmappen" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "Din %s version: %s." #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "Venligst bed din web hosting leverandør om at opgradere." #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "Denne fjern-lagerplads metode (%s) kræver PHP %s eller nyere." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "Opkald" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "Fetch" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "Denne funktion kræver %s version %s eller nyere" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "Kunne ikke udpakke arkivet." #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "Fejl - Kunne ikke downloade filen" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "Gentag scanning af lokal mappe for nye sæt." #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "Du bør opdatere UpdraftPlus for at være sikker på at have en kompatibel version." #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "Der er testet op til version %s." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "Den indstallerede version af UpdraftPlus Backup/Restore er ikke blevet testet mod din version af WordPress (%s)." #: src/addons/sftp.php:646 msgid "password/key" msgstr "password/nøgle" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "Nøgle" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "Dit login skal være enten password- eller nøgle-basseret - Du skal kun indtaste én af dem, ikke begge." #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "Nøglen var enten ikke i et godkendt format eller var ikke korrekt." #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "SCP/SFTP password/nøgle" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "Fil-backup (lavet af %s)" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "Filer og database WordPress backup (lavet af %s)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "Backup lavet af: %s." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "Database (oprettet af %s)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "ukendt kilde" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "Gentag scanning af fjernlager" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Upload backup filer" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "Denne backup blev lavet af %s og kan importeres." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "Læs denne side for en guide til mulige årsager og løsningsforslag." #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "Hvis dette er en backup skabt af en anden backup plugin, kan UpdraftPlus Premium muligvis hjælpe dig." #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "Men, UpdraftPlus arkiver er standard zip/SQL filer - så hvis du er sikker på, at filen har det rette format, kan du omdøbe dem, så de matcher dette mønster." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "Denne fil er tilsyneladende ikke et UpdraftPlus backup arkiv (som skal være .zip eller .gz filer med et navn som: backup_(tidspunkt)_(site navn)_(kode)_(type).(zip/gz))." #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "Backup skabt af ukendt kilde (%s) - Kan ikke genskabes." #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "WordPress indholdsmappe (wp-content) blev ikke fundet i denne zip fil." #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "Denne version af UpdraftPlus kan ikke håndtere denne type af fremmed backup" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "%s returnerede et uventet HTTP svar: %s" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "UpdraftPlus modulet til denne fil-adgangsmetode (%s) understøtter ikke lister af filer." #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "Indstillinger blev ikke fundet" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "Én eller flere backups er blevet tilføjet efter scanning af fjernlager; bemærk at disse backups ikke automatisk vil blive slettet gennem \"behold\"-instillingerne. Når/hvis du ønsker at slette dem, må dette gøres manuelt." #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "Scanner igen både fjern- og lokal-lager for backup-sæt..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "(Læs mere)" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "Log alle beskeder til syslog (ønskes sansynligvis kun udført af server-administratorer)" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "Ingen backup af lokation: Der blev ikke fundet noget at tage backup af" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "Fjern" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "Andre %s FAQ's." #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "Se her for mere information og e-mails om backup-processen - Nyttigt, hvis noget går galt." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "Din hosting udbyder skal slå disse funktioner til inden %s kan virke." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "Din webservers PHP installation har slået disse funktioner fra: %s." #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "krypteret FTP (explicit kryptering)" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "krypteret FTP (implicit kryptering)" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "almindelig ikke-krypteret FTP" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "Backup udført af:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "Klar til at hente fra denne side." #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "Venligst forny for fortsat adgang til support." #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "Din betalte adgang til UpdraftPlus support udløber snart." #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "Venligst forny for igen at få adgang." #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "Din betalte adgang til UpdraftPlus support er udløbet." #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "Din betalte adgang til UpdraftPlus opdateringer til denne side vil snart udløbe." #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "For at beholde adgang til opdateringer (inklusiv fremtidige funktioner og kompabilitet til WordPress versioner) samt support, bedes du forny din licens." #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "Din betalte adgang til UpdraftPlus opdateringer for %s af %s add-ons på denne side udløber snart." #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "Din betalte adgang til UpdraftPlus opdateringer til %s add-ons på denne side er udløbet." #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Venligst forny for igen at få adgang til opdateringer (inklusive fremtidige funktioner og kompabilitet med kommende udgaver af WordPress) samt support." #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "Afvis fra hovedoversigten (i %s uger)" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "Forsøg på at rette dobbelt-kompresionen lykkedes." #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "Forsøg på at rette dobbelt-kompresionen mislykkedes." #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "Det ser ud til, at filerne i databasen er blevet komprimeret to gange - Måske har siden, du har downloaded dem fra, en forkert konfigureret webserver." #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "Kontinuerlige" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "Det mislykkedes af åbne og læse database-filen:" #: src/backup.php:1645 msgid "No database tables found" msgstr "Ingen database-tabeller fundet" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "Venligst vent på det planlagte forsøg" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "Kontoen er brugt op: Din %s konto har kun %d bytes tilbage, men filen, der skal oploades har %d bytes tilbage (total størrelse: %d bytes)" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "Fejl opstod:" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "Følg dette link for at downloade log-filen for denne genoprettelse (nødvendig for enhver henvendelse til support)." #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "Se også denne FAQ." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "Henter (hvis nødvendigt) og forbereder backup-filer..." #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "Grænsen for kørsel af WordPress plugins er meget lav (%s sekunder) - Du bør hæve grænsen for at undgå backup-fejl på grund af time-outs (rådfør dig med din web-udbyder for mere hjælp angående max_execution_time PHP indstillingen. Den anbefalede værdig er %s sekunder eller mere)" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "Dette plugin er disabled: %s genaktivér det manuelt, når du er klar." #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "%s forbindelsen udløb. Hvis du angav serveren korrekt, skyldes dette normalt at en firewall blokerer forbindelsen. Du bør tjekke dette med din web-udbyder." #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "Beskeder:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "En SQL linje, som er større end den maksimale pakkestørrelse og som ikke kan deles op, blev fundet. Denne linje vil ikke blive udført, men blive sprunget over: %s" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "Arkivet eksisterer ikke" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "Ny brugers e-mail adresse" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "Ny brugers brugernavn" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "Admin API Key" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "Admin Brugernavn" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "US eller UK Rackspace konto" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "Indtast dit Rackspace admin username/API key (så Rackspace kan godkende din tilladelse til at oprette nye brugere), og indtast et nyt (unikt) brugernavn og e-mail adresse for den nye bruger samt et container-navn." #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "Opret ny API bruger og container" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "API Key: %s" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "Password: %s" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "Brugernavn: %s" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "Cloud Files kørslen fejlede /%s)" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "Konflikt: Denne bruger eller e-mail adresse eksisterer allerede" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "Du skal angive en gyldig ny e-mail adresse" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "Du skal angive en container" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "Du skal angive et nyt brugernavn" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "Du skal angive en admin API nøgle" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "Du skal angive et admin brugernavn" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "Opret en ny API bruger med adgang kun til denne container (og ikke til hele din konto)" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "Cloud Files container" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "Cloud Files API nøgle" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "Cloud Files brugernavn" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "London (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "Hong Kong (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "Northern Virginia (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "Chicago (ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "Sydney (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "Dallas (DFW) (standard)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "Cloud Files Storage Region" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "Konti oprettet på rackspacecloud.com er US-konti; konti oprettet på rackspace.co.uk er UK-konti" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "US eller UK baseret Rackspace konto" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "Konti oprettet på rackspacecloud.com er US konti; konti oprettet på rackspace.co.uk er UK konti." #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "Autorisation mislykkedes (tjek dine personlige oplysninger)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "En ukendt fejl opstod ved forsøg på forbindelse til UpdraftPlus.com" #: src/admin.php:965 msgid "Create" msgstr "Opret" #: src/admin.php:925 msgid "Trying..." msgstr "Forsøger..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "Den nye brugers RackSpace konsol password er (dette vil ikke blive vist igen):" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "Fejldata:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "Backup eksisterer ikke i backup-historie" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "Delt linje for at ungå overskridelse af maksimal pakkestørrelse" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "Kunne ikke flytte gamle filer af vejen" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "Fjerner gammel data af vejen" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "Tilføj en anden adresse..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "Indtast de ønskede adresser her, som skal modtage en rapport når backup-jobbet er afsluttet." #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "%s checksum: %s" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "filer: %s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "Brug \"Reporting\"-sektionen til at konfigurere den e-mail, du ønsker at benytte" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "Information om rens af filer" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "Uploaded til:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "Tid brugt:" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "Advarsler" #: src/addons/reporting.php:223 msgid "Errors" msgstr "Fejl" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "Fejl / advarsler:" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "Indeholder:" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "Backup startede:" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "Backup rapport" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "%d timer, %d minutter, %d sekunder" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "%d fejl, %d advarsler" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "%s godkendelse" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "%s fejl: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "%s logo" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "returnerede ikke det forventede svar - tjek din log-fil for flere detaljer" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "Det nødvendige %s PHP modul er ikke installeret - ret henvendelse til dit hostingfirma for at få dette aktiveret" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "Din sides admin e-mail adresse (%s) vil blive brugt." #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "Tilslut" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(version: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "Vær opmærksom på at mailservere ofte har en størrelsesbegrænsning; typisk omkring %s Mb; backup større end disse grænser vil sandsynligvis ikke blive modtaget." #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "Seneste status:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "Backup indeholder:" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "Backed up: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "Log-filen er vedhæftet denne e-mail. " #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "Ukendt/ uforventet fejl - Henvend dig venligst til supporten" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "Kun database (filer var ikke en del af denne planlagte kørsel)" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "Database (backup af filer er ikke færdig)" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "Kun filer (databasen var ikke end del af denne planlagte kørsel)" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "Arkiverer (backup af databasen er ikke færdig)" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "Filer og database" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "(Dette gælder alle WordPress backup plugins, undtagen hvis de er specielt kodet til multisite mulighed)." #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "Uden opgradering tillader UpdraftPlus enhver blogadministrator, som kan ændre plugin-indstillinger til backup og herfra hente og gendanne data (som f.eks. ændrede adgangskoder) adgang til hele netværket." #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "Dette er en WordPress multi-site (også kaldet netværk) installation." #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "UpdraftPlus advarsel:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "(eller skab forbindelse ved at bruge formularen på denne side, hvis du købt adgang til den)" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "venligst aktiver dette plugin ved at opdatere det via dette link" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "For at få dette plugin, bedes du følge dette opdaterings-link" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "seneste" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "Din version: %s" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "Værsgo" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "UpdraftPlus support" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "En UpdraftPlus opdatering indeholdende dine tilføjelser er tilgængelig - følg dette link for at få den." #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "UpdraftPlus addons" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "En opdatering er tilgængelig til UpdraftPlus - venligst klik på dette link for at få den." #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "UpdraftPlus.Com returnerede et svar, men vi kunne ikke forstå det" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "Din e-mail adresse go password blev ikke genkendt af UpdraftPlus.Com" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "UpdraftPlus.Com gav et svar, som vi ikke kunne forstå (data: %s)" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "UpdraftPlus.Com svarede, men vi forstod ikke svaret" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "Det lykkedes ikke at skabe forbindelse til UpdraftPlus.Com" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "Rapportering" #: src/admin.php:5927 msgid "Options (raw)" msgstr "Muligheder (raw)" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "Send kun en rapport når der er advarsler/fejl" #: src/restorer.php:3052 msgid "Content URL:" msgstr "Indholds-URL:" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "Du bedes tjekke filejerskab og -tilladelser i din WordPress installation" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "Din ledige plads på din hosting-konto er meget lille - kun %s Mb tilbage" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "Mængden af hukommelse (RAM) tilladt til PHP er meget lav (%s Mb) - Du bør udvide hukommelsen p.g.a. for lidt hukommelse (kontakt din webhosting-udbyder for mere hjælp)" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "Håndtér tilføjelser" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "Køb" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "Få den i UpdraftPlus.COM Store" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "aktivier den på denne side" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "Du har et inaktivt køb" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "Tildelt til denne side" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "Tilgængelig for denne side (via dit tilføjelses fuldpakke køb)" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "(tilsyneladende en tidligere- eller tilbagetrykket udgivelse)" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "Klik her" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "Behov for support?" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "En fejl opstod ved forsøg på modtagelse af dine tilføjelser." #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "Anmodning ikke godkendt - Dine login detaljer til kontoen er forkerte" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "Vent venligst mens vi udfører fordringen..." #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "Der opstod fejl ved forsøg på at forbinde til UpdraftPlus.Com:" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "Du er i øjeblikket ikke forbundet til en UpdraftPlus.Com konto." #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "Hvis du har købt nye tilføjelser, bedes du følge dette link for at opdatere din forbindelse" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "Interesseret i at vide mere om UpdraftPlus.Com password sikkerhed? Læs mere her." #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "Har du glemt dine oplysninger?" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "Har du endnu ikke en konto (det er gratis)? Få en her!" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "Forbind til din UpdraftPlus.Com konto" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "Det ser ud til, at din installerede Updraft er forældet - Måske har du taget fejl af dem? " #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "Klik her for at starte installation." #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "UpdraftPlus er endnu ikke installeret." #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "Klik her for at aktivere det." #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "UpdraftPlus er endnu ikke aktiveret." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "Klik her for at skabe forbindelse." #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "Du har endnu ikke skabt forbindelse til din UpdraftPlus.Com konto, hvor du har mulighed for at se dine købte tilføjelses-funktioner." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "Uden denne vil kryptering foregå langsommere." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "Din web-server har ikke %s modulet installeret." #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "(Det ser ud til, at du allerede er godkendt,, men du kan gennemgå godkendelse igen for at genskabe forbindelse, hvis du har oplevet et problem)." #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "Drop backup-filer her" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "Web-serveren returnerede en fejlkode (prøv igen, eller tjek din web-servers logs)" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "Hvis du fravælger både databasen og filerne, har du fravalgt alt!" #: src/restorer.php:3046 msgid "Site home:" msgstr "Sidens forside:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "Fjernlager muligheder" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(logs kan findes i UpdraftPlus indstillinger som normalt)..." #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "Husk dette valg til næste gang (du vil stadig have mulighed for at ændre det)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "Upload mislykkedes" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "Læs mere om, hvordan dette virker..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "Fejl: Vi kunne logge ind, men mislykkedes i at skabe en fil på denne lokation." #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "Fejl: Vi kunne logge ind og flytte det valgte arkiv, men mislykkedes i at skabe en fil på denne lokation." #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "Brug SCP i stedet for SFTP" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "SCP/SFTP bruger-indstillinger" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "SCP/SFTP host indstillinger" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "Forsøget på at sende backup'en via e-mail mislykkedes (backup'en var muligvis for stor til denne metode)" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "Backup er: %s." #: src/admin.php:1017 msgid "%s settings test result:" msgstr "%s indstillinger test resultat:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(Ikke færdig)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "Hvis du ser flere backup's, end du havde forventet, er det sikkert på grund af, at sletning af gamle backup sæt ikke sker, før en ny backup er færdig." #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "Venligst ikke plaver det i dine uploads eller plugins arkiv, da det vil skabe gentagelse på gentagelse (backup af backup af backup af...)." #: src/admin.php:3843 msgid "Job ID: %s" msgstr "Job ID: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "Seneste aktivitet: for %ss siden" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "Ukendt" #: src/admin.php:3756 msgid "Backup finished" msgstr "Backup er færdig" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "Afventer planlagt kørsel før næste forsøg pga. fejl" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "Nedbringer antal gamle backup-sæt" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "Uploader filer til fjernlager" #: src/admin.php:3803 msgid "Encrypted database" msgstr "Krypteret database" #: src/admin.php:3795 msgid "Encrypting database" msgstr "Krypterer database" #: src/admin.php:3769 msgid "Created database backup" msgstr "Oprettet database backup" #: src/admin.php:3782 msgid "table: %s" msgstr "tabel: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "Opretter database backup" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "Oprettede fil backup zips" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "Opretter fil backup zips" #: src/admin.php:3706 msgid "Backup begun" msgstr "Backup er startet" #: src/restorer.php:1563 msgid "file" msgstr "fil" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "mappe" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "UpdraftPlus havde behov for at oprette en %s i dit indholdsarkiv, men mislykkedes - Venligst tjek dine rettigheder og giv adgang (%s)" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "Backup'en er ikke færdig; en genoptagelse er planlagt" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "Dit website besøges kun sjældent og UpdraftPlus modtager ikke de forventede ressourcer. Læs venligst denne side:" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "Fortsæt med opdateringen" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "Afbryd ikke efter klik på Fortsæt nedenfor - Vent på at backup'en er færdig." #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "UpdraftPlus Automatisk Backup's" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "Der er opstået fejl:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "Opretter backup med UpdraftPlus..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "Automatisk Backup" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "Opret database backup med UpdraftPlus..." #: src/addons/autobackup.php:431 msgid "themes" msgstr "temaer" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "plugins" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "Starter automatisk backup..." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "Skaber %s og database backup med UpdraftPlus..." #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Lav automatisk backup (hvis relevant) af plugins, temaer og WordPress databasen ved hjælp af UpdraftPlus inden opdatering" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "Hvis ikke du er sikker, bør du stoppe; ellers kan du ødelægge denne WordPress installation." #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "Dette ser ikke ud til at være en godkendt WordPress backup - Filen %s manglede." #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "Kunne ikke åbne zip-fil (%s) - Kunne ikke scanne og tjekke for sikkerheden." #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "Kunne ikke læse zip-fil (%s) - Kunne ikke scanne og tjekke for sikkerheden." #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "Flere plugins" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Support" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "UpdraftPlus kunne ikke finde indstillinger for tabeller ved scanning af database backup'en." #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "Denne database backup mangler WordPress tabeller: %s" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "Databasen er for lille til at være en godkendt WordPress database (størrelse: %s Kb)." #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "Vær på den sikre side med en automatisk backup" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "Hvis du stadig kan læse denne tekst, efter siden er færdig med at loade, så er der et problem med JavaScrips eller jQuery på siden." #: src/admin.php:960 msgid "The file was uploaded." msgstr "Filen blev uploaded." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "Ukendt server-svar status:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "Ukendt server-svar:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "Denne dekrypteringsnøgle vil forsøges anvendt:" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "Følg dette link for at forsøge dekryptering eller download database-filen til din computer." #: src/admin.php:955 msgid "Upload error" msgstr "Fejl ved upload" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "Upload fejl:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(vær sikker på, at du prøvede på at uploade en zip-fil, der tidligere er skabt af UpdraftPlus)" #: src/admin.php:943 msgid "Download to your computer" msgstr "Download til din computer" #: src/admin.php:942 msgid "Delete from your web server" msgstr "Slet fra din webserver" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "Eksempler på S3-kompatible lagerleverandører:" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "Opdel arkiver hver:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "Fejl: Serveren sendte os et svar (JSON), som vi ikke forstod." #: src/admin.php:932 msgid "Warnings:" msgstr "Advarsler:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "Fejl: Serveren sendte et tomt svar. " #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "Multi-arkiv backup'en ser ud til at mangle følgende arkiver: %s" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "Filen (%s) blev fundet, men har en anden størrelse (%s) end forventet (%s) - Filen kan være beskadiget." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "Filen blev fundet, men er uden indhold (du må uploade den igen): %s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "Filen blev ikke fundet (du skal uploade den): %s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "En sådan backup findes ikke" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "Flytter upakket backup på plads..." #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "Kunne ikke åbne zip-filen (%s) - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "Server-sti til WordPress rodmappen: %s" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "%s end-point" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "... og mange flere!" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (Kompatibel)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "Filen findes i øjeblikket ikke lokalt - Den skal hentes fra fjernlageret" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "Leder efter %s arkiv: filnavn: %s" #: src/restorer.php:635 msgid "Final checks" msgstr "Afsluttende kontrol" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "Vælg denne funktion for at slette enhver unødvendige backup-filer fra din server, efter backup-kørslen er færdiggjort. Hvis du fravælger funktionen, vil alle filer sendt til fjernlager også forblive på den lokale enhed)." #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "Placér krypterede database-filer (db.gz.crypt filer) her for at uploade dem til afkryptering" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "Din wp-content arkivserver sti: %s" #: src/admin.php:949 msgid "Raw backup history" msgstr "Komplet backup-historie" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "Vis komplet backup og fil-liste" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "Behandler filer - vent venligst..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "Kunne ikke åbne database filen." #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "Kendte backups (komplette)" #: src/restorer.php:1835 msgid "Files found:" msgstr "Fundne filer:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "Den ønskede table engine (%s) er ikke tilgængelig - Skifter til MylSAM." #: src/restorer.php:539 msgid "file is size:" msgstr "Filstørrelse:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "Find mere information her." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "Nogle filer er stadig ved at downloade eller blive bearbejdet - Vent venligst." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "Den anvendte tidszone er den samme som i dine WordPress-indstillinger." #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "Skriv i formatet TT:MM (f.eks. 14:22)." #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "%s login-fejl" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "Adgang til %s mislykkedes under sletning (se yderligere i log-filen)" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "%s Fejl" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "%s fejl - Kunne ikke uploade filen" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "%s fejl - kunne ikke genskabe stykkerne" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "%s tilladelse fejlede" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "Fejl: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "Dette backup-arkiv eksisterer, men er ikke skrivbart." #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "Dette backup-arkiv eksisterer ikke." #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "Advarsel: %s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "En meget stor fil blev fundet: %s (størrelse: %s Mb)" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s: Ikke læsbar fil - Kunne ikke blive backed up" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "En fejl opstod ved lukning af den sidste database-fil" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "Fundne advarsler:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "Din ledige diskplads er meget lille - Der er kun %s Mb tilbage" #: src/addons/migrator.php:398 msgid "New site:" msgstr "Ny side:" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "Overflyttet side (far UpdraftPlus)" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "Angiv detaljer for, hvor denne nye site skal være i din multisite installation:" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "Nødvendig information for at fortsætte:" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "Aktiveret tema på netværk:" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "Anvendt plugin:" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "Undersøg dine fil-tilladelser: Kunne ikke skabe og tilføje arkivet:" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "Venligst tjek dine adgangsindstillinger." #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "Fejlen meddelt af %s var:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "Venligst angiv den anmodede information og fortsæt derefter." #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "Site information:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Advarsel:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "Du arbejder via en WordPress multisite - men din backup er ikke af et multisite site." #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Luk" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "Uventet respons:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "Adskil hver adresse med et komma, for at sende til flere adresser." #: src/admin.php:947 msgid "PHP information" msgstr "PHP information" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "anvendelige zip fundet:" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "vis PHP information (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "Ønsker du at flytte eller klone/kopiere et site?" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "Afvent venligst at kommunikationen med fjernlageret er fuldført." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "Slet også fra fjernlageret" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "Seneste UpdraftPlus.com nyheder:" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "Premium" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "Nyheder" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "Bakup sæt ikke fundet" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "%s - Kunne ikke lave backup af denne enhed; det tilsvarende arkiv eksisterer ikke (%s)" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "RSS link" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "Blog link" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "Tester %s indstillinger..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "Eller, du kan placere dem manuelt i dit UpdraftPlus arkiv (normalt wp-indhold/updraft), f.eks. via FTP, og benyt så \"rescan\"-linket ovenfor." #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "Meddelelse" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "Fundne fejl:" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "Scanner igen (søger efter backup's, du manuelt har uploaded til det interne backup lager)..." #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "Søgning efter denne enhed er startet" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "Gem på" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "\"%s\" har ingen primær nøgle - Manuelle ændringer er nødvendige på rækken %s." #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "rækker: %d" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "Anvendt tid (sekunder):" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "Fejl:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "SQL update-kommandoer kører:" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "Rettelser lavet:" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "Undersøgte rækker:" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "Undersøgte tabeller:" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "Kunne ikke få liste over tabeller" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "Advarsel: Databasens URL (%s) er forskellig fra, hvad vi forventede (%)" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "Kan ikke ændre noget: URL'en %s eksisterer allerede." #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "Fejl: Uventet tomt parameter (%s, %s)" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "Database: Søg og erstat sitets URL" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "Mislykkedes: Vi forstod ikke resultatet der blev returneret af %s operationen." #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "Mislykkedes: %s operationen kunne ikke starte." #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "Søg og erstat site-placering i databasen (migrere)" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "Alle referenver til dette site lokation i databasen, vil blive erstattet med dit nuværende site-URL, som er: %s" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "Blog uploads" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "Must-use plugins" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "Multisite installation" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "begyndende fra næste gang er det" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "Fejl: Port skal angives i hele tal." #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "password" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "brugernavn" #: src/addons/sftp.php:638 msgid "host name" msgstr "værtsnavn" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "Hvor at skifte mappe til efter log in - Denne er ofte det samme som dit hjemme-bibliotek." #: src/addons/sftp.php:615 msgid "Directory path" msgstr "Sti til arkiv" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Password" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "Port" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "Vært" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "Tjek dine fil-tilladelser: Kunne ikke oprette og skrive:" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "Ingen %s fundet" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "Ingen backup af %s mapper: Der blev intet fundet at sikkerhedskopiere" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "Vær forsigtig med, hvad du vælger - Hvis du vælger, vil der blive forsøgt skabt en zip-fil indeholdende hele din webserver." #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "Hvis du ikke ved, hvad denne mulighed går ud på, vil du sikkert ikke have den og bør derfor vælge den fra." #: src/addons/morefiles.php:294 msgid "More Files" msgstr "Flere filer" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "WordPress kerne (herunder eventuelle tilføjelser til din WordPress rodmappe)" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "Ovenstående filer omfatter alt i en WordPress installation." #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "Overskriv wp-config.php" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "WordPress Core" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "Fejl: Vi kunne ikke indsætte en fil i denne mappe - Venligst tjek dine tilladelser." #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Mislykket" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "WebDAV URL" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "Lokal skrivning mislykkedes: Kunne ikke downloade" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "Fejl ved åbning af fjern-fil: Download mislykkedes" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "Der blev ikke fundet %s indstillinger" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "Fejl: Vi er logget ind, men var ikke i stand til at oprette en fil i den givne mappe." #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "Succes: Vi loggede ind, og bekræftede vores evne til at skabe en fil i den givne mappe (login-type:" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "Fejl: Vi kunne ikke logge på med disse oplysninger." #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "Fejl: Der blev ikke angivet server-detaljer." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "Skal allerede eksistere" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "Dit %s konto navn: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "du har autentificeret din %s konto" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "Behov for sub-foldere?" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "fejl: Kunne ikke oploade filer i %s (se log file for yderligere information)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "fejl: %s (se logfil for mere information)" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "Kommunikationen med %s var ikke krypteret." #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "Kommunikationen med %s var krypteret." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "Vi har fået adgang til gruppen, og vi kunne oprette filer i den." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "Vi har fået adgang til gruppen, men forsøget på at oprette en fil i den mislykkedes." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "Fejl" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "Region" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "Fejl: Ingen gruppedetaljer blev oplyst." #: src/methods/s3.php:1370 msgid "API secret" msgstr "API hemmelighed" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "%s lokation" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "%s sikkerhedsnøgle" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "%s adgangsnøgle" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "Hvis du ser fejl vedrørende SSL-certifikater, kan du få hjælp her." #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "%s genskabelses-fejl (%s): (Se logfilen for mere info)" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "%s upload: Det mislykkedes af få upload-ID til multi upload - Se logfilen for flere detaljer." #: src/methods/email.php:106 msgid "Note:" msgstr "Note:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "WordPress Backup" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "Vi fik adgang til mappen, og var i stand til at oprette filer i den." #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "Cloud Files fejl - vi fik adgang til mappen, men undlod at oprette en fil i den." #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "Fejl: Der blev ikke oplyst detaljer om mappe." #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Brugernavn" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "API-nøgle" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "Fejl: Der blev ikke angivet et %s" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "Cloud-filer brugernavn" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "UK" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "US (standard)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "US eller UK Cloud" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "Du bør også læse denne vigtige FAQ." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "Test %s indstillinger" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "Fejl ved åbning af lokal fil: Kunne ikke downloade." #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "%s Fejl: Upload mislykkedes." #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "%s Fejl: Kunne ikke åbne den lokale fil." #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "Cloud filer godkendelse mislykkedes" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Godkend med Google." #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "Klient hemmelighed" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "Hvis Google senere viser dig beskeden \"Invalid_klient\", har du ikke angivet en gældende klient ID her." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "Klient ID" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "Du skal tilføje følgende som gældende URI (under \"Flere indstillinger\") når du bliver spurgt." #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "Vælg 'Web Application\" som program-type." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "Kontoen er ikke godkendt." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "Upload til %s mislykkedes" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "Konto fuld: Din %s konto har kun %d bytes tilbage, men filen, der skal uploades, er %d bytes" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "Har endnu ikke har modtaget en adgangs-token fra Google - Du skal godkende din forbindelse til Google Drev." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "du har autentificeret din %s konto." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "Succes" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "Din %s forbrugskvote: %s %% brugt, %s tilgængelig" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "følg dette link for at få det" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "%s support er tilgængelig som et add-on" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "Du har ikke dette UpdraftPlus %s add-on installeret - Få det fra %s" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "Det er nødvendigt at re-autentificere med %s, da dine eksisterende legitimationsoplysninger ikke fungerer." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "OK" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "Tabel præfiks har ændret sig: Skiftende %s tabel-felt(er) i overensstemmelse hermed:" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "databaseforespørgslen der blev kørt var:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "vil genskabes som:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "Gammel tabel præfiks:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "Backup af:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "Kunne ikke åbne database-filen" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "Kunne ikke finde database-filen" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "Kunne ikke skrive det dekrypterede database til filsystemet" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "Kunne ikke oprette en midlertidig mappe" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "Det lykkedes ikke at slette arbejdsmappe efter gendannelse." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "Rydder op i affald..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "Gendannelse af databasen. På et stort websted kan dette tage lang tid, hvilket kan ske, hvis din webudbyder har konfigureret din hosting at begrænse ressourcerne. I så fald skal du bruge en anden metode, såsom phpMyAdmin..." #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "Det lykkedes af dekryptere databasen." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "Dekrypterer database (dette kan tage et stykke tid) ..." #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "Udpakker backup..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "Kopiering af denne enhed mislykkedes." #: src/restorer.php:842 msgid "Backup file not available." msgstr "Backup-fil er ikke tilgængelig." #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "Fejlmeddelelse" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "Backup optegnelser indeholder ikke information om den korrekte størrelse af denne fil." #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "Arkivets forventede størrelse:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "Hvis du opretter en anmodning om support, skal du medtage denne information:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "AFBRUDT: Kunne ikke finde oplysninger om, hvilke enheder som skulle gendannes." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "UpdraftPlus Genoprettelse: Status" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "Når du har trykket på denne knap, vil du få mulighed for at vælge, hvilke komponenter du ønsker at gendanne" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "Slet dette backup sæt" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Gem ændringer" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "Deaktiver SSL helt, hvor det er muligt" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "Bemærk, at ikke alle cloud backup metoder nødvendigvis bruger SSL-godkendelse." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "Undlad at validere SSL-certifikater" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "Brug denne servers SSL-certifikater" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "Hvis dette mislykkes, så tjek tilladelserne på din server eller ændre den til en anden mappe, der er skrivbare for din webserver." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "eller for at nulstille denne indstilling" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "Klik her for at forsøge at oprette mappen og angive rettighederne til den." #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "Den definerede Backup mappe er skrivbar, hvilket er godt." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "Backup mappe" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "Slet lokal backup" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "Vis Ekspert indstillinger" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "Ekspert indstillinger" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Fejlsøgningstilstand" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "Avancerede / Fejlsøgningsindstillinger" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "Anmoder om start af backup..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Annuller" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Ingen" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "Vælg dit fjernlager" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "Manuel dekryptere en database backup fil" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "Databasekryptering sætning" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "Email" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "Ovenstående mapper er alting, undtagen selve WordPress kernen, som du kan downloade på ny fra WordPress.org." #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "Undlad disse:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "Alle andre mapper fundet inde i wp-content" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "Medtag i fil backup" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "fx hvis din server er optaget om dagen, og du vil køre det om natten" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "For at rette det tidspunkt, hvor en backup bør finde sted," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Månedlig" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "Hver fjortende dag" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Ugentlig" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Daglig" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "Download log fil" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "Mappen eksisterer, men din webserver har ikke tilladelse til at skrive til den." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "Anmodningen til filsystemet om at oprette mappen mislykkedes." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Slet" #: src/admin.php:3877 msgid "show log" msgstr "vis log" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "Dette vil slette alle dine UpdraftPlus indstillinger - er du sikker på at du vil gøre dette?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "tæller" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "N.B. Denne optælling er baseret på, hvad der var, eller ikke var udelukket sidste gang du gemte indstillinger." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Total (ukomprimeret) på disk data:" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Nej" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Ja" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "%s version:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "Aktuelt hukommelsesforbrug" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "Max hukommelsesforbrug" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "Web server:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "Har du brug for WordPress Multisite support?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Multisite" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "Læs denne artikel af nyttige viden inden du gendanner." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s genopretningsmuligheder:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "Du bliver nødt til at gendanne det manuelt." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "Følgende enhed kan ikke gendannes automatisk: \"%s\"." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "Din web server har PHP's såkaldte safe_mode slået til." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Vælge komponenterne som skal gendannes" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "Gendannelse vil erstatte denne hjemmesides temaer, plugins, uploads, database og/eller andre indholdsmapper (alt efter dit valg og hvad backup sættet indeholder)." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Genskab backup" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "Slet backup sæt" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "Download fejl: serveren sendte os et svar, som vi ikke forstod." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Fejl:" #: src/admin.php:927 msgid "calculating..." msgstr "beregner..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - Upload backup filer" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "opdater" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "Web-server diskplads i brug af UpdraftPlus" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "Dette er en optælling af indholdet på din Updraft mappe" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Drive" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "Hvis du bruger dette, så slå Turbo/Road mode fra." #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Opera web browser" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "Flere opgaver:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "Hent senest ændret logfil" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Sidste Log Besked" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Gendan" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "Backup Nu" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "Tiden nu" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Database" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Filer" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "Næste planlagte backup" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "På samme tid som fil-backuppen " #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "Intet planlagt i øjeblikket" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "JavaScript advarsel" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Slet gamle mapper" #: src/admin.php:3050 msgid "Current limit is:" msgstr "Nuværende grænse er:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "Din backup er blevet gendannet." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Version" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "Udviklerens egen hjemmeside" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Dine indstillinger er blevet slettet." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "Backup mappe blev oprettet." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "Backup mappe kunne ikke oprettes" #: src/admin.php:3888 msgid "Remove old directories" msgstr "Fjern gamle mapper" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Vend tilbage til konfiguration af UpdraftPlus" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Handlinger" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "Forkert filnavn format - det ligner ikke en krypteret database fil oprettet af UpdraftPlus" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Forkert filnavn format - det ligner ikke en fil oprettet af UpdraftPlus" #: src/admin.php:2631 msgid "No local copy present." msgstr "Ingen lokal kopi" #: src/admin.php:2628 msgid "Download in progress" msgstr "Downloading igang" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "Fil klar." #: src/admin.php:2598 msgid "Download failed" msgstr "Download mislykkede" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Fejl" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "Kunne ikke finde det job - måske er det allerede færdig?" #: src/admin.php:2335 msgid "Job deleted" msgstr "Job slettet" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Der er ikke logget noget endnu" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Se venligst denne FAQ, hvis du har problemer med sikkerhedskopiering." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "Dit website er hostet ved hjælp af %s webserver." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Advarsel" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Indstillinger" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Uendelig rekursion: se din log for mere information" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Fil ikke fundet" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "Dekrypteringsnøglen som blev anvendt:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "Kunne ikke åbne backup filen for skrivning" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "Kunne ikke læse mappen" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "Backup mappen (%s) er ikke skrivbar, eller findes ikke." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "WordPress backup er fuldført" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "Sikkerhedskopieringen forsøgte at blive færdig, men uden held" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Andre" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Uploads" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Temaer" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Plugins" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "Ingen logfiler blev fundet." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "Logfilen kunne ikke læses." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "UpdraftPlus meddelelse:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "UpdraftPlus Backups"languages/updraftplus-af.po000064400001120066147400355670012030 0ustar00# Translation of UpdraftPlus in Afrikaans # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: +0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: af_ZA\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "" #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-ar.mo000064400000723612147400355670012046 0ustar008qqNq8qurr r rSr$s4s=s#\ss ss sssstt3tFtNtWtgt#|t t)t't tK u lu yuKuu uuuuv(v 7v2Cvvv+v vv$vw6wWPw ww,wWw!Bxdxvxx xrx "y.y/Ayqyy*yyy*yA%zWgzIz& {80{i{ y{ {{{{{;||tr}%}' ~#5~@Y~E~3~C) my   ]Lŀ l hz h )%#ڂ%1WqZK \0f DŽ؄)gg}'),)V!Dm s}#}^=<ω) 6Ɗ7898r7[E?kTuF8*C bdRǎK"f12ӏ?-F?t_Rogב9>P4 Ēђ'(=VlTM֓$=$S6x"Ҕ-=Nm]qݕ6O!Ȗ Ζ ܖ  !/c6 ȗ ӗ56 N \i;zɘ )9:%t1>̙6 &B+iɚٚ  (!GJ 8+"FiJzEŜ K$_pНv =Ca i s,Ϡ֠  '.3J[Gb ա-5GmJOE N\y !פ93Oj9:CZ w Dæ%+ DPdz!Ţ!!CXa"3.<Z)bǩ) - Ī Ϊ ت d%iƫ:;(X*/ܬ 9 ?FfY6G ~ !!ڮ3 #?c,|ï ޯ  2?Rdj )ذ6?Q %б *5)Ku|в )5I R_t#E  )*FqL5ʹԵG";^()$H1m:PڷJ+v(ָ"T*_/49]?i.CNLADݻN""qO  #>M]4p55۽.@O_<0m6M#Sw 1 ,- 4;p w )H.Aw* [ah{: -<K^m |,  0I Ydv 9 )#J&n3- =)ZG%%*6-a<~OZ[)/F&)E(o&!?^! c B3v* @ )<3OX %>2@q -)09Ybi%WKjMa1;LHQ7Z"A}a9![4ygDJ[= QZZ   *b6% % *+VYar").X)j% 7 zzz +Y.fmEAFw<7kZ/MR`+_5sK2|~Y\URERK~B$]yDLG zSn=={ 009 j%w##  )5II9 *W>=&$>+c1" Q,~(9%V| D/E VUa&],Q ~G:**)U( F%"; ^lE'  ) 5 BL8b  -@ HS&i  !$ *4FWqvas{ *CZn   #/^I?9 Fo_M40M~'5Nas{7+c /NPQW*s ;?)iAJ[^rgX*jH M:*"<B[ kx  T'(8Ma%+% !' 8I H '  / #< %` O " "  (: 3c ? ; 6 \J @ ; >$ ?c ; 3 r='#8Pf Z"!*/?o !  JRjq $# !:&\ 4@#=a"u5  #P,} F*=D [ h=rC@5SAp'b6S -6Ie+U'7##)<K\Z9  3I_x }  : 4?N@U@F+J1] *4< 9 D [ ]n L !8!=!1[! !+!"! !%!":",Q"~"""""""# ###7# J#U#f#x# # ###M#<$,A$ln$h$BD%2%%%%% &1&Q&Z&w&&& &$& & && '#'+,'X'`'ri'V'3( ;(G(d( k(x( (A )L)]) d)n)):) ) )&)**/*B*Y* o*%z***O*"+++Kz,?,r-Vy-I-B.x].@.$/(25q2#2:2o3v363?3Q 4_4"v4(4,4B4q255I*6t66A6E6P27m7J7/<88l88=89N9<g99J:4;3D;0x;S;j;;h<<+<R<C=-c=L=z=ZY>3>=>W&?X~?(?>@#?@Pc@A@u@PlA(AAfA9TBEB_B4CBC'D9DDtDEoE)F3FGYG5H8HI9"I@\I&IPI&J,٘ ܘ . @J P"\# K 8@@,##Қ1$Hm!:)13F*z   ƜМל3..Dsx }//ٝ #.RU\`i žО7מ/ 4>T&h; ˟"؟h t}&Р E?c'ˡ ӡޡ  1*=h nz ޢ  (F KU\!o)ۣ)]E:> yƥ&٥'y(ŧuۧQnש F%S*y_ -7-W! ӫ5$BRi  ˬ6 9<<v-j LZ[j ƮӮ!0I [gi#ѯ3))F.p9ٰZr{S ^p4ӳ fA8YzԵD nNv4NN  Ydy  ø&[,MgeI,5vbپ &AWo3 ' %9O/C8?3x$'QK j$oj;"1(T$}"- *K'A6P?4EsBWk@'2yMh1R$A3EuTs\{b]VN3W1hd1="uEkSI{8N$asX$.8S3e/&7V11nZa%%^EgD )1:.lD%PK.&U^m 7&(eBf%$54Zs';+DgF(&dC?Mp6cB GN573&8$_<BLQ!&j>J?$45YM217fik~<g AZ*c *Z9Upw/    ! 3>&$0 D>Xpj&"(20#:T\//L]I 1*AYqg! *.5d.~*(5/7gJ&; b.m =Z_Z:?"Dg4   (FK": +] " * f ;> 1z H Q %G m u Z| p H  J   = 4KK9^=eFZ5E9{ 4 ,) Vw %4W<(8D6;1r_8<=Lz3(>^\$3/.7^5"C3 K lwE4m'" .B"e?yD#|<_<J>$1cHsRV]x4=L% :r  1!M!$!+!&""I"P"!Y"{"0#"$&5$!\$~$o$_%tf%%2m&$&%&~&j'',''' (D$(Ei(V(@) G)!h)/)*T;+),,%,/,-E2-x-9-:-W.[. c.n..2.. .C/j_/>/: 0:D0p0 00111DJ111!111 2&2@2`22 2>2,2 3&30=3!n3,33.34 &4$14)V4$44E485/<5 l5y5t525L(6+u6(6A6 7'7VD7B757E86Z8V8*8.91B9Ot9&9'9!:5: M:fn::|;<D<J<:= A=.b=>=D=3>:I>@>|>B?K?d?m?|? @9!@b[@&@=@#A]4AA ASA(B,BIB/B5(C^C D`,DjD!DE^2EE0E E E5E.F5F->F?lFFL/G|GHKH]HWUIIJ1KIKL{L2MxM8aNWNNiO]ObQP2PPPQ R3R38R2lRR$R(R S S.SST/T3NTT,TPTUU4+U3`UU&UUUPVlVV>VV<V53WiW}W[W WWX;YYY0Y+ZE[4d[[[[l\e ]uo]]^_9``n~apa^bbc@ddwe%ffghhy.iijCkkljmhmmnVo1o$q(}g}7}}wY~E~p(Mm75/a?7]ف"73Z (̂e[0w* Ӄ+ރ!  ,M kv:Oń(>:]$5݅Wk&-:؆!̊ t+7G'="e. ׌ 8<Y t7 =č#1+]?Nrя9D~@&ϑ$dP6ђ[2dP? LXp0h-#QRl.{ FT<t- ߙ#',uTZʚX%~Ŝnl۝!Cs\v& )4^F.`,GŢ4 uB#ܣ'9Onw*!'L?tr/'MWB.=(\a4;pX5ɩD)D4nMrLdGqHWVۭX2Pܮ\TH Y;f5ذ "';3c 0B>ƳS!'u 8Ŵ + CedDʵ " /3<.p#1նH4P9D274LQWӸ9+(eAlй="Wz  sº(6*_'^Fd(k\eSx;̽3y<iH i"g0X"P6 T-u E$ m/^c.`*A "=# a%3R1 ) parfB;,~50H*ls%/H0W9U!K=TK2J)}b 7.Q@Q!- O\m%v++!2J^z*^NG hZ#1~!  C( l'w! $+P9b: p* @/K {h *):+d]Q  r""( .!1Pg529lrg[6~VhDZ1<2 o}(AC^4X0>TXc-J' .5Rd}Y0F>h|kK_t.<Z;jSL #HUXApaL,.<[+"MNh32Kfr%)Z>3r(+ TaV\hPR%1 \ Y w   a  mZ7l0';X*JV7K6<sOcfs]T|6rRrWh?y@>d)zooKZ_v u!0""L##h$U%3t%%d&[&i@'e'(U(;U):))g*1+ +U+D9,2~,,R{--SN..).. / /$*/O/0m/Y/5/F.0Fu070M0NB1W161 2y23#03"T3w3303.3L 4^V44,4C4+<5 h5v555*-6X6#o66A66;7'B7Mj77N87e88&8V869R9$m99995:3:h;;8<O<h<}<O<<=0=D=W>Em>F> >r?z?? ?$?3? @!@8@@-@A2A37AkA$A%AA_B,BCCDD +D?8DxD D D&DDYD +Ep9E E EEEFrcGlGCHRHoH1H`IXJ@kJ]Jg KrK]KKK"L#'L=KLLLL&LMM/N"NNN# Ow/P?PPQRTT&mTTfTJU!`UtU"U!V p?wp;p9p-qqUJrrNsNsbKuvu%vz(wuwyxx.#y[Rykyz5z+{*I{`t{{{1 |;|4}^8}1}}b~ZJ$[&f0%"wHFtƃ;\h[s|rty>d܈A=TTK43EhN{fʋ'1Y sL& >]rɍ P] fJsЎBCT" ̏Q4gsH/+x26בH5W%2fEM7%˓N1@r y 2\,WBǕ Εە >?C+P +-Ao+֗ aFb "Ә"HLb3Ǚ%!šњ4$%'J$r%mϛv=: - ;+F)r:?<U4֞,4I4_ Dޟ9#a]3Π1"L-o#>?ʣ  &.@o*~)Ӥ 71X Your hosting provider only allows you to take one incremental backup per day."%s" has no primary key, manual change needed on row %s."tenant" is a term used with OpenStack storage - Google for "OpenStack tenant" to get more help on its meaningtenant%d errors, %d warnings%d hours, %d minutes, %d seconds%s (%s used)%s - could not back this entity up; the corresponding directory does not exist (%s)%s Account Name%s Error%s Error: Failed to initialise%s Error: Failed to open local file%s Error: Failed to upload%s Prefix%s Service Exception.%s access key%s add-on not found%s archives remain%s authentication%s authentication code:%s authentication failed%s authentication:%s bits%s bytes%s checksum: %s%s de-authentication%s download: failed: file not found%s end-point%s error - failed to access the container%s error - failed to re-assemble chunks%s error - failed to upload file%s error - we accessed the container, but failed to create a file within it%s error: %s%s from now%s has been chosen for remote storage, but you are not currently connected.%s hours%s location%s login failure%s logo%s minutes, %s seconds%s month %s trial%s per quarter%s per year%s re-assembly error (%s): (see log file for more)%s restoration options:%s returned an unexpected HTTP response: %s%s secret key%s settings test result:%s support is available as an add-on%s table(s) found.%s total table(s) found; %s with the indicated prefix.%s upload: getting uploadID for multipart upload failed - see log file for more details%s version:%s weeks%s: unreadable file - could not be backed up%s: unreadable file - could not be backed up (check the file permissions and ownership)(%d archive(s) in set, total %s).(None configured)(Not finished)(Nothing has been logged yet)(Read more)(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).(after %ss)(already uploaded)(apparently a pre-release or withdrawn release)(as many as you like)(at same time as files backup)(backup set imported from remote location)(current version)(latest increment: %s)(learn more about this significant option)(logs can be found in the UpdraftPlus settings page as normal)...(make sure that you were trying to upload a zip file previously created by UpdraftPlus)(or connect using the form on this page if you have already purchased it)(tap on an icon to select or unselect)(the asterisk character matches zero or more characters)(verb)Download(version: %s)(view log...)... and many more!1 hour1 weekDo not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...).(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem).After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s.A "migration" is ultimately the same as a restoration - but using backup archives that you import from another site.A PHP exception (%s) has occurred: %sA PHP fatal error (%s) has occurred: %sA host name cannot contain a slash.A key with this name already exists; you must use a unique name.A search/replace cannot be undone - are you sure you want to do this?A very large file was encountered: %s (size: %s Mb)A zip error occurredABORT: Could not find the information on which entities to restore.API Key: %sAPI keyAPI secretAWS authentication failedAccess Key: %sAccount IDAccount KeyAccount full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized (%s).Account is not authorized.Account typeAccounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-basedActionsActions upon selected backupsActivity logAdd SFTP to send your data securely, lock settings and encrypt your database backups for extra security.Add a siteAdd an additional database retention ruleAdd an additional file retention ruleAdd an additional retention rule...Add an exclusion ruleAdd an exclusion rule for %sAdd an external database to backup...Add another %s account...Add another address...Add directory...Add exclusion ruleAdd siteAdd this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites.Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com.Adding...Additional and enhanced remote storage locationsAdditional storageAdmin API KeyAdmin UsernameAdmin access keyAdmin secret keyAdvanced / Debugging SettingsAdvanced ToolsAfrica (Cape Town)After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locationsAfter pressing this button, you will be given the option to choose which components you wish to migrateAfter pressing this button, you will be given the option to choose which components you wish to restoreAfter you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance.All WordPress tables will be backed up.All files beginning with given charactersAll files beginning with these charactersAll files with this extensionAll files/directories containing All files/directories containing the given characters in their namesAll references to the site location in the database will be replaced with your current site URL, which is: %sAll sitesAllow deletionAllow downloadAllow only administrators to log inAllows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup.Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this.Already got space?Also delete from remote storageAlso send this backup to the active remote storage locationsAlso, you should read this important FAQ.An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %sAn admin password has been set.An email is required and needs to be in a valid format.An empty WordPress installAn error occurred on the first %s command - aborting runAn error occurred when fetching storage module options: An error occurred when trying to retrieve your add-ons.An error occurred while attempting to check the support of stored routines creation (%s %s)An error occurred while attempting to retrieve routine status (%s %s)An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %sAn error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %sAn error occurred whilst closing the final database fileAn error response was received; HTTP code:An unknown error occurred when trying to connect to UpdraftPlus.ComAn update containing your addons is available for UpdraftPlus - please follow this link to get it.An update is available for UpdraftPlus - please connect here to gain access to it.An update is available for UpdraftPlus - please follow this link to get it.And then add an incremental backupAnonymisation functionsAnonymise personal data in your database backups.Anonymize personal data for all users except staffAnonymize personal data for all users except the logged-in userAny other directories found inside wp-contentAny other file/directory on your server that you wish to backupAny settings in your .htaccess or web.config file that affects the maximum upload or post size.Any support requests to do with %s should be raised with your web hosting company.Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address.Apache modulesApplication keyArchive is expected to be size:Are you sure that you wish to remove %s from UpdraftPlus?Are you sure you want to dismiss all UpdraftPlus news forever?Are you sure you want to remove this exclusion rule?Asia PacificAsia Pacific (Hong Kong)Asia Pacific (Mumbai)Asia Pacific (Osaka-Local) (restricted)Asia Pacific (Seoul)Asia Pacific (Singapore)Asia Pacific (Sydney)Asia Pacific (Tokyo)Ask WordPress to automatically update UpdraftPlus when it finds an available update.Ask WordPress to update UpdraftPlus automatically when an update is availableAsk a pre-sales questionAssigned to this siteAt the same time as the files backupAttempts by the browser to contact the website failed.Attribute imported content to userAuthenticate with %sAuthenticate with GoogleAuthenticationAuthorisation failed (check your credentials)Automatic BackupAutomatic backup before updateAutomatic updatesAutomatically backs up your website before any updates to plugins, themes and WordPress core.Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable for this site (via your all-addons purchase)Available temporary clone tokens:Available to claim on this siteAzureAzure AccountAzure ChinaAzure GermanyAzure GlobalAzure GovernmentBackBack...Backed up: %sBackupBackup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingBackup / RestoreBackup Contents And ScheduleBackup NowBackup ReportBackup WordPress core and non-WP files and databases.Backup WordPress multisites (i.e, networks), securely.Backup began:Backup begunBackup contains:Backup created by unknown source (%s) - cannot be restored.Backup created by:Backup created by: %s.Backup data (click to download)Backup data will be sent to:Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified does not exist.Backup directory specified exists, but is not writable.Backup directory specified is writable, which is good.Backup directory successfully created.Backup does not exist in the backup historyBackup external databaseBackup file not available.Backup finishedBackup is of: %s.Backup label:Backup made by %sBackup more databasesBackup non-WordPress files and databasesBackup non-WordPress tables contained in the same database as WordPressBackup of:Backup of: %sBackup pathBackup sent to remote site - not available for download.Backup set not foundBackup sets removed:Backup succeededBackup time and schedulingBackup to remote storage locationsBackup using %s?Backup won't be sent to any remote storage - none has been saved in the %sBackup, update and manage all your WordPress sites from one dashboardBackups are saved in %s.Bad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email.Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive.Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive.Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver.Be safeBe safe with an automatic backupBegunBegun looking for this entityBelgiumBlog linkBlog uploadsBoth email and password fields are required.Browse contentsBrowsing zip fileBucketBucket access styleBucket application key IDBucket locationBucket nameBuy %sBuy ItCallCall WordPress action:Canada (Central)CancelCannot create new AWS user, since an unknown AWS toolkit is being used.Central United StatesChange Lock SettingsChanges made:Check this box to have a basic report sent toCheck this box to use Amazon's server-side encryptionCheck this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits).Check this to receive more information and emails on the backup process - useful if something is going wrong.Check your file permissions: Could not successfully create and enter directory:Check your file permissions: Could not successfully create and enter:Chicago (ORD)China (Beijing) (restricted)China (Ningxia) (restricted)Choose a default for each tableChoose the components to restoreChoose the components to restore:Choose the schedule that you want your backups to run on.Choose your backup scheduleChoose your remote storageClaim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?Claim not granted - your account login details were wrongCleaningCleaning up rubbish...Clear list of existing sitesClient IDClient SecretClone of %sClone packageClone readyClone region:Clone server being provisioned and booted (can take several minutes)Clone:Cloning and migrationCloseClosing 1st October 2018Cloud FilesCloud Files API KeyCloud Files ContainerCloud Files Storage RegionCloud Files UsernameCloud Files authentication failedCloud Files error - we accessed the container, but failed to create a file within itCloud Files operation failed (%s)Cloud Files usernameCompleteComplete manual authenticationConfirmConfirm changeConflict: that user already existsConflict: that user or email address already existsCongratulations! Your first backup is running.Congratulations, your settings have successfully been saved.ConnectConnect this site to UpdraftCentral CloudConnect to UpdraftCentral CloudConnect to updraftplus.comConnect to your %s accountConnect with your UpdraftPlus.Com accountConnecting...Connection failed.Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.Connection succeeded.ConstantsContainerContains:Content URL:Continue restorationControl all your WordPress installations from one place using UpdraftCentral remote site management!Control all your backups in one placeCopying this entity failed.Could not access containerCould not create the containerCould not delete old path.Could not find that job - perhaps it has already finished?Could not get list of tablesCould not move old files out of the way.Could not open the backup file for writingCould not read one of the files for restorationCould not read the directoryCounting...CreateCreate Azure credentials in your Azure developer console.Create OneDrive credentials in your OneDrive developer console.Create a key: give this key a unique name (e.g. indicate the site it is for), then press "Create key":Create a new API user with access to only this container (rather than your whole account)Create a temporary clone on our servers (UpdraftClone)Create cloneCreate keyCreate new API user and containerCreate new IAM user and S3 bucketCreated database backupCreated file backup zipsCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backupCreating database backup with UpdraftPlus...Creating file backup zipsCreating your first backupCreating...Current SQL mode:Current clonesCurrent limit is:Current memory usageCurrent use:Currently disabledCurrently enabledDailyDallas (DFW) (default)Dashboard:DatabaseDatabase (created by %s)Database (files backup has not completed)Database OptionsDatabase backup intervalDatabase backup scheduleDatabase decryption phraseDatabase encryption phraseDatabase only (files were not part of this particular schedule)Database restoration options:Database successfully decrypted.Database: search and replace site URLDay of the monthDay of the weekDay to run backupsDebug modeDebugging informationDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete failed:Delete from your web serverDelete local backupDelete selected backupsDelete these settingsDelete this backup setDeleting...Deploying site dataDeselectDeselect allDeselect all backupsDirectory pathDisable SSL entirely where possibleDisabled this plugin: %s: re-activate it manually when you are ready.DisconnectDisconnecting...DismissDismiss (for %s months)Dismiss all UpdraftPlus newsDismiss from main dashboard (for %s weeks)Dismiss noticeDo not abort after pressing Proceed below - wait for the backup to complete.Do not confuse %s with %s - they are separate things.Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated.PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted.Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do remember to save your settings.Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral.Do you need WordPress Multisite support?Do you use UpdraftPlus on multiple sites?Do you want to carry out the import?Do you want to migrate or clone/duplicate a site?Don't know your email address, or forgotten your password?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDownloading backup files if neededDrop backup files hereDrop encrypted database files (db.gz.crypt files) here to upload them for decryptionDropboxDue to the restriction, some settings can be automatically adjusted, disabled or not available.Durable reduced availabilityEastern Asia-PacificEastern United StatesEasyEditEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too.Encrypted databaseEncrypting databaseEncryption key size:End tourEnjoy professional, fast, and friendly help whenever you need it with Premium.Ensure you are logged into the correct account before continuing.Enter a comma-separated list; otherwise, leave blank for all tables.Enter addresses here to have a report sent to them when a backup job finishes.Enter any path in the field below.Enter databaseEnter database.Enter details for where this new site is to live within your multisite install:Enter hostEnter host.Enter in format HH:MM (e.g. 14:22).Enter passwordEnter password.Enter table prefixEnter the ID of the %s project you wish to use here.Enter the name of the %s bucket you wish to use here.Enter the path of the %s folder you wish to use here.Enter the path of the %s you wish to use here.Enter usernameEnter username.Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name.Enter your UpdraftPlus.Com email / password here to connect:Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name.Enter your chosen nameErrorError - failed to download the fileError - no such file exists.Error data:Error downloading remote file: Failed to downloadError messageError opening local file: Failed to downloadError opening remote file: Failed to downloadError when creating new site at your chosen address:Error:Error: %sError: Failed to downloadError: Failed to initialiseError: Failed to open local fileError: Failed to uploadError: invalid pathError: the server sent an empty response.Error: the server sent us a response (JSON) which we did not understand.Error: the server sent us a response which we did not understand.Error: unexpected empty parameter (%s, %s)Error: unexpected file read failError: you have insufficient storage quota available (%s) to upload this archive (%s) (%s).ErrorsErrors / warnings:Errors encountered:Errors have occurred:Errors occurred when trying to connect to UpdraftPlus.Com:Errors occurred:Errors:Europe (Frankfurt)Europe (Ireland)Europe (London)Europe (Milan)Europe (Paris)Europe (Stockholm)European UnionEvery %s hoursEvery hourExamples of S3-compatible storage providers:Exclude files/directoriesExclude these fromExclude these:Existing backupsExisting keysExit full-screenExpert settingsExport / import settingsExport settingsExtensionsExternal databaseExternal database (%s)Extra databaseFAQsFTP loginFTP passwordFTP serverFacebookFailedFailed to access %s when deleting (see log file for more)Failed to apply User PolicyFailed to backup database table:Failed to create UpdraftCentral keyFailed to create a temporary directoryFailed to delete working directory after restoring.Failed to downloadFailed to download %sFailed to find a manifest file in the backup.Failed to find database fileFailed to open database fileFailed to open database file for reading:Failed to open database file.Failed to open directory (check the file permissions and ownership): %sFailed to open directory for reading:Failed to open the zip file (%s) - %sFailed to read from the working directory.Failed to read the manifest file from backup.Failed to search and replaceFailed to search and replace:Failed to unpack the archiveFailed to upload %sFailed to upload to %sFailed to write out the decrypted database to the filesystemFailed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location.Failed: We were able to log in, but failed to successfully create a file in that location.Failed: We were not able to place a file in that directory - please check your credentials.Failed: the %s operation was not able to start.Failed: we did not understand the result returned by the %s operation.FailureFailure: No %s was given.Failure: No bucket details were given.Failure: No container details were given.Failure: No endpoint details were given.Failure: No server details were given.Failure: Port must be an integer.Failure: we did not successfully log in with those credentials.Failure: we successfully logged in, but were not able to create a file in the given directory.FastFast, personal supportFetchFetching...File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.File OptionsFile backup optionsFile is not locally present - needs retrieving from remote storageFile not foundFile not found (you need to upload it): %sFile ready.File was found, but is zero-sized (you need to re-upload it): %sFile/directoryFilesFiles (database backup has not completed)Files and databaseFiles and database WordPress backup (created by %s)Files backup (created by %s)Files backup intervalFiles backup scheduleFiles changed since the last backup will be added as a new increment in that backup set.Files found:Files only (database was not part of this particular schedule)Files/Directories containing the given characters in their namesFinal checksFind out moreFind out more about incremental backups here.Find out more here.Fingerprints don't match.FinishFinishedFirst, enter the decryption keyFlexibleFolderFollow this link for helpFollow this link for more informationFollow this link to attempt decryption and download the database file to your computer.Follow this link to attempt to create the directory and set the permissionsFollow this link to authorize access to your %s account (you will not be able to backup to %s without it).Follow this link to download the log file for this restoration (needed for any support requests).Follow this link to remove these settings for %s.Follow this link to sign up for the UpdraftPlus newsletter.Follow this link to the installation instructions (particularly step 1).Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section.For backups older thanFor even more features and personal support, check out For future control of all your UpdraftCentral connections, go to the "Advanced Tools" tab.For help configuring %s, including screenshots, follow this link.For incremental backups, you will be able to choose which increments to restore at a later stage.For longer help, including screenshots, follow this link.For more options, use PremiumFor more reporting features, use the Premium versionFor the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium.For the ability to migrate websites, upgrade to UpdraftPlus Premium.For unlocking support, please contact whoever manages UpdraftPlus for you.Forbid non-administrators to login to WordPress on your cloneForgotten your details?FortnightlyFound SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset().Found and replaced existing table foreign key constraints as the table prefix has changed.FrankfurtFreeFree disk space in account:Free two-factor security pluginFront page:Full backupFull feature listFull-screenFurther information may be found in the browser JavaScript console, and the server PHP error logs.Get %s from the UpdraftPlus.com StoreGet %s hereGet PremiumGet UpdraftCentralGet it from the UpdraftPlus.Com StoreGet it hereGet more quotaGet these settings from %s, or sign up %s.GoGo hereGo here for helpGo here for more information.Go here to activate it.Go here to begin installing it.Go here to connect it.Go here to connect.Go here to re-enter your password.Go thereGo to settingsGo to your UpdraftCentral Cloud dashboardGo up a directoryGoes to the updraftplus.com checkout pageGoes to updraftplus.com checkout pageGoogle CloudGoogle DriveGoogle Drive list files: failed to access parent folderHTTP code:Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud.Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud.Hong Kong (HKG)HostHow do I get a site's key?However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.However, subsequent access attempts failed:I accept the UpdraftClone terms and conditionsI consent to %sIAM operation failed (%s)If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If OneDrive later shows you the message "unauthorized_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If not, then choose your details and a new account will be registered.If not, you will need to either remove data from this table, or contact your hosting company to request more resources.If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead.If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.If using it, select a path from the directory tree below and then press confirm selection.If you already have an updraftplus.com account, then enter the details below.If you are having problems authenticating with %s you can manually authorize here.If you are not sure then you should stop; otherwise you may destroy this WordPress installation.If you are not sure what this option is for, then you will not want it, and should turn it off.If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes.If you are using this, then turn Turbo/Road mode off.If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%sIf you bought new add-ons, then follow this link to refresh your connectionIf you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.If you do not want to restore all your database tables, then choose some to exclude here.If you enter a table prefix, then only tables that begin with this prefix will be backed up.If you exclude both the database and the files, then you have excluded everything!If you have a valid Premium license, you get 1GB of storage included.If you have already renewed, then you need to allocate a licence to this site - %sIf you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)If you have an existing backup that you wish to upload and restore from, then please use the "Upload backup files" link above.If you have forgotten your password If you have forgotten your password, then go here to change your password on updraftplus.com.If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1).If you leave it blank, then the backup will be placed in the root of your %sIf you see errors about SSL certificates, then please go here for help.If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version.If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite.If you want, test upgrading to a different PHP or WP version.If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.Import settingsImporterImporting a single site into a multisite installImporting...In %s, path names are case sensitive.Include all tables not listed belowInclude in files backupInclude your database in the backupInclude your files in the backupIncompleteIncrementalIncremental backupsIncremental backups are a feature of %s (upgrade by following this link).Increments exist at: %sInfinite recursion: consult your log for more informationInformation needed to continue:Install debugging plugins:InstalledIntelligent TieringInterested in knowing about your UpdraftPlus.Com password security? Read about it here.Introducing UpdraftCentralInvalid Job IdInvalid bucket nameIowaIt appears that your web server's IP Address (%s) is blocked.It can also backup external databases.It has been tested up to version %s.It is an ID number internal to Google DriveIt is for sending backups to the following site: It will be imported as a new site.JavaScript warningJob ID: %sJob deletedKeyKey created successfully.Keys for a site are created in the section "receive a backup from a remote site".Keystone and swauth are technical terms which cannot be translatedThis needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.Known backups (raw)Last log messageLatest UpdraftPlus.com news:Latest full backup found; identifier:Latest status:Lead developer's homepageLearn moreLearn more about UpdraftCentralLeave this blank to use the default (80 for webdav, 443 for webdavs)Leave this blank, and a default will be chosen.Loading log fileLoading...Local backup upload has started; please check the log file to see the upload progressLocal files deleted:Local write failed: Failed to downloadLock access to UpdraftPlus via a password so you choose which admin users can access backups.Lock access to the UpdraftPlus settings pageLock settingsLog all messages to syslogLog all messages to syslog (only server admins are likely to want this)Log in here to enable all the features you have access to.Login or register for UpdraftCentral CloudLogin or register with this email addressLogin successful.Login successful; reloading information.LondonLondon (LON)Look through the other settings here, making any changes you’d like.Looking for %s archive: file name: %sMake updates easy with UpdraftPlusManage AddonsManage your clonesManual authentication is not available for this remote storage methodManual backup optionsManually decrypt a database backup fileMany sites?Master Application Key IDMaybe laterMemory limitMessages:Middle East (Bahrain)Migrate (create a copy of a site on hosting you control)Migrate / CloneMigrated site (from UpdraftPlus)Migration key created:MigratorMissing authentication data:Missing instance id:Missing pages:Missing parametersMonthlyMore FilesMore database optionsMore great plugins by the Updraft TeamMore information here.More pluginsMore quality pluginsMore settingsMore tasks:Moving old data out of the way...Moving unpacked backup into place...MultisiteMultisite InstallMust-use pluginsN.B. %s is not case-sensitive.N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup.N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately.N.B. This count is based upon what was, or was not, excluded the last time you saved the options.N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you.Name: %s.NearlineNeed to get space?Need to get support?Need to use sub-folders?Needs to already existNetwork / multisiteNetwork activating theme:Network and multisiteNeverNew IAM usernameNew User's Email AddressNew User's UsernameNew site:NewsNewsletter sign-upNextNext scheduled backupsNoNo %s foundNo %s settings were foundNo Vault connection was found for this site (has it moved?); please disconnect and re-connect.No adsNo backup has been completedNo backup of %s directories: there was nothing found to back upNo backup of location: there was nothing found to back upNo database tables foundNo incremental backup of your files is possible, as no suitable existing backup was found to add increments to.No keys to allow remote sites to send backup data here have yet been created.No local copy present.No log files were found.No previous backup found to add an increment to.No previous full backup found.No receiving sites have yet been added.No remote storage locations with valid options found.No settings were foundNo settings were found - please go to the Settings tab and check your settingsNo such backup set existsNo valid components found, please select different components or a backup set with components that can be restored.NoneNorth VirginiaNorth-east AsiaNorthern Virginia (IAD)Not got an account? Get one by buying some tokens here.Not got any remote storage?Not installedNot yet got an account (it's free)? Go get one!Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability.Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates.Note that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing to do: the site URL is already: %sNothing yet loggedNoticeOKOk, you deserve itOld ABSPATH:Old table prefix:One Time Password (check your OTP app to get this password)One VPS (Virtual Private Server) per clone, shared with nobody.One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the "retain" settings; if/when you wish to delete them then you must do so manually.OneDriveOneDrive GermanyOneDrive InternationalOnly allow this backup to be deleted manually (i.e. keep it even if retention limits are hit).Only email the database backupOnly the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOperation to create user Access Key failedOptimizePress 2.0 encodes its contents, so search/replace does not work.Options (raw)Or if you prefer to self-host, then you can get the self-hosted version here.Or, if they are in remote storage, you can connect that remote storage (in the "Settings" tab), save your settings, and use the "Rescan remote storage" link.Or, use an UpdraftClone keyOr, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.OregonOther %s FAQs.Other great pluginsOthersOtherwise, the default link will be shown.Otherwise, you can leave it blank.Otherwise, you can try UpdraftVault for 1 month for only $1!Over-write wp-config.phpPHP informationPassive modePasswordPassword incorrectPassword: %sPaste key herePathPath stylePayments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.Peak memory usagePerform a backupPerhaps you would want to login instead.Please allow time for the communications with the remote storage to complete.Please check out UpdraftPlus Premium.Please check the error log for more detailsPlease check your access credentials.Please choose a file or directoryPlease consult this FAQ if you have problems backing up.Please contact your hosting company (%s) if you require further support.Please enter a file extension, like zipPlease enter a valid URLPlease enter a valid URL e.g http://example.comPlease enter a valid file extensionPlease enter a valid file name prefixPlease enter characters that begin the filename which you would like to excludePlease enter part of the file namePlease enter your %s email addressPlease enter your %s passwordPlease fill in the required information.Please follow this link to open %s in a new window.Please give this key a name (e.g. indicate the site it is for):Please make sure that you have made a note of the password!Please re-authorize the connection to your %s account.Please read %s for use of our %s authorization app (none of your backup data is sent to us).Please read this link for important information on this process.Please select a file/folder which you would like to excludePlease select the more files backups that you wish to restore:Please specify the Microsoft OneDrive folder name, not the URL.Please supply the requested information, and then continue.Please wait while connecting to UpdraftPlus.com ...Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud.Please wait while you are redirected to UpdraftCentral Cloud.Please wait whilst we make the claim...PluginsPortPre-sales FAQsPre-update backupsPremiumPremium / ExtensionsPremium / Find out morePremium / Pro SupportPremium WooCommerce pluginsPreparing backup filesPress a button to get started.Press here to download or browsePress here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded.Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder).Press here to run a manual backup.Press here to save your settings.Press here to start!Press this button to take a tour of the plugin.Proceed with updateProcessed plugin:ProcessingProcessing files - please wait...Processing table (%s)Processing...Project IDProtocol (SSL or not)Provides expert help and support from the developers whenever you need it.Pruning old backup setsQuota:RSA fingerprintRSS linkRaw backup historyRead FAQs here.Read moreRead more about %s here.Read more about Easy Updates ManagerRead more about bucket access styleRead more about bucket locationsRead more about how this works...Read more about server-side encryptionRead more about storage classesRead more...Read the %s FAQs here.Read this article to see step-by-step how it's done.Read this page for a guide to possible causes and how to fix it.Receive a backup from a remote siteReceiving site dataRecently started backup job id: %sRecommended: optimize your database with WP-Optimize.Refresh connectionRefresh current statusRegionRegion: %sRegistration successful.ReliableRemember this choice for next time (you will still have the chance to change it)Remote Storage OptionsRemote files deleted:Remote pathRemote storageRemote storage authenticationRemote storage method and instance id are required for authentication.Remote storage: %sRemoveRemove old directoriesReplace withReportingRequested character set (%s) is not present - changing to %s.Requested table character set (%s) is not present - changing to %s.Requested table engine (%s) is not present - changing to MyISAM.Requesting start of backup...Require password again afterRequired information for restoring this backup was not given (%s)Rescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...Reset tourRestoration progress:RestoreRestore an existing backup set onto this siteRestore backupRestore error:Restore files fromRestore location does not exist on the filesystem for:Restore location found for:Restoring %s1 files out of %s2Restoring stored routine: %sRestoring table: %sRestoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Retain this many scheduled database backupsRetain this many scheduled file backupsRetrieving (if necessary) and preparing backup files...Return to UpdraftPlus ConfigurationReturn to UpdraftPlus configurationReview UpdraftPlusRows examined:Rows per batchRun this command to see the log file for this restoration (needed for any support requests).Runs on capacity from a leading cloud computing provider.S3 (Compatible)S3 bucketS3 storage regionSCP/SFTP host settingSCP/SFTP password/keySCP/SFTP user settingSQL update commands run:SaveSave ChangesSave timeSaving...SearchSearch / replace databaseSearch and replace site location in the database (migrate)Search and replace successfulSearch and replacing table:Search forSecret Key: %sSecureSecure multisite installation, advanced reporting and much more.See Google's guidelines on bucket naming by following this link.See Microsoft's guidelines on container naming by following this link.See also the Premium version from our shop.See this FAQ also.Select 'Web Application' as the application type.Select FilesSelect a file to view information about itSelect a file/folder which you would like to excludeSelect a way to exclude files or directories from the backupSelect allSelect all (this site)Select all backupsSelect the folder in which the files or sub-directories you would like to exclude are locatedSelect the remote storage destinations you want to upload this backup set toSelect what you want to backupSendSend a backup to another siteSend a report only when there are warnings/errorsSend reportsSend scheduled backups to this destination:Send this backup to remote storageSend to site:Sending Your Backup To Remote StorageSending files to remote siteServer-side encryptionSet exact times to create or delete backups.SettingsShow all backups...Show expert settingsShow more backups...Show raw backup and file listShow the optionsSign in with %sSign upSingaporeSiteSite data has been deployedSite data receivedSite home:Site informationSite information:Site keySite sizeSize: %s MBSkip this stepSkipped tables:Skipping table %s: already restored on a prior run; next table to restore: %sSkipping table %s: user has chosen not to restore this tableSkipping: this archive was already restored.So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section.Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins.Some files are still downloading or being processed - please wait.Sophisticated reporting and emailing capabilities.South America (São Paulo)South CarolinaSouth-east AsiaSouth-east AustraliaSplit archives every:Split line to avoid exceeding maximum packet sizeStandardStandard (infrequent access)Start %s SubscriptionStart %s TrialStart SubscriptionStart TrialStart a %s UpdraftVault SubscriptionStart backupStart timeStarting automatic backup...Storage classStore atSubscriptions can be cancelled at any time.SuccessSuccess:Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:Sufficient information about the in-progress restoration operation could not be found.SupportSupport URLSupported backup plugins: %sSydneySydney (SYD)Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup.Table prefixTable prefix has changed: changing %s table field(s) accordingly:Tables examined:TaiwanTake TourTake a new backupTake an incremental backupTakes just the time needed to create a backup and send it.Team UpdraftTell me moreTell me more about incremental backupsTenantTest %s SettingsTest connection...Testing %s Settings...Testing connection...Testing...Thank you for installing UpdraftPlus!Thank you for taking the tour.Thank you so much!That you are attempting to upload a zip file previously created by UpdraftPlus.The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.The %s object was not foundThe 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).The AWS access key looks to be wrong (valid %s access keys begin with "AK")The Database connection has been closed and cannot be reopened.The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site.The UpdraftPlus module for this file access method (%s) does not support listing filesThe WordPress content folder (wp-content) was not found in this zip file.The WordPress subscription extension for WooCommerce store owners.The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The above files comprise everything in a WordPress installation.The admin password has been changed.The admin password has now been removed.The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another processThe attempt to send the backup via email failed (probably the backup was too large for this method)The attempt to undo the double-compression failed.The attempt to undo the double-compression succeeded.The available memory on the server.The backup attempt has finished, apparently unsuccessfullyThe backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail.The backup has finished runningThe backup has not finished; a resumption is scheduledThe backup is being aborted for a repeated failure to progress.The backup records do not contain information about the proper size of this file.The backup was abortedThe backup was aborted by the userThe communication with %s was encrypted.The communication with %s was not encrypted.The creation of your data for creating the clone should now begin.The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on.The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.The database is too small to be a valid WordPress database (size: %s Kb).The decryption key used:The directory does not existThe directory does not exist, and the attempt to create it failedThe download link is broken or the backup file is no longer availableThe download link is broken, you may have clicked the link from untrusted sourceThe email address provided appears to be invalid, please double-check your email address again and try again.The entered key does not belong to a remote site (it belongs to this one).The entered key was corrupt - please try again.The entered key was the wrong length - please try again.The error reported by %s was:The exclusion rule which you are trying to add already existsThe file was uploaded.The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page.The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support.The following remote storage options are configured.The given file was not found, or could not be read.The given value for the '%s' option is not validThe higher the value, the more server resources are required to create the archive.The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The key provided was not in a valid format, or was corrupt.The key was successfully added.The list of existing sites has been removedThe location of this directory is set in the expert settings, in the Settings tab.The log file could not be read.The log file has been attached to this email.The new user's RackSpace console password is (this will not be shown again):The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars).The password file you specified doesn't exist; please check the --password-file parameter.The preparation of the clone data has been aborted.The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe required %s PHP module is not installed - ask your web hosting company to enable it.The server's RSA key %s fingerprint: %s.The site data has all been received, and its import has begun.The specified bucket was not found.The time zone used is that from your WordPress settings, in Settings -> General.The ultimately secure and convenient place to store your backups.The user is being told the number of times an error has happened, e.g. An error (27) occurredAn error (%s) occurred:The web server returned an error code (try again, or check your web server logs)The zip engine returned the message: %s.ThemesThen, these lower-powered access credentials can be used, instead of storing your administrative keys.There are no incremental backup restore points available.There was an error while trying to remove the list of existing sites.Therefore it is advised that you take a fresh backup on the source site, using a later version.Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below).These options can anonymize personal data in your database backup.These tables onlyThese will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket.This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable.This backup set contains incremental backups of your files; please select the time you wish to restore your files toThis backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s.This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site.This backup was created by %s, and can be imported.This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes).This button is disabled because your backup directory is not writable (see the settings).This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage).This can easily destroy your site; so, use it with care!This current siteThis database backup is missing core WordPress tables: %sThis database needs to be deployed on MySQL version %s or later.This decryption key will be attempted:This does not look like a valid WordPress core backup - the file %s was missing.This feature is not compatible with %sThis feature requires %s version %s or laterThis file could not be uploadedThis file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).This functionality has been disabled by the site administrator.This is a WordPress multi-site (a.k.a. network) installation.This is a count of the contents of your Updraft directoryThis is needed if, and only if, your application key was a bucket-specific application key (not a master key)This is not an incremental backupThis is not your Azure login - see the instructions if needing more guidance.This is older than the server which you are now restoring onto (version %s).This is significantly newer than the server which you are now restoring onto (version %s).This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again.This looks like a migration (the backup is from a site with a different address/URL, %s).This may prevent the restore procedure from being able to proceed.This most likely means that you share a webserver with a hacked website that has been used in previous attacks.This multi-archive backup set appears to have the following archives missing: %sThis option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up.This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database.This remote storage method (%s) requires PHP %s or later.This setting applies only when a new bucket is being created.This site has no backups to restore from yet.This storage method does not allow downloadingThis version of UpdraftPlus does not know how to handle this type of foreign backupThis will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these.This will delete all your UpdraftPlus settings - are you sure you want to do this?This will import data from:Tidy things up for clients and remove all adverts for our other products.Time nowTime taken (seconds):Time taken:TimestampTo access the UpdraftPlus settings, please enter your unlock passwordTo add a site as a destination for sending to, enter that site's key below.To be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To complete manual authentication, at the orange UpdraftPlus authentication screen select the "Having problems authenticating?" link, then copy and paste the code given here.To complete your migration/clone, you should now log in to the remote site and restore the backup set.To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium.To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium.To create a temporary clone you need credit in your account.To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below.To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings.To fix the time at which a backup should take place,To fix this problem go here.To import a backup set, go to the "Existing backups" section in the "Backup/Restore" tabTo import an ordinary WordPress site into a multisite installation requires %s.To maintain your access to support, please renew.To make a backup, just press the Backup Now button.To read FAQs/documentation about UpdraftClone, go here.To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To regain your access, please renew.To remove any block, please go here.To remove the block, please go here.To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To send to more than one address, separate each address with a comma.To use this backup, your database server needs to support the %s character set.TokyoToo many database errors have occurred - abortingTotal (uncompressed) on-disk data:Total backup size:Translators: %s is a bold tag.But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %sTranslators: UpdraftVault is a product name and should not be translated.To get started with UpdraftVault, select one of the options below:Trouble connecting? Try using an alternative method in the advanced security options.Try UpdraftVault for 1 month for only $1!Try UpdraftVault!Try it - 1 month for $1!Trying...TwitterType a file prefixType an extension like zipUKUS (default)US East (N. Virginia) (default)US East (Ohio)US Government West (restricted)US West (N. California)US West (Oregon)US or UK CloudUS or UK Rackspace AccountUS or UK-based Rackspace AccountUnable to get renew dateUnable to open zip file (%s) - could not pre-scan it to check its integrity.Unable to read zip file (%s) - could not pre-scan it to check its integrity.Under MaintenanceUnexpected response:Unfinished restorationUnited StatesUnknownUnknown server response status:Unknown server response:Unknown/unexpected error - please raise a support requestUnless you have a problem, you can completely ignore everything here.UnlockUnpacking backup...Unzip progress: %d out of %d filesUpdate quota countUpdraft VaultUpdraftCentralUpdraftCentral CloudUpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place.UpdraftCentral key created:UpdraftClone image:UpdraftClone key is required.UpdraftPlusUpdraftPlus - Upload backup filesUpdraftPlus AddonsUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus Blog - get up-to-date news and offersUpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply.UpdraftPlus NewsUpdraftPlus NewsletterUpdraftPlus PremiumUpdraftPlus Premium and addonsUpdraftPlus Premium has many more exciting features!UpdraftPlus Premium:UpdraftPlus RestorationUpdraftPlus Restoration: ProgressUpdraftPlus SupportUpdraftPlus TourUpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place.UpdraftPlus is not yet activated.UpdraftPlus is not yet installed.UpdraftPlus is on social media - check us out!UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)UpdraftPlus noticeUpdraftPlus notice:UpdraftPlus on %sUpdraftPlus settingsUpdraftPlus temporary clone user login settings:UpdraftPlus warning:UpdraftPlus was unable to find the table prefix when scanning the database backup.UpdraftPlus.Com account terms and policiesUpdraftPlus.Com responded, but we did not understand the responseUpdraftPlus.Com returned a response which we could not understand (data: %s)UpdraftPlus.Com returned a response, but we could not understand itUpdraftPlus.com has responded with 'Access Denied'.UpdraftVaultUpdraftVault is our remote storage which works seamlessly with UpdraftPlus.UpdraftVault storageUpgrade nowUploadUpload backupUpload backup filesUpload errorUpload error:Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)Upload failedUpload files into UpdraftPlus.Uploaded to:Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select FilesorUploading files to remote storageUploadsUploads URL:Use SCP instead of SFTPUse ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in betweenUse the "Reporting" section to configure the email addresses to be used.Use the server's SSL certificatesUse this option to only send database backups when sending to email, and skip other components.UsernameUsername: %sVault ownerVerifyingVerifying one-time password...VersionView LogView logVirtual-host styleWP CLIWP-CLI commands to take, list and delete backups.WP-CLI supportWaiting until scheduled time to retry because of errorsWarningWarning:Warning: %sWarning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date.Warning: the database's home URL (%s) is different to what we expected (%s)Warning: the database's site URL (%s) is different to what we expected (%s)WarningsWarnings encountered:Warnings:Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link.We accessed the bucket, and were able to create files within it.We accessed the container, and were able to create files within it.We failed to successfully connect to UpdraftPlus.ComWe requested to delete the file, but could not understand the server's responseWe successfully accessed the bucket, but the attempt to create a file in it failed.Web server:Web-server disk space in use by UpdraftPlusWebDAV URLWeeklyWelcome to UpdraftPlusWelcome to UpdraftPlus!Welcome to your UpdraftClone (temporary clone)Well done - there's nothing more needed to set up.Western EuropeWestern United StatesWhen email storage method is enabled, and an email address is entered, also send the backupWhere to change directory to after logging in - often this is relative to your home directory.Which site to restoreWhich was exported on:Why am I seeing this?Wipe settingsWith UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too.With UpdraftPlus Premium, you can directly download individual files from here.Without it, encryption will be a lot slower.Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors.Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website.Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network.WooCommerce pluginsWordPress BackupWordPress CoreWordPress Multisite is supported, with extra features, by UpdraftPlus Premium.WordPress backup is completeWordPress coreWordPress core (including any additions to your WordPress root directory)WordPress core (only)WordPress databaseWordPress installedWordPress installed; now awaiting the site data to be sent.WordPress root directory server path: %sYesYou are currently using the free version of UpdraftPlus.You are now using a IAM user account to access your bucket.You are presently connected to an UpdraftPlus.Com account.You are presently not connected to an UpdraftPlus.Com account.You are running on WordPress multisite - but your backup is not of a multisite site.You are using the %s webserver, but do not seem to have the %s module loaded.You can also close this wizard.You can buy UpdraftClone tokens from our shop, here.You can buy more temporary clone tokens here.You can check the progress here or in %sYou can choose another suitable character set instead and continue with the restoration at your own risk.You can choose another suitable collation instead and continue with the restoration (at your own risk).You can enter the path of any %s virtual folder you wish to use here.You can find out more about clone keys here.You can find your temporary clone information in your updraftplus.com account here.You can forbid non-admins logins to this cloned site by checking the checkbox belowYou can get more quota hereYou can manually decrypt an encrypted database here.You can send a backup to more than one destination with Premium.You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits.You can test upgrading your site on an instant copy using UpdraftClone creditsYou can view the log by pressing the 'View log' button.You do not have access to this bucketYou do not have access to this bucket.You do not have the UpdraftPlus %s add-on installed - get it from %sYou do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?You entered an email address that was not recognised by UpdraftPlus.ComYou have an inactive purchaseYou have an unfinished restoration operation, begun %s ago.You have chosen to backup a database, but no tables have been selectedYou have chosen to backup files, but no file entities have been selectedYou have chosen to send this backup to remote storage, but no remote storage locations have been selectedYou have made changes to your settings, and not saved.You have not selected a restore path for your chosen backupsYou have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons.You have not yet connected with your UpdraftPlus.Com account.You have not yet made any backups.You have not yet selected a file to import.You have reached the daily limit for the number of incremental backups you can create at this time.You have reached the monthly limit for the number of backups you can create at this time.You have requested saving to remote storage (%s), but without entering any settings for that storage.You have selected a remote storage option which has an authorization step to complete:You must add the following as the authorised redirect URI (under "More Options") when askedYou must add the following as the authorised redirect URI in your Dropbox console (under "API Settings") when askedYou must add the following as the authorized redirect URI (under "More Options") when askedYou must add the following as the authorized redirect URI in your OneDrive console (under "API Settings") when askedYou must copy and paste this key on the sending site now - it cannot be shown again.You must enter a project ID in order to be able to create a new bucket.You must save and authenticate before you can test your settings.You must select at least one remote storage destination to upload this backup set to.You must upgrade MySQL to be able to use this database.You must use a bucket name that is unique, for all %s users.You must use lower-case letters or numbers for the site path, only.You need to connect to receive future updates to UpdraftPlus.You need to enter a bucketYou need to enter a containerYou need to enter a new IAM usernameYou need to enter a new usernameYou need to enter a valid new email addressYou need to enter an admin API keyYou need to enter an admin access keyYou need to enter an admin secret keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed.You need to supply both an email address and a passwordYou selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network.You should backup all tables unless you are an expert in the internals of the WordPress database.You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly.You should check the file ownerships and permissions in your WordPress installationYou should enable %s to make any pretty permalinks (e.g. %s) workYou should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website).You should save your changes to ensure that they are used for making your backup.You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility.You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud.You successfully logged in to UpdraftPlus.Com and connected this plugin with your accountYou successfully purchased UpdraftPremium.You will find more information about this in the Settings section.You will need to ask your web hosting company to upgrade.You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.You will need to restore it manually.You've got itYour %s account name: %sYour %s quota usage: %s %% used, %s availableYour %s version: %s.Your IP address:Your UpdraftClone is still setting up.Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old).Your backup has been restored.Your chosen character set to use instead:Your chosen replacement collationYour clone has started and will be available at the following URLs once it is ready.Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready.Your clone will now deploy this data to re-create your site.Your clone will renew on:Your database user does not have permission to drop tablesYour email address and password were not recognised by UpdraftPlus.ComYour email address was valid, but your password was not recognised by UpdraftPlus.Com.Your email backup and a report will be sent toYour export file will be of your displayed settings, not your saved ones.Your first backupYour free disk space is very low - only %s Mb remainYour free space in your hosting account is very low - only %s Mb remainYour hosting company must enable these functions before %s can work.Your hosting provider only allows you to take one backup per month.Your hosting provider only allows you to take one incremental backup per day.Your label for this backup (optional)Your login may be either password or key-based - you only need to enter one, not both.Your new key:Your paid access to UpdraftPlus support has expired.Your paid access to UpdraftPlus support will soon expire.Your paid access to UpdraftPlus updates for %s add-ons on this site has expired.Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire.Your paid access to UpdraftPlus updates for this site will soon expire.Your saved settings also affect what is backed up - e.g. files excluded.Your settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your version: %sYour web server has PHP's so-called safe_mode active.Your web server's PHP installation has these functions disabled: %s.Your web-server does not have the %s module installed.Your website is hosted using the %s web server.Your website is hosted with %s (%s).Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:Your wp-content directory server path: %sa second attempt is being made (upon further failure it will be skipped)activate it on this siteadvanced optionsalready donealready uploadedand retain this many scheduled backupsanywhere in their namesarchiveat the beginning of their namesat the end of their namesauthentication URIauthentication errorauthentication failedauthorization failed:backbacks up automatically when you update plugins, themes or corebycalculatecalculating...check your log for more details.chunk %s: upload failedconfigure it herecontainercountcredentialsdatabase connection attempt faileddatabase connection attempt failed.database namedayday(s)did not return the expected response - check your log file for more detailsdismiss noticedownload: failed: file not founde.g. %se.g. if your server is busy at day and you want to run overnighteasily migrate or clone your site in minutesencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)enhanced remote storage optionserror - failed to create and access the containererror - failed to re-assemble chunkserror - failed to upload fileerror: %s (see log file for more)error: failed to upload file to %s (see log file for more)error: file %s was shortened unexpectedlyfailed to access parent folderfailed to list filesfailed to upload file to %s (see log file for more)faster (possibility for slow PHP installs)filefile %d of %dfile is size:files: %sfolderfollow this link to get itgo herego here to change your password on updraftplus.com.go here to learn morehandles updates automatically as you want themherehosthost namehour(s)i.e. Non-automaticManualif all of the following conditions are matched:if any of the following conditions are matched:in the monthincluding any passwordsincremental backup; base backup: %sisis notkeykey namelast activity: %d seconds agolast activity: %ss agolatestlog results to consoleloginlogin failuremanagemanages all your WordPress sites at once from one placemay include some site-wide datamoremore infomulti-region locationnext resumption: %dno options or sitemeta table was foundno recent activity; will offer resumption after: %d secondsnotice imagenow proceeding with the updates...on every backupopen this to show some further options; don't bother with this unless you have a problem or are curious.optionalor (annual discount)or to configure more complex schedulesor to restore manuallyor, to reset this optionother content from wp-contentpasswordpassword/keyplease follow this link to update the plugin in order to activate itplease follow this link to update the plugin in order to get itplease wait for the rescheduled attemptpluginspress hereread more at %srecommendedrefreshregular non-encrypted FTPremote files deletedremote siterequired for some remote storage providersresetrestorationrows: %dsearch and replacesearch termsecure your backupssettingsshow PHP information (phpinfo)show logsite not foundskipped (not in list)slower, strongestsome/pathstarting from next time it isstoptable: %stablestemplate not foundthe database query being run was:the options table was not foundthe world’s most trusted backup plugin!themesthese backup setsthese charactersthis backup setthis privacy policyto take incremental backupstwo unsuccessful attempts were made to include it, and it will now be omitted from the backupunknown sourceupdraftplusTo make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %supload (%s): re-assembly failed (see log for more details)upload faileduse UpdraftPlus Premiumuserusernameweek(s)will restore as:with the option ofyou have authenticated your %s accountyou have authenticated your %s account.you will want to use below search and replace site location in the database (migrate) to search/replace the site address.your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup.your UpdraftPlus.com accountyour site's admin addresszip executable found:PO-Revision-Date: 2023-11-18 10:29:30+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=6; plural=(n == 0) ? 0 : ((n == 1) ? 1 : ((n == 2) ? 2 : ((n % 100 >= 3 && n % 100 <= 10) ? 3 : ((n % 100 >= 11 && n % 100 <= 99) ? 4 : 5)))); X-Generator: GlotPress/3.0.0 Language: ar Project-Id-Version: UpdraftPlus يسمح لك موفر الاستضافة الخاص بك بأخذ نسخة احتياطية إضافية واحدة في اليوم."%s" لا يوجد لدية مفتاح اساسى, تحتاج الى تغيرها يدويا فى الصف %s.مستأجر%d الأخطاء، %d تحذيرات%d ساعة،%d دقيقة، %d ثانية%s(%sمستخدم)%s - لا يمكن دعم هذا الكيان; دليل المقابلة غير موجود (%s)%sإسم الحسابخطأ %s%sخطأ: فشل التهيئة%s خطأ: فشل في فتح ملف محلي%s خطأ: فشل في تحميل%sبادئة%sاستثناء الخدمة.مفتاح الوصول %s%sالوظيفة الإضافية غير موجودة%sتبقى المحفوظات%s مصادقة%sرمز الدخول:المصادقة فشلت %s%sالمصادقة:%sأجزاء%sبايت%s الاختباري:%s%sإلغاء المصادقة%sالتحميل: فشل: الملف غير موجودنقطة النهاية %s %sخطأ - فشل في الوصول إلى الحاويةخطأ %s - فشل فى اعادة تجميع الأجزاءخطأ %s - فشل فى ارسال الملف%sخطأ - وصلنا إلى الحاوية ، لكننا فشلنا في إنشاء ملف بداخلها%s خطأ: %s%sمن الان%sتم اختياره للتخزين البعيد ، لكنك غير متصل حاليًا.%sساعاتالمكان %sفشل تسجيل الدخول %s%s الشعار%sدقائق،%sثواني%sشهر%sالتجربة%sفي الربع%sكل سنة%s خطأ في إعادة التجميع (%s): (انظر السجل لمزيد من التفاصيل) %s خيارات الإستعادة:أبدى %s إجابة HTTP غير متوقعة: %sالمفتاح السرى %sاعدادات نتيجة اختبار %sدعم %s متوفر على شكل إضافة %sتم العثور على الجدول (الجداول).%sإجمالي الجدول (الجداول) التي تم العثور عليها ؛%sبالبادئة المشار إليها.%s الرفع: فشل الحصول على uploadID للتحميل المتعدد- راجع ملف السجل لمزيد من التفاصيل%s النسخة:%sأسابيع%s: الملف غير قابل للقراءة - لا يمكن ان يتم اجراء النسخ الأحتياطى%s: ملف غير قابل للقراءة - لا يمكن نسخه احتياطيًا (تحقق من أذونات الملف والملكية)(%dالأرشيف (الأرشيفات) في المجموعة، الإجمالي%s).(غير مهيأ)(غير منتهي)(لم يتم تسجيل أي شيء حتى الآن)(قراءة المزيد)(هذا ينطبق على جميع الإضافات للنسخ الاحتياطي لووردبريس ما لم تكن برمجة من أجل التوافق مع تعدد المواقع).بعد %ss(تم الرفع بالفعل)(على ما يبدو انة اصدار قبل الاصدار الرسمى او اصدار مسحوب)(بقدر ما تريد)(في نفس وقت النسخ الاحتياطي للملفات)(تم استيراد مجموعة النسخ الاحتياطية من موقع بعيد)(النسخة الحالية)(آخر زيادة:%s)(تعرف على المزيد حول هذا الخيار المهم)(السجلات يمكن العثور عليها فى صفحة اعدادات UpdraftPlus كالمعتاد)...(تأكد من انك كنت تحاول رفع ملف مضغوط تم إنشاؤه مسبقا من قبل UpdraftPlus)(أو قم بالاتصال باستخدام النموذج على هذه الصفحة إذا كنت قد اشتريته بالفعل)(اضغط على أيقونة للاختيار أو إلغاء التحديد)(يتطابق حرف النجمة مع صفر أو أكثر من الأحرف)تحميل(الإصدار: %s)(سجل عرض...)... وغيرها الكثير!1 ساعةأسبوع 1لا تقم بوضعه داخل الإضافات أو دليل الإضافات، لأن ذلك سوف يسبب الإعادة (نسخة احتياطية من نسخة احتياطية من نسخة احتياطية من......).(على ما يبدو انة تمت المصادقة , على الرغم من ذلك يمكنك المصادقة مرة اخرى لتحديث وصولك اذا كانت هناك مشكلة).بعد، بعدمالقد قمت بحفظ إعداداتك (بالنقر فوق "حفظ التغييرات" أدناه) ، ثم عد إلى هنا مرة واحدة واتبع هذا الرابط لإكمال المصادقة باستخدام%s."الترحيل" هو في النهاية نفس عملية الاستعادة - ولكن باستخدام أرشيفات النسخ الاحتياطي التي تقوم باستيرادها من موقع آخر.استثناء PHP (%s) قد حدث:%sخطأ فادح في PHP (%s) قد حدث:%sلا يمكن أن يحتوي اسم المضيف على شرطة مائلة.يوجد بالفعل مفتاح بهذا الاسم ؛ يجب عليك استخدام اسم فريد.لا يمكن التراجع عن عملية بحث / استبدال - هل أنت متأكد أنك تريد القيام بذلك؟مصادفة ملف كبير جدا: %s (الحجم: %s ميجابايت)حدث خطأ في الرمز البريديالغاء: لم نتمكن من إيجاد معلومات عن الكيانات التي تريد استعادتها.مفتاح API: %sمفتاح APIAPI السريةفشلت مصادقة AWSمفتاح الوصول:%sمعرف الحسابمفتاح الحسابحساب ممتلئ: حسابك %s يحمل فقط %d بايت متبقية، لكن الملف الذي نقوم برفعه حجمه %d بايت متبقية (الحجم الكلي: %d بايت)حساب مكتمل: حساب %s الخاص بك يتوفر فقك على %d بايت متبقية، ولكن الملف حجمه %d بايتاسم صاحب الحساب:%s.الحساب غير مصرح به (%s).حساب غير مخول.نوع الحسابالحسابات المنشأة بموقع rackspacecloud.com هي حسابات أمريكية، الحسابات المنشأة بموقع rackspace.co.uk هي حسابات بريطانية الحسابات المنشأة بموقع rackspacecloud.com هي حسابات أمريكية، الحسابات المنشأة بموقع rackspace.co.uk هي حسابات بريطانيةإجراءاتإجراءات بناء على النسخ الاحتياطية المختارةسجل النشاطاتأضف SFTP لإرسال بياناتك بأمان وقفل الإعدادات وتشفير النسخ الاحتياطية لقاعدة البيانات لمزيد من الأمان.أضف موقعًاأضف قاعدة احتفاظ قاعدة بيانات إضافيةأضف قاعدة احتفاظ بالملف إضافيةإضافة قاعدة احتفاظ إضافية ...إضافة قاعدة استبعادأضف قاعدة استبعاد لـ%sإضافة قاعدة بيانات خارجية للنسخ الاحتياطي ...أضف آخر%sالحساب...إضافة عنوان آخر ...إضافة دليل ...أضف قاعدة الاستبعادإضافة موقعأضف موقع الويب هذا إلى UpdraftCentral (تحكم مركزي عن بُعد) - مجانًا لما يصل إلى 5 مواقع.أضف هذا الموقع إلى لوحة معلومات UpdraftCentral Cloud على موقع updraftplus.com.جارٍ الإضافة...مواقع تخزين عن بعد إضافية ومحسنةمساحة تخزين إضافيةمفتاح API الخاص بالمديراسم المستخدم للمديرمفتاح وصول المسؤولمفتاح سر المسؤولمتقدمة / تصحيح الإعدادات ادوات متطورةإفريقيا (كيب تاون)بعد الضغط على هذا الزر ، يمكنك تحديد مكان تحميل النسخة الاحتياطية من قائمة مواقع التخزين البعيد المحفوظة حاليًابعد الضغط على هذا الزر ، سيتم إعطاؤك خيار اختيار المكونات التي ترغب في ترحيلهابعد الضغط على هذا الزر، ستتمكن من اختيار المكونات التي تريد استرجاعهابعد إجراء نسخ احتياطي لقاعدة البيانات الخاصة بك ، نوصيك بتثبيت المكون الإضافي WP-Optimize لتبسيطه للحصول على أداء أفضل لموقع الويب.سيتم نسخ جميع جداول WordPress احتياطيًا.تبدأ جميع الملفات بأحرف معينةكافة الملفات التي تبدأ بهذه الأحرفجميع الملفات مع هذا الامتدادتحتوي جميع الملفات / الدلائل على ملفاتجميع الملفات / الدلائل التي تحتوي على الأحرف المعطاة في أسمائهاسيتم استبدال كافة المراجع الى الموقع فى قاعدة البيانات مع رابط الموقع الحالى, الذى هو: %sكل المواقعالسماح بالحذفالسماح للتحميلالسماح للمسؤولين فقط بتسجيل الدخوليسمح لك بعمل نسخة احتياطية فقط من التغييرات التي تم إجراؤها على ملفاتك (مثل صورة جديدة) التي تم إجراؤها على موقعك منذ آخر نسخ احتياطي.ستحتاج جميع خوادم FTP تقريبًا إلى الوضع الخامل ؛ ولكن إذا كنت بحاجة إلى الوضع النشط ، فقم بإلغاء تحديد هذا.هل لديك مساحة بالفعل؟حذف ايضاً من التخزين البعيدأرسل أيضًا هذه النسخة الاحتياطية إلى مواقع التخزين البعيدة النشطةأيضا، يجب عليك قراءة هذا التعليمات الهامة.تم العثور على خط SQL أكبر من الحد الأقصى لحجم الحزمة ولا يمكن تقسيمها، هذا الخط لن نتمكن من معالجته، وسنقوم بإبعاده: %sتم تعيين كلمة مرور المسؤول.مطلوب بريد إلكتروني ويجب أن يكون بتنسيق صالح.تثبيت ووردبريس فارغحدث خطأ في الأول%sالأمر - إجهاض المدىحدث خطأ أثناء جلب خيارات وحدة التخزين:حدث خطأ عند محاولة استرداد الأضافات الخاصة بك.حدث خطأ أثناء محاولة التحقق من دعم إنشاء الإجراءات المخزنة (%s %s)حدث خطأ أثناء محاولة استرداد الحالة الروتينية (%s %s)حدث خطأ أثناء محاولة استرداد متغير log_bin_trust_function_creators العمومي في MySQL%sحدث خطأ أثناء محاولة استرداد جملة SQL / DDL الروتينية (%s %s)حدث خطأ أثناء محاولة تعيين قيمة جديدة لمتغير log_bin_trust_function_creators العمومي في MySQL%sحدث خطأ اثناء اغلاق ملف قاعدة البيانات النهائي.تم تلقي استجابة خطأ ؛ كود HTTP:حدث خطأ غير معروف عند محاولة الاتصال بـ UpdraftPlus.Comتحديث يحتوي على الإضافة الخاص بك متاح لـ UpdraftPlus - يرجى اتباع هذا الرابط للحصول عليه.يتوفر تحديث لبرنامج UpdraftPlus - يرجى الاتصال هنا للوصول إليه.يتوفر تحديث لUpdraftPlus - يرجى اتباع هذا الرابط للحصول عليه.ثم قم بإضافة نسخة احتياطية تزايديوظائف إخفاء الهويةإخفاء هوية البيانات الشخصية في النسخ الاحتياطية لقاعدة البيانات الخاصة بك.إخفاء هوية البيانات الشخصية لجميع المستخدمين باستثناء الموظفينإخفاء هوية البيانات الشخصية لجميع المستخدمين باستثناء المستخدم الذي قام بتسجيل الدخولأي الدلائل الأخرى الموجودة داخل wp-contentأي ملف / دليل آخر على الخادم الخاص بك ترغب في نسخه احتياطيًاأي إعدادات تؤثر على أقصى حجم للتحميل أو النشر.أي طلبات دعم للقيام بها%sيجب أن تثار مع شركة استضافة الويب الخاصة بك.سيتم عرض عنوان URL هذا لأي شخص يرى شاشة القفل - أدخل عنوان موقع ويب أو عنوان بريد إلكتروني.وحدات اباتشيمفتاح التطبيقمن المتوقع أن يكون حجم الأرشيف:هل أنت متأكد أنك ترغب في الإزالة%sمن UpdraftPlus؟هل أنت متأكد أنك تريد رفض جميع أخبار UpdraftPlus إلى الأبد؟هل أنت متأكد أنك تريد إزالة قاعدة الاستبعاد هذه؟آسيا والمحيط الهادئآسيا والمحيط الهادئ (هونغ كونغ)آسيا والمحيط الهادئ (مومباي)منطقة آسيا والمحيط الهادئ (منطقة أوساكا المحلية) (مقيدة)آسيا والمحيط الهادئ (سيول)آسيا والمحيط الهادئ (سنغافورة)آسيا والمحيط الهادئ (سيدني)آسيا والمحيط الهادئ (طوكيو)اطلب من WordPress تحديث UpdraftPlus تلقائيًا عندما يجد تحديثًا متاحًا.اطلب من WordPress تحديث UpdraftPlus تلقائيًا عند توفر تحديثاطرح سؤالا قبل البيعتعيين إلى هذا الموقعفي نفس الوقت الذي نقوم فيه بالنسخ الاحتياطي للملفاتفشلت محاولات المتصفح للاتصال بالموقع.السمة المستوردة المحتوى إلى المستخدمالمصادقة مع%sالمصادقة مع جوجلالمصادقةفشل التفويض (راجع معلوماتك)النسخ الاحتياطي التلقائيالنسخ الاحتياطي التلقائي قبل التحديثالتحديثات التلقائيةيقوم بعمل نسخة احتياطية من موقع الويب الخاص بك تلقائيًا قبل أي تحديثات للمكونات الإضافية والسمات وأساسيات WordPress.النسخ الاحتياطي تلقائيا (حسب الحاجة) للملحقات, الثيمات و قاعدة بيانات وردبريس مع UpdraftPlus قبل التحديثمتاح لهذا الموقع (عن طريق الأضافات المشتراة)الرموز المميزة المتاحة للاستنساخ المؤقت:متوفر للطلب من هذا الموقعأزورحساب Azureأزور الصينأزور ألمانياأزور جلوبالحكومة أزورخلفخلف...نسخ احتياطي: %sدعمالنسخ الاحتياطي (عند الاقتضاء) الإضافات والقوالب وقاعدة بيانات WordPress مع UpdraftPlus قبل التحديثاسنرجاع البياناتمحتويات وجدول النسخ الاحتياطيالنسخ الاحتياطي الآنتقرير النسخ الاحتياطيملفات وقواعد البيانات الاحتياطية WordPress الأساسية وغير WP.نسخ احتياطي لمواقع ووردبريس المتعددة (أي الشبكات) بأمان.بدأ النسخ الاحتياطي:بدأ النسخ الاحتياطىتحتوي النسخة الإحتياطية على:النسخة الإحتياطية خلقت من جهة غير معروفة (%s)، لا يمكن استيرادها.نسخة احتياطية أنشأها:ولدت النسخة الإحتياطية من طرف: %s.بيانات النسخ الاحتياطي (انقر للتنزيل)سيتم إرسال بيانات النسخ الاحتياطي إلى:تاريخ النسخ الاحتياطيدليل النسخ الاحتياطيدليل (%s) النسخ الإحتياطي ليس قابل للكتابة، أو غير موجود.لا يمكن إنشاء دليل النسخ الاحتياطيدليل النسخ الأحتياطى المحدد غير موجود.دليل النسخ الأحتياطى المحدد موجود, لكنة غير قابل للكتابة.دليل النسخ الاحتياطي المحدد قابل للكتابة، وهو أمر جيد.تم إنشاء دليل النسخ الاحتياطي بنجاح.النسخة الإحتياطية لا توجد بتاريخ النسخقاعدة بيانات خارجية احتياطيةملف النسخ الاحتياطي غير متوفر.الانتهاء من النسخ الاحتياطيالنسخ الأحتياطى من: %sالتسمية الاحتياطية:تم إجراء النسخ الاحتياطي بواسطة%sالمزيد من قواعد البيانات الاحتياطيةنسخ ملفات وقواعد بيانات غير تابعة لـ WordPressنسخ احتياطي للجداول بخلاف WordPress الموجودة في نفس قاعدة البيانات مثل WordPressنسخة احتياطية لـ:نسخة احتياطية من:%sمسار النسخ الاحتياطيتم إرسال النسخ الاحتياطي إلى موقع بعيد - غير متوفر للتنزيل.لم يتم العثور على مجموعة النسخ الأحتياطىتمت إزالة مجموعات النسخ الاحتياطي:نجح النسخ الاحتياطيوقت النسخ الاحتياطي والجدولةالنسخ الاحتياطي إلى مواقع التخزين البعيدةباستخدام النسخ الاحتياطي%s؟لن يتم إرسال النسخ الاحتياطي إلى أي وحدة تخزين بعيدة - لم يتم حفظ أي نسخة في ملف %sقم بنسخ جميع مواقع WordPress الخاصة بك احتياطيًا وتحديثها وإدارتها من لوحة تحكم واحدةيتم حفظ النسخ الأحتياطية %s.إسم ملف خاطئ - نعتقد أننا لم نكن المسؤولين بخلق هذا الملفإسم ملف خاطئ - نعقد أننا لم نكن المسؤولين في تشفير هذا الملفاعلم أن خوادم البريد غالبًا ما يكون لها حدود للحجم ؛ عادة حول%sميغا بايت ؛ من المحتمل ألا تصل النسخ الاحتياطية الأكبر من أي حدود نتيجة لذلك لن يرسل UpdraftPlus سوى نسخ احتياطية من قاعدة البيانات إلى البريد الإلكتروني.اعلم أن خوادم البريد غالبًا ما يكون لها حدود للحجم ؛ عادة حول%sميغا بايت ؛ من المحتمل ألا تصل النسخ الاحتياطية الأكبر من أي حدود.تحقق من حجم الملفات المسموح به بخدمة الإيميل، تقريبا %s ميجا، أي نسخ احتياطية أكبر من هذا الحجم لن تصلك أبدا.كن حذرًا فيما تحدده - إذا حددت / فستحاول حقًا إنشاء ملف مضغوط يحتوي على خادم الويب بالكامل.كن آمناكن أمنا مع النسخ الاحتياطي التلقائيبدأتبدأ البحث عن هذا الكيانبلجيكارابط المدونةمدونة الملفات المرفوعةكل من حقول البريد الإلكتروني وكلمة المرور مطلوبة.تصفح المحتوياتتصفح ملف مضغوطدلوأسلوب الوصولمعرّف مفتاح تطبيق الحاويةموقع دلواسم دلويشتري%sشراءمكالمةاستدعاء عمل WordPress:كندا (وسط)إلغاءلا يمكن إنشاء مستخدم AWS جديد ، نظرًا لاستخدام مجموعة أدوات AWS غير معروفة.وسط الولايات المتحدةتغيير إعدادات القفلالتغييرات التي تم إجراؤها:حدد هذا المربع لإرسال تقرير أساسي إلىحدد هذا المربع لاستخدام تشفير جانب الخادم من Amazonحدد هذا المربع لحذف اى ملفات النسخ الأحتياطى الزائدة من السيرفر الخاص بك بعد انتهاء عملية النسخ الأحتياطى (أي بمعنى. اذا لم تقم بالتحديد, فأنة سوف تظل ايضا الملفات اللتى ارسللت عن بعد على السيرفر محلياً, وان الملفات اللتى يتم الأحتفاظ بها محليا لن تكون خاضعة لحدود الأبقاء).تحقق من هذا الخيار لتتمكن من تلقي المزيد من المعلومات بر الإيميل لعمليات النسخ الإحتياطي - مفيدة جدا ان كان هناك مشاكل بالعملية.تحقق من اذونات الملفات الخاصة بك: تعذر الدخول او انشاء الدليل:تحقق من أذونات الملف الخاص بك: تعذر الإنشاء والدخول بنجاح :شيكاغو (ORD)الصين (بكين) (مقيدة)الصين (نينغشيا) (مقيدة)اختر قيمة افتراضية لكل جدولاختيار المكونات للاستعادةاختر المكونات المراد استعادتها:اختر الجدول الذي تريد تشغيل النسخ الاحتياطية عليه.اختر جدول النسخ الاحتياطياختر خدمت التخزين السحابيلم يتم منح المطالبة - ربما تكون قد استخدمت بالفعل هذا الشراء في مكان آخر ، أو أن الفترة المدفوعة للتنزيل من موقع updraftplus.com قد انتهت صلاحيتها؟المطالبة لم تمنح - بيانات تسجيل الدخول لحسابك خاطئةتنظيفتنظيف القمامة ...مسح قائمة المواقع الموجودةمعرف العميلسر العميلاستنساخ من %sحزمة استنساخاستنساخ جاهزمنطقة الاستنساخ:يتم توفير خادم استنساخ وتشغيله (يمكن أن يستغرق عدة دقائق)استنساخ:الاستنساخ والهجرةإغلاقيتم الإغلاق في 1 أكتوبر 2018ملفات السحابةمفتاح API للملفات السحابيةحاوية الملفات السحابيةمنطقة الملفات السحابةاسم المستخدم للخدمة السحابيةفشل المصادقة بملفات سحابةخطأ بملفات السحابة - تم الوصول إلى الحاوية، لكننا فشلنا في إنشاء ملف داخلهافشل عملية رفع الملفات للخدمة السحابية (%s)سحابة ملفات المستخدممكتملالمصادقة اليدوية الكاملةيتأكدتأكيد التغييرالصراع: هذا المستخدم موجود بالفعلخطأ: اسم المستخدم أو البريد الإلكتروني مسجل مسبقاتهانينا! النسخ الاحتياطي الأول الخاص بك قيد التشغيل.تهانينا ، تم حفظ إعداداتك بنجاح.الإتصالقم بتوصيل هذا الموقع بـ UpdraftCentral Cloudاتصل بـ UpdraftCentral Cloudاتصل بـ updraftplus.comالاتصال بك%sحسابربط مع حساب UpdraftPlus.Com الخاص بكتوصيل...فشل الاتصال.فشل الاتصال: تحقق من تفاصيل الوصول الخاصة بك ، وأن خادم قاعدة البيانات يعمل ، وأن اتصال الشبكة غير محمي بجدار حماية.نجح الاتصال.ثوابتحاويةيحتوي على:رابط المحتوى:تواصل الاستعادةتحكم في جميع عمليات تثبيت WordPress الخاصة بك من مكان واحد باستخدام إدارة الموقع البعيد UpdraftCentral!تحكم في جميع نسخك الاحتياطية في مكان واحدفشل نسخ هذا الكيان.تعذر الوصول إلى الحاويةتعذر إنشاء الحاويةتعذر حذف المسار القديم.لا يمكن العثور على هذا الوظيفة - ربما كان قد أنهى بالفعل؟لا يمكن الحصول على قائمة الجداوللا يمكن نقل البيانات بعيدا.لا يمكن فتح ملف النسخ الاحتياطي للكتابةلا يمكن العثور على واحد من الملفات لاستعادتهلا يمكن قراءة الدليلعد...خلققم بإنشاء بيانات اعتماد Azure في وحدة تحكم مطوري Azure.قم بإنشاء بيانات اعتماد OneDrive في وحدة تحكم مطور OneDrive الخاصة بك.أنشئ مفتاحًا: أعط هذا المفتاح اسمًا فريدًا (على سبيل المثال ، حدد الموقع المخصص له) ، ثم اضغط على "إنشاء مفتاح":إنشاء مستخدم API جديدة مع الوصول إلى هذه الحاوية فقط (بدلا من حسابك بالكامل)قم بإنشاء نسخة مؤقتة على خوادمنا (UpdraftClone)خلق استنساخإنشاء مفتاحخلق مستخدم وحاوية جديدة لمفتاح API إنشاء مستخدم IAM جديد وحاوية S3تم انشاء النسخ الاحتياطى لقاعدة البياناتتم انشاء ملف النسخ الاحتياطى zipsانشاء %s وقاعدة البيانات الاحتياطية عن طريق UpdraftPlus...إنشاء النسخ الاحتياطي مع UpdraftPlus ...انشاء النسخ الاحتياطى لقاعدة البياناتانشاء النسخ الاحتياطى لقاعدة البيانات مع UpdraftPlus...انشاء ملف النسخ الاحتياطى zipsإنشاء النسخة الاحتياطية الأولىخلق...وضع SQL الحالي:الحيوانات المستنسخة الحاليةالحد الحالي هو:استخدام الذاكرة الحاليةالاستخدام الحالي:تعطيل حالياممكّن حاليًايوميادالاس (DFW) (الافتراضي)لوحة القيادة:قاعدة بياناتقاعدة بيانات (ولدت من طرف: %s.) قاعدة بيانات (لم يتم إكمال نسخ الملفات احتياطيا)خيارات قاعدة البياناتفترات احتياطية من قاعدة بياناتجدول النسخ الاحتياطي لقاعدة البياناتعبارة فك تشفير قاعدة البياناتعبارة تشفير قاعدة البيانات قاعدة البيانات فقط (لن يتم خلق نسخ احتياطية للملفات)خيارات استعادة قاعدة البيانات:تم فك تشفير قاعدة البيانات بنجاح.قاعدة البيانات: بحث واستبدال عنوان الموقعيوم من الشهريوم الأسبوعيوم لتشغيل النسخ الاحتياطيةوضع التصحيحمعلومات التصحيحفك تشفير قاعدة البيانات (يمكن أن يستغرق بعض الوقت) ...حذفحذف الدلائل القديمةحذف مجموعة النسخ الاحتياطيةفشل الحذف:حذف من خادم الويب الخاص بكحذف النسخة الاحتياطية المحليةحذف النسخ الاحتياطية المحددةاحذف هذه الإعداداتحذف هذه المجموعة من النسخ الاحتياطيةجارٍ الحذف ...نشر بيانات الموقعإلغاءالغاء تحديد الكلقم بإلغاء تحديد جميع النسخ الاحتياطيةمسار الدليلقم بتعطيل SSL تماما حيثما أمكنتم تعطيل هذه الإضافة: %s: يمكك اعادة تفعيلها عندما تكون مستعد.قطع الاتصالجاري قطع الاتصال ...تجاهلرفض (ل%sالشهور)استبعاد كافة أخبار UpdraftPlusاستبعاد من لوحة التحكم (لمدة %s أسبوع)تجاهل الملاحظةلا تقم بالخروج بعد الضغط على زر البدأ - انتظر حتى انتهاء النسخ الاحتياطىلا تخلط بين%sمع%s- إنها أشياء منفصلة.يتم قبول مفاتيح تنسيق PKCS1 (رأس PEM: BEGIN RSA PRIVATE KEY) ومفاتيح تنسيق XML و PuTTY.لا تحقق من شهادات SSLقم بقراءة هذا المقال المليئ بالأشياء المفيدة لتعلمها قبل الإستعادة.لا تتذكر حفظ الإعدادات الخاصة بك.هل لديك عدد قليل من مواقع WordPress التي تريد نسخها احتياطيًا؟ إذا كانت الإجابة بنعم ، يمكنك توفير ساعات من خلال التحكم في جميع النسخ الاحتياطية الخاصة بك في مكان واحد من UpdraftCentral.هل تحتاج إلى دعم ووردبريس متعدد المواقع؟هل تستخدم UpdraftPlus على مواقع متعددة؟هل تريد القيام بالاستيراد؟هل تريد ترحيل او استنساخ / تكرار الموقع؟لا تعرف عنوان بريدك الإلكتروني ، أو نسيت كلمة المرور الخاصة بك؟لا تريد أن يتم التجسس عليها؟ يمكن لـ UpdraftPlus Premium تشفير النسخة الاحتياطية لقاعدة البيانات الخاصة بك.خطأ بالتحميل : بعث لنا الخادم استجابة لم نفهمها.فشل في التنزيلالتحميل في تقدمتحميل ملف السجلتحميل ملف السجل المعدل مؤخراتحميل الى جهاز الكمبيوتر الخاص بكتنزيل ملفات النسخ الاحتياطي إذا لزم الأمراسقاط ملفات النسخ الاحتياطى هنااسقاط ملف قاعدة البيانات المشفرة (ملفات db.gz.crypt) هنا لتحميلها لفك التشفيربصندوق الإسقاطبسبب التقييد ، يمكن ضبط بعض الإعدادات أو تعطيلها أو عدم توفرها تلقائيًا.دائم انخفاض التوافرشرق آسيا والمحيط الهادئشرق الولايات المتحدةسهليحررالبريد الإلكترونيتقدم لك تقارير البريد الإلكتروني التي تم إنشاؤها بواسطة UpdraftPlus (الإصدار المجاني) آخر أخبار UpdraftPlus.comتشفير قواعد البيانات الحساسة الخاصة بك (مثل معلومات العميل أو كلمات المرور) ؛ قواعد البيانات الخارجية النسخ الاحتياطي أيضا.قاعدة بيانات مشفرةتشفير قاعدة البياناتحجم مفتاح التشفير:نهاية الجولةاستمتع بمساعدة احترافية وسريعة وودية متى احتجت إليها مع Premium.تأكد من تسجيل الدخول إلى الحساب الصحيح قبل المتابعة.أدخل قائمة مفصولة بفواصل ؛ خلاف ذلك ، اتركه فارغا لجميع الجداول.أدخل عناوين بريد الكتروني هنا لإرسال تقرير لها عند انتهاء مهمة النسخ الاحتياطي.أدخل أي مسار في الحقل أدناه.أدخل قاعدة البياناتأدخل قاعدة البيانات.ادخل تفاصيل عن مكان هذا الموقع الجديد ضمن المواقع المتعددة الخاصة بك:أدخل المضيفأدخل المضيف.ادخل فى صيغة HH:MM (مثل 14:22).أدخل كلمة المرورأدخل كلمة المرور.أدخل بادئة الجدولأدخل معرف%sمشروع ترغب في استخدامه هنا.أدخل اسم ملف%sدلو ترغب في استخدامه هنا.أدخل مسار ملف%sالمجلد الذي ترغب في استخدامه هنا.أدخل مسار ملف%sترغب في استخدامه هنا.ادخل اسم المستخدمادخل اسم المستخدم.قم بإدخال أسم/مفتاح API الخاص بك لخدمة Rackspace (بحيث يمكن مصادقة Rackspace لإنشاء مستخدمين جدد)، وأدخل اسم كستخدم جديد (فريد) وعنوان بريد إلكتروني للمستخدم الجديد واسم الحاوية.أدخل البريد الإلكتروني / كلمة المرور الخاصة بك لـ UpdraftPlus.Com هنا للاتصال:أدخل مفاتيح الوصول / السر الإدارية الخاصة بـ Amazon S3 (يجب أن يكون هذا زوجًا من المفاتيح يتمتع بحقوق كافية لإنشاء مستخدمين جدد ومستودعات) ، واسم مستخدم جديد (فريد) للمستخدم الجديد واسم مجموعة.أدخل الاسم الذي اخترتهخطأخطأ - فشل تحميل الملفخطأ - لا يوجد مثل هذا الملفخطأ بالبيانات:خطأ في تنزيل الملف البعيد: فشل التنزيلرسالة الخطأخطأ في فتح ملف محلي: فشل التحميلخطأ في فتح الملف : فشل في التحميلخطأ عند إنشاء موقع جديد على العنوان الذي اخترته:خطأ:خطأ: %sخطأ فشل التحميلخطأ: فشل التهيئةخطأ: فشل في فتح الملف المحليخطأ: فشل التحميلخطأ: مسار غير صالحخطأ: ارسل خادم السيرفر استجابة فارغة.الخطأ: الخادم ارسل لنا استجابة (JSON) اللتى لم نتمكن من فهمها.خطأ: أرسل لنا الخادم ردًا لم نفهمه.خطأ: معلمة فارغة غير متوقعة (%s, %s)خطأ: فشل قراءة الملف غير المتوقعخطأ: لا تتوفر لديك حصة تخزين كافية (%s) لتحميل هذا الأرشيف (%s) (%s).أخطاءأخطاء / تحذيرات:مصادفة اخطاء:حدثت الأخطاء:حدث خطأ عند محاولة الأتصال ب UpdraftPlus.Com:أخطاء حدثت:الأخطاء:أوروبا (فرانكفورت)أوروبا (أيرلندا)أوروبا (لندن)أوروبا (ميلان)أوروبا (باريس)أوروبا (ستوكهولم)الاتحاد الأوروبيكل%sساعاتكل ساعةامثلة من مقدمى التخزين المتوافق-s3:استبعاد الملفات/الدلائلاستبعاد هذه مناستبعاد هذه:النسخ الاحتياطية الموجودةالمفاتيح الموجودةالخروج من وضع ملئ للشاشةإعدادات متقدمةتصدير / استيراد الإعداداتإعدادات التصديرExtensionsقاعدة بيانات خارجيةقاعدة بيانات خارجية (%s)قاعدة بيانات اضافيةأسئلة وأجوبةتسجيل الدخول عبر بروتوكول نقل الملفاتكلمة مرور بروتوكول نقل الملفاتخادم بروتوكول نقل الملفاتفيسبوكفشلفشل الوصول الى %s عند الحذف (تحقق من ملف السجل لمزيد من المعلومات)فشل في تطبيق سياسة المستخدمفشل النسخ الاحتياطي لجدول قاعدة البيانات:فشل إنشاء مفتاح UpdraftCentralفشل في إنشاء دليل مؤقتفشل في حذف دليل العمل بعد الإستعادة.فشل في التحميلفشل في التحميل%sفشل العثور على ملف البيان في النسخة الاحتياطية.فشل في العثور على ملف قاعدة البياناتفشل في فتح ملف قاعدة البياناتفشل في فتح ملف قاعدة البيانات للقراءة:فشل فى فتح ملف قاعدة البيانات.فشل فتح الدليل (تحقق من أذونات الملف والملكية):%sفشل فتح الدليل للقراءة:فشل فى فتح ملف مضغوط (%s) - %sفشلت القراءة من دليل العمل.فشلت قراءة ملف البيان من النسخة الاحتياطية.فشل البحث والاستبدالفشل البحث والاستبدال:فشل فك ضغط الأرشيففشل التحميل%sفشل في تحميل إلى %sفشل في كتابة قاعدة البيانات مفككت التشفير لنظام الملفاتفشل:لقد تمكنا من تسجيل الدخول والانتقال إلى الدليل المشار إليه،لكنه فشل في إنشاء ملف في ذلك الموقع بنجاح.فشل:تمكنا من تسجيل الدخول، لكنه فشل في إنشاء ملف في ذلك الموقع بنجاح.فشل: لم نكن قادرين على وضع ملف في هذا الدليل - يرجى مراجعة بيانات الاعتماد الخاصة بك.فشل: العملية %s لم تكن قادرة على البدأ.فشل: لم نستطع فهم نتيجة العملية بواسطة %s .فشلفضل: لم تعطى أية %s.فشل: لم ترد تفاصيل الباكت.خطأ: ولم تعط أية تفاصيل عن الحاوية.فشل: لم يتم إعطاء تفاصيل نقطة النهاية.خطأ: ولم تعط أية تفاصيل خادم.فشل: المنفذ يجب ان يكون عدد صحيح.خطأ: لم نتمكن من تسجيل الدخول بنجاح.فشل: نجحنا في تسجيل الدخول، لكن لا يمكننا إنشاء ملف في الدليل المعطى.سريعدعم شخصي سريعأحضرإحضار ...تم العثور على الملف %s, لكن لدية حجم مختلف (%s) عن الذى توقعناة (%s) - قد يكون تالفا.خيارات الملفخيارات النسخ الاحتياطي للملفاتالملف غير موجود - يحتاج الى استراجعة من التخزين البعيدلم يتم العثور على ملفالملف غير موجود (تحتاج الى رفعة): %sملف جاهز.تم العثور على الملف, لكن حجمة صفر ( تحتاج الى رفعة): %sملف / دليلملفاتملفات (لم يتم إكمال نسخ قاعدة بيانات احتياطيا)ملفات وقواعد البياناتالملفات وقاعدة البيانات للووردبريس بالنسخة الإحتياطية (ولدت من طرف: %s.)ملفات النسخة الإحتياطية (ولدت من طرف: %s.) فترات ملف النسخ الاحتياطيجدول النسخ الاحتياطي للملفاتتم تغيير الملفات منذ أن تمت إضافة آخر نسخة احتياطية كزيادة جديدة في مجموعة النسخ الاحتياطي هذه.العثور على ملفات:الملفات فقط (لن يتم خلق نسخ احتياطية لقاعدة البيانات)الملفات / الدلائل التي تحتوي على الأحرف المعطاة في أسمائهاالفحوصات النهائيةاكتشف المزيدتعرف على المزيد حول النسخ الاحتياطية المتزايدة هنا.اكتشف المزيد هنا.بصمات الأصابع غير متطابقة.إنهاءانتهىأولاً ، أدخل مفتاح فك التشفيرمرنمجلداتبع هذا الرابط للمساعدةاتبع هذا الرابط لمزيد من المعلوماتاتبع هذا الرابط لمحاولة فك التشفير وتحميل ملف قاعدة البيانات على جهازك.انقر هنا لمحاولة إنشاء دليل وتعيين أذوناتاتبع هذا الرابط للسماح بالوصول إلى%sحساب (لن تتمكن من النسخ الاحتياطي إلى%sبدونه).لتحميل ملف السجل لهذه العملية تابع هذا الرابط (ستحتاج هذا الملف في أي عملية طلب للدعم)اتبع هذا الرابط لإزالة هذه الإعدادات لـ%s.اتبع هذا الرابط للتسجيل في النشرة الإخبارية UpdraftPlus.اتبع هذا الرابط لإرشادات التثبيت (خاصة الخطوة 1).اتبع هذا الرابط لوحدة تحكم Google API الخاصة بك ، وهناك قم بتنشيط Drive API وإنشاء معرف العميل في قسم الوصول إلى واجهة برمجة التطبيقات.اتبع هذا الرابط لوحدة تحكم Google API الخاصة بك ، وهناك قم بتنشيط واجهة برمجة تطبيقات التخزين وإنشاء معرف العميل في قسم الوصول إلى واجهة برمجة التطبيقات.للنسخ الاحتياطية الأقدم منلمزيد من الميزات والدعم الشخصي ، تحقق منللتحكم في جميع اتصالات UpdraftCentral في المستقبل ، انتقل إلى علامة التبويب "أدوات متقدمة".للمساعدة في تكوين ملفات%s، بما في ذلك لقطات الشاشة ، اتبع هذا الرابط.بالنسبة للنسخ الاحتياطية المتزايدة ، ستتمكن من اختيار الزيادات التي تريد استعادتها في مرحلة لاحقة.للحصول على مساعدة أطول ، بما في ذلك لقطات الشاشة ، اتبع هذا الرابط.لمزيد من الخيارات ، استخدم Premiumلمزيد من ميزات التقارير ، استخدم الإصدار المميزللقدرة على تأمين الوصول إلى إعدادات UpdraftPlus بكلمة مرور ، قم بالترقية إلى UpdraftPlus Premium.للقدرة على ترحيل مواقع الويب ، قم بالترقية إلى UpdraftPlus Premium.لفتح الدعم ، يرجى الاتصال بمن يدير UpdraftPlus نيابة عنك.امنع غير المسؤولين من تسجيل الدخول إلى WordPress على نسختكهل نسيت التفاصيل الخاصة بك؟نصف شهريتم العثور على أسماء المجموعة%s، ولكن التغيير إلى%sكما هو مقترح من قبل WPDB :: select_charset ().تم العثور على قيود المفتاح الخارجي للجدول واستبدالها حيث تم تغيير بادئة الجدول.فرانكفورتحرمساحة القرص الحرة في الحساب:مكون إضافي أمان ثنائي مجانيالصفحة الأمامية:نسخة احتياطية كاملةقائمة الميزات الكاملةشاشة كاملةيمكن العثور على مزيد من المعلومات في وحدة تحكم JavaScript للمتصفح ، وسجلات أخطاء PHP الخاصة بالخادم.احصل على%sمن متجر UpdraftPlus.comاحصل على%sهناإحصل على الأفضلاحصل على UpdraftCentralالحصول علية من متجر UpdraftPlus.Comأحضره هنااحصل على المزيد من الحصةاحصل على هذه الإعدادات من%s، أو قم بالتسجيل%s.يذهباذهب هنااذهب هنا للحصول على المساعدةاذهب هنا لمزيد من المعلومات.اذهب هنا لتنشيطه.اذهب هنا لبدء تثبيته.اذهب هنا لتوصيله.اذهب هنا للاتصال.اذهب هنا لإعادة إدخال كلمة المرور الخاصة بك.اذهب الى هناكاذهب للاعداداتانتقل إلى لوحة معلومات UpdraftCentral Cloudاصعد الدليلينتقل إلى صفحة الخروج من updraftplus.comيذهب إلى صفحة الخروج updraftplus.comجوجل كلاودجوجل درايفملفات قائمة Google Drive: فشل في الوصول إلى المجلد الأصلكود HTTP:لم تحصل بعد على رمز وصول من Google - تحتاج إلى تفويض اتصالك بـ Google Cloud أو إعادة تفويضه.لم تتمكن بعد من الحصول على رمز من جوجل - يتوجب عليك أن تصادق أو تعيد المصادقة مع خدمة جوجل درايف.لم تحصل بعد على رمز وصول من Google - تحتاج إلى تفويض اتصالك بـ Google Cloud أو إعادة تفويضه.هونغ كونغ (HKG)الاستضافةكيف أحصل على مفتاح الموقع؟مع ذلك، ملفات UpdraftPlus المضغوطة هي ملفات zip/SQL عادية - فإن كنت تعتقد أن الملف هو على الصيغة الصحيحة، المرجو إعادة تسميته بالإسم الموصى به.ومع ذلك ، فشلت محاولات الوصول اللاحقة:أوافق على شروط وأحكام UpdraftCloneأوافق على%sفشلت عملية IAM (%s)اذا أظهر لك جوجل في وقت لاحق لك رسالة "invalid_client"، إذا فأنت لم تقم بإدخال معرف عميل صالح هنا.إذا أظهر OneDrive لاحقًا لك الرسالة "unauthorized_client" ، فهذا يعني أنك لم تدخل معرف عميل صالح هنا.ان كنت تريد طلب دعم فني، فضلا قم باستخدام هذه المعلومات:إذا لم يكن كذلك ، فاختر التفاصيل الخاصة بك وسيتم تسجيل حساب جديد.إذا لم يكن الأمر كذلك ، فستحتاج إما إلى إزالة البيانات من هذا الجدول ، أو الاتصال بالشركة المستضيفة لطلب المزيد من الموارد.إذا كان الإرسال من موقع إلى آخر لا يناسبك ، فهناك ثلاث طرق أخرى - يرجى تجربة إحدى هذه الطرق بدلاً من ذلك.إن لم يكن هذا ممكنا قم بالتأكد من الأذونات بسيرفرك الخاص أو غيره لمجلد جديد قابل للكتابة من قبل خادمك.إن كانت هذه النسخة الإحتياطية خلقت بإستخدام تطبيق آخر، يمكن لإضافة UpdraftPlus Premium مساعدتك في حل المشكلة.في حالة استخدامه ، حدد مسارًا من شجرة الدليل أدناه ثم اضغط على تأكيد التحديد.إذا كان لديك بالفعل حساب على updraftplus.com ، فأدخل التفاصيل أدناه.إذا كنت تواجه مشكلات في المصادقة مع%sيمكنك التفويض يدويًا هنا.اذا لم تكن متأكدا يجب عليك التوقف; والأ من المحتمل تدمير نسخة الورد بريس الخاصة بكإذا لم تكن متأكدا ما هو هذا الخيار، إذا انت حتما لا ترغب فيه، ويجب عليك إيقاف تشغيله.اذا كنت ترى اكثر من نسخة احتياطية, ومن ثم انة من المحتمل ان هذا بسبب اعدادات حذف ملفات النسخ الاحتياطى القديمة لم يتم حذفها حتى اكتمال نسخة احتياطية جديدة.إذا كنت تستخدم هذا، ازل الوضع Turbo/Roadإذا قمت بإجراء نسخ احتياطي لعدة مواقع في نفس Dropbox وتريد التنظيم باستخدام مجلدات فرعية ، فحينئذٍ%sتحقق من Premium%sاذا كنت قد قمت بشراء اضافة جديدة, ثم اتبع هذا الرابط لتحديث اتصالكإذا كنت لا تزال ترى هذه الكلمات بعد انتهاء صفحة التحميل، ف انة يوجد مشكلة فى الجافا سكريب او jQuery فى الموقع.إذا كنت لا ترغب في استعادة جميع جداول قاعدة البيانات الخاصة بك ، فاختر بعضها لاستبعاده هنا.إذا أدخلت بادئة جدول ، فسيتم نسخ الجداول التي تبدأ بهذه البادئة فقط احتياطيًا.إذا قمت باستبعاد كل من قاعدة البيانات والملفات, فقد قمت بأستبعاد كل شئ !إذا كان لديك ترخيص Premium ساري المفعول ، فستحصل على 1 غيغابايت من السعة التخزينية.إذا قمت بالتجديد بالفعل ، فأنت بحاجة إلى تخصيص ترخيص لهذا الموقع -%sإذا كان لديك مستخدم مسؤول في AWS ، فيمكنك استخدام هذا المعالج لإنشاء مستخدم AWS (IAM) جديد بسرعة مع إمكانية الوصول إلى هذه المجموعة فقط (بدلاً من حسابك بالكامل)إذا كان لديك نسخة احتياطية موجودة تريد تحميلها واستعادتها منها ، فالرجاء استخدام رابط "تحميل ملفات النسخ الاحتياطي" أعلاه.إذا كنت قد نسيت كلمة المرور الخاصة بكإذا نسيت كلمة المرور الخاصة بك ، فانتقل إلى هنا لتغيير كلمة المرور الخاصة بك على updraftplus.com.إذا كنت قد اشتريت من UpdraftPlus.Com ، فاتبع هذا الارتباط لإرشادات التثبيت (خاصة الخطوة 1).إذا تركته فارغًا ، فسيتم وضع النسخة الاحتياطية في جذر ملف%sإذا كنت ترى أخطاء حول شهادات SSL، يرجى الدخول هنا للمساعدة.إذا كنت تريد التشفير (على سبيل المثال ، إذا كنت تقوم بتخزين بيانات الأعمال الحساسة) ، فستتوفر وظيفة إضافية في الإصدار المميز.إذا كنت ترغب في استعادة نسخة احتياطية متعددة المواقع ، فيجب عليك أولاً إعداد تثبيت WordPress كموقع متعدد المواقع.إذا أردت ، اختبر الترقية إلى إصدار PHP أو WP مختلف.إذا كانت قاعدة البيانات الخاصة بك تتضمن جداول إضافية ليست جزءًا من موقع WordPress هذا (ستعرف ما إذا كانت هذه هي الحالة) ، فقم بتنشيط هذا الخيار لعمل نسخة احتياطية منها أيضًا.اعدادات مهمهالمستورداستيراد موقع واحد إلى تثبيت متعدد المواقعاستيراد ...في%s، أسماء المسار حساسة لحالة الأحرف.قم بتضمين جميع الجداول غير المدرجة أدناهمتضمن في ملفات النسخ الاحتياطيتضمين قاعدة البيانات الخاصة بك في النسخة الاحتياطيةقم بتضمين ملفاتك في النسخة الاحتياطيةغير مكتملتدريجينسخ احتياطي تزايديالنسخ الاحتياطية المتزايدة هي سمة من سمات%s(قم بالترقية باتباع هذا الرابط).الزيادات موجودة في:%sعودية لا نهائية: تحقق من السجل لمزيد من المعلوماتالمعلومات اللازمة للأستمرار:تثبيت المكونات الإضافية لتصحيح الأخطاء:المثبتةطبقات ذكيةهل ترغب فى معرفة المزيد عن تأمين كلمة السر فى UpdraftPlus.Com؟ اقرأ عنها هنا.تقديم UpdraftCentralمعرف الوظيفة غير صالحاسم الحاوية غير صالحايوايبدو أن عنوان IP لخادم الويب الخاص بك (%s) تم حظره.يمكنه أيضًا نسخ قواعد البيانات الخارجية احتياطيًا.تم اختباره حتى الإصدار%s.إنه رقم معرف داخلي في Google Driveوهي لإرسال نسخ احتياطية إلى الموقع التالي:سيتم استيراده كموقع جديد.تحذير جافا سكريبترقم الوظيفة: %sوظيفة حذفتمفتاحتم إنشاء المفتاح بنجاح.يتم إنشاء مفاتيح الموقع في قسم "تلقي نسخة احتياطية من موقع بعيد".هذا يجب أن يكون v2 (Keystone) مصادقة URI؛ الإصدار 1 (Swauth) غير مدعوم.النسخ الأحتياطى المعروفة (الخام)رسالة السجل الأخيرةاخر اخبار UpdraftPlus.com:تم العثور على أحدث نسخة احتياطية كاملة ؛ المعرف:آخر التحديثات:الولوج لموقع المطوريتعلم أكثرتعرف على المزيد حول UpdraftCentralاترك هذا فارغًا لاستخدام الإعداد الافتراضي (80 لـ webdav ، و 443 لـ webdav)اترك هذا فارغًا ، وسيتم اختيار الإعداد الافتراضي.تحميل ملف السجلجار التحميل...بدأ تحميل النسخة الاحتياطية المحلية ؛ يرجى التحقق من ملف السجل لمعرفة تقدم التحميلالملفات المحلية المحذوفة:فشلت الكتابة المحلية: فشل تحميلقم بتأمين الوصول إلى UpdraftPlus عبر كلمة مرور حتى تختار أي من المستخدمين المشرفين يمكنه الوصول إلى النسخ الاحتياطية.قفل الوصول إلى صفحة إعدادات UpdraftPlusإعدادات القفلسجل جميع الرسائل في سجل النظامتسجيل كافة الرسائل بسجل الرسائل (من المحتمل أنه فقط مديري الخادم من سيغب في هذه العملية)قم بتسجيل الدخول هنا لتمكين جميع الميزات التي يمكنك الوصول إليها.تسجيل الدخول أو التسجيل في UpdraftCentral Cloudتسجيل الدخول أو التسجيل باستخدام عنوان البريد الإلكتروني هذاتم تسجيل الدخول بنجاح.تسجيل الدخول ناجح ؛ إعادة تحميل المعلومات.لندنلندن (LON)ابحث في الإعدادات الأخرى هنا ، وقم بإجراء أي تغييرات تريدها.ابحث عن الأرشيف %s : اسم الملف: %sاجعل التحديثات سهلة مع UpdraftPlusادارة الأضافاتإدارة المستنسخة الخاصة بكالمصادقة اليدوية غير متاحة لطريقة التخزين البعيد هذهخيارات النسخ الاحتياطي اليدويفك تشفير ملف النسخ الاحتياطي لقاعدة البيانات يدوياالعديد من المواقع؟معرّف مفتاح التطبيق الرئيسيربما في وقت لاحقحد الذاكرةرسائل:الشرق الأوسط (البحرين)ترحيل (إنشاء نسخة من موقع على الاستضافة التي تتحكم فيها)ترحيل / استنساخالمواقع المدمجة (من UpdraftPlus)تم إنشاء مفتاح الترحيل:مهاجربيانات المصادقة مفقودة:معرف المثيل مفقود:الصفحات المفقودة:المعلمات مفقودةشهرياملفات أخرىالمزيد من خيارات قاعدة البياناتالمزيد من الإضافات الرائعة بواسطة فريق Updraftمزيد من المعلومات هنا.مزيد من الإضافاتالمزيد من الإضافات عالية الجودةالمزيد من الإعداداتالمزيد من المهام:نقل البيانات القديمة بعيدا ...نقل النسخ الأحتياطى الذى تم فك حزمة الى المكان...مواقع متعددةتثبيت الموقع المتعددلابد من استخدام الأضافاتملحوظة%sليست حساسة لحالة الأحرف.ملاحظة: لا يمكن استرداد المعلومات المجهولة المصدر ؛ ستغيب البيانات الأصلية غير المجهولة المصدر من النسخة الاحتياطية.ملاحظة: إذا قمت بتثبيت UpdraftPlus على العديد من مواقع WordPress ، فلا يمكنك إعادة استخدام مشروعك ؛ يجب عليك إنشاء واحدة جديدة من وحدة تحكم Google API الخاصة بك لكل موقع.ملحوظة: لن يتم أخذ نسخة احتياطية من قاعدة البيانات الخاصة بك في نسخة احتياطية تزايدي ؛ إذا كنت تريد نسخة احتياطية لقاعدة البيانات أيضًا ، فاخذ ذلك بشكل منفصل.ملاحظة: هذا العدد يستند على ما كان عليه، او ما لم يكن عليه، مستبعدين آخر مرة قمت بحفظ الخيارات.ملاحظة: هذا مطلوب فقط إذا لم تكن قد أنشأت الحاوية بالفعل ، وترغب في أن يقوم UpdraftPlus بإنشائه لك.اسم:%s.خط القريببحاجة للحصول على مساحة؟هل انت بحاجة للحصول على الدعم؟هل تحتاج الى استخدام المجلدات الفرعية؟يحتاج إلى وجود بالفعلشبكة / مواقع متعددةتفعيل ثيم الشبكة:الشبكة والمواقع المتعددةأبداًاسم مستخدم IAM جديدعنوان بريد إلكتروني جديد للعضواسم مستخدم جديدالموقع الجديد:اخبارالاشتراك في الرسائل الإخباريةالتاليالنسخ الاحتياطي المجدولة القادمةلالم يتم العثور على %s تم العثور على أية إعدادات %sلم يتم العثور على اتصال Vault لهذا الموقع (هل تم نقله؟) ؛ يرجى قطع الاتصال وإعادة الاتصال.لا اعلاناتلم يتم الانتهاء من النسخ الاحتياطيلا توجد نسخ احتياطية من المجلدات %s : لم نجد أي شيء لنعمل له نسخة احتياطيةلا توجد نسخ احتياطية للمجلدات: لم نجد أي شيء لعمل نسخة احتياطيةلم نجد أي جداول لقاعدة البياناتلا يمكن إجراء نسخ احتياطي تزايدي لملفاتك ، حيث لم يتم العثور على نسخة احتياطية مناسبة لإضافة زيادات إليها.لم يتم إنشاء مفاتيح للسماح للمواقع البعيدة بإرسال بيانات النسخ الاحتياطي هنا.لا نسخة محلية متوفرة.لا توجد ملفات السجل.لم يتم العثور على نسخة احتياطية سابقة لإضافة زيادة إلى.لم يتم العثور على نسخة احتياطية كاملة سابقة.لم يتم إضافة أي مواقع استقبال.لم يتم العثور على مواقع تخزين بعيدة بخيارات صالحة.لم يتم العثور على الإعداداتلم يتم العثور على إعدادات - يرجى الانتقال إلى علامة التبويب "الإعدادات" والتحقق من الإعداداتهذا الدليل لا يوجد بة اى مجموعات نسخ احتياطىلم يتم العثور على مكونات صالحة ، يرجى تحديد مكونات مختلفة أو مجموعة نسخ احتياطي بمكونات يمكن استعادتهالا شيءشمال فرجينياشمال شرق آسياولاية فرجينيا الشمالية (IAD)ليس لديك حساب؟ احصل على واحدة عن طريق شراء بعض الرموز هنا.ليس لديك أي تخزين عن بعد؟لم يتم التثبيتلم تملك حساب بعد (انة مجانى)؟ احصل علية من هنا!لاحظ أن Google لا تدعم كل فئة تخزين في كل موقع - يجب عليك قراءة الوثائق الخاصة بهم للتعرف على التوفر الحالي.لاحظ أنه بعد المطالبة بوظائفك الإضافية ، يمكنك إزالة كلمة مرورك (ولكن ليس عنوان البريد الإلكتروني) من الإعدادات أدناه ، دون التأثير على وصول هذا الموقع إلى التحديثات.لاحظ أنه ليست كل أساليب النسخ الإحتياطي بالسحابة بالضرورة تستخدم المصادقة عن طريق SSL.ملاحظة:لا شيء مقرر حاليالا شئ لعملة: رابط الموقع بالفعل: %sلا شيء حتى الآن تم تسجيلهملاحظةحسناحسنًا ، أنت تستحقهاABSPATH قديم :بادئة الجدول القديمة:كلمة مرور لمرة واحدة (تحقق من تطبيق OTP للحصول على كلمة المرور هذه)VPS واحد (خادم خاص افتراضي) لكل نسخة ، لا يشاركه أحد.تمت إضافة واحدة أو أكثر من النسخ الإحتياطية التي وجدناها بالإستضافة السحابية، لاحظ أن هذه النسخ لن تتم مسحها أوتوماتيكيا من الإعادادات الإفتراضية، لو أو متى شئت حذفها يجب عليك حذفها يدويا.ون درايفون درايف ألمانياOneDrive الدوليةالسماح فقط بحذف هذه النسخة الاحتياطية يدويًا (أي احتفظ بها حتى إذا تم تجاوز حدود الاستبقاء).فقط أرسل نسخة احتياطية من قاعدة البيانات بالبريد الإلكترونييمكن استعادة قاعدة بيانات WordPress فقط ؛ ستحتاج إلى التعامل مع قاعدة البيانات الخارجية يدويًا.متصفح الويب أوبرا فشلت عملية إنشاء مفتاح وصول المستخدميقوم OptimizePress 2.0 بترميز محتوياته ، لذلك لا يعمل البحث / الاستبدال.خيارات (الخام)أو إذا كنت تفضل الاستضافة الذاتية ، فيمكنك الحصول على الإصدار المستضاف ذاتيًا هنا.أو ، إذا كانوا في وحدة تخزين بعيدة ، يمكنك توصيل هذا التخزين البعيد (في علامة التبويب "الإعدادات") ، وحفظ الإعدادات ، واستخدام رابط "إعادة فحص وحدة التخزين عن بُعد".أو استخدم مفتاح UpdraftCloneاو, يمكنك وضعها يدويا فى مسار UpdraftPlus الخاص بك (عادة wp-content/updraft)، على سبيل المثال عبر FTP، ومن ثم استخدام الرابط "إعادة الفحص" أعلاه.ولاية أوريغونالأسئلة الشائعة %s الأخرى.الإضافات الرائعة الأخرىأخرىخلاف ذلك ، سيتم عرض الارتباط الافتراضي.خلاف ذلك ، يمكنك تركه فارغًا.خلاف ذلك ، يمكنك تجربة UpdraftVault لمدة شهر واحد مقابل دولار واحد فقط!إعادة كتابة wp-config.phpمعلومات PHPمزاج سيءكلمة السركلمة المرور غير صحيحةكلمة السر: %sالصق المفتاح هناطريقأسلوب المساريمكن الدفع بالدولار الأمريكي أو اليورو أو الجنيه الإسترليني عبر البطاقة أو PayPal.استخدام الذاكرة الذروةقم بعمل نسخة احتياطيةربما تريد تسجيل الدخول بدلا من ذلك.جارى الحذف...يرجى اتاحة الوقت لأكمال الأتصال مع التخزين البعيد.يرجى التحقق من UpdraftPlus Premium.يرجى التحقق من سجل الخطأ لمزيد من التفاصيليرجى التحقق من وصول بيانات الأعتماد.الرجاء اختيار ملف أو دليليرجى الرجوع إلى الأسئلة الشائعة إذا كنت تواجه مشاكل بالنسخ الاحتياطي.يرجى الاتصال بشركة الاستضافة الخاصة بك (%s) إذا كنت بحاجة إلى مزيد من الدعم.الرجاء إدخال امتداد الملف ، مثل zipأدخل رابط صحيح من فضلكالرجاء إدخال عنوان URL صالح، على سبيل المثال http://example.comالرجاء إدخال امتداد ملف صالحالرجاء إدخال بادئة اسم ملف صالحةالرجاء إدخال الأحرف التي تبدأ اسم الملف الذي ترغب في استبعادهالرجاء إدخال جزء من اسم الملفمن فضلك أدخل%sعنوان البريد الالكترونىمن فضلك أدخل%sكلمه السريرجى ملء المعلومات المطلوبة.يرجى اتباع هذا الرابط لفتح%sفي نافذة جديدة.يرجى تسمية هذا المفتاح (على سبيل المثال ، حدد الموقع المخصص له):يرجى التأكد من أنك قمت بتدوين كلمة المرور!يرجى إعادة تفويض الاتصال بجهاز%sالحساب.يرجى القراءة%sلاستخدامها%sتطبيق التفويض (لا يتم إرسال أي من بيانات النسخ الاحتياطي إلينا).يرجى قراءة هذا الرابط للحصول على معلومات مهمة حول هذه العملية.الرجاء تحديد ملف / مجلد ترغب في استبعادهالرجاء تحديد المزيد من النسخ الاحتياطية للملفات التي ترغب في استعادتها:الرجاء تحديد اسم مجلد Microsoft OneDrive ، وليس عنوان URL.يرجى تقديم المعلومات المطلوبة, ومن ثم الاستمرار.الرجاء الانتظار أثناء الاتصال بـ UpdraftPlus.com ...يرجى الانتظار بينما يقوم النظام بإنشاء مفتاح تشفير لموقع الويب الخاص بك وتسجيله باستخدام UpdraftCentral Cloud.يرجى الانتظار حتى يتم إعادة توجيهك إلى UpdraftCentral Cloud.الرجاء الأنتظار بينما نقوم بمراجعة المطالبة...الإضافاتالمنفذالأسئلة الشائعة حول ما قبل البيعالنسخ الاحتياطية قبل التحديثمميزقسط / ملحقاتقسط / اكتشف المزيددعم متميز / احترافيملحقات WooCommerce المميزةتجهيز ملفات النسخ الاحتياطياضغط على زر للبدء.اضغط هنا للتنزيل أو التصفحاضغط هنا للبحث داخل دليل UpdraftPlus (في مساحة استضافة الويب الخاصة بك) عن أي مجموعات نسخ احتياطي جديدة قمت بتحميلها.اضغط هنا للبحث داخل طرق التخزين البعيد عن أي مجموعات نسخ احتياطي موجودة (من أي موقع ، إذا كانت مخزنة في نفس المجلد).اضغط هنا لتشغيل نسخة احتياطية يدوية.اضغط هنا لحفظ الإعدادات الخاصة بك.اضغط هنا للبدء!اضغط على هذا الزر لأخذ جولة في المكون الإضافي.المضي قدما مع التحديثالمكون الأضافى:يعالجتجهيز الملفات - يرجى الأنتظار...جدول المعالجة (%s)يعالج...معرف المشروعبروتوكول (SSL أم لا)يوفر مساعدة الخبراء والدعم من المطورين متى احتجت إليها.تلقيم مجموعات النسخ الاحتياطي القديمحصة نسبية:بصمة RSAرابط RSSتاريخ النسخ الاحتياطي الخاماقرأ الأسئلة الشائعة هنا.اقرأ أكثراقرأ المزيد عن%sهنا.اقرأ المزيد حول Easy Updates Managerاقرأ المزيد عن أسلوب الوصول إلى الجرافةاقرأ المزيد عن مواقع الجرافةقراءة المزيد عن كيفية عمل ذلك ...اقرأ المزيد عن التشفير من جانب الخادماقرأ المزيد عن فئات التخزيناقرأ أكثر...إقرأ ال%sالأسئلة الشائعة هنا.اقرأ هذه المقالة لترى كيف يتم ذلك خطوة بخطوة.إقرأ هذه الصفحة لمعرفة المزيد وإمكانية الإصلاح.تلقي نسخة احتياطية من موقع بعيداستقبال بيانات الموقعبدأت مؤخرًا وظيفة النسخ الاحتياطي:%sموصى به: قم بتحسين قاعدة البيانات الخاصة بك باستخدام WP-Optimize.تحديث الاتصالتحديث الوضع الحاليالمنطقةمنطقة:%sتم التسجيل بنجاح.موثوقتذكر هذا الاختيار في المرة القادمة (لايزال لديك الفرصة لتغييرة)خيارات التخزين البعيدتم حذف الملفات البعيدة:المسار البعيدالتخزين عن بعدمصادقة التخزين عن بعدطريقة التخزين عن بعد ومعرف المثيل مطلوبان للمصادقة.التخزين عن بعد:%sحذفإزالة الدلائل القديمةاستبدل بالتقاريرمجموعة الأحرف المطلوبة (%s) غير موجود - التغيير إلى%s.مجموعة أحرف الجدول المطلوبة (%s) غير موجود - التغيير إلى%s.محرك الجدول المطلوب (%s) غير موجود - تغيير لMYISAM.مطالبة البدء بالنسخ الاحتياطي ...طلب كلمة المرور مرة أخرى بعدلم يتم تقديم المعلومات المطلوبة لاستعادة هذه النسخة الاحتياطية (%s)إعادة فحص المجلد المحلي لمجموعات النسخ الاحتياطي الجديدةإعادة فحص الإستضافة الإستضافة السحابيةاعادة الفحص (يبحث عن النسخ الاحتياطية التي قمت برفعها يدويا في مسار النسخ الاحتياطي الداخلي)...جاري فحص الإستضافة السحابية والمساحة التخزينية المحلية بحثا عن نسخ احتياطية...إعادة تعيين الجولةتقدم الترميم:استعادةاستعادة مجموعة النسخ الاحتياطية الموجودة على هذا الموقعاستعادة النسخة الاحتياطيةخطأ في الاستعادة:استعادة الملفات مناستعادة الموقع غير موجود في نظام الملفات لـ:تم العثور على استعادة موقع لـ:استعادة%s1 ملف من%s2استعادة الروتين المخزن:%sاستعادة الجدول (%s)استرجاع قاعدة البيانات (بالمواقع الكبيرة ستأخد هذه العملية وقت طويل - ان واجهت مشكل انقضاء المهلة (سببه نقص في استخدام موارد السيرفر للإستضافة) يمكنك استخدام طريقة أخرى، كـ phpMyAdmin)عملية الإستعادة ستغير كل من التصاميم، الإضافات، الملفات المرفوعة، قاعدة البيانات أو أي ملفات أخرى (وفقا لما تحمله النسخة الإحتياطية من ملفات، وما قمت باختياره)احتفظ بالعديد من النسخ الاحتياطية المجدولة لقاعدة البياناتاحتفظ بالعديد من النسخ الاحتياطية المجدولة للملفاتاسترجاع (إذا لزم الأمر) وإعداد ملفات النسخ الاحتياطي ...العودة إلى اعدادات UpdraftPlusالعودة إلى تكوين UpdraftPlusمراجعة UpdraftPlusفحص الصفوف:صفوف لكل دفعةقم بتشغيل هذا الأمر لرؤية ملف السجل لهذه الاستعادة (مطلوب لأي طلبات دعم).يعمل بسعة من مزود حوسبة سحابية رائد.S3 (متوافق)دلو S3منطقة التخزين S3اعداد استضافة SCP/SFTPالرقم السري/المفتاح الخاص بـ SCP/SFTPاعداد مستخدم SCP/SFTPتشغيل اوامر تحديث SQL:يحفظحفظ التغييراتوفر الوقتجاري الحفظ...يبحثبحث / استبدال قاعدة البياناتبحث واستبدال قاعدة البيانات فى الموقع (ترحيل)بحث واستبدال ناجحجدول البحث والاستبدال:بحث عنالمفتاح السري:%sيؤمنتثبيت آمن متعدد المواقع وإعداد تقارير متقدمة وغير ذلك الكثير.راجع إرشادات Google حول تسمية الجرافة باتباع هذا الرابط.راجع إرشادات Microsoft حول تسمية الحاويات باتباع هذا الرابط.راجع أيضًا الإصدار المميز من متجرنا.تابع هذه التعليمات أيضا.اختر 'تطبيق ويب "كنوع التطبيق.اختر الملفاتحدد ملفًا لعرض معلومات عنهحدد الملف / المجلد الذي ترغب في استبعادهحدد طريقة لاستبعاد الملفات أو الدلائل من النسخة الاحتياطيةاختر الكلحدد الكل (هذا الموقع)حدد جميع النسخ الاحتياطيةحدد المجلد الذي توجد به الملفات أو الدلائل الفرعية التي ترغب في استبعادهاحدد وجهات التخزين البعيد التي تريد تحميل مجموعة النسخ الاحتياطي هذه إليهاحدد ما تريد نسخه احتياطيًايرسلأرسل نسخة احتياطية إلى موقع آخرإرسال تقرير فقط عندما تكون هناك تحذيرات / أخطاءإرسال التقاريرإرسال نسخ احتياطية مجدولة إلى هذه الوجهة:أرسل هذه النسخة الاحتياطية إلى التخزين البعيدإرسال إلى الموقع:إرسال نسختك الاحتياطية إلى المخزن البعيدإرسال الملفات إلى موقع بعيدالتشفير من جانب الخادمحدد الأوقات المحددة لإنشاء النسخ الاحتياطية أو حذفها.إعداداتإظهار كافة النسخ الاحتياطية ...إظهار الإعدادات المتقدمةإظهار المزيد من النسخ الاحتياطية ...مشاهدة النسخ الاحتياطي الخام وقائمة الملفاتاعرض الخياراتسجل دخولك بواسطة %sاشتراكسنغافورةموقعتم نشر بيانات الموقعتم استلام بيانات الموقعالصفحة الرئيسية للموقع:معلومات الموقعمعلومات عن الموقع:مفتاح الموقعحجم الموقعمقاس:%sميغابايتتخطي هذه الخطوةالجداول التي تم تخطيها:تخطي الجدول%s: تمت استعادته بالفعل على تشغيل سابق ؛ الجدول التالي للاستعادة:%sتخطي الجدول%s: اختار المستخدم عدم استعادة هذا الجدولالتخطي: تمت استعادة هذا الأرشيف بالفعل.لذلك ، للحصول على مفتاح الموقع البعيد ، افتح نافذة "ترحيل الموقع" على هذا الموقع ، وانتقل إلى هذا القسم.لا تستطيع بعض المكونات الإضافية للنسخ الاحتياطي استعادة نسخة احتياطية ، لذلك يسمح لك Premium باستعادة النسخ الاحتياطية من المكونات الإضافية الأخرى.بعض الملفات لاتزال يتم تحميلها او اعدادها - من فضلك انتظر.قدرات متطورة لإعداد التقارير والبريد الإلكتروني.أمريكا الجنوبية (ساو باولو)كارولينا الجنوبيةجنوب شرق آسياجنوب شرق أسترالياتقسيم كل ارشيف:تقسيم الخط لتفاذي الحجم الأقصى للحزماساسيقياسي (وصول غير متكرر)بداية%sالاشتراكبداية%sمحاكمةابدأ الاشتراكبداية تجريبيةبدء%sاشتراك UpdraftVaultبدء النسخ الاحتياطيوقت البدءبدء النسخ الاحتياطي التلقائي ...فئة التخزينالمتجر فىيمكن إلغاء الاشتراكات في أي وقت.نجاحنجاح:نجاح: نجحنا في تسجيل الدخول، وتأكيد قدرتنا على إنشاء ملف في الدليل المعطى (نوع تسجيل الدخول:تعذر العثور على معلومات كافية حول عملية الاستعادة قيد التقدم.الدعم الفنيدعم URLدعم الإضافات الاحتياطية:%sسيدنيسيدني (SYD)الجدول %s بة عدد كبير من الصفوف (%s) - نأمل ان شركة الأستضافة الخاصة بك تعطيك ما يكفى من الموارد لتفريغ هذا الجدول من النسخة الأحتياطة.بادئة الجدوللقد تغير بادئة الجدول: تغيير %s حقل / حقول الجدول وفقا لذلك:فحص الجداول:تايوانقم بجولةخذ نسخة احتياطية جديدةخذ نسخة احتياطية تزايدييستغرق الوقت اللازم لإنشاء نسخة احتياطية وإرسالها.تحديث الفريقاخبرني المزيدأخبرني المزيد عن النسخ الاحتياطية المتزايدةمستأجراختبار %s الإعداداتاختبار الاتصال...اختبار اعدادات %s ...جارٍ اختبار الاتصال ...اختبارات...شكرًا لك على تثبيت UpdraftPlus!شكرا لك على القيام بالجولة.شكراً جزيلاً!أنك تحاول تحميل ملف مضغوط تم إنشاؤه مسبقًا بواسطة UpdraftPlus.انتهى توقيت الإتصال %s، إذا كنت دخلت الملقم بشكل صحيح، إذا فهذا الخطأ عادة ما يكون سببه جدار حماية قد حظر الاتصال - يجب أن تحقق من المشكلة مع شركة استضافة المواقع الخاصة بك.ال%sلم يتم العثور على الكائنتم تعطيل زر "النسخ الاحتياطي الآن" لأن دليل النسخ الاحتياطي غير قابل للكتابة (انتقل إلى علامة التبويب "الإعدادات" وابحث عن الخيار المناسب).يبدو أن مفتاح الوصول إلى AWS خاطئ (صالح%sمفاتيح الوصول تبدأ بـ "AK")تم إغلاق اتصال قاعدة البيانات ولا يمكن إعادة فتحه.يقوم UpdraftPlus Migrator بتعديل عملية الاستعادة بشكل مناسب ، لتلائم بيانات النسخ الاحتياطي للموقع الجديد.وحدة UpdraftPlus لطريقة الوصول للملف (%s) غير مدعومة من قبل الملفات المسرودةمجلد (wp-content) غير موجود البثة بهذا الملف المضغوط.ملحق اشتراك WordPress لأصحاب متاجر WooCommerce.المجلدات أعلاه هي كل شيء، باستثناء مجلدات ووردبريس التي يمكن تحميلها من جديد من WordPress.org.الملفات بالأعلى تشمل جميع ملفات تنصيب الووردبريستم تغيير كلمة مرور المسؤول.تمت الآن إزالة كلمة مرور المسؤول.كمية مقدار الذاكرة (RAM) المسموحة ل PHP قليلة جدا (%s ميجابايت) - يجب عليك زيادتها لتفادى مشاكل قلة الذاكرة (تحدث مع الاستضافة الخاصة بك لمزيد من المساعدة)مقدار الوقت المسموح به لإضافات وورد بالتشغيل منخفض جدا (%s ثانية) - يجب زيادته لتجنب فشل النسخ الاحتياطي (استشر خدمة الزبناء الخاصة بشركة الإستضافة الخاص بك لمزيد من المساعدة - إعدادات max_execution_time PHP، و القيمة الموصى بها هي %s ثانية أو أكثر)فشلت محاولة فتح وقراءة المحتويات من ملف كلمة المرور ؛ يرجى التأكد من أن الملف قابل للقراءة وأنه لا يتم قفله بشكل حصري من خلال عملية أخرىمحاولة ارسال النسخ الأحتياطى عن طريق البريد الألكترونى فشلت (من المحتمل ان يكون ملف النسخ الاحتياطى اكبر من المساحة المسموح بها فى البريد)فشل محاولة التراجع من الضغط المزدوجنجاح محاولة التراجع من الضغط المزدوجالذاكرة المتوفرة على الخادم.محاولة النسخ الإحتياطية تمت، لكن يبدو أنها فشلت.دليل النسخ الاحتياطي غير قابل للكتابة (أو مساحة القرص ممتلئة) - من المتوقع أن تفشل عملية النسخ الاحتياطي لقاعدة البيانات قريبًا.انتهى النسخ الاحتياطي قيد التشغيللم ينتهي النسخ الاحتياطي؛ وتم جدولة الأستئنافتم إحباط النسخ الاحتياطي بسبب الفشل المتكرر في التقدم.سجلات النسخ الاحتياطي لا تحتوي على معلومات عن الحجم الحقيقي لهذا الملف.تم إحباط النسخ الاحتياطيتم إحباط النسخ الاحتياطي من قبل المستخدمالتواصل مع %s كان مشفر.التواصل مع %s كان غير مشفر.يجب أن يبدأ الآن إنشاء بياناتك لإنشاء النسخة.يستخدم النسخ الاحتياطي لقاعدة البيانات ميزات MySQL غير المتوفرة في إصدار MySQL القديم (%s) أن هذا الموقع يعمل عليه.يبدو أن ملف قاعدة البيانات قد تم ضغطه مرتين - نعتقد أن الموقع الذي قمتم بتحميل الملف منه يحمل خادم سيرفر غير مهيء بشكل جيدحجم قاعدة البيانات صغير جدا بالنسبة لقاعدة بيانات ورد بريس صالحة (الحجم: %s ك بايت).مفتاح فك التشفير المستخدم:المجلد غير متوفرالدليل غير موجود ، وفشلت محاولة إنشائهرابط التنزيل معطل أو أن ملف النسخ الاحتياطي لم يعد متاحًارابط التنزيل معطل ، ربما تكون قد نقرت على الرابط من مصدر غير موثوق بهيبدو أن عنوان البريد الإلكتروني المقدم غير صالح ، يرجى إعادة التحقق من عنوان بريدك الإلكتروني مرة أخرى والمحاولة مرة أخرى.المفتاح الذي تم إدخاله لا ينتمي إلى موقع بعيد (إنه ينتمي إلى هذا الموقع).المفتاح الذي تم إدخاله تالف - يرجى المحاولة مرة أخرى.كان طول المفتاح الذي تم إدخاله غير صحيح - يرجى المحاولة مرة أخرى.الخطأ الذى تم التبليغ عنة من %s هو:قاعدة الاستبعاد التي تحاول إضافتها موجودة بالفعلتم رفع الملف.المجلد موجود مسبقا، لكن خادمك لا يملك صلاحية الكتابة عليه.لا يمكن استعادة الكيان التالي تلقائيا: "%s".التخزين البعيد التالي (%s) تم تكوينه جزئيًا فقط ، إذا كنت تواجه مشكلات ، فيمكنك محاولة التفويض يدويًا في صفحة إعدادات UpdraftPlus.التخزين البعيد التالي (%s) تم تكوينه جزئيًا فقط ، التفويض اليدوي غير مدعوم مع وحدة التخزين البعيد هذه ، يرجى المحاولة مرة أخرى وإذا استمرت المشكلة ، فاتصل بالدعم.تم تكوين خيارات التخزين البعيد التالية.لم يتم العثور على الملف المحدد أو تعذرت قراءته.القيمة المعطاة لـ "%s"الخيار غير صالحكلما زادت القيمة ، زادت موارد الخادم المطلوبة لإنشاء الأرشيف.لم يتم اختبار الإصدار المثبت من UpdraftPlus Backup / Restore على إصدارك من WordPress (%s).المفتاح الذي أدخلته غير صالح، أو أنه فاسد.تمت إضافة المفتاح بنجاح.تمت إزالة قائمة المواقع الموجودةيتم تعيين موقع هذا الدليل في إعدادات الخبراء ، في علامة التبويب "الإعدادات".لا يمكن قراءة ملف السجل.تم إرفاق ملف السجل بهذا البريد الإلكتروني.كلمة المرور الخاصة بمستخدم RackSpace هي (هذا لن يظهر مرة أخرى):يتجاوز عدد خيارات الاستعادة التي سيتم إرسالها الحد الأقصى الذي تم تكوينه في تكوين PHP (max_input_vars).ملف كلمة المرور الذي حددته غير موجود ؛ يرجى التحقق من المعلمة --password-file.تم إحباط إعداد بيانات النسخ.فشل الطلب إلى نظام الملفات لإنشاء الدليل.وحدة PHP %s غير منصبة - من فضلك قم بمراسلة شركة الإستضافة لتمكينهاالمطلوب%sلم يتم تثبيت وحدة PHP - اطلب من شركة استضافة الويب الخاصة بك تمكينها.مفتاح RSA للخادم%sبصمة:%s.تم استلام بيانات الموقع بالكامل ، وبدأ استيرادها.لم يتم العثور على الحاوية المحددة.المنطقة الزمنية المستخدمة هى من اعدادات الورد بريس الخاصة بك, في إعدادات -> عام.المكان الآمن والمريح في نهاية المطاف لتخزين النسخ الاحتياطية الخاصة بك.خطا (%s) حدث:اعاد خادم الويب برمز خطأ (حاول مجددا, او قم بالتحقق من سجلات خادم الويب الخاص بك)أعاد محرك zip الرسالة:%s.تصاميمبعد ذلك ، يمكن استخدام بيانات اعتماد الوصول منخفضة الطاقة هذه ، بدلاً من تخزين مفاتيحك الإدارية.لا توجد نقاط استعادة نسخ احتياطي تزايدي متوفرة.حدث خطأ أثناء محاولة إزالة قائمة المواقع الموجودة.لذلك يُنصح بأخذ نسخة احتياطية حديثة على الموقع المصدر ، باستخدام إصدار أحدثلذلك ، لن يتم استبدال الجداول المتأثرة الموجودة بالفعل على الموقع الحالي افتراضيًا ، لتجنب إتلافها (يمكنك مراجعة هذا في قائمة الجداول أدناه).يمكن لهذه الخيارات أن تجعل البيانات الشخصية مجهولة في النسخة الاحتياطية لقاعدة البيانات الخاصة بك.هذه الجداول فقطسيتم استخدام هذه لإنشاء مستخدم جديد وزوج مفاتيح مع سياسة IAM المرفقة والتي ستسمح لها فقط بالوصول إلى الحاوية المشار إليها.هذه النسخة الاحتياطية لموقع يحتوي على بادئة جدول فارغة ، والتي لا يدعمها WordPress رسميًا ؛ قد تكون النتائج غير موثوقة.تحتوي مجموعة النسخ الاحتياطي هذه على نسخ احتياطية تزايديّة لملفاتك ؛ الرجاء تحديد الوقت الذي ترغب في استعادة ملفاتك إليهمجموعة النسخ الاحتياطية هذه خاصة بهذا الموقع ، ولكن في وقت النسخ الاحتياطي الذي كنت تستخدمه%s، بينما يستخدم الموقع الآن%s.لم تكن مجموعة النسخ الاحتياطية هذه معروفة بواسطة UpdraftPlus ليتم إنشاؤها بواسطة تثبيت WordPress الحالي ، ولكن تم العثور عليها إما في التخزين البعيد ، أو تم إرسالها من موقع بعيد.تم خلق النسخة الإحتياطية من طرف %s, ويمكن استيرادها.تم إنشاء هذه النسخة الاحتياطية على إصدار سابق من UpdraftPlus (%s) التي لم تقم بإجراء نسخ احتياطي للجداول بشكل صحيح باستخدام مفاتيح أساسية مركبة (مثل جدول term_relationships الذي يسجل العلامات وسمات المنتج).تم تعطيل هذا الزر لأن دليل النسخ الاحتياطي الخاص بك غير قابل للكتابة (راجع الإعدادات).سيؤدي هذا الزر إلى حذف جميع إعدادات UpdraftPlus ومعلومات التقدم للنسخ الاحتياطية الجارية (ولكن ليس أيًا من النسخ الاحتياطية الحالية من التخزين السحابي).هذا يمكن أن يدمر موقعك بسهولة ؛ لذلك ، استخدمه بعناية!هذا الموقع الحاليهذة النسخة الاحتياطية لقاعدة البيانات تفتقد جداول رئيسية: %sيجب نشر قاعدة البيانات هذه على إصدار MySQL%sأو لاحقا.سيتم محاولة فتح مفتاح التشفير:هذة تبدو كأنها نسخة احتياطية اساسية صالحة للوردبريس - الملف %s كان مفقود.هذه الميزة غير متوافقة مع%sتتطلب هذه الميزة%sإصدار%sأو لاحقالا يمكن تحميل هذا الملفهذا الملف لا نعتقد أنه نسخة احتياطية من UpdraftPlus ( كالملفات المضغوطة بصيغتي .zip أو . gz التي لها أسماء مثل: backup_(time)_(site name)_(code)_(type).(zip|gz)).تم تعطيل هذه الوظيفة من قبل مسؤول الموقع.نسخة الووردبريس هذه تخدم مواقع عديدة (شبكة a.k.a.).هذا عدد من محتويات مجلدات Updraft هذا ضروري إذا ، وفقط إذا كان مفتاح التطبيق الخاص بك هو مفتاح تطبيق خاص بالحاوية (وليس مفتاحًا رئيسيًا)هذه ليست نسخة احتياطية تزايديهذا ليس تسجيل الدخول إلى Azure الخاص بك - راجع الإرشادات إذا كنت بحاجة إلى مزيد من الإرشادات.هذا أقدم من الخادم الذي تستعيده الآن (version%s).هذا أحدث بشكل ملحوظ من الخادم الذي تستعيده الآن (version%s).يحدث هذا أحيانًا بسبب جدار الحماية - حاول إيقاف تشغيل SSL في إعدادات الخبير ، واختبره مرة أخرى.يبدو هذا وكأنه ترحيل (النسخ الاحتياطي من موقع بعنوان / عنوان URL مختلف ،%s).قد يمنع هذا إجراء الاستعادة من القدرة على المتابعة.يعني هذا على الأرجح أنك تشارك خادم ويب مع موقع ويب تم اختراقه تم استخدامه في هجمات سابقة.مجموعة النسخ الأحتياطى متعددة الأرشيف لديها هذة الأرشيفات مفقودة: %sسيؤدي هذا الخيار إلى تخزين الجداول في قاعدة بيانات MySQL والتي لا تنتمي إلى WordPress (يتم تحديدها من خلال افتقارها إلى بادئة WordPress التي تم تكوينها ،%s) ليتم نسخها احتياطيًا أيضًا.تحدث هذه المشكلة بسبب محاولة استعادة قاعدة بيانات على إصدار MySQL قديم جدًا غير متوافق مع قاعدة البيانات المصدر.طريقة التخزين عن بعد هذه (%s) يتطلب PHP%sأو لاحقا.يتم تطبيق هذا الإعداد فقط عند إنشاء حاوية جديدة.هذا الموقع ليس لديه نسخ احتياطية للاستعادة منها حتى الآن.طريقة التخزين هذه لا تسمح بالتنزيلهذه النسخة من UpdraftPlus لا تستطيع التعامل مع نوع النسخ الإحتياطية هذا.سيؤدي هذا أيضًا إلى إظهار إخراج التصحيح من جميع المكونات الإضافية على هذه الشاشة - من فضلك لا تتفاجأ برؤية هذهسيؤدي هذا إلى حذف كافة الإعدادات الخاصة بك UpdraftPlus - هل أنت متأكد أنك تريد المتابعة؟سيؤدي هذا إلى استيراد البيانات من:قم بترتيب الأشياء للعملاء وإزالة جميع الإعلانات الخاصة بمنتجاتنا الأخرى.الساعة الآنالوقت المستغرق (ثانية):الوقت المستغرق:الطابع الزمنيللوصول إلى إعدادات UpdraftPlus ، يرجى إدخال كلمة المرور لفتح القفللإضافة موقع كوجهة للإرسال إليه ، أدخل مفتاح هذا الموقع أدناه.لتتمكن من تعيين اسم مجلد مخصص ، استخدم UpdraftPlus Premium.لتغيير أي من الإعدادات الافتراضية لما تم نسخه احتياطيًا ، ولتكوين النسخ الاحتياطية المجدولة ، ولإرسال النسخ الاحتياطية إلى التخزين البعيد (موصى به) ، والمزيد ، انتقل إلى علامة تبويب الإعدادات.لإكمال المصادقة اليدوية ، في شاشة مصادقة UpdraftPlus البرتقالية ، حدد الخيار "هل تواجه مشكلات في المصادقة؟" رابط ، ثم انسخ والصق الرمز الوارد هنا.لإكمال الترحيل / النسخ ، يجب عليك الآن تسجيل الدخول إلى الموقع البعيد واستعادة مجموعة النسخ الاحتياطي.لإنشاء مستخدم فرعي جديد لـ IAM ومفتاح وصول له حق الوصول إلى هذه المجموعة فقط ، قم بالترقية إلى Premium.لإنشاء مستخدم فرعي ومفتاح API جديد لديه صلاحيات الوصول فقط إلى هذه الحاوية، قم بإستخدام هذه الإضافة.لإنشاء نسخة مؤقتة تحتاج إلى رصيد في حسابك.لإنشاء نسخة مؤقتة ، تحتاج إلى: 1) رصيد في حسابك و 2) للاتصال بحسابك ، أدناه.لإلغاء تفويض UpdraftPlus (جميع المواقع) من الوصول إلى Google Drive ، اتبع هذا الرابط لإعدادات حساب Google الخاص بك.لإصلاح الوقت الذي ينبغي أن تأخذ نسخة احتياطية،لإصلاح هذه المشكلة اذهب هنا.لاستيراد مجموعة نسخ احتياطي ، انتقل إلى قسم "النسخ الاحتياطية الموجودة" في علامة التبويب "النسخ الاحتياطي / الاستعادة"يتطلب استيراد موقع WordPress عادي إلى تثبيت متعدد المواقع%s.للحفاظ على ولوجك للدعم الفني، من فضلك جدد اشتراكك.لعمل نسخة احتياطية ، فقط اضغط على زر النسخ الاحتياطي الآن.لقراءة الأسئلة الشائعة / الوثائق حول UpdraftClone ، انتقل هنا.للحفاظ على ولوجك للتحديثات (من ضمنها التحديثات المستقبلية والتوافق مع نسخ ووردبريس المستقبلية) والدعم الفني، من فضلك جدد اشتراكك. لاستعادة الوصول الخاصة بك، يرجى تجديد اشتراكك.لإزالة أي كتلة ، يرجى الذهاب هنا.لإزالة الكتلة ، يرجى الذهاب هنا.للحفاظ على ولوجك لخدماتنا المدفوعة (من ضمنها التحديثات المستقبلية والتوافق مع نسخ ووردبريس المستقبلية) والدعم الفني، من فضلك جدد اشتراكك.لأرسال الى اكثر من عنوان واحد, قم بوضع فاصلة بين كل عنوان.لاستخدام هذه النسخة الاحتياطية ، يحتاج خادم قاعدة البيانات لديك إلى دعم ملف%sمجموعة الأحرف.طوكيوحدثت أخطاء كثيرة جدًا في قاعدة البيانات - إحباطالإجمالي (غير مضغوط) على قرص البيانات:إجمالي حجم النسخ الاحتياطي:ولكن لتجنب التهديدات على مستوى الخادم ، قم بالنسخ الاحتياطي بانتظام إلى التخزين السحابي البعيد في%sالإعدادات%sلبدء استخدام UpdraftVault ، حدد أحد الخيارات أدناه:مشكلة في الاتصال؟ حاول استخدام طريقة بديلة في خيارات الأمان المتقدمة.جرب UpdraftVault لمدة شهر واحد مقابل دولار واحد فقط!جرب UpdraftVault!جربه - شهر واحد مقابل $1!اعادة المحاولة...تويتراكتب بادئة الملفاكتب امتدادًا مثل zipالمملكة المتحدةالولايات المتحدة (افتراضى)شرق الولايات المتحدة (فرجينيا الشمالية) (افتراضي)شرق الولايات المتحدة (أوهايو)حكومة الولايات المتحدة الغربية (مقيدة)غرب الولايات المتحدة (شمال كاليفورنيا)غرب الولايات المتحدة (أوريغون)سحابة الولايات المتحدة او المملكة المتحدةحساب الولايات المتحدة أو بريطانيا راك سبيسحساب Rackspace بالولايات المتحدة أو المملكة المتحدةتعذر الحصول على تاريخ التجديدغير قادر على فتح ملف مضغوط (%s) - لا يمكن القيام بالفحص للتحقق من سلامتة.غير قادر على قراءة الملف المضغوط (%s) - لم يمكن فحصه للتأكد من سلامتة.تحت الصيانةاستجابة غير متوقعة:استعادة غير مكتملةالولايات المتحدةغير معروفاستجابة الخادم غير معروفة:استجابة الملقم غير معروف:خطأ غير معروف / غير متوقع - يرجى رفع طلب دعمما لم تكن لديك مشكلة ، يمكنك تجاهل كل شيء هنا تمامًا.الغاء القفلتفريغ النسخ الاحتياطي ...تقدم فك الضغط:%dبعيدا عن المكان%dملفاتتحديث عدد الحصة النسبيةUpdraft VaultUpdraftCentralUpdraftCentral Cloudيعد UpdraftCentral وسيلة فعالة للغاية لإدارة وتحديث ونسخ مواقع ويب متعددة من مكان واحد.تم إنشاء مفتاح UpdraftCentral:صورة UpdraftClone:مطلوب مفتاح UpdraftClone.أوبدرافت بلسUpdraftPlus - تحميل ملفات النسخ الاحتياطياضافات UpdraftPlusUpdraftPlus النسخ الأحتياطى التلقائىنسخ الإحتياطية UpdraftPlusمدونة UpdraftPlus - احصل على آخر الأخبار والعروضيقوم UpdraftPlus Migrator باستنساخ موقع WordPress الخاص بك ونقله إلى مجال جديد بشكل مباشر وبسيط.أخبار UpdraftPlusأوبدرافت بلس النشرة الإخباريةUpdraftPlus بريميومUpdraftPlus Premium والإضافاتيحتوي UpdraftPlus Premium على العديد من الميزات المثيرة!UpdraftPlus بريميوم:استعادة UpdraftPlusاسترجاع UpdraftPlus: تقدمدعم UpdraftPlusجولة UpdraftPlusلدى UpdraftPlus خيار التخزين المدمج الخاص به ، مما يوفر طريقة خالية من المتاعب لتنزيل جميع النسخ الاحتياطية وتخزينها وإدارتها من مكان واحد.UpdraftPlus لم يتم تنشيطة حتى الأن.لم يتم تثبيت UpdraftPlus حتى الآن.UpdraftPlus موجود على وسائل التواصل الاجتماعي - تحقق من موقعنا!UpdraftPlus يحتاج لأنشاء %s فى دليل محتوى موقعك, لكنة فشل - من فضلك قم بالتحقق من الصلاحيات وقم بتفعيلها (%s)إشعار UpdraftPlusإشعار UpdraftPlus :UpdraftPlus على%sإعدادات UpdraftPlusإعدادات تسجيل دخول المستخدم المؤقتة UpdraftPlus:تحذير UpdraftPlus :UpdraftPlus غير قادر على العثور على بادئة الجدول عند فحص النسخة الاحتياطية لقاعدة البيانات.شروط وسياسات حساب UpdraftPlus.Comرد UpdraftPlus.Com، ولكننا لم نفهم الإستجابةلا يمكن فهم إستجابة الموقع UpdraftPlus.Com (البيانات: %s)رد UpdraftPlus.Com، ولكننا لم نفهم الإستجابة استجاب موقع UpdraftPlus.com بـ "تم رفض الوصول".UpdraftVaultUpdraftVault هو التخزين البعيد الخاص بنا والذي يعمل بسلاسة مع UpdraftPlus.تخزين UpdraftVaultتحديث الآنتحميلتحميل نسخة احتياطيةرفع ملفات النسخة الإحتياطيةخطأ فى الرفعخطأ التحميل:توقع فشل التحميل: ملف%sالحد الأقصى لأي ملف واحد هو%s، بينما هذا الملف هو%sغيغابايت (%dبايت)فشل التحميلتحميل الملفات إلى UpdraftPlus.تحميلها على:أوتحميل الملفات للمخزن البعيدالملفات المرفوعةURL الخاص بالتحميلات:استخدام SCP بدلا من SFTPاستخدم ctrl / cmd + اضغط لتحديد عدة عناصر ، أو ctrl / cmd + shift + اضغط لتحديد الكل بينهااستخدام قسم "التقارير" لتكوين عناوين البريد الإلكتروني ليتم استخدامها.استخدام شهادات SSL للملقماستخدم هذا الخيار لإرسال نسخ احتياطية من قاعدة البيانات فقط عند الإرسال إلى البريد الإلكتروني ، وتخطي المكونات الأخرى.اسم المستخدماسم المستخدم: %sمالك Vaultالتحققالتحقق من كلمة المرور لمرة واحدة ...الإصدارسجل عرضسجل عرضأسلوب المضيف الظاهريWP CLIأوامر WP-CLI لأخذ النسخ الاحتياطية وإدراجها وحذفها.دعم WP-CLIبرجاء الأنتظار حتى الوقت المحدد لأعادة المحاولة بسبب الأخطاءتحذيرتحذير:تحذير: %sتحذير: إذا كان لا يزال بإمكانك قراءة هذه الكلمات بعد انتهاء تحميل الصفحة ، فهناك مشكلة في JavaScript أو jQuery في الموقع.تحذير: ليس لديك رموز استنساخ متبقية ولا توجد اشتراكات أو لا اشتراك سيتم تجديده قبل تاريخ انتهاء صلاحية النسخ.تحذير: عنوان URL الرئيسي لقاعدة البيانات (%s) يختلف عما توقعناه (%s)تحذير: رابط موقع قواعد البيانات (%s) يختلف عن ما كنا نتوقعة (%s)تحذيراتمصادفة تحذيرات:تحذيرات:هل كانت هذه نسخة احتياطية تم إنشاؤها بواسطة مكون إضافي احتياطي مختلف؟ إذا كان الأمر كذلك ، فقد تحتاج أولاً إلى إعادة تسميته حتى يمكن التعرف عليه - يرجى اتباع هذا الرابط.نحن وصلنا الى الباكت, وتمكنا من انشاء الملفات داخلها.تم الوصول إلى الحاوية، ويمكننا إنشاء ملف داخلها فشلنا في الاتصال بنجاح إلى UpdraftPlus.Comطلبنا حذف الملف ، لكننا لم نستطع فهم استجابة الخادمتم الوصول بنجاح الى الباكت. ولكن محاولة انشاء الملف فشلت.خادم الويب:مساحة القرص لخادم الويب قيد الاستخدام من قبل UpdraftPlusرابط WEBDAVأسبوعيامرحبًا بك في UpdraftPlusمرحبًا بك في UpdraftPlus!مرحبًا بك في UpdraftClone (استنساخ مؤقت)أحسنت صنعًا - ليس هناك ما هو مطلوب للإعداد.أوروبا الغربيةغرب الولايات المتحدةعند تمكين طريقة تخزين البريد الإلكتروني ، وإدخال عنوان بريد إلكتروني ، قم أيضًا بإرسال النسخة الاحتياطيةحيث لتغير الدليل الى بعد تسجيل الدخول - غالبا ما يكون هذا هو نسبة الى الدليل الرئيسى الخاص بك.الموقع الذي تريد استعادتهالذي تم تصديره على:لماذا أرى هذا؟مسح الإعداداتباستخدام UpdraftPlus Premium ، يمكنك اختيار النسخ الاحتياطي للجداول بخلاف WordPress ، والنسخ الاحتياطي للجداول المحددة فقط ، والنسخ الاحتياطي لقواعد البيانات الأخرى أيضًا.باستخدام UpdraftPlus Premium ، يمكنك تنزيل الملفات الفردية مباشرةً من هنا.بدون ذلك, التشفير سيكون ابطأ بكثير.بدون هذا الإذن ، لا يمكن لـ UpdraftPlus حذف النسخ الاحتياطية - يجب عليك أيضًا تعيين إعدادات "الاحتفاظ" لديك عالية جدًا لمنع رؤية أخطاء الحذف.بدون هذا الإذن ، لا يمكنك التنزيل أو الاستعادة مباشرةً باستخدام UpdraftPlus ، وستحتاج بدلاً من ذلك إلى زيارة موقع ويب AWS.عند عدم الترقية، سيقوم UpdraftPlus بالسماح لكل مدير بالمدونة بالتعديل على خيارات الإضافة للخسن الإحتياطي (وبالتالي الوصول للبيانات، بما في ذلك كلمات السر) وإستعادة (مع امكانية التعديل، مثال: كلمات السر) الشبكة بالكامل.ملحقات WooCommerceنسخ ووردريس احتياطيالب الووردبريسيتم دعم WordPress Multisite ، مع ميزات إضافية ، بواسطة UpdraftPlus Premium.اكتمال عملية النسخ الإحتياطي للووردبريسووردبريس الأساسيةأساسيات ووردبريس (بما في ذلك أية إضافات لدليل ووردبريس الخاص بك)نواة ووردبريس (فقط)قاعدة بيانات WordPressتم تثبيت ووردبريستم تثبيت WordPress ؛ الآن في انتظار بيانات الموقع ليتم إرسالها.مسار جذر الوردبريس فى الخادم: %sنعمأنت تستخدم حاليًا الإصدار المجاني من UpdraftPlus.أنت الآن تستخدم حساب مستخدم IAM للوصول إلى الحاوية الخاصة بك.انت حاليا متصل بحسابك فى UpdraftPlus.Com.أنك حاليا غير متصل بحسابك فى UpdraftPlus.Com.انت تعمل على وردبريس متعدد المواقع - لكن النسخة الأحتياطية الخاص بك ليست لموقع متعدد المواقع.أنت تستخدم ملف%sخادم الويب ، ولكن لا يبدو أنه يحتوي على امتداد%sوحدة محملة.يمكنك أيضًا إغلاق هذا المعالج.يمكنك شراء رموز UpdraftClone المميزة من متجرنا هنا.يمكنك شراء المزيد من رموز النسخ المؤقتة هنا.يمكنك التحقق من التقدم هنا أو في%sيمكنك اختيار مجموعة أحرف مناسبة أخرى بدلاً من ذلك ومتابعة الاستعادة على مسؤوليتك الخاصة.يمكنك اختيار ترتيب آخر مناسب بدلاً من ذلك ومتابعة الاستعادة (على مسؤوليتك الخاصة).يمكنك إدخال مسار أي%sالمجلد الظاهري الذي ترغب في استخدامه هنا.يمكنك معرفة المزيد عن استنساخ المفاتيح هنا.يمكنك العثور على معلومات الاستنساخ المؤقتة الخاصة بك في حساب updraftplus.com الخاص بك هنا.يمكنك منع تسجيل دخول غير المسؤولين إلى هذا الموقع المستنسخ عن طريق تحديد خانة الاختيار أدناهيمكنك الحصول على المزيد من الحصة هنايمكنك فك تشفير قاعدة البيانات المشفرة يدويًا هنا.يمكنك أن ترسل نسخة احتياطية لأكثر من جهة واحدة مع الإضافة.يمكنك اختبار تشغيل موقعك على إصدار PHP مختلف (أو WordPress) باستخدام أرصدة UpdraftClone.يمكنك اختبار ترقية موقعك على نسخة فورية باستخدام أرصدة UpdraftCloneيمكنك عرض السجل بالضغط على الزر "عرض السجل".ليس لديك حق الوصول إلى هذه المجموعةليس لديك حق الوصول إلى هذه المجموعة.لا تمتلك إضافة UpdraftPlus %s - نوصيك بتحميلها من %sعلى ما يبدو انة لديك المكون الأضافى Updraft مثبت - ربما تم تثبيتة بطريقة خاطئة؟لقد أدخلت عنوان بريد إلكتروني لم يتعرف عليه UpdraftPlus.Comلديك شراء غير فعاللديك عملية استعادة غير مكتملة ، بدأت%sمنذ.لقد اخترت إجراء نسخ احتياطي لقاعدة البيانات ، ولكن لم يتم تحديد أي جداوللقد اخترت نسخ الملفات احتياطيًا ، ولكن لم يتم تحديد أي كيانات للملفاتلقد اخترت إرسال هذه النسخة الاحتياطية إلى وحدة التخزين عن بُعد ، ولكن لم يتم تحديد مواقع تخزين بعيدةلقد قمت بإجراء تغييرات على الإعدادات الخاصة بك ، ولم يتم حفظها.لم تقم بتحديد مسار استعادة للنسخ الاحتياطية التي اخترتهاحتى الأن انت غير متصل بحسابك فى UpdraftPlus.Com, لتتمكن من استخدام الأضافات اللتى قمت بشرائها.لم تقم بعد بالاتصال بحسابك على UpdraftPlus.Com.لم تقم بعمل أي نسخ احتياطية حتى الآن.لم تقم بعد بتحديد ملف لاستيراده.لقد وصلت إلى الحد اليومي لعدد النسخ الاحتياطية المتزايدة التي يمكنك إنشاؤها في هذا الوقت.لقد وصلت إلى الحد الشهري لعدد النسخ الاحتياطية التي يمكنك إنشاؤها في هذا الوقت.لقد طلبت الحفظ في التخزين البعيد (%s) ، ولكن دون إدخال أي إعدادات لذلك التخزين.لقد حددت خيار التخزين البعيد الذي يحتوي على خطوة تفويض لإكمالها:يجب إضافة ما يلي كأذن لإعادة توجيه URI (تحت "خيارات أخرى") عندما تسأليجب عليك إضافة ما يلي باعتباره URI المعتمد لإعادة التوجيه في وحدة تحكم Dropbox (ضمن "إعدادات واجهة برمجة التطبيقات") عند مطالبتك بذلكيجب عليك إضافة ما يلي باعتباره URI المعتمد لإعادة التوجيه (ضمن "المزيد من الخيارات") عندما يُطلب منك ذلكيجب عليك إضافة ما يلي باعتباره URI المعتمد لإعادة التوجيه في وحدة تحكم OneDrive (ضمن "إعدادات واجهة برمجة التطبيقات") عند مطالبتك بذلكيجب نسخ هذا المفتاح ولصقه على موقع الإرسال الآن - لا يمكن عرضه مرة أخرى.يجب عليك إدخال معرّف المشروع حتى تتمكن من إنشاء حاوية جديدة.يجب عليك الحفظ والمصادقة قبل أن تتمكن من اختبار الإعدادات الخاصة بك.يجب تحديد وجهة تخزين بعيدة واحدة على الأقل لتحميل مجموعة النسخ الاحتياطية هذه إليها.يجب عليك ترقية MySQL لتتمكن من استخدام قاعدة البيانات هذه.يجب عليك استخدام اسم مجموعة فريد للجميع%sالمستخدمين.يجب عليك استخدام أحرف صغيرة أو أرقام لمسار الموقع فقط.تحتاج إلى الاتصال لتلقي التحديثات المستقبلية لـ UpdraftPlus.تحتاج إلى إدخال دلوتحتاج إلى إدخال حاويةتحتاج إلى إدخال اسم مستخدم IAM جديدتحتاج إلى إدخال اسم مستخدم جديدتحتاج إلى إدخال عنوان بريد إلكتروني صالح جديدتحتاج إلى إدخال مفتاح API المشرفتحتاج إلى إدخال مفتاح وصول المسؤولتحتاج إلى إدخال مفتاح سر المسؤولتحتاج إلى إدخال اسم مستخدم مشرفتحتاج إلى إعادة المصادقة مع %s، معلومات الاعتماد الموجودة لديك لا تعمل.تحتاج إلى قراءة بيانات UpdraftCentral Cloud وسياسات الخصوصية وقبولها قبل أن تتمكن من المتابعة.تحتاج إلى تقديم عنوان بريد إلكتروني وكلمة مرورلقد حددت%sليتم تضمينها في الاستعادة - لا يمكن / لا يجب القيام بذلك عند استيراد موقع واحد إلى شبكة.يجب عليك نسخ جميع الجداول احتياطيًا إلا إذا كنت خبيرًا في الأجزاء الداخلية لقاعدة بيانات WordPress.يجب عليك التحقق من أن الموقع البعيد متصل بالإنترنت ، وليس بجدار ناري ، ولا يحتوي على وحدات أمان قد تمنع الوصول ، ولديه إصدار UpdraftPlus%sأو نشطًا لاحقًا وأن المفاتيح قد تم إدخالها بشكل صحيح.يجب عليك التحقق من أذونات الملف في تركيب وورد الخاص بكيجب عليك تمكين%sلعمل أي روابط ثابتة جميلة (على سبيل المثال%s) الشغليجب أن تتأكد من أن هذه مجموعة نسخ احتياطي مخصصة للاستخدام على موقع الويب هذا ، قبل الاستعادة (بدلاً من مجموعة نسخ احتياطي لموقع ويب غير ذي صلة).يجب عليك حفظ التغييرات للتأكد من استخدامها لعمل النسخة الاحتياطية.يجب عليك تحديث UpdraftPlus للتأكد من أن لديك إصدارًا تم اختبار توافقه.لقد نجحت في تسجيل الدخول إلى UpdraftPlus وربطت هذا الموقع بـ UpdraftCentral Cloud.لقد قمت بتسجيل الدخول بنجاح إلى UpdraftPlus.Com وقمت بتوصيل هذا المكون الإضافي بحسابكلقد اشتريت UpdraftPremium بنجاح.ستجد المزيد من المعلومات حول هذا في قسم الإعدادات.سوف تحتاج إلى مطالبة شركة استضافة الويب الخاصة بك بالترقيةستحتاج إلى التشاور مع مزود استضافة الويب الخاص بك لمعرفة كيفية تعيين الأذونات لمكوِّن WordPress الإضافي للكتابة إلى الدليل.سوف تحتاج إلى استعادته يدويا.كنت قد حصلت عليهاسم الحساب %s الخاص بك: %sنسبة %s تدفق البيانات المخصص لك: %s %% مستخدمة، %s متوفرةلك%sإصدار:%s.عنوان IP الخاص بك:لا يزال UpdraftClone قيد الإعداد.يحتوي تثبيت WordPress الخاص بك على أدلة قديمة من حالته قبل استعادتها / ترحيلها (المعلومات الفنية: هذه مُلحقة بـ -old).تمت استعادة النسخ الاحتياطي.مجموعة الأحرف التي اخترتها لاستخدامها بدلاً من ذلك:الترتيب البديل الذي اخترتهلقد بدأ الاستنساخ الخاص بك وسيكون متاحًا على عناوين URL التالية بمجرد أن يصبح جاهزًا.لقد بدأ الاستنساخ الخاص بك ، معلومات الشبكة ليست متاحة بعد ولكن سيتم عرضها هنا وعلى حساب updraftplus.com الخاص بك بمجرد أن يصبح جاهزًا.ستنشر نسختك الآن هذه البيانات لإعادة إنشاء موقعك.سيتم تجديد نسختك في:مستخدم قاعدة البيانات ليس لديه إذن لإسقاط الجداوللم يتم التعرف على عنوان البريد الإلكتروني وكلمة المرور عن طريق UpdraftPlus.Comكان عنوان بريدك الإلكتروني صالحًا ، ولكن لم يتعرف UpdraftPlus.Com على كلمة مرورك.سيتم إرسال نسخة احتياطية من بريدك الإلكتروني وتقرير إلىسيكون ملف التصدير الخاص بك من الإعدادات المعروضة ، وليس الإعدادات المحفوظة.أول نسخة احتياطية لكالمساحة الحرة على القرص الخاص بك منخفضة جدا - فقط متبقى %s ميجابايتالمساحة الحرة فى حساب الاستضافة الخاص بك قليلة جدا - فقط متبقى %s ميجا بايتشركة الإستضافة لموقعك يجب أن تُفعل هذه الوضائف %s قبل أن نتمكن من العمليسمح لك مزود الاستضافة الخاص بك بأخذ نسخة احتياطية واحدة كل شهر.يسمح لك موفر الاستضافة الخاص بك بأخذ نسخة احتياطية إضافية واحدة في اليوم.التسمية الخاصة بك لهذه النسخة الاحتياطية (اختياري)للدخول يجب ادخال إما الرقم السري أو المفتاح، وليس كلاهما.مفتاحك الجديد:وصولك المدفوع للدعم الفني بـ UpdraftPlus انتهت صلاحيته.وصولك المدفوع للدعم الفني الخاص بـ UpdraftPlus اقتربت نهاية صلاحيته.وصولك المدفوع لتحديثات UpdraftPlus على %s إضافة بهذا الموقع انتهت صلاحيته.وصولك المدفوع لتحديثات UpdraftPlus على %s إضافة بهذا الموقع اقتربت نهاية صلاحيته.وصولك المدفوع لتحديثات UpdraftPlus بهذا الموقع اقتربت نهاية صلاحيته.تؤثر إعداداتك المحفوظة أيضًا على ما يتم نسخه احتياطيًا - مثل الملفات المستبعدة.تم حفظ إعداداتك.تم القضاء على الإعدادات الخاصة بك.سيتم استخدام عنوان البريد الإلكتروني الخاص بالمشرف (%s).الإصدار: %sخادمك يحمل خدمة safe_mode للـ PHP مفعلة.نسخة PHP المنصبة تحمل هذه الوظائف الغير مفعلة: %sخادم الويب الخاص بك ليس بة الوحدة %s مثبتة.موقعك يستخدم %s من خادم الويب.تتم استضافة موقع الويب الخاص بك مع%s(%s).زوار موقع الويب الخاص بك و UpdraftPlus فى كثير من الأحيان لا يحصلون على الموارد التى يأملونها; من فضلك اقرأ هذة الصفحة:المسار الخاص بمحتوى wp-content على السيرفر هو: %sيتم إجراء محاولة ثانية (عند حدوث فشل إضافي ، سيتم تخطيها)تنشيطة على هذا الموقعخيارات متقدمةقد فعلتتم تحميله بالفعلوالاحتفاظ بهذه النسخ الاحتياطية المجدولةفي أي مكان في أسمائهمأرشيففي بداية أسمائهمفي نهاية أسمائهمالمصادقة URIخطأ مصادقةالمصادقة فشلتفشل التفويض:الى الخلفالنسخ الاحتياطي تلقائيًا عند تحديث المكونات الإضافية أو السمات أو النواةبواسطةاحسبحساب ...تحقق من السجل الخاص بك لمزيد من التفاصيل.فشل الرفعقم بتكوينه هناوعاءعدأوراق اعتمادفشلت محاولة الاتصال بقاعدة البياناتفشلت محاولة الاتصال بقاعدة البيانات.اسم قاعدة البياناتيومأيام)لم ترسل الاستجابة المتوقعة - تحقق من ملف السجل الخاص بك لمزيد من التفاصيلرفض الإشعارالتحميل: فشل: الملف غير موجودعلى سبيل المثال%sعلى سبيل المثال إذا كان الملقم مشغول في اليوم وتريد تشغيله فجأةترحيل موقعك بسهولة أو استنساخه في دقائقخادم FTP مشفر (تشفير واضح)خادم FTP مشفر (تشفير غير واضح)خيارات التخزين عن بعد المحسنةخطأ - فشل في إنشاء الحاوية والوصول إليهاخطأ - فشل في إعادة تجميع القطعخطأ - فشل تحميل الملفخطأ:%s(انظر ملف السجل للمزيد)خطأ: فشل فى رفع الملف الى %s (انظر السجل لمزيد من التفاصيل)%s خطأ: تم اختصار الملف %s بشكل غير متوقعفشل في الوصول إلى المجلد الأصلفشل في قائمة الملفاتفشل تحميل الملف إلى%s(انظر ملف السجل للمزيد)أسرع (إمكانية تثبيت PHP بطيء)ملفملف%dل%dحجم الملف:ملفات:%sمجلداتبع هذا الرابط للحصول عليهاذهب الى هنااذهب هنا لتغيير كلمة المرور الخاصة بك على updraftplus.com.اذهب هنا كي تتعلم المزيديعالج التحديثات تلقائيًا كما تريدهاهنايستضيفاسم المضيفساعات)يدويإذا تم مطابقة جميع الشروط التالية:إذا تم مطابقة أي من الشروط التالية:في الشهربما في ذلك أي كلمات مرورنسخ احتياطي تزايدي؛ قاعدة النسخ الاحتياطي:%sيكونليسمفتاحاسم المفتاحالنشاط الاخير:%dمنذ ثوانىآخر نشاط: منذ %ssآخرنتائج تسجيل وحدة التحكمتسجيل الدخولفشل تسجيل الدخولتدبيريدير جميع مواقع WordPress الخاصة بك مرة واحدة من مكان واحدقد تتضمن بعض البيانات على مستوى الموقعأكثرمزيد من المعلوماتموقع متعدد المناطقالاستئناف التالي:%dلم يتم العثور على أي خيارات أو جدول sitemetaلا آخر الزوار؛ سيقدم الاستئناف بعد:%dثوانيصورة الإشعاريتم الآن متابعة التحديثات ...على كل نسخة احتياطيةاضغط هنا لتتمكن من مشاهدة خيارات اضافية، لا ترعج نفسك بهذه الخيارات إلا إذا واجهت مشاكل.اختياريأو (الخصم السنوي)أو لتكوين جداول أكثر تعقيدًاأو الاستعادة يدويًاأو، لإعادة هذا الخيارمحتوى آخر من محتوى wpكلمة السر الرقم السري/المفتاحيرجى اتباع هذا الرابط لتحديث البرنامج المساعد من أجل تفعيلهيرجى اتباع هذا الرابط لتحديث البرنامج المساعد من أجل الحصول عليهفضلا انتظر محاولة إعادة الجدولةالإضافاتاضغط هنااقرا المزيد من%sموصى بهتحديثخادم FTP غير مشفر اعتياديتم حذف الملفات البعيدةموقع بعيدمطلوب لبعض موفري التخزين البعيدإعادة تعييناستعادةالصفوف: %dالبحث والاستبدالمصطلح البحثتأمين النسخ الاحتياطية الخاصة بكإعداداتاظهار معلومات PHP التالى (phpinfo)عرض السجلالموقع غير موجودتم تخطيه (ليس في القائمة)أبطأ ، أقوىبعض / المسارابتداء من المرة القادمة انهاتوقفالجدول: %sالجداولالنموذج غير موجودادارة استعلام قاعدة البيانات كانت في:لم يتم العثور على جدول الخياراتالبرنامج المساعد الاحتياطي الأكثر موثوقية في العالم!الثيماتمجموعات النسخ الاحتياطي هذههذه الشخصياتمجموعة النسخ الاحتياطي هذهسياسة الخصوصية هذهلأخذ نسخ احتياطية تزايديتم إجراء محاولتين فاشلتين لتضمينه ، وسيتم حذفه الآن من النسخة الاحتياطيةمصدر غير معروفلعمل نسخة احتياطية بسيطة على الخادم الخاص بك ، اضغط على هذا الزر. أو لإعداد النسخ الاحتياطية العادية والتخزين عن بُعد ، انتقل إلى%sالإعدادات%s%s الرفع (%s): إعادة تجميع الملفات التي فشل رفعها (انظر السجل لمزيد من التفاصيل)التحميل فشلاستخدم UpdraftPlus Premiumمستخدماسم المستخدمأسبوع (أسابيع)إستعادة على النحو التالي:مع خيار تم المصادقة على %s حسابكلديك حساب %s مصادق عليه.ستحتاج إلى استخدام البحث أدناه واستبدال موقع الموقع في قاعدة البيانات (ترحيل) للبحث / استبدال عنوان الموقع.يفتقر تثبيت PHP إلى وحدة openssl ؛ نتيجة لذلك ، قد يستغرق ذلك دقائق ؛ إذا لم يحدث شيء بحلول ذلك الوقت ، فعليك إما تجربة حجم مفتاح أصغر ، أو سؤال شركة استضافة الويب الخاصة بك عن كيفية تمكين وحدة PHP هذه في الإعداد الخاص بك.حسابك في UpdraftPlus.comعنوان مسؤول موقعكوجد ملف مضغوط قابل للتنفيذ:languages/updraftplus-eu.po000064400001131774147400355670012063 0ustar00# Translation of UpdraftPlus in Basque # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2021-04-05 14:32:49+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: eu_ES\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "Erosi %s" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "Eskuratu %s zure UpdraftPlus Dendatik" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "Klon-erregioa:" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "joan hara" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "Jadanik berritu baduzu, lizentzia bat esleitu beharko diozu gune honi: %s." #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "Autentikazioa" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "Gutxienez urruneko biltegiratze-helburu bat hautatu behar duzu babeskopia sorta hau bertan kargatzeko." #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "Irakurri gehiago Eguneraketa Errazen Kudeatzaileari buruz" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "Klon-giltzei buruzko informazio gehiago aurki dezakezu hemen." #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "Edo erabili UpdraftClone giltza bat" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "SET NAMES %s aurkitu dira, baina %s-ra aldatzen, honako honek hala iradokita: WPDB::determine_charset()." #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "UpdraftClone gakoa behar da." #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "Abortatu da klon-datuen prestaketa." #: src/addons/azure.php:705 msgid "Azure Government" msgstr "Azure gobernua" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "Eskatu WordPress-i automatikoki eguneratzeko UpdraftPlus eguneraketa erabilgarri bat aurkitzen duenean." #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "Eguneraketa automatikoak" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "Zure datu-baseko erabiltzaileak ez du baimenik taulak eraisteko" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "Eskatu WordPress-i automatikoki eguneratzeko UpdraftPlus eguneraketa bat erabilgarri dagoenean" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "Eskatzen zaizunean, ondokoa gehitu behar duzu baimendutako berbideratze-URI gisa (\"Aukera gehiago\" atalean)" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "Frankfurt" #: src/addons/googlecloud.php:61 msgid "London" msgstr "Londres" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "Belgika" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "Sydney" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "Singapur" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "Tokio" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "Taiwan" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "Oregon" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "Ipar Virginia" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "Hego Carolina" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "Iowa" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "Berretsi aldaketa" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "Gehitu kanpoan uzteko arau bat" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "Idatzi fitxategi-aurrizki bat" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "Karaktere horiekin hasten diren fitxategi guztiak" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "Idatzi luzapen bat, hala nola zip" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "Hautetu fitxategi/karpeta bat zeina kanpoan utzi nahi zenukeen" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "Emandako karaktereekin hasten diren fitxategi guztiak" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "Luzapen hori duten fitxategi guztiak" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "Fitxategia/direktorioa" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "Hautatu era bat fitxategiak edo direktorioak babeskopitik kanpo uzteko" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "Utzi kanpoan fitxategiak/direktorioak" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "UpdraftClone-ri buruzko FAQ/dokumentazioa irakurtzeko, joan hona." #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "zure UpdraftPlus.com kontua" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "Progresioa egiaztatu ahal duzu hemen edo %s-(e)n" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "Zure UpdraftClone oraindik ari da konfiguratzen." #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "%s fitxategi geratzen dira" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "Guneko datu guztiak jaso dira, eta haien inportazioa hasi da." #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "WordPress instalatu da; orain itxaroten noiz bidaliko diren guneko datuak." #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "Klona prest" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "Guneko datuak desplegatu dira" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "Guneko datuak desplegatzen" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "Guneko datuak jaso dira" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "Guneko datak jasotzen" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "WordPress instalatu da" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "Zure klona hasi da; sareko informazioa oraindik ez dago erabilgarri, baina prest dagoenean ikusgai egongo da hemen eta updraftplus.com-en duzun kontuan." #: src/admin.php:4330 msgid "Exclude these from" msgstr "Utzi horiek hemendik kanpo" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "Gehitu nahi duzun kanpoan uzteko araua dagoeneko existitzen da" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "Idatzi fitxategi-izenaren baliozko aurrizki bat" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "Kanpoan utzi nahi duzun fitxategi-izena zein karakterez hasten den, eta horiexek idatzi" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "beheko bilatu eta ordeztu gune-kokapena erabil dezakezu datubasean (migratu) gunearen helbidea bilatze/ordezte aldera." #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "Gehitu beste %s kontu bat..." #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "Ezabatu ezarpen hauek" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "Une honetan desgaituta" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "Une honetan gaituta" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "UpdraftPlus.com gunetik erosi baduzu, jarraitu esteka honi instalazioaren jarraibideak ikusteko (bereziki, 1. urratsa)." #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "Une honetan UpdraftPlus-en doako bertsioa erabiltzen ari zara." #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "Eskuratu hemen" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "urruneko gunea" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "Perrail-izen baliogabea" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "Eskatutako taula-tartekatzea (%1$s) ez dago presente - honetara aldatzen: %2$s." msgstr[1] "Eskatutako taula-tartekatzeak (%1$s) ez daude presente - honetara aldatzen: %2$s." #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "Aukeratu duzun ordezko tartekatzea" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "Bestela, egokia den beste tartekatze bat aukera dezakezu, eta leheneratzearekin jarraitu (zeure ardurapean)." #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "WordPress-eko gune hau darabilen datubasearen zerbitzariak ez du onartzen inportatu nahi duzun datubasean erabilitako tartekatzea (%s)." msgstr[1] "WordPress-eko gune hau darabilen datubase-zerbitzariak ez ditu onartzen inportatu nahi duzun datubasean erabilitako tartekatze multipleak (%s)." #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "Datubasea leheneratzeko aukerak:" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "Honek migrazio itxura du (helbide/URL desberdina duen gune batena da babeskopia, %s)." #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "%s aurrizkia" #: src/addons/azure.php:696 msgid "%s Container" msgstr "%s edukiontzia" #: src/addons/azure.php:694 msgid "%s Key" msgstr "%s giltza" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "%s kontu-izena" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "Hasi saioa" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Zure ezarpenak gorde dira." #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "Gordetzen..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Baztertu" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "Ezarpenak" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "Luzapenak" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "Gunea" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Euskarria" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Kontuz:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Itxi" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Aldaketak gorde" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Arazketa modua" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Bat ere ez" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "E-posta" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Ezabatu" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Ez" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Bai" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Errorea:" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Datu-basea" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Bertsioa" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "Garatzaile nagusiaren etxeko orria" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Zure ezarpenak garbitu dira." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "Babeskopia-direktorioa ondo sortu da." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "Ezin izan da babeskopia-direktorioa sortu" #: src/admin.php:3888 msgid "Remove old directories" msgstr "Kendu direktorio zaharrak" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Itzuli UpdraftPlus-en konfiguraziora" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Ekintzak" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "Fitxategi-izenaren formatua ez da zuzena. Ez du ematen UpdraftPlus-ek sortutako datubase-fitxategi enkriptatua." #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Fitxategi-izenaren formatua ez da zuzena. Ez du ematen UpdraftPlus-ek sortutako fitxategia." #: src/admin.php:2631 msgid "No local copy present." msgstr "Ez dago presente kopia lokalik." #: src/admin.php:2628 msgid "Download in progress" msgstr "Deskarga arian da" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "Fitxategia prest dago." #: src/admin.php:2598 msgid "Download failed" msgstr "Deskargak huts egin du" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Errorea" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "Ezin izan da lan hori aurkitu. Dagoeneko amaitu da, agian?" #: src/admin.php:2335 msgid "Job deleted" msgstr "Lana ezabatu da" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Oraindik ez da ezer erregistratu" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Mesedez, kontsultatu FAQ hau babeskopia egiteko arazorik izanez gero." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "Zure webgunea %s web-zerbitzariarekin dago ostatatuta." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Gaztigua" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Ezarpenak" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Etengabeko errekurtsioa: kontsultatu erregistro-fitxategia informazio gehiagorako." #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Fitxategia ez da aurkitu" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "Erabilitako dekriptazio-giltza: " #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "Ezin izan da babeskopia-fitxategia idazteko ireki" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "Ezin izan da direktorioa irakurri" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "Babeskopia-direktorioa (%s) ez da idazgarria edo ez da existitzen." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "WordPress-en babeskopia burutu da" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "Babeskopia-saioa burutu da; dirudienez, ez da behar bezala gauzatu" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Beste" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Kargatzeak" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Itxurak" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Pluginak" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "Ez da erregistro-fitxategirik aurkitu." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "Ezin izan da erregistro fitxategia irakurri." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "UpdraftPlus-en abisua:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "UpdraftPlus-en babeskopiak"languages/updraftplus-hi_IN.po000064400001121342147400355670012426 0ustar00# Translation of UpdraftPlus in Hindi # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2016-06-09 09:21:11+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: hi_IN\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "की सिफारिश की" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "लॉग इन" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "रोक" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "सहेजा जा रहा... " #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "ख़ारिज" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "सेटिंग्स" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "एक्सटेंशन" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "नहीं स्थापित" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "ट्विटर" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "फ़ाइल" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "सहायता" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "चेतावनी:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "बंद" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "सूचना:" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "पासवर्ड" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "यूज़रनेम" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "सफलता" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "बदलाव सहेजें" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "कैंसिल करें \t" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "कोई नहीं " #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "मासिक" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "साप्ताहिक" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "प्रतिदिन " #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "हटाएँ" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "नहीं" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "हाँ" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "मल्टीसाइट" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "संस्करण " #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "चेतावनी" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "सेटिंग" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "प्लगिन्स" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-eu.mo000064400000027736147400355670012061 0ustar00t    , )F )p  T M [ j | 9 % & K _`     : *9 d          ! 6 < B I c v    Q % 6RBy9I] bn 8%LOr$#  4<Q Zdi:+$=={3>Y7o)19AJg;{8(g,[U&d!:?z/ y   531i$g^( B)%*[Po$ -9HM:_1!  $ E T \ r       %  !#!,!E!\!hs! !%! "J"wf"R"1#I#N#"^####&# # # ## $1$8$E>$/$W$ %9%O%e%%$!&F& V&>c&F& &&&' ' 8' F'P'W'B^'' (>(,)#F)=j))U)A*H*N*V*!t**** ***+! +,+JC++>+0+l,=o,l,f-0-"--?n...6. / '/2/ A/vK//%s Account Name%s Container%s Key%s Prefix%s archives remainActionsAdd an exclusion ruleAdd another %s account...All files beginning with given charactersAll files beginning with these charactersAll files with this extensionAsk WordPress to automatically update UpdraftPlus when it finds an available update.Ask WordPress to update UpdraftPlus automatically when an update is availableAuthenticationAutomatic updatesAzure GovernmentBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory successfully created.Bad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBelgiumBuy %sClone readyClone region:CloseConfirm changeCould not find that job - perhaps it has already finished?Could not open the backup file for writingCould not read the directoryCurrently disabledCurrently enabledDatabaseDatabase restoration options:Debug modeDeleteDelete these settingsDeploying site dataDismissDownload failedDownload in progressEmailErrorError:Exclude files/directoriesExclude these fromExtensionsFacebookFile not foundFile ready.File/directoryFound SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset().FrankfurtGet %s from the UpdraftPlus.com StoreGet it hereIf you have already renewed, then you need to allocate a licence to this site - %sIf you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1).Infinite recursion: consult your log for more informationInvalid bucket nameIowaJob deletedLead developer's homepageLondonNoNo local copy present.No log files were found.NoneNorth VirginiaNothing yet loggedOr, use an UpdraftClone keyOregonOthersPlease consult this FAQ if you have problems backing up.Please enter a valid file name prefixPlease enter characters that begin the filename which you would like to excludePluginsRead more about Easy Updates ManagerReceiving site dataRemove old directoriesRequested table collation (%1$s) is not present - changing to %2$s.Requested table collations (%1$s) are not present - changing to %2$s.Return to UpdraftPlus ConfigurationSave ChangesSaving...Select a file/folder which you would like to excludeSelect a way to exclude files or directories from the backupSettingsSingaporeSiteSite data has been deployedSite data receivedSouth CarolinaSupportSydneyTaiwanThe backup attempt has finished, apparently unsuccessfullyThe database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import.The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import.The decryption key used:The exclusion rule which you are trying to add already existsThe log file could not be read.The preparation of the clone data has been aborted.The site data has all been received, and its import has begun.ThemesThis looks like a migration (the backup is from a site with a different address/URL, %s).To read FAQs/documentation about UpdraftClone, go here.TokyoTwitterType a file prefixType an extension like zipUpdraftClone key is required.UpdraftPlus BackupsUpdraftPlus notice:UploadsVersionWarningWarning:WordPress backup is completeWordPress installedWordPress installed; now awaiting the site data to be sent.YesYou are currently using the free version of UpdraftPlus.You can check the progress here or in %sYou can choose another suitable collation instead and continue with the restoration (at your own risk).You can find out more about clone keys here.You must add the following as the authorized redirect URI (under "More Options") when askedYou must select at least one remote storage destination to upload this backup set to.Your UpdraftClone is still setting up.Your chosen replacement collationYour clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready.Your database user does not have permission to drop tablesYour settings have been saved.Your settings have been wiped.Your website is hosted using the %s web server.go hereloginremote sitesettingsyou will want to use below search and replace site location in the database (migrate) to search/replace the site address.your UpdraftPlus.com accountPO-Revision-Date: 2021-04-05 14:32:49+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: eu_ES Project-Id-Version: UpdraftPlus %s kontu-izena%s edukiontzia%s giltza%s aurrizkia%s fitxategi geratzen diraEkintzakGehitu kanpoan uzteko arau batGehitu beste %s kontu bat...Emandako karaktereekin hasten diren fitxategi guztiakKaraktere horiekin hasten diren fitxategi guztiakLuzapen hori duten fitxategi guztiakEskatu WordPress-i automatikoki eguneratzeko UpdraftPlus eguneraketa erabilgarri bat aurkitzen duenean.Eskatu WordPress-i automatikoki eguneratzeko UpdraftPlus eguneraketa bat erabilgarri dagoeneanAutentikazioaEguneraketa automatikoakAzure gobernuaBabeskopia-direktorioa (%s) ez da idazgarria edo ez da existitzen.Ezin izan da babeskopia-direktorioa sortuBabeskopia-direktorioa ondo sortu da.Fitxategi-izenaren formatua ez da zuzena. Ez du ematen UpdraftPlus-ek sortutako fitxategia.Fitxategi-izenaren formatua ez da zuzena. Ez du ematen UpdraftPlus-ek sortutako datubase-fitxategi enkriptatua.BelgikaErosi %sKlona prestKlon-erregioa:ItxiBerretsi aldaketaEzin izan da lan hori aurkitu. Dagoeneko amaitu da, agian?Ezin izan da babeskopia-fitxategia idazteko irekiEzin izan da direktorioa irakurriUne honetan desgaitutaUne honetan gaitutaDatu-baseaDatubasea leheneratzeko aukerak:Arazketa moduaEzabatuEzabatu ezarpen hauekGuneko datuak desplegatzenBaztertuDeskargak huts egin duDeskarga arian daE-postaErroreaErrorea:Utzi kanpoan fitxategiak/direktorioakUtzi horiek hemendik kanpoLuzapenakFacebookFitxategia ez da aurkituFitxategia prest dago.Fitxategia/direktorioaSET NAMES %s aurkitu dira, baina %s-ra aldatzen, honako honek hala iradokita: WPDB::determine_charset().FrankfurtEskuratu %s zure UpdraftPlus DendatikEskuratu hemenJadanik berritu baduzu, lizentzia bat esleitu beharko diozu gune honi: %s.UpdraftPlus.com gunetik erosi baduzu, jarraitu esteka honi instalazioaren jarraibideak ikusteko (bereziki, 1. urratsa).Etengabeko errekurtsioa: kontsultatu erregistro-fitxategia informazio gehiagorako.Perrail-izen baliogabeaIowaLana ezabatu daGaratzaile nagusiaren etxeko orriaLondresEzEz dago presente kopia lokalik.Ez da erregistro-fitxategirik aurkitu.Bat ere ezIpar VirginiaOraindik ez da ezer erregistratuEdo erabili UpdraftClone giltza batOregonBesteMesedez, kontsultatu FAQ hau babeskopia egiteko arazorik izanez gero.Idatzi fitxategi-izenaren baliozko aurrizki batKanpoan utzi nahi duzun fitxategi-izena zein karakterez hasten den, eta horiexek idatziPluginakIrakurri gehiago Eguneraketa Errazen Kudeatzaileari buruzGuneko datak jasotzenKendu direktorio zaharrakEskatutako taula-tartekatzea (%1$s) ez dago presente - honetara aldatzen: %2$s.Eskatutako taula-tartekatzeak (%1$s) ez daude presente - honetara aldatzen: %2$s.Itzuli UpdraftPlus-en konfigurazioraAldaketak gordeGordetzen...Hautetu fitxategi/karpeta bat zeina kanpoan utzi nahi zenukeenHautatu era bat fitxategiak edo direktorioak babeskopitik kanpo uztekoEzarpenakSingapurGuneaGuneko datuak desplegatu diraGuneko datuak jaso diraHego CarolinaEuskarriaSydneyTaiwanBabeskopia-saioa burutu da; dirudienez, ez da behar bezala gauzatuWordPress-eko gune hau darabilen datubasearen zerbitzariak ez du onartzen inportatu nahi duzun datubasean erabilitako tartekatzea (%s).WordPress-eko gune hau darabilen datubase-zerbitzariak ez ditu onartzen inportatu nahi duzun datubasean erabilitako tartekatze multipleak (%s).Erabilitako dekriptazio-giltza: Gehitu nahi duzun kanpoan uzteko araua dagoeneko existitzen daEzin izan da erregistro fitxategia irakurri.Abortatu da klon-datuen prestaketa.Guneko datu guztiak jaso dira, eta haien inportazioa hasi da.ItxurakHonek migrazio itxura du (helbide/URL desberdina duen gune batena da babeskopia, %s).UpdraftClone-ri buruzko FAQ/dokumentazioa irakurtzeko, joan hona.TokioTwitterIdatzi fitxategi-aurrizki batIdatzi luzapen bat, hala nola zipUpdraftClone gakoa behar da.UpdraftPlus-en babeskopiakUpdraftPlus-en abisua:KargatzeakBertsioaGaztiguaKontuz:WordPress-en babeskopia burutu daWordPress instalatu daWordPress instalatu da; orain itxaroten noiz bidaliko diren guneko datuak.BaiUne honetan UpdraftPlus-en doako bertsioa erabiltzen ari zara.Progresioa egiaztatu ahal duzu hemen edo %s-(e)nBestela, egokia den beste tartekatze bat aukera dezakezu, eta leheneratzearekin jarraitu (zeure ardurapean).Klon-giltzei buruzko informazio gehiago aurki dezakezu hemen.Eskatzen zaizunean, ondokoa gehitu behar duzu baimendutako berbideratze-URI gisa ("Aukera gehiago" atalean)Gutxienez urruneko biltegiratze-helburu bat hautatu behar duzu babeskopia sorta hau bertan kargatzeko.Zure UpdraftClone oraindik ari da konfiguratzen.Aukeratu duzun ordezko tartekatzeaZure klona hasi da; sareko informazioa oraindik ez dago erabilgarri, baina prest dagoenean ikusgai egongo da hemen eta updraftplus.com-en duzun kontuan.Zure datu-baseko erabiltzaileak ez du baimenik taulak eraistekoZure ezarpenak gorde dira.Zure ezarpenak garbitu dira.Zure webgunea %s web-zerbitzariarekin dago ostatatuta.joan haraHasi saioaurruneko guneaEzarpenakbeheko bilatu eta ordeztu gune-kokapena erabil dezakezu datubasean (migratu) gunearen helbidea bilatze/ordezte aldera.zure UpdraftPlus.com kontualanguages/updraftplus-vi.po000064400001141274147400355670012064 0ustar00# Translation of UpdraftPlus in Vietnamese # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2024-07-17 04:25:21+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: GlotPress/3.0.0\n" "Language: vi_VN\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "tệp %d của %d" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "Bạn chưa có mã số truy cập sử dụng một lần của Google - bạn cần phải xác minh hoặc xác minh lại kết nối của bạn với Google Cloud." #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "Đăng nhập với %s" #: src/admin.php:3822 msgid "(after %ss)" msgstr "(còn %ss)" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "Quay trở lại sau: %d" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "Cài đặt công cụ gỡ rối:" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "ABSPATH cũ:" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "Đã có bản cập nhật mới cho UpdraftPlus - vui lòng đăng nhập tại đây để truy cập." #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "đã đăng" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "Hãy xem UpdraftPlus Premium." #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "Để sử dụng nhiều tính năng hơn, hãy sử dụng bản Premium." #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "Xem thêm bản Premium của chúng tôi." #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "ở cuối tên của họ" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "bất kỳ nơi nào trong tên của họ" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "ở đầu tên của họ" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "những ký tự này" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "Không bao giờ" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "Để sau" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "Được, bạn xứng đáng nhận nó." #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "chức năng SQL hiện tại:" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "hình ảnh UpdraftClone:" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "Kiểu đường dẫn" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "Để sử dụng nhiều tính năng hơn, hãy dùng bản Premium" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "Hoàn thành quy trình xác minh" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "%s mã xác thực:" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "Để hoàn thành quá trình tự xác nhận, ở trang màu xác nhận cam của UpdraftPlus, hãy chọn đường dẫn \"Đang có vấn đề khi xác minh?\", và copy và dán mã được cung cấp vào đây." #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "Nếu bạn có vấn đề khi xác minh với %s, bạn có thể tự xác minh ở đây." #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "%s xác minh:" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "bởi" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "Nhóm Updarft" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "Xóa danh sách dữ liệu của những trang đang tồn tại" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "Thiếu dữ liệu xác minh:" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "Chọn Files" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "Sao lưu đang dùng %s?" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "chậm hơn, mạnh nhất" #: src/addons/migrator.php:559 msgid "recommended" msgstr "khuyến nghị" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "%s bytes" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "%s bits" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "đăng nhập" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "(bấm vào biểu tượng để chọn hoặc bỏ chọn)" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "Các sao lưu đã bị hủy bỏ bởi người sử dụng" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Cài đặt của bạn đã được lưu." #: src/admin.php:4515 msgid "Total backup size:" msgstr "Tổng kích thước sao lưu:" #: src/admin.php:3878 msgid "stop" msgstr "dừng lại" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "Làm sạch cài đặt" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "thiết lập lại" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "các bản sao lưu" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "tính toán" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "Vui lòng nhập một URL hợp lệ" #: src/admin.php:976 msgid "Saving..." msgstr "Đang lưu..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "Lỗi: máy chủ gửi cho chúng tôi hồi đáp mà chúng tôi không hiểu." #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Bỏ qua" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "Vui lòng điền vào các thông tin cần thiết." #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "Đang bỏ qua: kho lưu trữ này đã được phục hồi." #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "Tùy chọn tập tin" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "cài đặt" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "Tải về" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "Bạn đã chọn tập tin sao lưu, nhưng không có thực thể tập tin đã được chọn" #: src/admin.php:772 msgid "Extensions" msgstr "Phần mở rộng" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "Công cụ nâng cao" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Chưa cài đặt" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "Bạn có chắc chắn rằng bạn muốn loại bỏ %s khỏi UpdraftPlus?" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "Bỏ chọn" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "Chọn tất cả" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "Đang xử lý..." #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "Cập nhật số lượng hạn ngạch" #: src/admin.php:981 msgid "Counting..." msgstr "Đang đếm..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "Đang ngắt kết nối..." #: src/admin.php:978 msgid "Connecting..." msgstr "Đang kết nối..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "Ngắt kết nối" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "Bản sao lưu gửi đến trang web từ xa - không có sẵn để tải về." #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "Đang kiểm tra kết nối..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "Đang xóa..." #: src/admin.php:991 msgid "key name" msgstr "tên khóa" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "Đang tạo..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "Gửi" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "Gửi đến trang web:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "Thêm trang web" #: src/admin.php:983 msgid "Adding..." msgstr "Đang thêm..." #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "Bạn đã làm thay đổi cài đặt của bạn, và không được lưu." #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus Premium" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "Bỏ qua (%s tháng)" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "hoặc" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "Tự thiết lập" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "Tự động sao lưu trước khi cập nhật" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "Xem báo cáo" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "Sao lưu dữ liệu (bấm vào để tải về)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "Ngày sao lưu" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "tên bản sao lưu (tùy chọn)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "Địa chỉ email của bạn đã nhập không thể tìm thấy trên UpdfraftPlus.Com" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "Địa chỉ email hợp lệ, nhưng mật khẩu không thể tìm thấy trên UpdraftPlus.Com" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "Bạn sẽ cần cả địa chỉ email và mật khẩu" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "Nếu bạn muốn sao lưu nhiều trang, bạn nên cài đặt bộ cài WordPess như là một dạng nhiều trang." #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "đã xong." #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "bỏ qua (không có trong danh sách)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "Ô tìm kiếm và thay thế " #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "nhập một danh sách ngăn cách bởi dấu phẩy, nếu không để trống các ô khác." #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "chỉ những ô" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "hàng mỗi một lượt" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "bạn chưa kết nối với tài khoản UpdraftPlus.Com" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "bạn cần kết nối để nhận những bản cập nhật trong tương lai từ UpdraftPlus" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "Bất kì yêu cầu hỗ trợ nào để làm với %s cần được đưa lên với công ty lưu trữ web (web hosting )" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "Đây là một bản mới hơn hẳn so với trên nhà cung cấp, cái mà bạn đang phục hồi đến (phiên bản %s)." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "Bắt đầu sao lưu" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "Tập tin này không thể tải lên" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "Giới hạn bộ nhớ" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "Mỗi %s giờ" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "Bạn chưa thực hiện bất kỳ bản sao lưu." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "Tùy chọn cơ sở dữ liệu" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s đã sử dụng)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "Để thực hiện một bản sao lưu, chỉ cần nhấn nút Sao Lưu Ngay" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "Chào mừng đến UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "Cơ sở dữ liệu bên ngoài (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "Cơ sở dữ liệu bên ngoài" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "Gọi" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "Chìa khóa" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "Bản sao lưu tập tin (được tạo ra bởi %s)" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "Bản sao lưu tập tin và cơ sở dữ liệu WordPress (được tạo ra bởi %s)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "Bản sao lưu được tạo bởi: %s." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "Cơ sở dữ liệu (được tạo ra bởi %s)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "nguồn không rõ" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Tải lên tập tin sao lưu" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "Bản sao lưu này đã được tạo ra bởi %s, Và có thể được nhập khẩu." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "Nếu đây là một bản sao lưu được tạo ra bởi một plugin sao lưu khác, Khi đó UpdraftPlus Premium có thể giúp bạn." #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "Tuy nhiên, Lưu trữ UpdraftPlus là tiêu chuẩn tập tin zip/SQL - vì vậy nếu bạn chắc chắn rằng tập tin của bạn có định dạng phù hợp, sau đó bạn có thể đổi tên nó để phù hợp với mô hình đó." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "Tập tin này sẽ không xuất hiện để có một bản sao lưu UpdraftPlus (tập tin như vậy là .zip hoặc .gz trong đó có tên như:. backup_ (thời gian) _ (tên trang web) _ (code) _ (loại) (zip | gz) )." #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "Tạo" #: src/admin.php:925 msgid "Trying..." msgstr "Đang thử lại..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "Dữ liệu lỗi:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "các tập tin: %s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "Đã tải lên:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "Kết nối" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "Sao lưu: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "Tập tin báo cáo đã được đính kèm vào email này." #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "Đang báo cáo" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "Gửi một báo cáo chỉ khi có cảnh báo/lỗi" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "Thả các tập tin sao lưu ở đây" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(Chưa xong)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "Sao lưu hoàn thành" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "Đang chờ đến thời gian dự kiến để thử lại bởi vì lỗi gặp phải" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "Đang tải tập tin đến kho lưu trữ từ xa" #: src/admin.php:3803 msgid "Encrypted database" msgstr "Đã mã hóa cơ sở dữ liệu" #: src/admin.php:3795 msgid "Encrypting database" msgstr "Đang mã hóa cơ sở dữ liệu" #: src/admin.php:3769 msgid "Created database backup" msgstr "Đã tạo bản sao lưu cơ sở dữ liệu" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "Đang tạo bản sao lưu cơ sở dữ liệu" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "Đã tạo tập tin sao lưu zip" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "Đang tạo tập tin sao lưu zip" #: src/admin.php:3706 msgid "Backup begun" msgstr "Bắt đầu sao lưu" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "Tiến hành cập nhật" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Hỗ trợ" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "An toàn với một bản sao lưu tự động" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "Tập tin đã được tải lên." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "Tình trạng máy chủ không phản hồi:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "Máy chủ không phản hồi:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "Nhấn vào liên kết này để tải tập tin cơ sở dữ liệu về máy tính của bạn." #: src/admin.php:955 msgid "Upload error" msgstr "Lỗi tải lên" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "Lỗi tải lên:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(hãy chắc chắn rằng bạn đã cố gắng để tải lên một tập tin zip trước đó được tạo ra bởi UpdraftPlus)" #: src/admin.php:943 msgid "Download to your computer" msgstr "Tải về máy tính của bạn" #: src/admin.php:942 msgid "Delete from your web server" msgstr "Xóa từ máy chủ web của bạn" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "Cảnh báo:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "Lỗi: máy chủ gửi một phản hồi trống." #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "Tập tin (%s) đã được tìm thấy, nhưng có kích thước khác (%s) từ những gì đã được dự kiến ​​(%s) - nó có thể đã bị hỏng." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "Tập tin đã được tìm thấy, nhưng là số không nhỏ (bạn cần phải tải nó lên lại): %s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "Tập tin không tìm thấy (bạn cần phải tải nó): %s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "Lịch sử sao lưu thô" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "Đang xử lý các tập tin - vui lòng đợi..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "Tới đây để biết thêm thông tin." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "Một số tập tin vẫn đang tải về hoặc đang được xử lý - vui lòng đợi." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "Lỗi: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "Cảnh báo gặp phải:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Cảnh báo:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Đóng" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "Thông tin PHP" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "Hiện thông tin PHP (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "Bộ sao lưu không tìm thấy" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "Chú ý" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "Lỗi gặp phải:" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "Đang bắt đầu tìm kiếm thực thể này" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "Lỗi:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "Ghi chú:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Tài khoản" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "Thất bại: Không có %s được đưa ra." #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "Thông báo lỗi" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "Xóa bản sao lưu này" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Lưu thay đổi" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Chế độ kiểm tra sửa lỗi" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Hủy" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Không mục nào" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "Email" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Hằng tháng" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "Mỗi tháng hai lần" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Hằng tuần" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Hằng ngày" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "Tải về tập tin báo cáo" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Xóa" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "Điều này sẽ xóa tất cả cài đặt UpdraftPlus của bạn - bạn có chắc bạn muốn làm điều này?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "đếm" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Tổng số dữ liệu trên đĩa (không nén):" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Không" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Có" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "%s phiên bản:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "Máy chủ web:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Nhiều trang" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s tùy chọn phục hồi:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "Bạn sẽ cần phải khôi phục lại nó bằng tay." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Chọn các thành phần để khôi phục" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Khôi phục bản sao lưu" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "Tải về lỗi: máy chủ gửi cho chúng tôi hồi đáp mà chúng tôi không hiểu." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Lỗi:" #: src/admin.php:927 msgid "calculating..." msgstr "Đang tính..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - Tải lên tập tin sao lưu" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "làm mới" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Trình duyệt web Opera" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "Nhiều nhiệm vụ:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "Tải về tập tin báo cáo thay đổi mới nhất" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Báo cáo thay đổi mới nhất" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Khôi Phục" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "Sao Lưu Ngay" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Cơ sở dữ liệu" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "Cảnh báo JavaScript" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Xóa thư mục cũ" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "Bản sao lưu của bạn đã được khôi phục." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Phiên bản" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Các cài đặt của bạn đã được xóa." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Quay trở lại UpdraftPlus" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Tác vụ" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Định dạng sai tên tập tin - điều này không giống như tập tin được tạo bởi UpdraftPlus" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "Tiến trình tải về" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "Tập tin sẵn sàng." #: src/admin.php:2598 msgid "Download failed" msgstr "Tải về thất bại" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Lỗi" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "Công việc đã xóa" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Vui lòng tham khảo FAQ nếu bạn gặp vấn đề sao lưu." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Cảnh báo" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Thiết lập" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-fr_CA.po000064400001120073147400355670012412 0ustar00# Translation of UpdraftPlus in French (Canada) # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: +0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: fr_CA\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "" #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-sr_RS.po000064400001120714147400355670012472 0ustar00# Translation of UpdraftPlus in Serbian # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2021-04-05 14:31:33+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);\n" "X-Generator: GlotPress/3.0.0\n" "Language: sr_RS\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "Пријава" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Vaše postavke su sačuvane." #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "зауставити" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "Čuvanje..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Odbaciti" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "podešavanja" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Nije instaliran" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Подршка" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Упозорење:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Сачувајте промене" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Верзија" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Подешавања" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-es_AR.mo000064400000620664147400355670012440 0ustar00 9rrNr8lrurs 2sSs fsSsss sss# t0tKt Rt\t rttttttttuuu#3u Wu)du'u uKu #v 0vKz*]zzz*zAzW{Iv{&{8{ | 0| >|L|_|f|m||}+)~tU~%~'~#@<E}3C P\ do ]/ȁ lh]Ƃ΂ h b)m%#%:Tk|ZK ?0Iz ̅ gg`'))9c!Dm V`o#~}^ <)7ɋ88U7[ƌE"khTԍu)8*؎CbGRK"Il12?-)?W_RoJɒْ9>34r ͓'  9OTdM $66["ʕ- 1P]bq62!i ˗ ٗ c} 5Ę6 1 ?L;]Ù  9%W1}>6&%+Lx Λܛ(G- u 8Ӝ")LJ]EK_Sxv  &D L V,c͡  ->GE -Ƣ5*m-OE 1?\y !9ܥ2M9&= Z d r ~ D '3G]x!T!&;Dck"z3.ѩ<=)Eo)Ū  ūҫd%LrǬ:<(Y*/ݭ 9 ?GfY6H  !!ۯ3 #@d,}İ ߰  3@Sek )ٱ7?R %Ѳ +6)Lv}ѳ *6J S`u#E  **GrL5εնG"<_()$I1n:P۸J,w(׹"T+_05:]@i/DNMAD޼N#"rO  #?N^4q55ܾ.AP`<1n7N#Tx 1 ,-4<q x )H/Ax* [bi|: .=L_n }, !1J Zew 9 *#K&o3-!>)[G%%*7-b<~PZ[*/F&)F(p&!?^" c  B4w* @ )=3PX &>3@r -*1:Zcj%WKjNa1;MHR7Z#A~a9"\4zgDJ\= Q Z[    +b7% % *,WZbs" )/Y)k% 7 zzz+Z.fmFAFw=8kZ0MR`,_5sK3|Y\VRERL~C$]yELG zTn=>|!10: k%x##  *6IJ9 !+W?=&$?+d1" Q-):%W} D/F WUb&],R G:*+)V( F%"< _mE'  * 6 CM8c  .A IT&j  !$ +5GXqwas| +D[o  ! $0^J?9 Go`M50N'5Nbs|7,d /OPRX*t ;?*jBK\^sgY*kH M;*"<C\ ly  T ( (9 Mb % + % !( 8J H '  / #= %a O " "  (; 3d ? ; 6 \K @ ; >%?d;3r=' $9Qg ["! +/@p !  JSkr $# !;&] 4@#>b"v5  $P-~ F+>E \ i=sC@A'=eb{6  6->l{6,@1+' 74#l#\9B|    )0:J @@! Fb +  1  !*'!4R!<! !!!]!LW""""1" #+%#"Q# t#%###,# $$&$;$P$n$$$ $$$$ $$$% % %"%1%MA%<%,%l%hf&B&2'E'`'o'''1'''(('( :($F( k( x(( ((+(((r(Vg)) ))) )* *A*** ** +:&+ a+ n+&{++++++ +%,+,J,O],,c--K.?Q.r.V/I[/B/x/@a0$0(0012ce32353#24:V4o456!5?X5Q55"6($6,M6Bz6q6/7I77+90:I:Af:E:P:m?;J;/;8(<a<=<{<9=NP=<==>4G?3|?0?S?j5@;@@+@R(A{A-ALAzBZB3B= CW^CXC(D>8D#wDPDADu.EPE(EFf%F9FEF_ GlGBH_HqHHt|IoIaJ3 K?KYLmL8MHM9ZM@M&MPM&MN,tNNN?lO=O9Om$P!PMPLQZOQgQYRBlRoRPSpS$T9T=T-U.LUS{U~URNVVIVWW &W 2WEZ<ZiZ{W[4[\X%\O~\1\3]74]l]$]$^$:^_^E^OC__1_"__z`|`U a)_aaa aaaaa ab$b3bSbkb|bb bbLbL-czccc cccc9dEAddd"dd dddg ereee e!eeff13faeffffg4"gWglg!gggg!Wh!yh.hhRieiyii0iiRi*9jAdjLjCj37k kkKxkk kk kk l lf)l ll lZl!%mGm Om\mftmHm!$n_Fnn n n nnnno oo1%oWo7fooo ooApKpKqbqkq qq@)rCjr4rOrS3s s+s ssss.t2/tbtqt[t^tBuXuou uuOv,jvv,wwxxxNxNykyIzyyyy;z(=zfz8jz;z[zO;{T{M{.|4N|-|(|i|gD}E},}S~Ss~~4~@dYN7 %E&kDZ׀G2z;FԁHid6΂<kB="+c;YeV_[s[tTWGAU67<ĈC=E$ +".%Q%w#Rf7{a5SnAQjZ`Y*B@9%J p~-őڑ&̒Z)y!Tœ<:F>V.ܕI U4gGDC)Mm%V 84F9{P_GfH25h5yD6/+$[v)H!j &ٜ3F[q>˝ Ν؝   2< B"N#q K *@2,s##ğ1$:_!}:)ڠ#38*l   ¡ɡ3 .6ej oy//ˢ # DGNR[y £7ɣ !+A&U;| "Ťhaj&֥ E ?P' ˦ ۦ  **U [gp ˧ԧ 3 8BI!\~)ȨϨ]2:+ ft&ƪ'y{ȬOĭJ _i! ZȮ# :HQ)l  Ư )!;]y1װ )+B$nS RV_#p  ˲ ٲ[A._&4ɳ@Z :[;,ĵڵ  2ɶ.5Aw-gзV8E:ո2CL[m{ 1P$'83`FXۼ74$lL ޽  !#7GZX߾%8#^Z*261,Er'0 6 Rm`W &<3p# ! +B\dqW>a55& ,3P`x*;L5^x4,PA@0#AT$5J7<itGd&UvJX1Lv"RT*AlEJ`8uFwTmr:W@K**BlYf-K/a:' "11c(xd#M&F L Ye t >'S{Z>B!XzK. )9cvJ+9\>T-2Q"q%=[O G#""Fi$z1`]F%Vh!vt.-  <-j~$  @Ro[8HLP;C .'I#qF(%+Q $  E O ]h yM&:S(m 'e*E p# !D6B7y ,! ''Em}, ? J U_r|,#4#X |#>%+E<q7 DN[^0;  $/#7%[;#$4%;a |     $2;P***$'DL.+0 * <]q+"1Ti ~ +"S* ~ +2`.,X!F7 ~.T%$,U^QF &4F{5(j[uc )07bK:P"gyM^at45&j'` / 4A v  ! 9 7 9; 2u    L K : U ([   A  34;7p (4/KE{A,-0c^ ?CW`s =3 P^m& 'BV[z W(3',[%<9#Nr>.\2]'-6:"X{DalT+#FO*241F$xAbBJekrz V"y7R-@:IH(&%6{\BF1x F#  # %. T ] %e * c M!h!!Aj"D"Y"K## n$7$q$c9%a%D%,D&;q&j&A'ZZ'\'( /(T9(( ))#!)*E)p)y)!))y)-9*g*x**'***"*+ +++K+d+++++++, ,+",N,*],6, , ,H, "-x0-v-z ...$..4}/2///j0t{0H0C91w}1~1gt2c2z@3R3a4^p4O45/5}6Q66ke7`7X28N8@89{9P:]o::EQ;D;;j<M<;== =A > L>KZ><>#>'?#/? S? ^?j?]??G?&C@ j@ @@t@"A=AVArACwA:A!A+B2DB"wBBBB BBZBOXCC-C%C4DPD'`D D&DeD=#EaE sE~EE/FKF?FG)-GnWGQG,H-EHsH7HH H5H-I.5IdIzIXII5J:J"RJuJJ JJ?JJ! K/KKK TKuKKKK KK/K&L ?LLL dL qL*~L(L LLL>MPMMNo+OdO P PP/PEPbPwPPPPP3P# Q /Qe)e/f>@fPf,f<fo:gcg=hALhOhAh6 iqWiEi'j7j?jFjbjjjjjj"j%k,7kdkl5l-l#&mAJmmm m*mm nn'nI+zjPDLKF4={5[fKE!+cF'>ҥ[mj4]BpէdF2Kި'*YR>v(z}F'AniY֬0Bڭfk\-!OqE:s RS %`T&۳9!<^? 1M:"BfeZ̶k'w\ Ihc;eG:G33U@X̼ %XF ʽٽOc8Kпy3=2hp8p*wXL7YS705+f.9uk?!(avGce(  %19W w5'&:Up0,ccR -#BIf@ -"J m{%E#] '%F qS! @+l&'(5&QW^s6; JE?3 Vh~h!y $f$! -$-?Oj:qF   &0^b^ - GUA9S3RS h=v ,:*euqX,~V@e%?eWz J"9m2Nb-UqQX&>,$=ZbcR!HtTt"7Gu*^??^G~ZZ!|9TK&zr>J,iw453YiXtch^us` GnJjClQFBI!2.G.2v869aSfPmpcOUGTv+`W([D4(0*/.^147Ml=W?Of;?U89LI\B-Op)gR >b 9 q qM T c x  T  ? NZ 1 5 ! 3 4 E 6N a n0x!4NeRl -& 7 B P/]%V2'B jBu'  ,"0O.",S1S(AB PXi ~! ;B[aj~/6 'EHNT#d  E,Hu>QM,]c*Gd =;-5ck z   <  ' 5?R%h"!&"/R Zdk4(/4E`%}R F! 3=Re@ O!,l!! Your hosting provider only allows you to take one incremental backup per day."%s" has no primary key, manual change needed on row %s."tenant" is a term used with OpenStack storage - Google for "OpenStack tenant" to get more help on its meaningtenant%d errors, %d warnings%d hours, %d minutes, %d seconds%d token%d tokens%s (%s used)%s - could not back this entity up; the corresponding directory does not exist (%s)%s Account Name%s Container%s Error%s Error: Failed to initialise%s Error: Failed to open local file%s Error: Failed to upload%s Key%s Prefix%s Service Exception.%s access key%s add-on not found%s archives remain%s authentication%s authentication code:%s authentication failed%s authentication:%s bits%s bytes%s checksum: %s%s de-authentication%s download: failed: file not found%s end-point%s error - failed to access the container%s error - failed to re-assemble chunks%s error - failed to upload file%s error - we accessed the container, but failed to create a file within it%s error: %s%s from now%s has been chosen for remote storage, but you are not currently connected.%s hours%s location%s login failure%s logo%s minutes, %s seconds%s month %s trial%s per quarter%s per year%s re-assembly error (%s): (see log file for more)%s restoration options:%s returned an unexpected HTTP response: %s%s secret key%s settings test result:%s support is available as an add-on%s table(s) found.%s total table(s) found; %s with the indicated prefix.%s upload: getting uploadID for multipart upload failed - see log file for more details%s version:%s weeks%s: unreadable file - could not be backed up%s: unreadable file - could not be backed up (check the file permissions and ownership)(%d archive(s) in set, total %s).(None configured)(Not finished)(Nothing has been logged yet)(Read more)(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).(after %ss)(already uploaded)(apparently a pre-release or withdrawn release)(as many as you like)(at same time as files backup)(backup set imported from remote location)(current version)(latest increment: %s)(learn more about this significant option)(logs can be found in the UpdraftPlus settings page as normal)...(make sure that you were trying to upload a zip file previously created by UpdraftPlus)(or connect using the form on this page if you have already purchased it)(tap on an icon to select or unselect)(the asterisk character matches zero or more characters)(verb)Download(version: %s)(view log...)... and many more!1 hour1 weekDo not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...).(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem).After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s.This is NOT a folder name.A "migration" is ultimately the same as a restoration - but using backup archives that you import from another site.A PHP exception (%s) has occurred: %sA PHP fatal error (%s) has occurred: %sA host name cannot contain a slash.A key with this name already exists; you must use a unique name.A search/replace cannot be undone - are you sure you want to do this?A very large file was encountered: %s (size: %s Mb)A zip error occurredABORT: Could not find the information on which entities to restore.API Key: %sAPI keyAPI secretAWS authentication failedAccess Key: %sAccount IDAccount KeyAccount full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized (%s).Account is not authorized.Account typeAccounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-basedActionsActions upon selected backupsActivity logAdd SFTP to send your data securely, lock settings and encrypt your database backups for extra security.Add a siteAdd an additional database retention ruleAdd an additional file retention ruleAdd an additional retention rule...Add an exclusion ruleAdd an exclusion rule for %sAdd an external database to backup...Add another %s account...Add another address...Add directory...Add exclusion ruleAdd siteAdd this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites.Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com.Adding...Additional and enhanced remote storage locationsAdditional storageAdmin API KeyAdmin UsernameAdmin access keyAdmin secret keyAdvanced / Debugging SettingsAdvanced ToolsAfrica (Cape Town)After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locationsAfter pressing this button, you will be given the option to choose which components you wish to migrateAfter pressing this button, you will be given the option to choose which components you wish to restoreAfter you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance.All WordPress tables will be backed up.All files beginning with given charactersAll files beginning with these charactersAll files with this extensionAll files/directories containing All files/directories containing the given characters in their namesAll references to the site location in the database will be replaced with your current site URL, which is: %sAll sitesAllow deletionAllow downloadAllow only administrators to log inAllows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup.Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this.Already got space?Also delete from remote storageAlso send this backup to the active remote storage locationsAlso, you should read this important FAQ.An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %sAn admin password has been set.An email is required and needs to be in a valid format.An empty WordPress installAn error occurred on the first %s command - aborting runAn error occurred when fetching storage module options: An error occurred when trying to retrieve your add-ons.An error occurred while attempting to check the support of stored routines creation (%s %s)An error occurred while attempting to retrieve routine status (%s %s)An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %sAn error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %sAn error occurred whilst closing the final database fileAn error response was received; HTTP code:An unknown error occurred when trying to connect to UpdraftPlus.ComAn update containing your addons is available for UpdraftPlus - please follow this link to get it.An update is available for UpdraftPlus - please connect here to gain access to it.An update is available for UpdraftPlus - please follow this link to get it.And then add an incremental backupAnonymisation functionsAnonymise personal data in your database backups.Anonymize personal data for all users except staffAnonymize personal data for all users except the logged-in userAny other directories found inside wp-contentAny other file/directory on your server that you wish to backupAny settings in your .htaccess or web.config file that affects the maximum upload or post size.Any support requests to do with %s should be raised with your web hosting company.Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address.Apache modulesApplication keyArchive is expected to be size:Are you sure that you wish to remove %s from UpdraftPlus?Are you sure you want to dismiss all UpdraftPlus news forever?Are you sure you want to remove this exclusion rule?Asia PacificAsia Pacific (Hong Kong)Asia Pacific (Mumbai)Asia Pacific (Osaka-Local) (restricted)Asia Pacific (Seoul)Asia Pacific (Singapore)Asia Pacific (Sydney)Asia Pacific (Tokyo)Ask WordPress to automatically update UpdraftPlus when it finds an available update.Ask WordPress to update UpdraftPlus automatically when an update is availableAsk a pre-sales questionAssigned to this siteAt the same time as the files backupAttempts by the browser to contact the website failed.Attribute imported content to userAuthenticate with %sAuthenticate with GoogleAuthenticationAuthorisation failed (check your credentials)Automatic BackupAutomatic backup before updateAutomatic updatesAutomatically backs up your website before any updates to plugins, themes and WordPress core.Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable for this site (via your all-addons purchase)Available temporary clone tokens:Available to claim on this siteAzureAzure AccountAzure ChinaAzure GermanyAzure GlobalAzure GovernmentBackBack...Backed up: %sBackupBackup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingBackup / RestoreBackup Contents And ScheduleBackup NowBackup ReportBackup WordPress core and non-WP files and databases.Backup WordPress multisites (i.e, networks), securely.Backup began:Backup begunBackup contains:Backup created by unknown source (%s) - cannot be restored.Backup created by:Backup created by: %s.Backup data (click to download)Backup data will be sent to:Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified does not exist.Backup directory specified exists, but is not writable.Backup directory specified is writable, which is good.Backup directory successfully created.Backup does not exist in the backup historyBackup external databaseBackup file not available.Backup finishedBackup is of: %s.Backup label:Backup made by %sBackup more databasesBackup non-WordPress files and databasesBackup non-WordPress tables contained in the same database as WordPressBackup of:Backup of: %sBackup pathBackup sent to remote site - not available for download.Backup set not foundBackup sets removed:Backup succeededBackup time and schedulingBackup to remote storage locationsBackup using %s?Backup won't be sent to any remote storage - none has been saved in the %sBackup, update and manage all your WordPress sites from one dashboardBackups are saved in %s.Bad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email.Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive.Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive.Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver.Be safeBe safe with an automatic backupBegunBegun looking for this entityBelgiumBlog linkBlog uploadsBoth email and password fields are required.Browse contentsBrowsing zip fileBucketBucket access styleBucket application key IDBucket locationBucket nameBuy %sBuy ItCallCall WordPress action:Canada (Central)CancelCannot create new AWS user, since an unknown AWS toolkit is being used.Central United StatesChange Lock SettingsChanges made:Check this box to have a basic report sent toCheck this box to use Amazon's server-side encryptionCheck this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits).Check this to receive more information and emails on the backup process - useful if something is going wrong.Check your file permissions: Could not successfully create and enter directory:Check your file permissions: Could not successfully create and enter:Chicago (ORD)China (Beijing) (restricted)China (Ningxia) (restricted)Choose a default for each tableChoose the components to restoreChoose the components to restore:Choose the schedule that you want your backups to run on.Choose your backup scheduleChoose your remote storageClaim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?Claim not granted - your account login details were wrongCleaningCleaning up rubbish...Clear list of existing sitesClient IDClient SecretClone of %sClone packageClone readyClone region:Clone server being provisioned and booted (can take several minutes)Clone:Cloning and migrationCloseClosing 1st October 2018Cloud FilesCloud Files API KeyCloud Files ContainerCloud Files Storage RegionCloud Files UsernameCloud Files authentication failedCloud Files error - we accessed the container, but failed to create a file within itCloud Files operation failed (%s)Cloud Files usernameCompleteComplete manual authenticationConfirmConfirm changeConflict: that user already existsConflict: that user or email address already existsCongratulations! Your first backup is running.Congratulations, your settings have successfully been saved.ConnectConnect this site to UpdraftCentral CloudConnect to UpdraftCentral CloudConnect to updraftplus.comConnect to your %s accountConnect with your UpdraftPlus.Com accountConnecting...Connection failed.Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.Connection succeeded.ConstantsContainerContains:Content URL:Continue restorationControl all your WordPress installations from one place using UpdraftCentral remote site management!Control all your backups in one placeCopying this entity failed.Could not access %s containerCould not access containerCould not create the containerCould not delete old path.Could not find that job - perhaps it has already finished?Could not get list of tablesCould not move old files out of the way.Could not open the backup file for writingCould not read one of the files for restorationCould not read the directoryCounting...CreateCreate Azure credentials in your Azure developer console.Create OneDrive credentials in your OneDrive developer console.Create a key: give this key a unique name (e.g. indicate the site it is for), then press "Create key":Create a new API user with access to only this container (rather than your whole account)Create a temporary clone on our servers (UpdraftClone)Create cloneCreate keyCreate new API user and containerCreate new IAM user and S3 bucketCreated database backupCreated file backup zipsCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backupCreating database backup with UpdraftPlus...Creating file backup zipsCreating your first backupCreating...Current SQL mode:Current clonesCurrent limit is:Current memory usageCurrent use:Currently disabledCurrently enabledDailyDallas (DFW) (default)Dashboard:DatabaseDatabase (created by %s)Database (files backup has not completed)Database OptionsDatabase backup intervalDatabase backup scheduleDatabase decryption phraseDatabase encryption phraseDatabase only (files were not part of this particular schedule)Database restoration options:Database successfully decrypted.Database: search and replace site URLDay of the monthDay of the weekDay to run backupsDebug modeDebugging informationDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete failed:Delete from your web serverDelete local backupDelete selected backupsDelete these settingsDelete this backup setDeleting...Deploying site dataDeselectDeselect allDeselect all backupsDirectory pathDisable SSL entirely where possibleDisabled this plugin: %s: re-activate it manually when you are ready.DisconnectDisconnecting...DismissDismiss (for %s months)Dismiss all UpdraftPlus newsDismiss from main dashboard (for %s weeks)Dismiss noticeDo not abort after pressing Proceed below - wait for the backup to complete.Do not confuse %s with %s - they are separate things.Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated.PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted.Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do remember to save your settings.Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral.Do you need WordPress Multisite support?Do you use UpdraftPlus on multiple sites?Do you want to carry out the import?Do you want to migrate or clone/duplicate a site?Don't know your email address, or forgotten your password?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDownloading backup files if neededDrop backup files hereDrop encrypted database files (db.gz.crypt files) here to upload them for decryptionDropboxDue to the restriction, some settings can be automatically adjusted, disabled or not available.Durable reduced availabilityEastern Asia-PacificEastern United StatesEasyEditEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too.Encrypted databaseEncrypting databaseEncryption key size:End tourEnjoy professional, fast, and friendly help whenever you need it with Premium.Ensure you are logged into the correct account before continuing.Enter a comma-separated list; otherwise, leave blank for all tables.Enter addresses here to have a report sent to them when a backup job finishes.Enter any path in the field below.Enter databaseEnter database.Enter details for where this new site is to live within your multisite install:Enter hostEnter host.Enter in format HH:MM (e.g. 14:22).Enter passwordEnter password.Enter table prefixEnter the ID of the %s project you wish to use here.Enter the name of the %s bucket you wish to use here.Enter the path of the %s folder you wish to use here.Enter the path of the %s you wish to use here.Enter usernameEnter username.Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name.Enter your UpdraftPlus.Com email / password here to connect:Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name.Enter your chosen nameErrorError - failed to download the fileError - no such file exists.Error data:Error downloading remote file: Failed to downloadError messageError opening local file: Failed to downloadError opening remote file: Failed to downloadError when creating new site at your chosen address:Error:Error: %sError: Failed to downloadError: Failed to initialiseError: Failed to open local fileError: Failed to uploadError: invalid pathError: the server sent an empty response.Error: the server sent us a response (JSON) which we did not understand.Error: the server sent us a response which we did not understand.Error: unexpected empty parameter (%s, %s)Error: unexpected file read failError: you have insufficient storage quota available (%s) to upload this archive (%s) (%s).ErrorsErrors / warnings:Errors encountered:Errors have occurred:Errors occurred when trying to connect to UpdraftPlus.Com:Errors occurred:Errors:Europe (Frankfurt)Europe (Ireland)Europe (London)Europe (Milan)Europe (Paris)Europe (Stockholm)European UnionEvery %s hoursEvery hourExamples of S3-compatible storage providers:Exclude files/directoriesExclude these fromExclude these:Existing backupsExisting keysExit full-screenExpert settingsExport / import settingsExport settingsExtensionsExternal databaseExternal database (%s)Extra databaseFAQsFTP loginFTP passwordFTP serverFacebookFailedFailed to access %s when deleting (see log file for more)Failed to apply User PolicyFailed to backup database table:Failed to create UpdraftCentral keyFailed to create a temporary directoryFailed to delete working directory after restoring.Failed to downloadFailed to download %sFailed to find a manifest file in the backup.Failed to find database fileFailed to open database fileFailed to open database file for reading:Failed to open database file.Failed to open directory (check the file permissions and ownership): %sFailed to open directory for reading:Failed to open the zip file (%s) - %sFailed to read from the working directory.Failed to read the manifest file from backup.Failed to search and replaceFailed to search and replace:Failed to unpack the archiveFailed to upload %sFailed to upload to %sFailed to write out the decrypted database to the filesystemFailed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location.Failed: We were able to log in, but failed to successfully create a file in that location.Failed: We were not able to place a file in that directory - please check your credentials.Failed: the %s operation was not able to start.Failed: we did not understand the result returned by the %s operation.FailureFailure: No %s was given.Failure: No bucket details were given.Failure: No container details were given.Failure: No endpoint details were given.Failure: No server details were given.Failure: Port must be an integer.Failure: we did not successfully log in with those credentials.Failure: we successfully logged in, but were not able to create a file in the given directory.FastFast, personal supportFetchFetching...File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.File OptionsFile backup optionsFile is not locally present - needs retrieving from remote storageFile not foundFile not found (you need to upload it): %sFile ready.File was found, but is zero-sized (you need to re-upload it): %sFile/directoryFilesFiles (database backup has not completed)Files and databaseFiles and database WordPress backup (created by %s)Files backup (created by %s)Files backup intervalFiles backup scheduleFiles changed since the last backup will be added as a new increment in that backup set.Files found:Files only (database was not part of this particular schedule)Files/Directories containing the given characters in their namesFinal checksFind out moreFind out more about incremental backups here.Find out more here.Fingerprints don't match.FinishFinishedFirst, enter the decryption keyFlexibleFolderFollow this link for helpFollow this link for more informationFollow this link to attempt decryption and download the database file to your computer.Follow this link to attempt to create the directory and set the permissionsFollow this link to authorize access to your %s account (you will not be able to backup to %s without it).Follow this link to download the log file for this restoration (needed for any support requests).Follow this link to remove these settings for %s.Follow this link to sign up for the UpdraftPlus newsletter.Follow this link to the installation instructions (particularly step 1).Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section.For backups older thanFor even more features and personal support, check out For future control of all your UpdraftCentral connections, go to the "Advanced Tools" tab.For help configuring %s, including screenshots, follow this link.For incremental backups, you will be able to choose which increments to restore at a later stage.For longer help, including screenshots, follow this link.For more options, use PremiumFor more reporting features, use the Premium versionFor the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium.For the ability to migrate websites, upgrade to UpdraftPlus Premium.For unlocking support, please contact whoever manages UpdraftPlus for you.Forbid non-administrators to login to WordPress on your cloneForgotten your details?FortnightlyFound SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset().Found and replaced existing table foreign key constraints as the table prefix has changed.FrankfurtFreeFree disk space in account:Free two-factor security pluginFront page:Full backupFull feature listFull-screenFurther information may be found in the browser JavaScript console, and the server PHP error logs.Get %s from the UpdraftPlus.com StoreGet %s hereGet PremiumGet UpdraftCentralGet it from the UpdraftPlus.Com StoreGet it hereGet more quotaGet these settings from %s, or sign up %s.GoGo hereGo here for helpGo here for more information.Go here to activate it.Go here to begin installing it.Go here to connect it.Go here to connect.Go here to re-enter your password.Go thereGo to settingsGo to your UpdraftCentral Cloud dashboardGo up a directoryGoes to the updraftplus.com checkout pageGoes to updraftplus.com checkout pageGoogle CloudGoogle DriveGoogle Drive list files: failed to access parent folderHTTP code:Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud.Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud.Hong Kong (HKG)HostHow do I get a site's key?However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.However, subsequent access attempts failed:I accept the UpdraftClone terms and conditionsI consent to %sIAM operation failed (%s)If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If OneDrive later shows you the message "unauthorized_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If not, then choose your details and a new account will be registered.If not, you will need to either remove data from this table, or contact your hosting company to request more resources.If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead.If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.If using it, select a path from the directory tree below and then press confirm selection.If you already have an updraftplus.com account, then enter the details below.If you are having problems authenticating with %s you can manually authorize here.If you are not sure then you should stop; otherwise you may destroy this WordPress installation.If you are not sure what this option is for, then you will not want it, and should turn it off.If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes.If you are using this, then turn Turbo/Road mode off.If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%sIf you bought new add-ons, then follow this link to refresh your connectionIf you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.If you do not want to restore all your database tables, then choose some to exclude here.If you enter a table prefix, then only tables that begin with this prefix will be backed up.If you exclude both the database and the files, then you have excluded everything!If you have a valid Premium license, you get 1GB of storage included.If you have already renewed, then you need to allocate a licence to this site - %sIf you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)If you have an existing backup that you wish to upload and restore from, then please use the "Upload backup files" link above.If you have forgotten your password If you have forgotten your password, then go here to change your password on updraftplus.com.If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1).If you leave it blank, then the backup will be placed in the root of your %sIf you see errors about SSL certificates, then please go here for help.If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version.If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite.If you want, test upgrading to a different PHP or WP version.If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.Import settingsImporterImporting a single site into a multisite installImporting...In %s, path names are case sensitive.Include all tables not listed belowInclude in files backupInclude your database in the backupInclude your files in the backupIncompleteIncrementalIncremental backupsIncremental backups are a feature of %s (upgrade by following this link).Increments exist at: %sInfinite recursion: consult your log for more informationInformation needed to continue:Install debugging plugins:InstalledIntelligent TieringInterested in knowing about your UpdraftPlus.Com password security? Read about it here.Introducing UpdraftCentralInvalid Job IdInvalid bucket nameIowaIt appears that your web server's IP Address (%s) is blocked.It can also backup external databases.It has been tested up to version %s.It is an ID number internal to Google DriveIt is for sending backups to the following site: It will be imported as a new site.JavaScript warningJob ID: %sJob deletedKeyKey created successfully.Keys for a site are created in the section "receive a backup from a remote site".Keystone and swauth are technical terms which cannot be translatedThis needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.Known backups (raw)Last log messageLatest UpdraftPlus.com news:Latest full backup found; identifier:Latest status:Lead developer's homepageLearn moreLearn more about UpdraftCentralLeave this blank to use the default (80 for webdav, 443 for webdavs)Leave this blank, and a default will be chosen.Loading log fileLoading...Local backup upload has started; please check the log file to see the upload progressLocal files deleted:Local write failed: Failed to downloadLock access to UpdraftPlus via a password so you choose which admin users can access backups.Lock access to the UpdraftPlus settings pageLock settingsLog all messages to syslogLog all messages to syslog (only server admins are likely to want this)Log in here to enable all the features you have access to.Login or register for UpdraftCentral CloudLogin or register with this email addressLogin successful.Login successful; reloading information.LondonLondon (LON)Look through the other settings here, making any changes you’d like.Looking for %s archive: file name: %sMake updates easy with UpdraftPlusManage AddonsManage your clonesManual authentication is not available for this remote storage methodManual backup optionsManually decrypt a database backup fileMany sites?Master Application Key IDMaybe laterMemory limitMessages:Middle East (Bahrain)Migrate (create a copy of a site on hosting you control)Migrate / CloneMigrated site (from UpdraftPlus)Migration key created:MigratorMissing authentication data:Missing instance id:Missing pages:Missing parametersMonthlyMore FilesMore database optionsMore great plugins by the Updraft TeamMore information here.More pluginsMore quality pluginsMore settingsMore tasks:Moving old data out of the way...Moving unpacked backup into place...MultisiteMultisite InstallMust-use pluginsN.B. %s is not case-sensitive.N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup.N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately.N.B. This count is based upon what was, or was not, excluded the last time you saved the options.N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you.Name: %s.NearlineNeed to get space?Need to get support?Need to use sub-folders?Needs to already existNetwork / multisiteNetwork activating theme:Network and multisiteNeverNew IAM usernameNew User's Email AddressNew User's UsernameNew site:NewsNewsletter sign-upNextNext scheduled backupsNoNo %s foundNo %s settings were foundNo Vault connection was found for this site (has it moved?); please disconnect and re-connect.No adsNo backup has been completedNo backup of %s directories: there was nothing found to back upNo backup of location: there was nothing found to back upNo database tables foundNo incremental backup of your files is possible, as no suitable existing backup was found to add increments to.No keys to allow remote sites to send backup data here have yet been created.No local copy present.No log files were found.No previous backup found to add an increment to.No previous full backup found.No receiving sites have yet been added.No remote storage locations with valid options found.No settings were foundNo settings were found - please go to the Settings tab and check your settingsNo such backup set existsNo valid components found, please select different components or a backup set with components that can be restored.NoneNorth VirginiaNorth-east AsiaNorthern Virginia (IAD)Not got an account? Get one by buying some tokens here.Not got any remote storage?Not installedNot yet got an account (it's free)? Go get one!Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability.Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates.Note that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing to do: the site URL is already: %sNothing yet loggedNoticeOKOk, you deserve itOld ABSPATH:Old table prefix:One Time Password (check your OTP app to get this password)One VPS (Virtual Private Server) per clone, shared with nobody.One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the "retain" settings; if/when you wish to delete them then you must do so manually.OneDriveOneDrive GermanyOneDrive InternationalOnly allow this backup to be deleted manually (i.e. keep it even if retention limits are hit).Only email the database backupOnly the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOperation to create user Access Key failedOptimizePress 2.0 encodes its contents, so search/replace does not work.Options (raw)Or if you prefer to self-host, then you can get the self-hosted version here.Or, if they are in remote storage, you can connect that remote storage (in the "Settings" tab), save your settings, and use the "Rescan remote storage" link.Or, use an UpdraftClone keyOr, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.OregonOther %s FAQs.Other great pluginsOthersOtherwise, the default link will be shown.Otherwise, you can leave it blank.Otherwise, you can try UpdraftVault for 1 month for only $1!Over-write wp-config.phpPHP informationPassive modePasswordPassword incorrectPassword: %sPaste key herePathPath stylePayments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.Peak memory usagePerform a backupPerhaps you would want to login instead.Please allow time for the communications with the remote storage to complete.Please check out UpdraftPlus Premium.Please check the error log for more detailsPlease check your access credentials.Please choose a file or directoryPlease consult this FAQ if you have problems backing up.Please contact your hosting company (%s) if you require further support.Please enter a file extension, like zipPlease enter a valid URLPlease enter a valid URL e.g http://example.comPlease enter a valid file extensionPlease enter a valid file name prefixPlease enter characters that begin the filename which you would like to excludePlease enter part of the file namePlease enter your %s email addressPlease enter your %s passwordPlease fill in the required information.Please follow this link to open %s in a new window.Please give this key a name (e.g. indicate the site it is for):Please make sure that you have made a note of the password!Please re-authorize the connection to your %s account.Please read %s for use of our %s authorization app (none of your backup data is sent to us).Please read this link for important information on this process.Please select a file/folder which you would like to excludePlease select the more files backups that you wish to restore:Please specify the Microsoft OneDrive folder name, not the URL.Please supply the requested information, and then continue.Please wait while connecting to UpdraftPlus.com ...Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud.Please wait while you are redirected to UpdraftCentral Cloud.Please wait whilst we make the claim...PluginsPortPre-sales FAQsPre-update backupsPremiumPremium / ExtensionsPremium / Find out morePremium / Pro SupportPremium WooCommerce pluginsPreparing backup filesPress a button to get started.Press here to download or browsePress here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded.Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder).Press here to run a manual backup.Press here to save your settings.Press here to start!Press this button to take a tour of the plugin.Proceed with updateProcessed plugin:ProcessingProcessing files - please wait...Processing table (%s)Processing...Project IDProtocol (SSL or not)Provides expert help and support from the developers whenever you need it.Pruning old backup setsQuota:RSA fingerprintRSS linkRaw backup historyRead FAQs here.Read moreRead more about %s here.Read more about Easy Updates ManagerRead more about bucket access styleRead more about bucket locationsRead more about how this works...Read more about server-side encryptionRead more about storage classesRead more...Read the %s FAQs here.Read this article to see step-by-step how it's done.Read this page for a guide to possible causes and how to fix it.Receive a backup from a remote siteReceiving site dataRecently started backup job id: %sRecommended: optimize your database with WP-Optimize.Refresh connectionRefresh current statusRegionRegion: %sRegistration successful.ReliableRemember this choice for next time (you will still have the chance to change it)Remote Storage OptionsRemote files deleted:Remote pathRemote storageRemote storage authenticationRemote storage method and instance id are required for authentication.Remote storage: %sRemoveRemove old directoriesReplace withReportingRequested character set (%s) is not present - changing to %s.Requested table character set (%s) is not present - changing to %s.Requested table collation (%1$s) is not present - changing to %2$s.Requested table collations (%1$s) are not present - changing to %2$s.Requested table engine (%s) is not present - changing to MyISAM.Requesting start of backup...Require password again afterRequired information for restoring this backup was not given (%s)Rescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...Reset tourRestoration progress:RestoreRestore an existing backup set onto this siteRestore backupRestore error:Restore files fromRestore location does not exist on the filesystem for:Restore location found for:Restoring %s1 files out of %s2Restoring stored routine: %sRestoring table: %sRestoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Retain this many scheduled database backupsRetain this many scheduled file backupsRetrieving (if necessary) and preparing backup files...Return to UpdraftPlus ConfigurationReturn to UpdraftPlus configurationReview UpdraftPlusRows examined:Rows per batchRun this command to see the log file for this restoration (needed for any support requests).Runs on capacity from a leading cloud computing provider.S3 (Compatible)S3 bucketS3 storage regionSCP/SFTP host settingSCP/SFTP password/keySCP/SFTP user settingSQL update commands run:SaveSave ChangesSave timeSaving...SearchSearch / replace databaseSearch and replace site location in the database (migrate)Search and replace successfulSearch and replacing table:Search forSecret Key: %sSecureSecure multisite installation, advanced reporting and much more.See Google's guidelines on bucket naming by following this link.See Microsoft's guidelines on container naming by following this link.See also the Premium version from our shop.See this FAQ also.Select 'Web Application' as the application type.Select FilesSelect a file to view information about itSelect a file/folder which you would like to excludeSelect a way to exclude files or directories from the backupSelect allSelect all (this site)Select all backupsSelect the folder in which the files or sub-directories you would like to exclude are locatedSelect the remote storage destinations you want to upload this backup set toSelect what you want to backupSendSend a backup to another siteSend a report only when there are warnings/errorsSend reportsSend scheduled backups to this destination:Send this backup to remote storageSend to site:Sending Your Backup To Remote StorageSending files to remote siteServer-side encryptionSet exact times to create or delete backups.SettingsShow all backups...Show expert settingsShow more backups...Show raw backup and file listShow the optionsSign in with %sSign upSingaporeSiteSite data has been deployedSite data receivedSite home:Site informationSite information:Site keySite sizeSize: %s MBSkip this stepSkipped tables:Skipping table %s: already restored on a prior run; next table to restore: %sSkipping table %s: user has chosen not to restore this tableSkipping: this archive was already restored.So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section.Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins.Some files are still downloading or being processed - please wait.Sophisticated reporting and emailing capabilities.South America (São Paulo)South CarolinaSouth-east AsiaSouth-east AustraliaSplit archives every:Split line to avoid exceeding maximum packet sizeStandardStandard (infrequent access)Start %s SubscriptionStart %s TrialStart SubscriptionStart TrialStart a %s UpdraftVault SubscriptionStart backupStart timeStarting automatic backup...Storage classStore atSubscriptions can be cancelled at any time.SuccessSuccess:Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:Sufficient information about the in-progress restoration operation could not be found.SupportSupport URLSupported backup plugins: %sSydneySydney (SYD)Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup.Table prefixTable prefix has changed: changing %s table field(s) accordingly:Tables examined:TaiwanTake TourTake a new backupTake an incremental backupTakes just the time needed to create a backup and send it.Team UpdraftTell me moreTell me more about incremental backupsTenantTest %s SettingsTest connection...Testing %s Settings...Testing connection...Testing...Thank you for installing UpdraftPlus!Thank you for taking the tour.Thank you so much!That you are attempting to upload a zip file previously created by UpdraftPlus.The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.The %s object was not foundThe 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).The AWS access key looks to be wrong (valid %s access keys begin with "AK")The Database connection has been closed and cannot be reopened.The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site.The UpdraftPlus module for this file access method (%s) does not support listing filesThe WordPress content folder (wp-content) was not found in this zip file.The WordPress subscription extension for WooCommerce store owners.The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The above files comprise everything in a WordPress installation.The admin password has been changed.The admin password has now been removed.The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another processThe attempt to send the backup via email failed (probably the backup was too large for this method)The attempt to undo the double-compression failed.The attempt to undo the double-compression succeeded.The available memory on the server.The backup attempt has finished, apparently unsuccessfullyThe backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail.The backup has finished runningThe backup has not finished; a resumption is scheduledThe backup is being aborted for a repeated failure to progress.The backup records do not contain information about the proper size of this file.The backup was abortedThe backup was aborted by the userThe communication with %s was encrypted.The communication with %s was not encrypted.The creation of your data for creating the clone should now begin.The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on.The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.The database is too small to be a valid WordPress database (size: %s Kb).The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import.The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import.The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import.The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import.The decryption key used:The directory does not existThe directory does not exist, and the attempt to create it failedThe download link is broken or the backup file is no longer availableThe download link is broken, you may have clicked the link from untrusted sourceThe email address provided appears to be invalid, please double-check your email address again and try again.The entered key does not belong to a remote site (it belongs to this one).The entered key was corrupt - please try again.The entered key was the wrong length - please try again.The error reported by %s was:The exclusion rule which you are trying to add already existsThe file %s has a "byte order mark" (BOM) at its beginning.The files %s have a "byte order mark" (BOM) at their beginning.The file was uploaded.The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page.The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support.The following remote storage options are configured.The given file was not found, or could not be read.The given value for the '%s' option is not validThe higher the value, the more server resources are required to create the archive.The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The key provided was not in a valid format, or was corrupt.The key was successfully added.The list of existing sites has been removedThe location of this directory is set in the expert settings, in the Settings tab.The log file could not be read.The log file has been attached to this email.The new user's RackSpace console password is (this will not be shown again):The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars).The password file you specified doesn't exist; please check the --password-file parameter.The preparation of the clone data has been aborted.The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe required %s PHP module is not installed - ask your web hosting company to enable it.The server's RSA key %s fingerprint: %s.The site data has all been received, and its import has begun.The specified bucket was not found.The time zone used is that from your WordPress settings, in Settings -> General.The ultimately secure and convenient place to store your backups.The user is being told the number of times an error has happened, e.g. An error (27) occurredAn error (%s) occurred:The web server returned an error code (try again, or check your web server logs)The zip engine returned the message: %s.ThemesThen, these lower-powered access credentials can be used, instead of storing your administrative keys.There are no incremental backup restore points available.There was an error while trying to remove the list of existing sites.Therefore it is advised that you take a fresh backup on the source site, using a later version.Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below).These options can anonymize personal data in your database backup.These tables onlyThese will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket.This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable.This backup set contains incremental backups of your files; please select the time you wish to restore your files toThis backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s.This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site.This backup was created by %s, and can be imported.This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes).This button is disabled because your backup directory is not writable (see the settings).This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage).This can easily destroy your site; so, use it with care!This current siteThis database backup is missing core WordPress tables: %sThis database needs to be deployed on MySQL version %s or later.This decryption key will be attempted:This does not look like a valid WordPress core backup - the file %s was missing.This feature is not compatible with %sThis feature requires %s version %s or laterThis file could not be uploadedThis file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).This functionality has been disabled by the site administrator.This is a WordPress multi-site (a.k.a. network) installation.This is a count of the contents of your Updraft directoryThis is needed if, and only if, your application key was a bucket-specific application key (not a master key)This is not an incremental backupThis is not your Azure login - see the instructions if needing more guidance.This is older than the server which you are now restoring onto (version %s).This is significantly newer than the server which you are now restoring onto (version %s).This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again.This looks like a migration (the backup is from a site with a different address/URL, %s).This may prevent the restore procedure from being able to proceed.This most likely means that you share a webserver with a hacked website that has been used in previous attacks.This multi-archive backup set appears to have the following archives missing: %sThis option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up.This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database.This remote storage method (%s) requires PHP %s or later.This setting applies only when a new bucket is being created.This site has no backups to restore from yet.This storage method does not allow downloadingThis version of UpdraftPlus does not know how to handle this type of foreign backupThis will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these.This will delete all your UpdraftPlus settings - are you sure you want to do this?This will import data from:Tidy things up for clients and remove all adverts for our other products.Time nowTime taken (seconds):Time taken:TimestampTo access the UpdraftPlus settings, please enter your unlock passwordTo add a site as a destination for sending to, enter that site's key below.To be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To complete manual authentication, at the orange UpdraftPlus authentication screen select the "Having problems authenticating?" link, then copy and paste the code given here.To complete your migration/clone, you should now log in to the remote site and restore the backup set.To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium.To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium.To create a temporary clone you need credit in your account.To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below.To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings.To fix the time at which a backup should take place,To fix this problem go here.To import a backup set, go to the "Existing backups" section in the "Backup/Restore" tabTo import an ordinary WordPress site into a multisite installation requires %s.To maintain your access to support, please renew.To make a backup, just press the Backup Now button.To read FAQs/documentation about UpdraftClone, go here.To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To regain your access, please renew.To remove any block, please go here.To remove the block, please go here.To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To send to more than one address, separate each address with a comma.To use this backup, your database server needs to support the %s character set.TokyoToo many database errors have occurred - abortingTotal (uncompressed) on-disk data:Total backup size:Translators: %s is a bold tag.But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %sTranslators: UpdraftVault is a product name and should not be translated.To get started with UpdraftVault, select one of the options below:Trouble connecting? Try using an alternative method in the advanced security options.Try UpdraftVault for 1 month for only $1!Try UpdraftVault!Try it - 1 month for $1!Trying...TwitterType a file prefixType an extension like zipUKUS (default)US East (N. Virginia) (default)US East (Ohio)US Government West (restricted)US West (N. California)US West (Oregon)US or UK CloudUS or UK Rackspace AccountUS or UK-based Rackspace AccountUnable to get renew dateUnable to open zip file (%s) - could not pre-scan it to check its integrity.Unable to read zip file (%s) - could not pre-scan it to check its integrity.Under MaintenanceUnexpected response:Unfinished restorationUnited StatesUnknownUnknown server response status:Unknown server response:Unknown/unexpected error - please raise a support requestUnless you have a problem, you can completely ignore everything here.UnlockUnpacking backup...Unzip progress: %d out of %d filesUpdate quota countUpdraft VaultUpdraftCentralUpdraftCentral CloudUpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place.UpdraftCentral key created:UpdraftClone image:UpdraftClone key is required.UpdraftPlusUpdraftPlus - Upload backup filesUpdraftPlus AddonsUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus Blog - get up-to-date news and offersUpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply.UpdraftPlus NewsUpdraftPlus NewsletterUpdraftPlus PremiumUpdraftPlus Premium and addonsUpdraftPlus Premium has many more exciting features!UpdraftPlus Premium:UpdraftPlus RestorationUpdraftPlus Restoration: ProgressUpdraftPlus SupportUpdraftPlus TourUpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place.UpdraftPlus is not yet activated.UpdraftPlus is not yet installed.UpdraftPlus is on social media - check us out!UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)UpdraftPlus noticeUpdraftPlus notice:UpdraftPlus on %sUpdraftPlus settingsUpdraftPlus temporary clone user login settings:UpdraftPlus warning:UpdraftPlus was unable to find the table prefix when scanning the database backup.UpdraftPlus.Com account terms and policiesUpdraftPlus.Com responded, but we did not understand the responseUpdraftPlus.Com returned a response which we could not understand (data: %s)UpdraftPlus.Com returned a response, but we could not understand itUpdraftPlus.com has responded with 'Access Denied'.UpdraftVaultUpdraftVault is our remote storage which works seamlessly with UpdraftPlus.UpdraftVault storageUpgrade nowUploadUpload backupUpload backup filesUpload errorUpload error:Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)Upload failedUpload files into UpdraftPlus.Uploaded to:Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select FilesorUploading files to remote storageUploadsUploads URL:Use SCP instead of SFTPUse ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in betweenUse the "Reporting" section to configure the email addresses to be used.Use the server's SSL certificatesUse this option to only send database backups when sending to email, and skip other components.UsernameUsername: %sVault ownerVerifyingVerifying one-time password...VersionView LogView logVirtual-host styleWP CLIWP-CLI commands to take, list and delete backups.WP-CLI supportWaiting until scheduled time to retry because of errorsWarningWarning:Warning: %sWarning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date.Warning: the database's home URL (%s) is different to what we expected (%s)Warning: the database's site URL (%s) is different to what we expected (%s)WarningsWarnings encountered:Warnings:Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link.We accessed the bucket, and were able to create files within it.We accessed the container, and were able to create files within it.We failed to successfully connect to UpdraftPlus.ComWe requested to delete the file, but could not understand the server's responseWe successfully accessed the bucket, but the attempt to create a file in it failed.Web server:Web-server disk space in use by UpdraftPlusWebDAV URLWeeklyWelcome to UpdraftPlusWelcome to UpdraftPlus!Welcome to your UpdraftClone (temporary clone)Well done - there's nothing more needed to set up.Western EuropeWestern United StatesWhen email storage method is enabled, and an email address is entered, also send the backupWhere to change directory to after logging in - often this is relative to your home directory.Which site to restoreWhich was exported on:Why am I seeing this?Wipe settingsWith UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too.With UpdraftPlus Premium, you can directly download individual files from here.Without it, encryption will be a lot slower.Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors.Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website.Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network.WooCommerce pluginsWordPress BackupWordPress CoreWordPress Multisite is supported, with extra features, by UpdraftPlus Premium.WordPress backup is completeWordPress coreWordPress core (including any additions to your WordPress root directory)WordPress core (only)WordPress databaseWordPress installedWordPress installed; now awaiting the site data to be sent.WordPress root directory server path: %sYesYou are currently using the free version of UpdraftPlus.You are now using a IAM user account to access your bucket.You are presently connected to an UpdraftPlus.Com account.You are presently not connected to an UpdraftPlus.Com account.You are running on WordPress multisite - but your backup is not of a multisite site.You are using the %s webserver, but do not seem to have the %s module loaded.You can also close this wizard.You can buy UpdraftClone tokens from our shop, here.You can buy more temporary clone tokens here.You can check the progress here or in %sYou can choose another suitable character set instead and continue with the restoration at your own risk.You can choose another suitable collation instead and continue with the restoration (at your own risk).You can enter the path of any %s virtual folder you wish to use here.You can find out more about clone keys here.You can find your temporary clone information in your updraftplus.com account here.You can forbid non-admins logins to this cloned site by checking the checkbox belowYou can get more quota hereYou can manually decrypt an encrypted database here.You can send a backup to more than one destination with Premium.You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits.You can test upgrading your site on an instant copy using UpdraftClone creditsYou can view the log by pressing the 'View log' button.You do not have access to this bucketYou do not have access to this bucket.You do not have the UpdraftPlus %s add-on installed - get it from %sYou do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?You entered an email address that was not recognised by UpdraftPlus.ComYou have an inactive purchaseYou have an unfinished restoration operation, begun %s ago.You have chosen to backup a database, but no tables have been selectedYou have chosen to backup files, but no file entities have been selectedYou have chosen to send this backup to remote storage, but no remote storage locations have been selectedYou have made changes to your settings, and not saved.You have not selected a restore path for your chosen backupsYou have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons.You have not yet connected with your UpdraftPlus.Com account.You have not yet made any backups.You have not yet selected a file to import.You have reached the daily limit for the number of incremental backups you can create at this time.You have reached the monthly limit for the number of backups you can create at this time.You have requested saving to remote storage (%s), but without entering any settings for that storage.You have selected a remote storage option which has an authorization step to complete:You must add the following as the authorised redirect URI (under "More Options") when askedYou must add the following as the authorised redirect URI in your Dropbox console (under "API Settings") when askedYou must add the following as the authorized redirect URI (under "More Options") when askedYou must add the following as the authorized redirect URI in your OneDrive console (under "API Settings") when askedYou must copy and paste this key on the sending site now - it cannot be shown again.You must enter a project ID in order to be able to create a new bucket.You must save and authenticate before you can test your settings.You must select at least one remote storage destination to upload this backup set to.You must upgrade MySQL to be able to use this database.You must use a bucket name that is unique, for all %s users.You must use lower-case letters or numbers for the site path, only.You need to connect to receive future updates to UpdraftPlus.You need to enter a bucketYou need to enter a containerYou need to enter a new IAM usernameYou need to enter a new usernameYou need to enter a valid new email addressYou need to enter an admin API keyYou need to enter an admin access keyYou need to enter an admin secret keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed.You need to supply both an email address and a passwordYou selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network.You should backup all tables unless you are an expert in the internals of the WordPress database.You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly.You should check the file ownerships and permissions in your WordPress installationYou should enable %s to make any pretty permalinks (e.g. %s) workYou should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website).You should save your changes to ensure that they are used for making your backup.You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility.You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud.You successfully logged in to UpdraftPlus.Com and connected this plugin with your accountYou successfully purchased UpdraftPremium.You will find more information about this in the Settings section.You will need to ask your web hosting company to upgrade.You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.You will need to restore it manually.You've got itYour %s account name: %sYour %s quota usage: %s %% used, %s availableYour %s version: %s.Your .htaccess has an old site reference on line number %s. You should remove it manually.Your .htaccess has an old site references on line numbers %s. You should remove them manually.Your IP address:Your UpdraftClone is still setting up.Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old).Your backup has been restored.Your chosen character set to use instead:Your chosen replacement collationYour clone has started and will be available at the following URLs once it is ready.Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready.Your clone will now deploy this data to re-create your site.Your clone will renew on:Your database user does not have permission to drop tablesYour email address and password were not recognised by UpdraftPlus.ComYour email address was valid, but your password was not recognised by UpdraftPlus.Com.Your email backup and a report will be sent toYour export file will be of your displayed settings, not your saved ones.Your first backupYour free disk space is very low - only %s Mb remainYour free space in your hosting account is very low - only %s Mb remainYour hosting company must enable these functions before %s can work.Your hosting provider only allows you to take one backup per month.Your hosting provider only allows you to take one incremental backup per day.Your label for this backup (optional)Your login may be either password or key-based - you only need to enter one, not both.Your new key:Your paid access to UpdraftPlus support has expired.Your paid access to UpdraftPlus support will soon expire.Your paid access to UpdraftPlus updates for %s add-ons on this site has expired.Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire.Your paid access to UpdraftPlus updates for this site will soon expire.Your saved settings also affect what is backed up - e.g. files excluded.Your settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your version: %sYour web server has PHP's so-called safe_mode active.Your web server's PHP installation has these functions disabled: %s.Your web-server does not have the %s module installed.Your website is hosted using the %s web server.Your website is hosted with %s (%s).Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:Your wp-content directory server path: %sa second attempt is being made (upon further failure it will be skipped)activate it on this siteadvanced optionsalready donealready uploadedand retain this many scheduled backupsanywhere in their namesarchiveat the beginning of their namesat the end of their namesauthentication URIauthentication errorauthentication failedauthorization failed:backbacks up automatically when you update plugins, themes or corebycalculatecalculating...check your log for more details.chunk %s: upload failedconfigure it herecontainercountcredentialsdatabase connection attempt faileddatabase connection attempt failed.database namedayday(s)did not return the expected response - check your log file for more detailsdismiss noticedownload: failed: file not founde.g. %se.g. if your server is busy at day and you want to run overnighteasily migrate or clone your site in minutesencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)enhanced remote storage optionserror - failed to create and access the containererror - failed to re-assemble chunkserror - failed to upload fileerror: %s (see log file for more)error: failed to upload file to %s (see log file for more)error: file %s was shortened unexpectedlyfailed to access parent folderfailed to list filesfailed to upload file to %s (see log file for more)faster (possibility for slow PHP installs)filefile %d of %dfile is size:files: %sfolderfollow this link to get itgo herego here to change your password on updraftplus.com.go here to learn morehandles updates automatically as you want themherehosthost namehour(s)i.e. Non-automaticManualif all of the following conditions are matched:if any of the following conditions are matched:in the monthincluding any passwordsincremental backup; base backup: %sisis notkeykey namelast activity: %d seconds agolast activity: %ss agolatestlog results to consoleloginlogin failuremanagemanages all your WordPress sites at once from one placemay include some site-wide datamore infomulti-region locationnext resumption: %dno options or sitemeta table was foundno recent activity; will offer resumption after: %d secondsnotice imagenow proceeding with the updates...on every backupopen this to show some further options; don't bother with this unless you have a problem or are curious.optionalor (annual discount)or to configure more complex schedulesor to restore manuallyor, to reset this optionother content from wp-contentpasswordpassword/keyplease follow this link to update the plugin in order to activate itplease follow this link to update the plugin in order to get itplease wait for the rescheduled attemptpluginspress hereread more at %srecommendedrefreshregular non-encrypted FTPremote files deletedremote siterequired for some remote storage providersresetrestorationrows: %dsearch and replacesearch termsecure your backupssettingsshow PHP information (phpinfo)show logsite not foundskipped (not in list)slower, strongestsome/pathstarting from next time it isstoptable: %stablestemplate not foundthe database query being run was:the options table was not foundthe world’s most trusted backup plugin!themesthese backup setsthese charactersthis backup setthis privacy policyto take incremental backupstwo unsuccessful attempts were made to include it, and it will now be omitted from the backupunknown sourceupdraftplusTo make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %supload (%s): re-assembly failed (see log for more details)upload faileduse UpdraftPlus Premiumuserusernameweek(s)will restore as:with the option ofyou have authenticated your %s accountyou have authenticated your %s account.you will want to use below search and replace site location in the database (migrate) to search/replace the site address.your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup.your UpdraftPlus.com accountyour site's admin addresszip executable found:PO-Revision-Date: 2023-09-04 19:09:13+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: es_AR Project-Id-Version: UpdraftPlus Tu proveedor de hosting solo te permite hacer un respaldo incremental por día."%s" no tiene clave primaria, es necesario un cambio manual en la fila %s.inquilino%d errores, %d advertencias%d horas, %d minutos, %d segundos%d token%d tokens%s (%s usado)%s - no se puede hacer respaldo esta entidad; el directorio correspondiente no existe (%s)Nombre de la cuenta %sContenedor %sError %s%s Error: No puede IniciarError %s: Fallo al abrir el archivo localError %s: Fallo al subirClave de %sPrefijo %sExcepción del servicio %s.clave de acceso %sNo se encuentra la extensión %sQuedan %s archivosAutenticación %sCódigo de identificación de %s:Falló la autenticación %sIdentificación de %s:%s bits%s bytes%s suma de comprobación:%s%s anular identificaciónLa descarga %s falló: no se encontró el archivo%s punto finalerror %s - falló el acceso al contenedorError %s - Fallo al re-ensamblar las partesError %s - fallo al subir el archivoerror %s - accedimos el contenedor, pero falló la creación del archivo dentro delError %s: %s%s desde ahora%s fue elegido para el almacenamiento remoto, pero no está conectado actualmente.%s horasUbicación de %sFallo en el inicio de sesión de %sLogo de %s%s minutos, %s segundos%s mes de prueba %s%s por cuarto%s por añoError de %s al re-ensamblar (%s): (mira el archivo del archivo de registro para saber más)%s opciones de restauración:%s devolvió una respuesta HTTP inesperada: %sClave secreta de %sResultados del test de los ajustes %s:Soporte para %s está disponible como un complemento%s tabla(s) encontrada(s).Se encontraron %s tabla(s) en total; %s con el prefijo indicado.%s subida: falló la obtención de una ID de subida para la subida multiparte - mira el archivo del archivo de registro para más detallesVersión de %s:%s semanas%s: archivo no legible - no se pudo incluir en el respaldo%s: no se puede leer el archivo - no pudo ser respaldado (revisá los permisos del archivo)(%d archivo(s) en el conjunto, en total %s).(Ninguno configurado)(No finalizado)(aún no se ha registrado nada)(Leer más)(Esto se aplica a todos los plugins de respaldo de WordPress a menos que hayan sido programados explícitamente para tu compatibilidad con multisitio).(después %ss)(ya subida)(aparentemente una versión preliminar o retirada)(tantos como quieras)(al mismo tiempo que los archivos de respaldo)(Conjunto de respaldo importado de ubicación remota)(versión actual)(último incremento: %s)(aprendé más sobre esta importante opción)(los registros se pueden encontrar en la página de configuración de UpdraftPlus como de costumbre)...(asegurate de que tratabas de subir un archivo zip creado previamente por UpdraftPlus)(o conectate usando el formulario en esta página si ya lo compraste)(hacé clic en un ícono para seleccionar o deseleccionar)(el asterisco coincide con cero o más caracteres)Descarga(versión: %s)(ver registro...)... ¡y mucho más!1 hora1 semanaNo la pongas en tu directorio de subidas o de plugins, pues esto provocará que se hagan respaldos de los respaldos.(Parece que ya estás autenticado, aunque podés autenticarte de nuevo para actualizar tu acceso si tuviste algún problema).Después de que guardés tus ajustes (haciendo clic en 'Guardar cambios' abajo), volvé aquí y hacé clic en este enlace para completar la autenticación con %s.Este NO es un nombre de carpeta.Una "migración" es, en última instancia, lo mismo que una restauración pero utilizando archivos de respaldo que se importan desde otro sitio.Ocurrió una excepción PHP (%s): %sOcurrió un error fatal de PHP (%s): %sEl nombre del servidor no puede contener una barra.Una clave con este nombre ya existe; tenés que usar un nombre único.Una búsqueda/reemplazo no se puede deshacer, ¿estás seguro de que querés hacer esto?Se encontró un archivo muy grande: %s (tamaño: %s MB)Ocurrió un error de compresión zipABORTADO: No se puede conseguir la información de qué entidades restaurar.Clave API: %sClave APIAPI secretFalla en la autenticación de AWSClave de acceso: %sID de la cuentaClave de la cuentaCuenta llena: a tu cuenta %s solo le quedan %d bytes, pero al archivo que se va a subir le quedan %d bytes (tamaño total: %d bytes)Cuenta llena: tu cuenta %s tiene solo %d bytes más, y el archivo a subir es de %d bytesNombre de la persona de la cuenta: %sLa cuenta no está autorizada (%s).La cuenta no está autorizada.Tipo de cuentaLas cuentas creadas en rackspacecloud.com son las cuentas de los Estados Unidos de Norteamérica; las cuentas creadas en rackspace.co.uk son las cuentas del Reino Unido.Las cuentas creadas en rackspacecloud.com son las de los EEUU de Norteamérica; las cuentas creadas en rackspace.co.uk son las de Reino UnidoAccionesAcciones sobre los respaldos seleccionadasRegistro de actividadAgregá SFTP para enviar tus datos de forma segura, bloqueá los ajustes y encriptá la base de datos de tu respaldo para agregar un extra de seguridad.Agregar un sitioAgregar regla adicional de retención de base de datosAgregar regla adicional de retención de archivosAgregar una regla de retención adicional...Agregar una regla de exclusiónAgregar una regla de exclusión para %sAgregar una base de datos externa al respaldo...Agregar otra cuenta %s...Agregar otra dirección...Agregar directorio...Agregar regla de exclusiónAgregar sitioAgregá este sitio web a UpdraftCentral (control remoto y centralizado) - gratis para un máximo de 5 sitios.Agregar esta web al escritorio de tu cuenta en UpdraftCentral Cloud en updraftplus.com.Agregando...Ubicaciones de almacenamiento remoto adicionales y mejoradasAlmacenamiento adicionalClave API del administradorNombre de usuario del administradorClave de acceso de administradorClave secreta de administradorAvanzado / Ajustes de depuraciónHerramientas avanzadasÁfrica (Ciudad del Cabo)Tras presionar este botón podrás seleccionar dónde subir tus copias de seguriad en una lista de tus ubicaciones de almacenamiento remoto guardadasDespués de presionar este botón te daremos la opción de elegir los componentes que quieras migrarDespués de hacer clic en este botón vas a tener la opción de seleccionar los componentes que quieras restaurarDespués de respaldar de tu base de datos te recomendamos que instales nuestro plugin WP-Optimize para optimizarla para un mejor rendimiento de la web.Todas las tablas de WordPress serán incluidas en el respaldo.Todos los archivos que comiencen por estos caracteresTodos los archivos que comiencen por estos caracteresTodos los archivos con esta extensiónTodos los archivos/directorios que contenganTodos los archivos/directorios que contengan los caracteres dados en sus nombresTodas la referencias a la ubicación del sitio en la base de datos han sido reemplazadas con la URL del sitio actual: %sTodos los sitiosPermitir borradoPermitir descargaPermitir que solo los administradores inicien sesiónTe permite hacer respaldo solo de los cambios en tus archivos (como por ejemplo una nueva imagen) que hayan tenido lugar en el sitio desde el último respaldo.Casi todos los servidores FTP querrán modo pasivo; pero si necesitás el modo activo, a continuación, desactivá esto.¿Ya tenés espacio?Eliminar también del almacenamiento externoTambién envía este respaldo a las ubicaciones de almacenamiento remoto activasTambién, debería leer esta pregunta frecuente (FAQ) importante.Se encontró una línea de SQL que es mayor que el tamaño máximo de paquete y no se puede dividir; esta línea no será procesada, sino será dada de baja: %sSe estableció una contraseña de administrador.Se requiere un email y es necesario que tenga un formato válido.Una instalación vacía de WordPressUn error ocurrió en el primer comando %s - abortandoOcurrió un error al recuperar las opciones del módulo de almacenamiento:Ocurrió un error al intentar obtener tus complementos.Ocurrió un error al tratar de comprobar la compatibilidad de la creación de rutinas almacenadas (%s %s)Ocurrió un error al tratar de recuperar el estado de la rutina (%s %s)Ocurrió un error al tratar de recuperar la variable MySQL global log_bin_trust_function_creators %sOcurrió un error al tratar de recuperar la declaración de la rutina SQL/DDL (%s %s)Ocurrió un error al tratar de establecer un nuevo valor a la variable MySQL global log_bin_trust_function_creators %sOcurrió un error mientras se cerraba el archivo final de la base de datosSe recibió una respuesta de error; código HTTP:Ocurrió un error desconocido cuando se intentaba conectar a UpdraftPlus.ComEstá disponible una actualización para UpdraftPlus que contiene tus complementos; seguí este enlace para obtenerla.Hay una actualización de UpdraftPlus disponible - conectate aquí para obtenerla.Hay una actualización de UpdraftPlus disponible; seguí este enlace para obtenerla.Y después agregá un respaldo incrementalFunciones de anonimatoAnonimizá los datos personales en los respaldos de tu base de datos.Anonimizar los datos personales de todos los usuarios excepto del personalAnonimizar los datos personales de todos los usuarios excepto el usuario con la sesión iniciadaCualquier otro directorio que se encuentre en wp-contentCualquier otro archivo/directorio de tu servidor que quieras respaldarCualquier ajuste de tus archivos .htaccess o web.config que afecten al máximo de subidas o al tamaño de publicación.Cualquier soporte requerido para %s debe ser consultado con tu proveedor de hosting.A cualquier persona que vea la pantalla de bloqueo se le mostrará esta URL para obtener soporte: ingresá una dirección de sitio web o una dirección de correo electrónico.Módulos de ApacheClave de aplicaciónTamaño esperado del archivo:¿Estás seguro de que querés eliminar %s de UpdraftPlus?¿Estas seguro de que querés descartar todas las noticias de UpdraftPlus para siempre?¿Está seguro de que querés eliminar esta regla de exclusión?Asia PacíficoAsia Pacífico (Hong Kong)Asia Pacífico (Bombay)Asia Pacífico (Osaka-Local) (restringido)Asia Pacífico (Seúl)Asia Pacífico (Singapur)Asia Pacífico (Sydney)Asia Pacífico (Tokio)Pedir a WordPress que actualice automáticamente UpdraftPlus cuando encuentre una nueva versión disponible.Pedir a WordPress que actualice UpdraftPlus automáticamente cuando haya una actualización disponibleHacé preguntas de pre-ventasAsignado a este sitioAl mismo tiempo que el respaldo de los archivosFalló el intento del navegador de contactater con la web.Atribuir contenido importado al usuarioAutenticación con %sAutenticarte con GoogleAutenticaciónFallo de autorización (revisá sus credenciales)Respaldo automáticoRespaldo automático antes de actualizarActualizaciones automáticasHacé respaldos automáticas de tu web antes de actualizar plugins, temas y el núcleo de WordPress.Hacé un respaldo automático (cuando sea relevante) de complementos, temas y la base de datos de WordPress con UpdraftPlus antes de actualizarDisponible para este sitio (a través de tu compra de todos los complementos)Tokens temporales de clonado:Disponible para reclamar en este sitioAzureCuenta AzureAzure ChinaAzure AlemaniaAzure GlobalAzure GovernmentAtrásAtrás...Respaldado: %sRespaldoHacer un respaldo (cuando sea relevante) de los plugins, temas y la base de datos de WordPress con UpdraftPlus antes de actualizarRespaldo / RestaurarContenidos y programación del respaldoHacer ahora un respaldoInforme del respaldoRespaldo del núcleo de WordPress y de archivos y bases de datos que no sean de WordPress.Respaldos de WordPress multisitio (p.ej. redes) con seguridad.El respaldo comenzó:Comenzó a realizarse el respaldoLa respaldo contiene:Respaldo creada por una fuente desconocida (%s) - y no puede restaurarse. Respaldo creada por:Respaldo creada por: %s.Datos del respaldo (hacé clic para descargar)Los datos del respaldo serán enviados a:Fecha del respaldoDirectorio de respaldoEl directorio de respaldo (%s) no tiene permisos de escritura o no existe.El directorio de respaldos no se pudo crearEl directorio de respaldo especificado no> existe.El directorio del respaldo especificado existe, pero no> tiene permisos de escritura.El directorio de respaldo especificado tiene permisos de escritura, lo que es bueno.Directorio de respaldos creado correctamente.La respaldo no existe en el historial de respaldosRespaldar base de datos externaArchivo de respaldo no disponible.Respaldo finalizadaEl respaldo es de: %s.Etiqueta de respaldo:Respaldo hecho por %sRespaldar bases de datos adicionales Respaldos de archivos y base de datos que no son de WordPressRespaldar tablas que no son de WordPress contenidas en la misma base de datos que WordPressRespaldo de:Respaldo de: %sRuta del respaldoRespaldo envía al sitio remoto - no está disponible para tu descarga.Conjunto de respaldos no encontradoConjuntos de respaldos eliminadas:Respaldo exitosoHorario y programación de respaldosRespaldos en ubicaciones de almacenamiento remotoRespaldo usando %s?Respaldo no se enviará a cualquier almacenamiento remoto - no se ha guardado en el directorio%sRealiza respaldos, actualiza y gestiona todos tus sitios WordPress desde un único escritorioLos respaldos están guardados en %s.Formato de nombre de archivo inapropiado - no parece un archivo creado por UpdraftPlusFormato de nombre de archivo inapropiado - no parece un archivo de base de datos cifrado por UpdraftPlusTené en cuenta que los servidores de correo tienden a tener límites de tamaño; normalmente alrededor de los %s MB; Es muy probable que los respaldos que superen los límites no lleguen. Como resultado, UpdraftPlus solo enviará al correo electrónico el respaldo de la base de datos.Tené en cuenta que los servidores de correo suelen tener límites de tamaño de envío de archivos; normalmente alrededor de %s MB; los respaldos más grandes de estos límites probablemente no lleguen.Tené en cuenta que los servidores de correo suelen tener límites de tamaño, por lo general alrededor de %s MB; los respaldos más grandes que los límites probablemente no lleguen.Tené cuidado: si seleccionás / realmente se intentará crear un archivo zip que contenga el servidor web completo.CuidateQuedate tranquilo con un respaldo automáticoIniciadoComenzando a buscar esta entidadBélgicaEnlace al sitioSubidas del blogSe requieren tanto el campo de email como el de contraseña.Explorar contenidosExplorando el archivo zipBucketEstilo de acceso a cubosID de clave de aplicación de bucketUbicación del bucketNombre del bucketComprar %sComprarLlamarLlamá una acción de WordPress:Canadá (Central)CancelarNo se puede crear un nuevo usuario de AWS ya que se está utilizando un kit de herramientas de AWS desconocido.Centro de Estados UnidosCambiar ajustes de bloqueoCambios realizados:Seleccioná este cuadro para enviar un informe básico aMarcá esta casilla para usar el cifrado del lado del servidor de AmazonActiva esta opción para borrar todos los archivos de respaldo superfluos desde el servidor una vez finalizada la ejecución de este respaldo (es decir, si la desactivas, entonces los archivos lanzados remotamente también se mantendrán a nivel local sin límites de retención).Marcá esta casilla para recibir más información y correos electrónicos en el proceso de respaldo - útil si cualquier cosa funciona mal.Chequeá los permisos de los archivos: no se pudo crear ni entrar al directorio:Chequeá los permisos de los archivos: no se pudo crear e ingresar:Chicago (ORD)China (Beijing) (restringido)China (Ningxia) (restringido)Elegí un valor predeterminada para cada tablaSeleccioná los componentes a restaurarElegí los componentes a restaurar:Elegí la frecuencia con la que querés que se ejecuten tus respaldos.Elegí la programación de tus respaldosSeleccioná tu almacenamiento externoReclamo no válido: quizás ya hayas usado esta compra en otro lugar o tu período de pago para descargas de updraftplus.com expiró.Reclamo no concedido: los datos de inicio de sesión de tu cuenta son incorrectosLimpiezaLimpiando basura...Vaciar la lista de sitios existentesClient IDClient SecretClon de %sPaquete del clonClon listoClonar región:Configurando y arrancando el servidor del clon (puede tardar algunos minutos)Clonar:Clonado y migraciónCerrarTermina el 1 de octubre de 2018Archivos en la nubeClave API de Cloud FilesContenedor de Cloud FilesRegión de almacenamiento de Cloud FilesNombre de usuario de Cloud FilesFalló la autenticación de Cloud FilesError de archivos en la nube - accedimos al contenedor, pero falló la creación de un archivo en élError en la operación de Cloud Files (%s)Nombre de usuario de Cloud FilesCompletoCompletar la identificación manualConfirmarConfirma el cambioConflicto: este usuario ya existeConflicto: ese usuario o dirección de correo electrónico ya existe¡Felicidades! Tu primer respaldo está ejecutándose.Felicitaciones, tus ajustes se guardaron correctamente.ConectaterConectater este sitio a UpdraftCentral CloudConectater a UpdraftCentral CloudConectate a updraftplus.comConectate con tu cuenta de %sConectate con tu cuenta UpdraftPlus.comConectatendo...Conexión fallida.Conexión falló: Chequeá los detalles de tu acceso, que tu servidor de datos este activo y que tu conexión de la red no esté bloqueada por un firewall.Conexión exitosa.ConstantesContenedorContiene:URL del contenido:Continuar restauraciónControlá todas tus instalaciones de WordPress desde un único punto usando la gestión remota disponible en UpdraftCentral.Controla todas tus respaldos en único sitioFalló el respaldo de esta entidad.No se pudo acceder al contenedor %sNo se pudo acceder al contenedorNo se pudo crear el contenedorNo se pudo borrar la ruta anterior.No se pudo encontrar este trabajo - ¿quizás haya finalizado?Se se pudo obtener la lista de tablasNo se pudieron mover los archivos antiguos.No se pudo abrir el archivo de respaldo para escribir en élNo se pudo leer uno de los archivos de la restauraciónNo se pudo leer el directorioContando...CrearCreá credenciales de Azure en tu consola de desarrollador de Azure.Creá las credenciales de OneDrive en tu consola de desarrollador de OneDrive.Crear una clave: asigná a esta clave un nombre único (por ejemplo, indicá el sitio para el que es), luego presioná "Crear clave":Crear un nuevo usuario de API con acceso solo a este contenedor (en lugar de a toda la cuenta)Crea un clon temporal en nuestros servidores (UpdraftClone)Crear clonCrear claveCrear nuevo usuario API y contenedorCrear un nuevo usuario de IAM y un bucket de S3Creada respaldo de la base de datosCreados los archivos zip del respaldoCreando respaldos de %s y base de datos con UpdraftPlus... Creando respaldo con UpdraftPlus...Creando respaldo de la base de datosCreando respaldo de la base de datos con UpdraftPlusCreando los archivos zip del respaldoCreando tu primer respaldoCreando...Modo SQL actual:Clones actualesLímite actual:Uso de memoria actualUso actual:DeshabilitadoHabilitadoDiarioDallas (DFW) (predeterminada)Escritorio:Base de datosBase de datos (creada por %s)Base de datos (el respaldo de los archivos no se completó)Opciones de Base de DatosIntervalo del respaldo de la base de datosProgramación de respaldo de base de datosFrase de encriptación de la base de datosFrase de cifrado de la base de datosSolo base de datos (los archivos no formaban parte de este respaldo)Opciones de restauración de la base de datos:La base de datos fue descifrada con éxito.Base de datos: buscar y reemplazar URL del sitioDía del mesDía de la semanaDía para ejecutar los respaldosModo de depuraciónInformación de depuraciónDescifrando base de daros (puede tardar)...BorrarBorrar directorios antiguosBorrar respaldoFalló el borrado:Eliminar de tu servidor webBorrar respaldo localBorrar los respaldos seleccionadasBorrar estos ajustesBorrar este respaldoBorrando...Desplegando datos del sitioDeseleccionarDeseleccionar todoAnular la selección de todos los respaldosRuta del directorioDeshabilitar SSL donde sea posibleDeshabilitaste este plugin: %s: volvé a activarlo manualmente cuando estés listo.DesconectarDesconectando...DescartarDescartado (por %s meses)Descartar todas las noticias de UpdraftPlusDescartar del panel principal (durante %s semanas)Descartar avisoNo abortar después de presionar Proceda a continuación: esperá a que se complete el respaldo.No confundas %s con %s, son cosas separadas.PKCS1 (encabezado PEM: BEGIN RSA PRIVATE KEY), se aceptan formatos de clave XML y PuTTY.No verificar los certificados SSLLea este artículo para saber cosas útiles antes de la restauración.Acordate de guardar tus ajustes.¿Tenés algunos sitios WordPress más a los que quieras hacer respaldo? ¡Si así fuera podés ahorrar horas controlando todas tus respaldos en un solo lugar desde UpdraftCentral"¿Necesita soporte de Multisitio de WordPress?¿Usás UpdraftPlus en varios sitios?¿Querés realizar la importación?¿Querés migrar o clonar/duplicar un sitio?¿No te acordás tu dirección de correo electrónico, o te olvidaste tu contraseña?¿No querés que te espíen? UpdraftPlus Premium puede cifrar el respaldo de tu base de datos.Error descargando: el servidor envió una respuesta que no entendimos.La descarga fallóDescarga en progresoDescargar el archivo de registro (log)Descargar el archivo de registro (log) más recienteDescargar a tu equipoDescargar, si es necesario, los archivos del respaldoArrastrá los archivos de respaldo aquíArrastrá los archivos cifrados de base de datos (archivos db.gz.crypt) aquí para subirlos y descifrarlosDropboxDebido a la restricción, algunos ajustes pueden ser automáticamente ajustados, desactivados o no estar disponibles.Disponibilidad reducida duraderaAsia Pacífico orientalEste de Estados UnidosFácilEditarCorreo electrónicoLos reportes por correo de UpdraftPlus (gratuito) te traen las ultimas noticias de UpdraftPlus.comEncriptá tus bases de datos sensibles (p.ej. información de clientes o contraseñas); hacé respaldo también de bases de datos externas.Base de datos cifradaCifrando base de datosTamaño de clave de encriptación:Terminar guíaDisfrutá de un soporte profesional, rápido y amigable en cualquier momento en que lo necesites con la versión Premium.Asegurate de haber iniciado sesión en la cuenta correcta antes de continuar.Ingresá una lista separada por comas; de lo contrario dejalo en blanco para todas las tablas.Ingresá aquí las direcciones a las que querés que se les envíe un informe cuando finalice una tarea de respaldo.Ingresá cualquier ruta en el campo a continuación.Ingresá el nombre de la base de datosIngresá el nombre de la base de datos.Ingresá detalles de dónde va a estar ubicado este sitio dentro de una instalación multisitio:Ingresá el servidorIngresá el host.Ingresá con el formato HH: MM (por ejemplo, 14:22).Ingresá la contraseñaIngresá la contraseña.Ingresá el prefijo de las tablasIngresá aquí el ID del proyecto %s que desees utilizar.Ingresá aquí el nombre del bucket %s que desees usar.Ingresá aquí la ruta de la carpeta %s que quieras usar.Ingresá aquí la ruta de l%s que desees utilizar.Ingresá el nombre de usuarioIngresá el nombre de usuario.Ingresá su nombre de usuario/clave API de administrador de Rackspace (para que Rackspace pueda autenticar tu permiso para crear nuevos usuarios) e ingresá un nuevo nombre de usuario (único), una dirección de correo electrónico para el nuevo usuario y un nombre de contenedor.Ingresá tu cuenta de correo electrónico / contraseña aquí para conectar:Ingresá tus claves de acceso/secreta administrativas de Amazon S3 (debe ser un par de claves con suficientes derechos para crear nuevos usuarios y buckets), un nuevo nombre de usuario (único) para el nuevo usuario y un nombre de bucket.Ingresá el nombre elegidoErrorError - Fallo en la descarga del archivoError - no existe tal archivo.Datos del error:Error bajando (downloading) el archivo remoto: Falló la descargaMensaje de errorError al abrir el archivo local: Fallo al descargarError abriendo un archivo remoto: falló la descargaError al crear un nuevo sitio en la dirección elegida:Error:Error: %sError: falló la descargaError: No se pudo inicializarError: No se pudo abrir el archivo localError: Fallo en la subidaError: ruta no válidaError: el servidor envió una respuesta vacía.Error: el servidor nos envió una respuesta (JSON) que no entendimos.Error: el servidor envió una respuesta (JSON) que no entendemos.Error: parámetro vacío inesperado (%s, %s)Error: inesperada falla en lectura de archivoError: tenés suficiente cuota de almacenamiento disponible (%s) para subir este archivo (%s) (%s).ErroresErrores/advertencias:Errores encontrados:Hubo errores:Se produjeron errores al intentar conectarse a UpdraftPlus.Com:Ocurrieron errores:Errores:Europa (Frankfurt)Europa (Irlanda)Europa (Londres)Europa (Milán)Europa (París)Europa (Estocolmo)Unión EuropeaCada %s horasTodas las horasEjemplos de proveedores de almacenamiento compatibles con S3:Excluir archivos/directoriosExcluirlos deExcluir estos:Respaldos existentesClaves existentesSalir de pantalla completaAjustes para expertosAjustes de exportación / importaciónExportar configuraciónExtensionesBase de datos externasBase de datos externa (%s)Base de datos extraFAQsDatos de inicio de sesión FTPContraseña FTPServidor FTPFacebookErrorFallo al acceder a %s cuando se eliminaba (mira el archivo de registro para saber más)Fallo al aplicar la política de usuarioFalló el respaldo de la tabla de la base de datos:No se pudo crear una clave de UpdraftCentralFallo al crear un directorio temporalNo se borró el directorio de trabajo después de restaurar.Fallo al descargarFallo al descargar %sFallo al buscar un archivo de manifiesto en el respaldo. Fallo en encontrar la base de datosFallo al abrir la base de datosFallo al abrir el archivo de la base de datos para tu lectura:Fallo al abrir el archivo de la base de datos.Fallo al abrir el directorio (revisá los permisos y si eres el propietario del archivo): %sFalló la apertura del directorio para tu lectura:Fallo al abrir el archivo zip (%s) - %sFallo al leer desde el directorio de trabajo.Fallo al leer el archivo de manifiesto en el respaldo.Fallo al buscar y reemplazarFallo al buscar y reemplazar:No se pudo descomprimir el archivoFallo al subir %sFallo al subir a %sFallo al escribir la base de datos descifrada al sistema de archivosFallido: pudimos iniciar sesión y movernos al directorio indicado, pero no pudimos crear correctamente un archivo en esa ubicación.Error: pudimos iniciar sesión, pero no pudimos crear correctamente un archivo en esa ubicación.Fallo: No pudimos colocar un archivo en ese directorio - comprueba tus credenciales.Fallo: no se pudo iniciar la operación %s.Fallo: no pudimos entender el resultado devuelto por la operación %s.FalloFallo: %s no fue dado.Fallo: No se dieron los detalles del cubo.Fallo: Lo detalles del contenedor no fueron dados.Fallo: No se han facilitado detalles de la variable.Fallo: Los detalles del servidor no fueron dados.Fallo: El puerto debe ser un entero.Fallo: no tuvo éxito el inicio de sesión con esas credenciales.Fallo: la identificación tuvo éxito, pero no pudimos crear un archivo en el directorio indicado.RápidoSoporte rápido y personalTraerRecuperando...Se encontró el archivo (%s), pero tiene un tamaño diferente (%s) del que se esperaba (%s) - puede estar dañado.Opciones de archivoOpciones de respaldo de archivosEl archivo no está en el hosting local - es necesario recuperarlo del hosting externoArchivo no encontradoNo se ha encontrado el archivo (tenés que subirlo): %sArchivo preparado.Se encontró el archivo, pero tu tamaño es cero (tenés que volver a subirlo): %sArchivo/directorioArchivosArchivos (el respaldo de la base de datos no se completó)Archivos y base de datosRespaldo de los archivos y la base de datos de WordPress (creada por %s)Respaldo de los archivos (creada por %s)Intervalo de los archivos del respaldoProgramación de respaldo de archivosLos archivos modificados desde el último respaldo serán agregados como un nuevo incremento en este conjunto de respaldos.Archivos encontrados:Solo archivos (la base de datos no formaba parte de este respaldo)Archivos/directorios que contengan los caracteres dados en sus nombresComprobaciones finalesSabé másObtené más información acerca de los respaldos incrementales aquí.Averigua más aquí.Las huellas digitales no coinciden.TerminarFinalizadoPrimero, ingresá tu frase de cifradoFlexibleCarpetaSeguí este enlace para obtener ayudaSeguir este enlace para mayor informaciónSeguí este enlace para intentar descifrar y descargar en tu equipo el archivo de la base de datos.Hacé clic aquí para tratar de crear el directorio y establecer los permisosSeguí este enlace para autorizar el acceso a tu cuenta de %s (no vas a poder hacer respaldos en %s si no realizás este paso).Seguí este enlace para descargar el archivo de registro para esta restauración (necesario para cualquier solicitud de soporte).Seguí este enlace para borrar los ajustes de este sitio para %s.Seguí este enlace para suscribirte al boletín informativo, gratis.Seguí este enlace para ir a las instrucciones de instalación (en particular al paso 1).Seguí ente enlace para ir a la consola de Google API, y ahí activa el disco API y crear un ID de cliente en la sección de API Access (acceso).Seguí este enlace a tu Consola API de Google, y allí activá la API de almacenamiento y creá un ID de cliente en la sección Acceso a la API.Para respaldos más antiguas quePara ver mas características y soporte personal, miráPara un control futuro de todas tus conexiones a UpdraftCentral, andá a la pestaña de "Herramientas avanzadas".Para obtener ayuda con la configuración de %s incluyendo capturas de pantalla, seguí este enlace.Para los respaldos incrementales podés elegir qué incrementos restaurar en una etapa posterior.Para más ayuda, incluyendo capturas de pantalla, sigue este enlace.Para más opciones, usá la versión PremiumPara tener más tipos de informes, usá la versión PremiumPara la habilidad de bloquear el acceso a la configuración de UpdraftPlus, compre el UpdraftPlus Premium Para poder migrar sitios web, actualízate a UpdraftPlus Premium.Para obtener soporte para desbloquear comunicate con quien administre UpdraftPlus por vos.Prohibir a los usuarios que no sean administradores iniciar sesión en WordPress en tu clon.¿Has olvidado tus detalles?QuincenalEncontrado SET NAMES %s, pero cambiando a %s como sugiere WPDB::determine_charset().Se han encontrado y reemplazado las restricciones de clave externa de la tabla existente, ya que el prefijo de tabla ha cambiado.FrankfurtGratisEspacio de disco disponible gratis:Plugin de dos factores de seguridad gratisPortada:Respaldo completoLista completa de caracteristicasPantalla completaPodés encontrar más información en la consola JavaScript del navegador y en los registros de errores PHP del servidor.Obtené %s desde la tienda de UpdraftPlus.comObtené aquí %sHacete PremiumConseguí UpdraftCentralConseguilo en la tienda UpdraftPlus.ComConsíguelo aquíConseguir más cuota de espacioObtenelos desde %s o registrá %s.IrAndá acáAndá aquí si necesitás ayudaMás información aquí.Andá acá para desactivarlo.Hacé clic aquí para empezar a instalarlo.Andá aquí para conectarte.Andá acá para conectar.Andá aquí para reingresar tu contraseña.Ir Ir a ajustesAndá al escritorio de UpdraftCentral CloudSubir un nivelVa a la página de pago de updraftplus.comVa a la página de finalizar compra de updraftplus.comGoogle CloudGoogle DriveLista de archivo de Google Drive: fallo al acceder la carpeta principal Código HTTP:Aún no obtuviste un token de acceso de Google; tenés que autorizar o volver a autorizar tu conexión con Google Cloud.Aún no se obtuvo una señal de acceso desde Google - tenés que autorizar o re-autorizar tu conexión a Google Drive.Todavía no obtuviste un token de acceso de Google; tenés que autorizar o volver a autorizar tu conexión a Google Cloud.Hong Kong (HKG)Servidor¿Cómo obtengo una clave del sitio?Sin embargo, los archivos de UpdraftPlus son archivos zip/SQL - así que si estás seguro que son del el formato correcto podés renombrarlos siguiendo el patrón.Sin embargo, accesos subsecuentes también fallaron:Acepto los términos y condiciones de UpdraftCloneConsiento a %sOperación IAM fallida (%s)Si Google te muestra luego el mensaje "invalid_client" es porque no ingresaste un Client ID válido aquí.Si después OneDrive te muestra el mensaje "unuthorized_client" es que no ingresaste un ID de cliente válido aquí.Si hacés una solicitud de soporte, por favor incluí esta información:Si no, completá tu información y se registrará una nueva cuenta.Si no, necesitarás eliminar datos de esta tabla, o contactater con tu empresa de hosting para solicitar más recursos.Si el envío directo de sitio a sitio no te funciona, existen otros tres métodos - por favor prueba uno de estos en tu lugar.Si no se logra, verifique los permisos en tu servidor o cambie a otro directorio que se pueda escribir.Si este respaldo fue creada por un plugin diferente, entonces UpdraftPlus Premium podrá ayudarte. Si lo estás usando seleccioná una ruta del árbol de directorios a continuación y luego presioná confirmar selección.Si ya tenés una cuenta en updraftplus.com, por favor ingresá los detalles abajo.Si estás teniendo problemas con la identificación con %s, aquí podés autorizarlo manualmente.Si no estás seguro no lo hagas; de lo contrario podés romper esta instalación de WordPress.Si no estás seguro de para qué es esta opción no la vas a querer habilitada.Si estás viendo más respaldos de los que esperabas probablemente sea porque el borrado de conjuntos de respaldos antiguos no se realiza hasta que se completa un respaldo reciente.Si está usando esto apagá el modo Turbo/Road.Si hacés respaldos de varios sitios en el mismo Dropbox y querés organizarlos en subcarpetas %sprobá la versión Premium%sSi compraste nuevos complementos, seguí este enlace para actualizar la conexiónSi aún puede leer estas palabras después de que la página termine de cargarse, entonces hay un problema en el sitio con JavaScript o jQuery.Si no querés restaurar todas las tablas de tu base de datos entonces elegí aquí las que quieras excluir.Si ingresás un prefijo de tabla solo se respaldarán las tablas que comiencen con este prefijo.Si excluís tanto la base de datos como los archivos, ¡entonces estás excluyendo todo!Si tenés una licencia Premium válida, tenés 1GB de almacenamiento incluido.Si ya renovaste necesitás asignar una licencia a este sitio -%sSi tenés un usuario administrador de AWS podés usar este asistente para crear rápidamente un nuevo usuario de AWS (IAM) con acceso solo a este bucket (en lugar de a toda la cuenta).Si tenés un respaldo existente desde la que deseas subir y restaurar usá el enlace "Subir archivos de respaldo" anterior.Si te olvidaste la contraseñaSi olvidaste tu contraseña, y luego ir aquí para cambiar tu contraseña en updraftplus.com.Si has hecho la compra en UpdraftPlus.com entonces sigue este enlace a las instrucciones de instalación (en particular el paso 1).Si lo dejás en blanco, el respaldo se colocará en la raíz de tu %sSi ve errores sobre certificados SSL, vaya aquí para obtener ayuda.Si querés encriptación (por ejemplo: estás almacenando datos sensibles del negocio), hay disponible una extensión en la versión Premium.Si querés restaurar un sitio de múltiples respaldos, primero tenés que configurar tu instalación de WordPress como multisitio.Si querés, probá actualizar a una versión diferente de PHP o de WordPress.Si la base de datos incluye tablas adicionales que no forman parte de este sitio de WordPress (sabrá si este es el caso), activá esta opción para también respaldarlas.Importar configuraciónImportadorImportación de un sitio individual a una instalación multisitioImportando...En %s, los nombres de las rutas distinguen entre mayúsculas y minúsculas.Incluí todas las tablas que no están en la siguiente listaIncluir en los archivos de respaldoIncluir tu base de datos en el respaldoIncluir tus archivos en el respaldoIncompletoIncrementalRespaldos incrementalesLas respaldos incrementales son una característica de %s (actualizá siguiendo este enlace).Existen incrementos en: %sBucle infinito: consultá el archivo de registro para más informaciónInformación necesaria para continuar:Instalar plugins de depuración:InstaladoNivelación inteligente¿Estás interesado en saber más sobre la seguridad con contraseña de UpdraftPlus.com? Leé más sobre ello aquí.Presentamos UpdraftCentralId de trabajo no válidoNombre de bucket no válidoIowaPareciera que la Dirección IP (%s) esta bloqueada en tu navegador.También podés hacer respaldo de bases de datos externas.Fue probado hasta la versión %s.Es un numero del ID interno de Google DriveEs para el envío de respaldos al siguiente sitio:Se importará como un sitio nuevo.Advertencia de JavaScripID del trabajo: %sTrabajo eliminadoKey (llave)Clave creada con éxito.Las claves para un sitio se crean en la sección "recibir un respaldo de un sitio remoto".Necesita ser autenticado URI con v2 (Keystone); v1 (Swauth) no está soportado.Respaldos conocidas (en bruto)Último mensaje del archivo de registro (log)Últimas noticias de UpdraftPlus.com:Último respaldo completo encontrado; identificador:Último estado:Página web del desarrollador principalAprendé másMás información sobre UpdraftCentralDejá este espacio en blanco para utilizar el valor predeterminado (80 para webdav, 443 para webdavs)Dejalo en blanco y asumirá la configuración predeterminada.Cargando registroCargando…La subida local del respaldo ha comenzado; por favor, comprueba la pestaña de estado actual para ver el progreso de la subidaArchivos locales eliminados:Fallo en la escritura local: falló la descargaBloquea el acceso a UpdraftPlus mediante contraseña para que puedas elegir qué usuarios administradores pueden acceder a los respaldos.Bloquea en acceso a la página de configuración de UpdraftPlusBloquear configuraciónRegistrar todos los mensajes en el syslogRegistrar todos los mensajes en el syslog (es probable que solo los administradores del servidor quieran esto)Iniciá sesión aquí para habilitar todas las funciones a las que tenés acceso.Accede o regístrate en UpdraftCentral CloudAccede o regístrate con esta cuenta de emailAcceso correcto.Inicio de sesión correcto; recargando la información.LondresLondon (LON)Revisa estos ajustes y hacé los cambios que quieras.Buscando archivo (%s), nombre del archivo: %sSimplifica las actualizaciones con UpdraftPlusGestionar extensionesGestioná tus clonesLa identificación manual no está disponible para este método de almacenamiento remotoOpciones de respaldo manualDescifrar manualmente un respaldo de la base de datos¿Tenés muchos sitios?ID de clave maestra de aplicaciónQuizás más tardeLimite de MemoriaMensajes:Medio Oriente (Bahréin)Migrar (crear un respaldo un sitio en un hosting que controlas)Migrar / ClonarSitio migrado (desde UpdraftPlus)Clave de migración creada:MigratorFaltan datos de identificación:Falta el ID de la instancia:Páginas no disponibles:Parámetros faltantesMensualMás archivosMás opciones de base de datosMás fantásticos plugins del equipo de UpdraftMás información aquí.Más pluginsMás plugins de calidadMás ajustesMás tareas:Quitando de en medio los datos antiguos...Moviendo el respaldo desempaquetado a...MultisitioInstalación multisitioPlugins indispensables (MU)Tené en cuenta que %s no distingue mayúsculas y minúsculas.Nótese que la información anonimizada no se puede recuperar; los datos originales no anonimizados estarán ausentes del respaldo.N.B. Si instalas UpdraftPlus en varios sitios WordPress, entonces no podés reutilizar tu proyecto; tenés que iniciar uno nuevo desde la consola de Google API para cada web.Nota: No se realizará ningún respaldo de la base de datos en un respaldo incremental; si también querés respaldar la base de datos tenés que hacerlo por separado.Nota: Este recuento está basado en lo que fue, o no fue, excluyendo la última vez que guardaron las opciones.Nota: Esto solo es necesario si aún no creaste el bucket y querés que UpdraftPlus lo cree por vos.Nombre: %s.Línea cerca¿Necesitás espacio?¿Necesitás soporte?¿Necesita usar subcarpetas?Tiene que existir yaRed / MultisitioTema de activación de red:Red y multisitioNuncaNuevo nombre de usuario IAMDirección de correo electrónico del nuevo usuarioNombre de usuario del nuevo usuarioNuevo sitio:NoticiasSuscripción al Boletín Informativo (Newsletter) SiguientePróximas respaldos programadosNoNo se encontraron %sNo se encontraron los ajustes %sNo se encontró ningún Vault (¿se ha movido?); por favor desconectate y conectate de nuevo.Sin anunciosNo se completó ningún respaldoNo hay respaldo de %s directorios: no se encontró nada para hacer respaldarNo hay respaldos de la ubicación: no se encontró nada que respaldarNo se encontraron tablas en la base de datosNo es posible realizar un respaldo incremental de tus archivos ya que no se encontró un respaldo existente adecuado para agregar incrementos.Aún no se han creado claves para permitir que los sitios remotos envíen datos de los respaldos aquí.No hay presente una copia local.No se encontraron archivos de registro.No se encontró un respaldo previo al cual agregarle un incremento.No se encontraron respaldos previos.No se han agregado sitios de recepción.No se encontraron ubicaciones de almacenamiento con opciones válidas.No se encontraron ajustesNo se encontraron ninguna configuración, por favor andá a la pestaña de configuración y revisá los parámetros.No existe tal paquete de respaldosNo se encontraron componentes válidos, seleccioná diferentes componentes o un conjunto de respaldos con componentes que se puedan restaurar.NingunoVirginia del NorteNoreste de AsiaNorthern Virginia (IAD)¿No tenés una cuenta? O sigue uno de comprando algunos tokens aquí.¿No tenés ningún servicio de almacenamiento remoto?No está instalada¿Todavía no tenés una cuenta (es gratis)? ¡Créate una aquí!Tené en cuenta que Google no admite todas las clases de almacenamiento en todas las ubicaciones; necesitás leer la documentación para conocer la disponibilidad actual.Tené en cuenta que después de haber reclamado tus complementos, podés eliminar tu contraseña (pero no la dirección de correo electrónico) de los ajustes a continuación, sin afectar el acceso de este sitio a las actualizaciones.Tené en cuenta que no todos los métodos de respaldo en la nube usan necesariamente identificación SSL.Nota:Nada programado actualmenteNada que hacer: la URL del sitio ya está: %sTodavía no hay nada conectadoAvisoOkOk, lo merecésABSPATH anterior:Antiguo prefijo de la tabla:Contraseña de un solo uso (One Time Password). Fijate en tu app OTP para obtener esta contraseña.Un VPS (Virtual Private Server) por clon, no compartido con nadie.Una o más respaldos fueron agregadas desde la exploración del hosting externo; ten en cuenta que estos respaldos no se borrarán automáticamente mediante los ajustes de "retención" cuando desees borrarlas, vas a tener que hacerlo manualmente.OneDriveOneDrive AlemaniaOneDrive InternacionalSolo permite que este respaldo se elimine manualmente (es decir, consérvala incluso si se alcanzan los límites de retención).Solo respaldo de la base de datos por correo electrónico.Solo se pudo hacer respaldo de la base de datos de WordPress; tenés que hacer el respaldo de la base de datos externa manualmente.Navegador OperaFalló la operación de creación de clave de acceso de usuarioOptimizePress 2.0 codifica los contenidos, por lo que buscar/reemplazar no funciona.Opciones (en bruto)O si prefieres tu propio host, entonces podés usar la versión para hosting personal aquí.O, si están en un almacenamiento remoto, podés conectar con ese almacenamiento remoto (en la pestaña "Ajustes"), guardar tus ajustes y usar el enlace "Volver a explorar el almacenamiento remoto".O bien, utiliza una clave de UpdraftCloneO bien, puede colocarlo manualmente en el directorio de UpdraftPlus (normalmente wp-content/updraft), por ejemplo mediante FTP, y luego usa el enlace "re-escanear" anterior.OregonOtras %s preguntas frecuentes (FAQs).Otros plugins genialesOtrosDe lo contrario, se mostrará el enlace predeterminado.De lo contrario, podés dejarlo en blanco.En caso contrario, ¡podés probar UpdraftVault 1 mes por solo 1$!Sobrescribir el archivo wp-config.phpInformación PHPModo pasivoContraseñaContraseña incorrectaContraseña: %sPegá la clave aquíRutaEstilo de rutaPodés realizar los pagos en dólares US, euros o libras esterlinas GB, con tarjeta o mediante PayPal.Tope de uso de memoriaRealizar un respaldoQuizá lo que quieras es acceder.Permite que pase el tiempo necesario para que se completen las comunicaciones con el almacenamiento remoto.Probá UpdraftPlus Premium.Por favor, revisá el registro del error para más detallesPor favor, revisá sus credenciales de acceso.Elegí un archivo o directorioPor favor, consultá las FAQ si tenés problemas con los respaldos.Por favor, contactate con tu empresa de hosting (%s) si necesitás más soporte.Por favor, introduzce una extensión de archivo, como zipIngresá una dirección URL correctaPor favor, ingresá una URL válida, p.ej. http://ejemplo.comPor favor, introduzce una extensión de archivo válidaPor favor, introduzca un prefijo de nombre de archivo válidoPor favor, ingresá los caracteres por los que comienza el nombre del archivo que querés excluirPor favor, ingresá la parte del nombre del archivoPor favor, ingresá tu dirección de correo electrónico de %sPor favor, ingresá tu contraseña de %sPor favor, completá la información requerida.Por favor sigue usa enlace para abrir %s en una nueva ventana.Por favor, dar esta clave un nombre (por ejemplo, indican que el sitio es para):¡Asegurate de haber anotado la contraseña!Volvé a autorizar la conexión con tu cuenta %s, por favor.Por favor, lee %s para usar nuestra %s app de autorización (no se nos enviará ningún dato de tus respaldos).Por favor, accedé a este enlace para informarte de información importante acerca de este proceso.Por favor, seleccioná un archivo/carpeta que quieras excluirSeleccioná todos los archivos de respaldo que quieras restaurar:Por favor, especifica el nombre de la carpeta de Microsoft OneDrive, no la URL.Por favor, facilite la información solicitada y luego continúe.Espera mientras nos conectamos con UpdraftPlus.com ...Por favor espera mientras el sistema genera y registra una clave de cifrado para tu web con UpdraftCentral Cloud.Por favor espera mientras eres redireccionado a UpdraftCentral Cloud.Esperá mientras hacemos el reclamo ...PluginsPuertoPreguntas (FAQ) de preventaRespaldos antes de actualizarPremiumPremium / ExtensionesPremium / Más informaciónSoporte Premium / ProPlugin de Woocommerce PrimiumPreparar los archivos del respaldoHacé clic en un botón para empezar.Hacé clic en aquí para descargar o navegarHacé clic en aquí para mirar dentro de tu directorio de UpdraftPlus (en tu espacio de hosting web) para buscar cualquier conjunto de respaldos que hayas subido.Hacé clic en aquí para ver los métddos de almacenamiento remoto disponibles para las copias de seguriad existentes (de cualquier sitio web, si están almacenados en la misma carpeta).Hacé clic en aquí para realizar un respaldo manual.Hacé clic en aquí para guardar tus ajustes.¡Hacé clic en aquí para empezar!Hacé clic en este botón para hacer una vista guiada del plugin.Proceder con la actualizaciónPlugin procesado:ProcesandoProcesando archivos - por favor, espera...Procesando table (%s)Procesando...ID del proyectoProtocolo (SSL o no)Ofrece ayuda y soporte experto de los desarrolladores donde lo necesites.Eliminando paquetes de respaldo antiguosCuota:Huella digital RSAEnlace al RSSHistorial de respaldos en brutoLeé las FAQ aquí.Leer másLeé más sobre %s aquí.Leer más sobre Easy Updates ManagerLeé más sobre el estilo de acceso a cubosLeé más sobre las ubicaciones de los bucketsLeé más sobre cómo funciona...Leé más acerca de la encriptación del lado del servidorLeé más sobre las clases de almacenamientoLeer más...Leé aquí las FAQs de %s.Leé este artículo para ver paso a paso cómo se hace.Lea esta guía para probables causas y como arreglarlas.Recibir un respaldo desde un sitio remotoRecibiendo datos del sitioID de trabajo del respaldo iniciado recientemente: %sRecomendado: optimizá tu base de datos con WP-Optimize.Actualizar conexiónEstadoRegiónRegión: %sRegistro correcto.FiableRecordá esta opción la próxima vez (todavía vas a poder cambiarla)Opciones de almacenamiento remotoArchivos remotos eliminados:Ruta remotaAlmacenamiento remotoIdentificación en el almacenamiento remotoPara la identificación es obligatorio el método de almacenamiento remoto y el ID de la instancia.Almacenamiento remoto: %sEliminarEliminar directorios antiguosReemplazar conReportandoEl juego de caracteres solicitado (%s) no está presente, cambiando a %s.El mapa de tabla de caracteres solicitado (%s) no está presente - cambiando a %s.El cotejamiento de tabla selecccionado (%1$s) no está presente - cambiando a %2$s.Los cotejamientos de tabla selecccionados (%1$s) no está presente - cambiando a %2$s.El motor de tablas solicitado (%s) no está presente - cambiando a MyISAM.Solicitando empezar el respaldo...Solicitar contraseña nuevamente despuésNo se proporcionó la información necesaria para restaurar este respaldo (%s)Volver al explorar la carpeta local para los nuevos conjuntos de respaldosRe-escaneando almacenamiento remotoVolviendo a explorar (buscando respaldos subidas manualmente al hosting interno de respaldos)...Volviendo a explorar el almacenamiento externo y local en busca de paquetes de respaldo...Restablecer guíaProgreso de la restauración:RestaurarRestaurar un conjunto de respaldo existente, a este sitioRestaurar el respaldoError de restauración:Restaurar archivos desdeLa ubicación de restauración no existe en el sistema de archivos para:Ubicación de restauración encontrada para:Restaurando %s1 archivos de %s2Restaurando rutina almacenada: %sRestaurando la tabla: %sRestaurando la base de datos... (en sitios grandes podría tardar mucho tiempo - si obtiene errores de exceso de tiempo de ejecución de comandos (timeout), lo que puede pasar si tu proveedor de hosting (hosting) tiene configurado tu hosting con recursos limitados, entonces debe usar un método diferente como phpMyAdmin)La restauración reemplazará la base de datos, los directorios, temas, plugins, subidas, y/o otros directorios de wp-content (según lo que contenga este paquete de respaldo, y tu selección).Conservar todos estos respaldos programados de la base de datosConservar todos estos archivos de respaldos programadosRecuperando (si es necesario) y preparando los archivos de respaldo...Volver a la configuración de UpdraftPlusVolver a la configuración de UpdraftPlusReseñá UpdraftPlusFilas examinadas:Filas por loteEjecutá este comando para ver el archivo de registro de esta restauración (necesario para cualquier solicitud de soporte).Utiliza los recursos de un destacado proveedor de cloud computing.S3 (Compatible)Bucket de S3Región de almacenamiento S3Ajuste de servidor SCP/SFTPContraseña/clave SCP/SFTPAjustes de usuario SCP/SFTPComandos SQL de actualización ejecutados:GuardarGuardar cambiosAhorrça tiempoGuardando...BuscarBuscar / reemplazar en la base de datosBuscar y reemplazar la ubicación del sitio en la base de datos (migrar)Búsqueda y reemplazo correctos.Tabla de búsqueda y reemplazo:BuscarClave secreta: %sSeguroProtege instalaciones multi-sitio, informes avanzados y mucho más.Consultá las pautas de Google sobre la asignación de nombres de buckets siguiendo este enlace.Consultá las pautas de Microsoft sobre la denominación de contenedores siguiendo este enlace.Mirá también la versión Premium en nuestra tienda.Mirá también estas preguntas frecuentes (FAQ).Seleccioná 'Aplicación web' como el tipo de aplicación.Seleccionar archivosElegí un archivo para ver tu información.Seleccioná un archivo/carpeta que quieras excluirSeleccioná una forma de excluir archivos o directorios del respaldoSeleccionar todoSeleccionar todo (este sitio)Seleccionar todos los respaldosSeleccioná la carpeta en la que están localizados los archivos/directorios que te gustaría excluirSeleccioná una ubicación de almacenamiento remoto a la que quieras subir este conjunto de respaldoSeleccioná de lo que quieras hacer respaldoEnviarEnviar un respaldo a otro sitioEnviar un reporte solo cuando hay advertencias/erroresEnviar informesEnviar respaldos programados a este destino:Enviar este respaldo al almacenamiento remotoEnviar a un sitio:Enviando respaldo al almacenamiento remotoEnviado archivos al sitio remotoCifrado del lado del servidorEstablece las horas exactas para crear o borrar respaldos.AjustesMostrar todos los respaldos…Mostrar ajustes para expertosMostrar más respaldos…Mostrar el historial de respaldos en bruto y la lista de archivosMostrar las opcionesIniciá sesión con %sRegístrateSingapurSitioLos datos del sitio se han desplegadoDatos del sitio recibidosInicio del sitio:Información del sitioInformación del sitio:Clave del sitioTamaño del sitioTamaño: %s MBSaltar este pasoTablas omitidas:Tabla %s omitida: ya fue restaurada en una ejecución anterior; siguiente tabla a restaurar: %sTabla %s omitida: el usuario ha elegido no restaurar esta tablaSaltando: este archivo ya fue restaurado.Entonces, para obtener la clave del sitio remoto, abrÍ la ventana 'Migrar sitio' en ese sitio y andá a esa sección.Algunos plugins de respaldos no son capaces de restaurar copias, por eso la versión Premium te permite restaurar respaldos de otros plugins.Algunos archivos se estçan descargando aún o están siendo procesados - esperá por favor.Informes sofisticados y capacidades de envío por correo electrónico.Sudamérica (San Pablo)Carolina del SurSureste de AsiaSureste de AustraliaDividir archivos cada:Dividir línea para evitar sobrepasar el tamaño máximo de archivo.EstándarEstándar (acceso poco frecuente)Comenzar la suscripción de %sComenzar la prueba de %sComenzar suscripciónComenzar pruebaComenzar una suscripción a UpdraftVault de %sIniciar el respaldoHora de inicioComenzando respaldo automático...Clase de almacenamientoGuardar enPodés cancelar la suscripción en cualquier momento.CorrectoExitoso: Éxito: iniciamos sesión con éxito, y confirmamos la posibilidad de crear un archivo en el directorio indicado (tipo de acceso:No se ha encontrado suficiente información sobre el avance de la operación de restauración.SoporteURL de asistenciaComplementos de respaldo soportados: %sSidneySydney (SYD)La tabla %s tiene muchas filas (%s) - esperamos que tu proveedor de hosting te proporcione los recursos suficientes para volcar esa tabla en el respaldo.Prefijo de las tablasEl prefijo de la tabla ha cambiado: cambiando %s campo(s) de la tabla en consecuencia:Tablas examinadas:TaiwánRealizar guíaRealiza una nueva respaldoRealiza un respaldo incrementalSolo necesitás el tiempo de crear un respaldo y enviarla.El equipo de UpdraftContame másContame más acerca de los respaldos incrementalesinquilinoProbar ajustes %sProbar conexión...Probando los ajustes %s...Probá de conexión ...Probando...¡Gracias por instalar UpdraftPlus!Gracias por hacer el tour.¡Muchas gracias!Estás tratando de subir un archivo zip previamente creado con UpdraftPlus.La conexión %s excedió el tiempo de ejecución; si introdujo el servidor correctamente, entonces probablemente esté causado porque un firewall está bloqueando la conexión - deberías revisarlo con tu proveedor de hosting web.El objeto %s no se encontróEl botón de 'Hacer respaldo ahora' esta desactivado porque en directorio de respaldos no tiene permisos de escritura (andá a la pestaña de 'Ajustes' y buscá la opción relevante).La clave de acceso a AWS parece no ser correcta (las claves de acceso válidas %s comienzan por "AK")La conexión con la base de datos fue cerrada y no puede ser reabierta.UpdraftPlus Migrator modifica la operación de restauración de manera adecuada para ajustar los datos de respaldo al nuevo sitio.El módulo UpdraftPlus para este método de acceso a archivos (%s) no admite listas de archivosLa carpeta (wp-content) de WordPress no se encontró en este archivo zip.La extensión de suscripciones WordPress para dueños de tiendas WooCommerce.Los directorios de arriba tienen todo, excepto por el núcleo de WordPress que puede ser descargado completo desde WordPress.org.Los archivos anteriores comprenden todo en una instalación de WordPress.Se modificó la contraseña del administrador.Se eliminó la contraseña del administrador.La cantidad de memoria (RAM) permitida por PHP es muy baja (%s MB) - debería incrementarla para evitar fallos por insuficiencia de memoria (consulte a tu proveedor de hosting para más información)La cantidad de tiempo permitido para ejecuciones de plugins de WordPress es muy baja (%s segundos) - deberías incrementarla para evitar fallos de respaldos por exceso de tiempo de ejecución de comandos (consulta con tu proveedor de hosting web para obtener ayuda - se trata del ajuste PHP max_execution_time; el valor recomendado es %s segundos o más)Falló el intento de abrir y leer el contenido del archivo de contraseñas; asegurate de que el archivo sea legible y no esté siendo bloqueado por otro procesoEl intento de enviar el respaldo mediante correo electrónico falló (probablemente el respaldo era demasiado grande para este método)El intento de deshacer la doble compresión falló.El intento de deshacer la doble compresión tuvo éxito.La memoria disponible en el servidor.El intento de respaldo terminó, al parecer sin éxitoEl directorio del respaldo no tiene permisos de escritura ( o el disco está lleno) - es probable que el respaldo de la base de datos falle dentro de poco.El proceso de respaldo terminóEl respaldo no terminó; se ha programado una reanudaciónEl respaldo se está abortando por un fallo repetido en su progreso.Los registros del respaldo no contienen información sobre el tamaño apropiado de este archivo.Se abortó el respaldoEl respaldo fue cancelado por el usuarioLa comunicación con %s fue cifrada.La comunicación con %s no fue cifrada.La creación de los datos de tu respaldo para crear el clon debería comenzar ahora.El respaldo de base de datos MySQL no utiliza características disponibles en la versión antigua de MySQL (%s) que este sitio está ejecutando.El archivo de la base de datos parece haber sido comprimido dos veces - probablemente la web descargada tenía un servidor web mal configurado.La base de datos es demasiado pequeña para ser una base de datos válida de WordPerss (tamaño: %s KB).El servidor de la base de datos en el que se está ejecutando este sitio WordPress no es compatible con el mapa de caracteres (%s) que estás tratando de importar.El servidor de la base de datos en el que se está ejecutando este sitio WordPress no es compatible con los mapas de caracteres (%s) que estás tratando de importar.El servidor de base de datos que está utilizando este sitio WordPress no es compatible con el cotejamiento (%s) usado en la base de datos que estás intentado importar.El servidor de base de datos que está utilizando este sitio WordPress no es compatible con los cotejamientos (%s) usados en la base de datos que estás intentado importar.La clave de descifrado usada:El directorio no existeEl directorio no existe, y el intento de crearlo fallóEl enlace de descarga está roto o el archivo de respaldo ya no está disponibleEl enlace de descarga está roto, es posible que hayas hecho clic en el enlace de una fuente no confiableLa dirección de correo electrónico ingresada parece no ser válida. Por favor, chequeala e intentá de nuevo.La clave introducida no pertenece a un sitio remoto (pertenece a este).La clave introducida estaba corrupta - intentalo de nuevo, por favor.La clave ingresada no tenía la longitud correcta. Intentalo de nuevo.El error reportado por %s fue:La regla de exclusión que estás intentando agregar ya existeEl archivo %s tiene el "byte order mark" (BOM) al comienzo.Los archivos %s tienen el "byte order mark" (BOM) al comienzo.El archivo se subió.La carpeta existe, pero tu servidor web no tiene permisos para escribir en ella.La siguiente entidad no puede ser restaurada automáticamente: "%s".El siguiente almacenamiento remoto (%s) solo fue configurado parcialmente. Si estás teniendo problemas, podés intentar autorizarlo manualmente en la página de ajustes de UpdraftPlus.El siguiente almacenamiento remoto (%s) solo fue configurado parcialmente. La autorización manual no es compatible con este almacenamiento remoto. Por favor, intentalo de nuevo y, si el problema persiste, contactate con el soporte.Están configuradas las siguientes opciones del almacenamiento remoto.El archivo proporcionado no se encuentra o no puede ser leidoEl valor ingresado para la opción '%s' no es válidoCuanto mayor sea el valor, más recursos de servidor se necesitarán para crear el archivo.La versión instalada de UpdraftPlus Backup/Restore no se ha probado en tu versión de WordPress (%s).La clave proporcionada no tenía un formato válido o estaba dañada.La clave fue añadida con éxito.Fue eliminada la lista de sitios existentesLa ubicación de este directorio está fijado de los "Ajuste Para Expertos", en el tab de ajustes. No se pudo leer el archivo de registro.El archivo de registro se adjuntó a este correo electrónico.La nueva contraseña de la consola de usuario de RackSpace es (no será mostrada de nuevo):El número de opciones de restauración que se enviarán supera el máximo configurado en tu configuración de PHP (max_input_vars).El archivo de contraseñas que especificaste no existe; por favor, chequeá el parámetro --password-file.La preparación de los datos del clon fue cancelada.Falló la solicitud al sistema de archivos de crear el directorio.El módulo PHP requerido (%s) no está instalado - pregunte a tu proveedor de hosting web sobre tu habilitaciónEl módulo PHP %s requerido no está instalado; solicitá a su proveedor de hosting que lo habilite.Huella digital%s de la clave RSA del servidor: %s.Se han recibido todos los datos del sitio y se ha iniciado tu importación.No se encontró el bucket especificado.La zona horaria utilizada es la de la configuración de WordPress, en Ajustes -> General.El mejor lugar y el más seguro donde almacenar tus respaldos.(%s) errores ocurridos;El servidor web devolvió un código de error (pruebe de nuevo, o revisá los archivos de registro de tu servidor web)El motor zip devolvió este mensaje: %s.TemasDespués se pueden usar estas credenciales de acceso de menores privilegios en lugar de almacenar tus claves administrativas.No hay puntos de restauración de respaldos incrementales disponibles.Hubo un error al intentar eliminar la lista de sitios existentes.Por tanto, se aconseja que hagas una nueva respaldo en el sitio de origen, usando una versión posterior.Por lo tanto, las tablas afectadas en el sitio actual que ya existen no serán reemplazadas predeterminada, para evitar dañarlas (podés revisarlo a continuación en la lista de tablas).Estas opciones pueden anonimizar los datos personales en el respaldo de la base de datos.Solo estas tablasEstos se utilizarán para crear un nuevo usuario y un par de claves con una política de IAM adjunta que solo te permitirá acceder al bucket indicado.Este respaldo es de un sitio con un prefijo de tabla vacío, con lo que WordPress no es compatible; los resultados pueden ser poco fiables.Este conjunto de respaldos contiene respaldos incrementales de tus archivos; seleccioná la hora a la que deseás restaurar tus archivos.Este respaldo es de este sitio, pero en el momento del respaldo estabas usando %s, y ahora el sitio usa %s.UpdraftPlus no conocía este conjunto de respaldo debido a que fue creado por la instalación de WordPress actual, pero se encuentra o en almacenamiento remoto o fue enviado desde un sitio remoto.Este respaldo la creó %s y puede importarse.Este respaldo se creó en una versión anterior de UpdraftPlus (%s) y el respaldo de las tablas con claves primarias compuestas (como la tabla `term_relationships`, que registra etiquetas y atributos del producto) no fue realizado correctamente.Este botón esta desactivado porque tu directorio de respaldos no tiene permisos de escritura (mira los ajustes).Este botón borrará todos los ajustes UpdraftPlus e información de progreso para los respaldos en curso (pero no cualquiera de sus respaldos existentes de tu almacenamiento en la nube).Esto puede destruir fácilmente tu sitio; ¡Tené cuidado!Este sitioEste respaldo de la base de datos no tiene las tablas del núcleo de WordPress: %sEsta base de datos necesita ser implementado en la versión de MySQL%s o posterior.Esta clave de descifrado será usada:Esto no parece un respaldo válido del núcleo de WordPress: le falta el archivo %s.Esta función no es compatibles con %sEsta característica requiere %s versión %s o posterior Este archivo no podrá ser subidoEste archivo no parece ser de un archivo de respaldo de UpdraftPlus (suelen ser archivos .zip or .gz y tienen nombres como: backup_(time)_(site name)_(code)_(type).(zip|gz)).Esta función fue deshabilitada por el administrador del sitio.Esta es una instalación Multisitio de WordPress.Esto es un recuento del contenido de tu directorio UpdraftEsto es necesario si, y solo si, tu clave de aplicación fuese una clave de aplicación de un bucket específico (no una clave maestra)Este no es un respaldo incrementalEste no es tu inicio de sesión de Azure; consultá las instrucciones si necesitás más orientación.Esta es más antigua que la del servidor en el que estás restaurando ahora (versión %s).Esta es significativamente más nueva que la del servidor en el que estás restaurando ahora (versión %s).Algunas veces esto es causado por un firewall - intenta deshabilitar el SSL en los ajustes avanzados y prueba de nuevo.Esto parece una migración (el respaldo es de un sitio con una dirección/URL diferente,%s).Esto puede impedir que el procedimiento de restauración pueda continuar.Lo mas probable es que esto quiera decir que estás compartiendo un servidor con un sitio web hackeado que fue usado en ataques previos.Parece que a este conjunto de respaldo de archivos múltiples le faltan los siguientes archivos: %sEsta opción hará que las tablas almacenadas en la base de datos MySQL que no pertenecen a WordPress (identificadas por carecer del prefijo de WordPress configurado, %s) también sean respaldadas.Este problema es causado por tratar de restaurar una base de datos en una versión muy antigua de MySQL, que es incompatible con la base de datos fuente.Este método de almacenamiento remoto (%s) requiere PHP %s o posterior.Este ajuste se aplica solo cuando se crea un bucket nuevo.El sitio todavía no tiene respaldos que restaurar.Este método de almacenamiento no permite descargasEsta versión de UpdraftPlus no sabe como gestionar esta versión de respaldo externaEsto también causara salida de depuración de todos los plugins que aparecerán en esta pantalla - por favor no se sorprenda al ver estos.Esto borrara todos los ajustes de UpdraftPlus. Está seguro de realizar esta operación?Esto importará los datos desde:Arregla cosas por el cliente y quita todos los anuncios del resto de nuestros productos.Hora actualTiempo empleado (en segundos):Tiempo tomado:Marca temporalPara acceder a los ajustes de UpdraftPlus ingresá tu contraseña de desbloqueoPara agregar un sitio como destino para el envío ingresá la clave (de ese sitio) a continuación.Para poder cambiar el nombre de la carpeta, necesitás UpdraftPlus Premium.Para cambiar cualquier ajuste predeterminada de lo que se ha hecho respaldo, para configurar la programación de respaldos, para enviar tus respaldos a almacenamientos remotos (recomendado), y más, andá a la pestaña de ajustes. Para completar la identificación manual, en la pantalla naranja de identificación de UpdraftPlus, seleccioná el enlace "¿Tenés problemas con la identificación?" y, después, copiá y pegá aquí el código proporcionado.Para completar la migración/clonado deberías iniciar sesión ahora en el sitio remoto y hacer una restauración del respaldo.Para crear un nuevo usuario secundario y la clave de acceso de IAM que solo tenga acceso a este bucket, pasate a Premium.Para crear una nueva API sub-usuario y una clave API de Rackspace que solo tenga acceso a este contenedor, usá la versión Premium.Para crear un clon temporal necesitás crédito en tu cuenta.Para crear un clon temporal necesitás: 1) crédito en tu cuenta. 2) conectar con tu cuenta aquí abajo.Para quitar a UpdraftPlus la autorización (en todos los sitios) de acceder a tu Google Drive seguí este enlace a los ajustes de tu cuenta de Google.Para fijar el horario cuando deba iniciarse el respaldo,Para solucionar este problema andá aquí.Para importar un conjunto de respaldos, andá a la sección "Respaldos existentes" en la pestaña "Respaldar/Restaurar"Para importar un sitio de WordPress ordinario en una instalación multisitio requiere%s.Para mantener tu acceso al soporte, por favor, renová.Para realizar un respaldo, simplemente hacé clic en el botón de 'Hacer respaldo ahora'.Hacé clic aquí para leer las preguntas frecuentes/documentación de UpdraftClone.Para recuperar el acceso a las actualizaciones (incluidas las funciones futuras y la compatibilidad con futuras versiones de WordPress) y al soporte, tenés que renovar.Para volver a tener acceso tenés que renovarlo.Para eliminar cualquier bloque, andá acá.Para quitar este bloque, por favor andá acá.Para conservar tu acceso y mantener el acceso a las actualizaciones (incluidas las funciones futuras y la compatibilidad con futuras versiones de WordPress) y el soporte, renová.Para enviar a más de una dirección separalas con comas.Para utilizar este respaldo, el servidor de base de datos debe ser compatible con el juego de caracteres%s.TokioDemasiados errores en la base de datos han ocurrido - abortandoDatos totales (descomprimidos) en disco:Tamaño total del respaldo:Pero para evitar amenazas al propio servidor es mejor que %s configures %s copias regulares a un almacenamiento remotoPara empezar con UpdraftVault seleccioná una de las opciones de abajo:¿Problemas conectando? Probá usando un método alternativo en la opciones avanzadas de seguridad.¡Probá UpdraftVault 1 mes por solo 1$!¡Probá UpdraftVault!Pruébalo - ¡1 mes por 1$!Probando...TwitterEscribe un prefijo de archivoEscribe una extensión como zipReino UnidoEEUU de Norteamérica (US)Este de EE. UU. (Virginia del norte) (predeterminado)Este de EE. UU. (Ohio)Gobierno de EE. UU. Oeste (restringido)Oeste de EE. UU. (Norte de California)Oeste de EE. UU. (Oregón)Nube de EEUU o Reino UnidoCuenta de Rackspace de USA o UKCuenta Rackspace albergada en EEUU o Reino UnidoNo se pudo recuperar la fecha de renovaciónNo se pudo abrir el archivo zip (%s): no se pudo escanear previamente para verificar su integridad.No se puede leer el archivo zip (%s): no se pudo escanear previamente para verificar su integridad.En mantenimientoRespuesta inesperada:Restauración no finalizadaEstados UnidosDesconocidoRespuesta de estado del servidor desconocida:Respuesta del servidor desconocida:Error desconocido/inesperado - por favor, enviá una solicitud de soporteA menos que tengas un problema podés ignorar todo lo de aquí. DesbloquearDescomprimiendo el respaldo...Progreso de descompresión: %d de %d archivosCuenta de actualización de cuotasUpdraft VaultUpdraftCentralUpdraftCentral CloudUpdraftCentral es una manera muy eficiente de gestionar, actualizar y hacer respaldos de múltiples sitios wen desde un único lugar.Clave de UpdraftCentral creada:Imagen de UpdraftClone:Se requiere una clave UpdraftClone.UpdraftPlusUpdraftPlus - Subir archivo de respaldoExtensiones de UpdraftPlusRespaldos automáticos de UpdraftPlusRespaldos UpdraftPlusUpdraftPlus Blog - estáte al día de las últimas ofertas y noticias.UpdraftPlus Migrator clona tu sitio WordPress y lo mueandá a un nuevo dominio directamente y de manera sencilla.Noticias de UpdraftPlusBoletín de UpdraftPlusUpdraftPlus PremiumUpdraftPlus Premium y extensiones¡UpdraftPlus Premium tiene mucha más funciones espectaculares!UpdraftPlus Premium:Restauración de UpdraftPlusRestauración de UpdraftPlus: progresoSoporte de UpdraftPlusTour de UpdraftPlusUpdraftPlus tiene tu propia opción de almacenamiento incluido, ofreciendo un modo sin fallos para descargar, almacenar y gestionar todas tus respaldos desde un único lugar.UpdraftPlus todavía no está activado.UpdraftPlus todavía no está instalado.UpdraftPlus esta en las redes sociales - ¡visitanos!UpdraftPlus necesitaba crear un %s en tu directorio de contenidos, pero falló - por favor, revisá los permisos y habilita el acceso (%s)Aviso de UpdraftPlusAviso de UpdraftPlus:UpdraftPlus en %sAjustes de UpdraftPlusAjustes de inicio de sesión de usuario de la clonación temporal de UpdraftPlus:Advertencia de UpdraftPlus:UpdraftPlus no pudo encontrar el prefijo de tabla al explorar el respaldo de la base de datos.Términos y políticas de la cuenta en UpdraftPlus.comUpdraftPlus.Com respondió, pero no entendimos la respuestaUpdraftPlus.Com devolvió una respuesta que no pudimos entender (dato: %s)UpdraftPlus.Com devolvió una respuesta, pero no se comprendióUpdraftPlus.com a respondido con "Acceso Denegado".UpdraftVaultUpdraftVault es nuestro almacenamiento remoto. Se integra nativamente con UpdraftPlus.Almacenamiento en UpdraftVaultActualizar ahoraSubirSubir respaldoSubir archivos de respaldoError de subidaError de subida:Es probable que la subida falle: el límite %s para un solo archivo es de %s, mientras que este archivo es de %s GB (%d bytes)Falló la subidaSubir los archivos a UpdraftPlus.Subido a:oSubiendo archivos al hosting externoSubidasURL de subidas:Usar SCP en vez de SFTPUtiliza ctrl / cmd + clic para seleccionar varios elementos, o ctrl / cmd + may + clic para seleccionar todos los que haya entre las hacé clic encionesUsá la sección "Informes" para configurar las direcciones de correo electrónico que se utilizarán.Usar el certificado SSL del servidorUsá esta opción para solo enviar respaldos de la base de datos cuando se envíen por correo electrónico y se omitan otros componentes.Nombre de usuarioNombre de usuario: %sPropietario de VaultVerificaciónVerificando la contraseña de un solo uso....VersiónVer los registrosVer el registroEstilo de servidor virtualWP CLIComandos WP-CLI para recuperar, listar y borrar respaldos.Compatibilidad con WP-CLIEsperando hasta la hora programada para reintentar, en caso de erroresAdvertenciaAdvertencia:Aviso: %sAdvertencia: Si aún podés leer estas palabras después de que la página termine de cargar, entonces hay un problema de JavaScript o de jQuery en el sitio.Advertencia: No te quedan tokens de clonado o no hay suscripciones o ninguna suscripción que se renovará antes de la fecha de caducidad del clon.Advertencia: la URL de inicio de la base de datos (%s) es diferente a la que esperábamos (%s)Advertencia: la URL de la base de datos del sitio (%s) es distinta de la que esperábamos (%s)AdvertenciasAdvertencias encontradas:Advertencias:¿Fue esta un respaldo creado por un complemento de respaldos diferente? Si es así, es posible que primero tengas que cambiarle el nombre para que se pueda reconocer; seguí este enlace.Accedimos correctamente al cubo, y pudimos crear archivos en él.Accedimos al contenedor, y pudimos crear archivos en él.No pudimos conectarnos con éxito a UpdraftPlus.ComSolicitamos eliminar el archivo, pero no hemos entendido la respuesta del servidorAccedimos correctamente al cubo, pero el intento de crear un archivo en él falló.Servidor web:Espacio de disco en tu servidor de web en uso por UpdraftPlusURL de WebDAVSemanalBienvenido a UpdraftPlusBienvenido a UpdraftPlus!Bienvenido a tu UpdraftClone (clon temporal)Bien hecho - no hay nada más necesario para la creación.Europa OrientalOeste de Estados UnidosCuando esté habilitado el método de almacenamiento en el correo electrónico y se ingrese una dirección de correo, también enviar el respaldoA dónde cambiar el directorio después de iniciar la sesión - en general es relativa a tu directorio de inicio.Cuál sitio restaurarQue se exportó a:Por qué veo esto?Borrar ajustesCon UpdraftPlus Premium podés elegir si hacer respaldo de tablas que no son de WordPress, solo de tablas específicas o si hacer también respaldo de otras bases de datos.Con UpdraftPlus Premium podés descargar directamente archivos individuales desde aquí.Sin ello, el cifrado será mucho más lento.Sin este permiso, UpdraftPlus no puede eliminar los respaldos; también tenés que establecer tu configuración de 'retención' muy alta para evitar ver errores de eliminación.Sin este permiso no podés descargar o restaurar directamente con UpdraftPlus por lo que deberás visitar el sitio web de AWS.Sin la actualización, UpdraftPlus permite a todos los administradores de blog que puedan modificar los ajustes del plugin para respaldos (y por tanto acceder a los datos, incluidas las contraseñas) y restaurar (incluido con modificaciones personalizadas, por ejemplo, cambiar las contraseñas) toda la red.plugins de WooCommerceRespaldo de WordPressNúcleo de WordPressCompatible con WordPress multisitio, con características adicionales, gracias a UpdraftPlus Premium.Se completó el respaldo de WordPressNúcleo de WordPressNúcleo de WordPress (incluyendo cualquier archivo en el directorio raíz de WordPress)Núcleo de WordPress (solamente)base de datos de WordPressWordPress instaladoWordPress instalado; esperando ahora a que se envíen los datos del sitio.Ruta en el servidor del directorio raíz de WordPress: %sSíEstás usando la versión gratuita de UpdraftPlus.Ahora estás utilizando una cuenta de usuario de IAM para acceder a tu bucket.En este momento estás conectado a una cuenta de UpdraftPlus.Com.En este momento no estás conectado a una cuenta de UpdraftPlus.Com.Estás ejecutando sobre una instalación multisitio de WordPress - pero tu respaldo no es de un sitio multisitio.Estás usando el servidor web %s, pero no parece que tenga cargado el módulo %s.También podés cerrar este asistente.Podés comprar tokens de UpdraftClone aquí en nuestra tienda.Podés comprar más tokens temporales aquí.Podés ver el progreso aquí o en %sPodés elegir otro mapa de caracteres y seguir con la restauración bajo tu propio riesgo.Podés elegir otro cotejamiento válido y continuar con la restauración (bajo tu responsabilidad).Podés ingresar aquí la ruta de cualquier carpeta virtual %s que desees utilizar.Podés encontrar más información sobre las claves de clonación aquí.Podés encontrar la información de tu clon temporal en tu cuenta de updraftplus.comPodés prohibir los inicios de sesión a este sitio clonado a no administradores marcando la casilla a continuaciónPodés obtener más cuota de aquíPodés descifrar manualmente una base de datos cifrada.Podés enviar un respaldo a más de un destino con la versión Premium.Podés probar a ejecutar tu sitio con una versión distinta de PHP (o de WordPress) usando créditos de UpdraftClone.Podés probar a actualizar tu sitio en una copia instantánea usando créditos de UpdraftClonePodés ver el registro presionando el botón "Ver el registro".No tenés acceso a este bucketNo tenés acceso a este bucket.No tenés instalado el complemento %s de UpdraftPlus - conseguilo de %sParece que tenés instalado el complemento de Updraft obsoleto, ¿tal vez los confundiste?Ingresaste una dirección de correo electrónico que no fue reconocida por UpdraftPlus.ComTenés una compra inactivaTenés una restauración sin finalizar, comenzó hace %s Elegiste realizar un respaldo de una base de datos, pero no se seleccionaron tablas.Elegiste hacer un respaldo, pero no seleccionaste nada sobre lo que hacerlaElegiste enviar este respaldo a un almacenamiento remoto, pero no se ha seleccionado ninguna ubicación de almacenamiento.Se realizaron cambios en la configuración, y no se guardaron.No seleccionaste una ruta de restauración para los respaldos que elegisteAún no te conectaste con tu cuenta UpdraftPlus.Com para que podamos enumerar tus complementos comprados.Todavía no conectaste tu cuenta de UpdraftPlus.Com.Aún no has hecho respaldos.Todavía no seleccionaste ningún archivo a importar.Alcanzaste el límite diario de respaldos incrementales que podés crear en este momento.Alcanzaste el límite mensual del número de respaldos que podés crear en este momento.Solicitaste guardar en almacenamiento remoto (%s), pero sin ingresar ninguna configuración para ese almacenamiento.Seleccionaste una opción de almacenamiento remoto que requiere completar una autorización previa:Tenés que agregar lo siguiente la URI de redirección autorizada (en "Más opciones") cuando se te pidaTenés que agregar lo siguiente como la URI de redirección autorizada en tu consola de Dropbox (en el apartado "configuración de API") cuando se te soliciteTenés agregar lo siguiente como el URI de redireccionamiento autorizado (bajo "Más opciones") cuando se te soliciteTenés que agregar lo siguiente como el URI de redireccionamiento autorizado en tu consola de OneDrive (en "Configuración de API") cuando se te soliciteAhora tenés que copiar y pegar esta clave en el sitio de envío - no se puede volver a mostrar.Tenés que ingresar un ID de proyecto para poder crear un nuevo bucket.Tenés que guardar y autenticarte antes de poder probar la configuración.Tenés que seleccionar por lo menos una ubicación de almacenamiento remoto a la que subir este respaldo. Debe actualizar el servidor para poder utilizar esta base de datos.Tenés que usar un nombre de bucket que sea único para todos los usuarios de %s.Solo podés usar letras minúsculas o números para la ruta del sitio.Tenés que conectarte para recibir actualizaciones de UpdraftPlus.Necesitás ingresar un bucketTenés que ingresar un contenedorTenés que ingresar un nuevo nombre de usuario IAMTenés que ingresar un nuevo nombre de usuarioTenés que ingresar una nueva dirección de correo electrónico válidaTenés que ingresar una clave API de administradorTenés que ingresar una clave de acceso de administradorTenés que ingresar una clave secreta de administradorTenés que ingresar un nombre de usuario de administradorTenés que volver a identificarse con %s, ya que tus credenciales actuales no están funcionando.Es necesario leer y aceptar las políticas de privacidad y datos de UpdraftCentral antes de continuar.Tenés que proporcionar una dirección de correo electrónico y una contraseña Seleccionaste %s para que se incluyera en la restauración; esto no puede/no debe hacerse al importar un sitio individual a una red.Tenés que respaldar todas las tablas a menos que seas un experto en el manejo de la base de datos de WordPress.Debe comprobar que el sitio remoto está en línea, no un firewall, no dispone de módulos de seguridad que puedan estar bloqueando el acceso, tiene UpdraftPlus versión%s o posterior activa y que las llaves se han introducido correctamente.Deberías revisár los permisos de los archivos de tu instalación de WordPressTenés que activar %s para hacer funcionar cualquier permalink(ej. %s) Antes de restaurar, deberías asegurarte de que este es realmente un conjunto de respaldo pensado para usarlo en esta web (en vez de un conjunto de respaldo de una web no relacionada que usaba la misma ubicación de almacenamiento).Deberías guardar los cambios para asegurarte de que se usan para hacer el respaldo.Tendrías que actualizar UpdraftPlus para asegurarte de que tenés una versión cuya compatibilidad haya sido probada.Iniciaste sesión a UpdraftPlus y conectaste este sitio a UpdraftCentral Cloud de forma exitosa.Iniciaste sesión en UpdraftPlus.Com correctamente y conectaste el plugin con tu cuentaCompraste UdraftPremium de forma exitosaEncontrarás más información sobre esto en la sección de ajustes.Necesitarás pedirle a tu hosting que lo actualicen.Vas a tener que consultar con tu proveedor de hosting para saber cómo establecer permisos para que un plugin WordPress pueda escribir en el directorio.Vas a tener que restaurarla manualmente.¡Listo!Tu nombre de cuenta %s: %sTu cuota usada de %s: %s %% usado, %s disponibleTu versión %s : %s.Tu archivo .htaccess tiene una referencia de un sitio anterior en la línea número %s. Tenés que borrarla manualmente.Tu archivo .htaccess tiene referencias de un sitio anterior en las líneas número %s. Tenés que borrarlas manualmente.Tu dirección IP:Tu UpdraftClone todavía se está configurando.Tu instalación de WordPress tiene antiguos directorios de antes de que restaurases/migrases (información técnica: tienen el sufijo -old).Se restauró tu respaldo.Mapa de caracteres que elegiste usar en su lugar:El cotejamiento de tabla que elegiste para reemplazoTu clon se ha iniciado y estará disponible en estas URLs cuando esté listo.Tu clon ha comenzado, la información de la red aún no está disponible, pero se mostrará aquí y en tu cuenta de updraftplus.com una vez que esté lista.Tu clon desplegará ahora estos datos para replicar tu sitio.Tu clon se renovará:Tu usuario de base de datos no tiene permiso para borrar tablasTu dirección de correo y contraseña no fueron reconocidas por UpdraftPlus.ComTu dirección de correo electrónica era válida, pero tu clave no fue reconocida por UpdraftPlus.Com.Tu respaldo por correo electrónico y un informe se enviarán aEl archivo se exportará según los ajustes que se muestran, no según los guardados.Tu primera respaldoTu espacio libre en disco es muy bajo - solo quedan %s MBTu espacio libre en tu cuenta de hosting es muy bajo - solo quedan %s MB Tu proveedor de hosting tiene que habilitar estas funciones antes de que %s pueda funcionar.Tu proveedor de hosting solo te permite hacer un respaldo por mes.Tu proveedor de hosting solo te permite hacer un respaldo incremental por día.La etiqueta para este respaldo (opcional)Tu inicio de sesión puede estar basado en contraseña o clave; solo necesitás ingresar uno, no ambos.Tu nueva clave:Tu acceso pago al soporte de UpdraftPlus se encuentra vencido.Tu acceso pago al soporte de UpdraftPlus vencerá pronto.Tu acceso pago a las actualizaciones de UpdraftPlus para los complementos %s de este sitio se encuentra vencido. Tu acceso pago a las actualizaciones de UpdraftPlus para %s de los complementos %s de este sitio vencerá pronto.Tu acceso pago a las actualizaciones de UpdraftPlus para este sitio vencerá pronto.La configuración guardada también afectan a lo que se respaldo - por ejemplo, archivos excluidos.Sus ajustes fueron guardados.Tus ajustes fueron eliminados.La dirección de correo electrónico del administrador de tu sitio (%s) será usada.Tu versión: %sTu servidor web tiene activo el modo seguro (safe_mode) de PHP.Tu instalación PHP del servidor web tiene estas funciones deshabilitadas: %s.Tu servidor web no tiene el módulo %s instalado.Tu sitio web está alojado usando el servidor web %s.Tu web está alojada con %s (%s).Tu sitio web es visitado con poca frecuencia y UpdraftPlus no está recibiendo los recursos que se espera, por favor leé esta página:La ruta del directorio wp-content en el servidor: %sse está haciendo un segundo intento (se omitirá si volvé a fallar)activarlo en este sitioopciones avanzadasya fue hechoya subidoy retener esta cantidad de respaldos programadosen cualquier lugar de sus nombresarchivoal principio de sus nombresal final de sus nombresautenticando el URIerror de identificaciónfallo de indentificaciónautorización fallida:atrásrealiza un respaldo automáticamente cuando actualices plugins, temas o el núcleoporcalcularcalculando...Chequeá el log (registro) para mas detalles.trozo de %s: falló la subidaconfigurar aquícontenedorcalcular pesocredencialesintento de conexión a la base de datos fallidoconexión de la base de datos fallo. nombre de la base de datosdíadía(s)no devolvió la respuesta esperada - revisá tu archivo de registro para más detallesdescartar avisodownload: falló: archivo no encontradopor ej. %sej. si tu servidor está ocupado de día y realizarla por la nochemigrá o cloná tu sitio web en minutosFTP cifrado (cifrado explícito)FTP cifrado (cifrado implícito)opciones de almacenamiento remoto mejoradas.error - no se pudo crear y acceder al contenedorerror - no se han podido ensamblar los pedazoserror - no se ha subido el archivoerror: %s (más información en el registro)Error: fallo al subir el archivo a %s (mira el archivo de registro para saber más)Error: el archivo %s fue reducido inesperadamenteFalló el acceso al directorio principalerror al listar los archivoserror al subir el archivo a %s (más información en el registro)más rápido (posiblemente debido a una instalación de PHP lento)archivoarchivo %d de %dTamaño del archivo:archivos: %scarpetasiga este enlace para conseguirloandá acáandá aquí para cambiar tu contraseña de updraftplus.com.entrá acá para saber másmaneja las actualizaciones automáticamente según tus necesidadesaquíservidornombre del servidorhora(s)Manualsi se cumplen todas las condiciones siguientes:si se cumple cualquiera de las siguientes condiciones:del mesincluyendo cualquier contraseñaRespaldo incremental; respaldo base: %sesno esclaveNombre de claveúltima actividad: hace %d segundosúltima actividad: hace %ssúltimoregistra resultados a la consolainiciar-sesiónerror de inicio de sesióngestionaradministra todos tus sitios de WordPress a la vez desde un solo lugarpuede incluir algunos datos de todo el sitiomás informaciónubicación multi-regionalsiguiente reanudación: %dno se han encontrado ni la tabla de opciones ni la de sitemetaninguna actividad reciente; se ofrecerá la reanudación después de: %d segundosimagen de avisoahora procediendo con las actualizaciones...en cada respaldoabre esto para mostrar más opciones; no lo utilices a menos que tengas un problema o seas curioso.optionalo (descuento anual)o configurar programaciones más complejaso para restaurar manualmenteo, para resetear la opciónotro contenido de wp-contentcontraseñacontraseña/claveseguí este enlace para actualizar el complemento y activarloseguí este enlace para obtener y actualizar el complementopor favor, esperá el intento de reprogramadopluginspresiona aquílea mas en %srecomendadoactualizarFTP normal sin cifrararchivos remotos eliminadossitio remotoes requisito de algunos proveedores de almacenamiento remotorestablecerrestauraciónfilas: %dbuscar y remplazartérmino de búsquedamejorá la seguridad de tus respaldosajustesmostrar información PHP (phpinfo)mostrar archivo de registro (log)sitio no encontradoomitido (no está en la lista)más lento, más fuerteuna/rutaa partir de la próxima vez que esdetenertabla: %stablasplantilla no encontradala consulta a la base de datos que se ejecutaba fue:no se ha encontrado la tabla de opciones¡el plugin de respaldos más fiable del mundo!temasestos conjuntos de respaldosestos caractereseste conjunto de respaldosesta política de privacidadpara realizar respaldos incrementalesSe hicieron dos intentos fallidos para incluirlo, y ahora se omitirá del respaldofuente desconocida Para hacer un respaldo simple en tu servidor hacé clic en este botón. O para configurar respaldos regulares y almacenamiento remoto andá a los %s ajustes %ssubida (%s): reensamblado fallido (ver el registro para más detalles)fallo de subidause UpdraftPlus PremiumusuarioNombre de usuariosemana(s)se restaurará como:con la opción de tiene autenticada tu cuenta %shas identificado tu cuenta %s.querrás usar la búsqueda a continuación y reemplazar la ubicación del sitio en la base de datos (migrar) para buscar/reemplazar la dirección del sitio.La instalación de PHP carece del módulo openssl; como resultado, esto puede llevar varios minutos; si para entonces no ha ocurrido nada, deberías probar un tamaño de clave más pequeño o solicitar a tu alojados web que active este módulo de PHP en tu instalación.tu cuenta de UpdraftPlus.comla dirección del administrador de tu sitio encontrado zip ejecutable:languages/updraftplus-id_ID.mo000064400000135325147400355670012412 0ustar00!!!#!!!!"# " D" Q"]"$u" """A"&# @#CN# ###]&$$$ $l$4% <%#G%k% %%%g%'$&)L&)v&&#&)&7 '"D'-g''>'4' )(6(TK(M($()()A)-P)~)))q)!2*T* Z* h*u*cz** **9 +%E+6k+&++ ++K,_L,, 0-Q-,Y------ -- -9.U.q.. . . . .D./ /9/O/!j/T/!/003'0.[0<000 1% 121N1i1:1*119 2YE262 2!233#93,]3333333 34 4 '4 H4)S4}4444444#45'5LD55G55(6J677(7(:7c777777#757.8H89 9,-9Z9 a9k9A999 99 ::-: =:H:W:\:&c:3::::<;L;T;&n;);&;?;&< +<7< F<R<a<g<{<<<<K<9<=2= p= |= =%= ==)=%= #> 0> =>zH>z>>?+N?.z??f?A @Fb@@M5A5ARAL B=YB%BB9BCC#C 6CBCFCWCqCC:C)CDDFDbDuD'D8DDDE&E.E EE SE _EaiE EEEEF$F;F>F^XFFFFFF7G KGPYGGGGGG;G?0HpHHHHHHHH HHI(!I8JI'I#I%IOI3EJ\yJ;JKK 2K"SK!vKK/KK KK L$L!AL4cLLLLLPL2MIM gMrMzMMzN#)O\MO9OO O OPFP1NP4P<PPQ.Q7Q LQVQrQQ QQQQQQQQQrR{R RARR R:R S*S;SZSxvS:SQ*T|T"T(T,T U=%UNcU<U3U#V3CV=wV(V>VPWnW9uW!WMWgXRXX<Xi Y4Y7YY"Y ZUZ[[1[ 4[A[P[k[[ [[[[![\.\B\S\4r\!\\0\*]K9]f] ]]!^$^ -^:^B^1I^{^^^C^ ^+^_._M_\_Or_____`)`;=`y`4}`-`(`E a,OaS|aSa%$b&JbDqb[bAcUTcc c+c"d#8dR\dAd*d%eBe-[e&ee>fT]ff<Dggggg5g/!hQhYh^h mhwh}h@h!h:h3#iWiriziiii"iiiij j !j-j5j>jGjej!jj)jjjj&j' k1kNkFl$Oltllll-l l mm#&m Jm%TmzmFm7m nDn ^n lnvn^nYopo oooppp>p\plp{pip'q3-q(aq q'q4q3r(z HzFVzzzzzzR{c{{{){/{1 |!>|`| ~|*||||8 }1F}x}7}S}1"~ T~ ^~6~&~/~  +9Idk 6 $7H]t,#Z ?I`0aI܂ '"Dgz *6҃4 > /#S Zd= ҅ ܅ #7@P`!f2ۆ2 C'Mu52ˇ;: @M dq ɈӈBڈF@d %Ή))F p } xx%/yLzBnj Q6ݍUIjA#D6{Ǐڏ G&)nM-&<Tʑґ y" ͒!q=ȓ ޓFVSe” ؔQGN Е  -I]J|-ǖ+.!KP2uϗ9E 03ؘ. ;,X .љ4F5|@ 3CL^B"q@ ǝѝ S,H1u@## 0; Yc~ ՟  |* F BVm!d1LQ Ӣ&6:Hq=92%Q2w)<ԤPb3gQg MqBΦr-M$F+[rΨ )(C lz$ҩ ,?:]:Ъ. X:o ! ? MZ`Bg Ŭ9Ѭ 5M4V Z,;Yo?î>Ʈ=5CWy>ѯScd$Ȱ%FmZOȱc|"/$#e7D%'05F"|9DYN&u˶A0)Z` h v O3LCh%Ҹٸ 4=#Sw ~ ع&*38N*g(%s Error%s Error: Failed to open local file%s Error: Failed to upload%s Service Exception.%s archives remain%s authentication%s download: failed: file not found%s error: %s%s per year%s restoration options:%s support is available as an add-on%s version:(at same time as files backup)(current version)(logs can be found in the UpdraftPlus settings page as normal)...(tap on an icon to select or unselect)(view log...)ABORT: Could not find the information on which entities to restore.API Key: %sAPI keyAccount full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized.Account typeAccounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.ActionsAdd a siteAdd an additional retention rule...Add an exclusion ruleAdmin API KeyAdmin UsernameAdvanced / Debugging SettingsAfter pressing this button, you will be given the option to choose which components you wish to restoreAll WordPress tables will be backed up.All files beginning with given charactersAll files beginning with these charactersAll files with this extensionAllow only administrators to log inAlso, you should read this important FAQ.An email is required and needs to be in a valid format.And then add an incremental backupAny other directories found inside wp-contentArchive is expected to be size:Are you sure you want to dismiss all UpdraftPlus news forever?Are you sure you want to remove this exclusion rule?Asia PacificAsia Pacific (Seoul)Ask WordPress to automatically update UpdraftPlus when it finds an available update.Ask WordPress to update UpdraftPlus automatically when an update is availableAt the same time as the files backupAuthenticate with %sAuthenticate with GoogleAuthenticationAuthorisation failed (check your credentials)Automatic BackupAutomatic backup before updateAutomatic updatesAutomatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable temporary clone tokens:AzureAzure GermanyAzure GlobalBackBackup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingBackup / RestoreBackup NowBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified is writable, which is good.Backup directory successfully created.Backup file not available.Backup of:Backup succeededBad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive.Be safe with an automatic backupBelgiumBoth email and password fields are required.Browse contentsBrowsing zip fileBuy %sCancelCentral United StatesChicago (ORD)Choose a default for each tableChoose the components to restoreChoose the schedule that you want your backups to run on.Choose your backup scheduleChoose your remote storageCleaning up rubbish...Client IDClient SecretClone readyClone region:Clone server being provisioned and booted (can take several minutes)CloseClosing 1st October 2018Cloud Files ContainerCloud Files Storage RegionCloud Files authentication failedCloud Files error - we accessed the container, but failed to create a file within itCloud Files operation failed (%s)Cloud Files usernameConfirm changeConflict: that user or email address already existsCongratulations! Your first backup is running.Congratulations, your settings have successfully been saved.Connect to UpdraftCentral CloudConnect to updraftplus.comContainerControl all your backups in one placeCopying this entity failed.Could not access containerCould not create the containerCould not find that job - perhaps it has already finished?Could not open the backup file for writingCould not read the directoryCreate Azure credentials in your Azure developer console.Create a new API user with access to only this container (rather than your whole account)Create a temporary clone on our servers (UpdraftClone)Create cloneCreate new API user and containerCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backup with UpdraftPlus...Creating your first backupCurrent clonesCurrent limit is:Current memory usageDailyDallas (DFW) (default)Dashboard:DatabaseDatabase encryption phraseDatabase successfully decrypted.Debug modeDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete failed:Delete local backupDelete this backup setDeploying site dataDisable SSL entirely where possibleDismissDismiss all UpdraftPlus newsDo not abort after pressing Proceed below - wait for the backup to complete.Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral.Do you need WordPress Multisite support?Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDurable reduced availabilityEastern Asia-PacificEastern United StatesEasyEmailEnd tourEnter in format HH:MM (e.g. 14:22).Enter the path of the %s folder you wish to use here.Enter the path of the %s you wish to use here.Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name.ErrorError messageError opening local file: Failed to downloadError:Error: %sError: invalid pathError: the server sent us a response which we did not understand.Errors have occurred:European UnionEvery hourExclude files/directoriesExclude these fromExclude these:Expert settingsExtensionsExtra databaseFAQsFailedFailed to create a temporary directoryFailed to delete working directory after restoring.Failed to find database fileFailed to open database fileFailed to upload to %sFailed to write out the decrypted database to the filesystemFailureFailure: No %s was given.Failure: No bucket details were given.Failure: No container details were given.Failure: No server details were given.Failure: we did not successfully log in with those credentials.FastFetching...File not foundFile ready.File/directoryFilesFind out more here.Fingerprints don't match.FinishFlexibleFolderFollow this link to attempt to create the directory and set the permissionsFor longer help, including screenshots, follow this link.Forbid non-administrators to login to WordPress on your cloneFortnightlyFrankfurtFront page:Get %s from the UpdraftPlus.com StoreGet %s hereGo to settingsGoes to the updraftplus.com checkout pageGoes to updraftplus.com checkout pageGoogle CloudGoogle DriveHTTP code:Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud.Hong Kong (HKG)However, subsequent access attempts failed:I accept the UpdraftClone terms and conditionsI consent to %sIf Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If not, then choose your details and a new account will be registered.If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If you already have an updraftplus.com account, then enter the details below.If you are using this, then turn Turbo/Road mode off.If you have already renewed, then you need to allocate a licence to this site - %sIf you leave it blank, then the backup will be placed in the root of your %sIf you want, test upgrading to a different PHP or WP version.In %s, path names are case sensitive.Include in files backupInfinite recursion: consult your log for more informationInvalid Job IdIowaJavaScript warningJob deletedKeyLast log messageLead developer's homepageLoading log fileLog all messages to syslogLog in here to enable all the features you have access to.Login or register with this email addressLogin successful.LondonLook through the other settings here, making any changes you’d like.Manage your clonesManual backup optionsManually decrypt a database backup fileMigrate (create a copy of a site on hosting you control)Migrate / CloneMigration key created:Missing parametersMonthlyMore information here.More settingsMore tasks:MultisiteN.B. This count is based upon what was, or was not, excluded the last time you saved the options.Name: %s.NearlineNeed to use sub-folders?New User's Email AddressNew User's UsernameNext scheduled backupsNoNo %s settings were foundNo Vault connection was found for this site (has it moved?); please disconnect and re-connect.No local copy present.No log files were found.NoneNorth VirginiaNorthern Virginia (IAD)Not got an account? Get one by buying some tokens here.Not installedNote that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing yet loggedOKOld table prefix:One Time Password (check your OTP app to get this password)One VPS (Virtual Private Server) per clone, shared with nobody.OneDrive GermanyOneDrive InternationalOpera web browserOr, use an UpdraftClone keyOregonOther great pluginsOthersPasswordPassword: %sPeak memory usagePerform a backupPerhaps you would want to login instead.Please consult this FAQ if you have problems backing up.Please enter a file extension, like zipPlease enter a valid file extensionPlease enter a valid file name prefixPlease enter characters that begin the filename which you would like to excludePlease follow this link to open %s in a new window.Please read %s for use of our %s authorization app (none of your backup data is sent to us).Please select a file/folder which you would like to excludePluginsPremium / Find out morePress here to download or browsePress here to run a manual backup.Press here to save your settings.Press here to start!Press this button to take a tour of the plugin.Proceed with updateProcessingRSA fingerprintRead FAQs here.Read more about Easy Updates ManagerRead more about how this works...Read this article to see step-by-step how it's done.Receiving site dataRefresh connectionRegistration successful.ReliableRemember this choice for next time (you will still have the chance to change it)Remove old directoriesRequesting start of backup...Reset tourRestoreRestore backupRestoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Return to UpdraftPlus ConfigurationRun this command to see the log file for this restoration (needed for any support requests).Runs on capacity from a leading cloud computing provider.SaveSave ChangesSaving...SecureSee Microsoft's guidelines on container naming by following this link.Select 'Web Application' as the application type.Select a file/folder which you would like to excludeSelect a way to exclude files or directories from the backupSelect what you want to backupSending files to remote siteSettingsShow expert settingsSingaporeSite data has been deployedSite data receivedSite keySize: %s MBSkip this stepSkipped tables:South CarolinaStandardStarting automatic backup...Store atSuccessSuccess:Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:SydneySydney (SYD)Table prefix has changed: changing %s table field(s) accordingly:TaiwanTake TourTakes just the time needed to create a backup and send it.Tell me moreTest %s SettingsThank you for taking the tour.The %s object was not foundThe above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The backup attempt has finished, apparently unsuccessfullyThe backup records do not contain information about the proper size of this file.The backup was abortedThe backup was aborted by the userThe communication with %s was encrypted.The communication with %s was not encrypted.The decryption key used:The exclusion rule which you are trying to add already existsThe folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The given file was not found, or could not be read.The log file could not be read.The preparation of the clone data has been aborted.The request to the filesystem to create the directory failed.The server's RSA key %s fingerprint: %s.The site data has all been received, and its import has begun.The time zone used is that from your WordPress settings, in Settings -> General.ThemesThis is a count of the contents of your Updraft directoryThis is not an incremental backupThis is not your Azure login - see the instructions if needing more guidance.This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again.This will delete all your UpdraftPlus settings - are you sure you want to do this?Time nowTo create a temporary clone you need credit in your account.To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below.To fix the time at which a backup should take place,To read FAQs/documentation about UpdraftClone, go here.TokyoTotal (uncompressed) on-disk data:Translators: UpdraftVault is a product name and should not be translated.To get started with UpdraftVault, select one of the options below:Trouble connecting? Try using an alternative method in the advanced security options.Type a file prefixType an extension like zipUKUS (default)US or UK CloudUS or UK Rackspace AccountUnable to get renew dateUnexpected response:United StatesUnpacking backup...UpdraftCentral CloudUpdraftClone key is required.UpdraftPlus - Upload backup filesUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus NewsUpdraftPlus Premium and addonsUpdraftPlus Premium has many more exciting features!UpdraftPlus Restoration: ProgressUpdraftPlus notice:UpdraftPlus temporary clone user login settings:UpdraftPlus.Com account terms and policiesUpdraftVault is our remote storage which works seamlessly with UpdraftPlus.Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)Upload failedUploadsUse the server's SSL certificatesUsernameUsername: %sVersionWP CLIWP-CLI commands to take, list and delete backups.WP-CLI supportWarningWarning:We accessed the container, and were able to create files within it.Web server:Web-server disk space in use by UpdraftPlusWeeklyWelcome to your UpdraftClone (temporary clone)Western EuropeWestern United StatesWith UpdraftPlus Premium, you can directly download individual files from here.WooCommerce pluginsWordPress BackupWordPress CoreWordPress backup is completeWordPress core (only)WordPress installedWordPress installed; now awaiting the site data to be sent.YesYou can buy UpdraftClone tokens from our shop, here.You can buy more temporary clone tokens here.You can check the progress here or in %sYou can enter the path of any %s virtual folder you wish to use here.You can find out more about clone keys here.You can find your temporary clone information in your updraftplus.com account here.You can forbid non-admins logins to this cloned site by checking the checkbox belowYou do not have access to this bucketYou do not have access to this bucket.You do not have the UpdraftPlus %s add-on installed - get it from %sYou must add the following as the authorized redirect URI (under "More Options") when askedYou must save and authenticate before you can test your settings.You must select at least one remote storage destination to upload this backup set to.You need to enter a containerYou need to enter a new usernameYou need to enter a valid new email addressYou need to enter an admin API keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You should enable %s to make any pretty permalinks (e.g. %s) workYou successfully purchased UpdraftPremium.You will need to restore it manually.Your %s account name: %sYour %s quota usage: %s %% used, %s availableYour UpdraftClone is still setting up.Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old).Your backup has been restored.Your clone has started and will be available at the following URLs once it is ready.Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready.Your clone will now deploy this data to re-create your site.Your clone will renew on:Your first backupYour settings have been saved.Your settings have been wiped.Your web server has PHP's so-called safe_mode active.Your website is hosted using the %s web server.archivebackcalculating...containercounte.g. %se.g. if your server is busy at day and you want to run overnighterror: %s (see log file for more)error: failed to upload file to %s (see log file for more)failed to upload file to %s (see log file for more)follow this link to get itgo herelog results to consoleloginmanagemulti-region locationnow proceeding with the updates...optionalor (annual discount)or, to reset this optionpluginspress hererecommendedrefreshsettingsshow logstarting from next time it isstopthe database query being run was:the world’s most trusted backup plugin!themesthis privacy policywill restore as:you have authenticated your %s accountyou have authenticated your %s account.your UpdraftPlus.com accountPO-Revision-Date: 2020-04-22 03:12:33+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: GlotPress/3.0.0 Language: id Project-Id-Version: UpdraftPlus Galat %sGalat %s: Gagal membuka berkas lokalKesalahan %s: Gagal mengunggahKesalahan Service %s.Arsip %s tetap adaAutentikasi %sPengunduhan %s: gagal: berkas tidak ditemukanGalat %s: %s%s per tahunOpsi pemulihan %s:Dukungan %s tersedia sebagai add-onVersi %s:(bersamaan dengan pencadangan berkas)(versi sekarang)(log dapat dilihat di halaman pengaturan UpdraftPlus dengan normal)...(sentuh di icon untuk memilih atau membatalkan pilihan)(lihat log...)BATAL: Tidak dapat menemukan informasi entitas yang akan dipulihkan.Kunci API: %sKunci APIAkun penuh: akun %s anda hanya memiliki sisa %d bytes, tapi file yang akan diunggah memiliki sisa %d bytes (total ukuran: %d bytes)Akun penuh: akun %s Anda hanya memiliki %d byte, tetapi file yang akan diunggah adalah %d byteNama pemegang akun: %sAkun tidak terautorisasi.Jenis akunAkun yang dibuat di rackspacecloud.com adalah akun AS; akun yang dibuat di rackspacecloud.co.uk adalah akun UK.TindakanTambahkan situsTambahkan aturan penyimpanan...Tambahkan aturan pengecualianKunci API AdminUsername AdminPengaturan Lanjutan / DebuggingSetelah mengklik tombol ini, Anda akan diberi pilihan untuk menentukan komponen yang ingin Anda pulihkan.Semua tabel WordPress akan dicadangkan.Semua berkas dimulai dengan karakter yang diberikanSemua berkas dimulai dengan karakter iniSemua berkas dengan ekstensi iniIzinkan hanya administrator untuk masukAnda juga harus membaca Pertanyaan Umum penting ini.Diperlukan email dan harus dalam format yang valid.Dan kemudian tambahkan cadangan tambahanDirektori lainnya di dalam wp-contentArsip diperkirakan berukuran:Apakah Anda yakin ingin mengabaikan semua berita UpdraftPlus selamanya?Apakah Anda yakin ingin menghapus aturan pengecualian ini?Asia PasifikAsia Pacific (Seoul)Mintalah WordPress untuk memperbarui UpdraftPlus secara otomatis ketika menemukan pembaruan yang tersedia.Mintalah WordPress untuk memperbarui UpdraftPlus secara otomatis ketika pembaruan tersediaDi saat yang sama dengan pencadangan berkasAutentikasi dengan %sOtentikasi dengan GoogleOtentikasiAutorisasi gagal (periksa kredensial Anda)Pencadangan OtomatisPencadangan otomatis sebelum pembaruanPembaruan otomatisCadangkan otomatis (yang berlaku) plugin, tema dan database Wordpress dengan UpdraftPlus sebelum memperbaruiToken klon sementara yang tersedia:AzureAzure JermanAzure GlobalKembaliCadangkan (yang berlaku) plugin, tema dan database Wordpress dengan UpdraftPlus sebelum memperbaruiCadangkan / KembalikanCadangkan SekarangDirektory pencadanganDirektori pencadangan (%s) tidak dapat ditulis, atau tidak ada.Direktori pencadangan tidak dapat dibuatDirektori pencadangan yang ditentukan dapat ditulis, bagus.Direktori pencadangan berhasil dibuat.Berkas cadangan tidak tersedia.Cadangan dari:Pencadangan berhasilFormat nama berkas salah - tampaknya ini bukan berkas yang dibuat dengan UpdraftPlusFormat nama berkas salah - tampaknya ini bukan berkas database terenkripsi yang dibuat dengan UpdraftPlusKetahui bahwa server mail terkadang memiliki batas ukuran; biasanya sekitar %s MB; cadangan lebih besar dari batas kemungkinan tidak akan terkirim.Aman dengan pencadangan otomatisBelgiumKolom email dan kata sandi diperlukan.Telusuri kontenTelusuri file zipBeli %sBatalAmerika Serikat TengahChicago (ORD)Pilih default untuk setiap tabelPilih komponen untuk dipulihkanPilih jadwal yang Anda inginkan untuk menjalankan pencadangan Anda.Pilih jadwal cadangan AndaPilih penyimpanan AndaMembersihkan sampah...ID klienRahasia KlienKlon siapWilayah klon:Server klon disediakan dan di-boot (bisa memakan waktu beberapa menit)TutupPenutupan 1 Oktober 2018Container Cloud FilesWilayah Penyimpanan Cloud FilesAutentikasi Cloud Files gagalKesalahan File Cloud - kami mengakses wadah, tetapi gagal membuat file di dalamnyaOpearasi Cloud Files gagal (%s)Nama pengguna Cloud FilesMemastikan perubahanKonflik: user atau alamat email sudah adaSelamat! Cadangan pertama Anda sedang berjalan.Selamat, pengaturan Anda telah berhasil disimpan.Terhubung ke UpdraftCentral CloudSambungkan ke updraftplus.comContainerKontrol semua cadangan Anda di satu tempatGagal menyalin entitas ini.Tidak dapat mengakses containerTidak dapat membuat containerTidak dapat menemukan pekerjaan - mungkin sudah selesai?Tidak dapat membuka berkas cadangan untuk ditulisTidak dapat membaca direktoriBuat kredensial Azure di console pengembang Azure Anda.Buat user API baru dengan akses hanya ke container ini (tidak ke seluruh akun Anda)Buat klon sementara di server kami (UpdraftClone)Buat klonBuat user dan container API baruMembuat %s dan cadangan database dengan UpdraftPlus...Membuat cadangan dengan UpdraftPlus...Membuat cadangan database dengan UpdraftPlus...Membuat cadangan pertama AndaKlon saat iniBatas saat ini:Penggunaan memory saat iniHarianDallas (DFW) (default)Dasbor:DatabaseFrasa enkripsi DatabaseDatabase berhasil didekrip.Mode debugMendekrip database (mungkin membutuhkan waktu lama)...HapusHapus Direktori LamaHapus set cadanganGagal menghapus:Hapus cadangan lokalHapus set cadangan iniMenyebarkan data situsNonaktifkan SSL sepenuhnya jika memungkinkanAbaikanSingkirkan semua berita UpdraftPlusJangan membatalkan setelah menekan Lanjutkan di bawah - tunggu sampai pencadangan selesai.Jangan verifikasi sertifikat SSLBaca artikel berikut tentang hal yang perlu diketahui sebelum memulihkan.Apakah Anda memiliki beberapa situs WordPress yang ingin Anda backup? Jika ya, Anda dapat menghemat waktu dengan mengendalikan semua cadangan Anda di satu tempat dari UpdraftCentral.Anda membutuhkan dukungan Multi-situs WordPress?Galat pengunduhan: server mengirimkan respon yang tidak dapat dimengerti.Gagal mengunduhPengunduhan sedang berlangsungUnduh berkas logUnduh berkas log yang baru dimodifikasiKetersedian yang kurang tahan lamaAsia Pasifik BaratAmerika Serikat TimurMudahEmailAkhiri turMasukan dalam format JJ:MM (misal. 14:22).Masukan path folder %s yang Anda ingin gunakan disini.Masukan path dari %s yang Anda ingin gunakan disini.Masukan username/kunci API admin Rackspace Anda (agar Rackspace dapat mengautentikasikan ijin Anda untuk membuat user baru), dan masukan username (unik) dan alamat email baru untuk user baru dan nama container.GalatPesan galatKesalahan membuka berkas lokal: Gagal mengunduhGalat:Galat: %sKesalahan: jalur tidak validGalat: server mengirimkan respon yang tidak dapat dimengerti.Terjadi kesalahan:Uni EropaSetiap jamKecualikan berkas/direktoriKecualikan ini dariTerkecuali:Pengaturan lanjutanEkstensiEkstra databasePertanyaan UmumGagalGagal membuat direktori sementaraGagal menghapus direktori kerja setelah pemulihan.Gagal menemukan berkas databaseGagal membuka berkas databaseGagal mengunggah ke %sGagal menulis database yang didekrip ke filesystemKegagalanKegagalan: Tidak ada %s yang diberikan.Gagal: Tidak ada detail bucket.Kesalahan: Tidak ada detail kontainer yang diberikan.Kegagalan: Tidak ada detail server yang diberikan.Kegagalan: kami tidak berhasil masuk dengan kredensial itu.CepatMengambil...Berkas tidak ditemukanBerkas siap.Berkas/direktoriBerkasCari tahu lebih lanjut di sini.Sidik jari tidak cocok.SelesaiFleksibelFolderIkuti tautan ini untuk mencoba membuat direktori dan mengatur izinUntuk bantuan lebih lanjut, termasuk screenshot, ikuti tautan berikut.Melarang non-administrator untuk masuk ke WordPress di klon AndaSetiap 2 mingguFrankfurtHalaman Depan:Dapatkan %s dari Toko UpdraftPlus.comDapatkan %s di siniPergi ke pengaturanPergi ke halaman checkout updraftplus.comPergi ke halaman checkout updraftplus.comGoogle CloudGoogle DriveKode HTTP:Belum memperoleh token akses dari Google - Anda perlu mengesahkan atau mengesahkan kembali koneksi Anda ke Google Drive.Belum memperoleh token akses dari Google - Anda perlu mengesahkan atau mengesahkan kembali koneksi Anda ke Google Cloud.Hong Kong (HKG)Namun, upaya akses selanjutnya gagal:Saya menerima syarat dan ketentuan UpdraftCloneSaya menyetujui %sJika Google nanti menampilkan pesan "invalid_client" kepada Anda, maka Anda tidak memasukkan ID klien yang valid di sini.Jika anda menyampaikan permintaan bantuan, mohon sertakan informasi berikut:Jika tidak, maka pilih detail Anda dan akun baru akan didaftarkan.Jika itu tidak berhasil perika ijin pada server Anda atau ubah ke direktori lain yang dapat ditulis oleh proses server web Anda.Jika Anda sudah memiliki akun updraftplus.com, maka masukkan detail di bawah ini.Jika anda menggunakan ini, nonaktifkan mode Tubro/RoadJika Anda telah memperbarui, maka Anda perlu mengalokasikan lisensi ke situs ini - %sJika Anda mengosongkannya, maka cadangan akan ditempatkan di root %s AndaJika Anda mau, uji peningkatan ke versi PHP atau WP yang berbeda.Dalam %s, nama path case sensitive.Termasuk di berkas cadanganPengulangan tanpa henti: lihat log Anda untuk informasi lebih lanjutId Pekerjaan Tidak ValidIowaPeringatan JavaScriptPekerjaan dihapusKunciPesan log terakhirHomepage pemimpin pengembanganMemproses file logLog semua pesan ke syslogMasuk di sini untuk mengaktifkan semua fitur yang Anda miliki aksesnya.Masuk atau daftar dengan alamat email iniLogin berhasil.LondonLihat melalui pengaturan lain di sini, buat perubahan apa pun yang Anda suka.Kelola klon AndaOpsi pencadangan manualDekrip berkas cadangan database secara manualMigrasikan (buat salinan situs di hosting yang Anda kontrol)Migrasi / KlonKunci migrasi dibuat:Parameter tidak adaBulananInformasi lebih lanjut di sini.Lebih banyak pengaturanTugas lain:Multi-situsN.B. Penghitungan ini berdasarkan yang dikecualikan, atau tidak dikecualikan, saat terakhir Anda menyimpan opsi tersebut.NamA: %s.NearlinePerlu menggunakan sub-folder?Alamat Email User BaruUsername User BaruPencadangan terjadwal selanjutnyaTidakTidak ditemukan pengaturan %sTidak ditemukan sambungan Vault untuk situs ini (apakah sudah dipindahkan?); mohon putuskan dan sambungkan ulang.Tidak ada salinan lokal.Tidak ada berkas log.Tidak adaVirginia UtaraNorthern Virginia (IAD)Belum punya akun? Dapatkan satu dengan membeli beberapa token di sini.Tidak diinstalIngat bahwa tidak semua metode pencadangan cloud perlu menggunakan autentikasi SSL.Catatan:Tidak ada penjadwalanBelum ada logOKPrefix tabel lama:Kata Sandi Satu Kali (periksa aplikasi OTP Anda untuk mendapatkan kata sandi ini)Satu VPS (Virtual Private Server) per klon, dibagikan kepada siapa pun.OneDrive JermanOneDrive InternationalPeramban web OperaAtau, gunakan kunci UpdraftCloneOregonPlugin hebat lainnyaLainnyaKata kunciPassword: %sPenggunaan memory tertinggiLakukan pencadanganMungkin Anda ingin masuk saja.Silahkan periksa FAQ berikut jika Anda memiliki masalah dalam pencadangan.Silakan masukkan ekstensi berkas, seperti zipSilakan masukkan ekstensi berkas yang validSilakan masukkan awalan nama berkas yang validSilakan masukkan karakter yang memulai nama file yang ingin Anda kecualikanIkuti tautan ini untuk membuka %s di jendela baru.Harap baca %s untuk penggunaan aplikasi otorisasi %s kami (tidak ada data cadangan Anda yang dikirimkan kepada kami).Silakan pilih berkas/direktori yang ingin Anda kecualikanPluginPremium / Cari tahu lebih lanjutTekan disini untuk mengunduh ataupun menjelajahiTekan di sini untuk menjalankan pencadangan manual.Tekan di sini untuk menyimpan pengaturan Anda.Tekan di sini untuk memulai!Tekan tombol ini untuk melakukan tur plugin.Lanjutkan pembaruanPengolahanSidik jari RSABaca Pertanyaan Umum di sini.Baca lebih lanjut tentang Easy Updates ManagerBaca lebih lanjut tentang bagaimana cara kerjanya...Baca artikel ini untuk melihat langkah demi langkah cara melakukannya.Menerima data situsSegarkan koneksiRegistrasi berhasil.AndalIngat pilihan ini untuk berikutnya (Anda masih bisa mengubahnya)Hapus direktori lamaMeminta permulaan pencadangan...Setel ulang turPulihkanPulihkan cadanganMemulihkan database (pada situs besar akan membutuhkan waktu lama - jika waktu habis (mungkin terjadi jika penyedia hosting web Anda memberlakukan batas resource) maka Anda harus menggunakan metode lain, misalnya phpMyAdmin)...Pemulihan akan menggantikan tema, plugin, unggah, database dan/atau direktori konten lainnya pada website (tergantung pada yang terdapat dalam set cadangan, dan pilihan Anda)Kembali ke Konfigurasi UpdraftPlusJalankan perintah ini untuk melihat berkas log untuk pemulihan ini (diperlukan untuk setiap permintaan dukungan).Berjalan pada kapasitas dari penyedia cloud computing terkemuka.MenyimpanSimpan PerubahanMenyimpan...AmanLihat panduan Microsoft tentang penamaan container dengan mengikuti tautan berikut.Pilih 'Aplikasi Web' sebagai jenis aplikasi.Pilih berkas/direktori yang ingin Anda kecualikanPilih cara untuk mengecualikan file atau direktori dari cadanganPilih apa yang ingin Anda cadangkanMengirim berkas ke situs jarak jauhPengaturanTampilkan pengaturan lanjutanSingapuraData situs telah digunakanData situs diterimaKunci situsUkuran: %s MBLewati langkah iniTabel yang terlewati:Karolina SelatanStandardMemulai pencadangan otomatis.Simpan diBerhasilBerhasil:Berhasil: kami berhasil masuk, dan mengonfirmasi kemampuan kami untuk membuat file di direktori yang diberikan (jenis login:SydneySydney (SYD)Prefix tabel telah diubah: mengubah %s field tabel dengan penyesuaian:TaiwanAmbil turHanya membutuhkan waktu untuk membuat cadangan dan mengirimkannya.Ceritakan lebih banyakTes Pengaturan %sTerima kasih telah mengikuti tur.Objek %s tidak ditemukanDirektori diatas adalah seluruhnya, kecuali WordPress core yang dapat anda unduh dari WordPress.org.Upaya pencadangan selesai, tetapi tidak berhasil.Catatan pencadangan tidak memuat informasi tentang ukuran berkas yang tepat.Cadangan dibatalkanPencadangan dibatalkan oleh userKomunikasi dengan %s dienkripsi.Komunikasi dengan %s tidak dienkripsi.Kunci dekripsi yang digunakan:Aturan pengecualian yang Anda coba tambahkan sudah adaFolder ada, tetapi server web Anda tidak memiliki ijin untuk menulisnya.Tidak dapat memulihkan entitas berikut secara otomatis: "%s".Berkas tersebut tidak ditemukan, atau tidak dapat dibaca.Berkas log tidak dapat dibaca.Persiapan data klon telah dibatalkan.Gagal meminta filesystem untuk membuat direktori.Kunci RSA kunci server %s sidik jari: %s.Semua data situs telah diterima, dan impornya telah dimulai.Zona waktu yang digunakan dari pengaturan WordPress Anda, di Pengaturan -> Umum.TemaIni adalah hitungan dari isi direktori Updraft AndaIni bukan cadangan tambahanIni bukan akun Azure anda - lihat instruksi jika memerlukan bantuan lebih lanjut.Ini biasanya dikarenakan oleh firewall - coba nonaktifkan SSL dalam pengaturan lanjutan, dan coba lagi.Ini akan menghapus semua setelan UpdraftPlus Anda - yakin ingin melakukannya?Waktu sekarangUntuk membuat klon sementara Anda membutuhkan kredit di akun Anda.Untuk membuat klon sementara Anda perlu: 1) kredit di akun Anda dan 2) untuk terhubung ke akun Anda, di bawah ini.Untuk menentukan waktu pencadangan dilakukan,Untuk membaca Pertanyaan Umum/dokumentasi tentang UpdraftClone, buka di sini.TokyoTotal (tidak dikompres) data on-diskUntuk memulai dengan UpdraftVault, pilih salah satu opsi di bawah ini:Kesulitan menghubungkan? Coba gunakan metode alternatif dalam opsi keamanan tingkat lanjut.Ketikkan awalan berkasKetikkan ekstensi seperti zipUKAS (default)Cloud AS atau InggrisAkun Rackspace AS atau UKTidak dapat memperoleh tanggal pembaruanRespon salah:Amerika SerikatMembuka cadangan...UpdraftCentral CloudDiperlukan kunci UpdraftClone.UpdraftPlus - Unggah berkas cadanganPencadangan Otomatis UpdraftPlusUpdraftPlus BackupsBerita UpdraftPlusPremium dan addon UpdraftPlusUpdraftPlus Premium memiliki banyak fitur menarik lainnya!Pemulihan UpdraftPlus: ProsesPemberitahuan UpdraftPlusPengaturan login sementara pengguna UpdraftPlus sementara:Persyaratan dan kebijakan akun UpdraftPlus.ComUpdraftVault adalah penyimpanan jarak jauh kami yang berfungsi mulus dengan UpdraftPlus.Pengunggahan kemungkinan gagal: Batas %s untuk satu berkas adalah %s, dan berkas ini berukuran %s GB (%d bytes)Gagal mengunggahPengunggahanGunakan sertifikat SSL serverNama PenggunaUsername: %sVersiWP CLIPerintah WP-CLI untuk mengambil, mendaftar dan menghapus cadangan.Dukungan WP-CLIPeringatanPeringatan:Kami mengakses wadah, dan dapat membuat file di dalamnya.Server web:Ruang disk web-server yang digunakan oleh UpdraftPlusMingguanSelamat datang di UpdraftClone Anda (klon sementara)Eropa BaratAmerika Serikat BaratDengan UpdraftPlus Premium, anda bisa langsung mengunduh file secara individual dari sini.Plugin WooCommerceBackup WordPressInti WordPressPencadangan WordPress selesaiWordPress core (saja)WordPress terpasangWordPress diinstal; sekarang menunggu data situs untuk dikirim.YaAnda dapat membeli token UpdraftClone dari toko kami, di sini.Anda dapat membeli lebih banyak token klon sementara di sini.Anda dapat memeriksa progresnya di sini atau dalam %sAnda dapat memasukan path dari folder virtual %s apapun yang Anda ingin gunakan disini.Anda dapat mengetahui lebih lanjut tentang kunci klon di sini.Anda dapat menemukan informasi klon sementara di akun updraftplus.com Anda di sini.Anda dapat melarang login non-admin ke situs yang dikloning ini dengan mencentang kotak di bawah inAnda tidak memiliki akses bucket iniAnda tidak memiliki akses bucket ini.70/5000 Anda tidak menginstal add-on %s UpdraftPlus - dapatkan dari %sAnda harus menambahkan yang berikut ini sebagai URI pengalihan resmi (di bawah "Opsi Lainnya") ketika ditanyaAnda harus menyimpan dan mengautentikasi sebelum dapat mencoba pengaturan Anda.Anda harus memilih setidaknya satu tujuan penyimpanan jarak jauh untuk mengunggah set cadangan ini.Anda harus memasukan containerAnda harus memasukan username baruAnda harus memasukan alamat email baru yang sahAnda harus memasukan kunci API adminAnda harus memasukan username adminAnda perlu mengautentikasi ulang dengan %s, karena kredensial Anda yang saat ini ada tidak berfungsi.Anda harus mengaktifkan %s untuk membuat pranala (misal. %s) bekerjaAnda berhasil membeli UpdraftPremium.Anda harus memulihkannya secara manual.Nama akun %s anda: %sPenggunaan quota %s Anda: %s %% digunakan, %s tersisaUpdraftClone Anda masih disiapkan.Instalasi WordPress Anda memiliki direktori lama dari statusnya sebelum Anda dipulihkan / dimigrasikan (informasi teknis: ini berakhir dengan yang lama).Cadangan anda telah dipulihkan.Klon Anda sudah mulai dan akan tersedia di URL berikut setelah siap.Klon Anda sudah mulai, informasi jaringan belum tersedia tetapi akan ditampilkan di sini dan di akun updraftplus.com Anda setelah siap.Klon Anda sekarang akan menggunakan data ini untuk membuat kembali situs Anda.Klon Anda akan diperbarui pada:Cadangan pertama AndaPengaturan Anda telah disimpan.Setelan Anda telah dihapus.Server web Anda mengaktifkan mode yang disebut safe_mode pada PHPWeb situs anda dihost menggunakan server web %s.arsipkembalimenghitung...containerpenghitunganmisal. %smisal. jika server Anda sibuk saat pagi dan anda ingin menjalankannya semalamankesalahan: %s (lihat berkas log untuk lebih lanjut)kesalahan: gagal mengunggah file ke %s (lihat berkas log untuk lebih lanjut)gagal mengunggah berkas ke %s (lihat berkas log untuk lebih lanjut)ikuti tautan ini untuk mendapatkannyakesinimencatat hasil ke konsolmasukmengelolalokasi multi-regionsedang memproses pembaruan...opsionalatau (diskon tahunan)atak, untuk mengatur ulang opsi iniplugintekan di sinidirekomendasikansegarkanpengaturantampilkan logdimulai dari selanjutnyaBerhentiquery database yang dijalankan adalah:plugin cadangan paling tepercaya di dunia!temakebijakan privasi iniakan dipulihkan sebagai:anda telah mengautentikasikan akun %s AndaAnda telah mengautentikasi akun %s Anda.akun UpdraftPlus.com Andalanguages/updraftplus-lt_LT.mo000064400000013045147400355670012452 0ustar00GT* ^W_|8     ! / : D Q\k|1' ?'g -   "+'SJi/8 (= -f .  2  2 N \ {      p  A- o   k "/+[Ry     #. 6A Q\q #>':bsD/$A6x   0J,?wC.7G- 8 e8   %s per quarter(backup set imported from remote location)Add siteAdding...Allow deletionAllow downloadAlmost all FTP servers will want passive mode; but if you need active mode, then uncheck this.Back...Backup data will be sent to:Backup made by %sBackup sent to remote site - not available for download.CancelCloseCreating...Current use:Delete failed:Deleting...DisconnectDismissEmailExisting keysExtensionsFTP loginFTP passwordFTP serverGet more quotaGo here for helpHow do I get a site's key?It is for sending backups to the following site: Key created successfully.No receiving sites have yet been added.Passive modePaste key herePlease give this key a name (e.g. indicate the site it is for):Press a button to get started.Quota:Refresh current statusRemote pathRestore an existing backup set onto this siteSave ChangesSaving...SendSend to site:SettingsShow the optionsSiteSubscriptions can be cancelled at any time.Testing connection...The entered key does not belong to a remote site (it belongs to this one).The entered key was corrupt - please try again.The entered key was the wrong length - please try again.The key was successfully added.The zip engine returned the message: %s.This site has no backups to restore from yet.This storage method does not allow downloadingUpdraft VaultVault ownerWarning:Well done - there's nothing more needed to set up.Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors.Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website.You can get more quota hereYour new key:Your settings have been saved.keykey nameloginsettingssite not foundstopPO-Revision-Date: 2017-09-05 14:42:31+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > 19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? 1 : 2); X-Generator: GlotPress/3.0.0 Language: lt Project-Id-Version: UpdraftPlus %s per ketvirtį(Atsarginės kopijos rinkinys importuotas iš nuotolinės vietos)Pridėti tinklalapįPridedama...Leisti ištrintiLeisti parsisiųstiBeveik visi FTP serveriai nori pasyvaus režimo; bet jeigu jums reikia aktyvaus režimo, tada nuimkite tai.Atgal...Atsarginės kopijos duomenys bus siunčiami į:Atsarginė kopija padaryta %sAtsarginė kopija išsiųsta į nuotolinį tinklalapį - parsisiuntimas negalimas.AtšauktiUždarytiKuriama...Dabartinis naudojimas:Ištrynimas nepavyko:Trinama...AtsijungtiAtmestiEl.paštasEsantys raktai:ĮskiepiaiFTP naudotojo vardasFTP slaptažodisFTP serverisGaukite daugiau kvotųEikite čia pagalbosKaip aš gausiu tinklalapio raktą?Tai yra atsarginių kopijų siuntimui į sekantį tinklalapį:Raktas sukurtas sėkmingai.Priimantys tinklalapiai yra nepridėti.Pasyvus režimasĮveskite raktą čiaPrašome suteikti šiam raktui pavadinimą (pvz nurodyti svetainę):Paspauskite mygtuką, kad galėtumėte pradėtiKvota:Atnaujinti dabartinį statusąNuotolinis keliasAtkurti iš esamo atsarginės kopijos rinkinio šiam tinklalapiuiĮrašyti pakeitimusIšsaugoma...SiųstiSiųsti į tinklalapį:NustatymaiRodyti pasirinktisTinklalapisPrenumerata gali būti atšaukta bet kuriuo metuTestuojamas ryšys...Įvestas raktas nepriklauso nuotoliniam tinklalapiui (jis priklauso šiam)Įvestas raktas yra sugadintas - prašau pabandyti dar kartą. Įvestas raktas yra netinkamo ilgio - prašau pabandyti dar kartą.Raktas sėkmingai pridėtas.Suspaudimo variklis grąžina pranešimą: %s.Šis tinklalapis neturi atsarginės kopijos atkūrimui.Šis saugojimo būdas neleidžia parsisiųstiUpdraft saugyklaSaugyklos savininkasĮspėjimas:Viskas padaryta - daugiau nieko nebereikia nustatinėti.Be šio leidimo, UpdraftPlus negali trinti atsarginių kopijų - jūs taip pat turėte nustatyti savo "išsaugomus" nustatymus labai aukštus, kad būtų išvengta rodomų ištrynimo klaidų.Be šio leidimo, jūs negalite tiesiogiai atsisiųsti arba atkurti naudojantis UpdraftPlus ir vietoj to reikia apsilankyti AWS svetainėje.Čia galite gauti daugiau kvotųJūsų naujas raktas:Ваши настройки были сохранены.raktasrakto pavadinimasPrisijungtiNustatymaitinklalapis nerastassustabdytilanguages/updraftplus-hu_HU.mo000064400000126144147400355670012451 0ustar00l #)KG +$6 :&F m+{EC1 9D_%g n ' 8!8V!*!-!_!H"W"w"$"""]"A# a#5l#6#;#$($?$_$ |$$9$%$6$&0%W%p%G% %%%" &K0& |&&&&&&-&m&Eh' ''' ( ((/( 5(A(J(R(e(( ( ))*.)Y) `)k)))))))))* 0*;*B*Y*m*|****(*)*$+P?++(++++]+i<,,5,,-#-12- d-,r------..$.3.C.\. l.w.....3../)/B/_/s/[///&0&/0!V0?x0^01.141C13I1}11 111%1K 2;W22g3D{3 333 33 44*4-464 H47U4 4z455+5f5L6k65D7Lz77l8|8 8%88 898 9& 9$G9+l99999/9 ::&0:]W:,: :G: 8;E;M; c; p; |;;;; P<Z<s<<<<<< <<<9<7=P=g=~= =====g>??'?.?7?M$M$M N1N"NNEOXO lO!xOO1OaOBPYP!nPP PP PPPPPPQQKQ@eQSQ+Q &R1R8R^PRRORS'SDSWS4[SDSFS"T[?TjT9U@UUUfUDUVU4!V9VVPV_VGAWWWDW X&XDXLX _XiX"xX#X XXX@X,Y#JY#nY!Y:YYZ#Z>Z CZMZUZ [Z"hZZZZ Z'ZZ [[[7[L[ R[^[ q[}[[[[[[[[[\& \3\M\F]"X]{]5],]O] G^.R^,^^8^ ^% _1_'K_Ws_N_ `$`>` Y`z``;``$`a[&aa0!bFRb0bb>bY'ccccccd d d dSd+%eaQe#e*e-f0fPf`f8tf/f4f,g'?gggGggg;g';hAchhhhhh'h7!iYiXi/Rjjj jjj jj k!k0kJkk l l&#l1Jl |ll l)lllm $m"/mRmemmmmmmmn(n*@n1kn6n#n{nto"oo oo|oxIppNp.qHq(MqAvq q?qAr-Grurrrrrr*r s*s9sLsdsus zsEss!s; t)Ftpt#tqt$u)u1@u&ru+uHu\v%kvvvvJv1v.wHw*_ww2wYw>x\xlxDVy yyyyyyz -z7z;z QzE^z zzM{U{= |XI||>}4}O}I~ /<:Y  C 9'K2sǀ׀<2K4dm+3eMÂ"˂ 7Q  4Ukr &ńX"Y| Åԅ݅$ e& "ć# ;3Yj] x"щG"-XP'Ԋ, BN$W|>4ʋ&I&p"  ČҌ 2Ǎ<֍2 K YszL;LI @U"[iD*oLgEL9#̓.ŔFוb= &G nc|<IJF;T2Ú2&ۛSG a$m({ϜKb)xܝ ( '5GOd t]~Rܞb/9 ̟ןߟ]XDr(ɠ; JH2-ơwlH= S&^jhAYQp^X@(YOҦ$ (4/C0sKA (M(v0XШ')#Q/u  ĩΩ%1$V ^.l Ȫ 31Hz!ӫ" %)O%s (%s used)%s Error: Failed to upload%s add-on not found%s download: failed: file not found%s error - failed to access the container%s error - we accessed the container, but failed to create a file within it%s per year%s returned an unexpected HTTP response: %s%s support is available as an add-on%s table(s) found.%s total table(s) found; %s with the indicated prefix.(Read more)(tap on an icon to select or unselect)(view log...)This is NOT a folder name.A search/replace cannot be undone - are you sure you want to do this?ABORT: Could not find the information on which entities to restore.API keyAPI secretAccount holder's name: %s.Account is not authorized (%s).Account is not authorized.ActionsAdd an external database to backup...Add directory...Advanced / Debugging SettingsAdvanced ToolsAfter pressing this button, you will be given the option to choose which components you wish to restoreAfter you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance.All WordPress tables will be backed up.An error occurred on the first %s command - aborting runAn error occurred when fetching storage module options: An error response was received; HTTP code:Any other directories found inside wp-contentAny settings in your .htaccess or web.config file that affects the maximum upload or post size.Apache modulesArchive is expected to be size:Ask a pre-sales questionAt the same time as the files backupAuthenticate with %sAuthenticate with GoogleAutomatically backs up your website before any updates to plugins, themes and WordPress core.Available to claim on this siteBackup NowBackup WordPress core and non-WP files and databases.Backup WordPress multisites (i.e, networks), securely.Backup created by unknown source (%s) - cannot be restored.Backup created by:Backup created by: %s.Backup data (click to download)Backup data will be sent to:Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified is writable, which is good.Backup directory successfully created.Backup external databaseBackup file not available.Backup non-WordPress tables contained in the same database as WordPressBackup of: %sBackup succeededBackup time and schedulingBackup to remote storage locationsBad filename format - this does not look like a file created by UpdraftPlusBlog uploadsBrowse contentsBrowsing zip fileCallCancelChange Lock SettingsCheck this box to have a basic report sent toCheck this to receive more information and emails on the backup process - useful if something is going wrong.Check your file permissions: Could not successfully create and enter:Choose the components to restoreChoose your remote storageCleaning up rubbish...Client IDClient SecretCloning and migrationCloseCloud FilesCompleteConfirmConnection failed.Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.Connection succeeded.ConstantsContainerCould not access %s containerCould not open the backup file for writingCreateCreate keyCreated database backupCreated file backup zipsCurrent limit is:Current memory usageDailyDatabaseDatabase (created by %s)Database OptionsDatabase backup scheduleDatabase encryption phraseDebug modeDeleteDelete Old DirectoriesDelete local backupDirectory pathDismissDismiss (for %s months)Dismiss from main dashboard (for %s weeks)Do you need WordPress Multisite support?Do you use UpdraftPlus on multiple sites?Do you want to carry out the import?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download log fileDownload most recently modified log fileDropboxEditEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too.Encryption key size:Enter the path of the %s folder you wish to use here.Enter your chosen nameErrorError - failed to download the fileError downloading remote file: Failed to downloadError messageError opening local file: Failed to downloadError opening remote file: Failed to downloadError: invalid pathEurope (Frankfurt)Europe (Ireland)Europe (London)Every %s hoursExclude these:Expert settingsExport / import settingsExport settingsExtensionsExternal databaseExternal database (%s)Extra databaseFAQsFailedFailed to delete working directory after restoring.Failed to downloadFailed to download %sFailed to open database file for reading:Failed to unpack the archiveFailed to upload %sFailed to upload to %sFailed: We were not able to place a file in that directory - please check your credentials.FailureFailure: No %s was given.Failure: No bucket details were given.Failure: No server details were given.Failure: Port must be an integer.Failure: we did not successfully log in with those credentials.Failure: we successfully logged in, but were not able to create a file in the given directory.Fast, personal supportFetchFile not foundFilesFiles and database WordPress backup (created by %s)Files backup (created by %s)Files backup scheduleFind out moreFirst, enter the decryption keyFolderFollow this link for more informationFollow this link to attempt to create the directory and set the permissionsFollow this link to sign up for the UpdraftPlus newsletter.Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium.For the ability to migrate websites, upgrade to UpdraftPlus Premium.FortnightlyFreeFree disk space in account:Full backupFull feature listGet PremiumGet UpdraftCentralGoGo thereGo up a directoryGoogle DriveGoogle Drive list files: failed to access parent folderHTTP code:Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.HostHowever, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.However, subsequent access attempts failed:If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.If you are using this, then turn Turbo/Road mode off.If you leave it blank, then the backup will be placed in the root of your %sIf your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.Import settingsImporterImporting...In %s, path names are case sensitive.Include in files backupIncrementalInfinite recursion: consult your log for more informationInstalledIt can also backup external databases.It has been tested up to version %s.It is an ID number internal to Google DriveJavaScript warningKeyLast log messageLead developer's homepageLeave this blank, and a default will be chosen.Loading log fileLocal files deleted:Local write failed: Failed to downloadLock access to UpdraftPlus via a password so you choose which admin users can access backups.Lock access to the UpdraftPlus settings pageLock settingsLog all messages to syslog (only server admins are likely to want this)Memory limitMonthlyMore database optionsMore pluginsMore tasks:MultisiteMultisite InstallMust-use pluginsN.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.Name: %s.Need to use sub-folders?Needs to already existNetwork / multisiteNewsNewsletter sign-upNext scheduled backupsNoNo %s foundNo %s settings were foundNo adsNo backup of location: there was nothing found to back upNo database tables foundNo local copy present.No settings were foundNoneNot installedNote:Nothing currently scheduledNothing yet loggedOne or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the "retain" settings; if/when you wish to delete them then you must do so manually.Only the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOther %s FAQs.OthersPasswordPathPeak memory usagePlease choose a file or directoryPluginsPortPre-sales FAQsPre-update backupsPress here to download or browseProcessing table (%s)Read moreRead this page for a guide to possible causes and how to fix it.Recommended: optimize your database with WP-Optimize.Region: %sRemote files deleted:RemoveRemove old directoriesReplace withRescan local folder for new backup setsRescan remote storageRescanning remote and local storage for backup sets...RestoreRestore backupReturn to UpdraftPlus ConfigurationReview UpdraftPlusSCP/SFTP password/keySave ChangesSaving...SearchSearch / replace databaseSearch forSelect 'Web Application' as the application type.Select a file to view information about itSending Your Backup To Remote StorageSet exact times to create or delete backups.SettingsShow expert settingsSign upSite informationSite sizeSkipped tables:Store atSuccessSuccess:Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:SupportSupported backup plugins: %sTable prefixTell me more about incremental backupsTenantTest %s SettingsTest connection...Testing...The %s object was not foundThe UpdraftPlus module for this file access method (%s) does not support listing filesThe WordPress content folder (wp-content) was not found in this zip file.The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The attempt to undo the double-compression failed.The attempt to undo the double-compression succeeded.The backup attempt has finished, apparently unsuccessfullyThe backup has finished runningThe backup records do not contain information about the proper size of this file.The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The key provided was not in a valid format, or was corrupt.The log file could not be read.ThemesThis backup was created by %s, and can be imported.This button is disabled because your backup directory is not writable (see the settings).This can easily destroy your site; so, use it with care!This feature requires %s version %s or laterThis file could not be uploadedThis file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).This is a count of the contents of your Updraft directoryThis option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up.This remote storage method (%s) requires PHP %s or later.This version of UpdraftPlus does not know how to handle this type of foreign backupThis will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these.This will delete all your UpdraftPlus settings - are you sure you want to do this?This will import data from:Time nowTo be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To fix the time at which a backup should take place,To maintain your access to support, please renew.To make a backup, just press the Backup Now button.To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To regain your access, please renew.To remove any block, please go here.To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.Too many database errors have occurred - abortingTotal (uncompressed) on-disk data:Total backup size:Unless you have a problem, you can completely ignore everything here.Unpacking backup...UpdraftPlusUpdraftPlus - Upload backup filesUpdraftPlus BackupsUpdraftPlus Blog - get up-to-date news and offersUpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply.UpdraftPlus NewsletterUpdraftPlus Premium:UpdraftPlus Restoration: ProgressUpdraftPlus notice:UpdraftVaultUpdraftVault storageUpgrade nowUpload backup filesUploadsUsernameVersionView LogWarningWarning:Warning: the database's home URL (%s) is different to what we expected (%s)We accessed the bucket, and were able to create files within it.We successfully accessed the bucket, but the attempt to create a file in it failed.Web-server disk space in use by UpdraftPlusWebDAV URLWeeklyWelcome to UpdraftPlus!Where to change directory to after logging in - often this is relative to your home directory.Which was exported on:With UpdraftPlus Premium, you can directly download individual files from here.WordPress BackupWordPress backup is completeWordPress databaseYesYou can manually decrypt an encrypted database here.You do not have the UpdraftPlus %s add-on installed - get it from %sYou have chosen to backup a database, but no tables have been selectedYou have not yet made any backups.You must add the following as the authorised redirect URI (under "More Options") when askedYou should update UpdraftPlus to make sure that you have a version that has been tested for compatibility.You will need to ask your web hosting company to upgrade.Your %s version: %s.Your IP address:Your backup has been restored.Your hosting company must enable these functions before %s can work.Your login may be either password or key-based - you only need to enter one, not both.Your paid access to UpdraftPlus support has expired.Your paid access to UpdraftPlus support will soon expire.Your paid access to UpdraftPlus updates for %s add-ons on this site has expired.Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire.Your paid access to UpdraftPlus updates for this site will soon expire.Your settings have been saved.Your settings have been wiped.Your web server's PHP installation has these functions disabled: %s.advanced optionsand retain this many scheduled backupsarchiveauthentication URIcalculatecalculating...database connection attempt faileddatabase connection attempt failed.database nameday(s)e.g. %se.g. if your server is busy at day and you want to run overnighteasily migrate or clone your site in minutesencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)error: %s (see log file for more)error: failed to upload file to %s (see log file for more)failed to access parent folderfailed to list filesfollow this link to get ithosthost namehour(s)loginnotice imagenow proceeding with the updates...or to restore manuallyor, to reset this optionpasswordpassword/keyplease wait for the rescheduled attemptread more at %srecommendedrefreshregular non-encrypted FTPremote files deletedresetrestorationsearch and replacesearch termsecure your backupssettingsstarting from next time it isstoptablestemplate not foundunknown sourceuse UpdraftPlus Premiumuserusernameyou have authenticated your %s accountyour site's admin addressPO-Revision-Date: 2017-09-05 14:42:19+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: hu Project-Id-Version: UpdraftPlus %s (%s használt)%s hiba: Nem sikerült feltölteni%s modul nem található%s letöltés: nem sikerült - nem találtuk a fájlt%s hiba - nem sikerült elérni a konténert%s hiba - elértük a konténert, de nem sikerült létrehozni egy fájlt benne%s évente%s visszaadott egy nem várt HTTP választ: %s%s támogatás elérhető mint kiterjesztés%s táblát találtunk.%s táblát találtunk; ebből %s a megadott előtaggal.(Bővebben)(bökj egy ikonra a kiválasztáshoz)(napló megtekintése...)Ez NEM egy mappa név.A keresés/kicserélés nem vonható vissza - biztos vagy benne, hogy ezt akarod tenni?FÉLBE SZAKADT: Nem található információ, melyik elemet állítsuk vissza.API kulcsAPI titkos kulcs (secret)Fiók tulajdonos neve: %s.Profil nincs megerősítve (%s).A fiók nincs hitelesítve.AkciókKülső adatbázis hozzáadása a biztonsági mentéshez...Mappa létrehozásaHaladó / Hibakereső beállításokHaladó eszközökMiután rákattintott erre a gombra, választhat, hogy melyik összetevőt állítja visszaHa már készített mentést az adatbázisról, akkor érdemes a honlap gyorsítása érdekében az adatbázist optimalizálni, a WP-Optimize bővítménnyel.Összes WordPress-es tábla mentése (ajánlott)Egy hiba történt az első %s parancsnál - megszakítás folyamatbanHiba lépett fel a beállítások mentésénél:Az alábbi hibakódot kapta: Minden más mappa, ami a wp-content könyvtárban található.A .htaccess vagy a web.config fájl korlátozza a feltölthető/küldhető fájlméretet.Apache modulokAz archívum várható mérete:Vásárlás előtti kérdésA fájl mentésekkel egyidőbenHItelesítés ezzel: %sHitelesítés a Google-lelAutomatikusan készítsen biztonsági mentést, mielőtt a frissítést (bővítmény, sablon vagy WordPress alap) elindítanánk.Ezen az oldalon lehet igényelniMentés mostMentésbe a WordPress alap fájlai és a nem WordPress fájlok is kerüljenek bele.Hálózat / Multisite biztonságos mentéseEzt a biztonsági mentést egy ismeretlen forrás készítette (%s) - nem lehet visszaállítani.A biztonsági mentést létrehozta:Biztonsági mentés létrehozva %s által.Mentett adatok (kattints rá a letöltéshez)Mentett adatok elküldése ide:Mentés dátumaMentési könyvtárA backup könyvtár (%s) nem írható vagy nem létezik.A Backup könyvtárat nem sikerült létrehozniA megadott mentési könyvtár írható, ami helyes.A Backup könyvtárat sikerült létrehozni.Külső adatbázis biztonsági mentéseA mentési fájl nem elérhetőNem WordPress táblák biztonsági mentése a WordPress adatbázisábanAlábbi mentés: %sSikeres biztonsági mentésBiztonsági mentés készítésének ideje és időzítéseMentés távoli elérésű tárhelyekreHelytelen fájlnév - ez a fájl nem UpdraftPlus fájlnak néz kiBlog feltöltésekTartalom böngészéseA zip fájl böngészéseHívásMégsemZárolási beállítások módosításaJelöld be ezt, ha szeretnél összefoglalót kapni az Jelöld be ezt, ha szeretnél több információt és e-mailt kapni a biztonsági mentési folyamatról - hasznos ha valami nem úgy történik, ahogy kellene.Ellenőrizze hozzáférési jogait a fájlokhoz: Nem sikerült létrehozni és belépni:Válassza ki a visszaálítandó összetevőketVálasszon távoli tárhelyetSzemét eltakarítása...kliens IDkliens titkos kulcsKlónozás és MigrálásBezárásFelhőben lévő fájlokTeljesítveMegerősítésSikertelen kapcsolódás.Sikertelen kapcsolódás: ellenőrizd le a hozzáférési adatokat, azt, hogy az adatbázis szerver működik, valamint hogy a hálózati kapcsolat nem tűzfal mögötti-e.Sikeres kapcsolódás.ÁllandókKonténerNem lehet megnyitni a(z) %s konténertNem sikerült írásra megnyitni a mentés fájltLétrehozásKulcs létrehozásaAdatbázis mentés létrehozásaZip tömörített mentések létrehozásaAz aktuális limit:Pillanatnyi memória használatNapontaAdatbázisAdatbázis (létrehozva %s által)Adatbázis OpciókAdatbázis mentés ütemezéseAdatbázis titkosítási kulcsHibakereső módTörlésRégi könyvtárak törléseTörölje a helyi mentéseketKönyvtár elérési útFigyelmen kívül hagyElrejtés (%s hónapig)Elrejtés a fő műszerfalról (%s hétig)Szüksége van WordPress Multisite támogatásra?UpdraftPlus bővítményét több honlapon használja?Elakarja végezni az importálást?Nem akarod, hogy sikeresen kémkedjenek utánad? Az UpdraftPlus Premium titkosíthatja adatbázisod biztonsági mentését.Napló fájl letöltéseLegutolsó naplófájl letöltéseDropboxSzerkesztésE-mailAz UpdraftPlus (ingyenes verzió) által létrehozott email jelentések elhozzák neked a legújabb UpdraftPlus.com híreketSérülékeny adatbázisok titkosítása (pl. vásárlók adatai vagy jelszavak); Külső adatbázisok mentésénél is.Titkosítási kulcs mérete:Add meg az útvonalat a(z) %s könyvtárhoz, melyet itt szeretnél használni.Írja be a kívánt nevetHibaHiba - nem sikerült letölteni a fájltHiba a távoli fájl letöltésénél: Nem sikerült a letöltésHiba üzenetHiba a helyi fájl megnyitásánál: Nem sikerült a letöltésHiba a távoli fájl megnyitásánál: Nem sikerült a letöltésHiba: nem létező vagy hibás elérési címEurópa (Frankfurt)Európa (Írország)Európa (London)Minden %s órábanKivéve:Haladó beállításokBeállítások exportálása/importálásaBeállítások exportálásaKiegészítőkKülső adatbázisKülső adatbázis (%s)Extra adatbázisGYIKNem sikerültNem sikerült a munkakönyvtárat kitörölni visszaállítás után.Nem sikerül a letöltésNem sikerült a(z) %s letöltéseNem sikerült kinyitni az adatbázis fájlt az olvasáshoz:Nem sikerült az archívumot kicsomagolniNem sikerült feltölteni: %sNem sikerült a feltöltés ide: %sHiba: Nem sikerült fájl létrehozni abban a könyvtárban - kérem ellenőrizze a hitelesítési információitHibaHiba: Nincs %s megadvaHiba: Nem adott meg bucket (csoport) részleteketHiba: Nem adta meg a szerver adatokat.hiba: a port számnak egésznek kell legyenHiba: Nem sikerült belépni a megadott hitelesítési információkkal.Hiba: Bár sikerült belépni, de nem sikerült fájlt létrehozni a megadott könyvtárban.Gyors, személyre szabott támogatásFetchNincs meg a fájlFájlokFájl és adatbázis WordPress biztonsági mentés (létrehozva %s által)Fájl biztonsági mentés (létrehozva %s által)Fájl mentés ütemezéseTovábbi információkElőszőr is, írd be a dekódoló kulcsotMappaKövesd ezt a linket a még több információértKattints ide a könyvtár létrehozásához és a hozzáférési jogok beállításához.Az alábbi linket feliratkozhatsz az UpdraftPlus hírlevélre.Kövesd ezt a linket a Google API Console-hoz és ott aktiváld a Drive API-t, valamint hozz létre egy Client ID-t az API Access résznél.Az UpdraftPlus beállítások jelszóval történő zárolásához frissítened kell UpdraftPlus Premium-ra.Weboldalak migrálásához frissítened kell UpdraftPlus Premium-ra.KéthetenteIngyenesÜres tárhely a fiókban:Teljes biztonsági mentésTeljes funkció listaPrémium megszerzéseUpdraftCentral beszerzéseGyerünk!IdeFelsőbb könyvtárbaGoogle DriveGoogle Drive fájl listázás: nem sikerült elérni a szülőmappátHTTP kód:Még nem szerzett be hozzáférési token-t (vezérlőjelet) a Google-től - hitelesítenie vagy újra hitelesítenie kell a kapcsolatát a Google Drive-val.SzerverHabár, az UpdraftPlus archívumok standard zip/SQL fájlok - tehát ha biztos vagy benne, hogy a fájlodnak helyes formátuma van, átnevezheted úgy, hogy megfeleljen a mintának.Azonban további hozzáférési kísérletek sem sikerültek:Ha a Google az üzeni, hogy "invalid_client", akkor helytelen kliens ID-t adott meg itt.Ha ez sikertelen, ellenőrizze a webszerveren a hozzáférési jogokat, vagy adjon meg másik könyvtárat, ami írható a webkiszolgáló folyamat által.Ha ezt a biztonsági mentést egy másik biztonsági mentés bővítmény készítette, akkor az UpdraftPlus Premium segíthet neked.Ha ezt használja, kapcsolja ki a Turbo/Road módot.Ha üresen hagyod, akkor a biztonsági mentés a te %s gyökérbe lesz helyezveHa az adatbázisod extra táblákat tartalmaz, amelyek nem részei ennek a WordPress oldalnak (tudni fogod, ha ez a helyzet áll fenn), akkor aktiváld ezt az opciót, hogy azok is el legyenek mentve.Beállítások importálásaImportálásImportálás folyamatban ...Az útvonal nevek kis- és nagybetű érzékenyek itt: %s.Ezekről is készüljön mentésInkrementálVégtelen rekurzió: nézze meg a naplót további információértTelepítveKülső adatbázisok biztonsági mentésére is alkalmas.Tesztelve volt egészen a %s verzióig.Ez egy belső Google Drive ID (azonosító) szám Javascript figyelmeztetésKulcsUtolsó log sorA vezető fejlesztő honlapjaHagyd ezt üresen és az alapértelmezett lesz kiválasztva.Napló fájl betöltéseHelyi fájlok törölve:Helyi fájl írási hiba: Nem sikerült a letöltésUpdraftPlus zárolása jelszóval, így csak a kiválasztott adminisztrátorok férnek hozzá a mentésekhez.UpdraftPlus beállítások oldal zárolásaZárolási beállításokNaplózzon le minden üzenetet a syslog-ba (valószínű csak szerver adminisztrátorok akarják ezt)Memória határHavontaTovábbi adatbázis beállításokTovábbi bővítményekTöbb feladat:MultisiteMultisite installációKötelező bővítményekMegj.: Ha több WordPress oldalon is feltelepíted az UpdraftPlust, akkor nem használhatod újra a projektet; egy újat kell létrehoznod a Google API konzolban minden egyes oldalnak.Név: %s.Almappákat kíván használni?Szükséges, hogy már létezzenHálózat / MultisiteHírekFeliratkozás hírlevélreKövetkező ütemezett mentésekNem%s nem találhatóNem található ilyen beállítás: %sNincsenek reklámokBiztonsági mentés nélküli könyvtár: nem található semmi, amit el lehetne menteniNem találtunk adatbázis táblátNem létezik helyi másolat.Nem találtunk beállításokatEgyik semNincs telepítveJegyzet:Nincs semmi ütemezveMég semmit sem került naplózásraHozzáadódott egy vagy több biztonságos mentés a külső tárhely átszkennelése után; vedd figyelembe, hogy ezek nem lesznek automatikusan törölve a "megőrzés" beállítások által; ha/amikor ki szeretnéd törölni őket, ezt manuálisan kell majd megtedd.Csak a WordPress adatbázist lehet visszaállítani; a külső adatbázist manuálisan kell kezelned.Opera böngészőMás %s GYIK.EgyébJelszóElérésMemória használati csúcsértékVálasszon ki könyvtárat, mappátBővítményekPortVásárlás előtti GYIK-ekFrissítés előtti mentésekKattints ide a böngészéshez vagy a letöltéshezTábla feldolgozása (%s)TovábbOlvasd el ezt az oldalt - találsz rajta egy útmutatót a lehetséges okokról és javítási módokról.Ajánlás: Időnként optimalizálja az adatbázist, például a WP-Optimize bővítménnyel.Régió: %sKülső fájlok törölve:EltávolításRégi könyvtárak eltávolításaKicserélés ezzel:Lokális mappa újraszkennelése új biztonsági mentési szettek utánTávoli tárhely újraszkenneléseKülső- és lokális tárhelyek újraszkennelése biztonsági mentés csomagok után...VisszaállításMentés visszaállításaVissza az UpdraftPlus beállításáhozUpdraftPlus véleményekSCP/SFTP jelszó/kulcsVáltozások mentéseMentés....KeresésAdatbázis keresése / kicseréléseKeresés erre:Válassza azt, hogy 'Web Application' mint alkalmazás típus.Válasszon ki egy fájlt, hogy lássa a részleteketMentések küldése távoli tárhelyreÁllítsa be a pontos időzítést a mentés készítéshez, törléshez.BeállításokMutassa a haladó beállításokatFeliratkozásOldal információkOldal méreteKihagyott táblák:Tárolás itt:SikerSiker:Siker: Sikerült belépni, és megerősítést nyert, hogy létre tudunk hozni fájlt a megadott könyvtárban (hozzáférés típusa:SegítségTámogatott biztonsági mentés bővítmények: %sTábla előtagTudj meg többet az inkrementális biztonsági mentésekrőlBérlőPróba beállítás %sKapcsolat tesztelése...Tesztelés...A(z) %s objektum nem találhatóAz ehhez a fájl hozzáférési metódushoz használt UpdraftPlus modul (%s) nem támogatja a fájlok listázásátNem találtuk a WordPress tartalom mappát (wp-content) ebben a zip fájlbanA fenti mappák teljes tartalma mentésre kerül, kivéve a Wordpress core fájlok, amiket a Wordpress.org-ról le lehet tölteni.Sikertelen volt a kétszeres tömörítés visszavonására tett kísérlet.Sikeres volt a kétszeres tömörítés visszavonására tett kísérlet.A mentési kísérlet befejeződött, látszólag sikertelenül.A mentés sikeresen befejeződöttA mentési bejegyzés nem tartalmaz információt ennek a fájlnak az eredeti méretéről.Úgy tűnik, hogy az adatbázis fájl kétszeresen lett tömörítve - valószínű a weboldal, ahonnan letöltötted, egy nem jól konfigurált webszerveren található.A feltelepített UpdraftPlus Backup/Restore verzió nem volt tesztelve ezen a WordPress változaton (%s).A megadott kulcs nem volt megfelelő formátumú, vagy korrupt volt.A log fájlt nem lehet olvasni.TémákEz a biztonsági mentés %s által lett készítve és be lehet importálni.Ez a gomb le van tiltva, mert a biztonsági mentés könyvtár nem írható (lásd a beállításokat).Ez könnyen tönkreteheti a weboldaladat, tehát használd óvatosan!Ehhez a funkcióhoz %s verzió %s vagy újabb szükségesEzt a fájlt nem tudtuk feltölteniEz a fájl nem úgy tűnik, hogy egy UpdraftPlus biztonsági mentés archívum lenne (azok a fájlok .zip vagy .gz formátumuak és olyan neveik vannak, mint: backup_(idő)_(oldal név)_(kód)_(típus).(zip|gz)).Ez az Updraft könyvtár tartalmának mérete.Ez az opció lehetővé teszi azon táblák biztonsági mentését a MySQL adatbázisból, amelyek nem tartoznak a WordPress-hez (a rendszer úgy ismeri fel őket, hogy nem tartalmazzák a beállított WordPress előtagot, %s)Ez a távoli tárolási módszer (%s) PHP %s-t vagy újabbat igényel.Az UpdraftPlus ezen verziója nem tudja hogyan kezelje ezt a típusú külső biztonsági mentéstEz minden bővítmény hibakeresési kimenetét meg fogja jeleníteni ezen a képernyőn - kérünk ne lepődj meg mikor látod ezeket.Ez minden UpdraftPlus beállítást kitöröl - biztos benne?Az alábbi adatokat fogja importálni:A pontos időAhhoz, hogy egy tetszőleges mappa nevet állíthass be, az UpdraftPlus Premium-t kell használnod.Hogy megváltoztasd az alapértelmezett beállításokat, hogy beállítsd az ütemezett mentéseket, hogy a biztonsági mentéseket egy külső tárhelyre küldd át (ajánlott), és egyebek, menj a Beállítások fülre.Hogy beállítsa, milyen időpontban kerül sor a mentésre,Hogy fenntartsd a hozzáférést a támogatáshoz, kérünk hosszabbíts.Nyomd meg a Mentés Most gombot, hogy létrehozz egy biztonsági mentést.Hogy visszaszerezd a frissítésekhez való hozzáférést (inkl. jövőbeli fejlesztések és kompatibilitás a jövőbeli WordPress verziókkal), kérünk, hogy újítsd meg az előfizetésed.Hogy visszaszerezd, kérünk újítsd meg az előfizetést.Ha a blokkolást le kívánod venni, ide kattints.Hogy megtartsd a hozzáférésed a frissítésekhez (inkluszív jövőbeli funkciók és kompatibilitás a jövőbeli WordPress verziókkal) valamint a támogatáshoz, kérünk hosszabíts.Túl sok adatbázis hiba történt - megszakításTeljes (nem tömörített) adatméret:Teljes mentés mérete:Ha nem jelentkezik probléma, akkor figyelmen kívül hagyhatod az itt látottakat.Mentés kicsomagolása...UpdraftPlusUpdraftPlus - Mentések feltöltéseUpdraftPlus BackupsUpdraftPlus Blog - frissítések, hírekUpdraftPlus Migrator klónozza, lemásolja a WordPress honlapod és így könnyen tudod másik domain címre költöztetni.UpdraftPlus hírlevélUpdraftPlus Prémium:UpdraftPlus visszaállítás: FolyamatbanUpdraftPlus értesítés:UpdraftVault (távoli tárhely)UpdraftVault tárhelyVásárlásBiztonsági mentés fájlok feltöltéseFeltöltésekFelhasználónévVerzióNapló megtekintéseFigyelmeztetésFigyelem:Figyelem: az adatbázis home URL-je (%s) különböző attól, mint amire számítottunk (%s)Sikerült hozzáférni a bucket-hez (csoporthoz), és létrehozni fájlokat benne.Sikerült hozzáférni a bucket-hez (csoporthoz), de a fájl létrehozási kísérlet meghiúsult.Az UpdraftPlus által használt webszerver lemezterület.WebDAV URLHetenteÜdvözöl az UpdraftPlus!Melyik könyvtárba váltsunk belépés után - ez gyakran relatív a kezdő könyvtárjáhozAmelyik exportálva lett:Az UpdraftPlus prémiummal közvetlen letöltheti a fájlokat innen.WordPress mentésA WordPress mentés teljesen elkészültWordPress adatbázisIgenItt manuálisan dekódolhatsz egy titkosított adatbázist.Nincs installálva az UpdraftPlus %s kiterjesztés - szerezze be innen: %sAdatbázist kiválasztotta, de táblákat még nemMég nem készítettél biztonsági mentést.A következő webcímet adja meg mint hitelesített átirányítási URI-t, amikor (a "More Options" résznél) kérik.Frissítened kellene az UpdraftPlus-t, hogy biztosan egy olyan verziód legyen, amelyik tesztelve volt kompatibilitás szempontjából.Meg kell majd kérned a web tárhely szolgáltatódat, hogy frissítsen.A te %s verziód: %s.IP címed:A mentése visszaállításre került.A tárhely szolgáltatódnak először engedélyeznie kell ezeket a funkciókat, mielőtt %s működhetne.A te bejelentkezésed vagy jelszó-, vagy kulcs alapú - csak az egyiket kell beírnod, nem mindkettőt.Lejárt a fizetett hozzáférésed az UpdraftPlus támogatáshoz.Hamarosan le fog járni a fizetett hozzáférésed az UpdraftPlus támogatáshoz.Lejárt a fizetett hozzáférésed az UpdraftPlus frissítésekhez a(z) %s kiegészítőkhöz ezen a weboldalon.Hamarosan le fog járni a fizetett hozzáférésed az UpdraftPlus firssítésekhez a(z) %s a(z) %s kiegészítőkhöz ezen a weboldalon.Hamarosan le fog járni a fizetett hozzáférésed az UpdraftPlus-hoz ezen a weboldalon.A beállításaid mentveA beállításai kitörlésre kerültek.A webszervered PHP telepítésének következő funkciói le vannak tiltva: %s.Haladó beállításokés tartson meg ennyi darab mentéstarchívhitelesítés URIszámításszámítás...sikertelen adatbázis kapcsolódási kísérletsikertelen adatbázis kapcsolódási kísérlet.adatbázis névnappl. %spl. ha a webszervere nappal terhelt és éjjel kívája a mentést futtatnikönnyen migrálható és klónozható a honlapja pár perc alatttitkosított FTP (explicit titkosítás)titkosított FTP (implicit titkosítás)hiba: %s (nézze meg a naplót a továbbiakért)hiba: nem sikerült feltölteni a fájlt ide: %s (nézze meg a naplót a továbbiakért)nem sikerült elérni a szülő mappátnem sikerült a fájlok listázásakattintson erre a hivatkozásra a beszerzéshezkiszolgálószerver névóraBelépésfigyelmeztető képmost a frissítésekkel folytatjuk...vagy kézi helyreállításvagy ezt a beállítást alaphelyzetbe állítsukjelszójelszó/kulcskérünk várdd meg a programált kísérletetolvass többet itt: %sajánlottfrissítésnormál nem-titkosított FTPkülső fájlok törölvevisszaállításújjáépítéskeresés és cserekeresési kifejezésnövelje mentésekben lévő adatok biztonságátBeállításoka következő alkalomtól kezdve:megálltábláksablon nem találhatóismeretlen forráshasználd az UpdraftPlus Premium-tfelhasználófelhasználónévsikeresen hitelesítette %s fiókjátoldal admin címérelanguages/updraftplus-te.mo000064400000000423147400355670012040 0ustar00$,,-PO-Revision-Date: +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: te Project-Id-Version: UpdraftPlus languages/updraftplus-bn_BD.mo000064400000050664147400355670012410 0ustar00        % 1 W: * &   #  % . 8 G V l        80iz5    +7 LYt{  "(:Uj|"   G JV e q}" $=B\Dv  ^N'gNHJQdsTx?&.=Yx   /8M^ co + K3;o(g.Gv$$&- @Nb3vfZlt } 2q   *I3d $6F2[.9)$ D ^ t Y!!p""x",#)A#,k#9#9#C $LP$@$@$k%a%%: &1E&8w&&=T''<''?(,(A()4)#^)))>)/)M*i*#y*>*,*8 +HB+++{/,,%S-6y-;-f-IS.4.N.!/2/R/l/'0CD000M0) 1B31nv1"1r2{2L+3Hx33u444/4414T(6Y}667775788(99=9w99Dg:g:;y*;L;f;6X<<<W<E=^= }==(===>=/>;B>~> >>W>/?kF???H?u(@y@DAO]AAJAByBVwCCC:D-MD{DD DBD)D-ELEiEE FF+F" GCG&YGGiG.H:5HNpILI JcJ<J*J[JDKE^KlKSLeL L!L M=-MWkMMMMNN=/NLmN2N&NO%s Error: Failed to initialise%s add-on not found%s bits%s bytes%s hours%s per quarter%s per year%s version:%s weeks%s: unreadable file - could not be backed up (check the file permissions and ownership)(backup set imported from remote location)(tap on an icon to select or unselect)1 hour1 weekA host name cannot contain a slash.Access Key: %sAdd siteAdding...Allow deletionAllow downloadAsia Pacific (Mumbai)Asia Pacific (Singapore)Asia Pacific (Sydney)Asia Pacific (Tokyo)Ask a pre-sales questionAutomatic backup before updateBack...Backup data will be sent to:Backup directoryBackup made by %sBackup sent to remote site - not available for download.Backup using %s?CancelChange Lock SettingsCheck this box to use Amazon's server-side encryptionChina (Beijing) (restricted)Connecting...Could not read the directoryCounting...Create keyCreating...Current memory usageCurrent use:Database decryption phraseDeleteDelete failed:Delete local backupDeleting...DisconnectDisconnecting...DismissDo remember to save your settings.Do you need WordPress Multisite support?Don't know your email address, or forgotten your password?Download in progressDownload log fileEncryption key size:Enter any path in the field below.Enter your chosen nameExpert settingsFAQsFTP loginFTP passwordFTP serverFailed to open directory (check the file permissions and ownership): %sFetching...File not foundFile ready.FortnightlyFull feature listGet more quotaGo here for helpGo here to re-enter your password.Google DriveIf you have forgotten your password It appears that your web server's IP Address (%s) is blocked.Key created successfully.Lead developer's homepageLeave this blank to use the default (80 for webdav, 443 for webdavs)MonthlyMore tasks:MultisiteNewsletter sign-upNoNo Vault connection was found for this site (has it moved?); please disconnect and re-connect.No log files were found.No receiving sites have yet been added.No settings were found - please go to the Settings tab and check your settingsNoneOKOneDriveOpera web browserOptimizePress 2.0 encodes its contents, so search/replace does not work.OthersPassword incorrectPaste key herePathPayments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.Please enter a valid URLPlease give this key a name (e.g. indicate the site it is for):PluginsPre-sales FAQsPremium WooCommerce pluginsPress a button to get started.Protocol (SSL or not)Quota:Read more...Refresh current statusRequire password again afterRestoreS3 bucketS3 storage regionSaving...Secret Key: %sSendServer-side encryptionSettingsShow expert settingsShow the optionsSiteSize: %s MBStandard (infrequent access)Start backupSubscriptions can be cancelled at any time.SupportSupport URLTesting connection...The AWS access key looks to be wrong (valid %s access keys begin with "AK")The given file was not found, or could not be read.The log file could not be read.The zip engine returned the message: %s.ThemesThis file could not be uploadedThis is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again.This storage method does not allow downloadingTo fix this problem go here.To remove any block, please go here.To remove the block, please go here.US Government West (restricted)US West (N. California)US West (Oregon)UnlockUpdate quota countUpdraft VaultUpdraftPlus BackupsUpdraftPlus notice:UpdraftPlus.com has responded with 'Access Denied'.Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select FilesorUploadsUsernameVault ownerWarningWeb server:WeeklyWell done - there's nothing more needed to set up.Why am I seeing this?Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website.WordPress backup is completeWordPress core (only)YesYou can get more quota hereYour IP address:Your new key:Your settings have been saved.calculateconfigure it herefaster (possibility for slow PHP installs)follow this link to get itgo here to change your password on updraftplus.com.keykey nameloginor (annual discount)or to restore manuallyrecommendedrefreshresetsettingsshow logsite not foundslower, strongestthese backup setsthis backup setyour PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup.PO-Revision-Date: 2016-09-22 16:09:47+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: bn_BD Project-Id-Version: UpdraftPlus %s ত্রুটি: ইনিশিয়ালাইজ করতে ব্যর্থ%s অ্যাড-অন পাওয়া যায়নি%s বিটস%s বাইটস%s ঘন্টা%s প্রতি তিন মাসেপ্রতি বৎসর %s%s সংস্করণ:%s সপ্তাহ%s: অপাঠযোগ্য ফাইল - ব্যাকআপ নেওয়া সম্ভব নয় (ফাইলের মালিকানা ও পাঠের অনুমতি পরীক্ষা করুন)(ব্যাকআপ সেট দূরবর্তী অবস্থান থেকে আমদানি করা হয়েছে)(সিলেক্ট অথবা আনসিলেক্ট করার জন্য আইকনের উপর টিপ দিন)১ ঘন্টা১ সপ্তাহ"host name" এর ক্ষত্রে স্ল্যাশ ব্যাবহার করা যাবে না।অ্যাক্সেস চাবি: %sসাইট যুক্ত করুনযুক্ত করা হচ্ছে...ডিলিট করার অনুমতি দিনডাউনলোড এর অনুমতি দিনএশিয়া প্যাসিফিক (মুম্বাই)এশিয়া প্যাসিফিক (সিঙ্গাপুর)এশিয়া প্যাসিফিক (সিডনি)এশিয়া প্যাসিফিক (টোকিও)একটি প্রাক বিক্রয় প্রশ্ন জিজ্ঞাসা করুনআপডেট করার আগে স্বয়ংক্রিয় ব্যাকআপফিরে চলুন...ব্যাক তথ্য পাঠানো হবে:ব্যাকআপ ডিরেক্টরিব্যাকআপ তৈরি করেছেন %sব্যাকআপ রিমোট সাইটের পাঠানো হয়েছে - ডাউনলোডের জন্য উপলব্ধ না %s ব্যাবহার করে ব্যাকআপ?বাতিললক সেটিং পরিবর্তন করুনআমাজনের সার্ভার সাইড এনক্রিপশন ব্যবহার করতে এই বক্সটি টিক দিনচায়না (বেইজিং) (সীমাবদ্ধ)সংযোগ করা হচ্ছে...ডিরেক্টরিটি পড়া যায়নিগণনা করা হচ্ছে...পিন তৈরি করুনতৈরি করা হচ্ছে...বর্তমান মেমরির ব্যবহারবর্তমান ব্যাবহার:ডাটাবেস ডিক্রিপশন শব্দগুচ্ছমুছুনডিলিট ব্যর্থ:স্থানীয় ব্যাকআপ মুছুনমুছে ফেলা হচ্ছে...সংযোগ বিচ্ছিন্ন করুনসংযোগ বিচ্ছিন্ন করা হচ্ছে...খারিজআপনার নির্বাচিত বৈশিষ্ট্যগুলি সংরক্ষণ করতে ভুলবেন না।আপনার কি ওয়ার্ডপ্রস মাল্টিসাইট সাপোর্ট লাগবে?আপনার ইমেল ঠিকানা জানা নেই, নাকি আপনার পাসওয়ার্ড ভুলে গিয়েছেন?ডাউনলোড হচ্ছেলগ ফাইল ডাউনলোড করুনএনক্রিপশন পিনের সাইজঃএই স্থানে যেকোন রাস্তা (Path) প্রবেশ করান।পূর্বেই ঠিক করা নামটি লিখুনবিশেষজ্ঞদের সেটিংসবার বার জিজ্ঞাসিত প্রশ্নসমূহFTP লগইনFTP পাসওয়ার্ডFTP সার্ভারডিরেক্টরি খুলতে ব্যর্থ (ফাইলের মালিকানা ও পাঠের অনুমতি পরীক্ষা করুন): %sআনা হচ্ছে...ফাইলটি খুঁজে পাওয়া যায় নিফাইল তৈরি।পাক্ষিকসম্পূর্ণ বৈশিষ্ট্যের তালিকাআরও প্রাপ্য নিনসাহায্যের জন্য এখানে যানএখানে যান আপনার পাসওয়ার্ডটি পুনরাই দিতে।গুগোল ড্রাইভআপনি যদি আপনার পাসওয়ার্ডটি ভুলে গিয়ে থাকেনআপনার ওয়েব সার্ভার এর আইপি ঠিকানা (%s) ব্লক করা হয়ছে বলে মনে হচ্ছে।চাবি সফলভাবে তৈরি করা হয়েছে।প্রধান ডেভেলপার এর হোমপেজেডিফল্ট ভ্যালু ব্যাবহার করতে এটা ফাকা রাখুন (webdav এর জন্য 80, webdavs এর জন্য 443)মাসিকআরও টাস্ক:মাল্টিসাইটনিউজলেটার সাইন আপনাএই সাইটের জন্য কোন ভল্ট কানেকশন পাওয়া যায়নি (এটা কি স্থানান্তর করা হয়েছে?), দয়া করে ডিসকানেক্ট করে আবার কানেক্ট করুন।কোনও লগ ফাইল খুঁজে পাওয়া যায় নি।কোন প্রাপ্তির সাইট এখনো যোগ হয়নিকোন সেটিং পাওয়া যায়নি - দয়া করে সেটিং ট্যাবে গিয়ে আপনার সেটিং যাচাই করুন।কোনটিই নাঠিক আছেOneDriveঅপেরা ওযেব ব্রাউজারঅপটিমাইজপ্রেস ২.০ এর কন্টেন্টসমূহ সঙ্কেতাক্ষরে লিখে রাখে, তাই সার্চ/প্রতিস্থাপন কাজ করে না। অন্যান্যভুল পাসওয়ার্ডচাবি এখানে পেস্ট করুনরাস্তা (Path)পেমেন্ট ইউএস ডলার, ইউরো বা GB pounds sterling এর মাধ্যমে কার্ড বা পেপ্যাল এর দ্বারা করতে হবে।দয়া করে সঠিক URL প্রবেশ করানএই চাবিকাঠির একটি নাম দিন (e.g. indicate the site it is for):প্লাগইনপ্রাক বিক্রয় প্রায়শই জিজ্ঞাসিত প্রশ্নাবলীপ্রিমিয়াম WooCommerce প্লাগিনসমূহকাজ শুরু করতে যেকোনো একটি বোতাম চাপুন।প্রোটোকল (SSL অথবা SSL না)প্রাপ্য:আরও পড়ুন...বর্তমান অবস্থা পুনঃবিবেচনা করুনপাসওয়ার্ড আবার পরে দরকারপুনঃস্থাপনS3 bucketS3 storage regionসংরক্ষণ হচ্ছে...গোপন চাবি: %sপাঠানসার্ভার সাইড এনক্রিপশনসেটিংসবিশেষজ্ঞ সেটিংস দেখানঅপশন দেখানসাইটসাইজঃ %s MBস্ট্যান্ডার্ড (কদাচিৎ অ্যাকসেস) ব্যাকআপ শুরু করুনসাবস্ক্রিপশন যেকোনো সময় বাতিল করা সম্ভবসহায়তাসহায়তা URLকানেকশন পরীক্ষা করা হচ্ছে...এই AWS access key মনে হয় ভূল (সঠিক %s access keys "AK" দিয়ে শুরু হয়)প্রদত্ত ফাইল পাওয়া যায়নি অথবা পড়া সম্ভব হয়নি।লগ ফাইলটি পড়া সম্ভব হয় নি।Zip engine টি এই বার্তা নিয়ে এসেছে: %s।থিমসমূহফাইলটি আপলোড করা সম্ভব হয় নিএটা কোন কোন সময় ফায়ারওয়ালের কারনে ঘটে থাকে - expert সেটিং থেকে SSL বন্ধ করে আবার চেস্টা করে দেখুন।এই স্টোরেজ পদ্ধতি ডাউনলোড করার অনুমতি দেয় নাএই সমস্যা সমাধান করতে এখানে যান।কোন ব্লক সরাতে এখানে যান।ব্লক সরাতে, এখানে যান।US Government West (সীমাবদ্ধ)US West (N. California)US West (Oregon)আনলক প্রাপ্য সংখ্যা হালনাগাদভল্ট আপডেট করুনUpdraftPlus ব্যাকআপসমূহUpdraftPlus নোটিশ:UpdraftPlus.com 'অ্যাকসেস অস্বীকার' প্রতিক্রিয়া পাঠিয়েছে।আপলোড সফল হবে নাঃ যেকোন একটি ফাইলের %s লিমিট হচ্ছে %s, যেখনে এই ফাইলের সাইজ হচ্ছে %s GB (%d bytes)অথবাআপলোডসমূহব্যবহারকারী নামভল্টের মালিকসতর্কতাওয়েব সার্ভার:সাপ্তাহিকচমৎকার - এখন আর আপনাকে কিছুই করতে হবে না।আমি কেন এটি দেখছি?এই অনুমতি ছাড়া আপনি সরাসরি UpdraftPlus ব্যাবহার করে ডাউনলোড বা রিস্টোর করতে পারবেন না, বরং আপনাকে AWS ওয়েবসাইটটি ভিজিট করতে হবে।ওয়ার্ডপ্রেস ব্যাক-আপ সমাপ্তওয়ার্ডপ্রেস কোর (শুধুমাত্র)হ্যাঁআপনি এখান থেকে আরও প্রাপ্য পেতে পারেনআপনার আইপি অ্যাড্রেসঃ আপনার নতুন চাবি:আপনার সেটিংস সংরক্ষণ করা হয়েছে। গণনা করুনএটিকে এইখানে কনফিগার করুনদ্রুততর (ধীর পি এইচ পি ইন্সটল এর ক্ষেত্রে)এটি পেতে এই লিঙ্কটি অনুসরণ করুনআপনার updraftplus.com এর পাসওয়ার্ডটি পরিবর্তন করতে এখানে যান।চাবিচাবির(কি) নামলগিনঅথবা (বাৎসরিক মূল্যছাড়)অথবা ম্যানুয়ালি পুনরুদ্ধার করতেনির্দেশিতরিফ্রেশরিসেটসেটিংসলগ দেখানসাইট খুঁজে পাওয়া যায় নিধীরতর, সবচেয়ে বেশি শক্তিশালীএই ব্যাকআপ সেটসমূহএই ব্যাকআপ সেটআপনার পিএইচপি ইনস্টলের ওপেন এসএসএল (SSL) মডিউল নেই, যার ফলে এটা বেশ কয়েক মিনিট সময় নিতে পারে। তারপরও যদি কিছু না ঘটে, তবে অপেক্ষাকৃত ছোট "key size" ব্যাবহার করুন। অথবা আপনার হোস্টিং কোম্পানিকে জিজ্ঞাস করুন কিভাবে পিএইচপি ইনস্টলের ওপেন এসএসএল (SSL) মডিউল চালু করতে হয়।languages/updraftplus-hu_HU.po000064400001166641147400355670012463 0ustar00# Translation of UpdraftPlus in Hungarian # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2017-09-05 14:42:19+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: hu\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "Felhőben lévő fájlok" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "UpdraftVault (távoli tárhely)" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "archív" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "Extra adatbázis" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "Kattints ide a böngészéshez vagy a letöltéshez" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "Hiba: nem létező vagy hibás elérési cím" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "Hiba lépett fel a beállítások mentésénél:" #: src/admin.php:1038 msgid "Loading log file" msgstr "Napló fájl betöltése" #: src/admin.php:1036 msgid "Search" msgstr "Keresés" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "Válasszon ki egy fájlt, hogy lássa a részleteket" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "A zip fájl böngészése" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "Az UpdraftPlus prémiummal közvetlen letöltheti a fájlokat innen." #: src/admin.php:944 msgid "Browse contents" msgstr "Tartalom böngészése" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "Kihagyott táblák:" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "Összes WordPress-es tábla mentése (ajánlott)" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "A .htaccess vagy a web.config fájl korlátozza a feltölthető/küldhető fájlméretet." #: src/admin.php:1032 msgid "HTTP code:" msgstr "HTTP kód:" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "Adatbázist kiválasztotta, de táblákat még nem" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "táblák" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "WordPress adatbázis" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "További információk" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "UpdraftPlus zárolása jelszóval, így csak a kiválasztott adminisztrátorok férnek hozzá a mentésekhez." #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "Importálás" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "Nincsenek reklámok" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "Sérülékeny adatbázisok titkosítása (pl. vásárlók adatai vagy jelszavak); Külső adatbázisok mentésénél is." #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "További adatbázis beállítások" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "Állítsa be a pontos időzítést a mentés készítéshez, törléshez." #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "Biztonsági mentés készítésének ideje és időzítése" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "Hálózat / Multisite biztonságos mentése" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "Hálózat / Multisite" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "Mentésbe a WordPress alap fájlai és a nem WordPress fájlok is kerüljenek bele." #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "Automatikusan készítsen biztonsági mentést, mielőtt a frissítést (bővítmény, sablon vagy WordPress alap) elindítanánk." #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "Frissítés előtti mentések" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "Gyors, személyre szabott támogatás" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "UpdraftPlus Migrator klónozza, lemásolja a WordPress honlapod és így könnyen tudod másik domain címre költöztetni." #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "Klónozás és Migrálás" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "Mentés távoli elérésű tárhelyekre" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "Vásárlás" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "Telepítve" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "Ingyenes" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "UpdraftPlus" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "Ajánlás: Időnként optimalizálja az adatbázist, például a WP-Optimize bővítménnyel." #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "Tovább" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "Ha már készített mentést az adatbázisról, akkor érdemes a honlap gyorsítása érdekében az adatbázist optimalizálni, a WP-Optimize bővítménnyel." #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "Válasszon ki könyvtárat, mappát" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "Megerősítés" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "Felsőbb könyvtárba" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "Mappa létrehozása" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "Szerkesztés" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "Európa (Frankfurt)" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "Európa (London)" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "Európa (Írország)" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "figyelmeztető kép" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "Ide" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "Feliratkozás" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "Prémium megszerzése" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "UpdraftPlus vélemények" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "UpdraftCentral beszerzése" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "Apache modulok" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "UpdraftPlus Blog - frissítések, hírek" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "UpdraftPlus hírlevél" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "UpdraftPlus bővítményét több honlapon használja?" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "könnyen migrálható és klónozható a honlapja pár perc alatt" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "növelje mentésekben lévő adatok biztonságát" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "Haladó beállítások" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "UpdraftVault tárhely" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "UpdraftPlus Prémium:" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "Oldal mérete" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "Zárolási beállítások" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "Oldal információk" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "Weboldalak migrálásához frissítened kell UpdraftPlus Premium-ra." #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "Beállítások importálása" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "Beállítások exportálása" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "Beállítások exportálása/importálása" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "Tábla feldolgozása (%s)" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "Alábbi mentés: %s" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "Külső fájlok törölve:" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "Helyi fájlok törölve:" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "külső fájlok törölve" #: src/admin.php:1027 msgid "Complete" msgstr "Teljesítve" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "Elakarja végezni az importálást?" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "Amelyik exportálva lett:" #: src/admin.php:1024 msgid "This will import data from:" msgstr "Az alábbi adatokat fogja importálni:" #: src/admin.php:1023 msgid "Importing..." msgstr "Importálás folyamatban ..." #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "sablon nem található" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "Profil nincs megerősítve (%s)." #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "IP címed:" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "Ha a blokkolást le kívánod venni, ide kattints." #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "Az alábbi hibakódot kapta: " #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "%s modul nem található" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "vagy kézi helyreállítás" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "Elérés" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "GYIK" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "Kulcs létrehozása" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "ajánlott" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "Titkosítási kulcs mérete:" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "Írja be a kívánt nevet" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "Belépés" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "(bökj egy ikonra a kiválasztáshoz)" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "%s évente" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "A beállításaid mentve" #: src/admin.php:4515 msgid "Total backup size:" msgstr "Teljes mentés mérete:" #: src/admin.php:3878 msgid "stop" msgstr "megáll" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "A mentés sikeresen befejeződött" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "visszaállítás" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "számítás" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "Mentés...." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Figyelmen kívül hagy" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "Mentések küldése távoli tárhelyre" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "Adatbázis mentés ütemezése" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "Fájl mentés ütemezése" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "Beállítások" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "Kiegészítők" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "Haladó eszközök" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Nincs telepítve" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "óra" #: src/admin.php:1007 msgid "day(s)" msgstr "nap" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "Mentett adatok elküldése ide:" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "Elrejtés (%s hónapig)" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "Feliratkozás hírlevélre" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "Az alábbi linket feliratkozhatsz az UpdraftPlus hírlevélre." #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "Vásárlás előtti kérdés" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "Vásárlás előtti GYIK-ek" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "Teljes funkció lista" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "oldal admin címére" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "Jelöld be ezt, ha szeretnél összefoglalót kapni az " #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "Zárolási beállítások módosítása" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "UpdraftPlus beállítások oldal zárolása" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "Napló megtekintése" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "Mentett adatok (kattints rá a letöltéshez)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "Mentés dátuma" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "és tartson meg ennyi darab mentést" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "Az UpdraftPlus beállítások jelszóval történő zárolásához frissítened kell UpdraftPlus Premium-ra." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "Ha nem jelentkezik probléma, akkor figyelmen kívül hagyhatod az itt látottakat." #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "Ezt a fájlt nem tudtuk feltölteni" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "Támogatott biztonsági mentés bővítmények: %s" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "Tudj meg többet az inkrementális biztonsági mentésekről" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "Memória határ" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "újjáépítés" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "Inkrementál" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "Teljes biztonsági mentés" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "most a frissítésekkel folytatjuk..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(napló megtekintése...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "Sikeres biztonsági mentés" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "Minden %s órában" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "keresés és csere" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Gyerünk!" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "A keresés/kicserélés nem vonható vissza - biztos vagy benne, hogy ezt akarod tenni?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "Ez könnyen tönkreteheti a weboldaladat, tehát használd óvatosan!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "Kicserélés ezzel:" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "Keresés erre:" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "Adatbázis keresése / kicserélése" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "keresési kifejezés" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "Túl sok adatbázis hiba történt - megszakítás" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "olvass többet itt: %s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "Az UpdraftPlus (ingyenes verzió) által létrehozott email jelentések elhozzák neked a legújabb UpdraftPlus.com híreket" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "Megj.: Ha több WordPress oldalon is feltelepíted az UpdraftPlust, akkor nem használhatod újra a projektet; egy újat kell létrehoznod a Google API konzolban minden egyes oldalnak." #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "Még nem készítettél biztonsági mentést." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "Adatbázis Opciók" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s használt)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "Üres tárhely a fiókban:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "Ez a gomb le van tiltva, mert a biztonsági mentés könyvtár nem írható (lásd a beállításokat)." #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "Hogy megváltoztasd az alapértelmezett beállításokat, hogy beállítsd az ütemezett mentéseket, hogy a biztonsági mentéseket egy külső tárhelyre küldd át (ajánlott), és egyebek, menj a Beállítások fülre." #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "Nyomd meg a Mentés Most gombot, hogy létrehozz egy biztonsági mentést." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "Üdvözöl az UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "Tesztelés..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "Kapcsolat tesztelése..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "Tábla előtag" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "Külső adatbázis biztonsági mentése" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "Külső adatbázis hozzáadása a biztonsági mentéshez..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "Ha az adatbázisod extra táblákat tartalmaz, amelyek nem részei ennek a WordPress oldalnak (tudni fogod, ha ez a helyzet áll fenn), akkor aktiváld ezt az opciót, hogy azok is el legyenek mentve." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "Nem WordPress táblák biztonsági mentése a WordPress adatbázisában" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "Ez az opció lehetővé teszi azon táblák biztonsági mentését a MySQL adatbázisból, amelyek nem tartoznak a WordPress-hez (a rendszer úgy ismeri fel őket, hogy nem tartalmazzák a beállított WordPress előtagot, %s)" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "Sikertelen kapcsolódás." #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "Sikeres kapcsolódás." #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "%s táblát találtunk; ebből %s a megadott előtaggal." #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "%s táblát találtunk." #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "sikertelen adatbázis kapcsolódási kísérlet" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "adatbázis név" #: src/addons/moredatabase.php:115 msgid "host" msgstr "kiszolgáló" #: src/addons/moredatabase.php:113 msgid "user" msgstr "felhasználó" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "Külső adatbázis (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "Kövesd ezt a linket a Google API Console-hoz és ott aktiváld a Drive API-t, valamint hozz létre egy Client ID-t az API Access résznél." #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "nem sikerült elérni a szülő mappát" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "Azonban további hozzáférési kísérletek sem sikerültek:" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "Külső adatbázis" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "Ez minden bővítmény hibakeresési kimenetét meg fogja jeleníteni ezen a képernyőn - kérünk ne lepődj meg mikor látod ezeket." #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "Előszőr is, írd be a dekódoló kulcsot" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "Itt manuálisan dekódolhatsz egy titkosított adatbázist." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "Külső adatbázisok biztonsági mentésére is alkalmas." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "Nem akarod, hogy sikeresen kémkedjenek utánad? Az UpdraftPlus Premium titkosíthatja adatbázisod biztonsági mentését." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "használd az UpdraftPlus Premium-t" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "Csak a WordPress adatbázist lehet visszaállítani; a külső adatbázist manuálisan kell kezelned." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "Egy hiba történt az első %s parancsnál - megszakítás folyamatban" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "Sikertelen kapcsolódás: ellenőrizd le a hozzáférési adatokat, azt, hogy az adatbázis szerver működik, valamint hogy a hálózati kapcsolat nem tűzfal mögötti-e." #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "sikertelen adatbázis kapcsolódási kísérlet." #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "Figyelem: az adatbázis home URL-je (%s) különböző attól, mint amire számítottunk (%s)" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "Az útvonal nevek kis- és nagybetű érzékenyek itt: %s." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "Ha üresen hagyod, akkor a biztonsági mentés a te %s gyökérbe lesz helyezve" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "pl. %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "Add meg az útvonalat a(z) %s könyvtárhoz, melyet itt szeretnél használni." #: src/methods/openstack2.php:257 msgid "Container" msgstr "Konténer" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "Hagyd ezt üresen és az alapértelmezett lesz kiválasztva." #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "Bérlő" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "Kövesd ezt a linket a még több információért" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "hitelesítés URI" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "Nem sikerült a(z) %s letöltése" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "Nem sikerül a letöltés" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "nem sikerült a fájlok listázása" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "Nem sikerült feltölteni: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "Siker:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "HItelesítés ezzel: %s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "Hiba a távoli fájl letöltésénél: Nem sikerült a letöltés" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "Régió: %s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "%s hiba - elértük a konténert, de nem sikerült létrehozni egy fájlt benne" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "A(z) %s objektum nem található" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "Nem lehet megnyitni a(z) %s konténert" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "%s hiba - nem sikerült elérni a konténert" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "Fiók tulajdonos neve: %s." #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "Ahhoz, hogy egy tetszőleges mappa nevet állíthass be, az UpdraftPlus Premium-t kell használnod." #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "Ez egy belső Google Drive ID (azonosító) szám " #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "Ez NEM egy mappa név." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "Mappa" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "%s letöltés: nem sikerült - nem találtuk a fájlt" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "Név: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "Google Drive fájl listázás: nem sikerült elérni a szülőmappát" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "A te %s verziód: %s." #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "Meg kell majd kérned a web tárhely szolgáltatódat, hogy frissítsen." #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "Ez a távoli tárolási módszer (%s) PHP %s-t vagy újabbat igényel." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "Hívás" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "Fetch" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "Ehhez a funkcióhoz %s verzió %s vagy újabb szükséges" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "Nem sikerült az archívumot kicsomagolni" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "Hiba - nem sikerült letölteni a fájlt" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "Lokális mappa újraszkennelése új biztonsági mentési szettek után" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "Frissítened kellene az UpdraftPlus-t, hogy biztosan egy olyan verziód legyen, amelyik tesztelve volt kompatibilitás szempontjából." #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "Tesztelve volt egészen a %s verzióig." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "A feltelepített UpdraftPlus Backup/Restore verzió nem volt tesztelve ezen a WordPress változaton (%s)." #: src/addons/sftp.php:646 msgid "password/key" msgstr "jelszó/kulcs" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "Kulcs" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "A te bejelentkezésed vagy jelszó-, vagy kulcs alapú - csak az egyiket kell beírnod, nem mindkettőt." #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "A megadott kulcs nem volt megfelelő formátumú, vagy korrupt volt." #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "SCP/SFTP jelszó/kulcs" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "Fájl biztonsági mentés (létrehozva %s által)" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "Fájl és adatbázis WordPress biztonsági mentés (létrehozva %s által)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "Biztonsági mentés létrehozva %s által." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "Adatbázis (létrehozva %s által)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "ismeretlen forrás" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "Távoli tárhely újraszkennelése" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Biztonsági mentés fájlok feltöltése" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "Ez a biztonsági mentés %s által lett készítve és be lehet importálni." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "Olvasd el ezt az oldalt - találsz rajta egy útmutatót a lehetséges okokról és javítási módokról." #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "Ha ezt a biztonsági mentést egy másik biztonsági mentés bővítmény készítette, akkor az UpdraftPlus Premium segíthet neked." #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "Habár, az UpdraftPlus archívumok standard zip/SQL fájlok - tehát ha biztos vagy benne, hogy a fájlodnak helyes formátuma van, átnevezheted úgy, hogy megfeleljen a mintának." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "Ez a fájl nem úgy tűnik, hogy egy UpdraftPlus biztonsági mentés archívum lenne (azok a fájlok .zip vagy .gz formátumuak és olyan neveik vannak, mint: backup_(idő)_(oldal név)_(kód)_(típus).(zip|gz))." #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "Ezt a biztonsági mentést egy ismeretlen forrás készítette (%s) - nem lehet visszaállítani." #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "Nem találtuk a WordPress tartalom mappát (wp-content) ebben a zip fájlban" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "Az UpdraftPlus ezen verziója nem tudja hogyan kezelje ezt a típusú külső biztonsági mentést" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "%s visszaadott egy nem várt HTTP választ: %s" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "Az ehhez a fájl hozzáférési metódushoz használt UpdraftPlus modul (%s) nem támogatja a fájlok listázását" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "Nem találtunk beállításokat" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "Hozzáadódott egy vagy több biztonságos mentés a külső tárhely átszkennelése után; vedd figyelembe, hogy ezek nem lesznek automatikusan törölve a \"megőrzés\" beállítások által; ha/amikor ki szeretnéd törölni őket, ezt manuálisan kell majd megtedd." #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "Külső- és lokális tárhelyek újraszkennelése biztonsági mentés csomagok után..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "(Bővebben)" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "Naplózzon le minden üzenetet a syslog-ba (valószínű csak szerver adminisztrátorok akarják ezt)" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "Biztonsági mentés nélküli könyvtár: nem található semmi, amit el lehetne menteni" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "Eltávolítás" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "Más %s GYIK." #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "Jelöld be ezt, ha szeretnél több információt és e-mailt kapni a biztonsági mentési folyamatról - hasznos ha valami nem úgy történik, ahogy kellene." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "A tárhely szolgáltatódnak először engedélyeznie kell ezeket a funkciókat, mielőtt %s működhetne." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "A webszervered PHP telepítésének következő funkciói le vannak tiltva: %s." #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "titkosított FTP (explicit titkosítás)" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "titkosított FTP (implicit titkosítás)" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "normál nem-titkosított FTP" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "A biztonsági mentést létrehozta:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "Ezen az oldalon lehet igényelni" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "Hogy fenntartsd a hozzáférést a támogatáshoz, kérünk hosszabbíts." #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "Hamarosan le fog járni a fizetett hozzáférésed az UpdraftPlus támogatáshoz." #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "Hogy visszaszerezd, kérünk újítsd meg az előfizetést." #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "Lejárt a fizetett hozzáférésed az UpdraftPlus támogatáshoz." #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "Hamarosan le fog járni a fizetett hozzáférésed az UpdraftPlus-hoz ezen a weboldalon." #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Hogy megtartsd a hozzáférésed a frissítésekhez (inkluszív jövőbeli funkciók és kompatibilitás a jövőbeli WordPress verziókkal) valamint a támogatáshoz, kérünk hosszabíts." #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "Hamarosan le fog járni a fizetett hozzáférésed az UpdraftPlus firssítésekhez a(z) %s a(z) %s kiegészítőkhöz ezen a weboldalon." #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "Lejárt a fizetett hozzáférésed az UpdraftPlus frissítésekhez a(z) %s kiegészítőkhöz ezen a weboldalon." #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Hogy visszaszerezd a frissítésekhez való hozzáférést (inkl. jövőbeli fejlesztések és kompatibilitás a jövőbeli WordPress verziókkal), kérünk, hogy újítsd meg az előfizetésed." #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "Elrejtés a fő műszerfalról (%s hétig)" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "Sikeres volt a kétszeres tömörítés visszavonására tett kísérlet." #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "Sikertelen volt a kétszeres tömörítés visszavonására tett kísérlet." #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "Úgy tűnik, hogy az adatbázis fájl kétszeresen lett tömörítve - valószínű a weboldal, ahonnan letöltötted, egy nem jól konfigurált webszerveren található." #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "Állandók" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "Nem sikerült kinyitni az adatbázis fájlt az olvasáshoz:" #: src/backup.php:1645 msgid "No database tables found" msgstr "Nem találtunk adatbázis táblát" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "kérünk várdd meg a programált kísérletet" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "Létrehozás" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "Adatbázis mentés létrehozása" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "Zip tömörített mentések létrehozása" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "További bővítmények" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Segítség" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Figyelem:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Bezárás" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "Hírek" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "Tárolás itt:" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "Blog feltöltések" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "Kötelező bővítmények" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "Multisite installáció" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "a következő alkalomtól kezdve:" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "hiba: a port számnak egésznek kell legyen" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "jelszó" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "felhasználónév" #: src/addons/sftp.php:638 msgid "host name" msgstr "szerver név" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "Melyik könyvtárba váltsunk belépés után - ez gyakran relatív a kezdő könyvtárjához" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "Könyvtár elérési út" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Jelszó" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "Port" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "Szerver" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "Ellenőrizze hozzáférési jogait a fájlokhoz: Nem sikerült létrehozni és belépni:" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "%s nem található" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "Hiba: Nem sikerült fájl létrehozni abban a könyvtárban - kérem ellenőrizze a hitelesítési információit" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Nem sikerült" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "WebDAV URL" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "Helyi fájl írási hiba: Nem sikerült a letöltés" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "Hiba a távoli fájl megnyitásánál: Nem sikerült a letöltés" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "Nem található ilyen beállítás: %s" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "Hiba: Bár sikerült belépni, de nem sikerült fájlt létrehozni a megadott könyvtárban." #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "Siker: Sikerült belépni, és megerősítést nyert, hogy létre tudunk hozni fájlt a megadott könyvtárban (hozzáférés típusa:" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "Hiba: Nem sikerült belépni a megadott hitelesítési információkkal." #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "Hiba: Nem adta meg a szerver adatokat." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "Szükséges, hogy már létezzen" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "sikeresen hitelesítette %s fiókját" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "Almappákat kíván használni?" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "hiba: nem sikerült feltölteni a fájlt ide: %s (nézze meg a naplót a továbbiakért)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "hiba: %s (nézze meg a naplót a továbbiakért)" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "Sikerült hozzáférni a bucket-hez (csoporthoz), és létrehozni fájlokat benne." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "Sikerült hozzáférni a bucket-hez (csoporthoz), de a fájl létrehozási kísérlet meghiúsult." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "Hiba" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "Hiba: Nem adott meg bucket (csoport) részleteket" #: src/methods/s3.php:1370 msgid "API secret" msgstr "API titkos kulcs (secret)" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "Jegyzet:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "WordPress mentés" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Felhasználónév" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "API kulcs" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "Hiba: Nincs %s megadva" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "Próba beállítás %s" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "Hiba a helyi fájl megnyitásánál: Nem sikerült a letöltés" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "%s hiba: Nem sikerült feltölteni" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Hitelesítés a Google-lel" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "kliens titkos kulcs" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "Ha a Google az üzeni, hogy \"invalid_client\", akkor helytelen kliens ID-t adott meg itt." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "kliens ID" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "A következő webcímet adja meg mint hitelesített átirányítási URI-t, amikor (a \"More Options\" résznél) kérik." #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "Válassza azt, hogy 'Web Application' mint alkalmazás típus." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "A fiók nincs hitelesítve." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "Nem sikerült a feltöltés ide: %s" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "Még nem szerzett be hozzáférési token-t (vezérlőjelet) a Google-től - hitelesítenie vagy újra hitelesítenie kell a kapcsolatát a Google Drive-val." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "Siker" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "kattintson erre a hivatkozásra a beszerzéshez" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "%s támogatás elérhető mint kiterjesztés" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "Nincs installálva az UpdraftPlus %s kiterjesztés - szerezze be innen: %s" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "Nem sikerült a munkakönyvtárat kitörölni visszaállítás után." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "Szemét eltakarítása..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "Mentés kicsomagolása..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "A mentési fájl nem elérhető" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "Hiba üzenet" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "A mentési bejegyzés nem tartalmaz információt ennek a fájlnak az eredeti méretéről." #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "Az archívum várható mérete:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "FÉLBE SZAKADT: Nem található információ, melyik elemet állítsuk vissza." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "UpdraftPlus visszaállítás: Folyamatban" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "Miután rákattintott erre a gombra, választhat, hogy melyik összetevőt állítja vissza" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Változások mentése" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "Ha ez sikertelen, ellenőrizze a webszerveren a hozzáférési jogokat, vagy adjon meg másik könyvtárat, ami írható a webkiszolgáló folyamat által." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "vagy ezt a beállítást alaphelyzetbe állítsuk" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "Kattints ide a könyvtár létrehozásához és a hozzáférési jogok beállításához." #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "A megadott mentési könyvtár írható, ami helyes." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "Mentési könyvtár" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "Törölje a helyi mentéseket" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "Mutassa a haladó beállításokat" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "Haladó beállítások" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Hibakereső mód" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "Haladó / Hibakereső beállítások" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Mégsem" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Egyik sem" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "Válasszon távoli tárhelyet" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "Adatbázis titkosítási kulcs" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "E-mail" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "A fenti mappák teljes tartalma mentésre kerül, kivéve a Wordpress core fájlok, amiket a Wordpress.org-ról le lehet tölteni." #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "Kivéve:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "Minden más mappa, ami a wp-content könyvtárban található." #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "Ezekről is készüljön mentés" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "pl. ha a webszervere nappal terhelt és éjjel kívája a mentést futtatni" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "Hogy beállítsa, milyen időpontban kerül sor a mentésre," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Havonta" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "Kéthetente" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Hetente" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Naponta" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "Napló fájl letöltése" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Törlés" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "Ez minden UpdraftPlus beállítást kitöröl - biztos benne?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Teljes (nem tömörített) adatméret:" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Nem" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Igen" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "Pillanatnyi memória használat" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "Memória használati csúcsérték" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "Szüksége van WordPress Multisite támogatásra?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Multisite" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Válassza ki a visszaálítandó összetevőket" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Mentés visszaállítása" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "számítás..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - Mentések feltöltése" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "frissítés" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "Az UpdraftPlus által használt webszerver lemezterület." #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "Ez az Updraft könyvtár tartalmának mérete." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Drive" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "Ha ezt használja, kapcsolja ki a Turbo/Road módot." #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Opera böngésző" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "Több feladat:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "Legutolsó naplófájl letöltése" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Utolsó log sor" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Visszaállítás" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "Mentés most" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "A pontos idő" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Adatbázis" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Fájlok" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "Következő ütemezett mentések" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "A fájl mentésekkel egyidőben" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "Nincs semmi ütemezve" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "Javascript figyelmeztetés" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Régi könyvtárak törlése" #: src/admin.php:3050 msgid "Current limit is:" msgstr "Az aktuális limit:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "A mentése visszaállításre került." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Verzió" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "A vezető fejlesztő honlapja" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "A beállításai kitörlésre kerültek." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "A Backup könyvtárat sikerült létrehozni." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "A Backup könyvtárat nem sikerült létrehozni" #: src/admin.php:3888 msgid "Remove old directories" msgstr "Régi könyvtárak eltávolítása" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Vissza az UpdraftPlus beállításához" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Akciók" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Helytelen fájlnév - ez a fájl nem UpdraftPlus fájlnak néz ki" #: src/admin.php:2631 msgid "No local copy present." msgstr "Nem létezik helyi másolat." #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Hiba" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Még semmit sem került naplózásra" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Figyelmeztetés" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Beállítások" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Végtelen rekurzió: nézze meg a naplót további információért" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Nincs meg a fájl" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "Nem sikerült írásra megnyitni a mentés fájlt" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "A backup könyvtár (%s) nem írható vagy nem létezik." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "A WordPress mentés teljesen elkészült" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "A mentési kísérlet befejeződött, látszólag sikertelenül." #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Egyéb" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Feltöltések" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Témák" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Bővítmények" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "A log fájlt nem lehet olvasni." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "UpdraftPlus értesítés:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "UpdraftPlus Backups"languages/updraftplus-bn_BD.po000064400001151043147400355670012405 0ustar00# Translation of UpdraftPlus in Bengali (Bangladesh) # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2016-09-22 16:09:47+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: bn_BD\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "আপনার আইপি অ্যাড্রেসঃ" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "কোন ব্লক সরাতে এখানে যান।" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "%s অ্যাড-অন পাওয়া যায়নি" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "অথবা ম্যানুয়ালি পুনরুদ্ধার করতে" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "এই সমস্যা সমাধান করতে এখানে যান।" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "অপটিমাইজপ্রেস ২.০ এর কন্টেন্টসমূহ সঙ্কেতাক্ষরে লিখে রাখে, তাই সার্চ/প্রতিস্থাপন কাজ করে না।" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "আপনার পিএইচপি ইনস্টলের ওপেন এসএসএল (SSL) মডিউল নেই, যার ফলে এটা বেশ কয়েক মিনিট সময় নিতে পারে। তারপরও যদি কিছু না ঘটে, তবে অপেক্ষাকৃত ছোট \"key size\" ব্যাবহার করুন। অথবা আপনার হোস্টিং কোম্পানিকে জিজ্ঞাস করুন কিভাবে পিএইচপি ইনস্টলের ওপেন এসএসএল (SSL) মডিউল চালু করতে হয়।" #: src/addons/webdav.php:437 msgid "Path" msgstr "রাস্তা (Path)" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "ডিফল্ট ভ্যালু ব্যাবহার করতে এটা ফাকা রাখুন (webdav এর জন্য 80, webdavs এর জন্য 443)" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "এই স্থানে যেকোন রাস্তা (Path) প্রবেশ করান।" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "\"host name\" এর ক্ষত্রে স্ল্যাশ ব্যাবহার করা যাবে না।" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "প্রোটোকল (SSL অথবা SSL না)" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "এই AWS access key মনে হয় ভূল (সঠিক %s access keys \"AK\" দিয়ে শুরু হয়)" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "কোন সেটিং পাওয়া যায়নি - দয়া করে সেটিং ট্যাবে গিয়ে আপনার সেটিং যাচাই করুন।" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr " %s ব্যাবহার করে ব্যাকআপ?" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "এশিয়া প্যাসিফিক (মুম্বাই)" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "স্ট্যান্ডার্ড (কদাচিৎ অ্যাকসেস)" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "বার বার জিজ্ঞাসিত প্রশ্নসমূহ" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "ডিরেক্টরি খুলতে ব্যর্থ (ফাইলের মালিকানা ও পাঠের অনুমতি পরীক্ষা করুন): %s" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "%s: অপাঠযোগ্য ফাইল - ব্যাকআপ নেওয়া সম্ভব নয় (ফাইলের মালিকানা ও পাঠের অনুমতি পরীক্ষা করুন)" #: src/addons/migrator.php:563 msgid "Create key" msgstr "পিন তৈরি করুন" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "ধীরতর, সবচেয়ে বেশি শক্তিশালী" #: src/addons/migrator.php:559 msgid "recommended" msgstr "নির্দেশিত" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "%s বাইটস" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "দ্রুততর (ধীর পি এইচ পি ইন্সটল এর ক্ষেত্রে)" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "%s বিটস" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "এনক্রিপশন পিনের সাইজঃ" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "পূর্বেই ঠিক করা নামটি লিখুন" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "আপলোড সফল হবে নাঃ যেকোন একটি ফাইলের %s লিমিট হচ্ছে %s, যেখনে এই ফাইলের সাইজ হচ্ছে %s GB (%d bytes)" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "এটা কোন কোন সময় ফায়ারওয়ালের কারনে ঘটে থাকে - expert সেটিং থেকে SSL বন্ধ করে আবার চেস্টা করে দেখুন।" #: src/methods/ftp.php:438 msgid "login" msgstr "লগিন" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "সাইজঃ %s MB" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "(সিলেক্ট অথবা আনসিলেক্ট করার জন্য আইকনের উপর টিপ দিন)" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "প্রতি বৎসর %s" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "অথবা (বাৎসরিক মূল্যছাড়)" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "এই সাইটের জন্য কোন ভল্ট কানেকশন পাওয়া যায়নি (এটা কি স্থানান্তর করা হয়েছে?), দয়া করে ডিসকানেক্ট করে আবার কানেক্ট করুন।" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "প্রদত্ত ফাইল পাওয়া যায়নি অথবা পড়া সম্ভব হয়নি।" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "আপনার সেটিংস সংরক্ষণ করা হয়েছে। " #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "রিসেট" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "এই ব্যাকআপ সেটসমূহ" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "এই ব্যাকআপ সেট" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "গণনা করুন" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "দয়া করে সঠিক URL প্রবেশ করান" #: src/admin.php:976 msgid "Saving..." msgstr "সংরক্ষণ হচ্ছে..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "আনা হচ্ছে..." #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "খারিজ" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "আরও পড়ুন..." #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "সেটিংস" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "আপনার ইমেল ঠিকানা জানা নেই, নাকি আপনার পাসওয়ার্ড ভুলে গিয়েছেন?" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "আমাজনের সার্ভার সাইড এনক্রিপশন ব্যবহার করতে এই বক্সটি টিক দিন" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "সার্ভার সাইড এনক্রিপশন" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "পেমেন্ট ইউএস ডলার, ইউরো বা GB pounds sterling এর মাধ্যমে কার্ড বা পেপ্যাল এর দ্বারা করতে হবে।" #: src/admin.php:982 msgid "Update quota count" msgstr " প্রাপ্য সংখ্যা হালনাগাদ" #: src/admin.php:981 msgid "Counting..." msgstr "গণনা করা হচ্ছে..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "সংযোগ বিচ্ছিন্ন করা হচ্ছে..." #: src/admin.php:978 msgid "Connecting..." msgstr "সংযোগ করা হচ্ছে..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "বর্তমান অবস্থা পুনঃবিবেচনা করুন" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "আরও প্রাপ্য নিন" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "বর্তমান ব্যাবহার:" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "আপনি এখান থেকে আরও প্রাপ্য পেতে পারেন" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "সংযোগ বিচ্ছিন্ন করুন" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "প্রাপ্য:" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "ভল্টের মালিক" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "চমৎকার - এখন আর আপনাকে কিছুই করতে হবে না।" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "সাহায্যের জন্য এখানে যান" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "ফিরে চলুন..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "সাবস্ক্রিপশন যেকোনো সময় বাতিল করা সম্ভব" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "%s প্রতি তিন মাসে" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "অপশন দেখান" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "কাজ শুরু করতে যেকোনো একটি বোতাম চাপুন।" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "ভল্ট আপডেট করুন" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "ডিলিট ব্যর্থ:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "Zip engine টি এই বার্তা নিয়ে এসেছে: %s।" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "ডিলিট করার অনুমতি দিন" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "এই অনুমতি ছাড়া আপনি সরাসরি UpdraftPlus ব্যাবহার করে ডাউনলোড বা রিস্টোর করতে পারবেন না, বরং আপনাকে AWS ওয়েবসাইটটি ভিজিট করতে হবে।" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "ডাউনলোড এর অনুমতি দিন" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "আপনার নতুন চাবি:" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "চাবি সফলভাবে তৈরি করা হয়েছে।" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "সাইট খুঁজে পাওয়া যায় নি" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "ব্যাক তথ্য পাঠানো হবে:" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "ব্যাকআপ তৈরি করেছেন %s" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "এই স্টোরেজ পদ্ধতি ডাউনলোড করার অনুমতি দেয় না" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "(ব্যাকআপ সেট দূরবর্তী অবস্থান থেকে আমদানি করা হয়েছে)" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "সাইট" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "ব্যাকআপ রিমোট সাইটের পাঠানো হয়েছে - ডাউনলোডের জন্য উপলব্ধ না" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "কানেকশন পরীক্ষা করা হচ্ছে..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "মুছে ফেলা হচ্ছে..." #: src/admin.php:991 msgid "key name" msgstr "চাবির(কি) নাম" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "এই চাবিকাঠির একটি নাম দিন (e.g. indicate the site it is for):" #: src/admin.php:986 msgid "Creating..." msgstr "তৈরি করা হচ্ছে..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "চাবি এখানে পেস্ট করুন" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "পাঠান" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "কোন প্রাপ্তির সাইট এখনো যোগ হয়নি" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "চাবি" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "FTP পাসওয়ার্ড" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "FTP লগইন" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "FTP সার্ভার" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "সাইট যুক্ত করুন" #: src/admin.php:983 msgid "Adding..." msgstr "যুক্ত করা হচ্ছে..." #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "আপনার updraftplus.com এর পাসওয়ার্ডটি পরিবর্তন করতে এখানে যান।" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "আপনি যদি আপনার পাসওয়ার্ডটি ভুলে গিয়ে থাকেন" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "এখানে যান আপনার পাসওয়ার্ডটি পুনরাই দিতে।" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "OneDrive" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "এটিকে এইখানে কনফিগার করুন" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "ব্লক সরাতে, এখানে যান।" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "আপনার নির্বাচিত বৈশিষ্ট্যগুলি সংরক্ষণ করতে ভুলবেন না।" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "S3 bucket" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "চায়না (বেইজিং) (সীমাবদ্ধ)" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "এশিয়া প্যাসিফিক (টোকিও)" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "এশিয়া প্যাসিফিক (সিডনি)" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "এশিয়া প্যাসিফিক (সিঙ্গাপুর)" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "US Government West (সীমাবদ্ধ)" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "US West (N. California)" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "US West (Oregon)" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "S3 storage region" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "গোপন চাবি: %s" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "অ্যাক্সেস চাবি: %s" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "আপনার ওয়েব সার্ভার এর আইপি ঠিকানা (%s) ব্লক করা হয়ছে বলে মনে হচ্ছে।" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "UpdraftPlus.com 'অ্যাকসেস অস্বীকার' প্রতিক্রিয়া পাঠিয়েছে।" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "প্রিমিয়াম WooCommerce প্লাগিনসমূহ" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "নিউজলেটার সাইন আপ" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "একটি প্রাক বিক্রয় প্রশ্ন জিজ্ঞাসা করুন" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "প্রাক বিক্রয় প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "সম্পূর্ণ বৈশিষ্ট্যের তালিকা" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "%s ত্রুটি: ইনিশিয়ালাইজ করতে ব্যর্থ" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "অথবা" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "লক সেটিং পরিবর্তন করুন" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "ডাটাবেস ডিক্রিপশন শব্দগুচ্ছ" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "আপডেট করার আগে স্বয়ংক্রিয় ব্যাকআপ" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "ওয়ার্ডপ্রেস কোর (শুধুমাত্র)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "ভুল পাসওয়ার্ড" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "আনলক" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "সহায়তা URL" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "পাসওয়ার্ড আবার পরে দরকার" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "%s সপ্তাহ" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "১ সপ্তাহ" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "%s ঘন্টা" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "১ ঘন্টা" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "আমি কেন এটি দেখছি?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "ব্যাকআপ শুরু করুন" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "ফাইলটি আপলোড করা সম্ভব হয় নি" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "সহায়তা" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "ব্যবহারকারী নাম" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "এটি পেতে এই লিঙ্কটি অনুসরণ করুন" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "ঠিক আছে" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "ব্যাকআপ ডিরেক্টরি" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "স্থানীয় ব্যাকআপ মুছুন" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "বিশেষজ্ঞ সেটিংস দেখান" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "বিশেষজ্ঞদের সেটিংস" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "বাতিল" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "কোনটিই না" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "মাসিক" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "পাক্ষিক" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "সাপ্তাহিক" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "লগ ফাইল ডাউনলোড করুন" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "মুছুন" #: src/admin.php:3877 msgid "show log" msgstr "লগ দেখান" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "না" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "হ্যাঁ" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "%s সংস্করণ:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "বর্তমান মেমরির ব্যবহার" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "ওয়েব সার্ভার:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "আপনার কি ওয়ার্ডপ্রস মাল্টিসাইট সাপোর্ট লাগবে?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "মাল্টিসাইট" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "রিফ্রেশ" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "গুগোল ড্রাইভ" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "অপেরা ওযেব ব্রাউজার" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "আরও টাস্ক:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "পুনঃস্থাপন" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "প্রধান ডেভেলপার এর হোমপেজে" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "ডাউনলোড হচ্ছে" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "ফাইল তৈরি।" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "সতর্কতা" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "সেটিংস" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "ফাইলটি খুঁজে পাওয়া যায় নি" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "ডিরেক্টরিটি পড়া যায়নি" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "ওয়ার্ডপ্রেস ব্যাক-আপ সমাপ্ত" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "অন্যান্য" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "আপলোডসমূহ" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "থিমসমূহ" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "প্লাগইন" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "কোনও লগ ফাইল খুঁজে পাওয়া যায় নি।" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "লগ ফাইলটি পড়া সম্ভব হয় নি।" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "UpdraftPlus নোটিশ:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "UpdraftPlus ব্যাকআপসমূহ"languages/updraftplus-bg_BG.mo000064400000735435147400355670012412 0ustar004ncn6vnWn oo,oWGo!oooo pr pp/ppp*p"q4q*KqAvqWqIr&Zrr r rrrrrSss+ttt%+u'Qu#yu@uEu3$vXvCmv vv vvv v ww]ww x)x DxlQxhx'y/y MyhZy y)y%y#zBzXz%uzzzzzZzKA{ {0{{ {{{ ||8|G|g|g3}}'"~)J~)t~~m~ *4C#R}v^Sf<)À}7Ձ88)7b[Ek<Tu8s*CׄbK~"ʅ-?_[Ro~9>46 kx҈TM<$6މ"8Mf-uӊ]qC6!. 4 B N \iz c . 95G6} ύ;/Ff 9%ڎ1>26q&+Ϗ/? Q_q(G  8Vk"ϑJE+Kq_fva i ,͕ #= MY`gl -Ö5'm*OE .<Y y!9-9Ú  ' 5 A MD[Û ܛ-!BTd!ۜ"33.g<ӝ)۝%@)[ ' = G Q [hd}%$B]|:Ҡ(*C `l9s?fYT6 !!AY3r#ʣ,* EQ`r  ֤)->Wp? %%K ^i)Ǧ٦0F ]i}#EΧ 08P*mL5*G"b()E$o1:ƫPJR¬(Ԭ":TQ˭]idή NAbDN"8[jOz ʰ հ#$475l5.ر&<4#> [1g ,-Դ47 >Hb ~)˵HA>* ̶Ӷ:K\dwɷ ط 0>Ng w ɸ ָ9+&G3n-˹)3]G{%ú*-B_s<~ǻZF[/F-t|&)&!?0^pϾԾ c anBſ*Կ @ L[)a3X t> - 7>Ggpw%WKj[a1(;ZH_7Z0Aa9/giDJ=a QZ pz b%H n z% *!?Ww"))%C i v7 zzA+.fmyAF)wpkkZcM` _m5iK|\hRER^$U]zyLRGn=V9I0R %#  *I>9 Wp=&$+=1i" QX%0VeD/U%{&], BPGk:*)C(U~ F%" "0C'Y  8 >U^m &  !#$E jt]asI (<Vl}  ^pw?9o'M0F'eNs 7 /OP*0CJM;_?^Cgb*H PM^Zap*"</ ?LU huT(M*+x%!8'%M/f#%O"0S(q3?;6J\@;>[?;r=' &;So G"!/,\p ! J?W^nw $ !&%L ly4@#*">5a PF] sF  $ 1=;Cy@GA'-bC6 -4CR6e+'7##;_r\9'  7 A S i         : 0  L W f @m @ F 6 1I  { * 4 <  % 0 LC    1 "  ' %5 [ x ,     !2 :DIe x  M<2,olh Br212dm $    (6+?ksr|VF NZw ~ A :) d&q %!O@FbK?4rtVI>x@$B(gFcc25#0:To6?VQ"(",KBxq-I+!."G"Ad"J"/"8!#Z#=x#{#2$NI$<$3$0 %S:%j%;%5&RU&&-&L&3C'=w'W'X ((f(>(P(A)ua)P)((*Q*fX*9** +t+o ,z,3$-YX--8T..9.@.&/PA/&/,//0?0=09/1mi1!1M1LG2Z2g2YW3o3P!4r4&595=5- 6.N6S}6~6RP77I7 88 (8 48E>8K8@89f9<,:ii:{:4O;;X;O;1J<3|<7<<$l=$=$==Ey>O>?1?"G?j?z}??U@)@AA 0A:ABAUApA sAAAAAAA B#BLJ rJKJJ JJ JK K "Kf0K KK KZK!,LNL VLcLf{LHL!+M_MMM M M MMMN N1NBN7QNNN NKNKN>OGO ]OgO@PCFP4POPSQ cQ+oQ QQQQ.Q2 R>RMR^cRRRR SSOS,STT0UKV_VpVVVIVV WW;2W(nWW8W;W[XOlXTXMY_Y4Y-Y(Yi ZguZEZ,#[SP[S[[4\dI\N\%\&#]DJ]Z]G]2^;P^F^H^6_<S_k_=_":`+]`e`V`[Fasa[btrbTbG0w owyw www ww w"w#x 6xDxHxKOxx xx@x,y#Ay#eyy1y$yz!z:@z){zzz3z* {8{ ={ K{U{\{w{3{{.{{{ | || .|;|#S|w|{|||||| ||7|*}J}&`};} }"}h}\~e~&z~~~~~ ~E?K'   *%P Vbk ~ƀπހ . 3=D!Wy)Áʁ܁+: &.?&R'yy$>TjM0Ɇ/*He  A0Mr9 *C.a'$9݉  #"1$TRẙGI/By}:Nu_ Ռ')"@c}058f$H(*^SL5#*/Zv;qTƓNn3#”E,J`Җ3FYy˘H9A7 @E[z]LOn :Zy;3/o.Ρw3)*]niX>ݥAS^1,-?^oz-/?Ao-1ߩU)gCKJIF<ۮ!!3WUNRA`:+rǵy:^t|¸?k@kmػVgYZ"<5\rtoD&"*$A$f);'M$irT"1&T{u+ O8/UmBY'6Lf}' 3>=$[^a$A#f(.H8wUH"O.ra"cttMl7:0'%8'^64d~W(0>*:EQ5wF_M/M}&U26C z$O,(FoDx. 40 e!rD"zw<B8,VMKLnj9EYa$>/ZuV&f296(J_ISHSE'm~2Mj[[=:P.%0BT'j#)> LK'DsT? CM;eE3WyPG"j!g1  RN.L};]Fd1C;!4]/5,'K's00]4#C??:;zwF.Au]2(HDqk "7/1g-6;0:3k:8)O2$At+:N4dCBw43 L ;/ Bk @ E e5 k   %#:=^c3U43e0m@* *H&+0#"Tww:8+%=c4=O3ikhk\@23j6 ?=8vn$h(li h v 3 = J /D!'t!J!m!fU"I"L# S#,`#!#"#]#"0$ S$!a$$$$$$%3%=E%"%!%%%'%%&I<&0&& &%&, ':' A'N'_'p'y''Y-(P(y(%R)-x)L)J)Q>*d*R*H+;+M+,Jy,=,)-',-T--./PK0l0 1$1PA1T1D1D,2wq22 v3)3 333g4844)M5Mw55y5_6}6a6%6`7Eu7>7:758 8p 9'99a9#/:/S:::E:: :8:O6;;<<<=m>p>i??A'A\BbB CC~VDD{wEEzF2G6GLGGHH>HI2I"|II)II7JJK*K.DKsK(KfK L'L!=L=_L;LUL7/M7gMUMM(NV9N'NONMOVOhOxO P!PPQQ0QA(RPjS<SS3TJTTuUlVVWkXYIZg[[8\<\\^s^__`u0a~a1%b7Wcc'ddtlee{f4*g._hh^hhviBiHi:jPjgj0jj*2k]kNkLl%cll&,m+Sm'm mfmJn'dnJnanC9o,}oo$oo0o&pp,@qPmq3qaq$Trfyr/rses=sF, gV%r|!/ I!Vx =_.P̟{u^5n}M".pUDH:4 -AKococ]Qo=U}[Yݨ7kDf&êE0%?,e17ī<S9 *ZĮR8rj4 KlK+˰ "@Fܱ #%/UKYE/]7WMa;Q"QwdܵVv4ͶZb]*= )6-Gu93T)K̹+ź9<La]m-y:3νoPF37g ,s15V=4)^E&plbq@CC: Z { )%$Ot6, "'CY>h;0l)@T_TU(w~"9SB7JFiVR`pG8nRDA3[k95L]4f+ $% 3Li&$M$r[xHt6P'n,W*h/6,,'<T.H"Bb` M&`E "$ #1?1q \&#!7%8DLCqCG"_L^HTFWMAd`k2aa@Ojc_0L7e<^SF&@2|9R<`/ IzelXMPlK.WYD[]6D=n3j, #  C   {  R  s } e6:mqHYlvVn:H_8`-WrY:'bqnR0$ t l!X!!j"^#1##$ $$ $#$%%<&&e(w6))q*}a+F+&,,h--q..P0TS0K0+0 22 \3tg3C3& 4G4jH55A`66)666-7517g7"j77J707(8GB8'8G8I8D99:":3:';.;PC;8;|;yJ<<:<L=3a===+==+> >A>4?>T?,?D?@@@@,@M%AsA-A=A#AB,P_|1Ȱ? &M#t)"±3-<O'^R9ٲH\,e(9A%7*]!L-n!Ӷ(:'Bb'n@E׺"%s" has no primary key, manual change needed on row %s."tenant" is a term used with OpenStack storage - Google for "OpenStack tenant" to get more help on its meaningtenant%d errors, %d warnings%d hours, %d minutes, %d seconds%d token%d tokens%s (%s used)%s - could not back this entity up; the corresponding directory does not exist (%s)%s Account Name%s Container%s Error%s Error: Failed to initialise%s Error: Failed to open local file%s Error: Failed to upload%s Key%s Prefix%s Service Exception.%s access key%s add-on not found%s archives remain%s authentication%s authentication failed%s bits%s bytes%s checksum: %s%s de-authentication%s download: failed: file not found%s end-point%s error - failed to access the container%s error - failed to re-assemble chunks%s error - failed to upload file%s error - we accessed the container, but failed to create a file within it%s error: %s%s from now%s has been chosen for remote storage, but you are not currently connected.%s hours%s location%s login failure%s logo%s minutes, %s seconds%s month %s trial%s per quarter%s per year%s re-assembly error (%s): (see log file for more)%s restoration options:%s returned an unexpected HTTP response: %s%s secret key%s settings test result:%s support is available as an add-on%s table(s) found.%s total table(s) found; %s with the indicated prefix.%s upload: getting uploadID for multipart upload failed - see log file for more details%s version:%s weeks%s: unreadable file - could not be backed up%s: unreadable file - could not be backed up (check the file permissions and ownership)(%d archive(s) in set, total %s).(None configured)(Not finished)(Nothing has been logged yet)(Read more)(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).(already uploaded)(apparently a pre-release or withdrawn release)(as many as you like)(at same time as files backup)(backup set imported from remote location)(current version)(latest increment: %s)(learn more about this significant option)(logs can be found in the UpdraftPlus settings page as normal)...(make sure that you were trying to upload a zip file previously created by UpdraftPlus)(or connect using the form on this page if you have already purchased it)(tap on an icon to select or unselect)(verb)Download(version: %s)(view log...)... and many more!1 hour1 weekDo not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...).(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem).After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s.This is NOT a folder name.A "migration" is ultimately the same as a restoration - but using backup archives that you import from another site.A PHP exception (%s) has occurred: %sA PHP fatal error (%s) has occurred: %sA host name cannot contain a slash.A key with this name already exists; you must use a unique name.A search/replace cannot be undone - are you sure you want to do this?A very large file was encountered: %s (size: %s Mb)A zip error occurredABORT: Could not find the information on which entities to restore.API Key: %sAPI keyAPI secretAWS authentication failedAccess Key: %sAccount IDAccount KeyAccount full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized (%s).Account is not authorized.Account typeAccounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-basedActionsActions upon selected backupsActivity logAdd SFTP to send your data securely, lock settings and encrypt your database backups for extra security.Add a siteAdd an additional database retention ruleAdd an additional file retention ruleAdd an additional retention rule...Add an exclusion ruleAdd an exclusion rule for %sAdd an external database to backup...Add another %s account...Add another address...Add directory...Add siteAdd this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites.Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com.Adding...Additional and enhanced remote storage locationsAdditional storageAdmin API KeyAdmin UsernameAdmin access keyAdmin secret keyAdvanced / Debugging SettingsAdvanced ToolsAfter pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locationsAfter pressing this button, you will be given the option to choose which components you wish to migrateAfter pressing this button, you will be given the option to choose which components you wish to restoreAfter you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance.All WordPress tables will be backed up.All files beginning with given charactersAll files beginning with these charactersAll files with this extensionAll references to the site location in the database will be replaced with your current site URL, which is: %sAll sitesAllow deletionAllow downloadAllow only administrators to log inAllows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup.Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this.Already got space?Also delete from remote storageAlso send this backup to the active remote storage locationsAlso, you should read this important FAQ.An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %sAn admin password has been set.An email is required and needs to be in a valid format.An empty WordPress installAn error occurred on the first %s command - aborting runAn error occurred when fetching storage module options: An error occurred when trying to retrieve your add-ons.An error occurred while attempting to check the support of stored routines creation (%s %s)An error occurred while attempting to retrieve routine status (%s %s)An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %sAn error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %sAn error occurred whilst closing the final database fileAn error response was received; HTTP code:An unknown error occurred when trying to connect to UpdraftPlus.ComAn update containing your addons is available for UpdraftPlus - please follow this link to get it.An update is available for UpdraftPlus - please follow this link to get it.And then add an incremental backupAny other directories found inside wp-contentAny other file/directory on your server that you wish to backupAny settings in your .htaccess or web.config file that affects the maximum upload or post size.Any support requests to do with %s should be raised with your web hosting company.Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address.Apache modulesApplication keyArchive is expected to be size:Are you sure that you wish to remove %s from UpdraftPlus?Are you sure you want to dismiss all UpdraftPlus news forever?Are you sure you want to remove this exclusion rule?Asia PacificAsia Pacific (Mumbai)Asia Pacific (Seoul)Asia Pacific (Singapore)Asia Pacific (Sydney)Asia Pacific (Tokyo)Ask WordPress to automatically update UpdraftPlus when it finds an available update.Ask WordPress to update UpdraftPlus automatically when an update is availableAsk a pre-sales questionAssigned to this siteAt the same time as the files backupAttempts by the browser to contact the website failed.Attribute imported content to userAuthenticate with %sAuthenticate with GoogleAuthenticationAuthorisation failed (check your credentials)Automatic BackupAutomatic backup before updateAutomatic updatesAutomatically backs up your website before any updates to plugins, themes and WordPress core.Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable for this site (via your all-addons purchase)Available temporary clone tokens:Available to claim on this siteAzureAzure AccountAzure ChinaAzure GermanyAzure GlobalAzure GovernmentBackBack...Backed up: %sBackupBackup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingBackup / RestoreBackup Contents And ScheduleBackup NowBackup ReportBackup WordPress core and non-WP files and databases.Backup WordPress multisites (i.e, networks), securely.Backup began:Backup begunBackup contains:Backup created by unknown source (%s) - cannot be restored.Backup created by:Backup created by: %s.Backup data (click to download)Backup data will be sent to:Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified does not exist.Backup directory specified exists, but is not writable.Backup directory specified is writable, which is good.Backup directory successfully created.Backup does not exist in the backup historyBackup external databaseBackup file not available.Backup finishedBackup is of: %s.Backup label:Backup made by %sBackup more databasesBackup non-WordPress files and databasesBackup non-WordPress tables contained in the same database as WordPressBackup of:Backup of: %sBackup pathBackup sent to remote site - not available for download.Backup set not foundBackup sets removed:Backup succeededBackup time and schedulingBackup to remote storage locationsBackup using %s?Backup won't be sent to any remote storage - none has been saved in the %sBackup, update and manage all your WordPress sites from one dashboardBad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email.Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive.Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive.Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver.Be safeBe safe with an automatic backupBegunBegun looking for this entityBelgiumBlog linkBlog uploadsBoth email and password fields are required.Browse contentsBrowsing zip fileBucketBucket application key IDBucket locationBucket nameBuy %sBuy ItCallCall WordPress action:CancelCentral United StatesChange Lock SettingsChanges made:Check this box to have a basic report sent toCheck this box to use Amazon's server-side encryptionCheck this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits).Check this to receive more information and emails on the backup process - useful if something is going wrong.Check your file permissions: Could not successfully create and enter directory:Check your file permissions: Could not successfully create and enter:Chicago (ORD)China (Beijing) (restricted)Choose a default for each tableChoose the components to restoreChoose the components to restore:Choose the schedule that you want your backups to run on.Choose your backup scheduleChoose your remote storageClaim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?Claim not granted - your account login details were wrongCleaningCleaning up rubbish...Client IDClient SecretClone of %sClone readyClone region:Clone server being provisioned and booted (can take several minutes)Clone:Cloning and migrationCloseClosing 1st October 2018Cloud FilesCloud Files API KeyCloud Files ContainerCloud Files Storage RegionCloud Files UsernameCloud Files authentication failedCloud Files error - we accessed the container, but failed to create a file within itCloud Files operation failed (%s)Cloud Files usernameCompleteConfirmConfirm changeConflict: that user already existsConflict: that user or email address already existsCongratulations! Your first backup is running.Congratulations, your settings have successfully been saved.ConnectConnect this site to UpdraftCentral CloudConnect to UpdraftCentral CloudConnect to updraftplus.comConnect to your %s accountConnect with your UpdraftPlus.Com accountConnecting...Connection failed.Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.Connection succeeded.ConstantsContainerContains:Content URL:Continue restorationControl all your WordPress installations from one place using UpdraftCentral remote site management!Control all your backups in one placeCopying this entity failed.Could not access %s containerCould not access containerCould not create the containerCould not delete old path.Could not find that job - perhaps it has already finished?Could not get list of tablesCould not move old files out of the way.Could not open the backup file for writingCould not read the directoryCounting...CreateCreate Azure credentials in your Azure developer console.Create OneDrive credentials in your OneDrive developer console.Create a key: give this key a unique name (e.g. indicate the site it is for), then press "Create key":Create a new API user with access to only this container (rather than your whole account)Create a temporary clone on our servers (UpdraftClone)Create cloneCreate keyCreate new API user and containerCreate new IAM user and S3 bucketCreated database backupCreated file backup zipsCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backupCreating database backup with UpdraftPlus...Creating file backup zipsCreating your first backupCreating...Current clonesCurrent limit is:Current memory usageCurrent use:Currently disabledCurrently enabledDailyDallas (DFW) (default)Dashboard:DatabaseDatabase (created by %s)Database (files backup has not completed)Database OptionsDatabase backup intervalDatabase backup scheduleDatabase decryption phraseDatabase encryption phraseDatabase only (files were not part of this particular schedule)Database restoration options:Database successfully decrypted.Database: search and replace site URLDay to run backupsDebug modeDebugging informationDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete failed:Delete from your web serverDelete local backupDelete selected backupsDelete these settingsDelete this backup setDeleting...Deploying site dataDeselectDeselect all backupsDirectory pathDisable SSL entirely where possibleDisabled this plugin: %s: re-activate it manually when you are ready.DisconnectDisconnecting...DismissDismiss (for %s months)Dismiss all UpdraftPlus newsDismiss from main dashboard (for %s weeks)Dismiss noticeDo not abort after pressing Proceed below - wait for the backup to complete.Do not confuse %s with %s - they are separate things.Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated.PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted.Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do remember to save your settings.Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral.Do you need WordPress Multisite support?Do you use UpdraftPlus on multiple sites?Do you want to carry out the import?Do you want to migrate or clone/duplicate a site?Don't know your email address, or forgotten your password?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDownloading backup files if neededDrop backup files hereDrop encrypted database files (db.gz.crypt files) here to upload them for decryptionDropboxDurable reduced availabilityEastern Asia-PacificEastern United StatesEasyEditEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too.Encrypted databaseEncrypting databaseEncryption key size:End tourEnjoy professional, fast, and friendly help whenever you need it with Premium.Ensure you are logged into the correct account before continuing.Enter a comma-separated list; otherwise, leave blank for all tables.Enter addresses here to have a report sent to them when a backup job finishes.Enter any path in the field below.Enter databaseEnter database.Enter details for where this new site is to live within your multisite install:Enter hostEnter host.Enter in format HH:MM (e.g. 14:22).Enter passwordEnter password.Enter table prefixEnter the ID of the %s project you wish to use here.Enter the name of the %s bucket you wish to use here.Enter the path of the %s folder you wish to use here.Enter the path of the %s you wish to use here.Enter usernameEnter username.Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name.Enter your UpdraftPlus.Com email / password here to connect:Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name.Enter your chosen nameErrorError - failed to download the fileError - no such file exists.Error data:Error downloading remote file: Failed to downloadError messageError opening local file: Failed to downloadError opening remote file: Failed to downloadError when creating new site at your chosen address:Error:Error: %sError: Failed to downloadError: Failed to initialiseError: Failed to open local fileError: Failed to uploadError: invalid pathError: the server sent an empty response.Error: the server sent us a response (JSON) which we did not understand.Error: the server sent us a response which we did not understand.Error: unexpected empty parameter (%s, %s)Error: unexpected file read failErrorsErrors / warnings:Errors encountered:Errors have occurred:Errors occurred when trying to connect to UpdraftPlus.Com:Errors occurred:Errors:Europe (Frankfurt)Europe (Ireland)Europe (London)Europe (Paris)Europe (Stockholm)European UnionEvery %s hoursEvery hourExclude files/directoriesExclude these fromExclude these:Existing backupsExisting keysExpert settingsExport / import settingsExport settingsExtensionsExternal databaseExternal database (%s)Extra databaseFAQsFTP loginFTP passwordFTP serverFacebookFailedFailed to access %s when deleting (see log file for more)Failed to apply User PolicyFailed to create a temporary directoryFailed to delete working directory after restoring.Failed to downloadFailed to download %sFailed to find a manifest file in the backup.Failed to find database fileFailed to open database fileFailed to open database file for reading:Failed to open database file.Failed to open directory (check the file permissions and ownership): %sFailed to open the zip file (%s) - %sFailed to read from the working directory.Failed to read the manifest file from backup.Failed to unpack the archiveFailed to upload %sFailed to upload to %sFailed to write out the decrypted database to the filesystemFailed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location.Failed: We were able to log in, but failed to successfully create a file in that location.Failed: We were not able to place a file in that directory - please check your credentials.Failed: the %s operation was not able to start.Failed: we did not understand the result returned by the %s operation.FailureFailure: No %s was given.Failure: No bucket details were given.Failure: No container details were given.Failure: No server details were given.Failure: Port must be an integer.Failure: we did not successfully log in with those credentials.Failure: we successfully logged in, but were not able to create a file in the given directory.FastFast, personal supportFetchFetching...File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.File OptionsFile backup optionsFile is not locally present - needs retrieving from remote storageFile not foundFile not found (you need to upload it): %sFile ready.File was found, but is zero-sized (you need to re-upload it): %sFile/directoryFilesFiles (database backup has not completed)Files and databaseFiles and database WordPress backup (created by %s)Files backup (created by %s)Files backup intervalFiles backup scheduleFiles changed since the last backup will be added as a new increment in that backup set.Files found:Files only (database was not part of this particular schedule)Final checksFind out moreFind out more about incremental backups here.Find out more here.Fingerprints don't match.FinishFinishedFirst, enter the decryption keyFlexibleFolderFollow this link for helpFollow this link for more informationFollow this link to attempt decryption and download the database file to your computer.Follow this link to attempt to create the directory and set the permissionsFollow this link to authorize access to your %s account (you will not be able to backup to %s without it).Follow this link to download the log file for this restoration (needed for any support requests).Follow this link to remove these settings for %s.Follow this link to sign up for the UpdraftPlus newsletter.Follow this link to the installation instructions (particularly step 1).Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section.For backups older thanFor even more features and personal support, check out For future control of all your UpdraftCentral connections, go to the "Advanced Tools" tab.For help configuring %s, including screenshots, follow this link.For incremental backups, you will be able to choose which increments to restore at a later stage.For longer help, including screenshots, follow this link.For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium.For the ability to migrate websites, upgrade to UpdraftPlus Premium.For unlocking support, please contact whoever manages UpdraftPlus for you.Forbid non-administrators to login to WordPress on your cloneForgotten your details?FortnightlyFound SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset().Found and replaced existing table foreign key constraints as the table prefix has changed.FrankfurtFreeFree disk space in account:Free two-factor security pluginFront page:Full backupFull feature listFurther information may be found in the browser JavaScript console, and the server PHP error logs.Get %s from the UpdraftPlus.com StoreGet %s hereGet PremiumGet UpdraftCentralGet it from the UpdraftPlus.Com StoreGet it hereGet more quotaGet these settings from %s, or sign up %s.GoGo hereGo here for helpGo here for more information.Go here to activate it.Go here to begin installing it.Go here to connect it.Go here to connect.Go here to re-enter your password.Go thereGo to settingsGo to your UpdraftCentral Cloud dashboardGo up a directoryGoes to the updraftplus.com checkout pageGoes to updraftplus.com checkout pageGoogle CloudGoogle DriveGoogle Drive list files: failed to access parent folderHTTP code:Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud.Hong Kong (HKG)HostHow do I get a site's key?However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.However, subsequent access attempts failed:I accept the UpdraftClone terms and conditionsI consent to %sIAM operation failed (%s)If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If OneDrive later shows you the message "unauthorized_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If not, then choose your details and a new account will be registered.If not, you will need to either remove data from this table, or contact your hosting company to request more resources.If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead.If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.If using it, select a path from the directory tree below and then press confirm selection.If you already have an updraftplus.com account, then enter the details below.If you are not sure then you should stop; otherwise you may destroy this WordPress installation.If you are not sure what this option is for, then you will not want it, and should turn it off.If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes.If you are using this, then turn Turbo/Road mode off.If you bought new add-ons, then follow this link to refresh your connectionIf you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.If you enter a table prefix, then only tables that begin with this prefix will be backed up.If you exclude both the database and the files, then you have excluded everything!If you have a valid Premium license, you get 1GB of storage included.If you have already renewed, then you need to allocate a licence to this site - %sIf you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)If you have forgotten your password If you have forgotten your password, then go here to change your password on updraftplus.com.If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1).If you leave it blank, then the backup will be placed in the root of your %sIf you see errors about SSL certificates, then please go here for help.If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite.If you want, test upgrading to a different PHP or WP version.If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.Import settingsImporterImporting a single site into a multisite installImporting...In %s, path names are case sensitive.Include in files backupInclude your database in the backupInclude your files in the backupIncompleteIncrementalIncremental backupsIncremental backups are a feature of %s (upgrade by following this link).Increments exist at: %sInfinite recursion: consult your log for more informationInformation needed to continue:InstalledIntelligent TieringInterested in knowing about your UpdraftPlus.Com password security? Read about it here.Introducing UpdraftCentralInvalid Job IdInvalid bucket nameIowaIt appears that your web server's IP Address (%s) is blocked.It can also backup external databases.It has been tested up to version %s.It is an ID number internal to Google DriveIt is for sending backups to the following site: It will be imported as a new site.JavaScript warningJob ID: %sJob deletedKeyKey created successfully.Keys for a site are created in the section "receive a backup from a remote site".Keystone and swauth are technical terms which cannot be translatedThis needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.Known backups (raw)Last log messageLatest UpdraftPlus.com news:Latest full backup found; identifier:Latest status:Lead developer's homepageLearn more about UpdraftCentralLeave this blank to use the default (80 for webdav, 443 for webdavs)Leave this blank, and a default will be chosen.Loading log fileLocal backup upload has started; please check the log file to see the upload progressLocal files deleted:Local write failed: Failed to downloadLock access to UpdraftPlus via a password so you choose which admin users can access backups.Lock access to the UpdraftPlus settings pageLock settingsLog all messages to syslogLog all messages to syslog (only server admins are likely to want this)Log in here to enable all the features you have access to.Login or register for UpdraftCentral CloudLogin or register with this email addressLogin successful.Login successful; reloading information.LondonLondon (LON)Look through the other settings here, making any changes you’d like.Looking for %s archive: file name: %sMake updates easy with UpdraftPlusManage AddonsManage your clonesManual backup optionsManually decrypt a database backup fileMany sites?Master Application Key IDMemory limitMessages:Middle East (Bahrain)Migrate (create a copy of a site on hosting you control)Migrate / CloneMigrated site (from UpdraftPlus)Migration key created:MigratorMissing pages:Missing parametersMonthlyMore FilesMore database optionsMore great plugins by the Updraft TeamMore information here.More pluginsMore quality pluginsMore settingsMore tasks:Moving old data out of the way...Moving unpacked backup into place...MultisiteMultisite InstallMust-use pluginsN.B. %s is not case-sensitive.N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately.N.B. This count is based upon what was, or was not, excluded the last time you saved the options.N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you.Name: %s.NearlineNeed to get space?Need to get support?Need to use sub-folders?Needs to already existNetwork / multisiteNetwork activating theme:Network and multisiteNew IAM usernameNew User's Email AddressNew User's UsernameNew site:NewsNewsletter sign-upNextNext scheduled backupsNoNo %s foundNo %s settings were foundNo Vault connection was found for this site (has it moved?); please disconnect and re-connect.No adsNo backup has been completedNo backup of %s directories: there was nothing found to back upNo backup of location: there was nothing found to back upNo database tables foundNo incremental backup of your files is possible, as no suitable existing backup was found to add increments to.No keys to allow remote sites to send backup data here have yet been created.No local copy present.No log files were found.No previous backup found to add an increment to.No previous full backup found.No receiving sites have yet been added.No settings were foundNo settings were found - please go to the Settings tab and check your settingsNo such backup set existsNo valid components found, please select different components or a backup set with components that can be restored.NoneNorth VirginiaNorth-east AsiaNorthern Virginia (IAD)Not got an account? Get one by buying some tokens here.Not got any remote storage?Not installedNot yet got an account (it's free)? Go get one!Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability.Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates.Note that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing to do: the site URL is already: %sNothing yet loggedNoticeOKOld table prefix:One Time Password (check your OTP app to get this password)One VPS (Virtual Private Server) per clone, shared with nobody.One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the "retain" settings; if/when you wish to delete them then you must do so manually.OneDriveOneDrive GermanyOneDrive InternationalOnly allow this backup to be deleted manually (i.e. keep it even if retention limits are hit).Only email the database backupOnly the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOperation to create user Access Key failedOptimizePress 2.0 encodes its contents, so search/replace does not work.Options (raw)Or if you prefer to self-host, then you can get the self-hosted version here.Or, use an UpdraftClone keyOr, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.OregonOther %s FAQs.Other great pluginsOthersOtherwise, the default link will be shown.Otherwise, you can leave it blank.Otherwise, you can try UpdraftVault for 1 month for only $1!Over-write wp-config.phpPHP informationPassive modePasswordPassword incorrectPassword: %sPaste key herePathPayments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.Peak memory usagePerform a backupPerhaps you would want to login instead.Please allow time for the communications with the remote storage to complete.Please check the error log for more detailsPlease check your access credentials.Please choose a file or directoryPlease consult this FAQ if you have problems backing up.Please enter a file extension, like zipPlease enter a valid URLPlease enter a valid URL e.g http://example.comPlease enter a valid file extensionPlease enter a valid file name prefixPlease enter characters that begin the filename which you would like to excludePlease enter your %s email addressPlease enter your %s passwordPlease fill in the required information.Please follow this link to open %s in a new window.Please give this key a name (e.g. indicate the site it is for):Please make sure that you have made a note of the password!Please re-authorize the connection to your %s account.Please read %s for use of our %s authorization app (none of your backup data is sent to us).Please read this link for important information on this process.Please select a file/folder which you would like to excludePlease select the more files backups that you wish to restore:Please specify the Microsoft OneDrive folder name, not the URL.Please supply the requested information, and then continue.Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud.Please wait while you are redirected to UpdraftCentral Cloud.Please wait whilst we make the claim...PluginsPortPre-sales FAQsPre-update backupsPremiumPremium / ExtensionsPremium / Find out morePremium WooCommerce pluginsPreparing backup filesPress a button to get started.Press here to download or browsePress here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded.Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder).Press here to run a manual backup.Press here to save your settings.Press here to start!Press this button to take a tour of the plugin.Proceed with updateProcessed plugin:ProcessingProcessing files - please wait...Processing table (%s)Processing...Project IDProtocol (SSL or not)Provides expert help and support from the developers whenever you need it.Pruning old backup setsQuota:RSA fingerprintRSS linkRaw backup historyRead FAQs here.Read moreRead more about %s here.Read more about Easy Updates ManagerRead more about bucket locationsRead more about how this works...Read more about server-side encryptionRead more about storage classesRead more...Read the %s FAQs here.Read this article to see step-by-step how it's done.Read this page for a guide to possible causes and how to fix it.Receive a backup from a remote siteReceiving site dataRecently started backup job id: %sRecommended: optimize your database with WP-Optimize.Refresh connectionRefresh current statusRegionRegion: %sRegistration successful.ReliableRemember this choice for next time (you will still have the chance to change it)Remote Storage OptionsRemote files deleted:Remote pathRemote storageRemote storage authenticationRemote storage method and instance id are required for authentication.Remote storage: %sRemoveRemove old directoriesReplace withReportingRequested character set (%s) is not present - changing to %s.Requested table character set (%s) is not present - changing to %s.Requested table collation (%1$s) is not present - changing to %2$s.Requested table collations (%1$s) are not present - changing to %2$s.Requested table engine (%s) is not present - changing to MyISAM.Requesting start of backup...Require password again afterRequired information for restoring this backup was not given (%s)Rescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...Reset tourRestoration progress:RestoreRestore an existing backup set onto this siteRestore backupRestore error:Restore files fromRestore location does not exist on the filesystem for:Restore location found for:Restoring %s1 files out of %s2Restoring table: %sRestoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Retain this many scheduled database backupsRetain this many scheduled file backupsRetrieving (if necessary) and preparing backup files...Return to UpdraftPlus ConfigurationReturn to UpdraftPlus configurationReview UpdraftPlusRows examined:Rows per batchRun this command to see the log file for this restoration (needed for any support requests).Runs on capacity from a leading cloud computing provider.S3 (Compatible)S3 bucketS3 storage regionSCP/SFTP host settingSCP/SFTP password/keySCP/SFTP user settingSQL update commands run:SaveSave ChangesSave timeSaving...SearchSearch / replace databaseSearch and replace site location in the database (migrate)Search and replacing table:Search forSecret Key: %sSecureSecure multisite installation, advanced reporting and much more.See Google's guidelines on bucket naming by following this link.See Microsoft's guidelines on container naming by following this link.See this FAQ also.Select 'Web Application' as the application type.Select FilesSelect a file to view information about itSelect a file/folder which you would like to excludeSelect a way to exclude files or directories from the backupSelect allSelect all backupsSelect the remote storage destinations you want to upload this backup set toSelect what you want to backupSendSend a backup to another siteSend a report only when there are warnings/errorsSend this backup to remote storageSend to site:Sending Your Backup To Remote StorageSending files to remote siteServer-side encryptionSet exact times to create or delete backups.SettingsShow all backups...Show expert settingsShow more backups...Show raw backup and file listShow the optionsSign upSingaporeSiteSite data has been deployedSite data receivedSite home:Site informationSite information:Site keySite sizeSize: %s MBSkip this stepSkipped tables:Skipping table %s: already restored on a prior run; next table to restore: %sSkipping table %s: user has chosen not to restore this tableSkipping: this archive was already restored.So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section.Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins.Some files are still downloading or being processed - please wait.Sophisticated reporting and emailing capabilities.South CarolinaSouth-east AsiaSouth-east AustraliaSplit archives every:Split line to avoid exceeding maximum packet sizeStandardStandard (infrequent access)Start %s SubscriptionStart %s TrialStart SubscriptionStart TrialStart a %s UpdraftVault SubscriptionStart backupStart timeStarting automatic backup...Storage classStore atSubscriptions can be cancelled at any time.SuccessSuccess:Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:Sufficient information about the in-progress restoration operation could not be found.SupportSupport URLSupported backup plugins: %sSydneySydney (SYD)Table prefixTable prefix has changed: changing %s table field(s) accordingly:Tables examined:TaiwanTake TourTake a new backupTake an incremental backupTakes just the time needed to create a backup and send it.Tell me moreTell me more about incremental backupsTenantTest %s SettingsTest connection...Testing %s Settings...Testing connection...Testing...Thank you for installing UpdraftPlus!Thank you for taking the tour.That you are attempting to upload a zip file previously created by UpdraftPlus.The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.The %s object was not foundThe 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).The AWS access key looks to be wrong (valid %s access keys begin with "AK")The Database connection has been closed and cannot be reopened.The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site.The UpdraftPlus module for this file access method (%s) does not support listing filesThe WordPress content folder (wp-content) was not found in this zip file.The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The above files comprise everything in a WordPress installation.The admin password has been changed.The admin password has now been removed.The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)The attempt to send the backup via email failed (probably the backup was too large for this method)The attempt to undo the double-compression failed.The attempt to undo the double-compression succeeded.The available memory on the server.The backup attempt has finished, apparently unsuccessfullyThe backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail.The backup has finished runningThe backup has not finished; a resumption is scheduledThe backup is being aborted for a repeated failure to progress.The backup records do not contain information about the proper size of this file.The backup was abortedThe backup was aborted by the userThe communication with %s was encrypted.The communication with %s was not encrypted.The creation of your data for creating the clone should now begin.The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on.The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.The database is too small to be a valid WordPress database (size: %s Kb).The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import.The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import.The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import.The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import.The decryption key used:The directory does not existThe directory does not exist, and the attempt to create it failedThe entered key does not belong to a remote site (it belongs to this one).The entered key was corrupt - please try again.The entered key was the wrong length - please try again.The error reported by %s was:The exclusion rule which you are trying to add already existsThe file %s has a "byte order mark" (BOM) at its beginning.The files %s have a "byte order mark" (BOM) at their beginning.The file was uploaded.The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The given file was not found, or could not be read.The given value for the '%s' option is not validThe higher the value, the more server resources are required to create the archive.The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The key provided was not in a valid format, or was corrupt.The key was successfully added.The location of this directory is set in the expert settings, in the Settings tab.The log file could not be read.The log file has been attached to this email.The new user's RackSpace console password is (this will not be shown again):The preparation of the clone data has been aborted.The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe required %s PHP module is not installed - ask your web hosting company to enable it.The server's RSA key %s fingerprint: %s.The site data has all been received, and its import has begun.The time zone used is that from your WordPress settings, in Settings -> General.The ultimately secure and convenient place to store your backups.The user is being told the number of times an error has happened, e.g. An error (27) occurredAn error (%s) occurred:The web server returned an error code (try again, or check your web server logs)The zip engine returned the message: %s.ThemesThen, these lower-powered access credentials can be used, instead of storing your administrative keys.There are no incremental backup restore points available.These tables onlyThese will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket.This backup set contains incremental backups of your files; please select the time you wish to restore your files toThis backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s.This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site.This backup was created by %s, and can be imported.This button is disabled because your backup directory is not writable (see the settings).This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage).This can easily destroy your site; so, use it with care!This current siteThis database backup is missing core WordPress tables: %sThis database needs to be deployed on MySQL version %s or later.This decryption key will be attempted:This does not look like a valid WordPress core backup - the file %s was missing.This feature is not compatible with %sThis feature requires %s version %s or laterThis file could not be uploadedThis file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).This functionality has been disabled by the site administrator.This is a WordPress multi-site (a.k.a. network) installation.This is a count of the contents of your Updraft directoryThis is needed if, and only if, your application key was a bucket-specific application key (not a master key)This is not an incremental backupThis is not your Azure login - see the instructions if needing more guidance.This is older than the server which you are now restoring onto (version %s).This is significantly newer than the server which you are now restoring onto (version %s).This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again.This looks like a migration (the backup is from a site with a different address/URL, %s).This most likely means that you share a webserver with a hacked website that has been used in previous attacks.This multi-archive backup set appears to have the following archives missing: %sThis option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up.This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database.This remote storage method (%s) requires PHP %s or later.This setting applies only when a new bucket is being created.This site has no backups to restore from yet.This storage method does not allow downloadingThis version of UpdraftPlus does not know how to handle this type of foreign backupThis will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these.This will delete all your UpdraftPlus settings - are you sure you want to do this?This will import data from:Tidy things up for clients and remove all adverts for our other products.Time nowTime taken (seconds):Time taken:TimestampTo access the UpdraftPlus settings, please enter your unlock passwordTo add a site as a destination for sending to, enter that site's key below.To be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To complete your migration/clone, you should now log in to the remote site and restore the backup set.To create a temporary clone you need credit in your account.To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below.To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings.To fix the time at which a backup should take place,To fix this problem go here.To import a backup set, go to the "Existing backups" section in the "Backup/Restore" tabTo import an ordinary WordPress site into a multisite installation requires %s.To maintain your access to support, please renew.To make a backup, just press the Backup Now button.To read FAQs/documentation about UpdraftClone, go here.To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To regain your access, please renew.To remove any block, please go here.To remove the block, please go here.To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To send to more than one address, separate each address with a comma.To use this backup, your database server needs to support the %s character set.TokyoToo many database errors have occurred - abortingTotal (uncompressed) on-disk data:Total backup size:Translators: %s is a bold tag.But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %sTranslators: UpdraftVault is a product name and should not be translated.To get started with UpdraftVault, select one of the options below:Trouble connecting? Try using an alternative method in the advanced security options.Try UpdraftVault for 1 month for only $1!Try UpdraftVault!Try it - 1 month for $1!Trying...TwitterType a file prefixType an extension like zipUKUS (default)US East (Ohio)US Government West (restricted)US West (N. California)US West (Oregon)US or UK CloudUS or UK Rackspace AccountUS or UK-based Rackspace AccountUnable to get renew dateUnable to open zip file (%s) - could not pre-scan it to check its integrity.Unable to read zip file (%s) - could not pre-scan it to check its integrity.Under MaintenanceUnexpected response:Unfinished restorationUnited StatesUnknownUnknown server response status:Unknown server response:Unknown/unexpected error - please raise a support requestUnless you have a problem, you can completely ignore everything here.UnlockUnpacking backup...Unzip progress: %d out of %d filesUpdate quota countUpdraft VaultUpdraftCentralUpdraftCentral CloudUpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place.UpdraftClone key is required.UpdraftPlusUpdraftPlus - Upload backup filesUpdraftPlus AddonsUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus Blog - get up-to-date news and offersUpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply.UpdraftPlus NewsUpdraftPlus NewsletterUpdraftPlus PremiumUpdraftPlus Premium and addonsUpdraftPlus Premium has many more exciting features!UpdraftPlus Premium:UpdraftPlus RestorationUpdraftPlus Restoration: ProgressUpdraftPlus SupportUpdraftPlus TourUpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place.UpdraftPlus is not yet activated.UpdraftPlus is not yet installed.UpdraftPlus is on social media - check us out!UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)UpdraftPlus notice:UpdraftPlus settingsUpdraftPlus temporary clone user login settings:UpdraftPlus warning:UpdraftPlus was unable to find the table prefix when scanning the database backup.UpdraftPlus.Com account terms and policiesUpdraftPlus.Com responded, but we did not understand the responseUpdraftPlus.Com returned a response which we could not understand (data: %s)UpdraftPlus.Com returned a response, but we could not understand itUpdraftPlus.com has responded with 'Access Denied'.UpdraftVaultUpdraftVault is our remote storage which works seamlessly with UpdraftPlus.UpdraftVault storageUpgrade nowUploadUpload backupUpload backup filesUpload errorUpload error:Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)Upload failedUpload files into UpdraftPlus.Uploaded to:Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select FilesorUploading files to remote storageUploadsUploads URL:Use SCP instead of SFTPUse ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in betweenUse the "Reporting" section to configure the email addresses to be used.Use the server's SSL certificatesUse this option to only send database backups when sending to email, and skip other components.UsernameUsername: %sVault ownerVerifyingVerifying one-time password...VersionView LogWP CLIWP-CLI commands to take, list and delete backups.WP-CLI supportWaiting until scheduled time to retry because of errorsWarningWarning:Warning: %sWarning: the database's home URL (%s) is different to what we expected (%s)Warning: the database's site URL (%s) is different to what we expected (%s)WarningsWarnings encountered:Warnings:Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link.We accessed the bucket, and were able to create files within it.We accessed the container, and were able to create files within it.We failed to successfully connect to UpdraftPlus.ComWe requested to delete the file, but could not understand the server's responseWe successfully accessed the bucket, but the attempt to create a file in it failed.Web server:Web-server disk space in use by UpdraftPlusWebDAV URLWeeklyWelcome to UpdraftPlusWelcome to UpdraftPlus!Welcome to your UpdraftClone (temporary clone)Well done - there's nothing more needed to set up.Western EuropeWestern United StatesWhere to change directory to after logging in - often this is relative to your home directory.Which site to restoreWhich was exported on:Why am I seeing this?Wipe settingsWith UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too.With UpdraftPlus Premium, you can directly download individual files from here.Without it, encryption will be a lot slower.Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors.Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website.Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network.WooCommerce pluginsWordPress BackupWordPress CoreWordPress backup is completeWordPress coreWordPress core (including any additions to your WordPress root directory)WordPress core (only)WordPress databaseWordPress installedWordPress installed; now awaiting the site data to be sent.WordPress root directory server path: %sYesYou are currently using the free version of UpdraftPlus.You are now using a IAM user account to access your bucket.You are presently connected to an UpdraftPlus.Com account.You are presently not connected to an UpdraftPlus.Com account.You are running on WordPress multisite - but your backup is not of a multisite site.You are using the %s webserver, but do not seem to have the %s module loaded.You can also close this wizard.You can buy UpdraftClone tokens from our shop, here.You can buy more temporary clone tokens here.You can check the progress here or in %sYou can choose another suitable character set instead and continue with the restoration at your own risk.You can choose another suitable collation instead and continue with the restoration (at your own risk).You can enter the path of any %s virtual folder you wish to use here.You can find out more about clone keys here.You can find your temporary clone information in your updraftplus.com account here.You can forbid non-admins logins to this cloned site by checking the checkbox belowYou can get more quota hereYou can manually decrypt an encrypted database here.You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits.You can test upgrading your site on an instant copy using UpdraftClone creditsYou do not have access to this bucketYou do not have access to this bucket.You do not have the UpdraftPlus %s add-on installed - get it from %sYou do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?You entered an email address that was not recognised by UpdraftPlus.ComYou have an inactive purchaseYou have an unfinished restoration operation, begun %s ago.You have chosen to backup a database, but no tables have been selectedYou have chosen to backup files, but no file entities have been selectedYou have made changes to your settings, and not saved.You have not selected a restore path for your chosen backupsYou have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons.You have not yet connected with your UpdraftPlus.Com account.You have not yet made any backups.You have not yet selected a file to import.You have requested saving to remote storage (%s), but without entering any settings for that storage.You have selected a remote storage option which has an authorization step to complete:You must add the following as the authorised redirect URI (under "More Options") when askedYou must add the following as the authorised redirect URI in your Dropbox console (under "API Settings") when askedYou must add the following as the authorized redirect URI (under "More Options") when askedYou must add the following as the authorized redirect URI in your OneDrive console (under "API Settings") when askedYou must copy and paste this key on the sending site now - it cannot be shown again.You must enter a project ID in order to be able to create a new bucket.You must save and authenticate before you can test your settings.You must select at least one remote storage destination to upload this backup set to.You must upgrade MySQL to be able to use this database.You must use a bucket name that is unique, for all %s users.You must use lower-case letters or numbers for the site path, only.You need to connect to receive future updates to UpdraftPlus.You need to enter a bucketYou need to enter a containerYou need to enter a new IAM usernameYou need to enter a new usernameYou need to enter a valid new email addressYou need to enter an admin API keyYou need to enter an admin access keyYou need to enter an admin secret keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed.You need to supply both an email address and a passwordYou selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network.You should backup all tables unless you are an expert in the internals of the WordPress database.You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly.You should check the file ownerships and permissions in your WordPress installationYou should enable %s to make any pretty permalinks (e.g. %s) workYou should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website).You should save your changes to ensure that they are used for making your backup.You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility.You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud.You successfully purchased UpdraftPremium.You will find more information about this in the Settings section.You will need to ask your web hosting company to upgrade.You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.You will need to restore it manually.You've got itYour %s account name: %sYour %s quota usage: %s %% used, %s availableYour %s version: %s.Your .htaccess has an old site reference on line number %s. You should remove it manually.Your .htaccess has an old site references on line numbers %s. You should remove them manually.Your IP address:Your UpdraftClone is still setting up.Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old).Your backup has been restored.Your chosen character set to use instead:Your chosen replacement collationYour clone has started and will be available at the following URLs once it is ready.Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready.Your clone will now deploy this data to re-create your site.Your clone will renew on:Your database user does not have permission to drop tablesYour email address and password were not recognised by UpdraftPlus.ComYour email address was valid, but your password was not recognised by UpdraftPlus.Com.Your export file will be of your displayed settings, not your saved ones.Your first backupYour free disk space is very low - only %s Mb remainYour free space in your hosting account is very low - only %s Mb remainYour hosting company must enable these functions before %s can work.Your label for this backup (optional)Your login may be either password or key-based - you only need to enter one, not both.Your new key:Your paid access to UpdraftPlus support has expired.Your paid access to UpdraftPlus support will soon expire.Your paid access to UpdraftPlus updates for %s add-ons on this site has expired.Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire.Your paid access to UpdraftPlus updates for this site will soon expire.Your saved settings also affect what is backed up - e.g. files excluded.Your settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your version: %sYour web server has PHP's so-called safe_mode active.Your web server's PHP installation has these functions disabled: %s.Your web-server does not have the %s module installed.Your website is hosted using the %s web server.Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:Your wp-content directory server path: %sactivate it on this siteadvanced optionsalready doneand retain this many scheduled backupsarchiveauthentication URIauthentication errorauthentication failedauthorization failed:backbacks up automatically when you update plugins, themes or corecalculatecalculating...check your log for more details.chunk %s: upload failedconfigure it herecontainercountcredentialsdatabase connection attempt faileddatabase connection attempt failed.database namedayday(s)did not return the expected response - check your log file for more detailsdismiss noticedownload: failed: file not founde.g. %se.g. if your server is busy at day and you want to run overnighteasily migrate or clone your site in minutesencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)enhanced remote storage optionserror - failed to create and access the containererror - failed to re-assemble chunkserror - failed to upload fileerror: %s (see log file for more)error: failed to upload file to %s (see log file for more)error: file %s was shortened unexpectedlyfailed to access parent folderfailed to list filesfailed to upload file to %s (see log file for more)faster (possibility for slow PHP installs)filefile is size:files: %sfolderfollow this link to get itgo herego here to change your password on updraftplus.com.go here to learn morehandles updates automatically as you want themherehosthost namehour(s)i.e. Non-automaticManualin the monthincluding any passwordsincremental backup; base backup: %skeykey namelast activity: %d seconds agolast activity: %ss agolatestlog results to consoleloginlogin failuremanagemanages all your WordPress sites at once from one placemay include some site-wide datamulti-region locationno options or sitemeta table was foundno recent activity; will offer resumption after: %d secondsnotice imagenow proceeding with the updates...open this to show some further options; don't bother with this unless you have a problem or are curious.optionalor (annual discount)or to configure more complex schedulesor to restore manuallyor, to reset this optionother content from wp-contentpasswordpassword/keyplease follow this link to update the plugin in order to activate itplease follow this link to update the plugin in order to get itplease wait for the rescheduled attemptpluginspress hereread more at %srecommendedrefreshregular non-encrypted FTPremote files deletedremote siterequired for some remote storage providersresetrestorationrows: %dsearch and replacesearch termsecure your backupssettingsshow PHP information (phpinfo)show logsite not foundskipped (not in list)slower, strongestsome/pathstarting from next time it isstoptable: %stablestemplate not foundthe database query being run was:the options table was not foundthe world’s most trusted backup plugin!themesthese backup setsthis backup setthis privacy policyto take incremental backupsunknown sourceupdraftplusTo make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %supload (%s): re-assembly failed (see log for more details)upload faileduse UpdraftPlus Premiumuserusernameweek(s)will restore as:with the option ofyou have authenticated your %s accountyou have authenticated your %s account.you will want to use below search and replace site location in the database (migrate) to search/replace the site address.your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup.your UpdraftPlus.com accountyour site's admin addresszip executable found:PO-Revision-Date: 2020-08-03 14:29:14+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: bg Project-Id-Version: UpdraftPlus "%s" няма първичен ключ, необходима е ръчна промяна на ред %s.наемател%d грешки, %d предупреждения%d часа, %d минути, %d секунди%d токен%d токени%s (използван е%s)%s - не можа да архивира този обект; съответната директория не съществува (%s)%s Име на акаунт%s Контейнер%s Грешка%s Грешка: Не може да се инициализира%s Грешка: Не може да се отвори локален файл%s Грешка: Не можа да бъде качено%s КлючПрефикс %s%s Изключение за услуги.%s ключ за достъп%s добавката не е намеренаАрхивите на %s оставатУдостоверяване на %s%s удостоверяването е неуспешно%s бита%s байта%s контролна сума: %s%s де-удостоверяване%s изтегляне: не е успешно: файлът не е намерен%s крайна точка%s грешка - не успя да влезе в контейнера%s грешка - неуспешно събиране на блокове%s грешка - грешка при качване на файл%s грешка - достъп до контейнера, но не успяхме да създадем файл в него%s грешка: %s%s от сега%s е избран за отдалечено хранилище, но в момента не сте свързани.%s часаМестоположение %sНеуспешно влизане в %sЕмблема на %s%s минути, %s секунди%s месец опит %s%s на тримесечие%s на годинаГрешка при повторно сглобяване %s (%s): (виж регистрационния файл за повече)%s опции за възстановяване:%s върна неочакван HTTP отговор: %sСекретен ключ %s%s резултат от теста:Поддръжката на %s е налична като добавкаНамерени са %s таблица.Намерени %s са всички таблици; %s с посочения префикс.%s качване: получаване на качване на качване за многочайна качване е неуспешно - за повече подробности вижте регистрационния файлВерсия %s:%s седмици%s: нечетим файл - не може да бъде архивиран%s: нечетим файл - не можа да бъде архивиран (проверете разрешенията за файла и собствеността)(%d архив(а) в комплект, общо %s).(Няма конфигуриран)(Не е завършено)(Нищо не е записано още)Прочети повече(Това важи за всички WordPress резервни плъгини, освен ако те са изрично кодирани за многостранна съвместимост).(вече е качен)(очевидно предварително освобождаване или изтеглено издание)(колкото искате)(в същото време като архивиране на файлове)(архивен комплект, импортиран от отдалечено местоположение)(актуална версия)(последна стъпка: %s)(научете повече за този важен вариант)(трупи могат да бъдат намерени в updraftPlus настройки страница както обикновено)...(Уверете се, че сте се опитвали да качите zip файл, създаден преди това от UpdraftPlus)(или се свържете чрез формуляра на тази страница, ако вече сте го закупили)(натиснете икона, за да изберете или отмените избора)Изтегляне(версия: %s)(преглед на лог...)... и още много!1 час1 седмицаНе го поставяйте в директорията си за качвания или плъгини, тъй като това ще доведе до рекурсия (резервни копия на резервни копия на резервни копия на...).(Изглеждате вече удостоверени, въпреки че можете да удостоверите отново, за да опресните достъпа си, ако сте имали проблем).След като сте записали настройките си (като кликнете върху "Запиши промените" по-долу), се върнете тук веднъж и следвайте тази връзка, за да завършите удостоверяването с %s.Това не е име на папка."Миграция" в крайна сметка е същото като възстановяване - но с помощта на архиви, които импортирате от друг сайт.Възникна изключение от PHP (%s): %sВъзникнала е PHP фатална грешка (%s): %sИмето на хоста не може да съдържа наклонена черта.Вече съществува ключ с това име; трябва да използвате уникално име.Търсенето/замяната не може да бъде отменено – сигурни ли сте, че искате да направите това?Срещнат е много голям файл: %s (размер: %s Мб)Грешка в zip файлаABORT: Не може да се намери информация за това кои обекти да се възстанови.API ключ: %sКлюч за APIAPI secretAWS удостоверяването е неуспешноКлюч за достъп: %sАкаунт IDКлюч за АкаунтаАкаунтът е пълен: вашият %s акаунт има само %d байта, но файлът, който трябва да бъде качен, има %d байта (общ размер: %d байта)Акаунтът е пълен: вашият %s акаунт има само %d байта, но файлът, който трябва да бъде качен, е %d байтаИме на собственика на акаунта: %s.Акаунтът не е разрешен (%s).Акаунтът не е оторизиран.Моят акаунтСъздадените на rackspacecloud.com акаунти са американски акаунти; rackspace.co.uk са сметките в Обединеното кралство.Сметките, създадени на rackspacecloud.com са в САЩ; rackspace.co.uk са базирани наДействияДействия при избрани архивиРегистър на дейноститеДобавете SFTP, за да изпращате данните си сигурно, да заключвате настройките и да шифровате архивите на базата данни за допълнителна сигурност.Добавяне на сайтДобавяне на допълнително правило за задържане на база данниДобавяне на допълнително правило за задържане на файловеДобавяне на допълнително правило за задържане...Добавяне на правило за изключванеДобавете правило за изключване за %sДобавяне на външна база данни за архивиране...Добавяне на друг %s акаунт...Добавяне на друг адрес...Добавяне на директория...Добавяне на сайтДобавете този сайт към UpdraftCentral (дистанционно, централизирано управление) - безплатно за до 5 сайта.Добавете този уеб сайт към таблото си updraftCentral Cloud на updraftplus.com.Добавяне...Допълнителни и подобрени местоположения за отдалечено съхранениеДопълнително съхранениеАПИ ключ за администраторПотребителско име на администраторАдминистраторски достъпТаен ключ на администраторРазширени настройки за отстраняване на грешкиРазширени инструментиСлед като натиснете този бутон, можете да изберете къде да качите архива от списък с вашите текущо запазени местоположения за отдалечено съхранениеСлед като натиснете този бутон, ще ви бъде дадена възможност да изберете кои компонентиСлед като натиснете този бутон, ще ви бъде дадена възможност да изберете кои компонентиСлед като архивирате вашата база данни, ви препоръчваме да инсталирате нашата WP-Optimize плъгин, за да го рационализират за по-добра ефективност на уебсайта.Всички WordPress таблици ще бъдат архивирани.Всички файлове, започващи с дадени знациВсички файлове, започващи с тези знациВсички файлове с това разширениеВсички препратки към местоположението на сайта в базата данни ще бъдат заменени с текущия url адрес на сайта ви, което е: %sВсички сайтовеРазреши изтриванеРазреши изтеглянеПозволяване само на администраторите да влизатПозволява ви да архивирате само промените във вашите файлове (като ново изображение), които са направени на вашия сайт от последната резервна копие.Почти всички FTP сървъри ще искат пасивен режим; но ако имате нужда от активен режим, след това махнете отметката от това.Вече имате място?Също изтриване от дистанционно съхранениеСъщо така изпратете този архив на активните места за отдалечено съхранениеСъщо така трябва да прочетете тези важни ЧЗВ.Беше намерен SQL ред, който е по-голям от максималния размер на пакета и не може да бъде разделен; този ред няма да бъде обработен, но ще бъде премахнат: %sЗададена е парола на администратор.Изисква се имейл и трябва да бъде във валиден формат.Празна WordPress инсталацияВъзникна грешка в първата команда %s - прекъсване на изпълнениеВъзникна грешка при извличане на опциите на модула за съхранение: Възникна грешка при опит за извличане на добавките.Възникна грешка при опит за проверка на поддръжката на съхранените съчетания (%s %s)Възникна грешка при опит за извличане на рутинно състояние (%s %s)Възникна грешка при опит за извличане на глобалната log_bin_trust_function_creators променлива на MySQL %sВъзникна грешка при опит за извличане на рутинната SQL/DDL команда (%s %s)Възникна грешка при опит за задаване на нова стойност на глобалната log_bin_trust_function_creators променлива на MySQL %sВъзникна грешка при затваряне на крайния файл с база данниПолучи се отговор на грешка; HTTP код:Възникна неизвестна грешка при опит за свързване с UpdraftPlus.ComАктуализация, съдържаща добавките ви, е достъпна за UpdraftPlus - моля, следвайте този линк, за да го получите.Налична е актуализация за UpdraftPlus - моля, следвайте този линк, за да го получите.След това добавете и постъпково резервно копиеВсички други директории, намерени в wp-съдържаниеВсеки друг файл/директория на вашия сървър, който искате да архивиратеВсички настройки във файла .htaccess или web.config, които засягат максималния размер на качване или публикуване.Всички заявки за поддръжка, свързани с %s, трябва да бъдат повдигнати с вашата уеб хостинг компания.Всеки, който вижда екрана при заключване, ще бъде показан за поддръжка на този URL адрес - въведете адрес на уеб сайт или имейл адрес.Модули ApacheКлюч за приложениеОчаква се архивът да бъде размер:Сигурни ли сте, че искате да премахнете %s от UpdraftPlus?Наистина ли искате да отхвърлите всички UpdraftPlus новини завинаги?Наистина ли искате да премахнете това правило за изключване?Азия ПасификАзия Пасифик (Мумбай)Азия Пасифик (Сеул)Азия Пасифик (Сингапур)Азия Пасифик (Сидни)Азия Пасифик (Токио)Помолете WordPress да актуализира автоматично UpdraftPlus, когато намери налична актуализация.Помолете WordPress да актуализира UpdraftPlus автоматично, когато има налична актуализацияЗадайте въпрос преди продажбатаПрисвоен на този сайтВ същото време, като архивиране на файловеОпитите на браузъра да се свърже с уеб сайта са неуспешни.Атрибут импортирано съдържание на потребителУдостоверяване с %sУдостоверяване с GoogleИдентификацияНеуспешно разрешение (проверете вашите идентификационни данни)Автоматично архивиранеАвтоматично архивиране преди актуализацияАвтоматични актуализацииАвтоматично архивира уебсайта ви, преди да се актуализират плъгини, теми и wordPress ядро.Автоматично архивиране (където е уместно) плъгини, теми и база данни на WordPress с UpdraftPlus преди да се актуализираНаличен за този сайт (чрез вашата покупка на всички добавки)Налични временни клонирани маркери:Налични за предявяване на претенция на този сайтЛазурноАкаунт в AzureЛазурен КитайAzure ГерманияAzure ГлобалноПравителството на AzureНазадВърни се назад...Резервно копие: %sАрхивиранеАрхивиране (където е уместно) плъгини, теми и база данни на WordPress с UpdraftPlus преди да се актуализираАрхивиране / възстановяванеСъдържание и график за архивиранеАрхивиране сегаОтчет за архивиранеАрхивиране на WordPress ядро и не WP файлове и бази данни.Архивиране на WordPress многосайтове (т.е. мрежи), сигурно.Архивиране започна:Започна архивиранеАрхивирането съдържа:Архивирането, създадено от неизвестен източник (%s) - не може да бъде възстановено.Архивиране, създадено от:Архивирането е създадено от: %s.Архивиране на данни (щракнете, за да изтеглите)Резервните данни ще бъдат изпратени на:Дата на архивиранеДиректория за архивиранеДиректорията за архивиране (%s) не може да се записва или не съществува.Директорията за архивиране не може да бъде създаденаУказаната директория за архивиране не съществува.Указаната директория за архивиране съществува, но не може да се записва.Указаната директория за архивиране е записваема, което е добро.Архивната директория е създадена успешно.Архивирането не съществува в хронологията на архивиранетоАрхивиране на външна база данниНяма наличен архивен файл.Архивирането завършиАрхивирането е на: %s.Етикет за архивиране:Архивирането е направено от %sАрхивиране на още бази данниАрхивиране на файлове и бази данни, които не са на WordPressРезервни не-WordPress таблици, съдържащи се в същата база данни като WordPressАрхивиране на:Архивиране на: %sПът до архиваАрхивирането, изпратено до отдалечен сайт - не е достъпно за изтегляне.Архивен набор не е намеренИзтриват се резервните комплекти:Архивирането е успешноВреме за архивиране и планиранеАрхивиране в отдалечени места за съхранениеАрхивиране с използване на %s?Архивирането не може да бъде изпратено до отдалечено хранилище - нито едно не е записано в %sАрхивиране, актуализиране и управление на всички ваши WordPress сайтове от едно таблоЛош формат на файл - това не изглежда като файл, създаден от UpdraftPlusЛош файлов формат - това не изглежда като шифрован файл на база данни, създаден от UpdraftPlusИмайте предвид, че пощенски сървъри са склонни да имат ограничения за размера; обикновено около %s МБ; архивиране по-големи от всички ограничения вероятно няма да пристигне като резултат UpdraftPlus ще изпрати само архивиране на бази данни на електронна поща.Имайте предвид, че пощенски сървъри са склонни да имат ограничения за размера; обикновено около %s МБ; резервни копия, по-големи от всички ограничения, най-вероятно няма да пристигнат.Имайте предвид, че пощенски сървъри са склонни да имат ограничения за размера; обикновено около %s Мб; резервни копия, по-големи от всички ограничения, най-вероятно няма да пристигнат.Бъдете внимателни, какво да изберете - ако изберете / след това наистина ще се опита да създаде цип, съдържащ целия си уеб сървър.Бъдете в безопасностБъдете в безопасност с автоматично архивиранеЗапочналЗапочна да търси тази същностБелгияВръзка към блогКачвания на блоговеПолетата за имейл и парола са задължителни.Преглед на съдържаниетоПреглеждане на zip файлКофаИД на клавиша за приложение в паметтаМестоположение на кофатаИме на кофаКупете %sКупи гоОбажданеПодкани за действие на WordPress:ОтмянаЦентрална АМЕРИКАПромяна на настройките за заключванеНаправени промени:Поставете отметка в това квадратче, за да изпратите базова справкаПоставете отметка в това поле, за да използвате шифроването на сървъра на AmazonПроверете това, за да изтриете излишните архивни файлове от сървъра си след приключване на архивирането (т.е. ако махнете отметката, тогава всички файлове, които се експедират дистанционно, също ще останат локално и всички файлове, които се съхраняват локално няма да бъдат предмет на ограниченията за задържане).Проверете това, за да получите повече информация и имейли за процеса на архивиране - полезно, ако нещо се обърка.Проверете разрешенията за файла: Не можа успешно да се създаде и въведете директория:Проверете разрешенията за файла: Не можа да бъде създаден и въведен успешно:Чикаго (ОРИЕНТА)Китай (Пекин) (ограничен)Изберете по подразбиране за всяка таблицаИзберете компонентите за възстановяванеИзберете компонентите за възстановяване:Изберете графика, на който искате да се изпълняват архивите.Изберете графика за архивиранеИзберете вашето отдалечено хранилищеНе е предоставена претенция - може би вече сте използвали тази покупка някъде другаде, или платения ви период за изтегляне от updraftplus.com е изтекъл?Искането не е предоставено - данните за влизане в профила ви са грешниИзчистванеПочиствам боклука...Клиентски идентификационен номерКлиентска тайна/Таен ключКлониране на %sГотови клонингиКлонинг област:Clone сървър се обезпечава и обувка (може да отнеме няколко минути)Клонинг:Клониране и миграцияЗатвориЗаключителния 1 октомври 2018Файлове в облакаКлавиш за API за файлове в облакаКонтейнер за файлове в облакаРегион за съхранение на файлове в облакаПотребителско име на файловете в облакаНеуспешно удостоверяване на файлове в облакаГрешка в Cloud Files - достъпхме контейнера, но не успяхме да създадем файл в негоОперацията за файлове в облака е неуспешна (%s)Потребителско име за файлове в облакаЗавършенПотвърждаванеПотвърждаване на промянатаКонфликт: този потребител вече съществуваКонфликт: този потребител или имейл адрес вече съществуваПоздравления!! Първото ви архивиране е в движение.Поздравления, настройките ви са успешно запазени.СвързванеСвържете този сайт с UpdraftCentral CloudСвързване към UpdraftCentral CloudСвързване с updraftplus.comСвързване с вашия %s акаунтСвързване с вашия акаунт за UpdraftPlus.ComСвързване...Връзката е неуспешна.Връзката е неуспешна: проверете данните за достъпа, дали сървърът на базата данни е нагоре и че мрежовата връзка не е защитна стена.Връзката е успешна.КонстантиКонтейнерСъдържание:URL адрес на съдържание:Продължаване на възстановяванетоКонтролирайте всички ваши Инсталации на WordPress от едно място, като използвате UpdraftCentral дистанционно управление на сайта!Управлявайте всички архиви на едно мястоКопирането на този обект е неуспешно.Не може да се осъществи достъп до контейнера %sНе можа да бъде достъпен контейнерКонтейнерът не може да бъде създаденНе може да се изтрие старият път.Не можах да намеря тази работа - може би вече е свършила?Не може да се получи списък на таблициНе може да се преместят старите файлове по пътя.Не може да се отвори архивният файл за записДиректорията не може да бъде прочетенаПреброяване...СъздаванеСъздайте идентификационни данни в Azure в конзолата на разработчиците на Azure.Създаване на идентификационни данни за OneDrive в конзолата за разработчици на OneDrive.Създайте ключ: дайте на този ключ уникално име (напр. посочете сайта, за който е), след което натиснете "Създаване на ключ":Създаване на нов потребител на API с достъп само до този контейнер (а не целия ви профил)Създаване на временен клонинг на нашите сървъри (UpdraftClone)Създаване на клонСъздаване на ключСъздаване на нов потребител и контейнер за APIСъздаване на нова IAM потребителска и S3 кофаСъздаване на резервно копие на база данниСъздадени архивирани zips файловеСъздаване на %s и архивиране на бази данни с UpdraftPlus...Създаване на резервно копие с UpdraftPlus ...Създаване на архивни данниСъздаване на архивни данни с UpdraftPlus...Създаване на архивирани файловеСъздаване на първия си архивСъздаване...Текущи клонингиНастоящото ограничение е:Текущо използване на паметтаТекуща употреба:В момента е забраненаВ момента е активиранЕжедневноДалас (DFW) (по подразбиране)Таблото:Бази данниБаза данни (създадена от %s)База данни (архивирането на файлове не е завършено)Опции за база данниИнтервал на архивиране на база данниГрафик за архивиране на база данниФраза за дешифриране на база данниФраза за шифроване на база данниСамо за база данни (файловете не са част от този конкретен график)Опции за възстановяване на база данни:Базата данни е успешно дешифрирана.База данни: търсене и заместване на URL адрес на сайтДен за изпълнение на архивиРежим на отстраняванеИнформация за отстраняване на грешкиДешифриране на база данни (може да отнеме известно време)...ИзтрийИзтриване на стари директорииИзтриване на архивен наборИзтриването е неуспешно:Изтриване от вашия уеб сървърИзтриване на локално архивиранеИзтрийте избраните архивиИзтриване на тези настройкиИзтриване на този архивен наборИзтриване...Внедряване на данни за сайтовеDeselectПремахнете избора на всички резервни копияПът до директориятаЗабраняване на SSL, когато е възможноЗабранено е разширението: %s: активирайте го отново ръчно, когато сте готови.ОтписванеПрекъсват...ОтхвърлиОтхвърляне (за %s месеца)Освободете всички UpdraftPlus новиниОтхвърляне от главното табло (за %s седмици)Освобождаване на известиетоНе прекратявайте след натискане на "Продължете по-долу" - изчакайте архивирането да завърши.Не бъркайте %s с %s - те са отделни неща.PKCS1 (PEM заглавие: BEGIN RSA private KEY), ключове за XML и Putty формат се приемат.Не проверявай SSL сертификатиПрочетете тази полезна статия за полезни неща, които трябва да знаете преди да го възстановите.Не забравяйте да запазите настройките си.Имате ли още няколко WordPress сайтове, които искате да архивирате? Ако отговорът е "да", можете да спестите часове, като контролирате всички ваши архиви на едно място от UpdraftCentral.Нуждаете ли се от поддръжка на WordPress?Използвате updraftPlus на няколко сайта?Искате ли да извършите импортирането?Искате ли да мигрирате или да клонирате/дублирате сайт?Не знаете имейл адреса си или не сте забравили паролата си?Не искаш да те шпионират? UpdraftPlus Premium може да криптира архива на базата данни.Грешка при изтегляне: сървърът ни изпрати отговор, който не разбираме.Неуспешно изтеглянеВ ход е изтеглянетоИзтегляне на регистрационен файлИзтегляне на последно променения регистрационен файлИзтегляне на вашия компютърИзтегляне на архивни файлове, ако е необходимоПуснете архивни файлове тукПуснете шифровани файлове на бази данни (db.gz.crypt файлове) тук, за да ги качите за дешифриранеDropboxТрайна намалена наличностИзточна Азия и Тихоокеански регионИзточни Съединени щатиЛесноРедактирайЕлектронна пощаИмейл доклади, създадени от UpdraftPlus (безплатно издание) ви носят най-новите новини за UpdraftPlus.comШифроване на вашите поверителни бази данни (напр. информация за клиенти или пароли); Архивиране на външни бази данни също.Шифрована база данниШифроване на база данниРазмер на шифроващия ключ:Край на обиколкатаНасладете се на професионална, бърза и приятелска помощ, когато имате нужда от нея с Premium.Уверете се, че сте влезли в правилния акаунт, преди да продължите.Въведете списък, разделен със запетая; в противен случай оставете празно за всички таблици.Въведете адреси тук, за да им изпратите отчет, когато заданието за архивиране завърши.Въведете пътя в полето по-долу.Въвеждане на база данниВъведете база данни.Въведете подробности за това къде този нов сайт ще живее в рамките на многостранната ви инсталация:Въведете хостВъведете хост.Въведете във формат HH:MM (напр. 14:22).Въведете паролаВъведете парола.Въведете префикс на таблицаВъведете ИД на проекта %s, който желаете да използвате тук.Въведете името на кофата %s, която искате да използвате тук.Въведете пътя до папката %s, която искате да използвате тук.Въведете пътя на %s, който искате да използвате тук.Въведете потребителско имеВъведете потребителско име.Въведете потребителското си име/ КЛЮЧ за API на Rackspace (така че Rackspace да удостовери вашето разрешение за създаване на нови потребители) и въведете ново (уникално) потребителско име и имейл адрес за новия потребител и име на контейнер.Въведете вашия имейл адрес UpdraftPlus.Com тук, за да се свържете:Въведете вашия административен достъп / тайни ключове на Amazon S3 (това трябва да бъде двойка ключове с достатъчно права за създаване на нови потребители и кофи), и ново (уникално) потребителско име за новия потребител и име на кофа.Въведете избраното от Вас имеГрешкаГрешка - не успя да изтеглите файлаГрешка - такъв файл не съществува.Данни за грешка:Грешка при изтегляне на отдалечен файл: Неуспешно изтеглянеСъобщение за грешкаГрешка при отваряне на локален файл: Неуспешно изтеглянеГрешка при отваряне на отдалечен файл: Неуспешно изтеглянеГрешка при създаване на нов сайт на избрания от вас адрес:Грешка:Грешка: %sГрешка: Неуспешно изтеглянеГрешка: Неуспешно инициализиранеГрешка: Не можа да се отвори локален файлГрешка: Неуспешно качванеГрешка: невалиден пътГрешка: сървърът изпрати празен отговор.Грешка: сървърът ни изпрати отговор (JSON), който не разбираме.Грешка: сървърът ни изпрати отговор, който не разбираме.Грешка: неочакван празен параметър (%s, %s)Грешка: неочакван файл четене е неуспешноГрешкиГрешки / предупреждения:Открити са грешки:Възникнаха грешки:Възникнаха грешки при опит за свързване с UpdraftPlus.Com:Възникнаха грешки:Грешки:Европа (Франкфурт)Европа (Ирландия)Европа (Лондон)Европа (Париж)Европа (Стокхолм)Европейски съюзНа всеки %s часаВсеки часИзключване на файлове/директорииИзключване на тезиБез тези артикули:Съществуващи архивиСъществуващи ключовеЕкспертни настройкиЕкспортиране / импортиране на настройкиЕкспортиране на настройкиДобавкиВъншна база данниВъншна база данни (%s)Допълнителна база данниЧЗВFTP входFTP паролаFTP сървърFacebookНеуспешноНе можа да се осъществи достъп до %s при изтриване (вижте регистрационния файл за повече)Неуспешно прилагане на правилата за потребителяНеуспешно създаване на временна директорияНеуспешно изтриване на работната директория след възстановяване.Неуспешно изтеглянеНеуспешно изтегляне на %sНеуспешно откриване на манифест в архива.Неуспешно намиране на файл на база данниГрешка при отваряне на файла на базата данниГрешка при отваряне на файла на базата данни за четене:Грешка при отваряне на файла на базата данни.Грешка при отваряне на директорията (проверете разрешенията за файлове и собствеността): %sНе можа да се отвори zip файл (%s) - %sНеуспешно четене от работната директория.Неуспешно четене на манифеста от архива.Неуспешно разопаковане на архиваНеуспешно качване на %sНеуспешно качване в %sНеуспешно записване на разшифрованата база данни във файловата системаНеуспешно: Успяхме да се регистрираме и да се преместим в указаната директория, но не успяхме да създадем успешно файл в това местоположение.Неуспешно: Успяхме да се регистрираме, но не успяхме успешно да създадем файл в това местоположение.Неуспешно: Не успяхме да поставим файл в тази директория - проверете вашите идентификационни данни.Неуспешно: операцията %s не можа да стартира.Неуспешно: не разбирахме резултата, върнат от операцията %s.ПроваленоГрешка: Не е даден %s.Неуспех: Не са дадени подробности за кофата.Отказ: Не са дадени подробности за контейнера.Грешка: Не са дадени данни за сървъра.Грешка: Портът трябва да е цяло число.Неуспех: ние не успешно се логнете с тези идентификационни данни.Грешка: успешно влязохме, но не успяхме да създадем файл в дадена директория.БързоБърза, лична поддръжкаДонесеИзвлича се...Файлът (%s) е намерен, но има различен размер (%s) от очакваното (%s) - може да е повреден.Опции за файловеОпции за архивиране на файловеФайлът не е локално присъстващ - трябва да се извлича от отдалечено хранилищеФайлът не беше намеренФайлът не е намерен (трябва да го качите): %sДосието е готово.Файлът е намерен, но е с нулев размер (трябва да го качите отново): %sФайл/директорияФайловеФайлове (архивирането на базата данни не е завършено)Файлове и база данниАрхивни файлове и база данни на WordPress (създадени от %s)Архивиране на файлове (създадено от %s)Интервал за архивиране на файловеГрафик за архивиране на файловеФайловете, променени след последното архивиране, ще бъдат добавени като ново увеличение в този архивен набор.Намерени файлове:Само файлове (базата данни не е част от този конкретен график)Окончателни проверкиНамери ощеНаучете повече за допълнителните резервни копия тук.Научете повече тук.Отпечатъците не съвпадат.КрайЗавършенПърво, въведете ключа за декриптиранеГъвкавиПапкаСледвайте тази връзка за помощСледвайте тази връзка за повече информацияСледвайте тази връзка, за да опитате да дешифрирате и изтеглите файла на базата данни на компютъра.Следвайте тази връзка, за да се опитате да създадете директория и да зададете разрешенияСледвайте тази връзка, за да разрешите достъпа до вашия %s акаунт (няма да можете да архивирате в %s без него).Следвайте тази връзка, за да изтеглите регистрационния файл за това възстановяване (необходим за всички заявки за поддръжка).Следвайте тази връзка, за да премахнете тези настройки за %s.Следвайте този линк, за да се регистрирате за бюлетина UpdraftPlus.Следвайте тази връзка към инструкциите за инсталиране (особено стъпка 1).Следвайте тази връзка към конзолата ви на Google API и активирате прите интерфейса на устройството и създайте Клиентски идентификатор в секцията за достъп до API.Следвайте тази връзка към конзолата на Google API и активирате приаята памет и създайте Client ID в секцията достъп до API.За архиви, по-стари отЗа още повече функции и лична поддръжка проверете За бъдещия контрол на всички ваши UpdraftCentral връзки отидете в раздела "Разширени инструменти".За помощ при конфигуриране на %s, включително екранни снимки, следвайте тази връзка.За допълнителни резервни копия ще можете да избирате кои стъпки да възстановите на по-късен етап.За по-дълго помощ, включително екранни снимки, следвайте тази връзка.За възможността да се заключи достъп до UpdraftPlus настройки с парола, ъпгрейд до UpdraftPlus Premium.За възможността да мигрирате уеб сайтове, преминете към UpdraftPlus Premium.За да отключите поддръжка, моля, свържете се с този, който управлява UpdraftPlus за вас.Забраняване на администраторите да влизат в WordPress на вашия клонингЗабравили сте си детайлите?Две седмициНамерени са имена на зададени адреси %s, но се променя на %s, както е предложено от WPDB::determine_charset().Намерени и заменени съществуващи ограничения за чужди ключови таблици, тъй като префиксът на таблицата е променен.ФранкфуртБезплатноСвободно място на диска в акаунта:Безплатна двуфактомна сигурност плъгинЗаглавна страница:Пълно архивиранеПълен списък с функцииДопълнителна информация може да бъде намерена в браузъра JavaScript конзолата и сървър PHP грешки регистрационни файлове.Вземете %s от магазина UpdraftPlus.comВземете %s тукВземи премиумВземи updraftCentralВземете го от UpdraftPlus.Com StoreВземи го тукПолучете повече квотаПолучаване на тези настройки от %s или регистриране на %s.НапредОтидете тукОтиди тук за помощОтидете тук за повече информация.Отидете тук, за да го активирате.Отидете тук, за да започнете да го инсталирате.Отидете тук, за да го свържете.Отидете тук, за да се свържете.Отидете тук, за да въведете отново паролата си.Върни се назадОтидете в настройкитеОтидете до таблото за управление на UpdraftCentral CloudКачи се на директорияОтива на страницата за купуване на updraftplus.comОтива към страница за купуване на updraftplus.comGoogle ОблакGoogle ДискФайловете на списъка с Google Диск: не са успели да получат достъп до родителската папкаHTTP код:Все още не сте получили маркер за достъп от Google – трябва да оторизирате или да преотстъпвате връзката си с Google Диск.Все още не сте получили маркер за достъп от Google - трябва да упълномощите или повторно да оторизирате връзката си с Google Cloud.Хонконг (HKG)ДомакинКак да получа ключ на сайт?Въпреки това, UpdraftPlus архивите са стандартни ZIP / SQL файлове - така че ако сте сигурни, че файлът ви има правилния формат, можете да го преименувате, за да съответства на този модел.Обаче неуспешни последващи опити за достъп:Приемам Общите условия на UpdraftCloneСъгласен съм с %sОперацията IAM е неуспешна (%s)Ако Google по-късно ви покаже съобщението "invalid_client", не сте въвели валиден клиентски номер тук.Ако OneDrive по-късно ви показва съобщението "unauthorized_client", тогава не сте въвели валиден клиентски ИД тук.Ако правите заявка за поддръжка, моля, включете тази информация:Ако не, изберете вашите данни и ще се регистрира нов акаунт.Ако не, ще трябва или да премахнете данни от тази таблица, или да се свържете с вашата хостинг компания, за да поискате повече ресурси.Ако изпращането директно от сайта към сайта не работи за вас, тогава има три други метода - моля, опитайте един от тях вместо това.Ако това е неуспешен, проверете разрешенията на вашия сървър или го променете в друга директория, която може да се записва от процеса на вашия уеб сървър.Ако това е резервно копие, създадено от друг резервен плъгин, updraftPlus Premium може да е в състояние да ви помогне.Ако го използвате, изберете път от дървото на директориите по-долу и след това натиснете потвърждаване на избора.Ако вече имате updraftplus.com акаунт, въведете данните по-долу.Ако не сте сигурни, трябва да спрете; в противен случай можете да унищожите тази инсталация на WordPress.Ако не сте сигурни за какво е тази опция, тогава няма да я искате и трябва да я изключите.Ако виждате повече архиви, отколкото очаквате, вероятно това е така, защото изтриването на стари комплекти за архивиране не се случва, докато не завърши ново резервно копие.Ако използвате това, изключете турбо/пътния режим.Ако сте закупили нови добавки, следвайте тази връзка, за да обновите връзката сиАко все още можете да прочетете тези думи след завършване на страницата за зареждане, тогава има проблем с JavaScript или jQuery в сайта.Ако въведете префикс на таблица, само таблиците, които започват с този префикс, ще бъдат архивирани.Ако изключите и двете база данни и файловете, тогава сте изключили всичко!Ако имате валиден Premium лиценз, получавате 1GB място за съхранение.Ако вече сте подновени, трябва да разпределите лиценз на този сайт - %sАко имате потребител на AWS администратор, можете да използвате този съветник за бързо създаване на нов потребител AWS (IAM) с достъп само до тази кофа (а не целия ви акаунт)Ако сте забравили паролата си Ако сте забравили паролата си, отидете тук, за да промените паролата си на updraftplus.com.Ако сте закупили от UpdraftPlus.Com, следвайте тази връзка към инструкциите за инсталиране (особено стъпка 1).Ако го оставите празно, архивът ще бъде поставен в главната директория на %sАко виждате грешки за SSL сертификати, моля, отидете тук за помощ.Ако искате да възстановите многостранен архив, първо трябва да настроите wordPress инсталацията като многостранна.Ако искате, тествайте надстройването до различна версия на PHP или WP.Ако вашата база данни включва допълнителни таблици, които не са част от този WordPress сайт (ще знаете дали това е така), след това активирайте тази опция, за да ги архивирате.Импортиране на настройкиВносителИмпортиране на един сайт в многостранна инсталацияДобавяне...В %s имената на пътищата са чувствителни към малки и главни букви.Включване в архивирането на файловеВключване на вашата база данни в архиваВключване на файловете в архиваНедовършеноДопълнителниПостепенни резервни копияПостъпковите архиви са функция на %s (надстройката следва тази връзка).Стъпки съществуват в: %sБезкрайно рекурсия: консултирайте се с вашия регистрационен файл за повече информацияИнформация, необходима за продължаване на:ИнсталираноИнтелигентен терингИнтересувате се от знаейки за вашата UpdraftPlus.Com парола за сигурност? Прочетете за това тук.Въвеждане на UpdraftCentralНевалиден ИД на заданиеНевалидно име на кофаАйоваИзглежда, че IP адресът на вашия уеб сървър (%s) е блокиран.Той може да архивира и външни бази данни.Тестван е до версия %s.Това е идентификационен номер в Google ДискТой е за изпращане на резервни копия на следния сайт: Той ще бъде импортиран като нов сайт.Предупреждение за JavaScriptИД на задание: %sЗаданието е изтритоКлючКлючът е създаден успешно.Ключовете за сайт са създадени в раздела "получи резервно копие от отдалечен сайт".Това трябва да бъде URI за удостоверяване v2 (keystone) ; v1 (Swauth) не се поддържа.Известни архиви (сурови)Последно съобщение на регистрационния файлПоследни новини от UpdraftPlus.com:Последно пълно архивиране е намерено; Идентификатор:Последно състояние:Начална страница на програмиста на потенциални клиентиНаучете повече за UpdraftCentralОставете това празно, за да използвате по подразбиране (80 за webdav, 443 за webdavs)Оставете това празно и ще бъде избрана по подразбиране.Зареждане на регистрационен файлСтартира локалното качване на резервно копие; моля, проверете регистрационния файл, за да видите напредъка на качванетоИзтрити локални файлове:Неуспешен локален запис: Неуспешно изтеглянеЗаключване на достъпа до UpdraftPlus чрез парола, така че да изберете кои администратор потребители могат да имат достъп до архиви.Заключване на достъпа до страницата с настройки на UpdraftPlusЗаключване на настройкитеРегистрирай всички съобщения в syslogВлезте всички съобщения в syslog (само администраторите на сървъра вероятно искат това)Влезте тук, за да активирате всички функции, до които имате достъп.Влезте или се регистрирайте за UpdraftCentral CloudВлезте или се регистрирайте с този имейл адресУспешен вход.Успешен вход; информация за презареждане.ЛондонЛондон (LON)Разгледайте другите настройки тук, като направите промените, които искате.Търсене на %s архив: име на файл: %sНаправете актуализациите лесни с UpdraftPlusУправление на добавкиУправление на клонингитеОпции за ръчно архивиранеРъчно дешифриране на архивен файл на база данниМного сайтове?ИД на главен номер на приложениеОграничение на паметтаСъобщения:Близкия изток (Бахрейн)Мигриране (създаване на копие на сайт на хостинг, който контролирате)Мигриране / КлонингМигриране на сайта (от UpdraftPlus)Създаден е ключ за мигриране:МигреторЛипсващи страници:Липсващи параметриМесеченОще файловеОще опции за база данниОще страхотни плъгини от екипа на UpdraftПовече информация тук.Още плъгиниПовече качествени приставкиОще настройкиОще задачи:Да се махна от пътя...Преместване на неопаковано архивиране на място...Многоезичен сайтИнсталиране на множествоПриставки за задължително използванеN.B. %s не е чувствителен към малки и главни букви.Nb. Ако инсталирате UpdraftPlus на няколко WordPress сайтове, тогава не можете да използвате отново проекта си; трябва да създадете нов от конзолата си за API на Google за всеки сайт.N.B. Няма да се извършва резервно копие на базата данни в постъпково резервно копие; ако искате и архивна база данни, след това вземете това отделно.Nb. Това се базира на това какво е било или не, изключва последния път, когато сте записали опциите.Nb. Това е необходимо само ако не сте създали вече кофата, и искате UpdraftPlus да го създаде за вас.Име: %s.Нелинейна линияТрябва да получите пространство?Трябва да получите подкрепа?Трябва да използвате подпапки?Трябва вече да съществуваМрежа / многостраннаМрежа за активиране на тема:Мрежа и многостраннаНово IAM потребителско имеИмейл адрес на нов потребителНово потребителско имеНов сайт:НовиниАбониране за бюлетинСледващСледващи планирани архивиНеНяма намерени %sНе са намерени %s настройкиНе е намерена връзка с трезора за този сайт (преместил ли се е?); свържете отново.Няма рекламиАрхивирането не е завършеноНяма архив на директориите %s: няма нищо за архивиранеНяма резервно копие на местоположението: не е намерено нищо за архивиранеНе са намерени таблици от база данниНе е възможно да се направи резервно копие на вашите файлове, тъй като не е намерено подходящо съществуващо резервно копие, за да се добавят стъпки към.Няма ключове, които да позволяват на отдалечени сайтове да изпращат резервни данни тук все още са създадени.Няма локален екземпляр.Не са намерени лог файлове.Не е намерено предишно резервно копие, към което да се добави увеличение.Не е намерено предишно пълно архивиране.Все още не са добавени сайтове за получаване.Не са намерени настройкиНе са намерени настройки - моля, отидете в раздела Настройки и проверете настройките сиНе съществува такъв комплект архивиранеНе са намерени валидни компоненти, изберете различни компоненти или набор от компоненти, които могат да бъдат възстановени.НямаСеверна ВирджинияСевероизточна АзияСеверна Вирджиния (IAD)Нямате ли сметка? Вземи си, като си купиш жетони тук.Нямате ли някакво отдалечено хранилище?Не е инсталиранВсе още не е сметка (това е безплатно)? Иди да вземеш един!Имайте предвид, че Google не поддържа всеки клас на съхранение на всяко място - трябва да прочетете документацията им, за да научите за текущата наличност.Имайте предвид, че след като сте заявили добавките си, можете да премахнете паролата си (но не и имейл адреса) от настройките по-долу, без това да засяга достъпа на този сайт до актуализации.Имайте предвид, че не всички методи за архивиране в облака са задължително с помощта на SSL удостоверяване.Бележка:Нищо планирано в моментаНищо за върша: URL адресът на сайта вече е: %sНищо все още не е регистрираноИзвестиеОКСтар префикс на таблицата:Еднократна парола (проверете вашия OTP приложение, за да получите тази парола)Един VPS (виртуален частен сървър) на клонинг, споделен с никой.Едно или повече архиви са добавени от сканирането за отдалечено съхранение; имайте предвид, че тези архиви няма да бъдат автоматично изтрити чрез настройките за "запазване"; ако/, когато искате да ги изтриете, трябва да го направите ръчно.OneDriveOneDrive ГерманияOneDrive МеждународенПозволявайте само ръчно изтриване на този архив (т.е. да го запазите дори ако са уд уцелени ограниченията за задържане).Само архивиране на базата данниСамо базата данни на WordPress може да бъде възстановена; трябва да се справите с външната база данни ръчно.Уеб браузър на OperaНеуспешна операция за създаване на ключ за достъп на потребителяOptimizePress 2.0 кодира съдържанието му, така че търсенето/замяната не работи.Опции (сурови)Или ако предпочитате да се самоизточете, тогава можете да получите самостоятелно хоствана версия тук.Или използвайте updraftClone ключИли можете да ги поставите ръчно в директорията updraftPlus (обикновено wp-content /updraft), например чрез FTP, и след това да използвате връзката "Повторно сканиране" по-горе.ОрегонДруги често задавани въпроси за %s.Други страхотни плъгиниДругиВ противен случай ще се покаже връзката по подразбиране.В противен случай можете да го оставите празен.В противен случай можете да опитате UpdraftVault за 1 месец само за $1!Над-напиши wp-config.phpИнформация за PHPПасивен режимПаролаНеправилна паролаПарола: %sПостави ключа тукПътПлащанията могат да се извършват в щатски долари, евро или gb лири стерлинги, чрез карта или PayPal.Максимално използване на паметтаИзвършете резервно копиеМоже би вместо това бихте искали да влезете.Моля, изчакайте да завърши комуникацията с отдалеченото хранилище.Проверете регистрационния файл за грешки за повече подробностиПроверете вашите идентификационни данни за достъп.Изберете файл или директорияМоля, консултирайте се с този ЧЗВ, ако имате проблеми с архивирането.Моля, въведете разширение на файла, като zipВъведете валиден URL адресМоля въведете валиден адрес - пример http://example.comВъведете валидно разширение на файлаВъведете валиден префикс за име на файлВъведете знаците, които започват името на файла, което искате да изключитеВъведете вашия имейл адрес %sВъведете вашата %s паролаМоля, попълнете необходимата информация.Следвайте тази връзка, за да отворите %s в нов прозорец.Моля, посочете име на този ключ (напр. посочете сайта за него):Моля, уверете се, че сте направили бележка на паролата!Моля, ре-оторизирайте връзката към вашият %s акаунт.Моля, прочетете %s за използване на нашето приложение за удостоверяване %s (нито един от вашите архивни данни не е изпратен до нас).Моля, прочетете този линк за важна информация за този процес.Изберете файл/папка, който искате да изключитеМоля, изберете повече архивни файлове, които искате да възстановите:Задайте името на папката Microsoft OneDrive, а не URL адреса.Моля, посочете исканата информация и продължете.Моля, изчакайте, докато системата генерира и регистрира ключ за криптиране на вашия уеб сайт с UpdraftCentral Cloud.Моля, изчакайте, докато бъдете пренасочени към UpdraftCentral Cloud.Моля, изчакайте, докато ние се заявя...ПлъгиниПортЧЗВ преди продажбатаАрхиви за предварителна актуализацияПремиумПремиум / РазширенияПремиум / Научете повечеПървокласни WooCommerce плъгиниПодготовка на архивни файловеНатиснете бутон, за да започнете.Натиснете тук, за да изтеглите или прегледатеНатиснете тук, за да погледнете в updraftPlus директорията си (във вашето уеб хостинг пространство) за всички нови резервни комплекти, които сте качили.Натиснете тук, за да разгледате методите за отдалечено съхранение за всички съществуващи комплекти за архивиране (от всеки сайт, ако се съхраняват в същата папка).Натиснете тук, за да стартирате ръчно архивиране.Натиснете тук, за да запазите настройките си.Натиснете тук, за да започнете!Натиснете този бутон, за да направите обиколка на плъгина.Продължете с актуализациятаОбработен плъгин:ОбработкаОбработка на файловете - моля изчакайте...Таблица за обработка (%s)Обработка...Проект IDПротокол (SSL или не)Предоставя експертна помощ и поддръжка от разработчиците, когато имате нужда от нея.Резитба стари комплекти за архивиранеКвота:RSA пръстов отпечатъкRSSНеобработена хронология на архивиранетоПрочетете често задавани въпроси тук.Прочети повечеПрочетете повече за %s тук.Прочетете повече за лесните актуализации мениджърПрочетете повече за местоположенията на кофитеПрочетете повече за това как работи това...Прочетете повече за шифроването от страна на сървъраПрочетете повече за класовете за съхранениеПрочетете повече...Прочетете често задаваните въпроси за %s тук.Прочетете тази статия, за да видите стъпка по стъпка как се прави.Прочетете тази страница за ръководство за възможните причини и как да го поправите.Получаване на резервно копие от отдалечен сайтПолучаване на данни за сайтаПоследно започна иД на заданието за архивиране: %sПрепоръчва се: оптимизирайте базата си данни с WP-Optimize.Обновяване на връзкатаОбновяване на текущото състояниеРегионРегион: %sРегистрацията е успешна.НадеждниЗапомни този избор за следващия път (все още ще имаш възможността да го промениш)Опции за отдалечено съхранениеОтдалечени файлове изтрити:Отдалечен пътОтдалечено съхранениеУдостоверяване за отдалечено съхранениеМетод за отдалечено съхранение и идентификатор на екземпляр са необходими за удостоверяване.Отдалечено хранилище: %sПремахниПремахване на стари директорииЗамяна сРепортажЗаявеният набор от знаци (%s) не е наличен - промяна в %s.Исканият набор от знаци на таблицата (%s) липсва - промяна в %s.Исканото сравнение на таблицата (%1$s) не е налично - промяна на %2$s.Заявените сравнения на таблици (%1$s) не са налични - промяна на %2$s.Исканият двигател на таблица (%s) не е наличен - преминаване към MyISAM.Искам да започна подкрепление...Изисквай парола отново следНеобходимата информация за възстановяване на този архив не е дадена (%s)Преименувай локалната папка за нови комплекти за архивиранеПовторно сканиране на отдалечено хранилищеПовторно сканиране (търсене на архиви, които сте качили ръчно във вътрешния архивен магазин)...Повторно сканиране на отдалечено и локално хранилище за резервни комплекти...Връщане в начално състояниеНапредък на възстановяването:ВъзстановяванеВъзстановяване на съществуващ архивен набор в този сайтВъзстановяване на архивГрешка при възстановяване:Възстановяване на файлове отМестоположението на възстановяване не съществува във файловата система за:Местоположение за възстановяване, намерено за:Възстановяване на %s1 файлове от %s2Възстановяване на таблица: %sВъзстановяване на базата данни (на голям сайт това може да отнеме много време - ако това време (което може да се случи, ако уеб хостинг компания е конфигурирала хостинга ви да ограничава ресурсите), тогава трябва да използвате друг метод, като phpMyAdmin)...Възстановяването ще замени темите, плъгините, качването, базата данни и/или други директории на съдържанието (според съдържанието, което се съдържа в архивния набор и избора ви).Запазете тези много планирани резервни копия на базата данниЗапазете тези много планирани архивирания на файловеИзвличане (ако е необходимо) и подготовка на архивни файлове...Връщане към конфигурацията на UpdraftPlusВръщане към конфигурацията на UpdraftPlusПреглед на UpdraftPlusПроверени редове:Редове на партидаИзпълнете тази команда, за да видите регистрационния файл за това възстановяване (необходим за всички заявки за поддръжка).Работи на производителност от водещ доставчик на изчислителни облаци.S3 (съвместим)S3 кофаS3 област за съхранениеSCP/SFTP хост настройкаSCP/SFTP парола/ключSCP/SFTP потребителска настройкаSQL актуализация команди:ЗапазиЗапис на променитеСпестете времеЗапазване...ТърсенеТърсене / заместване на база данниТърсене и заместване на местоположение на сайта в базата данни (мигриране)Търсене и заместване на таблица:Търсене заТаен ключ: %sСигуренЗащитено многостранно инсталиране, разширено докладване и много други.Вижте указанията на Google за именуване на кофа, като следвате тази връзка.Вижте указанията на Microsoft за именуване на контейнери, като следвате тази връзка.Вижте и този ЧЗВ.Изберете "Уеб приложение" като тип приложение.Избиране на файлИзберете файл, за да видите информация за негоИзберете файл/папка, който искате да изключитеИзберете начин за изключване на файлове или директории от архиваИзбиране на всичкиИзберете всички резервни копияИзберете отдалечените дестинации за съхранение, за които искате да качите този архивенИзберете какво искате да архивиратеИзпратиИзпращане на резервно копие на друг сайтИзпращане на отчет само когато има предупреждения/грешкиИзпращане на този архив в отдалечено хранилищеИзпрати в сайта:Изпращане на резервно копие на отдалечено хранилищеИзпращане на файлове до отдалечен сайтШифроване от страна на сървъраЗадайте точното време, за да създавате или изтривате архиви.НастройкиПоказване на всички резервни копия ...Показване на експертните настройкиПокажи още резервни копия ...Показвай необработените архивни копия и списъка с файловеПоказване на разширените опцииРегистрацияСингапурСаитДанните за сайта са внедрениПолучени данни за сайтаНачална страница:Информация за сайтаИнформация за сайта:Ключ за сайтаРазмер на сайтаРазмер: %s МБПропусни тази стъпкаПропуснати таблици:Пропускаща таблица %s: вече е възстановена при по-предходно изпълнение; следваща таблица за възстановяване: %sПропускане на таблица %s: потребителят е избрал да не възстановява тази таблицаПрескачане: този архив вече е възстановен.Така че, за да получите ключа за отдалечения сайт, отворете прозореца "Мигриране на сайта" на този сайт и отидете на този раздел.Някои резервни плъгини не могат да възстановят резервно копие, така че Premium ви позволява да възстановите архиви от други плъгини.Някои файлове все още се изтеглят или обработват - моля изчакайте.Усъвършенствани възможности за отчитане и изпращане на имейли.Южна КаролинаЮгоизточна АзияЮгоизточна АвстралияРазделен архив на всеки:Разделяне на линия, за да се избегне превишаване на максималния размер на пакетаСтандартСтандарт (рядък достъп)Стартиране на абонамент %sСтартиране на пробен период %sСтартиране на абонаментЗапочнете пробен периодСтартиране на %s UpdraftVault абонаментСтартиране на архивиранеНачален часСтартиране на автоматично архивиране...Клас на съхранениеСъхранявайте наАбонаментите могат да бъдат анулирани по всяко време.УспешноГотово:Успех: успешно се регистрирахме и потвърдихме способността си да създадем файл в дадена директория (тип вход:Не можа да бъде намерена достатъчно информация за операцията за възстановяване в процес.ПоддръжкаURL адрес за поддръжкаПоддържани приставки за архивиране: %sСидниСидни (СИД)Префикс на таблицаПрефиксът на таблицата е променен: съответно променя полето (полетата на %s) таблица:Разгледани таблици:ТайванНаправете обиколкаВземете ново архивно копиеВземете постъпково резервно копиеОтнема само времето, необходимо за създаване на резервно копие и изпращането му.Разкажи ми повечеКажете ми повече за допълнителните резервни копияНаемателТест на %s НастройкиТест на връзката...Тестване на настройките на %s...Тестване на връзка...Тестване...Благодаря ви за инсталирането UpdraftPlus!Благодаря, че преминахте обиколката.Че се опитвате да качите zip файл, създаден преди това от UpdraftPlus.Времето за връзка %s изтече; ако сте въвели сървъра правилно, то това обикновено се дължи на защитна стена, блокираща връзката - трябва да проверите с вашата уеб хостинг компания.Не е открит %s обектБутонът "Архивиране сега" е деактивиран, тъй като директорията ви за архивиране не е записваема (отидете в раздела "Настройки" и намерете съответната опция).Ключът за достъп AWS изглежда грешен (валидните %s клавиши за достъп започват с "AK")Връзката с базата данни е затворена и не може да бъде отворена отново.UpdraftPlus Migrator променя операцията по възстановяване по подходящ начин, за да се поберат резервните данни към новия сайт.Модулът UpdraftPlus за този метод за достъп до файлове (%s) не поддържа списък на файловеПапката със съдържание на WordPress (wp-съдържание) не е намерена в този zip файл.Горните директории са всичко, с изключение на самото ядро на WordPress, което можете да изтеглите отново от WordPress.org.Горните файлове съдържат всичко в wordPress инсталация.Администраторската парола е променена.Паролата на администратора вече е премахната.Размерът на паметта(RAM) разрешен за PHP е много малък (%s Mb) - трябва да я увеличите, за да избегнете грешки поради недостатъчна памет (консултирайте се с уеб хостинг компанията за повече помощ)Времето, позволено за WordPress плъгини, които да се изпълняват, е много ниско (%s секунди) - трябва да го увеличите, за да се избегнат грешки в архивирането поради времето за изчакване (консултирайте се с уеб хостинг компанията за повече помощ - това е настройката на max_execution_time PHP; препоръчителната стойност е %s секунди или повече)Опитът за изпращане на архивиране по имейл е неуспешен (вероятно архивирането е твърде голям за този метод)Опитът за отмяна на двойното компресиране е неуспешен.Опитът за отмяна на двойното компресиране е успешен.Наличната памет на сървъра.Опитът за архивиране е завършен, очевидно безуспешноАрхивната директория не е записваема (или дисково пространство е пълно) - архивиране на базата данни се очаква да скоро неуспешно.Архивирането завърши изпълнениетоАрхивирането не е завършено; е планирано възобновяване наАрхивирането е прекратено поради повтарящ се неуспех.Архивните записи не съдържат информация за правилния размер на този файл.Архивирането е прекратеноАрхивирането е прекратено от потребителяКомуникацията с %s е шифрована.Комуникацията с %s не е шифрована.Създаването на вашите данни за създаване на клонинга трябва да започне.Архивирането на базата данни използва функциите на MySQL, които не са налични в старата версия на MySQL (%s), на която се изпълнява този сайт.Файлът на базата данни изглежда е компресиран два пъти - вероятно сайтът, който сте го изтеглили, е конфигуриран погрешно уеб сървър.Базата данни е твърде малка, за да бъде валидна база данни на WordPress (размер: %s Кб).Сървърът за база данни, на който работи този сайт на WordPress, не поддържа набора от знаци (%s), който се опитвате да импортирате.Сървърът за база данни, на който работи този сайт на WordPress, не поддържа наборите от знаци (%s), които се опитвате да импортирате.Сървърът за база данни, на който работи този сайт на WordPress, не поддържа сравнението (%s), използвано в базата данни, която се опитвате да импортирате.Сървърът за база данни, на който работи този сайт на WordPress, не поддържа множество сравнения (%s), използвани в базата данни, която се опитвате да импортирате.Използваният ключ за декриптиране:Директорията не съществуваДиректорията не съществува и опитът за създаване на нея е неуспешенВъведеният ключ не принадлежи на отдалечен сайт (той принадлежи на този).Въведеният ключ е повреден - опитайте отново.Въведеният ключ е с грешна дължина - опитайте отново.Грешката, отчетена от %s, е:Правилото за изключване, което се опитвате да добавите, вече съществуваФайлът %s има "байт за ред" (BOM) в началото си.Файловете %s имат "байт за ред" (КИ) в началото си.Файлът е качен.Папката съществува, но вашият уеб сървър няма разрешение да я пише.Следният обект не може да бъде възстановен автоматично: "%s".Файлът не е намерен или не може да бъде прочетен.Дадената стойност за опцията '%s' е невалиднаКолкото по-висока е стойността, толкова повече сървърни ресурси са необходими за създаването на архива.Инсталираната версия на UpdraftPlus backup/Restore не е тествана на вашата версия на WordPress (%s).Предоставеният ключ не е във валиден формат или е повреден.Ключът е добавен успешно.Местоположението на тази директория е зададено в експертните настройки в раздела Настройки.Регистрационният файл не можа да бъде прочетен.Регистрационният файл е прикачен към този имейл.Паролата на новата конзола RackSpace на потребителя е (това няма да се показва отново):Подготовката на данните за клонинга е прекратена.Искането за създаване на директорията е неуспешно.Необходимият PHP модул %s не е инсталиран - попитайте вашата уеб хостинг компания, за да го разрешиНеобходимият php модул %s не е инсталиран - попитайте вашата уеб хостинг компания, за да го разреши.RSA ключа на сървъра %s отпечатък: %s.Данните за сайта са получени и импортирането му е започнало.Използваната часова зона е тази от настройките на WordPress, в Настройки -> Общи.Най-сигурна и удобна място за съхранение на вашите архиви.Възникна грешка (%s):Уеб сървърът е върнал код на грешка (опитайте отново или проверете регистрационните файлове на уеб сървъра)Машината за цип върна съобщението: %s.ТемиСлед това тези идентификационни данни за достъп с по-ниска мощност може да се използва, вместо да се съхраняват вашите административни ключове.Няма налични постъпкови точки за възстановяване на резервни копия.Тези таблици самоТе ще се използват за създаване на нова двойка потребители и ключове с IAM приложени правила, които ще му позволят достъп само до посочената група.Този архивен комплект съдържа допълнителни резервни копия на вашите файлове; изберете времето, което желаете да възстановитеТози архивен набор е на този сайт, но по време на архивирането, който сте използвали %s, докато сайтът сега използва %s.Този архивен набор не е известен от UpdraftPlus да бъде създаден от текущата инсталация на WordPress, но е бил или намерен в отдалечено съхранение, или е изпратен от отдалечен сайт.Това архивиране е създадено от %s и може да бъде импортирано.Този бутон е забранен, защото директорията за архивиране не е записваема (вижте настройките).Този бутон ще изтрие всички настройки на UpdraftPlus и информация за напредъка на архивите в момента (но не и някои от вашите съществуващи архиви от вашето място за съхранение в облака).Това може лесно да унищожи сайта ви; така че, да го използвате внимателно!Този текущ сайтТози архив на базата данни липсва ядрото на WordPress таблици: %sТази база данни трябва да бъде разположена в MySQL версия %s или по-нова версия.Този ключ за дешифриране ще бъде направен опит:Това не изглежда като валиден архив на ядрото на WordPress - файлът %s липсва.Тази функция не е съвместима с %sТози компонент изисква версия %s %s или по-нова версияТози файл не може да бъде каченТози файл не изглежда да бъде Backup архив UpdraftPlus (такива файлове са .zip или .gz файлове, които имат име като: backup_(time)__(име на сайта) _(код)__(тип).( (напр. цип|gz)).Тази функция е забранена от администратора на сайта.Това е WordPress мулти-сайт (a.k.a. мрежова) инсталация.Това е преброяване на съдържанието на вашата директория в UpdraftТова е необходимо, ако и само ако ключът за приложението е специфичен за вас ключ за приложение (а не главен ключ)Това не е постъпково архивиранеТова не е вашето влизане в Azure - вижте инструкциите, ако се нуждаете от повече насоки.Това е по-старо от сървъра, на който се възстановява (версия %s).Това е значително по-нова от сървъра, на който се възстановява (версия %s).Това понякога се дължи на защитна стена - опитайте да изключите SSL в експертните настройки и отново да тествате.Това изглежда като миграция (архивирането е от сайт с различен адрес/URL адрес, %s).Това най-вероятно означава, че споделяте уеб сървър с хакнат уеб сайт, който е бил използван при предишни атаки.Изглежда, че този архивен набор за архивиране липсва следните архиви: %sТази опция ще доведе до създаване на резервно копие на таблиците, съхранявани в MySQL базата данни, които не принадлежат на WordPress (идентифицирани от липсващия конфигуриран представка за WordPress, %s), също да бъдат архивирани.Този проблем се дължи на опит за възстановяване на база данни на много стара MySQL версия, която е несъвместима с базата данни източник.Този метод за отдалечено съхранение (%s) изисква PHP %s или по-нова версия.Тази настройка се прилага само когато се създава новото такова.Този сайт няма архиви, които да се възстановяват от все още.Този метод за съхранение не позволява изтеглянеТази версия на UpdraftPlus не знае как да се справи с този тип чуждестранен архивТова също ще доведе до отстраняване на грешки изход от всички плъгини, за да се покаже на този екран - моля не се изненадвайте, че тези.Това ще изтрие всички настройки на UpdraftPlus - наистина ли искате да направите това?Това ще импортира данни от:Почиствайте нещата за клиенти и премахнете всички реклами за другите ни продукти.Време еВреме (секунди):Време:Времеви отпечатъциЗа достъп до настройките на UpdraftPlus, моля въведете паролата си за отключванеЗа да добавите сайт като дестинация за изпращане, въведете ключа на този сайт по-долу.За да можете да зададете персонализирано име на папка, използвайте UpdraftPlus Premium.За да промените някоя от настройките по подразбиране на това, което се архивира, за да конфигурирате планирани архиви, да изпратите архивите си на отдалечено хранилище (препоръчително) и други, отидете в раздела "Настройки".За да завършите мигрирането/клонинга, сега трябва да влезете в отдалечения сайт и да възстановите архивния набор.За да създадете временен клон, ви е необходим кредит в профила си.За да създадете временен клон, ви е необходим: 1) кредит в профила си и 2) за свързване към профила ви по-долу.За да де-оторизиране UpdraftPlus (всички сайтове) да получите достъп до google диск, следвайте този линк към настройките на профила си в Google.За да се определи времето, в което трябва да се извърши архивирането,За да решите този проблем, отидете тук.За да импортирате набор от архиви, отидете на раздела "Съществуващи архиви" в раздела "Архивиране/възстановяване"За да импортирате обикновен WordPress сайт в многостранна инсталация, изисква %s.За да поддържате достъпа си до поддръжка, моля подновите.За да направите резервно копие, просто натиснете бутона Архивиране сега.За да прочетете често задавани въпроси/документация за UpdraftClone, отидете тук.За да си възвърнете достъпа до актуализации (включително бъдещите функции и съвместимост с бъдещите версии на WordPress) и поддръжка, моля поднови.За да си възвърнете достъпа, моля подновите.За да премахнете всеки блок, моля, отидете тук.За да премахнете блока, моля, отидете тук.За да запазите достъпа си и да поддържате достъп до актуализации (включително бъдещите функции и съвместимост с бъдещите версии на WordPress) и поддръжка, моля поднови.За да изпратите на повече от един адрес, отделете всеки адрес със запетая.За да използвате това архивиране, вашият сървър за база данни трябва да поддържа набора от знаци %s.ТокиоВъзникнаха твърде много грешки в базата данни - прекратяване наОбщо (некомпресирани) данни на диска:Общ размер на архива:Но за да се избягват системните заплахи за целия сървър, редовно се архивират отдалечените облачни устройства за съхранение в %s настройки %sЗа да започнете с UpdraftVault, изберете една от опциите по-долу:Проблеми с връзката? Опитайте да използвате алтернативен метод в разширените опции за защита.Опитайте UpdraftVault за 1 месец само за $1!Опитайте UpdraftVault!Опитайте - 1 месец за $ 1!Опитва...TwitterВъведете префикс на файлВъведете разширение като ципUKUS (по подразбиране)Сащ Изток (Охайо)Правителството на САЩ Запад (ограничено)Западен САЩ (Н. Калифорния)Запад (Орегон)Облакът в САЩ или Обединеното кралствоСащ или Uk Rackspace акаунтВ САЩ или великобритания акаунт в RackspaceНе може да се получи дата на подновяванеНе може да се отвори zip файл (%s) - не може да бъде сканиран предварително, за да се провери целостта му.Не може да се прочете zip файл (%s) - не може да бъде сканиран предварително, за да се провери целостта му.В ПрофилактикаНеочакван отговор:Недовършено възстановяванеСАЩНеизвестноНеизвестно състояние на отговор на сървъра:Неизвестен отговор на сървъра:Неизвестна/неочаквана грешка - моля, повдигнете заявка за поддръжкаОсвен ако нямате проблем, можете напълно да игнорирате всичко тук.ОтключванеРазопаковане на архивно копие...Разархивирайте напредъка: %d извън %d файлаАктуализиране на броя квотиТока за токаUpdraftCentralУдрафенцентрален облакUpdraftCentral е високо ефективен начин за управление, актуализиране и архивиране на множество уеб сайтове от едно място.Изисква се и точен ключ.UpdraftPlusUpdraftPlus - Качване на резервни файловеДобавки за updraftPlusUpdraftPlus Автоматични резервни копияРезервни копия на updraftPlusБлог updraftPlus - актуални новини и офертиUpdraftPlus Migrator клонира вашия WordPress сайт и го премества директно и просто към нов домейн.Новини за UpdraftPlusБюлетин на UpdraftPlusUpdraftPlus ПремиумUpdraftPlus Премиум и добавкиUpdraftPlus Premium има много по-вълнуващи функции!UpdraftPlus Премиум:Възстановяване на updraftPlusВъзстановяване на updraftPlus: ПрогресПоддръжка на UpdraftPlusUpdraftPlus ОбиколкаUpdraftPlus има своя собствена вградена опция за съхранение, осигуряваща нулева караница начин да изтеглите, съхранявате и управлявате всички ваши архиви от едно място.UpdraftPlus все още не е активиран.UpdraftPlus все още не е инсталиран.UpdraftPlus е в социалните медии - вижте ни!UpdraftPlus е необходимо, за да се създаде %s в директорията на съдържанието, но не успя - проверете разрешенията за файла и активирайте достъпа (%s)Известие за UpdraftPlus:Настройки на UpdraftPlusUpdraftPlus временно настройки за вход в клона потребител:Предупреждение за UpdraftPlus:UpdraftPlus не можа да намери префикса на таблицата при сканиране на архива на базата данни.UpdraftPlus.Com условия и правила на профилаUpdraftPlus.Com отговориха, но не разбирахме отговораUpdraftPlus.Com върна отговор, който не може да се разбере (данни: %s)UpdraftPlus.Com отговори, но не можахме да го разберемUpdraftPlus.com е отговорил с "Достъпът е отказан".UpdraftVaultUpdraftVault е нашето дистанционно съхранение, което работи безпроблемно с UpdraftPlus.UpdraftVault съхранениеНадстройте сегаКачиКачване на резервно копиеКачване на архивни файловеГрешка при качванетоГрешка при качване:Качването се очаква да е неуспешно: ограничението %s за всеки отделен файл е %s, докато този файл е %s GB (%d байта)Файловете не успяха да се качатКачване на файлове в UpdraftPlus.Kачени в:илиКачване на файлове в отдалечено хранилищеКачванияURL адрес за качвания:Използвайте SCP вместо SFTPИзползвайте ctrl / cmd + натиснете, за да изберете няколко елемента, или ctrl / cmd + shift + натиснете, за да изберете всички междуИзползвайте секцията "Отчитане", за да конфигурирате имейл адресите, които ще се използват.Използване на SSL сертификати на сървъраИзползвайте тази опция, за да изпращате архиви на бази данни само при изпращане на имейл и да пропуснете други компоненти.Потребителско имеПотребител: %sСобственик на хранилищеПроверкаПроверка на еднократна парола...ВерсияПреглед на регистрационен файлWP CLIWP-CLI команди, за да вземе, списък и изтриване на резервни копия.Поддръжка на WP-CLIИзчакване до планирано време за повторен опит поради грешкиВниманиеВнимание:Предупреждение: %sПредупреждение: домашният URL адрес на базата данни (%s) е различен от очаквания от нас (%s)Предупреждение: URL адресът на сайта на базата данни (%s) е различен от очаквания от нас (%s)ПредупрежденияСрещнати предупреждения:Предупреждения:Това резервно копие ли е създадено от друг резервен плъгин? Ако е така, тогава може да се наложи първо да го преименувате, така че да може да бъде разпознат - моля, следвайте тази връзка.Ние имаме достъп до кофата и успяхме да създадем файлове в него.Ние достъп до контейнера и успяхме да създадем файлове в него.Неуспешно свързване с UpdraftPlus.ComПоискахме да изтрие файла, но не може да разбере отговора на сървъраУспешно осъществихме достъп до кофата, но опитът да се създаде файл в него е неуспешен.Уеб сървър:Дисково пространство на уеб сървъра, което се използва от UpdraftPlusУеб адресЕжеседмичноДобре дошли в UpdraftPlusДобре дошли в UpdraftPlus!Добре дошли във вашия UpdraftClone (временен клонинг)Добре направено - няма нищо по-необходимо за настройка.Западна ЕвропаЗападен САЩКъде да промените директорията след влизане в профила си - често това е по отношение на вашата домашна директория.Кой сайт да се възстановиКойто е изнесен на:Защо виждам това?Изтриване на настройкитеС UpdraftPlus Premium можете да изберете да архивирате не WordPress таблици, архивиране само определени таблици и архивиране на други бази данни също.С UpdraftPlus Premium можете директно да изтеглите отделни файлове от тук.Без него криптирането ще бъде много по-бавно.Без това разрешение UpdraftPlus не може да изтрие архивите - трябва да зададете настройките си за "запазване" много високо, за да не виждате грешки при изтриване.Без това разрешение не можете директно да изтеглите или възстановите използването updraftPlus, а вместо това ще трябва да посетите сайта на AWS.Без да се обновява, UpdraftPlus позволява на всеки администратор на блог, който може да променя настройките на плъгин за архивиране (и следователно достъп до данните, включително пароли, от) и възстановяване (включително с персонализирани модификации, например променени пароли) цялата мрежа.Приставки за WooCommerceАрхивиране на WordPressЯдро на WordPressАрхивирането в WordPress е завършеноЯдро на WordPressЯдро на WordPress (включително всички допълнения към вашата WordPress директория)Ядро на WordPress (само)База данни на WordPressИнсталиран WordPressИнсталиран WordPress; момента се очаква да бъдат изпратени данните за сайта.WordPress път на главния сървър: %sДаВ момента използвате безплатната версия на UpdraftPlus.Сега използвате IAM потребителски акаунт за достъп до вашата кофа.В момента сте свързани към UpdraftPlus.Com акаунт.Понастоящем не сте свързани към UpdraftPlus.Com акаунт.Вие работите на многостранна wordPress - но вашето архивиране не е на многостранен сайт.Използвате уеб сървър %s, но изглежда не е зареден модулът %s.Можете също да затворите този съветник.Можете да си купите жетони от магазина ни.Тук можете да купите още временни клонинг символи.Можете да проверите хода на процеса тук или в %sВместо това можете да изберете друг подходящ набор от символи и да продължите с възстановяването на свой собствен риск.Вместо това можете да изберете друго подходящо сравнение и да продължите с възстановяването (на свой собствен риск).Можете да въведете пътя на всяка виртуална папка %s, която искате да използвате тук.Можете да научите повече за клонинг ключове тук.Можете да намерите вашата временна информация за клониране в updraftplus.com си акаунт тук.Можете да забраните на не-администраторите влизания в този клониран сайт, като поставите отметка в квадратчето по-долуМожете да получите повече квота тукТук можете ръчно да дешифрирате шифрована база данни.Можете да тествате течаща вашия сайт с различна версия на PHP (или WordPress) с помощта на кредитите UpdraftClone.Можете да тествате надстройването на сайта си на незабавно копие с помощта на Кредити updraftCloneНямате достъп до тази кофаНямате достъп до тази кофа.Нямате инсталирана добавката UpdraftPlus %s - да го получите от %sИзглежда, че имате инсталирана updraft плъгин остаряла - може би сте ги объркали?Въведохте имейл адрес, който не е разпознат от UpdraftPlus.ComИмате неактивна покупкаИмате незавършена операция по възстановяване, започнала е преди %s.Избрахте да архивирате база данни, но не са избрани таблициИзбрахте да архивирате файлове, но не са избрани обекти на файловеНаправили сте промени в настройките си, а не записани.Не сте избрали път за възстановяване за избраните архивиВсе още не сте се свързали с вашия акаунт за UpdraftPlus.Com, за да можете да изброите закупените от вас добавки.Все още не сте се свързали с вашия UpdraftPlus.Com акаунт.Все още не сте направили никакви резервни копия.Все още не сте избрали файл за импортиране.Поискахте записване в отдалечено хранилище (%s), но без да въвеждате никакви настройки за това място за съхранение.Избрали сте опция за отдалечено съхранение, която има стъпка за удостоверяване, за да завършите:Трябва да добавите следното като оторизиран URI за пренасочване (в "Повече опции"), когато бъдетеТрябва да добавите следното като URI на оторизирано пренасочване в конзолата на Dropbox (под "Настройки на API") при запитванеТрябва да добавите следното като оторизиран URI за пренасочване (под "Повече опции"), когато бъдетеТрябва да добавите следното като оторизиран URI за пренасочване в конзолата на OneDrive (под "Настройки на API"), когато бъдетеТрябва да копирате и поставите този ключ на изпращащия сайт сега - той не може да бъде показан отново.Трябва да въведете ИД на проект, за да можете да създадете ново кофа.Трябва да запишете и да удостоверите, преди да можете да тествате настройките си.Трябва да изберете поне една отдалечена дестинация за съхранение, за да качите този архивен набор.Трябва да надстроите MySQL, за да можете да използвате тази база данни.За всички потребители на %s трябва да използвате уникално име на кофа.Трябва да използвате малки букви или цифри само за пътя на сайта.Трябва да се свържете, за да получавате бъдещи актуализации на UpdraftPlus.Трябва да въведете кофаТрябва да въведете контейнерТрябва да въведете ново IAM потребителско имеТрябва да въведете ново потребителско имеТрябва да въведете валиден нов имейл адресТрябва да въведете ключ за api на администраторТрябва да въведете администраторски ключ за достъпТрябва да въведете таен ключ на администраторТрябва да въведете потребителско име на администраторТрябва да удостоверите отново с %s, тъй като вашите съществуващи идентификационни данни не работят.Трябва да прочетете и приемете правилата за данни и поверителност на UpdraftCentral Cloud, преди да можете да продължите.Трябва да предоставите както имейл адрес, така и паролаИзбрали сте %s да бъде включен във възстановяването - това не може/ не трябва да се прави, когато импортирате един сайт в мрежа.Трябва да архивирате всички таблици, освен ако не сте експерт в рамките на базата данни на WordPress.Трябва да проверите дали отдалеченият сайт е онлайн, не е защитен, няма модули за защита, които може да блокира достъпа, има updraftPlus версия %s или по-нова версия, и дали ключовете са въведени правилно.Трябва да проверите собствеността и разрешенията на файловете в wordPress инсталациятаТрябва да разрешите на %s да направи всички доста пермалин връзки (напр. %s) да работятТрябва да се уверите, че това наистина е резервен комплект, предназначен за използване на този сайт, преди да възстановите (вместо резервен набор от несвързани уеб сайтове).Трябва да запишете промените си, за да сте сигурни, че те се използват за създаване на архива.Трябва да актуализирате UpdraftPlus, за да се уверите, че имате версия, която е тествана за съвместимост.Успешно влязохте в UpdraftPlus и свързахте този сайт с UpdraftCentral Cloud.Успешно закупихте UpdraftPremium.Повече информация за това ще намерите в раздела Настройки.Ще трябва да поискате от вашата уеб хостинг компания да надстроите.Ще трябва да се консултирате с вашия доставчик на уеб хостинг, за да разберете как да зададете разрешения за WordPress плъгин, за да пишете в директорията.Ще трябва да го възстановите ръчно.Вие го иматеИме на акаунт %s: %sИзползване на квота %s: %s %% използвана, %s на разположениеВашата версия %s: %s.Вашият .htaccess има стара препратка към сайт на номер %s. Трябва да го премахнете ръчно.Вашият .htaccess има стари препратки към сайтове за номерата на редове %s. Трябва да ги премахнете ръчно.Вашият IP адрес:Вашият UpdraftClone все още се настройва.Вашата WordPress инсталация има стари директории от своето състояние, преди да сте възстановени / мигрирали (техническа информация: те са наставени с -old).Архивирането ви е възстановено.Вместо това избраният от вас набор от знаци:Вашият избор на замянаВашият клонинг е започнал и ще бъде достъпен на следните URL адреси, след като е готов.Вашият клонинг е започнал, мрежовата информация все още не е налична, но ще се покаже тук и на вашия updraftplus.com акаунт, след като е готов.Клонингът ви сега ще разположи тези данни, за да създаде отново сайта Ви.Вашият клонинг ще се поднови на:Вашата база данни потребител няма разрешение да пуснете таблициИмейл адресът и паролата ви не са разпознати от UpdraftPlus.ComИмейл адресът ви е валиден, но паролата ви не е разпозната от UpdraftPlus.Com.Експортираният файл ще бъде на показаните настройки, а не на запазените.Първото ви архивиранеДисковото пространство на диска е много малко - остават само %s МбСвободното пространство в хостинг акаунта ви е много ниско - остават само %s MbВашата хостинг компания трябва да разреши тези функции, преди %s да може да работи.Вашият етикет за това архивиране (по избор)Вашето потребителско име може да е или с парола, или ключ- трябва само да въведете едно, а не и двете.Вашият нов ключ:Платеният ви достъп до поддръжката на UpdraftPlus е изтекъл.Вашият платен достъп до поддръжката на UpdraftPlus скоро ще изтече.Платеният ви достъп до актуализациите на UpdraftPlus за %s добавките на този сайт е изтекъл.Вашият платен достъп до актуализациите на UpdraftPlus за %s на добавките %s на този сайт скоро ще изтече.Вашият платен достъп до актуализациите на UpdraftPlus за този сайт скоро ще изтече.Запазените настройки също влияят върху това, което се архивира – например изключени файлове.Настройките ви са записани.Настройките ви са били изтрити.Ще бъде използван администраторския имейл адрес на вашия сайт (%s).Вашата версия: %sВашият уеб сървър има така наречените safe_mode PHP.PHP инсталацията на вашия уеб сървър е забранена: %s.Вашият уеб сървър не е инсталиран модул %s.Вашият уеб сайт се хоства с помощта на уеб сървъра %s.Вашият сайт се посещава рядко и UpdraftPlus не получава ресурсите, за които се надяваше; моля, прочетете тази страница:Път до вашия wp-content директория на директория: %sактивиране на този сайтпоказване на разширените опциивече е направенои да запазите този много планирани архивиархивURI за удостоверяванегрешка при удостоверяваненеуспешно удостоверяваненеуспешно удостоверяване:обратноархивира автоматично, когато актуализирате приставки, теми или ядроизчисляванеизчисляване...проверете регистрационния си файл за повече подробности.блок %s: качването е неуспешноконфигурирате тукконтейнерпреброяванеидентификационни даннинеуспешен опит за свързване на база даннинеуспешен опит за свързване с база данни.име на база данниденден(дни)не връща очаквания отговор - проверете регистрационния файл за повече подробностиосвобождаване от длъжностизтегляне: не е успешно: файлът не е намереннапример%sнапример ако вашият сървър е зает през деня и искате да стартирате през нощталесно мигриране или клониране на вашия сайт за минутикриптиран FTP (изрично шифроване)криптиран FTP (подразбиращ се шифроване)разширени опции за отдалечено съхранениегрешка - проблем при създаване и достъп до контейнерагрешка - проблем при събиране отново на блоковегрешка - проблем при качване на файлагрешка: %s (виж регистрационния файл за повече)грешка: не успя да качите файл в %s (вижте регистрационния файл за повече)грешка: файл %s беше съкратен неочакваноне можа да се получи достъп до родителска папканеуспешно изброяване на файловенеуспешно качване на файл в %s (вижте регистрационния файл за повече)по-бързо (възможност за бавни PHP инсталации)файлразмерът на файла е:файлове: %sпапкаследвайте тази връзка, за да го получитеотидете тукза да промените паролата си на updraftplus.com.отидете тук, за да научите повечеобработва актуализациите автоматично, както ги искатетукдомакиниме на хостчас(ове)Ръчнапрез месецавключително всички паролипостъпково резервно копие; базово архивиране: %sключиме на ключпоследна активност: преди %d секундипоследна дейност: преди %ssпоследнивход резултати на конзолатавходнеуспешно влизанеуправлениеуправлява всички ваши WordPress сайтове едновременно от едно мястоможе да включва някои данни за целия сайтместоположение на няколко регионане са намерени опции или таблица sitemetaняма скорошна дейност; ще предложи възобновяване след: %d секундизабележите изображениесега ще продължим с актуализациите...отворете това, за да покажете някои допълнителни опции; Не се занимавайте с това, освен ако нямате проблем или сте любопитни.по изборили (годишна отстъпка)или да конфигурирате по-сложни графициили да възстановите ръчноили, за да нулирате тази опциядруго съдържание от wp-съдържаниепаролапарола/ключмоля, следвайте тази връзка, за да актуализирате приставката, за да го активиратемоля, следвайте тази връзка, за да актуализирате плъгина, за да го получитемоля изчакайте пренасрочвания опитплъгининатиснете тукповече на %sпрепоръчваобновяванередовен нешифрован FTPотдалечените файлове изтритиотдалечен сайтза някои доставчици на отдалеченинулирайвъзстановяванередове: %dтърсене и замянатърсене терминзащита на резервните копиянастройкипоказване на информация за PHP (phpinfo)показване на дневниксайтът не е намеренпрескочи (не в списъка)по-бавна, най-силнанякои / пътзапочвайки от следващия пътспиранетаблица: %sтаблицишаблонът не е намерензаявката за база данни, която се изпълнява, е:таблицата с опции не е намеренанай-надеждният резервен плъгин в света!темитези резервни комплектитози архивен комплекттази политика за поверителностда направите постепенно архивираненеизвестен източникЗа да направите просто резервно копие на вашия сървър, натиснете този бутон. Или за настройка на обикновени архиви и отдалечено хранилище, отидете на %s настройки %sкачване (%s): неуспешна грешка при повторното сглобяване (вижте регистрационния файл за повече подробности)неуспешно качванеизползване на UpdraftPlus Premiumпотребителпотребителско имеседмица (и)ще се възстанови като:с опцията насте удостоверили вашия %s акаунтвие сте удостоверили вашия %s акаунт.ще искате да използвате по-долу търсене и да замени място на сайта в базата данни (мигриране) за търсене/замяна на адреса на сайта.php инсталацията ви липсва модулът openssl; в резултат на това това може да отнеме минути; ако нищо не се е случило до тогава, тогава трябва да опитате по-малък размер на ключа или да попитате уеб хостинг компанията как да активирате този PHP модул на вашата настройка.вашия UpdraftPlus.com акаунтадминистраторски адрес на сайта Винамерена е файлът с разширение на цип:languages/updraftplus-vi.mo000064400000046641147400355670012062 0ustar00 *BU]f ~ W&$4< EOR^R9> ] k v 8$K5   / 7 EQXp  %<X o{ J 0(BkD  (6 =)GAq c5 * @3RWo4 &zDk`Rn     '17: ?MSZ mz %8(H!\ ~ #   +& R _j1o ,B 8E MZ"p-3 > Z RD!!3F""z"" """""#!"#D#X# l# y# #Z#!#$$"$7+$c$k$t$ $ $$$ $$G$H%6b%=%"%=%78&%p&&V&% '2'Q' p'}''''' ''' ( ((4(=(C( W(c(k(q(z(((((((()* ***2*;*X* i* v**< + H+ S+]+m+|+i++N{,/, , --(+-2T---R- - .o9.0.0. //,/AD//!/ ////./!0/70"g000 0010 1"-1P1U1$i11 1 11111]2l22272!2'3>3F3"L3#o3a3334 4 '4314Re44444 4%5<5.E5t56?16q6o6X65Q7d7D7K18}8*88j9c:]:yP;";;< <"'< J<T<l< << <<<<< <=) = 5=B=[=j==A=%=5>=>3W>>>> >>> ?'? 8?F?*e? ???5?? @@?(@^h@@ @ @@=A#TA>xAAZA&#BJB.CxC*DOE2WEEEE-EE(F>F+XFFFFFFF3F %G 2G ?GYMG G GG GG G H&H>HZBHcHNI:PI4IbI9#J:]J6JaJ!1K+SK0K K K*KK L(L .L:LILPLbLuL L LLL LL LL&M 19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? 1 : 2);\n" "X-Generator: GlotPress/3.0.0\n" "Language: lt\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "Prisijungti" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Ваши настройки были сохранены." #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "sustabdyti" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "Išsaugoma..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Atmesti" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "Nustatymai" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "Įskiepiai" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "Atnaujinti dabartinį statusą" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "Gaukite daugiau kvotų" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "Dabartinis naudojimas:" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "Čia galite gauti daugiau kvotų" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "Atsijungti" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "Kvota:" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "Saugyklos savininkas" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "Viskas padaryta - daugiau nieko nebereikia nustatinėti." #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "Eikite čia pagalbos" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "Atgal..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "Prenumerata gali būti atšaukta bet kuriuo metu" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "%s per ketvirtį" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "Rodyti pasirinktis" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "Paspauskite mygtuką, kad galėtumėte pradėti" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "Updraft saugykla" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "Ištrynimas nepavyko:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "Suspaudimo variklis grąžina pranešimą: %s." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "Be šio leidimo, UpdraftPlus negali trinti atsarginių kopijų - jūs taip pat turėte nustatyti savo \"išsaugomus\" nustatymus labai aukštus, kad būtų išvengta rodomų ištrynimo klaidų." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "Leisti ištrinti" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "Be šio leidimo, jūs negalite tiesiogiai atsisiųsti arba atkurti naudojantis UpdraftPlus ir vietoj to reikia apsilankyti AWS svetainėje." #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "Leisti parsisiųsti" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "Esantys raktai:" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "Jūsų naujas raktas:" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "Raktas sukurtas sėkmingai." #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "tinklalapis nerastas" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "Atsarginės kopijos duomenys bus siunčiami į:" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "Atkurti iš esamo atsarginės kopijos rinkinio šiam tinklalapiui" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "Šis tinklalapis neturi atsarginės kopijos atkūrimui." #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "Atsarginė kopija padaryta %s" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "Šis saugojimo būdas neleidžia parsisiųsti" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "(Atsarginės kopijos rinkinys importuotas iš nuotolinės vietos)" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "Tinklalapis" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "Atsarginė kopija išsiųsta į nuotolinį tinklalapį - parsisiuntimas negalimas." #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "Testuojamas ryšys..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "Trinama..." #: src/admin.php:991 msgid "key name" msgstr "rakto pavadinimas" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "Prašome suteikti šiam raktui pavadinimą (pvz nurodyti svetainę):" #: src/admin.php:986 msgid "Creating..." msgstr "Kuriama..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "Įveskite raktą čia" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "Kaip aš gausiu tinklalapio raktą?" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "Siųsti" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "Siųsti į tinklalapį:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "Priimantys tinklalapiai yra nepridėti." #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "Tai yra atsarginių kopijų siuntimui į sekantį tinklalapį:" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "Raktas sėkmingai pridėtas." #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "Įvestas raktas nepriklauso nuotoliniam tinklalapiui (jis priklauso šiam)" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "Įvestas raktas yra sugadintas - prašau pabandyti dar kartą. " #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "Įvestas raktas yra netinkamo ilgio - prašau pabandyti dar kartą." #: src/includes/class-remote-send.php:580 msgid "key" msgstr "raktas" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "Beveik visi FTP serveriai nori pasyvaus režimo; bet jeigu jums reikia aktyvaus režimo, tada nuimkite tai." #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "Pasyvus režimas" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "Nuotolinis kelias" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "FTP slaptažodis" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "FTP naudotojo vardas" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "FTP serveris" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "Pridėti tinklalapį" #: src/admin.php:983 msgid "Adding..." msgstr "Pridedama..." #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Įspėjimas:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Uždaryti" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Įrašyti pakeitimus" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Atšaukti" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "El.paštas" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Nustatymai" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-ar.po000064400001514531147400355670012050 0ustar00# Translation of UpdraftPlus in Arabic # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2023-11-18 10:29:30+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=(n == 0) ? 0 : ((n == 1) ? 1 : ((n == 2) ? 2 : ((n % 100 >= 3 && n % 100 <= 10) ? 3 : ((n % 100 >= 11 && n % 100 <= 99) ? 4 : 5))));\n" "X-Generator: GlotPress/3.0.0\n" "Language: ar\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "ملف%dل%d" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "لم تحصل بعد على رمز وصول من Google - تحتاج إلى تفويض اتصالك بـ Google Cloud أو إعادة تفويضه." #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "سجل دخولك بواسطة %s" #: src/admin.php:3822 msgid "(after %ss)" msgstr "بعد %ss" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "الاستئناف التالي:%d" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "تثبيت المكونات الإضافية لتصحيح الأخطاء:" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "ABSPATH قديم :" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "يتوفر تحديث لبرنامج UpdraftPlus - يرجى الاتصال هنا للوصول إليه." #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "تم تحميله بالفعل" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "يرجى التحقق من UpdraftPlus Premium." #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "إخفاء هوية البيانات الشخصية في النسخ الاحتياطية لقاعدة البيانات الخاصة بك." #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "وظائف إخفاء الهوية" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "لمزيد من ميزات التقارير ، استخدم الإصدار المميز" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "سيتم إرسال نسخة احتياطية من بريدك الإلكتروني وتقرير إلى" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "راجع أيضًا الإصدار المميز من متجرنا." #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "أضف قاعدة الاستبعاد" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "في نهاية أسمائهم" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "في أي مكان في أسمائهم" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "في بداية أسمائهم" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "هذه الشخصيات" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "تحتوي جميع الملفات / الدلائل على ملفات" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "حدد المجلد الذي توجد به الملفات أو الدلائل الفرعية التي ترغب في استبعادها" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "جميع الملفات / الدلائل التي تحتوي على الأحرف المعطاة في أسمائها" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "الملفات / الدلائل التي تحتوي على الأحرف المعطاة في أسمائها" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "أبداً" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "ربما في وقت لاحق" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "حسنًا ، أنت تستحقها" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "وضع SQL الحالي:" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "صورة UpdraftClone:" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "يتم دعم WordPress Multisite ، مع ميزات إضافية ، بواسطة UpdraftPlus Premium." #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "أسلوب المضيف الظاهري" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "أسلوب المسار" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "اقرأ المزيد عن أسلوب الوصول إلى الجرافة" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "أسلوب الوصول" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "فشل: لم يتم إعطاء تفاصيل نقطة النهاية." #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "إذا كنت تريد التشفير (على سبيل المثال ، إذا كنت تقوم بتخزين بيانات الأعمال الحساسة) ، فستتوفر وظيفة إضافية في الإصدار المميز." #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "لمزيد من الخيارات ، استخدم Premium" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "إذا قمت بإجراء نسخ احتياطي لعدة مواقع في نفس Dropbox وتريد التنظيم باستخدام مجلدات فرعية ، فحينئذٍ%sتحقق من Premium%s" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "المصادقة اليدوية الكاملة" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "%sرمز الدخول:" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "لإكمال المصادقة اليدوية ، في شاشة مصادقة UpdraftPlus البرتقالية ، حدد الخيار \"هل تواجه مشكلات في المصادقة؟\" رابط ، ثم انسخ والصق الرمز الوارد هنا." #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "إذا كنت تواجه مشكلات في المصادقة مع%sيمكنك التفويض يدويًا هنا." #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "%sالمصادقة:" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "ملحق اشتراك WordPress لأصحاب متاجر WooCommerce." #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "بواسطة" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "تحديث الفريق" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "شكراً جزيلاً!" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "تحذير: ليس لديك رموز استنساخ متبقية ولا توجد اشتراكات أو لا اشتراك سيتم تجديده قبل تاريخ انتهاء صلاحية النسخ." #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "تمت إزالة قائمة المواقع الموجودة" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "حدث خطأ أثناء محاولة إزالة قائمة المواقع الموجودة." #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "مسح قائمة المواقع الموجودة" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "معرف المثيل مفقود:" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "بيانات المصادقة مفقودة:" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "المصادقة اليدوية غير متاحة لطريقة التخزين البعيد هذه" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "أو ، إذا كانوا في وحدة تخزين بعيدة ، يمكنك توصيل هذا التخزين البعيد (في علامة التبويب \"الإعدادات\") ، وحفظ الإعدادات ، واستخدام رابط \"إعادة فحص وحدة التخزين عن بُعد\"." #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "إذا كان لديك نسخة احتياطية موجودة تريد تحميلها واستعادتها منها ، فالرجاء استخدام رابط \"تحميل ملفات النسخ الاحتياطي\" أعلاه." #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "قم بتضمين جميع الجداول غير المدرجة أدناه" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "لذلك ، لن يتم استبدال الجداول المتأثرة الموجودة بالفعل على الموقع الحالي افتراضيًا ، لتجنب إتلافها (يمكنك مراجعة هذا في قائمة الجداول أدناه)." #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "لذلك يُنصح بأخذ نسخة احتياطية حديثة على الموقع المصدر ، باستخدام إصدار أحدث" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "تم إنشاء هذه النسخة الاحتياطية على إصدار سابق من UpdraftPlus (%s) التي لم تقم بإجراء نسخ احتياطي للجداول بشكل صحيح باستخدام مفاتيح أساسية مركبة (مثل جدول term_relationships الذي يسجل العلامات وسمات المنتج)." #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "هذه النسخة الاحتياطية لموقع يحتوي على بادئة جدول فارغة ، والتي لا يدعمها WordPress رسميًا ؛ قد تكون النتائج غير موثوقة." #: src/class-updraftplus.php:4033 msgid "View log" msgstr "سجل عرض" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "يمكنك عرض السجل بالضغط على الزر \"عرض السجل\"." #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "UpdraftPlus على%s" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "يسمح لك موفر الاستضافة الخاص بك بأخذ نسخة احتياطية إضافية واحدة في اليوم." #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "تم إجراء محاولتين فاشلتين لتضمينه ، وسيتم حذفه الآن من النسخة الاحتياطية" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "يتم إجراء محاولة ثانية (عند حدوث فشل إضافي ، سيتم تخطيها)" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "فشل النسخ الاحتياطي لجدول قاعدة البيانات:" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "فشل فتح الدليل للقراءة:" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "رابط التنزيل معطل أو أن ملف النسخ الاحتياطي لم يعد متاحًا" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "رابط التنزيل معطل ، ربما تكون قد نقرت على الرابط من مصدر غير موثوق به" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "بسبب التقييد ، يمكن ضبط بعض الإعدادات أو تعطيلها أو عدم توفرها تلقائيًا." #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "تتم استضافة موقع الويب الخاص بك مع%s(%s)." #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "التخزين البعيد التالي (%s) تم تكوينه جزئيًا فقط ، إذا كنت تواجه مشكلات ، فيمكنك محاولة التفويض يدويًا في صفحة إعدادات UpdraftPlus." #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "التخزين البعيد التالي (%s) تم تكوينه جزئيًا فقط ، التفويض اليدوي غير مدعوم مع وحدة التخزين البعيد هذه ، يرجى المحاولة مرة أخرى وإذا استمرت المشكلة ، فاتصل بالدعم." #: src/admin.php:6151 msgid "more info" msgstr "مزيد من المعلومات" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "تم تكوين خيارات التخزين البعيد التالية." #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "لم يتم العثور على مواقع تخزين بعيدة بخيارات صالحة." #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "قد يمنع هذا إجراء الاستعادة من القدرة على المتابعة." #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "(يتطابق حرف النجمة مع صفر أو أكثر من الأحرف)" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "إشعار UpdraftPlus" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "دعم متميز / احترافي" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "يتجاوز عدد خيارات الاستعادة التي سيتم إرسالها الحد الأقصى الذي تم تكوينه في تكوين PHP (max_input_vars)." #: src/admin.php:1148 msgid "is not" msgstr "ليس" #: src/admin.php:1144 msgid "is" msgstr "يكون" #: src/admin.php:1138 msgid "Day of the month" msgstr "يوم من الشهر" #: src/admin.php:1134 msgid "Day of the week" msgstr "يوم الأسبوع" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "إذا تم مطابقة جميع الشروط التالية:" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "إذا تم مطابقة أي من الشروط التالية:" #: src/admin.php:1120 msgid "on every backup" msgstr "على كل نسخة احتياطية" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "يسمح لك موفر الاستضافة الخاص بك بأخذ نسخة احتياطية إضافية واحدة في اليوم." #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "لقد وصلت إلى الحد اليومي لعدد النسخ الاحتياطية المتزايدة التي يمكنك إنشاؤها في هذا الوقت." #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "يرجى الاتصال بشركة الاستضافة الخاصة بك (%s) إذا كنت بحاجة إلى مزيد من الدعم." #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "يسمح لك مزود الاستضافة الخاص بك بأخذ نسخة احتياطية واحدة كل شهر." #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "لقد وصلت إلى الحد الشهري لعدد النسخ الاحتياطية التي يمكنك إنشاؤها في هذا الوقت." #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "استعادة الروتين المخزن:%s" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "الرجاء إدخال جزء من اسم الملف" #: src/admin.php:1013 msgid "Loading..." msgstr "جار التحميل..." #: src/admin.php:969 msgid "Exit full-screen" msgstr "الخروج من وضع ملئ للشاشة" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "شاشة كاملة" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "لقد اخترت إرسال هذه النسخة الاحتياطية إلى وحدة التخزين عن بُعد ، ولكن لم يتم تحديد مواقع تخزين بعيدة" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "لقد قمت بتسجيل الدخول بنجاح إلى UpdraftPlus.Com وقمت بتوصيل هذا المكون الإضافي بحسابك" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "الرجاء الانتظار أثناء الاتصال بـ UpdraftPlus.com ..." #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "فشلت محاولة فتح وقراءة المحتويات من ملف كلمة المرور ؛ يرجى التأكد من أن الملف قابل للقراءة وأنه لا يتم قفله بشكل حصري من خلال عملية أخرى" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "ملف كلمة المرور الذي حددته غير موجود ؛ يرجى التحقق من المعلمة --password-file." #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "يبدو أن عنوان البريد الإلكتروني المقدم غير صالح ، يرجى إعادة التحقق من عنوان بريدك الإلكتروني مرة أخرى والمحاولة مرة أخرى." #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "فشل البحث والاستبدال" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "بحث واستبدال ناجح" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "فشل البحث والاستبدال:" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "فشل إنشاء مفتاح UpdraftCentral" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "تم إنشاء مفتاح UpdraftCentral:" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "الصين (نينغشيا) (مقيدة)" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "آسيا والمحيط الهادئ (هونغ كونغ)" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "منطقة آسيا والمحيط الهادئ (منطقة أوساكا المحلية) (مقيدة)" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "إفريقيا (كيب تاون)" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "أوروبا (ميلان)" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "شرق الولايات المتحدة (فرجينيا الشمالية) (افتراضي)" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "عند تمكين طريقة تخزين البريد الإلكتروني ، وإدخال عنوان بريد إلكتروني ، قم أيضًا بإرسال النسخة الاحتياطية" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "إرسال التقارير" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "إرسال نسخ احتياطية مجدولة إلى هذه الوجهة:" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "الغاء تحديد الكل" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "حدد الكل (هذا الموقع)" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "لم يتم العثور على الحاوية المحددة." #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "يتعلم أكثر" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "إخفاء هوية البيانات الشخصية لجميع المستخدمين باستثناء الموظفين" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "إخفاء هوية البيانات الشخصية لجميع المستخدمين باستثناء المستخدم الذي قام بتسجيل الدخول" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "ملاحظة: لا يمكن استرداد المعلومات المجهولة المصدر ؛ ستغيب البيانات الأصلية غير المجهولة المصدر من النسخة الاحتياطية." #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "يمكن لهذه الخيارات أن تجعل البيانات الشخصية مجهولة في النسخة الاحتياطية لقاعدة البيانات الخاصة بك." #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "يشتري%s" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "احصل على%sمن متجر UpdraftPlus.com" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "انتقل إلى لوحة معلومات UpdraftCentral Cloud" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "لقد نجحت في تسجيل الدخول إلى UpdraftPlus وربطت هذا الموقع بـ UpdraftCentral Cloud." #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "قم بعمل نسخة احتياطية" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "المزيد من الإضافات الرائعة بواسطة فريق Updraft" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "يسمح لك بعمل نسخة احتياطية فقط من التغييرات التي تم إجراؤها على ملفاتك (مثل صورة جديدة) التي تم إجراؤها على موقعك منذ آخر نسخ احتياطي." #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "نسخ احتياطي تزايدي" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "اتبع هذا الرابط لإرشادات التثبيت (خاصة الخطوة 1)." #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "لقد اشتريت UpdraftPremium بنجاح." #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "يذهب إلى صفحة الخروج updraftplus.com" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "ينتقل إلى صفحة الخروج من updraftplus.com" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "احصل على%sهنا" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "كلما زادت القيمة ، زادت موارد الخادم المطلوبة لإنشاء الأرشيف." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "لأخذ نسخ احتياطية تزايدي" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "احتفظ بالعديد من النسخ الاحتياطية المجدولة لقاعدة البيانات" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "احتفظ بالعديد من النسخ الاحتياطية المجدولة للملفات" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "أضف قاعدة استبعاد لـ%s" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "استخدم ctrl / cmd + اضغط لتحديد عدة عناصر ، أو ctrl / cmd + shift + اضغط لتحديد الكل بينها" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "قم بإلغاء تحديد جميع النسخ الاحتياطية" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "حدد جميع النسخ الاحتياطية" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "حذف النسخ الاحتياطية المحددة" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "إظهار كافة النسخ الاحتياطية ..." #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "إظهار المزيد من النسخ الاحتياطية ..." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "اختر المكونات المراد استعادتها:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "استعادة الملفات من" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "تعرف على المزيد حول النسخ الاحتياطية المتزايدة هنا." #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "النسخ الاحتياطية المتزايدة هي سمة من سمات%s(قم بالترقية باتباع هذا الرابط)." #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "خذ نسخة احتياطية تزايدي" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "خذ نسخة احتياطية جديدة" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "تم إغلاق اتصال قاعدة البيانات ولا يمكن إعادة فتحه." #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "تخطي الجدول%s: تمت استعادته بالفعل على تشغيل سابق ؛ الجدول التالي للاستعادة:%s" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "تخطي الجدول%s: اختار المستخدم عدم استعادة هذا الجدول" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "تم العثور على قيود المفتاح الخارجي للجدول واستبدالها حيث تم تغيير بادئة الجدول." #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "حدث خطأ أثناء محاولة تعيين قيمة جديدة لمتغير log_bin_trust_function_creators العمومي في MySQL%s" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "حدث خطأ أثناء محاولة استرداد متغير log_bin_trust_function_creators العمومي في MySQL%s" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "الدليل غير موجود ، وفشلت محاولة إنشائه" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "تعذر حذف المسار القديم." #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "اتبع هذا الرابط للمساعدة" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "من فضلك أدخل%sكلمه السر" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "من فضلك أدخل%sعنوان البريد الالكترونى" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "ابدأ الاشتراك" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "بداية%sالاشتراك" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "بداية تجريبية" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "بداية%sمحاكمة" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "بدء%sاشتراك UpdraftVault" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "%sشهر%sالتجربة" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "مع خيار" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "اقرأ المزيد عن%sهنا." #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "الاتصال بك%sحساب" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "هل لديك مساحة بالفعل؟" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "بحاجة للحصول على مساحة؟" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "خطأ: فشل التهيئة" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "التحميل فشل" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "فشل تسجيل الدخول" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "خطأ - فشل تحميل الملف" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "خطأ - فشل في إعادة تجميع القطع" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "خطأ - فشل في إنشاء الحاوية والوصول إليها" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "المصادقة فشلت" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "خلاف ذلك ، يمكنك تجربة UpdraftVault لمدة شهر واحد مقابل دولار واحد فقط!" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "إذا كان لديك ترخيص Premium ساري المفعول ، فستحصل على 1 غيغابايت من السعة التخزينية." #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "جرب UpdraftVault لمدة شهر واحد مقابل دولار واحد فقط!" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "يدير جميع مواقع WordPress الخاصة بك مرة واحدة من مكان واحد" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "العديد من المواقع؟" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "يعالج التحديثات تلقائيًا كما تريدها" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "وفر الوقت" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "النسخ الاحتياطي تلقائيًا عند تحديث المكونات الإضافية أو السمات أو النواة" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "كن آمنا" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "اجعل التحديثات سهلة مع UpdraftPlus" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "استنساخ من %s" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "%sمن الان" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "تحتوي مجموعة النسخ الاحتياطي هذه على نسخ احتياطية تزايديّة لملفاتك ؛ الرجاء تحديد الوقت الذي ترغب في استعادة ملفاتك إليه" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "تقدم فك الضغط:%dبعيدا عن المكان%dملفات" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "حدث خطأ أثناء محاولة استرداد جملة SQL / DDL الروتينية (%s %s)" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "حدث خطأ أثناء محاولة استرداد الحالة الروتينية (%s %s)" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "حدث خطأ أثناء محاولة التحقق من دعم إنشاء الإجراءات المخزنة (%s %s)" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "إذا كنت لا ترغب في استعادة جميع جداول قاعدة البيانات الخاصة بك ، فاختر بعضها لاستبعاده هنا." #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "هذا أقدم من الخادم الذي تستعيده الآن (version%s)." #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "غير مكتمل" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "تم إحباط النسخ الاحتياطي بسبب الفشل المتكرر في التقدم." #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "تحت الصيانة" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "لقد طلبت الحفظ في التخزين البعيد (%s) ، ولكن دون إدخال أي إعدادات لذلك التخزين." #: src/admin.php:6151 msgid "Clone package" msgstr "حزمة استنساخ" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "تثبيت ووردبريس فارغ" #: src/admin.php:6137 msgid "This current site" msgstr "هذا الموقع الحالي" #: src/admin.php:6135 msgid "Clone:" msgstr "استنساخ:" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "سجل النشاطات" #: src/admin.php:5148 msgid "Cleaning" msgstr "تنظيف" #: src/admin.php:5139 msgid "Verifying" msgstr "التحقق" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "تقدم الترميم:" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "استعادة UpdraftPlus" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "(%dالأرشيف (الأرشيفات) في المجموعة، الإجمالي%s)." #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "تعرف على المزيد حول UpdraftCentral" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "أضف موقع الويب هذا إلى UpdraftCentral (تحكم مركزي عن بُعد) - مجانًا لما يصل إلى 5 مواقع." #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "العودة إلى تكوين UpdraftPlus" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "يرجى التحقق من سجل الخطأ لمزيد من التفاصيل" #: src/admin.php:1109 msgid "Missing pages:" msgstr "الصفحات المفقودة:" #: src/admin.php:1108 msgid "Restore error:" msgstr "خطأ في الاستعادة:" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "فشلت محاولات المتصفح للاتصال بالموقع." #: src/admin.php:1106 msgid "Preparing backup files" msgstr "تجهيز ملفات النسخ الاحتياطي" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "تنزيل ملفات النسخ الاحتياطي إذا لزم الأمر" #: src/admin.php:1104 msgid "Begun" msgstr "بدأت" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "انتهى" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "استعادة%s1 ملف من%s2" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "لا آخر الزوار؛ سيقدم الاستئناف بعد:%dثواني" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "النشاط الاخير:%dمنذ ثوانى" #: src/admin.php:1095 msgid "credentials" msgstr "أوراق اعتماد" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "جربه - شهر واحد مقابل $1!" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "جرب UpdraftVault!" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "لم تقم بتحديد مسار استعادة للنسخ الاحتياطية التي اخترتها" #: src/admin.php:1086 msgid "File backup options" msgstr "خيارات النسخ الاحتياطي للملفات" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "التحقق من كلمة المرور لمرة واحدة ..." #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "تسجيل الدخول ناجح ؛ إعادة تحميل المعلومات." #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "النسخ الاحتياطية الموجودة" #: src/admin.php:664 msgid "Dismiss notice" msgstr "تجاهل الملاحظة" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "يمكنك اختبار تشغيل موقعك على إصدار PHP مختلف (أو WordPress) باستخدام أرصدة UpdraftClone." #: src/admin.php:652 msgid "dismiss notice" msgstr "رفض الإشعار" #: src/admin.php:652 msgid "go here to learn more" msgstr "اذهب هنا كي تتعلم المزيد" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "يمكنك اختبار ترقية موقعك على نسخة فورية باستخدام أرصدة UpdraftClone" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "لا توجد نقاط استعادة نسخ احتياطي تزايدي متوفرة." #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "الطابع الزمني" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "لم يتم العثور على مكونات صالحة ، يرجى تحديد مكونات مختلفة أو مجموعة نسخ احتياطي بمكونات يمكن استعادتها" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "خطأ: فشل التحميل" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "الشرق الأوسط (البحرين)" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "أوروبا (ستوكهولم)" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "اقرأ المزيد عن التشفير من جانب الخادم" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "طبقات ذكية" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "تم العثور على استعادة موقع لـ:" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "استعادة الموقع غير موجود في نظام الملفات لـ:" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "الرجاء تحديد المزيد من النسخ الاحتياطية للملفات التي ترغب في استعادتها:" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "إذا أدخلت بادئة جدول ، فسيتم نسخ الجداول التي تبدأ بهذه البادئة فقط احتياطيًا." #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "أدخل بادئة الجدول" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "أدخل قاعدة البيانات" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "أدخل قاعدة البيانات." #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "أدخل كلمة المرور" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "أدخل كلمة المرور." #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "ادخل اسم المستخدم" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "ادخل اسم المستخدم." #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "أدخل المضيف" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "أدخل المضيف." #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "لا يمكن إجراء نسخ احتياطي تزايدي لملفاتك ، حيث لم يتم العثور على نسخة احتياطية مناسبة لإضافة زيادات إليها." #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "ملحوظة: لن يتم أخذ نسخة احتياطية من قاعدة البيانات الخاصة بك في نسخة احتياطية تزايدي ؛ إذا كنت تريد نسخة احتياطية لقاعدة البيانات أيضًا ، فاخذ ذلك بشكل منفصل." #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "تم تغيير الملفات منذ أن تمت إضافة آخر نسخة احتياطية كزيادة جديدة في مجموعة النسخ الاحتياطي هذه." #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "اقرأ المزيد عن مواقع الجرافة" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "اقرأ المزيد عن فئات التخزين" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "التحميل: فشل: الملف غير موجود" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "خطأ: فشل في فتح الملف المحلي" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "وقت البدء" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "يوم لتشغيل النسخ الاحتياطية" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "أضف قاعدة احتفاظ بالملف إضافية" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "أضف قاعدة احتفاظ قاعدة بيانات إضافية" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "هذا ضروري إذا ، وفقط إذا كان مفتاح التطبيق الخاص بك هو مفتاح تطبيق خاص بالحاوية (وليس مفتاحًا رئيسيًا)" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "معرّف مفتاح تطبيق الحاوية" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "معرّف مفتاح التطبيق الرئيسي" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "للمساعدة في تكوين ملفات%s، بما في ذلك لقطات الشاشة ، اتبع هذا الرابط." #: src/addons/azure.php:706 msgid "Azure China" msgstr "أزور الصين" #: src/admin.php:6121 msgid "Clone region:" msgstr "منطقة الاستنساخ:" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "اذهب الى هنا" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "إذا قمت بالتجديد بالفعل ، فأنت بحاجة إلى تخصيص ترخيص لهذا الموقع -%s" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "المصادقة" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "يجب تحديد وجهة تخزين بعيدة واحدة على الأقل لتحميل مجموعة النسخ الاحتياطية هذه إليها." #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "اقرأ المزيد حول Easy Updates Manager" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "يمكنك معرفة المزيد عن استنساخ المفاتيح هنا." #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "أو استخدم مفتاح UpdraftClone" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "تم العثور على أسماء المجموعة%s، ولكن التغيير إلى%sكما هو مقترح من قبل WPDB :: select_charset ()." #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "مطلوب مفتاح UpdraftClone." #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "تم إحباط إعداد بيانات النسخ." #: src/addons/azure.php:705 msgid "Azure Government" msgstr "حكومة أزور" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "اطلب من WordPress تحديث UpdraftPlus تلقائيًا عندما يجد تحديثًا متاحًا." #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "التحديثات التلقائية" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "مستخدم قاعدة البيانات ليس لديه إذن لإسقاط الجداول" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "اطلب من WordPress تحديث UpdraftPlus تلقائيًا عند توفر تحديث" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "يجب عليك إضافة ما يلي باعتباره URI المعتمد لإعادة التوجيه (ضمن \"المزيد من الخيارات\") عندما يُطلب منك ذلك" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "فرانكفورت" #: src/addons/googlecloud.php:61 msgid "London" msgstr "لندن" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "بلجيكا" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "سيدني" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "سنغافورة" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "طوكيو" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "تايوان" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "ولاية أوريغون" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "شمال فرجينيا" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "كارولينا الجنوبية" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "ايوا" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "تأكيد التغيير" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "إضافة قاعدة استبعاد" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "اكتب بادئة الملف" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "كافة الملفات التي تبدأ بهذه الأحرف" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "اكتب امتدادًا مثل zip" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "حدد الملف / المجلد الذي ترغب في استبعاده" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "تبدأ جميع الملفات بأحرف معينة" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "جميع الملفات مع هذا الامتداد" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "ملف / دليل" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "حدد طريقة لاستبعاد الملفات أو الدلائل من النسخة الاحتياطية" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "استبعاد الملفات/الدلائل" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "لقراءة الأسئلة الشائعة / الوثائق حول UpdraftClone ، انتقل هنا." #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "حسابك في UpdraftPlus.com" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "يمكنك التحقق من التقدم هنا أو في%s" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "لا يزال UpdraftClone قيد الإعداد." #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "%sتبقى المحفوظات" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "تم استلام بيانات الموقع بالكامل ، وبدأ استيرادها." #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "تم تثبيت WordPress ؛ الآن في انتظار بيانات الموقع ليتم إرسالها." #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "استنساخ جاهز" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "تم نشر بيانات الموقع" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "نشر بيانات الموقع" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "تم استلام بيانات الموقع" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "استقبال بيانات الموقع" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "تم تثبيت ووردبريس" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "لقد بدأ الاستنساخ الخاص بك ، معلومات الشبكة ليست متاحة بعد ولكن سيتم عرضها هنا وعلى حساب updraftplus.com الخاص بك بمجرد أن يصبح جاهزًا." #: src/admin.php:4330 msgid "Exclude these from" msgstr "استبعاد هذه من" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "قاعدة الاستبعاد التي تحاول إضافتها موجودة بالفعل" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "الرجاء إدخال بادئة اسم ملف صالحة" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "الرجاء إدخال الأحرف التي تبدأ اسم الملف الذي ترغب في استبعاده" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "الرجاء إدخال امتداد ملف صالح" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "الرجاء إدخال امتداد الملف ، مثل zip" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "الرجاء تحديد ملف / مجلد ترغب في استبعاده" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "هل أنت متأكد أنك تريد إزالة قاعدة الاستبعاد هذه؟" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "نتائج تسجيل وحدة التحكم" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "لإنشاء نسخة مؤقتة تحتاج إلى رصيد في حسابك." #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "اقرأ الأسئلة الشائعة هنا." #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "فشل تحميل الملف إلى%s(انظر ملف السجل للمزيد)" #: src/admin.php:6222 msgid "Dashboard:" msgstr "لوحة القيادة:" #: src/admin.php:6221 msgid "Front page:" msgstr "الصفحة الأمامية:" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "لقد بدأ الاستنساخ الخاص بك وسيكون متاحًا على عناوين URL التالية بمجرد أن يصبح جاهزًا." #: src/includes/class-commands.php:1093 msgid "manage" msgstr "تدبير" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "الحيوانات المستنسخة الحالية" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "ستنشر نسختك الآن هذه البيانات لإعادة إنشاء موقعك." #: src/addons/migrator.php:541 msgid "Site key" msgstr "مفتاح الموقع" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "أضف موقعًا" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "الى الخلف" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "اقرأ هذه المقالة لترى كيف يتم ذلك خطوة بخطوة." #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "ترحيل (إنشاء نسخة من موقع على الاستضافة التي تتحكم فيها)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "إدارة المستنسخة الخاصة بك" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "يتم الإغلاق في 1 أكتوبر 2018" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "سيتم تجديد نسختك في:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "تعذر الحصول على تاريخ التجديد" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "تم إحباط النسخ الاحتياطي" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "ون درايف ألمانيا" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "OneDrive الدولية" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "نوع الحساب" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "أوافق على شروط وأحكام UpdraftClone" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "ليس لديك حساب؟ احصل على واحدة عن طريق شراء بعض الرموز هنا." #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "يمكنك شراء رموز UpdraftClone المميزة من متجرنا هنا." #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "لإنشاء نسخة مؤقتة ، تحتاج إلى: 1) رصيد في حسابك و 2) للاتصال بحسابك ، أدناه." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "إذا أردت ، اختبر الترقية إلى إصدار PHP أو WP مختلف." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "مرن" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "يستغرق الوقت اللازم لإنشاء نسخة احتياطية وإرسالها." #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "سريع" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "VPS واحد (خادم خاص افتراضي) لكل نسخة ، لا يشاركه أحد." #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "يؤمن" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "يعمل بسعة من مزود حوسبة سحابية رائد." #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "موثوق" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "سهل" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "قم بإنشاء نسخة مؤقتة على خوادمنا (UpdraftClone)" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "ملحقات WooCommerce" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "إعادة تعيين الجولة" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "اضغط على هذا الزر لأخذ جولة في المكون الإضافي." #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "قم بجولة" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "قم بتسجيل الدخول هنا لتمكين جميع الميزات التي يمكنك الوصول إليها." #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "اتصل بـ updraftplus.com" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "لبدء استخدام UpdraftVault ، حدد أحد الخيارات أدناه:" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "إنهاء" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "يحتوي UpdraftPlus Premium على العديد من الميزات المثيرة!" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "UpdraftPlus Premium والإضافات" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "شكرا لك على القيام بالجولة." #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "هل لديك عدد قليل من مواقع WordPress التي تريد نسخها احتياطيًا؟ إذا كانت الإجابة بنعم ، يمكنك توفير ساعات من خلال التحكم في جميع النسخ الاحتياطية الخاصة بك في مكان واحد من UpdraftCentral." #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "تحكم في جميع نسخك الاحتياطية في مكان واحد" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "تهانينا ، تم حفظ إعداداتك بنجاح." #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "اضغط هنا لحفظ الإعدادات الخاصة بك." #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "يحفظ" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "ابحث في الإعدادات الأخرى هنا ، وقم بإجراء أي تغييرات تريدها." #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "المزيد من الإعدادات" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "اكتشف المزيد هنا." #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "UpdraftVault هو التخزين البعيد الخاص بنا والذي يعمل بسلاسة مع UpdraftPlus." #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "اختر الجدول الذي تريد تشغيل النسخ الاحتياطية عليه." #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "اختر جدول النسخ الاحتياطي" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "تهانينا! النسخ الاحتياطي الأول الخاص بك قيد التشغيل." #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "اذهب للاعدادات" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "ولكن لتجنب التهديدات على مستوى الخادم ، قم بالنسخ الاحتياطي بانتظام إلى التخزين السحابي البعيد في%sالإعدادات%s" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "اضغط هنا لتشغيل نسخة احتياطية يدوية." #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "إنشاء النسخة الاحتياطية الأولى" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "حدد ما تريد نسخه احتياطيًا" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "خيارات النسخ الاحتياطي اليدوي" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "لعمل نسخة احتياطية بسيطة على الخادم الخاص بك ، اضغط على هذا الزر. أو لإعداد النسخ الاحتياطية العادية والتخزين عن بُعد ، انتقل إلى%sالإعدادات%s" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "أول نسخة احتياطية لك" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "اضغط هنا للبدء!" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "البرنامج المساعد الاحتياطي الأكثر موثوقية في العالم!" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "مرحبًا بك في UpdraftPlus" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "إعدادات UpdraftPlus" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "نهاية الجولة" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "تخطي هذه الخطوة" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "خلف" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "يمكنك شراء المزيد من رموز النسخ المؤقتة هنا." #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "امنع غير المسؤولين من تسجيل الدخول إلى WordPress على نسختك" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "قسط / اكتشف المزيد" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "الإضافات الرائعة الأخرى" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "يجب أن يبدأ الآن إنشاء بياناتك لإنشاء النسخة." #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "يمكنك العثور على معلومات الاستنساخ المؤقتة الخاصة بك في حساب updraftplus.com الخاص بك هنا." #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "اختر قيمة افتراضية لكل جدول" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "إرسال الملفات إلى موقع بعيد" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "يتم توفير خادم استنساخ وتشغيله (يمكن أن يستغرق عدة دقائق)" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "لاستيراد مجموعة نسخ احتياطي ، انتقل إلى قسم \"النسخ الاحتياطية الموجودة\" في علامة التبويب \"النسخ الاحتياطي / الاستعادة\"" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "اسنرجاع البيانات" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "دعم" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "تم العثور على أحدث نسخة احتياطية كاملة ؛ المعرف:" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "لم يتم العثور على نسخة احتياطية كاملة سابقة." #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "التخزين عن بعد:%s" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "لم يتم العثور على نسخة احتياطية سابقة لإضافة زيادة إلى." #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "مجموعة الأحرف المطلوبة (%s) غير موجود - التغيير إلى%s." #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "السماح للمسؤولين فقط بتسجيل الدخول" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "يمكنك منع تسجيل دخول غير المسؤولين إلى هذا الموقع المستنسخ عن طريق تحديد خانة الاختيار أدناه" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "إعدادات تسجيل دخول المستخدم المؤقتة UpdraftPlus:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "مرحبًا بك في UpdraftClone (استنساخ مؤقت)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "تحديث الاتصال" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "سجل جميع الرسائل في سجل النظام" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "مفتاح RSA للخادم%sبصمة:%s." #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "بصمة RSA" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "بصمات الأصابع غير متطابقة." #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "مزيد من المعلومات هنا." #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "ترحيل / استنساخ" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "السماح فقط بحذف هذه النسخة الاحتياطية يدويًا (أي احتفظ بها حتى إذا تم تجاوز حدود الاستبقاء)." #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "يحتوي تثبيت WordPress الخاص بك على أدلة قديمة من حالته قبل استعادتها / ترحيلها (المعلومات الفنية: هذه مُلحقة بـ -old)." #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "هذه ليست نسخة احتياطية تزايدي" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "قم بتشغيل هذا الأمر لرؤية ملف السجل لهذه الاستعادة (مطلوب لأي طلبات دعم)." #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "(النسخة الحالية)" #: src/admin.php:4235 msgid "press here" msgstr "اضغط هنا" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "سياسة الخصوصية هذه" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "يرجى القراءة%sلاستخدامها%sتطبيق التفويض (لا يتم إرسال أي من بيانات النسخ الاحتياطي إلينا)." #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "اخبرني المزيد" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "ثم قم بإضافة نسخة احتياطية تزايدي" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "كل ساعة" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "خلق استنساخ" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "الرموز المميزة المتاحة للاستنساخ المؤقت:" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "يعالج" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "اتصل بـ UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "شروط وسياسات حساب UpdraftPlus.Com" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "أوافق على%s" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "كلمة مرور لمرة واحدة (تحقق من تطبيق OTP للحصول على كلمة المرور هذه)" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "تسجيل الدخول أو التسجيل باستخدام عنوان البريد الإلكتروني هذا" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "إذا لم يكن كذلك ، فاختر التفاصيل الخاصة بك وسيتم تسجيل حساب جديد." #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "إذا كان لديك بالفعل حساب على updraftplus.com ، فأدخل التفاصيل أدناه." #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "أضف هذا الموقع إلى لوحة معلومات UpdraftCentral Cloud على موقع updraftplus.com." #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "تسجيل الدخول أو التسجيل في UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "اذهب هنا لتوصيله." #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "أو إذا كنت تفضل الاستضافة الذاتية ، فيمكنك الحصول على الإصدار المستضاف ذاتيًا هنا." #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "قم بتوصيل هذا الموقع بـ UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "قم بنسخ جميع مواقع WordPress الخاصة بك احتياطيًا وتحديثها وإدارتها من لوحة تحكم واحدة" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "للتحكم في جميع اتصالات UpdraftCentral في المستقبل ، انتقل إلى علامة التبويب \"أدوات متقدمة\"." #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "يمكنك أيضًا إغلاق هذا المعالج." #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "تحتاج إلى قراءة بيانات UpdraftCentral Cloud وسياسات الخصوصية وقبولها قبل أن تتمكن من المتابعة." #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "يرجى الانتظار حتى يتم إعادة توجيهك إلى UpdraftCentral Cloud." #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "يرجى الانتظار بينما يقوم النظام بإنشاء مفتاح تشفير لموقع الويب الخاص بك وتسجيله باستخدام UpdraftCentral Cloud." #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "ربما تريد تسجيل الدخول بدلا من ذلك." #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "مشكلة في الاتصال؟ حاول استخدام طريقة بديلة في خيارات الأمان المتقدمة." #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "مطلوب بريد إلكتروني ويجب أن يكون بتنسيق صالح." #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "كل من حقول البريد الإلكتروني وكلمة المرور مطلوبة." #: src/admin.php:1059 msgid "Registration successful." msgstr "تم التسجيل بنجاح." #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "يرجى اتباع هذا الرابط لفتح%sفي نافذة جديدة." #: src/admin.php:1057 msgid "Login successful." msgstr "تم تسجيل الدخول بنجاح." #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "UpdraftCentral Cloud" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "هل أنت متأكد أنك تريد رفض جميع أخبار UpdraftPlus إلى الأبد؟" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "استبعاد كافة أخبار UpdraftPlus" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "أخبار UpdraftPlus" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "تم إنشاء مفتاح الترحيل:" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "المعلمات مفقودة" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "أزور ألمانيا" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "أزور جلوبال" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "حساب Azure" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "الرجاء تحديد اسم مجلد Microsoft OneDrive ، وليس عنوان URL." #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "حدد وجهات التخزين البعيد التي تريد تحميل مجموعة النسخ الاحتياطي هذه إليها" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "تحميل نسخة احتياطية" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "بعد الضغط على هذا الزر ، يمكنك تحديد مكان تحميل النسخة الاحتياطية من قائمة مواقع التخزين البعيد المحفوظة حاليًا" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "(تم الرفع بالفعل)" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "بدأ تحميل النسخة الاحتياطية المحلية ؛ يرجى التحقق من ملف السجل لمعرفة تقدم التحميل" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "تحميل" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "فقط أرسل نسخة احتياطية من قاعدة البيانات بالبريد الإلكتروني" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "اعلم أن خوادم البريد غالبًا ما يكون لها حدود للحجم ؛ عادة حول%sميغا بايت ؛ من المحتمل ألا تصل النسخ الاحتياطية الأكبر من أي حدود نتيجة لذلك لن يرسل UpdraftPlus سوى نسخ احتياطية من قاعدة البيانات إلى البريد الإلكتروني." #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "استخدم هذا الخيار لإرسال نسخ احتياطية من قاعدة البيانات فقط عند الإرسال إلى البريد الإلكتروني ، وتخطي المكونات الأخرى." #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "بالنسبة للنسخ الاحتياطية المتزايدة ، ستتمكن من اختيار الزيادات التي تريد استعادتها في مرحلة لاحقة." #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "الزيادات موجودة في:%s" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "(آخر زيادة:%s)" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "أوروبا (باريس)" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "أوامر WP-CLI لأخذ النسخ الاحتياطية وإدراجها وحذفها." #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "دعم WP-CLI" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "WP CLI" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "معرف الوظيفة غير صالح" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "بدأت مؤخرًا وظيفة النسخ الاحتياطي:%s" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "القيمة المعطاة لـ \"%s\"الخيار غير صالح" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "لذلك ، للحصول على مفتاح الموقع البعيد ، افتح نافذة \"ترحيل الموقع\" على هذا الموقع ، وانتقل إلى هذا القسم." #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "يتم إنشاء مفاتيح الموقع في قسم \"تلقي نسخة احتياطية من موقع بعيد\"." #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "يجب نسخ هذا المفتاح ولصقه على موقع الإرسال الآن - لا يمكن عرضه مرة أخرى." #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "تم تعطيل هذه الوظيفة من قبل مسؤول الموقع." #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "شكرًا لك على تثبيت UpdraftPlus!" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "لم يتم إنشاء مفاتيح للسماح للمواقع البعيدة بإرسال بيانات النسخ الاحتياطي هنا." #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "فشلت القراءة من دليل العمل." #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "فشل العثور على ملف البيان في النسخة الاحتياطية." #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "فشلت قراءة ملف البيان من النسخة الاحتياطية." #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "(غير مهيأ)" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "تأكد من تسجيل الدخول إلى الحساب الصحيح قبل المتابعة." #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "طريقة التخزين عن بعد ومعرف المثيل مطلوبان للمصادقة." #: src/admin.php:5720 msgid "authentication error" msgstr "خطأ مصادقة" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "(لم يتم تسجيل أي شيء حتى الآن)" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "ستحتاج إلى استخدام البحث أدناه واستبدال موقع الموقع في قاعدة البيانات (ترحيل) للبحث / استبدال عنوان الموقع." #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "أضف آخر%sالحساب..." #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "احذف هذه الإعدادات" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "تعطيل حاليا" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "ممكّن حاليًا" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "إذا كنت قد اشتريت من UpdraftPlus.Com ، فاتبع هذا الارتباط لإرشادات التثبيت (خاصة الخطوة 1)." #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "أنت تستخدم حاليًا الإصدار المجاني من UpdraftPlus." #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "أحضره هنا" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "موقع بعيد" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "اسم الحاوية غير صالح" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "الترتيب البديل الذي اخترته" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "يمكنك اختيار ترتيب آخر مناسب بدلاً من ذلك ومتابعة الاستعادة (على مسؤوليتك الخاصة)." #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "خيارات استعادة قاعدة البيانات:" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "يبدو هذا وكأنه ترحيل (النسخ الاحتياطي من موقع بعنوان / عنوان URL مختلف ،%s)." #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "%sبادئة" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "%sإسم الحساب" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "مجموعة أحرف الجدول المطلوبة (%s) غير موجود - التغيير إلى%s." #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "مجموعة الأحرف التي اخترتها لاستخدامها بدلاً من ذلك:" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "يمكنك اختيار مجموعة أحرف مناسبة أخرى بدلاً من ذلك ومتابعة الاستعادة على مسؤوليتك الخاصة." #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" msgstr[4] "" msgstr[5] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "التالي" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "الرجاء إدخال عنوان URL صالح، على سبيل المثال http://example.com" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "بعض / المسار" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "اسم دلو" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "مسار النسخ الاحتياطي" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "مفتاح التطبيق" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "هنا" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "احصل على هذه الإعدادات من%s، أو قم بالتسجيل%s." #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "مفتاح الحساب" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "معرف الحساب" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "مجموعة النسخ الاحتياطية هذه خاصة بهذا الموقع ، ولكن في وقت النسخ الاحتياطي الذي كنت تستخدمه%s، بينما يستخدم الموقع الآن%s." #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "لإلغاء تفويض UpdraftPlus (جميع المواقع) من الوصول إلى Google Drive ، اتبع هذا الرابط لإعدادات حساب Google الخاص بك." #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "اتبع هذا الرابط لإزالة هذه الإعدادات لـ%s." #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "خطأ فادح في PHP (%s) قد حدث:%s" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "استثناء PHP (%s) قد حدث:%s" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "جنوب شرق أستراليا" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "جنوب شرق آسيا" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "شمال شرق آسيا" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "مصادقة التخزين عن بعد" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "الشبكة والمواقع المتعددة" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "مهاجر" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "مساحة تخزين إضافية" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "التخزين عن بعد" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "اختر الملفات" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "ملفات السحابة" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "UpdraftVault" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "أرشيف" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "قاعدة بيانات اضافية" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "اضغط هنا للتنزيل أو التصفح" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "خطأ: مسار غير صالح" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "حدث خطأ أثناء جلب خيارات وحدة التخزين:" #: src/admin.php:1038 msgid "Loading log file" msgstr "تحميل ملف السجل" #: src/admin.php:1036 msgid "Search" msgstr "يبحث" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "حدد ملفًا لعرض معلومات عنه" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "تصفح ملف مضغوط" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "باستخدام UpdraftPlus Premium ، يمكنك تنزيل الملفات الفردية مباشرةً من هنا." #: src/admin.php:944 msgid "Browse contents" msgstr "تصفح المحتويات" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "الجداول التي تم تخطيها:" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "باستخدام UpdraftPlus Premium ، يمكنك اختيار النسخ الاحتياطي للجداول بخلاف WordPress ، والنسخ الاحتياطي للجداول المحددة فقط ، والنسخ الاحتياطي لقواعد البيانات الأخرى أيضًا." #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "سيتم نسخ جميع جداول WordPress احتياطيًا." #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "يمكن العثور على مزيد من المعلومات في وحدة تحكم JavaScript للمتصفح ، وسجلات أخطاء PHP الخاصة بالخادم." #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "أنك تحاول تحميل ملف مضغوط تم إنشاؤه مسبقًا بواسطة UpdraftPlus." #: src/admin.php:1033 msgid "The available memory on the server." msgstr "الذاكرة المتوفرة على الخادم." #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "أي إعدادات تؤثر على أقصى حجم للتحميل أو النشر." #: src/admin.php:1032 msgid "HTTP code:" msgstr "كود HTTP:" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "لقد اخترت إجراء نسخ احتياطي لقاعدة البيانات ، ولكن لم يتم تحديد أي جداول" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "الجداول" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "قاعدة بيانات WordPress" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "يجب عليك نسخ جميع الجداول احتياطيًا إلا إذا كنت خبيرًا في الأجزاء الداخلية لقاعدة بيانات WordPress." #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "اكتشف المزيد" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "لدى UpdraftPlus خيار التخزين المدمج الخاص به ، مما يوفر طريقة خالية من المتاعب لتنزيل جميع النسخ الاحتياطية وتخزينها وإدارتها من مكان واحد." #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "جولة UpdraftPlus" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "قم بتأمين الوصول إلى UpdraftPlus عبر كلمة مرور حتى تختار أي من المستخدمين المشرفين يمكنه الوصول إلى النسخ الاحتياطية." #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "لا تستطيع بعض المكونات الإضافية للنسخ الاحتياطي استعادة نسخة احتياطية ، لذلك يسمح لك Premium باستعادة النسخ الاحتياطية من المكونات الإضافية الأخرى." #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "المستورد" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "قم بترتيب الأشياء للعملاء وإزالة جميع الإعلانات الخاصة بمنتجاتنا الأخرى." #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "لا اعلانات" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "قدرات متطورة لإعداد التقارير والبريد الإلكتروني." #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "تشفير قواعد البيانات الحساسة الخاصة بك (مثل معلومات العميل أو كلمات المرور) ؛ قواعد البيانات الخارجية النسخ الاحتياطي أيضا." #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "المزيد من خيارات قاعدة البيانات" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "حدد الأوقات المحددة لإنشاء النسخ الاحتياطية أو حذفها." #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "وقت النسخ الاحتياطي والجدولة" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "نسخ احتياطي لمواقع ووردبريس المتعددة (أي الشبكات) بأمان." #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "شبكة / مواقع متعددة" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "ملفات وقواعد البيانات الاحتياطية WordPress الأساسية وغير WP." #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "يقوم بعمل نسخة احتياطية من موقع الويب الخاص بك تلقائيًا قبل أي تحديثات للمكونات الإضافية والسمات وأساسيات WordPress." #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "النسخ الاحتياطية قبل التحديث" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "يوفر مساعدة الخبراء والدعم من المطورين متى احتجت إليها." #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "دعم شخصي سريع" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "يقوم UpdraftPlus Migrator باستنساخ موقع WordPress الخاص بك ونقله إلى مجال جديد بشكل مباشر وبسيط." #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "الاستنساخ والهجرة" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "مواقع تخزين عن بعد إضافية ومحسنة" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "النسخ الاحتياطي إلى مواقع التخزين البعيدة" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "تحديث الآن" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "المثبتة" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "حر" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "أوبدرافت بلس" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "موصى به: قم بتحسين قاعدة البيانات الخاصة بك باستخدام WP-Optimize." #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "اقرأ أكثر" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "بعد إجراء نسخ احتياطي لقاعدة البيانات الخاصة بك ، نوصيك بتثبيت المكون الإضافي WP-Optimize لتبسيطه للحصول على أداء أفضل لموقع الويب." #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "الرجاء اختيار ملف أو دليل" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "يتأكد" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "اصعد الدليل" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "إضافة دليل ..." #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "يحرر" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "في حالة استخدامه ، حدد مسارًا من شجرة الدليل أدناه ثم اضغط على تأكيد التحديد." #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "أوروبا (فرانكفورت)" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "أوروبا (لندن)" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "أوروبا (أيرلندا)" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "UpdraftCentral" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "صورة الإشعار" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "اذهب الى هناك" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "اشتراك" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "إحصل على الأفضل" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "مراجعة UpdraftPlus" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "احصل على UpdraftCentral" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "وحدات اباتشي" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "مدونة UpdraftPlus - احصل على آخر الأخبار والعروض" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "أوبدرافت بلس النشرة الإخبارية" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "تحكم في جميع عمليات تثبيت WordPress الخاصة بك من مكان واحد باستخدام إدارة الموقع البعيد UpdraftCentral!" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "هل تستخدم UpdraftPlus على مواقع متعددة؟" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "يعد UpdraftCentral وسيلة فعالة للغاية لإدارة وتحديث ونسخ مواقع ويب متعددة من مكان واحد." #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "تقديم UpdraftCentral" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "ترحيل موقعك بسهولة أو استنساخه في دقائق" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "أضف SFTP لإرسال بياناتك بأمان وقفل الإعدادات وتشفير النسخ الاحتياطية لقاعدة البيانات لمزيد من الأمان." #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "تأمين النسخ الاحتياطية الخاصة بك" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "تثبيت آمن متعدد المواقع وإعداد تقارير متقدمة وغير ذلك الكثير." #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "خيارات متقدمة" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "خيارات التخزين عن بعد المحسنة" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "المكان الآمن والمريح في نهاية المطاف لتخزين النسخ الاحتياطية الخاصة بك." #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "تخزين UpdraftVault" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "استمتع بمساعدة احترافية وسريعة وودية متى احتجت إليها مع Premium." #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "UpdraftPlus بريميوم:" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "كندا (وسط)" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "حجم الموقع" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "إعدادات القفل" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "معلومات الموقع" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "للقدرة على ترحيل مواقع الويب ، قم بالترقية إلى UpdraftPlus Premium." #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "اعدادات مهمه" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "إعدادات التصدير" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "بما في ذلك أي كلمات مرور" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "تصدير / استيراد الإعدادات" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "جدول المعالجة (%s)" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "نسخة احتياطية من:%s" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "%sإلغاء المصادقة" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "يجب عليك إضافة ما يلي باعتباره URI المعتمد لإعادة التوجيه في وحدة تحكم Dropbox (ضمن \"إعدادات واجهة برمجة التطبيقات\") عند مطالبتك بذلك" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "إذا لم يكن الأمر كذلك ، فستحتاج إما إلى إزالة البيانات من هذا الجدول ، أو الاتصال بالشركة المستضيفة لطلب المزيد من الموارد." #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "لقد حددت خيار التخزين البعيد الذي يحتوي على خطوة تفويض لإكمالها:" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "تم حذف الملفات البعيدة:" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "الملفات المحلية المحذوفة:" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "اتبع هذا الرابط للسماح بالوصول إلى%sحساب (لن تتمكن من النسخ الاحتياطي إلى%sبدونه)." #: src/admin.php:1031 msgid "remote files deleted" msgstr "تم حذف الملفات البعيدة" #: src/admin.php:1027 msgid "Complete" msgstr "مكتمل" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "هل تريد القيام بالاستيراد؟" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "الذي تم تصديره على:" #: src/admin.php:1024 msgid "This will import data from:" msgstr "سيؤدي هذا إلى استيراد البيانات من:" #: src/admin.php:1023 msgid "Importing..." msgstr "استيراد ..." #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "لم تقم بعد بتحديد ملف لاستيراده." #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "سيكون ملف التصدير الخاص بك من الإعدادات المعروضة ، وليس الإعدادات المحفوظة." #: src/admin.php:99 msgid "template not found" msgstr "النموذج غير موجود" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "شرق الولايات المتحدة (أوهايو)" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "الحساب غير مصرح به (%s)." #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "عنوان IP الخاص بك:" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "لإزالة أي كتلة ، يرجى الذهاب هنا." #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "تم تلقي استجابة خطأ ؛ كود HTTP:" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "%sالوظيفة الإضافية غير موجودة" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "أو الاستعادة يدويًا" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "لإصلاح هذه المشكلة اذهب هنا." #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "يقوم OptimizePress 2.0 بترميز محتوياته ، لذلك لا يعمل البحث / الاستبدال." #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "يفتقر تثبيت PHP إلى وحدة openssl ؛ نتيجة لذلك ، قد يستغرق ذلك دقائق ؛ إذا لم يحدث شيء بحلول ذلك الوقت ، فعليك إما تجربة حجم مفتاح أصغر ، أو سؤال شركة استضافة الويب الخاصة بك عن كيفية تمكين وحدة PHP هذه في الإعداد الخاص بك." #: src/addons/webdav.php:437 msgid "Path" msgstr "طريق" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "اترك هذا فارغًا لاستخدام الإعداد الافتراضي (80 لـ webdav ، و 443 لـ webdav)" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "أدخل أي مسار في الحقل أدناه." #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "لا يمكن أن يحتوي اسم المضيف على شرطة مائلة." #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "بروتوكول (SSL أم لا)" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "يبدو أن مفتاح الوصول إلى AWS خاطئ (صالح%sمفاتيح الوصول تبدأ بـ \"AK\")" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "لم يتم العثور على إعدادات - يرجى الانتقال إلى علامة التبويب \"الإعدادات\" والتحقق من الإعدادات" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "باستخدام النسخ الاحتياطي%s؟" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "آسيا والمحيط الهادئ (مومباي)" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "قياسي (وصول غير متكرر)" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "أسئلة وأجوبة" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "فشل فتح الدليل (تحقق من أذونات الملف والملكية):%s" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "%s: ملف غير قابل للقراءة - لا يمكن نسخه احتياطيًا (تحقق من أذونات الملف والملكية)" #: src/addons/migrator.php:563 msgid "Create key" msgstr "إنشاء مفتاح" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "أبطأ ، أقوى" #: src/addons/migrator.php:559 msgid "recommended" msgstr "موصى به" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "%sبايت" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "أسرع (إمكانية تثبيت PHP بطيء)" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "%sأجزاء" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "حجم مفتاح التشفير:" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "أدخل الاسم الذي اخترته" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "أنشئ مفتاحًا: أعط هذا المفتاح اسمًا فريدًا (على سبيل المثال ، حدد الموقع المخصص له) ، ثم اضغط على \"إنشاء مفتاح\":" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "توقع فشل التحميل: ملف%sالحد الأقصى لأي ملف واحد هو%s، بينما هذا الملف هو%sغيغابايت (%dبايت)" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "يحدث هذا أحيانًا بسبب جدار الحماية - حاول إيقاف تشغيل SSL في إعدادات الخبير ، واختبره مرة أخرى." #: src/methods/ftp.php:438 msgid "login" msgstr "تسجيل الدخول" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "اعلم أن خوادم البريد غالبًا ما يكون لها حدود للحجم ؛ عادة حول%sميغا بايت ؛ من المحتمل ألا تصل النسخ الاحتياطية الأكبر من أي حدود." #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "مقاس:%sميغابايت" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "يجب عليك تمكين%sلعمل أي روابط ثابتة جميلة (على سبيل المثال%s) الشغل" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "(اضغط على أيقونة للاختيار أو إلغاء التحديد)" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "%sكل سنة" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "أو (الخصم السنوي)" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "لم يتم العثور على اتصال Vault لهذا الموقع (هل تم نقله؟) ؛ يرجى قطع الاتصال وإعادة الاتصال." #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "لم يتم العثور على الملف المحدد أو تعذرت قراءته." #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "تم إحباط النسخ الاحتياطي من قبل المستخدم" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "تم حفظ إعداداتك." #: src/admin.php:4515 msgid "Total backup size:" msgstr "إجمالي حجم النسخ الاحتياطي:" #: src/admin.php:3878 msgid "stop" msgstr "توقف" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "انتهى النسخ الاحتياطي قيد التشغيل" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "مسح الإعدادات" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "إعادة تعيين" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "مجموعات النسخ الاحتياطي هذه" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "مجموعة النسخ الاحتياطي هذه" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "احسب" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "يجب عليك حفظ التغييرات للتأكد من استخدامها لعمل النسخة الاحتياطية." #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "طلبنا حذف الملف ، لكننا لم نستطع فهم استجابة الخادم" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "أدخل رابط صحيح من فضلك" #: src/admin.php:976 msgid "Saving..." msgstr "جاري الحفظ..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "خطأ: أرسل لنا الخادم ردًا لم نفهمه." #: src/admin.php:926 msgid "Fetching..." msgstr "إحضار ..." #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "آسيا والمحيط الهادئ (سيول)" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "URL الخاص بالتحميلات:" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "المطلوب%sلم يتم تثبيت وحدة PHP - اطلب من شركة استضافة الويب الخاصة بك تمكينها." #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "يتطلب استيراد موقع WordPress عادي إلى تثبيت متعدد المواقع%s." #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "يرجى قراءة هذا الرابط للحصول على معلومات مهمة حول هذه العملية." #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "سيتم استيراده كموقع جديد." #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "تجاهل" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "يرجى ملء المعلومات المطلوبة." #: src/addons/multisite.php:691 msgid "Read more..." msgstr "اقرأ أكثر..." #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "قد تتضمن بعض البيانات على مستوى الموقع" #: src/addons/multisite.php:677 msgid "All sites" msgstr "كل المواقع" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "الموقع الذي تريد استعادته" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "خطأ عند إنشاء موقع جديد على العنوان الذي اخترته:" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "لم يتم تقديم المعلومات المطلوبة لاستعادة هذه النسخة الاحتياطية (%s)" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "السمة المستوردة المحتوى إلى المستخدم" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "يجب عليك استخدام أحرف صغيرة أو أرقام لمسار الموقع فقط." #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "هذه الميزة غير متوافقة مع%s" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "استيراد موقع واحد إلى تثبيت متعدد المواقع" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "محتوى آخر من محتوى wp" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "ووردبريس الأساسية" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "لقد حددت%sليتم تضمينها في الاستعادة - لا يمكن / لا يجب القيام بذلك عند استيراد موقع واحد إلى شبكة." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "استدعاء عمل WordPress:" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "تؤثر إعداداتك المحفوظة أيضًا على ما يتم نسخه احتياطيًا - مثل الملفات المستبعدة." #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "التخطي: تمت استعادة هذا الأرشيف بالفعل." #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "خيارات الملف" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "إرسال نسختك الاحتياطية إلى المخزن البعيد" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "جدول النسخ الاحتياطي لقاعدة البيانات" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "جدول النسخ الاحتياطي للملفات" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "سيؤدي هذا الزر إلى حذف جميع إعدادات UpdraftPlus ومعلومات التقدم للنسخ الاحتياطية الجارية (ولكن ليس أيًا من النسخ الاحتياطية الحالية من التخزين السحابي)." #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "أرسل هذه النسخة الاحتياطية إلى التخزين البعيد" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "ليس لديك أي تخزين عن بعد؟" #: src/admin.php:5530 msgid "settings" msgstr "إعدادات" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "لن يتم إرسال النسخ الاحتياطي إلى أي وحدة تخزين بعيدة - لم يتم حفظ أي نسخة في ملف %s" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "قم بتضمين ملفاتك في النسخة الاحتياطية" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "تضمين قاعدة البيانات الخاصة بك في النسخة الاحتياطية" #: src/admin.php:3293 msgid "Continue restoration" msgstr "تواصل الاستعادة" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "لديك عملية استعادة غير مكتملة ، بدأت%sمنذ." #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "استعادة غير مكتملة" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "%sدقائق،%sثواني" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "محتويات وجدول النسخ الاحتياطي" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "قسط / ملحقات" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "تعذر العثور على معلومات كافية حول عملية الاستعادة قيد التقدم." #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "تحميل" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "لقد اخترت نسخ الملفات احتياطيًا ، ولكن لم يتم تحديد أي كيانات للملفات" #: src/admin.php:772 msgid "Extensions" msgstr "Extensions" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "ادوات متطورة" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "موقع دلو" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "لاحظ أن Google لا تدعم كل فئة تخزين في كل موقع - يجب عليك قراءة الوثائق الخاصة بهم للتعرف على التوفر الحالي." #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "يتم تطبيق هذا الإعداد فقط عند إنشاء حاوية جديدة." #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "يجب عليك استخدام اسم مجموعة فريد للجميع%sالمستخدمين." #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "لا تخلط بين%sمع%s- إنها أشياء منفصلة." #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "ليس لديك حق الوصول إلى هذه المجموعة" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "أوروبا الغربية" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "شرق آسيا والمحيط الهادئ" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "غرب الولايات المتحدة" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "شرق الولايات المتحدة" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "وسط الولايات المتحدة" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "الاتحاد الأوروبي" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "آسيا والمحيط الهادئ" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "موقع متعدد المناطق" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "الولايات المتحدة" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "خط القريب" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "دائم انخفاض التوافر" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "اساسي" #: src/addons/azure.php:700 msgid "container" msgstr "وعاء" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "يمكنك إدخال مسار أي%sالمجلد الظاهري الذي ترغب في استخدامه هنا." #: src/addons/azure.php:699 msgid "optional" msgstr "اختياري" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "راجع إرشادات Microsoft حول تسمية الحاويات باتباع هذا الرابط." #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "أدخل مسار ملف%sترغب في استخدامه هنا." #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "هذا ليس تسجيل الدخول إلى Azure الخاص بك - راجع الإرشادات إذا كنت بحاجة إلى مزيد من الإرشادات." #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "أزور" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "قم بإنشاء بيانات اعتماد Azure في وحدة تحكم مطوري Azure." #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "تعذر إنشاء الحاوية" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "تعذر الوصول إلى الحاوية" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "لإكمال الترحيل / النسخ ، يجب عليك الآن تسجيل الدخول إلى الموقع البعيد واستعادة مجموعة النسخ الاحتياطي." #: src/backup.php:1901 msgid "the options table was not found" msgstr "لم يتم العثور على جدول الخيارات" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "لم يتم العثور على أي خيارات أو جدول sitemeta" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "دليل النسخ الاحتياطي غير قابل للكتابة (أو مساحة القرص ممتلئة) - من المتوقع أن تفشل عملية النسخ الاحتياطي لقاعدة البيانات قريبًا." #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "مطلوب لبعض موفري التخزين البعيد" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "لم يتم التثبيت" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "فئة التخزين" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "راجع إرشادات Google حول تسمية الجرافة باتباع هذا الرابط." #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "أدخل اسم ملف%sدلو ترغب في استخدامه هنا." #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "دلو" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "خلاف ذلك ، يمكنك تركه فارغًا." #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "ملاحظة: هذا مطلوب فقط إذا لم تكن قد أنشأت الحاوية بالفعل ، وترغب في أن يقوم UpdraftPlus بإنشائه لك." #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "أدخل معرف%sمشروع ترغب في استخدامه هنا." #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "اتبع هذا الرابط لوحدة تحكم Google API الخاصة بك ، وهناك قم بتنشيط واجهة برمجة تطبيقات التخزين وإنشاء معرف العميل في قسم الوصول إلى واجهة برمجة التطبيقات." #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "يجب عليك إدخال معرّف المشروع حتى تتمكن من إنشاء حاوية جديدة." #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "معرف المشروع" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "يجب عليك الحفظ والمصادقة قبل أن تتمكن من اختبار الإعدادات الخاصة بك." #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "لم تحصل بعد على رمز وصول من Google - تحتاج إلى تفويض اتصالك بـ Google Cloud أو إعادة تفويضه." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "ليس لديك حق الوصول إلى هذه المجموعة." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "جوجل كلاود" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "%sاستثناء الخدمة." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "أو لتكوين جداول أكثر تعقيدًا" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "هل أنت متأكد أنك ترغب في الإزالة%sمن UpdraftPlus؟" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "إلغاء" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "اختر الكل" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "إجراءات بناء على النسخ الاحتياطية المختارة" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "اضغط هنا للبحث داخل طرق التخزين البعيد عن أي مجموعات نسخ احتياطي موجودة (من أي موقع ، إذا كانت مخزنة في نفس المجلد)." #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "تمت إزالة مجموعات النسخ الاحتياطي:" #: src/admin.php:1012 msgid "Processing..." msgstr "يعالج..." #: src/admin.php:1010 msgid "For backups older than" msgstr "للنسخ الاحتياطية الأقدم من" #: src/admin.php:1009 msgid "week(s)" msgstr "أسبوع (أسابيع)" #: src/admin.php:1008 msgid "hour(s)" msgstr "ساعات)" #: src/admin.php:1007 msgid "day(s)" msgstr "أيام)" #: src/admin.php:1006 msgid "in the month" msgstr "في الشهر" #: src/admin.php:1005 msgid "day" msgstr "يوم" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "(بقدر ما تريد)" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "إضافة قاعدة احتفاظ إضافية ..." #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "يجب نشر قاعدة البيانات هذه على إصدار MySQL%sأو لاحقا." #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "تحدث هذه المشكلة بسبب محاولة استعادة قاعدة بيانات على إصدار MySQL قديم جدًا غير متوافق مع قاعدة البيانات المصدر." #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "يجب عليك ترقية MySQL لتتمكن من استخدام قاعدة البيانات هذه." #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "يستخدم النسخ الاحتياطي لقاعدة البيانات ميزات MySQL غير المتوفرة في إصدار MySQL القديم (%s) أن هذا الموقع يعمل عليه." #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "لا تعرف عنوان بريدك الإلكتروني ، أو نسيت كلمة المرور الخاصة بك؟" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "أدخل البريد الإلكتروني / كلمة المرور الخاصة بك لـ UpdraftPlus.Com هنا للاتصال:" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "إقرأ ال%sالأسئلة الشائعة هنا." #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "حدد هذا المربع لاستخدام تشفير جانب الخادم من Amazon" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "التشفير من جانب الخادم" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "إذا نسيت كلمة المرور الخاصة بك ، فانتقل إلى هنا لتغيير كلمة المرور الخاصة بك على updraftplus.com." #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "%sتم اختياره للتخزين البعيد ، لكنك غير متصل حاليًا." #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "يمكن الدفع بالدولار الأمريكي أو اليورو أو الجنيه الإسترليني عبر البطاقة أو PayPal." #: src/admin.php:982 msgid "Update quota count" msgstr "تحديث عدد الحصة النسبية" #: src/admin.php:981 msgid "Counting..." msgstr "عد..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "جاري قطع الاتصال ..." #: src/admin.php:978 msgid "Connecting..." msgstr "توصيل..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "تحديث الوضع الحالي" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "احصل على المزيد من الحصة" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "الاستخدام الحالي:" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "يمكنك الحصول على المزيد من الحصة هنا" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "خطأ: لا تتوفر لديك حصة تخزين كافية (%s) لتحميل هذا الأرشيف (%s) (%s)." #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "قطع الاتصال" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "حصة نسبية:" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "مالك Vault" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "أحسنت صنعًا - ليس هناك ما هو مطلوب للإعداد." #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "اذهب هنا للحصول على المساعدة" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "خلف..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "يمكن إلغاء الاشتراكات في أي وقت." #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "%sفي الربع" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "اعرض الخيارات" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "اضغط على زر للبدء." #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "Updraft Vault" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "فشل الحذف:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "أعاد محرك zip الرسالة:%s." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "بدون هذا الإذن ، لا يمكن لـ UpdraftPlus حذف النسخ الاحتياطية - يجب عليك أيضًا تعيين إعدادات \"الاحتفاظ\" لديك عالية جدًا لمنع رؤية أخطاء الحذف." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "السماح بالحذف" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "بدون هذا الإذن ، لا يمكنك التنزيل أو الاستعادة مباشرةً باستخدام UpdraftPlus ، وستحتاج بدلاً من ذلك إلى زيارة موقع ويب AWS." #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "السماح للتحميل" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "إذا كان الإرسال من موقع إلى آخر لا يناسبك ، فهناك ثلاث طرق أخرى - يرجى تجربة إحدى هذه الطرق بدلاً من ذلك." #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "يجب عليك التحقق من أن الموقع البعيد متصل بالإنترنت ، وليس بجدار ناري ، ولا يحتوي على وحدات أمان قد تمنع الوصول ، ولديه إصدار UpdraftPlus%sأو نشطًا لاحقًا وأن المفاتيح قد تم إدخالها بشكل صحيح." #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "المفاتيح الموجودة" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "مفتاحك الجديد:" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "تم إنشاء المفتاح بنجاح." #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "يوجد بالفعل مفتاح بهذا الاسم ؛ يجب عليك استخدام اسم فريد." #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "أرسل أيضًا هذه النسخة الاحتياطية إلى مواقع التخزين البعيدة النشطة" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "الموقع غير موجود" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "سيتم إرسال بيانات النسخ الاحتياطي إلى:" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "استعادة مجموعة النسخ الاحتياطية الموجودة على هذا الموقع" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "هذا الموقع ليس لديه نسخ احتياطية للاستعادة منها حتى الآن." #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "تم إجراء النسخ الاحتياطي بواسطة%s" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "طريقة التخزين هذه لا تسمح بالتنزيل" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "(تم استيراد مجموعة النسخ الاحتياطية من موقع بعيد)" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "موقع" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "تم إرسال النسخ الاحتياطي إلى موقع بعيد - غير متوفر للتنزيل." #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "يجب أن تتأكد من أن هذه مجموعة نسخ احتياطي مخصصة للاستخدام على موقع الويب هذا ، قبل الاستعادة (بدلاً من مجموعة نسخ احتياطي لموقع ويب غير ذي صلة)." #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "لم تكن مجموعة النسخ الاحتياطية هذه معروفة بواسطة UpdraftPlus ليتم إنشاؤها بواسطة تثبيت WordPress الحالي ، ولكن تم العثور عليها إما في التخزين البعيد ، أو تم إرسالها من موقع بعيد." #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "جارٍ اختبار الاتصال ..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "جارٍ الحذف ..." #: src/admin.php:991 msgid "key name" msgstr "اسم المفتاح" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "يرجى تسمية هذا المفتاح (على سبيل المثال ، حدد الموقع المخصص له):" #: src/admin.php:986 msgid "Creating..." msgstr "خلق..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "تلقي نسخة احتياطية من موقع بعيد" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "الصق المفتاح هنا" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "كيف أحصل على مفتاح الموقع؟" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "لإضافة موقع كوجهة للإرسال إليه ، أدخل مفتاح هذا الموقع أدناه." #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "أرسل نسخة احتياطية إلى موقع آخر" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "يرسل" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "إرسال إلى الموقع:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "لم يتم إضافة أي مواقع استقبال." #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "وهي لإرسال نسخ احتياطية إلى الموقع التالي:" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "تمت إضافة المفتاح بنجاح." #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "المفتاح الذي تم إدخاله لا ينتمي إلى موقع بعيد (إنه ينتمي إلى هذا الموقع)." #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "المفتاح الذي تم إدخاله تالف - يرجى المحاولة مرة أخرى." #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "كان طول المفتاح الذي تم إدخاله غير صحيح - يرجى المحاولة مرة أخرى." #: src/includes/class-remote-send.php:580 msgid "key" msgstr "مفتاح" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "ستحتاج جميع خوادم FTP تقريبًا إلى الوضع الخامل ؛ ولكن إذا كنت بحاجة إلى الوضع النشط ، فقم بإلغاء تحديد هذا." #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "مزاج سيء" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "المسار البعيد" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "كلمة مرور بروتوكول نقل الملفات" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "تسجيل الدخول عبر بروتوكول نقل الملفات" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "خادم بروتوكول نقل الملفات" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "يقوم UpdraftPlus Migrator بتعديل عملية الاستعادة بشكل مناسب ، لتلائم بيانات النسخ الاحتياطي للموقع الجديد." #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "\"الترحيل\" هو في النهاية نفس عملية الاستعادة - ولكن باستخدام أرشيفات النسخ الاحتياطي التي تقوم باستيرادها من موقع آخر." #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "إضافة موقع" #: src/admin.php:983 msgid "Adding..." msgstr "جارٍ الإضافة..." #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "لم يتم منح المطالبة - ربما تكون قد استخدمت بالفعل هذا الشراء في مكان آخر ، أو أن الفترة المدفوعة للتنزيل من موقع updraftplus.com قد انتهت صلاحيتها؟" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "لاستخدام هذه النسخة الاحتياطية ، يحتاج خادم قاعدة البيانات لديك إلى دعم ملف%sمجموعة الأحرف." #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "اذهب هنا لتغيير كلمة المرور الخاصة بك على updraftplus.com." #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "إذا كنت قد نسيت كلمة المرور الخاصة بك" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "اذهب هنا لإعادة إدخال كلمة المرور الخاصة بك." #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "بعد الضغط على هذا الزر ، سيتم إعطاؤك خيار اختيار المكونات التي ترغب في ترحيلها" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "لقد قمت بإجراء تغييرات على الإعدادات الخاصة بك ، ولم يتم حفظها." #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "ملحوظة%sليست حساسة لحالة الأحرف." #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "إذا أظهر OneDrive لاحقًا لك الرسالة \"unauthorized_client\" ، فهذا يعني أنك لم تدخل معرف عميل صالح هنا." #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "للحصول على مساعدة أطول ، بما في ذلك لقطات الشاشة ، اتبع هذا الرابط." #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "قم بإنشاء بيانات اعتماد OneDrive في وحدة تحكم مطور OneDrive الخاصة بك." #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "يجب عليك إضافة ما يلي باعتباره URI المعتمد لإعادة التوجيه في وحدة تحكم OneDrive (ضمن \"إعدادات واجهة برمجة التطبيقات\") عند مطالبتك بذلك" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "فشل التفويض:" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "ون درايف" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "يرجى إعادة تفويض الاتصال بجهاز%sالحساب." #: src/methods/email.php:110 msgid "configure it here" msgstr "قم بتكوينه هنا" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "لإزالة الكتلة ، يرجى الذهاب هنا." #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "لا تتذكر حفظ الإعدادات الخاصة بك." #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "أنت الآن تستخدم حساب مستخدم IAM للوصول إلى الحاوية الخاصة بك." #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "دلو S3" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "الصين (بكين) (مقيدة)" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "أمريكا الجنوبية (ساو باولو)" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "آسيا والمحيط الهادئ (طوكيو)" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "آسيا والمحيط الهادئ (سيدني)" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "آسيا والمحيط الهادئ (سنغافورة)" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "حكومة الولايات المتحدة الغربية (مقيدة)" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "غرب الولايات المتحدة (شمال كاليفورنيا)" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "غرب الولايات المتحدة (أوريغون)" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "منطقة التخزين S3" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "اسم مستخدم IAM جديد" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "مفتاح سر المسؤول" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "مفتاح وصول المسؤول" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "بعد ذلك ، يمكن استخدام بيانات اعتماد الوصول منخفضة الطاقة هذه ، بدلاً من تخزين مفاتيحك الإدارية." #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "سيتم استخدام هذه لإنشاء مستخدم جديد وزوج مفاتيح مع سياسة IAM المرفقة والتي ستسمح لها فقط بالوصول إلى الحاوية المشار إليها." #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "أدخل مفاتيح الوصول / السر الإدارية الخاصة بـ Amazon S3 (يجب أن يكون هذا زوجًا من المفاتيح يتمتع بحقوق كافية لإنشاء مستخدمين جدد ومستودعات) ، واسم مستخدم جديد (فريد) للمستخدم الجديد واسم مجموعة." #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "إنشاء مستخدم IAM جديد وحاوية S3" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "المفتاح السري:%s" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "مفتاح الوصول:%s" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "فشل في تطبيق سياسة المستخدم" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "فشلت عملية إنشاء مفتاح وصول المستخدم" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "فشلت عملية IAM (%s)" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "الصراع: هذا المستخدم موجود بالفعل" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "فشلت مصادقة AWS" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "لا يمكن إنشاء مستخدم AWS جديد ، نظرًا لاستخدام مجموعة أدوات AWS غير معروفة." #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "تحتاج إلى إدخال دلو" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "تحتاج إلى إدخال اسم مستخدم IAM جديد" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "تحتاج إلى إدخال مفتاح سر المسؤول" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "تحتاج إلى إدخال مفتاح وصول المسؤول" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "إذا كان لديك مستخدم مسؤول في AWS ، فيمكنك استخدام هذا المعالج لإنشاء مستخدم AWS (IAM) جديد بسرعة مع إمكانية الوصول إلى هذه المجموعة فقط (بدلاً من حسابك بالكامل)" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "لإنشاء مستخدم فرعي جديد لـ IAM ومفتاح وصول له حق الوصول إلى هذه المجموعة فقط ، قم بالترقية إلى Premium." #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "يعني هذا على الأرجح أنك تشارك خادم ويب مع موقع ويب تم اختراقه تم استخدامه في هجمات سابقة." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "يبدو أن عنوان IP لخادم الويب الخاص بك (%s) تم حظره." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "استجاب موقع UpdraftPlus.com بـ \"تم رفض الوصول\"." #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "ملحقات WooCommerce المميزة" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "مكون إضافي أمان ثنائي مجاني" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "المزيد من الإضافات عالية الجودة" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus بريميوم" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "رفض (ل%sالشهور)" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "(في نفس وقت النسخ الاحتياطي للملفات)" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "لم يتم الانتهاء من النسخ الاحتياطي" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "الاشتراك في الرسائل الإخبارية" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "اتبع هذا الرابط للتسجيل في النشرة الإخبارية UpdraftPlus." #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "نسخ ملفات وقواعد بيانات غير تابعة لـ WordPress" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "اطرح سؤالا قبل البيع" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "الأسئلة الشائعة حول ما قبل البيع" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "قائمة الميزات الكاملة" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "النسخ الاحتياطي (عند الاقتضاء) الإضافات والقوالب وقاعدة بيانات WordPress مع UpdraftPlus قبل التحديث" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "%sخطأ: فشل التهيئة" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "أو" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "يتم قبول مفاتيح تنسيق PKCS1 (رأس PEM: BEGIN RSA PRIVATE KEY) ومفاتيح تنسيق XML و PuTTY." #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "مستأجر" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "هذا يجب أن يكون v2 (Keystone) مصادقة URI؛ الإصدار 1 (Swauth) غير مدعوم." #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "عنوان مسؤول موقعك" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "حدد هذا المربع لإرسال تقرير أساسي إلى" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "يدوي" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "خطا (%s) حدث:" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "تغيير إعدادات القفل" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "أي ملف / دليل آخر على الخادم الخاص بك ترغب في نسخه احتياطيًا" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "لمزيد من الميزات والدعم الشخصي ، تحقق من" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "عبارة فك تشفير قاعدة البيانات" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "النسخ الاحتياطي التلقائي قبل التحديث" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "نواة ووردبريس (فقط)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "لفتح الدعم ، يرجى الاتصال بمن يدير UpdraftPlus نيابة عنك." #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "للوصول إلى إعدادات UpdraftPlus ، يرجى إدخال كلمة المرور لفتح القفل" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "كلمة المرور غير صحيحة" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "الغاء القفل" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "خلاف ذلك ، سيتم عرض الارتباط الافتراضي." #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "سيتم عرض عنوان URL هذا لأي شخص يرى شاشة القفل - أدخل عنوان موقع ويب أو عنوان بريد إلكتروني." #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "دعم URL" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "طلب كلمة المرور مرة أخرى بعد" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "%sأسابيع" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "أسبوع 1" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "%sساعات" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "1 ساعة" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "يرجى التأكد من أنك قمت بتدوين كلمة المرور!" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "قفل الوصول إلى صفحة إعدادات UpdraftPlus" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "تم تغيير كلمة مرور المسؤول." #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "تم تعيين كلمة مرور المسؤول." #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "تمت الآن إزالة كلمة مرور المسؤول." #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "(تعرف على المزيد حول هذا الخيار المهم)" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "لاحظ أنه بعد المطالبة بوظائفك الإضافية ، يمكنك إزالة كلمة مرورك (ولكن ليس عنوان البريد الإلكتروني) من الإعدادات أدناه ، دون التأثير على وصول هذا الموقع إلى التحديثات." #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "سجل عرض" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "بيانات النسخ الاحتياطي (انقر للتنزيل)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "تاريخ النسخ الاحتياطي" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "والاحتفاظ بهذه النسخ الاحتياطية المجدولة" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "نسخ احتياطي تزايدي؛ قاعدة النسخ الاحتياطي:%s" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "للقدرة على تأمين الوصول إلى إعدادات UpdraftPlus بكلمة مرور ، قم بالترقية إلى UpdraftPlus Premium." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "تحميل الملفات إلى UpdraftPlus." #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "تم تعطيل زر \"النسخ الاحتياطي الآن\" لأن دليل النسخ الاحتياطي غير قابل للكتابة (انتقل إلى علامة التبويب \"الإعدادات\" وابحث عن الخيار المناسب)." #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "التسمية الاحتياطية:" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "خطأ: فشل قراءة الملف غير المتوقع" #: src/backup.php:4389 msgid "check your log for more details." msgstr "تحقق من السجل الخاص بك لمزيد من التفاصيل." #: src/backup.php:4385 msgid "A zip error occurred" msgstr "حدث خطأ في الرمز البريدي" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "التسمية الخاصة بك لهذه النسخة الاحتياطية (اختياري)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "لقد أدخلت عنوان بريد إلكتروني لم يتعرف عليه UpdraftPlus.Com" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "كان عنوان بريدك الإلكتروني صالحًا ، ولكن لم يتعرف UpdraftPlus.Com على كلمة مرورك." #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "تحتاج إلى تقديم عنوان بريد إلكتروني وكلمة مرور" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "إذا كنت ترغب في استعادة نسخة احتياطية متعددة المواقع ، فيجب عليك أولاً إعداد تثبيت WordPress كموقع متعدد المواقع." #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "قد فعلت" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "تم تخطيه (ليس في القائمة)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "جدول البحث والاستبدال:" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "أدخل قائمة مفصولة بفواصل ؛ خلاف ذلك ، اتركه فارغا لجميع الجداول." #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "هذه الجداول فقط" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "صفوف لكل دفعة" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "لم تقم بعد بالاتصال بحسابك على UpdraftPlus.Com." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "تحتاج إلى الاتصال لتلقي التحديثات المستقبلية لـ UpdraftPlus." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "أي طلبات دعم للقيام بها%sيجب أن تثار مع شركة استضافة الويب الخاصة بك." #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "هذا أحدث بشكل ملحوظ من الخادم الذي تستعيده الآن (version%s)." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "فيسبوك" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "تويتر" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "UpdraftPlus موجود على وسائل التواصل الاجتماعي - تحقق من موقعنا!" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "لماذا أرى هذا؟" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "يتم تعيين موقع هذا الدليل في إعدادات الخبراء ، في علامة التبويب \"الإعدادات\"." #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "اضغط هنا للبحث داخل دليل UpdraftPlus (في مساحة استضافة الويب الخاصة بك) عن أي مجموعات نسخ احتياطي جديدة قمت بتحميلها." #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "بدء النسخ الاحتياطي" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "أنت تستخدم ملف%sخادم الويب ، ولكن لا يبدو أنه يحتوي على امتداد%sوحدة محملة." #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "ستحتاج إلى التشاور مع مزود استضافة الويب الخاص بك لمعرفة كيفية تعيين الأذونات لمكوِّن WordPress الإضافي للكتابة إلى الدليل." #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "ما لم تكن لديك مشكلة ، يمكنك تجاهل كل شيء هنا تمامًا." #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "لا يمكن تحميل هذا الملف" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "ستجد المزيد من المعلومات حول هذا في قسم الإعدادات." #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "دعم الإضافات الاحتياطية:%s" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "هل كانت هذه نسخة احتياطية تم إنشاؤها بواسطة مكون إضافي احتياطي مختلف؟ إذا كان الأمر كذلك ، فقد تحتاج أولاً إلى إعادة تسميته حتى يمكن التعرف عليه - يرجى اتباع هذا الرابط." #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "أخبرني المزيد عن النسخ الاحتياطية المتزايدة" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "حد الذاكرة" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "استعادة" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "تدريجي" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "نسخة احتياطية كاملة" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "يتم الآن متابعة التحديثات ..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(سجل عرض...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "نجح النسخ الاحتياطي" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "كل%sساعات" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "البحث والاستبدال" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "يذهب" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "لا يمكن التراجع عن عملية بحث / استبدال - هل أنت متأكد أنك تريد القيام بذلك؟" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "هذا يمكن أن يدمر موقعك بسهولة ؛ لذلك ، استخدمه بعناية!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "استبدل ب" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "بحث عن" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "بحث / استبدال قاعدة البيانات" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "مصطلح البحث" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "حدثت أخطاء كثيرة جدًا في قاعدة البيانات - إحباط" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "اقرا المزيد من%s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "تقدم لك تقارير البريد الإلكتروني التي تم إنشاؤها بواسطة UpdraftPlus (الإصدار المجاني) آخر أخبار UpdraftPlus.com" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "ملاحظة: إذا قمت بتثبيت UpdraftPlus على العديد من مواقع WordPress ، فلا يمكنك إعادة استخدام مشروعك ؛ يجب عليك إنشاء واحدة جديدة من وحدة تحكم Google API الخاصة بك لكل موقع." #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "لم تقم بعمل أي نسخ احتياطية حتى الآن." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "خيارات قاعدة البيانات" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s(%sمستخدم)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "مساحة القرص الحرة في الحساب:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "تم تعطيل هذا الزر لأن دليل النسخ الاحتياطي الخاص بك غير قابل للكتابة (راجع الإعدادات)." #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "لتغيير أي من الإعدادات الافتراضية لما تم نسخه احتياطيًا ، ولتكوين النسخ الاحتياطية المجدولة ، ولإرسال النسخ الاحتياطية إلى التخزين البعيد (موصى به) ، والمزيد ، انتقل إلى علامة تبويب الإعدادات." #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "لعمل نسخة احتياطية ، فقط اضغط على زر النسخ الاحتياطي الآن." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "مرحبًا بك في UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "اختبارات..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "اختبار الاتصال..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "بادئة الجدول" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "قاعدة بيانات خارجية احتياطية" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "إضافة قاعدة بيانات خارجية للنسخ الاحتياطي ..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "إذا كانت قاعدة البيانات الخاصة بك تتضمن جداول إضافية ليست جزءًا من موقع WordPress هذا (ستعرف ما إذا كانت هذه هي الحالة) ، فقم بتنشيط هذا الخيار لعمل نسخة احتياطية منها أيضًا." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "نسخ احتياطي للجداول بخلاف WordPress الموجودة في نفس قاعدة البيانات مثل WordPress" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "سيؤدي هذا الخيار إلى تخزين الجداول في قاعدة بيانات MySQL والتي لا تنتمي إلى WordPress (يتم تحديدها من خلال افتقارها إلى بادئة WordPress التي تم تكوينها ،%s) ليتم نسخها احتياطيًا أيضًا." #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "فشل الاتصال." #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "نجح الاتصال." #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "%sإجمالي الجدول (الجداول) التي تم العثور عليها ؛%sبالبادئة المشار إليها." #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "%sتم العثور على الجدول (الجداول)." #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "فشلت محاولة الاتصال بقاعدة البيانات" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "اسم قاعدة البيانات" #: src/addons/moredatabase.php:115 msgid "host" msgstr "يستضيف" #: src/addons/moredatabase.php:113 msgid "user" msgstr "مستخدم" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "قاعدة بيانات خارجية (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "اتبع هذا الرابط لوحدة تحكم Google API الخاصة بك ، وهناك قم بتنشيط Drive API وإنشاء معرف العميل في قسم الوصول إلى واجهة برمجة التطبيقات." #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "فشل في الوصول إلى المجلد الأصل" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "ومع ذلك ، فشلت محاولات الوصول اللاحقة:" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "قاعدة بيانات خارجية" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "سيؤدي هذا أيضًا إلى إظهار إخراج التصحيح من جميع المكونات الإضافية على هذه الشاشة - من فضلك لا تتفاجأ برؤية هذه" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "المزيد من قواعد البيانات الاحتياطية" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "أولاً ، أدخل مفتاح فك التشفير" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "يمكنك فك تشفير قاعدة البيانات المشفرة يدويًا هنا." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "يمكنه أيضًا نسخ قواعد البيانات الخارجية احتياطيًا." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "لا تريد أن يتم التجسس عليها؟ يمكن لـ UpdraftPlus Premium تشفير النسخة الاحتياطية لقاعدة البيانات الخاصة بك." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "استخدم UpdraftPlus Premium" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "يمكن استعادة قاعدة بيانات WordPress فقط ؛ ستحتاج إلى التعامل مع قاعدة البيانات الخارجية يدويًا." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "حدث خطأ في الأول%sالأمر - إجهاض المدى" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "فشل الاتصال: تحقق من تفاصيل الوصول الخاصة بك ، وأن خادم قاعدة البيانات يعمل ، وأن اتصال الشبكة غير محمي بجدار حماية." #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "فشلت محاولة الاتصال بقاعدة البيانات." #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "تحذير: عنوان URL الرئيسي لقاعدة البيانات (%s) يختلف عما توقعناه (%s)" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "في%s، أسماء المسار حساسة لحالة الأحرف." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "إذا تركته فارغًا ، فسيتم وضع النسخة الاحتياطية في جذر ملف%s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "على سبيل المثال%s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "أدخل مسار ملف%sالمجلد الذي ترغب في استخدامه هنا." #: src/methods/openstack2.php:257 msgid "Container" msgstr "حاوية" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "اترك هذا فارغًا ، وسيتم اختيار الإعداد الافتراضي." #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "مستأجر" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "اتبع هذا الرابط لمزيد من المعلومات" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "المصادقة URI" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "فشل في التحميل%s" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "فشل في التحميل" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "فشل في قائمة الملفات" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "فشل التحميل%s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "نجاح:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "بعد، بعدمالقد قمت بحفظ إعداداتك (بالنقر فوق \"حفظ التغييرات\" أدناه) ، ثم عد إلى هنا مرة واحدة واتبع هذا الرابط لإكمال المصادقة باستخدام%s." #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "بصندوق الإسقاط" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "المصادقة مع%s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "خطأ في تنزيل الملف البعيد: فشل التنزيل" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "منطقة:%s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "%sخطأ - وصلنا إلى الحاوية ، لكننا فشلنا في إنشاء ملف بداخلها" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "ال%sلم يتم العثور على الكائن" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "%sخطأ - فشل في الوصول إلى الحاوية" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "اسم صاحب الحساب:%s." #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "لتتمكن من تعيين اسم مجلد مخصص ، استخدم UpdraftPlus Premium." #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "إنه رقم معرف داخلي في Google Drive" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "مجلد" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "%sالتحميل: فشل: الملف غير موجود" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "اسم:%s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "ملفات قائمة Google Drive: فشل في الوصول إلى المجلد الأصل" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "لك%sإصدار:%s." #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "سوف تحتاج إلى مطالبة شركة استضافة الويب الخاصة بك بالترقية" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "طريقة التخزين عن بعد هذه (%s) يتطلب PHP%sأو لاحقا." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "مكالمة" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "أحضر" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "تتطلب هذه الميزة%sإصدار%sأو لاحقا" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "فشل فك ضغط الأرشيف" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "خطأ - فشل تحميل الملف" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "إعادة فحص المجلد المحلي لمجموعات النسخ الاحتياطي الجديدة" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "يجب عليك تحديث UpdraftPlus للتأكد من أن لديك إصدارًا تم اختبار توافقه." #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "تم اختباره حتى الإصدار%s." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "لم يتم اختبار الإصدار المثبت من UpdraftPlus Backup / Restore على إصدارك من WordPress (%s)." #: src/addons/sftp.php:646 msgid "password/key" msgstr " الرقم السري/المفتاح" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "مفتاح" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "للدخول يجب ادخال إما الرقم السري أو المفتاح، وليس كلاهما." #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "المفتاح الذي أدخلته غير صالح، أو أنه فاسد." #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "الرقم السري/المفتاح الخاص بـ SCP/SFTP" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "ملفات النسخة الإحتياطية (ولدت من طرف: %s.) " #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "الملفات وقاعدة البيانات للووردبريس بالنسخة الإحتياطية (ولدت من طرف: %s.)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "ولدت النسخة الإحتياطية من طرف: %s." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "قاعدة بيانات (ولدت من طرف: %s.) " #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "مصدر غير معروف" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "إعادة فحص الإستضافة الإستضافة السحابية" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "رفع ملفات النسخة الإحتياطية" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "تم خلق النسخة الإحتياطية من طرف %s, ويمكن استيرادها." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "إقرأ هذه الصفحة لمعرفة المزيد وإمكانية الإصلاح." #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "إن كانت هذه النسخة الإحتياطية خلقت بإستخدام تطبيق آخر، يمكن لإضافة UpdraftPlus Premium مساعدتك في حل المشكلة." #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "مع ذلك، ملفات UpdraftPlus المضغوطة هي ملفات zip/SQL عادية - فإن كنت تعتقد أن الملف هو على الصيغة الصحيحة، المرجو إعادة تسميته بالإسم الموصى به." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "هذا الملف لا نعتقد أنه نسخة احتياطية من UpdraftPlus ( كالملفات المضغوطة بصيغتي .zip أو . gz التي لها أسماء مثل: backup_(time)_(site name)_(code)_(type).(zip|gz))." #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "النسخة الإحتياطية خلقت من جهة غير معروفة (%s)، لا يمكن استيرادها." #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "مجلد (wp-content) غير موجود البثة بهذا الملف المضغوط." #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "هذه النسخة من UpdraftPlus لا تستطيع التعامل مع نوع النسخ الإحتياطية هذا." #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "أبدى %s إجابة HTTP غير متوقعة: %s" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "وحدة UpdraftPlus لطريقة الوصول للملف (%s) غير مدعومة من قبل الملفات المسرودة" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "لم يتم العثور على الإعدادات" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "تمت إضافة واحدة أو أكثر من النسخ الإحتياطية التي وجدناها بالإستضافة السحابية، لاحظ أن هذه النسخ لن تتم مسحها أوتوماتيكيا من الإعادادات الإفتراضية، لو أو متى شئت حذفها يجب عليك حذفها يدويا." #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "جاري فحص الإستضافة السحابية والمساحة التخزينية المحلية بحثا عن نسخ احتياطية..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "(قراءة المزيد)" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "تسجيل كافة الرسائل بسجل الرسائل (من المحتمل أنه فقط مديري الخادم من سيغب في هذه العملية)" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "لا توجد نسخ احتياطية للمجلدات: لم نجد أي شيء لعمل نسخة احتياطية" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "حذف" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "الأسئلة الشائعة %s الأخرى." #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "تحقق من هذا الخيار لتتمكن من تلقي المزيد من المعلومات بر الإيميل لعمليات النسخ الإحتياطي - مفيدة جدا ان كان هناك مشاكل بالعملية." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "شركة الإستضافة لموقعك يجب أن تُفعل هذه الوضائف %s قبل أن نتمكن من العمل" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "نسخة PHP المنصبة تحمل هذه الوظائف الغير مفعلة: %s" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "خادم FTP مشفر (تشفير واضح)" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "خادم FTP مشفر (تشفير غير واضح)" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "خادم FTP غير مشفر اعتيادي" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "نسخة احتياطية أنشأها:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "متوفر للطلب من هذا الموقع" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "للحفاظ على ولوجك للدعم الفني، من فضلك جدد اشتراكك." #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "وصولك المدفوع للدعم الفني الخاص بـ UpdraftPlus اقتربت نهاية صلاحيته." #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "لاستعادة الوصول الخاصة بك، يرجى تجديد اشتراكك." #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "وصولك المدفوع للدعم الفني بـ UpdraftPlus انتهت صلاحيته." #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "وصولك المدفوع لتحديثات UpdraftPlus بهذا الموقع اقتربت نهاية صلاحيته." #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "للحفاظ على ولوجك لخدماتنا المدفوعة (من ضمنها التحديثات المستقبلية والتوافق مع نسخ ووردبريس المستقبلية) والدعم الفني، من فضلك جدد اشتراكك." #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "وصولك المدفوع لتحديثات UpdraftPlus على %s إضافة بهذا الموقع اقتربت نهاية صلاحيته." #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "وصولك المدفوع لتحديثات UpdraftPlus على %s إضافة بهذا الموقع انتهت صلاحيته." #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "للحفاظ على ولوجك للتحديثات (من ضمنها التحديثات المستقبلية والتوافق مع نسخ ووردبريس المستقبلية) والدعم الفني، من فضلك جدد اشتراكك. " #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "استبعاد من لوحة التحكم (لمدة %s أسبوع)" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "نجاح محاولة التراجع من الضغط المزدوج" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "فشل محاولة التراجع من الضغط المزدوج" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "يبدو أن ملف قاعدة البيانات قد تم ضغطه مرتين - نعتقد أن الموقع الذي قمتم بتحميل الملف منه يحمل خادم سيرفر غير مهيء بشكل جيد" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "ثوابت" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "فشل في فتح ملف قاعدة البيانات للقراءة:" #: src/backup.php:1645 msgid "No database tables found" msgstr "لم نجد أي جداول لقاعدة البيانات" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "فضلا انتظر محاولة إعادة الجدولة" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "حساب ممتلئ: حسابك %s يحمل فقط %d بايت متبقية، لكن الملف الذي نقوم برفعه حجمه %d بايت متبقية (الحجم الكلي: %d بايت)" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "أخطاء حدثت:" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "لتحميل ملف السجل لهذه العملية تابع هذا الرابط (ستحتاج هذا الملف في أي عملية طلب للدعم)" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "تابع هذه التعليمات أيضا." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "استرجاع (إذا لزم الأمر) وإعداد ملفات النسخ الاحتياطي ..." #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "مقدار الوقت المسموح به لإضافات وورد بالتشغيل منخفض جدا (%s ثانية) - يجب زيادته لتجنب فشل النسخ الاحتياطي (استشر خدمة الزبناء الخاصة بشركة الإستضافة الخاص بك لمزيد من المساعدة - إعدادات max_execution_time PHP، و القيمة الموصى بها هي %s ثانية أو أكثر)" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "تم تعطيل هذه الإضافة: %s: يمكك اعادة تفعيلها عندما تكون مستعد." #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "انتهى توقيت الإتصال %s، إذا كنت دخلت الملقم بشكل صحيح، إذا فهذا الخطأ عادة ما يكون سببه جدار حماية قد حظر الاتصال - يجب أن تحقق من المشكلة مع شركة استضافة المواقع الخاصة بك." #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "رسائل:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "تم العثور على خط SQL أكبر من الحد الأقصى لحجم الحزمة ولا يمكن تقسيمها، هذا الخط لن نتمكن من معالجته، وسنقوم بإبعاده: %s" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "المجلد غير متوفر" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "عنوان بريد إلكتروني جديد للعضو" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "اسم مستخدم جديد" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "مفتاح API الخاص بالمدير" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "اسم المستخدم للمدير" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "حساب الولايات المتحدة أو بريطانيا راك سبيس" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "قم بإدخال أسم/مفتاح API الخاص بك لخدمة Rackspace (بحيث يمكن مصادقة Rackspace لإنشاء مستخدمين جدد)، وأدخل اسم كستخدم جديد (فريد) وعنوان بريد إلكتروني للمستخدم الجديد واسم الحاوية." #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "خلق مستخدم وحاوية جديدة لمفتاح API " #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "مفتاح API: %s" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "كلمة السر: %s" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "اسم المستخدم: %s" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "فشل عملية رفع الملفات للخدمة السحابية (%s)" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "خطأ: اسم المستخدم أو البريد الإلكتروني مسجل مسبقا" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "تحتاج إلى إدخال عنوان بريد إلكتروني صالح جديد" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "تحتاج إلى إدخال حاوية" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "تحتاج إلى إدخال اسم مستخدم جديد" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "تحتاج إلى إدخال مفتاح API المشرف" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "تحتاج إلى إدخال اسم مستخدم مشرف" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "إنشاء مستخدم API جديدة مع الوصول إلى هذه الحاوية فقط (بدلا من حسابك بالكامل)" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "حاوية الملفات السحابية" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "مفتاح API للملفات السحابية" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "لإنشاء مستخدم فرعي ومفتاح API جديد لديه صلاحيات الوصول فقط إلى هذه الحاوية، قم بإستخدام هذه الإضافة." #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "اسم المستخدم للخدمة السحابية" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "لندن (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "هونغ كونغ (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "ولاية فرجينيا الشمالية (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "شيكاغو (ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "سيدني (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "دالاس (DFW) (الافتراضي)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "منطقة الملفات السحابة" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "الحسابات المنشأة بموقع rackspacecloud.com هي حسابات أمريكية، الحسابات المنشأة بموقع rackspace.co.uk هي حسابات بريطانية" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "حساب Rackspace بالولايات المتحدة أو المملكة المتحدة" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "الحسابات المنشأة بموقع rackspacecloud.com هي حسابات أمريكية، الحسابات المنشأة بموقع rackspace.co.uk هي حسابات بريطانية " #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "فشل التفويض (راجع معلوماتك)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "حدث خطأ غير معروف عند محاولة الاتصال بـ UpdraftPlus.Com" #: src/admin.php:965 msgid "Create" msgstr "خلق" #: src/admin.php:925 msgid "Trying..." msgstr "اعادة المحاولة..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "كلمة المرور الخاصة بمستخدم RackSpace هي (هذا لن يظهر مرة أخرى):" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "خطأ بالبيانات:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "النسخة الإحتياطية لا توجد بتاريخ النسخ" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "تقسيم الخط لتفاذي الحجم الأقصى للحزم" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "لا يمكن نقل البيانات بعيدا." #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "نقل البيانات القديمة بعيدا ..." #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "إضافة عنوان آخر ..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "أدخل عناوين بريد الكتروني هنا لإرسال تقرير لها عند انتهاء مهمة النسخ الاحتياطي." #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "%s الاختباري:%s" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "ملفات:%s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "استخدام قسم \"التقارير\" لتكوين عناوين البريد الإلكتروني ليتم استخدامها." #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "معلومات التصحيح" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "تحميلها على:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "الوقت المستغرق:" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "تحذيرات" #: src/addons/reporting.php:223 msgid "Errors" msgstr "أخطاء" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "أخطاء / تحذيرات:" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "يحتوي على:" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "بدأ النسخ الاحتياطي:" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "تقرير النسخ الاحتياطي" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "%d ساعة،%d دقيقة، %d ثانية" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "%d الأخطاء، %d تحذيرات" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "%s مصادقة" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "%s خطأ: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "%s الشعار" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "لم ترسل الاستجابة المتوقعة - تحقق من ملف السجل الخاص بك لمزيد من التفاصيل" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "وحدة PHP %s غير منصبة - من فضلك قم بمراسلة شركة الإستضافة لتمكينها" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "سيتم استخدام عنوان البريد الإلكتروني الخاص بالمشرف (%s)." #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "الإتصال" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(الإصدار: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "تحقق من حجم الملفات المسموح به بخدمة الإيميل، تقريبا %s ميجا، أي نسخ احتياطية أكبر من هذا الحجم لن تصلك أبدا." #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "آخر التحديثات:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "تحتوي النسخة الإحتياطية على:" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "نسخ احتياطي: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "تم إرفاق ملف السجل بهذا البريد الإلكتروني." #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "خطأ غير معروف / غير متوقع - يرجى رفع طلب دعم" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr " قاعدة البيانات فقط (لن يتم خلق نسخ احتياطية للملفات)" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "قاعدة بيانات (لم يتم إكمال نسخ الملفات احتياطيا)" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "الملفات فقط (لن يتم خلق نسخ احتياطية لقاعدة البيانات)" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "ملفات (لم يتم إكمال نسخ قاعدة بيانات احتياطيا)" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "ملفات وقواعد البيانات" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "(هذا ينطبق على جميع الإضافات للنسخ الاحتياطي لووردبريس ما لم تكن برمجة من أجل التوافق مع تعدد المواقع)." #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "عند عدم الترقية، سيقوم UpdraftPlus بالسماح لكل مدير بالمدونة بالتعديل على خيارات الإضافة للخسن الإحتياطي (وبالتالي الوصول للبيانات، بما في ذلك كلمات السر) وإستعادة (مع امكانية التعديل، مثال: كلمات السر) الشبكة بالكامل." #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "نسخة الووردبريس هذه تخدم مواقع عديدة (شبكة a.k.a.)." #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "تحذير UpdraftPlus :" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "(أو قم بالاتصال باستخدام النموذج على هذه الصفحة إذا كنت قد اشتريته بالفعل)" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "يرجى اتباع هذا الرابط لتحديث البرنامج المساعد من أجل تفعيله" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "يرجى اتباع هذا الرابط لتحديث البرنامج المساعد من أجل الحصول عليه" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "آخر" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "الإصدار: %s" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "كنت قد حصلت عليه" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "دعم UpdraftPlus" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "تحديث يحتوي على الإضافة الخاص بك متاح لـ UpdraftPlus - يرجى اتباع هذا الرابط للحصول عليه." #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "اضافات UpdraftPlus" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "يتوفر تحديث لUpdraftPlus - يرجى اتباع هذا الرابط للحصول عليه." #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "رد UpdraftPlus.Com، ولكننا لم نفهم الإستجابة " #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "لم يتم التعرف على عنوان البريد الإلكتروني وكلمة المرور عن طريق UpdraftPlus.Com" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "لا يمكن فهم إستجابة الموقع UpdraftPlus.Com (البيانات: %s)" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "رد UpdraftPlus.Com، ولكننا لم نفهم الإستجابة" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "فشلنا في الاتصال بنجاح إلى UpdraftPlus.Com" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "التقارير" #: src/admin.php:5927 msgid "Options (raw)" msgstr "خيارات (الخام)" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "إرسال تقرير فقط عندما تكون هناك تحذيرات / أخطاء" #: src/restorer.php:3052 msgid "Content URL:" msgstr "رابط المحتوى:" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "يجب عليك التحقق من أذونات الملف في تركيب وورد الخاص بك" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "المساحة الحرة فى حساب الاستضافة الخاص بك قليلة جدا - فقط متبقى %s ميجا بايت" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "كمية مقدار الذاكرة (RAM) المسموحة ل PHP قليلة جدا (%s ميجابايت) - يجب عليك زيادتها لتفادى مشاكل قلة الذاكرة (تحدث مع الاستضافة الخاصة بك لمزيد من المساعدة)" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "ادارة الأضافات" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "شراء" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "الحصول علية من متجر UpdraftPlus.Com" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "تنشيطة على هذا الموقع" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "لديك شراء غير فعال" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "تعيين إلى هذا الموقع" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "متاح لهذا الموقع (عن طريق الأضافات المشتراة)" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "(على ما يبدو انة اصدار قبل الاصدار الرسمى او اصدار مسحوب)" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "اذهب هنا" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "هل انت بحاجة للحصول على الدعم؟" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "حدث خطأ عند محاولة استرداد الأضافات الخاصة بك." #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "المطالبة لم تمنح - بيانات تسجيل الدخول لحسابك خاطئة" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "الرجاء الأنتظار بينما نقوم بمراجعة المطالبة..." #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "حدث خطأ عند محاولة الأتصال ب UpdraftPlus.Com:" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "أنك حاليا غير متصل بحسابك فى UpdraftPlus.Com." #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "اذا كنت قد قمت بشراء اضافة جديدة, ثم اتبع هذا الرابط لتحديث اتصالك" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "انت حاليا متصل بحسابك فى UpdraftPlus.Com." #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "هل ترغب فى معرفة المزيد عن تأمين كلمة السر فى UpdraftPlus.Com؟ اقرأ عنها هنا." #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "هل نسيت التفاصيل الخاصة بك؟" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "لم تملك حساب بعد (انة مجانى)؟ احصل علية من هنا!" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "ربط مع حساب UpdraftPlus.Com الخاص بك" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "على ما يبدو انة لديك المكون الأضافى Updraft مثبت - ربما تم تثبيتة بطريقة خاطئة؟" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "اذهب هنا لبدء تثبيته." #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "لم يتم تثبيت UpdraftPlus حتى الآن." #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "اذهب هنا لتنشيطه." #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "UpdraftPlus لم يتم تنشيطة حتى الأن." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "اذهب هنا للاتصال." #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "حتى الأن انت غير متصل بحسابك فى UpdraftPlus.Com, لتتمكن من استخدام الأضافات اللتى قمت بشرائها." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "بدون ذلك, التشفير سيكون ابطأ بكثير." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "خادم الويب الخاص بك ليس بة الوحدة %s مثبتة." #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "(على ما يبدو انة تمت المصادقة , على الرغم من ذلك يمكنك المصادقة مرة اخرى لتحديث وصولك اذا كانت هناك مشكلة)." #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "اسقاط ملفات النسخ الاحتياطى هنا" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "اعاد خادم الويب برمز خطأ (حاول مجددا, او قم بالتحقق من سجلات خادم الويب الخاص بك)" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "إذا قمت باستبعاد كل من قاعدة البيانات والملفات, فقد قمت بأستبعاد كل شئ !" #: src/restorer.php:3046 msgid "Site home:" msgstr "الصفحة الرئيسية للموقع:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "خيارات التخزين البعيد" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(السجلات يمكن العثور عليها فى صفحة اعدادات UpdraftPlus كالمعتاد)..." #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "تذكر هذا الاختيار في المرة القادمة (لايزال لديك الفرصة لتغييرة)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "فشل التحميل" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "يمكنك أن ترسل نسخة احتياطية لأكثر من جهة واحدة مع الإضافة." #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "قراءة المزيد عن كيفية عمل ذلك ..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "فشل:تمكنا من تسجيل الدخول، لكنه فشل في إنشاء ملف في ذلك الموقع بنجاح." #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "فشل:لقد تمكنا من تسجيل الدخول والانتقال إلى الدليل المشار إليه،لكنه فشل في إنشاء ملف في ذلك الموقع بنجاح." #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "استخدام SCP بدلا من SFTP" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "اعداد مستخدم SCP/SFTP" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "اعداد استضافة SCP/SFTP" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "محاولة ارسال النسخ الأحتياطى عن طريق البريد الألكترونى فشلت (من المحتمل ان يكون ملف النسخ الاحتياطى اكبر من المساحة المسموح بها فى البريد)" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "النسخ الأحتياطى من: %s" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "اعدادات نتيجة اختبار %s" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(غير منتهي)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "اذا كنت ترى اكثر من نسخة احتياطية, ومن ثم انة من المحتمل ان هذا بسبب اعدادات حذف ملفات النسخ الاحتياطى القديمة لم يتم حذفها حتى اكتمال نسخة احتياطية جديدة." #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "لا تقم بوضعه داخل الإضافات أو دليل الإضافات، لأن ذلك سوف يسبب الإعادة (نسخة احتياطية من نسخة احتياطية من نسخة احتياطية من......)." #: src/admin.php:3843 msgid "Job ID: %s" msgstr "رقم الوظيفة: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "آخر نشاط: منذ %ss" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "غير معروف" #: src/admin.php:3756 msgid "Backup finished" msgstr "الانتهاء من النسخ الاحتياطي" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "برجاء الأنتظار حتى الوقت المحدد لأعادة المحاولة بسبب الأخطاء" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "تلقيم مجموعات النسخ الاحتياطي القديم" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "تحميل الملفات للمخزن البعيد" #: src/admin.php:3803 msgid "Encrypted database" msgstr "قاعدة بيانات مشفرة" #: src/admin.php:3795 msgid "Encrypting database" msgstr "تشفير قاعدة البيانات" #: src/admin.php:3769 msgid "Created database backup" msgstr "تم انشاء النسخ الاحتياطى لقاعدة البيانات" #: src/admin.php:3782 msgid "table: %s" msgstr "الجدول: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "انشاء النسخ الاحتياطى لقاعدة البيانات" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "تم انشاء ملف النسخ الاحتياطى zips" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "انشاء ملف النسخ الاحتياطى zips" #: src/admin.php:3706 msgid "Backup begun" msgstr "بدأ النسخ الاحتياطى" #: src/restorer.php:1563 msgid "file" msgstr "ملف" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "مجلد" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "UpdraftPlus يحتاج لأنشاء %s فى دليل محتوى موقعك, لكنة فشل - من فضلك قم بالتحقق من الصلاحيات وقم بتفعيلها (%s)" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "لم ينتهي النسخ الاحتياطي؛ وتم جدولة الأستئناف" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "زوار موقع الويب الخاص بك و UpdraftPlus فى كثير من الأحيان لا يحصلون على الموارد التى يأملونها; من فضلك اقرأ هذة الصفحة:" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "المضي قدما مع التحديث" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "لا تقم بالخروج بعد الضغط على زر البدأ - انتظر حتى انتهاء النسخ الاحتياطى" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "UpdraftPlus النسخ الأحتياطى التلقائى" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "حدثت الأخطاء:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "إنشاء النسخ الاحتياطي مع UpdraftPlus ..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "النسخ الاحتياطي التلقائي" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "انشاء النسخ الاحتياطى لقاعدة البيانات مع UpdraftPlus..." #: src/addons/autobackup.php:431 msgid "themes" msgstr "الثيمات" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "الإضافات" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "بدء النسخ الاحتياطي التلقائي ..." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "انشاء %s وقاعدة البيانات الاحتياطية عن طريق UpdraftPlus..." #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "النسخ الاحتياطي تلقائيا (حسب الحاجة) للملحقات, الثيمات و قاعدة بيانات وردبريس مع UpdraftPlus قبل التحديث" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "اذا لم تكن متأكدا يجب عليك التوقف; والأ من المحتمل تدمير نسخة الورد بريس الخاصة بك" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "هذة تبدو كأنها نسخة احتياطية اساسية صالحة للوردبريس - الملف %s كان مفقود." #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "غير قادر على فتح ملف مضغوط (%s) - لا يمكن القيام بالفحص للتحقق من سلامتة." #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "غير قادر على قراءة الملف المضغوط (%s) - لم يمكن فحصه للتأكد من سلامتة." #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "مزيد من الإضافات" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "الدعم الفني" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "UpdraftPlus غير قادر على العثور على بادئة الجدول عند فحص النسخة الاحتياطية لقاعدة البيانات." #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "هذة النسخة الاحتياطية لقاعدة البيانات تفتقد جداول رئيسية: %s" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "حجم قاعدة البيانات صغير جدا بالنسبة لقاعدة بيانات ورد بريس صالحة (الحجم: %s ك بايت)." #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "كن أمنا مع النسخ الاحتياطي التلقائي" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "إذا كنت لا تزال ترى هذه الكلمات بعد انتهاء صفحة التحميل، ف انة يوجد مشكلة فى الجافا سكريب او jQuery فى الموقع." #: src/admin.php:960 msgid "The file was uploaded." msgstr "تم رفع الملف." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "استجابة الخادم غير معروفة:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "استجابة الملقم غير معروف:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "سيتم محاولة فتح مفتاح التشفير:" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "اتبع هذا الرابط لمحاولة فك التشفير وتحميل ملف قاعدة البيانات على جهازك." #: src/admin.php:955 msgid "Upload error" msgstr "خطأ فى الرفع" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "خطأ التحميل:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(تأكد من انك كنت تحاول رفع ملف مضغوط تم إنشاؤه مسبقا من قبل UpdraftPlus)" #: src/admin.php:943 msgid "Download to your computer" msgstr "تحميل الى جهاز الكمبيوتر الخاص بك" #: src/admin.php:942 msgid "Delete from your web server" msgstr "حذف من خادم الويب الخاص بك" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "امثلة من مقدمى التخزين المتوافق-s3:" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "تقسيم كل ارشيف:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "الخطأ: الخادم ارسل لنا استجابة (JSON) اللتى لم نتمكن من فهمها." #: src/admin.php:932 msgid "Warnings:" msgstr "تحذيرات:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "خطأ: ارسل خادم السيرفر استجابة فارغة." #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "مجموعة النسخ الأحتياطى متعددة الأرشيف لديها هذة الأرشيفات مفقودة: %s" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "تم العثور على الملف %s, لكن لدية حجم مختلف (%s) عن الذى توقعناة (%s) - قد يكون تالفا." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "تم العثور على الملف, لكن حجمة صفر ( تحتاج الى رفعة): %s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "الملف غير موجود (تحتاج الى رفعة): %s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "هذا الدليل لا يوجد بة اى مجموعات نسخ احتياطى" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "نقل النسخ الأحتياطى الذى تم فك حزمة الى المكان..." #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "فشل فى فتح ملف مضغوط (%s) - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "مسار جذر الوردبريس فى الخادم: %s" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "نقطة النهاية %s " #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "... وغيرها الكثير!" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (متوافق)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "الملف غير موجود - يحتاج الى استراجعة من التخزين البعيد" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "ابحث عن الأرشيف %s : اسم الملف: %s" #: src/restorer.php:635 msgid "Final checks" msgstr "الفحوصات النهائية" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "حدد هذا المربع لحذف اى ملفات النسخ الأحتياطى الزائدة من السيرفر الخاص بك بعد انتهاء عملية النسخ الأحتياطى (أي بمعنى. اذا لم تقم بالتحديد, فأنة سوف تظل ايضا الملفات اللتى ارسللت عن بعد على السيرفر محلياً, وان الملفات اللتى يتم الأحتفاظ بها محليا لن تكون خاضعة لحدود الأبقاء)." #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "اسقاط ملف قاعدة البيانات المشفرة (ملفات db.gz.crypt) هنا لتحميلها لفك التشفير" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "المسار الخاص بمحتوى wp-content على السيرفر هو: %s" #: src/admin.php:949 msgid "Raw backup history" msgstr "تاريخ النسخ الاحتياطي الخام" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "مشاهدة النسخ الاحتياطي الخام وقائمة الملفات" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "تجهيز الملفات - يرجى الأنتظار..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "فشل فى فتح ملف قاعدة البيانات." #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "النسخ الأحتياطى المعروفة (الخام)" #: src/restorer.php:1835 msgid "Files found:" msgstr "العثور على ملفات:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "استعادة الجدول (%s)" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "محرك الجدول المطلوب (%s) غير موجود - تغيير لMYISAM." #: src/restorer.php:539 msgid "file is size:" msgstr "حجم الملف:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "اذهب هنا لمزيد من المعلومات." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "تحذير: إذا كان لا يزال بإمكانك قراءة هذه الكلمات بعد انتهاء تحميل الصفحة ، فهناك مشكلة في JavaScript أو jQuery في الموقع." #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "بعض الملفات لاتزال يتم تحميلها او اعدادها - من فضلك انتظر." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "المنطقة الزمنية المستخدمة هى من اعدادات الورد بريس الخاصة بك, في إعدادات -> عام." #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "ادخل فى صيغة HH:MM (مثل 14:22)." #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "فشل تسجيل الدخول %s" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "فشل الوصول الى %s عند الحذف (تحقق من ملف السجل لمزيد من المعلومات)" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "خطأ - لا يوجد مثل هذا الملف" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "خطأ %s" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "خطأ %s - فشل فى ارسال الملف" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "خطأ %s - فشل فى اعادة تجميع الأجزاء" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "المصادقة فشلت %s" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "خطأ: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "دليل النسخ الأحتياطى المحدد موجود, لكنة غير قابل للكتابة." #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "دليل النسخ الأحتياطى المحدد غير موجود." #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "تحذير: %s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "مصادفة ملف كبير جدا: %s (الحجم: %s ميجابايت)" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s: الملف غير قابل للقراءة - لا يمكن ان يتم اجراء النسخ الأحتياطى" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "الجدول %s بة عدد كبير من الصفوف (%s) - نأمل ان شركة الأستضافة الخاصة بك تعطيك ما يكفى من الموارد لتفريغ هذا الجدول من النسخة الأحتياطة." #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "حدث خطأ اثناء اغلاق ملف قاعدة البيانات النهائي." #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "مصادفة تحذيرات:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "المساحة الحرة على القرص الخاص بك منخفضة جدا - فقط متبقى %s ميجابايت" #: src/addons/migrator.php:398 msgid "New site:" msgstr "الموقع الجديد:" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "المواقع المدمجة (من UpdraftPlus)" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "ادخل تفاصيل عن مكان هذا الموقع الجديد ضمن المواقع المتعددة الخاصة بك:" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "المعلومات اللازمة للأستمرار:" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "تفعيل ثيم الشبكة:" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "المكون الأضافى:" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "تحقق من اذونات الملفات الخاصة بك: تعذر الدخول او انشاء الدليل:" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "يرجى التحقق من وصول بيانات الأعتماد." #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "الخطأ الذى تم التبليغ عنة من %s هو:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "يرجى تقديم المعلومات المطلوبة, ومن ثم الاستمرار." #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "معلومات عن الموقع:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "تحذير:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "انت تعمل على وردبريس متعدد المواقع - لكن النسخة الأحتياطية الخاص بك ليست لموقع متعدد المواقع." #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "إغلاق" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "استجابة غير متوقعة:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "لأرسال الى اكثر من عنوان واحد, قم بوضع فاصلة بين كل عنوان." #: src/admin.php:947 msgid "PHP information" msgstr "معلومات PHP" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "وجد ملف مضغوط قابل للتنفيذ:" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "اظهار معلومات PHP التالى (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "هل تريد ترحيل او استنساخ / تكرار الموقع؟" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "جارى الحذف...يرجى اتاحة الوقت لأكمال الأتصال مع التخزين البعيد." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "حذف ايضاً من التخزين البعيد" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "اخر اخبار UpdraftPlus.com:" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "مميز" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "اخبار" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "لم يتم العثور على مجموعة النسخ الأحتياطى" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "%s - لا يمكن دعم هذا الكيان; دليل المقابلة غير موجود (%s)" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "رابط RSS" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "رابط المدونة" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "اختبار اعدادات %s ..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "او, يمكنك وضعها يدويا فى مسار UpdraftPlus الخاص بك (عادة wp-content/updraft)، على سبيل المثال عبر FTP، ومن ثم استخدام الرابط \"إعادة الفحص\" أعلاه." #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "ملاحظة" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "مصادفة اخطاء:" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "اعادة الفحص (يبحث عن النسخ الاحتياطية التي قمت برفعها يدويا في مسار النسخ الاحتياطي الداخلي)..." #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "بدأ البحث عن هذا الكيان" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "المتجر فى" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "\"%s\" لا يوجد لدية مفتاح اساسى, تحتاج الى تغيرها يدويا فى الصف %s." #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "الصفوف: %d" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "الوقت المستغرق (ثانية):" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "الأخطاء:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "تشغيل اوامر تحديث SQL:" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "التغييرات التي تم إجراؤها:" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "فحص الصفوف:" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "فحص الجداول:" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "لا يمكن الحصول على قائمة الجداول" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "تحذير: رابط موقع قواعد البيانات (%s) يختلف عن ما كنا نتوقعة (%s)" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "لا شئ لعملة: رابط الموقع بالفعل: %s" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "خطأ: معلمة فارغة غير متوقعة (%s, %s)" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "قاعدة البيانات: بحث واستبدال عنوان الموقع" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "فشل: لم نستطع فهم نتيجة العملية بواسطة %s ." #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "فشل: العملية %s لم تكن قادرة على البدأ." #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "بحث واستبدال قاعدة البيانات فى الموقع (ترحيل)" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "سيتم استبدال كافة المراجع الى الموقع فى قاعدة البيانات مع رابط الموقع الحالى, الذى هو: %s" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "مدونة الملفات المرفوعة" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "لابد من استخدام الأضافات" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "تثبيت الموقع المتعدد" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "ابتداء من المرة القادمة انها" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "فشل: المنفذ يجب ان يكون عدد صحيح." #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "كلمة السر" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "اسم المستخدم" #: src/addons/sftp.php:638 msgid "host name" msgstr "اسم المضيف" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "حيث لتغير الدليل الى بعد تسجيل الدخول - غالبا ما يكون هذا هو نسبة الى الدليل الرئيسى الخاص بك." #: src/addons/sftp.php:615 msgid "Directory path" msgstr "مسار الدليل" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "كلمة السر" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "المنفذ" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "الاستضافة" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "خطأ فشل التحميل" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "تحقق من أذونات الملف الخاص بك: تعذر الإنشاء والدخول بنجاح :" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "لم يتم العثور على %s " #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "أكثر" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "لا توجد نسخ احتياطية من المجلدات %s : لم نجد أي شيء لنعمل له نسخة احتياطية" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "كن حذرًا فيما تحدده - إذا حددت / فستحاول حقًا إنشاء ملف مضغوط يحتوي على خادم الويب بالكامل." #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "إذا لم تكن متأكدا ما هو هذا الخيار، إذا انت حتما لا ترغب فيه، ويجب عليك إيقاف تشغيله." #: src/addons/morefiles.php:294 msgid "More Files" msgstr "ملفات أخرى" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "أساسيات ووردبريس (بما في ذلك أية إضافات لدليل ووردبريس الخاص بك)" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "الملفات بالأعلى تشمل جميع ملفات تنصيب الووردبريس" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "إعادة كتابة wp-config.php" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "لب الووردبريس" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "فشل: لم نكن قادرين على وضع ملف في هذا الدليل - يرجى مراجعة بيانات الاعتماد الخاصة بك." #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "فشل" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "رابط WEBDAV" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "فشلت الكتابة المحلية: فشل تحميل" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "خطأ في فتح الملف : فشل في التحميل" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "تم العثور على أية إعدادات %s" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "فشل: نجحنا في تسجيل الدخول، لكن لا يمكننا إنشاء ملف في الدليل المعطى." #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "نجاح: نجحنا في تسجيل الدخول، وتأكيد قدرتنا على إنشاء ملف في الدليل المعطى (نوع تسجيل الدخول:" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "خطأ: لم نتمكن من تسجيل الدخول بنجاح." #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "خطأ: ولم تعط أية تفاصيل خادم." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "يحتاج إلى وجود بالفعل" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "اسم الحساب %s الخاص بك: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "تم المصادقة على %s حسابك" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "يتم حفظ النسخ الأحتياطية %s." #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "هل تحتاج الى استخدام المجلدات الفرعية؟" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "خطأ: فشل فى رفع الملف الى %s (انظر السجل لمزيد من التفاصيل)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "خطأ:%s(انظر ملف السجل للمزيد)" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "التواصل مع %s كان غير مشفر." #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "التواصل مع %s كان مشفر." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "نحن وصلنا الى الباكت, وتمكنا من انشاء الملفات داخلها." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "تم الوصول بنجاح الى الباكت. ولكن محاولة انشاء الملف فشلت." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "فشل" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "المنطقة" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "فشل: لم ترد تفاصيل الباكت." #: src/methods/s3.php:1370 msgid "API secret" msgstr "API السرية" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "المكان %s" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "المفتاح السرى %s" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "مفتاح الوصول %s" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "إذا كنت ترى أخطاء حول شهادات SSL، يرجى الدخول هنا للمساعدة." #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "%s خطأ في إعادة التجميع (%s): (انظر السجل لمزيد من التفاصيل) " #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "%s الرفع (%s): إعادة تجميع الملفات التي فشل رفعها (انظر السجل لمزيد من التفاصيل)" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "فشل الرفع" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "%s خطأ: تم اختصار الملف %s بشكل غير متوقع" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "%s الرفع: فشل الحصول على uploadID للتحميل المتعدد- راجع ملف السجل لمزيد من التفاصيل" #: src/methods/email.php:106 msgid "Note:" msgstr "ملاحظة:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "نسخ ووردريس احتياطيا" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "تم الوصول إلى الحاوية، ويمكننا إنشاء ملف داخلها " #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "خطأ بملفات السحابة - تم الوصول إلى الحاوية، لكننا فشلنا في إنشاء ملف داخلها" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "خطأ: ولم تعط أية تفاصيل عن الحاوية." #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "اسم المستخدم" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "مفتاح API" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "فضل: لم تعطى أية %s." #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "سحابة ملفات المستخدم" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "المملكة المتحدة" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "الولايات المتحدة (افتراضى)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "سحابة الولايات المتحدة او المملكة المتحدة" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "أيضا، يجب عليك قراءة هذا التعليمات الهامة." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "اختبار %s الإعدادات" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "خطأ في فتح ملف محلي: فشل التحميل" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "%s خطأ: فشل في تحميل" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "%s خطأ: فشل في فتح ملف محلي" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "فشل المصادقة بملفات سحابة" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "المصادقة مع جوجل" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "سر العميل" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "اذا أظهر لك جوجل في وقت لاحق لك رسالة \"invalid_client\"، إذا فأنت لم تقم بإدخال معرف عميل صالح هنا." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "معرف العميل" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "يجب إضافة ما يلي كأذن لإعادة توجيه URI (تحت \"خيارات أخرى\") عندما تسأل" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "اختر 'تطبيق ويب \"كنوع التطبيق." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "حساب غير مخول." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "فشل في تحميل إلى %s" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "حساب مكتمل: حساب %s الخاص بك يتوفر فقك على %d بايت متبقية، ولكن الملف حجمه %d بايت" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "لم تتمكن بعد من الحصول على رمز من جوجل - يتوجب عليك أن تصادق أو تعيد المصادقة مع خدمة جوجل درايف." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "لديك حساب %s مصادق عليه." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "نجاح" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "نسبة %s تدفق البيانات المخصص لك: %s %% مستخدمة، %s متوفرة" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "اتبع هذا الرابط للحصول عليه" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "دعم %s متوفر على شكل إضافة " #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "لا تمتلك إضافة UpdraftPlus %s - نوصيك بتحميلها من %s" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "تحتاج إلى إعادة المصادقة مع %s، معلومات الاعتماد الموجودة لديك لا تعمل." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "حسنا" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "لقد تغير بادئة الجدول: تغيير %s حقل / حقول الجدول وفقا لذلك:" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "ادارة استعلام قاعدة البيانات كانت في:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "إستعادة على النحو التالي:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "بادئة الجدول القديمة:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "نسخة احتياطية لـ:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "فشل في فتح ملف قاعدة البيانات" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "فشل في العثور على ملف قاعدة البيانات" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "فشل في كتابة قاعدة البيانات مفككت التشفير لنظام الملفات" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "فشل في إنشاء دليل مؤقت" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "فشل في حذف دليل العمل بعد الإستعادة." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "تنظيف القمامة ..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "استرجاع قاعدة البيانات (بالمواقع الكبيرة ستأخد هذه العملية وقت طويل - ان واجهت مشكل انقضاء المهلة (سببه نقص في استخدام موارد السيرفر للإستضافة) يمكنك استخدام طريقة أخرى، كـ phpMyAdmin)" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "تم فك تشفير قاعدة البيانات بنجاح." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "فك تشفير قاعدة البيانات (يمكن أن يستغرق بعض الوقت) ..." #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "تفريغ النسخ الاحتياطي ..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "فشل نسخ هذا الكيان." #: src/restorer.php:842 msgid "Backup file not available." msgstr "ملف النسخ الاحتياطي غير متوفر." #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "لا يمكن العثور على واحد من الملفات لاستعادته" #: src/restorer.php:725 msgid "Error message" msgstr "رسالة الخطأ" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "سجلات النسخ الاحتياطي لا تحتوي على معلومات عن الحجم الحقيقي لهذا الملف." #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "من المتوقع أن يكون حجم الأرشيف:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "ان كنت تريد طلب دعم فني، فضلا قم باستخدام هذه المعلومات:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "الغاء: لم نتمكن من إيجاد معلومات عن الكيانات التي تريد استعادتها." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "استرجاع UpdraftPlus: تقدم" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "بعد الضغط على هذا الزر، ستتمكن من اختيار المكونات التي تريد استرجاعها" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "حذف هذه المجموعة من النسخ الاحتياطية" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "حفظ التغييرات" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "قم بتعطيل SSL تماما حيثما أمكن" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "لاحظ أنه ليست كل أساليب النسخ الإحتياطي بالسحابة بالضرورة تستخدم المصادقة عن طريق SSL." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "لا تحقق من شهادات SSL" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "استخدام شهادات SSL للملقم" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "إن لم يكن هذا ممكنا قم بالتأكد من الأذونات بسيرفرك الخاص أو غيره لمجلد جديد قابل للكتابة من قبل خادمك." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "أو، لإعادة هذا الخيار" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "انقر هنا لمحاولة إنشاء دليل وتعيين أذونات" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "دليل النسخ الاحتياطي المحدد قابل للكتابة، وهو أمر جيد." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "دليل النسخ الاحتياطي" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "حذف النسخة الاحتياطية المحلية" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "اضغط هنا لتتمكن من مشاهدة خيارات اضافية، لا ترعج نفسك بهذه الخيارات إلا إذا واجهت مشاكل." #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "إظهار الإعدادات المتقدمة" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "إعدادات متقدمة" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "وضع التصحيح" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "متقدمة / تصحيح الإعدادات " #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "مطالبة البدء بالنسخ الاحتياطي ..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "إلغاء" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "لا شيء" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "اختر خدمت التخزين السحابي" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "فك تشفير ملف النسخ الاحتياطي لقاعدة البيانات يدويا" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "عبارة تشفير قاعدة البيانات" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "البريد الإلكتروني" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "المجلدات أعلاه هي كل شيء، باستثناء مجلدات ووردبريس التي يمكن تحميلها من جديد من WordPress.org." #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "استبعاد هذه:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "أي الدلائل الأخرى الموجودة داخل wp-content" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "متضمن في ملفات النسخ الاحتياطي" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "على سبيل المثال إذا كان الملقم مشغول في اليوم وتريد تشغيله فجأة" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "لإصلاح الوقت الذي ينبغي أن تأخذ نسخة احتياطية،" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "فترات احتياطية من قاعدة بيانات" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "شهريا" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "نصف شهري" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "أسبوعيا" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "يوميا" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "فترات ملف النسخ الاحتياطي" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "تحميل ملف السجل" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "المجلد موجود مسبقا، لكن خادمك لا يملك صلاحية الكتابة عليه." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "فشل الطلب إلى نظام الملفات لإنشاء الدليل." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "حذف" #: src/admin.php:3877 msgid "show log" msgstr "عرض السجل" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "سيؤدي هذا إلى حذف كافة الإعدادات الخاصة بك UpdraftPlus - هل أنت متأكد أنك تريد المتابعة؟" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "عد" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "ملاحظة: هذا العدد يستند على ما كان عليه، او ما لم يكن عليه، مستبعدين آخر مرة قمت بحفظ الخيارات." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "الإجمالي (غير مضغوط) على قرص البيانات:" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "لا" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "نعم" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "%s النسخة:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "استخدام الذاكرة الحالية" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "استخدام الذاكرة الذروة" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "خادم الويب:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "هل تحتاج إلى دعم ووردبريس متعدد المواقع؟" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "مواقع متعددة" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "قم بقراءة هذا المقال المليئ بالأشياء المفيدة لتعلمها قبل الإستعادة." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s خيارات الإستعادة:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "سوف تحتاج إلى استعادته يدويا." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "لا يمكن استعادة الكيان التالي تلقائيا: \"%s\"." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "خادمك يحمل خدمة safe_mode للـ PHP مفعلة." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "اختيار المكونات للاستعادة" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "عملية الإستعادة ستغير كل من التصاميم، الإضافات، الملفات المرفوعة، قاعدة البيانات أو أي ملفات أخرى (وفقا لما تحمله النسخة الإحتياطية من ملفات، وما قمت باختياره)" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "استعادة النسخة الاحتياطية" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "حذف مجموعة النسخ الاحتياطية" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "خطأ بالتحميل : بعث لنا الخادم استجابة لم نفهمها." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "خطأ:" #: src/admin.php:927 msgid "calculating..." msgstr "حساب ..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - تحميل ملفات النسخ الاحتياطي" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "تحديث" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "مساحة القرص لخادم الويب قيد الاستخدام من قبل UpdraftPlus" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "هذا عدد من محتويات مجلدات Updraft " #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "جوجل درايف" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "إذا كنت تستخدم هذا، ازل الوضع Turbo/Road" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "متصفح الويب أوبرا " #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "المزيد من المهام:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "تحميل ملف السجل المعدل مؤخرا" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "رسالة السجل الأخيرة" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "استعادة" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "النسخ الاحتياطي الآن" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "الساعة الآن" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "قاعدة بيانات" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "ملفات" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "النسخ الاحتياطي المجدولة القادمة" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "في نفس الوقت الذي نقوم فيه بالنسخ الاحتياطي للملفات" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "لا شيء مقرر حاليا" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "تحذير جافا سكريبت" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "حذف الدلائل القديمة" #: src/admin.php:3050 msgid "Current limit is:" msgstr "الحد الحالي هو:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "تمت استعادة النسخ الاحتياطي." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "الإصدار" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "الولوج لموقع المطور" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "تم القضاء على الإعدادات الخاصة بك." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "تم إنشاء دليل النسخ الاحتياطي بنجاح." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "لا يمكن إنشاء دليل النسخ الاحتياطي" #: src/admin.php:3888 msgid "Remove old directories" msgstr "إزالة الدلائل القديمة" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "العودة إلى اعدادات UpdraftPlus" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "إجراءات" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "إسم ملف خاطئ - نعقد أننا لم نكن المسؤولين في تشفير هذا الملف" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "إسم ملف خاطئ - نعتقد أننا لم نكن المسؤولين بخلق هذا الملف" #: src/admin.php:2631 msgid "No local copy present." msgstr "لا نسخة محلية متوفرة." #: src/admin.php:2628 msgid "Download in progress" msgstr "التحميل في تقدم" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "ملف جاهز." #: src/admin.php:2598 msgid "Download failed" msgstr "فشل في التنزيل" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "خطأ" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "لا يمكن العثور على هذا الوظيفة - ربما كان قد أنهى بالفعل؟" #: src/admin.php:2335 msgid "Job deleted" msgstr "وظيفة حذفت" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "لا شيء حتى الآن تم تسجيله" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "يرجى الرجوع إلى الأسئلة الشائعة إذا كنت تواجه مشاكل بالنسخ الاحتياطي." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "موقعك يستخدم %s من خادم الويب." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "تحذير" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "إعدادات" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "عودية لا نهائية: تحقق من السجل لمزيد من المعلومات" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "لم يتم العثور على ملف" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "مفتاح فك التشفير المستخدم:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "لا يمكن فتح ملف النسخ الاحتياطي للكتابة" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "لا يمكن قراءة الدليل" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "دليل (%s) النسخ الإحتياطي ليس قابل للكتابة، أو غير موجود." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "اكتمال عملية النسخ الإحتياطي للووردبريس" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "محاولة النسخ الإحتياطية تمت، لكن يبدو أنها فشلت." #: src/class-updraftplus.php:2109 msgid "Others" msgstr "أخرى" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "الملفات المرفوعة" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "تصاميم" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "الإضافات" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "لا توجد ملفات السجل." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "لا يمكن قراءة ملف السجل." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "إشعار UpdraftPlus :" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "نسخ الإحتياطية UpdraftPlus"languages/updraftplus.pot000064400001115503147400355670011630 0ustar00# Copyright (C) 2024 updraftplus # This file is distributed under the same license as the updraftplus package. msgid "" msgstr "" "Project-Id-Version: updraftplus\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language-Team: Team Updraft \n" "Last-Translator: Team Updraft \n" "POT-Creation-Date: 2024-09-26 15:42+0000\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/updraftplus\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.js\n" "X-Poedit-SourceCharset: UTF-8\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, src/addons/backblaze.php:247, src/addons/backblaze.php:272, src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, src/addons/sftp.php:1040, src/addons/webdav.php:434, src/includes/class-remote-send.php:359, src/includes/class-remote-send.php:411, src/includes/class-remote-send.php:405, src/includes/class-remote-send.php:480, src/includes/class-remote-send.php:538, src/includes/class-remote-send.php:565, src/includes/class-remote-send.php:620, src/includes/class-remote-send.php:608, src/includes/class-remote-send.php:603, src/includes/class-remote-send.php:593, src/includes/class-search-replace.php:333, src/includes/class-search-replace.php:519, src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:431, src/admin.php:5899, src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, src/addons/reporting.php:285, src/addons/wp-cli.php:434, src/includes/class-remote-send.php:445, src/includes/class-wpadmin-commands.php:154, src/includes/class-wpadmin-commands.php:629, src/templates/wp-admin/settings/delete-and-restore-modals.php:81, src/templates/wp-admin/settings/delete-and-restore-modals.php:82, src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, src/addons/autobackup.php:469, src/methods/remotesend.php:75, src/methods/remotesend.php:83, src/methods/remotesend.php:245, src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, src/restorer.php:4326, src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, src/addons/webdav.php:743, src/addons/wp-cli.php:503, src/includes/class-filesystem-functions.php:439, src/includes/class-storage-methods-interface.php:338, src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:938, src/admin.php:2294, src/templates/wp-admin/settings/downloading-and-restoring.php:21, src/templates/wp-admin/settings/tab-backups.php:21, src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, src/templates/wp-admin/settings/existing-backups-table.php:19, src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, src/methods/backup-module.php:91, src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, src/admin.php:3972, src/admin.php:4745, src/includes/class-remote-send.php:696, src/templates/wp-admin/settings/existing-backups-table.php:167, src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, src/methods/updraftvault.php:525, src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, src/addons/webdav.php:482, src/includes/class-remote-send.php:580, src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, src/methods/ftp.php:438, src/methods/ftp.php:442, src/methods/openstack2.php:115, src/methods/openstack2.php:120, src/methods/openstack2.php:125, src/methods/openstack2.php:130, src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:992, src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, src/includes/class-remote-send.php:476, src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, src/addons/sftp.php:623, src/addons/webdav.php:440, src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, src/methods/dreamobjects.php:194, src/methods/ftp.php:130, src/methods/openstack2.php:258, src/methods/s3.php:1090, src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/admin.php:1054, src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, src/includes/updraftplus-tour.php:162, src/includes/updraftplus-tour.php:186, src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, src/addons/sftp.php:611, src/addons/webdav.php:430, src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, src/addons/moredatabase.php:265, src/addons/sftp.php:612, src/addons/webdav.php:431, src/methods/openstack2.php:255, src/methods/updraftvault.php:523, src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, src/restorer.php:3821 msgid "Warning:" msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, src/restorer.php:390, src/methods/openstack2.php:251, src/templates/wp-admin/settings/downloading-and-restoring.php:27, src/templates/wp-admin/settings/tab-backups.php:27, src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, src/admin.php:6363, src/addons/azure.php:689, src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, src/methods/ftp.php:116, src/methods/openstack-base.php:577, src/methods/openstack2.php:242, src/methods/s3.php:926, src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, src/methods/s3generic.php:192, src/methods/s3generic.php:193, src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, src/templates/wp-admin/settings/downloading-and-restoring.php:27, src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, src/class-updraftplus.php:5334, src/updraftplus.php:226, src/addons/googlecloud.php:1305, src/addons/migrator.php:304, src/addons/migrator.php:307, src/addons/migrator.php:310, src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, src/class-updraftplus.php:663, src/class-updraftplus.php:735, src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, src/addons/googlecloud.php:512, src/addons/migrator.php:390, src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, src/templates/wp-admin/notices/autobackup-notice.php:16, src/templates/wp-admin/notices/horizontal-notice.php:50, src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, src/methods/backup-module.php:746, src/templates/wp-admin/settings/temporary-clone.php:88, src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, src/templates/wp-admin/settings/form-contents.php:256, src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3455, src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, src/addons/autobackup.php:467, src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, src/restorer.php:4188, src/includes/class-remote-send.php:441, src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, src/methods/openstack2.php:242, src/methods/s3.php:930, src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, src/methods/openstack2.php:242, src/methods/s3.php:930, src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, src/methods/dreamobjects.php:182, src/methods/s3.php:926, src/methods/s3.php:1080, src/methods/s3generic.php:192, src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, src/templates/wp-admin/settings/existing-backups-table.php:79, src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/admin.php:4510, src/addons/incremental.php:341, src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4581, src/restorer.php:2769, src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:5126, src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5161, src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5162, src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5163, src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:6113, src/admin.php:6117, src/templates/wp-admin/advanced/site-info.php:58, src/templates/wp-admin/advanced/site-info.php:64, src/templates/wp-admin/advanced/site-info.php:76, src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, src/class-updraftplus.php:2625, src/restorer.php:701, src/includes/class-search-replace.php:291, src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, src/class-updraftplus.php:2632, src/restorer.php:713, src/includes/class-search-replace.php:298, src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, src/addons/pcloud.php:705, src/methods/dropbox.php:816, src/methods/dropbox.php:873, src/methods/dropbox.php:887, src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:583 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, src/class-updraftplus.php:5061, src/restorer.php:1166, src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/options.php:53, src/addons/multisite.php:54 msgid "(Nothing has been logged yet)" msgstr "" #: src/options.php:141, src/addons/multisite.php:165, src/addons/multisite.php:872 msgid "UpdraftPlus Backups" msgstr "" #: src/options.php:283 msgid "UpdraftPlus warning:" msgstr "" #: src/options.php:283 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:283 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/options.php:283 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:283 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, src/addons/incremental.php:344, src/addons/incremental.php:345, src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, src/addons/anonymisation.php:96, src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, src/addons/webdav.php:795, src/addons/webdav.php:815, src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, src/addons/cloudfiles-enhanced.php:133, src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, src/addons/cloudfiles-enhanced.php:167, src/addons/cloudfiles-enhanced.php:171, src/addons/cloudfiles-enhanced.php:183, src/addons/cloudfiles-enhanced.php:190, src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, src/methods/googledrive.php:322, src/methods/googledrive.php:674, src/methods/googledrive.php:717, src/methods/googledrive.php:760, src/methods/googledrive.php:767, src/methods/googledrive.php:779, src/methods/googledrive.php:797, src/methods/googledrive.php:795, src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, src/addons/pcloud.php:293, src/addons/sftp.php:120, src/addons/webdav.php:526, src/addons/webdav.php:689, src/addons/webdav.php:695, src/addons/webdav.php:727, src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, src/methods/ftp.php:42, src/methods/googledrive.php:324, src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, src/addons/pcloud.php:653, src/methods/googledrive.php:490, src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, src/addons/pcloud.php:653, src/methods/googledrive.php:490, src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, src/methods/googledrive.php:832, src/methods/googledrive.php:833, src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, src/addons/onedrive.php:992, src/methods/googledrive.php:638, src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, src/addons/onedrive.php:1013, src/addons/sftp.php:711, src/addons/sftp.php:707, src/addons/wp-cli.php:500, src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, src/methods/googledrive.php:674, src/methods/openstack-base.php:535, src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, src/addons/pcloud.php:551, src/methods/backup-module.php:700, src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/lockadmin.php:163, src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/migrator.php:166, src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:315, src/templates/wp-admin/settings/downloading-and-restoring.php:72, src/templates/wp-admin/settings/form-contents.php:183, src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/addons/moredatabase.php:337, src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/addons/moredatabase.php:337, src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/morefiles.php:152, src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, src/addons/morefiles.php:1055, src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/multisite.php:282 msgid "Multisite Install" msgstr "" #: src/addons/multisite.php:730 msgid "Which site to restore" msgstr "" #: src/addons/multisite.php:734 msgid "All sites" msgstr "" #: src/addons/multisite.php:739 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:748 msgid "Read more..." msgstr "" #: src/addons/multisite.php:836 msgid "Blog uploads" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1040, src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, src/methods/dropbox.php:964, src/methods/dropbox.php:955, src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, src/methods/googledrive.php:490, src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/reporting.php:549, src/addons/reporting.php:549, src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, src/templates/wp-admin/advanced/site-info.php:81, src/templates/wp-admin/settings/tab-addons.php:79, src/templates/wp-admin/settings/tab-addons.php:92, src/templates/wp-admin/settings/tab-addons.php:95, src/templates/wp-admin/settings/tab-addons.php:108, src/templates/wp-admin/settings/tab-addons.php:121, src/templates/wp-admin/settings/tab-addons.php:134, src/templates/wp-admin/settings/tab-addons.php:147, src/templates/wp-admin/settings/tab-addons.php:160, src/templates/wp-admin/settings/tab-addons.php:173, src/templates/wp-admin/settings/tab-addons.php:186, src/templates/wp-admin/settings/tab-addons.php:199, src/templates/wp-admin/settings/tab-addons.php:212, src/templates/wp-admin/settings/tab-addons.php:225, src/templates/wp-admin/settings/tab-addons.php:238, src/templates/wp-admin/settings/tab-addons.php:251, src/templates/wp-admin/settings/tab-addons.php:264, src/templates/wp-admin/settings/tab-addons.php:277, src/templates/wp-admin/settings/tab-addons.php:290, src/templates/wp-admin/settings/tab-addons.php:307, src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, src/methods/googledrive.php:779, src/methods/googledrive.php:797, src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:377, src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/addons/wp-cli.php:379, src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/includes/class-filesystem-functions.php:105, src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/includes/class-filesystem-functions.php:126, src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:25, src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, src/includes/class-remote-send.php:599, src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-search-replace.php:99, src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-wpadmin-commands.php:240, src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:240, src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:238, src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:236, src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, src/templates/wp-admin/advanced/search-replace.php:7, src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:36, src/includes/updraftplus-notices.php:47, src/includes/updraftplus-notices.php:58, src/includes/updraftplus-notices.php:69, src/includes/updraftplus-notices.php:80, src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/includes/updraftplus-notices.php:37, src/templates/wp-admin/settings/header.php:17, src/templates/wp-admin/settings/tab-addons.php:28, src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:48, src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/includes/updraftplus-notices.php:144, src/includes/updraftplus-notices.php:147, src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:146, src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/includes/updraftplus-notices.php:166, src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:167, src/includes/updraftplus-notices.php:168, src/includes/updraftplus-notices.php:177, src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/includes/updraftplus-notices.php:167, src/includes/updraftplus-notices.php:168, src/includes/updraftplus-notices.php:177, src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:223, src/includes/updraftplus-notices.php:236, src/includes/updraftplus-notices.php:249, src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:223, src/includes/updraftplus-notices.php:236, src/includes/updraftplus-notices.php:249, src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-tour.php:93, src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:129, src/includes/updraftplus-tour.php:181, src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:159, src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:165, src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/methods/addon-not-yet-present.php:34, src/methods/addon-not-yet-present.php:76, src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, src/methods/openstack2.php:242, src/methods/s3.php:1080, src/methods/s3.php:1081, src/methods/s3generic.php:192, src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, src/methods/openstack2.php:242, src/methods/s3.php:930, src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/updraftvault.php:122, src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:515, src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:278, src/udaddons/options.php:263 msgid "You are presently %s to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:278 msgid "not connected" msgstr "" #: src/udaddons/options.php:263 msgid "connected" msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:334, src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/udaddons/updraftplus-addons.php:334, src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:658, src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, src/templates/wp-admin/settings/tab-addons.php:105, src/templates/wp-admin/settings/tab-addons.php:118, src/templates/wp-admin/settings/tab-addons.php:131, src/templates/wp-admin/settings/tab-addons.php:144, src/templates/wp-admin/settings/tab-addons.php:157, src/templates/wp-admin/settings/tab-addons.php:170, src/templates/wp-admin/settings/tab-addons.php:183, src/templates/wp-admin/settings/tab-addons.php:196, src/templates/wp-admin/settings/tab-addons.php:209, src/templates/wp-admin/settings/tab-addons.php:222, src/templates/wp-admin/settings/tab-addons.php:235, src/templates/wp-admin/settings/tab-addons.php:248, src/templates/wp-admin/settings/tab-addons.php:261, src/templates/wp-admin/settings/tab-addons.php:274, src/templates/wp-admin/settings/tab-addons.php:287, src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, src/templates/wp-admin/settings/downloading-and-restoring.php:56, src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, src/templates/wp-admin/settings/tab-addons.php:282, src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, src/templates/wp-admin/advanced/wipe-settings.php:5, src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, src/templates/wp-admin/notices/horizontal-notice.php:38, src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, src/templates/wp-admin/notices/horizontal-notice.php:74, src/templates/wp-admin/notices/report-plain.php:33, src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, src/templates/wp-admin/notices/horizontal-notice.php:72, src/templates/wp-admin/notices/report-plain.php:31, src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, src/templates/wp-admin/notices/horizontal-notice.php:68, src/templates/wp-admin/notices/report-plain.php:29, src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, src/templates/wp-admin/notices/horizontal-notice.php:66, src/templates/wp-admin/notices/report-plain.php:27, src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, src/templates/wp-admin/notices/report-plain.php:25, src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, src/templates/wp-admin/notices/horizontal-notice.php:64, src/templates/wp-admin/notices/report-plain.php:23, src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, src/templates/wp-admin/settings/exclude-modal.php:47, src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, src/templates/wp-admin/settings/tab-addons.php:243, src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/header.php:11, src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, src/templates/wp-admin/settings/tab-addons.php:329, src/templates/wp-admin/settings/tab-addons.php:335, src/templates/wp-admin/settings/tab-addons.php:335, src/templates/wp-admin/settings/tab-addons.php:341, src/templates/wp-admin/settings/tab-addons.php:341, src/templates/wp-admin/settings/tab-addons.php:347, src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, src/templates/wp-admin/settings/tab-addons.php:330, src/templates/wp-admin/settings/tab-addons.php:336, src/templates/wp-admin/settings/tab-addons.php:336, src/templates/wp-admin/settings/tab-addons.php:342, src/templates/wp-admin/settings/tab-addons.php:342, src/templates/wp-admin/settings/tab-addons.php:348, src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, src/templates/wp-admin/settings/temporary-clone.php:46, src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" languages/updraftplus-he_IL.po000064400001143464147400355670012431 0ustar00# Translation of UpdraftPlus in Hebrew # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2017-01-31 17:21:31+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: he_IL\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "מומלץ" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "התחבר" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "הגדרותיך נשמרו." #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "להפסיק" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "איפוס" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "שומר..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "התעלם" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "הגדרות" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "הרחבות" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "לא מותקן" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "שבוע(ות)" #: src/admin.php:1008 msgid "hour(s)" msgstr "שעה(ות)" #: src/admin.php:1007 msgid "day(s)" msgstr "יום(ים)" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "יום" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "אתר" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "שלח" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "ידני" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "פייסבוק" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "טוויטר" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "כל %s שעות" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "חיפוש והחלפה" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "בצע" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "פעולת ההחלפה אינה ניתנת לביטול. האם אתה בטוח?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "פעולה זו עלולה להרוס את האתר שלך. נהג בזהירות!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "החלף עם" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "חפש את" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "חפש / החלף בסיס נתונים" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "ביטוי חיפוש" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "יותר מדי טעויות בסיס נתונים התרחשו - מבטל פעולה." #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "קרא עוד ב%s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s בשימוש)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "ברוכים הבאים אל UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "מסד נתונים חיצוני" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "דרפבוקס" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "אימות באמצעות %s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "אזור: %s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "שם: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "גיבוי נוצר על ידי: %s." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "מסד נתונים (נוצר על ידי %s)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "מקור לא ידוע" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "קבועים" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(גרסה: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "השטח הפנוי בחשבון האירוח שלך הוא נמוך מאוד - רק Mb%s נשאר" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "כמות הזיכרון (RAM) המותר עבור PHP הוא נמוך מאוד (%s Mb) - הנך צריך להגדיל את כמות הזיכרון כדי למנוע כשלים בגלל חוסר זיכרון (התייעץ עם חברת האירוח שלך לקבלת עזרה נוספת)" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "נהל הרחבות" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "רכוש את זה" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "קבל את זה בחנות UpdraftPlus.Com" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "הפעל אותה באתר זה" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "יש לך רכישה לא פעילה" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "מוקצה לאתר זה" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "זמין עבור אתר זה (דרך רכישת כל ההרחבות שלך)" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "(ככל הנראה קדם הפצה או שחרור נסוג)" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "עבור לכאן" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "צריך תמיכה ?" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "אירעה שגיאה בעת ניסיון לאחזר את ההרחבות שלך." #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "טענה לא אושרה - פרטי הכניסה לחשבון שלך היו שגויים" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "אנא המתן בזמן שאנחנו מעבירים את הטענה..." #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "אירעו שגיאות בעת ניסיון להתחבר ל UpdraftPlus.Com :" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "אתה לא מחובר לחשבון UpdraftPlus.Com ." #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "אם רכשת הרחבות חדשות, הכנס לקישור זה כדי לרענן את החיבור שלך" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "מעוניין לדעת על אבטחת הסיסמא שלך ב UpdraftPlus.Com ? קרא על זה כאן." #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "שכחת את הפרטים שלך?" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "עדיין אין לך חשבון (זה בחינם) ? צור חשבון !" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "התחבר עם חשבון UpdraftPlus.Com" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "UpdraftPlus עדיין לא הותקן." #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "לחץ כאן כדי להפעיל אותו." #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "UpdraftPlus עדיין לא הופעל." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "לחץ כאן כדי להתחבר." #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "אתה עדיין לא מחובר עם חשבון UpdraftPlus.Com שלך, כדי לאפשר את רשימת התוספות שרכשת." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "אופציה אחסון מרחוק" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(הלוג נמצא בעמוד ההגדרות של UpdraftPlus כנורמל)" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "זכור אפשרות זו בפעם הבאה (עדיין תהיה לך האפשרות לשנות אותה)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "העלאה נכשלה" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "קרא עוד על איך זה עובד ..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "שגיאה: הצלחנו להתחבר, אך לא הצלחנו ליצור קובץ במיקום המבוקש בהצלחה." #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "שגיאה: נכנסנו בהצלחה לספרייה המבוקשת, אך לא הצלחנו ליצור קובץ במיקום המבוקש בהצלחה." #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "השתמש ב SCP במקום ב SFTP" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "הגדרות משתמש SCP / SFTP" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "הגדרות מארח SCP / SFTP" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "הניסיון לשלוח את הגיבוי באמצעות דואר אלקטרוני נכשל (כנראה הגיבוי היה גדול מדי לשיטה זו)" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "הגיבוי עומד על: %s. " #: src/admin.php:1017 msgid "%s settings test result:" msgstr "%s בדיקת הגדרות:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(לא הסתיים)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "אם הנך רואה יותר גיבויים (גיבויים ישנים) משציפית, זה כנראה בגלל שעדיין לא בוצע גיבוי עדכני מלא." #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "אל תניח אותו בתוך ספריית הקבצים שלך או ספריית התוספים, כי זה גורם לרקורסיה (גיבויים של גיבויים של גיבויים של ...)." #: src/admin.php:3843 msgid "Job ID: %s" msgstr "מזהה משימה: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "הפעילות האחרונה: לפני %ss" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "לא ידוע" #: src/admin.php:3756 msgid "Backup finished" msgstr "הגיבוי הסתיים" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "מחכה עד המועד המתוזמן כדי לנסות שנית עקב שגיאות" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "דילול גיבויים ישנים" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "מעלה קבצים לאחסון מרוחק" #: src/admin.php:3803 msgid "Encrypted database" msgstr "מסד הנתונים המוצפן" #: src/admin.php:3795 msgid "Encrypting database" msgstr "הצפנת מסד הנתונים" #: src/admin.php:3769 msgid "Created database backup" msgstr "גיבוי מסד הנתונים נוצר" #: src/admin.php:3782 msgid "table: %s" msgstr "טבלה: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "יוצר גיבוי למסד הנתונים" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "גיבוי קבצים שנוצרו" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "יוצר את קבצי הארכיון לגיבוי" #: src/admin.php:3706 msgid "Backup begun" msgstr "הגיבוי החל" #: src/restorer.php:1563 msgid "file" msgstr "קובץ" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "תיקייה" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "UpdraftPlus ניסתה ליצור %s בספרייה התוכן שלך, אך נכשלה - נא לבדוק את הרשאות הקובץ ולאפשר גישה (%s)" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "הגיבוי לא הסתיים; חידוש מתוזמן" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "אתר האינטרנט שלך מבקר לעתים רחוקות לכן UpdraftPlus אינו מקבל את המשאבים שהוא קיווה, אנא קרא את הדף הבא:" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "ממשיך עם העדכון" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "לא לבטל לאחר לחיצת המשך להלן - המתן עד שהגיבוי יושלם." #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "UpdraftPlus גיבויים אוטומטיים" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "שגיאות התרחשו:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "יצירת גיבוי עם UpdraftPlus ..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "גיבוי אוטומטי" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "יצירת גיבוי מסד הנתונים עם UpdraftPlus ..." #: src/addons/autobackup.php:431 msgid "themes" msgstr "ערכות נושא" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "תוספים" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "מתחיל גיבוי אוטומטי ..." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "%s יצירת גיבוי מסד הנתונים עם UpdraftPlus ..." #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "גיבוי תוספים, ערכות נושא ומסדי הנתונים של וורדפרס באופן אוטומטי (במידת צורך) עם UpdraftPlus לפני העדכון" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "אם אתה לא בטוח, אז אתם צריכים להפסיק, אחרת אתה עלול להרוס את התקנת וורדפרס ." #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "זה לא נראה כמו גיבוי תקין של וורדפרס - קובץ %s היה חסר." #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "אין אפשרות לפתוח את קובץ הארכיון (%s) - אין אפשרות לבצע סריקה מקדימה כדי לבדוק את תקינותו. " #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "אין אפשרות לקרוא את קובץ הארכיון (%s) - אין אפשרות לבצע סריקה מקדימה כדי לבדוק את תקינותו." #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "עוד תוספים" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "תמיכה" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "UpdraftPlus לא היה אפשרות לאתר את הקידומת טבלה בעת סריקת מסד הנתונים של הגיבוי." #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "לגיבוי מסד נתונים זה חסר טבלאות ליבה של וורדפרס: %s" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "מסד הנתונים הוא קטן מדי כדי להיות אתר וורדפרס תקף (גודל: %s KB)." #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "להיות בטוח עם גיבוי אוטומטי" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "אם אתה עדיין יכול לקרוא את המילים האלה אחרי שמסתיים טעינת הדף, אז ישנה בעיה עם JavaScript או jQuery באתר." #: src/admin.php:960 msgid "The file was uploaded." msgstr "הקובץ הועלה." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "סטטוס תגובת שרת אינה ידועה:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "תגובת שרת לא ידועה:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "במפתח פענוח זה יתבצע ניסיון:" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "בקישור זה תוכלו להוריד ולנסות לפענח את קובץ מסד הנתונים למחשב." #: src/admin.php:955 msgid "Upload error" msgstr "שגיאת העלאה" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "שגיאת העלאה:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(בדוק שאתה מנסה לעלות קובץ זיפ שנוצר בעבר ע\"י UpdraftPlus)" #: src/admin.php:943 msgid "Download to your computer" msgstr "הורדה למחשב שלך" #: src/admin.php:942 msgid "Delete from your web server" msgstr "מחק מהשרת שלך" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "דוגמא של S3-ספקי אחסון תואמים" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "פיצול ארכיון כל:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "שגיאה: השרת שלח תשובה (JSON) שלא יכולנו לפענח." #: src/admin.php:932 msgid "Warnings:" msgstr "אזהרה:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "שיאה: השרת שלח תשובה ריקה." #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "ארכיון גיבוי מרובה זה מראה על חוסר של הארכיונים הבאים: %s" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "הקובץ (%s) נמצא, אבל גודלו שונה (%s) ממה שהיה צפוי (%s) - זה עשוי להיות פגום." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "הקובץ נמצא, אך גודל הקובץ הינו 0 (עליך להעלות אותו מחדש):%s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "קובץ לא נמצא (צריך להעלות אותו): %s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "לא קיימת סדקת גיבוי כזו " #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "העברת קבצי הגיבוי (לא מכווצים) למקומם..." #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "נכשל בפתיחת קובץ הארכיון (%s) - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "ורבים נוספים..." #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "גודל הקובץ: " #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "לחץ כאן לקבלת מידע נוסף." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "ישנם קבצים שנמצאים עדיין בטעינה או המתנה - אנא המתן..." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "אזור הזמן בשימוש הוא על פי ההגדרות של וורדפרס, לשינוי כנס ל-הגדרות -> כללי." #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "הכנס בפורמט HH:MM (לדוגמא: 14:22)." #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "%s כניסה נכשלה" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "נכשל ניסיון לגשת %s בעת המחיקה (ראה קובץ יומן ליותר)" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "שגיאת %s" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "שגיאת %s - נכשל בהעלאת הקובץ" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "שגיאת אימות %s" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "שגיאה: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "תקיית הגיבוי קיימת, אך היא לא ניתנת לכתיבה." #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "תקיית גיבוי מתאימה אינה קיימת." #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "התראה: %s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "נמצא קובץ גדול מאוד: %s (גודל: %s מ''ב)" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s קובץ לא קריא - לא ניתן לגיבוי" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "שגיאה ארעה בזמן סגירת קובץ בסיס הנתונים הסופי" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "התראות נמצאו:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "נפח הדיסק הפנוי שלך מאוד קטן - רק %s מ''ג נותרו פנויים" #: src/addons/migrator.php:398 msgid "New site:" msgstr "אתר חדש:" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "הזן את הפרטים של האתר החדש בתוך התקנת ה-multisite שלך:" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "מידע דרוש כדי להמשיך:" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "תוסף מעובד:" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "בדוק את הרשאות הכתיבה שלך: לא הצלחנו ליצור ולהכס לתקייה בהצלחה:" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "אנא בדוק את הרשאות הכניסה שלך." #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "השגיאה שדווחה על ידי %s הייתה:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "אנא ספק את המידע הדרוש, ורק אז המשך." #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "מידע על האתר:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "אזהרה:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "סגור" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "חדשות" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "שגיאות:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "סיסמה" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "נכשל" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "התקשורת עם %s הייתה מוצפנת." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "שים לב:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "גיבוי וורדפרס" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "שם משתמש" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "מספר לקוח" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "אשר" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "קידומת הטבלה הישנה:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "שמירת שינויים" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "בטל" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "ללא" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "אימייל" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "לא לכלול את אלה:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "לכלול בגיבוי הקבצים" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "חודשי" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "שבועי" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "יומי" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "מחיקה" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "לא" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "כן" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "רשת אתרים" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "שגיאה:" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "רענן" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "שיחזור" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "מסד נתונים" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "קבצים" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "גרסה" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "פעולות" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "הקובץ מוכן." #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "שגיאה" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "אזהרה!!!" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "הגדרות" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "אחרים" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "העלאות" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "תבניות" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "תוספים" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-zh_HK.mo000064400000074172147400355670012447 0ustar00 #"Fas#|    ( A,Mz* C> FQlt}'C- D S $l   -   ! ! "! -!:!K!^! ~!!9!%!>!6:"&q"" "(" " "" #(#K9#_# ###$($-/$ ]$~$$ $ $$$ $!$%% #% 1% ;%H%]%:{%*%% % &&)&B&[& u&&& &&&&&&'',' G' h')s''''''' ( #(/(#8( \(g(x((G(((J)[)k))())))])A*T*#Z* ~*1* ** ** *++++<+L+[+j+z++ ++++ + + +++&,-,J,g,G,%,, - -- .-:-@- V->c- ----7- &.2.7. S._. q.}... .7. .A/B/5/00 0*0 B09N0 00&00 0 00111/112 $2 22'?2 g2 t2~222 2 2 2a2 *343K3_3u3z33333333 4P4`4f44444<5K5 R5_5Th55856/!6Q6Y6h6{666 6 666 67 7"7 87D7S7 j7t7'77b7638j8r88#09T9g9 w9 999 9 99 9999 :: :!:2: D: N:Z: j:+w:::: :&::;;%.;T;I;x$<:<<"<=4=NQ=<==-==+>Wi>u>(7?`?Yg?9?R?4N@3@1@"@ AAA5A9=AEwAAA AA B! B/B1CBuBB!BBBLB 6CCC XCdC xC CC CZC!DTX'X5X XXY!Y@YVY^Y\eYYYY Y0 Z :ZGZ OZ[ZtZ ZZZZ Z Z ZZ [ [-[=[ N[ [[ e[ o[|[[[[[[8\;\[\m\ t\\\\\\'\ \] ] )]56] l]y]] ]]]]]]^:^ R^)`^V^5^ _ $_ ._;_Q_/X_ __!__ __W`X` k`y```` ` ``a #a -a7a>a Ta aa oaUyaaaabbb.b2b GbTbgb}bb b>b bbccc-ccc ccYcFd6_dd8ddd e e(eAeWe se e e eeee e eef f*$fOf;nf0ff ffgg g g ggg ggh hh&h 9hFhMhTh ehrh hhh hhh hh hii/iIi\izi=jr@j)jjjk k>3k$rkk'k-k\l`l)sl lSl*lA)mkm/m*m!mnnn,n63n8jnn n nn n no3"oVolo oooHo p&p :pGp Zpgp wpppp pppqq q'q .qr*Br0mr!r'r,r$s:sss7tnot writable.Backup directory specified is writable, which is good.Backup directory successfully created.Backup finishedBackup label:Backup non-WordPress files and databasesBackup of:Backup of: %sBackup set not foundBackup time and schedulingBackup using %s?Bad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBlog linkBrowse contentsBrowsing zip fileCall WordPress action:CancelCheck this box to have a basic report sent toChoose the components to restoreChoose your remote storageCleaning up rubbish...Client IDClient SecretCloning and migrationCloseCloud FilesCloud Files authentication failedCompleteConnectConnecting...ContainerContent URL:Continue restorationCould not access %s containerCould not find that job - perhaps it has already finished?Could not open the backup file for writingCould not read the directoryCounting...CreateCreated database backupCreated file backup zipsCreating database backupCreating file backup zipsCreating...Current limit is:Current memory usageCurrent use:Currently disabledCurrently enabledDailyDatabaseDatabase (created by %s)Database OptionsDatabase backup scheduleDatabase encryption phraseDatabase successfully decrypted.Debug modeDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete failed:Delete from your web serverDelete local backupDelete this backup setDeleting...DeselectDisable SSL entirely where possibleDisconnectDisconnecting...DismissDo not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do you need WordPress Multisite support?Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDropboxEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypted databaseErrorError - failed to download the fileError data:Error downloading remote file: Failed to downloadError messageError:Error: %sError: invalid pathError: unexpected file read failErrors:Europe (Frankfurt)Europe (Ireland)Europe (London)Every %s hoursExclude these:Expert settingsExport / import settingsExport settingsExtensionsExternal databaseExtra databaseFAQsFTP loginFTP passwordFTP serverFacebookFailedFailed to create a temporary directoryFailed to find database fileFailed to open database fileFailed to open database file.Failed to open directory (check the file permissions and ownership): %sFailed to open the zip file (%s) - %sFailed to upload to %sFailureFile OptionsFile not foundFile ready.FilesFiles backup scheduleFiles found:Files only (database was not part of this particular schedule)Find out moreFirst, enter the decryption keyFolderFor backups older thanFor even more features and personal support, check out FortnightlyFreeFree disk space in account:Full backupFull feature listGet PremiumGet UpdraftCentralGet more quotaGo here for helpGoogle DriveGoogle Drive list files: failed to access parent folderHTTP code:If making a request for support, please include this information:If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If you are using this, then turn Turbo/Road mode off.Import settingsImporterImporting...Include in files backupIncrementalInfinite recursion: consult your log for more informationInstalledIntroducing UpdraftCentralIt can also backup external databases.JavaScript warningJob ID: %sJob deletedKeystone and swauth are technical terms which cannot be translatedThis needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.Last log messageLatest status:Lead developer's homepageLeave this blank, and a default will be chosen.Loading log fileLocal files deleted:Lock settingsLondon (LON)Manually decrypt a database backup fileMemory limitMessages:MigratorMonthlyMore database optionsMore pluginsMore tasks:MultisiteN.B. This count is based upon what was, or was not, excluded the last time you saved the options.Name: %s.Needs to already existNetwork / multisiteNetwork and multisiteNewsNext scheduled backupsNoNo %s settings were foundNo adsNo local copy present.No log files were found.No settings were foundNoneNot installedNote that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing yet loggedOKOpera web browserOr, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.Other %s FAQs.OthersPassive modePasswordPayments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.Peak memory usagePlease consult this FAQ if you have problems backing up.Please enter a valid URLPlease enter a valid URL e.g http://example.comPluginsPre-sales FAQsPre-update backupsPremiumPremium / ExtensionsPress a button to get started.Press here to download or browseProcessing...Quota:RSS linkRead moreRefresh current statusRegion: %sRemote files deleted:Remote pathRemote storageRemove old directoriesReportingRequesting start of backup...Rescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...RestoreRestore backupRestoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Return to UpdraftPlus ConfigurationReview UpdraftPlusS3 (Compatible)Save ChangesSaving...SearchSearch / replace databaseSelect FilesSelect allSendSend to site:SettingsShow expert settingsShow the optionsSign upSiteSite home:Site informationSite information:Site sizeSize: %s MBSkipped tables:Start backupSubscriptions can be cancelled at any time.SuccessSuccess:SupportSydney (SYD)Tell me more about incremental backupsTest %s SettingsTesting %s Settings...Testing connection...Thank you for installing UpdraftPlus!The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).The WordPress content folder (wp-content) was not found in this zip file.The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The backup attempt has finished, apparently unsuccessfullyThe backup has finished runningThe backup was aborted by the userThe decryption key used:The directory does not existThe folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The log file could not be read.The log file has been attached to this email.The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe user is being told the number of times an error has happened, e.g. An error (27) occurredAn error (%s) occurred:The zip engine returned the message: %s.ThemesThis button is disabled because your backup directory is not writable (see the settings).This is a count of the contents of your Updraft directoryThis will delete all your UpdraftPlus settings - are you sure you want to do this?To fix the time at which a backup should take place,To make a backup, just press the Backup Now button.Too many database errors have occurred - abortingTotal (uncompressed) on-disk data:Trying...TwitterUnfinished restorationUnknownUnknown/unexpected error - please raise a support requestUnless you have a problem, you can completely ignore everything here.Unpacking backup...Update quota countUpdraft VaultUpdraftCentralUpdraftPlusUpdraftPlus - Upload backup filesUpdraftPlus BackupsUpdraftPlus Blog - get up-to-date news and offersUpdraftPlus PremiumUpdraftPlus Premium:UpdraftPlus Restoration: ProgressUpdraftPlus notice:UpdraftPlus warning:UpdraftPlus.Com returned a response which we could not understand (data: %s)UpdraftVaultUpdraftVault storageUpgrade nowUpload backup filesUpload errorUpload error:Upload files into UpdraftPlus.Uploaded to:Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select FilesorUploading files to remote storageUploadsUse the server's SSL certificatesUsernameVault ownerVersionView LogWP CLIWP-CLI supportWarningWarning:Warning: %sWarnings:Web server:Web-server disk space in use by UpdraftPlusWeeklyWelcome to UpdraftPlus!Well done - there's nothing more needed to set up.Why am I seeing this?WordPress BackupWordPress CoreWordPress backup is completeYesYou can get more quota hereYou can manually decrypt an encrypted database here.You have not yet made any backups.You have not yet selected a file to import.You must upgrade MySQL to be able to use this database.You need to supply both an email address and a passwordYou should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly.You will need to restore it manually.Your %s account name: %sYour %s quota usage: %s %% used, %s availableYour %s version: %s.Your backup has been restored.Your email address was valid, but your password was not recognised by UpdraftPlus.Com.Your free disk space is very low - only %s Mb remainYour settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your web server has PHP's so-called safe_mode active.Your website is hosted using the %s web server.advanced optionsand retain this many scheduled backupsarchiveauthentication errorcalculatecalculating...check your log for more details.configure it herecountdayday(s)e.g. if your server is busy at day and you want to run overnightfailed to access parent folderfilefiles: %sfolderhour(s)i.e. Non-automaticManualincluding any passwordsincremental backup; base backup: %slast activity: %ss agologinor, to reset this optionpasswordread more at %srecommendedrefreshregular non-encrypted FTPremote files deletedremote siteresetrestorationsettingsshow PHP information (phpinfo)show logslower, strongeststoptable: %stemplate not foundthe database query being run was:unknown sourceuse UpdraftPlus Premiumusernameweek(s)will restore as:PO-Revision-Date: 2021-04-05 14:31:47+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: GlotPress/3.0.0 Language: zh_HK Project-Id-Version: UpdraftPlus %s (%s 已使用)%s錯誤%s 錯誤:初始化失敗%s 錯誤:無法開啟本地檔案%s 錯誤:上載失敗%s 認證%s 位元組%s下載:失敗:找不到檔案%s 錯誤:上載檔案失敗%s 錯誤: %s%s 位置%s 登入失敗%s 分鐘,%s秒%s 還原過程選項%s 密鑰%s設定測試結果:%s 版本:%s:無法讀取的檔案 - 無法被備份(未完成)(已從遠端匯入備份)下載(版本: %s)...以及更多!發生 zip 錯誤中斷: 找不到還原項目的資訊API金鑰API密鑰帳戶未被授權。動作增加網站進階/除錯設定高級工具所有WordPresss數據表會被備份。嘗試連接 UpdraftPlus.Com 時, 出現未知的錯誤任何在 wp-content 內找尋到的資料夾Apache 模組詢問售前問題在檔案備份期間同時進行以 %s 作認證Google 認證授權錯誤 (檢查你輸入的資料)升級前自動備份返回...已備份: %s立即備份備份已開始備份內含:備份建立者:備份資料 (點擊下載)備份時間備份資料夾備份資料夾 (%s) 可能未有寫入權限, 或資料夾不存在無法建立備份資料夾指定的備份目錄存在,但不能寫入。指定的備份資料夾可以寫入, 非常好備份資料夾已成功建立復份已完成備份標籤:備份WordPress檔案和數據庫備份備份:%s找不到備份集備份時間及排程使用%s備份?錯誤的檔案格式 - 似乎這個檔案不是由 UpdraftPlus 建立的錯誤的檔案格式 - 似乎這個已加密的數據庫檔案不是由 UpdraftPlus 建立的Blog 連結瀏覽內容正在瀏覽zip檔案呼叫WordPress操作:取消勾選此選項,每次工作完成後將會把簡述報告寄送給你選擇組件以還原選擇你的遠端儲存空間清理無用的檔案...客戶端 ID用戶端密碼克隆及轉移關閉雲端檔案雲端檔案驗證失敗完成連接連線中...容器內容URL:繼續還原未能存取 %s 容器無法找到任務 - 或許它已經完成?無法寫入備份檔案無法讀取資料夾統計中...建立已建立數據庫備份已建立備份zip檔案正在建立數據庫備份正在建立備份zip檔案建立中…目前限制為:目前記憶體使用量現已使用:已停用已啟用每日數據庫數據庫 (由%s建立)數據庫選項數據庫備份排程數據庫加密短語 (phrase)數據庫已成功解密。除錯模式正在解密數據庫 (需要一段時間) ...刪除刪除舊有資料夾刪除備份集刪除失敗:從網頁伺服器刪除刪除本機備份刪除備份集刪除中...取消選擇如果可以, 完全禁止使用 SSL中斷連線中斷連線中...屏蔽不要驗證 SSL 憑證在還原之前, 請先閱讀這篇文章以取得更多資訊你需要 WordPress 多站點支援嗎?下載錯誤: 伺服器返回了一個未知的回應下載失敗正在下載中下載紀錄檔案下載最近修改過的紀錄下載到你的電腦Dropbox電郵UpdraftPlus (免費版本) 製作的電郵報告將會提供最近 UpdraftPlus.com 的消息已加密的數據庫錯誤錯誤 - 無法下載檔案錯誤資訊:下載遠端檔案時發生錯誤:無法下載錯誤訊息錯誤:錯誤:%s錯誤:無效的路徑未預期的檔案讀取失敗錯誤:歐洲 (法蘭克福)歐洲 (愛爾蘭)歐洲 (倫敦)每 %s 小時除了這些:進階設定匯出/匯入設定匯出設定擴展功能外部數據庫 額外數據庫常見問題FTP登入FTP密碼FTP伺服器Facebook失敗無法建立一個暫時目錄尋找數據庫檔案失敗開啟數據庫檔案失敗無法開啟數據庫檔案。開啟目錄失敗 (檢查檔案權限和擁有者):%s無法開啟zip檔案 (%s) - %s無法上傳至%s失敗檔案選項無法找到檔案檔案已預備檔案檔案備份排程找到檔案:只限檔案 (排程不包括數據庫)了解更多首先請輸入解密金鑰資料夾備份舊過如果需要更多功能和個人支援, 留意這裡每兩星期免費可用磁碟空間:完整備份完整功能清單取得高級版取得 UpdraftCentral取得更多額度到這裡尋求協助Google 雲端硬碟Google 雲端硬碟列出檔案:無法存取主資料夾HTTP代碼:如需尋找支援, 請包含以下資訊如果不成功, 請檢查伺服器權限或使用伺服器上其他可寫入的目錄如果你正在使用它, 請關閉 Turbo/Road 模式匯入設定匯入器匯入中...包含在資料備份增量無限遞迴: 查閱紀錄以取得更多資訊已安裝為你送上 UpdraftCentral它亦可以備份外部數據庫JavaScript 警告工作 ID: %s任務已刪除這需要使用 v2 (Keystone) 認證方式; 現時未有支援 v1 (Swauth) 認證方式最近紀錄訊息最近狀態:主要開發者網頁留空將會使用預設值正在載入日誌檔已刪除本地檔案:鎖定設定倫敦 (LON)手動解密數據庫備份檔記憶體限額訊息:轉移器每月更多數據庫選項更多插件更多任務:多站點留意: 這個統計建基於是或者不是, 除了你上一次儲存的選項以外名稱:%s。需要已存在網絡 / 多站台網絡及多站台新聞下次排程備份否沒有找到%s設定沒有廣吿未有本機副本沒有找到紀錄檔未找到任何設定無Not installed注意並非所有雲端備份方法都需要使用 SSL 認證注意:目前未有排程任務未有任何紀錄OKOpera 瀏覽器或者你可以手動放置在 UpdraftPlus 目錄 (通常位於wp-content/updraft),例如,從 FTP,然後進行 "重新掃描"。其他 %s 的常見問題。其他被動模式密碼使用信用卡或 Paypal 時,接受以美金、歐元或是英鎊作為貨幣單位。高峰記憶體使用量如果你有任何備份的問題, 請查閱這份 FAQ請輸入一個有效的網址請輸入一個有效的網址 例如 http://example.com外掛售前常見問答集預先更新備份高級版進階版 / 擴充元件按下按鈕以開始按這裡以下載或瀏覽處理中...引言:RSS 連結閱讀更多更新使用狀態地區%s已刪除遠端檔案:遠端路徑遠端存儲移除舊資料夾報告正在請求開始備份重新掃描在本機資料夾的備份集重新掃描遠端儲存空間重新掃描(正尋找手動上傳的備份至備份集)...重新掃描遠端和本地空間的備份集...還原還原備份還原將會取代這個網站的佈景主題, 插件, 上傳, 數據庫 及/或 其他內容的資料夾 (基於備份集和你選擇的內容)返回 UpdraftPlus 設定評價 UpdraftPlusS3 (相容)儲存變更儲存中...搜尋搜尋/取代數據庫選擇檔案全選傳送傳送到網站:設定顯示進階設定顯示選項註冊站點網站主目錄:網站資訊網站資訊:網站大小大小:%s MB已跳過數據表:開始備份可以隨時隨地取消訂閱成功成功:支援悉尼 (SYD)更多有關增量備份測試 %s 設定正在測試 %s 設定...測試連線中...多謝您安裝UpdraftPlus!未能進行 "立即備份", 這可能是由於備份目錄為不可寫入狀態 (請前往 "設定" 頁檢視及修改相關的選項)在zip檔中找不到WordPress內容目錄(wp-content)。以上的資料夾為所有的網站項目, 除了 WordPress 核心檔案, 因為你可以從 WordPress.org 下載備份工作已完成, 但似乎不成功備份已執行完成備份已被使用者中止使用的密碼:該目錄不存在資料夾已存在, 但你的網頁伺服器未有寫入權限以下實體未能自動還原: "%s"無法讀取紀錄檔紀錄檔已附件在這封電郵內。在檔案系統建立資料夾的請求失敗未有安裝必需的 %s PHP 組件 - 請向你的網頁寄存公司查詢以開啟此功能發生錯誤 (%s):壓縮引擎回傳了以下的訊息:%s佈景主題按鍵已停用, 因為你的備份資料夾未能寫入檔案 (請檢查設定)。這是你 Updraft 資料夾的內容總計這會刪除 UpdraftPlus 所有的設定 - 你確定要這樣做?修復備份開始時間製作備份, 只需按一下 "立即備份"。發生過多的數據庫錯誤 - 中斷中磁碟數據總計 (未經壓縮)正在嘗試...Twitter未完成的還原未知未知或未預期的錯誤 - 請尋求我們的支援除非你遇到問題, 否則你可以略過這些內容正在解開備份...上傳限額更新 VaultUpdraftCentralUpdraftPlusUpdraftPlus - 上傳備份檔案UpdraftPlus 備份UpdraftPlus 部落格-取得最新情報和著數UpdraftPlus 進階版UpdraftPlus 高級版:UpdraftPlus 還原設定: 過程UpdraftPlus 提醒:UpdraftPlus 警告:UpdraftPlus.Com 回傳了一個我們無法明白的回應 (數據:%s)UpdraftVaultUpdraftVault 存儲現在升級上傳備份檔案上傳錯誤上傳錯誤:把檔案上傳到UpdraftPlus。已上載到:或上傳檔案到遠端存儲上傳檔案使用伺服器的 SSL 證書使用者名稱Vault 擁有人版本檢視記錄WP CLIWP-CLI 支援警告警告:警告:%s警告:網頁伺服器:UpdraftPlus 已佔用的空間每星期歡迎使用 UpdraftPlus!做得好 - 已經沒有東西需要設定了為甚麼我會見到這個?WordPress 備份WordPress 核心WordPress 備份已完成是你可以在此取得更多的使用額度你可以在這裡把已加密的數據庫解密你未有任何已製作的備份你未選擇一個要匯入的檔案。你必須升級MySQL以使用此數據庫。你需要提供電子郵件和密碼請確定你連得上遠端網站、並未被防火牆擋住、啟用 UpdraftPlus %s 或以上的版本而且各項欄位都已正確輸入。你將需要手動進行還原你的 %s 帳戶名字:%s你的 %s 限額使用量:%s %% 已使用,%s 可用你的%s版本:%s。你的備份已還原你的電郵地址是有效的, 但密碼未能在 UpdraftPlus.Com 驗證你只剩下很少的磁碟空間 - 只剩下 %s MB您的設置已經保存。你的設定已被抹除將會使用網站的管理員電郵 (%s)你的網頁伺服器的 PHP 已啟用 的 safe_mode你的網頁使用 %s 網頁伺服器高級設定和保留這個數量的排程備份封裝檔驗證錯誤計算計算中...檢視記錄以獲取更多資訊在這裏設定統計天日e.g. 當你的伺服器平日很繁忙, 而你希望在午夜進行未能存取父層資料夾檔案檔案:%s資料夾小時手動包含任何密碼增量備份; 基層備份: %s最近活動: %ss 之前登入或者, 重設此選項密碼在 %s 閱覽更多推薦重新整理一般未加密的FTP遠端檔案已刪除遠端網站重設還原設定顯示 PHP 資訊 (phpinfo)顯示紀錄較慢,最穩定停止數據表:%s找不到模板執行數據庫查詢: 未知的來源使用 UpdraftPlus Premium帳戶名稱星期將還原為:languages/updraftplus-ckb.po000064400001120075147400355670012201 0ustar00# Translation of UpdraftPlus in Kurdish (Sorani) # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: +0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: ku_IQ\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "" #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-da_DK.mo000064400000466310147400355670012405 0ustar00T/^^8^u^<_ S_ t_S__ ___#`>`Y` ``j` ````````a#a :a)Ga'qa aKa bKb_b hbtbbbb b2bb+ c 6cDc$]cc6cWc $d0d,9dWfdddd dr e|e/eee*ef1f*HfAsfWfI g&Wg~g g gggggPh+ht i%~i'i#i@iE1j3wjjCj kk k#k=k Lk Wkck]kAl\l|l lllhmzmmhm n#n8n%NntnnnnKn o0oFo YogovooooogIpgpq'q)q)qrm:r rrr#r^rSs<ss)ssjt7t8t8t74u8lu*uCubvKwv"v-v?w_TwRwoxwxxx9x>x4/y dyqyyyyyTyM5zzz$z"zz{({-7{e{v{{]{q|6w|!||| | } }}0}5} =}K}cR}}} } }5}63~ j~ x~~;~~~~ 9E9V%1>6'&^+ʀ '(=Gf ǁ8Ӂ !6G"bJEK'_sӃv 8V ^ h,uĆˆ ۆ ' <-J5xmOEo É 9![w9(b y D %1E[v!T!$9BJ"Y3|.<ߍ)$Nn) ԎU k u  d%6Rp:(*+V s9?fYg6 !!2Tl3#ݓ,#= Xds ̔Ҕ )@Qj? % EP)fϖ ,8LU#dE Ηٗ *'LR5՘Gř" 0(ǚ)$1?:qPJHXm(œTٜ.6Sh~]iVi}NAD,Nq"O#34W55 .'<5# ?1K },-4 ",)@HjA* AH[o:ѥ٥ + :,Er ̦ )8 = G T_h9o&ŧ3 3-Iw)ۨG%A*g-ݩ<~EZĪ[/{F&);&e!?^MRi oc{ ߭B/*> i@uŮ)ˮ3<Y o>| ȯ֯ +4%;WaKjap1ұ;@B7YZa9NgDJ5= ֵQ 4>C_  b %+ Q]*lѷ  "4W`o 7 Ӹz޸zYԹ+.Ѻf*mAFAwkZ{M־`$_5K|RR&$]yMLGn\= 0 %+ CO9g W#>Ma=f&$+1"Nq Q % D2/w&],R G:*+)V F% !4'J r 8  & .9O fs !$ 5as>  8N_x  ^RY?v9M Wn0'Ne7 /MP*.AHK;]?^Ag`*H NM\X_n*"   )6ETJ(M%(!N8p'/#%>Od(3?;Q6\@!;b?;r='"*?Ws 4"!/I] o!z J,DK[dw $! 4@#["5 (APJ FH[b y =C@A'Zb6 2=-Ess7"#Z~\9 F V`r : E al{@@FK1^ *4< :LE1" )%7]z, "> Q\m ,lhWB26EUj1  +EMrVV (4Q X eAr : &EL]p %O=KrVTIx@n$(c245g#:ol6Q",(O,xqI+1JN/8= {^N<@3}0j;MR- LJ 3 = W Xa ( > P" As u P+ (|  f  % o 3YW892@l&P&%,Ly?D=9!MZlgY/oPJ9=-.&SU~R({I E KR@f<i7{4ROo137%]$$$+PEO41"zm U  P!Z!b!u!! !!!!!!" ""C"L\"L"" # "#0#8#X#9q#E### $ $-$<$gQ$$ $!$%%6%1J%a|%%%&&49&n&!&&&&!V'!x'.''Q(e(0z((R(*)A>)L)C)3* E*KR** ** ** * *f+ j+x+ +Z+!+!, ),6,HN,!,_,- "- /-;-C-L-1S--7--- -K-K5... ..@H/C/4/O0SR0 0+0 0001.12N111^12222 H2V2O2,-3Z33s455555I586N6a6;u6(6686;7OS7T7M7F84f8-8(8i8g\9E9, :S7:S::4:%0;&V;D};Z;G<e<;<F<H=6O=k==="0>+S>V>[>s2?[?t@Tw@G@AAUVA7A<AC!B=eBBB$B C+"C"NC%qC%C#CRCf4D7DDaUEESFAF$GQGjHBH9HH%I II-IJJJ&J KK)K!KTLZL<L)M:CMF~MVMINfN4xNGNDN%:OV`O O4O9OP4P_PGPH-QvQQ2QQ5QD.R6sR/RvR)QS{SS S&SSSS TT $T.T =T^T pTzT"T#T TTTKT,U@4U,uU#U#UU! V:,VgVV3V*VV V WWW9W3AWuWzW WWW WW#WWWXXX6X\P\`\t\\]'],]5]=]&N]'u]y]^_ _:_P_RL```"` `V` Ca Qa]a!ea)aa aaabb-b@bObebmbvbb0b b,b'c"/cJRc cKcc c dd d9d Hd6Sdd'ddd(e+e6?e^ve ee1eVfrfff fif$g=8gvg,g-ggh(h<Bhbh]h0@iqi zi iiiiiHj,jk*k)k,kJlLfl5llNl Km Wmbmrmmm mm\Annnn nbna^o ooxodp&upp)ppqq .qT;q q&qq qqq r' rHr_rkrpNss5Pt&t&ttpt dupuu'uu:vAVv&vv/ew9wBw?x?Rx5x+xExk:y\y z*$zJOzmz]{mf{{{{=|FT|;| |||}!} 0}`>}W}}~ ,~'M~u~~ ~;~~"~e.zA'Q!y   Ȁ׀ ߀ eev :5-?7R# ւ  7 H*i<9у ('P o ӄ2U' }  @ /?oHNцG ZhÇɈu0%͊  1DUgn ~ҋAD?[hEč8  CQ m'8E  ' 1>>} А#P<!ƑΑב&?1P,.*%%7 ]k  # 1 ; GUij&Ԕ%!@X:v"&ԕ+' ?J@P:̖VM: ߗ   9R/l"(ؘ 3?Qhƙ͙ *>Rk?'%#4Xn7Ûțڛ*C Ze &Fœ  !8%WP}0ΝM#M7q!˞,b*1ӟBaH?!<V]lʡ&ҡ&+3[9v  2SPdKE^G!PȤ&<@3}42?0! <.Fu43>,2;$M=r,%ݩ&*/ AN@d ˪۪  /"Ri }ի - 2 < IT ]Dg('լ;9N-f1ԭ B'$j#+߮;+jgOүT".wN!'-D,r#4ñUNVp viIC0S D ӳݳ/0%Vo Aܴ !#& JT%Z]K޵z*t:<Umrs5gd'X~BdTC@_Tr ǻѻػ! *_H Ǽ 17=FZu$"ؽ+ '2H ^ k=x ku-!ۿ/}6gpLKBz fi|W^>n 3^:CPWS nt@E$zjK17  A0O3) Q%w@2 /(P<y%  \,P +(TdK01%|W/Y7B41 ;M TGa!(> QS["   '3M cq# 4Tp~k '?Tq%(iNEF(oCT;p'h{:+7<tP%5Bx B>>!*<nSeD'VB~W"*M& "2Um} c0'GAo($E+Eq<',H",k191+6gb=6;?={s;-,i%-(Mdv'i);) 9"Dg | H"!2;#S w!% ?E'\0 $/ HOS  DL[a t => I[,o]; T_2f70-hj9<v  &053L DSLV) )-=E C' .  Op L "0Jj{ ' 0G*[zN3 +?AS  &&d/Q ! #0V?H/OUk (NR VtX`Fn<o-0 "j6D 3{ * ? k  6 W - "D %g * u . W  :&XK7?[Hu}<OQ4>5pKC"U#y&N/ =;ryY)F@pFE>RS!{K^0AXrCl4@0&PW(0#&FF9_U]qm]g=@ > !>_!3!+!L!K"^"@#C^### #R#s!$N$$p%H &i&&;''X'.;(2j(Q((&)) ))B*M*+0+#H+l+m+K+b?, ,,,!,, ,--0-H-Y-k-#--L-L.e.v. ....<.; /H/P/c/ y///w/"#0 F0!R0t00030f0V1j111:11!2%292Q2$2&3/A3q334<)4f4[|4*435A75By505 5K5F6 Y6e6 l6z66 6c67"7 @7N7T7r7 z77O7#7U8 l8w8 88 88B888859 >9 H9HU9G9 99 : :A:D::!;E\;W; ;*< 1<<<E<_<1z<.< <<Y<W=p====Gf>.>>{?@AA*A9AWAMfAAAA<A&1BXB:[B<BQBU%CK{CC3C0D,LDRyDfDK3E+EQEeEcF4F#F#FDF\BGLGGCHQHH;H5H I6I)I4IT)Ja~JJqkKK]mLAL@ MANM:M>M7 N?BNNN&N N*N"*O'MO0uO"OkOf5PBPwPbWQQHRAR$SPSS"TAvT9TT,UUU2UV$VV#V WW.W WZX[XDX2YCNYDYXYT0ZZ>ZIZF![%h[i[[7\:@\Z{\c\Q:]`]]%^4.^c^8s^D^/^1!_sS_"__``(0`Y`_`q```` ` ````$`!a Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...).(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem).This is NOT a folder name.A "migration" is ultimately the same as a restoration - but using backup archives that you import from another site.A PHP exception (%s) has occurred: %sA PHP fatal error (%s) has occurred: %sA host name cannot contain a slash.A key with this name already exists; you must use a unique name.A search/replace cannot be undone - are you sure you want to do this?A very large file was encountered: %s (size: %s Mb)A zip error occurredABORT: Could not find the information on which entities to restore.API Key: %sAPI keyAPI secretAWS authentication failedAccess Key: %sAccount IDAccount KeyAccount full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized (%s).Account is not authorized.Account typeAccounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-basedActionsActions upon selected backupsAdd SFTP to send your data securely, lock settings and encrypt your database backups for extra security.Add a siteAdd an additional retention rule...Add an exclusion ruleAdd an external database to backup...Add another %s account...Add another address...Add directory...Add siteAdd this website to your UpdraftCentral Cloud dashboard at updraftplus.com.Adding...Additional and enhanced remote storage locationsAdditional storageAdmin API KeyAdmin UsernameAdmin access keyAdmin secret keyAdvanced / Debugging SettingsAdvanced ToolsAfter pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locationsAfter pressing this button, you will be given the option to choose which components you wish to migrateAfter pressing this button, you will be given the option to choose which components you wish to restoreAfter you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance.All WordPress tables will be backed up.All files beginning with given charactersAll files beginning with these charactersAll files with this extensionAll references to the site location in the database will be replaced with your current site URL, which is: %sAll sitesAllow deletionAllow downloadAllow only administrators to log inAlmost all FTP servers will want passive mode; but if you need active mode, then uncheck this.Also delete from remote storageAlso send this backup to the active remote storage locationsAlso, you should read this important FAQ.An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %sAn admin password has been set.An email is required and needs to be in a valid format.An error occurred on the first %s command - aborting runAn error occurred when fetching storage module options: An error occurred when trying to retrieve your add-ons.An error occurred whilst closing the final database fileAn error response was received; HTTP code:An unknown error occurred when trying to connect to UpdraftPlus.ComAn update containing your addons is available for UpdraftPlus - please follow this link to get it.An update is available for UpdraftPlus - please follow this link to get it.And then add an incremental backupAny other directories found inside wp-contentAny other file/directory on your server that you wish to backupAny settings in your .htaccess or web.config file that affects the maximum upload or post size.Any support requests to do with %s should be raised with your web hosting company.Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address.Apache modulesApplication keyArchive is expected to be size:Are you sure that you wish to remove %s from UpdraftPlus?Are you sure you want to dismiss all UpdraftPlus news forever?Are you sure you want to remove this exclusion rule?Asia PacificAsia Pacific (Mumbai)Asia Pacific (Seoul)Asia Pacific (Singapore)Asia Pacific (Sydney)Asia Pacific (Tokyo)Ask WordPress to automatically update UpdraftPlus when it finds an available update.Ask WordPress to update UpdraftPlus automatically when an update is availableAsk a pre-sales questionAssigned to this siteAt the same time as the files backupAttribute imported content to userAuthenticate with %sAuthenticate with GoogleAuthenticationAuthorisation failed (check your credentials)Automatic BackupAutomatic backup before updateAutomatic updatesAutomatically backs up your website before any updates to plugins, themes and WordPress core.Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable for this site (via your all-addons purchase)Available temporary clone tokens:Available to claim on this siteAzureAzure AccountAzure GermanyAzure GlobalAzure GovernmentBackBack...Backed up: %sBackupBackup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingBackup / RestoreBackup Contents And ScheduleBackup NowBackup ReportBackup WordPress core and non-WP files and databases.Backup WordPress multisites (i.e, networks), securely.Backup began:Backup begunBackup contains:Backup created by unknown source (%s) - cannot be restored.Backup created by:Backup created by: %s.Backup data (click to download)Backup data will be sent to:Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified does not exist.Backup directory specified exists, but is not writable.Backup directory specified is writable, which is good.Backup directory successfully created.Backup does not exist in the backup historyBackup external databaseBackup file not available.Backup finishedBackup is of: %s.Backup label:Backup made by %sBackup more databasesBackup non-WordPress files and databasesBackup non-WordPress tables contained in the same database as WordPressBackup of:Backup of: %sBackup pathBackup sent to remote site - not available for download.Backup set not foundBackup sets removed:Backup succeededBackup time and schedulingBackup to remote storage locationsBackup using %s?Backup won't be sent to any remote storage - none has been saved in the %sBackup, update and manage all your WordPress sites from one dashboardBad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email.Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive.Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive.Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver.Be safe with an automatic backupBegun looking for this entityBelgiumBlog linkBlog uploadsBoth email and password fields are required.Browse contentsBrowsing zip fileBucketBucket locationBucket nameBuy ItCallCall WordPress action:CancelCentral United StatesChange Lock SettingsChanges made:Check this box to have a basic report sent toCheck this box to use Amazon's server-side encryptionCheck this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits).Check this to receive more information and emails on the backup process - useful if something is going wrong.Check your file permissions: Could not successfully create and enter directory:Check your file permissions: Could not successfully create and enter:Chicago (ORD)China (Beijing) (restricted)Choose a default for each tableChoose the components to restoreChoose the schedule that you want your backups to run on.Choose your backup scheduleChoose your remote storageClaim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?Claim not granted - your account login details were wrongCleaning up rubbish...Client IDClient SecretClone readyClone region:Clone server being provisioned and booted (can take several minutes)Cloning and migrationCloseClosing 1st October 2018Cloud FilesCloud Files API KeyCloud Files ContainerCloud Files Storage RegionCloud Files UsernameCloud Files authentication failedCloud Files error - we accessed the container, but failed to create a file within itCloud Files operation failed (%s)Cloud Files usernameCompleteConfirmConfirm changeConflict: that user already existsConflict: that user or email address already existsCongratulations! Your first backup is running.Congratulations, your settings have successfully been saved.ConnectConnect this site to UpdraftCentral CloudConnect to UpdraftCentral CloudConnect to updraftplus.comConnect with your UpdraftPlus.Com accountConnecting...Connection failed.Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.Connection succeeded.ConstantsContainerContains:Content URL:Continue restorationControl all your WordPress installations from one place using UpdraftCentral remote site management!Control all your backups in one placeCopying this entity failed.Could not access %s containerCould not access containerCould not create the containerCould not find that job - perhaps it has already finished?Could not get list of tablesCould not move old files out of the way.Could not open the backup file for writingCould not read the directoryCounting...CreateCreate Azure credentials in your Azure developer console.Create OneDrive credentials in your OneDrive developer console.Create a key: give this key a unique name (e.g. indicate the site it is for), then press "Create key":Create a new API user with access to only this container (rather than your whole account)Create a temporary clone on our servers (UpdraftClone)Create cloneCreate keyCreate new API user and containerCreate new IAM user and S3 bucketCreated database backupCreated file backup zipsCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backupCreating database backup with UpdraftPlus...Creating file backup zipsCreating your first backupCreating...Current clonesCurrent limit is:Current memory usageCurrent use:Currently disabledCurrently enabledDailyDallas (DFW) (default)Dashboard:DatabaseDatabase (created by %s)Database (files backup has not completed)Database OptionsDatabase backup scheduleDatabase decryption phraseDatabase encryption phraseDatabase only (files were not part of this particular schedule)Database restoration options:Database successfully decrypted.Database: search and replace site URLDebug modeDebugging informationDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete failed:Delete from your web serverDelete local backupDelete these settingsDelete this backup setDeleting...Deploying site dataDeselectDirectory pathDisable SSL entirely where possibleDisabled this plugin: %s: re-activate it manually when you are ready.DisconnectDisconnecting...DismissDismiss (for %s months)Dismiss all UpdraftPlus newsDismiss from main dashboard (for %s weeks)Do not abort after pressing Proceed below - wait for the backup to complete.Do not confuse %s with %s - they are separate things.Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated.PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted.Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do remember to save your settings.Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral.Do you need WordPress Multisite support?Do you use UpdraftPlus on multiple sites?Do you want to carry out the import?Do you want to migrate or clone/duplicate a site?Don't know your email address, or forgotten your password?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDrop backup files hereDrop encrypted database files (db.gz.crypt files) here to upload them for decryptionDropboxDurable reduced availabilityEastern Asia-PacificEastern United StatesEasyEditEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too.Encrypted databaseEncrypting databaseEncryption key size:End tourEnjoy professional, fast, and friendly help whenever you need it with Premium.Ensure you are logged into the correct account before continuing.Enter a comma-separated list; otherwise, leave blank for all tables.Enter addresses here to have a report sent to them when a backup job finishes.Enter any path in the field below.Enter details for where this new site is to live within your multisite install:Enter in format HH:MM (e.g. 14:22).Enter the ID of the %s project you wish to use here.Enter the name of the %s bucket you wish to use here.Enter the path of the %s folder you wish to use here.Enter the path of the %s you wish to use here.Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name.Enter your UpdraftPlus.Com email / password here to connect:Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name.Enter your chosen nameErrorError - failed to download the fileError data:Error downloading remote file: Failed to downloadError messageError opening local file: Failed to downloadError opening remote file: Failed to downloadError when creating new site at your chosen address:Error:Error: %sError: invalid pathError: the server sent an empty response.Error: the server sent us a response (JSON) which we did not understand.Error: the server sent us a response which we did not understand.Error: unexpected empty parameter (%s, %s)Error: unexpected file read failErrorsErrors / warnings:Errors encountered:Errors have occurred:Errors occurred when trying to connect to UpdraftPlus.Com:Errors occurred:Errors:Europe (Frankfurt)Europe (Ireland)Europe (London)Europe (Paris)European UnionEvery %s hoursEvery hourExamples of S3-compatible storage providers:Exclude files/directoriesExclude these fromExclude these:Existing keysExpert settingsExport / import settingsExport settingsExtensionsExternal databaseExternal database (%s)Extra databaseFAQsFTP loginFTP passwordFTP serverFacebookFailedFailed to access %s when deleting (see log file for more)Failed to apply User PolicyFailed to create a temporary directoryFailed to delete working directory after restoring.Failed to downloadFailed to download %sFailed to find a manifest file in the backup.Failed to find database fileFailed to open database fileFailed to open database file for reading:Failed to open database file.Failed to open directory (check the file permissions and ownership): %sFailed to open the zip file (%s) - %sFailed to read from the working directory.Failed to read the manifest file from backup.Failed to unpack the archiveFailed to upload %sFailed to upload to %sFailed to write out the decrypted database to the filesystemFailed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location.Failed: We were able to log in, but failed to successfully create a file in that location.Failed: We were not able to place a file in that directory - please check your credentials.Failed: the %s operation was not able to start.Failed: we did not understand the result returned by the %s operation.FailureFailure: No %s was given.Failure: No bucket details were given.Failure: No container details were given.Failure: No server details were given.Failure: Port must be an integer.Failure: we did not successfully log in with those credentials.Failure: we successfully logged in, but were not able to create a file in the given directory.FastFast, personal supportFetchFetching...File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.File OptionsFile is not locally present - needs retrieving from remote storageFile not foundFile not found (you need to upload it): %sFile ready.File was found, but is zero-sized (you need to re-upload it): %sFile/directoryFilesFiles (database backup has not completed)Files and databaseFiles and database WordPress backup (created by %s)Files backup (created by %s)Files backup scheduleFiles found:Files only (database was not part of this particular schedule)Final checksFind out moreFind out more here.Fingerprints don't match.FinishFirst, enter the decryption keyFlexibleFolderFollow this link for more informationFollow this link to attempt decryption and download the database file to your computer.Follow this link to attempt to create the directory and set the permissionsFollow this link to authorize access to your %s account (you will not be able to backup to %s without it).Follow this link to download the log file for this restoration (needed for any support requests).Follow this link to remove these settings for %s.Follow this link to sign up for the UpdraftPlus newsletter.Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section.For backups older thanFor even more features and personal support, check out For future control of all your UpdraftCentral connections, go to the "Advanced Tools" tab.For incremental backups, you will be able to choose which increments to restore at a later stage.For longer help, including screenshots, follow this link.For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium.For the ability to migrate websites, upgrade to UpdraftPlus Premium.For unlocking support, please contact whoever manages UpdraftPlus for you.Forbid non-administrators to login to WordPress on your cloneForgotten your details?FortnightlyFound SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset().FrankfurtFreeFree disk space in account:Free two-factor security pluginFront page:Full backupFull feature listFurther information may be found in the browser JavaScript console, and the server PHP error logs.Get PremiumGet UpdraftCentralGet it from the UpdraftPlus.Com StoreGet it hereGet more quotaGet these settings from %s, or sign up %s.GoGo hereGo here for helpGo here for more information.Go here to activate it.Go here to begin installing it.Go here to connect it.Go here to connect.Go here to re-enter your password.Go thereGo to settingsGo up a directoryGoogle CloudGoogle DriveGoogle Drive list files: failed to access parent folderHTTP code:Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud.Hong Kong (HKG)HostHow do I get a site's key?However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.However, subsequent access attempts failed:I accept the UpdraftClone terms and conditionsI consent to %sIAM operation failed (%s)If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If OneDrive later shows you the message "unauthorized_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If not, then choose your details and a new account will be registered.If not, you will need to either remove data from this table, or contact your hosting company to request more resources.If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead.If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.If using it, select a path from the directory tree below and then press confirm selection.If you already have an updraftplus.com account, then enter the details below.If you are not sure then you should stop; otherwise you may destroy this WordPress installation.If you are not sure what this option is for, then you will not want it, and should turn it off.If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes.If you are using this, then turn Turbo/Road mode off.If you bought new add-ons, then follow this link to refresh your connectionIf you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.If you exclude both the database and the files, then you have excluded everything!If you have already renewed, then you need to allocate a licence to this site - %sIf you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)If you have forgotten your password If you have forgotten your password, then go here to change your password on updraftplus.com.If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1).If you leave it blank, then the backup will be placed in the root of your %sIf you see errors about SSL certificates, then please go here for help.If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite.If you want, test upgrading to a different PHP or WP version.If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.Import settingsImporterImporting a single site into a multisite installImporting...In %s, path names are case sensitive.Include in files backupIncrementalIncrements exist at: %sInfinite recursion: consult your log for more informationInformation needed to continue:InstalledInterested in knowing about your UpdraftPlus.Com password security? Read about it here.Introducing UpdraftCentralInvalid Job IdInvalid bucket nameIowaIt appears that your web server's IP Address (%s) is blocked.It can also backup external databases.It has been tested up to version %s.It is an ID number internal to Google DriveIt is for sending backups to the following site: It will be imported as a new site.JavaScript warningJob ID: %sJob deletedKeyKey created successfully.Keys for a site are created in the section "receive a backup from a remote site".Keystone and swauth are technical terms which cannot be translatedThis needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.Known backups (raw)Last log messageLatest UpdraftPlus.com news:Latest full backup found; identifier:Latest status:Lead developer's homepageLeave this blank to use the default (80 for webdav, 443 for webdavs)Leave this blank, and a default will be chosen.Loading log fileLocal files deleted:Local write failed: Failed to downloadLock access to UpdraftPlus via a password so you choose which admin users can access backups.Lock access to the UpdraftPlus settings pageLock settingsLog all messages to syslogLog all messages to syslog (only server admins are likely to want this)Log in here to enable all the features you have access to.Login or register for UpdraftCentral CloudLogin or register with this email addressLogin successful.LondonLondon (LON)Look through the other settings here, making any changes you’d like.Looking for %s archive: file name: %sManage AddonsManage your clonesManual backup optionsManually decrypt a database backup fileMemory limitMessages:Migrate (create a copy of a site on hosting you control)Migrate / CloneMigrated site (from UpdraftPlus)Migration key created:MigratorMissing parametersMonthlyMore FilesMore database optionsMore information here.More pluginsMore quality pluginsMore settingsMore tasks:Moving old data out of the way...Moving unpacked backup into place...MultisiteMultisite InstallMust-use pluginsN.B. %s is not case-sensitive.N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.N.B. This count is based upon what was, or was not, excluded the last time you saved the options.N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you.Name: %s.NearlineNeed to get support?Need to use sub-folders?Needs to already existNetwork / multisiteNetwork activating theme:Network and multisiteNew IAM usernameNew User's Email AddressNew User's UsernameNew site:NewsNewsletter sign-upNextNext scheduled backupsNoNo %s foundNo %s settings were foundNo Vault connection was found for this site (has it moved?); please disconnect and re-connect.No adsNo backup has been completedNo backup of %s directories: there was nothing found to back upNo backup of location: there was nothing found to back upNo database tables foundNo keys to allow remote sites to send backup data here have yet been created.No local copy present.No log files were found.No previous backup found to add an increment to.No previous full backup found.No receiving sites have yet been added.No settings were foundNo settings were found - please go to the Settings tab and check your settingsNo such backup set existsNoneNorth VirginiaNorth-east AsiaNorthern Virginia (IAD)Not got an account? Get one by buying some tokens here.Not got any remote storage?Not installedNot yet got an account (it's free)? Go get one!Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability.Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates.Note that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing to do: the site URL is already: %sNothing yet loggedNoticeOKOld table prefix:One Time Password (check your OTP app to get this password)One VPS (Virtual Private Server) per clone, shared with nobody.One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the "retain" settings; if/when you wish to delete them then you must do so manually.OneDriveOneDrive GermanyOneDrive InternationalOnly allow this backup to be deleted manually (i.e. keep it even if retention limits are hit).Only email the database backupOnly the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOperation to create user Access Key failedOptimizePress 2.0 encodes its contents, so search/replace does not work.Options (raw)Or if you prefer to self-host, then you can get the self-hosted version here.Or, use an UpdraftClone keyOr, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.OregonOther %s FAQs.Other great pluginsOthersOtherwise, the default link will be shown.Otherwise, you can leave it blank.Over-write wp-config.phpPHP informationPassive modePasswordPassword incorrectPassword: %sPaste key herePathPayments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.Peak memory usagePerhaps you would want to login instead.Please allow time for the communications with the remote storage to complete.Please check your access credentials.Please choose a file or directoryPlease consult this FAQ if you have problems backing up.Please enter a file extension, like zipPlease enter a valid URLPlease enter a valid URL e.g http://example.comPlease enter a valid file extensionPlease enter a valid file name prefixPlease enter characters that begin the filename which you would like to excludePlease fill in the required information.Please follow this link to open %s in a new window.Please give this key a name (e.g. indicate the site it is for):Please make sure that you have made a note of the password!Please re-authorize the connection to your %s account.Please read %s for use of our %s authorization app (none of your backup data is sent to us).Please read this link for important information on this process.Please select a file/folder which you would like to excludePlease specify the Microsoft OneDrive folder name, not the URL.Please supply the requested information, and then continue.Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud.Please wait while you are redirected to UpdraftCentral Cloud.Please wait whilst we make the claim...PluginsPortPre-sales FAQsPre-update backupsPremiumPremium / ExtensionsPremium / Find out morePremium WooCommerce pluginsPress a button to get started.Press here to download or browsePress here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded.Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder).Press here to run a manual backup.Press here to save your settings.Press here to start!Press this button to take a tour of the plugin.Proceed with updateProcessed plugin:ProcessingProcessing files - please wait...Processing table (%s)Processing...Project IDProtocol (SSL or not)Provides expert help and support from the developers whenever you need it.Pruning old backup setsQuota:RSA fingerprintRSS linkRaw backup historyRead FAQs here.Read moreRead more about Easy Updates ManagerRead more about how this works...Read more...Read this article to see step-by-step how it's done.Read this page for a guide to possible causes and how to fix it.Receive a backup from a remote siteReceiving site dataRecently started backup job id: %sRecommended: optimize your database with WP-Optimize.Refresh connectionRefresh current statusRegionRegion: %sRegistration successful.ReliableRemember this choice for next time (you will still have the chance to change it)Remote Storage OptionsRemote files deleted:Remote pathRemote storageRemote storage authenticationRemote storage method and instance id are required for authentication.Remote storage: %sRemoveRemove old directoriesReplace withReportingRequested character set (%s) is not present - changing to %s.Requested table character set (%s) is not present - changing to %s.Requested table collation (%1$s) is not present - changing to %2$s.Requested table collations (%1$s) are not present - changing to %2$s.Requested table engine (%s) is not present - changing to MyISAM.Requesting start of backup...Require password again afterRequired information for restoring this backup was not given (%s)Rescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...Reset tourRestoreRestore an existing backup set onto this siteRestore backupRestoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Retrieving (if necessary) and preparing backup files...Return to UpdraftPlus ConfigurationReview UpdraftPlusRows examined:Rows per batchRun this command to see the log file for this restoration (needed for any support requests).Runs on capacity from a leading cloud computing provider.S3 (Compatible)S3 bucketS3 storage regionSCP/SFTP host settingSCP/SFTP password/keySCP/SFTP user settingSQL update commands run:SaveSave ChangesSaving...SearchSearch / replace databaseSearch and replace site location in the database (migrate)Search and replacing table:Search forSecret Key: %sSecureSecure multisite installation, advanced reporting and much more.See Google's guidelines on bucket naming by following this link.See Microsoft's guidelines on container naming by following this link.See this FAQ also.Select 'Web Application' as the application type.Select FilesSelect a file to view information about itSelect a file/folder which you would like to excludeSelect a way to exclude files or directories from the backupSelect allSelect the remote storage destinations you want to upload this backup set toSelect what you want to backupSendSend a backup to another siteSend a report only when there are warnings/errorsSend this backup to remote storageSend to site:Sending Your Backup To Remote StorageSending files to remote siteServer-side encryptionSet exact times to create or delete backups.SettingsShow expert settingsShow raw backup and file listShow the optionsSign upSingaporeSiteSite data has been deployedSite data receivedSite home:Site informationSite information:Site keySite sizeSize: %s MBSkip this stepSkipped tables:Skipping: this archive was already restored.So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section.Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins.Some files are still downloading or being processed - please wait.Sophisticated reporting and emailing capabilities.South CarolinaSouth-east AsiaSouth-east AustraliaSplit archives every:Split line to avoid exceeding maximum packet sizeStandardStandard (infrequent access)Start backupStarting automatic backup...Storage classStore atSubscriptions can be cancelled at any time.SuccessSuccess:Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:Sufficient information about the in-progress restoration operation could not be found.SupportSupport URLSupported backup plugins: %sSydneySydney (SYD)Table prefixTable prefix has changed: changing %s table field(s) accordingly:Tables examined:TaiwanTake TourTakes just the time needed to create a backup and send it.Tell me moreTell me more about incremental backupsTenantTest %s SettingsTest connection...Testing %s Settings...Testing connection...Testing...Thank you for installing UpdraftPlus!Thank you for taking the tour.That you are attempting to upload a zip file previously created by UpdraftPlus.The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.The %s object was not foundThe 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).The AWS access key looks to be wrong (valid %s access keys begin with "AK")The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site.The UpdraftPlus module for this file access method (%s) does not support listing filesThe WordPress content folder (wp-content) was not found in this zip file.The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The above files comprise everything in a WordPress installation.The admin password has been changed.The admin password has now been removed.The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)The attempt to send the backup via email failed (probably the backup was too large for this method)The attempt to undo the double-compression failed.The attempt to undo the double-compression succeeded.The available memory on the server.The backup attempt has finished, apparently unsuccessfullyThe backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail.The backup has finished runningThe backup has not finished; a resumption is scheduledThe backup records do not contain information about the proper size of this file.The backup was abortedThe backup was aborted by the userThe communication with %s was encrypted.The communication with %s was not encrypted.The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on.The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.The database is too small to be a valid WordPress database (size: %s Kb).The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import.The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import.The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import.The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import.The decryption key used:The directory does not existThe entered key does not belong to a remote site (it belongs to this one).The entered key was corrupt - please try again.The entered key was the wrong length - please try again.The error reported by %s was:The exclusion rule which you are trying to add already existsThe file %s has a "byte order mark" (BOM) at its beginning.The files %s have a "byte order mark" (BOM) at their beginning.The file was uploaded.The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The given file was not found, or could not be read.The given value for the '%s' option is not validThe installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The key provided was not in a valid format, or was corrupt.The key was successfully added.The location of this directory is set in the expert settings, in the Settings tab.The log file could not be read.The log file has been attached to this email.The new user's RackSpace console password is (this will not be shown again):The preparation of the clone data has been aborted.The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe required %s PHP module is not installed - ask your web hosting company to enable it.The server's RSA key %s fingerprint: %s.The site data has all been received, and its import has begun.The time zone used is that from your WordPress settings, in Settings -> General.The ultimately secure and convenient place to store your backups.The user is being told the number of times an error has happened, e.g. An error (27) occurredAn error (%s) occurred:The web server returned an error code (try again, or check your web server logs)The zip engine returned the message: %s.ThemesThen, these lower-powered access credentials can be used, instead of storing your administrative keys.These tables onlyThese will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket.This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s.This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site.This backup was created by %s, and can be imported.This button is disabled because your backup directory is not writable (see the settings).This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage).This can easily destroy your site; so, use it with care!This database backup is missing core WordPress tables: %sThis database needs to be deployed on MySQL version %s or later.This decryption key will be attempted:This does not look like a valid WordPress core backup - the file %s was missing.This feature is not compatible with %sThis feature requires %s version %s or laterThis file could not be uploadedThis file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).This functionality has been disabled by the site administrator.This is a WordPress multi-site (a.k.a. network) installation.This is a count of the contents of your Updraft directoryThis is not an incremental backupThis is not your Azure login - see the instructions if needing more guidance.This is significantly newer than the server which you are now restoring onto (version %s).This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again.This looks like a migration (the backup is from a site with a different address/URL, %s).This most likely means that you share a webserver with a hacked website that has been used in previous attacks.This multi-archive backup set appears to have the following archives missing: %sThis option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up.This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database.This remote storage method (%s) requires PHP %s or later.This setting applies only when a new bucket is being created.This site has no backups to restore from yet.This storage method does not allow downloadingThis version of UpdraftPlus does not know how to handle this type of foreign backupThis will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these.This will delete all your UpdraftPlus settings - are you sure you want to do this?This will import data from:Tidy things up for clients and remove all adverts for our other products.Time nowTime taken (seconds):Time taken:To access the UpdraftPlus settings, please enter your unlock passwordTo add a site as a destination for sending to, enter that site's key below.To be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To complete your migration/clone, you should now log in to the remote site and restore the backup set.To create a temporary clone you need credit in your account.To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below.To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings.To fix the time at which a backup should take place,To fix this problem go here.To import an ordinary WordPress site into a multisite installation requires %s.To maintain your access to support, please renew.To make a backup, just press the Backup Now button.To read FAQs/documentation about UpdraftClone, go here.To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To regain your access, please renew.To remove any block, please go here.To remove the block, please go here.To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To send to more than one address, separate each address with a comma.To use this backup, your database server needs to support the %s character set.TokyoToo many database errors have occurred - abortingTotal (uncompressed) on-disk data:Total backup size:Translators: %s is a bold tag.But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %sTranslators: UpdraftVault is a product name and should not be translated.To get started with UpdraftVault, select one of the options below:Trouble connecting? Try using an alternative method in the advanced security options.Trying...TwitterType a file prefixType an extension like zipUKUS (default)US East (Ohio)US Government West (restricted)US West (N. California)US West (Oregon)US or UK CloudUS or UK Rackspace AccountUS or UK-based Rackspace AccountUnable to get renew dateUnable to open zip file (%s) - could not pre-scan it to check its integrity.Unable to read zip file (%s) - could not pre-scan it to check its integrity.Unexpected response:Unfinished restorationUnited StatesUnknownUnknown server response status:Unknown server response:Unknown/unexpected error - please raise a support requestUnless you have a problem, you can completely ignore everything here.UnlockUnpacking backup...Update quota countUpdraft VaultUpdraftCentralUpdraftCentral CloudUpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place.UpdraftClone key is required.UpdraftPlusUpdraftPlus - Upload backup filesUpdraftPlus AddonsUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus Blog - get up-to-date news and offersUpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply.UpdraftPlus NewsUpdraftPlus NewsletterUpdraftPlus PremiumUpdraftPlus Premium and addonsUpdraftPlus Premium has many more exciting features!UpdraftPlus Premium:UpdraftPlus Restoration: ProgressUpdraftPlus SupportUpdraftPlus TourUpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place.UpdraftPlus is not yet activated.UpdraftPlus is not yet installed.UpdraftPlus is on social media - check us out!UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)UpdraftPlus notice:UpdraftPlus settingsUpdraftPlus temporary clone user login settings:UpdraftPlus warning:UpdraftPlus was unable to find the table prefix when scanning the database backup.UpdraftPlus.Com account terms and policiesUpdraftPlus.Com responded, but we did not understand the responseUpdraftPlus.Com returned a response which we could not understand (data: %s)UpdraftPlus.Com returned a response, but we could not understand itUpdraftPlus.com has responded with 'Access Denied'.UpdraftVaultUpdraftVault is our remote storage which works seamlessly with UpdraftPlus.UpdraftVault storageUpgrade nowUploadUpload backupUpload backup filesUpload errorUpload error:Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)Upload failedUpload files into UpdraftPlus.Uploaded to:Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select FilesorUploading files to remote storageUploadsUploads URL:Use SCP instead of SFTPUse the "Reporting" section to configure the email addresses to be used.Use the server's SSL certificatesUse this option to only send database backups when sending to email, and skip other components.UsernameUsername: %sVault ownerVersionView LogWP CLIWP-CLI commands to take, list and delete backups.WP-CLI supportWaiting until scheduled time to retry because of errorsWarningWarning:Warning: %sWarning: the database's home URL (%s) is different to what we expected (%s)Warning: the database's site URL (%s) is different to what we expected (%s)WarningsWarnings encountered:Warnings:Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link.We accessed the bucket, and were able to create files within it.We accessed the container, and were able to create files within it.We failed to successfully connect to UpdraftPlus.ComWe requested to delete the file, but could not understand the server's responseWe successfully accessed the bucket, but the attempt to create a file in it failed.Web server:Web-server disk space in use by UpdraftPlusWebDAV URLWeeklyWelcome to UpdraftPlusWelcome to UpdraftPlus!Welcome to your UpdraftClone (temporary clone)Well done - there's nothing more needed to set up.Western EuropeWestern United StatesWhere to change directory to after logging in - often this is relative to your home directory.Which site to restoreWhich was exported on:Why am I seeing this?Wipe settingsWith UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too.With UpdraftPlus Premium, you can directly download individual files from here.Without it, encryption will be a lot slower.Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors.Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website.Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network.WooCommerce pluginsWordPress BackupWordPress CoreWordPress backup is completeWordPress coreWordPress core (including any additions to your WordPress root directory)WordPress core (only)WordPress databaseWordPress installedWordPress installed; now awaiting the site data to be sent.WordPress root directory server path: %sYesYou are currently using the free version of UpdraftPlus.You are now using a IAM user account to access your bucket.You are presently not connected to an UpdraftPlus.Com account.You are running on WordPress multisite - but your backup is not of a multisite site.You are using the %s webserver, but do not seem to have the %s module loaded.You can also close this wizard.You can buy UpdraftClone tokens from our shop, here.You can buy more temporary clone tokens here.You can check the progress here or in %sYou can choose another suitable character set instead and continue with the restoration at your own risk.You can choose another suitable collation instead and continue with the restoration (at your own risk).You can enter the path of any %s virtual folder you wish to use here.You can find out more about clone keys here.You can find your temporary clone information in your updraftplus.com account here.You can forbid non-admins logins to this cloned site by checking the checkbox belowYou can get more quota hereYou can manually decrypt an encrypted database here.You do not have access to this bucketYou do not have access to this bucket.You do not have the UpdraftPlus %s add-on installed - get it from %sYou do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?You entered an email address that was not recognised by UpdraftPlus.ComYou have an inactive purchaseYou have an unfinished restoration operation, begun %s ago.You have chosen to backup a database, but no tables have been selectedYou have chosen to backup files, but no file entities have been selectedYou have made changes to your settings, and not saved.You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons.You have not yet connected with your UpdraftPlus.Com account.You have not yet made any backups.You have not yet selected a file to import.You have selected a remote storage option which has an authorization step to complete:You must add the following as the authorised redirect URI (under "More Options") when askedYou must add the following as the authorised redirect URI in your Dropbox console (under "API Settings") when askedYou must add the following as the authorized redirect URI (under "More Options") when askedYou must add the following as the authorized redirect URI in your OneDrive console (under "API Settings") when askedYou must copy and paste this key on the sending site now - it cannot be shown again.You must enter a project ID in order to be able to create a new bucket.You must save and authenticate before you can test your settings.You must select at least one remote storage destination to upload this backup set to.You must upgrade MySQL to be able to use this database.You must use a bucket name that is unique, for all %s users.You must use lower-case letters or numbers for the site path, only.You need to connect to receive future updates to UpdraftPlus.You need to enter a bucketYou need to enter a containerYou need to enter a new IAM usernameYou need to enter a new usernameYou need to enter a valid new email addressYou need to enter an admin API keyYou need to enter an admin access keyYou need to enter an admin secret keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed.You need to supply both an email address and a passwordYou selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network.You should backup all tables unless you are an expert in the internals of the WordPress database.You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly.You should check the file ownerships and permissions in your WordPress installationYou should enable %s to make any pretty permalinks (e.g. %s) workYou should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website).You should save your changes to ensure that they are used for making your backup.You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility.You will find more information about this in the Settings section.You will need to ask your web hosting company to upgrade.You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.You will need to restore it manually.You've got itYour %s account name: %sYour %s quota usage: %s %% used, %s availableYour %s version: %s.Your .htaccess has an old site reference on line number %s. You should remove it manually.Your .htaccess has an old site references on line numbers %s. You should remove them manually.Your IP address:Your UpdraftClone is still setting up.Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old).Your backup has been restored.Your chosen character set to use instead:Your chosen replacement collationYour clone has started and will be available at the following URLs once it is ready.Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready.Your clone will now deploy this data to re-create your site.Your clone will renew on:Your database user does not have permission to drop tablesYour email address and password were not recognised by UpdraftPlus.ComYour email address was valid, but your password was not recognised by UpdraftPlus.Com.Your export file will be of your displayed settings, not your saved ones.Your first backupYour free disk space is very low - only %s Mb remainYour free space in your hosting account is very low - only %s Mb remainYour hosting company must enable these functions before %s can work.Your label for this backup (optional)Your login may be either password or key-based - you only need to enter one, not both.Your new key:Your paid access to UpdraftPlus support has expired.Your paid access to UpdraftPlus support will soon expire.Your paid access to UpdraftPlus updates for %s add-ons on this site has expired.Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire.Your paid access to UpdraftPlus updates for this site will soon expire.Your saved settings also affect what is backed up - e.g. files excluded.Your settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your version: %sYour web server has PHP's so-called safe_mode active.Your web server's PHP installation has these functions disabled: %s.Your web-server does not have the %s module installed.Your website is hosted using the %s web server.Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:Your wp-content directory server path: %sactivate it on this siteadvanced optionsalready doneand retain this many scheduled backupsarchiveauthentication URIauthentication errorauthorization failed:backcalculatecalculating...check your log for more details.configure it herecontainercountdatabase connection attempt faileddatabase connection attempt failed.database namedayday(s)did not return the expected response - check your log file for more detailse.g. %se.g. if your server is busy at day and you want to run overnighteasily migrate or clone your site in minutesencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)enhanced remote storage optionserror: %s (see log file for more)error: failed to upload file to %s (see log file for more)failed to access parent folderfailed to list filesfailed to upload file to %s (see log file for more)faster (possibility for slow PHP installs)filefile is size:files: %sfolderfollow this link to get itgo herego here to change your password on updraftplus.com.herehosthost namehour(s)i.e. Non-automaticManualin the monthincluding any passwordsincremental backup; base backup: %skeykey namelast activity: %ss agolatestlog results to consoleloginmanagemay include some site-wide datamulti-region locationno options or sitemeta table was foundnotice imagenow proceeding with the updates...optionalor (annual discount)or to configure more complex schedulesor to restore manuallyor, to reset this optionother content from wp-contentpasswordpassword/keyplease follow this link to update the plugin in order to activate itplease follow this link to update the plugin in order to get itplease wait for the rescheduled attemptpluginspress hereread more at %srecommendedrefreshregular non-encrypted FTPremote files deletedremote siterequired for some remote storage providersresetrestorationrows: %dsearch and replacesearch termsecure your backupssettingsshow PHP information (phpinfo)show logsite not foundskipped (not in list)slower, strongestsome/pathstarting from next time it isstoptable: %stablestemplate not foundthe database query being run was:the options table was not foundthe world’s most trusted backup plugin!themesthese backup setsthis backup setthis privacy policyunknown sourceupdraftplusTo make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %suse UpdraftPlus Premiumuserusernameweek(s)will restore as:you have authenticated your %s accountyou have authenticated your %s account.you will want to use below search and replace site location in the database (migrate) to search/replace the site address.your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup.your UpdraftPlus.com accountyour site's admin addresszip executable found:PO-Revision-Date: 2019-05-27 21:59:09+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: da_DK Project-Id-Version: UpdraftPlus "%s" har ingen primær nøgle - Manuelle ændringer er nødvendige på rækken %s.lejer%d fejl, %d advarsler%d timer, %d minutter, %d sekunder%s (%s brugt)%s - Kunne ikke lave backup af denne enhed; det tilsvarende arkiv eksisterer ikke (%s)%s Konto navm%s beholder%s Fejl%s Fejl: Kunne ikke initialiseres%s Fejl: Kunne ikke åbne den lokale fil.%s Fejl: Upload mislykkedes.%s Nøgle%s forudinstilling%s Service undtagelse%s adgangsnøgle%s add-on blev ikke fundet%s arkiver mangler%s godkendelse%s tilladelse fejlede%s bits%s bytes%s checksum: %s%s af-autentificering%s download: Mislykkedes: Filen blev ikke fundet%s end-point%s fejl - Adgang til containeren mislykkedes%s fejl - kunne ikke genskabe stykkerne%s fejl - Kunne ikke uploade filen%s fejl - Vi kunne tilgå containeren, men kunne ikke oprette en fil i den%s fejl: %s%s er blevet valgt til fjernlager, men du er ikke tilsluttet i øjeblikket.%s timer%s lokation%s login-fejl%s logo%s minutter, %s sekunder%s per kvartal%s pr. år%s genskabelses-fejl (%s): (Se logfilen for mere info)%s genopretningsmuligheder:%s returnerede et uventet HTTP svar: %s%s sikkerhedsnøgle%s indstillinger test resultat:%s support er tilgængelig som et add-on%s tabeller fundet.%s total tabeller fundet; %s med det angivne præfiks.%s upload: Det mislykkedes af få upload-ID til multi upload - Se logfilen for flere detaljer.%s version:%s uger%s: Ikke læsbar fil - Kunne ikke blive backed up%s: Ulæselig fil - kunne ikke sikkerhedskopieres (check fil-tilladelser og -ejerskab)(Ingen konfigureret)(Ikke færdig)(Intet er logget endnu)(Læs mere)(Dette gælder alle WordPress backup plugins, undtagen hvis de er specielt kodet til multisite mulighed).(allerede uploaded)(tilsyneladende en tidligere- eller tilbagetrykket udgivelse)(som mange af jer synes om)(samtidigt, som der tages backup af filerne)(backup sæt importeret fra ekstern lokation)(nuværende version)(seneste stigning: %s)(lær mere om denne betydelige mulighed)(logs kan findes i UpdraftPlus indstillinger som normalt)...(vær sikker på, at du prøvede på at uploade en zip-fil, der tidligere er skabt af UpdraftPlus)(eller skab forbindelse ved at bruge formularen på denne side, hvis du købt adgang til den)(klik på et ikon for at vælge eller fravælge)Download(version: %s)(se log...)... og mange flere!1 time1 ugeVenligst ikke plaver det i dine uploads eller plugins arkiv, da det vil skabe gentagelse på gentagelse (backup af backup af backup af...).(Det ser ud til, at du allerede er godkendt,, men du kan gennemgå godkendelse igen for at genskabe forbindelse, hvis du har oplevet et problem).Dette er IKKE et mappenavn.En "flytning" er i sidste ende det samme som en restaurering - men benytter backup arkiver, som du importerer fra et andet site.Der er opstået en PHP-undtagelse (%s): %sEn alvorlig PHP fejl (%s) er opstået: %sEt værtsnavn kan ikke indeholde skråstreg.En nøgle med dette navn eksisterer allerede; du skal bruge et unikt navn.En søg/erstat kan ikke gøres om - er du sikker på, at du vil gøre dette?En meget stor fil blev fundet: %s (størrelse: %s Mb)En zip fejl opstodAFBRUDT: Kunne ikke finde oplysninger om, hvilke enheder som skulle gendannes.API Key: %sAPI-nøgleAPI hemmelighedAWS godkendelse mislykkedesAdgangs-nøgle: %sKonto-IDKontonøgleKontoen er brugt op: Din %s konto har kun %d bytes tilbage, men filen, der skal oploades har %d bytes tilbage (total størrelse: %d bytes)Konto fuld: Din %s konto har kun %d bytes tilbage, men filen, der skal uploades, er %d bytesKontoindehavers navn: %s.Kontoen er ikke godkendt (%s).Kontoen er ikke godkendt.KontotypeKonti oprettet på rackspacecloud.com er US konti; konti oprettet på rackspace.co.uk er UK konti.Konti oprettet på rackspacecloud.com er US-konti; konti oprettet på rackspace.co.uk er UK-kontiHandlingerHandlinger for udvalgte backupsTilføj SFTP for at sende dine data sikkert, låse indstillinger og kryptere dine database backups for ekstra sikkerhed.Tilføj et site.Tilføj en ekstra tilføjelsesregel...Tilføj en udelukkelsesregelTilføj en ekstern database til backup...Tilføj en anden %s konto ...Tilføj en anden adresse...Tilføj mappe...Tilføj siteTilføj denne hjemmeside til dit UpdraftCentral Cloud dashboard på updraftplus.com.Tilføjer...Ekstra og forbedrede fjernlagerpladserEkstra opbevaringAdmin API KeyAdmin BrugernavnAdmin adgangs nøgleAdmin hemmelig nøgleAvancerede / FejlsøgningsindstillingerAvancerede værktøjerNår du har trykket på denne knap, kan du på liste over dine gemte fjernlagre vælge, hvortil du vil uploade din sikkerhedskopiNår du trykker på denne knap, vil du få mulighed for at vælge, hvilke komponenter du ønsker at migrereNår du har trykket på denne knap, vil du få mulighed for at vælge, hvilke komponenter du ønsker at gendanneNår du har sikkerhedskopieret din database, anbefaler vi, at du installerer vores WP-Optimize-plugin for at strømline til bedre websiteydelse.Alle WordPress tabeller vil blive sikkerhedskopieret.Alle filer der begynder med disse tegnAlle filer der begynder med disse tegnAlle filer med denne udvidelseAlle referenver til dette site lokation i databasen, vil blive erstattet med dit nuværende site-URL, som er: %sAllle siderTillad sletningTillad downloadTillad kun administratorer at logge indNæsten alle FTP-servere benytter passiv tilstand; men hvis du behøver aktiv tilstand, skal du fjerne afkrydsning af dette felt.Slet også fra fjernlageretSend også denne backup til de aktive eksterne lagringslokationerDu bør også læse denne vigtige FAQ.En SQL linje, som er større end den maksimale pakkestørrelse og som ikke kan deles op, blev fundet. Denne linje vil ikke blive udført, men blive sprunget over: %sEn administrator adgangskode er blevet angivet.En email er påkrævet og skal være i et gyldigt format.Der opstod en fejl med den første %s kommando - afbryder kørelseDer opstod en fejl ved hentning af lagermodulets indstillinger:En fejl opstod ved forsøg på modtagelse af dine tilføjelser.En fejl opstod ved lukning af den sidste database-filEn fejlmeddelelse blev modtaget; HTTP kode:En ukendt fejl opstod ved forsøg på forbindelse til UpdraftPlus.comEn UpdraftPlus opdatering indeholdende dine tilføjelser er tilgængelig - følg dette link for at få den.En opdatering er tilgængelig til UpdraftPlus - venligst klik på dette link for at få den.Og tilføj så en trinvis backupAlle andre mapper fundet inde i wp-contentEnhver anden fil/mappe på din server, som du ønsker at sikkerhedskopiereEnhver indstilling i din .htaccess- eller web.config-fil, der påvirker maksimal upload eller poststørrelse.Eventuelle support anmodninger som har med %s at gøre bør løses med dit web-hosting firma.Enhver der ser låseskærmen vil se denne URL til support - Angiv en website adresse eller en e-mail adresse.Apache modulerApplikationsnøgleArkivets forventede størrelse:Er du sikker på, at du ønsker at fjerne %s fra UpdraftPlus?Er du sikker på, at du vil afvise alle UpdraftPlus nyheder for evigt?Er du sikker på, at du vil fjerne denne udelukkelsesregel?Asia PacificAsia Pacific (Mumbai)Asia Pacific (Seoul)Asien (Singapore)Asien (Sydney)Asien (Tokyo)Bed WordPress om automatisk at opdatere UpdraftPlus, når der findes en tilgængelig opdatering.Bed WordPress om at opdatere UpdraftPlus automatisk, når en opdatering er tilgængeligStil et spørgsmål før købTildelt til denne sidePå samme tid som fil-backuppen Egenskabs importeret indhold til brugerGodkend med %sGodkend med Google.GodkendelseAutorisation mislykkedes (tjek dine personlige oplysninger)Automatisk BackupAutomatisk backup inden opdateringAutomatiske opdateringerSikkerhedskopierer automatisk dit websted inden opdateringer til plugins, temaer og WordPress-kernen.Lav automatisk backup (hvis relevant) af plugins, temaer og WordPress databasen ved hjælp af UpdraftPlus inden opdateringTilgængelig for denne side (via dit tilføjelses fuldpakke køb)Tilgængelige midlertidige klon tokens:Klar til at hente fra denne side.AzureAzure KontoAzure GermanyAzure GlobalAzure regeringTilbageTilbage...Backed up: %sBackupLav backup (hvis relevant) af plugins, temaer og WordPress database med UpdraftPlus før du opdatererBackup / GenskabBackup Indhold og TidsplandBackup NuBackup rapportLav backup af WordPress-filer, øvrige filer og databaser.Lav sikker backup af WordPress Multisites (netværk).Backup startede:Backup er startetBackup indeholder:Backup skabt af ukendt kilde (%s) - Kan ikke genskabes.Backup udført af:Backup lavet af: %s.Backup data (klik for at downloade)Backup data vil blive sendt til:Backup datoBackup mappeBackup mappen (%s) er ikke skrivbar, eller findes ikke.Backup mappe kunne ikke oprettesDette backup-arkiv eksisterer ikke.Dette backup-arkiv eksisterer, men er ikke skrivbart.Den definerede Backup mappe er skrivbar, hvilket er godt.Backup mappe blev oprettet.Backup eksisterer ikke i backup-historieLav backup af ekstern databaseBackup-fil er ikke tilgængelig.Backup er færdigBackup er: %s.Backup etiket:Backup skabt af %sSikkerhedskopier flere databaserUdfør backup af ikke-WordPress filer og databaserLav backup af ikke-WordPress tabeller, der er placeret i samme database som WordPressBackup af:Backup af: %sBackup stiBackup sendt til eksternt site - ikke tilgængelig til download.Bakup sæt ikke fundetBackup sæt fjernet:Backup lykkedesBackup tidspunkt og planlægningSikkerhedskopiering til eksterne lagringsstederBakcup ved hjælp af %s?Backup vil ikke blive sendt til noget lager - Intet er blevet gemt i %sBackup, opdater og administrer alle dine WordPress-websteder fra ét dashboardForkert filnavn format - det ligner ikke en fil oprettet af UpdraftPlusForkert filnavn format - det ligner ikke en krypteret database fil oprettet af UpdraftPlusVær opmærksom på, at mail-servere har tendens til at have størrelses-begrænsningerr; typisk omkring %s MB; Backups større end eventuelle begrænsninger vil sandsynligvis ikke komme frem som følge heraf. UpdraftPlus sender kun database backups til emails.Vær opmærksom på at mailservere ofte har størrelsesbegrænsninger; typisk omkring %s MB; backups større end eventuelle grænser vil sandsynligvis ikke blive modtaget.Vær opmærksom på at mailservere ofte har en størrelsesbegrænsning; typisk omkring %s Mb; backup større end disse grænser vil sandsynligvis ikke blive modtaget.Vær forsigtig med, hvad du vælger - Hvis du vælger, vil der blive forsøgt skabt en zip-fil indeholdende hele din webserver.Vær på den sikre side med en automatisk backupSøgning efter denne enhed er startetBelgienBlog linkBlog uploadsBåde email og adgangskode felter er påkrævede.Gennemse indholdGennemser zip-filGruppeGruppe lokationBeholder-navnKøbOpkaldUdfør WordPress handling:AnnullerCentral United StatesSkift låse-indstillingerRettelser lavet:Markér dette felt for at få en grundlæggende rapport sendt tilSæt kryds i denne boks for at bruge Amazon's server-side krypteringVælg denne funktion for at slette enhver unødvendige backup-filer fra din server, efter backup-kørslen er færdiggjort. Hvis du fravælger funktionen, vil alle filer sendt til fjernlager også forblive på den lokale enhed).Se her for mere information og e-mails om backup-processen - Nyttigt, hvis noget går galt.Undersøg dine fil-tilladelser: Kunne ikke skabe og tilføje arkivet:Tjek dine fil-tilladelser: Kunne ikke oprette og skrive:Chicago (ORD)Kina (Beijing) (begrænset)Vælg en standard for hver tabelVælge komponenterne som skal gendannesVælg den tidsplan for kørsel af dine sikkerhedskopier.Vælg din backup-planVælg dit fjernlagerAdgang nægtet - Måske har du allerede brugt dette køb et andet sted, eller din betalte periode til at downloade fra updraftplus.com er udløbet?Anmodning ikke godkendt - Dine login detaljer til kontoen er forkerteRydder op i affald...Klient IDKlient hemmelighedKlon klarKlon region:Klon-server klargøres og genstartes (kan tage flere minutter)Kloning og migrationLukLukker 1. oktober 2018Cloud filerCloud Files API nøgleCloud Files containerCloud Files Storage RegionCloud Files brugernavnCloud filer godkendelse mislykkedesCloud Files fejl - vi fik adgang til mappen, men undlod at oprette en fil i den.Cloud Files kørslen fejlede /%s)Cloud-filer brugernavnKompletBekræftBekræft ændringKonflikt: Denne bruger findes alleredeKonflikt: Denne bruger eller e-mail adresse eksisterer alleredeTillykke! Din første sikkerhedskopiering kører.Tillykke, dine indstillinger er blevet gemt.TilslutForbind dette websted til UpdraftCentral CloudOpret forbindelse til UpdraftCentral CloudOpret forbindelse til updraftplus.comForbind til din UpdraftPlus.Com kontoTilslutter...Forbindelse mislykkedes.Forbindelsesfejl: kontrollere dine adgangsoplysninger, at database serveren er oppe og at netværksforbindelsen ikke er bag en firewall.Forbindelse lykkedes.KontinuerligeContainerIndeholder:Indholds-URL:Fortsæt gendannelseStyr alle dine WordPress-installationer fra ét sted ved hjælp af UpdraftCentral remote site management!Administrer alle dine backups ét stedKopiering af denne enhed mislykkedes.Kunne ikke tilgå %s containerKunne ikke tilgå mappeKunne ikke oprette beholderenKunne ikke finde det job - måske er det allerede færdig?Kunne ikke få liste over tabellerKunne ikke flytte gamle filer af vejenKunne ikke åbne backup filen for skrivningKunne ikke læse mappenTæller...OpretOpret Azure legitimationsoplysninger i din Azure udviklerkonsol.Opret OneDrive legimitation i din OneDrive udviklerkonsol.Oprette en nøgle: Giv denne nøgle et unikt navn (som f.eks antyder det site, den er til), og tryk derefter på "Opret Nøgle":Opret en ny API bruger med adgang kun til denne container (og ikke til hele din konto)Opret en midlertidig klon på vores servere (UpdraftClone)Opret klonOpret nøgleOpret ny API bruger og containerOpret ny IAM bruger og S3 bucketOprettet database backupOprettede fil backup zipsSkaber %s og database backup med UpdraftPlus...Opretter backup med UpdraftPlus...Opretter database backupOpret database backup med UpdraftPlus...Opretter fil backup zipsOpret din første backupOpretter...Nuværende klonerNuværende grænse er:Aktuelt hukommelsesforbrugNuværende brug:I øjeblikket deaktiveretI øjeblikket aktiveretDagligDallas (DFW) (standard)Dashboard:DatabaseDatabase (oprettet af %s)Database (backup af filer er ikke færdig)Database mulighederDatabase backup tidsplanDatabase dekryptering sætningDatabasekryptering sætningKun database (filer var ikke en del af denne planlagte kørsel)Muligheder ved genskabelse af database:Det lykkedes af dekryptere databasen.Database: Søg og erstat sitets URLFejlsøgningstilstandInformation om rens af filerDekrypterer database (dette kan tage et stykke tid) ...SletSlet gamle mapperSlet backup sætSletning mislykkedes:Slet fra din webserverSlet lokal backupSlet disse indstillingerSlet dette backup sætSletter...Implementering af webstedsdataFravælgSti til arkivDeaktiver SSL helt, hvor det er muligtDette plugin er disabled: %s genaktivér det manuelt, når du er klar.AfbrudtAfbryder...LukUdskyd (i %s måneder)Afvis alle UpdraftPlus nyhederAfvis fra hovedoversigten (i %s uger)Afbryd ikke efter klik på Fortsæt nedenfor - Vent på at backup'en er færdig.%s of %s må ikke forveksles - De er forskelligePKCS1 (PEM header: BEGIN RSA-nøgle), XML og PuTTY format nøgler accepteret.Undlad at validere SSL-certifikaterLæs denne artikel af nyttige viden inden du gendanner.Husk at gemme dine indstillinger.Har du flere WordPress-sider, du vil sikkerhedskopiere? Hvis ja, kan du spare timer ved at administrere alle dine sikkerhedskopier vis UpdraftCentral.Har du brug for WordPress Multisite support?Bruger du UpdraftPlus på flere websteder?Vil du udføre importen?Ønsker du at flytte eller klone/kopiere et site?Kender du ikke din email-adresse, eller har du glemt dit password?Har du ikke lyst til at blive udspioneret? UpdraftPlus Premium kan krypterer din database backup.Download fejl: serveren sendte os et svar, som vi ikke forstod.Download mislykkedeDownloading igangDownload log filHent senest ændret logfilDownload til din computerDrop backup-filer herPlacér krypterede database-filer (db.gz.crypt filer) her for at uploade dem til afkrypteringDropboxVedværende begrænset tilgængelighedØstlige Asia-PacificØstlige United StatesNemtRedigerEmailE-mail rapporter skabt af UpdraftPlus (gratis) giver dig de seneste UpdraftPlus.com nyhederKrypter dine følsomme databaser (f.eks. kundeoplysninger eller adgangskoder); Lav også backup af eksterne databaser.Krypteret databaseKrypterer databaseKrypterings-nøglens størrelse:Slut rundvisningNyd professionel, hurtig og venlig hjælp, når du har brug for det med Premium.Sørg for, at du er logget ind på den rigtige konto, inden du fortsætter.Indtast en kommasepareret liste; ellers efterlad tom for alle felter.Indtast de ønskede adresser her, som skal modtage en rapport når backup-jobbet er afsluttet.Indtast en sti i feltet nedenfor.Angiv detaljer for, hvor denne nye site skal være i din multisite installation:Skriv i formatet TT:MM (f.eks. 14:22).Indtast ID''et til det %s projekt du ønsker at benytte her.Indtast navnet på den %s gruppe, du vil bruge her.Her angives stien til %s mappen du ønsker at bruge.Indtast stien til den %s, du ønsker at bruge her.Indtast dit Rackspace admin username/API key (så Rackspace kan godkende din tilladelse til at oprette nye brugere), og indtast et nyt (unikt) brugernavn og e-mail adresse for den nye bruger samt et container-navn.Indtast dit UpdraftPlus.Com email/password her for at forbinde:Indtast dit Amazon S3 adgang / hemmelige nøgler (dette skal være et nøglepar med nok rettigheder til at oprette nye brugere og spande), og et nyt (unikt) brugernavn til den nye bruger og en spand navn.Indtast dit valgte navnFejlFejl - Kunne ikke downloade filenFejldata:Fejl ved download af fil: Download mislykkedesFejlmeddelelseFejl ved åbning af lokal fil: Kunne ikke downloade.Fejl ved åbning af fjern-fil: Download mislykkedesDer opsted fejl oprettelse af nyt site på din valgte adresse:Fejl:Fejl: %sFejl: Ugyldig stiFejl: Serveren sendte et tomt svar. Fejl: Serveren sendte os et svar (JSON), som vi ikke forstod.Fejl: Serveren sendte et uforståeligt svar.Fejl: Uventet tomt parameter (%s, %s)Fejl: Uventet fejl ved læsning af filFejlFejl / advarsler:Fundne fejl:Der er opstået fejl:Der opstod fejl ved forsøg på at forbinde til UpdraftPlus.Com:Fejl opstod:Fejl:Europa (Frankfurt)Europa (Irland)Europa (London)Europa (Paris)Europæsik UnionHver %s timeHver timeEksempler på S3-kompatible lagerleverandører:Ekskluder filer/mapperEkskluder disse fraUndlad disse:Eksisterende nøglerEkspert indstillingerEksport / import indstillingerEksportindstillingerUdviddelserEkstern databaseEkstern database (%s)Ekstra databaseFAQsFTP loginFTP passwordFTP serverFacebookMislykketAdgang til %s mislykkedes under sletning (se yderligere i log-filen)Det lykkedes ikke at anvende User PolicyKunne ikke oprette en midlertidig mappeDet lykkedes ikke at slette arbejdsmappe efter gendannelse.Kunne ikke downloadeDownload %s mislykkedesKunne ikke finde en manifest-fil i backup'en.Kunne ikke finde database-filenKunne ikke åbne database-filenDet mislykkedes af åbne og læse database-filen:Kunne ikke åbne database filen.Kunne ikke åbne bibliotek (tjek fil-tilladelser og -ejerskab): %sKunne ikke åbne zip-filen (%s) - %sKunne ikke læse fra arbejdsmappen.Kunne ikke læse manifest-filen fra backup.Kunne ikke udpakke arkivet.Upload %s mislykkedesUpload til %s mislykkedesKunne ikke skrive det dekrypterede database til filsystemetFejl: Vi kunne logge ind og flytte det valgte arkiv, men mislykkedes i at skabe en fil på denne lokation.Fejl: Vi kunne logge ind, men mislykkedes i at skabe en fil på denne lokation.Fejl: Vi kunne ikke indsætte en fil i denne mappe - Venligst tjek dine tilladelser.Mislykkedes: %s operationen kunne ikke starte.Mislykkedes: Vi forstod ikke resultatet der blev returneret af %s operationen.FejlFejl: Der blev ikke angivet et %sFejl: Ingen gruppedetaljer blev oplyst.Fejl: Der blev ikke oplyst detaljer om mappe.Fejl: Der blev ikke angivet server-detaljer.Fejl: Port skal angives i hele tal.Fejl: Vi kunne ikke logge på med disse oplysninger.Fejl: Vi er logget ind, men var ikke i stand til at oprette en fil i den givne mappe.HurtigtHurtig. personlig supportFetchHenter...Filen (%s) blev fundet, men har en anden størrelse (%s) end forventet (%s) - Filen kan være beskadiget.Fil-mulighederFilen findes i øjeblikket ikke lokalt - Den skal hentes fra fjernlageretFil ikke fundetFilen blev ikke fundet (du skal uploade den): %sFil klar.Filen blev fundet, men er uden indhold (du må uploade den igen): %sFil/mappeFilerArkiverer (backup af databasen er ikke færdig)Filer og databaseFiler og database WordPress backup (lavet af %s)Fil-backup (lavet af %s)Tidsplan for backup af filerFundne filer:Kun filer (databasen var ikke end del af denne planlagte kørsel)Afsluttende kontrolSe mereLær mere herFingeraftryk matcher ikke.SlutIndtast først dekrypteringsnøglenFleksibelMappeKlik på linket for mere information.Følg dette link for at forsøge dekryptering eller download database-filen til din computer.Klik her for at forsøge at oprette mappen og angive rettighederne til den.Følg dette link for at godkende adgang til din %s konto (du vil ikke kunne sikkerhedskopiere til %s uden at gøre dette).Følg dette link for at downloade log-filen for denne genoprettelse (nødvendig for enhver henvendelse til support).Følg dette link for at fjerne disse indstillinger for %s.Følg dette link for at tilmelde dig UpdraftPlus nyhedsbrev.Følg linket til din Google API konsol og aktivér der Drive API og skab en Client ID i API Access sektionen.Følg dette link til din Google API Console og aktivér Lager API'en og opret et klient ID i API-adgang sektionen.For backup ældre endFor endnu flere funktioner og personlig support, tjekGå til "Advancerede Værktøjer" fanen for fremtidig kontrol af alle dine UpdraftCentral forbindelser.For trinvise sikkerhedskopier kan du vælge, hvilke trin der skal gendannes på et senere tidspunkt.Følg dette link for mere uddybende hjælp, der blandt andet indkluderer skærmbilleder.For evnen til at låse adgangen til UpdraftPlus-indstillingerne med en adgangskode, skal du opgradere til UpdraftPlus Premium.Opgradér til UpdraftPlus Premium for at kunne overføre websites.For oplåsning support, venligst kontakt den, der administrerer UpdraftPlus for dig.Forbyd ikke-administratorer at logge ind på WordPress på din klonHar du glemt dine oplysninger?Hver fjortende dagFundet SET NAMES %s, men skifter til %s som foreslået af WPDB::determine_charset().FrankfurtGratisLedig diskplads på konto:Gratis to-faktor sikkerhedspluginForside:Fuld backupKomplet liste over funktionerYderligere informationer kan findes i browserens JavaScript-konsol og i serverens PHP fejllogs.Få PremiumFå UpdraftCentralFå den i UpdraftPlus.COM StoreFå det herFå større kvoteFå disse indstillinger fra %s, eller tilmeld %s.StartKlik herKlik her for hjælpFind mere information her.Klik her for at aktivere det.Klik her for at starte installation.Gå hertil for at forbinde det.Klik her for at skabe forbindelse.Klik her for at indtaste dit password igen.Gå dertilGå til indstillingerGå et mappeniveau opGoogle CloudGoogle DriveGoogle Drive fil-liste: Kunne ikke få adgang til hovedmappenHTTP kode:Har endnu ikke har modtaget en adgangs-token fra Google - Du skal godkende din forbindelse til Google Drev.Har endnu ikke fået adgangstoken fra Google - du skal godkende eller genautorisere din forbindelse til Google Cloud.Hong Kong (HKG)VærtHvordan får jeg et sites nøgle?Men, UpdraftPlus arkiver er standard zip/SQL filer - så hvis du er sikker på, at filen har det rette format, kan du omdøbe dem, så de matcher dette mønster.Dog mislykkede adgangsforsøget efterfølgende:Jeg accepterer vilkår og betingelser for UpdraftCloneJeg accepterer op til %sIAM operation mislykkedes (%s)Hvis Google senere viser dig beskeden "Invalid_klient", har du ikke angivet en gældende klient ID her.Hvis OneDrive senere viser meddelelsen "unauthorized_client", så har du ikke indtastet en gyldig klient-id her.Hvis du opretter en anmodning om support, skal du medtage denne information:Hvis ikke, så vælg dine oplysninger og en ny konto vil blive registreret.Hvis ikke, skal du enten fjerne data fra denne tabel, eller kontakte dit hostingselskab for at anmode om flere ressourcer.Hvis muligheden for at sende direkte fra site til site ikke virker for dig, så er der tre andre metoder - prøv en af disse i stedet.Hvis dette mislykkes, så tjek tilladelserne på din server eller ændre den til en anden mappe, der er skrivbare for din webserver.Hvis dette er en backup skabt af en anden backup plugin, kan UpdraftPlus Premium muligvis hjælpe dig.Hvis du bruger det, skal du vælge en sti fra mappe-træet herunder og derefter trykke på bekræft valg.Hvis du allerede har en updraftplus.com-konto, skal du indtaste oplysningerne herunder.Hvis ikke du er sikker, bør du stoppe; ellers kan du ødelægge denne WordPress installation.Hvis du ikke ved, hvad denne mulighed går ud på, vil du sikkert ikke have den og bør derfor vælge den fra.Hvis du ser flere backup's, end du havde forventet, er det sikkert på grund af, at sletning af gamle backup sæt ikke sker, før en ny backup er færdig.Hvis du bruger dette, så slå Turbo/Road mode fra.Hvis du har købt nye tilføjelser, bedes du følge dette link for at opdatere din forbindelseHvis du stadig kan læse denne tekst, efter siden er færdig med at loade, så er der et problem med JavaScrips eller jQuery på siden.Hvis du fravælger både databasen og filerne, har du fravalgt alt!Hvis du allerede har fornyet, skal du tilknytte en licens til dette websted - %sHvis du har en AWS admin brugerkonto, kan du bruge denne guide til hurtigt at oprette en ny AWS (IAM) bruger med adgang til kun denne spand (i stedet for hele din konto)Hvis du har glemt dit passwordHvis du har glemt dit password, så klik her for at ændre det på udraftsplus.com Hvis du har købt via UpdraftPlus.Com, skal du følge dette link til installationsvejledningen (især trin 1).Hvis feltet står tomt, vil backup'en placeres i roden af din %sHvis du ser fejl vedrørende SSL-certifikater, kan du få hjælp her.Hvis du ønsker at genskabe en multisite backup, så skal du først sætte din WordPress op som en multisite installation.Du er velkommen til at teste opgradering til en anden PHP eller WP-version.Hvis din database indeholder ekstra tabeller, som ikke er en del af en WordPress side (du ved, når det er tilfældet), så aktivér denne mulighed for også at lave backup af disse.Importér indstillingerImporterImporterer et single site til en multisite installationImporterer...Sti-navne i %s understøtter kun små bogstaver.Medtag i fil backupTrinvisForøgelser eksisterer ved: %sUendelig rekursion: se din log for mere informationNødvendig information for at fortsætte:InstalleretInteresseret i at vide mere om UpdraftPlus.Com password sikkerhed? Læs mere her.Præsenterer UpdraftCentralUgyldigt job IDUgyldigt emne-navnIowaDet ser ud til at din web server's IP addresse (%s) er blokeret.Det kan også sikkerhedskopier eksterne databaser.Der er testet op til version %s.Det er et internt Google Drive ID-nummerDet er til brug ved afsendelse af backup til følgende side:Vil blive importeret som et nyt site.JavaScript advarselJob ID: %sJob slettetNøgleNøgle blev skabt med succes.Nøgler til et websted oprettes i afsnittet "Modtag en sikkerhedskopi fra et eksternt site".Det skal være en v2 (Keystone) godkendelse URI; v1 (Swauth) understøttes ikke.Kendte backups (komplette)Sidste Log BeskedSeneste UpdraftPlus.com nyheder:Seneste fulde backup fundet; identificerer:Seneste status:Udviklerens egen hjemmesideLad dette være tomt for at bruge standard (80 for webdav, 443 for webdavs)Lad dette stå tomt, og der vælges en standard.Indlæser logfilSlettede lokale filer:Lokal skrivning mislykkedes: Kunne ikke downloadeLås adgang til UpdraftPlus via en adgangskode, så du vælger hvilke admin-brugere der kan få adgang til sikkerhedskopier.Lås adgang til UpdraftPlus' indstillings-side.Lås indstillingerLog alle meddelelser til syslogLog alle beskeder til syslog (ønskes sansynligvis kun udført af server-administratorer)Log ind her for at aktivere alle de funktioner, du har adgang til.Log ind eller registrer dig for UpdraftCentral CloudLog ind eller registrer dig med denne mailadresseLogin succesfuld.LondonLondon (LON)Gennemse de andre indstillinger her og foretag enhver ønsket ændring.Leder efter %s arkiv: filnavn: %sHåndtér tilføjelserAdministrer dine klonerManuelle backup mulighederManuel dekryptere en database backup filhukommelsesgrænseBeskeder:Migrere (lav en kopi af et websted, du administrerer) Flytte / KloneOverflyttet side (far UpdraftPlus)Overflytnings-nøgle oprettet:MigratorManglende parametreMånedligFlere filerFlere database mulighederMere information her.Flere pluginsFlere kvalitets-pluginsFlere indstillingerFlere opgaver:Fjerner gammel data af vejenFlytter upakket backup på plads...MultisiteMultisite installationMust-use pluginsN.B. %s skelner ikke mellem store og små bogstaver.P.S. Hvis du installerer UpdraftPlus på flere WordPress-sider, kan du ikke genbruge dine projekter; du må oprette et ny ud fra din Google API konsol for hver side.N.B. Denne optælling er baseret på, hvad der var, eller ikke var udelukket sidste gang du gemte indstillinger.N. B. Dette er kun nødvendigt, hvis du ikke allerede har oprettet gruppen, og du ønsker at UpdraftPlus opretter det for dig.Navn: %s.NearlineBehov for support?Behov for sub-foldere?Skal allerede eksistereNetværk / MultisiteAktiveret tema på netværk:Netværk og multisiteNyt IAM brugernavnNy brugers e-mail adresseNy brugers brugernavnNy side:NyhederTilmelding til nyhedsbrevNæsteNæste planlagte backupNejIngen %s fundetDer blev ikke fundet %s indstillingerIngen Vault forbindelse blev fundet for dette websted (er det flyttet?); venligst afbryd og tilslut igen.Ingen reklamerIngen backup er fuldført.Ingen backup af %s mapper: Der blev intet fundet at sikkerhedskopiereIngen backup af lokation: Der blev ikke fundet noget at tage backup afIngen database-tabeller fundetIngen nøgler til at tillade fjernwebsites at sende backup data her er endnu blevet oprettet. Der er endnu ikke oprettet nøgler til at sende backup data hertil fra fjern-websites.Ingen lokal kopiIngen logfiler blev fundet.Ingen tidligere backup at tilføje et trin til blev fundet.Ingen tidligere backup fundet.Ingen modtagerside er blevet tilføjet.Indstillinger blev ikke fundetIndstillinger blev ikke fundet - Gå venligst til Indstillinger knappen og kontroller dine indstillingerEn sådan backup findes ikkeIngenNorth VirginiaNord-øst AsienNorthern Virginia (IAD)Har du ikke en konto? Få en ved at købe nogle tokens herHar du ikke et fjernlager?Ikke installeretHar du endnu ikke en konto (det er gratis)? Få en her!Bemærk, at Google ikke understøtter alle lagringsklasser på enhver placering - Du bør læse deres dokumentation for at lære om aktuel tilgængelighed.Bemærk, at efter du har modtaget dine tilføjelser, kan du fjerne dit password (men ikke e-mail-adresse) fra indstillingerne nedenfor, uden at påvirke dette sites adgang til opdateringer.Bemærk, at ikke alle cloud backup metoder nødvendigvis bruger SSL-godkendelse.Note:Intet planlagt i øjeblikketKan ikke ændre noget: URL'en %s eksisterer allerede.Der er ikke logget noget endnuMeddelelseOKGammel tabel præfiks:One Time Password (check din OTP app for at få denne adgangskode)En VPS (Virtual Private Server) pr. klon, ikke delt med andre.Én eller flere backups er blevet tilføjet efter scanning af fjernlager; bemærk at disse backups ikke automatisk vil blive slettet gennem "behold"-instillingerne. Når/hvis du ønsker at slette dem, må dette gøres manuelt.OneDriveOneDrive TysklandOneDrive InternationalTillad kun manuel sletning af denne backup (dvs. behold den, selv om tidsgrænsen for opbevaring overskrides).Mail kun database backup'enKun WordPress databasen kan gendannes; du bliver nødt til at behandle den eksterne database manuelt.Opera web browserKunne ikke oprette bruger adgangsnøgleOptimizePress 2.0 koder dens indhold, så søg/erstat virker ikke.Muligheder (raw)Eller hvis du foretrækker selv at være vært, kan du få den selvhostede version her.Eller, brug en UpdraftClone nøgleEller, du kan placere dem manuelt i dit UpdraftPlus arkiv (normalt wp-indhold/updraft), f.eks. via FTP, og benyt så "rescan"-linket ovenfor.OregonAndre %s FAQ's.Andre gode pluginsAndreEllers vil standard-linket blive vist.Ellers kan du lade det være tomt.Overskriv wp-config.phpPHP informationPassiv tilstandPasswordForkert passwordPassword: %sIndsæt nøglen herStiBetaling kan foretages i amerikanske dollars, euro eller GB pounds sterling, via kort eller PayPal.Max hukommelsesforbrugMåske vil du gerne logge ind i stedet.Afvent venligst at kommunikationen med fjernlageret er fuldført.Venligst tjek dine adgangsindstillinger.Vælg venligst en fil eller en mappeSe venligst denne FAQ, hvis du har problemer med sikkerhedskopiering.Indtast venligst en filtype, som f.eks. zipVenligst indtast en gyldig URLIndtast venligst en gyldig webadresse, fx http://eksempel.dkIndtast venligst et gyldigt filtypenavnIndtast venligst et gyldigt filnavn præfiksIndtast venligst tegn, der begynder filnavnet, som du gerne vil udelukkeVenligst udfyld den nødvendige information.Følg dette link for at åbne %s i et nyt vindue.Giv denne nøgle et navn (angiv f.eks. sitet den er til):Sørg for, at du har lavet et notat af kodeordet!Godkend igen forbindelsen til din %s konto.Læs venligst %s til brug af vores %s autorisations-app (ingen af dine backupdata bliver sendt til os).Venligst læs dette link for vigtig information om processen.Vælg venligst en fil/mappe, som du gerne vil udelukkeVenligst angiv Microsoft OneDrive-mappenavnet, ikke URL'en.Venligst angiv den anmodede information og fortsæt derefter.Vent venligst mens systemet genererer og registrerer en krypteringsnøgle til dit websted med UpdraftCentral Cloud.Vent venligst mens du omdirigeres til UpdraftCentral Cloud.Vent venligst mens vi udfører fordringen...PluginsPortFør du køber FAQ'sSikkerhedskopierer inden opdateringerPremiumPremium / UdvidelserPremium / Se mere herPremium WooCommerce pluginsTryk på en knap for at starte.Klik her for at downloade eller gennemseKlik her for at se i din UpdraftPlus mappe (på dit webhotel) efter nye backups som du har uploadet.Tryk her for at se dit fjernlagers muligheder ved eventuelle eksisterende backup sæt (fra ethvert websted, hvis de opbevares i samme mappe).Klik her for at køre en manuel backup.Tryk her for at gemme dine indstillinger.Klik her for at starte!Tryk på denne knap for at få en rundvisning af plugin'et.Fortsæt med opdateringenAnvendt plugin:BearbejderBehandler filer - vent venligst...Behandler tabel (%s)Behandler...Projekt IDProtokol (SSL eller ikke)Giver eksperthjælp og support fra udviklerne, når du har brug for det.Nedbringer antal gamle backup-sætKvote:RSA fingeraftrykRSS linkKomplet backup-historieLæs ofte stillede spørgsmål her.Læs mereLæs mere om Easy Updates ManagerLæs mere om, hvordan dette virker...Læs mere...Læs denne artikel for at se trin for trin, hvordan man gør. Læs denne side for en guide til mulige årsager og løsningsforslag.Modtag en backup fra et fjernlager-siteModtagelse af webstedsdataBackup ID startet fornylig:%sAnbefalet: Optimer din database med WP-Optimize.Opdater forbindelseOpdatér nuværende statusRegionRegion: %sRegistrering succesfuld.PålideligHusk dette valg til næste gang (du vil stadig have mulighed for at ændre det)Fjernlager mulighederSlettede eksterne filer:Fjern-stiFjernlagerAutorisation af ekstern lagringFjernlager metode og angivelse af id er nødvendige for godkendelse.Fjernlager: %sFjernFjern gamle mapperErstat medRapporteringØnsket tegnsæt (%s) er ikke tilgængeligt - skifter til %s.Det ønskede tabel-tegnsæt (%s) findes ikke - ændres til %s.Den ønskede tabel-sortering (%1$s) findes ikke - skift til %2$s.De ønskede tabel-sorteringer (%1$s) findes ikke - skift til %2$s.Den ønskede table engine (%s) er ikke tilgængelig - Skifter til MylSAM.Anmoder om start af backup...Kræv adgangskode igen efterDer blev ikke givet nødvendige oplysninger for at kunne genskabe denne sikkerhedskopi (%s)Gentag scanning af lokal mappe for nye sæt.Gentag scanning af fjernlagerScanner igen (søger efter backup's, du manuelt har uploaded til det interne backup lager)...Scanner igen både fjern- og lokal-lager for backup-sæt...Reset tourGendanGenskab et eksisterende backup sæt til dette siteGenskab backupGendannelse af databasen. På et stort websted kan dette tage lang tid, hvilket kan ske, hvis din webudbyder har konfigureret din hosting at begrænse ressourcerne. I så fald skal du bruge en anden metode, såsom phpMyAdmin...Gendannelse vil erstatte denne hjemmesides temaer, plugins, uploads, database og/eller andre indholdsmapper (alt efter dit valg og hvad backup sættet indeholder).Henter (hvis nødvendigt) og forbereder backup-filer...Vend tilbage til konfiguration af UpdraftPlusAnmel UpdraftPlusUndersøgte rækker:Rækker pr. kørselKør denne kommando for at se log-filen for denne genoprettelse (skal bruges ved alle supportanmodninger).Kører på kapacitet fra en førende cloud data provider.S3 (Kompatibel)S3 BucketS3 storage regionSCP/SFTP host indstillingerSCP/SFTP password/nøgleSCP/SFTP bruger-indstillingerSQL update-kommandoer kører:GemGem ændringerGemmer...SøgSøg / erstat databaseSøg og erstat site-placering i databasen (migrere)Søg og erstat tabel:Søg efterFortrolig nøgle: %sSikkerSikker multisite installation, avanceret rapportering og meget mere.Se Google's vejledning vedrørende navngivning af grupper ved at følge dette link.Se Microsofts retningslinjer for mappe-navngivning ved at følge dette link.Se også denne FAQ.Vælg 'Web Application" som program-type.Vælg filerVælg en fil for at se oplysninger om denVælg en fil/mappe, som du gerne vil udelukkeVælg en måde at ekskludere filer eller mapper fra backup'enVælg alleVælg de fjernlagrings-steder, du vil uploade dette backup sæt tilVælg hvad du ønsker at lave backup afSendSend en backup til et andet siteSend kun en rapport når der er advarsler/fejlSend denne backup til fjernlagerSend til site:Sender din backup til fjernlagerSender filer til fjernwebstedServer-side krypteringIndstil nøjagtige tidspunkter for at oprette eller slette sikkerhedskopier.IndstillingerVis Ekspert indstillingerVis komplet backup og fil-listeVis mulighederneTilmeldSingaporeSiteWebstedets data er blevet implementeretWebsteddata modtagetSidens forside:Site informationSite information:Side-nøgleSite størrelseStørrelse: %s MBSpring over dette stepKasserede tabeller:Stopper: Dette arkiv er allerede genskabt.Så for at få nøglen til fjernwebstedet, skal du åbne vinduet "Migrér websted" på dette websted og gå til det pågældende afsnit.Nogle backup plugins kan ikke gendanne en backup, så Premium tillader dig at gendanne sikkerhedskopier fra andre plugins.Nogle filer er stadig ved at downloade eller blive bearbejdet - Vent venligst.Sofistikerede rapporterings- og mailingsfunktioner.South CarolinaSyd-øst AsienSyd-øst AustralienOpdel arkiver hver:Delt linje for at ungå overskridelse af maksimal pakkestørrelseStandardStandard (sjælden adgang)Start backupStarter automatisk backup...Lager niveauGem påAbonnement kan til enhver tid opsiges.SuccesUdført:Succes: Vi loggede ind, og bekræftede vores evne til at skabe en fil i den givne mappe (login-type:Tilstrækkelige informationer om den igangværende genskabelse kunne ikke findes.SupportSupport URLUnderstøttede backup plugins: %sSydneySydney (SYD)Tabel præfiksTabel præfiks har ændret sig: Skiftende %s tabel-felt(er) i overensstemmelse hermed:Undersøgte tabeller:TaiwanTag rundvisningenTager kun den nødvendige for at oprette en sikkerhedskopi og sende den.Fortæl mig mereFortæl mig mere om trinvis sikkerhedskopieringLejerTest %s indstillingerTest forbindelse...Tester %s indstillinger...Tester forbindelse...Tester...Tak for, at du installerede UpdraftPlus!Tak fordi du tog rundvisningen.at du prøver at uploade en zip-fil, der tidligere er oprettet af UpdraftPlus.%s forbindelsen udløb. Hvis du angav serveren korrekt, skyldes dette normalt at en firewall blokerer forbindelsen. Du bør tjekke dette med din web-udbyder.%s emnet blev ikke fundet"Backup Nu"-knappen er deaktiveret, da din backup mappe er ikke skrivbar (gå til fanen "Indstillinger", og find den relevante mulighed).AWS adgangskoden er tilsyneladende forkert (gyldige %s adgangskoder begynder med "AK")UpdraftPlus Migrator modificerer restaurering processen korrekt, så det passer til backup data på det nye websted.UpdraftPlus modulet til denne fil-adgangsmetode (%s) understøtter ikke lister af filer.WordPress indholdsmappe (wp-content) blev ikke fundet i denne zip fil.Ovenstående mapper er alting, undtagen selve WordPress kernen, som du kan downloade på ny fra WordPress.org.Ovenstående filer omfatter alt i en WordPress installation.Administrator adgangskoden er blevet ændret.Administrator adgangskoden er nu blevet fjernet.Mængden af hukommelse (RAM) tilladt til PHP er meget lav (%s Mb) - Du bør udvide hukommelsen p.g.a. for lidt hukommelse (kontakt din webhosting-udbyder for mere hjælp)Grænsen for kørsel af WordPress plugins er meget lav (%s sekunder) - Du bør hæve grænsen for at undgå backup-fejl på grund af time-outs (rådfør dig med din web-udbyder for mere hjælp angående max_execution_time PHP indstillingen. Den anbefalede værdig er %s sekunder eller mere)Forsøget på at sende backup'en via e-mail mislykkedes (backup'en var muligvis for stor til denne metode)Forsøg på at rette dobbelt-kompresionen mislykkedes.Forsøg på at rette dobbelt-kompresionen lykkedes.Den tilgængelige hukommelse på serveren.Sikkerhedskopieringen forsøgte at blive færdig, men uden heldBackup-mappen er ikke skrivbar (eller diskplads er fuld) - Database-backup'en forventes snart at mislykkes.Denne backup er færdigBackup'en er ikke færdig; en genoptagelse er planlagtBackup optegnelser indeholder ikke information om den korrekte størrelse af denne fil.Backup'en blev afbrudtBackup'en blev afbrudt af brugerenKommunikationen med %s var krypteret.Kommunikationen med %s var ikke krypteret.Database-backup'en bruger MySQL funktioner, som ikke findes i den gamle MySQL version (%s), dette websted kører på.Det ser ud til, at filerne i databasen er blevet komprimeret to gange - Måske har siden, du har downloaded dem fra, en forkert konfigureret webserver.Databasen er for lille til at være en godkendt WordPress database (størrelse: %s Kb).Database-serveren, som dette WordPress-websted kører på, understøtter ikke tegnsættet (%s), som du forsøger at importere.Database-serveren, som dette WordPress-websted kører på, understøtter ikke tegnsættene (%s), som du forsøger at importere.Database-serveren, som dette WordPress-websted ligger på, understøtter ikke den sortering (%s), der bruges i databasen, som du forsøger at importere.Database-serveren, som dette WordPress-websted ligger på, understøtter ikke flere af sorteringerne (%s), der bruges i databasen, som du forsøger at importere.Dekrypteringsnøglen som blev anvendt:Arkivet eksisterer ikkeDen angivne nøgle tilhører ikke en fjern-side (den tilhører denne side).Den angivne nøgle var i stykker - prøv venligst igen.Den angivne nøgle havde forkert længde - prøv venligst igen.Fejlen meddelt af %s var:Den udelukkelsesregel, som du forsøger at tilføje, eksisterer alleredeFilen %s har et "byte rækkefølge mærke" (BOM) ved starten.Filerne %s har et "byte rækkefølge mærke" (BOM) ved starten.Filen blev uploaded.Mappen eksisterer, men din webserver har ikke tilladelse til at skrive til den.Følgende enhed kan ikke gendannes automatisk: "%s".Den pågældende fil blev ikke fundet eller kunne ikke læses.Den angivne værdi for '%s'-muligheden er ikke gyldigDen indstallerede version af UpdraftPlus Backup/Restore er ikke blevet testet mod din version af WordPress (%s).Nøglen var enten ikke i et godkendt format eller var ikke korrekt.Nøglen blev tilføjet med succes.Placeringen af denne mappe er angivet i ekspertindstillingerne i fanen Indstillinger.Logfilen kunne ikke læses.Log-filen er vedhæftet denne e-mail. Den nye brugers RackSpace konsol password er (dette vil ikke blive vist igen):Udarbejdelsen af klondataene er blevet afbrudt.Anmodningen til filsystemet om at oprette mappen mislykkedes.Det nødvendige %s PHP modul er ikke installeret - ret henvendelse til dit hostingfirma for at få dette aktiveretDet nødvendige %s PHP modul er ikke installeret - bed din webudbyder om at aktivere det.Serverens RSA-nøgle %s fingeraftryk: %s.Alle webstedets data er blevet modtaget, og importen er begyndt.Den anvendte tidszone er den samme som i dine WordPress-indstillinger.Det ultimativt sikre og bekvemme sted at gemme dine sikkerhedskopier.En fejl (%s) opstod:Web-serveren returnerede en fejlkode (prøv igen, eller tjek din web-servers logs)Zip returnerede denne besked: %s.TemaerDerefter kan disse lavere-drevne adgang legitimationsoplysninger bruges, i stedet for at gemme dine administrative nøgler.Kun disse tabellerDisse vil blive brugt til at oprette en ny bruger og nøglepar med et IAM politik vedhæftet, som kun vil gøre det muligt af få adgang til den angivne spand.Dette backup-sæt er slået fra på dette websted, men på tidspunktet for sikkerhedskopien brugte du %s, mens webstedet nu bruger %s.Dette backup sæt blev ikke genkendt af UpdraftPlus som værende skabt af den nuværende WordPress installation, men blev enten fundet i fjernlager, eller blev sendt fra et eksternt site.Denne backup blev lavet af %s og kan importeres.Denne knap er deaktiveret fordi dit backup-arkiv ikke er skrivbart (se indstillingerne).Denne knap vil slette alle UpdraftPlus indstillinger og information om igangværende sikkerhedskopier (men ikke slette eksisterende sikkerhedskopier i din sky).Dette kan let ødelægge din side; så anvend det med forsigtighed!Denne database backup mangler WordPress tabeller: %sDenne database skal indsættes på MySQL version %s eller nyere.Denne dekrypteringsnøgle vil forsøges anvendt:Dette ser ikke ud til at være en godkendt WordPress backup - Filen %s manglede.Denne funktion er ikke kompatibel med %sDenne funktion kræver %s version %s eller nyereDenne fil kunne ikke blive uploadetDenne fil er tilsyneladende ikke et UpdraftPlus backup arkiv (som skal være .zip eller .gz filer med et navn som: backup_(tidspunkt)_(site navn)_(kode)_(type).(zip/gz)).Denne funktionalitet er blevet deaktiveret af webstedsadministratoren.Dette er en WordPress multi-site (også kaldet netværk) installation.Dette er en optælling af indholdet på din Updraft mappeDette er ikke en trinvis backupDette er ikke din Azure login - se anvisninger, hvis du har brug for mere vejledning.Denne er markant nyere end den serverversion, som du nu ønsker at gendanne på (version %s).Dette er undertiden forårsaget af en firewall - prøv at fravælge SSL i ekspert indstillingerne, og teste igen.Dette ligner en migrering (sikkerhedskopien er fra et websted med en anden adresse / URL,%s).Dette sker ofte, hvis du deler server med en hacked webside som har været brugt i et tidligere angreb.Multi-arkiv backup'en ser ud til at mangle følgende arkiver: %sDenne instilling vil muliggøre at tabeller lagres i MySQL-databasen, som ikke hører til WordPress (genkendt ved deres mangel på konfigureret WordPress præfiks, %s). Dette problem er forårsaget af forsøg på genskabelse af en database på en meget gammel MySQL version, der er uforenelig med kildedatabasen.Denne fjern-lagerplads metode (%s) kræver PHP %s eller nyere.Denne indstilling gælder kun, når en ny gruppe bliver skabt.Dette site har ingeb backups at genskabe fra endnu.Denne lagringsmetode tillader ikke downloadDenne version af UpdraftPlus kan ikke håndtere denne type af fremmed backupDette vil også medføre fejlsøgningsudskrift fra alle plugins som vil blive vist på denne skærm - du skal ikke blive overrasket over at se disse.Dette vil slette alle dine UpdraftPlus indstillinger - er du sikker på at du vil gøre dette?Dette vil importere data fra:Ryd op for kunder og fjern alle annoncer for vores andre produkter.Tiden nuAnvendt tid (sekunder):Tid brugt:For at få adgang til UpdraftPlus' indstillinger, skal du indtaste din adgangskodeFor at tilføje en hjemmeside som en destination til at sende til, skal du indtaste dette websteds nøgle nedenfor.For at kunne oprette et standard mappe-navn skal du bruge UpdraftPlus Premium.For at ændre standardinstillingerne for, hvad der skal tages backup af - for at indstille planlagte backups - for at sende dine backups til fjernlager (anbefales) - og mere - Gå til indstillingsfanen.For at fuldføre din migrering/kloning, bør du nu logge ind på det eksterne site og genoprette backup sættet.For at oprette en midlertidig klon har du brug for kredit på din konto.For at oprette en midlertidig klon har du brug for: 1) Kredit på din konto og 2) At oprette forbindelse til din konto nedenfor.Hvis du vil fjerne tilladelse til UpdraftPlus (alle websteder) til at få adgang til dit Google Drev, skal du følge dette link til dine Google-kontoindstillinger.For at rette det tidspunkt, hvor en backup bør finde sted,Løs dette problem her.For at importere et almindeligt WordPress site til en multisite installation kræves %s.Venligst forny for fortsat adgang til support.Klik på Backup Nu knappen for at skabe en backup.Gå hertil, for at læse ofte stillede spørgsmål/dokumentation om UpdraftClone.Venligst forny for igen at få adgang til opdateringer (inklusive fremtidige funktioner og kompabilitet med kommende udgaver af WordPress) samt support.Venligst forny for igen at få adgang.Fjern enhver blok her.Klik her for at fjerne block'en.For at beholde adgang til opdateringer (inklusiv fremtidige funktioner og kompabilitet til WordPress versioner) samt support, bedes du forny din licens.Adskil hver adresse med et komma, for at sende til flere adresser.For at bruge denne backup, skal din database server understøtte %s tegnsæt.TokyoDer har været for mange database fejl - stopperTotal (ukomprimeret) på disk data:Total backup-størrelse:Kør regelmæssigt backup til fjerntliggende cloud storage i %s indstillinger %s for at undgå server-truslerVælg én af nedenstående muligheder for at komme i gang med UpdraftVault.Problemer med at forbinde? Prøv at bruge en anden metode i de avancerede sikkerhedsindstillinger.Forsøger...TwitterIndtast et filpræfiksSkriv en udvidelse som f.eks. zipUKUS (standard)US East (Ohio)US Government West (begrænset)US West (N. California)US West (Oregon)US eller UK CloudUS eller UK Rackspace kontoUS eller UK baseret Rackspace kontoKan ikke få dato for fornyelseKunne ikke åbne zip-fil (%s) - Kunne ikke scanne og tjekke for sikkerheden.Kunne ikke læse zip-fil (%s) - Kunne ikke scanne og tjekke for sikkerheden.Uventet respons:Ufærdig gendannelseUnited StatesUkendtUkendt server-svar status:Ukendt server-svar:Ukendt/ uforventet fejl - Henvend dig venligst til supportenMed mindre du har problemmer, kan du bare ignorere alt her.Lås opUdpakker backup...Opdatér kvotetællerUpdraft VaultUpdraftCentralUpdraftCentral CloudUpdraftCentral er en yderst effektiv måde at administrere, opdatere og sikkerhedskopiere flere websteder fra ét sted.UpdraftClone-nøgle er påkrævet.UpdraftPlusUpdraftPlus - Upload backup filerUpdraftPlus addonsUpdraftPlus Automatisk Backup'sUpdraftPlus BackupsUpdraftPlus Blog - Få opdaterede nyheder og tilbudUpdraftPlus Migrator kloner dit WordPress-websted og flytter det direkte og enkelt til et nyt domæne.UpdraftPlus NyhederUpdraftPlus NyhedsbrevUpdraftPlus PremiumUpdraftPlus Premium og addonsUpdraftPlus Premium har endnu flere spændende funktioner!UpdraftPlus Premium:UpdraftPlus Genoprettelse: StatusUpdraftPlus supportUpdraftPlus RundvisningUpdraftPlus har sin egen indlejrede lagringsmulighed, hvilket giver en super-let måde at downloade, gemme og administrere alle dine sikkerhedskopier på ét sted.UpdraftPlus er endnu ikke aktiveret.UpdraftPlus er endnu ikke installeret.UpdraftPlus er på sociale medier - tjek os ud!UpdraftPlus havde behov for at oprette en %s i dit indholdsarkiv, men mislykkedes - Venligst tjek dine rettigheder og giv adgang (%s)UpdraftPlus meddelelse:UpdraftPlus-indstillingerUpdraftPlus bruger login-indstillinger for midlertidig klon:UpdraftPlus advarsel:UpdraftPlus kunne ikke finde indstillinger for tabeller ved scanning af database backup'en.UpdraftPlus.Com kontovilkår og politikkerUpdraftPlus.Com svarede, men vi forstod ikke svaretUpdraftPlus.Com gav et svar, som vi ikke kunne forstå (data: %s)UpdraftPlus.Com returnerede et svar, men vi kunne ikke forstå detUpdraftPlus.com har svaret med 'Adgang nægtet'.UpdraftVaultUpdraftVault er vores fjernlager, der fungerer problemfrit med UpdraftPlus.UpdraftVault lagerOpgrader nuUploadUpload backupUpload backup filerFejl ved uploadUpload fejl:Upload forventes at svigte: %s grænsen for en enkelt fil er %s, mens denne fil er %s GB (%d bytes)Upload mislykkedesUpload filer til UpdraftPlus.Uploaded til:ellerUploader filer til fjernlagerUploadsUploads URL:Brug SCP i stedet for SFTPBrug "Reporting"-sektionen til at konfigurere den e-mail, du ønsker at benytteBrug denne servers SSL-certifikaterBrug denne indstilling til alene at sende databasebackups, når du sender til e-mail.BrugernavnBrugernavn: %sVault ejerVersionSe loggenWP CLIWP-CLI kommandoer til at tage, sortere og slette sikkerhedskopier.WP-CLI supportAfventer planlagt kørsel før næste forsøg pga. fejlAdvarselAdvarsel:Advarsel: %sAdvarsel: Databasens URL (%s) er forskellig fra, hvad vi forventede (%s)Advarsel: Databasens URL (%s) er forskellig fra, hvad vi forventede (%)AdvarslerFundne advarsler:Advarsler:Var denne backup oprettet af et andet backup plugin? Hvis ja, skal du muligvis først omdøbe den, så den kan genkendes - følg dette link.Vi har fået adgang til gruppen, og vi kunne oprette filer i den.Vi fik adgang til mappen, og var i stand til at oprette filer i den.Det lykkedes ikke at skabe forbindelse til UpdraftPlus.ComVi anmodede om at slette filen, men kunne ikke forstå serverens svarVi har fået adgang til gruppen, men forsøget på at oprette en fil i den mislykkedes.Web server:Web-server diskplads i brug af UpdraftPlusWebDAV URLUgentligVelkommen til UpdraftPlusVelkommen til UpdraftPlus!Velkommen til din UpdraftClone (midlertidig klon)Godt gået - Der behøves ikke mere for setup.VesteuropaVestlige United StatesHvor at skifte mappe til efter log in - Denne er ofte det samme som dit hjemme-bibliotek.Hvilket site at gendanneSom blev eksporteret:Hvorfor ser jeg dette?Wipe-indstillingerMed UpdraftPlus Premium kan du vælge at sikkerhedskopiere ikke-WordPress-tabeller, eller kun tage backup af udvalgte tabeller og endelig også at sikkerhedskopiere andre databaser.Med UpdraftPlus Premium kan du hente individuelle filer direkte herfra.Uden denne vil kryptering foregå langsommere.Uden denne tilladelse, kan UpdraftPlus ikke slette backups - Du skal også sætte din 'behold' indstillinger meget høj for at forhindre at se sletningsfejl.Uden denne tilladelse, kan du ikke downloade eller gendanne direkte ved hjælp UpdraftPlus, og vil i stedet være nødt til at besøge AWS's hjemmeside.Uden opgradering tillader UpdraftPlus enhver blogadministrator, som kan ændre plugin-indstillinger til backup og herfra hente og gendanne data (som f.eks. ændrede adgangskoder) adgang til hele netværket.WooCommerce pluginsWordPress BackupWordPress CoreWordPress backup er fuldførtWordPress coreWordPress kerne (herunder eventuelle tilføjelser til din WordPress rodmappe)WordPress kerne (kun)WordPress databaseWordPress installeret.WordPress installeret; afventer nu de data, der skal sendes.Server-sti til WordPress rodmappen: %sJaDu bruger i øjeblikket den gratis version af UpdraftPlus.Du benytter nu en IAM brugerkonto for adgang til din bucket.Du er i øjeblikket ikke forbundet til en UpdraftPlus.Com konto.Du arbejder via en WordPress multisite - men din backup er ikke af et multisite site.Du bruger %s webserver, men den lader ikke til at have %s modulet indlæst.Du kan også lukke denne guide.Her kan du købe UpdraftCone tokens fra vores shop.Du kan købe flere midlertidige klon tokens her.Du kan kontrollere fremskridt her eller i %sDu kan vælge et andet passende tegnsæt i stedet og erstatte det på egen risiko.Du kan vælge en anden passende sortering i stedet og fortsætte med genoprettelsen (på egen risiko).Du kan indtaste stien til enhver %s virtuel mappe, du ønsker at bruge her.Du kan finde ud af mere om klonetaster her.Du kan finde dine midlertidige klonoplysninger på din updraftplus.com konto her.Du kan forbyde ikke-admin logins på dette klonede websted ved at markere afkrydsningsfeltet nedenforDu kan få større kvote herDu kan manuelt dekryptere en krypteret database her.Du har ikke adgang til denne gruppeDu har ikke adgang til denne gruppeDu har ikke dette UpdraftPlus %s add-on installeret - Få det fra %sDet ser ud til, at din installerede Updraft er forældet - Måske har du taget fejl af dem? Du har indtastet en e-mail adresse som ikke blev genkendt af UpdraftPlus.ComDu har et inaktivt købDu har en ufærdig gendannelses-operation, påbegyndt for %s siden.Du har valgt at sikkerhedskopiere en database, men ingen tabeller er blevet valgtDu har valgt at tage backup, men har ikke valgt nogle filerDu har ændret dine indstillinger, men har ikke gemt.Du har endnu ikke skabt forbindelse til din UpdraftPlus.Com konto, hvor du har mulighed for at se dine købte tilføjelses-funktioner.Du har endnu ikke forbundet din UpdraftPlus.Com konto.Du har endnu ikke oprettet nogle backups.Du har endnu ikke valgt en fil, der skal importeres.Du har valgt en ekstern lagerløsning, der har et tilladelses-step for at fuldføre:Du skal tilføje følgende som gældende URI (under "Flere indstillinger") når du bliver spurgt.Du skal, når du bliver spurgt, tilføje følgende som den autoriserede omdirigering URI i din Dropbox-konsol (under "API Indstillinger").Du skal tilføje følgende som autoriseret omdirigerings-URI (under "Flere indstillinger"), når du bliver spurgtDu skal tilføje følgende som den autoriserede omdirigerings-URI i din OneDrive-konsol (under "API-indstillinger"), når du bliver bedt om detDu skal kopiere og indsætte denne nøgle på afsendelsesstedet nu - Den kan ikke vises igen.Du skal indtaste et projekt ID for at kunne oprette en nu gruppe.Du skal gemme og godkende, før du kan teste dine indstillinger.Du skal vælge mindst ét fjernlager at uploade denne backup til.Du skal opgradere MySQL for at kunne bruge denne database.Du skal bruge et gruppenavn, der er unikt for alle %s brugere.Du skal bruge små bogstaver eller tal i websitets sti.Du er nødt til at modtage fremtidige opdateringer UpdraftPlus.Du skal angive en bucketDu skal angive en containerDu skal indtaste et nyt IAM brugernavnDu skal angive et nyt brugernavnDu skal angive en gyldig ny e-mail adresseDu skal angive en admin API nøgleDu skal indtaste en admin adgangsnøgleDu skal indtaste en hemmelig admin adgangsnøgleDu skal angive et admin brugernavnDet er nødvendigt at re-autentificere med %s, da dine eksisterende legitimationsoplysninger ikke fungerer.Du skal læse og acceptere UpdraftCentral Cloud data- og privatlivspolitikker, før du kan fortsætte.Du er nødt til at bruge både en e-mail adresse og en adgangskodeDu valgte at %s skal indgå i gendannelsen - det kan ikke / bør ikke ske ved import af et enkelt site til et netværk.Du bør sikkerhedskopiere alle tabeller, medmindre du er ekspert i detaljer i WordPress-databasen.Du bør kontrollere, at den eksterne site er online, ikke er bag en firewall, ikke har sikkerhedsmoduler, der kan blokere adgangen, har UpdraftPlus version %s eller nyere aktiv, og at nøglerne er blevet indtastet korrekt.Du bedes tjekke filejerskab og -tilladelser i din WordPress installationDu bør frigøre %s for at pæne permalinks (f.eks. %s) kan virkeDu bør sørge for, at dette virkelig er et backup sæt beregnet til brug på denne hjemmeside, før du gendanner (snarere end et backup sæt fra en urelateret hjemmeside).Du bør gemme dine ændringer for at sikre, at de bliver anvendt til din backup.Du bør opdatere UpdraftPlus for at være sikker på at have en kompatibel version.Du kan finde mere information om dette i afsnittet Indstillinger.Venligst bed din web hosting leverandør om at opgradere.Du er nødt til at kontakte din hostingudbyder for at finde ud af, hvordan du skal angive tilladelser for et WordPress plugin for at det kan skrive til mappen.Du bliver nødt til at gendanne det manuelt.VærsgoDit %s konto navn: %sDin %s forbrugskvote: %s %% brugt, %s tilgængeligDin %s version: %s.Dit .htaccess har en gammel side-reference på linjenummer %s. Du skal fjerne det manuelt.Dine .htaccess har gamle side-referencer på linjenumrene %s. Du skal fjerne dem manuelt.Din IP-adresse:Din UpdraftClone indstilles stadig.Din WordPress installation har gamle mapper fra inden du gendannede / migrerede (teknisk information: disse er markeret med -old).Din backup er blevet gendannet.Dit valgte tegnsæt, der skal bruges i stedet:Din valgte alternative sorteringDin klon er startet og vil være tilgængelig på følgende webadresser, når den er klar.Din klon er startet, netværksoplysninger er endnu ikke tilgængelige, men vil blive vist her og på din updraftplus.com konto, når den er klar.Din klon vil nu implementere disse data for at genskabe dit websted.Din klon vil blive fornyte:Din database brugerkonto har ikke tilladelse til at slette tabellerDin e-mail adresse go password blev ikke genkendt af UpdraftPlus.ComDin e-mailadresse var gyldig, men din adgangskode blev ikke genkendt af UpdraftPlus.Com.Din eksportfil vil være af dine viste indstillinger, ikke dine gemte indstillinger.Din første backupDin ledige diskplads er meget lille - Der er kun %s Mb tilbageDin ledige plads på din hosting-konto er meget lille - kun %s Mb tilbageDin hosting udbyder skal slå disse funktioner til inden %s kan virke.Din label til denne backup (valgfrit)Dit login skal være enten password- eller nøgle-basseret - Du skal kun indtaste én af dem, ikke begge.Din nye nøgle:Din betalte adgang til UpdraftPlus support er udløbet.Din betalte adgang til UpdraftPlus support udløber snart.Din betalte adgang til UpdraftPlus opdateringer til %s add-ons på denne side er udløbet.Din betalte adgang til UpdraftPlus opdateringer for %s af %s add-ons på denne side udløber snart.Din betalte adgang til UpdraftPlus opdateringer til denne side vil snart udløbe.Dine gemte indstillinger påvirker også, hvad der oprettes back up af - f.eks. udelukkes filer.Dine indstillinger er gemtDine indstillinger er blevet slettet.Din sides admin e-mail adresse (%s) vil blive brugt.Din version: %sDin web server har PHP's såkaldte safe_mode slået til.Din webservers PHP installation har slået disse funktioner fra: %s.Din web-server har ikke %s modulet installeret.Dit website er hostet ved hjælp af %s webserver.Dit website besøges kun sjældent og UpdraftPlus modtager ikke de forventede ressourcer. Læs venligst denne side:Din wp-content arkivserver sti: %saktivier den på denne sideavancerede indstillingerAllerede færdigog fastholde så mange planlagte backupsarkivbekræftelses URIgodkendelsesfejlgodkendelse mislykkedes: tilbageBeregnberegner...tjek din log for flere detaljer.konfigurer hermappetællerforbindelse til database mislykkedesdatabase forbindelse mislykkedes.databasenavndagdag(e)returnerede ikke det forventede svar - tjek din log-fil for flere detaljerf.eks. %sfx hvis din server er optaget om dagen, og du vil køre det om nattenmigrer eller klon let dit websted på få minutterkrypteret FTP (explicit kryptering)krypteret FTP (implicit kryptering)forbedrede muligheder for fjernlagerfejl: %s (se logfil for mere information)fejl: Kunne ikke oploade filer i %s (se log file for yderligere information)adgang til den overliggende mappe mislykkedesfilerne kunne ikke viseskunne ikke uploade filen til %s (se logfil for mere info)hurtigere (mulighed for langsomme PHP installationer)filFilstørrelse:filer: %smappefølg dette link for at få detgå hertilklik her for at ændre dit password på updraftplus.comherværtværtsnavntime(r)Manuali månedenInklusiv ethvert passwordtrinvis sikkerhedskopi; basis backup: %snøglenøgle navnSeneste aktivitet: for %ss sidensenestelog resultater til konsolLog indstyrekan indeholde nogle data for hele sitetmulti-regional lokationder blev ikke fundet hverken valgmuligheder eller site-metalæg mærke til billedefortsætter nu med opdateringerne...valgfrieller (årlig rabat)eller at konfigurere mere komplekse skemaereller at gendanne manuelteller for at nulstille denne indstillingandet indhold end wp-indholdpasswordpassword/nøglevenligst aktiver dette plugin ved at opdatere det via dette linkFor at få dette plugin, bedes du følge dette opdaterings-linkVenligst vent på det planlagte forsøgpluginsklik herlæs mere på %sanbefaletopdateralmindelig ikke-krypteret FTPfjernfiler slettetekstern sidekrævet af nogle lager-udbyderenulstilgenoprettelserækker: %dsøger og erstattersøgefrasebeskyt dine sikkerhedskopierIndstillingervis PHP information (phpinfo)vis logsite ikke fundetSprang over (ikke på listen)langsomere, stærkestnogle/stibegyndende fra næste gang er detstoppetabel: %stabellerskabelon blev ikke fundetdatabaseforespørgslen der blev kørt var:tabellen med muligheder blev ikke fundetverdens mest betroede backup plugin!temaerdisse backup sætdette backup sætdenne privatlivspolitikukendt kildeTryk her for at udføre en simpel backup til din server. Eller gå til %s indstillinger %s for at konfigurere regelmæssige sikkerhedskopier og fjernlager.brug UpdraftPlus Premiumbrugerbrugernavnuge(r)vil genskabes som:du har autentificeret din %s kontodu har autentificeret din %s konto.Du vil gerne bruge nedenstående søgning og erstatte webstedets placering i databasen for at søge / erstatte webstedets adresse.din PHP installation mangler open-ssl modulet. Som et resultat, kan dette tage minutter. Hvis intet er sket inden da, så skal du enten prøve en mindre størrelse nøgle, eller spørge din webudbyder, hvordan du aktiverer dette PHP modul i din opsætning.din UpdraftPlus.com kontodit websteds admin adresseanvendelige zip fundet:languages/updraftplus-bs_BA.po000064400001120351147400355670012405 0ustar00# Translation of UpdraftPlus in Bosnian # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: +0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);\n" "X-Generator: GlotPress/3.0.0\n" "Language: bs_BA\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "" #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-fi.mo000064400000122375147400355670012041 0ustar00 ||} # + KY$r W  + 9EGC ]B]x%g'l)<)% bE K - ?"!Rb!!!T!MC"$""""""#q.### # # # #$ %$1$9B$%|$6$&$%%G1% y%%K%_%vA& &&-&5'ED' ''' ' '' ')(1(:M(*(((9(#)5)N)h)z) )))))))) *&* D* e*p*)****** +#!+E+M+j+G+(+P+JK,,,,(,,-'-/-E-]K--A-D-NC.. .,..A.*/G/X/g/z/// /////&/30E0b0%00<00 11 1'1K;11 1Q11 2 $2 02<2K2N2"b2 2z2m 3A{33_I454|4R\5y5n)66=7 U79a777&7$78 )858F8`8Gq8 8'8 88 9 9 9 '91969;9R9U9r99099 9P97:=:Y:l:o:g:::;;';89;;r;;; 7< E<P<h<$x<!<4<P<E=F\== = =C=>>'>>6>2?:?I?:@#@ AA +A 5A BALAfA A1A%AAAB BB+"BNBVB_BgBAB&BBBCx(C@C:CDQ=DD+EFFNF<FGjGRGAH3aH=H(HHI8I,NI{I9IZIg0JYJRJEKNKdK4L3ML1L"LLLLL .M[J[ ][i[r[{[[[ [![[[[&\'5\y]\\\ ] ]6^.;^j^ s^ ^^^.^^%^!_ <_bG__#_ __6`4?` t` ~`k``a 'a(1aZata&a,aCa*%b3Pb0b0b)bicRzc+cDc^>dd&d`d]>e2e%eef1fAf[ffgg+g=gSg+ng gg@g%gA!hch'h hYh#i;iWUidixj)jj2jCj72k!jkkkkkkkk-l66l4mlll0l1l"%m)Hmrmmmmm m m7n?n\n(vn+nnn:n0o7oPodooo3oo#p")pZLp'pZpA*qlqqqqq(q rr 'rt4rrLrX s\css s;stDt,\ttttttt uu,uGu Pu*]u?u u"u& v%3vRYvvv vvvMwVwvwWwwwxx-xDxLx-ix xxo)y/yyTRz;zizJM{u{x|y|"}$}'5}]}y}8}}}~~,~K~]c~~*~~ 4H ]go#x+% & 2|?Āl Qځ/, \f '/$@*e4`Ń&B= J,$ۅDEM bm =R bn 8ˆ, (2 OYq*w $J߉3*^sw;>RD͍ L4GR|]ώ-)K%u)ŏ̏0ߏ9-J+xVvXr;ˑ486/0f4̓ԓFד *MF!7є !#1Ew +'ޕ(&Fm  Q0[ ȗߗ&Uk=rPVdX3&?BX@Hܚ2%-XOO֛1&<Xd9(4w]՝3N/4%dCSΟK"0n=Ѡ,<.Et ' Qš&>GW nz"'  ,< E O[ds |  ȣң  !("Jim%פ%s Account Name%s Container%s Error: Failed to open local file%s Error: Failed to upload%s Key%s Prefix%s bits%s de-authentication%s restoration options:%s returned an unexpected HTTP response: %s%s secret key%s settings test result:%s support is available as an add-on%s version:%s: unreadable file - could not be backed up (check the file permissions and ownership)(None configured)(Nothing has been logged yet)(version: %s)(view log...)A search/replace cannot be undone - are you sure you want to do this?ABORT: Could not find the information on which entities to restore.API keyAPI secretAccount full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized.ActionsAdd an external database to backup...Add another %s account...Add another address...Admin UsernameAdvanced / Debugging SettingsAfter pressing this button, you will be given the option to choose which components you wish to restoreAll WordPress tables will be backed up.All files beginning with these charactersAlso send this backup to the active remote storage locationsAlso, you should read this important FAQ.An admin password has been set.An update containing your addons is available for UpdraftPlus - please follow this link to get it.An update is available for UpdraftPlus - please follow this link to get it.Any other directories found inside wp-contentAny other file/directory on your server that you wish to backupAny support requests to do with %s should be raised with your web hosting company.Archive is expected to be size:Asia Pacific (Singapore)Ask WordPress to automatically update UpdraftPlus when it finds an available update.Ask WordPress to update UpdraftPlus automatically when an update is availableAt the same time as the files backupAttribute imported content to userAuthenticate with %sAuthenticationAutomatic backup before updateAutomatic updatesAutomatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable to claim on this siteAzure GovernmentBacked up: %sBackup NowBackup ReportBackup begunBackup data (click to download)Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified is writable, which is good.Backup directory successfully created.Backup file not available.Backup more databasesBackup non-WordPress tables contained in the same database as WordPressBackup of:Backup succeededBad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe careful what you select - if you select / then it really will try to create a zip containing your entire webserver.Be safe with an automatic backupCancelCheck this box to have a basic report sent toCheck this box to use Amazon's server-side encryptionCheck your file permissions: Could not successfully create and enter:Choose the components to restoreChoose your remote storageCleaning up rubbish...Client IDClone region:CloseCloud FilesConnect with your UpdraftPlus.Com accountCopying this entity failed.Could not find that job - perhaps it has already finished?Could not open the backup file for writingCould not read the directoryCreateCreate Azure credentials in your Azure developer console.Creating backup with UpdraftPlus...Creating database backupCreating file backup zipsCurrent limit is:Current memory usageCurrent use:Currently disabledCurrently enabledDailyDatabaseDatabase (files backup has not completed)Database OptionsDatabase encryption phraseDatabase restoration options:Database successfully decrypted.Debug modeDebugging informationDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete local backupDelete these settingsDelete this backup setDisable SSL entirely where possibleDismissDismiss all UpdraftPlus newsDo not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do you need WordPress Multisite support?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDrop backup files hereDropboxEastern United StatesEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypted databaseEnsure you are logged into the correct account before continuing.Enter a comma-separated list; otherwise, leave blank for all tables.Enter addresses here to have a report sent to them when a backup job finishes.ErrorError messageError opening local file: Failed to downloadError:Error: the server sent us a response which we did not understand.Error: unexpected empty parameter (%s, %s)Europe (Ireland)Every %s hoursExclude these fromExclude these:Expert settingsExport settingsExtensionsExternal database (%s)Extra databaseFacebookFailedFailed to create a temporary directoryFailed to delete working directory after restoring.Failed to find database fileFailed to open database fileFailed to open the zip file (%s) - %sFailed to upload to %sFailed to write out the decrypted database to the filesystemFile not foundFile ready.FilesFiles found:Find out more here.Follow this link to attempt to create the directory and set the permissionsFor backups older thanFortnightlyFound SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset().Free disk space in account:Front page:Full backupGet it hereGet more quotaGoGo here to connect.Go here to re-enter your password.Google DriveHave not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.If OneDrive later shows you the message "unauthorized_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If you are not sure what this option is for, then you will not want it, and should turn it off.If you are using this, then turn Turbo/Road mode off.If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.If you have already renewed, then you need to allocate a licence to this site - %sIf you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1).If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite.If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.Include in files backupIncrementalInfinite recursion: consult your log for more informationIntroducing UpdraftCentralInvalid bucket nameIt can also backup external databases.It has been tested up to version %s.JavaScript warningJob deletedLast log messageLead developer's homepageLoading log fileLog all messages to syslog (only server admins are likely to want this)Manage AddonsManually decrypt a database backup fileMemory limitMonthlyMore pluginsMore tasks:MultisiteName: %s.NewsNextNext scheduled backupsNoNo backup has been completedNo local copy present.No log files were found.No previous backup found to add an increment to.NoneNot installedNote that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing yet loggedOKOld table prefix:Only the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOr, use an UpdraftClone keyOthersPasswordPeak memory usagePlease consult this FAQ if you have problems backing up.Please make sure that you have made a note of the password!PluginsPress here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded.Processing...Project IDPruning old backup setsRSA fingerprintRead more about Easy Updates ManagerRead more about how this works...Read this article to see step-by-step how it's done.Remember this choice for next time (you will still have the chance to change it)Remote Storage OptionsRemote storage method and instance id are required for authentication.Remove old directoriesReplace withReportingRequested table character set (%s) is not present - changing to %s.Requested table collation (%1$s) is not present - changing to %2$s.Requested table collations (%1$s) are not present - changing to %2$s.Requesting start of backup...Rescan local folder for new backup setsRescan remote storageRescanning remote and local storage for backup sets...RestoreRestore backupRestoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Return to UpdraftPlus ConfigurationRows examined:Rows per batchS3 bucketSave ChangesSaving...Search / replace databaseSearch and replacing table:Search forSend a report only when there are warnings/errorsSending Your Backup To Remote StorageSettingsShow expert settingsStandardStart backupStore atSubscriptions can be cancelled at any time.SuccessSuccess:SupportSupported backup plugins: %sTable prefix has changed: changing %s table field(s) accordingly:Tell me more about incremental backupsTest %s SettingsTest connection...Testing %s Settings...The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The above files comprise everything in a WordPress installation.The backup attempt has finished, apparently unsuccessfullyThe backup has finished runningThe backup records do not contain information about the proper size of this file.The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import.The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import.The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import.The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import.The decryption key used:The error reported by %s was:The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The location of this directory is set in the expert settings, in the Settings tab.The log file could not be read.The preparation of the clone data has been aborted.The request to the filesystem to create the directory failed.The server's RSA key %s fingerprint: %s.ThemesThese tables onlyThis can easily destroy your site; so, use it with care!This feature requires %s version %s or laterThis file could not be uploadedThis is a count of the contents of your Updraft directoryThis is significantly newer than the server which you are now restoring onto (version %s).This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again.This looks like a migration (the backup is from a site with a different address/URL, %s).This will delete all your UpdraftPlus settings - are you sure you want to do this?Time nowTime taken (seconds):To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To fix the time at which a backup should take place,To make a backup, just press the Backup Now button.Too many database errors have occurred - abortingTotal (uncompressed) on-disk data:TwitterUKUnable to open zip file (%s) - could not pre-scan it to check its integrity.United StatesUnknown server response:Unless you have a problem, you can completely ignore everything here.Unpacking backup...UpdraftClone key is required.UpdraftPlus - Upload backup filesUpdraftPlus BackupsUpdraftPlus Restoration: ProgressUpdraftPlus is on social media - check us out!UpdraftPlus notice:UpdraftPlus warning:Upgrade nowUpload backup filesUploading files to remote storageUploadsUploads URL:Use SCP instead of SFTPUse the server's SSL certificatesUsernameVersionView LogWarningWarning:Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link.Web server:Web-server disk space in use by UpdraftPlusWeeklyWelcome to UpdraftPlus!Why am I seeing this?WordPress BackupWordPress CoreWordPress backup is completeWordPress core (including any additions to your WordPress root directory)YesYou are currently using the free version of UpdraftPlus.You are using the %s webserver, but do not seem to have the %s module loaded.You can choose another suitable character set instead and continue with the restoration at your own risk.You can choose another suitable collation instead and continue with the restoration (at your own risk).You can find out more about clone keys here.You can get more quota hereYou can manually decrypt an encrypted database here.You do not have the UpdraftPlus %s add-on installed - get it from %sYou entered an email address that was not recognised by UpdraftPlus.ComYou have chosen to backup files, but no file entities have been selectedYou have not yet connected with your UpdraftPlus.Com account.You have not yet made any backups.You must select at least one remote storage destination to upload this backup set to.You need to connect to receive future updates to UpdraftPlus.You need to enter an admin secret keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You need to supply both an email address and a passwordYou will find more information about this in the Settings section.You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.You will need to restore it manually.You've got itYour %s account name: %sYour %s quota usage: %s %% used, %s availableYour .htaccess has an old site reference on line number %s. You should remove it manually.Your .htaccess has an old site references on line numbers %s. You should remove them manually.Your backup has been restored.Your chosen character set to use instead:Your chosen replacement collationYour database user does not have permission to drop tablesYour email address was valid, but your password was not recognised by UpdraftPlus.Com.Your free space in your hosting account is very low - only %s Mb remainYour label for this backup (optional)Your settings have been saved.Your settings have been wiped.Your web server has PHP's so-called safe_mode active.Your website is hosted using the %s web server.already doneand retain this many scheduled backupsauthentication errorcalculating...database connection attempt failedday(s)e.g. if your server is busy at day and you want to run overnightenhanced remote storage optionsfilefile is size:follow this link to get itgo herehour(s)i.e. Non-automaticManuallast activity: %ss agologinnow proceeding with the updates...optionalor to restore manuallyor, to reset this optionread more at %srecommendedrefreshremote siterestorationsearch and replacesearch termsettingsshow logskipped (not in list)starting from next time it isstoptable: %sthe database query being run was:use UpdraftPlus Premiumuserwill restore as:you have authenticated your %s accountyou have authenticated your %s account.you will want to use below search and replace site location in the database (migrate) to search/replace the site address.your site's admin addressPO-Revision-Date: 2018-12-06 10:54:40+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: fi Project-Id-Version: UpdraftPlus %s Tilin Nimi%s SäiliöVirhe %s: paikallisen tiedoston avaaminen epäonnistuiVirhe %s: lataaminen palvelimelle epäonnistui%s Avain%s Etuliite%s bittiä%s epä-todennus%s palauttamisvalinnat:%s palautti odottomattoman HTTP vastauksen: %s%s salainen avain%s asetuksien testaamisen lopputulos:%s -tuki on saatavilla lisäosana%s versio:%s: lukematon tiedosto - voisi olla varmuuskopioimaton (tarkista tiedoston oikeudet ja omistajuus)(Ei yhtään konfiguroitu)(Mitään ei ole vielä talletettu)(versio: %s)(näytä loki...)Etsi/korvaa -toimintoa ei voi kumota. Haluatko jatkaa?Keskeytys: Ei tietoa, mitkä osiot tulisi palauttaa.API avainAPI salainenTili täynnä: tililläsi %s on enää %d tavua vapaana, vaikka sonne ladattavan tiedoston koko on %d tavuaTilinomistajan nimi: %sTiliin pääsy estetty.ToiminnotVarmuuskopioi ulkopuolinen tietokanta...Lisää toinen %s tili...Lisää toinen osoite...Järjestelmänvalvojan KäyttäjänimiEdistyneet asetukset / vianselvitysasetuksetPainettuasi tätä voit valita, mitkä komponentit haluat palauttaaKaikki WordPress taulut varmuuskopioidaan.Kaikki tiedostot, jotka alkavat näillä merkeilläLähetä tämä varmuuskopio myös etävarastoonTutustu lisäksi tähän tärkeään FAQ-osioon.Järjestelmänvalvojan salasana asetettu.Lisäosat sisältävä päivitys on saatavilla UpdraftPlussaan - napsauta tätä linkkiä hakeaksesi sen.Päivitys on saatavilla UpdraftPlussaan - napsauta tätä linkkiä hakeaksesi sen.Muut hakemistot wp-content -hakemiston allaMuut tiedostot/hakemistot palvelimella, jotka haluat varmuuskopioidaTukipyynnöt, jotka liittyvät %s tulisi lähettää verkkosivustoasi isännöivälle taholle.Arkiston ennakoitu koko:Aasian ja Tyynenmeren alue (Singapore)Pyydä WordPressiä päivittämään UpdraftPlus automattisesti päivityksen ollessa saatavilla.Pyydä WordPressiä päivittämään UpdraftPlus automaattisesti, kun päivitys on saatavillaSamaan aikaan tiedostojen varmuuskopioinnin kanssaOminaisuus toi tietoja käyttäjälleTunnistaudu - %sTodennusAutomaattinen varmuuskopiointi ennen päivitystäAutomattiset päivityksetVarmuuskopioi lisäosat, teemat ja WordPressin tietokanta automaattisesti (tarpeellisilta osin) UpdraftPlussan avulla ennen päivittämistäValmiina noutaa tältä sivultaAzure-hallitusVarmuuskopioitu: %sVarmuuskopioi nytVarmuuskopio ReporttiVarmuuskopiointi aloitettuVarmuuskopioitu tieto (klikkaa ladataksesi)PäiväysVarmuuskopiohakemistoVarmuuskopiohakemistoon (%s) ei voi kirjoittaa tai sitä ei ole Varmuuskopiohakemistoa ei voitu luodaMääritettyyn varmuuskopiohakemistoon voidaan kirjoittaa. Hyvä.Varmuuskopiohakemisto luotu.Varmuuskopiotiedosto ei ole saatavilla.Varmuuskopioi muita tietokantojaVarmuuskopioi WordPressiin liittymättömiä tauluja samassa tietokannassa kuin WordPressVarmuuskopio kohteesta:Varmuuskopiointi onnistuiEpäkelpo tiedostonimi - tämä ei vaikuta UpdraftPlus-lisäosalla luodulta tiedostoltaEpäkelpo tiedostonimi - tämä ei vaikuta UpdraftPlus-lisäosalla luodulta, salatulta tietokannaltaOle huolellinen mitä valitset - jos valitset "/", se yrittää oikeasti luoda zip-tiedostoa, josta löytyy koko sivusi.Automaattinen varmuuskopiointi tuo turvaaKumoaRuksaa ruutu ja saat perusraportin sähköpostitseMerkitse tämä laatikko käyttääksesi Amazonin palvelin-salaustaTarkista tiedosto-oikeutesi: Ei voitu luoda ja asettaa:Valitse palautettavat komponentitValitse etäsäilöSiivotaan roskaa...Asiakas tunnusKloonaus alus:SuljePilvi tiedostotYhdistä UpdraftPlus.Com tilisiTämän kokonaisuuden kopiointi epäonnistui.Tehtävää ei löydy - se on mahdollisesti jo valmis?Ei voitu avata varmuuskopioita kirjoittamista vartenEi voitu lukea hakemistostaLuoLuo Azure tunnukset Azure kehittäjäkonsolissa.Varmuuskopiota tehdään UpdraftPlussan avulla...Luodaan tietokannan varmuuskopiotaLuodaan tiedostojen varmuuskopioita (zip)Nykyinen rajoitus on:Nykyinen muistinkulutusTämänhetkinen käyttö:Tällä hetkellä estettyTällä hetkellä sallittuPäivittäinTietokantaTietokanta (tiedostojen varmuuskopiointi ei ole valmis)Tietokannan varmuuskopiointiTietokannan salauslausekeVaihtoehdot tietokannan palauttamiseksi:Tietokannan salaus purettiin onnistuneesti.VianselvitystilaVirheenkorjauksen tiedotPuretaan tietokannan salausta (saattaa kestää hetken)...PoistaPoista vanhat hakemistotPoista varmuuskopioPoista paikallinen varmuuskopioPoista nämä asetuksetPoista tämä varmuuskopioPoista SSL käytöstä kokonaan, missä mahdollistaPiilota tämä huomautus.Hylkää kaikki UpdraftPlus uutisetÄlä varmista SSL-sertifikaattejaTutustu tähän artikkeliin asioista, jotka on hyödyllistä tietää ennen palauttamista.Tarvitsetko WordPress Multisite -tukea?Ethän halua sinua vakoiltavan? UpdraftPlus Premium voi salata tietokantasi varmuuskopion.Latausvirhe: palvelin lähetti vasteen jota ei voitu ymmärtää.Lataaminen epäonnistuiLataaminen käynnissäLataa lokitiedostoLataa viimeisin lokitiedostoLataa tietokoneellesiRaahaa varmuuskopiointi tiedostot tänneDropboxItäinen YhdysvallatSähköpostiIlmaisella UpdraftPlus-lisäosalla luodut sähköpostiraportit sisältävät viimeisimmät UpdraftPlus.com -uutiset.Suojattu tietokantaVarmista että olet kirjautunut sisään oikealle tilille ennen kuin jatkat.Syötä lista pilkuilla erotettuna; muussa tapauksessa jätä tyhjäksi (kaikki taulut).Syötä sähköpostiosoitteet, joihin raportti lähetetään varmuuskopioinnin valmistuttua.VirheVirheilmoitusVirhe avattaessa paikallista tiedostoa: lataus epäonnistuiVirhe:Virhe: palvelin lähetti meille vastauksen, jota emme ymmärtäneet.Virhe: odottamaton tyhjä parametri (%s, %s)Eurooppa (Irlanti)Joka %s. tuntiPoissulje nämä paikastaÄlä sisällytä näitä:Edistyneet asetuksetVienti asetuksetLaajennuksetUlkoinen tietokanta (%s)Ylimääräinen tietokantaFacebookEpäonnistuiTilapäisen hakemiston luonti epäonnistuiTyöhakemiston poistaminen palauttamisen jälkeen epäonnistui.Tietokantatiedostoa ei löytynytTietokantatiedostoa ei voitu avataZip-tiedostoa (%s) ei voitu avata - %sKohteeseen %s lataaminen epäonnistuiTietokannan (salaus purettu) kirjoittaminen tiedostojärjestelmään epäonnistui Tiedostoa ei löydyTiedosto valmis.TiedostotTiedostoja löytetty:Lue lisää täältä.Seuraa tätä linkkiä yrittääksesi luoda hakemiston ja asettaaksi oikeudetVarmuuskopioihin vanhempia kuinJoka toinen viikkoLöydetty SET NAMES %s, mutta WPDB::determine_charset() suosittelee sen vaihtamista %s.Vapaata tilaa tilillä:Etusivu:Täysi varmuuskopiointiSaat sen täältäSuurenna kiintiötäsiSuoritaMene tänne yhdistääksesi.Mene tänne laittaaksesi salasanan uudelleen.Google DriveEt ole vielä saanut pääsyyn tarvittavaa tunnussanomaa Googlelta - sinun täytyy (uudelleen)auktorisoida yhteytesi Google Driveen.Jos OneDrive myöhemmin näyttää sinulle viestin "unauthorized_client", asiakas ID:si oli väärä täällä.Jos luot tukipynnön, sisällytä tämä tieto:Jos toimenpide epäonnistuu, tarkista oikeudet palvelimella tai vaihda hakemistoon, jonne palvelimen prosessilla on oikeudet kirjoittaa.Ellet ole varma mihin tätä käytetään, sinun ei kannata kytkeä tätä päälle.Jos käytät tätä, kytke Turbo/Road -tila pois päältä.Jos voit vielä lukea näitä sanoja sivun lataamisen jälkeen, sivullasi on JavaScript tai jQuery virhe.Jos olet jo uusinyt, sinun täytyy myöntää lisenssi tälle sivulle - %sJos olet ostanut UpdraftPlus.Com:lta, niin seuraa tätä linkkiä niin pääset asennusohjeisiin (erityisesti osa 1).Jos haluat palauttaa multisite-varmuuskopion, sinun tulisi ensin asettaa tämä WordPress-asennus multisite-verkostoksi.Jos tietokanta sisältää muita tauluja, jotka eivät liity WordPress-sivustoon, aktivoi tämä varmuuskopioidaksesi ne.Sisällytä tiedostovarmuuskopioonInkrementaalinenPäättymätön rekursio: tarkista logiEsittelyssä UpdraftCentralEpäkelpo sangon (bucket) nimiSillä voit myös varmuuskopioida ulkoisia tietokantoja.On testattu versioon %s asti.JavaScript-varoitusTehtävä poistettuViimeisin lokiviestiJohtavan kehittäjän kotisivuLadataan loki-tiedostoaKirjaa kaikki viestit syslogiin (vain palvelimen ylläpitäjä saattaa haluta tämän tiedon)Hallitse lisäosiaPura tietokantavarmuuskopion salaus käsinMuistirajoitusKuukausittainLisää liitännäisiäLisää toimintoja:Multisite (Verkosto)Nimi: %s.UutisetSeuraavaSeuraavaksi ajastetut varmuuskopiotEiYhtään varmuuskopiota ei ole vielä tehtyEi paikallista kopiota.Lokitiedostoja ei löytynyt.Vanhoja varmuuskopioita ei löydetty.Ei mitäänEi asennettuHuomaa, etteivät kaikki pilvipalveluun perustuvat varmuuskopiointimenetelmät välttämättä käytä SSL-tunnistautumista.Huomaa:Ei ajastuksia tällä hetkelläEi vielä mitään lokissaOKVanha taulun etuliite:Vain WordPress tietokanta voidaan palauttaa; sinun pitää huolehtia ulkoisesta tietokannasta manuaalisesti.Opera-selainTai, käytä UpdraftClone avainMuutSalasanaMuistinkulutuksen huippuTutustu tähän FAQ-osioon, mikäli sinulla on ongelmia varmuuskopioinnin kanssa.Tarkista, että olet ottanut salasanan talteen.LisäosatValitse tämä tarkistaaksesi UpdraftPlus-hakemiston (kotisivutilassasi) mahdollisten uusien, ladattujen varmuuskopioiden varalta.Käsitellään...Projekti IDKarsitaan vanhoja varmuuskopio-settejäRSA sormenjälkiLue lisää Easy Updates ManageristaLue lisää siitä, miten tämä toimii...Lue tämä artikkeli nähdäksesi miten se on tehty.Muista tämä valinta seuraavalla kerralla (sinulla säilyy edelleen mahdollisuus muuttaa sitä)Etäsäilön asetuksetEtätallennus menetelmä ja tapahtuma id vaaditaan todentamiseksi.Poista vanhat hakemistotKorvaa:RaportointiHaluttua taulukon merkistöä (%s) ei ole saatavilla - vaihdetaan %s :ksi.Pyydetty taulun keräys (%1$s) ei ole näkyvillä - muutetaan %2$s :ksi.Pyydettyjen taulujen keräys (%1$s) ei ole näkyvillä - muutetaan %2$s :ksi.Aloitetaan varmuuskopiointi...Etsi varmuuskopioita paikallisesta kansiostaEtsi varmuuskopioita etäsäilöstäSkannataan etä- ja paikallista varastoa varmuuskopioiden varalta...PalautaPalauta varmuuskopioPalautetaan tietokantaa (suurien sivustojen kohdalla tämä saatta kestää kauan. Mikäli aikakatkaisu ilmenee - etenkin jos verkkosivustoasi isännöivä taho on rajoittanut käytössäsi olevia resursseja - tulisi käyttää muita menetelmiä kuten phpMyAdmin)...Palauttaminen korvaa tämän sivuston teemat, lisäosat, ladatut tiedostot, tietokannan ja/tai muun sisällön (riippuen valinnoistasi ja siitä, mitä varmuuskopio sisältää).Palaa UpdraftPlus-asetuksiinRivejä tarkistettu:Riviä per eräS3 ämpäriTallenna muutoksetTallentaa...etsi / korvaa tietokantaEtsi ja korvaa taulu:Hae:Lähetä raportti vain, jos ilmeni varoituksia/virheitäLähetetään varmuuskopiotasi etävarastoonAsetuksetNäytä edistyneet asetuksetStandardiAloita varmuuskopiointiPolkuTilaukset voidaan peruuttaa koska tahansa.OnnistuiOnnistui:TukiTuetut varmuuskopiointilisäosat: %sTaulun etuliite on vaihtunut: vaihdetaan taulun %s kentät sen mukaisesti:Lisätietoja inkrementaalisesta varmuuskopioinnistaTestaa %s -asetuksetTestaa yhteys...Testataan %s asetuksia...Ylläolevat hakemistot sisältävät kaiken, poislukien WordPressin ydin, jonka voit ladata WordPress.org -sivustolta. Yllämainitut tiedostot kattavat koko WordPress-asennuksen.Varmuuskopiointiyritys päättyi, ilmeisesti epäonnistuneestiVarmuuskopiointi on valmisVarmuuskopion tietoihin ei sisälly tämän tiedoston oikeaa kokoa. Tietokantapalvelin jossa WordPress on käynnissä ei tue merkistöä (%s) jota yrität tuoda.Tietokantapalvelin jossa WordPress on käynnissä ei tue merkistöjä (%s) joita yrität tuoda.Tietokanta palvelin missä WordPress sivusto on käynnissä ei tue tietojen keräystä (%s) käytettynä tietokannassa jota yrität tuoda.Tietokanta palvelin missä WordPress sivusto on käynnissä ei tue useita tietojen keräyksiä (%s) käytettynä tietokannassa jota yrität tuoda.Käytetty salauksenpurkuavain:%s virhe oli:Hakemisto on olemassa, mutta palvelimella ei ole oikeuksia kirjoittaa sinne.Tätä osaa ei voida paluttaa automaattisesti: "%s".Asennettua UpdraftPlussan versiota ei ole testattu WordPress-versiosi (%s) kanssa.Tämän hakemiston sijainnin voi asettaa edistyneissä asetuksissa, Asetukset-välilehdellä.Lokitiedostoa ei voitu lukea.Datan kloonauksen aloitus on pysäytetty.Pyyntö luoda hakemisto epäonnistui.Palvelimen RSA avain %s sormenjälki: %s.TeematVain nämä taulutTämä saattaa tuhota sivustosi. Käytä varoen!Tämä ominaisuus tarvitsee version %s tai %s myöhemmänTätä tiedostoa ei voitu ladata palvelimelleUpdraft-hakemiston yhteenlaskettu sisältöTämä on merkittävästi tuoreempi kuin palvelin johon yrität palauttaa (versio %s).Tämä johtuu joskus palomuurista - yritä kytkeä SSL pois päältä kehittyneistä asetuksista, ja yritä uudelleen.Tämä näyttää migraatiolta (varmuuskopio on sivustolta jolla on eri osoite/URL, %s).Kaikki UpdraftPlus-asetukset tyhjennetään - oletko varma?Kellonaika nytAikaa käytetty (sekunteina):Valitaksesi mitä varmuuskopioidaan, ajastaaksesi varmuuskopioinnin, varmuuskopioidaksesi etäsijaintiin tai pilvipalveluun (suositellaan) ja muut asetukset löydät "Asetukset"-välilehdeltä.Asettaaksesi ajan, milloin varmuuskopiointi suoritetaan,Luodaksesi varmuuskopion, valitse "Varmuuskopioi nyt".Liian monta tietokantavirhettä - keskeytetäänTiedostojen viemä (pakkaamaton) levytila yhteensä:TwitterUKZip -tiedostoa (%s) ei voitu avata - ei voitu skannata sen sisältöäYhdysvallatTuntematon palvelinvastaus:Ellei sinulla ole ongelmaa, voit jättää kaiken tässä mainutun huomiotta.Puretaan varmuuskopiota...UpdraftClone avain on pakollinen.UpdraftPlus - lataa varmuuskopiotiedostoja palvelimelleUpdraftPlus-varmuuskopiotUpdraftPlus-palautus: edistyminenUpdraftPlus löytyy myös sosiaalisesta mediasta!UpdraftPlus-huomautus:UpdraftPlus varoitus:Päivitä nytSiirrä varmuuskopiotiedostoja palvelimelleLähetetään tiedostoja etäsäilöönLadatut tiedostotLatauksien URL:Käytä SCP:tä SFTP:n sijaanKäytä palvelimen SSL-sertifikaattejaKäyttäjätunnusVersioNäytä lokiVaroitusVaroitus:Onko tämä varmuuskopio luotu toisella varmuuskopiointi-lisäosalla? Jos on, sinun tulee mahdollisesti nimetä se uudelleen sen tunnistamiseksi - seuraa tätä linkkiä.Palvelin:UpdraftPlussan käyttämä levytila palvelimellaViikottainTervetuloa UpdraftPlussaan!Miksi näen tämän?WordPress VarmuuskopioWordPress YdinWordPressin varmuuskopiointi on valmisWordPressin ydin (sisältäen mitkä tahansa lisäykset WordPressin juurihakemistoon)KylläKäytät tällä hetkellä ilmaista versiota UpdraftPlus:sta.Käytät palvelinta %s, mutta näyttää siltä, ettei moduuli %s ole ladattuna.Voit valita toisen sopivan merkistön sen sijaan ja jatkaa palatusta omalla vastuulla.Voit valita toisen soveltuvan tietojen keräyksen sen sijaan ja jatkaa palatusta (omalla vastuulla).Voit löytää lisää kloonasavaimista täältä..Voit suurentaa kiintiötäsi täälläVoit purkaa tietokantavarmuuskopion salauksen käsin täällä.UpdraftPlus-lisäosaa %s ei ole asennettu - saat sen täältä: %sSyötit sähköpostiosoitteen, jota UpdraftPlus.com ei tunnista.Olet valinnut varmuuskopioinnin, mutta yhtään tiedostoa ei ole valittuEt ole vielä yhdistänyt UpdraftPlus.com-tiliisi.Et ole vielä tehnyt yhtään varmuuskopiota.Sinun täytyy valita ainakin yksi etäkohde varmuuskopioinnin lähettämiseksi.Sinun täytyy yhdistää saadaksesi käyttöön uudet UpdraftPlus-päivitykset.Tarvitset järjestelmänvalvojan salaisen avaimenSinun täytyy asettaa järjestelmänvalvojan käyttäjänimiSinun täytyy tunnistautua uudelleen palveluun %s, olemassaolevat tunnistautumistiedot eivät toimi.Sinun tulee antaa sekä sähköpostiosoite että salasanaLöydät lisätietoja Asetukset-osiosta.Tarkista verkkosivustoasi isännöivältä taholta, miten asetat WordPressin lisäosalle kirjoitusoikeudet hakemistoon.Se täytyy palauttaa käsin.Sinä pystyt siihen%s -tilisi nimi: %s%s -kiintiön käyttö: %s %% käytetty, %s vapaanaTiedostossasi .htaccess on vanha sivustoviite rivillä %s. Sinun tulee poistaa se manuaalisesti.Tiedostossasi .htaccess on vanhoja sivustoviitteitä riveillä %s. Sinun tulee poistaa ne manuaalisesti.Varmuuskopio on palautettu.Käytä näitä valitsemasi merkistön sijasta:Valitsemasi korvaava tietojen keräysSinun tietokanta käyttäjälläsi ei ole oikeutta poistaa tauluja.Sähköpostiosoitteesi oli oikea, mutta UpdraftPlus.Com ei tunnistanut salasanaasi.Sinun vapaa tilasi tililläsi on todella alhainen - enää %s Mb jäljelläTunnisteesi tälle varmuuskopiolle (valinnainen)Asetukset on tallennettu.Asetukset on poistettu.Palvelimellasi on PHP:n niinkutsuttu "safe_mode" aktiivisena.Sivustosi on isännöitynä %s palvelimella.jo tehtyja säilytä ajastettuja varmuuskopioita (kpl)todentamisvirhelasketaan...Tietokantaan yhdistäminen epäonnistuipäivä(ä)esim. mikäli palvelin on kuormitettuna päivällä ja haluat suorittaa yöaikaanKehittyneet etävarastoinnin asetuksettiedostotiedoston koko:seuraa tätä linkkiämene tännetunti(a)Käsinviimeisin aktiviteetti: %ss sittenKirjaudu sisäänjatketaan päivitysten suorittamista...valinnainentai palauta manuaalisestitai palauta valinta oletuksiinlue lisää: %ssuosituspäivitäetäsivustopalautusetsi ja korvaahakusanaAsetuksetnäytä lokihypätty yli (ei listassa)seuraavan kerranpysäkkitaulu: %ssuoritettava tietokantakysely:käytä UpdraftPlus Premiumiakäyttäjäpalautetaan:olet tunnistautunut %s -tilillesiolet tunnistautunut %s -tilillesi.käytä alla olevaa hakua korvataksesi sivuston tietokannassa (siirtääksesi) olevan sivuston osoitteen.sivustosi ylläpitäjän osoitteeseenlanguages/updraftplus-ru_RU.po000064400001425226147400355670012504 0ustar00# Translation of UpdraftPlus in Russian # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2021-02-17 23:47:10+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);\n" "X-Generator: GlotPress/3.0.0\n" "Language: ru\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "Перейдите в панель UpdraftCentral Cloud" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "Вы успешно зашли в UpdraftPlus и подключили сайт к облачному хранилищу UpdraftCentral." #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "Создать резервную копию" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "Больше крутых плагинов от Updraft" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "Добавочные (инкрементальные) резервные копии" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "Чтобы посмотреть инструкцию по установке, перейдите по этой ссылке (шаг 1)." #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "Чем выше значение, тем больше ресурсов сервера используется для создания архива." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "Добавить исключение для %s" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "Отменить выбор всех резервных копий" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "Выбрать все резервные копии" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "Удалить выбранные резервные копии" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "Показать все резервные копии" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "Показать больше резервных копий" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr " Выберите, что нужно восстановить:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "Восстановить файлы из" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "Больше информации о добавочных (инкрементальных) резервных копиях можно найти здесь. " #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "Инкрементальное резервное копирование доступно только в %s (перейдите сюда, чтобы получить доступ к этой функции)" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "Создать добавочную (инкрементальную) резервную копию" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "Создать новую резервную копию" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "Каталог/директория не существует, и создать ее не получилось. " #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "Перейдите по этой ссылке для получения помощи" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "загрузка не удалась" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "не удалось войти" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "В разработке" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "Текущий сайт" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "Проверка" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "Готово" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "Идет проверка разового пароля..." #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "Существующие резервные копии" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "перейдите сюда для дополнительной информации" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "Ошибка: не удалось загрузить" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "Ближний Восток (Бахрейн)" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "Европа (Стокгольм)" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "Прочтите о шифровании на стороне сервера" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "Введите пароль" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "Введите пароль." #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "Введите имя пользователя" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "Введите имя пользователя." #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "Продублируйте регион" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "пройдите сюда" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "Если вы уже продлили, то вам нужно внести лицензию на этот сайт - %s" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "Аутентификация" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "Вы должны выбрать хотя бы одно удаленное хранилище, чтобы загрузить этот набор резервных копий." #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "Узнайте больше о Easy Updates Manager" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "Вы можете узнать больше о ключах клонирования здесь." #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "Или используйте ключ UpdraftClone" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "Найдены SET NAMES %s, но они изменились на %s, как предложено WPD::define_charset ()." #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "Требуется ключ UpdraftClone." #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "Подготовка данных клона была прервана." #: src/addons/azure.php:705 msgid "Azure Government" msgstr "Azure Government" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "Настройте WordPress автоматически обновить UpdraftPlus, когда он найдет доступное обновление." #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "Автоматические обновления" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "У пользователя вашей базы данных нет прав на удаление таблиц" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "Настройте WordPress автоматически обновлять UpdraftPlus, когда доступно обновление" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "Вы должны добавить следующее в качестве авторизованного URI перенаправления (в разделе «Дополнительные параметры») при запросе" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "Франкфурт" #: src/addons/googlecloud.php:61 msgid "London" msgstr "Лондон" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "Бельгия" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "Сидней" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "Сингапур" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "Токио" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "Тайвань" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "Орегон" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "Северная Вирджиния" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "Южная Каролина" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "Айова" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "Подтвердите изменение" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "Добавить правило исключения" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "Введите префикс файла" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "Все файлы, начинающиеся с этих символов" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "Введите расширение как почтовый индекс" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "Выберите файл / папку, которую вы хотите исключить. " #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "Все файлы, начинающиеся с заданных символов" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "Все файлы с этим расширением" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "Файл/каталог" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "Выберите способ исключения файлов или каталогов из резервной копии" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "Исключить файлы / каталоги" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "Чтобы прочитать часто задаваемые вопросы / документацию по UpdraftClone, перейдите сюда." #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "Ваша учетная запись UpdraftPlus.com" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "Вы можете проверить прогресс здесь или в %s" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "Ваш UpdraftClone все еще настраивается" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "%s архивы остаются" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "Все данные сайта были получены, и их импорт начался." #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "WordPress установлен; сейчас в ожидании данных сайта для отправки." #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "Клон готов" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "Данные сайта были развернуты" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "Развертывание данных сайта" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "Данные сайта получены" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "Получение данных сайта" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "WordPress установлен" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "Ваш клон запущен, информация о сети еще не доступна, но будет отображаться здесь и в вашей учетной записи на сайте updraftplus.com, как только она будет готова." #: src/admin.php:4330 msgid "Exclude these from" msgstr "Исключить их из" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "Правило исключения, которое вы пытаетесь добавить, уже существует" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "Пожалуйста, введите правильный префикс имени файла" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "Пожалуйста, введите символы, которые начинаются с имени файла, которое вы хотели бы исключить" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "Пожалуйста, введите правильное расширение файла" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "Пожалуйста, введите расширение файла, например: zip" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "Пожалуйста, выберите файл/папку, которую вы хотите исключить" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "Вы уверены, что хотите удалить это правило исключения?" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "записывать результаты в консоль" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "Для создания временного клона вам нужен кредит в вашем аккаунте." #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "Читайте \"Часто Задаваемые Вопросы\" здесь." #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "не удалось загрузить файл в %s (смотрите лог файл)" #: src/admin.php:6222 msgid "Dashboard:" msgstr "Панель управления:" #: src/admin.php:6221 msgid "Front page:" msgstr "Титульная страница:" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "Ваш клон запущен и будет доступен по следующим URL, когда он будет готов." #: src/includes/class-commands.php:1093 msgid "manage" msgstr "управлять" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "Текущие клоны" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "Теперь ваш клон развернет эти данные для повторного создания вашего сайта." #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "Добавить сайт" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "Я принимаю условия UpdraftClone" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "Настройки UpdraftPlus" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "Пропустить шаг" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "Загрузить резервную копию" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "(уже загружено)" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "Функционал отключен администратором сайта." #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "Спасибо за установку UpdraftPlus!" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "Удалить настройки" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "Временно отключен" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "Временно включен" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "В данный момент, Вы используете бесплатную версию UpdraftPlus." #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" msgstr[2] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "ID аккаунта" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "Чтобы закрыть доступ UpdraftPlus к Вашему Google Drive, перейдите по этой ссылке к настройкам аккаунта Google." #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "Дополнительное хранилище" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "Выбрать Файлы" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "Файлы облачного хранилища" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "архив" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "Поиск" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "С премиум-версией UpdraftPlus Вы сможете скачивать любые файлы напрямую отсюда." #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "Код состояния HTTP:" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "Без рекламы" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "Бесплатно" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "Подтвердить" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "Изменить" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "Европа (Франкфурт-на-Майне)" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "Европа (Лондон)" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "Европа (Ирландия)" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "UpdraftCentral" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "Оставьте отзыв на UpdraftPlus" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "UpdraftPlus Премиум:" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "Таблица обрабатывается (%s)" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "Импорт в процессе..." #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "шаблон не найден" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "Ваш IP-адрес:" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "Путь" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "Невозможно открыть директорию ( проверьте права доступа ): %s" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "%s: нечитаемый файл - резервное копирование не может быть произведено (проверьте права на чтение/запись)" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "желательно" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "Введите имя" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "Ожидается ошибка при загрузке: %s предельный размер для одного файла %s, в то время как этот файл имеет размер %s ГБ (%d байт)" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "войдите" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "Размер: %s MB" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "Активируйте %s для того чтобы работали преобразователи постоянных ссылок в ЧПУ (напр. %s)." #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "(нажмите на иконку для выбора или отмены выбора)" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "%s в год" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "Создание резервной копии остановлено пользователем" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Ваши настройки были сохранены" #: src/admin.php:4515 msgid "Total backup size:" msgstr "Общий размер резервной копии:" #: src/admin.php:3878 msgid "stop" msgstr "остановить" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "Стереть настройки" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "сброс" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "вычислить" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "Мы запросили удаление файла, но не смогли расшифровать ответ сервера." #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "Введите правильный URL" #: src/admin.php:976 msgid "Saving..." msgstr "Сохранение…" #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "Ошибка: сервер выдаёт ответ (JSON) который мы не можем понять (интерпретировать)." #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "Для того чтобы импортировать обычный сайт WordPress в многосайтовую конфигурацию требуется %s." #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "Пожалуйста перейдите по ссылке для того чтобы получить важную информацию, касающуюся этого процесса." #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "Будет импортировано как новый сайт" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Пропустить" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "Пожалуйста, предоставьте необходимую информацию." #: src/addons/multisite.php:691 msgid "Read more..." msgstr "Узнать больше..." #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "может включать в себя некоторые данные сайта" #: src/addons/multisite.php:677 msgid "All sites" msgstr "Все сайты" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "Какой из сайтов планируется восстановить" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "Произошла ошибка при создании нового сайта по указанному вами адресу:" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "Требуемая информация для восстановления данной резервной копии не была получена (%s)" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "Прикрепить импортированные данные к пользователю" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "Для указания адреса сайта вы должны использовать только буквы нижнего регистра и цифры." #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "Эта функция несовместима с %s" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "Импорт одиночного сайта в многосайтовую конфигурацию" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "другое содержимое из папки wp-content" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "Ядро WordPress" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "Вы выбрали вариант с добавлением %s к резервной копии - эта функция не доступна при импорте отдельного сайта в сеть." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "Вызвать действие WordPress:" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "Сохраненные вами настройки также повлияют на уже существующие резервные копии - например файлы будут исключены." #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "Пропуск: этот архив уже был восстановлен ранее." #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "Настройки файла" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "Поместить вашу резервную копию в удалённое хранилище" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "График резервного копирования базы данных" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "Расписание резервного копирования файлов" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "Эта кнопка удаляет все настройки UpdraftPlus и информацию о незавершенных операциях резервного копирования (но не удаляет существующие резервные копии из облачного хранилища)." #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "Не отправлять эту резервную копию в удалённое хранилище" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "Ещё не выбрали удаленное хранилище?" #: src/admin.php:5530 msgid "settings" msgstr "настройки" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "Резервная копия не может быть отправлена в удалённое хранилище - ничего не сохранено в %s" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "Продолжить восстановление" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "У вас есть незавершенная операция восстановления, начатая %s назад." #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "Незавершенное восстановление" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "%s минут, %s секунд" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "Содержимое резервных копий и Расписание" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "Премиум / Дополнения" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "Нет возможности получиить достаточную информацию о прогрессе запущенной операции восстановления." #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "Скачать" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "Вы включили резервное копирование файлов, но не выбрали группы файлов" #: src/admin.php:772 msgid "Extensions" msgstr "Дополнения" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "Дополнительные Возможности" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "Расположение контейнера" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "Примите во внимание что Google не поддерживает любой класс хранения во всех расположениях - вам нужно обратиться к их документации для того чтобы уточнить наличие поддержки." #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "Эти настройки будут применены только при создании нового контейнера." #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "Вы должны использовать название контейнера, которое уникально для всех пользователей %s." #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "Не путайте %s с %s - это разные вещи." #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "У вас нет доступа к данному контейнеру" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "Western Europe" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "Eastern Asia-Pacific" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "Western United States" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "Eastern United States" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "Центральная Америка" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "Евросоюз" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "Азиатско-Тихоокеанский регион" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "мультирегиональное расположение" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "Соединённые Штаты" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "Nearline" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "Durable reduced availability" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "Стандартный" #: src/addons/azure.php:700 msgid "container" msgstr "контейнер" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "Здесь вы, при необходимости, можете ввести путь к любой виртуальной папке %s." #: src/addons/azure.php:699 msgid "optional" msgstr "опционально" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "Просмотрите гайдлайны Microsoft по названиям контейнеров по этой ссылке." #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "Введите путь к %s, который вы хотите использовать сюда." #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "Это не логин Azure - просмотрите инструкцию если вам нужна помощь." #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "Azure" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "Создайте реквизиты доступа Azure в консоли разработчка Azure" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "Не удалось создать контейнер" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "Не удалось получить доступ к контейнеру" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "Для того чтобы завершить перенос/копирование, вы должны войти на удалённый сайт и запустить восстановление из данной резервной копии." #: src/backup.php:1901 msgid "the options table was not found" msgstr "таблица опций не найдена" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "найдено таблиц опций или метаданных сайта" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "Директория для резервного копирования недоступна для записи (или законичилось дисковое пространство) - резервное копирование базы данных вскоре станет невозможным." #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "требуется для некоторых провайдеров удалённого хранилища" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Не установлено" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "Класс хранилища" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "По этой ссылке вы можете просмотреть гайдлайны Google в отншении названий контейнеров." #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "Введите сюда название контейнера %s, которое вы хотите использовать." #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "Контейнер" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "В противном случае можете оставить это поле пустым." #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "Внимание! Это необходимо только в случае если вы ещё не создали контейнер и хотите, чтобы UpdraftPlus сделал это для вас." #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "Введите ID проекта %s, который вы хотите использовать здесь." #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "Проследуйте по этой ссылке в вашу консоль Google API и активируйте там Storage API, после чего создайте ID клиента в разделе API Access." #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "Вы должны ввести ID проекта для того чтобы получить возможность создать новый контейнер." #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "ID проекта" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "Вы должны авторизоваться, прежде чем вы сможете проверить свои настройки." #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "У вас нет доступа к этому контейнеру." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "Google Cloud" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "Исключение службы %s" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "или настройте более сложные расписания" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "Вы уверены, что хотите удалить %s из UpdraftPlus?" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "Отменить выбор" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "Выбрать все" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "Действия с выбранными резервными копиями" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "Нажмите здесь для того чтобы проверить наличие во внешних хранилищах существующих резервных копий (любых сайтов, при условии что они хранятся в одной папке)." #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "Удалены наборы файлов резервной копии:" #: src/admin.php:1012 msgid "Processing..." msgstr "Обработка..." #: src/admin.php:1010 msgid "For backups older than" msgstr "Для резервных копий, которые старше, чем" #: src/admin.php:1009 msgid "week(s)" msgstr "неделя(-ль)" #: src/admin.php:1008 msgid "hour(s)" msgstr "час(-а, -ов)" #: src/admin.php:1007 msgid "day(s)" msgstr "дня(-ей)" #: src/admin.php:1006 msgid "in the month" msgstr "в месяц" #: src/admin.php:1005 msgid "day" msgstr "день" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "(столько сколько вам требуется)" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "Добавить дополнительное правило задержки..." #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "Это база данных может быть развернута на версии MySQL %s или более поздней." #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "Данная проблема вызвана попыткой восстановить базу данных на очень старой версии MySQL, которая несовместима с базой данных источника." #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "Вам необходимо обновить MySQL для того чтобы иметь возможность использовать эту базу данных." #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "Эта база данных использует функции MySQL, которые недоступны в устаревшей версии MySQL (%s) на которой работает этот сайт." #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "Вы не знаете адрес e-mail или забыли ваш пароль?" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "Для того чтобы подключиться введите сюда ваши e-mail и пароль UpdraftPlus.com" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "Выберите для того чтобы использовать шифрование на стороне сервера Amazon" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "Шифрование на стороне сервера" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "Если вы забыли ваш пароль updraftplus.com - перейдите сюда для того чтобы сменить его." #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "%s выбран в качестве удаленного хранилища, однако в данный момент вы не подключены." #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "Платежи могут быть произведены в долларах, евро или фунтах стерлинга, при помощи PayPal или банковской карты." #: src/admin.php:982 msgid "Update quota count" msgstr "Обновить квоту" #: src/admin.php:981 msgid "Counting..." msgstr "Подсчёт..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "Отключение..." #: src/admin.php:978 msgid "Connecting..." msgstr "Соединение..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "Обновить статус" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "Увеличить квоту" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "Текущее использование:" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "Вы можете увеличить квоту здесь" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "Отключиться" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "Квота:" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "Владелец хранилища" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "Отлично - больше ничего не нужно настраивать." #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "Проследуйте сюда для получения помощи" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "Назад..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "Подписки могут быть отменены в любой момент." #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "%s на четверть" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "Показать настройки" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "Нажмите кнопку чтобы начать." #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "Updraft Vault" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "Не удалось удалить:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "Процессор zip ответил следующим сообщением: %s" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "Без этого разрешения UpdraftPlus не сможет удалять резервные копии. Также вам необходимо будет установить настройки сохранений на очень высокий уровень для того чтобы не наблюдать ошибки удаления." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "Разрешить удаление" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "Без этого разрешения вы не сможете напрямую закачивать или восстанавливать резервную копию при помощи UpdraftPlus, вместо этого вам придется производить вышеуказанные действия через сайт AWS." #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "Разрешить загрузку" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "Если отправка данных напрямую с сайта на сайт не работает в вашем случае, есть ещё три способа - попробуйте один из них." #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "Вы должны убедиться что удалённый сайт находится в онлайн, не защищен фаерволом, не имеет модулей безопасности, которые могут блокировать доступ, имеет UpdraftPlus версии %s или выше, который активирован, а также все ключи введены верно." #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "Существующие ключи" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "Ваш новый ключ:" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "Ключ создан успешно" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "Ключ с таким именем уже существует; вы должны выбрать уникальное имя." #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "Дополнительно отправить эту резервную копию в активные удалённые хранилища" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "Сайт не найден" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "Резервная копия будет отправлена сюда:" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "Восстановить существующую резервную копию на этом сайте" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "Этот сайт пока не имеет резервных копий для восстановления." #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "Резервная копия создана %s" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "Выбранный способ хранения не позволяет произвести закачку" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "(резервная копия импортирована из удаленного расположения)" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "Сайт" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "Резервная копия отправлена на удалённый сайт - скачать нельзя." #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "Прежде чем произвести восстановление данной резервной копии, вы должны определить, предназначена ли она для этого сайта (и не является ли копией для другого сайта)." #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "UpdraftPlus определил эту резервную копию как не принадлежащую текущей установке WordPress, она либо получена из удаленного хранилища, либо отправлена с другого сайта." #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "Проверка соединения..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "Удаление..." #: src/admin.php:991 msgid "key name" msgstr "имя ключа" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "Пожалуйста, присвойте этому ключу название (напр. сайт для которого он):" #: src/admin.php:986 msgid "Creating..." msgstr "Создание..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "Вставьте ключ сюда" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "Как я могу получить ключ сайта?" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "Для того чтобы добавить этот сайт в качестве получателя резервных копий, введите ключ от него ниже." #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "Отправить" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "Отправить на сайт:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "Сайты получающие резервные копии пока не добавлены." #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "Для отправки резервных копий на следующий сайт:" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "Ключ успешно добавлен." #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "Введенный ключ не принадлежит удалённому сайту (он принадлежит этому)." #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "Введенный ключ поврежден - попробуйте еще раз." #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "Введенный ключ имеет неверную длину - попробуйте еще раз." #: src/includes/class-remote-send.php:580 msgid "key" msgstr "ключ" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "Почти все серверы FTP работают в пассивном режиме. Но если вам необходим активный режим - снимите выбор с этого пункта." #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "Пассивный режим" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "Удаленный путь" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "Пароль FTP" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "Логин FTP" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "FTP сервер" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "Перенос UpdraftPlus настраивает процесс восстановления соответствующим образом для того чтобы правильно распределить данные резервной копии на новом сайте." #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "\"Перенос\" - это практически то же самое что и восстановление, разница только в том что используется резервная копия, импортированная с другого сайта." #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "Добавить сайт" #: src/admin.php:983 msgid "Adding..." msgstr "Добавление..." #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "Запрос не подтвержден - возможно вы уже использовали эту покупку в другом месте, либо оплаченный вами период на загрузку с updraftplus.com закончился?" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "Для того чтобы использовать данную резервную копию ваш сервер базы данных должен поддерживать набор символов %s." #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "перейдите сюда для того чтобы сменить ваш пароль на updraftplus.com." #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "Если вы забыли ваш пароль" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "Здесь вы можете заново ввести свой пароль." #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "После нажатия этой кнопки у вас будет возможность выбрать какие компоненты вы хотели бы перенести" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "Вы изменили настройки, но не произвели сохранение." #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "Напр. %s не чувствителен к регистру." #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "Если OneDrive отображает сообщение \"unauthorized_client\", это означает что вы ввели здесь неправильный ID." #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "Для более подробной инструкции со скриншотами пройдите по этой ссылке." #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "Создайте реквизиты доступа в вашей консоли разработчика OneDrive." #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "OneDrive" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "Пожалуйста переавторизуйте ваше соединение с аккаунтом %s." #: src/methods/email.php:110 msgid "configure it here" msgstr "настроить здесь" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "Для того чтобы удалить блок, перейдите сюда." #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "Не забудьте сохранить ваши настройки." #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "Теперь вы используете аккаунт пользователя IAM для доступа к вашему контейнеру." #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "контейнер S3 " #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "China (Beijing) (restricted)" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "Asia Pacific (Tokyo)" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "Asia Pacific (Sydney)" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "Asia Pacific (Singapore)" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "US Government West (запрещен)" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "US West (N. California)" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "US West (Oregon)" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "регион хранилища S3" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "Новое имя пользователя IAM" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "Секретный ключ Администратора" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "Ключ доступа Администратора" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "После чего, эти реквизиты доступа с меньшими правами могут быть использованы вместо ваших административных ключей." #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "Эти данные будут использованы для создания нового пользователя и пары ключей, которые будут в соответствии с настройками IAM иметь доступ только к данному контейнеру." #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "Введите ваши административные ключ доступа и секретный ключ Amazon S3 (необходимо чтобы введенные реквизиты имели достаточно прав для создания новых пользователей и контейнеров) а также новое (уникальное) имя пользователя для нового пользователя и название контейнера." #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "Создать нового пользователя IAM и контейнер S3" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "Секретный ключ: %s" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "Ключ доступа: %s" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "Не удалось применить настройки прав к пользователю " #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "В процессе создания ключа пользователя произошла ошибка" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "Ошибка IAM (%s)" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "Конфликт: такой пользователь уже существует" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "Авторизация AWS не удалась" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "Вам нужно ввести контейнер" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "Вам нужно ввести новое имя пользователя IAM" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "Вам необходимо ввести секретный ключ администратора" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "Вам необходимо ввести ключ доступа администратора" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "Если у вас есть пользователь-администратор AWS, то вы можете использовать этот мастер для того чтобы быстро создать нового пользователя AWS (IAM) с доступом только к этому контейнеру (а не ко всей учётной записи)" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "Скорее всего это означает что с вами на одном сервере находился сайт который был ранее взломан и использовался для атак." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "Похоже что IP вашего сервера (%s) заблокирован." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "UpdraftPlus.com выдал ответ 'Доступ Запрещен'." #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "Premium Плагины WooCommerce" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "Бесплатный плагин двухфакторной авторизации" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus Premium" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "Отложить (на %s месяц(-ев))" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "(одновременно с созданием резервной копии файлов)" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "Нет завершенных резервный копий" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "Подписаться на Новости" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "Следуйте по этой ссылке чтобы подписаться на новостную рассылку UpdraftPlus." #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "Задать вопрос перед покупкой" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "ЧаВо перед покупкой" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "Полный список функций" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Создавать (при необходимости) резервную копию плагинов, тем и базы данных WordPress, при помощи UpdraftPlus перед обновлением" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "%s Ошибка: Не удалось инициализировать" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "или" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), поддерживаются форматы ключей XML и PuTTY." #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "группа пользователей OpenStack" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "Это должен быть URI аутентификации v2 (Keystone). v1 (Swauth) не поддерживается." #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "адрес админ панели вашего сайта" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "Выберите это поле для того чтобы базовый отчет был отправлен на" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "Ручное" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "Произошло (%s) ошибок:" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "Изменить настройки блокировки" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "Для ещё большего количества функций и персональной техподдержки, обратите внимание на" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "Фраза (Ключ) для шифровки базы данных " #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "Автоматическое резервное копирование перед обновлением" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "Ядро WordPress (только)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "Для помощи в разблокировке свяжитесь с теми, кто поддерживает UpdraftPlus для вас." #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "Для доступа к настройкам UpdraftPlus, пожалуйста введите ваш пароль для разблокировки" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "Пароль неверный" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "Разблокировать" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "В противном случае будет отображена ссылка по-умолчанию." #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "Каждый кто увидит экран блокировки будет видеть данный URL техподдержки - введите адрес сайта или адрес e-mail." #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "URL техподдержки" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "Заново требовать пароль в последствии" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "%s недель" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "1 неделя" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "%s часа(-ов)" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "1 час" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "Пожалуйста убедитесь в том что вы записали (чтобы не забыть) пароль!" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "Заблокировать доступ к настройкам UpdraftPlus" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "Пароль администратора был изменён." #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "Пароль администратора установлен." #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "Пароль администратора был удалён." #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "(узнать больше об этом важном параметре)" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "Примечание: после того как вы получили ваши дополнения, вы можете стереть ваш пароль (но не адрес электронной почты) из поля настроек ниже, при этом доступ к обновлениям останется." #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "Посмотреть лог" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "Данные резервной копии (нажмите чтобы скачать)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "Дата резервного копирования" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "и накапливает множество запланированных резервных копий" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "добавочная резервная копия; базовая резервная копия: %s" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "Для того чтобы иметь возможность заблокировать доступ к настройкам UpdraftPlus паролем - обновитесь до версии UpdraftPlus Premium." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "Файлы загруженные в UpdraftPlus." #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "Кнопка \"Создать РК Сейчас\" отключена, т.к. директория, указанная для резервного копирования недоступна для записи (перейдите во вкладку \"Настройки\" и найдите соответствующую опцию)." #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "Подпись резервной копии:" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "Ошибка: неожиданная ошибка при чтении файла" #: src/backup.php:4389 msgid "check your log for more details." msgstr "проверьте ваш лог для того чтобы узнать больше подробностей." #: src/backup.php:4385 msgid "A zip error occurred" msgstr "Произошла ошибка при работе с zip архивом" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "Ваша подпись к этой резервной копии (опционально)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "Введенный вами адрес email не опознан UpdraftPlus.com" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "Вы введи корректный адрес email, но ваш UpdraftPlus.com не может опознать ваш пароль" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "Вам необходимо указать и e-mail и пароль" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "Если вы хотите восстановить резервную копию мультисайтовой установки, вы должны сперва настроить ваш WordPress как мультисайтовую установку." #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "уже готово" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "пропущено (не в списке)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "Таблица поиска/замены:" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "Введите в виде списка разделенного запятыми; в противном случае оставьте поля пустыми для всех таблиц." #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "Только данные таблицы" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "Строк на пакет" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "Вы пока еще не подключили ваш аккаунт UpdraftPlus.com." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "Вам нужно подключить ваш аккаунт для того чтобы получать будущие обновления UpdraftPlus." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "Любые запросы в техподдержку, связанные с %s, должны быть адресованы вашему хостинг провайдеру." #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "Данный сервер значительно более новый чем тот на который вы производите восстановление резервной копии в данный момент (версия %s)." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "UpdraftPlus в соцсетях - подробнее:" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "Почему я это вижу?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "Местоположение данной директории задаётся в экспертных настройках, во вкладке Настройки." #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "Нажмите сюда для того чтобы произвести поиск недавно загруженных вами резервных копий в директории UpdraftPlus на вашем хостинге." #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "Начать резервное копирование" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "Вы используете сервер %s, но при этом у вас отсутствует/не загружен модуль %s." #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "Вам необходимо проконсультироваться с вашим хостинг провайдером для того чтобы узнать как установить права на запись в директорию для плагина Wordpress." #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "В случае если у вас нет никаких проблем, можете полностью проигнорировать всё написанное здесь." #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "Данный файл не может быть загружен" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "Вы найдете больше информации об этом в разделе Настройки." #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "Поддерживаемые плагины: %s" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "Расскажите мне больше про добавочное резервное копирование." #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "Лимит памяти" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "восстановление" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "Добавочный" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "Полное резервное копирование" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "обрабатываются обновления..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(просмотреть лог...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "Резервное копирование выполнено успешно" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "Каждый(-е) %s час(-ов)" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "найти и заменить" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Вперёд" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "Поиск и замена не могут быть отменены - вы уверены, что хотите сделать это?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "Это легко может испортить ваш сайт; пользуйтесь осторожно!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "Заменить на" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "Искать" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "Найти / заменить базу данных" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "условие поиска" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "Произошло слишком много ошибок базы данных - отмена" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "прочесть больше на %s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "Электронная почта, сгенерированная бесплатной версией UpdraftPlus, включает в себя последние новости UpdraftPlus.com" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "N.B. Если вы устанавливаете UpdraftPlus на нескольких сайтах WordPress, тогда вы не можете повторно использовать ваш проект; вы должны создать новый с помощью консоли Google API для каждого сайта." #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "Вы ещё не сделали ни одной резервной копии." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "Настройки базы данных" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s использовано)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "Свободное место в учетной записи:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "Эта кнопка неактивна по причине того, что запись в директорию резервного копирования не возможна (проверьте настройки)." #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "Для того чтобы изменить любые из настроек резервного копирования по умолчанию, настроить резервное копирование по расписанию, отправить свои резервные копии в удалённое хранилище (рекомендовано), и прочее - перейдите на вкладку настроек." #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "Чтобы сделать резервную копию просто нажмите на кнопку Backup Now." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "Добро пожаловать в UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "Проверка..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "Проверка соединения..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "Префикс таблиц" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "Создать резервную копию внешней базы данных" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "Добавить внешнюю базу данных к резервной копии..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "Если ваша база данных содержит дополнительные таблицы которые не имеют отношения к WordPress (вы поймете если это так), активируйте данную опцию для того чтобы добавить их в резервную копию." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "Создавать резервную копию таблиц не принадлежащих Wordpress, находящихся в базе данных используемой Wordpress" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "Данная настройка активирует резервное копирование таблиц не принадлежащих Wordpress (определяется отсутствием настроенного префикса Wordpress, %s) хранящихся в базе данных MySQL." #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "Соединение установить не удалось." #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "Соединение успешно." #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "%s всего таблиц; %s с заданным префиксом." #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "%s таблица(-ц) найдено." #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "попытка соединения с базой данных не удалась" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "имя базы данных" #: src/addons/moredatabase.php:115 msgid "host" msgstr "хост" #: src/addons/moredatabase.php:113 msgid "user" msgstr "пользователь" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "Внешняя база данных (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "Перейдите по этой ссылке в вашу Консоль Google API, и активируйте Drive API, а затем создайте Client ID в разделе API Access." #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "не удалось получить доступ к родительской директории" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "Однако, следующие попытки доступа провалились:" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "Внешняя база данных" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "Также активирует показ на данном экране отладочных сообщений от всех плагинов - не удивляйтесь увидев их здесь." #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "Для начала, введите ключ шифрования" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "Здесь вы можете вручную расшифровать зашифрованную базу данных." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "А также создавать резервные копии внешних баз данных." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "Не хотите чтобы за вами шпионили? UpdraftPlus Premium может шифровать резервные копии вашей базы данных. " #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "используйте UpdraftPlus Premium" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "Восстановлению подлежат только базы данных Wordpress; с внешними базами данных вам придется работать вручную." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "Произошла ошибка при выполнении первой команды %s - отмена запуска" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "Соединение прервано: проверьте реквизиты доступа, удостоверьтесь что сервер с базой данных доступен, а также убедитесь что соединение с сетью не блокировано файерволом." #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "попытка соединения с базой данных не удалась." #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "Внимание: домашний URL базы данных (%s) отличается от того, что мы ожидали (%s)" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "В %s, названия путей чувствительны к регистру." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "Если вы оставите это поле пустым, то резервная копия будет помещёна в корень вашей %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "напр. %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "Введите путь к %s папке, которую вы хотите использовать." #: src/methods/openstack2.php:257 msgid "Container" msgstr "Контейнер" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "Оставьте это поле пустым для того чтобы выбрать значение по умолчанию." #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "Арендатор" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "Проследуйте по ссылке чтобы узнать больше" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "URI для авторизации" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "Не удалось скачать %s" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "Не удалось загрузить" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "не удалось получить список файлов" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "Не удалось загрузить %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "Успешно:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "Войти с %s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "Ошибка при скачивании файла: Не удалось скачать" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "Регион: %s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "%s ошибка - мы получили доступ к контейнеру, но не смогли создать в нём файл" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "Объект %s не найден" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "Не можем принять контейнер %s" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "Ошибка %s - не удалось получить доступ к контейнеру" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "Имя владельца аккаунта: %s." #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "Чтобы иметь возможность использовать своё название директории, используйте UpdraftPlus Premium." #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "Это номер ID, который используется внутри Google Drive" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "Это НЕ название директории." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "Директория" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "Скачивание %s: не удалось: файл не найден" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "Название: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "Просмотр файлов на Google Drive: не удалось получить доступ к родительской директории" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "Версия вашего %s: %s." #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "Вам придётся попросить вашего хостинг провайдера проапгрейдиться." #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "Этот метод удалённого хранилища (%s) требует PHP %s или позднее." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "Вызвать" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "Получить" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "Эта функция требует %s версии %s или больше" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "Не удалось распаковать архив" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "Ошибка - не удалось скачать файл" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "Пересканировать локальную директорию, чтобы найти новые наборы резервных копий" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "Обновите UpdraftPlus, для того чтобы убедиться, что вы используете версию, которая была проверена на совместимость." #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "Она была проверена вплоть до версии %s." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "Установленная версия UpdraftPlus Backup/Restore не была проверена на вашей версии WordPress (%s)." #: src/addons/sftp.php:646 msgid "password/key" msgstr "пароль/ключ" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "Ключ" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "Ваш логин может быть основан на ключе или пароле - вам нужно ввести что то одно, нет необходимости вводить и то и другое." #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "Ключ, который Вы предоставили, имеет неправильный формат или был повреждён." #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "SCP/SFTP пароль/ключ" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "Резервная копия файлов (создана %s)" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "Резервная копия файлов и базы данных WordPress (создана %s)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "Резервная копия был создана: %s." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "База данных (Автор: %s)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "неизвестный источник" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "Повторно сканировать удалённое хранилище" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Загрузить файлы резервной копии" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "Резервная копия была создана %s и может быть импортирована." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "Прочитайте эту страницу чтобы получить информацию о возможных причинах и способах их устранения." #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "Если это резервная копия, созданная другим плагином резервного копирования, то, вероятно, UpdraftPlus Premium сможет вам помочь." #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "Впрочем, архивы UpdraftPlus это стандартные zip/SQL файлы - так что если вы уверены, что ваш файл имеет правильный формат, то Вы можете переименовать его так чтобы он соответствовал заданному шаблону." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "Этот файл не является архивом с резервной копией UpdraftPlus (обычно файлы резервной копии это архивы .zip или .gz c именем вида backup_(time)_(site name)_(code)_(type).(zip|gz))." #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "Резервная копия создана неизвестным источником (%s) - восстановление не возможно." #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "Папка с содержимым Wordpress (wp-content) не обнаружена в данном zip-архиве." #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "Данная версия UpdraftPlus не имеет информации о том, как работать с этим типом резервных копий." #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "%s вернул непредусмотренный ответ HTTP: %s" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "Модуль UpdraftPlus для этого метода доступа к файлам (%s) не поддерживает листинг файлов" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "Настройки не найдены" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "Одна или более резервных копий были добавлены при сканировании удалённого хранилища; обратите внимание, что эти резервные копии не будут автоматически удалены при \"сопоставлении\" настроек с сохраненными; если/когда вы захотите удалить их - вам придётся сделать это вручную." #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "Повторно сканируем удалённое и локальное хранилища в поисках наборов резервных копий." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "(Узнать больше)" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "Сохранять все сообщения в системный журнал (это может понадобиться только администраторам сервера)" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "Удалить" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "Другие %s ЧаВо." #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" "Поставьте галочку, чтобы получать больше информации и электронных\n" "писем во время резервного копирования — может пригодиться, если что-то\n" "пойдет не так." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr " Ваш хостинг провайдер должен активировать данные функции для работы %s." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "В вашей конфигурации PHP отключены следующие функции: %s." #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "шифрованный FTP (explicit - шифрование)" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "защищённый FTP (implicit - шифрование)" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "обычный (незащищённый) FTP" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "Резервная копия создана:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "Доступно для получения на этом сайте" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "Для того чтобы продлить доступ к технической поддержке, пожалуйста продлите вашу подписку." #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "Ваша платная подписка для доступа к техподдержке UpdraftPlus скоро заканчивается." #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "Для того чтобы вновь получить доступ, пожалуйста продлите подписку." #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "Ваша платная подписка для доступа к техподдержке UpdraftPlus истекла." #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "Ваша платная подписка на обновления UpdraftPlus скоро истекает." #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Для того чтобы продлить доступ к обновлениям (включая новые функции и совместимость с последующими версиями WordPress) а также для получения доступа к техподдержке, пожалуйста продлите вашу подписку." #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "Ваша платная подписка на UpdraftPlus для обновления %s дополнений %s для данного сайта скоро истекает." #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "Ваша платная подписка на обновления UpdraftPlus для дополнения %s для данного сайта истёкла." #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Для того чтобы возобновить доступ к обновлениям (включая новые функции и совместимость с последующими версиями WordPress) а также для доступа к техподдержке, пожалуйста продлите подписку." #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "Скрыть из панели управления (на %s неделю(-ль))" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "Файл успешно восстановлен после двойного сжатия." #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "Не удалось восстановить файл после двойного сжатия." #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "Файл базы данных по всей видимости был сжат дважды - возможно сайт с которого Вы его скачали имеет проблемы с настройками сервера." #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "Постоянные" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "Не удалось открыть файл базы данных для чтения:" #: src/backup.php:1645 msgid "No database tables found" msgstr "Не найдены таблицы базы данных" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "пожалуйста дождитесь перенесённой попытки" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "Учётная запись заполнена: остаток свободного места для вашей учётной записи %s составляет %d байт, осталось загрузить %d байт (общий размер файла: %d байт)" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "Произошли ошибки:" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "Следуйте по данной ссылке для того чтобы скачать файл журнала (log-файл) для данного восстановления (необходим для запросов в техподдержку)." #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "Также прочтите данный FAQ." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "Получение (если необходимо) и подготовка файлов резервной копии..." #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "Временное ограничение для работы плагинов WordPress очень мало (%s секунд) - Вы должны увеличить лимит для того чтобы избежать ошибок резервного копирования по причине таймаутов (свяжитесь с Вашим хостинг провайдером для получения помощи - Вам необходимо именить настройку PHP max_execution_time; рекомендуемое значение %s секунд или больше)" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "Отключен плагин: %s: активируйте его заново вручную когда будете готовы." #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "Соединение %s закрыто сервером; если Вы ввели данные сервера корректно, то это может быть вызвано файерволом, блокирующим соединение - Вам нужно связаться с Вашим хостинг-провайдером." #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "Сообщения:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "Найдена строка базы данных SQL которая превышает максимальный размер пакета и не может быть разделена на фрагменты; она не будет обработана, но будет сброшена: %s" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "Директория не существует" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "Новый E-mail текущего Пользователя" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "Новое Имя пользователя текущего Пользователя" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "Ключ API Администратора" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "Имя пользователя Администратора" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "Американский (US) или Английский (UK) аккаунт Rackspace" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "Введите ваше имя пользователя администратора Rackspace и ключ API (для того чтобы Rackspace могли авторизовать ваши права на создание новых пользователей), введите новое (уникальное) имя пользователя и адрес e-mail для нового пользователя, а также имя контейнера." #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "Создать нового пользователя API и контейнер" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "Ключ API: %s" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "Пароль: %s" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "Имя пользователя: %s" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "Операция CloudFiles не удалась (%s)" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "Конфликт: данный пользователь или адрес e-mail уже существует" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "Вам необходимо ввести правильный адрес e-mail" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "Вам необходимо ввести контейнер" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "Вам необходимо ввести новое имя пользователя" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "Вам необходимо ввести ключ API Администратора" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "Вам необходимо ввести Имя пользователя Администратора" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "Создать нового пользователя API с доступом только к данному контейнера (вместо всего аккаунта)" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "Контейнер CloudFiles" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "Ключ API CloudFiles" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "Имя пользователя CloudFiles" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "Лондон (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "Гонконг (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "Северная Вирджиния (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "Чикаго (ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "Сидней (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "Даллас (DFW) (по умолчанию)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "Регион хранилища CloudFiles" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "Аккаунты созданные на rackspacecloud.com это аккаунты US (американские); аккаунты созданные на rackspace.co.uk расположены в UK (Великобритании); " #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "Аккаунт Rackspace расположенный в US (США) или UK (Великобритания)" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "Аккаунты созданные на rackspacecloud.com это аккаунты US (американские); аккаунты созданные на rackspace.co.uk это аккаунты UK (английские); " #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "Авторизация не удалась (Проверьте ваши учётные данные)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "При попытке соединения с UpdraftPlus.com произошла неизвестная ошибка" #: src/admin.php:965 msgid "Create" msgstr "Создать" #: src/admin.php:925 msgid "Trying..." msgstr "Попытка..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "Новый пароль пользователя консоли RackSpace (больше не будет показан):" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "Данные ошибки:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "Резервная копия не существует в директории резервного копирования" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "Разбивать на фрагменты для того чтобы избежать превышения максимального размера пакета" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "Не удалось удалить устаревшие данные." #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "Удаление устаревших данных..." #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "Добавить другой адрес..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "Адреса e-mail для отправки отчёта об окончании резервного копирования." #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "%s контрольная сумма: %s" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "файлы: %s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "Используйте секцию \"Отчёты\" для настройки e-mail адресов для использования." #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "Отладочная информация" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "Загружено в:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "Потрачено времени:" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "Предупреждения" #: src/addons/reporting.php:223 msgid "Errors" msgstr "Ошибки" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "Ошибки / предупреждения:" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "Содержит:" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "Резервное копирование начато:" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "Отчёт Резервного копирования" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "%d час(-ов) %d минут(-а) %d секунд(-а)" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "%d ошибок, %d предупреждений" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "%s авторизация" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "%s ошибка: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "%s лого" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "Необходимый модуль PHP %s не установлен - обратитесь к Вашему хостинг-провайдеру с просьбой активировать данный модуль" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "Будет использован e-mail адрес Администратора Вашего сайта (%s)." #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "Соединиться" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(версия: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "Имейте ввиду что почтовые сервера имеют ограничения на размер пересылаемых файлов; обычно около %s Мб; резервные копии превышающие этот размер скорее всего не дойдут." #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "Последний статус:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "Резервная копия содержит:" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "Резервная копия: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "К данному письму был прикреплён лог-файл." #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "Неизвестная/непредвиденная ошибка - пожалуйста подайте запрос в техподдержку" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "Только база данных (резервное копирование файлов не было включено в это конкретное расписание)" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "База данных (резервное копирование файлов не завершено)" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "Только файлы (резервное копирование базы данных не было включено в это конкретное расписание)" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "Файлы (резервное копирование базы данных не завершено)" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "Файлы и база данных" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "(Это будет применено для всех плагинов резервного копирования WordPress, кроме случаев когда они конкретно были написаны для совместимости с мультсайтовой конфигурацией)." #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "Это мультисайтовая конфигурация WordPress (или сетевая)." #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "Предупреждение UpdraftPlus:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "(или воспользуйтесь формой на этой странице если вы уже совершили покупку ранее)" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "пожалуйста проследуйте по этой ссылке чтобы обновить плагин для того чтобы активировать его" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "пожалуйста проследуйте по этой ссылке чтобы обновить плагин для того чтобы получить это" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "последняя" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "Ваша версия: %s" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "Вы это получили" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "Поддержка UpdraftPlus" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "Доступно обновления для UpdraftPlus и всех ваших дополнений - пожалуйста проследуйте по этой ссылке для того чтобы получить его." #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "Дополнения UpdraftPlus" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "Доступно обновление для UpdraftPlus - пожалуйста проследуйте по ссылке для того чтобы его получить." #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "Ответ от UpdraftPlus.Com получен, но мы не смогли его интерпретировать" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "Ваши адрес e-mail и пароль не распознаны UpdraftPlus.Com" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "UpdraftPlus.Com отправил ответ, который мы не смогли интерпретировать (данные: %s)" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "UpdraftPlus.Com ответил, но мы не смогли его интерпретировать ответ" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "Нам не удалось соединиться с UpdraftPlus.Com" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "Отчёт" #: src/admin.php:5927 msgid "Options (raw)" msgstr "Настройки (необработанные, для отладки)" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "Отправлять отчёт только в случае если есть какие то предупреждения/ошибки" #: src/restorer.php:3052 msgid "Content URL:" msgstr "URL данных:" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "Проверьте права на чтение/запись в Вашей конфигурации WordPress" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "В вашем хостинг-аккаунте очени мало свободного места - осталось всего лишь %s Мб" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "Лимит оперативной памяти (RAM) на выполнение PHP скриптов слишком мал (%s Мб) - Вам необходимо увеличить его для того чтобы избежать проблем из за недостатка памяти (обратитесь в техподдержку хостинг-провайдера если Вам необходима помощь)" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "Управление дополнениями" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "Купить" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "Получить из магазина UpdraftPlus.com" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "активируйте на этом сайте" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "Ваша покупка не активирована" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "Прикреплён к этому сайту" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "Доступно для этого сайта (через покупку всех дополнительных модулей)" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "(возможно пре-релиз или отменённый релиз)" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "Сюда" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "Нужна поддержка?" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "Произошла ошибка при попытке получить ваши дополнительные модули." #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "Запрос не выполнен - данные вашей учётной записи не верны" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "Пожалуйста подождите пока мы проведем запрос.." #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "При попытке установить соединение с аккаунтом UpdraftPlus.Com произошли ошибки:" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "В данный момент соединение с учётной записью UpdraftPlus.com НЕ установлено." #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "Если вы приобрели новые дополнительные модули проследуйте по этой ссылке для того чтобы обновить соединение" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "Хотите узнать насчёт безопасности вашего пароля UpdraftPlus.com? Вы можете прочесть об этом здесь." #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "Забыли ваши данные?" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "У вас ещё нет учётной записи (бесплатно)? Зарегистрируйте сейчас!" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "Соединиться с вашей учётной записью UpdraftPlus.com" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "Не похоже на то чтобы вы имели устаревшую версию плагина Updraft - возможно вы их перепутали?" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "Перейдите сюда для начала установки." #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "UpdraftPlus ещё не установлен." #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "Перейдите сюда для активации." #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "UpdraftPlus ещё не активирован." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "Перейдите сюда для того чтобы соединиться." #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "Вы еще не соединены с вашей учётной записью UpdraftPlus.com для того чтобы иметь возможность активировать список приобретённых вами дополнительных модулей. " #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "Без этого (него) шифрование будет намного медленнее." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "На вашем сервере отсутствует модуль %s." #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" "(Похоже что вы уже авторизованы. Несмотря на это вы можете\n" "авторизоваться заново, если у вас возникли какие-то проблемы)." #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "Разместить файлы резервных копий здесь" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "Ошибка сервера (попытайтесь ещё или проверьте log-файл вашего сервера)" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "Если вы исключаете из резервной копии и базу данных и файлы - вы исключаете всё что можно скопировать!" #: src/restorer.php:3046 msgid "Site home:" msgstr "Корень сайта:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "Настройки удалённого хранилища" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(логи могут быть найдены на странице настроек UpdraftPlus)..." #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "Запомнить мой выбор на следующий раз (у вас будет возможность его поменять)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "Загрузка не удалась" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "Узнать больше о том как это работает..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "Ошибка: Мы успешно вошли, но не можем создать файл в этом расположении." #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "Ошибка: Мы успешно вошли и перешли в указанную папку, но не можем создать файл." #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "Использовать SCP вместо SFTP" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "SCP/SFTP имя пользователя" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "SCP/SFTP настройки хоста" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "Попытка отправить резервную копию по email не удалась (возможно файл резервной копии слишком большой)" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "Резервная копия состоит из: %s." #: src/admin.php:1017 msgid "%s settings test result:" msgstr "Результат проверки настройки %s:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(Не завершено)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "Если вы видите здесь больше резервных копий чем ожидали - возможно это произошло потому что удаление старых резервных копий не производится пока новые резервные копии не будут завершены." #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "Не размещайте внутри директории загрузок или плагинов, потому что это может вызвать повторения (резервные копии резервных копий резервных копий...)." #: src/admin.php:3843 msgid "Job ID: %s" msgstr "ID задания: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "последняя активность: %ss ранее" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "Неизвестное(-ая)" #: src/admin.php:3756 msgid "Backup finished" msgstr "Резервное копирование завершено." #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "Подождать запланированное время перед повторной попыткой по причине ошибок." #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "Сокращение устаревших комплектов резервных копий" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "Загрузка файлов в удалённое хранилище" #: src/admin.php:3803 msgid "Encrypted database" msgstr "Зашифрованная база данных" #: src/admin.php:3795 msgid "Encrypting database" msgstr "Шифрование базы данных" #: src/admin.php:3769 msgid "Created database backup" msgstr "Резервная копия базы данных создана" #: src/admin.php:3782 msgid "table: %s" msgstr "таблица: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "Создание резервной копии базы данных" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "Создание zip-архивов резервных копий файлов" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "Создание zip-архивов резервных копий" #: src/admin.php:3706 msgid "Backup begun" msgstr "Резервное копирование началось" #: src/restorer.php:1563 msgid "file" msgstr "файл" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "директория" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "UpdraftPlus необходимо было создать файл(папку) %s в вашей директории для контента, но этого сделать не удалось - пожалуйста проверьте права на чтение/запись и разрешите доступ (%s)" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "Резервное копирование не завершено; повторная попытка запланирована" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "Ваша интернет страница посещается нечасто и UpdraftPlus не получает необходимые ресурсы; пожалуйста прочитайте информацию на этой странице:" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "Приступить к обновлению" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "Не отменяйте резервное копирование после нажатия Начать ниже - дождитесь пока оно будет завершено." #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "Автоматическое резервное копирование UpdraftPlus" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "Произошли следующие ошибки:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "Создание резервной копии при помощи UpdraftPlus..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "Автоматическое резервное копирование" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "Создание резервной копии базы данных при помощи UpdraftPlus..." #: src/addons/autobackup.php:431 msgid "themes" msgstr "темы (шаблоны)" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "плагины" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "Автоматическое резервное копирование начинается..." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "Создание %s и резервной копии базы данных при помощи UpdraftPlus..." #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Автоматическое резервное копирование (там где необходимо) плагинов, тем и базы данных WordPress при помощи UpdraftPlus перед обновлением" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "Если вы не уверены не стоит продолжать; В противном случае вы можете повредить данную конфигурацию Wordpress." #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "Этот файл не является действительной резервной копией ядра Wordpress - файл %s не может быть найден." #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "Не удалось открыть zip-архив (%s) - предварительная проверка целостности не возможна." #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "Не удалось прочесть zip-архив (%s) - предварительная проверка целостности не возможна." #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "Ещё плагины" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Поддержка" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "UpdraftPlus не удалось найти префикс таблиц во время сканирования резервной копии базы данных." #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "В данный резервной копии базы данных отсутствуют таблицы ядра Wordpress: %s" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "Данная база данных имеет слишком маленький размер чтобы являться действительной базой данных WordPress (размер: %s Кб)." #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "Будьте в безопасность с функцией автоматического резервного копирования" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "Если этот текст не исчезает после полной загрузки страницы - значит на данном сайте имеет место проблема JavaScript или jQuery." #: src/admin.php:960 msgid "The file was uploaded." msgstr "Файл успешно загружен." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "Неизвестный статус ответа сервера:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "Неизвестный ответ сервера:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "Данный ключ шифрования будет использован:" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "Проследуйте по этой ссылке для того чтобы произвести шифрование и скачать базу данных на свой компьютер." #: src/admin.php:955 msgid "Upload error" msgstr "Ошибка загрузки" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "Ошибка загрузки:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(убедитесь что вы пытались загрузить zip-архив ранее созданный при помощи UpdraftPlus)" #: src/admin.php:943 msgid "Download to your computer" msgstr "Скачать на компьютер" #: src/admin.php:942 msgid "Delete from your web server" msgstr "Удалить с сервера" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "Примеры хранилищ с поддержкой S3:" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "Разделять архив через каждые:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "Ошибка: сервер выдаёт ответ (JSON) который мы не можем понять (интерпретировать)." #: src/admin.php:932 msgid "Warnings:" msgstr "Предупреждения:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "Ошибка: сервер выдаёт пустой ответ." #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "В наборе резервного копирования состоящем из нескольких архивов нехватает следующих архивов: %s" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "Файл (%s) найден, но он имеет размер (%s) отличный от ожидаемого (%s) - возможно файл повреждён." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "Файл найден, но имеет нулевой размер (вам нужно загрузить его повторно): %s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "Файл не найден (вам необходимо его загрузить): %s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "Такого набора резервного копирования не существует" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "Перемещение распакованной резервной копии на место..." #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "Невозможно открыть zip-архив (%s) - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "Путь к корневой директории WordPress: %s" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "%s конечная точка" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "... и многое другое!" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (Совместимый)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "Файл не представлен локально - необходимо запросить его из удалённого хранилища" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "Поиск архива %s: Имя файла: %s" #: src/restorer.php:635 msgid "Final checks" msgstr "Финальные проверки" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "Выберите чтобы удалить все лишние файлы с вашего сервера после того как резервное копирование будет завершено (если вы отключите эту опцию то файлы, отправляемы в удалённое хранилище также будут сохранены локально, и любые файлы сохранённые локально не будут иметь лимитов на сохранение)." #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "Добавьте сюда зашифрованные файлы резервной копии базы данных (файлы формата db.gz.crypt) для того чтобы загрузить их для дешифровки" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "Путь к вашей директории wp-content: %s" #: src/admin.php:949 msgid "Raw backup history" msgstr "История необработанных резервных копий" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "Показать необработанные резервные копии и список файлов" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "Обработка файлов - пожалуйста подождите..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "Невозможно открыть файл базы данных." #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "Известные резервные копии (необработанные)" #: src/restorer.php:1835 msgid "Files found:" msgstr "Найденные файлы:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "Запрошенная система обработки таблиц (%s) не найдена - переключаемся на MyISAM." #: src/restorer.php:539 msgid "file is size:" msgstr "размер файла:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "Перейдите сюда чтобы узнать больше." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "Некоторые файлы всё ещё загружаются или находятся в обработке - пожалуйста подождите." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "Используется часовой пояс, установленный в настройках WordPress, Настройки->Основные." #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "Введите в формате ЧЧ:ММ (напр. 14:22)." #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "%s ошибка авторизации" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "Ошибка доступа к %s во время удаления (смотрите log-файл чтобы узнать больше)" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "%s Ошибка" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "%s ошибка - невозможно закачать файл" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "%s ошибка - не удалось собрать фрагменты" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "%s авторизация не удалась" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "Ошибка: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "Директория для резервного копирования существует, но НЕ доступна для записи." #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "Указанная директория для резервного копирования НЕ существует." #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "Предупреждение: %s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "Найден очень большой файл: %s (размер: %s МБ)" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s: нечитаемый файл - не возможно сохранить в резервной копии" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "Во время закрытия последнего файла базы данных произошла ошибка" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "Предупреждения:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "Очень мало свободного места на диске - осталось всего %s МБ" #: src/addons/migrator.php:398 msgid "New site:" msgstr "Новый сайт:" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "Перенесённый сайт (из UpdraftPlus)" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "Укажите детали где расположить данный новый сайт в пределах вашей мультисайтовой установки:" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "Информация необходимая для продолжения:" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "Удалённая активация шаблона:" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "Обработанный плагин:" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "Проверьте ваши права на чтение/запись: не получается создать и открыть директорию:" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "Пожалуйста проверьте ваши реквизиты доступа." #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "Ошибка переданная %s:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "Пожалуйста предоставьте запрошенные данные и затем продолжайте." #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "Описание сайта:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Внимание:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "Вы используете WordPress в многосайтовом варианте - но ваша резервная копия не является таковой." #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Закрыть" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "Неожиданный ответ:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "Для того чтобы произвести отправку на несколько адресов, разделите их при помощи запятых." #: src/admin.php:947 msgid "PHP information" msgstr "Информация PHP" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "найден zip архив:" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "показать информацию PHP (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "Вы хотите перенести сайт или создать его копию?" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "Также удалить из удалённого хранилища" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "Последние новосити UpdraftPlus.com:" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "Премиум" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "Новости" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "Не найден набор резервной копии" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "%s - не удалось создать резервную копию этого объекта; соответствующая директория не найдена (%s)" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "Ссылка на RSS" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "Ссылка на Блог" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "Проверка настроек %s..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "Или вы можете вручную поместить их в вашу директорию UpdraftPlus (обычно это wp-content/updraft), например при помощи FTP, после чего нажать на ссылку \"пересканировать\" ниже." #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "Обратите внимание" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "Произошли следующие ошибки:" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "Повторное сканирование (поиск наборов резервных копий которые вы загрузили вручную во внутреннее хранилище резервных копий)..." #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "Начат поиск данной записи" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "Хранить в" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "\"%s\" не имеет первичного ключа, необходимы исправления в строке %s." #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "строки: %d" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "Времени затрачено (сек):" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "Ошибки:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "Запущенные команды обновления SQL:" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "Изменения произведены:" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "Строки проверены:" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "Таблицы проверены:" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "Невозможно получить список таблиц" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "Внимание: URL адрес базы данных сайта (%s) отличается от ожидаемого (%s)" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "Нет необходимости что то делать: URL адрес сайта уже: %s" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "Ошибка: непредвиденный пустой параметр (%s, %s)" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "База данных: найти и заменить URL сайта" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "Ошибка: результат операции %s неизвестен." #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "Неудалось: не удалось начать операцию %s." #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "Найти и заменить расположение сайта в базе данных (перенос)" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "Все ссылки сайта в базе данных будут изменены в соответствии с Вашим текущим URL сайта, который имеет вид: %s" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "Загрузки блога" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "Необходимые плагины" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "Многосайтовая конфигурация" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "начиная со следующего раза" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "Ошибка: значаение поля \"Порт\" должно быть целым числом." #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "пароль" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "имя пользователя" #: src/addons/sftp.php:638 msgid "host name" msgstr "хост" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "В какую директорию заходить после авторизации - обычно указывается относительно Вашей домашней директории." #: src/addons/sftp.php:615 msgid "Directory path" msgstr "Путь к директории" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Пароль" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "Порт" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "Хост" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "Проверьте права на чтение/запись: Невозможно создать и открыть:" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "%s не найдено" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "больше" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "Резервные копии директорий %s не созданы - файлы для резервного копирования не обнаружены" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "Если Вы не уверены для чего нужна эта опция -скорее всего она Вам не требуется и Вам стоит её отключить." #: src/addons/morefiles.php:294 msgid "More Files" msgstr "Больше файлов" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "Ядро WordPress (включая все ваши дополнительные файлы в корневой директории WordPress)" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "Вышеперечисленные файлы - это все, из чего состоит Ваша конфигурация WordPress." #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "Перезаписать wp-config.php" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "Ядро WordPress" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "Ошибка: Неудалось поместить файл в данную директорию - пожалуйста проверьте ваши учётные данные." #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Неудалось" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "Адрес URl WebDAV" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "Ошибка записи в локальный файл: Неудалось загрузить" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "Ошибка при открытии удалённого файла: Неудалось загрузить" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "Настройки %s не найдены" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "Неудача: попытка авторизации успешна, но права на создание файлов в данной директории получить не удалось" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "Успех: попытка авторизации успешна, права на создание файлов в данной директории получены (тип входа:" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "Неудача: попытка аутентифицироваться с помощью этих учётных данных окончилась неудачно." #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "Неудача: Информация о сервере не предоставлена." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "Должны быть заранее созданы" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "Имя вашей учётной записи %s: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "вы авторизовали вашу учётную запись %s" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "Хотите использовать подпапки?" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "ошибка: не удалось загрузить файл %s (для более подробной информации смотрите log-файл)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "Данные передаваемые %s не были зашифрованы." #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "Данные передаваемые %s были зашифрованы." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "Мы получили доступ к контейнеру и смогли создать в нём файл." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "Мы успешно создали контейнер но не смогли создать в нём файл." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "Неудачно" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "Область" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "Ошибка: Данные контейнера не указаны." #: src/methods/s3.php:1370 msgid "API secret" msgstr "Секретный ключ API" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "%s расположение" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "%s секретный ключ" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "%s код доступа" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "Если Вы видите ошибку SSL-сертификата, перейдите сюда для получения более подробной информации" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "Ошибка %s: %s (смотрите файл журнала для более подробной информации)" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "загрузка %s: не удалось получить идентификатор для мультифайловой загрузки (смотрите файл журнала)" #: src/methods/email.php:106 msgid "Note:" msgstr "Примечание:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "Резервная копия WordPress" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "Мы получили доступ к контейнеру и можем создавать в нем файлы." #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "Ошибка: мы получили доступ к контейнеру, но не можем создавать в нем файлы" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "Ошибка: нет информации о контейнере." #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Имя пользователя" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "Ключ API" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "Ошибка нет информации о %s." #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "Имя пользователя облачного хранилища" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "UK" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "US (по умолчанию)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "US или UK облако" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "Вы также должны прочитать этот важный раздел FAQ." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "Проверить настройки %s" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "Ошибка открытия локального файла: Не удалось скачать файл" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "Ошибка %s: Неудалось закачать" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "Ошибка %s: Неудалось открыть локальный файл " #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "Ошибка авторизации Cloud Files" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Авторизация в Google" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "Секретный ключ" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "Если Google покажет вам сообщение \"invalid_client\", значит вы ввели сюда неправильный ID клиента." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "ID клиента" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "Вы должны указать в качестве URI для переадресации этот адрес (на вкладке \"Дополнительные настройки\")" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "Выберите «Web Application» (веб-приложение) при указании типа приложения." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "Учётная запись на авторизована." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "Неудалось закачать в %s" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "Аккаунт заполнен: свободное место на Вашем аккаунте %s составляет %d байт, а файл который нужно загрузить имеет размер %d байт." #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "Не получен маркер доступа от Google. Вы должны авторизоваться или обновить авторизацию в Google Drive." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "вы авторизовали вашу учётную запись %s." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "Успех" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "Использование Вашей %s квоты: %s %% использовано, %s доступно" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "следуйте по этой ссылке для того чтобы скачать" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "%s поддержка доступна в качестве дополнения" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "У Вас не установлено дополнение %s для UpdraftPlus - получите его тут: %s" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "Вам нужно повторно авторизоваться в %s, так как ваши существующие учётные данные не работают." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "О'кей" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "Изменился префикс таблицы: изменение полей %s в соответствии с новым префиксом:" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "был запущен следующий запрос к базе данных:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "будет восстановлено как:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "Старый префикс таблиц:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "Резервная копия:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "Неудалось открыть файл базы данных" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "Неудалось найти файл базы данных" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "Не удалось произвести запись расшифрованных данных в файловую систему сервера" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "Неудалось создать временную директорию" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "Не удалось удалить рабочий каталог после восстановления." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "Очистка мусора..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "Восстановление базы данных (на больших сайтах это может занять много времени и привести к таймауту (если Ваш сервер сконфигурирован с ограничением ресурсов) - в этом случае придется воспользоватся альтернативным методом, например, прямым импортом файла резервной копии в phpMyAdmin)..." #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "База данных успешно расшифрована." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "Расшифровка базы данных (может занять некоторое время)..." #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "Распаковка резервной копии" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "Копирование данного логического объекта невозможна." #: src/restorer.php:842 msgid "Backup file not available." msgstr "Файл резервной копии недоступен." #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "Сообщение об ошибке" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "Записи резервной копии не содержат информации о правильном размере данного файла." #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "Архив должен быть следующего размера:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "При составлении запроса в службу поддержки, пожалуйста, включите эту информацию:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "ОТМЕНА: Не удалось найти информацию для восстановления." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "Восстановление из резервных копий: Идет процесс..." #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "После нажатия этой кнопки Вам будет доступен выбор компонентов для восстановления" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "Удалить данный набор резервного копирования" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Сохранить настройки" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "Полностью отключить SSL, где это возможно" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "Не все облачные хранилища требуют безопасную SSL-авторизацию." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "Не проверять SSL сертификаты" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "Использовать SSL сертификаты сервера" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "Если операция не удалась, проверьте права доступа к папке или замените ее на другую папку, которая уже имеет права на запись." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "или для того чтобы сбросить эту опцию" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "Указанная директория доступна для записи, отлично." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "Директория резервного копирования" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "Удалить локальную резервную копию" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "Показать экспертные настройки" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "Экспертные настройки" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Режим отладки" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "Расширенные / отладочные настройки" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "Запрос старта резервного копирования..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Отмена" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Пусто" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "Выберите ваше удалённое хранилище" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "Произвести дешифовку резервной копии базы данных вручную" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "Кодовая фраза шифрования базы данных" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "Электронная почта" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "В вышеперечисленных директориях отсутствуют только файлы самого ядра WordPress, самую свежую версию которого можно всегда скачать с сайта ru.wordpress.org." #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "Исключить следующее:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "Любые другие папки в директории wp-content" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "Включить в резервную копию файлов" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" "например, если ваш сервер загружен днем и вы хотите запускать резервное\n" "копирование ночью," #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "Чтобы указать точное время запуска резервного копирования," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Ежемесячно" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "Раз в две недели" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Еженедельно" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Ежедневно" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "Скачать лог-файл" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "Директория существует, но сервер не имеет прав доступа для того чтобы производить в неё запись." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "Запрос к файловой системе на создание директории неудался." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Удалить" #: src/admin.php:3877 msgid "show log" msgstr "показать лог" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "Это удалит все ваши настройки UpdraftPlus - вы уверены что хотите это сделать?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "количество" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "Примечание: этот подсчет производится без учета изменений после последнего сохранения параметров." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Общий размер файлов на диске (без сжатия):" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Нет" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Да" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "Версия %s:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "Текущее использование памяти" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "Пиковое использование памяти" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "Сервер:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "Вам нужна поддержка многосайтовой конфигурации WordPress?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Multisite" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "Перед восстановлением прочтите эту статью, она очень полезна и содержит много удобных приёмов." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s опции восстановления:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "Вам придётся произвести восстановление вручную." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "Следующие объекты не могут быть восстановлены автоматически: \"%s\"." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "В настройках Вашего PHP активирован безопасный режим (safe_mode)." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Выбрать компоненты для восстановления" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "Восстановление приведет к замене имени сайта, тем, плагинов, загрузок, базы данных и/или другого контента на этом сайте (в зависимости от содержимого выбранных для восстановления резервных копий и выбранных Вами опций)." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Восстановить резервную копию" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "Удалить набор резервной копии" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "Ошибка скачивания: сервер прислал ответ, который мы не смогли распознать." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Ошибка:" #: src/admin.php:927 msgid "calculating..." msgstr "расчёт..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - Загрузить файлы резервных копий" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "обновить" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "Место на сервере использованное UpdraftPlus" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "Это содержимое Вашей директории Updraft " #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Drive" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "Если Вы используете это, отключите режим Turbo/Road." #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Браузер Opera" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "Больше заданий:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "Скачать наиболее свежий вариант лог-файла" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Последнее сообщение журнала (лога)" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Восстановить" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "Создать РК сейчас" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "Текущее время" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "База данных" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Файлы" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "Следующие запланированные резервные копии" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "Одновременно с созданием резервной копии файлов" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "Ничего пока что не запланировано" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "Предупреждение JavaScript" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Удалить старые директории" #: src/admin.php:3050 msgid "Current limit is:" msgstr "Текущий лимит:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "Ваша резервная копия восстановлена." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Версия" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "Открыть домашнюю страницу разработчика" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Ваши настройки успешно удалены." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "Директория для резервных копий успешно создана." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "Невозможно создать директорию для резервных копий." #: src/admin.php:3888 msgid "Remove old directories" msgstr "Удалить старые директории" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Вернуться к настройкам UpdraftPlus" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Действия" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "Неправильный формат имени файла - этот файл не похож на шифрованный файл резервной копии базы данных созданный UpdraftPlus." #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Неправильный формат имени файла - этот файл не похож на файл созданный UpdraftPlus." #: src/admin.php:2631 msgid "No local copy present." msgstr "Локальная копия отсутствует." #: src/admin.php:2628 msgid "Download in progress" msgstr "Производится загрузка" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "Файл готов." #: src/admin.php:2598 msgid "Download failed" msgstr "Скачивание не удалось" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Ошибка" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "Невзможно найти задание - возможно оно уже завершено?" #: src/admin.php:2335 msgid "Job deleted" msgstr "Задание удалено" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Пока лог файлы отсутствуют" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Пожалуйста прочтите данный раздел FAQ если у Вас проблемы с резервным копированием." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "Ваш хостинг использует %s сервер." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Внимание" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Настройки" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Бесконечная рекурсия (функция вызывает саму себя): смотрите log-файл чтобы узнать больше" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Файл не найден" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "Использованный кл" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "Невзможно открыть файл резервной копии для записи" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "Невозможно прочесть директорию" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "Директория резервного копирования (s%) недоступна для записи или не существует." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "Резервное копирование WordPress завершено" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "Попытка резервного копирования удалась, но по видимому неуспешна" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Другое" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Загрузки" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Темы" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Дополнения" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "Логи не найдены." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "Лог файл не может быть прочитан." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "Уведомление UpdraftPlus:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "Резервные копии UpdraftPlus"languages/updraftplus-ur.po000064400001121622147400355670012067 0ustar00# Translation of UpdraftPlus in Urdu # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2016-09-19 19:38:19+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: ur_PK\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "آپ کا آئی پی ایڈریس" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "کسی حصہ کو ہٹانے کیلئے برائے مہربانی یہاں جائیں" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "%s ایڈ۔آن نہیں ملی" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "یا خود سے بحال کرنے کیلئے" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "اس مسلہ کو حل کرنے کیلئے یہاں جائیں۔" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "OptimizePress 2.0 اپنے مواد کو اینکوڈ کرتا ہے، لہٰزا تلاش/تبدیل کام نہیں کرتا" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "آپ کے PHP انسٹال ماڈیولز میں openssl موجود نہیں۔ اس لیے، اس میں کچھ منٹ لگ سکتے ہیں۔ اگر اس وقت میں بھی کچھ نہ ہو تو آپ کو یا تو چھوٹی key سے کوشش کرنی چاہیے، یا اپنی ویب ہوسٹنگ کمپنی سے پوچھیں کہ اس PHP ماڈیول کو آپ کے سیٹ اپ میں کیسے فعال کیا جا سکتا ہے۔ " #: src/addons/webdav.php:437 msgid "Path" msgstr "راستہ" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "" #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "" #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "" #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "" #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "" #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "" #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-ur.mo000064400000003267147400355670012067 0ustar00 dH $,Qbye!a} A VN&-%s add-on not foundOptimizePress 2.0 encodes its contents, so search/replace does not work.PathTo fix this problem go here.To remove any block, please go here.Your IP address:or to restore manuallyyour PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup.PO-Revision-Date: 2016-09-19 19:38:19+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: ur_PK Project-Id-Version: UpdraftPlus %s ایڈ۔آن نہیں ملیOptimizePress 2.0 اپنے مواد کو اینکوڈ کرتا ہے، لہٰزا تلاش/تبدیل کام نہیں کرتاراستہاس مسلہ کو حل کرنے کیلئے یہاں جائیں۔کسی حصہ کو ہٹانے کیلئے برائے مہربانی یہاں جائیںآپ کا آئی پی ایڈریسیا خود سے بحال کرنے کیلئےآپ کے PHP انسٹال ماڈیولز میں openssl موجود نہیں۔ اس لیے، اس میں کچھ منٹ لگ سکتے ہیں۔ اگر اس وقت میں بھی کچھ نہ ہو تو آپ کو یا تو چھوٹی key سے کوشش کرنی چاہیے، یا اپنی ویب ہوسٹنگ کمپنی سے پوچھیں کہ اس PHP ماڈیول کو آپ کے سیٹ اپ میں کیسے فعال کیا جا سکتا ہے۔ languages/updraftplus-th.mo000064400000000416147400355670012045 0ustar00$,,-PO-Revision-Date: +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: GlotPress/3.0.0 Language: th Project-Id-Version: UpdraftPlus languages/updraftplus-bs_BA.mo000064400000000575147400355670012406 0ustar00$,,O-PO-Revision-Date: +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2); X-Generator: GlotPress/3.0.0 Language: bs_BA Project-Id-Version: UpdraftPlus languages/updraftplus-et.mo000064400000021735147400355670012051 0ustar00Dl l m y      M  + 0 8 S [ a i p w          !'6FUet# &6EX gr    ,6; > K XcEs )& - :FU&]    .5<LUhy       !*> S]l{   )=Nc x  *GZ^o    $+.3b g7u    !4 0;OX_h{P  . <FMR [iow    0CRbw&"->O cpy    &  GQX ] j w;19 @M^q"z   6?DM_fj|   # 7 E R \gmu   $ 8 > F P f u       !!! &! 0! ;!F!U!e!y!!!!!!! """0"7";",K""x"""" ","""6#G#N# W# c# o# z####### ##(Read more)(current version)(verb)Download1 hour1 weekAllow downloadAlready got space?Ask WordPress to update UpdraftPlus automatically when an update is availableAutomatic updatesBackBack...Backup file not available.Be safeBegunBelgiumBuy ItCancelChicago (ORD)CloseConfirmConfirm changeCreating...DailyDallas (DFW) (default)DeleteDelete selected backupsDelete these settingsDeleting...DismissDropboxEasyEmailEnter databaseEnter database.Enter passwordEnter password.Enter usernameEnter username.ErrorError - failed to download the fileError - no such file exists.Error messageError:ErrorsErrors / warnings:Errors:Europe (Frankfurt)Europe (Ireland)Europe (London)Europe (Paris)Europe (Stockholm)European UnionEvery hourExternal databaseFAQsFTP passwordFTP serverFacebookFailedFastFile not foundFilesFiles and databaseFind out more here.FinishFinishedFlexibleFolderFollow this link for helpFrankfurtFreeGoGoogle CloudGoogle DriveHTTP code:Hong Kong (HKG)If you have a valid Premium license, you get 1GB of storage included.IncompleteInformation needed to continue:IowaJavaScript warningLogin or register with this email addressLondonLondon (LON)Many sites?Missing pages:MonthlyMore great plugins by the Updraft TeamMore information here.More pluginsMore settingsNeed to get space?NewsNextNoNorth VirginiaNorthern Virginia (IAD)Not installedNote:OKOneDriveOneDrive GermanyOregonOthersPHP informationPasswordPassword incorrectPerform a backupPluginsPress here to start!Proceed with updateRead moreRead more...ReliableRemoveRestore files fromSaveSave ChangesSave timeSaving...SecureSelect allSendSettingsShow all backups...Show more backups...SingaporeSkip this stepSouth CarolinaSupportSydneySydney (SYD)TaiwanTake a new backupThe file was uploaded.ThemesThese tables onlyTokyoTwitterUnder MaintenanceUnited StatesUpdraftCentralUpdraftPlusUpdraftPlus BackupsUpdraftPlus NewsUpdraftPlus settingsUpdraftPlus warning:UpdraftVaultUpload backup filesUsernameVersionWarningWarning:WarningsWarnings:WebDAV URLWeeklyWestern EuropeWhy am I seeing this?WooCommerce pluginsWordPress BackupWordPress backup is completeWordPress databaseYesYour IP address:Your settings have been saved.already donearchiveauthentication failedbackcountdatabase namedownload: failed: file not founderror - failed to upload filefilefile is size:foldergo herehandles updates automatically as you want themherelogin failuremanages all your WordPress sites at once from one placepasswordpluginspress hererecommendedrefreshrestorationsettingsstoptablesthemesupload faileduserusernamewith the option ofPO-Revision-Date: 2024-01-01 14:54:13+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: et_EE Project-Id-Version: UpdraftPlus Loe rohkem(praegune versioon)Lae alla1 tund1 nädalLuba allalaadimineSul juba on salvestusruum?Võimalda WordPressil uuendada UpdraftPlus automaatselt, kui uuendus on saadavalAutomaatsed uuendusedTagasiTagasi...Varukoopia fail ei ole saadavalOle turvalineAlustatudBelgiaOstaTühistaChicago (ORD)SulgeKinnitaKinnita muudatusedKoostan...IgapäevaseltDallas (DFW) (vaikimisi)KustutaKustuta valitud varukoopiadKustuta need sättedKustutan...TühistaDropboxLihtnemeilSisesta andmebaasSisesta andmebaas.Sisesta paroolSisesta parool.Sisesta kasutajanimiSisesta kasutajanimi.VigaViga - faili allalaadmine ebaõnnestusViga - sellist faili ei eksisteeriVeateadeViga:VeadVead / hoiatusedVead:Euroopa (Frankfurt)Euroopa (Iirimaa)Euroopa (London)Euroopa (Pariis)Euroopa (Stockholm)Euroopa LiitIga tundVäline andmebaasKKKdFTP paroolFTP serverFacebookEbaõnnestusKiireFaili ei leitudFailidFailid ja andmebaasLeia rohkem siitLõpetaLõpetatudPaindlikKaustAbi saamiseks vajutage sellele lingileFrankfurtTasutaMineGoogle CloudGoogle DriveHTTP kood:Hong Kong (HKG)Kehtiva Preemium litsensiga tuleb 1GB salvestusruumi kaasa.PoolikJätkamiseks vajalik infoIowaJavaScript hoiatusLogi sisse või registreeru selle meiliaadressigaLondonLondon (LON)Mitu veebilehte?Puuduolevad lehed:IgakuineVeel Updraft Team loodud pluginaidRohkem infot siin.Veel pluginaidRohkem sätteidVajad salvestusruumi?UudisedJärgmineEiPõhja VirginiaPõhja-Virginia (IAD)Ei ole installeeritudMärkus:OlguOneDriveOneDrive SaksamaaOregonMuuPHP informatsioonParoolVale paroolLoo varukoopiaPluginadAlustamiseks vajuta siia!Jätka uuendusegaLoe rohkemLoe rohkemUsaldusväärneEemaldaTaasata failid asukohastSalvestaSalvesta muudatusedSäästa aegaSalvestan...TurvalineVali kõikSaadaSättedKuva kõik varukoopiadNäita rohkem varukoopiaidSingapurJäta see samm vaheleLõuna CarolinaTugiSydneySydney (SYD)TaiwanTee uus varukoopiaFail on üleslaetudTeemadAinult need tabelidTokyoTwitterHooldusesAmeerika ÜhendriigidUpdraftCentralUpdraftPlusUpdraftPlus varukoopiadUpdraftPlus UudisedUpdraftPlus sättedUpdraftPlus hoiatus:UpdraftVaultLae varukoopia failid ülesKasutajanimiVersioonHoiatusHoiatus:HoiatusedHoiatused:WebDAV URLIganädalaseltLääne-EuroopaMiks ma seda näen?WooCommerce pluginadWordPress varukoopiaWordPress backup on valmisWordPressi andmebaasJahSinu IP aadress:Sinu seaded on salvestatud.juba tehtudarhiivautentimine ebaõnnestustagasiarvandmebaasi nimiallalaadimine: ebaõnnestus: faili ei leitudViga - faili üleslaadimine nurjusfailfail on suurusega:kaustmine siiakäsitleb soovikorral uuendusi automaatselt siinSisselogimine ebaõnnestushaldab kõiki sinu WordPress lehti korraga ühes kohasparoolpluginadvajuta siiasoovituslikvärskendataastamineseadedpeatustabelidteemadüleslaadimine ebaõnnestuskasutajakasutajanimivalikugalanguages/updraftplus-ca.po000064400001123053147400355670012024 0ustar00# Translation of UpdraftPlus in Catalan # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2023-04-06 07:34:54+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: ca\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "arxiu %d de %d" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "Encara no s'ha obtingut la cadena d'accés des de Google - necessites autoritzar o re-autoritzar la teva connexió a Google Cloud" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "Signa amb %s" #: src/admin.php:3822 msgid "(after %ss)" msgstr "(després de %s)" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "següent reanudació: %d" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "Instal·lar connectors de depuració:" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "Antic ABSPATH:" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "" #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "" #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "" #: src/addons/azure.php:705 msgid "Azure Government" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "" #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "" #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "" #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "" #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "" #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "" #: src/admin.php:5720 msgid "authentication error" msgstr "" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "" #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "" #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "" msgstr[1] "" #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "" #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "" #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "" #: src/addons/azure.php:696 msgid "%s Container" msgstr "" #: src/addons/azure.php:694 msgid "%s Key" msgstr "" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "" msgstr[1] "" #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "" #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "" #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "" msgstr[1] "" #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "" #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "" #: src/methods/ftp.php:438 msgid "login" msgstr "" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "" #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "" #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "" #: src/admin.php:772 msgid "Extensions" msgstr "" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "" #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "" #: src/admin.php:1010 msgid "For backups older than" msgstr "" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "" #: src/admin.php:1007 msgid "day(s)" msgstr "" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "" #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "" #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "" #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "" #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "" #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "" #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "" #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "Per què estic veient això ?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "La ubicació d'aquest directori es troba en la configuració d'experts, a la pestanya Configuració." #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "Prem aquí per cercar nous conjunts de còpies de seguretat que s'han pujat al directori UpdraftPlus (dins l'espai del seu servidor web)." #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "Iniciar còpia de seguretat" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "S'està utilitzant el servidor web %s però no sembla tenir el mòdul %s carregat." #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "Consultar amb el proveïdor d'allotjament web com establir permisos d'escriptura dins del directori per un plugin de WordPress. " #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "Llevat que tinguis un problema, pots ignorar completament tot el que apareix aquí." #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "No s'ha pogut carregar aquest fitxer" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "Més informació sobre això en la secció Configuració." #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "Complements de còpia de seguretat suportats: %s." #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "Explica'm més coses sobre les còpies de seguretat incrementals." #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "Límit de memòria" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "Restauració" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "Incremental" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "Còpia de seguretat completa" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "Actualitzant ..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(veure registre ...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "Còpia de seguretat executada correctament" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "Cada %s hores" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "cercar i substituir" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Endavant" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "Una cerca/substitució no es pot desfer - Estàs segur que vols fer això?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "Això pot destruir el teu lloc web fàcilment; utilitza-ho amb compte!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "Substituir per" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "Cercar" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "Cercar / substituir base de dades" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "terme de cerca" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "Hi han hagut masses errors amb la base de dades - abortant" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "Llegir més a %s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "" #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "" #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "" #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "" #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "" #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "" #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "" #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "" #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "" #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "" #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "" #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "" #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "" #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "" #: src/admin.php:3803 msgid "Encrypted database" msgstr "" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "" #: src/admin.php:3780 msgid "Creating database backup" msgstr "" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "" #: src/admin.php:3706 msgid "Backup begun" msgstr "" #: src/restorer.php:1563 msgid "file" msgstr "" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "" #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "" #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "" #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "" #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "" #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "" #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "" #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "" #: src/restorer.php:2607 msgid "will restore as:" msgstr "" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "" #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "" #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "" #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "" #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "" #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "" #: src/restorer.php:842 msgid "Backup file not available." msgstr "" #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "" #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "" #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "" #: src/admin.php:4235 msgid "or, to reset this option" msgstr "" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "" #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "" #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "" #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "" #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "" #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "" #: src/admin.php:3877 msgid "show log" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "" #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "" #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "" #: src/admin.php:927 msgid "calculating..." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "" #: src/admin.php:3050 msgid "Current limit is:" msgstr "" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "" #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "" #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "" #: src/admin.php:3888 msgid "Remove old directories" msgstr "" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "" #: src/admin.php:2631 msgid "No local copy present." msgstr "" #: src/admin.php:2628 msgid "Download in progress" msgstr "" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "" #: src/admin.php:2598 msgid "Download failed" msgstr "" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "" #: src/admin.php:2335 msgid "Job deleted" msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "" #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "" #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "" #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "" #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "" #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr ""languages/updraftplus-sr_RS.mo000064400000001656147400355670012471 0ustar00   #+3<[ajbo! .=L`} DismissNot installedSave ChangesSaving...SettingsSupportVersionWarning:Your settings have been saved.loginsettingsstopPO-Revision-Date: 2021-04-05 14:31:33+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2); X-Generator: GlotPress/3.0.0 Language: sr_RS Project-Id-Version: UpdraftPlus OdbacitiNije instaliranСачувајте променеČuvanje...ПодешавањаПодршкаВерзијаУпозорење:Vaše postavke su sačuvane.Пријаваpodešavanjaзауставитиlanguages/updraftplus-af.mo000064400000000426147400355670012021 0ustar00$,,-PO-Revision-Date: +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: af_ZA Project-Id-Version: UpdraftPlus languages/updraftplus-fi.po000064400001162652147400355670012047 0ustar00# Translation of UpdraftPlus in Finnish # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2018-12-06 10:54:40+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: fi\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "" #: src/admin.php:3822 msgid "(after %ss)" msgstr "" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "" #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "" #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "" #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "" #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "" #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "" #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "" #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "" #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "" #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "" #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "" #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "" #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "" #: src/class-updraftplus.php:4033 msgid "View log" msgstr "" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "" #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "" #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "" #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "" #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "" #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "" #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "" #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "" #: src/admin.php:6151 msgid "more info" msgstr "" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "" #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "" #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "" #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "" #: src/admin.php:1148 msgid "is not" msgstr "" #: src/admin.php:1144 msgid "is" msgstr "" #: src/admin.php:1138 msgid "Day of the month" msgstr "" #: src/admin.php:1134 msgid "Day of the week" msgstr "" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "" #: src/admin.php:1120 msgid "on every backup" msgstr "" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "" #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "" #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "" #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "" #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "" #: src/admin.php:1013 msgid "Loading..." msgstr "" #: src/admin.php:969 msgid "Exit full-screen" msgstr "" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "" #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "" #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "" #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "" #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "" #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "" #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "" #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "" #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "" #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "" #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" msgstr[1] "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "" #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "" #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "" #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "" #: src/admin.php:6151 msgid "Clone package" msgstr "" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "" #: src/admin.php:6137 msgid "This current site" msgstr "" #: src/admin.php:6135 msgid "Clone:" msgstr "" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "" #: src/admin.php:5148 msgid "Cleaning" msgstr "" #: src/admin.php:5139 msgid "Verifying" msgstr "" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "" #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "" #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "" #: src/admin.php:1109 msgid "Missing pages:" msgstr "" #: src/admin.php:1108 msgid "Restore error:" msgstr "" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "" #: src/admin.php:1106 msgid "Preparing backup files" msgstr "" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "" #: src/admin.php:1104 msgid "Begun" msgstr "" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "" #: src/admin.php:1095 msgid "credentials" msgstr "" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "" #: src/admin.php:1086 msgid "File backup options" msgstr "" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "" #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "" #: src/admin.php:664 msgid "Dismiss notice" msgstr "" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "" #: src/admin.php:652 msgid "dismiss notice" msgstr "" #: src/admin.php:652 msgid "go here to learn more" msgstr "" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "" #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "" #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "" #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "" #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "" #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "" #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "" #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "" #: src/addons/azure.php:706 msgid "Azure China" msgstr "" #: src/admin.php:6121 msgid "Clone region:" msgstr "Kloonaus alus:" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "mene tänne" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "Jos olet jo uusinyt, sinun täytyy myöntää lisenssi tälle sivulle - %s" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "Todennus" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "Sinun täytyy valita ainakin yksi etäkohde varmuuskopioinnin lähettämiseksi." #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "Lue lisää Easy Updates Managerista" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "Voit löytää lisää kloonasavaimista täältä.." #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "Tai, käytä UpdraftClone avain" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "Löydetty SET NAMES %s, mutta WPDB::determine_charset() suosittelee sen vaihtamista %s." #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "UpdraftClone avain on pakollinen." #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "Datan kloonauksen aloitus on pysäytetty." #: src/addons/azure.php:705 msgid "Azure Government" msgstr "Azure-hallitus" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "Pyydä WordPressiä päivittämään UpdraftPlus automattisesti päivityksen ollessa saatavilla." #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "Automattiset päivitykset" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "Sinun tietokanta käyttäjälläsi ei ole oikeutta poistaa tauluja." #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "Pyydä WordPressiä päivittämään UpdraftPlus automaattisesti, kun päivitys on saatavilla" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "" #: src/addons/googlecloud.php:61 msgid "London" msgstr "" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "Kaikki tiedostot, jotka alkavat näillä merkeillä" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "" #: src/admin.php:4330 msgid "Exclude these from" msgstr "Poissulje nämä paikasta" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "" #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "" #: src/admin.php:6222 msgid "Dashboard:" msgstr "" #: src/admin.php:6221 msgid "Front page:" msgstr "Etusivu:" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "" #: src/includes/class-commands.php:1093 msgid "manage" msgstr "" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "" #: src/addons/migrator.php:541 msgid "Site key" msgstr "" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "Lue tämä artikkeli nähdäksesi miten se on tehty." #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "" #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "" #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "" #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "" #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "" #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "" #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "" #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "Lue lisää täältä." #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "" #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "" #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "" #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "" #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "" #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "" #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "" #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "Vanhoja varmuuskopioita ei löydetty." #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "Palvelimen RSA avain %s sormenjälki: %s." #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "RSA sormenjälki" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "" #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "" #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "" #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "" #: src/admin.php:4235 msgid "press here" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "" #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "" msgstr[1] "" #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "" #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "" #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "" #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "" #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "" #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "" #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "" #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "" #: src/admin.php:1059 msgid "Registration successful." msgstr "" #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "" #: src/admin.php:1057 msgid "Login successful." msgstr "" #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "Hylkää kaikki UpdraftPlus uutiset" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "" #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "" #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "" #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "" #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "" #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "" #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "" #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "" #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "" #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "(Ei yhtään konfiguroitu)" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "Varmista että olet kirjautunut sisään oikealle tilille ennen kuin jatkat." #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "Etätallennus menetelmä ja tapahtuma id vaaditaan todentamiseksi." #: src/admin.php:5720 msgid "authentication error" msgstr "todentamisvirhe" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "(Mitään ei ole vielä talletettu)" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "käytä alla olevaa hakua korvataksesi sivuston tietokannassa (siirtääksesi) olevan sivuston osoitteen." #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "Lisää toinen %s tili..." #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "Poista nämä asetukset" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "Tällä hetkellä estetty" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "Tällä hetkellä sallittu" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "Jos olet ostanut UpdraftPlus.Com:lta, niin seuraa tätä linkkiä niin pääset asennusohjeisiin (erityisesti osa 1)." #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "Käytät tällä hetkellä ilmaista versiota UpdraftPlus:sta." #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "Saat sen täältä" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "etäsivusto" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "Epäkelpo sangon (bucket) nimi" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "Pyydetty taulun keräys (%1$s) ei ole näkyvillä - muutetaan %2$s :ksi." msgstr[1] "Pyydettyjen taulujen keräys (%1$s) ei ole näkyvillä - muutetaan %2$s :ksi." #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "Valitsemasi korvaava tietojen keräys" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "Voit valita toisen soveltuvan tietojen keräyksen sen sijaan ja jatkaa palatusta (omalla vastuulla)." #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "Tietokanta palvelin missä WordPress sivusto on käynnissä ei tue tietojen keräystä (%s) käytettynä tietokannassa jota yrität tuoda." msgstr[1] "Tietokanta palvelin missä WordPress sivusto on käynnissä ei tue useita tietojen keräyksiä (%s) käytettynä tietokannassa jota yrität tuoda." #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "Vaihtoehdot tietokannan palauttamiseksi:" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "Tämä näyttää migraatiolta (varmuuskopio on sivustolta jolla on eri osoite/URL, %s)." #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "%s Etuliite" #: src/addons/azure.php:696 msgid "%s Container" msgstr "%s Säiliö" #: src/addons/azure.php:694 msgid "%s Key" msgstr "%s Avain" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "%s Tilin Nimi" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "Tiedostossasi .htaccess on vanha sivustoviite rivillä %s. Sinun tulee poistaa se manuaalisesti." msgstr[1] "Tiedostossasi .htaccess on vanhoja sivustoviitteitä riveillä %s. Sinun tulee poistaa ne manuaalisesti." #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "Haluttua taulukon merkistöä (%s) ei ole saatavilla - vaihdetaan %s :ksi." #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "Käytä näitä valitsemasi merkistön sijasta:" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "Voit valita toisen sopivan merkistön sen sijaan ja jatkaa palatusta omalla vastuulla." #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "Tietokantapalvelin jossa WordPress on käynnissä ei tue merkistöä (%s) jota yrität tuoda." msgstr[1] "Tietokantapalvelin jossa WordPress on käynnissä ei tue merkistöjä (%s) joita yrität tuoda." #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "Seuraava" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "" #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "" #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "" #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "" #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "Pilvi tiedostot" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "" #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "Ylimääräinen tietokanta" #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "" #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "" #: src/admin.php:1038 msgid "Loading log file" msgstr "Ladataan loki-tiedostoa" #: src/admin.php:1036 msgid "Search" msgstr "" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "" #: src/admin.php:944 msgid "Browse contents" msgstr "" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "Kaikki WordPress taulut varmuuskopioidaan." #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "" #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "" #: src/admin.php:1033 msgid "The available memory on the server." msgstr "" #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "" #: src/admin.php:1032 msgid "HTTP code:" msgstr "" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "Päivitä nyt" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "" #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "" #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "" #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "Eurooppa (Irlanti)" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "" #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "Esittelyssä UpdraftCentral" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "" #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "" #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "Kehittyneet etävarastoinnin asetukset" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "" #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "" #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "Vienti asetukset" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "%s epä-todennus" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "" #: src/admin.php:1031 msgid "remote files deleted" msgstr "" #: src/admin.php:1027 msgid "Complete" msgstr "" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "" #: src/admin.php:1024 msgid "This will import data from:" msgstr "" #: src/admin.php:1023 msgid "Importing..." msgstr "" #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "" #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "" #: src/admin.php:99 msgid "template not found" msgstr "" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "" #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "tai palauta manuaalisesti" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "" #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "" #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "" #: src/addons/webdav.php:437 msgid "Path" msgstr "" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "" #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "" #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "%s: lukematon tiedosto - voisi olla varmuuskopioimaton (tarkista tiedoston oikeudet ja omistajuus)" #: src/addons/migrator.php:563 msgid "Create key" msgstr "" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "" #: src/addons/migrator.php:559 msgid "recommended" msgstr "suositus" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "%s bittiä" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "Tämä johtuu joskus palomuurista - yritä kytkeä SSL pois päältä kehittyneistä asetuksista, ja yritä uudelleen." #: src/methods/ftp.php:438 msgid "login" msgstr "Kirjaudu sisään" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "" #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "" #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Asetukset on tallennettu." #: src/admin.php:4515 msgid "Total backup size:" msgstr "" #: src/admin.php:3878 msgid "stop" msgstr "pysäkki" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "Varmuuskopiointi on valmis" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "" #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "" #: src/admin.php:976 msgid "Saving..." msgstr "Tallentaa..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "Virhe: palvelin lähetti meille vastauksen, jota emme ymmärtäneet." #: src/admin.php:926 msgid "Fetching..." msgstr "" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "Latauksien URL:" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "" #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "" #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "" #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "" #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Piilota tämä huomautus." #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "" #: src/addons/multisite.php:691 msgid "Read more..." msgstr "" #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "" #: src/addons/multisite.php:677 msgid "All sites" msgstr "" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "Ominaisuus toi tietoja käyttäjälle" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "" #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "" #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "Lähetetään varmuuskopiotasi etävarastoon" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "" #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "" #: src/admin.php:5530 msgid "settings" msgstr "Asetukset" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "" #: src/admin.php:3293 msgid "Continue restoration" msgstr "" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "" #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "" #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "Olet valinnut varmuuskopioinnin, mutta yhtään tiedostoa ei ole valittu" #: src/admin.php:772 msgid "Extensions" msgstr "Laajennukset" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "" #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "" #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "" #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "" #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "Itäinen Yhdysvallat" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "Yhdysvallat" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "Standardi" #: src/addons/azure.php:700 msgid "container" msgstr "" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "" #: src/addons/azure.php:699 msgid "optional" msgstr "valinnainen" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "" #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "" #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "" #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "Luo Azure tunnukset Azure kehittäjäkonsolissa." #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "" #: src/backup.php:1901 msgid "the options table was not found" msgstr "" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Ei asennettu" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "" #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "" #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "" #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "" #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "" #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "" #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "Projekti ID" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "" #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "" #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "" #: src/admin.php:1012 msgid "Processing..." msgstr "Käsitellään..." #: src/admin.php:1010 msgid "For backups older than" msgstr "Varmuuskopioihin vanhempia kuin" #: src/admin.php:1009 msgid "week(s)" msgstr "" #: src/admin.php:1008 msgid "hour(s)" msgstr "tunti(a)" #: src/admin.php:1007 msgid "day(s)" msgstr "päivä(ä)" #: src/admin.php:1006 msgid "in the month" msgstr "" #: src/admin.php:1005 msgid "day" msgstr "" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "" #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "" #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "" #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "" #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "" #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "" #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "Merkitse tämä laatikko käyttääksesi Amazonin palvelin-salausta" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "" #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "" #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "" #: src/admin.php:982 msgid "Update quota count" msgstr "" #: src/admin.php:981 msgid "Counting..." msgstr "" #: src/admin.php:980 msgid "Disconnecting..." msgstr "" #: src/admin.php:978 msgid "Connecting..." msgstr "" #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "Suurenna kiintiötäsi" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "Tämänhetkinen käyttö:" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "Voit suurentaa kiintiötäsi täällä" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "" #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "" #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "Tilaukset voidaan peruuttaa koska tahansa." #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "" #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "" #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "" #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "" #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "" #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "" #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "Lähetä tämä varmuuskopio myös etävarastoon" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "" #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "" #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "" #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "" #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "" #: src/admin.php:991 msgid "key name" msgstr "" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "" #: src/admin.php:986 msgid "Creating..." msgstr "" #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "" #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "" #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "" #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "" #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "" #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "" #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "" #: src/includes/class-remote-send.php:580 msgid "key" msgstr "" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "" #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "" #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "" #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "" #: src/admin.php:983 msgid "Adding..." msgstr "" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "" #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "Mene tänne laittaaksesi salasanan uudelleen." #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "" #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "" #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "Jos OneDrive myöhemmin näyttää sinulle viestin \"unauthorized_client\", asiakas ID:si oli väärä täällä." #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "" #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "" #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "" #: src/methods/email.php:110 msgid "configure it here" msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "" #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "" #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "S3 ämpäri" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "Aasian ja Tyynenmeren alue (Singapore)" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "" #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "" #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "" #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "" #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "Tarvitset järjestelmänvalvojan salaisen avaimen" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "" #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "Yhtään varmuuskopiota ei ole vielä tehty" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "" #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "sivustosi ylläpitäjän osoitteeseen" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "Ruksaa ruutu ja saat perusraportin sähköpostitse" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "Käsin" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "Muut tiedostot/hakemistot palvelimella, jotka haluat varmuuskopioida" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "Automaattinen varmuuskopiointi ennen päivitystä" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "" #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "" #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "" #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "Tarkista, että olet ottanut salasanan talteen." #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "" #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "Järjestelmänvalvojan salasana asetettu." #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "" #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "" #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "Näytä loki" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "Varmuuskopioitu tieto (klikkaa ladataksesi)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "Päiväys" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "ja säilytä ajastettuja varmuuskopioita (kpl)" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "" #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "" #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "" #: src/backup.php:4389 msgid "check your log for more details." msgstr "" #: src/backup.php:4385 msgid "A zip error occurred" msgstr "" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "Tunnisteesi tälle varmuuskopiolle (valinnainen)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "Syötit sähköpostiosoitteen, jota UpdraftPlus.com ei tunnista." #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "Sähköpostiosoitteesi oli oikea, mutta UpdraftPlus.Com ei tunnistanut salasanaasi." #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "Sinun tulee antaa sekä sähköpostiosoite että salasana" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "Jos haluat palauttaa multisite-varmuuskopion, sinun tulisi ensin asettaa tämä WordPress-asennus multisite-verkostoksi." #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "jo tehty" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "hypätty yli (ei listassa)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "Etsi ja korvaa taulu:" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "Syötä lista pilkuilla erotettuna; muussa tapauksessa jätä tyhjäksi (kaikki taulut)." #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "Vain nämä taulut" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "Riviä per erä" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "Et ole vielä yhdistänyt UpdraftPlus.com-tiliisi." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "Sinun täytyy yhdistää saadaksesi käyttöön uudet UpdraftPlus-päivitykset." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "Tukipyynnöt, jotka liittyvät %s tulisi lähettää verkkosivustoasi isännöivälle taholle." #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "Tämä on merkittävästi tuoreempi kuin palvelin johon yrität palauttaa (versio %s)." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "UpdraftPlus löytyy myös sosiaalisesta mediasta!" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "Miksi näen tämän?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "Tämän hakemiston sijainnin voi asettaa edistyneissä asetuksissa, Asetukset-välilehdellä." #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "Valitse tämä tarkistaaksesi UpdraftPlus-hakemiston (kotisivutilassasi) mahdollisten uusien, ladattujen varmuuskopioiden varalta." #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "Aloita varmuuskopiointi" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "Käytät palvelinta %s, mutta näyttää siltä, ettei moduuli %s ole ladattuna." #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "Tarkista verkkosivustoasi isännöivältä taholta, miten asetat WordPressin lisäosalle kirjoitusoikeudet hakemistoon." #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "Ellei sinulla ole ongelmaa, voit jättää kaiken tässä mainutun huomiotta." #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "Tätä tiedostoa ei voitu ladata palvelimelle" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "Löydät lisätietoja Asetukset-osiosta." #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "Tuetut varmuuskopiointilisäosat: %s" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "Onko tämä varmuuskopio luotu toisella varmuuskopiointi-lisäosalla? Jos on, sinun tulee mahdollisesti nimetä se uudelleen sen tunnistamiseksi - seuraa tätä linkkiä." #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "Lisätietoja inkrementaalisesta varmuuskopioinnista" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "Muistirajoitus" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "palautus" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "Inkrementaalinen" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "Täysi varmuuskopiointi" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "jatketaan päivitysten suorittamista..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(näytä loki...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "Varmuuskopiointi onnistui" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "Joka %s. tunti" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "etsi ja korvaa" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Suorita" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "Etsi/korvaa -toimintoa ei voi kumota. Haluatko jatkaa?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "Tämä saattaa tuhota sivustosi. Käytä varoen!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "Korvaa:" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "Hae:" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "etsi / korvaa tietokanta" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "hakusana" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "Liian monta tietokantavirhettä - keskeytetään" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "lue lisää: %s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "Ilmaisella UpdraftPlus-lisäosalla luodut sähköpostiraportit sisältävät viimeisimmät UpdraftPlus.com -uutiset." #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "" #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "Et ole vielä tehnyt yhtään varmuuskopiota." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "Tietokannan varmuuskopiointi" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "Vapaata tilaa tilillä:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "" #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "Valitaksesi mitä varmuuskopioidaan, ajastaaksesi varmuuskopioinnin, varmuuskopioidaksesi etäsijaintiin tai pilvipalveluun (suositellaan) ja muut asetukset löydät \"Asetukset\"-välilehdeltä." #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "Luodaksesi varmuuskopion, valitse \"Varmuuskopioi nyt\"." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "Tervetuloa UpdraftPlussaan!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "" #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "Testaa yhteys..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "Varmuuskopioi ulkopuolinen tietokanta..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "Jos tietokanta sisältää muita tauluja, jotka eivät liity WordPress-sivustoon, aktivoi tämä varmuuskopioidaksesi ne." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "Varmuuskopioi WordPressiin liittymättömiä tauluja samassa tietokannassa kuin WordPress" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "" #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "" #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "" #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "" #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "" #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "Tietokantaan yhdistäminen epäonnistui" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "" #: src/addons/moredatabase.php:115 msgid "host" msgstr "" #: src/addons/moredatabase.php:113 msgid "user" msgstr "käyttäjä" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "Ulkoinen tietokanta (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "" #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "Varmuuskopioi muita tietokantoja" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "Voit purkaa tietokantavarmuuskopion salauksen käsin täällä." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "Sillä voit myös varmuuskopioida ulkoisia tietokantoja." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "Ethän halua sinua vakoiltavan? UpdraftPlus Premium voi salata tietokantasi varmuuskopion." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "käytä UpdraftPlus Premiumia" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "Vain WordPress tietokanta voidaan palauttaa; sinun pitää huolehtia ulkoisesta tietokannasta manuaalisesti." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "" #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "" #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "" #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "" #: src/methods/openstack2.php:257 msgid "Container" msgstr "" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "" #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "Onnistui:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "" #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "Tunnistaudu - %s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "Tilinomistajan nimi: %s" #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "" #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "Nimi: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "" #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "" #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "" #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "Tämä ominaisuus tarvitsee version %s tai %s myöhemmän" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "Etsi varmuuskopioita paikallisesta kansiosta" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "On testattu versioon %s asti." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "Asennettua UpdraftPlussan versiota ei ole testattu WordPress-versiosi (%s) kanssa." #: src/addons/sftp.php:646 msgid "password/key" msgstr "" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "" #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "" #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "" #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "Etsi varmuuskopioita etäsäilöstä" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Siirrä varmuuskopiotiedostoja palvelimelle" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "" #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "" #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "" #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "" #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "" #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "" #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "" #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "%s palautti odottomattoman HTTP vastauksen: %s" #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "" #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "" #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "Skannataan etä- ja paikallista varastoa varmuuskopioiden varalta..." #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "Kirjaa kaikki viestit syslogiin (vain palvelimen ylläpitäjä saattaa haluta tämän tiedon)" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "" #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "" #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "Valmiina noutaa tältä sivulta" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "" #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "" #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "" #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "" #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "" #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "" #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "" #: src/backup.php:1645 msgid "No database tables found" msgstr "" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "" #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "" #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "" #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "Järjestelmänvalvojan Käyttäjänimi" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "" #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "Sinun täytyy asettaa järjestelmänvalvojan käyttäjänimi" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "" #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "" #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "" #: src/admin.php:965 msgid "Create" msgstr "Luo" #: src/admin.php:925 msgid "Trying..." msgstr "" #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "" #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "" #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "Lisää toinen osoite..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "Syötä sähköpostiosoitteet, joihin raportti lähetetään varmuuskopioinnin valmistuttua." #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "" #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "Virheenkorjauksen tiedot" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "" #: src/addons/reporting.php:223 msgid "Errors" msgstr "" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "Varmuuskopio Reportti" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "" #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "" #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(versio: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "" #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "Varmuuskopioitu: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "" #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "Tietokanta (tiedostojen varmuuskopiointi ei ole valmis)" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "" #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "" #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "" #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "UpdraftPlus varoitus:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "Sinä pystyt siihen" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "Lisäosat sisältävä päivitys on saatavilla UpdraftPlussaan - napsauta tätä linkkiä hakeaksesi sen." #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "Päivitys on saatavilla UpdraftPlussaan - napsauta tätä linkkiä hakeaksesi sen." #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "Raportointi" #: src/admin.php:5927 msgid "Options (raw)" msgstr "" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "Lähetä raportti vain, jos ilmeni varoituksia/virheitä" #: src/restorer.php:3052 msgid "Content URL:" msgstr "" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "Sinun vapaa tilasi tililläsi on todella alhainen - enää %s Mb jäljellä" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "Hallitse lisäosia" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "" #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "" #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "" #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "" #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "" #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "Yhdistä UpdraftPlus.Com tilisi" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "" #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "" #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "" #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "" #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "Mene tänne yhdistääksesi." #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "" #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "" #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "Raahaa varmuuskopiointi tiedostot tänne" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "" #: src/restorer.php:3046 msgid "Site home:" msgstr "" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "Etäsäilön asetukset" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "" #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "Muista tämä valinta seuraavalla kerralla (sinulla säilyy edelleen mahdollisuus muuttaa sitä)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "" #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "Lue lisää siitä, miten tämä toimii..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "" #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "Käytä SCP:tä SFTP:n sijaan" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "" #: src/admin.php:1017 msgid "%s settings test result:" msgstr "%s asetuksien testaamisen lopputulos:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "" #: src/admin.php:3843 msgid "Job ID: %s" msgstr "" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "viimeisin aktiviteetti: %ss sitten" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "" #: src/admin.php:3756 msgid "Backup finished" msgstr "" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "Karsitaan vanhoja varmuuskopio-settejä" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "Lähetetään tiedostoja etäsäilöön" #: src/admin.php:3803 msgid "Encrypted database" msgstr "Suojattu tietokanta" #: src/admin.php:3795 msgid "Encrypting database" msgstr "" #: src/admin.php:3769 msgid "Created database backup" msgstr "" #: src/admin.php:3782 msgid "table: %s" msgstr "taulu: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "Luodaan tietokannan varmuuskopiota" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "Luodaan tiedostojen varmuuskopioita (zip)" #: src/admin.php:3706 msgid "Backup begun" msgstr "Varmuuskopiointi aloitettu" #: src/restorer.php:1563 msgid "file" msgstr "tiedosto" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "" #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "Varmuuskopiota tehdään UpdraftPlussan avulla..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:431 msgid "themes" msgstr "" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "" #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "" #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Varmuuskopioi lisäosat, teemat ja WordPressin tietokanta automaattisesti (tarpeellisilta osin) UpdraftPlussan avulla ennen päivittämistä" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "" #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "Zip -tiedostoa (%s) ei voitu avata - ei voitu skannata sen sisältöä" #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "Lisää liitännäisiä" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Tuki" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "" #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "Automaattinen varmuuskopiointi tuo turvaa" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "Jos voit vielä lukea näitä sanoja sivun lataamisen jälkeen, sivullasi on JavaScript tai jQuery virhe." #: src/admin.php:960 msgid "The file was uploaded." msgstr "" #: src/admin.php:959 msgid "Unknown server response status:" msgstr "" #: src/admin.php:958 msgid "Unknown server response:" msgstr "Tuntematon palvelinvastaus:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "" #: src/admin.php:955 msgid "Upload error" msgstr "" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "" #: src/admin.php:943 msgid "Download to your computer" msgstr "Lataa tietokoneellesi" #: src/admin.php:942 msgid "Delete from your web server" msgstr "" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "" #: src/admin.php:932 msgid "Warnings:" msgstr "" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "" #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "" #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "" #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "Zip-tiedostoa (%s) ei voitu avata - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "" #: src/restorer.php:635 msgid "Final checks" msgstr "" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "" #: src/admin.php:949 msgid "Raw backup history" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "" #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "" #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "" #: src/restorer.php:1835 msgid "Files found:" msgstr "Tiedostoja löytetty:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "" #: src/restorer.php:539 msgid "file is size:" msgstr "tiedoston koko:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "" #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "" #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "" #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "" #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "" #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "" #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "" #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "" #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "" #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "" #: src/addons/migrator.php:398 msgid "New site:" msgstr "" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "" #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "%s virhe oli:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "" #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Varoitus:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "" #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Sulje" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "" #: src/admin.php:947 msgid "PHP information" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "Uutiset" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "Testataan %s asetuksia..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "" #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "Polku" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "" #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "Aikaa käytetty (sekunteina):" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "Rivejä tarkistettu:" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "Virhe: odottamaton tyhjä parametri (%s, %s)" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "" #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "" #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "seuraavan kerran" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "" #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "" #: src/addons/sftp.php:638 msgid "host name" msgstr "" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "" #: src/addons/sftp.php:615 msgid "Directory path" msgstr "" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Salasana" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "Tarkista tiedosto-oikeutesi: Ei voitu luoda ja asettaa:" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "Ole huolellinen mitä valitset - jos valitset \"/\", se yrittää oikeasti luoda zip-tiedostoa, josta löytyy koko sivusi." #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "Ellet ole varma mihin tätä käytetään, sinun ei kannata kytkeä tätä päälle." #: src/addons/morefiles.php:294 msgid "More Files" msgstr "" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "WordPressin ydin (sisältäen mitkä tahansa lisäykset WordPressin juurihakemistoon)" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "Yllämainitut tiedostot kattavat koko WordPress-asennuksen." #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "WordPress Ydin" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "" #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Epäonnistui" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "" #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "" #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "" #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "%s -tilisi nimi: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "olet tunnistautunut %s -tilillesi" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "" #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "" #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "" #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "" #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "" #: src/methods/s3.php:1370 msgid "API secret" msgstr "API salainen" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "%s salainen avain" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "" #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "" #: src/methods/email.php:106 msgid "Note:" msgstr "Huomaa:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "WordPress Varmuuskopio" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "" #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "" #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Käyttäjätunnus" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "API avain" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "" #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "UK" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "Tutustu lisäksi tähän tärkeään FAQ-osioon." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "Testaa %s -asetukset" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "Virhe avattaessa paikallista tiedostoa: lataus epäonnistui" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "Virhe %s: lataaminen palvelimelle epäonnistui" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "Virhe %s: paikallisen tiedoston avaaminen epäonnistui" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "" #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "Asiakas tunnus" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "" #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "Tiliin pääsy estetty." #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "Kohteeseen %s lataaminen epäonnistui" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "Tili täynnä: tililläsi %s on enää %d tavua vapaana, vaikka sonne ladattavan tiedoston koko on %d tavua" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "Et ole vielä saanut pääsyyn tarvittavaa tunnussanomaa Googlelta - sinun täytyy (uudelleen)auktorisoida yhteytesi Google Driveen." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "olet tunnistautunut %s -tilillesi." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "Onnistui" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "%s -kiintiön käyttö: %s %% käytetty, %s vapaana" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "seuraa tätä linkkiä" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "%s -tuki on saatavilla lisäosana" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "UpdraftPlus-lisäosaa %s ei ole asennettu - saat sen täältä: %s" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "Sinun täytyy tunnistautua uudelleen palveluun %s, olemassaolevat tunnistautumistiedot eivät toimi." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "OK" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "Taulun etuliite on vaihtunut: vaihdetaan taulun %s kentät sen mukaisesti:" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "suoritettava tietokantakysely:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "palautetaan:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "Vanha taulun etuliite:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "Varmuuskopio kohteesta:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "Tietokantatiedostoa ei voitu avata" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "Tietokantatiedostoa ei löytynyt" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "Tietokannan (salaus purettu) kirjoittaminen tiedostojärjestelmään epäonnistui " #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "Tilapäisen hakemiston luonti epäonnistui" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "Työhakemiston poistaminen palauttamisen jälkeen epäonnistui." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "Siivotaan roskaa..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "Palautetaan tietokantaa (suurien sivustojen kohdalla tämä saatta kestää kauan. Mikäli aikakatkaisu ilmenee - etenkin jos verkkosivustoasi isännöivä taho on rajoittanut käytössäsi olevia resursseja - tulisi käyttää muita menetelmiä kuten phpMyAdmin)..." #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "Tietokannan salaus purettiin onnistuneesti." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "Puretaan tietokannan salausta (saattaa kestää hetken)..." #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "Puretaan varmuuskopiota..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "Tämän kokonaisuuden kopiointi epäonnistui." #: src/restorer.php:842 msgid "Backup file not available." msgstr "Varmuuskopiotiedosto ei ole saatavilla." #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "" #: src/restorer.php:725 msgid "Error message" msgstr "Virheilmoitus" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "Varmuuskopion tietoihin ei sisälly tämän tiedoston oikeaa kokoa. " #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "Arkiston ennakoitu koko:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "Jos luot tukipynnön, sisällytä tämä tieto:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "Keskeytys: Ei tietoa, mitkä osiot tulisi palauttaa." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "UpdraftPlus-palautus: edistyminen" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "Painettuasi tätä voit valita, mitkä komponentit haluat palauttaa" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "Poista tämä varmuuskopio" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Tallenna muutokset" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "Poista SSL käytöstä kokonaan, missä mahdollista" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "Huomaa, etteivät kaikki pilvipalveluun perustuvat varmuuskopiointimenetelmät välttämättä käytä SSL-tunnistautumista." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "Älä varmista SSL-sertifikaatteja" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "Käytä palvelimen SSL-sertifikaatteja" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "Jos toimenpide epäonnistuu, tarkista oikeudet palvelimella tai vaihda hakemistoon, jonne palvelimen prosessilla on oikeudet kirjoittaa." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "tai palauta valinta oletuksiin" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "Seuraa tätä linkkiä yrittääksesi luoda hakemiston ja asettaaksi oikeudet" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "Määritettyyn varmuuskopiohakemistoon voidaan kirjoittaa. Hyvä." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "Varmuuskopiohakemisto" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "Poista paikallinen varmuuskopio" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "Näytä edistyneet asetukset" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "Edistyneet asetukset" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Vianselvitystila" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "Edistyneet asetukset / vianselvitysasetukset" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "Aloitetaan varmuuskopiointi..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Kumoa" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Ei mitään" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "Valitse etäsäilö" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "Pura tietokantavarmuuskopion salaus käsin" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "Tietokannan salauslauseke" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "Sähköposti" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "Ylläolevat hakemistot sisältävät kaiken, poislukien WordPressin ydin, jonka voit ladata WordPress.org -sivustolta. " #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "Älä sisällytä näitä:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "Muut hakemistot wp-content -hakemiston alla" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "Sisällytä tiedostovarmuuskopioon" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "esim. mikäli palvelin on kuormitettuna päivällä ja haluat suorittaa yöaikaan" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "Asettaaksesi ajan, milloin varmuuskopiointi suoritetaan," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Kuukausittain" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "Joka toinen viikko" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Viikottain" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Päivittäin" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "Lataa lokitiedosto" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "Hakemisto on olemassa, mutta palvelimella ei ole oikeuksia kirjoittaa sinne." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "Pyyntö luoda hakemisto epäonnistui." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Poista" #: src/admin.php:3877 msgid "show log" msgstr "näytä loki" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "Kaikki UpdraftPlus-asetukset tyhjennetään - oletko varma?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "" #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Tiedostojen viemä (pakkaamaton) levytila yhteensä:" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Ei" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Kyllä" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "%s versio:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "Nykyinen muistinkulutus" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "Muistinkulutuksen huippu" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "Palvelin:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "Tarvitsetko WordPress Multisite -tukea?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Multisite (Verkosto)" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "Tutustu tähän artikkeliin asioista, jotka on hyödyllistä tietää ennen palauttamista." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "%s palauttamisvalinnat:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "Se täytyy palauttaa käsin." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "Tätä osaa ei voida paluttaa automaattisesti: \"%s\"." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "Palvelimellasi on PHP:n niinkutsuttu \"safe_mode\" aktiivisena." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Valitse palautettavat komponentit" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "Palauttaminen korvaa tämän sivuston teemat, lisäosat, ladatut tiedostot, tietokannan ja/tai muun sisällön (riippuen valinnoistasi ja siitä, mitä varmuuskopio sisältää)." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Palauta varmuuskopio" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "Poista varmuuskopio" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "Latausvirhe: palvelin lähetti vasteen jota ei voitu ymmärtää." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Virhe:" #: src/admin.php:927 msgid "calculating..." msgstr "lasketaan..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - lataa varmuuskopiotiedostoja palvelimelle" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "päivitä" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "UpdraftPlussan käyttämä levytila palvelimella" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "Updraft-hakemiston yhteenlaskettu sisältö" #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Drive" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "Jos käytät tätä, kytke Turbo/Road -tila pois päältä." #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Opera-selain" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "Lisää toimintoja:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "Lataa viimeisin lokitiedosto" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Viimeisin lokiviesti" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Palauta" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "Varmuuskopioi nyt" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "Kellonaika nyt" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Tietokanta" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Tiedostot" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "Seuraavaksi ajastetut varmuuskopiot" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "Samaan aikaan tiedostojen varmuuskopioinnin kanssa" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "Ei ajastuksia tällä hetkellä" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "JavaScript-varoitus" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Poista vanhat hakemistot" #: src/admin.php:3050 msgid "Current limit is:" msgstr "Nykyinen rajoitus on:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "Varmuuskopio on palautettu." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Versio" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "Johtavan kehittäjän kotisivu" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Asetukset on poistettu." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "Varmuuskopiohakemisto luotu." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "Varmuuskopiohakemistoa ei voitu luoda" #: src/admin.php:3888 msgid "Remove old directories" msgstr "Poista vanhat hakemistot" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Palaa UpdraftPlus-asetuksiin" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Toiminnot" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "Epäkelpo tiedostonimi - tämä ei vaikuta UpdraftPlus-lisäosalla luodulta, salatulta tietokannalta" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Epäkelpo tiedostonimi - tämä ei vaikuta UpdraftPlus-lisäosalla luodulta tiedostolta" #: src/admin.php:2631 msgid "No local copy present." msgstr "Ei paikallista kopiota." #: src/admin.php:2628 msgid "Download in progress" msgstr "Lataaminen käynnissä" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "Tiedosto valmis." #: src/admin.php:2598 msgid "Download failed" msgstr "Lataaminen epäonnistui" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Virhe" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "Tehtävää ei löydy - se on mahdollisesti jo valmis?" #: src/admin.php:2335 msgid "Job deleted" msgstr "Tehtävä poistettu" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Ei vielä mitään lokissa" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Tutustu tähän FAQ-osioon, mikäli sinulla on ongelmia varmuuskopioinnin kanssa." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "Sivustosi on isännöitynä %s palvelimella." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Varoitus" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Asetukset" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Päättymätön rekursio: tarkista logi" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Tiedostoa ei löydy" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "Käytetty salauksenpurkuavain:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "Ei voitu avata varmuuskopioita kirjoittamista varten" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "Ei voitu lukea hakemistosta" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "Varmuuskopiohakemistoon (%s) ei voi kirjoittaa tai sitä ei ole " #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "WordPressin varmuuskopiointi on valmis" #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "Varmuuskopiointiyritys päättyi, ilmeisesti epäonnistuneesti" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Muut" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Ladatut tiedostot" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Teemat" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Lisäosat" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "Lokitiedostoja ei löytynyt." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "Lokitiedostoa ei voitu lukea." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "UpdraftPlus-huomautus:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "UpdraftPlus-varmuuskopiot"languages/updraftplus-he_IL.mo000064400000051370147400355670012417 0ustar00   =N,g/AW m{E3Y781qB6 1>A O9! [e)k 3#(,AnL(BJPcOw# )H,u:,  $6?9F%~Z%c* @\Wb%!9`MKJ|+WK   $    ).1K P/^%;'CK_q! P +3I _ lv B  6 > c 6X!(!I!" "P7""8"9"&#P)#Pz#1##L$LR$$$$$!$! %B%R% & *& 8&!F&h&p&&&7&&& && '''-'>'OB''k'4(GQ((v(/)H)L)S) X)f)m)u))))) )))) ))* ***+*3*/+ D+R+0k+++6+,<,KY,],----Q-=P. .P.S.@/Y/v//LB00$0>0T1\1 v12111r1XW222*2 2)3"-3CP3*3+3@32,4_4h4-|4 44 4^485U5 d5"q5 5X526 A6 L6X6.g6M66M6 M7[73l77 7 777[87_88y/9|9<&:c:ex: :q:"[;+~;;;+;+;"<><<lp==$>&>i>A?Y? m?x?F?? ??@ @@+$@P@W@Ig@ @@#@ @ @6@?6AGvA AAA$A+"B NBj[B"B B B C"%CHC bC'nC CC CCC_C5D(SD |DDE7EF/}FlF4GOGfG GRGZKH3H^He9IVI IJJ BK1PK"K-K'K'K#LLJM`MwM+M M$MMMVN [N iNuNN N N)NNNFN$DOiO\ObMPPP}QQ QQQ Q QQ+Q R *R7R JRUR ^RiRR R R RRRR%s (%s used)%s Error%s authentication failed%s error - failed to upload file%s login failure%s settings test result:%s: unreadable file - could not be backed up(Not finished)(apparently a pre-release or withdrawn release)(logs can be found in the UpdraftPlus settings page as normal)...(make sure that you were trying to upload a zip file previously created by UpdraftPlus)(version: %s)... and many more!Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...).A search/replace cannot be undone - are you sure you want to do this?A very large file was encountered: %s (size: %s Mb)ActionsAn error occurred when trying to retrieve your add-ons.An error occurred whilst closing the final database fileAssigned to this siteAuthenticate with %sAutomatic BackupAutomatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable for this site (via your all-addons purchase)Backup begunBackup created by: %s.Backup directory specified does not exist.Backup directory specified exists, but is not writable.Backup finishedBackup is of: %s.Be safe with an automatic backupBuy ItCancelCheck your file permissions: Could not successfully create and enter directory:Claim not granted - your account login details were wrongClient IDCloseConnect with your UpdraftPlus.Com accountConstantsCreated database backupCreated file backup zipsCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backupCreating database backup with UpdraftPlus...Creating file backup zipsDailyDatabaseDatabase (created by %s)DeleteDelete from your web serverDismissDo not abort after pressing Proceed below - wait for the backup to complete.Download to your computerDropboxEmailEncrypted databaseEncrypting databaseEnter details for where this new site is to live within your multisite install:Enter in format HH:MM (e.g. 14:22).ErrorError:Error: %sError: the server sent an empty response.Error: the server sent us a response (JSON) which we did not understand.Errors have occurred:Errors occurred when trying to connect to UpdraftPlus.Com:Errors:Every %s hoursExamples of S3-compatible storage providers:Exclude these:ExtensionsExternal databaseFacebookFailedFailed to access %s when deleting (see log file for more)Failed to open the zip file (%s) - %sFailed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location.Failed: We were able to log in, but failed to successfully create a file in that location.File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.File not found (you need to upload it): %sFile ready.File was found, but is zero-sized (you need to re-upload it): %sFilesFollow this link to attempt decryption and download the database file to your computer.Forgotten your details?Get it from the UpdraftPlus.Com StoreGoGo hereGo here for more information.Go here to activate it.Go here to connect.If you are not sure then you should stop; otherwise you may destroy this WordPress installation.If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes.If you bought new add-ons, then follow this link to refresh your connectionIf you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.Include in files backupInformation needed to continue:Interested in knowing about your UpdraftPlus.Com password security? Read about it here.Job ID: %sManage AddonsMonthlyMore pluginsMoving unpacked backup into place...MultisiteName: %s.Need to get support?New site:NewsNoNo such backup set existsNoneNot installedNot yet got an account (it's free)? Go get one!Note:OKOld table prefix:OthersPasswordPlease check your access credentials.Please supply the requested information, and then continue.Please wait whilst we make the claim...PluginsProceed with updateProcessed plugin:Pruning old backup setsRead more about how this works...Region: %sRemember this choice for next time (you will still have the chance to change it)Remote Storage OptionsReplace withRestoreSCP/SFTP host settingSCP/SFTP user settingSave ChangesSaving...Search / replace databaseSearch forSendSettingsSiteSite information:Some files are still downloading or being processed - please wait.Split archives every:Starting automatic backup...SupportThe amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)The attempt to send the backup via email failed (probably the backup was too large for this method)The backup has not finished; a resumption is scheduledThe communication with %s was encrypted.The database is too small to be a valid WordPress database (size: %s Kb).The error reported by %s was:The file was uploaded.The time zone used is that from your WordPress settings, in Settings -> General.ThemesThis can easily destroy your site; so, use it with care!This database backup is missing core WordPress tables: %sThis decryption key will be attempted:This does not look like a valid WordPress core backup - the file %s was missing.This multi-archive backup set appears to have the following archives missing: %sToo many database errors have occurred - abortingTwitterUnable to open zip file (%s) - could not pre-scan it to check its integrity.Unable to read zip file (%s) - could not pre-scan it to check its integrity.UnknownUnknown server response status:Unknown server response:UpdraftPlus Automatic BackupsUpdraftPlus is not yet activated.UpdraftPlus is not yet installed.UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)UpdraftPlus was unable to find the table prefix when scanning the database backup.Upload errorUpload error:Upload failedUploading files to remote storageUploadsUse SCP instead of SFTPUsernameVersionWaiting until scheduled time to retry because of errorsWarningWarning:Warning: %sWarnings encountered:Warnings:WeeklyWelcome to UpdraftPlus!WordPress BackupYesYou are presently not connected to an UpdraftPlus.Com account.You have an inactive purchaseYou have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons.Your free disk space is very low - only %s Mb remainYour free space in your hosting account is very low - only %s Mb remainYour settings have been saved.Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:activate it on this sitedayday(s)filefile is size:folderhour(s)i.e. Non-automaticManuallast activity: %ss agologinpluginsread more at %srecommendedrefreshresetsearch and replacesearch termsettingsstoptable: %sthemesunknown sourceweek(s)PO-Revision-Date: 2017-01-31 17:21:31+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: he_IL Project-Id-Version: UpdraftPlus %s (%s בשימוש)שגיאת %sשגיאת אימות %sשגיאת %s - נכשל בהעלאת הקובץ%s כניסה נכשלה%s בדיקת הגדרות:%s קובץ לא קריא - לא ניתן לגיבוי(לא הסתיים)(ככל הנראה קדם הפצה או שחרור נסוג)(הלוג נמצא בעמוד ההגדרות של UpdraftPlus כנורמל)(בדוק שאתה מנסה לעלות קובץ זיפ שנוצר בעבר ע"י UpdraftPlus)(גרסה: %s)ורבים נוספים...אל תניח אותו בתוך ספריית הקבצים שלך או ספריית התוספים, כי זה גורם לרקורסיה (גיבויים של גיבויים של גיבויים של ...).פעולת ההחלפה אינה ניתנת לביטול. האם אתה בטוח?נמצא קובץ גדול מאוד: %s (גודל: %s מ''ב)פעולותאירעה שגיאה בעת ניסיון לאחזר את ההרחבות שלך.שגיאה ארעה בזמן סגירת קובץ בסיס הנתונים הסופימוקצה לאתר זהאימות באמצעות %sגיבוי אוטומטיגיבוי תוספים, ערכות נושא ומסדי הנתונים של וורדפרס באופן אוטומטי (במידת צורך) עם UpdraftPlus לפני העדכוןזמין עבור אתר זה (דרך רכישת כל ההרחבות שלך)הגיבוי החלגיבוי נוצר על ידי: %s.תקיית גיבוי מתאימה אינה קיימת.תקיית הגיבוי קיימת, אך היא לא ניתנת לכתיבה.הגיבוי הסתייםהגיבוי עומד על: %s. להיות בטוח עם גיבוי אוטומטירכוש את זהבטלבדוק את הרשאות הכתיבה שלך: לא הצלחנו ליצור ולהכס לתקייה בהצלחה:טענה לא אושרה - פרטי הכניסה לחשבון שלך היו שגוייםמספר לקוחסגורהתחבר עם חשבון UpdraftPlus.Comקבועיםגיבוי מסד הנתונים נוצרגיבוי קבצים שנוצרו%s יצירת גיבוי מסד הנתונים עם UpdraftPlus ...יצירת גיבוי עם UpdraftPlus ...יוצר גיבוי למסד הנתוניםיצירת גיבוי מסד הנתונים עם UpdraftPlus ...יוצר את קבצי הארכיון לגיבוייומימסד נתוניםמסד נתונים (נוצר על ידי %s)מחיקהמחק מהשרת שלךהתעלםלא לבטל לאחר לחיצת המשך להלן - המתן עד שהגיבוי יושלם.הורדה למחשב שלךדרפבוקסאימיילמסד הנתונים המוצפןהצפנת מסד הנתוניםהזן את הפרטים של האתר החדש בתוך התקנת ה-multisite שלך:הכנס בפורמט HH:MM (לדוגמא: 14:22).שגיאהשגיאה:שגיאה: %sשיאה: השרת שלח תשובה ריקה.שגיאה: השרת שלח תשובה (JSON) שלא יכולנו לפענח.שגיאות התרחשו:אירעו שגיאות בעת ניסיון להתחבר ל UpdraftPlus.Com :שגיאות:כל %s שעותדוגמא של S3-ספקי אחסון תואמיםלא לכלול את אלה:הרחבותמסד נתונים חיצוניפייסבוקנכשלנכשל ניסיון לגשת %s בעת המחיקה (ראה קובץ יומן ליותר)נכשל בפתיחת קובץ הארכיון (%s) - %sשגיאה: נכנסנו בהצלחה לספרייה המבוקשת, אך לא הצלחנו ליצור קובץ במיקום המבוקש בהצלחה.שגיאה: הצלחנו להתחבר, אך לא הצלחנו ליצור קובץ במיקום המבוקש בהצלחה.הקובץ (%s) נמצא, אבל גודלו שונה (%s) ממה שהיה צפוי (%s) - זה עשוי להיות פגום.קובץ לא נמצא (צריך להעלות אותו): %sהקובץ מוכן.הקובץ נמצא, אך גודל הקובץ הינו 0 (עליך להעלות אותו מחדש):%sקבציםבקישור זה תוכלו להוריד ולנסות לפענח את קובץ מסד הנתונים למחשב.שכחת את הפרטים שלך?קבל את זה בחנות UpdraftPlus.Comבצעעבור לכאןלחץ כאן לקבלת מידע נוסף.לחץ כאן כדי להפעיל אותו.לחץ כאן כדי להתחבר.אם אתה לא בטוח, אז אתם צריכים להפסיק, אחרת אתה עלול להרוס את התקנת וורדפרס .אם הנך רואה יותר גיבויים (גיבויים ישנים) משציפית, זה כנראה בגלל שעדיין לא בוצע גיבוי עדכני מלא.אם רכשת הרחבות חדשות, הכנס לקישור זה כדי לרענן את החיבור שלךאם אתה עדיין יכול לקרוא את המילים האלה אחרי שמסתיים טעינת הדף, אז ישנה בעיה עם JavaScript או jQuery באתר.לכלול בגיבוי הקבציםמידע דרוש כדי להמשיך:מעוניין לדעת על אבטחת הסיסמא שלך ב UpdraftPlus.Com ? קרא על זה כאן.מזהה משימה: %sנהל הרחבותחודשיעוד תוספיםהעברת קבצי הגיבוי (לא מכווצים) למקומם...רשת אתריםשם: %s.צריך תמיכה ?אתר חדש:חדשותלאלא קיימת סדקת גיבוי כזו ללאלא מותקןעדיין אין לך חשבון (זה בחינם) ? צור חשבון !שים לב:אשרקידומת הטבלה הישנה:אחריםסיסמהאנא בדוק את הרשאות הכניסה שלך.אנא ספק את המידע הדרוש, ורק אז המשך.אנא המתן בזמן שאנחנו מעבירים את הטענה...תוספיםממשיך עם העדכוןתוסף מעובד:דילול גיבויים ישניםקרא עוד על איך זה עובד ...אזור: %sזכור אפשרות זו בפעם הבאה (עדיין תהיה לך האפשרות לשנות אותה)אופציה אחסון מרחוקהחלף עםשיחזורהגדרות מארח SCP / SFTPהגדרות משתמש SCP / SFTPשמירת שינוייםשומר...חפש / החלף בסיס נתוניםחפש אתשלחהגדרותאתרמידע על האתר:ישנם קבצים שנמצאים עדיין בטעינה או המתנה - אנא המתן...פיצול ארכיון כל:מתחיל גיבוי אוטומטי ...תמיכהכמות הזיכרון (RAM) המותר עבור PHP הוא נמוך מאוד (%s Mb) - הנך צריך להגדיל את כמות הזיכרון כדי למנוע כשלים בגלל חוסר זיכרון (התייעץ עם חברת האירוח שלך לקבלת עזרה נוספת)הניסיון לשלוח את הגיבוי באמצעות דואר אלקטרוני נכשל (כנראה הגיבוי היה גדול מדי לשיטה זו)הגיבוי לא הסתיים; חידוש מתוזמןהתקשורת עם %s הייתה מוצפנת.מסד הנתונים הוא קטן מדי כדי להיות אתר וורדפרס תקף (גודל: %s KB).השגיאה שדווחה על ידי %s הייתה:הקובץ הועלה.אזור הזמן בשימוש הוא על פי ההגדרות של וורדפרס, לשינוי כנס ל-הגדרות -> כללי.תבניותפעולה זו עלולה להרוס את האתר שלך. נהג בזהירות!לגיבוי מסד נתונים זה חסר טבלאות ליבה של וורדפרס: %sבמפתח פענוח זה יתבצע ניסיון:זה לא נראה כמו גיבוי תקין של וורדפרס - קובץ %s היה חסר.ארכיון גיבוי מרובה זה מראה על חוסר של הארכיונים הבאים: %sיותר מדי טעויות בסיס נתונים התרחשו - מבטל פעולה.טוויטראין אפשרות לפתוח את קובץ הארכיון (%s) - אין אפשרות לבצע סריקה מקדימה כדי לבדוק את תקינותו. אין אפשרות לקרוא את קובץ הארכיון (%s) - אין אפשרות לבצע סריקה מקדימה כדי לבדוק את תקינותו.לא ידועסטטוס תגובת שרת אינה ידועה:תגובת שרת לא ידועה:UpdraftPlus גיבויים אוטומטייםUpdraftPlus עדיין לא הופעל.UpdraftPlus עדיין לא הותקן.UpdraftPlus ניסתה ליצור %s בספרייה התוכן שלך, אך נכשלה - נא לבדוק את הרשאות הקובץ ולאפשר גישה (%s)UpdraftPlus לא היה אפשרות לאתר את הקידומת טבלה בעת סריקת מסד הנתונים של הגיבוי.שגיאת העלאהשגיאת העלאה:העלאה נכשלהמעלה קבצים לאחסון מרוחקהעלאותהשתמש ב SCP במקום ב SFTPשם משתמשגרסהמחכה עד המועד המתוזמן כדי לנסות שנית עקב שגיאותאזהרה!!!אזהרה:התראה: %sהתראות נמצאו:אזהרה:שבועיברוכים הבאים אל UpdraftPlus!גיבוי וורדפרסכןאתה לא מחובר לחשבון UpdraftPlus.Com .יש לך רכישה לא פעילהאתה עדיין לא מחובר עם חשבון UpdraftPlus.Com שלך, כדי לאפשר את רשימת התוספות שרכשת.נפח הדיסק הפנוי שלך מאוד קטן - רק %s מ''ג נותרו פנוייםהשטח הפנוי בחשבון האירוח שלך הוא נמוך מאוד - רק Mb%s נשארהגדרותיך נשמרו.אתר האינטרנט שלך מבקר לעתים רחוקות לכן UpdraftPlus אינו מקבל את המשאבים שהוא קיווה, אנא קרא את הדף הבא:הפעל אותה באתר זהיוםיום(ים)קובץגודל הקובץ: תיקייהשעה(ות)ידניהפעילות האחרונה: לפני %ssהתחברתוספיםקרא עוד ב%sמומלץרענןאיפוסחיפוש והחלפהביטוי חיפושהגדרותלהפסיקטבלה: %sערכות נושאמקור לא ידועשבוע(ות)languages/updraftplus-ca.mo000064400000007250147400355670012020 0ustar00%Dll m yE z w   9F `k {&R8X1xEMBT $2"Fi y J* 9 G d m % ! 4 C  !    1. A` d F $N :s S  R 9s .=Vg x(after %ss)(view log...)A search/replace cannot be undone - are you sure you want to do this?Backup succeededEvery %s hoursFull backupGoHave not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud.IncrementalInstall debugging plugins:Memory limitOld ABSPATH:Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded.Replace withSearch / replace databaseSearch forSign in with %sStart backupSupported backup plugins: %sTell me more about incremental backupsThe location of this directory is set in the expert settings, in the Settings tab.This can easily destroy your site; so, use it with care!This file could not be uploadedToo many database errors have occurred - abortingUnless you have a problem, you can completely ignore everything here.Why am I seeing this?You are using the %s webserver, but do not seem to have the %s module loaded.You will find more information about this in the Settings section.You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.file %d of %dnext resumption: %dnow proceeding with the updates...read more at %srestorationsearch and replacesearch termPO-Revision-Date: 2023-04-06 07:34:54+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: ca Project-Id-Version: UpdraftPlus (després de %s)(veure registre ...)Una cerca/substitució no es pot desfer - Estàs segur que vols fer això?Còpia de seguretat executada correctamentCada %s horesCòpia de seguretat completaEndavantEncara no s'ha obtingut la cadena d'accés des de Google - necessites autoritzar o re-autoritzar la teva connexió a Google CloudIncrementalInstal·lar connectors de depuració:Límit de memòriaAntic ABSPATH:Prem aquí per cercar nous conjunts de còpies de seguretat que s'han pujat al directori UpdraftPlus (dins l'espai del seu servidor web).Substituir perCercar / substituir base de dadesCercarSigna amb %sIniciar còpia de seguretatComplements de còpia de seguretat suportats: %s.Explica'm més coses sobre les còpies de seguretat incrementals.La ubicació d'aquest directori es troba en la configuració d'experts, a la pestanya Configuració.Això pot destruir el teu lloc web fàcilment; utilitza-ho amb compte!No s'ha pogut carregar aquest fitxerHi han hagut masses errors amb la base de dades - abortantLlevat que tinguis un problema, pots ignorar completament tot el que apareix aquí.Per què estic veient això ?S'està utilitzant el servidor web %s però no sembla tenir el mòdul %s carregat.Més informació sobre això en la secció Configuració.Consultar amb el proveïdor d'allotjament web com establir permisos d'escriptura dins del directori per un plugin de WordPress. arxiu %d de %dsegüent reanudació: %dActualitzant ...Llegir més a %sRestauraciócercar i substituirterme de cercalanguages/updraftplus-pt_BR.po000064400001405405147400355670012453 0ustar00# Translation of UpdraftPlus in Portuguese (Brazil) # This file is distributed under the same license as the UpdraftPlus package. msgid "" msgstr "" "PO-Revision-Date: 2023-03-29 12:28:11+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: GlotPress/3.0.0\n" "Language: pt_BR\n" "Project-Id-Version: UpdraftPlus\n" #: src/addons/googlecloud.php:518 msgid "%s suthorization failed" msgstr "" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Turning off any debugging settings may also help." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "It's free to use or try up to 5 sites." msgstr "" #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "If you have a few sites, it'll save hours." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "See our documentation on how to carry out a normal migration here" msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:40 msgid "Temporary clones of WordPress subdomain multisite installations are not yet supported." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "UpdraftClone does the work." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Press the buttons..." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done." msgstr "" #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "A temporary clone is an instant copy of this website, running on our servers." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "You either need to activate it within your browser, or to use a JavaScript-capable browser." msgstr "" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "This admin interface uses JavaScript heavily." msgstr "" #: src/templates/wp-admin/settings/tab-backups.php:80 msgid "Drop your backup files" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:346, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Keeps your WordPress site up to date and bug free." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:334, #: src/templates/wp-admin/settings/tab-addons.php:335 msgid "A comprehensive and easy to use security plugin and site scanning service." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:330, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:336, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:342, #: src/templates/wp-admin/settings/tab-addons.php:348, #: src/templates/wp-admin/settings/tab-addons.php:348 msgid "Demo in WP Playground" msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "It cleans the database, compresses images and caches pages for ultimate speed." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:328, #: src/templates/wp-admin/settings/tab-addons.php:329 msgid "Makes your site fast and efficient." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:89 msgid "To avoid server-wide risks, always backup to remote cloud storage." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand." msgstr "" #: src/templates/wp-admin/settings/migrator-no-migrator.php:13 msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:362 msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "We keep these up to date." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:352 msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "It is relative to your content directory (which by default is called wp-content)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This directory must be writable by your web server." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:345 msgid "This is where UpdraftPlus will write the zip files it creates initially." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The default value is %s megabytes." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "UpdraftPlus will split up backup archives when they exceed this file size." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:135 msgid "If you choose no remote storage, then the backups remain on the web-server." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "This can corrupt backups that you download from here." msgstr "" #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Your WordPress installation has a problem with outputting extra whitespace." msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "You are recommended to turn safe_mode off, or to restore only one entity at a time" msgstr "" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "This makes time-outs much more likely." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Designed to optimize your store, enhance user experience and increase revenue!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "Quality add-ons for WooCommerce." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35 msgid "WP Overnight" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "You don’t need to be an SEO expert to use this plugin." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Save time and boost SEO!" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Automate the building of internal links on your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:31 msgid "Internal Link Juicer" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid " Comprehensive, cost-effective, 5* rated and easy to use." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Secure your WordPress website with AIOS." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "Still on the fence?" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:27 msgid "All-In-One Security (AIOS)" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Cache your site, clean the database and compress images." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:24 msgid "Speed up and optimize your WordPress website." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18 msgid " Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:10 msgid "Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "All 5* rated and actively installed on millions of WordPress websites:" msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12 msgid "If you like UpdraftPlus, you'll love our other plugins." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You can also do this before deactivating/deinstalling UpdraftPlus if you wish." msgstr "" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "You will then need to enter all your settings again." msgstr "" #: src/templates/wp-admin/advanced/tools-menu.php:28 msgid "Database size" msgstr "" #: src/templates/wp-admin/advanced/site-info.php:66 msgid "Database maximum packet size:" msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "This tool will replace all your saved settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:12 msgid "You can also import previously-exported settings." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "This tool will export what is currently in the settings tab." msgstr "" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:35 msgid "Type" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:34 msgid "Index size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:33 msgid "Data size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:32 msgid "Records" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:31 msgid "Table name" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:25 msgid "Refresh" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:24 msgid "Clear" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website." msgstr "" #: src/templates/wp-admin/advanced/db-size.php:10 msgid "Total Size" msgstr "" #: src/templates/wp-admin/advanced/db-size.php:6 msgid "Search for table" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "So far %s data archives totalling %s have been received" msgstr "" #: src/includes/updraftclone/temporary-clone-status.php:371 msgid "The sending of the site data has begun." msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "You can shut this clone down at the following link:" msgstr "" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Each time your clone renews (weekly) it costs %s." msgstr "" #: src/central/modules/updates.php:715 msgid "If installing, then proceed with caution by first doing a backup." msgstr "" #: src/central/modules/updates.php:715 msgid "This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation." msgstr "" #: src/central/modules/updates.php:706 msgid "The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used." msgstr "" #: src/central/modules/updates.php:696 msgid "The minimum PHP version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:696 msgid "The latest update for this %s is not compatible with the PHP version installed on the remote site." msgstr "" #: src/central/modules/updates.php:686 msgid "The minimum WordPress version supported by this %s is %s." msgstr "" #: src/central/modules/updates.php:686 msgid "The latest update for this %s is not compatible with the WordPress version installed on the remote site." msgstr "" #: src/udaddons/updraftplus-addons.php:1056 msgid "No response data was received." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "You will no longer receive updates to UpdraftPlus." msgstr "" #: src/udaddons/updraftplus-addons.php:332 msgid "Your paid access to UpdraftPlus updates for this site has expired." msgstr "" #: src/udaddons/options.php:536 msgid "Follow this link to activate this licence" msgstr "" #: src/udaddons/options.php:536 msgid "%s available to claim on this site." msgstr "" #: src/udaddons/options.php:339 msgid "You can now use your purchase!" msgstr "" #: src/udaddons/options.php:339 msgid "The claim and installation was successful." msgstr "" #: src/udaddons/options.php:338 msgid "Response was:" msgstr "" #: src/udaddons/options.php:338 msgid "An unknown response was received." msgstr "" #: src/udaddons/options.php:259 msgid "This ensures %s can connect and update." msgstr "" #: src/udaddons/options.php:259 msgid "Please list %s in the %s constant." msgstr "" #: src/udaddons/options.php:254 msgid "Please make sure that %s is not set to \"true\" in your wp-config file - this ensures UpdraftPlus can connect and update." msgstr "" #: src/udaddons/options.php:250 msgid "This is incompatible with WordPress's updates mechanism; you will not be able to receive updates." msgstr "" #: src/udaddons/options.php:250 msgid "You have installed this plugin in your plugins folder (%s) with a non-default name %s which is different to %s." msgstr "" #: src/udaddons/options.php:143 msgid "To fix this problem, contact your web hosting company." msgstr "" #: src/udaddons/options.php:143 msgid "You can try it, but don't be surprised if it does not work." msgstr "" #: src/udaddons/options.php:143 msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s." msgstr "" #: src/methods/updraftvault.php:943 msgid "An unknown error occurred while connecting to Vault." msgstr "" #: src/methods/updraftvault.php:477 msgid "Your web server's PHP installation does not include a required (for %s) module (%s)." msgstr "" #: src/methods/updraftvault.php:331 msgid "If you do not wish this to happen, then you should renew as soon as possible." msgstr "" #: src/methods/updraftvault.php:331 msgid "In a few days' time, your stored data will be permanently removed." msgstr "" #: src/methods/updraftvault.php:331 msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired." msgstr "" #: src/methods/updraftvault.php:328 msgid "Please renew as soon as possible!" msgstr "" #: src/methods/updraftvault.php:328 msgid "You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it." msgstr "" #: src/methods/updraftvault.php:328 msgid "You have an UpdraftPlus Vault subscription with overdue payment." msgstr "" #: src/methods/updraftvault.php:325 msgid "You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer." msgstr "" #: src/methods/updraftvault.php:325 msgid "Your UpdraftPlus Premium purchase is over a year ago." msgstr "" #: src/methods/updraftvault.php:257 msgid "Please try again after a few minutes." msgstr "" #: src/methods/updraftvault.php:257, src/methods/updraftvault.php:941 msgid "An error occurred while fetching your Vault credentials." msgstr "" #: src/methods/s3generic.php:212 msgid "SigV2" msgstr "" #: src/methods/s3generic.php:211 msgid "SigV4" msgstr "" #: src/methods/s3generic.php:209 msgid "Read more about signature version" msgstr "" #: src/methods/s3generic.php:208 msgid "Signature version" msgstr "" #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Error: Failed to download %s." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846, #: src/methods/s3.php:826, src/methods/s3.php:871 msgid "Check your permissions and credentials." msgstr "" #: src/methods/s3.php:542, src/methods/s3.php:736, src/methods/s3.php:846 msgid "Error: Failed to access bucket %s." msgstr "" #: src/methods/openstack2.php:247 msgid "Authentication URI" msgstr "" #: src/methods/openstack2.php:244 msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage." msgstr "" #: src/methods/googledrive.php:1515 msgid "%s does not allow authorisation of sites hosted on direct IP addresses." msgstr "" #: src/methods/googledrive.php:1512 msgid "Account holder's name" msgstr "" #: src/methods/googledrive.php:859 msgid "%s for %s" msgstr "" #: src/methods/googledrive.php:423 msgid "Please create a new Google Drive project and reconnect with UpdraftPlus." msgstr "" #: src/methods/googledrive.php:423 msgid "The client has been deleted from the Google Drive API console." msgstr "" #: src/methods/email.php:30 msgid "If so, you should switch to using a different remote storage method." msgstr "" #: src/methods/email.php:30 msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size)." msgstr "" #: src/methods/dropbox.php:612 msgid "Your Dropbox App Secret" msgstr "" #: src/methods/dropbox.php:611 msgid "Your Dropbox App Key" msgstr "" #: src/methods/dropbox.php:528 msgid "You are not authenticated with %s" msgstr "" #: src/methods/dropbox.php:482 msgid "You are not authenticated with %s (whilst deleting)" msgstr "" #: src/methods/dropbox.php:194, src/methods/dropbox.php:211 msgid "You are not authenticated with Dropbox" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Examples: mybucket, mybucket/mypath" msgstr "" #: src/methods/dreamobjects.php:192, src/methods/s3.php:1049, #: src/methods/s3.php:1089, src/methods/s3generic.php:200 msgid "Enter only a bucket name or a bucket and path." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "This bucket will be created for you if it does not already exist." msgstr "" #: src/methods/dreamobjects.php:183, src/methods/s3.php:936, #: src/methods/s3.php:1079 msgid "Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage." msgstr "" #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/dreamobjects.php:182, src/methods/openstack-base.php:577, #: src/methods/s3.php:926, src/methods/s3.php:930 msgid "Your web server's PHP installation does not included a required module (%s)." msgstr "" #: src/methods/cloudfiles-new.php:284, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:244 msgid "This container will be created for you if it does not already exist." msgstr "" #: src/methods/cloudfiles-new.php:284 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/cloudfiles.php:455, src/methods/dreamobjects.php:181, #: src/methods/openstack-base.php:577, src/methods/openstack2.php:242, #: src/methods/s3.php:930, src/methods/s3.php:1081, #: src/methods/s3generic.php:193 msgid "UpdraftPlus's %s module requires %s." msgstr "" #: src/methods/cloudfiles-new.php:281, src/methods/cloudfiles-new.php:282, #: src/methods/openstack2.php:242, src/methods/s3.php:1080, #: src/methods/s3.php:1081, src/methods/s3generic.php:192, #: src/methods/s3generic.php:193 msgid "Your web server's PHP installation does not include a required module (%s)." msgstr "" #: src/methods/backup-module.php:89 msgid "Select existing folder" msgstr "" #: src/methods/addon-not-yet-present.php:126 msgid "Your PHP version: %s." msgstr "" #: src/includes/updraftplus-tour.php:196 msgid "You are now all set to use UpdraftPlus!" msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "If not, your backups remain on the same server as your site." msgstr "" #: src/includes/updraftplus-tour.php:130, src/includes/updraftplus-tour.php:182 msgid "Now select a remote storage destination to protect against server-wide threats." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "30 September" msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Be quick, offer ends %s." msgstr "" #: src/includes/updraftplus-notices.php:275 msgid "Visit any of our websites and use code %s at checkout to get 20%% off all our plugins." msgstr "" #: src/includes/updraftplus-notices.php:262 msgid "31 July" msgstr "" #: src/includes/updraftplus-notices.php:261 msgid "Summer Sale" msgstr "" #: src/includes/updraftplus-notices.php:249 msgid "31 May" msgstr "" #: src/includes/updraftplus-notices.php:248 msgid "Spring Sale" msgstr "" #: src/includes/updraftplus-notices.php:236 msgid "28 January" msgstr "" #: src/includes/updraftplus-notices.php:235 msgid "New Year Sale" msgstr "" #: src/includes/updraftplus-notices.php:223 msgid "3 December" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Offer ends %s" msgstr "" #: src/includes/updraftplus-notices.php:223, #: src/includes/updraftplus-notices.php:236, #: src/includes/updraftplus-notices.php:249, #: src/includes/updraftplus-notices.php:262 msgid "Save 20%% with code %s." msgstr "" #: src/includes/updraftplus-notices.php:222 msgid "Black Friday Sale" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Or if you have any issues or questions please leave us a support message" msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "If you like us, please consider leaving a positive review to spread the word." msgstr "" #: src/includes/updraftplus-notices.php:122 msgid "Hey - We noticed UpdraftPlus has kept your site safe for a while." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Includes find-and-replace tool for database references." msgstr "" #: src/includes/updraftplus-notices.php:93 msgid "Copy your site to another domain directly." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Plus many more options." msgstr "" #: src/includes/updraftplus-notices.php:60 msgid "Enhanced storage options for Dropbox, Google Drive and S3." msgstr "" #: src/includes/updraftplus-notices.php:29 msgid "Backup incremental changes instead of full backups (saving server resources), clone or migrate your site with ease, get more remote storage locations, premium support and more." msgstr "" #: src/includes/updraftplus-notices.php:28 msgid "Backup, migrate and restore with Premium." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "Please try again later." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "The server might be busy or you have lost your connection to the internet at the time of the request." msgstr "" #: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21 msgid "An error has occurred while processing your request." msgstr "" #: src/includes/S3.php:1927 msgid "Please ask your webserver support how to upgrade your PHP and cURL library versions to use non-obsolete TLS versions." msgstr "" #: src/includes/S3.php:1927 msgid "Your PHP installation failed a TLS v1.2 connection test, which is the minimum version required by Amazon." msgstr "" #: src/includes/S3.php:1927 msgid "Connecting to Amazon S3 failed." msgstr "" #: src/includes/migrator-lite.php:334 msgid "If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced." msgstr "" #: src/includes/migrator-lite.php:334 msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem." msgstr "" #: src/includes/migrator-lite.php:323 msgid "Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https." msgstr "" #: src/includes/migrator-lite.php:323 msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site." msgstr "" #: src/includes/class-wpadmin-commands.php:586 msgid "This is normally caused by file permissions." msgstr "" #: src/includes/class-wpadmin-commands.php:261 msgid "Now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:263 msgid "If all is well, then now press Restore again to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236 msgid "Now press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:236, #: src/includes/class-wpadmin-commands.php:261 msgid "The backup archive files have been successfully processed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "Otherwise, cancel and correct any problems first." msgstr "" #: src/includes/class-wpadmin-commands.php:238 msgid "If all is well, then press Restore to proceed." msgstr "" #: src/includes/class-wpadmin-commands.php:238, #: src/includes/class-wpadmin-commands.php:263 msgid "The backup archive files have been processed, but with some warnings." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "You will need to cancel and correct any problems before retrying." msgstr "" #: src/includes/class-wpadmin-commands.php:240, #: src/includes/class-wpadmin-commands.php:265 msgid "The backup archive files have been processed, but with some errors." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)." msgstr "" #: src/includes/class-wpadmin-commands.php:130 msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "No, please don't." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:103 msgid "Yes, show me the news." msgstr "" #: src/includes/class-updraft-dashboard-news-offer.php:102 msgid "Do you want to see official news from this plugin in this Events and News section?" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder" msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The remote storage method in use (%s) does not allow us to retrieve files." msgstr "" #: src/includes/class-storage-methods-interface.php:392 msgid "The backup archive for this file could not be found." msgstr "" #: src/includes/class-remote-send.php:671 msgid "This action cannot be undone." msgstr "" #: src/includes/class-remote-send.php:671 msgid "You are about to permanently delete the list of existing sites." msgstr "" #: src/includes/class-remote-send.php:565 msgid "It is deprecated, causes encryption to malfunction, and should be turned off." msgstr "" #: src/includes/class-remote-send.php:565 msgid "The setting %s is turned on in your PHP settings." msgstr "" #: src/includes/class-remote-send.php:425 msgid "If you are sending from an external network, it is likely that a firewall will be blocking this." msgstr "" #: src/includes/class-remote-send.php:425 msgid "The site URL you are sending to (%s) looks like a local development website." msgstr "" #. translators: Deleted long text. #: src/includes/class-manipulation-functions.php:509 msgid "This content was deleted in order to anonymize it." msgstr "" #. translators: Deleted text. #: src/includes/class-manipulation-functions.php:505 msgid "[deleted]" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Intended for use by intercepting proxies used to control access to the network (e.g., \"captive portals\" used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot)." msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "The client needs to authenticate to gain network access" msgstr "" #: src/includes/class-http-error-descriptions.php:79 msgid "Network Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Further extensions to the request are required for the server to fulfil it." msgstr "" #: src/includes/class-http-error-descriptions.php:78 msgid "Not Extended" msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "The server detected an infinite loop while processing the request." msgstr "" #: src/includes/class-http-error-descriptions.php:77 msgid "Loop Detected" msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "The server is unable to store the representation needed to complete the request." msgstr "" #: src/includes/class-http-error-descriptions.php:76 msgid "Insufficient Storage" msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Transparent content negotiation for the request results in a circular reference." msgstr "" #: src/includes/class-http-error-descriptions.php:75 msgid "Variant Also Negotiates" msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "The server does not support the HTTP protocol version used in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:74 msgid "HTTP Version Not Supported" msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:73 msgid "Gateway Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Generally, this is a temporary state." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "The server cannot handle the request (because it is overloaded or down for maintenance)" msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "The server was acting as a gateway or proxy and received an invalid response from the upstream server." msgstr "" #: src/includes/class-http-error-descriptions.php:71 msgid "Bad Gateway" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Usually this implies future availability (e.g., a new feature of a web-service API)." msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "The server either does not recognize the request method, or it lacks the ability to fulfil the request" msgstr "" #: src/includes/class-http-error-descriptions.php:70 msgid "Not Implemented" msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "A generic error message, given when an unexpected condition was encountered and no more specific message is suitable." msgstr "" #: src/includes/class-http-error-descriptions.php:69 msgid "Internal Server Error" msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:63 msgid "Unavailable For Legal Reasons" msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large." msgstr "" #: src/includes/class-http-error-descriptions.php:62 msgid "Request Header Fields Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Intended for use with rate-limiting schemes." msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "The user has sent too many requests in a given amount of time" msgstr "" #: src/includes/class-http-error-descriptions.php:61 msgid "Too Many Requests" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Intended to prevent the 'lost update' problem, where a client GETs a resource's state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict." msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "The origin server requires the request to be conditional" msgstr "" #: src/includes/class-http-error-descriptions.php:60 msgid "Precondition Required" msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field." msgstr "" #: src/includes/class-http-error-descriptions.php:59 msgid "Upgrade Required" msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Indicates that the server is unwilling to risk processing a request that might be replayed." msgstr "" #: src/includes/class-http-error-descriptions.php:58 msgid "Too Early" msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "The request failed because it depended on another request and that request failed (e.g., a PROPPATCH)." msgstr "" #: src/includes/class-http-error-descriptions.php:57 msgid "Failed Dependency" msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "The resource that is being accessed is locked." msgstr "" #: src/includes/class-http-error-descriptions.php:56 msgid "Locked" msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "The request was well-formed but was unable to be followed due to semantic errors." msgstr "" #: src/includes/class-http-error-descriptions.php:55 msgid "Unprocessable Entity" msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "The request was directed at a server that is not able to produce a response (for example because of connection reuse)." msgstr "" #: src/includes/class-http-error-descriptions.php:54 msgid "Misdirected Request" msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "The server cannot meet the requirements of the Expect request-header field." msgstr "" #: src/includes/class-http-error-descriptions.php:53 msgid "Expectation Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "For example, if the client asked for a part of the file that lies beyond the end of the file." msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "The client has asked for a portion of the file (byte serving), but the server cannot supply that portion" msgstr "" #: src/includes/class-http-error-descriptions.php:52 msgid "Range Not Satisfiable" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format." msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "The request entity has a media type which the server or resource does not support" msgstr "" #: src/includes/class-http-error-descriptions.php:51 msgid "Unsupported Media Type" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "Often the result of too much data being encoded as a query-string of a GET request, in which it should be converted to a POST request." msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "The URI provided was too long for the server to process" msgstr "" #: src/includes/class-http-error-descriptions.php:50 msgid "URI Too Long" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Previously called \"Request Entity Too Large\"." msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "The request is larger than the server is willing or able to process" msgstr "" #: src/includes/class-http-error-descriptions.php:49 msgid "Payload Too Large" msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "The server does not meet one of the preconditions that the requester put on the request header fields." msgstr "" #: src/includes/class-http-error-descriptions.php:48 msgid "Precondition Failed" msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "The request did not specify the length of its content, which is required by the requested resource." msgstr "" #: src/includes/class-http-error-descriptions.php:47 msgid "Length Required" msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Indicates that the resource requested is no longer available and will not be available again." msgstr "" #: src/includes/class-http-error-descriptions.php:46 msgid "Gone" msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates." msgstr "" #: src/includes/class-http-error-descriptions.php:45 msgid "Conflict" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The client MAY repeat the request without modifications at any later time." msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "The server timed out waiting for the request" msgstr "" #: src/includes/class-http-error-descriptions.php:44 msgid "Request Timeout" msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "The client must first authenticate itself with the proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:43 msgid "Proxy Authentication Required" msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request." msgstr "" #: src/includes/class-http-error-descriptions.php:42 msgid "Not Acceptable" msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource." msgstr "" #: src/includes/class-http-error-descriptions.php:41 msgid "Method Not Allowed" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Subsequent requests by the client are permissible." msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "The requested resource could not be found but may be available in the future" msgstr "" #: src/includes/class-http-error-descriptions.php:40 msgid "Not Found." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed)." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "The request contained valid data and was understood by the server, but the server is refusing action." msgstr "" #: src/includes/class-http-error-descriptions.php:39 msgid "Forbidden." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Authentication is required and has failed or has not yet been provided." msgstr "" #: src/includes/class-http-error-descriptions.php:38 msgid "Unauthorized." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing)." msgstr "" #: src/includes/class-http-error-descriptions.php:37 msgid "Bad Request." msgstr "" #: src/includes/class-http-error-descriptions.php:31 msgid "Permanent Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "In this case, the request should be repeated with another URI; however, future requests should still use the original URI." msgstr "" #: src/includes/class-http-error-descriptions.php:30 msgid "Temporary Redirect." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "The requested resource is available only through a proxy, the address for which is provided in the response." msgstr "" #: src/includes/class-http-error-descriptions.php:29 msgid "Use Proxy." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match." msgstr "" #: src/includes/class-http-error-descriptions.php:28 msgid "Not Modified." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI" msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "The response to the request can be found under another URI using the GET method." msgstr "" #: src/includes/class-http-error-descriptions.php:27 msgid "See Other." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Tells the client to look at (browse to) another URL." msgstr "" #: src/includes/class-http-error-descriptions.php:26 msgid "Found (Previously \"Moved temporarily\")." msgstr "" #: src/includes/class-http-error-descriptions.php:25, #: src/includes/class-http-error-descriptions.php:31 msgid "This and all future requests should be directed to the given URI." msgstr "" #: src/includes/class-http-error-descriptions.php:25 msgid "Moved Permanently." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation)." msgstr "" #: src/includes/class-http-error-descriptions.php:24 msgid "Multiple Choices." msgstr "" #: src/includes/class-filesystem-functions.php:678 msgid "Could not copy files." msgstr "" #: src/includes/class-database-utility.php:726 msgid "Follow this link to install the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "Follow this link to activate the WP-Optimize plugin." msgstr "" #: src/includes/class-database-utility.php:722 msgid "WP-Optimize is installed but currently inactive." msgstr "" #: src/includes/class-commands.php:1142 msgid "The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready." msgstr "" #: src/includes/class-commands.php:1142 msgid "No backup will be started." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "If the clone fails to boot, then the token will be released within an hour." msgstr "" #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142 msgid "N.B. You will be charged one token once the clone is ready." msgstr "" #: src/includes/class-commands.php:954 msgid "Backup:" msgstr "" #: src/includes/class-commands.php:967 msgid "You have no local backups to send." msgstr "" #: src/central/bootstrap.php:757 msgid "Follow this link to read about how to set browser permission" msgstr "" #: src/central/bootstrap.php:757 msgid "Your web browser prevented the copy operation." msgstr "" #: src/central/bootstrap.php:755 msgid "Copy to clipboard" msgstr "" #: src/addons/wp-cli.php:1232 msgid "The creation of your data for creating the clone should now begin, and you will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1232 msgid "The UpdraftClone boot process has started." msgstr "" #: src/addons/wp-cli.php:1206 msgid "You will receive an email when it completes." msgstr "" #: src/addons/wp-cli.php:1206 msgid "The UpdraftClone boot process for an empty WordPress install has begun." msgstr "" #: src/addons/wp-cli.php:1202 msgid "Failed to boot clone:" msgstr "" #: src/addons/wp-cli.php:1150 msgid "Failed to connect to UpdraftPlus.Com:" msgstr "" #: src/addons/wp-cli.php:1133 msgid "You can create a clone key at %s" msgstr "" #: src/addons/wp-cli.php:1133 msgid "No clone key provided." msgstr "" #: src/addons/wp-cli.php:1056 msgid "Please make sure these two parameters are set." msgstr "" #: src/addons/wp-cli.php:1056 msgid "An email and password are required to connect to UpdraftPlus.com." msgstr "" #: src/addons/wp-cli.php:897 msgid "Get the \"%s\" addon: %s" msgstr "" #: src/addons/wp-cli.php:897 msgid "The %s is working with \"%s\" addon." msgstr "" #: src/addons/wp-cli.php:897 msgid "You have given the %s option." msgstr "" #: src/addons/wp-cli.php:211 msgid "You can see the last log message by running the following command: \"%s\"" msgstr "" #: src/addons/wp-cli.php:211 msgid "Backup has been started successfully." msgstr "" #: src/addons/webdav.php:1125 msgid "WebDAV server returned 501; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1114 msgid "WebDAV server returned 400; probably does not support Content-Range (chunks)" msgstr "" #: src/addons/webdav.php:1119, src/addons/webdav.php:1131 msgid "Unexpected HTTP response code (%s): %s" msgstr "" #: src/addons/webdav.php:496 msgid "We successfully accessed the directory, and were able to create files within it" msgstr "" #: src/addons/webdav.php:438 msgid "Split uploads into chunks" msgstr "" #: src/addons/webdav.php:428 msgid "If you do not know the details, then you will need to ask your WebDAV provider." msgstr "" #: src/addons/webdav.php:428 msgid "This WebDAV URL is generated by filling in the options below." msgstr "" #: src/addons/sftp.php:713 msgid "Failed: We are unable to match the fingerprint." msgstr "" #: src/addons/sftp.php:619, src/addons/sftp.php:620 msgid "MITM attacks" msgstr "" #: src/addons/sftp.php:608 msgid "Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file." msgstr "" #: src/addons/sftp.php:608 msgid "Resuming partial uploads is supported for SFTP, but not for SCP." msgstr "" #: src/addons/sftp.php:606 msgid "Using a fingerprint is not essential, but you are not secure against %s if you do not use one" msgstr "" #: src/addons/sftp.php:606 msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8." msgstr "" #: src/addons/sftp.php:426 msgid "You need to provide the unencrypted key (see: https://updraftplus.com/faqs/why-must-i-use-a-non-encrypted-sftp-key/)." msgstr "" #: src/addons/sftp.php:426 msgid "The key provided is encrypted." msgstr "" #: src/addons/sftp.php:61 msgid "Explicit encryption is used by default." msgstr "" #: src/addons/sftp.php:61 msgid "If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there." msgstr "" #: src/addons/sftp.php:61 msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it." msgstr "" #: src/addons/sftp.php:61 msgid "The 'Test FTP Login' button will tell you what type of connection is in use." msgstr "" #: src/addons/sftp.php:61 msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options." msgstr "" #: src/addons/s3-enhanced.php:285 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)." msgstr "" #: src/addons/s3-enhanced.php:285, src/methods/s3.php:1436 msgid "Failure: We could not successfully access or create such a bucket." msgstr "" #: src/addons/reporting.php:243 msgid "Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed." msgstr "" #: src/addons/reporting.php:243 msgid "Note that warning messages are advisory - the backup process does not stop for them." msgstr "" #: src/addons/pcloud.php:724, src/methods/dropbox.php:944, #: src/methods/dropbox.php:915 msgid "though part of the returned information was not as expected - whether this indicates a real problem cannot be determined" msgstr "" #: src/addons/pcloud.php:383 msgid "You are not authenticated with pCloud" msgstr "" #: src/addons/pcloud.php:297 msgid "Listing the files failed:" msgstr "" #: src/addons/pcloud.php:256 msgid "Chunked upload failed" msgstr "" #: src/addons/onedrive.php:1329, src/addons/pcloud.php:550, #: src/methods/dropbox.php:606 msgid "(You are already authenticated)." msgstr "" #: src/addons/onedrive.php:1315 msgid "As such, you must use the main %s %s App to authenticate with your account." msgstr "" #: src/addons/onedrive.php:1315 msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL." msgstr "" #: src/addons/onedrive.php:1121, src/addons/pcloud.php:653, #: src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "The %s authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/morefiles.php:907 msgid "Restore all %s not listed below" msgstr "" #: src/addons/morefiles.php:905 msgid "This option will ensure all %s files not found will be restored." msgstr "" #: src/addons/morefiles.php:905 msgid "The amount of %1$s files scanned is near or over the php_max_input_vars value so some %1$s files maybe truncated." msgstr "" #: src/addons/morefiles.php:897 msgid "Files not chosen will not be replaced." msgstr "" #: src/addons/morefiles.php:897 msgid "If you do not want to restore all your %s files, then de-select the unwanted ones here." msgstr "" #: src/addons/morefiles.php:834 msgid "Please select where you want these backups to be restored to." msgstr "" #: src/addons/morefiles.php:834 msgid "The original filesystem location for some of the following items was not found." msgstr "" #: src/addons/morefiles.php:221 msgid "Zip error: (%s)" msgstr "" #: src/addons/morefiles.php:221 msgid "Unable to read any files from the zip (%s) - could not pre-scan it to check its integrity." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption aborted." msgstr "" #: src/addons/moredatabase.php:411 msgid "Encryption error occurred when encrypting database." msgstr "" #: src/addons/moredatabase.php:342 msgid "This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)." msgstr "" #: src/addons/moredatabase.php:342 msgid "Do make a separate record of it and do not lose it, or all your backups will be useless." msgstr "" #: src/addons/moredatabase.php:342 msgid "If you enter text here, it is used to encrypt database backups (Rijndael)." msgstr "" #: src/addons/migrator.php:551 msgid "When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)." msgstr "" #: src/addons/migrator.php:551 msgid "To allow another site to send a backup to this site, create a key below." msgstr "" #: src/addons/googlecloud.php:1320 msgid "(You are already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "" #: src/addons/googlecloud.php:1308 msgid "Bucket names have to be globally unique." msgstr "" #: src/addons/googlecloud.php:1284, src/methods/googledrive.php:1515 msgid "You will need to change your site's address (%s) before you can use %s for storage." msgstr "" #: src/addons/googlecloud.php:1284 msgid "%s does not allow authorization of sites hosted on direct IP addresses." msgstr "" #: src/addons/googlecloud.php:1288, src/methods/googledrive.php:1494 msgid "The description below is sufficient for more expert users." msgstr "" #: src/addons/googlecloud.php:876 msgid "Please complete all fields in %s settings and save the settings." msgstr "" #: src/addons/googlecloud.php:876 msgid "But no %s settings were found." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "Please enter a bucket name in the %s settings and save settings." msgstr "" #: src/addons/googlecloud.php:879, src/addons/googlecloud.php:874 msgid "But no bucket was defined, so backups may not complete." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "Re-check it, then follow the link to authenticate again." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it." msgstr "" #: src/addons/googlecloud.php:510, src/methods/googledrive.php:590 msgid "No refresh token was received from Google." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490 msgid "Turning off any debugging settings may also help)." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins." msgstr "" #: src/addons/googlecloud.php:464, src/addons/onedrive.php:1121, #: src/addons/pcloud.php:653, src/methods/googledrive.php:490, #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:129 msgid "Try disabling your other plugins and switching to a default theme." msgstr "" #: src/addons/googlecloud.php:464 msgid "Authentication could not go ahead, because something else on your site is breaking it." msgstr "" #: src/addons/backblaze.php:847 msgid "Error: unable to set object lock for file: %s" msgstr "" #: src/addons/backblaze.php:791 msgid "Spaces are not allowed." msgstr "" #: src/addons/backblaze.php:791 msgid "There are limits upon which path-names are valid." msgstr "" #: src/addons/backblaze.php:789 msgid "A file which is locked cannot be deleted by any means until the lock time duration has expired." msgstr "" #: src/addons/backblaze.php:788 msgid "Read more about the Backblaze Object Lock" msgstr "" #: src/addons/backblaze.php:787 msgid "0 days means no lock is applied." msgstr "" #: src/addons/backblaze.php:787 msgid "Use this to protect your data from hackers or for regulatory compliance reasons." msgstr "" #: src/addons/backblaze.php:787 msgid "Object lock is a Backblaze B2 feature that prevents data from being changed or deleted for a given number of days." msgstr "" #: src/addons/backblaze.php:786 msgid "Object lock duration (days)" msgstr "" #: src/addons/backblaze.php:580, src/methods/s3.php:1436 msgid "Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)." msgstr "" #: src/addons/backblaze.php:580 msgid "Failure: We could not successfully access or create such a bucket" msgstr "" #: src/addons/backblaze.php:118 msgid "Error: unable to set object lock for bucket: %s" msgstr "" #: src/addons/azure.php:691, src/addons/onedrive.php:1314, #: src/methods/dreamobjects.php:187 msgid "For more detailed instructions, follow this link." msgstr "" #: src/addons/anonymisation.php:48, src/addons/anonymisation.php:71, #: src/addons/anonymisation.php:101 msgid "Anonymize WooCommerce order data" msgstr "" #: src/updraftplus.php:226 msgid "Most likely, WordPress malfunctioned when copying the plugin files." msgstr "" #: src/updraftplus.php:226 msgid "You do not have UpdraftPlus completely installed - please de-install and install it again." msgstr "" #: src/updraftplus.php:97 msgid "Most likely, WordPress did not correctly unpack the plugin when installing it." msgstr "" #: src/updraftplus.php:97 msgid "The expected file %s is missing from your UpdraftPlus installation." msgstr "" #: src/restorer.php:3101 msgid "UpdraftPlus plugin slug:" msgstr "" #: src/restorer.php:2911 msgid "We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site." msgstr "" #: src/restorer.php:2911 msgid "Your database user does not have permission to create tables." msgstr "" #: src/restorer.php:2964 msgid "We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)" msgstr "" #: src/restorer.php:2964 msgid "Your database user does not have permission to drop tables." msgstr "" #: src/restorer.php:2762 msgid "If these happen, then you will need to manually restore the file via phpMyAdmin or another method." msgstr "" #: src/restorer.php:2762 msgid "Timeouts are much more likely." msgstr "" #: src/restorer.php:2762 msgid "Warning: PHP safe_mode is active on your server." msgstr "" #: src/restorer.php:854 msgid "Check your file permissions." msgstr "" #: src/restorer.php:854 msgid "Could not move the files into place." msgstr "" #: src/restorer.php:853 msgid "Check your wp-content/upgrade folder." msgstr "" #: src/restorer.php:853 msgid "Could not move new files into place." msgstr "" #: src/restorer.php:841 msgid "It must be restored manually." msgstr "" #: src/restorer.php:841 msgid "UpdraftPlus is not able to directly restore this kind of entity." msgstr "" #: src/restorer.php:508 msgid "If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file." msgstr "" #: src/restorer.php:508 msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation." msgstr "" #: src/class-updraftplus.php:6318 msgid "Future releases of UpdraftPlus will require a more recent PHP version to use these features; we recommend that you speak to your web hosting company about updating to version %s or higher." msgstr "" #: src/class-updraftplus.php:6318 msgid "Your site is running on PHP version %s and has feature(s) currently enabled (%s) which are deprecated upon this PHP version." msgstr "" #: src/class-updraftplus.php:5511 msgid "UpdraftPlus was unable to find any tables when scanning the database backup; it maybe corrupt." msgstr "" #: src/class-updraftplus.php:5525 msgid "Deselect All" msgstr "" #: src/class-updraftplus.php:5525 msgid "Select All" msgstr "" #: src/class-updraftplus.php:5520 msgid "The amount of database tables scanned is near or over the php_max_input_vars value so some tables maybe truncated." msgstr "" #: src/class-updraftplus.php:5519, src/class-updraftplus.php:5520 msgid "This option will ensure all tables not found will be backed up." msgstr "" #: src/class-updraftplus.php:5519 msgid "The database scan was taking too long and consequently the list of all tables in the database could not be completed." msgstr "" #: src/class-updraftplus.php:5476 msgid "This database backup has the following non-core WordPress database tables excluded: %s" msgstr "" #: src/class-updraftplus.php:5154 msgid "This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site." msgstr "" #: src/class-updraftplus.php:5154 msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s)." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "You need the Migrator add-on in order to make this work." msgstr "" #: src/class-updraftplus.php:5191, src/class-updraftplus.php:5173 msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration." msgstr "" #: src/class-updraftplus.php:5201 msgid "There are no guarantees that WordPress can handle this." msgstr "" #: src/class-updraftplus.php:5201 msgid "You are importing from a newer version of WordPress (%s) into an older one (%s)." msgstr "" #: src/class-updraftplus.php:5236 msgid "Only the first site of the network will be accessible." msgstr "" #: src/class-updraftplus.php:5236 msgid "Your backup is of a WordPress multisite install; but this site is not." msgstr "" #: src/class-updraftplus.php:5061, src/restorer.php:1179, #: src/includes/class-updraftplus-encryption.php:354 msgid "The most likely cause is that you used the wrong key." msgstr "" #: src/class-updraftplus.php:5049, src/restorer.php:1166, #: src/includes/class-updraftplus-encryption.php:336 msgid "The database file is encrypted, but you have no encryption key entered." msgstr "" #: src/class-updraftplus.php:5051 msgid "The database file is encrypted." msgstr "" #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5061, src/restorer.php:1166, #: src/restorer.php:1179, src/includes/class-updraftplus-encryption.php:354, #: src/includes/class-updraftplus-encryption.php:336 msgid "Decryption failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Backup probably failed." msgstr "" #: src/class-updraftplus.php:4549 msgid "Could not save backup history because we have no backup array." msgstr "" #: src/class-updraftplus.php:3812 msgid "Warnings encountered (note: this is for information; the backup has completed successfully)" msgstr "" #: src/class-updraftplus.php:3667 msgid "The backup succeeded and is now complete" msgstr "" #: src/class-updraftplus.php:3313 msgid "Please check the backup directory and ensure it is writable so that backups may continue." msgstr "" #: src/class-updraftplus.php:3313 msgid "UpdraftPlus is unable to perform backups as your backup directory is not writable or the disk space is full." msgstr "" #: src/class-updraftplus.php:3312 msgid "Backup aborted - check your UpdraftPlus settings." msgstr "" #: src/class-updraftplus.php:3312 msgid "Could not create files in the backup directory." msgstr "" #: src/class-updraftplus.php:2091 msgid "Theme" msgstr "" #: src/class-updraftplus.php:2090 msgid "Plugin" msgstr "" #: src/class-updraftplus.php:698 msgid "Check back in a minute." msgstr "" #: src/class-updraftplus.php:698 msgid "Briefly unavailable for scheduled maintenance." msgstr "" #: src/class-updraftplus.php:245 msgid "So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again." msgstr "" #: src/class-updraftplus.php:245 msgid "That is safe - all your settings and backups will be retained." msgstr "" #: src/class-updraftplus.php:245 msgid "WordPress will only allow you to install your new version after first de-installing the existing one." msgstr "" #: src/class-updraftplus.php:245 msgid "A version of UpdraftPlus is already installed." msgstr "" #: src/backup.php:4387 msgid "your web hosting account is full; please see: %s" msgstr "" #: src/backup.php:3163 msgid "Possible causes include that the link points to an invalid or inaccessible location." msgstr "" #: src/backup.php:3163 msgid "%s: unfollowable link - could not be followed to back up (readlink=%s)." msgstr "" #: src/backup.php:2051 msgid "To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines." msgstr "" #: src/backup.php:2051 msgid "Your WordPress database user doesn't have sufficient privileges to read these stored routines." msgstr "" #: src/backup.php:2051 msgid "Dumping routines: " msgstr "" #: src/backup.php:1901, src/backup.php:1899 msgid "The database backup has failed" msgstr "" #: src/backup.php:365 msgid "Consult the log file for more information." msgstr "" #: src/backup.php:365 msgid "Could not create %s zip." msgstr "" #: src/admin.php:6360 msgid "Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup." msgstr "" #: src/admin.php:6360 msgid "%s permits UpdraftPlus to perform only one backup per month." msgstr "" #: src/admin.php:5672 msgid "Please refresh the settings page and try again" msgstr "" #: src/admin.php:5672 msgid "Your settings failed to save." msgstr "" #: src/admin.php:5631 msgid "Please reload the settings page before trying to save settings." msgstr "" #: src/admin.php:5631 msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded." msgstr "" #: src/admin.php:5244 msgid "Timestamp:" msgstr "" #: src/admin.php:5163, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:98 msgid "Restoration" msgstr "" #: src/admin.php:5162, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:97 msgid "Verifications" msgstr "" #: src/admin.php:5135 msgid "Do not close this page until it reports itself as having finished." msgstr "" #: src/admin.php:5135 msgid "The restore operation has begun (%s)." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689, #: src/methods/dreamobjects.php:182, src/methods/s3.php:926, #: src/methods/s3.php:1080, src/methods/s3generic.php:192, #: src/methods/updraftvault.php:477 msgid "Please contact your web hosting provider's support and ask for them to enable it." msgstr "" #: src/admin.php:4417, src/addons/azure.php:689 msgid "Your web server's PHP installation does not included a required (for %s) module (%s)." msgstr "" #: src/admin.php:4424 msgid "Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)." msgstr "" #: src/admin.php:4424 msgid "Communications with %s will be unencrypted." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please do not file any support requests; there is no alternative." msgstr "" #: src/admin.php:4426 msgid "%s requires Curl+https." msgstr "" #: src/admin.php:4426, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:930, #: src/methods/s3.php:1081, src/methods/s3generic.php:193 msgid "Please contact your web hosting provider's support." msgstr "" #: src/admin.php:4426 msgid "We cannot access %s without this support." msgstr "" #: src/admin.php:4426, src/admin.php:4424 msgid "Your web server's PHP/Curl installation does not support https access." msgstr "" #: src/admin.php:4429 msgid "If you see any errors to do with encryption, then look in the 'Expert Settings' for more help." msgstr "" #: src/admin.php:4429 msgid "Good news: Your site's communications with %s can be encrypted." msgstr "" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "For entities at the top level, you can use a * at the start or end of the entry as a wildcard." msgstr "" #: src/admin.php:4364 msgid "none present" msgstr "" #: src/admin.php:4043 msgid "You should check with your hosting provider that this will not cause any problems" msgstr "" #: src/admin.php:4043 msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it." msgstr "" #: src/admin.php:3891 msgid "Old folders successfully removed." msgstr "" #: src/admin.php:3893 msgid "You may want to do this manually." msgstr "" #: src/admin.php:3893 msgid "Old folder removal failed for some reason." msgstr "" #: src/admin.php:3888 msgid "Remove old folders" msgstr "" #: src/admin.php:3878 msgid "Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal." msgstr "" #: src/admin.php:3878 msgid "Note: the progress bar below is based on stages, NOT time." msgstr "" #: src/admin.php:3602 msgid "Delete old folders" msgstr "" #: src/admin.php:3596 msgid "You should press this button to delete them as soon as you have verified that the restoration worked." msgstr "" #: src/admin.php:3596 msgid "Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "" #: src/admin.php:3050 msgid "This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)." msgstr "" #: src/admin.php:3050 msgid "UpdraftPlus attempted to raise it but was unsuccessful." msgstr "" #: src/admin.php:3050 msgid "Your PHP memory limit (set by your web hosting company) is very low." msgstr "" #: src/admin.php:2993 msgid "You should rename the directory to wp-content/plugins/updraftplus to fix this problem." msgstr "" #: src/admin.php:2993 msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this." msgstr "" #: src/admin.php:2889 msgid "We really appreciate your support!" msgstr "" #: src/admin.php:2889 msgid "Enjoyed %s? Please leave us a %s rating on %s or %s" msgstr "" #: src/admin.php:2751 msgid "Perhaps you need to install an add-on?" msgstr "" #: src/admin.php:2751 msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s." msgstr "" #: src/admin.php:2465 msgid "Aborting this backup." msgstr "" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "OK." msgstr "" #: src/admin.php:1674 msgid "Therefore, please download the attachment from the original backup email and upload it using the \"Upload backup files\" facility in the \"Existing Backups\" tab." msgstr "" #: src/admin.php:1674 msgid "The email protocol does not allow a remote backup to be retrieved from an email that has been sent." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "For more information, please see: %s" msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "You will need to migrate to the Global endpoint in your UpdraftPlus settings." msgstr "" #: src/admin.php:1491, src/admin.php:1498, src/addons/azure.php:61, #: src/addons/onedrive.php:105 msgid "Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon." msgstr "" #: src/admin.php:1484 msgid "However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account." msgstr "" #: src/admin.php:1484 msgid "Connection to your %s account was successful." msgstr "" #: src/admin.php:1477 msgid "You will need to switch to a different end-point and migrate your data before that date." msgstr "" #: src/admin.php:1477 msgid "The %s endpoint is scheduled to shut down on the 1st October 2018." msgstr "" #: src/admin.php:1456 msgid "Go here to complete your settings for %s." msgstr "" #: src/admin.php:1429 msgid "Unless this is a development site, this means that the scheduler in your WordPress install is not working properly." msgstr "" #: src/admin.php:1429 msgid "WordPress has a number (%d) of scheduled tasks which are overdue." msgstr "" #: src/admin.php:1402 msgid "Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request." msgstr "" #: src/admin.php:1402 msgid "You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed." msgstr "" #: src/admin.php:1402 msgid "UpdraftPlus's debug mode is on." msgstr "" #: src/admin.php:1398 msgid "To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting." msgstr "" #: src/admin.php:1398 msgid "Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower." msgstr "" #: src/admin.php:1398 msgid "Neither the PHP zip module nor a zip executable are available on your webserver." msgstr "" #: src/admin.php:1390 msgid "It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress." msgstr "" #: src/admin.php:1390 msgid "UpdraftPlus does not officially support versions of WordPress before %s." msgstr "" #: src/admin.php:1386 msgid "Contact your the operator of your server (e.g. your web hosting company) to resolve this issue." msgstr "" #: src/admin.php:1386 msgid "UpdraftPlus could well run out of space." msgstr "" #: src/admin.php:1386 msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups." msgstr "" #: src/admin.php:1380 msgid "No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled." msgstr "" #: src/admin.php:1380 msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting." msgstr "" #: src/admin.php:1161 msgid "Therefore, please reload the page." msgstr "" #: src/admin.php:1160 msgid "This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired." msgstr "" #: src/admin.php:1158 msgid "Searching for backups..." msgstr "" #: src/admin.php:1157 msgid "Send a new backup" msgstr "" #: src/admin.php:1156 msgid "Send existing backup" msgstr "" #: src/admin.php:1154 msgid "You can send an existing local backup to the remote site or create a new backup" msgstr "" #: src/admin.php:1153 msgid "See the browser console log for more information." msgstr "" #: src/admin.php:1153 msgid "If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results." msgstr "" #: src/admin.php:1109 msgid "This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism." msgstr "" #: src/admin.php:1109 msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error." msgstr "" #: src/admin.php:1094 msgid "No UpdraftCentral licences were available." msgstr "" #: src/admin.php:1087 msgid "You may have a security module on your webserver blocking the restoration operation." msgstr "" #: src/admin.php:1087 msgid "HTML was detected in the response." msgstr "" #: src/admin.php:1072 msgid "Once the clone has finished deploying it, you will receive an email." msgstr "" #: src/admin.php:1072 msgid "The clone has been provisioned, and its data has been sent to it." msgstr "" #: src/admin.php:1071 msgid "This may fail if you have components that are incompatible with earlier versions." msgstr "" #: src/admin.php:1071 msgid "Warning: you have selected a lower version than your currently installed version." msgstr "" #: src/admin.php:1056 msgid "Adding site to UpdraftCentral Cloud." msgstr "" #: src/admin.php:1056 msgid "Key created." msgstr "" #: src/admin.php:1055 msgid "Requesting UpdraftCentral Key." msgstr "" #: src/admin.php:1055 msgid "Connected." msgstr "" #: src/admin.php:1037 msgid "It would be best to download the zip to your computer." msgstr "" #: src/admin.php:1037 msgid "This could be caused by a timeout." msgstr "" #: src/admin.php:1037 msgid "Unable to download file." msgstr "" #: src/admin.php:1033 msgid "Please check the following:" msgstr "" #: src/admin.php:1033 msgid "The file failed to upload." msgstr "" #: src/admin.php:1020 msgid "Please choose a valid UpdraftPlus export file." msgstr "" #: src/admin.php:1020 msgid "Error: The chosen file is corrupt." msgstr "" #: src/admin.php:967 msgid "Please select at least one, and then try again." msgstr "" #: src/admin.php:967 msgid "You did not select any components to restore." msgstr "" #: src/admin.php:950, src/admin.php:951 msgid "This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "" #: src/admin.php:940 msgid "File size" msgstr "" #: src/admin.php:921 msgid "Do not close your browser until it reports itself as having finished." msgstr "" #: src/admin.php:921 msgid "The restore operation has begun." msgstr "" #: src/admin.php:3742 msgid "file %d of %d" msgstr "arquivo %d de %d" #: src/addons/googlecloud.php:626 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud." msgstr "Ainda não foi possível obter um token de acesso do Google - você precisa autorizar ou autorizar novamente sua conexão com o Google Cloud." #: src/addons/googlecloud.php:1319, src/addons/googlecloud.php:1372, #: src/methods/googledrive.php:1507, src/methods/googledrive.php:1684 msgid "Sign in with %s" msgstr "Acessar o %s" #: src/admin.php:3822 msgid "(after %ss)" msgstr "(depois de %ss)" #: src/admin.php:3822 msgid "next resumption: %d" msgstr "próxima retomada: %d" #: src/templates/wp-admin/advanced/site-info.php:113 msgid "Install debugging plugins:" msgstr "Instale plugins de depuração:" #: src/restorer.php:3095 msgid "Old ABSPATH:" msgstr "ABSPATH antiga:" #: src/udaddons/options.php:112 msgid "An update is available for UpdraftPlus - please connect here to gain access to it." msgstr "Uma atualização está disponível para o UpdraftPlus - conecte-se aqui para ter acesso a ela." #: src/templates/wp-admin/settings/upload-backups-modal.php:17 msgid "already uploaded" msgstr "já enviado" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Please check out UpdraftPlus Premium." msgstr "Consulte o UpdraftPlus Premium." #: src/templates/wp-admin/settings/tab-addons.php:115 msgid "Anonymise personal data in your database backups." msgstr "Anonimize dados pessoais em seus backups de banco de dados." #: src/templates/wp-admin/settings/tab-addons.php:113, #: src/templates/wp-admin/settings/tab-addons.php:114 msgid "Anonymisation functions" msgstr "Funções de anonimização" #: src/templates/wp-admin/settings/form-contents.php:281 msgid "For more reporting features, use the Premium version" msgstr "Para mais recursos de relatórios, use a versão Premium" #: src/templates/wp-admin/settings/form-contents.php:277 msgid "Your email backup and a report will be sent to" msgstr "Seu e-mail para o qual serão enviados o backup e um relatório" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "See also the Premium version from our shop." msgstr "Veja também a versão Premium em nossa loja." #: src/templates/wp-admin/settings/exclude-modal.php:93 msgid "Add exclusion rule" msgstr "Adicionar regra de exclusão" #: src/templates/wp-admin/settings/exclude-modal.php:89 msgid "at the end of their names" msgstr "no final de seus nomes" #: src/templates/wp-admin/settings/exclude-modal.php:88 msgid "anywhere in their names" msgstr "em qualquer lugar em seus nomes" #: src/templates/wp-admin/settings/exclude-modal.php:87 msgid "at the beginning of their names" msgstr "no início de seus nomes" #: src/templates/wp-admin/settings/exclude-modal.php:85 msgid "these characters" msgstr "estes caracteres" #: src/templates/wp-admin/settings/exclude-modal.php:83 msgid "All files/directories containing " msgstr "Todos os arquivos/diretórios contendo" #: src/templates/wp-admin/settings/exclude-modal.php:76 msgid "Select the folder in which the files or sub-directories you would like to exclude are located" msgstr "Selecione a pasta na qual estão localizados os arquivos ou subdiretórios que você deseja excluir" #: src/templates/wp-admin/settings/exclude-modal.php:71 msgid "All files/directories containing the given characters in their names" msgstr "Todos os arquivos/diretórios contendo os caracteres fornecidos em seus nomes" #: src/templates/wp-admin/settings/exclude-modal.php:18 msgid "Files/Directories containing the given characters in their names" msgstr "Arquivos/diretórios contendo os caracteres fornecidos em seus nomes" #: src/templates/wp-admin/notices/horizontal-notice.php:25 msgid "Never" msgstr "Nunca" #: src/templates/wp-admin/notices/horizontal-notice.php:22 msgid "Maybe later" msgstr "Talvez mais tarde" #: src/templates/wp-admin/notices/horizontal-notice.php:18 msgid "Ok, you deserve it" msgstr "Ok, você merece isto" #: src/templates/wp-admin/advanced/site-info.php:69 msgid "Current SQL mode:" msgstr "Modo SQL atual:" #: src/templates/wp-admin/advanced/site-info.php:42 msgid "UpdraftClone image:" msgstr "Imagem do UpdraftClone:" #: src/options.php:229 msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium." msgstr "O WordPress Multisite é suportado, com recursos extras, pelo UpdraftPlus Premium." #: src/methods/s3generic.php:206 msgid "Virtual-host style" msgstr "Estilo de hospedagem virtual" #: src/methods/s3generic.php:205 msgid "Path style" msgstr "Estilo do caminho" #: src/methods/s3generic.php:203 msgid "Read more about bucket access style" msgstr "Leia mais sobre o estilo de acesso ao bucket" #: src/methods/s3generic.php:202 msgid "Bucket access style" msgstr "Estilo de acesso ao bucket" #: src/methods/s3.php:1397 msgid "Failure: No endpoint details were given." msgstr "Falha: Nenhum detalhe de endpoints foi fornecido." #: src/methods/ftp.php:120 msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version." msgstr "Se você deseja criptografia (por exemplo, está armazenando dados comerciais confidenciais), um complemento está disponível na versão Premium." #: src/methods/email.php:111 msgid "For more options, use Premium" msgstr "Para mais opções, use o Premium" #: src/methods/dropbox.php:604 msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s" msgstr "Se você fizer backup de vários sites no mesmo Dropbox e quiser organizar com subpastas, %sconfira o Premium%s" #: src/methods/backup-module.php:745 msgid "Complete manual authentication" msgstr "Concluir autenticação manual" #: src/methods/backup-module.php:743 msgid "%s authentication code:" msgstr "Código de autenticação do %s:" #: src/methods/backup-module.php:742 msgid "To complete manual authentication, at the orange UpdraftPlus authentication screen select the \"Having problems authenticating?\" link, then copy and paste the code given here." msgstr "Para concluir a autenticação manual, na tela laranja de autenticação do UpdraftPlus, selecione o link \"Está tendo problemas de autenticação?\" e, então, copie e cole o código fornecido aqui." #: src/methods/backup-module.php:741 msgid "If you are having problems authenticating with %s you can manually authorize here." msgstr "Se você estiver tendo problemas de autenticação com %s, você pode autorizar manualmente aqui." #: src/methods/backup-module.php:740 msgid "%s authentication:" msgstr "Autenticação do %s:" #: src/includes/updraftplus-notices.php:274 msgid "The UpdraftPlus Plugin Collection Sale" msgstr "" #: src/includes/updraftplus-notices.php:200 msgid "The WordPress subscription extension for WooCommerce store owners." msgstr "A extensão de assinatura do WordPress para proprietários de lojas WooCommerce." #: src/includes/updraftplus-notices.php:199 msgid "by" msgstr "por" #: src/includes/updraftplus-notices.php:122 msgid "Team Updraft" msgstr "Time Updraft" #: src/includes/updraftplus-notices.php:122 msgid "Thank you so much!" msgstr "Muito obrigado!" #: src/includes/updraftclone/temporary-clone-dash-notice.php:52 msgid "Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date." msgstr "Alerta: Você não tem tokens de clone restantes e nenhuma assinatura, ou uma assinatura que será renovada antes da data de expiração do clone." #: src/includes/class-remote-send.php:728 msgid "The list of existing sites has been removed" msgstr "A lista de sites existentes foi removida" #: src/includes/class-remote-send.php:724 msgid "There was an error while trying to remove the list of existing sites." msgstr "Ocorreu um erro na tentativa de remover a lista de sites existentes." #: src/includes/class-remote-send.php:672 msgid "Clear list of existing sites" msgstr "Limpar a lista dos sites existentes" #: src/includes/class-commands.php:806 msgid "Missing instance id:" msgstr "Id de instância ausente:" #: src/includes/class-commands.php:795 msgid "Missing authentication data:" msgstr "Dados de autenticação ausentes:" #: src/includes/class-commands.php:766 msgid "Manual authentication is not available for this remote storage method" msgstr "A autenticação manual não está disponível para este método de armazenamento remoto" #: src/includes/class-backup-history.php:133 msgid "Or, if they are in remote storage, you can connect that remote storage (in the \"Settings\" tab), save your settings, and use the \"Rescan remote storage\" link." msgstr "Ou, se eles estiverem no armazenamento remoto, você pode conectar esse armazenamento remoto (na aba \"Configurações\"), salvar suas configurações e usar o link \"Verificar novamente o armazenamento remoto\"." #: src/includes/class-backup-history.php:133 msgid "If you have an existing backup that you wish to upload and restore from, then please use the \"Upload backup files\" link above." msgstr "Se você tem um backup existente que deseja enviar e restaurar, então use o link \"Enviar arquivos de backup\" acima." #: src/class-updraftplus.php:5522 msgid "Include all tables not listed below" msgstr "Incluir todas as tabelas não listadas abaixo" #: src/class-updraftplus.php:5506 msgid "Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below)." msgstr "Portanto, as tabelas afetadas no site atual que já existem não serão sobrescritas por padrão, para evitar que sejam corrompidas (você pode rever isto na lista de tabelas abaixo)." #: src/class-updraftplus.php:5504 msgid "Therefore it is advised that you take a fresh backup on the source site, using a later version." msgstr "Portanto, é aconselhável que você faça um novo backup no site de origem, usando uma versão atualizada." #: src/class-updraftplus.php:5506, src/class-updraftplus.php:5504 msgid "This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes)." msgstr "Este backup foi criado em uma versão anterior do UpdraftPlus (%s) que não realizou o backup correto das tabelas com as chaves primárias compostas (como a tabela term_relationships, que armazena tags e atributos do produto)." #: src/class-updraftplus.php:5456 msgid "This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable." msgstr "Este backup é de um site com um prefixo de tabela vazio, que o WordPress não suporta oficialmente. Os resultados podem não ser confiáveis." #: src/class-updraftplus.php:4033 msgid "View log" msgstr "Ver registros" #: src/class-updraftplus.php:4027 msgid "You can view the log by pressing the 'View log' button." msgstr "Você pode ver os registros pressionando o botão \"Ver registros\"." #: src/class-updraftplus.php:3986 msgid "UpdraftPlus on %s" msgstr "UpdraftPlus em %s" #: src/class-updraftplus.php:3294 msgid " Your hosting provider only allows you to take one incremental backup per day." msgstr "Seu provedor de hospedagem permite que você faça apenas um backup incremental por dia." #: src/backup.php:4042 msgid "two unsuccessful attempts were made to include it, and it will now be omitted from the backup" msgstr "duas tentativas sem sucesso foram realizadas para inclusão, e agora serão omitidas no backup." #: src/backup.php:4038 msgid "a second attempt is being made (upon further failure it will be skipped)" msgstr "uma segunda tentativa está sendo realizada (em caso de falha posterior, será ignorada)" #: src/backup.php:1850 msgid "Failed to backup database table:" msgstr "Não foi possível fazer backup da tabela do banco de dados:" #: src/backup.php:1695 msgid "Failed to open directory for reading:" msgstr "Não foi possível abrir o diretório para leitura:" #: src/admin.php:6378 msgid "The download link is broken or the backup file is no longer available" msgstr "O link de download está quebrado ou o arquivo de backup não está mais disponível." #: src/admin.php:6376 msgid "The download link is broken, you may have clicked the link from untrusted source" msgstr "O link de download está quebrado. Você pode ter clicado em um link de uma fonte não confiável." #: src/admin.php:6361 msgid "Due to the restriction, some settings can be automatically adjusted, disabled or not available." msgstr "Devido à restrição, algumas configurações podem estar automaticamente ajustadas, desativadas ou indisponíveis." #: src/admin.php:6359 msgid "Your website is hosted with %s (%s)." msgstr "Seu site é hospedado com %s (%s)." #: src/admin.php:6293 msgid "The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page." msgstr "O seguinte armazenamento remoto (%s) foi configurado apenas parcialmente, se você estiver com problemas, tente autorizar manualmente na página de configurações do UpdraftPlus." #: src/admin.php:6287 msgid "The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support." msgstr "O seguinte armazenamento remoto (%s) foi configurado apenas parcialmente e a autorização manual não é suportada com este armazenamento remoto. Tente novamente e, se o problema persistir, entre em contato com o suporte." #: src/admin.php:6151 msgid "more info" msgstr "mais informações" #: src/admin.php:5537 msgid "The following remote storage options are configured." msgstr "As seguintes opções de armazenamento remoto estão configuradas." #: src/admin.php:5534 msgid "No remote storage locations with valid options found." msgstr "Não foram encontrados locais de armazenamento remoto com opções válidas." #: src/admin.php:5123 msgid "This may prevent the restore procedure from being able to proceed." msgstr "Isto pode impedir que o procedimento de restauração possa prosseguir." #: src/admin.php:4330 msgid "(the asterisk character matches zero or more characters)" msgstr "(o caractere asterisco corresponde a zero ou mais caracteres)" #: src/admin.php:1491, src/admin.php:1498 msgid "UpdraftPlus notice" msgstr "Aviso do UpdraftPlus" #: src/admin.php:1299 msgid "Premium / Pro Support" msgstr "Suporte Premium / Pro" #: src/admin.php:1153 msgid "The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars)." msgstr "O número de opções de restauração que serão enviadas excede o máximo configurado em sua configuração do PHP (max_input_vars)." #: src/admin.php:1148 msgid "is not" msgstr "não é" #: src/admin.php:1144 msgid "is" msgstr "é" #: src/admin.php:1138 msgid "Day of the month" msgstr "Dia do mês" #: src/admin.php:1134 msgid "Day of the week" msgstr "Dia da semana" #: src/admin.php:1128 msgid "if all of the following conditions are matched:" msgstr "se todas as condições a seguir forem atendidas:" #: src/admin.php:1124 msgid "if any of the following conditions are matched:" msgstr "se alguma das seguintes condições for atendida:" #: src/admin.php:1120 msgid "on every backup" msgstr "a cada backup" #: src/admin.php:1114 msgid "Your hosting provider only allows you to take one incremental backup per day." msgstr "Seu provedor de hospedagem permite que você faça apenas um backup incremental por dia." #: src/admin.php:1114, src/class-updraftplus.php:3294 msgid "You have reached the daily limit for the number of incremental backups you can create at this time." msgstr "Você atingiu o limite diário para o número de backups incrementais que você pode criar neste momento." #: src/admin.php:1113, src/admin.php:1114, src/class-updraftplus.php:3297, #: src/class-updraftplus.php:3294 msgid "Please contact your hosting company (%s) if you require further support." msgstr "Entre em contato com a sua empresa de hospedagem (%s) se você precisar de mais suporte." #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "Your hosting provider only allows you to take one backup per month." msgstr "Seu provedor de hospedagem permite que você faça apenas um backup por mês." #: src/admin.php:1113, src/class-updraftplus.php:3297 msgid "You have reached the monthly limit for the number of backups you can create at this time." msgstr "Você atingiu o limite mensal para o número de backups que você pode criar neste momento." #: src/admin.php:1102 msgid "Restoring stored routine: %s" msgstr "Restaurando rotina armazenada: %s" #: src/admin.php:1082 msgid "Please enter part of the file name" msgstr "Digite parte do nome do arquivo" #: src/admin.php:1013 msgid "Loading..." msgstr "Carregando..." #: src/admin.php:969 msgid "Exit full-screen" msgstr "Sair da tela cheia" #: src/admin.php:968, src/admin.php:5155 msgid "Full-screen" msgstr "Tela cheia" #: src/admin.php:920 msgid "You have chosen to send this backup to remote storage, but no remote storage locations have been selected" msgstr "Você optou por enviar este backup para armazenamento remoto, mas nenhum local de armazenamento remoto foi selecionado" #: src/addons/wp-cli.php:1085 msgid "You successfully logged in to UpdraftPlus.Com and connected this plugin with your account" msgstr "Você se conectou com sucesso ao UpdraftPlus.Com e conectou este plugin à sua conta" #: src/addons/wp-cli.php:1070 msgid "Please wait while connecting to UpdraftPlus.com ..." msgstr "Aguarde a conexão ao UpdraftPlus.com..." #: src/addons/wp-cli.php:1065 msgid "The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another process" msgstr "A tentativa de abrir e ler o conteúdo do arquivo de senha falhou. Verifique se o arquivo é legível e não está sendo bloqueado exclusivamente por outro processo" #: src/addons/wp-cli.php:1062 msgid "The password file you specified doesn't exist; please check the --password-file parameter." msgstr "O arquivo de senha que você especificou não existe, verifique o parâmetro --password-file." #: src/addons/wp-cli.php:1059 msgid "The email address provided appears to be invalid, please double-check your email address again and try again." msgstr "O endereço de e-mail fornecido parece ser inválido. Verifique novamente seu endereço de e-mail e tente novamente." #: src/addons/wp-cli.php:654 msgid "Failed to search and replace" msgstr "Não foi possível pesquisar e substituir" #: src/addons/wp-cli.php:652 msgid "Search and replace successful" msgstr "Pesquisa e substituição bem-sucedida" #: src/addons/wp-cli.php:650 msgid "Failed to search and replace:" msgstr "Não foi possível pesquisar e substituir:" #: src/addons/wp-cli.php:599 msgid "Failed to create UpdraftCentral key" msgstr "Não foi possível criar a chave UpdraftCentral" #: src/addons/wp-cli.php:596 msgid "UpdraftCentral key created:" msgstr "Chave UpdraftCentral criada:" #: src/addons/s3-enhanced.php:439 msgid "China (Ningxia) (restricted)" msgstr "China (Ningxia) (restrito)" #: src/addons/s3-enhanced.php:437 msgid "Asia Pacific (Hong Kong)" msgstr "Ásia-Pacífico (Hong Kong)" #: src/addons/s3-enhanced.php:436 msgid "Asia Pacific (Osaka-Local) (restricted)" msgstr "Ásia-Pacífico (Osaka-Local) (restrito)" #: src/addons/s3-enhanced.php:430 msgid "Africa (Cape Town)" msgstr "África (Cidade do Cabo)" #: src/addons/s3-enhanced.php:427 msgid "Europe (Milan)" msgstr "Europa (Milão)" #: src/addons/s3-enhanced.php:417 msgid "US East (N. Virginia) (default)" msgstr "Leste dos EUA (Norte da Virgínia) (padrão)" #: src/admin.php:911, src/addons/reporting.php:549 msgid "When email storage method is enabled, and an email address is entered, also send the backup" msgstr "Quando o método de armazenamento de e-mail estiver ativado e um endereço de e-mail for inserido, envie também o backup" #: src/addons/reporting.php:462 msgid "Send reports" msgstr "Enviar relatórios" #: src/addons/morestorage.php:105 msgid "Send scheduled backups to this destination:" msgstr "Enviar backups agendados para este destino:" #: src/addons/moredatabase.php:461, src/addons/morefiles.php:902 msgid "Deselect all" msgstr "Desmarcar tudo" #: src/addons/moredatabase.php:460 msgid "Select all (this site)" msgstr "Selecionar tudo (este site)" #: src/addons/googlecloud.php:1146 msgid "The specified bucket was not found." msgstr "O bucket especificado não foi encontrado." #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96, #: src/templates/wp-admin/notices/horizontal-notice.php:70 msgid "Learn more" msgstr "Saiba mais" #: src/addons/anonymisation.php:44, src/addons/anonymisation.php:68, #: src/addons/anonymisation.php:96 msgid "Anonymize personal data for all users except staff" msgstr "Anonimizar dados pessoais para todos os usuários, exceto funcionários" #: src/addons/anonymisation.php:42, src/addons/anonymisation.php:66, #: src/addons/anonymisation.php:91 msgid "Anonymize personal data for all users except the logged-in user" msgstr "Anonimizar dados pessoais para todos os usuários, exceto o usuário conectado" #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup." msgstr "Note que informações anonimizadas não podem ser recuperadas. Os dados originais não anônimos estarão ausentes do backup." #: src/addons/anonymisation.php:39, src/addons/anonymisation.php:64 msgid "These options can anonymize personal data in your database backup." msgstr "Essas opções podem anonimizar dados pessoais em seu backup de banco de dados." #: src/udaddons/options.php:543 msgid "Buy %s" msgstr "Comprar %s" #: src/udaddons/options.php:542 msgid "Get %s from the UpdraftPlus.com Store" msgstr "Obtenha %s da Loja UpdraftPlus.com" #: src/udaddons/options.php:295 msgid "Go to your UpdraftCentral Cloud dashboard" msgstr "Acesse o painel do UpdraftCentral Cloud" #: src/udaddons/options.php:294 msgid "You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud." msgstr "Você fez login com sucesso no UpdraftPlus e conectou este site ao UpdraftCentral Cloud." #: src/templates/wp-admin/settings/take-backup.php:90 msgid "Perform a backup" msgstr "Fazer um backup" #: src/templates/wp-admin/settings/tab-addons.php:324 msgid "More great plugins by the Updraft Team" msgstr "Mais plugins excelentes da equipe Updraft" #: src/templates/wp-admin/settings/tab-addons.php:128 msgid "Allows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup." msgstr "Permite fazer backup apenas das alterações em seus arquivos (como uma nova imagem) que foram feitas em seu site desde o último backup." #: src/templates/wp-admin/settings/tab-addons.php:126, #: src/templates/wp-admin/settings/tab-addons.php:127 msgid "Incremental backups" msgstr "Backups incrementais" #: src/templates/wp-admin/settings/tab-addons.php:57 msgid "Follow this link to the installation instructions (particularly step 1)." msgstr "Acesse este link para instruções de instalação (particularmente a etapa 1)." #: src/templates/wp-admin/settings/tab-addons.php:56 msgid "You successfully purchased UpdraftPremium." msgstr "Você comprou o UpdraftPremium com sucesso." #: src/templates/wp-admin/settings/tab-addons.php:39 msgid "Goes to updraftplus.com checkout page" msgstr "Ir para a página de finalização de compra do updraftplus.com" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Goes to the updraftplus.com checkout page" msgstr "Ir para a página de finalização de compra do updraftplus.com" #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get %s here" msgstr "Obtenha %s aqui" #: src/templates/wp-admin/settings/form-contents.php:326 msgid "The higher the value, the more server resources are required to create the archive." msgstr "Quanto mais alto o valor, mais recursos de servidor são necessários para criar o arquivo." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "to take incremental backups" msgstr "para fazer backups incrementais" #: src/templates/wp-admin/settings/form-contents.php:76 msgid "Retain this many scheduled database backups" msgstr "Reter este tanto de backups agendados de banco de dados" #: src/templates/wp-admin/settings/form-contents.php:42 msgid "Retain this many scheduled file backups" msgstr "Reter este tanto de backups agendados de arquivos" #: src/templates/wp-admin/settings/file-backup-exclude.php:18 msgid "Add an exclusion rule for %s" msgstr "Adicionar uma regra de exclusão para %s" #: src/templates/wp-admin/settings/existing-backups-table.php:170 msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between" msgstr "Use \"ctrl / cmd + clique\" para selecionar vários itens ou \"ctrl / cmd + shift + clique\" para selecionar tudo no intervalo" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect all backups" msgstr "Desselecionar todos os backups" #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all backups" msgstr "Selecionar todos os backups" #: src/templates/wp-admin/settings/existing-backups-table.php:167 msgid "Delete selected backups" msgstr "Excluir os backups selecionados" #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show all backups..." msgstr "Mostrar todos os backups..." #: src/templates/wp-admin/settings/existing-backups-table.php:158 msgid "Show more backups..." msgstr "Mostrar mais backups..." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:63 msgid "Choose the components to restore:" msgstr "Escolha os componentes para restaurar:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "Restore files from" msgstr "Restaurar arquivos de" #: src/templates/wp-admin/settings/backupnow-modal.php:20, #: src/templates/wp-admin/settings/backupnow-modal.php:67 msgid "Find out more about incremental backups here." msgstr "Saiba mais sobre backups incrementais aqui." #: src/templates/wp-admin/settings/backupnow-modal.php:17 msgid "Incremental backups are a feature of %s (upgrade by following this link)." msgstr "Backups incrementais são um recurso do %s (atualize acessando este link)." #: src/templates/wp-admin/settings/backupnow-modal.php:13 msgid "Take an incremental backup" msgstr "Fazer um backup incremental" #: src/templates/wp-admin/settings/backupnow-modal.php:12 msgid "Take a new backup" msgstr "Fazer um novo backup" #: src/restorer.php:4008 msgid "The Database connection has been closed and cannot be reopened." msgstr "A conexão do banco de dados foi fechada e não pode ser reaberta." #: src/restorer.php:3661 msgid "Skipping table %s: already restored on a prior run; next table to restore: %s" msgstr "Ignorando a tabela %s: já restaurada em uma execução anterior. Próxima tabela para restaurar: %s " #: src/restorer.php:3658 msgid "Skipping table %s: user has chosen not to restore this table" msgstr "Ignorando a tabela %s: o usuário optou por não restaurar esta tabela" #: src/restorer.php:2557 msgid "Found and replaced existing table foreign key constraints as the table prefix has changed." msgstr "As restrições de chave estrangeira da tabela existente foram localizadas e substituídas já que o prefixo da tabela foi alterado." #: src/restorer.php:2400 msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s" msgstr "Um erro ocorreu na tentativa de configurar um novo valor para a variável %s log_bin_trust_function_creators global do MySQL" #: src/restorer.php:2393 msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s" msgstr "Um erro ocorreu na tentativa de obter a variável %s log_bin_trust_function_creators global do MySQL" #: src/restorer.php:1255 msgid "The directory does not exist, and the attempt to create it failed" msgstr "O diretório não existe e não foi possível criá-lo" #: src/restorer.php:852 msgid "Could not delete old path." msgstr "Não foi possível excluir o caminho antigo." #: src/methods/updraftvault.php:527 msgid "Follow this link for help" msgstr "Acesse este link para ajuda" #: src/methods/updraftvault.php:522 msgid "Please enter your %s password" msgstr "Digite sua senha do %s" #: src/methods/updraftvault.php:520 msgid "Please enter your %s email address" msgstr "Digite seu endereço de e-mail do %s" #: src/methods/updraftvault.php:491 msgid "Start Subscription" msgstr "Iniciar assinatura" #: src/methods/updraftvault.php:492, src/methods/updraftvault.php:493, #: src/methods/updraftvault.php:494 msgid "Start %s Subscription" msgstr "Iniciar a assinatura do %s" #: src/methods/updraftvault.php:495 msgid "Start Trial" msgstr "Iniciar teste" #: src/methods/updraftvault.php:496 msgid "Start %s Trial" msgstr "Iniciar a avaliação do %s" #: src/methods/updraftvault.php:507, src/methods/updraftvault.php:508, #: src/methods/updraftvault.php:509, src/methods/updraftvault.php:510 msgid "Start a %s UpdraftVault Subscription" msgstr "Iniciar uma assinatura %s do UpdraftVault" #: src/methods/updraftvault.php:503 msgid "%s month %s trial" msgstr "teste de %s mês por %s" #: src/methods/updraftvault.php:498 msgid "with the option of" msgstr "com a opção de" #: src/methods/updraftvault.php:486 msgid "Read more about %s here." msgstr "Leia mais sobre o %s aqui." #: src/methods/updraftvault.php:483 msgid "Connect to your %s account" msgstr "Conecte-se à sua conta do %s" #: src/methods/updraftvault.php:482 msgid "Already got space?" msgstr "Já tem espaço?" #: src/methods/updraftvault.php:480 msgid "Need to get space?" msgstr "Precisa de espaço?" #: src/methods/s3.php:184, src/methods/s3.php:185, src/methods/s3.php:196, #: src/methods/s3.php:197 msgid "Error: Failed to initialise" msgstr "Erro: Não foi possível inicializar" #: src/methods/ftp.php:184 msgid "upload failed" msgstr "não foi possível enviar" #: src/methods/ftp.php:157, src/methods/ftp.php:325 msgid "login failure" msgstr "falha no acesso" #: src/methods/cloudfiles.php:228, src/methods/cloudfiles.php:229 msgid "error - failed to upload file" msgstr "erro - não foi possível enviar arquivo" #: src/methods/cloudfiles.php:221 msgid "error - failed to re-assemble chunks" msgstr "erro - não foi possível remontar pedaços" #: src/methods/cloudfiles.php:113, src/methods/cloudfiles.php:358, #: src/methods/cloudfiles.php:370 msgid "error - failed to create and access the container" msgstr "erro - não foi possível criar e acessar o contêiner" #: src/methods/cloudfiles.php:105, src/methods/cloudfiles.php:109, #: src/methods/cloudfiles.php:302, src/methods/cloudfiles.php:350, #: src/methods/cloudfiles.php:354 msgid "authentication failed" msgstr "a autenticação falhou" #: src/includes/updraftplus-tour.php:189 msgid "Otherwise, you can try UpdraftVault for 1 month for only $1!" msgstr "Caso contrário, você pode testar o UpdraftVault por um mês por apenas $1!" #: src/includes/updraftplus-tour.php:188 msgid "If you have a valid Premium license, you get 1GB of storage included." msgstr "Se você tem uma licença Premium, você ganha 1GB de armazenamento incluso." #: src/includes/updraftplus-tour.php:135 msgid "Try UpdraftVault for 1 month for only $1!" msgstr "Teste o UpdraftVault por 1 mês por apenas $1!" #: src/includes/updraftplus-notices.php:189 msgid "manages all your WordPress sites at once from one place" msgstr "gerencia todos os seus sites WordPress de uma vez de um único local" #: src/includes/updraftplus-notices.php:189 msgid "Many sites?" msgstr "Muitos sites?" #: src/includes/updraftplus-notices.php:188 msgid "handles updates automatically as you want them" msgstr "lida com as atualizações automaticamente como você deseja" #: src/includes/updraftplus-notices.php:188 msgid "Save time" msgstr "Economize tempo" #: src/includes/updraftplus-notices.php:187 msgid "backs up automatically when you update plugins, themes or core" msgstr "faz backup automaticamente quando você atualiza plugins, temas ou arquivos básicos" #: src/includes/updraftplus-notices.php:187 msgid "Be safe" msgstr "Esteja a salvo" #: src/includes/updraftplus-notices.php:186 msgid "Make updates easy with UpdraftPlus" msgstr "Faça atualizações facilmente com o UpdraftPlus" #: src/includes/updraftplus-clone.php:107 msgid "Clone of %s" msgstr "Clone de %s" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "%d token" msgid_plural "%d tokens" msgstr[0] "" "Singular:\n" "%d token" msgstr[1] "" "Plural:\n" "%d tokens" #: src/includes/updraftclone/temporary-clone-dash-notice.php:36 msgid "%s from now" msgstr "%s a partir de agora" #: src/includes/class-wpadmin-commands.php:217 msgid "This backup set contains incremental backups of your files; please select the time you wish to restore your files to" msgstr "Este conjunto de backup contém backups incrementais de seus arquivos; selecione a hora em que deseja restaurar seus arquivos" #: src/includes/class-filesystem-functions.php:558 msgid "Unzip progress: %d out of %d files" msgstr "Progresso de descompactação: %d de %d arquivos" #: src/includes/class-database-utility.php:675 msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)" msgstr "Ocorreu um erro ao tentar recuperar rotina de instrução SQL/DDL (%s %s)" #: src/includes/class-database-utility.php:663 msgid "An error occurred while attempting to retrieve routine status (%s %s)" msgstr "Ocorreu um erro ao tentar recuperar o status da rotina (%s %s)" #: src/includes/class-database-utility.php:595 msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)" msgstr "Ocorreu um erro ao tentar verificar o suporte de criação de rotinas armazenadas (%s %s)" #: src/class-updraftplus.php:5514 msgid "If you do not want to restore all your database tables, then choose some to exclude here." msgstr "Se você não quer restaurar todas as suas tabelas, então escolha algumas para excluir aqui." #: src/class-updraftplus.php:5209 msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc are compatible with the new %s version." msgstr "" #: src/class-updraftplus.php:5209 msgid "This is older than the server which you are now restoring onto (version %s)." msgstr "Isto é mais antigo do que o servidor no qual você está restaurando (versão %s)." #: src/class-updraftplus.php:3781 msgid "Incomplete" msgstr "Incompleto" #: src/class-updraftplus.php:2501 msgid "The backup is being aborted for a repeated failure to progress." msgstr "O backup está sendo abortado devido a uma falha repetida de progresso." #: src/class-updraftplus.php:698 msgid "Under Maintenance" msgstr "Em Manutenção" #: src/admin.php:6304, src/admin.php:6302 msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage." msgstr "Você solicitou salvar no armazenamento remoto (%s), mas sem inserir nenhuma configuração para esse armazenamento." #: src/admin.php:6151 msgid "Clone package" msgstr "Pacote clone" #: src/admin.php:6138 msgid "An empty WordPress install" msgstr "Uma instalação vazia de WordPress" #: src/admin.php:6137 msgid "This current site" msgstr "Este site atual" #: src/admin.php:6135 msgid "Clone:" msgstr "Clone:" #: src/admin.php:5161, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:96 msgid "Component selection" msgstr "" #: src/admin.php:5155 msgid "Activity log" msgstr "Registro de atividades" #: src/admin.php:5148 msgid "Cleaning" msgstr "Limpando" #: src/admin.php:5139 msgid "Verifying" msgstr "Verificando…" #: src/admin.php:5136 msgid "Restoration progress:" msgstr "Progresso da restauração:" #: src/admin.php:5126, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:30 msgid "UpdraftPlus Restoration" msgstr "Restauração UpdraftPlus" #: src/admin.php:4607 msgid "(%d archive(s) in set, total %s)." msgstr "(%d arquivos(s) no conjunto, total %s)." #: src/admin.php:3429 msgid "Learn more about UpdraftCentral" msgstr "Aprenda mais sobre o UpdraftCentral" #: src/admin.php:3429 msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites." msgstr "Adicionar este site ao UpdraftCentral (controle remoto e centralizado) - gratuito para até 5 sites." #: src/admin.php:2971, src/admin.php:3895, src/admin.php:5091, #: src/admin.php:5080, src/admin.php:5068, src/admin.php:5334, #: src/admin.php:6293, src/admin.php:6304 msgid "Return to UpdraftPlus configuration" msgstr "Voltar para a configuração do UpdraftPlus" #: src/admin.php:2465 msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to." msgstr "" #: src/includes/class-http-error-descriptions.php:72 msgid "Service Unavailable" msgstr "" #: src/admin.php:1110 msgid "Please check the error log for more details" msgstr "Verifique o registro de erros para mais detalhes" #: src/admin.php:1109 msgid "Missing pages:" msgstr "Páginas que faltam:" #: src/admin.php:1108 msgid "Restore error:" msgstr "Erro de restauração:" #: src/admin.php:1107 msgid "Attempts by the browser to contact the website failed." msgstr "As tentativas do navegador de entrar em contato com o site falharam." #: src/admin.php:1106 msgid "Preparing backup files" msgstr "Preparando arquivos de backup" #: src/admin.php:1105 msgid "Downloading backup files if needed" msgstr "Baixando backup" #: src/admin.php:1104 msgid "Begun" msgstr "Iniciou" #: src/admin.php:1103, src/admin.php:5149 msgid "Finished" msgstr "Concluído" #: src/admin.php:1100 msgid "Restoring %s1 files out of %s2" msgstr "Restaurando %s1 arquivos de %s2" #: src/admin.php:1099 msgid "no recent activity; will offer resumption after: %d seconds" msgstr "nenhuma atividade recente; oferecerá retomada após: %d segundos" #: src/admin.php:1098 msgid "last activity: %d seconds ago" msgstr "última atividade: %d segundos atrás" #: src/admin.php:1095 msgid "credentials" msgstr "credenciais" #: src/admin.php:1093 msgid "Try it - 1 month for $1!" msgstr "Teste - 1 mês por $1!" #: src/admin.php:1089 msgid "Try UpdraftVault!" msgstr "Experimente o UpdraftVault!" #: src/admin.php:1088 msgid "You have not selected a restore path for your chosen backups" msgstr "Você não selecionou o caminho de restauração para os seus backups escolhidos" #: src/admin.php:1086 msgid "File backup options" msgstr "Opções de backup de arquivos" #: src/admin.php:1063 msgid "Verifying one-time password..." msgstr "Verificando a senha de uso único…" #: src/admin.php:1058 msgid "Login successful; reloading information." msgstr "Acesso bem-sucedido, recarregando informação." #: src/admin.php:938, src/admin.php:2294, #: src/templates/wp-admin/settings/downloading-and-restoring.php:21, #: src/templates/wp-admin/settings/tab-backups.php:21, #: src/templates/wp-admin/settings/tab-backups.php:44 msgid "Existing backups" msgstr "Backups existentes" #: src/admin.php:664 msgid "Dismiss notice" msgstr "Dispensar aviso" #: src/admin.php:664 msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits." msgstr "Você pode testar a execução do seu site em uma versão diferente do PHP (ou WordPress) usando os créditos do UpdraftClone." #: src/admin.php:652 msgid "dismiss notice" msgstr "dispensar aviso" #: src/admin.php:652 msgid "go here to learn more" msgstr "acesse para aprender mais" #: src/admin.php:652 msgid "You can test upgrading your site on an instant copy using UpdraftClone credits" msgstr "Você pode testar a atualização do seu site em uma cópia instantânea usando os créditos do UpdraftClone" #: src/addons/wp-cli.php:1020 msgid "There are no incremental backup restore points available." msgstr "Não há pontos de restauração de backup incremental disponíveis." #: src/addons/wp-cli.php:1015 msgid "Timestamp" msgstr "Carimbo de data e hora" #: src/addons/wp-cli.php:742 msgid "No valid components found, please select different components or a backup set with components that can be restored." msgstr "Nenhum componente válido encontrado, selecione componentes diferentes ou um conjunto de backup com componentes que podem ser restaurados." #: src/addons/sftp.php:238, src/methods/cloudfiles.php:199, #: src/methods/cloudfiles.php:157, src/methods/openstack-base.php:81 msgid "Error: Failed to upload" msgstr "Erro: não foi possível enviar" #: src/addons/s3-enhanced.php:429 msgid "Middle East (Bahrain)" msgstr "Oriente Médio (Bahrein)" #: src/addons/s3-enhanced.php:428 msgid "Europe (Stockholm)" msgstr "Europa (Estocolmo)" #: src/addons/s3-enhanced.php:80 msgid "Read more about server-side encryption" msgstr "Leia mais sobre criptografia do lado do servidor" #: src/addons/s3-enhanced.php:77 msgid "Intelligent Tiering" msgstr "Enfileiramento inteligente" #: src/addons/morefiles.php:1010 msgid "Restore location found for:" msgstr "Local de restauração encontrado para:" #: src/addons/morefiles.php:1008 msgid "Restore location does not exist on the filesystem for:" msgstr "O local de restauração não existe no sistema de arquivos para:" #: src/addons/morefiles.php:836 msgid "Please select the more files backups that you wish to restore:" msgstr "Selecione os backups de mais arquivos que você deseja restaurar:" #: src/addons/moredatabase.php:267 msgid "If you enter a table prefix, then only tables that begin with this prefix will be backed up." msgstr "Se você inserir um prefixo de tabela, apenas será feito o backup de tabelas que começam com este prefixo." #: src/addons/moredatabase.php:267, src/addons/moredatabase.php:267 msgid "Enter table prefix" msgstr "Digite o prefixo da tabela" #: src/addons/moredatabase.php:266 msgid "Enter database" msgstr "Digite o banco de dados" #: src/addons/moredatabase.php:266 msgid "Enter database." msgstr "Digite o banco de dados." #: src/addons/moredatabase.php:265 msgid "Enter password" msgstr "Digite a senha" #: src/addons/moredatabase.php:265 msgid "Enter password." msgstr "Digite a senha." #: src/addons/moredatabase.php:264 msgid "Enter username" msgstr "Digite o nome de usuário" #: src/addons/moredatabase.php:264 msgid "Enter username." msgstr "Digite o nome de usuário." #: src/addons/moredatabase.php:263 msgid "Enter host" msgstr "Digite o host" #: src/addons/moredatabase.php:263 msgid "Enter host." msgstr "Digite o host." #: src/addons/incremental.php:297 msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to." msgstr "Nenhum backup incremental de seus arquivos é possível, pois nenhum backup existente adequado foi encontrado para adicionar incrementos." #: src/addons/incremental.php:295 msgid "N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately." msgstr "Note que nenhum backup de seu banco de dados será feito em um backup incremental. Se você também quiser um backup de banco de dados, faça isso separadamente." #: src/addons/incremental.php:295 msgid "Files changed since the last backup will be added as a new increment in that backup set." msgstr "Os arquivos alterados desde o último backup serão adicionados como um novo incremento nesse conjunto de backup." #: src/addons/googlecloud.php:1315 msgid "Read more about bucket locations" msgstr "Leia mais sobre localizações de buckets" #: src/addons/googlecloud.php:1311, src/addons/s3-enhanced.php:72 msgid "Read more about storage classes" msgstr "Leia mais sobre classes de armazenamento" #: src/addons/googlecloud.php:346, src/methods/googledrive.php:1459 msgid "download: failed: file not found" msgstr "Falha no download: arquivo não encontrado" #: src/addons/googlecloud.php:223, src/addons/googlecloud.php:228, #: src/methods/cloudfiles.php:140, src/methods/googledrive.php:1287, #: src/methods/googledrive.php:1293 msgid "Error: Failed to open local file" msgstr "Erro: Não foi possível abrir o arquivo local" #: src/addons/fixtime.php:570 msgid "Start time" msgstr "Horário de início" #: src/addons/fixtime.php:552 msgid "Day to run backups" msgstr "Dia para fazer backups" #: src/addons/fixtime.php:310 msgid "Add an additional file retention rule" msgstr "Adicionar uma regra de retenção de arquivo adicional" #: src/addons/fixtime.php:305 msgid "Add an additional database retention rule" msgstr "Adicionar uma regra de retenção de banco de dados adicional" #: src/addons/backblaze.php:783 msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)" msgstr "Isso é necessário se, e somente se, sua chave de aplicativo for uma chave de aplicativo específica do bucket (não uma chave mestra)" #: src/addons/backblaze.php:782 msgid "Bucket application key ID" msgstr "ID da chave do aplicativo do bucket" #: src/addons/backblaze.php:778 msgid "Master Application Key ID" msgstr "ID da chave do aplicativo mestre" #: src/addons/backblaze.php:777 msgid "For help configuring %s, including screenshots, follow this link." msgstr "Para obter ajuda na configuração do %s, incluindo capturas de tela, acesse este link." #: src/addons/azure.php:706 msgid "Azure China" msgstr "Azure China" #: src/admin.php:6121 msgid "Clone region:" msgstr "Região do clone:" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "go here" msgstr "entre aqui" #: src/udaddons/updraftplus-addons.php:334, #: src/udaddons/updraftplus-addons.php:348 msgid "If you have already renewed, then you need to allocate a licence to this site - %s" msgstr "Se você já renovou, então precisa alocar uma licença para este site - %s" #: src/addons/onedrive.php:924 msgid "Authentication" msgstr "Autenticação" #: src/admin.php:1051 msgid "You must select at least one remote storage destination to upload this backup set to." msgstr "Você deve selecionar pelo menos um destino de armazenamento remoto para o qual este conjunto de backup será enviado." #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Read more about Easy Updates Manager" msgstr "Leia mais sobre o Easy Updates Manager" #: src/templates/wp-admin/settings/temporary-clone.php:73 msgid "You can find out more about clone keys here." msgstr "Você pode descobrir mais sobre chaves de clonagem aqui." #: src/templates/wp-admin/settings/temporary-clone.php:62 msgid "Or, use an UpdraftClone key" msgstr "Ou utilize uma chave do UpdraftClone" #: src/restorer.php:3350 msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()." msgstr "SET NAMES %s foram encontrados, mas trocados para %s como sugerido pelo WPDB::determine_charset()." #: src/admin.php:1084 msgid "UpdraftClone key is required." msgstr "A chave do UpdraftClone é obrigatória." #: src/admin.php:1073 msgid "The preparation of the clone data has been aborted." msgstr "A preparação dos dados do clone foi abortada." #: src/addons/azure.php:705 msgid "Azure Government" msgstr "Azure Government" #: src/templates/wp-admin/settings/form-contents.php:367 msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update." msgstr "Pede que o WordPress atualize automaticamente o UpdraftPlus quando houver uma atualização disponível." #: src/templates/wp-admin/settings/form-contents.php:366 msgid "Automatic updates" msgstr "Atualizações automáticas" #: src/restorer.php:2959, src/restorer.php:2908 msgid "Your database user does not have permission to drop tables" msgstr "Seu usuário de banco de dados não tem permissão para excluir tabelas" #: src/admin.php:3418 msgid "Ask WordPress to update UpdraftPlus automatically when an update is available" msgstr "Pedir ao WordPress que atualize o UpdraftPlus automaticamente quando uma atualização estiver disponível" #: src/addons/googlecloud.php:1289 msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked" msgstr "Você deve adicionar o seguinte como sendo a URI de redirecionamento autorizada (em \"Mais Opções\") quando solicitado" #: src/addons/googlecloud.php:62 msgid "Frankfurt" msgstr "Frankfurt" #: src/addons/googlecloud.php:61 msgid "London" msgstr "Londres" #: src/addons/googlecloud.php:60 msgid "Belgium" msgstr "Bélgica" #: src/addons/googlecloud.php:59 msgid "Sydney" msgstr "Sydney" #: src/addons/googlecloud.php:58 msgid "Singapore" msgstr "Cingapura" #: src/addons/googlecloud.php:57 msgid "Tokyo" msgstr "Tóquio" #: src/addons/googlecloud.php:56 msgid "Taiwan" msgstr "Taiwan" #: src/addons/googlecloud.php:55 msgid "Oregon" msgstr "Óregon" #: src/addons/googlecloud.php:54 msgid "North Virginia" msgstr "Virgínia do Norte" #: src/addons/googlecloud.php:53 msgid "South Carolina" msgstr "Carolina do Sul" #: src/addons/googlecloud.php:52 msgid "Iowa" msgstr "Iowa" #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Confirm change" msgstr "Confirmar alteração" #: src/templates/wp-admin/settings/file-backup-exclude.php:18, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3 msgid "Add an exclusion rule" msgstr "Adicionar uma regra de exclusão" #: src/templates/wp-admin/settings/exclude-modal.php:62 msgid "Type a file prefix" msgstr "Digitar um prefixo de arquivo" #: src/templates/wp-admin/settings/exclude-modal.php:59, #: src/templates/wp-admin/settings/exclude-modal.php:61 msgid "All files beginning with these characters" msgstr "Todos os arquivos iniciando com estes caracteres" #: src/templates/wp-admin/settings/exclude-modal.php:50 msgid "Type an extension like zip" msgstr "Digite uma extensão como zip" #: src/templates/wp-admin/settings/exclude-modal.php:31 msgid "Select a file/folder which you would like to exclude" msgstr "Selecione um arquivo/pasta que você deseja excluir" #: src/templates/wp-admin/settings/exclude-modal.php:15 msgid "All files beginning with given characters" msgstr "Todos arquivos iniciando com os caracteres informados" #: src/templates/wp-admin/settings/exclude-modal.php:12, #: src/templates/wp-admin/settings/exclude-modal.php:47, #: src/templates/wp-admin/settings/exclude-modal.php:49 msgid "All files with this extension" msgstr "Todos os arquivos com esta extensão" #: src/templates/wp-admin/settings/exclude-modal.php:9, #: src/templates/wp-admin/settings/exclude-modal.php:25 msgid "File/directory" msgstr "Arquivo/diretório" #: src/templates/wp-admin/settings/exclude-modal.php:6 msgid "Select a way to exclude files or directories from the backup" msgstr "Selecione uma forma de excluir arquivos ou diretórios do backup" #: src/templates/wp-admin/settings/exclude-modal.php:2 msgid "Exclude files/directories" msgstr "Excluir arquivos/diretórios" #: src/includes/updraftclone/temporary-clone-status.php:420 msgid "To read FAQs/documentation about UpdraftClone, go here." msgstr "Para consultar as perguntas frequentes e a documentação sobre o UpdraftClone, clique aqui." #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "your UpdraftPlus.com account" msgstr "sua conta UpdraftPlus.com" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "You can check the progress here or in %s" msgstr "Você pode verificar o progresso aqui ou em %s" #: src/includes/updraftclone/temporary-clone-status.php:419 msgid "Your UpdraftClone is still setting up." msgstr "Seu UpdraftClone ainda está sendo preparado." #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "%s archives remain" msgstr "Restam %s arquivos" #: src/includes/updraftclone/temporary-clone-status.php:376 msgid "The site data has all been received, and its import has begun." msgstr "Os dados do site foram todos recebidos e agora a importação começou." #: src/includes/updraftclone/temporary-clone-status.php:367 msgid "WordPress installed; now awaiting the site data to be sent." msgstr "WordPress instalado; aguardando os dados do site serem enviados." #: src/includes/updraftclone/temporary-clone-status.php:94 msgid "Clone ready" msgstr "Clone pronto" #: src/includes/updraftclone/temporary-clone-status.php:86 msgid "Site data has been deployed" msgstr "Os dados do site foram implantados" #: src/includes/updraftclone/temporary-clone-status.php:84, #: src/includes/updraftclone/temporary-clone-status.php:347 msgid "Deploying site data" msgstr "Implantando os dados do site" #: src/includes/updraftclone/temporary-clone-status.php:75 msgid "Site data received" msgstr "Dados do site recebidos" #: src/includes/updraftclone/temporary-clone-status.php:73, #: src/includes/updraftclone/temporary-clone-status.php:344 msgid "Receiving site data" msgstr "Recebendo os dados do site" #: src/includes/updraftclone/temporary-clone-status.php:66, #: src/includes/updraftclone/temporary-clone-status.php:341 msgid "WordPress installed" msgstr "WordPress instalado" #: src/admin.php:6226 msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready." msgstr "Seu clone foi iniciado, as informações de rede ainda não estão disponíveis, mas serão exibidas aqui e em sua conta updraftplus.com assim que estiverem prontas." #: src/admin.php:4330 msgid "Exclude these from" msgstr "Excluir estes de" #: src/admin.php:1083 msgid "The exclusion rule which you are trying to add already exists" msgstr "A regra de exclusão que você está tentando incluir já existe" #: src/admin.php:1081 msgid "Please enter a valid file name prefix" msgstr "Digite um prefixo de nome de arquivo válido" #: src/admin.php:1080 msgid "Please enter characters that begin the filename which you would like to exclude" msgstr "Digite os caracteres que iniciam o nome do arquivo que você gostaria de excluir" #: src/admin.php:1079 msgid "Please enter a valid file extension" msgstr "Digite uma extensão de arquivo válida" #: src/admin.php:1078 msgid "Please enter a file extension, like zip" msgstr "Digite uma extensão de arquivo, como zip" #: src/admin.php:1076 msgid "Please select a file/folder which you would like to exclude" msgstr "Selecione um arquivo/pasta que você gostaria de excluir" #: src/admin.php:1075 msgid "Are you sure you want to remove this exclusion rule?" msgstr "Tem certeza de que deseja remover esta regra de exclusão?" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "log results to console" msgstr "registrar resultados no console" #: src/templates/wp-admin/settings/temporary-clone.php:46 msgid "To create a temporary clone you need credit in your account." msgstr "Para criar um clone temporário, você precisa de créditos em sua conta." #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Read FAQs here." msgstr "Leia as perguntas frequentes aqui." #: src/methods/dropbox.php:351, src/methods/dropbox.php:336 msgid "failed to upload file to %s (see log file for more)" msgstr "não foi possível enviar arquivo para o %s (veja o registro para mais)" #: src/admin.php:6222 msgid "Dashboard:" msgstr "Painel:" #: src/admin.php:6221 msgid "Front page:" msgstr "Página frontal:" #: src/admin.php:6220 msgid "Your clone has started and will be available at the following URLs once it is ready." msgstr "Seu clone iniciou e estará disponível nos seguintes URLs assim que estiver pronto." #: src/includes/class-commands.php:1093 msgid "manage" msgstr "gerenciar" #: src/includes/class-commands.php:1093 msgid "Current clones" msgstr "Clones atuais" #: src/class-updraftplus.php:3679 msgid "Your clone will now deploy this data to re-create your site." msgstr "Seu clone irá carregar estes dados para recriar o seu site." #: src/addons/migrator.php:541 msgid "Site key" msgstr "Chave do site" #: src/includes/class-remote-send.php:667 msgid "Add a site" msgstr "Adicionar um site" #: src/admin.php:1159, src/addons/migrator.php:206, #: src/addons/migrator.php:528, src/addons/migrator.php:548 msgid "back" msgstr "voltar" #: src/addons/migrator.php:172 msgid "Read this article to see step-by-step how it's done." msgstr "Leia este artigo para ver um passo-a-passo sobre como isso é feito." #: src/addons/migrator.php:166, #: src/templates/wp-admin/settings/migrator-no-migrator.php:6 msgid "Migrate (create a copy of a site on hosting you control)" msgstr "Migrar (criar uma cópia de um site em uma hospedagem que você controla)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:47 msgid "Manage your clones" msgstr "Gerenciar seus clones" #: src/methods/dreamobjects.php:28 msgid "Closing 1st October 2018" msgstr "Encerrando em 01 de Outubro de 2018" #: src/includes/updraftclone/temporary-clone-dash-notice.php:46 msgid "Your clone will renew on:" msgstr "Seu clone será renovado em:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:32 msgid "Unable to get renew date" msgstr "Não foi possível obter a data de renovação" #: src/admin.php:1029 msgid "The backup was aborted" msgstr "O backup foi abortado" #: src/addons/onedrive.php:1326 msgid "OneDrive Germany" msgstr "OneDrive na Alemanha" #: src/addons/onedrive.php:1325 msgid "OneDrive International" msgstr "OneDrive Internacional" #: src/addons/onedrive.php:1323 msgid "Account type" msgstr "Tipo de conta" #: src/templates/wp-admin/settings/temporary-clone.php:61, #: src/templates/wp-admin/settings/temporary-clone.php:81 msgid "I accept the UpdraftClone terms and conditions" msgstr "Eu aceito os termos e condições do UpdraftClone" #: src/templates/wp-admin/settings/temporary-clone.php:61 msgid "Not got an account? Get one by buying some tokens here." msgstr "Não tem uma conta? Obtenha uma ao comprar alguns tokens aqui." #: src/templates/wp-admin/settings/temporary-clone.php:27, #: src/templates/wp-admin/settings/temporary-clone.php:46, #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "You can buy UpdraftClone tokens from our shop, here." msgstr "Você pode comprar tokens do UpdraftClone em nossa loja, aqui." #: src/templates/wp-admin/settings/temporary-clone.php:59 msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below." msgstr "Para criar um clone temporário você precisa: 1) crédito na sua conta e 2) conectar a sua conta, abaixo." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "If you want, test upgrading to a different PHP or WP version." msgstr "Se desejar, teste a atualização para uma versão diferente do PHP ou WP." #: src/templates/wp-admin/settings/temporary-clone.php:37 msgid "Flexible" msgstr "Flexível" #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Takes just the time needed to create a backup and send it." msgstr "Leva apenas o tempo necessário para criar um backup e enviá-lo." #: src/templates/wp-admin/settings/temporary-clone.php:36 msgid "Fast" msgstr "Rápido" #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "One VPS (Virtual Private Server) per clone, shared with nobody." msgstr "Um VPS (Servidor Privado Virtual) por clone, compartilhado com ninguém." #: src/templates/wp-admin/settings/temporary-clone.php:35 msgid "Secure" msgstr "Seguro" #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Runs on capacity from a leading cloud computing provider." msgstr "Roda na capacidade de um provedor líder em computação em nuvem." #: src/templates/wp-admin/settings/temporary-clone.php:34 msgid "Reliable" msgstr "Confiável" #: src/templates/wp-admin/settings/temporary-clone.php:33 msgid "Easy" msgstr "Fácil" #: src/templates/wp-admin/settings/temporary-clone.php:15, #: src/templates/wp-admin/settings/temporary-clone.php:44 msgid "Create a temporary clone on our servers (UpdraftClone)" msgstr "Criar um clone temporário em nossos servidores (UpdraftClone)" #: src/templates/wp-admin/settings/tab-addons.php:30 msgid "WooCommerce plugins" msgstr "Plugins do WooCommerce" #: src/templates/wp-admin/advanced/wipe-settings.php:14 msgid "Reset tour" msgstr "Redefinir tour" #: src/templates/wp-admin/advanced/wipe-settings.php:13 msgid "Press this button to take a tour of the plugin." msgstr "Pressione este botão para fazer um tour pelo plugin." #: src/includes/updraftplus-tour.php:256 msgid "Take Tour" msgstr "Faça o tour" #: src/includes/updraftplus-tour.php:206 msgid "Log in here to enable all the features you have access to." msgstr "Acesse aqui para ativar todos os recursos aos quais você tem acesso." #: src/includes/updraftplus-tour.php:205 msgid "Connect to updraftplus.com" msgstr "Conectar ao updraftplus.com" #: src/includes/updraftplus-tour.php:169 msgctxt "Translators: UpdraftVault is a product name and should not be translated." msgid "To get started with UpdraftVault, select one of the options below:" msgstr "Para começar com o UpdraftVault, escolha uma das opções abaixo:" #: src/includes/updraftplus-tour.php:165, #: src/includes/updraftplus-tour.php:209, src/includes/updraftplus-tour.php:198 msgid "Finish" msgstr "Concluir" #: src/includes/updraftplus-tour.php:162 msgid "UpdraftPlus Premium has many more exciting features!" msgstr "O UpdraftPlus Premium tem muitos outros recursos interessantes!" #: src/includes/updraftplus-tour.php:161 msgid "UpdraftPlus Premium and addons" msgstr "UpdraftPlus Premium e complementos" #: src/includes/updraftplus-tour.php:159, #: src/includes/updraftplus-tour.php:203, src/includes/updraftplus-tour.php:196 msgid "Thank you for taking the tour." msgstr "Obrigado por fazer o tour." #: src/includes/updraftplus-tour.php:154 msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral." msgstr "Você tem mais alguns sites WordPress que deseja fazer backup? Se sim, você pode economizar horas controlando todos os seus backups em um só lugar do UpdraftCentral." #: src/includes/updraftplus-tour.php:153 msgid "Control all your backups in one place" msgstr "Controle todos os seus backups em um único lugar" #: src/includes/updraftplus-tour.php:148 msgid "Congratulations, your settings have successfully been saved." msgstr "Parabéns, suas configurações foram salvas com sucesso." #: src/includes/updraftplus-tour.php:144 msgid "Press here to save your settings." msgstr "Pressione aqui para salvar as suas configurações." #: src/includes/updraftplus-tour.php:143, src/includes/updraftplus-tour.php:147 msgid "Save" msgstr "Salvar" #: src/includes/updraftplus-tour.php:140 msgid "Look through the other settings here, making any changes you’d like." msgstr "Veja as outras configurações aqui, fazendo as alterações desejadas." #: src/includes/updraftplus-tour.php:139 msgid "More settings" msgstr "Mais configurações" #: src/admin.php:1091, src/includes/updraftplus-tour.php:134, #: src/includes/updraftplus-tour.php:162, #: src/includes/updraftplus-tour.php:186, #: src/templates/wp-admin/settings/temporary-clone.php:27 msgid "Find out more here." msgstr "Descubra mais aqui." #: src/admin.php:1090, src/includes/updraftplus-tour.php:133, #: src/includes/updraftplus-tour.php:185 msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus." msgstr "O UpdraftVault é o nosso armazenamento remoto que funciona perfeitamente com o UpdraftPlus." #: src/includes/updraftplus-tour.php:126 msgid "Choose the schedule that you want your backups to run on." msgstr "Escolha o agendamento em que você deseja que seus backups sejam executados." #: src/includes/updraftplus-tour.php:125 msgid "Choose your backup schedule" msgstr "Escolha o agendamento do seu backup" #: src/includes/updraftplus-tour.php:121 msgid "Congratulations! Your first backup is running." msgstr "Parabéns! Seu primeiro backup está sendo executado." #: src/includes/updraftplus-tour.php:117, src/includes/updraftplus-tour.php:122 msgid "Go to settings" msgstr "Ir para configurações" #: src/includes/updraftplus-tour.php:116, src/includes/updraftplus-tour.php:121 msgctxt "Translators: %s is a bold tag." msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s" msgstr "Mas, para evitar ameaças em todo o servidor, faça backup regularmente no armazenamento em nuvem remoto nas %s configurações %s" #: src/includes/updraftplus-tour.php:116 msgid "Press here to run a manual backup." msgstr "Pressione aqui para executar um backup manual." #: src/includes/updraftplus-tour.php:115, src/includes/updraftplus-tour.php:120 msgid "Creating your first backup" msgstr "Criando seu primeiro backup" #: src/includes/updraftplus-tour.php:112 msgid "Select what you want to backup" msgstr "Selecione o que deseja fazer backup" #: src/includes/updraftplus-tour.php:111 msgid "Manual backup options" msgstr "Opções para backup manual" #: src/includes/updraftplus-tour.php:108 msgctxt "updraftplus" msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s" msgstr "Para fazer um backup simples em seu servidor, pressione este botão. Ou para configurar backups regulares e armazenamento remoto, acessa as %s configurações %s" #: src/includes/updraftplus-tour.php:107 msgid "Your first backup" msgstr "Seu primeiro backup" #: src/includes/updraftplus-tour.php:103 msgid "Press here to start!" msgstr "Pressione aqui para iniciar!" #: src/includes/updraftplus-tour.php:100 msgid "the world’s most trusted backup plugin!" msgstr "o plugin de backup mais confiável do mundo!" #: src/includes/updraftplus-tour.php:100 msgid "Welcome to UpdraftPlus" msgstr "Boas-vindas ao UpdraftPlus" #: src/includes/updraftplus-tour.php:99 msgid "UpdraftPlus settings" msgstr "Configurações do UpdraftPlus" #: src/includes/updraftplus-tour.php:96 msgid "End tour" msgstr "Encerrar o tour" #: src/includes/updraftplus-tour.php:95 msgid "Skip this step" msgstr "Pular esta etapa" #: src/includes/updraftplus-tour.php:94 msgid "Back" msgstr "Voltar" #: src/includes/class-commands.php:1074 msgid "You can buy more temporary clone tokens here." msgstr "Você pode comprar mais tokens para clones temporários aqui." #: src/admin.php:6174 msgid "Forbid non-administrators to login to WordPress on your clone" msgstr "Proibir que não administradores acessem o WordPress em seu clone" #: src/templates/wp-admin/settings/tab-addons.php:299 msgid "Premium / Find out more" msgstr "Premium / Descubra mais " #: src/templates/wp-admin/settings/tab-addons.php:29 msgid "Other great plugins" msgstr "Outros plugins excelentes" #: src/includes/class-commands.php:1144 msgid "The creation of your data for creating the clone should now begin." msgstr "A criação dos seus dados para criação do clone deve começar agora." #: src/admin.php:6227, src/admin.php:6224 msgid "You can find your temporary clone information in your updraftplus.com account here." msgstr "Você pode encontrar as informações do seu clone temporário na sua conta do updraftplus.com aqui." #: src/class-updraftplus.php:5415 msgid "Choose a default for each table" msgstr "Selecione um padrão para cada tabela" #: src/admin.php:3735 msgid "Sending files to remote site" msgstr "Enviando arquivos para o site remoto" #: src/admin.php:3729 msgid "Clone server being provisioned and booted (can take several minutes)" msgstr "O servidor clone está sendo provisionado e inicializado (pode levar vários minutos)" #: src/addons/migrator.php:210 msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab" msgstr "Para importar um conjunto de backup, vá para a seção \"Backups Existentes\" na aba \"Backup/Restauração\"" #: src/admin.php:3210 msgid "Backup / Restore" msgstr "Backup / Restauração" #: src/admin.php:740, src/admin.php:5126 msgid "Backup" msgstr "Backup" #: src/addons/wp-cli.php:413 msgid "Latest full backup found; identifier:" msgstr "Backup mais recente encontrado; identificador:" #: src/addons/wp-cli.php:412 msgid "No previous full backup found." msgstr "Nenhum backup completo anterior encontrado." #: src/templates/wp-admin/settings/existing-backups-table.php:92 msgid "Remote storage: %s" msgstr "Armazenamento remoto: %s" #: src/addons/wp-cli.php:102 msgid "No previous backup found to add an increment to." msgstr "Nenhum backup anterior foi encontrado para que seja incrementado." #: src/restorer.php:3356 msgid "Requested character set (%s) is not present - changing to %s." msgstr "O conjunto de caracteres solicitado (%s) não está presente - mudando para %s." #: src/includes/updraftclone/temporary-clone-user-notice.php:32 msgid "Allow only administrators to log in" msgstr "Permitir apenas que administradores acessem" #: src/includes/updraftclone/temporary-clone-user-notice.php:31 msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below" msgstr "Você pode proibir o acesso de não administradores neste site clonado marcando a caixa de seleção abaixo" #: src/includes/updraftclone/temporary-clone-user-notice.php:30 msgid "UpdraftPlus temporary clone user login settings:" msgstr "Configurações de acesso do usuário do clone temporário do UpdraftPlus:" #: src/includes/updraftclone/temporary-clone-dash-notice.php:44 msgid "Welcome to your UpdraftClone (temporary clone)" msgstr "Boas-vindas ao seu UpdraftClone (clone temporário)" #: src/includes/updraftclone/temporary-clone-dash-notice.php:43 msgid "Refresh connection" msgstr "Atualizar conexão" #: src/addons/reporting.php:517 msgid "Log all messages to syslog" msgstr "Registrar todas as mensagens na syslog" #: src/addons/sftp.php:717, src/addons/sftp.php:718 msgid "The server's RSA key %s fingerprint: %s." msgstr "O fingerprint %s da chave RSA do servidor: %s. " #: src/addons/sftp.php:614 msgid "RSA fingerprint" msgstr "Fingerprint RSA" #: src/addons/sftp.php:156 msgid "Fingerprints don't match." msgstr "Os fingerprints não batem." #: src/templates/wp-admin/settings/migrator-no-migrator.php:17 msgid "More information here." msgstr "Mais informações aqui." #: src/admin.php:748, src/admin.php:3211 msgid "Migrate / Clone" msgstr "Migrar / Clonar" #: src/admin.php:4467, src/templates/wp-admin/settings/backupnow-modal.php:60, #: src/templates/wp-admin/settings/existing-backups-table.php:79, #: src/templates/wp-admin/settings/existing-backups-table.php:76 msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)." msgstr "Somente permite que este backup seja excluído manualmente (p.ex.: mantém mesmo que os limites de retenção sejam alcançados)." #: src/restorer.php:380 msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)." msgstr "Sua instalação WordPress tem diretórios antigos da situação anterior à restauração/migração (informação técnica: eles estão com o sufixo -old)." #: src/addons/wp-cli.php:850, src/addons/wp-cli.php:846 msgid "This is not an incremental backup" msgstr "Este não é um backup incremental" #: src/addons/wp-cli.php:762 msgid "Run this command to see the log file for this restoration (needed for any support requests)." msgstr "Execute este comando para ver o arquivo de registros desta restauração (necessário para quaisquer solicitações de suporte)." #: src/admin.php:6156, src/admin.php:6200 msgid "(current version)" msgstr "(versão atual)" #: src/admin.php:4235 msgid "press here" msgstr "pressione aqui" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "this privacy policy" msgstr "esta política de privacidade" #: src/addons/onedrive.php:1312, src/addons/pcloud.php:548, #: src/methods/dropbox.php:601, src/methods/googledrive.php:1503 msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)." msgstr "Leia %s para usar nosso aplicativo de autorização do %s (nenhum dos seus dados de backup é enviado para nós)." #: src/addons/incremental.php:378 msgid "Tell me more" msgstr "Conte-me mais" #: src/addons/incremental.php:366 msgid "And then add an incremental backup" msgstr "E, então, acrescente um backup incremental" #: src/updraftplus.php:126, src/addons/incremental.php:342 msgid "Every hour" msgstr "A cada hora" #: src/includes/class-commands.php:1086 msgid "Create clone" msgstr "Criar clone" #: src/includes/class-commands.php:1073, src/includes/class-commands.php:1130 msgid "Available temporary clone tokens:" msgstr "Tokens de clones temporários disponíveis:" #: src/admin.php:3342, src/includes/class-commands.php:1087, #: src/includes/class-commands.php:1144, src/includes/class-commands.php:1142, #: src/methods/backup-module.php:746, #: src/templates/wp-admin/settings/temporary-clone.php:88, #: src/templates/wp-admin/settings/updraftcentral-connect.php:71 msgid "Processing" msgstr "Processando" #: src/templates/wp-admin/settings/updraftcentral-connect.php:70 msgid "Connect to UpdraftCentral Cloud" msgstr "Conectar-se ao UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "UpdraftPlus.Com account terms and policies" msgstr "Termos e políticas da conta UpdraftPlus.com" #: src/templates/wp-admin/settings/updraftcentral-connect.php:68 msgid "I consent to %s" msgstr "Eu concordo com %s" #: src/admin.php:3455, #: src/templates/wp-admin/settings/updraftcentral-connect.php:56 msgid "One Time Password (check your OTP app to get this password)" msgstr "Senha de uso único (verifique seu app OTP para obter esta senha)" #: src/templates/wp-admin/settings/updraftcentral-connect.php:46 msgid "Login or register with this email address" msgstr "Acesse ou cadastre-se com este endereço de e-mail" #: src/templates/wp-admin/settings/updraftcentral-connect.php:34 msgid "If not, then choose your details and a new account will be registered." msgstr "Caso contrário, escolha seus dados e uma nova conta será cadastrada." #: src/templates/wp-admin/settings/updraftcentral-connect.php:33 msgid "If you already have an updraftplus.com account, then enter the details below." msgstr "Se você já possui uma conta updraftplus.com, insira os detalhes abaixo." #: src/templates/wp-admin/settings/updraftcentral-connect.php:31 msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com." msgstr "Adicione este site ao seu painel UpdraftCentral Cloud em updraftplus.com." #: src/templates/wp-admin/settings/updraftcentral-connect.php:29 msgid "Login or register for UpdraftCentral Cloud" msgstr "Acesse ou cadastre-se no UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Go here to connect it." msgstr "Acesse aqui para conectá-lo." #: src/templates/wp-admin/settings/updraftcentral-connect.php:20 msgid "Or if you prefer to self-host, then you can get the self-hosted version here." msgstr "Ou se preferir auto-hospedar, você pode obter a versão auto-hospedada aqui." #: src/templates/wp-admin/settings/updraftcentral-connect.php:17 msgid "Connect this site to UpdraftCentral Cloud" msgstr "Conecte este site ao UpdraftCentral Cloud" #: src/templates/wp-admin/settings/updraftcentral-connect.php:12 msgid "Backup, update and manage all your WordPress sites from one dashboard" msgstr "Faça o backup, atualize e gerencie todos os seus sites WordPress de um único painel" #: src/admin.php:6083 msgid "The file %s has a \"byte order mark\" (BOM) at its beginning." msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning." msgstr[0] "O arquivo %s inicia com um \"byte order mark\" (BOM)." msgstr[1] "Os arquivos %s iniciam com um \"byte order mark\" (BOM)." #: src/admin.php:1069 msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab." msgstr "Para controle futuro de todas as suas conexões ao UpdraftCentral, vá para a aba \"Ferramentas Avançadas\"." #: src/admin.php:1068 msgid "You can also close this wizard." msgstr "Você pode fechar este assistente." #: src/admin.php:1067 msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed." msgstr "Você precisa ler e aceitar as políticas de privacidade e dados do UpdraftCentral Cloud antes de prosseguir." #: src/admin.php:1066 msgid "Please wait while you are redirected to UpdraftCentral Cloud." msgstr "Aguarde enquanto você é redirecionado para o UpdraftCentral Cloud." #: src/admin.php:1065 msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud." msgstr "Aguarde enquanto o sistema gera e cadastra uma chave criptografada para os seus sites na UpdraftCentral Cloud." #: src/admin.php:1064 msgid "Perhaps you would want to login instead." msgstr "Talvez você queira acessar em vez disso." #: src/admin.php:1062 msgid "Trouble connecting? Try using an alternative method in the advanced security options." msgstr "Problemas para se conectar? Tente usar um método alternativo nas opções de segurança avançadas." #: src/admin.php:1061 msgid "An email is required and needs to be in a valid format." msgstr "Um e-mail é necessário e precisa estar em um formato válido." #: src/admin.php:1060 msgid "Both email and password fields are required." msgstr "Os campos de e-mail e senha são obrigatórios." #: src/admin.php:1059 msgid "Registration successful." msgstr "Registrado com sucesso." #: src/admin.php:1057, src/admin.php:1059 msgid "Please follow this link to open %s in a new window." msgstr "Acesse este link para abrir %s em uma nova janela." #: src/admin.php:1057 msgid "Login successful." msgstr "Acesso bem-sucedido." #: src/admin.php:1054, #: src/templates/wp-admin/settings/updraftcentral-connect.php:9 msgid "UpdraftCentral Cloud" msgstr "UpdraftCentral Cloud" #: src/admin.php:591 msgid "Are you sure you want to dismiss all UpdraftPlus news forever?" msgstr "Você tem certeza que deseja dispensar todas as notícias do UpdraftPlus para sempre?" #: src/admin.php:590 msgid "Dismiss all UpdraftPlus news" msgstr "Dispensar todas as notícias do UpdraftPlus" #: src/admin.php:589 msgid "UpdraftPlus News" msgstr "Notícias do UpdraftPlus" #: src/addons/wp-cli.php:538 msgid "Migration key created:" msgstr "Chave de migração criada:" #: src/addons/wp-cli.php:528, src/addons/wp-cli.php:570, #: src/addons/wp-cli.php:630 msgid "Missing parameters" msgstr "Faltando parâmetros" #: src/addons/azure.php:704 msgid "Azure Germany" msgstr "Azure da Alemanha" #: src/addons/azure.php:703 msgid "Azure Global" msgstr "Azure Global" #: src/addons/azure.php:701 msgid "Azure Account" msgstr "Conta da Azure" #: src/admin.php:1053 msgid "Please specify the Microsoft OneDrive folder name, not the URL." msgstr "Especifique o nome da pasta do Microsoft OneDrive, não o URL." #: src/templates/wp-admin/settings/upload-backups-modal.php:4 msgid "Select the remote storage destinations you want to upload this backup set to" msgstr "Selecione os destinos de armazenamento remoto para onde você deseja enviar este conjunto de backup" #: src/templates/wp-admin/settings/upload-backups-modal.php:3 msgid "Upload backup" msgstr "Enviar backup" #: src/admin.php:4725 msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations" msgstr "Após pressionar este botão, você pode escolher para onde deseja enviar seu backup a partir de uma lista dos seus locais de armazenamento remoto atualmente salvos" #: src/admin.php:1052 msgid "(already uploaded)" msgstr "(já enviado)" #: src/admin.php:1050 msgid "Local backup upload has started; please check the log file to see the upload progress" msgstr "O envio do backup local foi iniciado, verifique o arquivo de registro para ver o progresso do envio" #: src/admin.php:966, src/admin.php:4725 msgid "Upload" msgstr "Enviar" #: src/admin.php:914, src/addons/reporting.php:551 msgid "Only email the database backup" msgstr "Apenas envie por e-mail o backup do banco de dados" #: src/addons/reporting.php:551 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email." msgstr "Esteja ciente de que os servidores de e-mail tendem a ter limites de tamanho, normalmente em torno de %s MB. Backups maiores do que qualquer limite provavelmente não chegarão e, por isso, o UpdraftPlus enviará apenas backups de banco de dados por e-mail." #: src/addons/reporting.php:551 msgid "Use this option to only send database backups when sending to email, and skip other components." msgstr "Use esta opção para enviar apenas backups de banco de dados por e-mail e ignorar outros componentes." #: src/addons/migrator.php:252 msgid "For incremental backups, you will be able to choose which increments to restore at a later stage." msgstr "Para backups incrementais, você poderá escolher quais incrementos serão restaurados em uma etapa posterior." #: src/addons/incremental.php:93 msgid "Increments exist at: %s" msgstr "Existem incrementos em: %s" #: src/addons/incremental.php:93, src/addons/incremental.php:91 msgid "(latest increment: %s)" msgstr "(último incremento: %s)" #: src/addons/s3-enhanced.php:425 msgid "Europe (Paris)" msgstr "Europa (Paris)" #: src/templates/wp-admin/settings/tab-addons.php:206 msgid "WP-CLI commands to take, list and delete backups." msgstr "Comandos do WP-CLI para fazer, listar e excluir backups." #: src/templates/wp-admin/settings/tab-addons.php:205 msgid "WP-CLI support" msgstr "Suporte ao WP-CLI" #: src/templates/wp-admin/settings/tab-addons.php:204 msgid "WP CLI" msgstr "WP CLI" #: src/addons/wp-cli.php:272 msgid "Invalid Job Id" msgstr "Id do Job é inválido" #: src/addons/wp-cli.php:201 msgid "Recently started backup job id: %s" msgstr "Id do job de backup iniciado recentemente: %s" #: src/addons/wp-cli.php:92, src/addons/wp-cli.php:494, #: src/addons/wp-cli.php:737, src/addons/wp-cli.php:826, #: src/addons/wp-cli.php:849 msgid "The given value for the '%s' option is not valid" msgstr "O valor fornecido para a opção '%s' não é válido" #: src/addons/migrator.php:537 msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section." msgstr "Então, para obter a chave do site remoto, abra a janela 'Migrar Site' naquele site e vá para essa seção." #: src/addons/migrator.php:537 msgid "Keys for a site are created in the section \"receive a backup from a remote site\"." msgstr "Chaves para um site são criadas na seção \"receber um backup de um site remoto\"." #: src/includes/class-remote-send.php:555 msgid "You must copy and paste this key on the sending site now - it cannot be shown again." msgstr "Você deve copiar e colar esta chave no site que está enviando agora - ela não será mostrada novamente." #: src/templates/wp-admin/advanced/lock-admin.php:14 msgid "This functionality has been disabled by the site administrator." msgstr "Esta funcionalidade foi desabilitada pelo administrador do site." #: src/templates/wp-admin/settings/tab-addons.php:340, #: src/templates/wp-admin/settings/tab-addons.php:341 msgid "Highly efficient way to manage, optimize, update and backup multiple websites from one place." msgstr "" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4 msgid "Thank you for installing UpdraftPlus!" msgstr "Obrigado por instalar o UpdraftPlus!" #: src/includes/class-remote-send.php:684 msgid "No keys to allow remote sites to send backup data here have yet been created." msgstr "Ainda não foi criada nenhuma chave que permita que sites remotos enviem dados de backup para cá." #: src/restorer.php:860 msgid "Failed to read from the working directory." msgstr "Não foi possível ler a partir do diretório de trabalho." #: src/restorer.php:859 msgid "Failed to find a manifest file in the backup." msgstr "Não foi possível encontrar um arquivo de manifesto no backup." #: src/restorer.php:858 msgid "Failed to read the manifest file from backup." msgstr "Não foi possível ler o arquivo de manifesto do backup." #: src/addons/morefiles.php:82 msgid "(None configured)" msgstr "(Nenhum configurado)" #: src/addons/onedrive.php:1332, src/methods/backup-module.php:629, #: src/methods/dropbox.php:609 msgid "Ensure you are logged into the correct account before continuing." msgstr "Garanta que você está conectado à conta certa antes de continuar." #: src/admin.php:5724 msgid "Remote storage method and instance id are required for authentication." msgstr "O método de armazenamento remoto e o id são obrigatórios para a autenticação." #: src/admin.php:5720 msgid "authentication error" msgstr "erro de autenticação" #: src/options.php:48, src/addons/multisite.php:49 msgid "(Nothing has been logged yet)" msgstr "(Nada foi registrado ainda)" #: src/includes/migrator-lite.php:345 msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address." msgstr "você irá querer utilizar abaixo a busca e substituição do local do site no banco de dados (migrar) para buscar/substituir o endereço do site." #: src/addons/morestorage.php:197 msgid "Add another %s account..." msgstr "Adicione outra conta %s ..." #: src/addons/morestorage.php:85 msgid "Delete these settings" msgstr "Apague estas configurações" #: src/admin.php:1049, src/addons/morestorage.php:83 msgid "Currently disabled" msgstr "Desativado no momento" #: src/admin.php:1048, src/addons/morestorage.php:83 msgid "Currently enabled" msgstr "Ativado no momento" #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)." msgstr "Se você adquiriu através da UpdraftPlus.Com, então acesse este link para as instruções de instalação (principalmente o passo 1)." #: src/templates/wp-admin/settings/tab-addons.php:48 msgid "You are currently using the free version of UpdraftPlus." msgstr "Você está usando a versão gratuita do UpdraftPlus no momento." #: src/templates/wp-admin/settings/tab-addons.php:38 msgid "Get it here" msgstr "Obtenha aqui" #: src/templates/wp-admin/settings/existing-backups-table.php:90 msgid "remote site" msgstr "site remoto" #: src/addons/backblaze.php:558 msgid "Invalid bucket name" msgstr "Nome do bucket inválido" #: src/restorer.php:2601 msgid "Requested table collation (%1$s) is not present - changing to %2$s." msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s." msgstr[0] "A compilação de tabela solicitada (%1$s) não está presente - alterando para %2$s." msgstr[1] "As compilações de tabela solicitadas (%1$s) não está presente - alterando para %2$s." #: src/class-updraftplus.php:5392 msgid "Your chosen replacement collation" msgstr "O agrupamento de substituição escolhido" #: src/class-updraftplus.php:5369 msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)." msgstr "Você pode escolher outro agrupamento adequado e continuar com a restauração (por sua conta e risco)." #: src/class-updraftplus.php:5369 msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import." msgstr[0] "O servidor de banco de dados no qual este site WordPress está sendo executado não suporta a compilação (%s) usada no banco de dados que você está tentando importar." msgstr[1] "O servidor de banco de dados no qual este site WordPress está sendo executado não suporta múltiplas compilações (%s) usadas no banco de dados que você está tentando importar." #: src/includes/migrator-lite.php:371 msgid "Database restoration options:" msgstr "Opções para restauração do banco de dados:" #: src/includes/migrator-lite.php:312 msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)." msgstr "Isto parece uma migração (o backup é de um site com endreço/URL diferente, %s)." #: src/addons/azure.php:699 msgid "%s Prefix" msgstr "Prefixo %s" #: src/addons/azure.php:696 msgid "%s Container" msgstr "Contêiner %s" #: src/addons/azure.php:694 msgid "%s Key" msgstr "Chave %s" #: src/addons/azure.php:692 msgid "%s Account Name" msgstr "Nome da Conta %s" #: src/includes/migrator-lite.php:668 msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually." msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually." msgstr[0] "Seu .htaccess tem uma referência de site antigo na linha número %s. Você deve removê-lo manualmente." msgstr[1] "Seu .htaccess tem referências de um site antigo nas linhas %s. Você deve removê-los manualmente." #: src/restorer.php:2542 msgid "Requested table character set (%s) is not present - changing to %s." msgstr "O conjunto de caracteres de tabela solicitado (%s) não está presente - mudando para %s." #: src/class-updraftplus.php:5344 msgid "Your chosen character set to use instead:" msgstr "O conjunto de caracteres escolhido para usar:" #: src/class-updraftplus.php:5334 msgid "You can choose another suitable character set instead and continue with the restoration at your own risk." msgstr "Você pode escolher outro conjunto de caracteres adequado e continuar com a restauração por sua conta e risco." #: src/class-updraftplus.php:5334 msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import." msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import." msgstr[0] "O servidor de banco de dados no qual este site WordPress está sendo executado não suporta o conjunto de caracteres (%s) que você está tentando importar." msgstr[1] "O servidor de banco de dados no qual este site WordPress está sendo executado não suporta os conjuntos de caracteres (%s) que você está tentando importar." #: src/includes/updraftplus-tour.php:93, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:100 msgid "Next" msgstr "Próximo" #: src/admin.php:1041 msgid "Please enter a valid URL e.g http://example.com" msgstr "Digite um URL válido, p. ex. http://exemplo.com" #: src/addons/backblaze.php:792 msgid "some/path" msgstr "algum/caminho" #: src/addons/backblaze.php:790 msgid "Bucket name" msgstr "Nome do bucket" #: src/addons/backblaze.php:784 msgid "Backup path" msgstr "Caminho do backup" #: src/addons/backblaze.php:780 msgid "Application key" msgstr "Chave da aplicação" #: src/addons/backblaze.php:779, src/addons/backblaze.php:779, #: src/includes/updraftplus-notices.php:122 msgid "here" msgstr "aqui" #: src/addons/backblaze.php:779 msgid "Get these settings from %s, or sign up %s." msgstr "Obtenha estes parametros em %s, ou registre %s." #: src/addons/backblaze.php:536 msgid "Account Key" msgstr "Chave da Conta" #: src/addons/backblaze.php:535 msgid "Account ID" msgstr "ID da Conta" #: src/class-updraftplus.php:5159 msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s." msgstr "Este conjunto de backup é deste site, mas no momento do backup você estava usando %s, enquanto o site agora usa %s." #: src/methods/googledrive.php:1511 msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings." msgstr "Para desautorizar o UpdraftPlus (em todos os sites) de acessar o Google Drive, acesse este link para as configurações da sua conta do Google." #: src/addons/googlecloud.php:1321, src/addons/onedrive.php:1330, #: src/addons/pcloud.php:551, src/methods/backup-module.php:700, #: src/methods/dropbox.php:608, src/methods/googledrive.php:1510 msgid "Follow this link to remove these settings for %s." msgstr "Acesse este link para remover as configurações para %s." #: src/backup.php:617, src/backup.php:2894, src/class-updraftplus.php:2565, #: src/class-updraftplus.php:2632, src/restorer.php:713, #: src/includes/class-search-replace.php:298, #: src/includes/class-storage-methods-interface.php:387 msgid "A PHP fatal error (%s) has occurred: %s" msgstr "Um erro fatal do PHP (%s) ocorreu: %s" #: src/backup.php:611, src/backup.php:2885, src/class-updraftplus.php:2556, #: src/class-updraftplus.php:2625, src/restorer.php:701, #: src/includes/class-search-replace.php:291, #: src/includes/class-storage-methods-interface.php:378 msgid "A PHP exception (%s) has occurred: %s" msgstr "Uma exceção do PHP (%s) ocorreu: %s" #: src/addons/googlecloud.php:59 msgid "South-east Australia" msgstr "Sudeste da Austrália" #: src/addons/googlecloud.php:58 msgid "South-east Asia" msgstr "Sudeste da Ásia" #: src/addons/googlecloud.php:57 msgid "North-east Asia" msgstr "Nordeste da Ásia" #: src/templates/wp-admin/settings/take-backup.php:84 msgid "Remote storage authentication" msgstr "Autenticação do armazenamento remoto" #: src/templates/wp-admin/settings/tab-addons.php:178 msgid "Network and multisite" msgstr "Rede e multisite" #: src/templates/wp-admin/settings/tab-addons.php:100 msgid "Migrator" msgstr "Migrador" #: src/templates/wp-admin/settings/tab-addons.php:230 msgid "Additional storage" msgstr "Armazenamento adicional" #: src/includes/updraftplus-tour.php:129, #: src/includes/updraftplus-tour.php:181, #: src/templates/wp-admin/settings/tab-addons.php:87 msgid "Remote storage" msgstr "Armazenamento remoto" #: src/templates/wp-admin/settings/form-contents.php:192 msgid "Select Files" msgstr "Selecionar arquivos" #: src/methods/cloudfiles.php:510 msgid "Cloud Files" msgstr "Arquivos na nuvem" #: src/methods/updraftvault.php:122, #: src/templates/wp-admin/settings/tab-addons.php:295 msgid "UpdraftVault" msgstr "UpdraftVault" #: src/includes/class-wpadmin-commands.php:637 msgid "archive" msgstr "arquivo " #: src/includes/class-wpadmin-commands.php:628 msgid "Extra database" msgstr "Banco de dados extra " #: src/admin.php:4606 msgid "Press here to download or browse" msgstr "Pressione aqui para baixar ou navegar " #: src/admin.php:1620, src/admin.php:1630 msgid "Error: invalid path" msgstr "Erro: caminho inválido" #: src/admin.php:1361 msgid "An error occurred when fetching storage module options: " msgstr "Ocorreu um erro ao buscar opções do módulo de armazenamento:" #: src/admin.php:1038 msgid "Loading log file" msgstr "Carregando arquivo de registros" #: src/admin.php:1036 msgid "Search" msgstr "Pesquisar" #: src/admin.php:1035 msgid "Select a file to view information about it" msgstr "Selecione um arquivo para ver informações sobre ele" #: src/admin.php:1034 msgid "Browsing zip file" msgstr "Navegando no arquivo compactado" #: src/admin.php:1000 msgid "With UpdraftPlus Premium, you can directly download individual files from here." msgstr "Com o UpdraftPlus Premium você pode baixar diretamente arquivos individuais a partir daqui." #: src/admin.php:944 msgid "Browse contents" msgstr "Navegar no conteúdo" #: src/restorer.php:3067 msgid "Skipped tables:" msgstr "Tabelas puladas:" #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too." msgstr "Com o UpdraftPlus Premium, você pode optar por fazer o backup de tabelas que não são do WordPress, fazer o backup apenas de tabelas especificadas e fazer o backup de outros bancos de dados também." #: src/templates/wp-admin/settings/backupnow-modal.php:8 msgid "All WordPress tables will be backed up." msgstr "Todas as tabelas do WordPress serão copiadas." #: src/admin.php:1033 msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs." msgstr "Mais informações podem ser encontradas no console JavaScript do navegador e nos registros de erro do servidor PHP." #: src/admin.php:1033 msgid "That you are attempting to upload a zip file previously created by UpdraftPlus." msgstr "Que você está tentando enviar um arquivo compactado previamente criado pelo UpdraftPlus." #: src/admin.php:1033 msgid "The available memory on the server." msgstr "A memória disponível no servidor." #: src/admin.php:1033 msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size." msgstr "Qualquer configuração em seu arquivo .htaccess ou web.config que afete o tamanho máximo de envio ou do post." #: src/admin.php:1032 msgid "HTTP code:" msgstr "Código HTTP:" #: src/admin.php:919, src/addons/wp-cli.php:111 msgid "You have chosen to backup a database, but no tables have been selected" msgstr "Você optou por fazer o backup de um banco de dados, mas nenhuma tabela foi selecionada" #: src/addons/moredatabase.php:463 msgid "tables" msgstr "tabelas" #: src/addons/moredatabase.php:462 msgid "WordPress database" msgstr "banco de dados do WordPress" #: src/addons/moredatabase.php:427 msgid "You should backup all tables unless you are an expert in the internals of the WordPress database." msgstr "Você deve fazer backup de todas as tabelas, a menos que seja um especialista nas partes internas do banco de dados do WordPress." #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:329, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:335, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:341, #: src/templates/wp-admin/settings/tab-addons.php:347, #: src/templates/wp-admin/settings/tab-addons.php:347 msgid "Find out more" msgstr "Descubra mais" #: src/templates/wp-admin/settings/tab-addons.php:298 msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place." msgstr "O UpdraftPlus possui sua própria opção de armazenamento incorporada, fornecendo uma forma descomplicada de baixar, armazenar e gerenciar todos os seus backups em um só lugar." #: src/templates/wp-admin/advanced/wipe-settings.php:12 msgid "UpdraftPlus Tour" msgstr "Tour do UpdraftPlus" #: src/templates/wp-admin/settings/tab-addons.php:284 msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups." msgstr "Bloqueie o acesso ao UpdraftPlus por meio de uma senha para que você escolha quais usuários administradores podem acessar os backups." #: src/templates/wp-admin/settings/tab-addons.php:271 msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins." msgstr "Alguns plugins de backup não podem restaurar um backup, então o Premium permite que você restaure backups de outros plugins." #: src/templates/wp-admin/settings/tab-addons.php:269, #: src/templates/wp-admin/settings/tab-addons.php:270 msgid "Importer" msgstr "Importador" #: src/templates/wp-admin/settings/tab-addons.php:258 msgid "Tidy things up for clients and remove all adverts for our other products." msgstr "Arrume as coisas para os clientes e remova todos os anúncios de nossos outros produtos." #: src/templates/wp-admin/settings/tab-addons.php:256, #: src/templates/wp-admin/settings/tab-addons.php:257 msgid "No ads" msgstr "Sem anúncios" #: src/templates/wp-admin/settings/tab-addons.php:245 msgid "Sophisticated reporting and emailing capabilities." msgstr "Relatórios sofisticados e recursos de e-mail." #: src/templates/wp-admin/settings/tab-addons.php:219 msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too." msgstr "Criptografe os bancos de dados sensíveis (p.ex.: informação de clientes ou senhas) e faça o backup de bancos de dados externos também." #: src/templates/wp-admin/settings/tab-addons.php:217, #: src/templates/wp-admin/settings/tab-addons.php:218 msgid "More database options" msgstr "Mais opções de banco de dados" #: src/templates/wp-admin/settings/tab-addons.php:193 msgid "Set exact times to create or delete backups." msgstr "Defina horas exatas para criar ou excluir backups." #: src/templates/wp-admin/settings/tab-addons.php:191, #: src/templates/wp-admin/settings/tab-addons.php:192 msgid "Backup time and scheduling" msgstr "Horário e agendamento do backup" #: src/templates/wp-admin/settings/tab-addons.php:180 msgid "Backup WordPress multisites (i.e, networks), securely." msgstr "Faça o backup de multisites do WordPress (p.ex. redes) de forma segura." #: src/templates/wp-admin/settings/tab-addons.php:179 msgid "Network / multisite" msgstr "Rede / multisite" #: src/templates/wp-admin/settings/tab-addons.php:167 msgid "Backup WordPress core and non-WP files and databases." msgstr "Faça o backup dos arquivos básicos do WordPress e arquivos e bancos de dados que não sejam do WordPress." #: src/templates/wp-admin/settings/tab-addons.php:154 msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core." msgstr "Automaticamente faz backup do seu site antes de qualquer atualização de plugins, temas e arquivos básicos do WordPress." #: src/templates/wp-admin/settings/tab-addons.php:152, #: src/templates/wp-admin/settings/tab-addons.php:153 msgid "Pre-update backups" msgstr "Backups pré-atualização" #: src/templates/wp-admin/settings/tab-addons.php:141 msgid "Provides expert help and support from the developers whenever you need it." msgstr "Fornece ajuda de especialistas e suporte dos desenvolvedores sempre que você precisar." #: src/templates/wp-admin/settings/tab-addons.php:140 msgid "Fast, personal support" msgstr "Suporte rápido e pessoal" #: src/templates/wp-admin/settings/tab-addons.php:102 msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply." msgstr "O Migrador do UpdraftPlus clona seu site WordPress e o move para um novo domínio, direta e simplesmente." #: src/templates/wp-admin/settings/tab-addons.php:101 msgid "Cloning and migration" msgstr "Clonagem e migração" #: src/templates/wp-admin/settings/tab-addons.php:232 msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV, Backblaze and more with UpdraftPlus Premium." msgstr "" #: src/templates/wp-admin/settings/tab-addons.php:231 msgid "Additional and enhanced remote storage locations" msgstr "Locais para armazenamento remoto adicionais e melhorados" #: src/templates/wp-admin/settings/tab-addons.php:88 msgid "Backup to remote storage locations" msgstr "Backup para armazenamento remoto" #: src/templates/wp-admin/settings/tab-addons.php:82, #: src/templates/wp-admin/settings/tab-addons.php:316 msgid "Upgrade now" msgstr "Atualizar agora" #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Installed" msgstr "Instalado" #: src/templates/wp-admin/settings/tab-addons.php:69 msgid "Free" msgstr "Grátis" #: src/admin.php:588 msgid "UpdraftPlus" msgstr "UpdraftPlus" #: src/templates/wp-admin/settings/form-contents.php:216 msgid "Recommended: optimize your database with WP-Optimize." msgstr "Recomendado: otimize o seu banco de dados com o WP-Optimize." #: src/templates/wp-admin/notices/bottom-notice.php:31, #: src/templates/wp-admin/notices/horizontal-notice.php:74, #: src/templates/wp-admin/notices/report-plain.php:33, #: src/templates/wp-admin/notices/report.php:30 msgid "Read more" msgstr "Ler mais" #: src/includes/updraftplus-notices.php:210 msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance." msgstr "Depois de fazer backup de seu banco de dados, recomendamos que você instale nosso plugin WP-Optimize para simplificá-lo e obter um melhor desempenho do site." #: src/addons/morefiles.php:1057 msgid "Please choose a file or directory" msgstr "Por favor escolha um arquivo ou diretório" #: src/addons/morefiles.php:1035, src/methods/backup-module.php:90 msgid "Confirm" msgstr "Confirmar" #: src/addons/morefiles.php:1030, src/addons/morefiles.php:1030 msgid "Go up a directory" msgstr "Suba um diretório" #: src/addons/morefiles.php:1027 msgid "Add directory..." msgstr "Adicionar um diretório..." #: src/addons/morefiles.php:334, src/addons/morefiles.php:1013, #: src/addons/morefiles.php:1055, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Edit" msgstr "Editar" #: src/addons/morefiles.php:317 msgid "If using it, select a path from the directory tree below and then press confirm selection." msgstr "Se for utilizar, escolha um caminho da árvore de diretórios abaixo e então pressione para confirmar a seleção." #: src/addons/s3-enhanced.php:426 msgid "Europe (Frankfurt)" msgstr "Europa (Frankfurt)" #: src/addons/s3-enhanced.php:424 msgid "Europe (London)" msgstr "Europa (Londres)" #: src/addons/s3-enhanced.php:423 msgid "Europe (Ireland)" msgstr "Europa (Irlanda)" #: src/includes/updraftplus-tour.php:151 msgid "UpdraftCentral" msgstr "UpdraftCentral" #: src/templates/wp-admin/notices/autobackup-notice.php:6, #: src/templates/wp-admin/notices/horizontal-notice.php:38, #: src/templates/wp-admin/notices/horizontal-notice.php:8 msgid "notice image" msgstr "imagem de aviso" #: src/templates/wp-admin/notices/bottom-notice.php:29, #: src/templates/wp-admin/notices/horizontal-notice.php:72, #: src/templates/wp-admin/notices/report-plain.php:31, #: src/templates/wp-admin/notices/report.php:28 msgid "Go there" msgstr "Visitar" #: src/templates/wp-admin/notices/bottom-notice.php:27, #: src/templates/wp-admin/notices/horizontal-notice.php:68, #: src/templates/wp-admin/notices/report-plain.php:29, #: src/templates/wp-admin/notices/report.php:26 msgid "Sign up" msgstr "Inscrever-se" #: src/templates/wp-admin/notices/bottom-notice.php:25, #: src/templates/wp-admin/notices/horizontal-notice.php:66, #: src/templates/wp-admin/notices/report-plain.php:27, #: src/templates/wp-admin/notices/report.php:24 msgid "Get Premium" msgstr "Obter o Premium" #: src/templates/wp-admin/notices/bottom-notice.php:23, #: src/templates/wp-admin/notices/report-plain.php:25, #: src/templates/wp-admin/notices/report.php:22 msgid "Review UpdraftPlus" msgstr "Avaliar o UpdraftPlus" #: src/templates/wp-admin/notices/bottom-notice.php:21, #: src/templates/wp-admin/notices/horizontal-notice.php:64, #: src/templates/wp-admin/notices/report-plain.php:23, #: src/templates/wp-admin/notices/report.php:20 msgid "Get UpdraftCentral" msgstr "Obtenha o UpdraftCentral" #: src/templates/wp-admin/advanced/site-info.php:109 msgid "Apache modules" msgstr "Módulos do Apache" #: src/includes/updraftplus-notices.php:166, #: src/includes/updraftplus-notices.php:176 msgid "UpdraftPlus Blog - get up-to-date news and offers" msgstr "Blog do UpdraftPlus - obtenha notícias e ofertas atualizadas" #: src/includes/updraftplus-notices.php:155 msgid "UpdraftPlus Newsletter" msgstr "Newsletter do UpdraftPlus" #: src/includes/updraftplus-notices.php:114 msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!" msgstr "Controle todas as suas instalações WordPress em um só lugar usando o gerenciamento remoto de sites do UpdraftCentral!" #: src/includes/updraftplus-notices.php:113 msgid "Do you use UpdraftPlus on multiple sites?" msgstr "Você utiliza o UpdraftPlus em múltiplos sites?" #: src/includes/updraftplus-notices.php:104 msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place." msgstr "O UpdraftCentral é uma forma bastante eficiente de gerenciar, atualizar e fazer o backup de múltiplos sites de um só lugar." #: src/includes/updraftplus-notices.php:103 msgid "Introducing UpdraftCentral" msgstr "Introduzindo o UpdraftCentral" #: src/includes/updraftplus-notices.php:92 msgid "easily migrate or clone your site in minutes" msgstr "migre ou faça um clone do seu site facilmente em minutos" #: src/includes/updraftplus-notices.php:82 msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security." msgstr "Adicionar SFTP para enviar seus dados seguramente, bloquear configurações e criptografar os backups de banco de dados para uma segurança adicional." #: src/includes/updraftplus-notices.php:81 msgid "secure your backups" msgstr "mantenha seus backups seguros" #: src/includes/updraftplus-notices.php:71 msgid "Secure multisite installation, advanced reporting and much more." msgstr "Instalação multisite segura, relatórios avançados e muito mais." #: src/includes/updraftplus-notices.php:70 msgid "advanced options" msgstr "opções avançadas" #: src/includes/updraftplus-notices.php:59 msgid "enhanced remote storage options" msgstr "opções avançadas para armazenamento remoto" #: src/includes/updraftplus-notices.php:49 msgid "The ultimately secure and convenient place to store your backups." msgstr "O local seguro e conveniente para armazenar seus backups." #: src/includes/updraftplus-notices.php:48, #: src/templates/wp-admin/settings/tab-addons.php:296 msgid "UpdraftVault storage" msgstr "Armazenamento no UpdraftVault" #: src/includes/updraftplus-notices.php:38 msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium." msgstr "Desfrute de ajuda profissional, rápida e amigável sempre que precisar com o Premium." #: src/includes/updraftplus-notices.php:36, #: src/includes/updraftplus-notices.php:47, #: src/includes/updraftplus-notices.php:58, #: src/includes/updraftplus-notices.php:69, #: src/includes/updraftplus-notices.php:80, #: src/includes/updraftplus-notices.php:91 msgid "UpdraftPlus Premium:" msgstr "UpdraftPlus Premium:" #: src/addons/s3-enhanced.php:422 msgid "Canada (Central)" msgstr "Canadá (Central)" #: src/templates/wp-admin/advanced/tools-menu.php:24 msgid "Site size" msgstr "Tamanho do site" #: src/templates/wp-admin/advanced/tools-menu.php:12, #: src/templates/wp-admin/settings/tab-addons.php:282, #: src/templates/wp-admin/settings/tab-addons.php:283 msgid "Lock settings" msgstr "Bloquear configurações" #: src/templates/wp-admin/advanced/site-info.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:8 msgid "Site information" msgstr "Informação do site" #: src/templates/wp-admin/advanced/search-replace.php:9 msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium." msgstr "Para poder migrar sites, atualize para o UpdraftPlus Premium." #: src/templates/wp-admin/advanced/export-settings.php:15 msgid "Import settings" msgstr "Importar configurações" #: src/templates/wp-admin/advanced/export-settings.php:9 msgid "Export settings" msgstr "Exportar configurações" #: src/templates/wp-admin/advanced/export-settings.php:7 msgid "including any passwords" msgstr "incluindo qualquer senha" #: src/templates/wp-admin/advanced/export-settings.php:5, #: src/templates/wp-admin/advanced/tools-menu.php:32 msgid "Export / import settings" msgstr "Exportar / importar configurações" #: src/restorer.php:2603 msgid "Processing table (%s)" msgstr "Processando tabela (%s)" #: src/restorer.php:3034 msgid "Backup of: %s" msgstr "Backup de: %s" #: src/methods/dropbox.php:887 msgid "%s de-authentication" msgstr "Desautenticação do %s" #: src/methods/dropbox.php:610 msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked" msgstr "Você deve adicionar o seguinte como o URI de redirecionamento autorizado em seu console do Dropbox (em \"Configurações de API\") quando solicitado" #: src/backup.php:2113 msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources." msgstr "Caso contrário, você precisará remover os dados desta tabela ou entrar em contato com sua empresa de hospedagem para solicitar mais recursos." #: src/templates/wp-admin/settings/take-backup.php:85 msgid "You have selected a remote storage option which has an authorization step to complete:" msgstr "Você selecionou uma opção de armazenamento remoto que tem uma etapa de autorização a ser concluída:" #: src/admin.php:2232 msgid "Remote files deleted:" msgstr "Arquivos remotos excluídos:" #: src/admin.php:2231 msgid "Local files deleted:" msgstr "Arquivos locais excluídos:" #: src/methods/backup-module.php:637 msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)." msgstr "Acesse este link para autorizar o acesso à sua conta %s (você não conseguirá efetuar o backup para %s sem isso)." #: src/admin.php:1031 msgid "remote files deleted" msgstr "arquivos remotos excluídos" #: src/admin.php:1027 msgid "Complete" msgstr "Concluído" #: src/admin.php:1026 msgid "Do you want to carry out the import?" msgstr "Deseja realizar a importação?" #: src/admin.php:1025 msgid "Which was exported on:" msgstr "Que foi exportado em:" #: src/admin.php:1024 msgid "This will import data from:" msgstr "Isto irá importar dados de:" #: src/admin.php:1023 msgid "Importing..." msgstr "Importando..." #: src/admin.php:1019 msgid "You have not yet selected a file to import." msgstr "Você ainda não selecionou um arquivo para importar." #: src/admin.php:1002 msgid "Your export file will be of your displayed settings, not your saved ones." msgstr "Seu arquivo exportado conterá as configurações mostradas, e não as salvas." #: src/admin.php:99 msgid "template not found" msgstr "modelo não encontrado" #: src/addons/s3-enhanced.php:418 msgid "US East (Ohio)" msgstr "Leste dos EUA (Ohio)" #: src/addons/onedrive.php:793 msgid "Account is not authorized (%s)." msgstr "Conta não autorizada (%s)." #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040 msgid "Your IP address:" msgstr "Seu endereço IP:" #: src/addons/onedrive.php:754, src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "To remove any block, please go here." msgstr "Para remover qualquer bloqueio, entre aqui." #: src/addons/onedrive.php:741, src/udaddons/updraftplus-addons.php:1027 msgid "An error response was received; HTTP code:" msgstr "Um erro foi recebido; código HTTP:" #: src/includes/class-commands.php:444 msgid "%s add-on not found" msgstr "Complemento %s não encontrado" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "or to restore manually" msgstr "ou para restaurar manualmente" #: src/admin.php:3008 msgid "To fix this problem go here." msgstr "Para corrigir este problema clique aqui." #: src/admin.php:3008 msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work." msgstr "O OptimizePress 2.0 codifica seu conteúdo, portanto a busca/substituição não funciona." #: src/admin.php:986 msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup." msgstr "a sua instalação PHP não possui o módulo openssl; como resultado, isso pode levar alguns minutos; se nada acontecer após um tempo então tente com uma chave de tamanho menor ou peça a empresa da sua hospedagem que habilite esse módulo PHP na sua configuração." #: src/addons/webdav.php:437 msgid "Path" msgstr "Caminho" #: src/addons/webdav.php:436 msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)" msgstr "Deixe em branco para utilizar o padrão (80 para o webdav, 443 para o webdavs)" #: src/addons/webdav.php:434 msgid "Enter any path in the field below." msgstr "Entre qualquer caminho no campo abaixo." #: src/addons/webdav.php:434 msgid "A host name cannot contain a slash." msgstr "Um nome de host não pode conter uma barra." #: src/addons/webdav.php:429 msgid "Protocol (SSL or not)" msgstr "Protocolo (SSL ou não)" #: src/udaddons/updraftplus-addons.php:1056 msgid "This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com." msgstr "" #: src/methods/s3.php:1440 msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")" msgstr "A chave de acesso da AWS parece estar errada (chaves de acesso %s válidas começam com \"AK\")" #: src/methods/s3.php:155 msgid "No settings were found - please go to the Settings tab and check your settings" msgstr "Nenhuma configuração encontrada - por favor, retorne para a aba de Configurações e verifique" #: src/templates/wp-admin/settings/form-contents.php:115 msgid "Backup using %s?" msgstr "Fazer o backup usando %s?" #: src/addons/s3-enhanced.php:434 msgid "Asia Pacific (Mumbai)" msgstr "Ásia Pacífico (Mumbai)" #: src/addons/s3-enhanced.php:76 msgid "Standard (infrequent access)" msgstr "Padrão (acesso ocasional)" #: src/templates/wp-admin/settings/header.php:25 msgid "FAQs" msgstr "Perguntas frequentes" #: src/backup.php:3150 msgid "Failed to open directory (check the file permissions and ownership): %s" msgstr "Não foi possível abrir o diretório (verifique as permissões do arquivo e a propriedade): %s" #: src/backup.php:3128 msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)" msgstr "%s: impossível ler o arquivo - pode não ter sido feito o backup (verifique as permissões e a propriedade do arquivo)" #: src/addons/migrator.php:563 msgid "Create key" msgstr "Criar chave" #: src/addons/migrator.php:560 msgid "slower, strongest" msgstr "mais lento, mais forte" #: src/addons/migrator.php:559 msgid "recommended" msgstr "recomendado" #: src/addons/migrator.php:559 msgid "%s bytes" msgstr "%s bytes" #: src/addons/migrator.php:558 msgid "faster (possibility for slow PHP installs)" msgstr "mais rápido (possibilidade para instalações PHP lentas)" #: src/addons/migrator.php:558, src/addons/migrator.php:560 msgid "%s bits" msgstr "%s bits" #: src/addons/migrator.php:556 msgid "Encryption key size:" msgstr "Tamanho da chave de criptografia:" #: src/addons/migrator.php:554 msgid "Enter your chosen name" msgstr "Entre o nome escolhido" #: src/addons/migrator.php:553 msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":" msgstr "Criar uma chave: dê a esta chave um nome único (p.ex. indique para que serve este site), então pressione \"Criar Chave\":" #: src/methods/googledrive.php:767 msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)" msgstr "Espera-se uma falha no envio: o limite do %s para um único arquivo é %s, enquanto este arquivo está com %s GB (%d bytes)" #: src/methods/ftp.php:466 msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again." msgstr "Às vezes isso é causado por um firewall - tente desligar o SSL nas configurações avançadas e teste novamente." #: src/methods/ftp.php:438 msgid "login" msgstr "acesso" #: src/addons/reporting.php:549, src/addons/reporting.php:549, #: src/addons/reporting.php:551, src/methods/email.php:114 msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive." msgstr "Esteja ciente que servidores de e-mail tendem a ter limites de tamanho, normalmente em torno de %s MB. Backups maiores que os limites provavelmente não chegarão." #: src/class-updraftplus.php:2049 msgid "Size: %s MB" msgstr "Tamanho: %s MB" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You should enable %s to make any pretty permalinks (e.g. %s) work" msgstr "Você deve ativar o %s para fazer com que qualquer link permanente amigável (ex.: %s) funcione" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "(tap on an icon to select or unselect)" msgstr "(toque em um ícone para selecionar ou desmarcar)" #: src/methods/updraftvault.php:499, src/methods/updraftvault.php:504, #: src/methods/updraftvault.php:505, src/methods/updraftvault.php:506 msgid "%s per year" msgstr "%s por ano" #: src/methods/updraftvault.php:497 msgid "or (annual discount)" msgstr "ou (desconto anual)" #: src/methods/updraftvault.php:336 msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect." msgstr "Não foi encontrada nenhuma conexão com um cofre neste site (ele mudou?); por favor desconecte e reconecte." #: src/class-updraftplus.php:663, src/class-updraftplus.php:745 msgid "The given file was not found, or could not be read." msgstr "O arquivo informado não foi encontrado ou não pode ser lido." #: src/class-updraftplus.php:3660, src/class-updraftplus.php:3772 msgid "The backup was aborted by the user" msgstr "O backup foi cancelado pelo usuário" #: src/admin.php:5667 msgid "Your settings have been saved." msgstr "Suas configurações foram salvas." #: src/admin.php:4515 msgid "Total backup size:" msgstr "Tamanho total do backup:" #: src/admin.php:3878 msgid "stop" msgstr "parar" #: src/admin.php:1028, src/admin.php:3664 msgid "The backup has finished running" msgstr "O backup terminou de ser executado" #: src/templates/wp-admin/advanced/tools-menu.php:36, #: src/templates/wp-admin/advanced/wipe-settings.php:5, #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "Wipe settings" msgstr "Limpar as configurações" #: src/templates/wp-admin/advanced/site-info.php:120 msgid "reset" msgstr "resetar" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "these backup sets" msgstr "estes conjuntos de backup" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11 msgid "this backup set" msgstr "este conjunto de backup" #: src/includes/class-filesystem-functions.php:112 msgid "calculate" msgstr "calcular" #: src/admin.php:1001 msgid "You should save your changes to ensure that they are used for making your backup." msgstr "Você deve salvar suas alterações para garantir que elas serão utilizada para realizar o seu backup." #: src/admin.php:994 msgid "We requested to delete the file, but could not understand the server's response" msgstr "A exclusão do arquivo foi solicitada, mas não foi possível entender a resposta do servidor" #: src/admin.php:993 msgid "Please enter a valid URL" msgstr "Digite um URL válido" #: src/admin.php:976 msgid "Saving..." msgstr "Salvando..." #: src/admin.php:934 msgid "Error: the server sent us a response which we did not understand." msgstr "Erro: o servidor nos enviou uma resposta que não compreendemos." #: src/admin.php:926 msgid "Fetching..." msgstr "Coletando…" #: src/addons/s3-enhanced.php:431 msgid "Asia Pacific (Seoul)" msgstr "Ásia - Pacífico (Seul)" #: src/restorer.php:3057 msgid "Uploads URL:" msgstr "URL dos envios:" #: src/addons/onedrive.php:91 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it." msgstr "O módulo PHP %s não está instalado - peça à sua empresa de hospedagem para habilitar." #: src/class-updraftplus.php:5232, src/restorer.php:3075 msgid "To import an ordinary WordPress site into a multisite installation requires %s." msgstr "Para importar um site WordPress comum em uma instalação multisite é necessário %s." #: src/class-updraftplus.php:5228 msgid "Please read this link for important information on this process." msgstr "Leia este link para obter informações importantes sobre este processo." #: src/class-updraftplus.php:5228 msgid "It will be imported as a new site." msgstr "Será importado como um novo site." #: src/admin.php:3294, src/templates/wp-admin/notices/autobackup-notice.php:18, #: src/templates/wp-admin/notices/autobackup-notice.php:16, #: src/templates/wp-admin/notices/horizontal-notice.php:50, #: src/templates/wp-admin/notices/horizontal-notice.php:48 msgid "Dismiss" msgstr "Dispensar" #: src/admin.php:1014 msgid "Please fill in the required information." msgstr "Preencha a informação obrigatória." #: src/addons/multisite.php:691 msgid "Read more..." msgstr "Leia mais..." #: src/addons/multisite.php:682 msgid "may include some site-wide data" msgstr "pode incluir alguns dados volumosos como o site todo" #: src/addons/multisite.php:677 msgid "All sites" msgstr "Todos os sites" #: src/addons/multisite.php:673 msgid "Which site to restore" msgstr "Qual site restaurar" #: src/addons/migrator.php:434, src/addons/migrator.php:435 msgid "Error when creating new site at your chosen address:" msgstr "Erro ao criar um novo site no endereço escolhido:" #: src/addons/migrator.php:378 msgid "Required information for restoring this backup was not given (%s)" msgstr "Informação necessária para a restauração deste backup não foi fornecida (%s)" #: src/addons/migrator.php:339 msgid "Attribute imported content to user" msgstr "Atribuir conteúdo importado ao usuário" #: src/addons/migrator.php:331, src/addons/migrator.php:329 msgid "You must use lower-case letters or numbers for the site path, only." msgstr "Você deve utilizar apenas letras em minúsculas ou números para o caminho do site." #: src/addons/migrator.php:317 msgid "This feature is not compatible with %s" msgstr "Esta característica não é compatível com %s" #: src/addons/migrator.php:317, src/addons/migrator.php:315 msgid "Importing a single site into a multisite install" msgstr "Importando um único site em uma instalação multisite" #: src/addons/migrator.php:307 msgid "other content from wp-content" msgstr "outros conteúdos do wp-content" #: src/addons/migrator.php:304 msgid "WordPress core" msgstr "Arquivos básicos do WordPress" #: src/addons/migrator.php:304, src/addons/migrator.php:307, #: src/addons/migrator.php:310 msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network." msgstr "Você selecionou %s para ser incluído na restauração - isto não pode / não deveria ser feito quando importar um único site em uma rede." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call WordPress action:" msgstr "Chamar a ação do WordPress:" #: src/templates/wp-admin/settings/backupnow-modal.php:45 msgid "Your saved settings also affect what is backed up - e.g. files excluded." msgstr "As suas configurações salvas também afetam o que vai para o backup - p.ex. arquivos excluídos." #: src/restorer.php:522 msgid "Skipping: this archive was already restored." msgstr "Pulando: este arquivo já foi restaurado." #: src/templates/wp-admin/settings/form-contents.php:141 msgid "File Options" msgstr "Opções de arquivo" #: src/templates/wp-admin/settings/form-contents.php:94 msgid "Sending Your Backup To Remote Storage" msgstr "Enviando seu backup para o armazenamento remoto" #: src/templates/wp-admin/settings/form-contents.php:58 msgid "Database backup schedule" msgstr "Agendamento de backup de banco de dados" #: src/templates/wp-admin/settings/form-contents.php:22 msgid "Files backup schedule" msgstr "Agendamento de backup de arquivos" #: src/templates/wp-admin/advanced/wipe-settings.php:6 msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)." msgstr "Este botão vai excluir todas as configurações e informações de progresso do UpdraftPlus para backups em andamento (mas nenhum dos seus backups existentes no seu armazenamento na nuvem)." #: src/admin.php:5537 msgid "Send this backup to remote storage" msgstr "Enviar este backup para um armazenamento remoto" #: src/admin.php:5530 msgid "Check out UpdraftVault." msgstr "" #: src/admin.php:5530 msgid "Not got any remote storage?" msgstr "Não tem nenhum armazenamento remoto?" #: src/admin.php:5530 msgid "settings" msgstr "configurações" #: src/admin.php:5530 msgid "Backup won't be sent to any remote storage - none has been saved in the %s" msgstr "O backup não será enviado para nenhum armazenamento externo - nenhum foi salvo nas %s" #: src/admin.php:1085, src/templates/wp-admin/settings/backupnow-modal.php:40 msgid "Include your files in the backup" msgstr "Incluir seus arquivos no backup" #: src/templates/wp-admin/settings/backupnow-modal.php:26 msgid "Include your database in the backup" msgstr "Incluir seu banco de dados no backup" #: src/admin.php:3293 msgid "Continue restoration" msgstr "Continuar a restauração" #: src/admin.php:3287 msgid "You have an unfinished restoration operation, begun %s ago." msgstr "Você tem uma operação de restauração inacabada, iniciada há %s." #: src/admin.php:3286 msgid "Unfinished restoration" msgstr "Restauração inacabada" #: src/admin.php:3283 msgid "%s minutes, %s seconds" msgstr "%s minutos, %s segundos" #: src/admin.php:3111 msgid "Backup Contents And Schedule" msgstr "Agendamento e conteúdo do backup" #: src/admin.php:3214 msgid "Premium / Extensions" msgstr "Premium / Extensões" #: src/admin.php:5027, src/admin.php:5018 msgid "Sufficient information about the in-progress restoration operation could not be found." msgstr "Não foi possível encontrar informações suficientes sobre a operação de restauração em andamento." #: src/admin.php:999, src/addons/morefiles.php:86 msgctxt "(verb)" msgid "Download" msgstr "Baixar" #: src/admin.php:918 msgid "You have chosen to backup files, but no file entities have been selected" msgstr "Você optou por fazer o backup dos arquivos, mas nenhuma entidade de arquivos foi selecionada" #: src/admin.php:772 msgid "Extensions" msgstr "Extensões" #: src/admin.php:764, src/admin.php:3213 msgid "Advanced Tools" msgstr "Ferramentas avançadas" #: src/addons/googlecloud.php:1314 msgid "Bucket location" msgstr "Local do bucket" #: src/addons/googlecloud.php:1313 msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability." msgstr "Note que o Google não suporta todas as classes de armazenamento em todos os locais - você deve ler a documentação para saber sobre a disponibilidade atual." #: src/addons/googlecloud.php:1313, src/addons/googlecloud.php:1316 msgid "This setting applies only when a new bucket is being created." msgstr "Essa configuração se aplica somente quando um novo bucket está sendo criado." #: src/addons/googlecloud.php:1307 msgid "You must use a bucket name that is unique, for all %s users." msgstr "Você deve utilizar um nome de bucket que seja único, para todos os %s usuários." #: src/addons/googlecloud.php:1295 msgid "Do not confuse %s with %s - they are separate things." msgstr "Não confunda %s com %s - são coisas diferentes." #: src/addons/googlecloud.php:362 msgid "You do not have access to this bucket" msgstr "Você não tem acesso a este bucket" #: src/addons/googlecloud.php:60, src/addons/googlecloud.php:61, #: src/addons/googlecloud.php:62 msgid "Western Europe" msgstr "Oeste da Europa" #: src/addons/googlecloud.php:56 msgid "Eastern Asia-Pacific" msgstr "Leste da Ásia-Pacífico" #: src/addons/googlecloud.php:55 msgid "Western United States" msgstr "Oeste dos Estados Unidos" #: src/addons/googlecloud.php:53, src/addons/googlecloud.php:54 msgid "Eastern United States" msgstr "Leste dos Estados Unidos" #: src/addons/googlecloud.php:52 msgid "Central United States" msgstr "Centro dos Estados Unidos" #: src/addons/googlecloud.php:51 msgid "European Union" msgstr "União Européia" #: src/addons/googlecloud.php:50 msgid "Asia Pacific" msgstr "Asia Pacifico" #: src/addons/googlecloud.php:49, src/addons/googlecloud.php:50, #: src/addons/googlecloud.php:51 msgid "multi-region location" msgstr "localização em múltiplas regiões" #: src/addons/googlecloud.php:49 msgid "United States" msgstr "Estados Unidos" #: src/addons/googlecloud.php:45 msgid "Nearline" msgstr "Nearline" #: src/addons/googlecloud.php:44 msgid "Durable reduced availability" msgstr "Disponibilidade reduzida durável" #: src/addons/googlecloud.php:43, src/addons/s3-enhanced.php:75 msgid "Standard" msgstr "Padrão" #: src/addons/azure.php:700 msgid "container" msgstr "contêiner" #: src/addons/azure.php:700 msgid "You can enter the path of any %s virtual folder you wish to use here." msgstr "Você pode entrar o caminho de qualquer %s pasta virtual que deseje utilizar aqui." #: src/addons/azure.php:699 msgid "optional" msgstr "opcional" #: src/addons/azure.php:698 msgid "See Microsoft's guidelines on container naming by following this link." msgstr "Veja as orientações da Microsoft sobre nomenclatura de contêineres seguindo este link." #: src/addons/azure.php:697 msgid "Enter the path of the %s you wish to use here." msgstr "Entre o caminho do %s que deseja utilizar aqui." #: src/addons/azure.php:693 msgid "This is not your Azure login - see the instructions if needing more guidance." msgstr "Este não é o seu login do Azure - veja as instruções se precisar de mais orientações." #: src/addons/azure.php:692, src/addons/azure.php:694, #: src/addons/azure.php:696, src/addons/azure.php:699 msgid "Azure" msgstr "Azure" #: src/addons/azure.php:690, src/methods/dreamobjects.php:186 msgid "Create Azure credentials in your Azure developer console." msgstr "Criar as credenciais do Azure na sua console de desenvolvimento do Azure." #: src/addons/azure.php:593 msgid "Could not create the container" msgstr "Não foi possível criar o contêiner" #: src/addons/azure.php:447 msgid "Could not access container" msgstr "Não foi possível acessar o contêiner" #: src/class-updraftplus.php:3679 msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set." msgstr "Para concluir sua migração/clonagem, você dever acessar agora o site remoto e restaurar o conjunto de backup." #: src/backup.php:1901 msgid "the options table was not found" msgstr "a tabela de opções não foi encontrada" #: src/backup.php:1899 msgid "no options or sitemeta table was found" msgstr "nenhuma tabela de sitemeta ou opções foi encontrada" #: src/backup.php:1657 msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail." msgstr "O diretório de backup não é gravável (ou o disco está cheio) - o backup do banco de dados irá falhar em breve." #: src/templates/wp-admin/advanced/site-info.php:74 msgid "required for some remote storage providers" msgstr "obrigatório para alguns provedores de armazenamento remoto" #: src/templates/wp-admin/advanced/site-info.php:74 msgid "Not installed" msgstr "Não instalado" #: src/addons/googlecloud.php:1310, src/addons/s3-enhanced.php:71 msgid "Storage class" msgstr "Classe de armazenamento" #: src/addons/googlecloud.php:1309 msgid "See Google's guidelines on bucket naming by following this link." msgstr "Veja as orientações do Google sobre a nomenclatura dos buckets através deste link." #: src/addons/googlecloud.php:1308 msgid "Enter the name of the %s bucket you wish to use here." msgstr "Digite o nome do bucket do %s que você deseja utilizar aqui." #: src/addons/googlecloud.php:1306 msgid "Bucket" msgstr "Bucket" #: src/addons/googlecloud.php:1304 msgid "Otherwise, you can leave it blank." msgstr "Do contrário, deixe em branco." #: src/addons/googlecloud.php:1304 msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you." msgstr "Note que isto é necessário apenas se você ainda não criou o bucket e deseja que o UpdraftPlus crie para você." #: src/addons/googlecloud.php:1303 msgid "Enter the ID of the %s project you wish to use here." msgstr "Digite o ID do projeto do %s que você deseja usar aqui." #: src/addons/googlecloud.php:1289 msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section." msgstr "Siga este link para a sua Console de API do Google e, lá, ative a API de armazenamento (Storage API) e crie um ID de cliente (Client ID) na seção de Acesso à API (API Access)." #: src/addons/googlecloud.php:1105 msgid "You must enter a project ID in order to be able to create a new bucket." msgstr "Você deve inserir um ID de projeto para poder criar um novo bucket." #: src/addons/googlecloud.php:1302 msgid "Project ID" msgstr "ID do projeto" #: src/addons/googlecloud.php:949 msgid "You must save and authenticate before you can test your settings." msgstr "Você deve salvar e autenticar antes de poder testar suas configurações." #: src/addons/googlecloud.php:693 msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud." msgstr "Ainda não foi possível obter um token de acesso do Google - você precisa autorizar ou reautorizar sua conexão com o Google Cloud." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:386, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1144 msgid "You do not have access to this bucket." msgstr "Você não tem acesso a este bucket." #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:904, #: src/addons/googlecloud.php:1094, src/addons/googlecloud.php:1146, #: src/addons/googlecloud.php:1144, src/addons/googlecloud.php:1284, #: src/addons/googlecloud.php:1284, src/addons/googlecloud.php:1298, #: src/addons/googlecloud.php:1300, src/addons/googlecloud.php:1307 msgid "Google Cloud" msgstr "Google Cloud (Nuvem do Google)" #: src/addons/googlecloud.php:309, src/addons/googlecloud.php:362, #: src/addons/googlecloud.php:386, src/addons/googlecloud.php:1094, #: src/addons/googlecloud.php:1146, src/addons/googlecloud.php:1144 msgid "%s Service Exception." msgstr "Exceção de Serviço (Service Exception) %s." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "or to configure more complex schedules" msgstr "ou para configurar agendamentos mais complexos" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:11, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:14 msgid "Are you sure that you wish to remove %s from UpdraftPlus?" msgstr "Tem certeza de que deseja excluir %s do UpdraftPlus?" #: src/templates/wp-admin/settings/existing-backups-table.php:169 msgid "Deselect" msgstr "Desmarcar" #: src/addons/moredatabase.php:459, src/addons/morefiles.php:901, #: src/templates/wp-admin/settings/existing-backups-table.php:168 msgid "Select all" msgstr "Selecionar tudo" #: src/templates/wp-admin/settings/existing-backups-table.php:166 msgid "Actions upon selected backups" msgstr "Ações para os backups selecionados" #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)." msgstr "Clique aqui para procurar dentro dos seus métodos remotos de armazenamento por quaisquer conjuntos de backup existentes (de qualquer site, se estiverem armazenados na mesma pasta)." #: src/admin.php:2230 msgid "Backup sets removed:" msgstr "Conjuntos de backup removidos:" #: src/admin.php:1012 msgid "Processing..." msgstr "Processando..." #: src/admin.php:1010 msgid "For backups older than" msgstr "Para backups mais antigos do que" #: src/admin.php:1009 msgid "week(s)" msgstr "semana(s)" #: src/admin.php:1008 msgid "hour(s)" msgstr "hora(s)" #: src/admin.php:1007 msgid "day(s)" msgstr "dia(s)" #: src/admin.php:1006 msgid "in the month" msgstr "no mês" #: src/admin.php:1005 msgid "day" msgstr "dia" #: src/addons/morestorage.php:32 msgid "(as many as you like)" msgstr "(quantos você quiser)" #: src/addons/fixtime.php:305, src/addons/fixtime.php:310 msgid "Add an additional retention rule..." msgstr "Acrescentar uma regra de retenção adicional..." #: src/restorer.php:4035 msgid "This database needs to be deployed on MySQL version %s or later." msgstr "Esse banco de dados precisa ser carregado em um MySQL versão %s ou posterior." #: src/restorer.php:4035 msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database." msgstr "Esse problema é causado ao tentar restaurar um banco de dados em uma versão muito antiga do MySQL que é incompatível com o banco de dados original." #: src/methods/updraftvault.php:922 msgid "You do not currently have any UpdraftVault quota" msgstr "" #: src/class-updraftplus.php:5309 msgid "You must upgrade MySQL to be able to use this database." msgstr "Você deve atualizar o MySQL para poder utilizar este banco de dados." #: src/class-updraftplus.php:5309 msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on." msgstr "O backup do banco de dados utiliza características não disponíveis na antiga versão do MySQL (%s) onde este site está rodando." #: src/methods/updraftvault.php:526, src/methods/updraftvault.php:527 msgid "Don't know your email address, or forgotten your password?" msgstr "Não sabe seu endereço de e-mail ou esqueceu sua senha?" #: src/methods/updraftvault.php:519 msgid "Enter your UpdraftPlus.Com email / password here to connect:" msgstr "Digite seu e-mail/senha do UpdraftPlus.Com aqui para se conectar:" #: src/methods/updraftvault.php:487 msgid "Read the %s FAQs here." msgstr "Leia as perguntas frequentes do %s aqui." #: src/addons/s3-enhanced.php:82 msgid "Check this box to use Amazon's server-side encryption" msgstr "Marque esta caixa para usar a criptografia do lado do servidor da Amazon" #: src/addons/s3-enhanced.php:79 msgid "Server-side encryption" msgstr "Criptografia do lado do servidor" #: src/methods/updraftvault.php:930 msgid "If you have forgotten your password, then go here to change your password on updraftplus.com." msgstr "Se você esqueceu sua senha, acesse aqui para alterar sua senha em updraftplus.com." #: src/admin.php:1456 msgid "%s has been chosen for remote storage, but you are not currently connected." msgstr "%s foi escolhido para armazenamento remoto, mas você não está conectado no momento." #: src/methods/updraftvault.php:518 msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal." msgstr "Pagamentos podem ser feitos em dólares americanos, euros ou libras esterlinas, por cartão de crédito ou PayPal." #: src/admin.php:982 msgid "Update quota count" msgstr "Atualizar a contagem da cota" #: src/admin.php:981 msgid "Counting..." msgstr "Contando..." #: src/admin.php:980 msgid "Disconnecting..." msgstr "Desconectando..." #: src/admin.php:978 msgid "Connecting..." msgstr "Conectando..." #: src/methods/updraftvault.php:652, src/methods/updraftvault.php:755 msgid "Refresh current status" msgstr "Atualizar o status atual" #: src/methods/updraftvault.php:650, src/methods/updraftvault.php:667, #: src/methods/updraftvault.php:669, src/methods/updraftvault.php:755 msgid "Get more quota" msgstr "Obter mais cota" #: src/methods/updraftvault.php:647, src/methods/updraftvault.php:664, #: src/methods/updraftvault.php:719 msgid "Current use:" msgstr "Uso atual:" #: src/methods/updraftvault.php:632 msgid "You can get more quota here" msgstr "Você pode obter mais cota aqui" #: src/methods/updraftvault.php:632 msgid "Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s)." msgstr "Erro: você tem uma cota de armazenamento insuficiente (%s) para enviar este arquivamento (%s) (%s)." #: src/admin.php:979, src/methods/updraftvault.php:533, #: src/methods/updraftvault.php:615 msgid "Disconnect" msgstr "Desconectar" #: src/methods/updraftvault.php:532, src/methods/updraftvault.php:601 msgid "Quota:" msgstr "Cota:" #: src/methods/updraftvault.php:531, src/methods/updraftvault.php:599 msgid "Vault owner" msgstr "Dono do cofre" #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "Well done - there's nothing more needed to set up." msgstr "Muito bem - não há mais nada necessário para configurar." #: src/methods/updraftvault.php:530, src/methods/updraftvault.php:599 msgid "This site is connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:534, src/methods/updraftvault.php:595 msgid "You are not connected to UpdraftVault." msgstr "" #: src/methods/updraftvault.php:529 msgid "Go here for help" msgstr "Venha aqui para ajuda" #: src/methods/updraftvault.php:515, #: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4 msgid "Back..." msgstr "Voltar..." #: src/methods/updraftvault.php:518 msgid "Subscriptions can be cancelled at any time." msgstr "Assinaturas podem ser canceladas a qualquer momento." #: src/methods/updraftvault.php:500, src/methods/updraftvault.php:501, #: src/methods/updraftvault.php:502 msgid "%s per quarter" msgstr "%s por trimestre." #: src/methods/updraftvault.php:485 msgid "UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability." msgstr "" #: src/methods/updraftvault.php:481 msgid "Show the options" msgstr "Mostre as opções" #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "Press a button to get started." msgstr "Pressione um botão para iniciar." #: src/methods/updraftvault.php:479, src/methods/updraftvault.php:490 msgid "UpdraftVault brings you storage that is reliable, easy to use and a great price." msgstr "" #: src/methods/updraftvault.php:155 msgid "Updraft Vault" msgstr "Cofre do Updraft" #: src/addons/azure.php:477, src/addons/backblaze.php:611, #: src/addons/googlecloud.php:1034, src/methods/s3.php:1468 msgid "Delete failed:" msgstr "Não foi possível excluir:" #: src/backup.php:4383 msgid "The zip engine returned the message: %s." msgstr "O mecanismo de compactação retornou a mensagem: %s." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:458 msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors." msgstr "Sem esta permissão, o UpdraftPlus não pode apagar os backups - você deveria também configurar o parâmetro 'retenção' com um valor alto para evitar enxergar erros de deleção." #: src/addons/s3-enhanced.php:456, src/addons/s3-enhanced.php:456 msgid "Allow deletion" msgstr "Permitir a exclusão" #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:454 msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website." msgstr "Sem esta permissão, você não pode efetuar o download diretamente ou restaurar utilizando o UpdraftPlus e irá precisar acessar o site da AWS." #: src/addons/s3-enhanced.php:452, src/addons/s3-enhanced.php:452 msgid "Allow download" msgstr "Permitir o download" #: src/includes/class-remote-send.php:429 msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead." msgstr "Se o envio direto de um site para outro não funcionar para você, existem três outros métodos - tente um destes." #: src/admin.php:988, src/includes/class-remote-send.php:411 msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly." msgstr "Você deve verificar se o site remoto está on-line, não protegido por firewall, sem módulos de segurança que possam estar bloqueando o acesso, com o UpdraftPlus versão %s ou posterior ativo e se as chaves foram digitadas corretamente." #: src/includes/class-remote-send.php:693 msgid "Existing keys" msgstr "Chaves existentes" #: src/addons/migrator.php:568 msgid "Your new key:" msgstr "Sua nova chave:" #: src/includes/class-remote-send.php:555 msgid "Key created successfully." msgstr "Chave criada com sucesso." #: src/includes/class-remote-send.php:538 msgid "A key with this name already exists; you must use a unique name." msgstr "Uma chave com este nome já existe; você deve utilizar um nome único." #: src/includes/class-remote-send.php:463 msgid "Also send this backup to the active remote storage locations" msgstr "Enviar também este backup para os locais de armazenamento remoto ativos" #: src/includes/class-remote-send.php:359 msgid "site not found" msgstr "site não encontrado" #: src/includes/class-remote-send.php:326 msgid "Backup data will be sent to:" msgstr "Dados do backup serão enviados para:" #: src/addons/migrator.php:207 msgid "Restore an existing backup set onto this site" msgstr "Restaurar um conjunto de backup existente para este site" #: src/addons/migrator.php:213 msgid "This site has no backups to restore from yet." msgstr "Este site ainda não tem backups de onde restaurar." #: src/addons/reporting.php:197 msgid "Backup made by %s" msgstr "Backup feito por %s" #: src/methods/addon-base-v2.php:222 msgid "This storage method does not allow downloading" msgstr "Este método de armazenamento não permite o download" #: src/admin.php:4657 msgid "(backup set imported from remote location)" msgstr "(conjunto de backup importado do local remoto)" #: src/addons/wp-cli.php:379, #: src/templates/wp-admin/settings/existing-backups-table.php:105 msgid "Site" msgstr "Site" #: src/addons/wp-cli.php:377, #: src/templates/wp-admin/settings/existing-backups-table.php:104 msgid "Backup sent to remote site - not available for download." msgstr "Backup enviado para o site remoto - não está disponível para download." #: src/includes/class-wpadmin-commands.php:134 msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)." msgstr "Você deveria certificar-se de que este é realmente um conjunto de backup destinado ao uso neste site da web, antes de fazer a restauração (ou se é um conjunto de backup de um outro site da web)." #: src/includes/class-wpadmin-commands.php:134 msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site." msgstr "O UpdraftPlus não reconheceu este conjunto de backup como criado pela instalação atual do WordPress, mas o encontrou em um armazenamento remoto ou ele foi enviado de um site remoto." #: src/admin.php:995, src/includes/class-remote-send.php:441 msgid "Testing connection..." msgstr "Testando a conexão..." #: src/admin.php:992, #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Deleting..." msgstr "Excluindo…" #: src/admin.php:991 msgid "key name" msgstr "nome da chave" #: src/admin.php:989 msgid "Please give this key a name (e.g. indicate the site it is for):" msgstr "Dê um nome para esta chave (ex.: indique a que site ela pertence):" #: src/admin.php:986 msgid "Creating..." msgstr "Criando..." #: src/addons/migrator.php:549 msgid "Receive a backup from a remote site" msgstr "Receber um backup de um site remoto" #: src/addons/migrator.php:541 msgid "Paste key here" msgstr "Cole a chave aqui" #: src/addons/migrator.php:537 msgid "How do I get a site's key?" msgstr "Como obtenho a chave de um site?" #: src/addons/migrator.php:537 msgid "To add a site as a destination for sending to, enter that site's key below." msgstr "Para acrescentar um site como destino de envio, entre a chave desse site abaixo." #: src/admin.php:1155, src/addons/migrator.php:529 msgid "Send a backup to another site" msgstr "Enviar um backup para outro site" #: src/admin.php:996, src/includes/class-commands.php:964, #: src/includes/class-remote-send.php:476, #: src/includes/class-remote-send.php:662 msgid "Send" msgstr "Enviar" #: src/admin.php:987, src/includes/class-remote-send.php:656 msgid "Send to site:" msgstr "Enviar para o site:" #: src/includes/class-remote-send.php:654 msgid "No receiving sites have yet been added." msgstr "Nenhum site de recebimento foi adicionado ainda." #: src/includes/class-remote-send.php:632 msgid "It is for sending backups to the following site: " msgstr "É para enviar backups para o seguinte site: " #: src/includes/class-remote-send.php:632 msgid "The key was successfully added." msgstr "A chave foi adicionada com sucesso." #: src/includes/class-remote-send.php:608 msgid "The entered key does not belong to a remote site (it belongs to this one)." msgstr "A chave digitada não pertence ao site remoto (pertence a este aqui)." #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:599, #: src/includes/class-remote-send.php:597 msgid "The entered key was corrupt - please try again." msgstr "A chave digitada está corrompida, tente novamente." #: src/includes/class-remote-send.php:595 msgid "The entered key was the wrong length - please try again." msgstr "A chave digitada tem o tamanho errado, tente novamente." #: src/includes/class-remote-send.php:580 msgid "key" msgstr "chave" #: src/methods/ftp.php:129 msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this." msgstr "Quase todos os servidores de FTP irão preferir o modo passivo, mas se você necessida do modo ativo, então desmarque esta opção." #: src/methods/ftp.php:128 msgid "Passive mode" msgstr "Modo passivo" #: src/methods/ftp.php:126 msgid "Remote path" msgstr "Caminho remoto" #: src/methods/ftp.php:124 msgid "FTP password" msgstr "Senha FTP" #: src/methods/ftp.php:123 msgid "FTP login" msgstr "Acesso FTP" #: src/methods/ftp.php:122 msgid "FTP server" msgstr "Servidor de FTP" #: src/addons/migrator.php:171 msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site." msgstr "O UpdraftPlus Migrator modifica a operação de restauração apropriadamente, de forma a adequar os dados do backup para o novo site." #: src/addons/migrator.php:171 msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site." msgstr "Uma \"migração\" é, em última análise, o mesmo que uma restauração - mas utilizando arquivos de backup que você importou de outro site." #: src/admin.php:984, src/addons/migrator.php:541 msgid "Add site" msgstr "Adicionar site" #: src/admin.php:983 msgid "Adding..." msgstr "Adicionando…" #: src/udaddons/options.php:336 msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?" msgstr "Reivindicação não autorizada - talvez você já tenha usado esta compra em outro lugar ou seu período pago para download do updraftplus.com expirou?" #: src/restorer.php:4037 msgid "To use this backup, your database server needs to support the %s character set." msgstr "Para utilizar este backup, o seu servidor de banco de dados precisa suportar o conjunto de caracteres %s." #: src/udaddons/updraftplus-addons.php:1089 msgid "go here to change your password on updraftplus.com." msgstr "entre aqui para alterar sua senha em updraftplus.com." #: src/udaddons/updraftplus-addons.php:1089 msgid "If you have forgotten your password " msgstr "Se você esqueceu a sua senha" #: src/udaddons/updraftplus-addons.php:1088 msgid "Go here to re-enter your password." msgstr "Entre aqui para digitar novamente a sua senha." #: src/addons/migrator.php:248 msgid "After pressing this button, you will be given the option to choose which components you wish to migrate" msgstr "Após pressionar este botão, será dada a opção para escolher quais componentes você deseja migrar" #: src/admin.php:975, src/admin.php:1001, src/admin.php:1002 msgid "You have made changes to your settings, and not saved." msgstr "Você fez alterações nas suas configurações e não salvou." #: src/addons/onedrive.php:1322 msgid "N.B. %s is not case-sensitive." msgstr "N.B. %s não é sensível a maiúsculas e minúsculas." #: src/addons/onedrive.php:1318 msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here." msgstr "Se o OneDrive mostrar mais tarde a mensagem \"unauthorized_client\" (cliente não autorizado), então você não forneceu aqui um ID de cliente válido." #: src/addons/googlecloud.php:1288, src/includes/class-remote-send.php:429, #: src/methods/googledrive.php:1494 msgid "For longer help, including screenshots, follow this link." msgstr "Para uma ajuda mais detalhada, incluindo capturas de tela, acesse este link." #: src/addons/onedrive.php:1313 msgid "Create OneDrive credentials in your OneDrive developer console." msgstr "Crie as credenciais do OneDrive na sua console de desenvolvedor do OneDrive." #: src/addons/onedrive.php:1316 msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked" msgstr "Você deve acrescentar o seguinte como sendo a URI de redirecionamento autorizada na sua console do OneDrive (em \"Configurações da API/API Settings\") quando solicitado" #: src/addons/onedrive.php:1189, src/addons/onedrive.php:1187 msgid "authorization failed:" msgstr "autorização falhou:" #: src/addons/onedrive.php:1013, src/addons/onedrive.php:1317, #: src/addons/onedrive.php:1319 msgid "OneDrive" msgstr "OneDrive" #: src/addons/onedrive.php:784 msgid "Please re-authorize the connection to your %s account." msgstr "Por favor re-autorize a conexão com a sua conta %s." #: src/methods/email.php:110 msgid "configure it here" msgstr "configure aqui" #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895 msgid "To remove the block, please go here." msgstr "Para remover o bloqueio, por favor vá aqui." #: src/addons/s3-enhanced.php:538 msgid "Do remember to save your settings." msgstr "Lembre-se de salvar as suas configurações." #: src/addons/s3-enhanced.php:538 msgid "You are now using a IAM user account to access your bucket." msgstr "Você está utilizando agora uma conta de usuário IAM para acessar o seu bucket." #: src/addons/s3-enhanced.php:450 msgid "S3 bucket" msgstr "Bucket S3" #: src/addons/s3-enhanced.php:440 msgid "China (Beijing) (restricted)" msgstr "China (Pequim) (restrito)" #: src/addons/s3-enhanced.php:438 msgid "South America (São Paulo)" msgstr "América do Sul (São Paulo)" #: src/addons/s3-enhanced.php:435 msgid "Asia Pacific (Tokyo)" msgstr "Pacífico - Ásia (Tóquio)" #: src/addons/s3-enhanced.php:433 msgid "Asia Pacific (Sydney)" msgstr "Pacífico - Ásia (Sydney)" #: src/addons/s3-enhanced.php:432 msgid "Asia Pacific (Singapore)" msgstr "Pacífico - Ásia (Cingapura)" #: src/addons/s3-enhanced.php:421 msgid "US Government West (restricted)" msgstr "Governo dos Estados Unidos - Oeste (restrito)" #: src/addons/s3-enhanced.php:420 msgid "US West (N. California)" msgstr "Oeste dos Estados Unidos (Norte da Califórnia)" #: src/addons/s3-enhanced.php:419 msgid "US West (Oregon)" msgstr "Oeste dos Estados Unidos (Oregon) " #: src/addons/s3-enhanced.php:413 msgid "S3 storage region" msgstr "Região de armazenamento S3" #: src/addons/s3-enhanced.php:411 msgid "New IAM username" msgstr "Novo nome de usuário IAM" #: src/addons/s3-enhanced.php:410 msgid "Admin secret key" msgstr "Chave secreta administrativa" #: src/addons/s3-enhanced.php:409 msgid "Admin access key" msgstr "Chave de acesso administrativo" #: src/addons/s3-enhanced.php:402 msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys." msgstr "Então, essas credenciais de acesso de baixo poder podem ser utilizados, ao invés de armazenar suas chaves administrativas." #: src/addons/s3-enhanced.php:402 msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket." msgstr "Isto será usado para criar um novo usuário e par de chaves com uma política do IAM anexada que permitirá apenas acessar o bucket indicado." #: src/addons/s3-enhanced.php:402 msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name." msgstr "Digite sua chave secreta/de acesso administrativa do Amazon S3 (precisa ser um par de chaves com direitos suficientes para criar novos usuários e buckets), um novo nome de usuário (único) para o novo usuário e um nome para o bucket." #: src/addons/s3-enhanced.php:488 msgid "Create new IAM user and S3 bucket" msgstr "Criar novo usuário IAM e bucket S3" #: src/addons/s3-enhanced.php:388 msgid "Secret Key: %s" msgstr "Chave Secreta: %s" #: src/addons/s3-enhanced.php:388 msgid "Access Key: %s" msgstr "Chave de Acesso: %s" #: src/addons/s3-enhanced.php:378 msgid "Failed to apply User Policy" msgstr "Falhou ao aplicar a Política de Usuário" #: src/addons/s3-enhanced.php:315, src/addons/s3-enhanced.php:319 msgid "Operation to create user Access Key failed" msgstr "Operação de criação da Chave de Acesso do usuário falhou" #: src/addons/s3-enhanced.php:296, src/addons/s3-enhanced.php:306 msgid "IAM operation failed (%s)" msgstr "Operação IAM falhou (%s)" #: src/addons/s3-enhanced.php:302 msgid "Conflict: that user already exists" msgstr "Conflito: esse usuário já existe" #: src/addons/s3-enhanced.php:240 msgid "AWS authentication failed" msgstr "Autenticação AWS falhou" #: src/addons/s3-enhanced.php:233 msgid "Cannot create new AWS user, since an unknown AWS toolkit is being used." msgstr "Não é possível criar um novo usuário da AWS, pois um kit de ferramentas desconhecido da AWS está sendo usado." #: src/addons/s3-enhanced.php:204 msgid "You need to enter a bucket" msgstr "Você precisa inserir um bucket" #: src/addons/s3-enhanced.php:200 msgid "You need to enter a new IAM username" msgstr "Você precisa entrar um novo nome de usuário IAM" #: src/addons/s3-enhanced.php:196 msgid "You need to enter an admin secret key" msgstr "Você precisa entrar uma chave secreta de administrador" #: src/addons/s3-enhanced.php:192 msgid "You need to enter an admin access key" msgstr "Você precisa fornecer uma chave de acesso de administrador" #: src/addons/s3-enhanced.php:70 msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)" msgstr "Se você tem um usuário de administração AWS, então você pode utilizar este assistente para criar rapidamente um novo usuário AWS (IAM) com acesso a apenas este bucket (ao invés de acesso a toda conta)" #: src/addons/s3-enhanced.php:69, src/methods/s3.php:1031 msgid "To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium." msgstr "Para criar um novo sub-usuário IAM e uma chave de acesso que permita o acesso apenas a esse bucket, atualize para o Premium." #: src/addons/onedrive.php:754, src/addons/onedrive.php:777, #: src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:895, #: src/udaddons/updraftplus-addons.php:1040, #: src/udaddons/updraftplus-addons.php:1053 msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks." msgstr "Isso provavelmente significa que você compartilha o seu servidor web com um site hackeado que foi utilizado anteriormente em ataques." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "It appears that your web server's IP Address (%s) is blocked." msgstr "Parece que o endereço IP do seu servidor web (%s) está bloqueado." #: src/addons/onedrive.php:777, src/includes/updraftplus-login.php:55, #: src/methods/updraftvault.php:895, src/udaddons/updraftplus-addons.php:1053 msgid "UpdraftPlus.com has responded with 'Access Denied'." msgstr "O UpdraftPlus.com respondeu com \"Acesso Negado\"." #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Premium WooCommerce plugins" msgstr "Plugins WooCommerce Premium" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:40 msgid "Free two-factor security plugin" msgstr "Plugin de segurança de dois-fatores gratuito" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:39 msgid "More quality plugins" msgstr "Mais plugins de qualidade" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:18, #: src/templates/wp-admin/settings/tab-addons.php:72 msgid "UpdraftPlus Premium" msgstr "UpdraftPlus Premium" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2, #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:43 msgid "Dismiss (for %s months)" msgstr "Dispensar (por %s meses)" #: src/addons/fixtime.php:447 msgid "(at same time as files backup)" msgstr "(ao mesmo tempo que o backup dos arquivos)" #: src/admin.php:4190 msgid "No backup has been completed" msgstr "Nenhum backup foi completado" #: src/templates/wp-admin/settings/header.php:21 msgid "Newsletter sign-up" msgstr "Assinar o newsletter" #: src/includes/updraftplus-notices.php:156 msgid "Follow this link to sign up for the UpdraftPlus newsletter." msgstr "Acesse este link para assinar o newsletter do UpdraftPlus." #: src/templates/wp-admin/settings/tab-addons.php:165, #: src/templates/wp-admin/settings/tab-addons.php:166 msgid "Backup non-WordPress files and databases" msgstr "Efetuar backup de arquivos e bancos de dados que não são do WordPress" #: src/templates/wp-admin/settings/tab-addons.php:27 msgid "Ask a pre-sales question" msgstr "Faça uma pergunta de pré-venda" #: src/templates/wp-admin/settings/tab-addons.php:26 msgid "Pre-sales FAQs" msgstr "Perguntas frequentes pré-venda" #: src/templates/wp-admin/settings/tab-addons.php:25 msgid "Full feature list" msgstr "Lista de todas as características" #: src/addons/autobackup.php:1188 msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Efetuar o backup (quando relevante) dos plugins, temas e banco de dados do WordPress com o UpdraftPlus antes de atualizar" #: src/methods/s3.php:186, src/methods/s3.php:198 msgid "%s Error: Failed to initialise" msgstr "Erro de %s: Não foi possível inicializar" #: src/templates/wp-admin/settings/form-contents.php:191 msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files" msgid "or" msgstr "ou" #: src/addons/sftp.php:618 msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated." msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted." msgstr "PKCS1 (Cabeçalho PEM: BEGIN RSA PRIVATE KEY), XML e chaves no formato do PuTTY são aceitas." #: src/methods/openstack2.php:125 msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning" msgid "tenant" msgstr "tenant" #: src/methods/openstack2.php:248 msgctxt "Keystone and swauth are technical terms which cannot be translated" msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported." msgstr "É necessário que a URI de autenticação seja uma v2 (Keystone); a v1 (Swauth) não é suportado." #: src/templates/wp-admin/settings/form-contents.php:274, #: src/templates/wp-admin/settings/form-contents.php:277 msgid "your site's admin address" msgstr "o endereço de administração do seu site" #: src/templates/wp-admin/settings/form-contents.php:274 msgid "Check this box to have a basic report sent to" msgstr "Marque esta caixa para que um relatório básico seja enviado para" #: src/admin.php:4220 msgctxt "i.e. Non-automatic" msgid "Manual" msgstr "Manual" #: src/restorer.php:3990 msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred" msgid "An error (%s) occurred:" msgstr "Um erro (%s) ocorreu:" #: src/addons/lockadmin.php:198 msgid "Change Lock Settings" msgstr "Alterar Parâmetros de Bloqueio" #: src/addons/morefiles.php:293 msgid "Any other file/directory on your server that you wish to backup" msgstr "Qualquer outro arquivo/diretório do seu servidor que você deseje fazer um backup" #: src/admin.php:3010 msgid "For even more features and personal support, check out " msgstr "Para mais opções e suporte personalizado, confira" #: src/addons/moredatabase.php:61 msgid "Database decryption phrase" msgstr "Frase de descriptografia do banco de dados" #: src/admin.php:974, src/addons/autobackup.php:161, #: src/addons/autobackup.php:1131 msgid "Automatic backup before update" msgstr "Backup automático antes de atualizar" #: src/addons/autobackup.php:126 msgid "WordPress core (only)" msgstr "Arquivos básicos do WordPress (apenas)" #: src/addons/lockadmin.php:250 msgid "For unlocking support, please contact whoever manages UpdraftPlus for you." msgstr "Para suporte ao desbloqueio, por favor entre em contato com o administrador do seu UpdraftPlus." #: src/addons/lockadmin.php:241 msgid "To access the UpdraftPlus settings, please enter your unlock password" msgstr "Para acessar as configurações do UpdraftPlus, por favor, entre a senha de desbloqueio" #: src/addons/lockadmin.php:238 msgid "Password incorrect" msgstr "Senha incorreta" #: src/addons/lockadmin.php:226, src/addons/lockadmin.php:232 msgid "Unlock" msgstr "Desbloquear" #: src/addons/lockadmin.php:196 msgid "Otherwise, the default link will be shown." msgstr "Do contrário, o link padrão será mostrado." #: src/addons/lockadmin.php:196 msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address." msgstr "Qualquer um que veja a tela de bloqueio receberá esta URL de suporte - entre um endereço web ou um endereço de e-mail." #: src/addons/lockadmin.php:196 msgid "Support URL" msgstr "URL de suporte" #: src/addons/lockadmin.php:194 msgid "Require password again after" msgstr "Solicitar a senha novamente após" #: src/addons/lockadmin.php:185, src/addons/lockadmin.php:186 msgid "%s weeks" msgstr "%s semanas" #: src/addons/lockadmin.php:184 msgid "1 week" msgstr "1 semana" #: src/addons/lockadmin.php:182, src/addons/lockadmin.php:183 msgid "%s hours" msgstr "%s horas" #: src/addons/lockadmin.php:181 msgid "1 hour" msgstr "1 hora" #: src/addons/lockadmin.php:170 msgid "Please make sure that you have made a note of the password!" msgstr "Por favor certifique-se de ter feito alguma anotação dessa senha!" #: src/addons/lockadmin.php:163, #: src/templates/wp-admin/advanced/lock-admin.php:8 msgid "Lock access to the UpdraftPlus settings page" msgstr "Bloquear o acesso à página de configurações do UpdraftPlus" #: src/addons/lockadmin.php:136 msgid "The admin password has been changed." msgstr "A senha do administrador foi alterada." #: src/addons/lockadmin.php:134 msgid "An admin password has been set." msgstr "A senha do administrador foi configurada." #: src/addons/lockadmin.php:132 msgid "The admin password has now been removed." msgstr "A senha do administrador foi removida." #: src/addons/morefiles.php:156 msgid "(learn more about this significant option)" msgstr "(saiba mais sobre esta importante opção)" #: src/udaddons/options.php:271 msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates." msgstr "Note que após você reivindicar seus complementos, você pode remover sua senha (mas não o endereço de e-mail) das configurações abaixo, sem afetar o acesso do site às atualizações." #: src/admin.php:3664, src/admin.php:4758 msgid "View Log" msgstr "Ver registros" #: src/templates/wp-admin/settings/existing-backups-table.php:18, #: src/templates/wp-admin/settings/existing-backups-table.php:100 msgid "Backup data (click to download)" msgstr "Dados do backup (clique para baixar)" #: src/templates/wp-admin/settings/existing-backups-table.php:17, #: src/templates/wp-admin/settings/existing-backups-table.php:67 msgid "Backup date" msgstr "Data do backup" #: src/templates/wp-admin/settings/form-contents.php:42, #: src/templates/wp-admin/settings/form-contents.php:76 msgid "and retain this many scheduled backups" msgstr "e retém esta quantidade de backups agendados" #: src/admin.php:4160 msgid "incremental backup; base backup: %s" msgstr "Backup incremental; backup da base: %s" #: src/templates/wp-admin/advanced/lock-admin.php:19 msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium." msgstr "Para poder bloquear o acesso às configurações do UpdraftPlus com uma senha, atualize para o UpdraftPlus Premium." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Upload files into UpdraftPlus." msgstr "Envie arquivos para o UpdraftPlus." #: src/admin.php:1366, src/includes/class-commands.php:505, #: src/templates/wp-admin/settings/take-backup.php:13 msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)." msgstr "O botão \"Fazer backup agora\" foi desativado porque o seu diretório de backup não é gravável (vá para a aba \"Configurações\" e encontre a opção relevante)." #: src/class-updraftplus.php:5217 msgid "Backup label:" msgstr "Rótulo do backup:" #: src/admin.php:2539, src/addons/backblaze.php:240 msgid "Error: unexpected file read fail" msgstr "Erro: falha inesperada na leitura do arquivo" #: src/backup.php:4389 msgid "check your log for more details." msgstr "verifique seus registros para mais detalhes." #: src/backup.php:4385 msgid "A zip error occurred" msgstr "Um erro de compactação ocorreu" #: src/addons/reporting.php:92 msgid "Your label for this backup (optional)" msgstr "Seu rótulo para este backup (opcional)" #: src/methods/updraftvault.php:933, src/udaddons/updraftplus-addons.php:1092 msgid "You entered an email address that was not recognised by UpdraftPlus.Com" msgstr "Você inseriu um endereço de e-mail que não foi reconhecido pelo UpdraftPlus.Com" #: src/methods/updraftvault.php:930, src/udaddons/updraftplus-addons.php:1088 msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com." msgstr "Seu endereço de e-mail era válido, mas sua senha não foi reconhecida pelo UpdraftPlus.Com." #: src/methods/updraftvault.php:870, src/udaddons/updraftplus-addons.php:957 msgid "You need to supply both an email address and a password" msgstr "Você precisa fornecer um endereço de e-mail e uma senha" #: src/class-updraftplus.php:5236 msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite." msgstr "Se você deseja restaurar um backup multisite, você deveria primeiramente configurar a sua instalação WordPress como sendo multisite." #: src/includes/migrator-lite.php:986 msgid "already done" msgstr "já realizado" #: src/includes/migrator-lite.php:946 msgid "skipped (not in list)" msgstr "pulado (não está na lista)" #: src/includes/class-search-replace.php:99, #: src/includes/migrator-lite.php:946, src/includes/migrator-lite.php:986 msgid "Search and replacing table:" msgstr "Pesquisar e substituir a tabela:" #: src/includes/migrator-lite.php:293 msgid "Enter a comma-separated list; otherwise, leave blank for all tables." msgstr "Entre uma lista separada por vírgula, do contrário deixe em branco para todas as tabelas." #: src/includes/migrator-lite.php:293 msgid "These tables only" msgstr "Apenas estas tabelas" #: src/includes/migrator-lite.php:292 msgid "Rows per batch" msgstr "Linhas por lote" #: src/udaddons/options.php:122 msgid "You have not yet connected with your UpdraftPlus.Com account." msgstr "Você ainda não se conectou com sua conta do UpdraftPlus.Com." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "You need to connect to receive future updates to UpdraftPlus." msgstr "Você precisa se conectar para receber futuras atualizações do UpdraftPlus." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "Any support requests to do with %s should be raised with your web hosting company." msgstr "Quaisquer solicitações de suporte relacionadas com %s devem ser feitas com a sua empresa de hospedagem web." #: src/class-updraftplus.php:5207 msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc are compatible with the older %s version." msgstr "" #: src/class-updraftplus.php:5207 msgid "This is significantly newer than the server which you are now restoring onto (version %s)." msgstr "Isto é significativamente mais novo do que o servidor onde você está restaurando agora (versão %s)." #: src/class-updraftplus.php:5209, src/class-updraftplus.php:5207 msgid "The site in this backup was running on a webserver with version %s of %s." msgstr "" #: src/includes/updraftplus-notices.php:146, #: src/includes/updraftplus-notices.php:148 msgid "Facebook" msgstr "Facebook" #: src/includes/updraftplus-notices.php:144, #: src/includes/updraftplus-notices.php:147, #: src/templates/wp-admin/settings/header.php:16 msgid "Twitter" msgstr "Twitter" #: src/includes/updraftplus-notices.php:143 msgid "UpdraftPlus is on social media - check us out!" msgstr "O UpdraftPlus está nas mídias sociais - confira!" #: src/addons/wp-cli.php:979, src/includes/class-filesystem-functions.php:83 msgid "Why am I seeing this?" msgstr "Por que estou vendo isto?" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "The location of this directory is set in the expert settings, in the Settings tab." msgstr "O local deste diretório é definido nas configurações avançadas, na aba de Configurações." #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded." msgstr "Clique aqui para procurar dentro do seu diretório do UpdraftPlus (na área de armazenamento da sua hospedagem web) por novos conjuntos de backup que você tenha enviado." #: src/admin.php:2458, src/admin.php:2481, src/includes/class-commands.php:992 msgid "Start backup" msgstr "Iniciar backup" #: src/class-updraftplus.php:5178, src/restorer.php:1882 msgid "You are using the %s webserver, but do not seem to have the %s module loaded." msgstr "Você está utilizando o servidor web %s, mas não parece ter o módulo %s carregado." #: src/admin.php:4048 msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory." msgstr "Você precisará perguntar ao seu provedor de hospedagem web, para descobrir como mudar as permissões, para que um plugin do WordPress possa gravar em um diretório." #: src/templates/wp-admin/advanced/advanced-tools.php:6 msgid "Unless you have a problem, you can completely ignore everything here." msgstr "A menos que você tenha um problema, você pode ignorar completamente tudo o que está aqui." #: src/admin.php:2722 msgid "This file could not be uploaded" msgstr "Não foi possível enviar este arquivo" #: src/admin.php:2685 msgid "You will find more information about this in the Settings section." msgstr "Você irá descobrir mais informações sobre isto na seção de Configurações." #: src/addons/importer.php:78 msgid "Supported backup plugins: %s" msgstr "Plugins de backup suportados: %s" #: src/addons/importer.php:78 msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link." msgstr "Este backup foi criado com um plugin de backup diferente? Se sim, então você poderá ter que, primeiramente, renomeá-lo para que possa ser reconhecido - por favor, siga este link." #: src/addons/incremental.php:378 msgid "Tell me more about incremental backups" msgstr "Fale mais sobre backups incrementais" #: src/templates/wp-admin/advanced/site-info.php:57 msgid "Memory limit" msgstr "Limite de memória" #: src/restorer.php:2800, src/includes/class-filesystem-functions.php:304 msgid "restoration" msgstr "restauração" #: src/class-updraftplus.php:3767 msgid "Incremental" msgstr "Incremental" #: src/class-updraftplus.php:3767 msgid "Full backup" msgstr "Backup completo" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "now proceeding with the updates..." msgstr "continuando agora com as atualizações..." #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "(view log...)" msgstr "(ver o registro...)" #: src/addons/autobackup.php:579, src/addons/autobackup.php:577 msgid "Backup succeeded" msgstr "Backup efetuado com sucesso" #: src/updraftplus.php:122, src/addons/incremental.php:343, #: src/addons/incremental.php:344, src/addons/incremental.php:345, #: src/addons/incremental.php:346 msgid "Every %s hours" msgstr "A cada %s horas" #: src/restorer.php:4382, src/restorer.php:4380, #: src/includes/migrator-lite.php:629, src/includes/migrator-lite.php:627 msgid "search and replace" msgstr "pesquisar e substituir" #: src/includes/migrator-lite.php:295 msgid "Go" msgstr "Ir" #: src/includes/migrator-lite.php:284 msgid "A search/replace cannot be undone - are you sure you want to do this?" msgstr "Uma procura/substituição não pode ser desfeita - tem certeza que deseja fazer isso?" #: src/includes/migrator-lite.php:283 msgid "This can easily destroy your site; so, use it with care!" msgstr "Isto pode facilmente destruir o seu site portanto, utilize com cuidado!" #: src/includes/migrator-lite.php:238, src/includes/migrator-lite.php:291 msgid "Replace with" msgstr "Substituir por" #: src/includes/migrator-lite.php:237, src/includes/migrator-lite.php:290 msgid "Search for" msgstr "Pesquisar por" #: src/includes/migrator-lite.php:236, src/includes/migrator-lite.php:282, #: src/templates/wp-admin/advanced/search-replace.php:7, #: src/templates/wp-admin/advanced/tools-menu.php:20 msgid "Search / replace database" msgstr "Pesquisar / substituir o banco de dados" #: src/includes/migrator-lite.php:242 msgid "search term" msgstr "pesquisar termo" #: src/restorer.php:4049 msgid "Too many database errors have occurred - aborting" msgstr "Erros demais no banco de dados ocorreram - abortando" #: src/class-updraftplus.php:3839 msgid "read more at %s" msgstr "leia mais em %s" #: src/class-updraftplus.php:3839 msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news" msgstr "Os relatórios de e-mail criados pelo UpdraftPlus (edição gratuita) trazem as últimas notícias do UpdraftPlus.com" #: src/methods/googledrive.php:1500 msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site." msgstr "Note que se você instalar o UpdraftPlus em vários sites WordPress, não poderá reutilizar seu projeto; você deve criar um novo no console de API do Google para cada site." #: src/includes/class-backup-history.php:133 msgid "You have not yet made any backups." msgstr "Você ainda não fez nenhum backup." #: src/templates/wp-admin/settings/form-contents.php:153 msgid "Database Options" msgstr "Opções de Banco de Dados" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "%s (%s used)" msgstr "%s (%s utilizado)" #: src/templates/wp-admin/advanced/site-info.php:92 msgid "Free disk space in account:" msgstr "Espaço livre em disco contabilizado:" #: src/admin.php:5638, src/templates/wp-admin/settings/take-backup.php:52 msgid "This button is disabled because your backup directory is not writable (see the settings)." msgstr "Este botão está desabilitado porque o seu diretório de backup não é gravável (veja as configurações)." #: src/admin.php:1371 msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab." msgstr "Para alterar qualquer configuração padrão do que está sendo copiado, para configurar backups agendados, para enviar os backups para um armazenamento remoto (recomendado) e mais, vá para a aba de configurações." #: src/admin.php:1371 msgid "To make a backup, just press the Backup Now button." msgstr "Para efetuar um backup, apenas pressione o botão \"Fazer backup agora\"." #: src/admin.php:1371 msgid "Welcome to UpdraftPlus!" msgstr "Boas-vindas ao UpdraftPlus!" #: src/addons/moredatabase.php:281 msgid "Testing..." msgstr "Testando..." #: src/addons/moredatabase.php:268 msgid "Test connection..." msgstr "Testar a conexão..." #: src/addons/moredatabase.php:267 msgid "Table prefix" msgstr "Prefixo da tabela" #: src/addons/moredatabase.php:261 msgid "Backup external database" msgstr "Efetuar o backup de um banco de dados externo" #: src/addons/moredatabase.php:201 msgid "Add an external database to backup..." msgstr "Acrescentar um banco de dados externo ao backup..." #: src/addons/moredatabase.php:197 msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up." msgstr "Se o seu banco de dados inclui tabelas extra que não são parte deste site WordPress (você saberá se este for o caso), então ative esta opção para que sejam feitos backups delas." #: src/addons/moredatabase.php:196 msgid "Backup non-WordPress tables contained in the same database as WordPress" msgstr "Fazer o backup de tabelas que não são do WordPress mas estão contidas no mesmo banco de dados que o WordPress" #: src/addons/moredatabase.php:196 msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up." msgstr "Esta opção irá fazer com que as tabelas armazenadas no banco de dados MySQL, que não pertencem ao WordPress (identificadas pela ausência do prefixo do WordPress configurado, %s), também sejam parte do backup." #: src/addons/moredatabase.php:181 msgid "Connection failed." msgstr "Conexão falhou." #: src/addons/moredatabase.php:179 msgid "Connection succeeded." msgstr "Conexão efetuada com sucesso." #: src/addons/moredatabase.php:161 msgid "%s total table(s) found; %s with the indicated prefix." msgstr "%s tabela(s) encontrada(s) no total; %s com o prefixo indicado." #: src/addons/moredatabase.php:155 msgid "%s table(s) found." msgstr "%s tabela(s) encontrada(s)." #: src/addons/moredatabase.php:128 msgid "database connection attempt failed" msgstr "tentativa de conectar ao banco de dados falhou" #: src/addons/moredatabase.php:117 msgid "database name" msgstr "nome do banco de dados" #: src/addons/moredatabase.php:115 msgid "host" msgstr "servidor" #: src/addons/moredatabase.php:113 msgid "user" msgstr "usuário" #: src/class-updraftplus.php:2046 msgid "External database (%s)" msgstr "Banco de dados externo (%s)" #: src/methods/googledrive.php:1496 msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section." msgstr "Acesse este link para o seu console da API do Google e ative o Drive API e crie um ID de cliente na seção de Acesso via API." #: src/methods/googledrive.php:717 msgid "failed to access parent folder" msgstr "Não foi possível acessar a pasta ascendente" #: src/addons/googlecloud.php:884, src/addons/onedrive.php:981, #: src/addons/onedrive.php:992, src/methods/googledrive.php:638, #: src/methods/googledrive.php:651 msgid "However, subsequent access attempts failed:" msgstr "Entretanto, as tentativas de acesso subsequentes falharam:" #: src/admin.php:4540, src/addons/wp-cli.php:440 msgid "External database" msgstr "Banco de dados externo" #: src/templates/wp-admin/settings/form-contents.php:321 msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these." msgstr "Isto também fará com que a saída da depuração de todos os plugins seja mostrada nesta tela - por favor não fique surpreso ao ver isso. " #: src/templates/wp-admin/settings/form-contents.php:234 msgid "Backup more databases" msgstr "Fazer backup de mais bancos de dados" #: src/templates/wp-admin/settings/form-contents.php:193 msgid "First, enter the decryption key" msgstr "Primeiro, digite a chave de descriptografia" #: src/templates/wp-admin/settings/form-contents.php:176 msgid "You can manually decrypt an encrypted database here." msgstr "Você pode descriptografar manualmente aqui um banco de dados criptografado." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "It can also backup external databases." msgstr "Também pode efetuar o backup de banco de dados externo." #: src/templates/wp-admin/settings/form-contents.php:162 msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup." msgstr "Não quer ser espionado? O UpdraftPlus Premium pode encriptar o backup do seu banco de dados." #: src/templates/wp-admin/settings/form-contents.php:88 msgid "use UpdraftPlus Premium" msgstr "use o UpdraftPlus Premium" #: src/includes/class-wpadmin-commands.php:146 msgid "Only the WordPress database can be restored; you will need to deal with the external database manually." msgstr "Apenas o banco de dados do WordPress pode ser restaurado; você terá que lidar com o banco de dados externo manualmente." #: src/restorer.php:3214, src/restorer.php:3947, src/restorer.php:4037, #: src/restorer.php:4020 msgid "An error occurred on the first %s command - aborting run" msgstr "Um erro ocorreu no primeiro comando %s - abortando a execução" #: src/backup.php:1593, src/addons/moredatabase.php:136 msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled." msgstr "Conexão falhou: verifique os detalhes do seu acesso, se o servidor de banco de dados está no ar e se a conexão pela rede não foi bloqueada por firewall." #: src/backup.php:1593 msgid "database connection attempt failed." msgstr "tentativa de conexão com o banco de dados falhou." #: src/includes/migrator-lite.php:877 msgid "Warning: the database's home URL (%s) is different to what we expected (%s)" msgstr "Aviso: a URL inicial do banco de dados (%s) é diferente do esperado (%s)" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:111, #: src/addons/google-enhanced.php:128, src/addons/google-enhanced.php:134 msgid "In %s, path names are case sensitive." msgstr "Em %s, os nomes do caminho são sensíveis à caixa (maíuscula ou minúscula)." #: src/addons/azure.php:700, src/addons/google-enhanced.php:110, #: src/addons/google-enhanced.php:128, src/addons/onedrive.php:1322 msgid "If you leave it blank, then the backup will be placed in the root of your %s" msgstr "Se você deixar em branco, então o backup será colocado na raiz do %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/googlecloud.php:1308, src/addons/onedrive.php:1322 msgid "e.g. %s" msgstr "p. ex. %s" #: src/addons/google-enhanced.php:110, src/addons/google-enhanced.php:128, #: src/addons/onedrive.php:1322 msgid "Enter the path of the %s folder you wish to use here." msgstr "Entre aqui o caminho para a pasta %s que você deseja utilizar." #: src/methods/openstack2.php:257 msgid "Container" msgstr "Contêiner" #: src/methods/openstack2.php:253 msgid "Leave this blank, and a default will be chosen." msgstr "Deixe isto em branco e um valor padrão (default) será utilizado." #: src/methods/openstack2.php:249 msgid "Tenant" msgstr "Tenant" #: src/admin.php:1109, src/admin.php:6083, src/restorer.php:392, #: src/restorer.php:390, src/methods/openstack2.php:251, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27, #: src/templates/wp-admin/settings/updraftcentral-connect.php:14 msgid "Follow this link for more information" msgstr "Acesse este link para mais informações" #: src/methods/openstack2.php:130 msgid "authentication URI" msgstr "URI de autenticação" #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259 msgid "Failed to download %s" msgstr "Não foi possível baixar %s" #: src/methods/addon-base-v2.php:253 msgid "Failed to download" msgstr "Não foi possível baixar" #: src/methods/addon-base-v2.php:138 msgid "failed to list files" msgstr "não foi possível listar arquivos" #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105 msgid "Failed to upload %s" msgstr "Não foi possível enviar %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "Success:" msgstr "Sucesso:" #: src/addons/googlecloud.php:1318, src/addons/onedrive.php:1333, #: src/methods/googledrive.php:1506 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s." msgstr "Depois de salvar suas configurações (clicando em \"Salvar alterações\" abaixo), volte aqui e siga este link para concluir a autenticação com o %s." #: src/methods/dropbox.php:605 msgid "Dropbox" msgstr "Dropbox" #: src/addons/onedrive.php:1328, src/addons/pcloud.php:549, #: src/methods/dropbox.php:605 msgid "Authenticate with %s" msgstr "Autenticar com %s" #: src/methods/cloudfiles.php:415, src/methods/openstack-base.php:460 msgid "Error downloading remote file: Failed to download" msgstr "Erro ao efetuar o download do arquivo remoto: Falha no download" #: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536 msgid "Region: %s" msgstr "Região: %s" #: src/methods/openstack-base.php:530 msgid "%s error - we accessed the container, but failed to create a file within it" msgstr "Erro de %s - foi possível acessar o contêiner, mas houve uma falha ao criar um arquivo nele" #: src/methods/openstack-base.php:446 msgid "The %s object was not found" msgstr "O objeto %s não foi encontrado" #: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, #: src/methods/openstack-base.php:438 msgid "Could not access %s container" msgstr "Não foi possível acessar o contêiner %s" #: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, #: src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, #: src/methods/openstack-base.php:426 msgid "%s error - failed to access the container" msgstr "Erro de %s - não foi possível acessar o contêiner" #: src/addons/googlecloud.php:1341, src/addons/onedrive.php:1355, #: src/addons/pcloud.php:568, src/methods/dropbox.php:750 msgid "Account holder's name: %s." msgstr "Nome do mantenedor da conta: %s." #: src/methods/googledrive.php:1502 msgid "To be able to set a custom folder name, use UpdraftPlus Premium." msgstr "Para ser possível utilizar um nome de pasta customizado, use o UpdraftPlus Premium." #: src/methods/googledrive.php:1501 msgid "It is an ID number internal to Google Drive" msgstr "É um número de Identificação (ID) interno do Google Drive" #: src/methods/googledrive.php:1501 msgid "This is NOT a folder name." msgstr "Este NÃO é um nome de pasta." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:1493 msgid "Folder" msgstr "Pasta" #: src/addons/onedrive.php:526 msgid "%s download: failed: file not found" msgstr "Download %s: falhou: arquivo não encontrado" #: src/addons/googlecloud.php:904, src/methods/googledrive.php:674 msgid "Name: %s." msgstr "Nome: %s." #: src/methods/googledrive.php:339 msgid "Google Drive list files: failed to access parent folder" msgstr "Arquivos de listagem do Google Drive: não foi possível acessar a pasta ascendente" #: src/methods/insufficient.php:121 msgid "Your %s version: %s." msgstr "A versão do seu %s: %s." #: src/methods/addon-not-yet-present.php:127, src/methods/insufficient.php:120 msgid "You will need to ask your web hosting company to upgrade." msgstr "Você precisará solicitar ao seu provedor de hospedagem web que faça uma atualização." #: src/methods/addon-not-yet-present.php:27, src/methods/insufficient.php:21 msgid "This remote storage method (%s) requires PHP %s or later." msgstr "Este método de armazenamento remoto (%s) requer o PHP %s ou posterior." #: src/templates/wp-admin/advanced/site-info.php:118 msgid "Call" msgstr "Chamar" #: src/templates/wp-admin/advanced/site-info.php:116, #: src/templates/wp-admin/advanced/site-info.php:116 msgid "Fetch" msgstr "Coletar" #: src/addons/migrator.php:315, #: src/templates/wp-admin/settings/downloading-and-restoring.php:72, #: src/templates/wp-admin/settings/form-contents.php:183, #: src/templates/wp-admin/settings/tab-backups.php:74 msgid "This feature requires %s version %s or later" msgstr "Este recurso requer a versão %s do %s ou posterior" #: src/restorer.php:857 msgid "Failed to unpack the archive" msgstr "Não foi possível desempacotar o arquivamento" #: src/class-updraftplus.php:1638, src/methods/cloudfiles.php:428 msgid "Error - failed to download the file" msgstr "Erro - não foi possível baixar o arquivo" #: src/templates/wp-admin/settings/downloading-and-restoring.php:55, #: src/templates/wp-admin/settings/tab-backups.php:59 msgid "Rescan local folder for new backup sets" msgstr "Verificar novamente a pasta local em busca de novos conjuntos de backup" #: src/udaddons/updraftplus-addons.php:325 msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility." msgstr "Você deveria atualizar o UpdraftPlus para ter certeza de que você tem a versão que foi testada para compatibilidade" #: src/udaddons/updraftplus-addons.php:325 msgid "It has been tested up to version %s." msgstr "Foi testada até a versão %s." #: src/udaddons/updraftplus-addons.php:325 msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)." msgstr "A versão instalada do UpdraftPlus Backup/Restore não foi testada para a sua versão de WordPress (%s)." #: src/addons/sftp.php:646 msgid "password/key" msgstr "senha/chave" #: src/admin.php:990, src/addons/migrator.php:554, src/addons/sftp.php:613, #: src/templates/wp-admin/settings/temporary-clone.php:68 msgid "Key" msgstr "Chave" #: src/addons/sftp.php:616 msgid "Your login may be either password or key-based - you only need to enter one, not both." msgstr "O seu login pode ser através de senha ou chave - você precisa entrar apenas um, não ambos." #: src/addons/sftp.php:428 msgid "The key provided was not in a valid format, or was corrupt." msgstr "A chave fornecida não estava em um formato válido, ou estava corrompida." #: src/addons/sftp.php:124 msgid "SCP/SFTP password/key" msgstr "senha/chave de SCP/SFTP" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files backup (created by %s)" msgstr "Backup dos arquivos (criado por %s)" #: src/admin.php:4584, src/addons/wp-cli.php:451 msgid "Files and database WordPress backup (created by %s)" msgstr "Backup dos arquivos e banco de dados do WordPress (criado por %s)" #: src/admin.php:4578, src/addons/importer.php:278, #: src/includes/class-backup-history.php:534 msgid "Backup created by: %s." msgstr "Backup criado por: %s." #: src/admin.php:4538, src/addons/wp-cli.php:434 msgid "Database (created by %s)" msgstr "Banco de dados (criado por %s)" #: src/admin.php:4532, src/admin.php:4580, src/addons/wp-cli.php:432 msgid "unknown source" msgstr "origem desconhecida" #: src/templates/wp-admin/advanced/site-info.php:122, #: src/templates/wp-admin/settings/downloading-and-restoring.php:56, #: src/templates/wp-admin/settings/tab-backups.php:60 msgid "Rescan remote storage" msgstr "Verificar novamente o armazenamento remoto" #: src/templates/wp-admin/settings/downloading-and-restoring.php:51, #: src/templates/wp-admin/settings/tab-backups.php:55 msgid "Upload backup files" msgstr "Enviar arquivos de backup" #: src/admin.php:2737 msgid "This backup was created by %s, and can be imported." msgstr "Este backup foi criado por %s e pode ser importado." #: src/admin.php:1429 msgid "Read this page for a guide to possible causes and how to fix it." msgstr "Leia esta página para guiá-lo nas possíveis causas e como consertar isso." #: src/admin.php:951, src/includes/class-backup-history.php:541 msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you." msgstr "Se este é um backup criado com um plugin de backup diferente, então o UpdraftPlus Premium pode lhe ajudar." #: src/admin.php:950 msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern." msgstr "Entretanto, os arquivamentos do UpdraftPlus são arquivos padrão zip/SQL - se você tem certeza que o seu arquivo tem o formato correto, então renomeie-o para o padrão adequado." #: src/includes/class-backup-history.php:541 msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))." msgstr "Este arquivo não parece ser um arquivamento de backup do UpdraftPlus (tais arquivos são .zip ou .gz e tem um nome como: backup_(hora)_(nome do site)_(código)_(tipo).(zip|gz))." #: src/admin.php:4581, src/restorer.php:2769, #: src/includes/class-wpadmin-commands.php:159 msgid "Backup created by unknown source (%s) - cannot be restored." msgstr "Backup criado por uma origem desconhecida (%s) - não pode ser restaurado." #: src/restorer.php:1742, src/restorer.php:1694 msgid "The WordPress content folder (wp-content) was not found in this zip file." msgstr "O pasta de conteúdo do WordPress (wp-content) não foi encontrada neste arquivo compactado." #: src/restorer.php:1587 msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup" msgstr "Esta versão do UpdraftPlus não sabe como lidar este tipo de backup estrangeiro." #: src/methods/dropbox.php:406 msgid "%s returned an unexpected HTTP response: %s" msgstr "%s retornou uma resposta HTTP inesperada: %s." #: src/addons/sftp.php:1180 msgid "The UpdraftPlus module for this file access method (%s) does not support listing files" msgstr "O módulo do UpdraftPlus para este método de acesso de arquivo (%s) não suporta a listagem de arquivos." #: src/addons/backblaze.php:665, src/methods/cloudfiles.php:244, #: src/methods/dropbox.php:388, src/methods/openstack-base.php:117 msgid "No settings were found" msgstr "Nenhuma configuração foi encontrada" #: src/includes/class-backup-history.php:729 msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually." msgstr "Um ou mais backups foram adicionados ao verificar o armazenamento remoto; note que esses backups não serão automaticamente excluídos pela configuração \"reter\"; se/quando você desejar excluí-los então você terá que fazer isso manualmente." #: src/admin.php:915 msgid "Rescanning remote and local storage for backup sets..." msgstr "Verificando novamente por conjuntos de backup no armazenamento remoto e local…" #: src/addons/googlecloud.php:1312, src/addons/s3-enhanced.php:73, #: src/addons/s3-enhanced.php:81, src/methods/s3generic.php:203, #: src/methods/s3generic.php:209 msgid "(Read more)" msgstr "(Leia mais)" #: src/addons/reporting.php:518 msgid "Log all messages to syslog (only server admins are likely to want this)" msgstr "Registrar todas as mensagens no syslog (apenas os administradores do servidor podem querer isto)" #: src/addons/morefiles.php:433 msgid "No backup of location: there was nothing found to back up" msgstr "Nenhum backup do diretório: nada foi encontrado para se efetuar o backup" #: src/addons/moredatabase.php:260, src/addons/morefiles.php:334, #: src/addons/morefiles.php:1056, src/addons/reporting.php:543 msgid "Remove" msgstr "Remover" #: src/methods/s3.php:940, src/methods/s3.php:1084 msgid "Other %s FAQs." msgstr "Outras perguntas frequentes de %s." #: src/templates/wp-admin/settings/form-contents.php:321 msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong." msgstr "Marque isso para receber mais informações e e-mails sobre o processo de backup - útil se algo estiver errado." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your hosting company must enable these functions before %s can work." msgstr "Sua empresa de hospedagem deve habilitar estas funções antes que o %s possa funcionar." #: src/includes/class-filesystem-functions.php:304, src/methods/ftp.php:116 msgid "Your web server's PHP installation has these functions disabled: %s." msgstr "A instalação PHP do seu servidor web está com estas funções desabilitadas: %s." #: src/methods/ftp.php:113 msgid "encrypted FTP (explicit encryption)" msgstr "FTP criptografado (criptografia explícita)" #: src/methods/ftp.php:112 msgid "encrypted FTP (implicit encryption)" msgstr "FTP criptografado (criptografia implícita)" #: src/methods/ftp.php:111 msgid "regular non-encrypted FTP" msgstr "FTP comum não-criptografado" #: src/restorer.php:3041 msgid "Backup created by:" msgstr "Backup criado por:" #: src/udaddons/options.php:536 msgid "Available to claim on this site" msgstr "Disponível para reivindicação neste site" #: src/udaddons/updraftplus-addons.php:357 msgid "To maintain your access to support, please renew." msgstr "Para manter o seu acesso ao suporte, por favor, renove." #: src/udaddons/updraftplus-addons.php:357 msgid "Your paid access to UpdraftPlus support will soon expire." msgstr "Seu acesso pago ao suporte do UpdraftPlus irá expirar em breve." #: src/udaddons/updraftplus-addons.php:355 msgid "To regain your access, please renew." msgstr "Para ter o acesso novamente, por favor, renove." #: src/udaddons/updraftplus-addons.php:355 msgid "Your paid access to UpdraftPlus support has expired." msgstr "O seu acesso pago ao suporte do UpdraftPlus expirou. " #: src/udaddons/updraftplus-addons.php:346 msgid "Your paid access to UpdraftPlus updates for this site will soon expire." msgstr "O seu acesso pago às atualizações do UpdraftPlus neste site irá expirar em breve. " #: src/udaddons/updraftplus-addons.php:346, #: src/udaddons/updraftplus-addons.php:344 msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Para manter o seu acesso, e manter o acesso às atualizações (incluindo características futuras e compatibilidade com os futuros lançamentos do WordPress) e ao suporte, por favor, renove." #: src/udaddons/updraftplus-addons.php:344 msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire." msgstr "Seu acesso pago às atualizações do UpdraftPlus para %s dos complementos %s neste site expirará em breve." #: src/udaddons/updraftplus-addons.php:338 msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired." msgstr "Seu acesso pago às atualizações do UpdraftPlus para complementos %s neste site expirou." #: src/udaddons/updraftplus-addons.php:338, #: src/udaddons/updraftplus-addons.php:332 msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew." msgstr "Para ter novamente o acesso às atualizações (incluindo características futuras e compatibilidade com os futuros lançamentos do WordPress) e ao suporte, por favor, renove." #: src/udaddons/updraftplus-addons.php:294 msgid "Dismiss from main dashboard (for %s weeks)" msgstr "Remover do painel principal (por %s semanas)" #: src/includes/class-filesystem-functions.php:355 msgid "The attempt to undo the double-compression succeeded." msgstr "A tentativa de desfazer a compressão-dupla foi bem-sucedida." #: src/includes/class-filesystem-functions.php:353, #: src/includes/class-filesystem-functions.php:331 msgid "The attempt to undo the double-compression failed." msgstr "A tentativa de desfazer a compressão-dupla falhou." #: src/includes/class-filesystem-functions.php:324 msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver." msgstr "O arquivo de banco de dados parece ter sido comprimido duas vezes - provavelmente o site de onde foi efetuado o download está com o servidor web configurado erroneamente." #: src/includes/class-wpadmin-commands.php:399 msgid "Constants" msgstr "Constantes" #: src/backup.php:1972 msgid "Failed to open database file for reading:" msgstr "Não foi possível abrir o arquivo de banco de dados para leitura:" #: src/backup.php:1645 msgid "No database tables found" msgstr "Nenhuma tabela do banco de dados foi encontrada" #: src/backup.php:1643 msgid "please wait for the rescheduled attempt" msgstr "por favor, aguarde a nova tentativa que foi agendada" #: src/addons/onedrive.php:147 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)" msgstr "Conta cheia: sua conta %s tem apenas %d bytes restantes, mas o arquivo a ser carregado tem %d bytes faltando (tamanho total: %d bytes)" #: src/udaddons/updraftplus-addons.php:658, #: src/udaddons/updraftplus-addons.php:564 msgid "Errors occurred:" msgstr "Erros ocorreram:" #: src/admin.php:5152, src/addons/wp-cli.php:761 msgid "Follow this link to download the log file for this restoration (needed for any support requests)." msgstr "Acesse este link para baixar o arquivo de registros desta restauração (necessário para solicitações de suporte)." #: src/templates/wp-admin/settings/form-contents.php:362 msgid "See this FAQ also." msgstr "Veja estas perguntas frequentes também." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:36 msgid "Retrieving (if necessary) and preparing backup files..." msgstr "Buscando (se necessário) e preparando os arquivos de backup..." #: src/restorer.php:1579 msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete old folders\" button to delete them before trying again): %s" msgstr "" #: src/admin.php:1375, src/class-updraftplus.php:1030 msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)" msgstr "A quantidade de tempo permitida para um plugin do WordPress rodar é muito baixa (%s segundos) - você deveria aumentá-la para evitar falhas no backup devido a esgotamento do tempo (consulte sua empresa de hospedagem web para mais ajuda - é o parâmetro do PHP max_execution_time; e o valor recomendado é %s segundos ou mais)" #: src/includes/migrator-lite.php:209 msgid "Disabled this plugin: %s: re-activate it manually when you are ready." msgstr "Este plugin foi desativado: %s: reative-o manualmente quando você estiver pronto." #: src/addons/sftp.php:946, src/addons/sftp.php:943, #: src/includes/ftp.class.php:61, src/includes/ftp.class.php:58 msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company." msgstr "A conexão %s expirou; se você informou o servidor corretamente então isto é causado normalmente por um firewall bloqueando a conexão - você deveria verificar com sua empresa de hospedagem web." #: src/admin.php:1934, src/addons/moredatabase.php:168 msgid "Messages:" msgstr "Mensagens:" #: src/restorer.php:3821 msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s" msgstr "Foi encontrada uma linha SQL que é maior que o tamanho máximo do pacote e não pode ser dividida. Esta linha não será processada, mas será descartada: %s" #: src/restorer.php:1258 msgid "The directory does not exist" msgstr "O diretório não existe" #: src/addons/cloudfiles-enhanced.php:298 msgid "New User's Email Address" msgstr "Endereço de e-mail do novo usuário" #: src/addons/cloudfiles-enhanced.php:295 msgid "New User's Username" msgstr "Nome de usuário do novo usuário" #: src/addons/cloudfiles-enhanced.php:292 msgid "Admin API Key" msgstr "Chave API do Administrador" #: src/addons/cloudfiles-enhanced.php:289 msgid "Admin Username" msgstr "Nome de usuário do administrador" #: src/addons/cloudfiles-enhanced.php:284 msgid "US or UK Rackspace Account" msgstr "Conta Rackspace dos EUA ou UK" #: src/addons/cloudfiles-enhanced.php:276 msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name." msgstr "Insira seu nome de usuário/chave de API do administrador do Rackspace (para que a Rackspace possa autenticar sua permissão para criar novos usuários) e insira um novo nome de usuário (exclusivo) e endereço de e-mail para o novo usuário e um nome de contêiner." #: src/addons/cloudfiles-enhanced.php:273 msgid "Create new API user and container" msgstr "Criar novo usuário e contêiner de API" #: src/addons/cloudfiles-enhanced.php:205 msgid "API Key: %s" msgstr "Chave API: %s" #: src/addons/cloudfiles-enhanced.php:205 msgid "Password: %s" msgstr "Senha: %s" #: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:388 msgid "Username: %s" msgstr "Nome de usuário: %s" #: src/addons/cloudfiles-enhanced.php:164, #: src/addons/cloudfiles-enhanced.php:167, #: src/addons/cloudfiles-enhanced.php:171, #: src/addons/cloudfiles-enhanced.php:183, #: src/addons/cloudfiles-enhanced.php:190, #: src/addons/cloudfiles-enhanced.php:194 msgid "Cloud Files operation failed (%s)" msgstr "Operação do Cloud Files falhou (%s)" #: src/addons/cloudfiles-enhanced.php:162 msgid "Conflict: that user or email address already exists" msgstr "Conflito: esse usuário ou endereço de e-mail já existe" #: src/addons/cloudfiles-enhanced.php:94 msgid "You need to enter a valid new email address" msgstr "Você precisa inserir um novo endereço de e-mail válido" #: src/addons/cloudfiles-enhanced.php:90 msgid "You need to enter a container" msgstr "Você precisa inserir um contêiner" #: src/addons/cloudfiles-enhanced.php:87 msgid "You need to enter a new username" msgstr "Você precisa inserir um novo nome de usuário" #: src/addons/cloudfiles-enhanced.php:84 msgid "You need to enter an admin API key" msgstr "Você precisa inserir uma chave API de administrador" #: src/addons/cloudfiles-enhanced.php:81 msgid "You need to enter an admin username" msgstr "Você precisa inserir um nome de usuário de administrador" #: src/addons/cloudfiles-enhanced.php:67 msgid "Create a new API user with access to only this container (rather than your whole account)" msgstr "Cria um novo usuário de API com acesso apenas a este contêiner (ao invés de acesso à conta inteira)" #: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:129, #: src/methods/cloudfiles-new.php:298, src/methods/cloudfiles.php:507 msgid "Cloud Files Container" msgstr "Contêiner do Cloud Files" #: src/methods/cloudfiles-new.php:124, src/methods/cloudfiles-new.php:296, #: src/methods/cloudfiles.php:502 msgid "Cloud Files API Key" msgstr "Chave API do Cloud Files" #: src/methods/cloudfiles-new.php:119, src/methods/cloudfiles-new.php:295 msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium." msgstr "Para criar um novo sub-usuário da API do Rackspace e uma chave API que tenha acesso apenas a este contêiner do Rackspace, utilize o Premium." #: src/methods/cloudfiles-new.php:116, src/methods/cloudfiles-new.php:294 msgid "Cloud Files Username" msgstr "Nome de usuário do Cloud Files" #: src/addons/cloudfiles-enhanced.php:54, src/methods/cloudfiles-new.php:148 msgid "London (LON)" msgstr "Londres (LON)" #: src/addons/cloudfiles-enhanced.php:53, src/methods/cloudfiles-new.php:147 msgid "Hong Kong (HKG)" msgstr "Hong Kong (HKG)" #: src/addons/cloudfiles-enhanced.php:52, src/methods/cloudfiles-new.php:146 msgid "Northern Virginia (IAD)" msgstr "Virgínia do Norte (IAD)" #: src/addons/cloudfiles-enhanced.php:51, src/methods/cloudfiles-new.php:145 msgid "Chicago (ORD)" msgstr "Chicago (ORD)" #: src/addons/cloudfiles-enhanced.php:50, src/methods/cloudfiles-new.php:144 msgid "Sydney (SYD)" msgstr "Sidnei (SYD)" #: src/addons/cloudfiles-enhanced.php:49, src/methods/cloudfiles-new.php:143 msgid "Dallas (DFW) (default)" msgstr "Dalas (DFW) (padrão)" #: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:106, #: src/methods/cloudfiles-new.php:293 msgid "Cloud Files Storage Region" msgstr "Região de Armazenamento do Cloud Files" #: src/methods/cloudfiles-new.php:99 msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based" msgstr "Contas criadas em rackspacecloud.com são contas dos Estados Unidos (US); contas criadas em rackspace.co.uk são baseadas no Reino Unido (UK)" #: src/methods/cloudfiles-new.php:97, src/methods/cloudfiles-new.php:287 msgid "US or UK-based Rackspace Account" msgstr "Conta Rackspace US ou UK" #: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:97, #: src/methods/cloudfiles-new.php:288 msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts." msgstr "Contas criadas em rackspacecloud.com são contas dos Estados Unidos (US); contas criadas em rackspace.co.uk são do Reino Unido (UK)." #: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:300, #: src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:491, #: src/methods/openstack-base.php:489, src/methods/openstack-base.php:512, #: src/methods/openstack2.php:33 msgid "Authorisation failed (check your credentials)" msgstr "Autorização falhou (verifique suas credenciais)" #: src/addons/wp-cli.php:1082, src/includes/class-commands.php:908, #: src/methods/updraftvault.php:844, src/udaddons/options.php:244 msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com" msgstr "Um erro desconhecido ocorreu quando tentando conectar a UpdraftPlus.com" #: src/admin.php:965 msgid "Create" msgstr "Criar" #: src/admin.php:925 msgid "Trying..." msgstr "Tentando..." #: src/admin.php:924 msgid "The new user's RackSpace console password is (this will not be shown again):" msgstr "A senha de console do Rackspace do novo usuário é (isto não será mostrado novamente):" #: src/admin.php:935, src/restorer.php:386 msgid "Error data:" msgstr "Dados do erro:" #: src/admin.php:5245 msgid "Backup does not exist in the backup history" msgstr "O backup não existe no histórico de backups" #: src/restorer.php:3183 msgid "Split line to avoid exceeding maximum packet size" msgstr "Dividir linha para evitar exceder o tamanho máximo do pacote" #: src/restorer.php:851 msgid "Could not move old files out of the way." msgstr "Não foi possível remover os arquivos antigos do caminho." #: src/restorer.php:847 msgid "Moving old data out of the way..." msgstr "Removendo dados antigos do caminho..." #: src/addons/reporting.php:503 msgid "Add another address..." msgstr "Adicionar outro endereço..." #: src/addons/reporting.php:488 msgid "Enter addresses here to have a report sent to them when a backup job finishes." msgstr "Digite os endereços aqui para que um relatório seja enviado a eles quando um trabalho de backup for concluído." #: src/class-updraftplus.php:2054, src/class-updraftplus.php:2059 msgid "%s checksum: %s" msgstr "%s checksum: %s" #: src/class-updraftplus.php:1988, src/class-updraftplus.php:1986 msgid "files: %s" msgstr "arquivos: %s" #: src/addons/reporting.php:414 msgid "Use the \"Reporting\" section to configure the email addresses to be used." msgstr "Use a seção \"Relatórios\" para configurar os endereços de e-mail a serem usados." #: src/addons/reporting.php:293 msgid "Debugging information" msgstr "Informação de depuração" #: src/admin.php:4498, src/addons/reporting.php:248 msgid "Uploaded to:" msgstr "Enviado para:" #: src/addons/reporting.php:247 msgid "Time taken:" msgstr "Tempo gasto:" #: src/addons/reporting.php:238 msgid "Warnings" msgstr "Avisos" #: src/addons/reporting.php:223 msgid "Errors" msgstr "Erros" #: src/addons/reporting.php:220 msgid "Errors / warnings:" msgstr "Erros / avisos:" #: src/addons/morefiles.php:144, src/addons/morefiles.php:145, #: src/addons/reporting.php:209 msgid "Contains:" msgstr "Contém:" #: src/addons/reporting.php:208 msgid "Backup began:" msgstr "Backup começou:" #: src/addons/reporting.php:196 msgid "Backup Report" msgstr "Relatório do backup" #: src/addons/reporting.php:191 msgid "%d hours, %d minutes, %d seconds" msgstr "%d horas, %d minutos, %d segundos" #: src/addons/reporting.php:175 msgid "%d errors, %d warnings" msgstr "%d erros, %d avisos" #: src/methods/dropbox.php:816, src/methods/dropbox.php:873 msgid "%s authentication" msgstr "%s autenticação" #: src/class-updraftplus.php:611, src/addons/onedrive.php:924, #: src/addons/pcloud.php:705, src/methods/dropbox.php:816, #: src/methods/dropbox.php:873, src/methods/dropbox.php:887, #: src/methods/dropbox.php:907, src/methods/dropbox.php:1073 msgid "%s error: %s" msgstr "%s erro: %s" #: src/addons/googlecloud.php:1294, src/methods/dropbox.php:599 msgid "%s logo" msgstr "Logo do %s" #: src/methods/dropbox.php:316 msgid "did not return the expected response - check your log file for more details" msgstr "não retornou a resposta esperada - verifique seu arquivo de registros para mais detalhes" #: src/methods/s3.php:336 msgid "The required %s PHP module is not installed - ask your web hosting company to enable it" msgstr "O módulo PHP necessário %s não está instalado - solicite à sua empresa de hospedagem que o habilite." #: src/methods/email.php:110 msgid "Your site's admin email address (%s) will be used." msgstr "O endereço de e-mail do administrador do seu site (%s) será utilizado." #: src/admin.php:977, src/admin.php:3332, src/methods/updraftvault.php:484, #: src/methods/updraftvault.php:525, #: src/templates/wp-admin/settings/temporary-clone.php:87 msgid "Connect" msgstr "Conectar" #: src/class-updraftplus.php:5140 msgid "(version: %s)" msgstr "(versão: %s)" #: src/admin.php:912 msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive." msgstr "Esteja ciente de que servidores de e-mail tendem a ter limites de tamanho, tipicamente em torno de %s Mb. Backups maiores do que quaisquer limites provavelmente não chegarão." #: src/class-updraftplus.php:3874, src/addons/reporting.php:207 msgid "Latest status:" msgstr "Status mais recente:" #: src/class-updraftplus.php:3873 msgid "Backup contains:" msgstr "Backup contém:" #: src/class-updraftplus.php:3830 msgid "Backed up: %s" msgstr "Backup feito: %s" #: src/class-updraftplus.php:3824, src/class-updraftplus.php:3999, #: src/addons/reporting.php:290 msgid "The log file has been attached to this email." msgstr "O arquivo de registros foi anexado neste e-mail." #: src/class-updraftplus.php:3784 msgid "Unknown/unexpected error - please raise a support request" msgstr "Erro desconhecido/inesperado - por favor envie um pedido de suporte" #: src/class-updraftplus.php:3779 msgid "Database only (files were not part of this particular schedule)" msgstr "Apenas banco de dados (arquivos não eram parte deste agendamento em particular)" #: src/class-updraftplus.php:3779 msgid "Database (files backup has not completed)" msgstr "Banco de dados (backup dos arquivos não completou)" #: src/class-updraftplus.php:3776 msgid "Files only (database was not part of this particular schedule)" msgstr "Apenas arquivos (banco de dados não era parte deste agendamento em particular)" #: src/class-updraftplus.php:3776 msgid "Files (database backup has not completed)" msgstr "Arquivos (o backup do banco de dados não foi concluído)" #: src/admin.php:431, src/class-updraftplus.php:3774 msgid "Files and database" msgstr "Arquivos e banco de dados" #: src/options.php:229 msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)." msgstr "(Isto se aplica a todos os plugins de backup do WordPress, a menos que tenham sido explícitamente codificados para compatibilidade multisite)." #: src/options.php:229 msgid "Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network." msgstr "Sem atualizar, o UpdraftPlus permite que todos os administradores do blog que podem modificar configurações do plugin façam um backup (e portanto acessar os dados, incluindo senhas) e restaurar (inclusive com modificações customizadas, ex.: senhas alteradas) da rede inteira." #: src/options.php:229 msgid "This is a WordPress multi-site (a.k.a. network) installation." msgstr "Esta é uma instalação WordPress do tipo multi-site (também conhecido como rede)." #: src/options.php:229 msgid "UpdraftPlus warning:" msgstr "Alerta do UpdraftPlus:" #: src/udaddons/options.php:542, src/udaddons/options.php:542 msgid "(or connect using the form on this page if you have already purchased it)" msgstr "(ou conectar utilizando o formulário nesta página, caso você o tenha adquirido)" #: src/udaddons/options.php:530 msgid "please follow this link to update the plugin in order to activate it" msgstr "acesse este link para atualizar o plugin e ativá-lo" #: src/udaddons/options.php:527 msgid "please follow this link to update the plugin in order to get it" msgstr "acesse este link para atualizar o plugin e obtê-lo" #: src/udaddons/options.php:519, src/udaddons/options.php:517 msgid "latest" msgstr "última" #: src/udaddons/options.php:515 msgid "Your version: %s" msgstr "Sua versão: %s" #: src/udaddons/options.php:513, src/udaddons/options.php:513 msgid "You've got it" msgstr "É isso aí" #: src/udaddons/options.php:468 msgid "UpdraftPlus Support" msgstr "Suporte UpdraftPlus" #: src/udaddons/options.php:406 msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it." msgstr "Uma atualização contendo seus complementos está disponível para o UpdraftPlus - acesse este link para obtê-la." #: src/udaddons/options.php:395, src/udaddons/updraftplus-addons.php:384 msgid "UpdraftPlus Addons" msgstr "Complementos do UpdraftPlus" #: src/udaddons/options.php:110 msgid "An update is available for UpdraftPlus - please follow this link to get it." msgstr "Uma atualização está disponível para o UpdraftPlus - acesse este link para obtê-la." #: src/methods/updraftvault.php:924, src/methods/updraftvault.php:947, #: src/methods/updraftvault.php:950, src/udaddons/updraftplus-addons.php:1099 msgid "UpdraftPlus.Com returned a response, but we could not understand it" msgstr "UpdraftPlus.Com devolveu uma resposta, mas não foi possível entendê-la" #: src/methods/updraftvault.php:936, src/udaddons/updraftplus-addons.php:1095 msgid "Your email address and password were not recognised by UpdraftPlus.Com" msgstr "Seu endereço de e-mail e senha não foram reconhecidos pelo UpdraftPlus.Com" #: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:897, #: src/udaddons/updraftplus-addons.php:1058 msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)" msgstr "UpdraftPlus.Com retornou uma resposta que não pudemos entender (dados: %s)" #: src/udaddons/updraftplus-addons.php:984 msgid "UpdraftPlus.Com responded, but we did not understand the response" msgstr "UpdraftPlus.Com respondeu, mas não foi possível entender a resposta" #: src/udaddons/updraftplus-addons.php:982 msgid "We failed to successfully connect to UpdraftPlus.Com" msgstr "Não foi possível conectar com sucesso à UpdraftPlus.Com" #: src/templates/wp-admin/settings/form-contents.php:244, #: src/templates/wp-admin/settings/tab-addons.php:243, #: src/templates/wp-admin/settings/tab-addons.php:244 msgid "Reporting" msgstr "Relatórios" #: src/admin.php:5927 msgid "Options (raw)" msgstr "Opções (bruto)" #: src/admin.php:910, src/addons/reporting.php:547 msgid "Send a report only when there are warnings/errors" msgstr "Enviar um relatório apenas quando houverem alertas/erros" #: src/restorer.php:3052 msgid "Content URL:" msgstr "URL do conteúdo:" #: src/restorer.php:851 msgid "You should check the file ownerships and permissions in your WordPress installation" msgstr "Você deve verificar as propriedades e as permissões dos arquivos em sua instalação WordPress" #: src/backup.php:4376, src/class-updraftplus.php:1043 msgid "Your free space in your hosting account is very low - only %s Mb remain" msgstr "O espaço livre na sua conta da hospedagem está muito baixo - resta apenas %s Mb" #: src/class-updraftplus.php:1027 msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)" msgstr "A quantidade de memória (RAM) permitida para o PHP está muito baixa (%s Mb) - você deveria aumentá-la para evitar falhas devido à memória insuficiente (consulte a sua empresa de hospedagem web para mais ajuda)" #: src/udaddons/options.php:562 msgid "Manage Addons" msgstr "Gerenciar complementos" #: src/udaddons/options.php:543 msgid "Buy It" msgstr "Compre" #: src/udaddons/options.php:542 msgid "Get it from the UpdraftPlus.Com Store" msgstr "Obtenha na loja UpdraftPlus.Com" #: src/udaddons/options.php:538, src/udaddons/options.php:536 msgid "activate it on this site" msgstr "Ativar neste site" #: src/udaddons/options.php:538 msgid "You have an inactive purchase" msgstr "Você tem uma compra inativa" #: src/udaddons/options.php:530 msgid "Assigned to this site" msgstr "Atribuído a este site" #: src/udaddons/options.php:527 msgid "Available for this site (via your all-addons purchase)" msgstr "Disponível para este site (através de sua compra de todos os complementos)" #: src/udaddons/options.php:521 msgid "(apparently a pre-release or withdrawn release)" msgstr "(Aparentemente um pré-lançamento, ou um lançamento descartado)" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Go here" msgstr "Entre aqui" #: src/udaddons/options.php:470, src/udaddons/options.php:470 msgid "Need to get support?" msgstr "Precisa de ajuda?" #: src/udaddons/options.php:452 msgid "An error occurred when trying to retrieve your add-ons." msgstr "Ocorreu um erro ao tentar recuperar seus complementos." #: src/udaddons/options.php:337 msgid "Claim not granted - your account login details were wrong" msgstr "Reivindicação não concedida - seus dados de acesso não estão corretos" #: src/udaddons/options.php:335 msgid "Please wait whilst we make the claim..." msgstr "Aguarde enquanto fazemos a reivindicação..." #: src/udaddons/options.php:283 msgid "Errors occurred when trying to connect to UpdraftPlus.Com:" msgstr "Ocorreram erros ao tentar conectar com UpdraftPlus.Com:" #: src/udaddons/options.php:278 msgid "You are presently not connected to an UpdraftPlus.Com account." msgstr "Você está atualmente desconectado de qualquer conta do UpdraftPlus.com." #: src/udaddons/options.php:270 msgid "If you bought new add-ons, then follow this link to refresh your connection" msgstr "Se você comprou novos complementos, siga este link para atualizar sua conexão" #: src/udaddons/options.php:263 msgid "You are presently connected to an UpdraftPlus.Com account." msgstr "Você está atualmente conectado a uma conta do UpdraftPlus.com." #: src/admin.php:3330 msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here." msgstr "Interessado em saber sobre a segurança da sua senha do UpdraftPlus.Com? Leia sobre isso aqui." #: src/admin.php:3406 msgid "Forgotten your details?" msgstr "Esqueceu seus dados?" #: src/admin.php:3319 msgid "Not yet got an account (it's free)? Go get one!" msgstr "Ainda não tem uma conta? É grátis. Obtenha uma!" #: src/admin.php:3385 msgid "Connect with your UpdraftPlus.Com account" msgstr "Conecte-se com sua conta do UpdraftPlus.Com" #: src/udaddons/options.php:134 msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?" msgstr "Parece que você tem um plugin obsoleto do Updraft instalado - talvez você os tenha confundido?" #: src/udaddons/options.php:133 msgid "Go here to begin installing it." msgstr "Clique aqui para iniciar a instalação." #: src/udaddons/options.php:133 msgid "UpdraftPlus is not yet installed." msgstr "UpdraftPlus ainda não está instalado." #: src/udaddons/options.php:130 msgid "Go here to activate it." msgstr "Clique aqui para ativar." #: src/udaddons/options.php:129 msgid "UpdraftPlus is not yet activated." msgstr "UpdraftPlus ainda não está ativado." #: src/udaddons/options.php:122, src/udaddons/options.php:120 msgid "Go here to connect." msgstr "Clique aqui para conectar." #: src/udaddons/options.php:120 msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons." msgstr "Você ainda não se conectou à sua conta UpdraftPlus.Com para permitir que você liste seus complementos adquiridos." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Without it, encryption will be a lot slower." msgstr "Sem isso, a criptografia será muito mais lenta." #: src/addons/moredatabase.php:337, #: src/includes/class-updraftplus-encryption.php:148 msgid "Your web-server does not have the %s module installed." msgstr "O seu servidor web não possui o módulo %s instalado." #: src/methods/googledrive.php:1508 msgid "(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem)." msgstr "(Parece que você já está autenticado mas, você pode se autenticar novamente para renovar seu acesso, se você teve um problema)." #: src/templates/wp-admin/settings/downloading-and-restoring.php:78 msgid "Drop backup files here" msgstr "Solte os arquivos de backup aqui" #: src/admin.php:923 msgid "The web server returned an error code (try again, or check your web server logs)" msgstr "O servidor web retornou um código de erro (tente novamente, ou verifique os registros do seu navegador)" #: src/admin.php:917, src/addons/wp-cli.php:117 msgid "If you exclude both the database and the files, then you have excluded everything!" msgstr "Se você excluir ambos, banco de dados e arquivos, você excluiu tudo!" #: src/restorer.php:3046 msgid "Site home:" msgstr "Home do site:" #: src/addons/morestorage.php:231 msgid "Remote Storage Options" msgstr "Opções de Armazenamento Remoto" #: src/addons/autobackup.php:371, src/addons/autobackup.php:465 msgid "(logs can be found in the UpdraftPlus settings page as normal)..." msgstr "(os registros podem ser encontrados na página de configurações do UpdraftPlus normalmente)..." #: src/addons/autobackup.php:330, src/addons/autobackup.php:1193 msgid "Remember this choice for next time (you will still have the chance to change it)" msgstr "Lembrar desta escolha na próxima vez (você ainda pode alterar esta opção no futuro)" #: src/addons/azure.php:454 msgid "Upload failed" msgstr "Não foi possível enviar" #: src/templates/wp-admin/settings/form-contents.php:126 msgid "You can send a backup to more than one destination with Premium." msgstr "Você pode enviar um backup para mais de um destino com o Premium." #: src/addons/autobackup.php:331, src/addons/autobackup.php:1198, #: src/addons/lockadmin.php:167 msgid "Read more about how this works..." msgstr "Leia mais sobre como funciona..." #: src/addons/sftp.php:723 msgid "Failed: We were able to log in, but failed to successfully create a file in that location." msgstr "Falha: foi possível se conectar, mas não foi possível criar um arquivo com êxito nesse local." #: src/addons/sftp.php:721 msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location." msgstr "Falha: foi possível se conectar e mover para o diretório indicado, mas não foi possível criar um arquivo com êxito nesse local." #: src/addons/sftp.php:622 msgid "Use SCP instead of SFTP" msgstr "Use SCP ao invés de SFTP" #: src/addons/sftp.php:123 msgid "SCP/SFTP user setting" msgstr "Configurações do usuário SCP/SFTP" #: src/addons/sftp.php:122 msgid "SCP/SFTP host setting" msgstr "Configurações do host SCP/SFTP" #: src/methods/email.php:80 msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)" msgstr "A tentativa de enviar o backup via e-mail falhou (provavelmente o backup era muito grande para este método)" #: src/methods/email.php:57 msgid "Backup is of: %s." msgstr "Backup em: %s." #: src/admin.php:1017 msgid "%s settings test result:" msgstr "Resultado do teste para %s:" #: src/admin.php:4632, src/admin.php:4630 msgid "(Not finished)" msgstr "(Não finalizado)" #: src/admin.php:4632 msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes." msgstr "Se você está vendo mais backups do que esperado, provavelmente é porque a exclusão de backups antigos não acontece até que um novo backup seja concluído." #: src/templates/wp-admin/settings/form-contents.php:345 msgid "Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)." msgstr "Não coloque dentro de seu diretório de envios ou de plugins, pois irá causar recursão (backups dos backups dos backups...)." #: src/admin.php:3843 msgid "Job ID: %s" msgstr "ID da tarefa: %s" #: src/admin.php:3823 msgid "last activity: %ss ago" msgstr "última atividade: %ss atrás" #: src/admin.php:3805, src/methods/updraftvault.php:557, #: src/methods/updraftvault.php:604, src/methods/updraftvault.php:724 msgid "Unknown" msgstr "Desconhecido" #: src/admin.php:3756 msgid "Backup finished" msgstr "Backup finalizado" #: src/admin.php:3751 msgid "Waiting until scheduled time to retry because of errors" msgstr "Esperando até a hora marcada para repetir por causa de erros" #: src/admin.php:3747 msgid "Pruning old backup sets" msgstr "Podando conjuntos antigos de backups" #: src/admin.php:3734 msgid "Uploading files to remote storage" msgstr "Enviando arquivos para armazenamento remoto" #: src/admin.php:3803 msgid "Encrypted database" msgstr "Banco de dados criptografado" #: src/admin.php:3795 msgid "Encrypting database" msgstr "Criptografando banco de dados" #: src/admin.php:3769 msgid "Created database backup" msgstr "Backup do banco de dados criado" #: src/admin.php:3782 msgid "table: %s" msgstr "tabela: %s" #: src/admin.php:3780 msgid "Creating database backup" msgstr "Criando backup do banco de dados" #: src/admin.php:3724 msgid "Created file backup zips" msgstr "Arquivos compactados do backup de arquivos criado" #: src/admin.php:3711 msgid "Creating file backup zips" msgstr "Criando arquivos compactados do backup de arquivos" #: src/admin.php:3706 msgid "Backup begun" msgstr "Backup iniciado" #: src/restorer.php:1563 msgid "file" msgstr "arquivo" #: src/restorer.php:1555, src/addons/onedrive.php:1321 msgid "folder" msgstr "pasta" #: src/restorer.php:1555, src/restorer.php:1563 msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)" msgstr "O UpdraftPlus precisou criar um %s no diretório de conteúdo, mas falhou - verifique suas permissões de acesso e ative o acesso (%s)" #: src/class-updraftplus.php:3694 msgid "The backup has not finished; a resumption is scheduled" msgstr "O backup não foi finalizado; um recomeço foi agendado" #: src/class-updraftplus.php:2388 msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:" msgstr "Seu site é visitado com pouca frequência e o UpdraftPlus não está recebendo os recursos esperados. Por favor, leia esta página:" #: src/admin.php:970, src/addons/autobackup.php:1212 msgid "Proceed with update" msgstr "Prosseguir com a atualização" #: src/addons/autobackup.php:1205 msgid "Do not abort after pressing Proceed below - wait for the backup to complete." msgstr "Não interrompa após pressionar Continuar abaixo - aguarde a conclusão do backup." #: src/addons/autobackup.php:143, src/addons/autobackup.php:1154 msgid "UpdraftPlus Automatic Backups" msgstr "Backups automáticos do UpdraftPlus" #: src/addons/autobackup.php:558 msgid "Errors have occurred:" msgstr "Ocorreram erros:" #: src/addons/autobackup.php:529 msgid "Creating backup with UpdraftPlus..." msgstr "Criando backup com o UpdraftsPlus..." #: src/addons/autobackup.php:474, src/addons/autobackup.php:605, #: src/addons/autobackup.php:656 msgid "Automatic Backup" msgstr "Backup Automático" #: src/addons/autobackup.php:465 msgid "Creating database backup with UpdraftPlus..." msgstr "Criando backup do banco de dados com UpdraftsPlus..." #: src/addons/autobackup.php:431 msgid "themes" msgstr "temas" #: src/addons/autobackup.php:424 msgid "plugins" msgstr "plugins" #: src/addons/autobackup.php:375, src/addons/autobackup.php:472 msgid "Starting automatic backup..." msgstr "Iniciando backup automático..." #: src/addons/autobackup.php:371 msgid "Creating %s and database backup with UpdraftPlus..." msgstr "Criando backup %s e base dados com UpdraftPlus..." #: src/addons/autobackup.php:328 msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating" msgstr "Automaticamente fazer backup (quando pertinente) de plugins, temas e do banco de dados do WordPress com o UpdraftPlus antes de atualizar" #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation." msgstr "Caso você não tenha certeza, você deve parar; de outra forma você pode destruir essa instalação do WordPress." #: src/addons/morefiles.php:271, src/addons/morefiles.php:272 msgid "This does not look like a valid WordPress core backup - the file %s was missing." msgstr "Este não parece ser um arquivo de backup do WordPress válido - o arquivo %s está faltando." #: src/addons/morefiles.php:213 msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity." msgstr "Impossível abrir o arquivo compactado (%s) - não foi possível pre-escanear o arquivo para checar a integridade." #: src/addons/morefiles.php:203 msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity." msgstr "Impossível ler o arquivo compactado (%s) - não foi possível pre-escanear o arquivo para checar a integridade." #: src/templates/wp-admin/settings/header.php:25 msgid "More plugins" msgstr "Mais plugins" #: src/includes/updraftplus-notices.php:37, #: src/templates/wp-admin/settings/header.php:17, #: src/templates/wp-admin/settings/tab-addons.php:28, #: src/templates/wp-admin/settings/tab-addons.php:139 msgid "Support" msgstr "Suporte" #: src/class-updraftplus.php:5481 msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup." msgstr "UpdraftPlus não conseguiu encontrar o prefixo das tabelas ao varrer o backup do banco de dados" #: src/class-updraftplus.php:5473 msgid "This database backup is missing core WordPress tables: %s" msgstr "Neste backup do banco de dados estão faltando tabelas básicas do WordPress: %s" #: src/class-updraftplus.php:5068 msgid "The database is too small to be a valid WordPress database (size: %s Kb)." msgstr "O banco de dados é muito pequeno para ser um banco de dados válido do WordPress (tamanho: %s Kb)." #: src/addons/autobackup.php:326, src/addons/autobackup.php:1180 msgid "Be safe with an automatic backup" msgstr "Fique seguro com um backup automático" #: src/admin.php:2990 msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "Caso você esteja lendo isso após a página ter terminado de carregar, então há um problema de JavaScript ou JQuery no site." #: src/admin.php:960 msgid "The file was uploaded." msgstr "O arquivo foi enviado." #: src/admin.php:959 msgid "Unknown server response status:" msgstr "Status de resposta do servidor desconhecida:" #: src/admin.php:958 msgid "Unknown server response:" msgstr "Resposta desconhecida do servidor:" #: src/admin.php:957 msgid "This decryption key will be attempted:" msgstr "Esta chave de descriptografia será tentada:" #: src/admin.php:956 msgid "Follow this link to attempt decryption and download the database file to your computer." msgstr "Acesse este link para tentar descriptografar e baixar o arquivo de banco de dados para o seu computador." #: src/admin.php:955 msgid "Upload error" msgstr "Erro no envio" #: src/admin.php:954 msgid "This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)." msgstr "" #: src/admin.php:953 msgid "Upload error:" msgstr "Erro no envio:" #: src/admin.php:952 msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)" msgstr "(certifique-se de que você está tentando enviar um arquivo compactado criado pelo UpdraftPlus)" #: src/admin.php:943 msgid "Download to your computer" msgstr "Baixar para o seu computador" #: src/admin.php:942 msgid "Delete from your web server" msgstr "Excluir do seu servidor" #: src/methods/s3generic.php:191 msgid "Examples of S3-compatible storage providers:" msgstr "Exemplos de provedores de armazenamento S3-compatible:" #: src/admin.php:4608 msgid "You are missing one or more archives from this multi-archive set." msgstr "" #: src/templates/wp-admin/settings/form-contents.php:325 msgid "Split archives every:" msgstr "Dividir arquivos a cada:" #: src/addons/moredatabase.php:297 msgid "Error: the server sent us a response (JSON) which we did not understand." msgstr "Erro: o servidor nos enviou uma resposta (JSON) a qual não entendemos." #: src/admin.php:932 msgid "Warnings:" msgstr "Alertas:" #: src/admin.php:931 msgid "Error: the server sent an empty response." msgstr "Erro: o servidor enviou uma resposta vazia." #: src/includes/class-wpadmin-commands.php:205 msgid "This multi-archive backup set appears to have the following archives missing: %s" msgstr "Este conjunto de backup de múltiplos arquivos parece estar em falta dos seguintes arquivos: %s" #: src/includes/class-wpadmin-commands.php:190 msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt." msgstr "O arquivo (%s) foi encontrado, mas tem um tamanho diferente (%s) do que era esperado (%s) - pode estar corrompido." #: src/includes/class-wpadmin-commands.php:185 msgid "File was found, but is zero-sized (you need to re-upload it): %s" msgstr "O arquivo foi encontrado, mas está vazio (você precisa reenviá-lo): %s" #: src/includes/class-wpadmin-commands.php:183 msgid "File not found (you need to upload it): %s" msgstr "Arquivo não encontrado (você precisa enviá-lo): %s" #: src/addons/wp-cli.php:718, src/includes/class-wpadmin-commands.php:111 msgid "No such backup set exists" msgstr "Este backup não existe" #: src/restorer.php:848 msgid "Moving unpacked backup into place..." msgstr "Movendo backup desempacotado para o local..." #: src/backup.php:3998, src/backup.php:4329 msgid "Failed to open the zip file (%s) - %s" msgstr "Não foi possível abrir o arquivo compactado (%s) - %s" #: src/addons/morefiles.php:183 msgid "WordPress root directory server path: %s" msgstr "Caminho do servidor de diretório raiz do WordPress: %s" #: src/methods/dreamobjects.php:193, src/methods/s3generic.php:201 msgid "%s end-point" msgstr "End-point do %s" #: src/methods/s3generic.php:191 msgid "... and many more!" msgstr "...e muito mais!" #: src/methods/s3generic.php:80 msgid "S3 (Compatible)" msgstr "S3 (Compatível)" #: src/includes/class-storage-methods-interface.php:301 msgid "File is not locally present - needs retrieving from remote storage" msgstr "Arquivo não está presente no local - é necessário recuperá-lo do armazenamento remoto" #: src/restorer.php:519 msgid "Looking for %s archive: file name: %s" msgstr "Procurando pelo arquivo %s: nome do arquivo: %s" #: src/restorer.php:635 msgid "Final checks" msgstr "Verificações finais" #: src/templates/wp-admin/settings/form-contents.php:331 msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)." msgstr "Marque isto para excluir qualquer arquivo de backup supérfluo do seu servidor depois que a execução do backup terminar (ex.: se você desmarcar, então qualquer arquivo despachado remotamente irá permanecer localmente e qualquer arquivo mantido localmente não estará sujeito a limites de retenção)." #: src/templates/wp-admin/settings/form-contents.php:190 msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption" msgstr "Solte arquivos criptografados de banco de dados (arquivos db.gz.crypt) aqui para enviá-los para descriptografia" #: src/admin.php:4319 msgid "Your wp-content directory server path: %s" msgstr "Caminho do servidor do seu diretório wp-content: %s " #: src/admin.php:949 msgid "Raw backup history" msgstr "Histórico de backups bruto" #: src/templates/wp-admin/advanced/site-info.php:122 msgid "Show raw backup and file list" msgstr "Mostrar lista bruta de backups e arquivos" #: src/admin.php:930 msgid "Processing files - please wait..." msgstr "Processando os arquivos - aguarde..." #: src/class-updraftplus.php:5082 msgid "Failed to open database file." msgstr "Não foi possível abrir o arquivo do banco de dados." #: src/admin.php:5892 msgid "Known backups (raw)" msgstr "Backups conhecidos (bruto)" #: src/restorer.php:1835 msgid "Files found:" msgstr "Arquivos encontrados:" #: src/admin.php:1101 msgid "Restoring table: %s" msgstr "Restaurando a tabela: %s" #: src/restorer.php:2528 msgid "Requested table engine (%s) is not present - changing to MyISAM." msgstr "Mecanismo de tabela solicitado (%s) não está presente - mudando para MyISAM." #: src/restorer.php:539 msgid "file is size:" msgstr "tamanho do arquivo:" #: src/admin.php:1380, src/admin.php:1398, src/admin.php:2995, #: src/admin.php:5124, src/backup.php:4383, src/class-updraftplus.php:5334, #: src/class-updraftplus.php:5334, src/updraftplus.php:226, #: src/addons/googlecloud.php:1305, src/addons/migrator.php:304, #: src/addons/migrator.php:307, src/addons/migrator.php:310, #: src/templates/wp-admin/advanced/db-size.php:19 msgid "Go here for more information." msgstr "Clique aqui para mais informações." #: src/admin.php:5123 msgid "Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site." msgstr "Alerta: Se você ainda estiver lendo estas palavras após o fim do carregamento da página, então existe um problema de JavaScript ou jQuery no site." #: src/admin.php:929 msgid "Some files are still downloading or being processed - please wait." msgstr "Alguns arquivos ainda estão sendo baixados ou processados - aguarde." #: src/addons/fixtime.php:570 msgid "The time zone used is that from your WordPress settings, in Settings -> General." msgstr "O fuso horário usado é o das configurações do WordPress, em Configurações -> Geral." #: src/addons/fixtime.php:570 msgid "Enter in format HH:MM (e.g. 14:22)." msgstr "Entre no formato HH:MM (p.ex.: 14:22)." #: src/methods/ftp.php:208 msgid "%s login failure" msgstr "%s falha no acesso" #: src/addons/pcloud.php:339, src/addons/pcloud.php:440, #: src/methods/dropbox.php:490 msgid "Failed to access %s when deleting (see log file for more)" msgstr "Não foi possível acessar %s durante a exclusão (veja o arquivo de registros para mais)" #: src/methods/cloudfiles.php:424 msgid "Error - no such file exists." msgstr "Erro - este arquivo não existe." #: src/addons/azure.php:301, src/addons/webdav.php:788, #: src/addons/webdav.php:795, src/addons/webdav.php:815, #: src/methods/addon-base-v2.php:253, src/methods/openstack-base.php:460 msgid "%s Error" msgstr "%s Erro" #: src/methods/openstack-base.php:86 msgid "%s error - failed to upload file" msgstr "Erro de %s - não foi possível enviar arquivo" #: src/class-updraftplus.php:1527 msgid "%s error - failed to re-assemble chunks" msgstr "Erro de %s - não foi possível remontar os pedaços" #: src/methods/cloudfiles.php:250, src/methods/openstack-base.php:44, #: src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, #: src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, #: src/methods/openstack-base.php:516, src/methods/openstack-base.php:521 msgid "%s authentication failed" msgstr "A autenticação do %s falhou" #: src/admin.php:2722, src/admin.php:2751, src/admin.php:2743, #: src/class-updraftplus.php:1230, src/class-updraftplus.php:1236, #: src/class-updraftplus.php:5051, src/class-updraftplus.php:5049, #: src/class-updraftplus.php:5309, src/class-updraftplus.php:5232, #: src/addons/googlecloud.php:512, src/addons/migrator.php:390, #: src/methods/googledrive.php:592, src/methods/s3.php:370 msgid "Error: %s" msgstr "Erro: %s" #: src/admin.php:4233 msgid "Backup directory specified exists, but is not writable." msgstr "O diretório de backup especificado existe, mas não é gravável." #: src/admin.php:4231 msgid "Backup directory specified does not exist." msgstr "O diretório de backup especificado não existe." #: src/admin.php:3857, src/admin.php:4172 msgid "Warning: %s" msgstr "Alerta: %s" #: src/backup.php:4032 msgid "A very large file was encountered: %s (size: %s Mb)" msgstr "Um arquivo muito grande foi encontrado: %s (tamanho: %s Mb)" #: src/includes/class-wpadmin-commands.php:586 msgid "Failed to open directory: %s." msgstr "" #: src/backup.php:3217 msgid "%s: unreadable file - could not be backed up" msgstr "%s: arquivo não pode ser lido - não pode ser feito o backup" #: src/backup.php:2113 msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup." msgstr "A tabela %s tem muitas linhas (%s) - esperamos que seu serviço de hospedagem disponibilize recursos suficientes para despejar esta tabela no backup." #: src/backup.php:2066 msgid "An error occurred whilst closing the final database file" msgstr "Um erro ocorreu ao fechar o arquivo final do banco de dados" #: src/class-updraftplus.php:3814 msgid "Warnings encountered:" msgstr "Alertas encontrados:" #: src/class-updraftplus.php:3673 msgid "The backup succeeded (with warnings) and is now complete" msgstr "" #: src/class-updraftplus.php:1056 msgid "Your free disk space is very low - only %s Mb remain" msgstr "Seu espaço livre em disco está muito baixo - restam apenas %s Mb" #: src/addons/migrator.php:398 msgid "New site:" msgstr "Novo site:" #: src/addons/migrator.php:375 msgid "Migrated site (from UpdraftPlus)" msgstr "Site migrado (do UpdraftPlus)" #: src/addons/migrator.php:324 msgid "Enter details for where this new site is to live within your multisite install:" msgstr "Insira os detalhes de onde esse novo site ficará em sua instalação multisite:" #: src/addons/migrator.php:323 msgid "Information needed to continue:" msgstr "Informação necessária para continuar:" #: src/addons/migrator.php:266 msgid "Network activating theme:" msgstr "Tema de ativação de rede:" #: src/includes/migrator-lite.php:350 msgid "Processed plugin:" msgstr "Plugin processado:" #: src/addons/sftp.php:149 msgid "Check your file permissions: Could not successfully create and enter directory:" msgstr "Verifique as suas permissões de arquivos: Não foi possível criar e entrar no diretório:" #: src/methods/s3.php:1461 msgid "Please check your access credentials." msgstr "Por favor, verifique as suas credenciais de acesso." #: src/addons/s3-enhanced.php:286, src/methods/s3.php:1438 msgid "The error reported by %s was:" msgstr "O erro reportado pelo %s foi:" #: src/restorer.php:2323 msgid "Please supply the requested information, and then continue." msgstr "Por favor, forneça a informação solicitada, e então continue." #: src/class-updraftplus.php:5243, src/restorer.php:3081 msgid "Site information:" msgstr "Informações do site:" #: src/admin.php:1109, src/admin.php:2990, src/class-updraftplus.php:5236, #: src/restorer.php:3821 msgid "Warning:" msgstr "Alerta:" #: src/class-updraftplus.php:5228, src/restorer.php:856 msgid "You are running on WordPress multisite - but your backup is not of a multisite site." msgstr "Você está executando em um WordPress multisite - mas o seu backup não é o de um site multisite." #: src/admin.php:971, src/admin.php:1163, src/includes/updraftplus-tour.php:97 msgid "Close" msgstr "Fechar" #: src/admin.php:922, src/addons/autobackup.php:377, #: src/addons/autobackup.php:469, src/methods/remotesend.php:75, #: src/methods/remotesend.php:83, src/methods/remotesend.php:245, #: src/methods/remotesend.php:261 msgid "Unexpected response:" msgstr "Resposta inesperada:" #: src/admin.php:916, src/addons/reporting.php:545 msgid "To send to more than one address, separate each address with a comma." msgstr "Para enviar para mais de um endereço, separe cada endereço com uma vírgula." #: src/admin.php:947 msgid "PHP information" msgstr "Informação de PHP" #: src/templates/wp-admin/advanced/site-info.php:88 msgid "zip executable found:" msgstr "Executável compactado encontrado:" #: src/templates/wp-admin/advanced/site-info.php:58 msgid "show PHP information (phpinfo)" msgstr "mostrar informações do PHP (phpinfo)" #: src/templates/wp-admin/settings/migrator-no-migrator.php:9 msgid "Do you want to migrate or clone/duplicate a site?" msgstr "Você deseja migrar ou clonar/duplicar um site?" #: src/templates/wp-admin/settings/existing-backups-table.php:173 msgid "Please allow time for the communications with the remote storage to complete." msgstr "Espere para que a comunicação com o armazenamento remoto seja concluída." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:23 msgid "Also delete from remote storage" msgstr "Excluir também do armazenamento remoto" #: src/admin.php:3526 msgid "Latest UpdraftPlus.com news:" msgstr "Últimas notícias do UpdraftPlus.com" #: src/templates/wp-admin/settings/header.php:11, #: src/templates/wp-admin/settings/tab-addons.php:73 msgid "Premium" msgstr "Premium" #: src/templates/wp-admin/settings/header.php:15 msgid "News" msgstr "Notícias" #: src/admin.php:2000, src/includes/class-wpadmin-commands.php:614 msgid "Backup set not found" msgstr "Conjunto de backup não foi encontrado" #: src/backup.php:290 msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)" msgstr "%s - não foi possível efetuar o backup desta entidade; o diretório correspondente não existe (%s)" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "RSS link" msgstr "Link RSS" #: src/includes/updraftplus-notices.php:167, #: src/includes/updraftplus-notices.php:168, #: src/includes/updraftplus-notices.php:177, #: src/includes/updraftplus-notices.php:178 msgid "Blog link" msgstr "Link do blog" #: src/admin.php:1016 msgid "Testing %s Settings..." msgstr "Testando Configurações %s..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:69, #: src/templates/wp-admin/settings/tab-backups.php:71 msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above." msgstr "Ou você pode colocá-los manualmente no seu diretório do UpdraftPlus (normalmente wp-content/updraft) com FTP, por exemplo, e então utilizar o link \"verificar novamente\" acima." #: src/admin.php:1402, src/admin.php:1484 msgid "Notice" msgstr "Nota" #: src/class-updraftplus.php:3793 msgid "Errors encountered:" msgstr "Erros encontrados:" #: src/admin.php:913 msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..." msgstr "Verificando novamente (procurando por backups que você tenha enviado manualmente na área de armazenamento interna de backup)…" #: src/admin.php:928 msgid "Begun looking for this entity" msgstr "Esta entidade começou a ser procurada" #: src/addons/dropbox-folders.php:38, src/addons/pcloud.php:511 msgid "Store at" msgstr "Armazenar em" #: src/includes/class-search-replace.php:333 msgid "\"%s\" has no primary key, manual change needed on row %s." msgstr "\"%s\" não tem chave primária, alteração manual necessária na linha %s." #: src/includes/class-search-replace.php:140 msgid "rows: %d" msgstr "linhas: %d" #: src/includes/migrator-lite.php:1037 msgid "Time taken (seconds):" msgstr "Tempo corrido (segundos):" #: src/admin.php:933, src/includes/migrator-lite.php:1036 msgid "Errors:" msgstr "Erros:" #: src/includes/migrator-lite.php:1035 msgid "SQL update commands run:" msgstr "Comandos de atualização (update) SQL executados:" #: src/includes/migrator-lite.php:1034 msgid "Changes made:" msgstr "Alterações feitas:" #: src/includes/migrator-lite.php:1033 msgid "Rows examined:" msgstr "Linhas examinadas:" #: src/includes/migrator-lite.php:1032 msgid "Tables examined:" msgstr "Tabelas examinadas:" #: src/includes/migrator-lite.php:924 msgid "Could not get list of tables" msgstr "Não foi possível obter a lista de tabelas" #: src/includes/migrator-lite.php:869 msgid "Warning: the database's site URL (%s) is different to what we expected (%s)" msgstr "Aviso: a URL do site no banco de dados (%s) está diferente do esperado (%s)" #: src/includes/migrator-lite.php:858 msgid "Nothing to do: the site URL is already: %s" msgstr "Nada a fazer: a URL do site já está: %s" #: src/includes/migrator-lite.php:821, src/includes/migrator-lite.php:825, #: src/includes/migrator-lite.php:829, src/includes/migrator-lite.php:834, #: src/includes/migrator-lite.php:838, src/includes/migrator-lite.php:843 msgid "Error: unexpected empty parameter (%s, %s)" msgstr "Erro: parâmetro vazio inesperado (%s, %s)" #: src/includes/migrator-lite.php:779 msgid "Database: search and replace site URL" msgstr "Banco de dados: pesquisar e substituir o URL do site" #: src/restorer.php:4382, src/includes/migrator-lite.php:629, #: src/includes/migrator-lite.php:1018 msgid "Failed: we did not understand the result returned by the %s operation." msgstr "Falha: não foi possível entender o resultado retornado pela operação %s." #: src/restorer.php:4380, src/includes/migrator-lite.php:627, #: src/includes/migrator-lite.php:1016 msgid "Failed: the %s operation was not able to start." msgstr "Falha: a operação %s não pôde ser iniciada." #: src/includes/migrator-lite.php:372 msgid "Search and replace site location in the database (migrate)" msgstr "Pesquisar e substituir o local do site no banco de dados (migrar)" #: src/includes/migrator-lite.php:372 msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s" msgstr "Todas as referências ao local do site no banco de dados serão substituídas pelo URL do site atual, que é: %s" #: src/addons/multisite.php:779 msgid "Blog uploads" msgstr "Envios do blog" #: src/class-updraftplus.php:2093, src/addons/migrator.php:310 msgid "Must-use plugins" msgstr "Plugins obrigatórios" #: src/addons/multisite.php:229 msgid "Multisite Install" msgstr "instalação em multisite" #: src/addons/fixtime.php:570 msgid "starting from next time it is" msgstr "iniciando na próxima vez que for" #: src/addons/sftp.php:713 msgid "However, we were able to log in and move to the indicated directory and successfully create a file in that location." msgstr "" #: src/addons/sftp.php:651 msgid "Failure: Port must be an integer." msgstr "Porta deve ser um número inteiro." #: src/methods/ftp.php:442, src/methods/openstack2.php:120 msgid "password" msgstr "senha" #: src/addons/sftp.php:642, src/methods/openstack2.php:115 msgid "username" msgstr "nome de usuário" #: src/addons/sftp.php:638 msgid "host name" msgstr "nome do servidor" #: src/addons/sftp.php:621 msgid "Where to change directory to after logging in - often this is relative to your home directory." msgstr "Para onde alterar o diretóro, após o login - isto normalmente se refere ao seu diretório inicial (home)." #: src/addons/sftp.php:615 msgid "Directory path" msgstr "Caminho do diretório" #: src/admin.php:1097, src/admin.php:3401, src/addons/lockadmin.php:178, #: src/addons/moredatabase.php:265, src/addons/sftp.php:612, #: src/addons/webdav.php:431, src/methods/openstack2.php:255, #: src/methods/updraftvault.php:523, #: src/templates/wp-admin/settings/updraftcentral-connect.php:50 msgid "Password" msgstr "Senha" #: src/addons/sftp.php:610, src/addons/webdav.php:435 msgid "Port" msgstr "Porta" #: src/addons/moredatabase.php:263, src/addons/sftp.php:609, #: src/addons/webdav.php:433 msgid "Host" msgstr "Hospedagem" #: src/addons/sftp.php:375 msgid "Error: Failed to download" msgstr "Erro: Falha ao baixar" #: src/addons/sftp.php:683 msgid "Check your file permissions: Could not successfully create and enter:" msgstr "Verifique as suas permissões de arquivo: Não foi possível criar e entrar:" #: src/addons/sftp.php:122, src/addons/sftp.php:123, src/addons/sftp.php:124 msgid "No %s found" msgstr "%s não encontrado" #: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:19 msgid "more" msgstr "Mais" #: src/addons/morefiles.php:606 msgid "No backup of %s directories: there was nothing found to back up" msgstr "Não foi feito o backup dos diretórios %s: nada foi encontrado para ser copiado" #: src/admin.php:4333, src/addons/morefiles.php:371 msgid "If entering multiple files/directories, then separate them with commas." msgstr "" #: src/addons/morefiles.php:319 msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver." msgstr "Tenha cuidado com o que você seleciona - se você selecionar / então ele realmente tentará criar um arquivo compactado contendo todo o seu servidor web." #: src/addons/morefiles.php:317 msgid "If you are not sure what this option is for, then you will not want it, and should turn it off." msgstr "Se você não tem certeza para que serve essa opção, ela não será útil para você e deverá ficar desativada." #: src/addons/morefiles.php:294 msgid "More Files" msgstr "Mais arquivos" #: src/addons/morefiles.php:182 msgid "WordPress core (including any additions to your WordPress root directory)" msgstr "Arquivos básicos do WordPress (incluindo qualquer adição ao seu diretório raiz do WordPress)" #: src/addons/morefiles.php:175 msgid "The above files comprise everything in a WordPress installation." msgstr "Os arquivos acima compreendem tudo em uma instalação do WordPress." #: src/addons/morefiles.php:156 msgid "Over-write wp-config.php" msgstr "Sobrescrever o wp-config.php" #: src/addons/morefiles.php:152, src/includes/class-wpadmin-commands.php:631 msgid "WordPress Core" msgstr "Arquivos básicos do WordPress" #: src/addons/webdav.php:503, src/methods/addon-base-v2.php:361 msgid "Failed: We were not able to place a file in that directory - please check your credentials." msgstr "Falha: Não foi possível colocar um arquivo nesse diretório - verifique suas credenciais." #: src/admin.php:3928, src/admin.php:3946, src/admin.php:3987, #: src/admin.php:3977, src/backup.php:2051, src/addons/googlecloud.php:967, #: src/addons/googlecloud.php:1007, src/addons/googlecloud.php:1001, #: src/addons/sftp.php:669, src/methods/addon-base-v2.php:344 msgid "Failed" msgstr "Falha" #: src/addons/webdav.php:427 msgid "WebDAV URL" msgstr "URL WebDAV" #: src/addons/webdav.php:815 msgid "Local write failed: Failed to download" msgstr "Gravação local falhou: Falhou ao efetuar o download" #: src/addons/webdav.php:795 msgid "Error opening remote file: Failed to download" msgstr "Erro ao abrir arquivo remoto: Falha ao baixar" #: src/addons/googlecloud.php:375, src/addons/googlecloud.php:373, #: src/addons/pcloud.php:293, src/addons/sftp.php:120, #: src/addons/webdav.php:526, src/addons/webdav.php:689, #: src/addons/webdav.php:695, src/addons/webdav.php:727, #: src/addons/webdav.php:769, src/methods/addon-base-v2.php:81, #: src/methods/addon-base-v2.php:129, src/methods/addon-base-v2.php:170, #: src/methods/addon-base-v2.php:229, src/methods/addon-base-v2.php:318, #: src/methods/ftp.php:42, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322 msgid "No %s settings were found" msgstr "Nenhuma configuração %s foi encontrada" #: src/methods/ftp.php:464 msgid "Failure: we successfully logged in, but were not able to create a file in the given directory." msgstr "Falha: acesso feito com sucesso, mas não foi possível criar um arquivo no diretório informado." #: src/methods/ftp.php:461 msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:" msgstr "Sucesso: acesso feito com sucesso e confirmada a possibilidade de criação um arquivo no diretório informado (tipo de acesso:" #: src/methods/ftp.php:452 msgid "Failure: we did not successfully log in with those credentials." msgstr "Falha: não foi possível acessar com essas credenciais." #: src/methods/ftp.php:434 msgid "Failure: No server details were given." msgstr "Falha: Nenhum detalhe do servidor foi informado." #: src/methods/ftp.php:127 msgid "Needs to already exist" msgstr "Precisa existir" #: src/addons/onedrive.php:975, src/addons/pcloud.php:720, #: src/methods/dropbox.php:934 msgid "Your %s account name: %s" msgstr "Seu nome de conta %s: %s" #: src/addons/pcloud.php:710, src/methods/dropbox.php:910, #: src/methods/dropbox.php:912 msgid "you have authenticated your %s account" msgstr "você autenticou sua conta %s" #: src/methods/dropbox.php:603 msgid "Backups are saved in %s." msgstr "Backups são salvos em %s." #: src/methods/dropbox.php:602 msgid "Need to use sub-folders?" msgstr "Precisa usar sub-pastas?" #: src/methods/dropbox.php:313 msgid "error: failed to upload file to %s (see log file for more)" msgstr "erro: não foi possível enviar arquivo para o %s (veja o arquivo de registro para mais)" #: src/addons/pcloud.php:147, src/addons/pcloud.php:707, #: src/methods/dropbox.php:216 msgid "error: %s (see log file for more)" msgstr "erro: %s (veja o arquivo de registro para mais detalhes)" #: src/methods/s3.php:1456 msgid "The communication with %s was not encrypted." msgstr "A comunicação com o %s não foi criptografada." #: src/methods/s3.php:1454 msgid "The communication with %s was encrypted." msgstr "A comunicação com o %s foi criptografada." #: src/addons/googlecloud.php:1030, src/methods/s3.php:1451 msgid "We accessed the bucket, and were able to create files within it." msgstr "Foi possível acessar o bucket e criar arquivos dentro dele." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "We successfully accessed the bucket, but the attempt to create a file in it failed." msgstr "Foi possível acessar o bucket, mas a tentativa de criar um arquivo falhou." #: src/addons/googlecloud.php:1024, src/addons/googlecloud.php:1038, #: src/methods/s3.php:1449, src/methods/s3.php:1461 msgid "Failure" msgstr "Falha" #: src/methods/openstack2.php:252, src/methods/s3.php:1430 msgid "Region" msgstr "Região" #: src/addons/googlecloud.php:140, src/addons/googlecloud.php:984, #: src/methods/s3.php:1392 msgid "Failure: No bucket details were given." msgstr "Falha: Nenhum detalhe do bucket foi fornecido." #: src/methods/s3.php:1370 msgid "API secret" msgstr "Segredo da API" #: src/methods/dreamobjects.php:191, src/methods/s3.php:1048, #: src/methods/s3.php:1088, src/methods/s3generic.php:199 msgid "%s location" msgstr "Localização do %s" #: src/methods/dreamobjects.php:189, src/methods/s3.php:1044, #: src/methods/s3.php:1086, src/methods/s3generic.php:197 msgid "%s secret key" msgstr "Chave secreta do %s" #: src/methods/dreamobjects.php:188, src/methods/s3.php:1040, #: src/methods/s3.php:1085, src/methods/s3generic.php:196 msgid "%s access key" msgstr "Chave de acesso do %s" #: src/methods/dreamobjects.php:185, src/methods/s3.php:938, #: src/methods/s3.php:1083, src/methods/s3generic.php:195 msgid "If you see errors about SSL certificates, then please go here for help." msgstr "Se você ver erros sobre certificados SSL então, por favor, vá aqui para ajuda." #: src/methods/s3.php:520 msgid "%s re-assembly error (%s): (see log file for more)" msgstr "%s erro de reagrupamento (%s): (veja o arquivo de registros para mais)" #: src/methods/s3.php:516 msgid "upload (%s): re-assembly failed (see log for more details)" msgstr "envio (%s): reagrupamento falhou (veja o registro para mais detalhes)" #: src/methods/s3.php:500 msgid "chunk %s: upload failed" msgstr "pedaço %s: não foi possível enviar" #: src/methods/s3.php:472 msgid "error: file %s was shortened unexpectedly" msgstr "erro: o arquivo %s foi encurtado inesperadamente" #: src/methods/s3.php:450 msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details" msgstr "envio %s: a obtenção do uploadID para envio em múltiplas partes falhou - veja o arquivo de registros para mais detalhes" #: src/methods/email.php:106 msgid "Note:" msgstr "Nota:" #: src/methods/email.php:46 msgid "WordPress Backup" msgstr "Backup do WordPress" #: src/methods/cloudfiles.php:590, src/methods/openstack-base.php:535 msgid "We accessed the container, and were able to create files within it." msgstr "Contêiner acessado e foi possível criar arquivos dentro dele." #: src/methods/cloudfiles.php:586 msgid "Cloud Files error - we accessed the container, but failed to create a file within it" msgstr "Erro do Cloud Files - contêiner acessado, mas houve uma falha ao criar um arquivo dentro dele" #: src/methods/cloudfiles.php:559, src/methods/openstack-base.php:477 msgid "Failure: No container details were given." msgstr "Falha: Nenhum detalhe de contêiner foi informado." #: src/admin.php:1096, src/addons/moredatabase.php:264, #: src/addons/sftp.php:611, src/addons/webdav.php:430, #: src/methods/cloudfiles-new.php:171, src/methods/cloudfiles.php:539, #: src/methods/openstack2.php:254 msgid "Username" msgstr "Nome de usuário" #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles.php:534, #: src/methods/s3.php:1366 msgid "API key" msgstr "Chave da API" #: src/admin.php:991, src/addons/moredatabase.php:113, #: src/addons/moredatabase.php:115, src/addons/moredatabase.php:117, #: src/addons/sftp.php:638, src/addons/sftp.php:642, src/addons/sftp.php:646, #: src/addons/webdav.php:482, src/includes/class-remote-send.php:580, #: src/includes/migrator-lite.php:242, src/methods/addon-base-v2.php:336, #: src/methods/cloudfiles-new.php:166, src/methods/cloudfiles-new.php:171, #: src/methods/cloudfiles.php:534, src/methods/cloudfiles.php:539, #: src/methods/ftp.php:438, src/methods/ftp.php:442, #: src/methods/openstack2.php:115, src/methods/openstack2.php:120, #: src/methods/openstack2.php:125, src/methods/openstack2.php:130, #: src/methods/s3.php:1366, src/methods/s3.php:1370 msgid "Failure: No %s was given." msgstr "Falha: o campo %s não foi informado." #: src/methods/cloudfiles.php:498 msgid "Cloud Files username" msgstr "Nome de usuário do Cloud Files" #: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:101, #: src/methods/cloudfiles-new.php:291, src/methods/cloudfiles.php:482 msgid "UK" msgstr "Reino Unido (UK)" #: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:100, #: src/methods/cloudfiles-new.php:290, src/methods/cloudfiles.php:481 msgid "US (default)" msgstr "Estados Unidos (US) (padrão)" #: src/methods/cloudfiles.php:478 msgid "US or UK Cloud" msgstr "Nuvem US ou UK" #: src/methods/cloudfiles-new.php:285, src/methods/cloudfiles.php:461, #: src/methods/openstack2.php:245 msgid "Also, you should read this important FAQ." msgstr "Inclusive, você deveria ler estas importantes perguntas frequentes." #: src/methods/cloudfiles.php:461 msgid "Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage." msgstr "" #: src/admin.php:1015, src/addons/azure.php:708, src/addons/backblaze.php:793, #: src/addons/sftp.php:623, src/addons/webdav.php:440, #: src/methods/backup-module.php:404, src/methods/cloudfiles-new.php:299, #: src/methods/dreamobjects.php:194, src/methods/ftp.php:130, #: src/methods/openstack2.php:258, src/methods/s3.php:1090, #: src/methods/s3generic.php:214 msgid "Test %s Settings" msgstr "Teste as Configurações do %s" #: src/class-updraftplus.php:1570, src/class-updraftplus.php:1614, #: src/addons/webdav.php:788, src/methods/cloudfiles.php:398 msgid "Error opening local file: Failed to download" msgstr "Erro ao abrir o arquivo local: não foi possível baixar" #: src/addons/sftp.php:250, src/methods/openstack-base.php:314, #: src/methods/s3.php:408, src/methods/s3.php:420, src/methods/s3.php:421 msgid "%s Error: Failed to upload" msgstr "Erro de %s: não foi possível enviar" #: src/class-updraftplus.php:1412 msgid "%s Error: Failed to open local file" msgstr "Erro de %s: Não foi possível abrir o arquivo local" #: src/addons/cloudfiles-enhanced.php:120, #: src/addons/cloudfiles-enhanced.php:133, #: src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:569, #: src/methods/cloudfiles.php:572, src/methods/cloudfiles.php:575 msgid "Cloud Files authentication failed" msgstr "autenticação no Cloud Files falhou" #: src/addons/pcloud.php:552, src/methods/backup-module.php:634, #: src/methods/dropbox.php:607 msgid "After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s." msgstr "" #: src/addons/googlecloud.php:1317, src/methods/googledrive.php:1505 msgid "Authenticate with Google" msgstr "Autenticar com o Google" #: src/addons/googlecloud.php:1300, src/addons/onedrive.php:1319, #: src/methods/googledrive.php:1491 msgid "Client Secret" msgstr "Segredo do cliente" #: src/addons/googlecloud.php:1299, src/methods/googledrive.php:1490 msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here." msgstr "Se o Google mostra mais tarde a mensagem \"cliente inválido\", então você não entrou um ID de cliente válido aqui." #: src/addons/googlecloud.php:1298, src/addons/onedrive.php:1317, #: src/methods/googledrive.php:1489 msgid "Client ID" msgstr "ID do cliente" #: src/methods/googledrive.php:1498 msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked" msgstr "Você deve adicionar o seguinte, como a URI de redicionamento autorizado (em \"Mais Opções\"), quando perguntado" #: src/addons/googlecloud.php:1289, src/methods/googledrive.php:1497 msgid "Select 'Web Application' as the application type." msgstr "Selecione \"Aplicação Web\" como o tipo da aplicação." #: src/addons/googlecloud.php:590, src/addons/googlecloud.php:591, #: src/addons/googlecloud.php:1062, src/addons/googlecloud.php:1060, #: src/methods/googledrive.php:832, src/methods/googledrive.php:833, #: src/methods/googledrive.php:821, src/methods/googledrive.php:822 msgid "Account is not authorized." msgstr "Conta não autorizada" #: src/addons/webdav.php:743, src/methods/googledrive.php:717, #: src/methods/googledrive.php:779, src/methods/googledrive.php:797, #: src/methods/googledrive.php:795 msgid "Failed to upload to %s" msgstr "Não foi possível enviar para o %s" #: src/methods/googledrive.php:760 msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes" msgstr "A conta está cheia: sua conta do %s tem apenas %d bytes restantes, mas o arquivo a ser enviado tem %d bytes" #: src/methods/googledrive.php:868, src/methods/googledrive.php:904 msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive." msgstr "Não obteve um token de acesso do Google - você precisa autorizar ou re-autorizar sua conexão com o Google Drive." #: src/addons/googlecloud.php:904, src/addons/onedrive.php:1013, #: src/methods/googledrive.php:674 msgid "you have authenticated your %s account." msgstr "você autenticou a sua conta %s." #: src/addons/googlecloud.php:904, src/addons/googlecloud.php:1030, #: src/addons/onedrive.php:1013, src/addons/sftp.php:711, #: src/addons/sftp.php:707, src/addons/wp-cli.php:500, #: src/methods/addon-base-v2.php:358, src/methods/cloudfiles.php:590, #: src/methods/googledrive.php:674, src/methods/openstack-base.php:535, #: src/methods/s3.php:1451 msgid "Success" msgstr "Sucesso" #: src/addons/onedrive.php:967, src/addons/pcloud.php:722, #: src/methods/dropbox.php:964, src/methods/dropbox.php:955, #: src/methods/googledrive.php:635 msgid "Your %s quota usage: %s %% used, %s available" msgstr "A utilização da sua cota do %s: %s %% utilizado, %s disponível" #: src/methods/googledrive.php:598 msgid "%s authorization failed" msgstr "" #: src/methods/addon-not-yet-present.php:124 msgid "follow this link to get it" msgstr "acesse este link para obtê-lo" #: src/methods/addon-not-yet-present.php:125 msgid "%s support is available as an add-on" msgstr "O suporte %s está disponível como um add-on" #: src/methods/addon-not-yet-present.php:34, #: src/methods/addon-not-yet-present.php:76, #: src/methods/addon-not-yet-present.php:83 msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s" msgstr "Você não possui o add-on %s do UpdraftPlus instalado - obtenha-o em %s" #: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:137 msgid "You need to re-authenticate with %s, as your existing credentials are not working." msgstr "Você precisa se reautenticar com %s, pois as suas credenciais existentes não estão funcionando." #: src/admin.php:3932, src/admin.php:3943, src/admin.php:3984, #: src/admin.php:3980, src/restorer.php:537, src/restorer.php:4329, #: src/restorer.php:4188, src/includes/class-remote-send.php:441, #: src/includes/class-storage-methods-interface.php:329 msgid "OK" msgstr "OK" #: src/restorer.php:4293, src/restorer.php:4182 msgid "Table prefix has changed: changing %s table field(s) accordingly:" msgstr "O prefixo da tabela foi alterado: acertando os campos %s da tabela de acordo:" #: src/restorer.php:3990, src/includes/class-search-replace.php:519 msgid "the database query being run was:" msgstr "a query que estava executando no banco de dados era:" #: src/restorer.php:2607 msgid "will restore as:" msgstr "irá restaurar como:" #: src/restorer.php:2436, src/restorer.php:3064, src/restorer.php:3244 msgid "Old table prefix:" msgstr "Prefixo antigo da tabela:" #: src/class-updraftplus.php:3871, src/class-updraftplus.php:5140, #: src/addons/reporting.php:97, src/addons/reporting.php:206 msgid "Backup of:" msgstr "Backup de:" #: src/restorer.php:2806 msgid "Failed to open database file" msgstr "Não foi possível abrir o arquivo do banco de dados" #: src/restorer.php:2785 msgid "Failed to find database file" msgstr "Não foi possível encontrar o arquivo do banco de dados" #: src/restorer.php:1174 msgid "Failed to write out the decrypted database to the filesystem" msgstr "Falha ao gravar o banco de dados descriptografado no sistema de arquivos" #: src/restorer.php:1158 msgid "Failed to create a temporary directory" msgstr "Não foi possível criar um diretório temporário" #: src/restorer.php:855 msgid "Failed to delete working directory after restoring." msgstr "Não foi possível excluir o diretório de trabalho após a restauração." #: src/restorer.php:850 msgid "Cleaning up rubbish..." msgstr "Limpando a sujeira..." #: src/restorer.php:849 msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..." msgstr "Restaurando o banco de dados (em um site grande isso pode levar um longo tempo - se o tempo se esgotar (o que pode ocorrer se a empresa de hospedagem web configurou a sua hospedagem com limitação de recursos) então você deveria utilizar um método diferente, como o phpMyAdmin)..." #: src/restorer.php:846 msgid "Database successfully decrypted." msgstr "Banco de dados descriptografado com sucesso." #: src/restorer.php:845 msgid "Decrypting database (can take a while)..." msgstr "Descriptografando o banco de dados (isso pode levar um tempo)…" #: src/restorer.php:844 msgid "Unpacking backup..." msgstr "Desempacotando o backup..." #: src/restorer.php:843 msgid "Copying this entity failed." msgstr "Não foi possível copiar esta entidade." #: src/restorer.php:842 msgid "Backup file not available." msgstr "Arquivo de backup não está disponível." #: src/restorer.php:545, src/restorer.php:546 msgid "Could not read one of the files for restoration" msgstr "Não é possível ler um dos arquivos para a restauração" #: src/restorer.php:725 msgid "Error message" msgstr "Mensagem de erro" #: src/restorer.php:542 msgid "The backup records do not contain information about the proper size of this file." msgstr "Os registros de backup não contêm informações sobre o tamanho adequado desse arquivo." #: src/restorer.php:534 msgid "Archive is expected to be size:" msgstr "Espera-se que o arquivo tenha o tamanho:" #: src/admin.php:5286 msgid "If making a request for support, please include this information:" msgstr "Ao fazer um pedido de suporte, por favor inclua esta informação:" #: src/admin.php:5286 msgid "ABORT: Could not find the information on which entities to restore." msgstr "ABORTOU: Não foi possível encontrar a informação sobre quais entidades restaurar." #: src/addons/wp-cli.php:747 msgid "UpdraftPlus Restoration: Progress" msgstr "Restauração do UpdraftPlus: Progresso" #: src/admin.php:5244 msgid "This backup does not exist in the backup history - restoration aborted." msgstr "" #: src/admin.php:4660 msgid "After pressing this button, you will be given the option to choose which components you wish to restore" msgstr "Após pressionar este botão, será dada a opção de escolher quais componentes você deseja restaurar" #: src/admin.php:4745 msgid "Delete this backup set" msgstr "Excluir este conjunto de backup" #: src/admin.php:1162, src/templates/wp-admin/settings/form-contents.php:390 msgid "Save Changes" msgstr "Salvar Alterações" #: src/templates/wp-admin/settings/form-contents.php:361 msgid "Disable SSL entirely where possible" msgstr "Desativar o SSL completamente quando possível" #: src/templates/wp-admin/settings/form-contents.php:357 msgid "Note that not all cloud backup methods are necessarily using SSL authentication." msgstr "Note que nem todos os métodos de backup em nuvem estão, necessariamente, utilizando autenticação SSL." #: src/templates/wp-admin/settings/form-contents.php:356 msgid "Do not verify SSL certificates" msgstr "Não verificar certificados SSL" #: src/templates/wp-admin/settings/form-contents.php:351 msgid "Use the server's SSL certificates" msgstr "Utilizar os certificados SSL do servidor" #: src/admin.php:4235 msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process." msgstr "Se isso não for bem sucedido, verifique as permissões no seu servidor ou mude para outro diretório que seja gravável pelo processo do seu servidor web." #: src/admin.php:4235 msgid "or, to reset this option" msgstr "ou, para desfazer esta opção" #: src/admin.php:4235 msgid "Follow this link to attempt to create the directory and set the permissions" msgstr "Acesse este link para tentar criar o diretório e configurar as permissões" #: src/admin.php:4227 msgid "Backup directory specified is writable, which is good." msgstr "O diretório de backup especificado é gravável, o que é bom." #: src/templates/wp-admin/settings/form-contents.php:335 msgid "Backup directory" msgstr "Diretório de backup" #: src/templates/wp-admin/settings/form-contents.php:330 msgid "Delete local backup" msgstr "Excluir o backup local" #: src/templates/wp-admin/settings/form-contents.php:310 msgid "open this to show some further options; don't bother with this unless you have a problem or are curious." msgstr "abra isto para mostrar algumas opções a mais. Não mexa com isto a menos que você tenha um problema ou seja curioso." #: src/templates/wp-admin/settings/form-contents.php:310 msgid "Show expert settings" msgstr "Mostrar configurações avançadas" #: src/templates/wp-admin/settings/form-contents.php:309 msgid "Expert settings" msgstr "Configurações avançadas" #: src/templates/wp-admin/settings/form-contents.php:320 msgid "Debug mode" msgstr "Modo de depuração (debug)" #: src/templates/wp-admin/settings/form-contents.php:305 msgid "Advanced / Debugging Settings" msgstr "Configurações Avançadas / Depuração" #: src/admin.php:946 msgid "Requesting start of backup..." msgstr "Solicitando o início do backup..." #: src/admin.php:963, src/addons/morefiles.php:1034, #: src/methods/backup-module.php:91, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:94 msgid "Cancel" msgstr "Cancelar" #: src/admin.php:4510, src/addons/incremental.php:341, #: src/addons/incremental.php:333, src/addons/reporting.php:270 msgid "None" msgstr "Nenhum" #: src/templates/wp-admin/settings/form-contents.php:104 msgid "Choose your remote storage" msgstr "Escolha o seu armazenamento remoto" #: src/templates/wp-admin/settings/form-contents.php:179 msgid "Manually decrypt a database backup file" msgstr "Descriptografar manualmente um arquivo de backup de banco de dados" #: src/templates/wp-admin/settings/form-contents.php:158 msgid "Database encryption phrase" msgstr "Frase para criptografia do banco de dados" #: src/admin.php:3391, src/methods/updraftvault.php:521, #: src/templates/wp-admin/settings/form-contents.php:256, #: src/templates/wp-admin/settings/updraftcentral-connect.php:44 msgid "Email" msgstr "E-mail" #: src/templates/wp-admin/settings/form-contents.php:148 msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org." msgstr "Os diretórios acima incluem tudo, exceto os próprios arquivos básicos do WordPress, que você pode obter fazendo um novo download do WordPress.org." #: src/addons/morefiles.php:368 msgid "Exclude these:" msgstr "Excluir estes:" #: src/admin.php:4319 msgid "Any other directories found inside wp-content" msgstr "Quaisquer outros diretórios encontrados dentro do wp-content" #: src/templates/wp-admin/settings/form-contents.php:145 msgid "Include in files backup" msgstr "Incluído no backup dos arquivos" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "e.g. if your server is busy at day and you want to run overnight" msgstr "p.ex.: se o seu servidor está ocupado durante o dia e você deseja executar durante a noite" #: src/templates/wp-admin/settings/form-contents.php:88 msgid "To fix the time at which a backup should take place," msgstr "Para acertar a hora em que um backup deveria acontecer," #: src/templates/wp-admin/settings/form-contents.php:62 msgid "Database backup interval" msgstr "Intervalo entre backups do banco de dados" #: src/addons/incremental.php:350, src/addons/incremental.php:337 msgid "Monthly" msgstr "Mensalmente" #: src/addons/incremental.php:349, src/addons/incremental.php:336 msgid "Fortnightly" msgstr "Quinzenalmente" #: src/addons/incremental.php:348, src/addons/incremental.php:335 msgid "Weekly" msgstr "Semanalmente" #: src/addons/incremental.php:347, src/addons/incremental.php:334 msgid "Daily" msgstr "Diariamente" #: src/templates/wp-admin/settings/form-contents.php:25 msgid "Files backup interval" msgstr "Intervalo entre backups de arquivos" #: src/admin.php:973, src/admin.php:4186 msgid "Download log file" msgstr "Baixar arquivo de registro" #: src/admin.php:4048 msgid "The folder exists, but your webserver does not have permission to write to it." msgstr "A pasta existe, mas o servidor web não tem permissão para gravar nela." #: src/admin.php:4029 msgid "The request to the filesystem to create the directory failed." msgstr "O pedido ao sistema de arquivos para criar um diretório falhou." #: src/admin.php:964, src/admin.php:3925, src/admin.php:3940, #: src/admin.php:3972, src/admin.php:4745, #: src/includes/class-remote-send.php:696, #: src/templates/wp-admin/settings/existing-backups-table.php:167, #: src/templates/wp-admin/settings/file-backup-exclude.php:11 msgid "Delete" msgstr "Excluir" #: src/admin.php:3877 msgid "show log" msgstr "mostrar registros" #: src/templates/wp-admin/advanced/wipe-settings.php:10 msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?" msgstr "Isto irá excluir todas as configurações do UpdraftPlus - tem certeza de que deseja fazer isso?" #: src/templates/wp-admin/advanced/total-size.php:19 msgid "count" msgstr "contar" #: src/templates/wp-admin/advanced/total-size.php:9 msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options." msgstr "N.B.: Esta contagem é baseada no que tinha sido, ou não, excluído na última vez que você gravou as opções." #: src/templates/wp-admin/advanced/total-size.php:6 msgid "Total (uncompressed) on-disk data:" msgstr "Total de dados (não-comprimido) no disco:" #: src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/settings/tab-addons.php:105, #: src/templates/wp-admin/settings/tab-addons.php:118, #: src/templates/wp-admin/settings/tab-addons.php:131, #: src/templates/wp-admin/settings/tab-addons.php:144, #: src/templates/wp-admin/settings/tab-addons.php:157, #: src/templates/wp-admin/settings/tab-addons.php:170, #: src/templates/wp-admin/settings/tab-addons.php:183, #: src/templates/wp-admin/settings/tab-addons.php:196, #: src/templates/wp-admin/settings/tab-addons.php:209, #: src/templates/wp-admin/settings/tab-addons.php:222, #: src/templates/wp-admin/settings/tab-addons.php:235, #: src/templates/wp-admin/settings/tab-addons.php:248, #: src/templates/wp-admin/settings/tab-addons.php:261, #: src/templates/wp-admin/settings/tab-addons.php:274, #: src/templates/wp-admin/settings/tab-addons.php:287, #: src/templates/wp-admin/settings/tab-addons.php:304 msgid "No" msgstr "Não" #: src/addons/webdav.php:439, src/templates/wp-admin/advanced/site-info.php:84, #: src/templates/wp-admin/advanced/site-info.php:81, #: src/templates/wp-admin/settings/tab-addons.php:79, #: src/templates/wp-admin/settings/tab-addons.php:92, #: src/templates/wp-admin/settings/tab-addons.php:95, #: src/templates/wp-admin/settings/tab-addons.php:108, #: src/templates/wp-admin/settings/tab-addons.php:121, #: src/templates/wp-admin/settings/tab-addons.php:134, #: src/templates/wp-admin/settings/tab-addons.php:147, #: src/templates/wp-admin/settings/tab-addons.php:160, #: src/templates/wp-admin/settings/tab-addons.php:173, #: src/templates/wp-admin/settings/tab-addons.php:186, #: src/templates/wp-admin/settings/tab-addons.php:199, #: src/templates/wp-admin/settings/tab-addons.php:212, #: src/templates/wp-admin/settings/tab-addons.php:225, #: src/templates/wp-admin/settings/tab-addons.php:238, #: src/templates/wp-admin/settings/tab-addons.php:251, #: src/templates/wp-admin/settings/tab-addons.php:264, #: src/templates/wp-admin/settings/tab-addons.php:277, #: src/templates/wp-admin/settings/tab-addons.php:290, #: src/templates/wp-admin/settings/tab-addons.php:307, #: src/templates/wp-admin/settings/tab-addons.php:313 msgid "Yes" msgstr "Sim" #: src/admin.php:6113, src/admin.php:6117, #: src/templates/wp-admin/advanced/site-info.php:58, #: src/templates/wp-admin/advanced/site-info.php:64, #: src/templates/wp-admin/advanced/site-info.php:76, #: src/templates/wp-admin/advanced/site-info.php:77 msgid "%s version:" msgstr "Versão %s:" #: src/templates/wp-admin/advanced/site-info.php:56 msgid "Current memory usage" msgstr "Utilização atual da memória" #: src/templates/wp-admin/advanced/site-info.php:55 msgid "Peak memory usage" msgstr "Pico na utilização de memória" #: src/templates/wp-admin/advanced/site-info.php:35 msgid "Web server:" msgstr "Servidor:" #: src/templates/wp-admin/settings/take-backup.php:99 msgid "Do you need WordPress Multisite support?" msgstr "Você precisa de suporte para o Wordpress Multisite?" #: src/templates/wp-admin/settings/take-backup.php:95 msgid "Multisite" msgstr "Multisite" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:45 msgid "Do read this helpful article of useful things to know before restoring." msgstr "Leia este artigo bastante esclarecedor sobre coisas úteis que você deve saber antes de restaurar." #: src/addons/morefiles.php:152, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82 msgid "%s restoration options:" msgstr "opções de restauração %s:" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "You will need to restore it manually." msgstr "Você terá que restaurar manualmente." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:75 msgid "The following entity cannot be restored automatically: \"%s\"." msgstr "A seguinte entidade não pode ser restaurada automaticamente: \"%s\"." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:60 msgid "Your web server has PHP's so-called safe_mode active." msgstr "Seu servidor web está com o chamado safe_mode do PHP ativo." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Choose the components to restore" msgstr "Escolha os componentes a restaurar" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:44 msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)." msgstr "A restauração vai substituir tema, plugins, envios, banco de dados e/ou outros diretórios de conteúdos do site (de acordo com o que está contido no conjunto de backup e a sua seleção)." #: src/templates/wp-admin/settings/delete-and-restore-modals.php:32 msgid "Restore backup" msgstr "Restaurar backup" #: src/templates/wp-admin/settings/delete-and-restore-modals.php:8 msgid "Delete backup set" msgstr "Excluir conjunto de backup" #: src/admin.php:945 msgid "Download error: the server sent us a response which we did not understand." msgstr "Erro no dowload: o servidor nos enviou uma resposta que não conseguimos entender." #: src/admin.php:99, src/admin.php:936, src/restorer.php:539, #: src/restorer.php:567, src/restorer.php:2328, src/restorer.php:4369, #: src/addons/backblaze.php:247, src/addons/backblaze.php:272, #: src/addons/cloudfiles-enhanced.php:123, src/addons/s3-enhanced.php:236, #: src/addons/s3-enhanced.php:241, src/addons/s3-enhanced.php:243, #: src/addons/sftp.php:1040, src/addons/webdav.php:434, #: src/includes/class-remote-send.php:359, #: src/includes/class-remote-send.php:411, #: src/includes/class-remote-send.php:405, #: src/includes/class-remote-send.php:480, #: src/includes/class-remote-send.php:538, #: src/includes/class-remote-send.php:565, #: src/includes/class-remote-send.php:620, #: src/includes/class-remote-send.php:608, #: src/includes/class-remote-send.php:603, #: src/includes/class-remote-send.php:593, #: src/includes/class-search-replace.php:333, #: src/includes/class-search-replace.php:519, #: src/includes/migrator-lite.php:614, src/includes/migrator-lite.php:924, #: src/includes/migrator-lite.php:1002, src/methods/remotesend.php:80, #: src/methods/remotesend.php:258, src/methods/updraftvault.php:722 msgid "Error:" msgstr "Erro:" #: src/admin.php:927 msgid "calculating..." msgstr "calculando..." #: src/templates/wp-admin/settings/downloading-and-restoring.php:68, #: src/templates/wp-admin/settings/tab-backups.php:70 msgid "UpdraftPlus - Upload backup files" msgstr "UpdraftPlus - Enviar arquivos de backup" #: src/includes/class-filesystem-functions.php:105, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "refresh" msgstr "atualizar" #: src/includes/class-filesystem-functions.php:126, #: src/templates/wp-admin/advanced/site-info.php:51 msgid "Web-server disk space in use by UpdraftPlus" msgstr "Espaço em disco no servidor web utilizado pelo UpdraftPlus" #: src/includes/class-filesystem-functions.php:126 msgid "This is a count of the contents of your Updraft directory" msgstr "Este é uma contagem do conteúdo do seu diretório do Updraft." #: src/addons/google-enhanced.php:126, src/methods/googledrive.php:324, #: src/methods/googledrive.php:322, src/methods/googledrive.php:674, #: src/methods/googledrive.php:717, src/methods/googledrive.php:760, #: src/methods/googledrive.php:767, src/methods/googledrive.php:779, #: src/methods/googledrive.php:797, src/methods/googledrive.php:795, #: src/methods/googledrive.php:1488, src/methods/googledrive.php:1489, #: src/methods/googledrive.php:1491, src/methods/googledrive.php:1493, #: src/methods/googledrive.php:1515, src/methods/googledrive.php:1515 msgid "Google Drive" msgstr "Google Drive" #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "If you are using this, then turn Turbo/Road mode off." msgstr "Se estiver utilizando isto, então desligue o modo Turbo/Road." #: src/templates/wp-admin/settings/downloading-and-restoring.php:59, #: src/templates/wp-admin/settings/tab-backups.php:63 msgid "Opera web browser" msgstr "Navegador Opera" #: src/templates/wp-admin/settings/downloading-and-restoring.php:47, #: src/templates/wp-admin/settings/tab-backups.php:51 msgid "More tasks:" msgstr "Mais tarefas:" #: src/admin.php:3553 msgid "Download most recently modified log file" msgstr "Baixar o arquivo de registros modificado mais recentemente" #: src/admin.php:3515, src/admin.php:3509, src/addons/autobackup.php:372, #: src/addons/autobackup.php:467, #: src/templates/wp-admin/settings/take-backup.php:72 msgid "Last log message" msgstr "Última mensagem do registro" #: src/admin.php:740, src/admin.php:972, src/admin.php:4660, #: src/addons/migrator.php:248 msgid "Restore" msgstr "Restaurar" #: src/admin.php:962, src/templates/wp-admin/settings/take-backup.php:52 msgid "Backup Now" msgstr "Fazer backup agora" #: src/templates/wp-admin/settings/take-backup.php:47 msgid "Time now" msgstr "Hora atual" #: src/admin.php:441, src/admin.php:4485, src/admin.php:4538, #: src/admin.php:5142, src/restorer.php:677, src/addons/moredatabase.php:266, #: src/addons/reporting.php:285, src/addons/wp-cli.php:434, #: src/includes/class-remote-send.php:445, #: src/includes/class-wpadmin-commands.php:154, #: src/includes/class-wpadmin-commands.php:629, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:81, #: src/templates/wp-admin/settings/delete-and-restore-modals.php:82, #: src/templates/wp-admin/settings/take-backup.php:34 msgid "Database" msgstr "Banco de dados" #: src/admin.php:431, src/admin.php:5899, #: src/templates/wp-admin/settings/take-backup.php:24 msgid "Files" msgstr "Arquivos" #: src/templates/wp-admin/settings/take-backup.php:19 msgid "Next scheduled backups" msgstr "Próximos backups agendados" #: src/admin.php:410 msgid "At the same time as the files backup" msgstr "Ao mesmo tempo que o backup de arquivos" #: src/admin.php:400, src/admin.php:421, src/admin.php:428, src/admin.php:471, #: src/admin.php:502 msgid "Nothing currently scheduled" msgstr "Nada agendado no momento" #: src/templates/wp-admin/settings/take-backup.php:6 msgid "JavaScript warning" msgstr "Alerta JavaScript" #: src/admin.php:948 msgid "Delete Old Directories" msgstr "Excluir diretórios antigos" #: src/admin.php:3050 msgid "Current limit is:" msgstr "O limite atual é:" #: src/admin.php:3012 msgid "Your backup has been restored." msgstr "O seu backup foi restaurado." #: src/templates/wp-admin/settings/header.php:25 msgid "Version" msgstr "Versão" #: src/templates/wp-admin/settings/header.php:25 msgid "Lead developer's homepage" msgstr "Página do desenvolvedor principal" #: src/admin.php:5793 msgid "Your settings have been wiped." msgstr "Suas configurações foram apagadas." #: src/admin.php:2969 msgid "Backup directory successfully created." msgstr "Diretório de backup criado com sucesso." #: src/admin.php:2962 msgid "Backup directory could not be created" msgstr "Diretório de backup não pode ser criado" #: src/admin.php:3888 msgid "Remove old directories" msgstr "Remover diretórios antigos" #: src/includes/migrator-lite.php:245, src/includes/migrator-lite.php:261 msgid "Return to UpdraftPlus Configuration" msgstr "Voltar para a Configuração do UpdraftPlus" #: src/admin.php:941, src/admin.php:2971, src/admin.php:3895, #: src/admin.php:5091, src/admin.php:5080, src/admin.php:5068, #: src/templates/wp-admin/settings/existing-backups-table.php:19, #: src/templates/wp-admin/settings/existing-backups-table.php:142 msgid "Actions" msgstr "Ações" #: src/admin.php:2854 msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus" msgstr "Formato de nome de arquivo ruim - isto não parece um arquivo de banco de dados criptografado criado pelo UpdraftPlus" #: src/admin.php:2743 msgid "Bad filename format - this does not look like a file created by UpdraftPlus" msgstr "Formato de nome de arquivo ruim - este não parece ser um arquivo criado pelo UpdraftPlus" #: src/admin.php:2631 msgid "No local copy present." msgstr "Nenhuma cópia local presente." #: src/admin.php:2628 msgid "Download in progress" msgstr "O download em progresso" #: src/admin.php:939, src/admin.php:2617 msgid "File ready." msgstr "Arquivo pronto." #: src/admin.php:2598 msgid "Download failed" msgstr "Não foi possível baixar" #: src/admin.php:937, src/class-updraftplus.php:1570, #: src/class-updraftplus.php:1614, src/restorer.php:4326, #: src/restorer.php:4184, src/restorer.php:4209, src/updraftplus.php:226, #: src/addons/webdav.php:743, src/addons/wp-cli.php:503, #: src/includes/class-filesystem-functions.php:439, #: src/includes/class-storage-methods-interface.php:338, #: src/methods/addon-base-v2.php:100, src/methods/addon-base-v2.php:105, #: src/methods/addon-base-v2.php:239, src/methods/addon-base-v2.php:259, #: src/methods/googledrive.php:1416, src/udaddons/options.php:250 msgid "Error" msgstr "Erro" #: src/admin.php:2342 msgid "Could not find that job - perhaps it has already finished?" msgstr "Não foi possível encontrar esta tarefa - talvez já tenha terminado?" #: src/admin.php:2335 msgid "Job deleted" msgstr "Tarefa excluída" #: src/admin.php:2458, src/includes/class-commands.php:992 msgid "You should soon see activity in the \"Last log message\" field below." msgstr "" #: src/admin.php:1018 msgid "Nothing yet logged" msgstr "Nada registrado ainda" #: src/admin.php:1394 msgid "Please consult this FAQ if you have problems backing up." msgstr "Por favor, consulte este FAQ se você tiver problemas para efetuar o backup." #: src/admin.php:1394 msgid "Your website is hosted using the %s web server." msgstr "Seu site web está hospedado utilizando o servidor web %s." #: src/admin.php:1375, src/admin.php:1380, src/admin.php:1386, #: src/admin.php:1390, src/admin.php:1394, src/admin.php:1398, #: src/admin.php:1416, src/admin.php:1429, src/admin.php:4426, #: src/admin.php:4424, src/admin.php:4417, src/admin.php:6083, #: src/admin.php:6363, src/addons/azure.php:689, #: src/includes/migrator-lite.php:668, src/methods/cloudfiles-new.php:281, #: src/methods/cloudfiles-new.php:282, src/methods/cloudfiles.php:455, #: src/methods/dreamobjects.php:181, src/methods/dreamobjects.php:182, #: src/methods/ftp.php:116, src/methods/openstack-base.php:577, #: src/methods/openstack2.php:242, src/methods/s3.php:926, #: src/methods/s3.php:930, src/methods/s3.php:1080, src/methods/s3.php:1081, #: src/methods/s3generic.php:192, src/methods/s3generic.php:193, #: src/methods/updraftvault.php:477, src/udaddons/updraftplus-addons.php:325, #: src/templates/wp-admin/settings/downloading-and-restoring.php:27, #: src/templates/wp-admin/settings/tab-backups.php:27 msgid "Warning" msgstr "Alerta" #: src/admin.php:756, src/admin.php:1297, src/admin.php:3212 msgid "Settings" msgstr "Configurações" #: src/backup.php:3093 msgid "Infinite recursion: consult your log for more information" msgstr "Recursão infinita: consulte seus registros para mais informações" #: src/class-updraftplus.php:4836, src/addons/azure.php:301, #: src/methods/googledrive.php:1416, src/methods/s3.php:370 msgid "File not found" msgstr "Arquivo não encontrado" #: src/includes/class-updraftplus-encryption.php:354 msgid "The decryption key used:" msgstr "A chave de descriptografia usada:" #: src/backup.php:2934 msgid "Could not open the backup file for writing" msgstr "Não foi possível abrir o arquivo de backup para gravação" #: src/class-updraftplus.php:4533 msgid "Could not read the directory" msgstr "Não foi possível ler o diretório" #: src/admin.php:2685, src/backup.php:1340 msgid "Backup directory (%s) is not writable, or does not exist." msgstr "O diretório de backup (%s) não é gravável, ou não existe." #: src/class-updraftplus.php:3872 msgid "WordPress backup is complete" msgstr "O backup do WordPress está completo." #: src/class-updraftplus.php:3690 msgid "The backup attempt has finished, apparently unsuccessfully" msgstr "A tentativa de backup terminou, aparentemente sem sucesso" #: src/class-updraftplus.php:2109 msgid "Others" msgstr "Outros" #: src/class-updraftplus.php:2092, src/addons/multisite.php:526 msgid "Uploads" msgstr "Envios" #: src/class-updraftplus.php:2091 msgid "Themes" msgstr "Temas" #: src/class-updraftplus.php:2090 msgid "Plugins" msgstr "Plugins" #: src/class-updraftplus.php:740 msgid "No log files were found." msgstr "Nenhum arquivo de registros foi encontrado." #: src/admin.php:2551, src/admin.php:2547, src/class-updraftplus.php:735 msgid "The log file could not be read." msgstr "Não foi possível ler o arquivo de registros." #: src/admin.php:1456, src/admin.php:1477, src/admin.php:1515, #: src/class-updraftplus.php:663, src/class-updraftplus.php:735, #: src/class-updraftplus.php:740, src/class-updraftplus.php:745 msgid "UpdraftPlus notice:" msgstr "Nota do UpdraftPlus:" #: src/options.php:92, src/addons/multisite.php:116, #: src/addons/multisite.php:815 msgid "UpdraftPlus Backups" msgstr "Backups do UpdraftPlus"languages/updraftplus-ckb.mo000064400000000426147400355670012172 0ustar00$,,-PO-Revision-Date: +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: ku_IQ Project-Id-Version: UpdraftPlus languages/updraftplus-fa_IR.mo000064400000422400147400355670012413 0ustar00kt#FF8FuG|G G GGG#G H (H6HIH[HtH|HH#H H)H'H IK9I II IIIII II+J 1J?JXJ6kJ JJ,JWJ!VTVMHWWW$WWW-XFXWXvXqX6X!1YSYsYxY YYcYY Z Z #Z 1Z>Z;OZZZZ ZZ9Z%,[1R[>[6[&[+!\M\f\\\ \\(\G\ 8] C]8Q]]]J]E]KA^_^^q__ _`$` B` L`Y`i`{```` `-``maOPbEb b b!c97cqcc9ccc d d d &d 2d@dGdMdadwdd!d!dde3 e<=eze)eee)e ff2ff f f f f%fg6g:Tgg(g*gh h)hY0h6h h!hhi3!i#Uiyi,iii ijj!j6jIj[jaj xjjj)jjjj?k Vk%wk kkkkkkkl-lCl Zlflzll#lEl lmm m8m*UmmLmmGmCn(n$o:(oPcoJoop$p(6p_p"yppTpqqqq] q~qqqqAqDrNJrOr#r5 s<Css#ss s1s t,t-@tnt utt tt)tHtAGu*u uuuuv:vTvevmv |v,vvvvvww*w :wEwWwnw sw }w www9w&w3x:xMx-cxxx)xx%y*9ydyyy~yZ+z[z/zF{Y{a{&{{){&{!{|| |c,| ||B||*} .}@:}{}})}}3}~ ~ +~ 8~-F~t~~~~~~%~W~KFa1;&Hb+7B9z ́؁݁  %1bC % ؂6Vm% 7̃ z+@.lfAkD`_q5 KC|R E_yLGln=#a %,R#j ƌIڌ9$^ ~W=&2$Y+~"͎ ӏ/L&], G:)B(l F%" 2@'S { 8ג  &B Yf { !$ ܓ a /D]t ŕʕݕ "??'Ȗ!&7>v /PЗ!'*Cn?ݘ^g3 M %ƛڛ*< Ib r T% 8F/#ȝ%(3;?o;\@H;'ş &BYx!/0`t ! ١ $!4@V5 P&w F ! .=8@vդ'b06 ʥե$8## />9Mç٧  :9t 1 * *1/"a %թީ%6>C_ r} BŪ 1 =Jgpx  ̫ ݫ:&Ov} ά%٬On$V@I$(/c2f5#ϱ:.6N?Ų(ܲ,2IA8zN<S;j;R6-L׶=$Wb>PuJP3*Y^8Z9&ߺP,W?O=9ͼZobPҽ#9׾S~eR7S\ rE~@<i4`13$$Eg1"),> Wai|  LL$q9EY`t ! 3Gf{!!!.MRAfLC39 mKz   f } Z!4 <IHa!  7JR [KgK @(4iOS B+N z O,Fs;(*S8WOTM54(,S4bdNDKZG3FQH6k="+e[w= /+P"|#R7NS%AyQj *xB9 % -(&=d:FPVI84JGD% V249P_IGH:Y2x5D67/nv)?X i&v> ", ;\t z"#  @#_#1$!:>y3*  )0K.a  (/F LZ7a" E?]'   +7 =IR eqz !);el~ Yg&'+Ag9+ G =h$,(( Q [g7{@O 1[ . :F _&k!E*1#\B X6;53i)fVg;{q) =JY,w 3cD2P&&M ^ kvv?:\u\n2L/ .9!h>Yq+,Z><MNQd] _c  _C @  w ' *( S   1C%8M^D )^1N*  ."- ;Sr43*I^'m:XGk_G;E6)7`"!JYD'"<s_1BH ;<7Ke} !W Z "#t# $-$BJ$$S%7f%Y%%& 5&C&U&o&& &&%&'&''%6'9\'C'%' (B (fN( (Z(@)\)=|))!))1* ++ *+4+\M+7+C+H&,<o,>,J,'6-^- y-w-d-a.2w.*.0.m/Lt/-/`/5P0>0000.1*D1$o1 1111/1[2c2L212b3Dc3B33"4%4!,4$N4s4)4"4'4)5,50A5r55855 6!666B6K27~775'8g]8Y8X:Ix:v:9;v;7<#Q< u<:<2<D=>I==>/> 8> E>P>&?5?'U?}??w6@@aA? BcMBrB$C0+C1\CCGC CMCOCDD D6D'D*E71EtiEgE.FFKuF FF$F$ GT1G G GG GTG7'H%_H)H"HH6H &IGI[IuIIII I I II6JjJ0K,OK?|K;K?K[8L5LAL@ M-MM{M$MMN;O@OcPP-P7PKPG;Q<QQQQQR6RoRRSLkSSSTT fTVtT&TYT7LU UUUUAWV VV<VV WKW`Wv#XX]SY\YZZ7a[Y[o[7c\\ \=\.]3] D] e]]$'^IL^&^^^B^>"_Ba_A_4_/`K`d`8``m` >aIaa a-bO6cLccndde1f ffg>hhijk~kXllemn"n o!oM>o7oToLp fptp$ppMq5q rr!rXrU-s*sZsC t"Mtptttt/5u!eu&uu,uGuW:v/v@vHwLw|bwwMix\xy#y4yPy1zQzUpzzz zg {s{8{ {{@{:/|j|*|||6|7}T}f}<}@}~ (+I;4('* =!Hj;q)΁0{)5.ۂ$ S/'5Aτ`߄@ .O%,u!ІX"K2~&@YN ['P9x R,ێ1E% G1}y8Y0>GɑCRUuJic][ ˕#֕/ &96`7ϖV4 iA.!ژLb7~ 9Ù97OQF1u2'Q y*k(t۝,P}! q˞\=@2۟;Jgy$d ١'>.?=n$ѣjS g";Ť  &: T3_X'-/4Ud*`F ZQet,IFGب5'GE2ɩ# :Rk}ƪ$Di "۫ I, v".ܬ2 >Q 7'Ow6V; կb+0E@?\[\$qݶ2ONѷ%\681y-Wٺ#1Ufoaֻq8V.x:D9|~}fn )]O?3aR?U-kL*J qUiiAqF=&Ov`uD]^xQBA 4f?t8bT6) 0,=jm*0x<1M*Z*0 :7U-!%";B^*-3..K/z-[4)-Wo]X]?@Edu)+B]l-{O)y=X ]hxxLJ J  D(#m<' K$6M;c"}5Yi1hcuBa2XRW.2arI?^4s<$70 7>BvuM/})W|tTe&#@adL,.[[VY )&gP{4Hbdb w ?   * * " JB  Z j?mJ*4(FhV%)?5E {QQ?U\c9| 8U8D< 4I^~Df3<g  +D{G    *1:-J#x  !v 5)12B\R]V d!v!24= Yfu%'&2&Y/ LN,{)",6 <  R "`!*! !!!1!"Q"Kq"",|$%$0$"%s" has no primary key, manual change needed on row %s."tenant" is a term used with OpenStack storage - Google for "OpenStack tenant" to get more help on its meaningtenant%d errors, %d warnings%d hours, %d minutes, %d seconds%s (%s used)%s Error%s Error: Failed to initialise%s Error: Failed to open local file%s Error: Failed to upload%s access key%s archives remain%s authentication%s authentication failed%s bits%s bytes%s checksum: %s%s download: failed: file not found%s end-point%s error - failed to access the container%s error - failed to re-assemble chunks%s error - failed to upload file%s error - we accessed the container, but failed to create a file within it%s error: %s%s hours%s location%s login failure%s logo%s month %s trial%s per quarter%s per year%s restoration options:%s returned an unexpected HTTP response: %s%s secret key%s settings test result:%s table(s) found.%s total table(s) found; %s with the indicated prefix.%s version:%s weeks%s: unreadable file - could not be backed up%s: unreadable file - could not be backed up (check the file permissions and ownership)(%d archive(s) in set, total %s).(Not finished)(Nothing has been logged yet)(Read more)(already uploaded)(apparently a pre-release or withdrawn release)(at same time as files backup)(current version)(learn more about this significant option)(logs can be found in the UpdraftPlus settings page as normal)...(make sure that you were trying to upload a zip file previously created by UpdraftPlus)(or connect using the form on this page if you have already purchased it)(verb)Download(version: %s)(view log...)... and many more!1 hour1 weekDo not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...).(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem).This is NOT a folder name.A PHP exception (%s) has occurred: %sA PHP fatal error (%s) has occurred: %sA search/replace cannot be undone - are you sure you want to do this?A very large file was encountered: %s (size: %s Mb)A zip error occurredAPI Key: %sAPI keyAPI secretAccount full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized.Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-basedActionsAdd a siteAdd an exclusion ruleAdd an external database to backup...Add another %s account...Add another address...Add siteAdd this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites.Adding...Admin API KeyAdmin UsernameAdvanced / Debugging SettingsAdvanced ToolsAfter pressing this button, you will be given the option to choose which components you wish to restoreAlmost all FTP servers will want passive mode; but if you need active mode, then uncheck this.Already got space?Also delete from remote storageAlso, you should read this important FAQ.An admin password has been set.An error occurred on the first %s command - aborting runAn error occurred when trying to retrieve your add-ons.An error occurred whilst closing the final database fileAn unknown error occurred when trying to connect to UpdraftPlus.ComAn update containing your addons is available for UpdraftPlus - please follow this link to get it.An update is available for UpdraftPlus - please follow this link to get it.Any other directories found inside wp-contentAny settings in your .htaccess or web.config file that affects the maximum upload or post size.Any support requests to do with %s should be raised with your web hosting company.Apache modulesArchive is expected to be size:Are you sure you want to dismiss all UpdraftPlus news forever?Ask WordPress to automatically update UpdraftPlus when it finds an available update.Ask WordPress to update UpdraftPlus automatically when an update is availableAsk a pre-sales questionAssigned to this siteAt the same time as the files backupAuthenticate with %sAuthenticate with GoogleAuthorisation failed (check your credentials)Automatic BackupAutomatic backup before updateAutomatic updatesAutomatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable for this site (via your all-addons purchase)Available temporary clone tokens:Available to claim on this siteBackBack...Backed up: %sBackupBackup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingBackup / RestoreBackup NowBackup ReportBackup began:Backup begunBackup contains:Backup created by unknown source (%s) - cannot be restored.Backup created by:Backup created by: %s.Backup data (click to download)Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified does not exist.Backup directory specified exists, but is not writable.Backup directory specified is writable, which is good.Backup directory successfully created.Backup does not exist in the backup historyBackup external databaseBackup file not available.Backup finishedBackup is of: %s.Backup label:Backup more databasesBackup non-WordPress files and databasesBackup non-WordPress tables contained in the same database as WordPressBackup of:Backup of: %sBackup sent to remote site - not available for download.Backup set not foundBackup succeededBackup won't be sent to any remote storage - none has been saved in the %sBackup, update and manage all your WordPress sites from one dashboardBad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive.Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive.Be safeBe safe with an automatic backupBegunBegun looking for this entityBlog linkBlog uploadsBrowse contentsBrowsing zip fileBuy ItCallCancelChange Lock SettingsChanges made:Check this box to have a basic report sent toCheck this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits).Check this to receive more information and emails on the backup process - useful if something is going wrong.Check your file permissions: Could not successfully create and enter directory:Check your file permissions: Could not successfully create and enter:Chicago (ORD)Choose the components to restoreChoose the components to restore:Choose the schedule that you want your backups to run on.Choose your backup scheduleChoose your remote storageClaim not granted - your account login details were wrongCleaningCleaning up rubbish...Client IDClient SecretClone of %sClone readyClone region:Clone:CloseCloud Files API KeyCloud Files ContainerCloud Files Storage RegionCloud Files UsernameCloud Files authentication failedCloud Files operation failed (%s)Cloud Files usernameCompleteConflict: that user or email address already existsCongratulations, your settings have successfully been saved.ConnectConnect this site to UpdraftCentral CloudConnect to UpdraftCentral CloudConnect to updraftplus.comConnect with your UpdraftPlus.Com accountConnecting...Connection failed.Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.Connection succeeded.ConstantsContainerContains:Content URL:Control all your backups in one placeCopying this entity failed.Could not access %s containerCould not find that job - perhaps it has already finished?Could not get list of tablesCould not move old files out of the way.Could not open the backup file for writingCould not read the directoryCounting...CreateCreate a new API user with access to only this container (rather than your whole account)Create a temporary clone on our servers (UpdraftClone)Create cloneCreate new API user and containerCreated database backupCreated file backup zipsCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backupCreating database backup with UpdraftPlus...Creating file backup zipsCreating your first backupCreating...Current clonesCurrent limit is:Current memory usageCurrently disabledCurrently enabledDailyDallas (DFW) (default)Dashboard:DatabaseDatabase (created by %s)Database (files backup has not completed)Database OptionsDatabase decryption phraseDatabase encryption phraseDatabase only (files were not part of this particular schedule)Database successfully decrypted.Database: search and replace site URLDebug modeDebugging informationDeleteDelete Old DirectoriesDelete backup setDelete failed:Delete from your web serverDelete local backupDelete these settingsDelete this backup setDeleting...Deploying site dataDeselectDirectory pathDisable SSL entirely where possibleDisabled this plugin: %s: re-activate it manually when you are ready.DisconnectDisconnecting...DismissDismiss (for %s months)Dismiss all UpdraftPlus newsDismiss from main dashboard (for %s weeks)Dismiss noticeDo not abort after pressing Proceed below - wait for the backup to complete.Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral.Do you need WordPress Multisite support?Do you want to carry out the import?Don't know your email address, or forgotten your password?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDownloading backup files if neededDrop backup files hereDrop encrypted database files (db.gz.crypt files) here to upload them for decryptionDropboxEasyEditEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypted databaseEncrypting databaseEncryption key size:End tourEnsure you are logged into the correct account before continuing.Enter a comma-separated list; otherwise, leave blank for all tables.Enter addresses here to have a report sent to them when a backup job finishes.Enter details for where this new site is to live within your multisite install:Enter in format HH:MM (e.g. 14:22).Enter the path of the %s folder you wish to use here.Enter your UpdraftPlus.Com email / password here to connect:ErrorError - failed to download the fileError - no such file exists.Error data:Error downloading remote file: Failed to downloadError messageError opening local file: Failed to downloadError opening remote file: Failed to downloadError:Error: %sError: Failed to initialiseError: Failed to open local fileError: Failed to uploadError: the server sent an empty response.Error: the server sent us a response (JSON) which we did not understand.Error: the server sent us a response which we did not understand.Error: unexpected empty parameter (%s, %s)Error: unexpected file read failErrorsErrors / warnings:Errors encountered:Errors have occurred:Errors occurred when trying to connect to UpdraftPlus.Com:Errors occurred:Errors:Every %s hoursEvery hourExamples of S3-compatible storage providers:Exclude files/directoriesExclude these fromExclude these:Existing backupsExpert settingsExport / import settingsExport settingsExtensionsExternal databaseExternal database (%s)FAQsFTP loginFTP passwordFTP serverFacebookFailedFailed to access %s when deleting (see log file for more)Failed to create a temporary directoryFailed to delete working directory after restoring.Failed to downloadFailed to download %sFailed to find a manifest file in the backup.Failed to find database fileFailed to open database fileFailed to open database file for reading:Failed to open database file.Failed to open the zip file (%s) - %sFailed to read from the working directory.Failed to unpack the archiveFailed to upload %sFailed to upload to %sFailed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location.Failed: We were able to log in, but failed to successfully create a file in that location.Failed: We were not able to place a file in that directory - please check your credentials.Failed: the %s operation was not able to start.Failed: we did not understand the result returned by the %s operation.FailureFailure: No %s was given.Failure: No bucket details were given.Failure: No container details were given.Failure: No server details were given.Failure: Port must be an integer.FastFetchFetching...File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.File OptionsFile backup optionsFile is not locally present - needs retrieving from remote storageFile not foundFile not found (you need to upload it): %sFile ready.File was found, but is zero-sized (you need to re-upload it): %sFile/directoryFilesFiles (database backup has not completed)Files and databaseFiles and database WordPress backup (created by %s)Files backup (created by %s)Files found:Final checksFind out moreFind out more about incremental backups here.Find out more here.FinishFinishedFirst, enter the decryption keyFlexibleFolderFollow this link for more informationFollow this link to attempt decryption and download the database file to your computer.Follow this link to attempt to create the directory and set the permissionsFollow this link to download the log file for this restoration (needed for any support requests).Follow this link to remove these settings for %s.Follow this link to sign up for the UpdraftPlus newsletter.Follow this link to the installation instructions (particularly step 1).Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.For backups older thanFor even more features and personal support, check out For longer help, including screenshots, follow this link.Forgotten your details?FortnightlyFreeFree disk space in account:Free two-factor security pluginFront page:Full backupFull feature listFurther information may be found in the browser JavaScript console, and the server PHP error logs.Get PremiumGet it from the UpdraftPlus.Com StoreGet it hereGoGo hereGo here for helpGo here for more information.Go here to activate it.Go here to begin installing it.Go here to connect it.Go here to connect.Go thereGo to settingsGoes to updraftplus.com checkout pageGoogle DriveGoogle Drive list files: failed to access parent folderHTTP code:Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.Hong Kong (HKG)HostHowever, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.However, subsequent access attempts failed:I accept the UpdraftClone terms and conditionsIf Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.If you are not sure then you should stop; otherwise you may destroy this WordPress installation.If you are not sure what this option is for, then you will not want it, and should turn it off.If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes.If you are using this, then turn Turbo/Road mode off.If you bought new add-ons, then follow this link to refresh your connectionIf you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.If you exclude both the database and the files, then you have excluded everything!If you have a valid Premium license, you get 1GB of storage included.If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1).If you leave it blank, then the backup will be placed in the root of your %sIf you see errors about SSL certificates, then please go here for help.If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite.If you want, test upgrading to a different PHP or WP version.If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.Import settingsImporterImporting...In %s, path names are case sensitive.Include in files backupInclude your database in the backupInclude your files in the backupIncompleteIncrementalIncremental backupsIncremental backups are a feature of %s (upgrade by following this link).Infinite recursion: consult your log for more informationInformation needed to continue:InstalledInterested in knowing about your UpdraftPlus.Com password security? Read about it here.Invalid bucket nameIt appears that your web server's IP Address (%s) is blocked.It can also backup external databases.It has been tested up to version %s.It is an ID number internal to Google DriveIt will be imported as a new site.JavaScript warningJob ID: %sJob deletedKeyKeystone and swauth are technical terms which cannot be translatedThis needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.Known backups (raw)Last log messageLatest UpdraftPlus.com news:Latest status:Lead developer's homepageLearn more about UpdraftCentralLeave this blank, and a default will be chosen.Loading log fileLocal write failed: Failed to downloadLock access to the UpdraftPlus settings pageLock settingsLog all messages to syslog (only server admins are likely to want this)Log in here to enable all the features you have access to.Login or register with this email addressLogin successful; reloading information.London (LON)Look through the other settings here, making any changes you’d like.Looking for %s archive: file name: %sMake updates easy with UpdraftPlusManage AddonsManage your clonesManually decrypt a database backup fileMany sites?Memory limitMessages:Migrate (create a copy of a site on hosting you control)Migrate / CloneMigrated site (from UpdraftPlus)MonthlyMore FilesMore great plugins by the Updraft TeamMore information here.More pluginsMore quality pluginsMore settingsMore tasks:Moving old data out of the way...Moving unpacked backup into place...MultisiteMultisite InstallMust-use pluginsN.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.N.B. This count is based upon what was, or was not, excluded the last time you saved the options.Name: %s.Need to get space?Need to get support?Need to use sub-folders?Needs to already existNetwork activating theme:New User's Email AddressNew User's UsernameNew site:NewsNewsletter sign-upNextNext scheduled backupsNoNo %s foundNo %s settings were foundNo backup has been completedNo backup of %s directories: there was nothing found to back upNo database tables foundNo local copy present.No log files were found.No receiving sites have yet been added.No settings were foundNo such backup set existsNoneNorthern Virginia (IAD)Not got an account? Get one by buying some tokens here.Not got any remote storage?Not installedNot yet got an account (it's free)? Go get one!Note that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing to do: the site URL is already: %sNothing yet loggedNoticeOKOld table prefix:One VPS (Virtual Private Server) per clone, shared with nobody.One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the "retain" settings; if/when you wish to delete them then you must do so manually.Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit).Only email the database backupOnly the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOptions (raw)Or if you prefer to self-host, then you can get the self-hosted version here.Or, use an UpdraftClone keyOr, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.Other %s FAQs.Other great pluginsOthersOtherwise, the default link will be shown.Otherwise, you can try UpdraftVault for 1 month for only $1!Over-write wp-config.phpPHP informationPassive modePasswordPassword incorrectPassword: %sPayments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.Peak memory usagePerform a backupPlease check your access credentials.Please consult this FAQ if you have problems backing up.Please enter a valid URLPlease enter a valid URL e.g http://example.comPlease enter a valid file extensionPlease enter a valid file name prefixPlease fill in the required information.Please follow this link to open %s in a new window.Please give this key a name (e.g. indicate the site it is for):Please make sure that you have made a note of the password!Please read %s for use of our %s authorization app (none of your backup data is sent to us).Please read this link for important information on this process.Please supply the requested information, and then continue.Please wait whilst we make the claim...PluginsPortPre-sales FAQsPremiumPremium / ExtensionsPremium WooCommerce pluginsPreparing backup filesPress a button to get started.Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded.Press here to save your settings.Press here to start!Press this button to take a tour of the plugin.Proceed with updateProcessed plugin:ProcessingProcessing files - please wait...Processing...Pruning old backup setsRSS linkRaw backup historyRead FAQs here.Read moreRead more about Easy Updates ManagerRead more about how this works...Read this page for a guide to possible causes and how to fix it.Receiving site dataRecommended: optimize your database with WP-Optimize.Refresh connectionRefresh current statusRegionRegion: %sReliableRemember this choice for next time (you will still have the chance to change it)Remote Storage OptionsRemote pathRemote storageRemote storage method and instance id are required for authentication.Remote storage: %sRemoveRemove old directoriesReplace withReportingRequested character set (%s) is not present - changing to %s.Requested table engine (%s) is not present - changing to MyISAM.Requesting start of backup...Require password again afterRescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...Reset tourRestoration progress:RestoreRestore backupRestore error:Restore files fromRestoring table: %sRestoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Return to UpdraftPlus ConfigurationReturn to UpdraftPlus configurationRows examined:Rows per batchRuns on capacity from a leading cloud computing provider.S3 (Compatible)SCP/SFTP host settingSCP/SFTP password/keySCP/SFTP user settingSQL update commands run:SaveSave ChangesSave timeSaving...SearchSearch / replace databaseSearch and replace site location in the database (migrate)Search and replacing table:Search forSecureSee this FAQ also.Select 'Web Application' as the application type.Select FilesSelect a file to view information about itSelect allSendSend a report only when there are warnings/errorsSend this backup to remote storageSend to site:Sending Your Backup To Remote StorageSending files to remote siteSettingsShow all backups...Show expert settingsShow raw backup and file listShow the optionsSign upSiteSite data has been deployedSite data receivedSite home:Site informationSite information:Site sizeSize: %s MBSkip this stepSome files are still downloading or being processed - please wait.Split archives every:Start SubscriptionStart TrialStart backupStarting automatic backup...Store atSuccessSuccess:SupportSupport URLSupported backup plugins: %sSydney (SYD)Table prefixTables examined:Take TourTake a new backupTake an incremental backupTakes just the time needed to create a backup and send it.Tell me more about incremental backupsTenantTest %s SettingsTest connection...Testing %s Settings...Testing connection...Testing...Thank you for installing UpdraftPlus!Thank you for taking the tour.That you are attempting to upload a zip file previously created by UpdraftPlus.The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.The %s object was not foundThe UpdraftPlus module for this file access method (%s) does not support listing filesThe WordPress content folder (wp-content) was not found in this zip file.The admin password has been changed.The admin password has now been removed.The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)The attempt to send the backup via email failed (probably the backup was too large for this method)The attempt to undo the double-compression failed.The attempt to undo the double-compression succeeded.The available memory on the server.The backup attempt has finished, apparently unsuccessfullyThe backup has finished runningThe backup has not finished; a resumption is scheduledThe backup is being aborted for a repeated failure to progress.The backup was abortedThe communication with %s was encrypted.The communication with %s was not encrypted.The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.The database is too small to be a valid WordPress database (size: %s Kb).The decryption key used:The directory does not existThe directory does not exist, and the attempt to create it failedThe error reported by %s was:The file was uploaded.The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The higher the value, the more server resources are required to create the archive.The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The key provided was not in a valid format, or was corrupt.The location of this directory is set in the expert settings, in the Settings tab.The log file could not be read.The log file has been attached to this email.The new user's RackSpace console password is (this will not be shown again):The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe site data has all been received, and its import has begun.The time zone used is that from your WordPress settings, in Settings -> General.The user is being told the number of times an error has happened, e.g. An error (27) occurredAn error (%s) occurred:The web server returned an error code (try again, or check your web server logs)ThemesThese tables onlyThis backup was created by %s, and can be imported.This button is disabled because your backup directory is not writable (see the settings).This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage).This can easily destroy your site; so, use it with care!This current siteThis database backup is missing core WordPress tables: %sThis decryption key will be attempted:This does not look like a valid WordPress core backup - the file %s was missing.This feature requires %s version %s or laterThis file could not be uploadedThis file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).This functionality has been disabled by the site administrator.This is a WordPress multi-site (a.k.a. network) installation.This is a count of the contents of your Updraft directoryThis is significantly newer than the server which you are now restoring onto (version %s).This most likely means that you share a webserver with a hacked website that has been used in previous attacks.This multi-archive backup set appears to have the following archives missing: %sThis option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up.This remote storage method (%s) requires PHP %s or later.This version of UpdraftPlus does not know how to handle this type of foreign backupThis will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these.This will delete all your UpdraftPlus settings - are you sure you want to do this?This will import data from:Time nowTime taken (seconds):Time taken:To access the UpdraftPlus settings, please enter your unlock passwordTo be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To create a temporary clone you need credit in your account.To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below.To fix the time at which a backup should take place,To maintain your access to support, please renew.To make a backup, just press the Backup Now button.To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To regain your access, please renew.To remove the block, please go here.To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To send to more than one address, separate each address with a comma.Too many database errors have occurred - abortingTotal (uncompressed) on-disk data:Try UpdraftVault for 1 month for only $1!Try UpdraftVault!Try it - 1 month for $1!Trying...TwitterType a file prefixUKUS (default)US or UK CloudUS or UK Rackspace AccountUS or UK-based Rackspace AccountUnable to open zip file (%s) - could not pre-scan it to check its integrity.Unable to read zip file (%s) - could not pre-scan it to check its integrity.Under MaintenanceUnexpected response:UnknownUnknown server response status:Unknown server response:Unknown/unexpected error - please raise a support requestUnless you have a problem, you can completely ignore everything here.UnlockUnpacking backup...UpdraftCentralUpdraftCentral CloudUpdraftPlusUpdraftPlus - Upload backup filesUpdraftPlus AddonsUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus NewsUpdraftPlus NewsletterUpdraftPlus PremiumUpdraftPlus Premium and addonsUpdraftPlus Premium:UpdraftPlus RestorationUpdraftPlus Restoration: ProgressUpdraftPlus SupportUpdraftPlus TourUpdraftPlus is not yet activated.UpdraftPlus is not yet installed.UpdraftPlus is on social media - check us out!UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)UpdraftPlus notice:UpdraftPlus settingsUpdraftPlus warning:UpdraftPlus was unable to find the table prefix when scanning the database backup.UpdraftPlus.Com responded, but we did not understand the responseUpdraftPlus.Com returned a response which we could not understand (data: %s)UpdraftPlus.Com returned a response, but we could not understand itUpdraftPlus.com has responded with 'Access Denied'.UpdraftVaultUpdraftVault is our remote storage which works seamlessly with UpdraftPlus.Upgrade nowUploadUpload backupUpload backup filesUpload errorUpload error:Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)Upload failedUpload files into UpdraftPlus.Uploaded to:Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select FilesorUploading files to remote storageUploadsUploads URL:Use SCP instead of SFTPUse the "Reporting" section to configure the email addresses to be used.Use the server's SSL certificatesUsernameUsername: %sVerifying one-time password...VersionView LogWaiting until scheduled time to retry because of errorsWarningWarning:Warning: %sWarning: the database's home URL (%s) is different to what we expected (%s)Warning: the database's site URL (%s) is different to what we expected (%s)WarningsWarnings encountered:Warnings:We accessed the bucket, and were able to create files within it.We failed to successfully connect to UpdraftPlus.ComWe requested to delete the file, but could not understand the server's responseWe successfully accessed the bucket, but the attempt to create a file in it failed.Web server:Web-server disk space in use by UpdraftPlusWebDAV URLWeeklyWelcome to UpdraftPlusWelcome to UpdraftPlus!Which was exported on:Why am I seeing this?Wipe settingsWith UpdraftPlus Premium, you can directly download individual files from here.Without it, encryption will be a lot slower.WooCommerce pluginsWordPress BackupWordPress CoreWordPress backup is completeWordPress core (only)WordPress installedWordPress installed; now awaiting the site data to be sent.WordPress root directory server path: %sYesYou are currently using the free version of UpdraftPlus.You are presently not connected to an UpdraftPlus.Com account.You are running on WordPress multisite - but your backup is not of a multisite site.You are using the %s webserver, but do not seem to have the %s module loaded.You can buy UpdraftClone tokens from our shop, here.You can check the progress here or in %sYou can find out more about clone keys here.You can find your temporary clone information in your updraftplus.com account here.You can manually decrypt an encrypted database here.You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits.You can test upgrading your site on an instant copy using UpdraftClone creditsYou do not have the UpdraftPlus %s add-on installed - get it from %sYou do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?You entered an email address that was not recognised by UpdraftPlus.ComYou have an inactive purchaseYou have chosen to backup a database, but no tables have been selectedYou have chosen to backup files, but no file entities have been selectedYou have made changes to your settings, and not saved.You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons.You have not yet connected with your UpdraftPlus.Com account.You have not yet made any backups.You have not yet selected a file to import.You have requested saving to remote storage (%s), but without entering any settings for that storage.You must add the following as the authorised redirect URI (under "More Options") when askedYou need to connect to receive future updates to UpdraftPlus.You need to enter a containerYou need to enter a new usernameYou need to enter a valid new email addressYou need to enter an admin API keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You need to supply both an email address and a passwordYou should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly.You should check the file ownerships and permissions in your WordPress installationYou should enable %s to make any pretty permalinks (e.g. %s) workYou should save your changes to ensure that they are used for making your backup.You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility.You successfully purchased UpdraftPremium.You will find more information about this in the Settings section.You will need to ask your web hosting company to upgrade.You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.You will need to restore it manually.You've got itYour %s account name: %sYour %s quota usage: %s %% used, %s availableYour %s version: %s.Your UpdraftClone is still setting up.Your backup has been restored.Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready.Your database user does not have permission to drop tablesYour email address and password were not recognised by UpdraftPlus.ComYour email address was valid, but your password was not recognised by UpdraftPlus.Com.Your export file will be of your displayed settings, not your saved ones.Your first backupYour free disk space is very low - only %s Mb remainYour free space in your hosting account is very low - only %s Mb remainYour hosting company must enable these functions before %s can work.Your label for this backup (optional)Your login may be either password or key-based - you only need to enter one, not both.Your paid access to UpdraftPlus support has expired.Your paid access to UpdraftPlus support will soon expire.Your paid access to UpdraftPlus updates for %s add-ons on this site has expired.Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire.Your paid access to UpdraftPlus updates for this site will soon expire.Your saved settings also affect what is backed up - e.g. files excluded.Your settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your version: %sYour web server has PHP's so-called safe_mode active.Your web server's PHP installation has these functions disabled: %s.Your web-server does not have the %s module installed.Your website is hosted using the %s web server.Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:Your wp-content directory server path: %sactivate it on this siteadvanced optionsalready doneand retain this many scheduled backupsarchiveauthentication URIauthentication errorauthentication failedbacks up automatically when you update plugins, themes or corecalculatecalculating...check your log for more details.chunk %s: upload failedcountcredentialsdatabase connection attempt faileddatabase connection attempt failed.database namedayday(s)dismiss noticedownload: failed: file not founde.g. %se.g. if your server is busy at day and you want to run overnightencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)error - failed to create and access the containererror - failed to re-assemble chunkserror - failed to upload fileerror: %s (see log file for more)error: failed to upload file to %s (see log file for more)failed to access parent folderfailed to list filesfailed to upload file to %s (see log file for more)faster (possibility for slow PHP installs)filefile is size:files: %sfolderfollow this link to get itgo here to learn morehandles updates automatically as you want themhosthost namehour(s)i.e. Non-automaticManualin the monthincluding any passwordskeykey namelast activity: %d seconds agolast activity: %ss agolatestlog results to consoleloginlogin failuremanagemanages all your WordPress sites at once from one placenow proceeding with the updates...or (annual discount)or to restore manuallyor, to reset this optionpasswordpassword/keyplease follow this link to update the plugin in order to activate itplease follow this link to update the plugin in order to get itplease wait for the rescheduled attemptpluginspress hereread more at %srecommendedrefreshregular non-encrypted FTPremote files deletedremote siteresetrestorationrows: %dsearch and replacesearch termsettingsshow PHP information (phpinfo)show logsite not foundskipped (not in list)slower, strongeststarting from next time it isstoptable: %stemplate not foundthe database query being run was:the world’s most trusted backup plugin!themesthese backup setsthis backup setthis privacy policyto take incremental backupsunknown sourceupdraftplusTo make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %supload faileduse UpdraftPlus Premiumuserusernameweek(s)will restore as:with the option ofyou have authenticated your %s accountyou have authenticated your %s account.your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup.your UpdraftPlus.com accountyour site's admin addresszip executable found:PO-Revision-Date: 2021-04-05 14:32:41+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: GlotPress/3.0.0 Language: fa Project-Id-Version: UpdraftPlus "%s" کلید اولیه ندارد. در ردیف %s تنظیمات دستی مورد نیاز است.OpenStack tenant%d خطا، %d هشدار%d ساعت، %d دقیقه، %d ثانیه%s (%s استفاده شده)%s خطا%s خطا: مقدار دهی اولیه با شکست روبرور شدخطای %s: باز کردن فایل لوکال ناموفقخطای %s: آپلود ناموفقکلید دسترسی %s%s بایگانی باقی مانده استاحراز هویت %s%s ناموفق در احراز هویت%s بیت%s بایتکنترلی %s: %sدانلود %s: ناموفق: فایل یافت نشد%s نقطه پایانخطای %s - ناموفق در دسترسی به کانتینر%s خطا - ناموفق در دوباره بهم متصل کردن تکه ها%s خطا - ناموفق در آپلود فایلخطای %s - ما به کانتینر دسترسی پیدا کردیم، اما نتوانستیم فایلی درون آن ایجاد کنیمخطای %s: %s%s ساعتمکان %s%s ورود ناموفقلوگو %s%s ماه %s نسخه‌آزمایشی%s سه ماهه%s سالانه%s تنظیمات بازیابی:%s پاسخ HTTP ناخواسته ای بازگشت داده شد :%sکلید مخفی %sنتیجه آزمایش %s تنظیمات:%s جدول (ها) یافته شد.%s جدول یافته شد. %s با پیشوند یافته شد.%s نسخه :%s هفته%s: فایل غیر قابل خواندن - نمی توان از آن بک آپ گرفت%s: فایل غیرقابل خواندن می باشد - نمی توان از آن بک آپ گرفت (اجازه دسترسی فایل را بررسی نمایید)(بایگانی‌(های) %d در مجموعه، کل %s).(تمام نشده است)(هنوز هیچ گزارشی ثبت نشده است)(ادامه مطلب)(قبلا بارگذاری شده است)(ظاهرا یک نسخه ی قبل از انتشار یا انتشاری صرف نظر شده است)(در همان زمانی که از فایل ها پشتیبان تهیه میشود )(نسخه فعلی)(اطلاعات بیشتر در مورد این گزینه)(ثبت رخدادها بطور پیشفرض در صفحه ی تنظیمات افزونه قرار دارند)...(مطمئن شوید که فایل زیپی را آپلود می کنید که قبلا توسط این افزونه ایجاد شده است)(یا با استفاده از فرم درون این صفحه در صورتی که آن را خریده اید، متصل شوید)دانلود(نسخه: %s)(مشاهده گزارش ...)... و بسیار فراتر از اینها1 ساعت1 هفتهاین را درون مسیر آپلودها یا پلاگین ها قرار ندهید، زیرا ممکن است موجب تکرار شود (بک آپ از بک آپ از بک آپ از ...).(به نظر میرسد شما احراز هویت شده اید، گرچه اگر مشکلی دارید می توانید برای رفرش نمودن دسترسی خود دوباره لاگین کنید).این نام فولدر نیست.یک استثناء پی‌اچ‌پی (%s) رخ داده است: %sیک خطای جدی (%s) رخ داده است: %sیک فرایند جستجو/جایگزین کردن نمی‌تواند بازگردانده شود - آیا مطمئن هستید که می‌خواهید این کار را انجام دهید؟مواجهه با فایل بسیار حجیم: %s (سایز: %s مگابایت)خطای از نوع ZIP رخ دادهکلید API: %sکلید APIرمز APIحساب کاربری پر شده است: حساب کاربری %s شما فقط %d بایت دیگر دارد، ولی فایلی که در حال بارگزاری آن هستید %d بایت دیگر باقی مانده است (حجم کل: %d بایت)حساب کاربری پر شده است: حساب کاربری %s شما فقط %d بایت دیگر دارد در حالی که فایل مورد نظر شما برای آپلود %d بایت استنام صاحب حساب: %sحساب کاربری احراز هویت نشده است.حساب های کاربری ساخته شده در rackspacecloud.com حساب های آمریکا هستند؛ حساب های کاربری ساخته شده در rackspace.co.uk حساب های انگلیس هستند.حساب های کاربری ساخته شده در rackspacecloud.com حساب های آمریکا هستند؛ حساب های کاربری ساخته شده در rackspace.co.uk حساب های انگلیس محور هستند.فعالیت هاافزودن یک سایتیک قانون محرومیت اضافه کنیدافزودن یک دیتابیس خارجی به پشتیبان گیری ...اضافه نمودن یک حساب %s دیگرآدرس دیگری اضافه نمائید...سایت را اضافه کنیداضافه کردن این وبسایت به آپ‌درفت‌سنترال (کنترل متمرکز و از راه دور) - برای حداکثر 5 سایت رایگان است.درحال افزودن...کلید API ادمیننام کاربری ادمینتنظیمات پیشرفته/رفع عیبابزارهای پیشرفتهبعد از فشردن این دکمه، شما می توانید انتخاب کنید که کدام کامپوننت را می خواهید بازسازی کنیدتقریباً تمام سرورهای FTP حالت غیرفعال (passive mode) می‌خواهند. اما اگر به حالت فعال (active mode) نیاز دارید ، این گزینه را بردارید.آیا قبلا فضا گرفته‌اید؟همچنین از روی حافظه جانبی حذف گرددهمچنین باید این FAQ مهم را بخوانید.یک پسورد برای مدیریت هم اکنون قرار داده شد.در اولین %s دستور یک مشکل رخ داد - در حال لغو.در هنگام تلاش برای بازیابی افزونه های شما یک خطا رخ داد.خطایی رخ داد در حالیکه آخرین فایل دیتابیس بسته میشدخطای ناشناخته در هنگام اتصال به UpdraftPlus.Com رخ داده است.یک بروز رسانی برای تعلقات در دسترس است از لینک زیر به دنبال آن بروید یک بروز رسانی برای UpdraftPlus است لینک زیر را دنیال کنید یک پوشه ی دیگر در مسیر wp-content یافت شدهرگونه تنظیمات در فایل htaccess یا web.config شما که بر حداکثر اندازه بارگذاری یا ارسال تأثیر دارد.هر درخواست پشتیبانی با %s باید از ظریق شرکت هاستینگ سایت مطرح گردد.ماژول‌های سرور آپاچیسایز مورد انتظار آرشیو:آیا مطمئن هستید که می‌خواهید برای همیشه همه‌ی خبرهای آپ‌درفت‌پلاس را غیرفعال کنید؟از وردپرس درخواست کنید تا زمانی که به روز رسانی ای برای UpdraftPlus در دسترس باشد، به صورت خودکار به روزرسانی را انجام دهد. از وردپرس بخواهید هنگام بروزرسانی، به طور خودکار آپ‌درفت‌پلاس را آپدیت کند (آپدیت خودکار توصیه نمی‌شود)سوال قبل از سفارشاختصاص داده شده به این سایتدر یک زمان به عنوان فایل های پشتیبانیاحراز هویت با %sاحراز هویت توسط گوگلعدم تایید مجوز (اعتبار خود را بررسی نمائید)بک آپ خودکارپشتیبان گیری خودکار قبل از بروز رسانیآپدیت‌های خودکارقبل از بروزرسانی بصورت خودکار از افزونه ها، پوسته ها و دیتابیس وردپرس توسط افزونه ی آپ درفت پلاس بک آپ بگیریدموجود برای این سایت (از طریق خرید همه افزونه های شما)توکن‌های کلُون موقت موجود:در این سایت امکان پذیرهبازگشتبازگشت...پشتیان گیری شده: %sپشتیبان‌گیریپشتیبان گیری از پلاگین ها ,قالب ها ها و پایگاه داده وردپرس با UpdraftPlus قبل از به روز رسانیپشتیبان‌گیری / بازگردانیتهیه ی پشتیبانگزارش پشتیبان گیریپشتیبان گیری شروع شده از:بک آپ شروع شدمحتویات پشتیبان:فایل پشتیبان توسط منبع نامشخصی ایجاد شده (%s) است و نمیتواند بازیابی شود .پشتیبانی ایجاد شده بوسیله ی :بوسیله ی %s پشتیبان ایجاد شد. اطلاعات پشتیبان ( برای دانلود کلیک کنید )تاریخ پشتیبانپوشه فایل های پشتیبانپوشه ی پشتیبان گیری (%s) غیر قابل نوشتن می باشد یا موجود نیست . فایل پشتیان نمیتواند ایجاد شود .مسیر مشخص شده برای بک آپ وجود ندارد.مسیر مشخص شده برای بک آپ وجود دارد، اما قابل نوشتن نیست.دایرکتوری مشخص شده برای پشتیبان گیری قابل نوشتن است.فایل پشتیبان با موفقیت ایجاد شد .پشتیبان در تاریخچه پشتیبان وجود نداردپشتیبان گیری از دیتابیس خارجیفایل پشتیبان در دسترس نمی باشدبک آپ به پایان رسیدپشتیبان گیری از: %s.عنوان پشتیبان :پشتیبان‌گیری از پایگاه‌داده‌های بیشترپشتیبان گیری از فایل های وردپرس به همراه دیتابیسپشتیبان های تیبل های غیر وردپرس نیز به طور یکجا در دیتابیس وردپرس قرار گرفتپشتیبان از:پشتیبان‌گیری از: %sپشتیبان ارسال شده به سایت از راه دور - برای دانلود در دسترس نیست.مجموعه پشتیبان ها پیدا نشد.پشتیبان گیری با موفقیت به اتمام رسیدنسخه پشتیبان به هیچ فضای ذخیره‌سازی از راه دور ارسال نمی‌شود - هیچ کدام در %s ذخیره نشده‌اندهمه‌ی سایت‌های وردپرسی خود را از یک داشبورد پشتیبان‌گیری، بروزرسانی و مدیریت کنیدفرمت نام مناسب نیست - به نظر نمی رسد این فایل توسط UpdraftPlus ایجاد شده باشدفرمت نام فایل مناسب نیست . رمز نگاری فایل دیتابیس ایجاد شده توسط UpdraftPlus مناسب نیست.آگاه باشید که سرورهای ایمیل معمولاً محدودیت حجم دارند؛ معمولاً چیزی حدود %s مگابایت؛ پشتیبان‌های بزرگتر از هر محدودیتی، به احتمال زیاد به مقصد نخواهند رسید.آگاه باشید که سرورهای ایمیل معمولاً محدودیت حجم دارند؛ معمولاً %s مگابایت؛ پشتیبان های بزرگتر از این مقدار نخواهند رسید.مراقب باشیدبا پشتیبان گیری خودکار امن باشیدشروع شدهشروع به جستجوی این ورودی کرده استلینک وبلاگآپلودهای بلاگمرور محتواهامرور فایل زیپاقدام به خریدتماسلغوتغییر تنظیمات قفلتغییرات ایجاد شده:برای ارسال گزارش به شما این گزینه را انتخاب کنیدپس از اتمام پشتیبان گیری، برای حذف فایل های پشتیبان زائد از سرور خود این گزینه را انتخاب کنید (در صورت عدم گزینش، همه ی فایلهای ارسال شده به صورت لوکال باقی خواهند ماند و این همه فایل های لوکال باقی مانده برای محافظت از محدودیت حافظه مناسب نیست).این گزینه را برای دریافت اطلاعات و ایمیل های فرآیند پشتیبان گیری انتخاب کنید - برای زمانی که فرایند با مشکل مواجه می شوند مفید هست .اجازه دسترسی فایل خود را بررسی کنید: نمی توان با موفقیت مسیر را ساخت و به آن وارد شد:دسترسی فایل خود را بررسی نمائید: نمی توان ایجاد کرد و وارد گردید:Chicago (ORD)انتخاب اجزا برای بازیابیاجزاء را برای بازگردانی انتخاب کنید:برنامه‌ی زمان‌بندی را که می‌خواهید نسخه پشتیبان تهیه شود، انتخاب کنید.برنامه زمانی پشتیبان‌گیری خود را انتخاب کنیدحافظه ریموت خود را انتخاب کنیدادعا اعطا نشد - مشخصات ورود شما به حساب اشتباه بوددرحال تمیز کردنتمیز کردن زباله...ID مشتریرمز مشتریکپی گرفتن از %sکلُون آماده استکپی گرفتن ناحیه: کلُون:بستنکلید API فایل های ابریکانتینر فایل های ابریناحیه ذخیره فضای ابرینام کاربری فضای ابریاحراز هویت ناموفق فایل های ابریعدم موفقیت در عملیات فایل های ابری (%s)نام کاربری فضای ابریتکمیلتداخل: این کاربر و یا ایمیل وجود داردهوووورا! تبریک می‌گویم ، تنظیمات شما با موفقیت ذخیره شد.اتصالاین سایت را به فضای ابری آپ‌درفت‌سنترال وصل کنیداتصال به فضای ابری آپ‌درفت‌سنترالاتصال به updraftplus.comدر حال اتصال به اکانت UpdraftPlus.com شمادر حال اتصال...ارتباط برقرار نشد.ارتباط با مشکل مواجه شد : جزئیات دسترسی را چک کنید , که سرور دیتابیس آنلاین باشد و شبکه ی ارتباطی توسط فایروال محدود نشده باشد.ارتباط با موفقیت برقرار شد.ثابت هاکانتینرشامل:لینک محتویات تمام نسخه‌های پشتیبان خود را در یک مکان کنترل کنیدناموفق در کپی کردن این موجودیتنمی توان به کانتینر %s دسترسی پیدا کردهیچ کاری یافت نشد - احتمالا آن تمام شده ؟نمی توان لیست جداول را دریافت کردنمی توان فایل های قدیمی را حذف کرد.نمیتوان فایل پشتیبان برای نگارش باز کرد .ناتوان از خواندن مسیردرحال محاسبه...ایجادساخت کاربر API جدید با دسترسی به این کانتینر (به غیر از کل کاربر شما)یک کلون موقتی در سرورهای ما ایجاد کنید (آپ‌درفت‌کلُون)ايجاد کلُونساخت کاربر API و کانتینر جدیددیتابیس بک آپ ساخته شدهفایل های زیپ بک آپ ساخته شددر حال ساخت %s و بک آپ گیری از دیتابیس با افزونه ی آپ درفت پلاسدر حال بک آپ گیری با افزونه ی "آپ درفت پلاس"در حال ساخت بک آپ دیتابیسدر حال بک آپ گیری از دیتابیس با افزونه ی "آپ درفت پلاس"در حال ساخت فایل های زیپ بک آپدر حال ساخت اولین نسخه پشتیبان شمادر حال ساخت...کلُون‌های فعلیمحدودیت کنونی:حافظه ی موجود استفاده شدهدر حال حاضر غیرفعال استدر حال حاضر فعال استروزانهDallas (DFW) (default)پیشخوان:دیتابیسدیتابیس ( ایجاد شده توسط %s)پایگاه داده (پشتیبان گیری از فایل ها کامل نشده است)تنظیمات دیتابیسعبارت مورد نیاز برای رمزگذاری پایگاه دادهعبارت رمزگذاری پایگاه دادهفقط پایگاه داده (فایل ها شامل این زمانبندی خاص نمی شود)پایگاه داده با موفقیت رمزگشایی گردید.پایگاه داده: جستجو و جایگزینی URL سایتحالت رفع عیباطلاعات مشکل زداییحذفحذف پوشه های قدیمیحذف تنظیمات پشتیبانحذف انجام نشد:از وب سرور خود حذف کنیدفایل محلی را پاک کناین تنظیمات را پاک کن حذف این مجموعه پشتیباندرحال حذف...استقرار دادن داده های سایتلغو انتخابمسیر دایرکتوریSSL را در هر جای ممکن غیر فعال کن.این افزونه غیر فعال گردید: %s: هر زمان که آماده بودید، برای فعالسازی مجدد آن به صورت دستی اقدام نمائید.قطع شدندرحال قطع ارتباط...پنهاندنبست ( برای %s ماه)رد کردن همه‌ی خبرهای آپ‌درفت‌پلاس:نادیده گرفتن از داشبورد اصلی (برای %s هفته)رد کردن اعلانپس از کلیک بر روی لینک زیر دیگر آن را متوقف نکنید - منتظر شوید تا بک آپ تکمیل شود.گواهینامه SSL را تائید ننمائیدآیا مطالعه ی این راهنما قبل از بازیابی برای شما مفید بود .آیا چند سایت وردپرس دیگری دارید که می‌خواهید از آنها نسخه پشتیبان تهیه کنید؟ اگر بله، می‌توانید با کنترل تمام نسخه‌های پشتیبان خود در یک مکان از آپ‌درفت‌سنترال در زمان خود صرفه جویی کنید.آیا شما به پشتیبانی چند سایته وردپرس نیاز دارید؟آیا می‌خواهید درون‌ریزی را انجام دهید؟آدرس ایمیل خود را نمی‌دانید، یا رمزعبور خود را فراموش کرده‌اید؟نمیخواید جاسوسی کنید ؟ UpdraftPlus پرمیوم میتواند دیتابیس شما را رمزگذاری کند .خطای دانلود: سرور پاسخی برای ما ارسال نموده است که متوجه نشده ایم.دانلود ناموفقدر حال دانلود نمودندانلود فایل سوابقدانلود فایل گزارش آخرین تغییراتبه کامپیوتر خود دانلود کنیددانلود فایل‌های پشتیبان در صورت لزومفایل های پشتیبان را به اینجا بکشیدفایل های کد شده ی دیتابیس (فایل های db.gz.crypt) را برای آپلود و رمزگشایی به اینجا بکشید.دراپ باکسآسانویرایشایمیلگزارش‌های ایمیلی ایجاد شده توسط نسخه رایگان UpdraftPlus آخرین اخبار وبسایت UpdraftPlus.com را برایتان ارائه می‌کنددیتابیس رمزگذاری شدهرمزگذاری دیتابیساندازه کلید رمزگذاری:پایان تور آموزشیقبل از اینکه ادامه دهید، اطمینان حاصل نمایید که با یک حساب کاربری معتبر وارد شده اید.یک لیست csv وارد نمائید. در غیر اینصورت برای همه جداول خالی بگذارید.آدرس ها را در این قسمت وارد کن تا زمانی که عملیات پشتیبان گیری به پایان رسید، گزارش به آن ارسال شود.جزئیات را مشخص کنید که این سایت جدید در کجای وردپرس چند سایتی نصب شده ی شما می خواهد قرار بگیرد:به این فرمت وارد کنید HH:MM (مثال: 14:22).مسیر فولدر %s که مایلید استفاده کنید را اینجا وارد کنید.ایمیل و رمزعبور UpdraftPlus.Com خود را در اینجا وارد کنید تا متصل شوید:خطاخطا - ناموفق در دانلود فایلخطا - چنین فایلی وجود ندارد.داده خطا:خطا در دانلود فایل ریموت: دانلود ناموفقمتن خطاخطا در باز کردن فایل محلی: ناموفق در دانلودخطا در باز کردن فایل ریموت: ناموفق در دانلودخطا :خطا: %sخطا: مقدار دهی اولیه انجام نشدخطا: فایل محلی باز نشدخطا: بارگذاری انجام نشدخطا: سرور پاسخی خالی ارسال کرد.خطا: سرور پاسخی برای ما ارسال کرد (JSON) که ما قادر به درک آن نیستیم.خطا: سرور پاسخی برای ما ارسال نموده است که متوجه نشده ایم.خطا: پارامترهای خالی (%s, %s)خطا: خواندن پرونده‌ی غیرمنتظره انجام نشدخطاهاخطاها/اخطارها:خطاهایی رخ داده است:مشکلاتی رخ داده است:در هنگام تلاش برای ارتباط با سرور خطایی رخ داد:خطایی رخ داده است:خطاها:هر %s ساعتهر ساعتمثال هایی از ارائه دهندگان حافظه ی سازگار با S3 مستثنی‌کردن فایل‌ها/پوشه‌هابه استثنای این مواردشامل این موارد نمی شود:نسخه پشتیبان موجودتنظیمات حرفه ایتنظیمات درون‌ریزی / برون‌بریتنظیمات برون‌بریافزودنی هادیتابیس خارجیدیتابیس خارجی (%s)سوالات متداوللاگین FTPرمز عبور FTPسرور FTPفیسبوکناموفقناموفق در دسترسی به %s در هنگام حذف کردن (برای اطلاعات بیشتر فایل رخدادها را ببینید)ناموفق در ساخت دایرکتوری موقتعدم موفقیت در پاک کردن دایرکتوری در حال کار بعد از بازیابی.ناموفق در دانلودناموفق در دانلود نمودن %sفایل manifest در نسخه پشتیبان یافت نشد.ناموفق در یافتن فایل پایگاه دادهناموفق در بازکردن فایل پایگاه دادهبازکردن فایل دستابیس با شکست مواجه شد برای خواندن:ناموفق در گشودن فایل دیتابیس.ناموفق در گشودن فایل فشرده شده (%s) - %sخواندن پوشه‌ی در حال کار انجام نشد.ناموفق در بازگشایی آرشیوناموفق در آپلود %sناموفق در آپلود در %sانجام نشد: ما قادر به ورود و منتقل کردن به مسیر مشخص شده بودیم، اما متاسفانه ایجاد فایل در آن مکان با موفقیت انجام نشدانجام نشد: ما قادر به وارد شدن بودیم، اما متاسفانه ایجاد فایل در آن مکان با موفقیت انجام نشد.ناموفق: قادر به قرار دادن فایل در دایرکتوری نمی باشیم - لطفاً دسترسی خود را بررسی نمائید.ناموفق: عملیات %s قادر به انجام نیست.ناموفق: نتایج برگردانده شده از عملیات %s را متوجه نشدیم.شکستشکست: هیچ %s داده نشده است.خطا: جزئیات باکت داده نشده است.خطا: هیچ جزئیاتی در مورد کانتینر داده نشد.شکست: هیچ جزئیاتی از سرور داده نشده است.شکست: درگاه باید یه عدد صحیح باشد.سریعبازخوانیدر حال بازخوانی...فایل (%s) پیدا شد، اما حجمی متفاوت (%s) از آنچه انتظار میرفت (%s) دارد - ممکن است خراب باشد.تنظیمات فایلتنظیمات پشتیبان‌گیری از فایلفایل بصورت لوکال حضور ندارد - نیاز به بازیابی از حافظه ی خارجیفایل یافت نشدفایل یافت نشد (می بایست آن را آپلود کنید): %sفایل آماده است.فایل یافت شد، اما حجم آن صفر است (نیاز است که دوباره آن را آپلود کنید): %sفایل/پوشهفایل هافایل (پشتیبان گیری از پایگاه داده کامل نشده است)فایل ها و پایگاه دادهفایل ها و دیتابیس وردپرس پشتیبان گیری شد .( توسط %s)فایل پشتیبان ایجاد شد ( توسط %s) فایل های یافت شده:بررسی نهاییاطلاعات بیشتراطلاعات بیشتری در مورد "پشتیبان‌گیری‌های تدریجی" را در اینجا کسب کنید.اطلاعات بیشتر را از اینجا پیدا کنید.پایانتمام شدهابتدا, کلید رمزگشایی را وارد کنیدانعطاف‌پذیرفولدربرای اطلاعات بیشتر این لینک را دنبال کنیدبرای در آوردن از حالت رمزنگاری شده (آشکارسازی) و دانلود فایل دیتابیس به کامپیوتر خود این لینک را دنبال کنید.برای ایجاد دایرکتوری و تعریف سطح دسترسی آن بر روی اینجا کلیک کنیداز طریق این لینک می توانید فایل سوابق بازیابی را دانلود نمائید (برای درخواست های پشتیبانی نیاز دارید).برای حذف این تنظیمات برای %s، این لینک را دنبال کنید.برای عضویت در خبرنامه UpdraftPlus لینک زیر را دنبال کنیدبرای دریافت دستورالعمل‌های نصب (به ویژه مرحله 1) این لینک را دنبال کنید.این لینک را برای دسترسی به کنسول API گوگل دنبال کنید و دیسک API را فعال و یک آی دی کاربری در قسمت دسترسی API ایجاد نمایید.برای پشتیبان‌های قدیمی‌تر ازبرای ویژگی های بیشتر و پشتیبانی شخصی , انتخاب شود برای اطلاعات بیشتر، شامل اسکرین‌شات، این لینک را دنبال کنید.جزئیات خود را فراموش کرده اید؟هر دو هفته یکباررایگانفضای دیسک خالی موجود در این اکانت:دو افزونه ی رایگان امنیتیصفحه اول:پشتیبان گیری کامللیست کامل امکاناتاطلاعات بیشتر ممکن است در کنسول جاوا اسکریپت مرورگر و گزارش‌های خطای PHP سرور مشاهده شود.دریافت نسخه پریمیوماز فروشگاه UpdraftPlus.com آن را خریداری نماییدآن را از اینجا بگیریدبروبه اینجا برویدبرای اطلاعات بیشتر به این قسمت برویدبرای اطلاعات بیشتر به اینجا بروید.برای فعالسازی افزونه به اینجا بروید.برای شروع نصب افزونه به اینجا بروید.برای اتصال آن به اینجا بروید.برای اتصال به اینجا بروید.بزن بریم جیگربه تنظیمات برویدبه صفحه پرداخت updraftplus.com می‌رودگوگل درایولیست فایل های Google Drive : دسترسی به پوشه ی مادر با شکست مواجه شد.کد HTTP:هنوز اجازه دسترسی به گوگل را دریافت نکرده ایم - شما باید مجدداً به گوگل درایو متصل شوید.هنگ کنگ (HKG)میزباناگر چه , فایل فایل های آرشیو UpdraftPlus از فرمت های استاندارد zip/SQL هستند اگر شما مطمئن هستید که فرمت های شما صحیح میباشند شما میتوانید آنها را به الگوی صحیح تغییر نام دهید .اما , تلاش برای دسترسی بعدی با مشکل مواجه شد.شرایط و ضوابط آپ‌درفت‌کلُون را می‌پذیرماگر گوگل به شما پیغام "invalid_client" را نشان داد، یعنی شما ID مشتری معتبری در این قسمت وارد ننموده اید.اگر درخواست پشتیبانی دارید، لطفاً این اطلاعات را تامین کنید:اگر این فایل پشتیبان توسط پلاگین های دیگری ایجاد شده ممکن است نسخه ی تجاری UpdraftPlus به شما کمک کند .اگر مطمئن نیستید پس متوقف شوید، در غیر اینصورت ممکن است نصب وردپرس را ویران کنید.اگر شما نمی دانید که این گزینه برای چیست، پس نیازی به آن ندارید و بگذارید خاموش باشد.اگر شما بک آپ هایی بیش از حد انتظار می بینید، این احتمالا به این دلیل است که پاک کردن بک آپ های قدیمی پس از تکمیل یک بک آپ جدید در تنظیمات غیر فعال است.اگر شما از این استفاده می کنید، حالت Turbo/Road را خاموش کنید.اگر شما افزونه های جدیدی خریداری نموده اید، پس برای رفرش نمودن کانکشن خود این لینک را دنبال کنیداگر پس از کامل لود شدن صفحه شما کماکان می توانید این جمله را بخوانید، پس یک مشکل جاوا اسکریپت یا جی کوئری در سایت وجود دارد.اگر شما هم پشتیبان دیتابیس و هم پشتیبان فایل ها را استثنا کنید، در واقع همه چیز را مستثنی نموده اید!اگر مجوز معتبر نسخه‌ی پریمیوم دارید، 1 گیگابایت فضای ذخیره نیز در آن قرار دارد.اگر شما آپ‌درفت‌پلاس را از سایت UpdraftPlus.Com خریده‌اید، این لینک را برای دستورات نصب دنبال نمایید. (بخصوص مرحله 1).در صورتیکه خالی بگذارید، فایل پشتیبان در شاخه اصلی %s شما درج خواهد شد.اگر شما خطاهای مرتبط با گواهینامه SSL مشاهده نموده اید، لطفاً برای کمک به این قسمت بروید.اگر می خواهید پشتیبان multisite را بازیابی کنید، اول نیاز دارید که وردپرس را به صورت multisite تنظیم نمائید.اگر می‌خواهید، آپدیت نسخه جدید PHP یا وردپرس را تست کنید.اگر دیتابیس شما شمایل تیبل هایی هست که بخشی از وردپرس نیستند این گزینه را علامت بزنید تا از انها نیز پشتیبان تهیه شود .تنظیمات درون‌ریزیدرون‌ریزدرحال درون‌ریزی...در %s، نام آدرس به حروف کوچک و بزرگ حساس است.قرار گرفتن در فایل های پشتیبانپایگاه‌داده خود را به نسخه پشتیبان اضافه کنیدفایل‌ها خود را به نسخه پشتیبان اضافه کنیدنا تمامافزایشیپشتیبان‌های تدریجیپیشتیبان های افزایشی یکی از ویژگی های %s هستند (جهت ارتقا اکانت خود این پیوند را دنبال کنید).حلقه ی تکرار بینهایت . برای دریافت اطلاعات بیشتر به فایل گزارش مراجعه کنیداطلاعات مورد نیاز برای ادامه:نصب شدهمشتاقید درباره ی امنیت پسورد خود در UpdraftPlus.com بیشتر بدانید؟ اینجا پیرامون آن بخوانید.نام باکت صحیح نیستبه نظر میرسد که آی پی وب سرور شما (%s) بلوک شده است.اون میتواند از دیتابییس خارجی پشتیبانگیری کند.تا نسخه ی %s تست شده است.این یک شماره شناسه ی داخلی برای گوگل درایو می باشداین به عنوان یک سایت جدید وارد می شود.اخطار جاوا اسکریپتشناسه کار: %sعملیات پاک شدکلیداین یک آدرس احراز هویت از نسخه ی 2 (Keystone) دارد ; از نسخه 1 پشتیبانی نمیشود (Swauth) .بک آپ های شناخته شده (ناقص)آخرین پیام ثبت شدهآخرین اخبار UpdraftPlus.com:آخرین وضعیت:رفتن به صفحه توسعه دهندهدرباره آپ‌درفت‌سنترال بیشتر بیاموزیداگر خالی بماند، یک پیشفرض برایش انتخاب خواهد شد.درحال بارگذاری فایل گزارشنوشتن محلی ناموفق: ناموفق در دانلودقفل کردن دسترسی به صفحه ی تنظیمات UpdraftPlusتنظیمات قفلگزارش تمام پیام ها در گزارش سیستم ( تنها ادمین سرور ها اینو میخواهند )برای فعال کردن تمام ویژگی‌هایی که به آنها دسترسی دارید، از اینجا وارد شوید.با این آدرس ایمیل وارد شوید یا ثبت نام کنیدورود موفقیت آمیز بود، درحال بارگذاری مجدد اطلاعات.لندن (LON)سایر تنظیمات را در اینجا جستجو کنید و تغییراتی را که دوست دارید انجام دهید.در جستجوی %s آرشیو: نام فایل: %sبا آپ‌درفت‌پلاس بروزرسانی‌ها را آسان کنیدمدیریت افزونی ها مدیریت کلُون‌هارمزگشایی فایل پشتیبان پایگاه داده به صورت دستیسایت‌های زیادی؟محدودیت حافظهپیغام:مهاجرت (ایجاد یک نسخه از سایتی در هاستی که کنترل می‌کنید)مهاجرت / کلُونسایت مهاجرت داده شده (از UpdraftPlus)ماهانهفایل های بیشترپلاگین های عالی بیشتر توسط تیم Updraft اطلاعات بیشتر در اینجا می‌باشد.افزونه های بیشترافزونه‌های با کیفیت ترتنظیمات بیشتروظایف بیشتر:برداشتن دیتا قدیمی از سر راه...انتقال بک آپ غیر فشرده به محل...چند سایتینصب چندین سایتافزونه هایی که باید استفاده گردد.اگر UpdraftPlus را بر روی چندین سایت مختلف وردپرسی نصب کنید، نمی‌توانید پروژه تان را دوباره استفاده کنید؛ باید برای هر یک از سایت‌ها، باید مورد جدیدی از کنسول API گوگل خود ایجاد کنید.لطفا توجه داشته باشید، این اندازه‌گیری براساس بوده‌ها یا نبوده‌های زمانی‌است که آخرین بار تنظیمات را ذخیره کرده‌اید.نام: %sآیا به فضا نیاز دارید؟به پشتیبانی نیاز دارید؟آیا می خواهید از زیر فولدر استفاده کنید؟لازم است که از قبل موجود باشدفعالسازی پوسته ی شبکه:ایمیل کاربر جدیدنام کاربری کاربر جدیدسایت جدید:اخبارثبت نام در خبرنامهبعدپشتیبان گیری زمانبندی شده ی بعدیخیرهیچ %s یافت نشدهیچ تنظیمات %s پیدا نشد.هیچ پشیبانی هنوز کامل نشدههیچ پشتیبان گیری از دایرکتوری %s: هیچ چیزی برای پشتیبان گیری یافت نشدهیچ تیبلی در دیتابیس پیدا نشدهیچ کپی محلیی وجود ندارد .فایل رخداد یافت نشد.هنوز هیچ سایت دریافت کننده‌ای اضافه نشده است.هیچ تنظیماتی یافت نشدچنین مجموعه بک آپی وجود نداردهیچکدامNorthern Virginia (IAD)حساب کاربری ندارید؟ با خرید چند توکن از اینجا یک حساب کاربری دریافت کنید.آیا فضای ذخیره‌ی از راه دور ندارید؟نصب نشدههنوز اکانت ندارید (رایگان است)؟ یکی برای خود ثبت کنید!توجه داشته باشید که همه روش‌های پشتیبان‌گیری ابری الزاماً از احراز هویت SSL استفاده نمی‌کنند.توجه:چیزی برنامه ریزی نشده استچیزی برای انجام وجود ندارد: URL سایت همچنان: %sهیچ گزارشی هنوز ثبت نشدهتوجهOKپیشوند جداول قدیم:برای هر کلون یک VPS (سرور اختصاصی مجازی) وجود دارد، که با هیچ‌کسی مشترک نیست.یک یا چندین پشتیبان از طریق اسکن کردن فضای ذخیره سازی ریموت، افزوده شدند. توجه کنید که این پشتیبان ها به صورت خودکار طبق تنظیمات "حفظ پشتیبان ها" حذف نخواهند شد. اگر/وقتی که شما تصمیم به حذف کردن آن دارید، باید این کار را به صورت دستی انجام دهید.اجازه دهید که این نسخه پشتیبان فقط به صورت دستی قابل حذف باشد (به عبارت دیگر، حتی اگر محدودیت‌های ذخیره‌سازی هم وجود داشته باشد، به صورت اتوماتیک حذف نمی‌شود).فقط نسخه پشتیبان پایگاه‌داده را ایمیل کنتنها دیتابیس های وردپرس قایل بازیابی هست. برای دیتابیس های خارجی باید دستی عمل کنید .مرورگر اینترنتی اپراگزینه ها (خام)یا اگر ترجیح می‌دهید خود میزبان باشید، می‌توانید نسخه خود میزبان (self-hosted) را از اینجا دریافت کنید.یا، از یک کلید آپ‌درفت‌کلُون استفاده کنیدیا می توانید آن را در دایرکتوری UpdraftPlus به صورت دستی قرار دهید (از طریق wp-content/updraft) توسط FTP و پس از آن بر روی لینک "اسکن مجدد" بالا کلیک کنید. %s سوالات متداول دیگرافزونه‌های فوق‌العاده‌ی دیگرسایریندر غیر این صورت لینک اولیه نشان داده خواهد شد.در غیر این صورت، شما فقط با 1 دلار می‌توانید آپ‌درفت‌والت را به مدت 1 ماه امتحان کنید!نوشتن و بازنشانی wp-config.phpاطلاعات PHP حالت غیرفعالرمز عبورپسورد اشتباههرمز عبور: %sپرداخت‌ها را می‌توان به دلار آمریکا، یورو یا پوند استرلینگ از طریق کارت یا پی‌پال انجام داد.پیک مصرف ممورییک پشتیبان تهیه کنیدلطفا اختیارات دسترسی خود را بررسی کنید.اگر مشکلی با پشتیبان گیری داشتید، لطفا این سوالات رایج را بررسی کنید.لطفا یک آدرس وب معتبر وارد کنیدلطفاً آدرس URL معتبری را وارد کنید مثلاً http://example.comلطفا یک پسوند فایل معتبر وارد کنیدلطفا یک پیشوند نام فایل معتبر وارد کنیدلطفا اطلاعات مورد نیاز را تکمیل کنید.لطفاً برای باز کردن %s، این لینک را دنبال کنید.لطفاً یک نام برای این کلید بگذارید (به عنوان مثال به سایتی که کلید برای آن است اشاره کنید):لطفا مطمئن شوید که شما یک یاداوری برای پسوردتان در نظر گرفته اید!لطفاً %s را برای استفاده از اپلیکیشن تأیید مجوز %s ما بخوانید (هیچکدام از اطلاعات پشتیبان شما به ما ارسال نشده است).لطفا این پیوند را برای اطلاعات مهمی در این فرایند بخوانید.لطفا اطلاعات خواسته شده را ارائه کنید و سپس ادامه دهید.لطفا صبر کنید در حالی که ما این ادعا را ثبت می کنیم...افزونه هادرگاهلیست کلیه ی امکاناتپریمیومنسخه پریمیوم / افزودنی‌هاافزونه ی تجاری WooCommerceآماده‌سازی فایل‌های پشتیبانبرای شروع یک دکمه را فشار دهید.اینجا را فشار دهید تا درون دایرکتوری UpdraftPlus (بر روی فضای میزبانی خود) را برای هر پشتیبان جدیدی که آپلود کرده اید، مشاهده نمائید.اینجا را فشار دهید تا تنظیمات خود را ذخیره کنید.برای شروع اینجا را کلیک کنید!برای گذراندن تور آموزشی این افزونه، این دکمه را فشار دهید.ادامه همراه با بروز رسانیپلاگین پردازش شده:در حال پردازشدر حال پردازش فایل ها - لطفا منتظر بمانید...در حال پردازش...در حال هرس کردن بک آپ های قدیمیلینک RSSتاریخچه ی پشتیبان گیری های ناقصسؤالات متداول را اینجا بخوانید.اطلاعات بیشتراطلاعات بیشتر درباره Easy Updates Manager را بخوانیدپیرامون نحوه کار برنامه بیشتر بدانید...برای راهنمایی این صفحه را مطالعه کنید تا از نکات امکان پذیر برای حل مشکل اطلاع پیدا کنید.در حال دریافت داده های سایتتوصیه می‌شود: پایگاه‌داده خود را با افزونه‌ی WP-Optimize بهینه کنید.تازه‌سازی اتصالتازه‌سازی وضعیت فعلیناحیهمنطقه: %sقابل اعتماداین انتخاب را برای دفعه ی بعد به خاطر بسپار (شما کماکان این شانس را خواهید داشت که آن را در آینده تغییر دهید)گزینه های حافظه ی خارجیمسیر از راه دورذخیره‌سازی از راه دورروش ذخیره سازی از راه دور و شناسه نمونه برای احراز هویت لازم است.ذخیره‌سازی از راه دور: %sحذفحذف پوشه های قدیمیجایگزین کن باگزارش مجموعه کاراکترهای درخواست شده (%s) موجود نیست - درحال تغییر به %s.موتور جدول درخواست شده (%s) موجود نیست - تغییر به MyISAM.در حال درخواست شروع پشتیبان‌گیری...درخواست پسورد دوباره بعد ازجستجوی مجدد فولدر جهت ایجاد بکاپاسکن دوباره فضااسکن مجدد (در حال جستجوی پشتیبان هایی که به صورت دستی بارگذاری شده اند)...جستوجوی دوباره مکان های ذخیره سازی برای مجموعه فایل های پشتیبانی...بازنشانی تور آموزشیپیشرفت بازگردانی:بازنشانیبازیابی پشتیبانخطای بازگردانی:بازگردانی فایل‌ها ازبازگردانی جدول: %sبا بازیابی قالب سایت ها , افزونه ها , پوشه ی آپلود , دیتابیس و سایر محتوای پوشه ها جایگزین میشوند.( بر اساس آنچه که در فایل پشتیبان موجود میباشد )بازگشت به تنظیمات UpdraftPlus .بازگشت به پیکربندی آپ‌درفت‌پلاسردیف های امتحان شده:ردیف در دستهبا ظرفیت از یک ارائه‌دهنده رایانش ابری پیشرو اجرا می‌شود.S3 (سازگاری)تنظیمات هاست SCP/SFTPرمز/ کلید SCP/SFTPتنظیمات کاربر SCP/SFTPدستورات بروزرسانی SQL در حال اجرا:ذخیرهذخیره تغییراتذخیره زماندر حال ذخیره...جستجوجستجو / جایگزین کردن دیتابیسجستجو و جایگزینی مکان سایت در پایگاه داده (عزیمت)جستجو و جایگزینی جدولجستجو کن برایامناین FAQ را هم ملاحظه نمائید.'Web Application' را به عنوان نوع کاربرد انتخاب نمائید.فایل‌ها را انتخاب کنیدیک فایل را برای مشاهده اطلاعات در مورد آن انتخاب کنیدانتخاب همهارسالوقتی گزارش بفرست که خظا یا هشداری وجود دارد این نسخه پشتیبان را برای حافظه ذخیره‌سازی از راه دور ارسال کنیدارسال به سایت:کپی کردن فایل پشتیبان بر روی حافظه جانبیدر حال ارسال فایل‌ها به سایت از راه دورتنظیماتنمایش همه نسخه‌های پشتیبان...نمایش تنظیمات حرفه اینمایش لیست پشتیبان گیری و فایل های ناقصنمایش تنظیماتثبت‌نام کنیدسایتداده های سایت، استقرار یافتداده سایت دریافت شدصفحه اول سایت:اطلاعات سایتاطلاعات سایت:اندازه‌ی سایتاندازه: %s مگابایتاز این مرحله بگذرچندین فایل کماکان در حال دانلود یا پردازش می باشند - لطفا منتظر باشید.فایل ها را خرد کن هر:شروع اشتراکشروع آزمایشیشروع پشتیبان گیریشروع بک آپ خودکار...ذخیره شده درموفقموفق:پشتیبانیآدرس پشتیانافزونه های پشتیبان گیری قابل پشتیبانی: %sSydney (SYD)پیشوند جدولجداول امتحان شده:گذراندن تور آموزشییک پشتیبان جدید تهیه کنیدیک پشتیبان تدریجی تهیه کنیدفقط زمان لازم برای ایجاد یک نسخه پشتیبان و ارسال آن را از شما می‌گیرید.درباره پشتیبان گیری افزایشی بیشتر توضیح بده.مستاجرتست تنظیمات %sتست ارتباط ...در حال تست تنظیمات %s...درحال تست اتصال...درحال تست ...با سپاس از شما برای نصب UpdraftPlus!بخاطر گذراندن این تور آموزشی از شما سپاسگزاریم.در حال تلاش برای بارگذاری یک فایل zip هستید که قبلاً توسط آپ‌درفت‌پلاس ایجاد شده است.زمان اتصال %s منقضی شد؛ اگر سرور را درست وارد کرده اید، ممکن است به خاطر بلوکه کردن توسط فایروال اتفاق افتاده باشد- باید با شرکت هاست خود کنترل نمائید.موضوع %s یافت نشدروش دسترسی (%s) به فایل توسط ماژول UpdraftPlus در لیست فایل ها پشتیبانی نمیشود .پوشه ی محتویات وردپرس (wp-content) در این فایل زیپ یافت نشد.پسورد مدیریت تغییر کرد .پسورد مدیریت همکنون پاک شدمقدار حافظه (RAM) برای پی اچ پی بسیار کم است (%s مگابایت) - شما باید آن را برای جلوگیری از خرابی افزایش دهید (از اونی که ازش هاست خریدی کمک بگیر )مقدار زمانی که برای اجرای افزونه های وردپرس اجازه داده شده است (%s ثانیه) خیلی کم است - شما برای اجتناب از رخ دادن خطا در پشتیبان گیری باید آن را افزایش دهید (با شرکت هاست خود صحبت کنید تا به شما کمک کنند - تنظیمات PHP در max_execution_time است؛ پیشنهاد می شود آن را به %s ثانیه و یا بیشتر تغییر دهید)تلاش برای ارسال بک آپ توسط ایمیل ناموفق بود (احتمالا حجم فایل بک آپ برای استفاده از این شیوه خیلی زیاد است)تلاش برای خنثی کردن فشردگی دولایی با شکست مواجه شد.تلاش برای خنثی کردن فشردگی دولایی موفقیت آمیز بود.حافظه موجود در سرور.تلاش برای ایجاد پشتیبان گیری انجام شد , اما ظاهرا نا موفق بوده .پشتیبان‌گیری به پایان رسیدبک آپ به پایان نرسید، از سرگیری زمانبندی شدبه دلیل شکست های پشت سر هم در انجام فرآیند، گرفتن نسخه پشتیبان بی نتیجه ماند.پشتیبان‌گیری قطع شدارتباطات با %s رمگذاری شده است.ارتباطات با %s رمگذاری نشده است.فایل دیتابیس به نظر میرسد که دوبار فشرده سازی شده است - ممکن است وبسایتی که از آن دانلود کرده این دارای اشکال در پیکربندی وب سرور باشد.حجم دیتابیس بسیار کمتر از آنست که یک دیتابیس وردپرسی معتبر باشد (سایز: %s کیلوبایت).کلید رمزگشایی استفاده شده :دایرکتوری موجود نمی باشدپوشه وجود ندارد، و تلاش برای ایجاد آن ناموفق بودخطای گزارش شده با %s:فایل آپلود شد.فولدر وجود دارد، ولی وب سرور دسترسی نوشتن در آن را ندارد.این موجودیت نمی تواند به طور اتوماتیک بازسازی گردد: %s.مقدار بالاتر منابع سرور برای ساختن بایگانی، مورد نیاز می باشد. نسخه پشتیبان / بازیابی UpdraftPlus هنوز روی نسخه ی وردپرس (%s) شما تست نشده است.فرمت کلید ارائه شده صحیح نیست یا اینکه خراب است.محل این دایرکتوری در تنظیمات پیشرفته در تب تنظیمات قابل تنظیم است.فایل رخداد قابل خواندن نمی باشد.فایل سوابق به این ایمیل الصاق شده است.رمز عبور کاربر جدید کنسول RackSpace این است (دوباره نمایش داده نخواهد شد):درخواست دسترسی به فایل های سیستمی به منظور ایجاد پوشه با شکست روبرو شد .ماژول PHP %s لازم نصب نشده است - از شرکت هاست خود برای فعالسازی آن درخواست کنید.همه داده های سایت دریافت شد، و وارد کردن آن شروع شده است. از بازه زمانی استفاده شده در تنظیمات وردپرس شما استفاده خواهد شد. در تنظیمات -> همگانی یک خظا رخ داد (%s) :وب سرور کد خطا برگرداند (دوباره تلاش کنید، یا فایل رخدادهای وب سرور خود را بررسی نمایید)پوسته هافقط این جداولاین پشتیبان ایجاد شده توسط %s و میتواند بارگزای شود .این کلید غیرفعال است چون پوشه پشتیبان گیری شما غیر قابل نوشتن است (تنظیمات را مشاهده کنید).این دکمه تمام تنظیمات آپ‌درفت‌پلاس و اطلاعات پیشرفت برای پشتیبان‌گیری‌های در حال اجرا را حذف می‌کند (اما هیچ یک از پشتیبان‌های موجود شما در فضای ذخیره ابری را حذف نمی‌کند).این مورد می‌تواند به راحتی سایت شما را تخریب کند؛ بنابراین با دقت استفاده کنید!این سایت فعلیاین بک آپ از دیتابیس فاقد جدول های هسته ی وردپرس است: %sاین کلید آشکارسازی مورد بهره قرار خواهد گرفت:این شبیه به یک بک آپ ارزشمند از هسته ی وردپرس نمی باشد - فایل %s گم شده است.این امکانات نیازمند %s نسخه %s یا جدیدتر میباشد.فایل نمی تواند آپلود شود.این فایل به نظر میرسد از فایل های پشتیبان UpdraftPlus نمیباشد ( فایل هایی با فرمت هایی مثل : zip یا gz با نام هایی مثل : backup_(time)_(site name)_(code)_(type).(zip|gz) )این قابلیت توسط مدیر سایت غیرفعال شده است.این یک وردپرس multisite است.این تعداد محتویات دایرکتوری Updraft شما است.این جدیدتر از سروری است که در حال بازسازی درون آن هستید (نسخه %s)این به احتمال زیاد بدان معنی است که شما یک وب سرور با یک وب سایت هک شده که در حملات قبلی استفاده میشده به اشتراک گذاشته اید.این مجموعه چند بک آپی به نظر میرسد فاقد آرشیوهای زیر است: %sاین گزینه باعث می شود که از تیبل هایی که متعلق به وردپرس نیستند نیز پشتیبان تهیه شود .(تعریف شده توسط پیشوند , %s )این روش ذخیره سازی دستی (%s) نیازمند PHP %s یا جدیدتر می باشد.این نسخه از UpdraftPlus توانایی پشتیبانی از این نوع فایل پشتیبان بیگانه را ندارد این گزینه یک خروجی دیباگ شده برای تمام پلاگین های شما ایجاد خواهد نمود - لطفا از دیدن ان شگفت زده نشید .این کار باعث حذف کلیه تنظمیات UpdraftPlus خواهد شد. آیا مطمئن هستید؟اطلاعات را از اینجا درون‌ریزی می‌کند:زمان الانزمان سپری شده (ثانیه):زمان سپری شده:برای دسترسی به تنظیمات UpdraftPlus لطفا پسورد را وارد کنیداگر می خواهید توانایی انتخاب نام فولدر دلخواه خود را داشته باشید، از آپ درفت پلاس پریمیوم استفاده کنید.برای تغییر هرگونه تنظیمی از تنظیمات پیشفرض چیزهایی که پشتیبان گرفته شده اند، برای پیکربندی پشتیبان گیریهای زمان بندی شده، برای ارسال پشتیبان های شما به مخزن ذخیره سازی از راه دور (توصیه میشود)، و بیشتر، به بخش تنظیمات بروید.برای ایجاد یک کلون موقتی در حساب کاربری خود به اعتبار نیاز دارید.برای ایجاد یک کلُون موقت، به این موارد نیاز دارید: 1) اعتبار در حساب کاربری خود و 2) اتصال به حساب خود، از طریق فیلدهای زیر.به منظور اصلاح زمانی که پشتیبان گیری باید اجرا شود ,برای باقی ماند دسترسی به پشتیبانی , لطفا تجدید کنید .برای ایجاد پشتیبان، بر روی کلید {همین حالا پشتیبان بگیر} کلیک کنید.برای دسترسی دوباره به بروزرسانی ها (که شامل قابلیت های جدید و سازگاری با نسخه های جدید وردپرس است) و پشتیبانی، لطفا تجدید کنید.برای دسترسی دوباره، لطفا تجدید کنید.برای حذف بلوک، لطفاً به اینجا بروید.برای حفظ دسترسیتان و ادامه استفاده از بروزرسانی ها (که شامل قابلیت های جدید و سازگاری با نسخه های جدید وردپرس است) و برای پشتیبانی، لطفا تجدید کنید.برای ارسال به بیش از یک آدرس، هر آدرس را با کاما جدا کنید.خطاهای بسیار زیادی مربوط به دیتابیس بوجود آمد - درحال خاتمه دادنکل اطلاعات (غیر فشرده) روی دیسک.آپ‌درفت‌والت را فقط با 1 دلار به مدت 1 ماه امتحان کنید!آپ‌درفت‌والت را امتحان کنید!امتحان کنید - 1 ماه با $1!در حال تلاش...توییتریک پیشوند فایل تایپ کنیدUKUS (پیشفرض)US یا UK Cloudحساب کاربری US یا UK Rackspaceحساب کاربری US یا UK-based Rackspaceناتوان از گشودن فایل زیپ (%s) - نمی توانیم آن را اسکن کنیم تا یکپارچگی آن چک شود.ناتوان از خواندن فایل زیپ (%s) - نمی توانیم آن را اسکن کنیم تا یکپارچگی آن چک شود.درحال تعمیر...پاسخ غیرمنتظره:ناشناختهوضعیت پاسخ ناشناخته ی سرور:پاسخی ناشناخته از سرور:خطای ناشناخته - لطفاً درخواست پشتیبانی ثبت نمائیدتا زمانی که شما دچار مشکل شده اید، می توانید هرچیزی که در اینجا وجود دارد را نادیده بگیرید.بازکردن قفلباز کردن بسته پشتیبان...آپ‌درفت‌سنترالفضای ابری آپ‌درفت‌سنترالآپ‌درفت‌پلاسUpdraftPlus - آپلود فایل های پشتیبانتعلقات UpdraftPlusبک آپ خودکار آپ درفت پلاسپشتیبان های UpdraftPlusاخبار آپ‌درفت‌پلاسعضویت در خبرنامهنسخه ی تجاری UpdraftPlusآپ‌درفت‌پلاس پریمیوم و افزودنی‌هاآپ‌درفت‌پلاس پریمیوم:بازگردانی آپ‌درفت‌پلاسبازسازی UpdraftPlus : در حال انجامپشتیبانی UpdraftPlusتور آموزشی آپ‌درفت‌پلاسافزونه هنوز فعال نشده است.افزونه هنوز نصب نشده است.UpdraftPlus در رسانه های اجتماعی - از اینجا ما را ببینید:افزونه در صدد ساخت یک %s در پوشه ی محتوای شما بود، اما موفق نشد - لطفا مجوزهای فایل خود را چک کنید و به آن اجازه ی دسترسی دهید. (%s)توجه UpdraftPlus:تنظیمات آپ‌درفت‌پلاساخطار UpdraftPlus:افزونه هنگامی که بک آپ دیتابیس را اسکن می کرد قادر به یافتن پیشوند جدول نبود.سایت UpdraftPlus.Com پاسخ داده است اما ما که چیزی نفهمیدیم سایت UpdraftPlus.Com پاسخ داده است اما ما دقیقا این قسمت رو متوجه نشدیم (اطلاعات :%s )سایت UpdraftPlus.Com پاسخ داده است اما ما که چیزی نفهمیدیم UpdraftPlus.com " عدم دسترسی " را پاسخ داده.آپ‌درفت‌والتآپ‌درفت‌والت حافظه‌ی ذخیره‌سازی از راه دور ما است که یکپارچه با آپ‌درفت‌پلاس کار می‌کند.اکنون ارتقا دهیدبارگذاریبارگذاری پشتیبانآپلود فایل های پشتیبانخطا در آپلودخطای بروز رسانی:پیش بینی آپلود ناموفق: محدودیت %s برای هر فایل تکی %s می باشد، در حالیکه حجم این فایل %s گیگابایت (%d بایت) استآپلود ناموفق بودآپلود فایل ها به UpdraftPlus .آپلود شده در:یادر حال آپلود فایل ها در حافظه ی خارجیآپلودهاURL آپلودبه جای SFTP از SCP استفاده کناز بخش "گزارشگیری" برای تنظیم آدرس ایمیل مورد استفاده، استفاده نمائید.از سروری با گواهینامه های SSL استفاده نمائید.نام کاربرینام کاربری: %sدر حال تعیین درستی رمز عبور قبلی...نسخهمشاهده گزارشبدلیل بروز خطا تا موعد زمانبندی شده منتظر بمانیداخطاراخطارها:اخطار: %sاخطار: آدرس صفحه ی اصلی دیتابیس (%s) متفاوت از آن چیزی است که ما انتظار داریم (%s)اخطار: URL پایگاه داده سایت (%s) با چیزی که انتظار می رفت (%s) متفاوت استاخطارهامواجهه با اخطار:اخطارها:ما به باکت دسترسی پیدا کردیم و توانستیم پرونده هایی درون آن ایجاد کنیم. ما نتوانستیم به سایت UpdraftPlus.Com متصل شویم :((ما درخواست کردیم که فایل را حذف کنیم، اما پاسخ سرور را نتوانستیم متوجه شویمما با موفقیت به باکت دسترسی پیدا کردیم، اما تلاش برای ایجاد پرونده در آن ناموفق بود.وب سرور:فضای دیسک وب سرور تحت استفاده توسط UpdraftPlusWebDAV URLهفتگیسلام جیگر! به آپ‌درفت‌پلاس خوش آمدیدبه UpdraftPlus خوش آمدید!که در این تاریخ برون‌بری شده است:چرا من این را می بینم؟حذف تنظیماتبا استفاده از آپ‌درفت‌پلاس پریمیوم، می‌توانید مستقیماً فایل‌های جداگانه را از اینجا بارگیری کنید.بدون آن، کد نمودن بسیار آهسته تر خواهد شد.افزونه‌های ووکامرسبک آپ وردپرسهسته وردپرسایجاد پشتیبان از وردپرس انجام شدهسته ی وردپرس ( فقط)وردپرس نصب شدوردپرس نصب شد، حالا منتظر فرستادن داده های سایت هستیم تا فرستاده شود.مسیر سرور پوشه ی روت وردپرس: %sبلهشما هم اکنون در حال استفاده از امکانات نسخه رایگان آپ‌درفت‌پلاس هستید.شما در حال حاضر متصل نیستید به اکانتی در UpdraftPlus.comشما در حال اجرا بر روی وردپرس چند سایته (مولتی سایت) هستید - اما پشتیبان شما برای مولتی سایت نیست.شما در حال استفاده از وب سرور %s هستید، ولی به نظر می رسد که ماژول %s بارگذاری نگردیده است.شما می‌توانید توکن‌های آپ‌درفت‌کلُون را از فروشگاه ما، از اینجا خریداری کنید.شما می توانید مقدار پیشرفت را اینجا یا در %s ، بررسی نماییدمی‌توانید اطلاعات بیشتری در مورد کلیدهای کلُون در اینجا بیابید.می‌توانید اطلاعات کلُون موقت خود را در حساب updateraftplus.com خود در اینجا پیدا کنید. در اینجا شما می توانید به صورت دستی از دیتابیس های رمزگذاری شده رمزگشایی کنید .با استفاده از اعتبارات آپ‌درفت‌کلُون می‌توانید سایت در حال کار خود را بر روی نسخه دیگری از PHP (یا وردپرس) تست کنید.با استفاده از اعتبارات آپ‌درفت‌کلُون می‌توانید سایت در حال آپدیت خود را بر روی یک نسخه کپی فوری آزمایش کنیدشما افزونه %s UpdraftPlus را نصب نکرده اید - از %s بگیریدبه نظر میرسد شما این افزونه را نصب شده دارید - شاید افزونه را گیج نموده اید؟آدرس ایمیل شما توسط UpdraftPlus.Com قابل تشخیص نمی باشدشما یک خرید غیرفعال داریدشما پشتیبان‌گیری از یک پایگاه‌داده را انتخاب کرده‌اید، اما هیچ جدولی انتخاب نشده استشما نسخه پشتیبان تهیه کرده‌اید ، اما هیچ یک از پرونده‌ها انتخاب نشده‌اندشما تغییراتی در تنظیمات خود ایجاد کرده‌اید و ذخیره نکرده‌اید.شما هنوز به اکانت خود در UpdraftPlus.com متصل نیستید که پیش نیاز لیست کردن افزونه های خریداری شده شماست.شما هنوز به اکانت UpdraftPlus.Com متصل نشده اید.شما تا کنون پشتیبان‌ای نساخته اید.شما هنوز فایلی را برای درون‌ریزی انتخاب نکرده‌اید.شما درخواست ذخیره کردن بر روی محل ذخیره سازی ریموت (%s) را داده اید، اما هیچ تنظیماتی را برای محل ذخیره سازی مورد نظر، وارد نکرده اید. وقتی از شما خواسته شد، باید موارد زیر را به عنوان آدرس ریدایرکت مجاز (زیر "گزینه‌های بیشتر") اضافه کنیدبرای دریافت بروزرسانی ها در آینده نیاز به اتصال به UpdraftPlus دارید.یک container وارد نمائیدیک نام کاربری جدید وارد نمائیدیک ایمیل معتبر وارد نمائیدنیاز به وارد کردن کلید API داریدباید نام کاربری ادمین را وارد نماییدشما نیاز به احراز هویت مجدد %s دارید چون هویت فعلی شما کار نمی کند.باید آدرس ایمیل و رمز عبور را تامین نمائید.باید بررسی کنید که سایت از راه دور آنلاین باشد، فایروال نباشد، دارای ماژول‌های امنیتی که احتمال دارد دسترسی را مسدود کنند، نباشد، دارای آپ‌درفت‌پلاس نسخه %s یا بالاتر فعال باشد و اینکه کلیدها به درستی وارد شده باشند.شما باید مجوز های دسترسی فایل را درنصب و راه اندازی وردپرس خود بررسی کنیدشما قادر خواهید بود %s برای ساخت پیوند های یکتا زیبا برای کار هایتان (به عنوان مثال %s )شما باید تغییرات خود را ذخیره کنید تا اطمینان حاصل کنید که از آنها برای تهیه نسخه پشتیبان استفاده شده‌اند.شما باید UpdraftPlus را به روز رسانی کنید تا مطمئن شوید که نسخه شما تست سازگاری شده است.شما با موفقیت اکانت ویژه Updraft را خریداری نمودید. شما می توانید اطلاعات بیشتری از این قسمت را در بخش تنظیمات پیدا کنید.شما نیاز خواهید داشت با شرکت هاستینگ خود برای ارتقا تماس بگیرید.شما باید با ارائه دهنده سرویس هاست وب سایت خود تماس گرفته و در مورد چگونگی ایجاد دسترسی نوشتن یک افزونه وردپرس به دایرکتوری کمک بخواهید.شما نیاز خواهید داشت که به صورت دستی بازیابی انجام دهید.آفرین تمام شد نام حساب کاربری %s: %sترافیک مصرفی %s شما: %s %% استفاده شده، %s در دسترس می باشدنسخه ی %s شما: %s.UpdraftClone شما، هنوز در حال تنظیم شدن می باشد. پشتیبان شما بازنشانی شد.کپی شما شروع شده است، اطلاعات شبکه هنوز در دسترس نیست اما اینجا نمایش داده خواهد شد و همچنین در اکانت شما در سایت updraftplus.com آماده خواهد بود. کاربر پایگاه‌داده شما اجازه حذف جدول‌ها را نداردایمیل و آدرس شما را سایت UpdraftPlus.Com شناسایی نمی کند آدرس ایمیل شما معتبر است، ولی رمز عبور شما توسط UpdraftPlus.Com شناسایی نمی شود.فایل برون‌بری شما از تنظیمات نمایش داده شده شما خواهد بود، نه موارد ذخیره شده شما.اولین نسخه پشتیبان شمافضای خالی دیسک شما بسیار کم است - فقط %s مگابایت باقی ماندهمیزان فضای خالی در حساب هاست شما اندک است فقط %s مگابایت باقی مانده شررکت هاست شما باید ایت تابع را فعال کنید قبل از اینکه %s بتواند کار کند .لیبل شما برای این فایل پشتیبان (اختیاری)برای ورود تنها نیاز بهیک پسورد یا کلید میباشد نه هر دو.دسترسی تجاری شما به پشتیبانی UpdraftPlus به اتمام رسیده است.دسترسی تجاری شما برای پشتیبانی UpdraftPlus به زودی به اتمام خواهد رسید.دسترسی تجاری شما به آپدیت های UpdraftPlus برای افزونه های %s روی این سایت منقضی شده است.دسترسی تجاری شما به بروزرسانی های UpdraftPlus برای %s از %s افزونه های روی این سایت به زودی به اتمام خواهد رسید.دسترسی تجاری شما برای بروزرسانی های UpdraftPlus برای این سایت به زودی به اتمام خواهد رسید.تنظیمات ذخیره شده شما همچنین بر آنچه پشتیبان گرفته می‌شود تأثیر می‌گذارد - مثلا فایل‌هایی که مستثنی شده‌اند.پیکربندی شما ذخیره شد . تنظیمات شما پاک شد.آدرس ایمیل ادمین شما (%s) استفاده خواهد شد.مدل نسخه شما %sوبسرور شما دارای php میباشد که safe_mode در آن فعال است .تنظیمات نصب وب سرور PHP شما این تابع را غیر فعال کرده است : %s .ماژول %s بر روی وب سرور شما نصب نیست.وب سایت شما توسط وب سرور %s میزبانی می شود.وب سایت شما به ندرت بازدید می شود و این افزونه منابعی که به آن امیدوار بود دریافت نمی کند، لطفا این صفحه را بخوانید:مسیر پوشه ی wp-content شما: %sآن را در این سایت فعال نماییدتنظیمات پیشرفتهانجام شدو تعداد پشتیبان‌های زمان‌بندی‌شده که باید نگهداری شوندبایگانیاحراز هویت URIخطای احراز هویتاحراز هویت انجام نشدزمانی که پلاگین ها، قالب ها یا هسته را به روزرسانی می کنید، به صورت خودکار پشتیبان تهیه کنید. محاسبه کردندرحال پردازش ...چک کردن گزارش شما برای دیدن جزئیات.جداسازی %s: بارگذاری انجام نشدشمارشاعتبارنامهتلاش برای ارتباط با دیتابیس با مشکل مواجه شد.تلاش برای ارتباط با دیتابیس با مشکل مواجه شد.نام دیتابیسروزروزرد کردن اعلاندانلود: انجام نشد: فایل یافت نشدمثال %sبه طور مثال اگر سرور شما در طول روز شلوغ بوده و شما می خواهید در شب آن را اجرا کنیدFTP رمزگذاری شده ( رمزگذاری صریح)FTP رمزگذاری شده ( رمزگذاری ضمنی)خطا - ایجاد و دسترسی کانتینر انجام نشدخطا - اتصال مجدد تکه‌ها انجام نشدخطا - بارگذاری فایل انجام نشدخطا: %s (برای اطلاعات بیشتر فایل گزارش را مشاهده کنید)خطا: عدم موفقیت در بارگزاری فایل در %s (مشاهده فایل سوابق برای اطلاعات بیشتر)دسترسی به پوشه ی مادر با مشکل مواجه شدناموفق در لیست نمودن فایل هابارگذاری فایل در %s انجام نشد (برای اطلاعات بیشتر فایل گزارش را مشاهده کنید)سریعتر (قابلیتی برای نصب PHP آهسته)فایلحجم فایل:فایل: %sفولدراز این لینک دریافت کنید.برای کسب اطلاعات بیشتر به اینجا برویدبه روزرسانی های خودکار را آنگونه که خودتان می خواهید، مدیریت نماییدمیزباننام میزبانساعت‌دستی در ماهشامل همه‌ی گذرواژه‌هاکلیدنام کلیدآخرین فعالیت: %d ثانیه قبلآخرین فعالیت: %ss قبلآخرین نتایج گزارش کنسولورودعدم موفقیت در ورودمدیریت کردنهمه سایت های وردپرس خود را به صورت فوری از یک مکان، مدیریت نمایید.درحال اقدام برای بروزرسانی ...یا (تخفیف سالانه)یا برای بازگردانی دستییا برای ریست کردن این گزینهرمز عبوررمز/کلیداین لینک ها را دنبال کن تا بتونی پلاگین را فعال کنی این لینک ها رو دنبال کن تا بتونی پلاگین رو آپدیت کنیلطفا برای تلاش های برنامه ریزی شده منتظر بمانیدافزونه هااینجا را فشار دهیددر %s بیشتر بخوانیدتوصیه شدهرفرشFTP غیر رمزگداری شده ی معمولیفایل‌های از راه دور حذف شدندسایت از راه دورنوسازيبازسازیردیف ها: %dجستجو و جایگزین کردنشرایط جستجوتنظیماتنمایش اطلاعات PHP (phpinfo)نمایش فایل سوابقسایت پیدا نشدپرش (در لیست نمی باشد)آهسته‌تر ، قوی‌ترینشروع از دفعه بعد خواهد بودتوقفجدول: %sالگو پیدا نشدگزارش‌گیری از پایگاه‌داده در حال اجراست:قابل اعتمادترین افزونه پشتیبان‌گیری جهان!پوسته هااین مجموعه پشتیبان‌هااین مجموعه پشتیباناین سیاست حفظ حریم خصوصیجهت گرفتن پشتیبان های افزایشیمنبع نامشخصبرای تهیه نسخه پشتیبان ساده از سرور خود، این دکمه را فشار دهید. یا برای تنظیم پشتیبان‌گیری خودکار منظم و ذخیره‌سازی از راه دور، به %s تنظیمات %s برویدبارگذاری انجام نشداستفاده از UpdraftPlus تجاریکاربرنام کاربریهفتهبازنشانی خواهد شد به عنوان:همراه با تستشما حساب کاربری %s خود را احراز هویت نموده ایدشما موفق به احراز هویت حساب کاربری %s شدید.نصب PHP شما فاقد ماژول opensl است. در نتیجه، این می‌تواند چند دقیقه طول بکشد. اگر تا آن زمان هیچ اتفاقی نیفتاده باشد، یا باید یک کلید با اندازه‌ی کوچکتر را امتحان کنید، یا از شرکت هاستینگ خود بپرسید که چگونه این ماژول PHP را در تنظیمات هاستتان فعال کنید.حساب کاربری UpdraftPlus.Com شماآدرس مدیریت سایت شمافایل زیپ قابل اجرا یافت شد:languages/updraftplus-zh_TW.mo000064400000113672147400355670012476 0ustar00(\""" " """"##"# 2#?#H# P#\# t##6# ###*#*$&F$m$ }$ $$$#$E$%C&%j% r%}%%%%%% %0%!&4&R&a&p&&&7&C&-;'oi''9'"(8($Q(v((((( ( ( ( ) ))1)Q) n)z)9)%)6)&"*I*b* r**G* ***+#+>+KO+_+ +, :,D,I,P,-e, ,, ,,, - -)-?- E-Q-Z- b-p-- - - --:-*.>. [.g.?n..... //0/ E/R/X/a/r/// / //0 0!030B0^0r0 0#0 00000G1(\1)1P1J2K2[2p2(222T21393]?3333D3"4A4 G4S4 Z4 d444444444 4 5525 75 A5 N5Y5b5i5|5555 5 55 555>6 F6T6t6;{676J6 :7F7K7 g7s7 7777777 77f 8mr8A8"9951:g:w: :: :9: ::&;7; J; U;a;e;;<&<C<R<Dl</<< < ='= 9= F=P=Y=a= w= = =a= =>>3>I>N>a>x>{>>>>>N>5?O? T?Pb????????H @V@@@*@)A 9AFAOAbATgAA8ABBB1B9BNBjBB!C 6CDCZCaC jC5tCCCC CCCD .D ;DEDcD'DDbD6!EXE-`EEE#LFpFFF F FFF F F GG G%GY%YYY2Y5,Z/bZZ Z&Z ZZ Z[#[ )[7[;[B[@J[[[[ [[[[[ [# \-\6\M\ S\"`\\\\\\ \\\\] ]"]6]?]^]g]v]] ]!]]]]]]^ ^'^9^%_?_U_L`a`~` `` ```` ` ` ` aa %a/a<Fa a aaa)a&ab b+b=bFbOb;kbb&b b bb c-c>c Wc dc*qccc c c cc d'%d7Md-d]de/ ePece!vee e ee e e e e ff*f=fYf uffDff0f$gCgYgigyg@g ggghh-hIAh^hhi "i.i5ijEj Lj Yjfjvj}jjj+jjj kk;kWkmkkk kkkkkll'l=lPlol l lllllllm !m.m Nm[mnmumm>m'm:nN@n5n nnnno'oJ:oo o\oo ppF3p$zpp pp pppp p qq +q8q Lq Yqfqvq q q q qqq qqqq r r r*r=rSrZr'mrrr r2r5s<7s ts ss ssssssst 4t>t RtS^tt)trtViu5u uv vv-v,4v avkv!vv vvvvWvHwXw xwwCwww x "x.xMx ]xgxnxux x x xaxy!y=yNy aynyyy yyyyy0y+z>z Bz>Pz zzzzzzzKz8{{{ { | || |-|Y4||6|||} } },}F}t\}} }} ~ '~ 2~4?~t~~~ ~~~~ ~~!*?jM0- =Jۀ  $ 1>X r  Ɓ́   )6$Ej Ȃ ς ق -= P]I/̄) >9$x'-؅Y`)sS†<&S*z3!هA= Y f1t@/'* $8]pڊ!658l ̋ ۋ 1Mcy 4  9F Yf vύ&6 =J Q [g nx -̎ #x:Tk*o0)ː!$<ˑI^z)4ْ% 4 ANj q!~ ēȓ ̓C֓6I P ] gqx ˔ Ҕߔ-4 H R_x  ҕߕ !9@P` }%d errors, %d warnings%d hours, %d minutes, %d seconds%s (%s used)%s Error%s add-on not found%s authentication%s bits%s bytes%s checksum: %s%s error: %s%s hours%s logo%s per year%s restoration options:%s secret key%s table(s) found.%s total table(s) found; %s with the indicated prefix.%s version:%s weeks(Not finished)(backup set imported from remote location)(learn more about this significant option)(tap on an icon to select or unselect)(verb)Download(version: %s)(view log...)1 hour1 weekA host name cannot contain a slash.A search/replace cannot be undone - are you sure you want to do this?A zip error occurredABORT: Could not find the information on which entities to restore.API keyAPI secretAccount is not authorized.ActionsAdd an external database to backup...Add another address...Add siteAdding...Additional and enhanced remote storage locationsAdditional storageAdvanced / Debugging SettingsAdvanced ToolsAllow deletionAllow downloadAlso delete from remote storageAn admin password has been set.An error occurred when trying to retrieve your add-ons.An unknown error occurred when trying to connect to UpdraftPlus.ComAny other directories found inside wp-contentAnyone seeing the lock screen will be shown this URL for support - enter a website address or an email address.Apache modulesAre you sure that you wish to remove %s from UpdraftPlus?Asia Pacific (Mumbai)Ask a pre-sales questionAt the same time as the files backupAuthenticate with %sAuthenticate with GoogleAutomatic BackupAutomatic backup before updateBack...Backed up: %sBackup NowBackup ReportBackup began:Backup begunBackup created by:Backup data (click to download)Backup data will be sent to:Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified is writable, which is good.Backup directory successfully created.Backup external databaseBackup finishedBackup label:Backup made by %sBackup non-WordPress tables contained in the same database as WordPressBackup of: %sBackup set not foundBackup sets removed:Backup succeededBackup time and schedulingBackup using %s?Bad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe safe with an automatic backupBegun looking for this entityBlog linkCallCancelChange Lock SettingsCheck this box to have a basic report sent toChicago (ORD)China (Beijing) (restricted)Choose the components to restoreChoose your remote storageCleaning up rubbish...Client IDClient SecretCloning and migrationCloseCloud FilesCompleteConnectConnecting...Connection failed.Connection succeeded.ContainerContains:Content URL:Could not access %s containerCould not find that job - perhaps it has already finished?Could not open the backup file for writingCould not read the directoryCounting...CreateCreate OneDrive credentials in your OneDrive developer console.Created database backupCreated file backup zipsCreating database backupCreating file backup zipsCreating...Current limit is:Current memory usageCurrent use:DailyDatabaseDatabase OptionsDatabase backup scheduleDatabase decryption phraseDatabase encryption phraseDatabase successfully decrypted.Debug modeDebugging informationDeleteDelete Old DirectoriesDelete backup setDelete failed:Delete from your web serverDelete local backupDelete this backup setDeleting...Disable SSL entirely where possibleDisconnectDisconnecting...DismissDismiss (for %s months)Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do you need WordPress Multisite support?Do you use UpdraftPlus on multiple sites?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDrop backup files hereDrop encrypted database files (db.gz.crypt files) here to upload them for decryptionDropboxEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypted databaseEncrypting databaseEncryption key size:Enter a comma-separated list; otherwise, leave blank for all tables.Enter any path in the field below.ErrorError data:Error:Error: %sError: unexpected file read failErrorsErrors / warnings:Errors:Every %s hoursExclude these:Expert settingsExport / import settingsExport settingsExtensionsExternal databaseExternal database (%s)FAQsFTP loginFTP passwordFTP serverFacebookFailedFailed to downloadFailed to download %sFailureFast, personal supportFetchFetching...File OptionsFile not foundFile ready.FilesFiles backup scheduleFiles only (database was not part of this particular schedule)Find out moreFirst, enter the decryption keyFolderFollow this link to sign up for the UpdraftPlus newsletter.For even more features and personal support, check out For unlocking support, please contact whoever manages UpdraftPlus for you.FortnightlyFreeFree disk space in account:Full backupFull feature listGet PremiumGet UpdraftCentralGet more quotaGoGo here for helpGo here for more information.Go thereGoogle DriveHong Kong (HKG)If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If OneDrive later shows you the message "unauthorized_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead.If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If you are using this, then turn Turbo/Road mode off.Import settingsImporterImporting...Include in files backupIncrementalInfinite recursion: consult your log for more informationInstalledIntroducing UpdraftCentralIt can also backup external databases.JavaScript warningJob ID: %sJob deletedKeyKey created successfully.Keystone and swauth are technical terms which cannot be translatedThis needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.Last log messageLatest UpdraftPlus.com news:Latest status:Lead developer's homepageLeave this blank to use the default (80 for webdav, 443 for webdavs)Leave this blank, and a default will be chosen.Local files deleted:Lock settingsLondon (LON)Manually decrypt a database backup fileMemory limitMessages:MigratorMonthlyMore database optionsMore pluginsMore tasks:MultisiteN.B. This count is based upon what was, or was not, excluded the last time you saved the options.Name: %s.Need to use sub-folders?Network / multisiteNetwork and multisiteNewsNewsletter sign-upNext scheduled backupsNoNo adsNo backup has been completedNo local copy present.No log files were found.No settings were foundNo settings were found - please go to the Settings tab and check your settingsNo such backup set existsNoneNot installedNote that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing yet loggedNoticeOKOneDriveOpera web browserOptimizePress 2.0 encodes its contents, so search/replace does not work.Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.Other %s FAQs.OthersOtherwise, the default link will be shown.PHP informationPassive modePasswordPassword incorrectPathPayments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.Peak memory usagePlease consult this FAQ if you have problems backing up.PluginsPre-sales FAQsPre-update backupsPremiumPremium / ExtensionsPremium WooCommerce pluginsPress a button to get started.Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder).Processing files - please wait...Processing...Protocol (SSL or not)Quota:RSS linkRead moreRecommended: optimize your database with WP-Optimize.Refresh current statusRegionRemote files deleted:Remote pathRemote storageRemote storage authenticationRemove old directoriesReplace withReportingRequesting start of backup...Require password again afterRescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...RestoreRestore an existing backup set onto this siteRestore backupRestoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Return to UpdraftPlus ConfigurationReview UpdraftPlusRows per batchS3 (Compatible)Save ChangesSaving...Search / replace databaseSearch and replacing table:Search forSelect FilesSelect allSendSend to site:Server-side encryptionSettingsShow expert settingsShow the optionsSign upSiteSite home:Site informationSite information:Site sizeSize: %s MBSophisticated reporting and emailing capabilities.Split archives every:Standard (infrequent access)Start backupSubscriptions can be cancelled at any time.SuccessSuccess:SupportSupport URLTable prefixTell me more about incremental backupsTest %s SettingsTest connection...Testing connection...Testing...The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).The AWS access key looks to be wrong (valid %s access keys begin with "AK")The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The admin password has been changed.The admin password has now been removed.The backup attempt has finished, apparently unsuccessfullyThe decryption key used:The file was uploaded.The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The log file could not be read.The log file has been attached to this email.The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe user is being told the number of times an error has happened, e.g. An error (27) occurredAn error (%s) occurred:The zip engine returned the message: %s.ThemesThese tables onlyThis button is disabled because your backup directory is not writable (see the settings).This can easily destroy your site; so, use it with care!This feature requires %s version %s or laterThis is a count of the contents of your Updraft directoryThis site has no backups to restore from yet.This storage method does not allow downloadingThis will delete all your UpdraftPlus settings - are you sure you want to do this?This will import data from:Time nowTime taken:To access the UpdraftPlus settings, please enter your unlock passwordTo be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To fix the time at which a backup should take place,To fix this problem go here.To make a backup, just press the Backup Now button.To remove any block, please go here.Too many database errors have occurred - abortingTotal (uncompressed) on-disk data:Total backup size:Trying...TwitterUKUS (default)US Government West (restricted)US West (N. California)Unexpected response:UnknownUnknown server response status:Unknown server response:Unknown/unexpected error - please raise a support requestUnless you have a problem, you can completely ignore everything here.UnlockUpdate quota countUpdraft VaultUpdraftCentralUpdraftPlusUpdraftPlus - Upload backup filesUpdraftPlus BackupsUpdraftPlus Blog - get up-to-date news and offersUpdraftPlus NewsletterUpdraftPlus PremiumUpdraftPlus Premium:UpdraftPlus Restoration: ProgressUpdraftPlus is on social media - check us out!UpdraftPlus notice:UpdraftPlus warning:UpdraftVaultUpdraftVault storageUpgrade nowUpload backup filesUpload errorUpload error:Upload failedUpload files into UpdraftPlus.Uploaded to:Uploading files to remote storageUploadsUploads URL:Use the server's SSL certificatesUsernameVault ownerVersionView LogWarningWarning:Warning: %sWarningsWarnings:Web server:Web-server disk space in use by UpdraftPlusWeeklyWelcome to UpdraftPlus!Well done - there's nothing more needed to set up.Why am I seeing this?Wipe settingsWithout this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors.Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website.WordPress backup is completeWordPress core (only)YesYou can get more quota hereYou can manually decrypt an encrypted database here.You have not yet connected with your UpdraftPlus.Com account.You have not yet made any backups.You need to supply both an email address and a passwordYou should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly.You will need to restore it manually.Your IP address:Your backup has been restored.Your email address was valid, but your password was not recognised by UpdraftPlus.Com.Your label for this backup (optional)Your settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your web server has PHP's so-called safe_mode active.Your website is hosted using the %s web server.advanced optionsalready doneand retain this many scheduled backupscalculatecalculating...check your log for more details.configure it herecountdatabase namedayday(s)e.g. %se.g. if your server is busy at day and you want to run overnightfailed to access parent folderfailed to list filesfilefiles: %sfolderhosthour(s)i.e. Non-automaticManualin the monthincremental backup; base backup: %skey namelast activity: %ss agologinnotice imagenow proceeding with the updates...or to restore manuallyor, to reset this optionpasswordpluginsread more at %srecommendedrefreshremote files deletedresetsearch and replacesearch termsecure your backupssettingsshow PHP information (phpinfo)show logsite not foundskipped (not in list)stoptable: %sthe database query being run was:themesthis backup setunknown sourceuse UpdraftPlus Premiumuserusernameweek(s)you have authenticated your %s account.your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup.your site's admin addresszip executable found:PO-Revision-Date: 2018-01-22 20:53:09+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: GlotPress/3.0.0 Language: zh_TW Project-Id-Version: UpdraftPlus %d 錯誤, %d 警告%d 小時, %d 分鐘, %d 秒%s (%s 已使用)%s 錯誤%s 擴充套件未被找到%s 認證%s bits%s bytes%s 校驗碼: %s%s 錯誤: %s%s 小時%s 圖示%s 每年%s 還原過程選項%s 密鑰找到 %s 資料表。總計已找到 %s 資料表; %s 個標明前綴的資料表%s 版本:%s 星期(尚未完成)(已從遠端匯入備份)(了解更多關於這個重要的選項)(點選圖案以選擇或取消選擇)下載(版本: %s)(查看紀錄...)1 小時1 星期主機名稱不能有斜線搜尋/取代功能不能復原 - 你確定要這樣做嗎?發生 zip 錯誤中斷: 找不到還原項目的資訊API 金鑰API 密鑰帳戶未認證。動作新增一個外部資料庫進行備份......增加另一個地址...新增網站先增中...附加與增強的遠端儲存空間位置額外的儲存空間進階/除錯設定進階工具允許刪除允許下載一併移除遠端備份檔案已設定管理員密碼嘗試抓取擴充組件時出現錯誤嘗試連接 UpdraftPlus.Com 時, 出現未知的錯誤任何在 wp-content 內找尋到的資料夾任何人觀看鎖定頁面時會顯示支援網址 - 輸入網站地址或電子郵件地址Apache 模組你確定你希望從 UpdraftPlus 刪除 %s ?亞太(孟買)詢問售前問題在檔案備份期間同時進行以 %s 作認證Google 認證自動備份升級前自動備份返回...已備份: %s立即備份備份報告備份開始:備份已開始備份建立由:備份資料 (點擊下載)備份資料將發送到:備份時間備份資料夾備份資料夾 (%s) 可能未有寫入權限, 或資料夾不存在無法建立備份資料夾很棒!指定的備份資料夾可以寫入。備份資料夾已成功建立備份外部資料庫復份已完成備份標籤:由 %s 建立備份備份在 WordPress 同一資料庫內的非 WordPress 資料表備份: %s找不到備份檔備份檔案已移除:備份已完成備份時間與排程使用 %s 備份?錯誤的檔案格式 - 似乎這個檔案不是由 UpdraftPlus 建立的錯誤的檔案格式 - 似乎這個已加密的資料庫檔案不是由 UpdraftPlus 建立的更安全的自動備份開始尋找檔案實體資料Blog 連結呼叫取消變更鎖定設定若有打勾,每次備份的基本報告將會自動寄給芝加哥(ORD)中國 (北京) (受限)選擇組件以還原選擇你的遠端儲存空間清理無用的檔案...Client IDClient Secret複製與轉移關閉雲端檔案完成連接連線中...連結失敗連接成功。容器包含:內容網址:未能存取 %s 容器無法找到任務 - 或許它已經完成?無法寫入備份檔案無法讀取資料夾統計中...建立在你的 OneDrive 開發者後台建立 OneDrive 憑證。建立資料庫備份建立備份壓縮檔案建立資料庫備份建立備份壓縮檔案建立中…目前限制為:目前記憶體使用量現已使用:每日資料庫(Database)資料庫選項資料庫備份排程資料庫解鎖碼資料庫加密短語 (phrase)資料庫已經成功解密。除錯模式除錯資訊刪除刪除舊有資料夾刪除備份檔刪除失敗:刪除本地備份檔案刪除本機備份刪除備份檔刪除中...盡可能完全禁止使用 SSL中斷連線中斷連線中...忽略關閉 ( %s 月)不要驗證 SSL 憑證在還原之前, 請先閱讀這篇文章以取得更多資訊你需要 WordPress 多站點支援嗎?你有使用在多網站系統上使用 UpdraftPlus 嗎?不想要被竊取?UpdraftPlus 進階版可以加密你的資料庫備份。下載錯誤: 伺服器返回了一個未知的回應下載失敗正在下載中下載Log檔案下載最近修改過的Log檔下載到你的電腦拖曳檔案至此拖曳加密資料庫檔案(db.gz.crypt 檔案)到此上傳並進行解密Dropbox郵件通知UpdraftPlus (免費版本) 製作的電郵報告將會提供最近 UpdraftPlus.com 的消息已加密資料庫加密中資料庫加密金鑰長度:輸入以逗號分間的清單; 或者, 留空以選取所有資料表在下面欄位內輸入任何路徑錯誤錯誤資訊:錯誤:錯誤:%s未預期的檔案讀取失敗錯誤錯誤/警告:錯誤:每 %s 小時排除這些目錄:進階設定匯出/匯入設定匯出設定擴展功能外部資料庫外部資料庫 (%s)常見問題FTP 登入FTP 密碼FTP 位址Facebook失敗無法下載無法下載 %s失敗迅速,個人用戶支援擷取擷取中...檔案選項無法找到檔案檔案已準備好。檔案檔案備份排程只限檔案 (排程不包括資料庫)取得更多資訊首先請輸入解密金鑰資料夾點此連結以取得 UpdraftPlus 最新消息。如果需要更多功能和個人支援, 留意這裡如果需要解鎖的支援, 請聯絡 UpdraftPlus 管理者每兩星期免費版可用磁碟空間:完整備份完整功能清單取得進階版取得 UpdraftCentral取得更多額度執行到這裡尋求協助到這裡取得更多資訊。到那裡Google 雲端硬碟香港(HKG)如果待會Google顯示「invalid_client」,你就不用輸入「client ID」。若之後 OneDrive 顯示如需尋找支援, 請包含以下資訊如果無法直接跨站發送,這裡還有其他方法可以使用 - 請試著使用其他方法作為替代。如果不成功, 請檢查伺服器權限或使用伺服器上其他可寫入的目錄如果你正在使用它, 請關閉 Turbo/Road 模式匯入設定匯入匯入中...包含在備份檔中增量無限遞迴: 查閱Log以取得更多資訊已安裝UpdraftCentral 介紹它亦可以備份外部資料庫JavaScript 警告工作 ID: %s任務已刪除金鑰金鑰建立成功。這需要使用 v2 (Keystone) 認證方式; 現時未有支援 v1 (Swauth) 認證方式最近Log訊息UpdraftPlus.Com 最新消息:最近狀態:主要開發者網頁保持空白即使用預設值(80 為 webdav,443 為 webdavs)留空將會使用預設值本地檔案已移除:本地設定倫敦(LON)手動解密資料庫備份檔記憶體限額訊息:轉移每月更多資料庫選項更多外掛更多任務:多站點N.B. This count is based upon what was, or was not, excluded the last time you saved the options.名稱:%s。需要使用子目錄嗎?網路/多網站網路與多網站最新消息訂閱最新消息下次排程備份否無廣告沒有已有完成的備份未有本機副本沒有找到Log檔未找到任何設定尚未設定。請至設定頁面檢查設定。沒有備份檔案無Not installed注意並非所有雲端備份方法都需要使用 SSL 認證備註:目前沒有排程任務未有任何已登入提醒好OneDriveOpera 瀏覽器OptimizePress 2.0 會加密自身的內容,因此無法搜尋或取代。或者你可以手動放置在 UpdraftPlus 目錄 (通常位於wp-content/updraft),例如,從 FTP,然後進行 "重新掃描"。其他 %s 常見問題。其它否則, 將會顯示預設連結PHP 資訊被動模式密碼密碼錯誤路徑使用信用卡或 Paypal 時,接受以美金、歐元或是英鎊作為貨幣單位。高峰記憶體使用量如果你有任何備份的問題, 請查閱這份 FAQ外掛(plugins)售前常見問題預先更新備份進階版進階/擴充進階 WooCommerce 外掛按下按鈕以開始按這裡查看你目前遠端備份方式所存的檔案(來自任何網站,假設你儲存在同一目錄的話)檔案處理中 - 請稍後...處理中...通訊協定(SSL 或不用)引言:RSS 連結閱讀更多推薦:使用 WP-Optimize 優化你的資料庫。更新使用狀態區域遠端檔案已刪除:遠端目錄遠端儲存空間遠端儲存空間認證移除舊資料夾取代為報告正在請求開始備份再次要求提供密碼的間隔重新掃描在本機資料夾的備份檔重新掃描遠端儲存空間重新掃描(正尋找已手動上傳至內部備份空間的備份檔案)...重新掃描遠端和本地空間的備份檔...還原在這個戰點上還原一個現有的備份還原備份還原將會取代這個網站的佈景主題, 外掛, 上傳, 資料庫 及/或 其他內容的資料夾 (基於備份檔和你選擇的內容)返回 UpdraftPlus 設定評價 UpdraftPlus每次的行數S3 (相容)儲存變更儲存中...搜尋 / 取代 資料庫搜尋和取代資料表:搜尋項目選擇檔案選擇全部送出發送到網站:伺服器端加密設定顯示進階設定顯示選項加入網站網站主目錄:網站資訊網站資訊:網站大小大小:%s MB詳細報告與郵件通知功能。檔案分割大小每:標準(極少存取)開始備份可以隨時隨地取消訂閱成功成功:支援服務支援網址資料表前綴更多有關增量備份測試 %s 設定測試連接...測試連線中...測試中...未能進行 "立即備份", 這可能是由於備份目錄為不可寫入狀態 (請前往 "設定" 頁檢視及修改相關的選項)AWS 存取金鑰有誤(%s 有效的存取金鑰應該以 "AK" 開頭)以上的目錄為所有的網站項目,但不包含 WordPress 主程式,因為你可以從 WordPress.org 直接下載取得。已變更管理員密碼已移除管理員密碼備份工作已完成, 但似乎不成功使用的密碼:這個檔案已上傳。資料夾已存在, 但你的網頁伺服器未有寫入權限以下實體未能自動還原: "%s"無法讀取Log檔Log已附件在這封電子郵件內。在檔案系統建立資料夾的請求失敗未有安裝必需的 PHP 組件 - 請向你的網頁寄存公司查詢以開啟此功能發生錯誤 (%s):壓縮引擎回傳了以下的訊息:%s佈景(themes)只有這些資料表按鍵已停用, 因為你的備份資料夾未能寫入檔案 (請檢查設定)。這樣很容易會破壞你的網站; 所以請小心使用!這功能需要 %s 版本 %s 或更新這是你 Updraft 資料夾的內容總計這個站點尚未有任何備份可以用來還原這個儲存空間不允許下載這會移除 UpdraftPlus 所有的設定 - 你確定要這樣做?這將匯入檔案,從:現在時間所需時間:請輸入解鎖密碼以存取 UpdraftPlus 設定想要設定資料夾名稱,請使用 UpdraftPlus 進階版。想要更改任何預設備份設定、排程自動備份、自動上傳備份檔案到遠端(推薦)...等功能,請到「設定」頁籤操作吧!修復備份開始時間到這邊修復此問題。製作備份, 只需按一下 "立即備份"。若要移除封鎖,請往此處去。發生過多的資料庫錯誤 - 中斷中硬碟空間總計 (未經壓縮):總備份大小:正在嘗試...Twitter英國美國(預設)US Government West (restricted)美國西岸 (加州北部)未預期的回應:未知未知的伺服器回應狀態:未知的伺服器回應:未知或未預期的錯誤 - 請尋求我們的支援除非你遇到問題, 否則你可以略過這些內容解除鎖定上傳限額更新 VaultUpdraftCentralUpdraftPlusUpdraftPlus - 上傳備份檔案UpdraftPlus 備份UpdraftPlus 網誌 - 取得最新訊息與優惠UpdraftPlus 電子報UpdraftPlus 進階版UpdraftPlus 進階版:UpdraftPlus 還原設定: 過程UpdraftPlus 也在社群平台上 - 追蹤我們!UpdraftPlus 提醒:UpdraftPlus 警告:UpdraftVaultUpdraftVault 儲存空間立刻升級上傳備份檔案上傳錯誤上傳錯誤:上傳失敗上傳檔案到 UpdraftPlus 。已上傳到:正在上傳檔案到遠端已上傳檔案(uploads)上傳路徑:使用伺服器的 SSL 證書使用者帳號Vault 擁有人版本檢視記錄警告警告:警告:%s警告警告:伺服器環境:UpdraftPlus 已佔用的空間每星期歡迎使用 UpdraftPlus!做得好 - 已經沒有東西需要設定了為甚麼我會見到這個?Wipe 設定若失去這項權限,UpdraftPlus 便不能刪除備份 - 或許你可以將你的「保留」選項設得非常大,避免類似的刪除錯誤跑出來>若失去這項權限,你便不能透過 UpdraftPlus 直接下載或還原備份,你得親自到 AWS 網站處理。WordPress 備份已完成WordPress 核心 (僅)是你可以在此取得更多的使用額度你可以在這裡把已加密的資料庫解密你仍未連結到 UpdraftPlus.Com 帳號你未有任何已製作的備份你需要提供電子郵件和密碼請確定你連得上遠端網站、並未被防火牆擋住、啟用 UpdraftPlus %s 或以上的版本而且各項欄位都已正確輸入。你將需要手動進行還原你的 IP 位址:你的備份已還原你的電郵地址是有效的, 但密碼未能在 UpdraftPlus.Com 驗證此備份的標籤 (可選)您的設置已經保存。你的設定已被抹除將會使用網站的管理員電郵 (%s)你的網頁伺服器的 PHP 已啟用 的 safe_mode你的網頁使用 %s 網頁伺服器進階設定已經完成和保留排程備份數量計算計算中...檢視記錄以獲取更多資訊在此設定統計資料庫名稱日天例如 %se.g. 當你的伺服器平日很繁忙, 而你希望在午夜進行未能存取父層資料夾無法列出檔案檔案檔案: %s資料夾伺服器小時手動本月增量備份; 基層備份: %s金鑰名稱最近活動: %ss 之前登入注意圖示正在進行及更新或手動還原或者, 重設此選項使用者密碼外掛在 %s 閱覽更多已推薦重新整理遠端檔案已移除:重設搜尋及取代搜尋字詞保護您的備份設定顯示 PHP 資訊 (phpinfo)顯示Log檔找不到站點略過 (未有在列表上)停止資料表:%s執行資料庫查詢: 主題這個備份檔未知的來源使用 UpdraftPlus 進階版使用者使用者帳號週名稱:%s。你的 PHP 沒有安裝 OpenSSL 模組;這通常需要花上幾分鐘;如果稍後沒有任何變化,那麼你應該試試小一點的金鑰長度,或者是諮詢你的網頁代管公司如何啟用 OpenSSL 模組。網站管理員信箱找到可執行zip檔:languages/updraftplus-ko_KR.mo000064400000003177147400355670012446 0ustar00$<\\ ]hou|        (19AU^fov     )7>N mw~    !(B F gqxBackup NowCancelDailyDeleteDismissErrorError:ExtensionsFacebookInstalledLock settingsMonthlyMultisiteNetwork / multisiteNoNoneNot installedPHP informationPremiumSave ChangesSaving...SettingsSupportTwitterUpdraftPlus PremiumUsernameVersionWarning:WeeklyWooCommerce pluginsYesYour settings have been saved.loginsettingsstopPO-Revision-Date: 2021-04-05 14:33:28+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=1; plural=0; X-Generator: GlotPress/3.0.0 Language: ko_KR Project-Id-Version: UpdraftPlus 지금 백업하기취소일간지우기무시하기오류에러:추가기능Facebook설치했습니다잠금 설정월간다중사이트네트워크 / 멀티사이트아니오없음인스톨되지 않음PHP 정보프리미엄변경 사항 저장저장 중...설정지원트위터UpdraftPlus 프리미엄회원 아이디버전경고:주간우커머스 플러그인네설정이 저장되었습니다.로그인설정중지languages/updraftplus-tr_TR.mo000064400000334344147400355670012476 0ustar00C4"LDLD8MDuDD E 4ESAEEE#EE E FF/FHF#XF |F)F'F FKF HGKUGG GGGGG2G(H+@H lHzH$HH6HWI ZIfI,oII IrI/*JZJpJ*J*JAJW'KIKK K KKLLLL+(MtTM@ME N3PNNCN NN NNO%O]OPP 9PlFPhPQ$Q BQ#MQqQ%QQQ Q QQQRR4RgCRgR)S)=SgSmSST^TpT<T)TTU8U7U8VCQVbVKV-DWRrWoW5X9UX4XXXXTYM]YYY$YYZ-Z-]6]&*^+Q^}^^^^ ^^(^G_ d_8o____K__/`` a4aRa Za daqaxa}aa a-a5a bmcO|cEc d d =d^dyd9eIe `e je xe eee eeeef!fT9f!ffff"f3g4gk,Wkk kkkk kkk lll)7lalrlll?l m%"m HmSm)immmmmmmn n%n9nBn#QnEun nnnn*nL"ooo@pG_p"pp(aq1q:qPqJHrrrr(rr sT$syss]sss tD!tNftOt#u5)u_u<0vmv6w# /<Cc%jWa;J79UgJB ZQf …ޅ %(N]`hyφ" 7zKƇևۇ+Èf݈mDAwk`o_Ћ05̌K|NRˍRq$]:LGn-A Q%^ 9WZ=_&$Ē+1G Z equ%9Jgv/&Ք, )G7: %Ε '+ S `8j Ė ̖ ז !$' LVhya? ٘ 4 HRWj ?Ǚ 7'Px ՚/Pś*8cv}jsg* @Nj*D] mz T%8?'x#%ݠO(S?|;6;/;k'Ϣעܢ$Cģ/O! Ǥդ$ !E4g@#ݥ, 3P> ȦϦ @>\'yb6 Q\-d7A#y ˪ժ) B OY:s ʫի14)<^ Ŭʬ1" =%Kqĭխ ݭ &7I R \Bh1Ю ,+5airr   *A7y &°ɰڰ %DrVIfx@)$j(nc25":X6Q<"S(v,q̸>IĹ'JD/8=TNk<j;bR-1L_3=W>vPuP|(Ϳfdv3Y889q@&P,d=\9Zo/P9&-`.S~R EKT@<41$3V7$F$kE.Ot1"2  /GXg LL Vks9E,3G Zh!4 !Uw!!WkRALCb3  6ZC!H!)K T amu7~ KKkt @C4SN + 2^7 ,|%4IQ;(*;.OjTM(],4DZIG6 kA="+[:[U7H=$ +="i%%#R7OS^jQB99% -A&V}T<:FV\4GD0%uV 495Po_G h25D 6e/v)Cm &  "4":#] K@#/#S!w:3< A OY`{3  #&=D[ah"m& E?A'   )2QZi !)AFOW&h']Zat< !1J^u+)@+`G D% -9V^sP81B \}<z GT$]H(q",.GWMM  6=E,lJQfG"I#m SL k   ((Q2j  %5[ioi0C(t d#4}H:* {@  ; , =D H l O8 ? P o  9 @  4 J p_ \ %-S!g >#3lKD-5iD M-{")(  >[-{??6)*`1 NR;S+j&o  :)Qd8?Kx &19  + 5CSfl!!-VG/!$03dl(  1""#9F,-  K cl D +!2A! t!!!9!'!""5<"#r""""""""# #)(#3R##"# # #3$$8$,]$$$3$$$%%&%=%O% c%p%% %2%I%$&6&N&U&0j&S&f& V'Uw'&''5(A(/)\K)A))*#*-7*e***+'+y.++++\+PT,Q,-,>%-d-:_..!/&/ @//N/ ~/4/://0$ 0B/0;r0)0%0011 51=C111 1&11122,2<2[2 t22222 2 22 2Q2>3%X3E~333 3! 49,4"f4#4444B4o05R5j5*^6;6 6676-&7/T7'707j7H8N8`]8?8809 A9HO9 99099I93@:t::3:::,:;'!;lI;p;@'<h< <8=SS=c=X >d>|>c> >&>("? K? V?d?#~??? ??$?@("@K@,j@ @9@r@QAaA)fAA4@BuBjBBD~CzC>DdDtCEPE F3FQFGcGIHQHIe+IFILI%JJQKjK<KKKAK" L[CLL9L@L/M4OM-MM M MM!MT N_NvN!N N#N=NOA-O/oOO]ON P\P cP$pPPPP)P Q QM"Q#pQQQQQQ,Q(R FRPRgR.~RRwlS S%S'T=T]TvT"T&T TTT%T#U*U9URUKkUUUU" V,V=V\VeVtV V<VV[uWW"W+W%XEXLXRXeXMYVYgYf~YY5Y3Z*EZpZ&[-[<[;C['[ [ [[[ [[_[^\1|\K\+\ &]+G],s]M]#]Q^0d^8^8^6_*>_ i_t_y____!_u_b`+`a5a)Haraaa aaaBa8!bEZbHbbc c1c 8cNCcc"c cccc d>d#Vd*zd7d#dge?iee e1ee ffCg)gh&h ;h GhQhehzhh-hh hi."iQi pizi*i2i0iP j qj$~jj!j1j)j)k/8khkkk$kk kkkkl-l$v=cv&vv6vFwfw.}wwwvwaxXx#Qyuy7y*y6y/!z8QzzSz/zx#{0{{U{@|!Y|L{|-|<|R3};}R}~b,~1~~a~+>@nW94ABv,M=4r=17oP9xlVCÅ>'FSn†jX Çч G[6E؈?:&";I??Ŋ1-ˋHYӌ-73.kT 1MVm)Ԏ/.SK]  ==YM   " 0,Q~!ΑC$Di"|]tJ7ӓ? 7K6Ք )<+A mxM% ,9BAX ?A 6@ \2g<*חV Y:e  1јMQi-}{>Қ"ZxA#BIWgN 8XC%՝H:DtA(68_y6"I1li|LJҡ>\r*&&آ.,.-[1Q7 EP(ysDv@, ç,٧2NZiĨKL;DX/;FĪM %YjIGHfm_eŭ߭4.?MI'׮9q9*֯# & 1RW_6p,-+ 0]: L''<CO вT ^ d r# G   #)M Ubz&~  #'&DKDZ=2ݵ 7FMj |  ߶8U \f.zɷѷ   )'="e""%s" has no primary key, manual change needed on row %s."tenant" is a term used with OpenStack storage - Google for "OpenStack tenant" to get more help on its meaningtenant%d errors, %d warnings%d hours, %d minutes, %d seconds%s (%s used)%s - could not back this entity up; the corresponding directory does not exist (%s)%s Error%s Error: Failed to initialise%s Error: Failed to open local file%s Error: Failed to upload%s access key%s archives remain%s authentication%s authentication failed%s checksum: %s%s download: failed: file not found%s end-point%s error - failed to access the container%s error - failed to re-assemble chunks%s error - failed to upload file%s error - we accessed the container, but failed to create a file within it%s error: %s%s has been chosen for remote storage, but you are not currently connected.%s hours%s location%s login failure%s logo%s minutes, %s seconds%s per quarter%s re-assembly error (%s): (see log file for more)%s restoration options:%s returned an unexpected HTTP response: %s%s secret key%s settings test result:%s support is available as an add-on%s table(s) found.%s total table(s) found; %s with the indicated prefix.%s upload: getting uploadID for multipart upload failed - see log file for more details%s version:%s weeks%s: unreadable file - could not be backed up(Not finished)(Read more)(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).(apparently a pre-release or withdrawn release)(as many as you like)(at same time as files backup)(backup set imported from remote location)(learn more about this significant option)(logs can be found in the UpdraftPlus settings page as normal)...(make sure that you were trying to upload a zip file previously created by UpdraftPlus)(or connect using the form on this page if you have already purchased it)(verb)Download(version: %s)(view log...)... and many more!1 hour1 weekDo not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...).(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem).This is NOT a folder name.A "migration" is ultimately the same as a restoration - but using backup archives that you import from another site.A key with this name already exists; you must use a unique name.A search/replace cannot be undone - are you sure you want to do this?A very large file was encountered: %s (size: %s Mb)A zip error occurredABORT: Could not find the information on which entities to restore.API Key: %sAPI keyAPI secretAWS authentication failedAccess Key: %sAccount full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized.Account typeAccounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-basedActionsActions upon selected backupsAdd a siteAdd an additional retention rule...Add an exclusion ruleAdd an external database to backup...Add another address...Add siteAdding...Admin API KeyAdmin UsernameAdmin access keyAdmin secret keyAdvanced / Debugging SettingsAdvanced ToolsAfter pressing this button, you will be given the option to choose which components you wish to migrateAfter pressing this button, you will be given the option to choose which components you wish to restoreAll files beginning with given charactersAll files beginning with these charactersAll files with this extensionAll references to the site location in the database will be replaced with your current site URL, which is: %sAllow deletionAllow downloadAlmost all FTP servers will want passive mode; but if you need active mode, then uncheck this.Also delete from remote storageAlso send this backup to the active remote storage locationsAlso, you should read this important FAQ.An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %sAn admin password has been set.An error occurred on the first %s command - aborting runAn error occurred when trying to retrieve your add-ons.An error occurred whilst closing the final database fileAn unknown error occurred when trying to connect to UpdraftPlus.ComAn update containing your addons is available for UpdraftPlus - please follow this link to get it.An update is available for UpdraftPlus - please follow this link to get it.Any other directories found inside wp-contentAny support requests to do with %s should be raised with your web hosting company.Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address.Archive is expected to be size:Are you sure that you wish to remove %s from UpdraftPlus?Are you sure you want to remove this exclusion rule?Asia Pacific (Singapore)Asia Pacific (Sydney)Asia Pacific (Tokyo)Ask WordPress to automatically update UpdraftPlus when it finds an available update.Ask WordPress to update UpdraftPlus automatically when an update is availableAsk a pre-sales questionAssigned to this siteAt the same time as the files backupAuthenticate with %sAuthenticate with GoogleAuthenticationAuthorisation failed (check your credentials)Automatic BackupAutomatic backup before updateAutomatic updatesAutomatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable for this site (via your all-addons purchase)Available to claim on this siteAzure GovernmentBack...Backed up: %sBackup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingBackup Contents And ScheduleBackup NowBackup ReportBackup began:Backup begunBackup contains:Backup created by unknown source (%s) - cannot be restored.Backup created by:Backup created by: %s.Backup data (click to download)Backup data will be sent to:Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified does not exist.Backup directory specified exists, but is not writable.Backup directory specified is writable, which is good.Backup directory successfully created.Backup does not exist in the backup historyBackup external databaseBackup file not available.Backup finishedBackup is of: %s.Backup label:Backup made by %sBackup non-WordPress files and databasesBackup non-WordPress tables contained in the same database as WordPressBackup of:Backup sent to remote site - not available for download.Backup set not foundBackup sets removed:Backup succeededBad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive.Be safe with an automatic backupBegun looking for this entityBelgiumBlog linkBlog uploadsBuy ItCallCancelChange Lock SettingsChanges made:Check this box to have a basic report sent toCheck this box to use Amazon's server-side encryptionCheck this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits).Check this to receive more information and emails on the backup process - useful if something is going wrong.Check your file permissions: Could not successfully create and enter directory:Check your file permissions: Could not successfully create and enter:Chicago (ORD)China (Beijing) (restricted)Choose the components to restoreChoose your remote storageClaim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?Claim not granted - your account login details were wrongCleaning up rubbish...Client IDClient SecretClone readyClone region:CloseClosing 1st October 2018Cloud FilesCloud Files API KeyCloud Files ContainerCloud Files Storage RegionCloud Files UsernameCloud Files authentication failedCloud Files error - we accessed the container, but failed to create a file within itCloud Files operation failed (%s)Cloud Files usernameCompleteConfirm changeConflict: that user already existsConflict: that user or email address already existsConnectConnect to updraftplus.comConnect with your UpdraftPlus.Com accountConnecting...Connection failed.Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.Connection succeeded.ConstantsContainerContains:Content URL:Control all your backups in one placeCopying this entity failed.Could not access %s containerCould not find that job - perhaps it has already finished?Could not get list of tablesCould not move old files out of the way.Could not open the backup file for writingCould not read the directoryCounting...CreateCreate OneDrive credentials in your OneDrive developer console.Create a new API user with access to only this container (rather than your whole account)Create a temporary clone on our servers (UpdraftClone)Create new API user and containerCreate new IAM user and S3 bucketCreated database backupCreated file backup zipsCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backupCreating database backup with UpdraftPlus...Creating file backup zipsCreating...Current clonesCurrent limit is:Current memory usageCurrent use:DailyDallas (DFW) (default)Dashboard:DatabaseDatabase (created by %s)Database (files backup has not completed)Database OptionsDatabase backup scheduleDatabase decryption phraseDatabase encryption phraseDatabase only (files were not part of this particular schedule)Database successfully decrypted.Database: search and replace site URLDebug modeDebugging informationDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete failed:Delete from your web serverDelete local backupDelete this backup setDeleting...Deploying site dataDeselectDirectory pathDisable SSL entirely where possibleDisabled this plugin: %s: re-activate it manually when you are ready.DisconnectDisconnecting...DismissDismiss (for %s months)Dismiss from main dashboard (for %s weeks)Do not abort after pressing Proceed below - wait for the backup to complete.Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated.PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted.Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do remember to save your settings.Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral.Do you need WordPress Multisite support?Do you want to migrate or clone/duplicate a site?Don't know your email address, or forgotten your password?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDrop backup files hereDrop encrypted database files (db.gz.crypt files) here to upload them for decryptionDropboxEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypted databaseEncrypting databaseEncryption key size:Enter a comma-separated list; otherwise, leave blank for all tables.Enter addresses here to have a report sent to them when a backup job finishes.Enter details for where this new site is to live within your multisite install:Enter in format HH:MM (e.g. 14:22).Enter the path of the %s folder you wish to use here.Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name.Enter your UpdraftPlus.Com email / password here to connect:Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name.ErrorError - failed to download the fileError data:Error downloading remote file: Failed to downloadError messageError opening local file: Failed to downloadError opening remote file: Failed to downloadError:Error: %sError: the server sent an empty response.Error: the server sent us a response (JSON) which we did not understand.Error: the server sent us a response which we did not understand.Error: unexpected empty parameter (%s, %s)Error: unexpected file read failErrorsErrors / warnings:Errors encountered:Errors have occurred:Errors occurred when trying to connect to UpdraftPlus.Com:Errors occurred:Errors:Every %s hoursExamples of S3-compatible storage providers:Exclude files/directoriesExclude these fromExclude these:Existing keysExpert settingsExport / import settingsExport settingsExtensionsExternal databaseExternal database (%s)FAQsFTP loginFTP passwordFTP serverFacebookFailedFailed to access %s when deleting (see log file for more)Failed to apply User PolicyFailed to create a temporary directoryFailed to delete working directory after restoring.Failed to downloadFailed to download %sFailed to find database fileFailed to open database fileFailed to open database file for reading:Failed to open database file.Failed to open the zip file (%s) - %sFailed to unpack the archiveFailed to upload %sFailed to upload to %sFailed to write out the decrypted database to the filesystemFailed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location.Failed: We were able to log in, but failed to successfully create a file in that location.Failed: We were not able to place a file in that directory - please check your credentials.Failed: the %s operation was not able to start.Failed: we did not understand the result returned by the %s operation.FailureFailure: No %s was given.Failure: No bucket details were given.Failure: No container details were given.Failure: No server details were given.Failure: Port must be an integer.Failure: we did not successfully log in with those credentials.Failure: we successfully logged in, but were not able to create a file in the given directory.FetchFetching...File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.File is not locally present - needs retrieving from remote storageFile not foundFile not found (you need to upload it): %sFile ready.File was found, but is zero-sized (you need to re-upload it): %sFile/directoryFilesFiles (database backup has not completed)Files and databaseFiles and database WordPress backup (created by %s)Files backup (created by %s)Files backup scheduleFiles found:Files only (database was not part of this particular schedule)Final checksFinishFirst, enter the decryption keyFolderFollow this link for more informationFollow this link to attempt decryption and download the database file to your computer.Follow this link to download the log file for this restoration (needed for any support requests).Follow this link to sign up for the UpdraftPlus newsletter.Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.For backups older thanFor even more features and personal support, check out For longer help, including screenshots, follow this link.For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium.For unlocking support, please contact whoever manages UpdraftPlus for you.Forgotten your details?FortnightlyFound SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset().FrankfurtFree disk space in account:Free two-factor security pluginFront page:Full backupFull feature listGet it from the UpdraftPlus.Com StoreGet more quotaGoGo hereGo here for helpGo here for more information.Go here to activate it.Go here to begin installing it.Go here to connect.Go here to re-enter your password.Google DriveGoogle Drive list files: failed to access parent folderHave not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.Hong Kong (HKG)HostHow do I get a site's key?However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.However, subsequent access attempts failed:IAM operation failed (%s)If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If OneDrive later shows you the message "unauthorized_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead.If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.If you are not sure then you should stop; otherwise you may destroy this WordPress installation.If you are not sure what this option is for, then you will not want it, and should turn it off.If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes.If you are using this, then turn Turbo/Road mode off.If you bought new add-ons, then follow this link to refresh your connectionIf you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.If you exclude both the database and the files, then you have excluded everything!If you have already renewed, then you need to allocate a licence to this site - %sIf you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)If you have forgotten your password If you have forgotten your password, then go here to change your password on updraftplus.com.If you leave it blank, then the backup will be placed in the root of your %sIf you see errors about SSL certificates, then please go here for help.If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite.If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.Import settingsImporting...In %s, path names are case sensitive.Include in files backupIncrementalInfinite recursion: consult your log for more informationInformation needed to continue:Interested in knowing about your UpdraftPlus.Com password security? Read about it here.IowaIt appears that your web server's IP Address (%s) is blocked.It can also backup external databases.It has been tested up to version %s.It is an ID number internal to Google DriveIt is for sending backups to the following site: JavaScript warningJob ID: %sJob deletedKeyKey created successfully.Keystone and swauth are technical terms which cannot be translatedThis needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.Known backups (raw)Last log messageLatest UpdraftPlus.com news:Latest status:Lead developer's homepageLeave this blank, and a default will be chosen.Local files deleted:Local write failed: Failed to downloadLock access to the UpdraftPlus settings pageLock settingsLog all messages to syslog (only server admins are likely to want this)Log in here to enable all the features you have access to.LondonLondon (LON)Looking for %s archive: file name: %sManage AddonsManage your clonesManual backup optionsManually decrypt a database backup fileMemory limitMessages:Migrate (create a copy of a site on hosting you control)Migrated site (from UpdraftPlus)MonthlyMore FilesMore pluginsMore quality pluginsMore tasks:Moving old data out of the way...Moving unpacked backup into place...MultisiteMultisite InstallMust-use pluginsN.B. %s is not case-sensitive.N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.N.B. This count is based upon what was, or was not, excluded the last time you saved the options.Name: %s.Need to get support?Need to use sub-folders?Needs to already existNetwork activating theme:New IAM usernameNew User's Email AddressNew User's UsernameNew site:NewsNewsletter sign-upNext scheduled backupsNoNo %s foundNo %s settings were foundNo backup has been completedNo backup of %s directories: there was nothing found to back upNo database tables foundNo local copy present.No log files were found.No receiving sites have yet been added.No settings were foundNo such backup set existsNoneNorth VirginiaNorthern Virginia (IAD)Not installedNot yet got an account (it's free)? Go get one!Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates.Note that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing to do: the site URL is already: %sNothing yet loggedNoticeOKOld table prefix:One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the "retain" settings; if/when you wish to delete them then you must do so manually.OneDriveOneDrive GermanyOneDrive InternationalOnly the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOperation to create user Access Key failedOptions (raw)Or, use an UpdraftClone keyOr, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.OregonOther %s FAQs.OthersOtherwise, the default link will be shown.Over-write wp-config.phpPHP informationPassive modePasswordPassword incorrectPassword: %sPaste key herePayments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.Peak memory usagePlease check your access credentials.Please consult this FAQ if you have problems backing up.Please enter a file extension, like zipPlease enter a valid URLPlease enter a valid file extensionPlease enter a valid file name prefixPlease enter characters that begin the filename which you would like to excludePlease fill in the required information.Please give this key a name (e.g. indicate the site it is for):Please make sure that you have made a note of the password!Please re-authorize the connection to your %s account.Please select a file/folder which you would like to excludePlease supply the requested information, and then continue.Please wait whilst we make the claim...PluginsPortPre-sales FAQsPremiumPremium / ExtensionsPremium WooCommerce pluginsPress a button to get started.Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded.Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder).Press this button to take a tour of the plugin.Proceed with updateProcessed plugin:Processing files - please wait...Processing...Pruning old backup setsQuota:RSS linkRaw backup historyRead FAQs here.Read more about Easy Updates ManagerRead more about how this works...Read this article to see step-by-step how it's done.Read this page for a guide to possible causes and how to fix it.Receive a backup from a remote siteReceiving site dataRefresh current statusRegionRegion: %sRemember this choice for next time (you will still have the chance to change it)Remote Storage OptionsRemote files deleted:Remote pathRemoveRemove old directoriesReplace withReportingRequested table engine (%s) is not present - changing to MyISAM.Requesting start of backup...Require password again afterRescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...Reset tourRestoreRestore an existing backup set onto this siteRestore backupRestoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Retrieving (if necessary) and preparing backup files...Return to UpdraftPlus ConfigurationRows examined:Rows per batchS3 (Compatible)S3 bucketS3 storage regionSCP/SFTP host settingSCP/SFTP password/keySCP/SFTP user settingSQL update commands run:Save ChangesSaving...Search / replace databaseSearch and replace site location in the database (migrate)Search and replacing table:Search forSecret Key: %sSee this FAQ also.Select 'Web Application' as the application type.Select a file/folder which you would like to excludeSelect a way to exclude files or directories from the backupSelect allSelect what you want to backupSendSend a backup to another siteSend a report only when there are warnings/errorsSend this backup to remote storageSend to site:Sending Your Backup To Remote StorageServer-side encryptionSettingsShow expert settingsShow raw backup and file listShow the optionsSign upSingaporeSiteSite data has been deployedSite data receivedSite home:Site informationSite information:Site keySite sizeSize: %s MBSome files are still downloading or being processed - please wait.South CarolinaSplit archives every:Split line to avoid exceeding maximum packet sizeStart backupStarting automatic backup...Store atSubscriptions can be cancelled at any time.SuccessSuccess:Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:SupportSupport URLSupported backup plugins: %sSydneySydney (SYD)Table prefixTable prefix has changed: changing %s table field(s) accordingly:Tables examined:TaiwanTake TourTell me more about incremental backupsTenantTest %s SettingsTest connection...Testing %s Settings...Testing connection...Testing...Thank you for taking the tour.The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.The %s object was not foundThe 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site.The UpdraftPlus module for this file access method (%s) does not support listing filesThe WordPress content folder (wp-content) was not found in this zip file.The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The above files comprise everything in a WordPress installation.The admin password has been changed.The admin password has now been removed.The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)The attempt to send the backup via email failed (probably the backup was too large for this method)The attempt to undo the double-compression failed.The attempt to undo the double-compression succeeded.The backup attempt has finished, apparently unsuccessfullyThe backup has finished runningThe backup has not finished; a resumption is scheduledThe backup records do not contain information about the proper size of this file.The backup was abortedThe backup was aborted by the userThe communication with %s was encrypted.The communication with %s was not encrypted.The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on.The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.The database is too small to be a valid WordPress database (size: %s Kb).The decryption key used:The directory does not existThe entered key does not belong to a remote site (it belongs to this one).The entered key was corrupt - please try again.The entered key was the wrong length - please try again.The error reported by %s was:The exclusion rule which you are trying to add already existsThe file was uploaded.The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The key provided was not in a valid format, or was corrupt.The key was successfully added.The location of this directory is set in the expert settings, in the Settings tab.The log file could not be read.The log file has been attached to this email.The new user's RackSpace console password is (this will not be shown again):The preparation of the clone data has been aborted.The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe site data has all been received, and its import has begun.The time zone used is that from your WordPress settings, in Settings -> General.The user is being told the number of times an error has happened, e.g. An error (27) occurredAn error (%s) occurred:The web server returned an error code (try again, or check your web server logs)The zip engine returned the message: %s.ThemesThen, these lower-powered access credentials can be used, instead of storing your administrative keys.These tables onlyThese will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket.This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site.This backup was created by %s, and can be imported.This button is disabled because your backup directory is not writable (see the settings).This can easily destroy your site; so, use it with care!This database backup is missing core WordPress tables: %sThis database needs to be deployed on MySQL version %s or later.This decryption key will be attempted:This does not look like a valid WordPress core backup - the file %s was missing.This feature requires %s version %s or laterThis file could not be uploadedThis file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).This is a WordPress multi-site (a.k.a. network) installation.This is a count of the contents of your Updraft directoryThis is significantly newer than the server which you are now restoring onto (version %s).This most likely means that you share a webserver with a hacked website that has been used in previous attacks.This multi-archive backup set appears to have the following archives missing: %sThis option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up.This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database.This remote storage method (%s) requires PHP %s or later.This site has no backups to restore from yet.This storage method does not allow downloadingThis version of UpdraftPlus does not know how to handle this type of foreign backupThis will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these.This will delete all your UpdraftPlus settings - are you sure you want to do this?Time nowTime taken (seconds):Time taken:To access the UpdraftPlus settings, please enter your unlock passwordTo add a site as a destination for sending to, enter that site's key below.To be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To create a temporary clone you need credit in your account.To fix the time at which a backup should take place,To fix this problem go here.To maintain your access to support, please renew.To make a backup, just press the Backup Now button.To read FAQs/documentation about UpdraftClone, go here.To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To regain your access, please renew.To remove the block, please go here.To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To send to more than one address, separate each address with a comma.To use this backup, your database server needs to support the %s character set.TokyoToo many database errors have occurred - abortingTotal (uncompressed) on-disk data:Total backup size:Translators: UpdraftVault is a product name and should not be translated.To get started with UpdraftVault, select one of the options below:Trying...TwitterType a file prefixType an extension like zipUKUS (default)US Government West (restricted)US West (N. California)US West (Oregon)US or UK CloudUS or UK Rackspace AccountUS or UK-based Rackspace AccountUnable to get renew dateUnable to open zip file (%s) - could not pre-scan it to check its integrity.Unable to read zip file (%s) - could not pre-scan it to check its integrity.Unexpected response:UnknownUnknown server response status:Unknown server response:Unknown/unexpected error - please raise a support requestUnless you have a problem, you can completely ignore everything here.UnlockUnpacking backup...Update quota countUpdraft VaultUpdraftClone key is required.UpdraftPlus - Upload backup filesUpdraftPlus AddonsUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus PremiumUpdraftPlus Premium and addonsUpdraftPlus Premium has many more exciting features!UpdraftPlus Restoration: ProgressUpdraftPlus SupportUpdraftPlus is not yet activated.UpdraftPlus is not yet installed.UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)UpdraftPlus notice:UpdraftPlus warning:UpdraftPlus was unable to find the table prefix when scanning the database backup.UpdraftPlus.Com responded, but we did not understand the responseUpdraftPlus.Com returned a response which we could not understand (data: %s)UpdraftPlus.Com returned a response, but we could not understand itUpdraftPlus.com has responded with 'Access Denied'.Upload backup filesUpload errorUpload error:Upload failedUpload files into UpdraftPlus.Uploaded to:Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select FilesorUploading files to remote storageUploadsUse SCP instead of SFTPUse the "Reporting" section to configure the email addresses to be used.Use the server's SSL certificatesUsernameUsername: %sVault ownerVersionView LogWaiting until scheduled time to retry because of errorsWarningWarning:Warning: %sWarning: the database's home URL (%s) is different to what we expected (%s)Warning: the database's site URL (%s) is different to what we expected (%s)WarningsWarnings encountered:Warnings:We accessed the bucket, and were able to create files within it.We accessed the container, and were able to create files within it.We failed to successfully connect to UpdraftPlus.ComWe successfully accessed the bucket, but the attempt to create a file in it failed.Web server:Web-server disk space in use by UpdraftPlusWebDAV URLWeeklyWelcome to UpdraftPlus!Well done - there's nothing more needed to set up.Where to change directory to after logging in - often this is relative to your home directory.Why am I seeing this?Wipe settingsWithout it, encryption will be a lot slower.Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors.Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website.WooCommerce pluginsWordPress BackupWordPress CoreWordPress backup is completeWordPress core (including any additions to your WordPress root directory)WordPress core (only)WordPress installedWordPress installed; now awaiting the site data to be sent.WordPress root directory server path: %sYesYou are now using a IAM user account to access your bucket.You are presently not connected to an UpdraftPlus.Com account.You are running on WordPress multisite - but your backup is not of a multisite site.You are using the %s webserver, but do not seem to have the %s module loaded.You can check the progress here or in %sYou can find out more about clone keys here.You can get more quota hereYou can manually decrypt an encrypted database here.You do not have the UpdraftPlus %s add-on installed - get it from %sYou do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?You entered an email address that was not recognised by UpdraftPlus.ComYou have an inactive purchaseYou have made changes to your settings, and not saved.You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons.You have not yet connected with your UpdraftPlus.Com account.You have not yet made any backups.You have not yet selected a file to import.You must add the following as the authorised redirect URI (under "More Options") when askedYou must add the following as the authorized redirect URI (under "More Options") when askedYou must select at least one remote storage destination to upload this backup set to.You must upgrade MySQL to be able to use this database.You need to connect to receive future updates to UpdraftPlus.You need to enter a bucketYou need to enter a containerYou need to enter a new IAM usernameYou need to enter a new usernameYou need to enter a valid new email addressYou need to enter an admin API keyYou need to enter an admin access keyYou need to enter an admin secret keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You need to supply both an email address and a passwordYou should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly.You should check the file ownerships and permissions in your WordPress installationYou should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website).You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility.You will find more information about this in the Settings section.You will need to ask your web hosting company to upgrade.You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.You will need to restore it manually.You've got itYour %s account name: %sYour %s quota usage: %s %% used, %s availableYour %s version: %s.Your UpdraftClone is still setting up.Your backup has been restored.Your clone has started and will be available at the following URLs once it is ready.Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready.Your clone will now deploy this data to re-create your site.Your clone will renew on:Your database user does not have permission to drop tablesYour email address and password were not recognised by UpdraftPlus.ComYour email address was valid, but your password was not recognised by UpdraftPlus.Com.Your free disk space is very low - only %s Mb remainYour free space in your hosting account is very low - only %s Mb remainYour hosting company must enable these functions before %s can work.Your label for this backup (optional)Your login may be either password or key-based - you only need to enter one, not both.Your new key:Your paid access to UpdraftPlus support has expired.Your paid access to UpdraftPlus support will soon expire.Your paid access to UpdraftPlus updates for %s add-ons on this site has expired.Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire.Your paid access to UpdraftPlus updates for this site will soon expire.Your settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your version: %sYour web server has PHP's so-called safe_mode active.Your web server's PHP installation has these functions disabled: %s.Your web-server does not have the %s module installed.Your website is hosted using the %s web server.Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:Your wp-content directory server path: %sactivate it on this sitealready doneand retain this many scheduled backupsauthentication URIauthorization failed:backcalculatecalculating...check your log for more details.configure it herecountdatabase connection attempt faileddatabase connection attempt failed.database namedayday(s)did not return the expected response - check your log file for more detailse.g. %se.g. if your server is busy at day and you want to run overnightencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)error: %s (see log file for more)error: failed to upload file to %s (see log file for more)failed to access parent folderfailed to list filesfailed to upload file to %s (see log file for more)filefile is size:files: %sfolderfollow this link to get itgo herego here to change your password on updraftplus.com.hosthost namehour(s)i.e. Non-automaticManualin the monthincremental backup; base backup: %skeykey namelast activity: %ss agolatestlog results to consoleloginmanagemorenow proceeding with the updates...or (annual discount)or to configure more complex schedulesor, to reset this optionpasswordpassword/keyplease follow this link to update the plugin in order to activate itplease follow this link to update the plugin in order to get itplease wait for the rescheduled attemptpluginsread more at %srecommendedrefreshregular non-encrypted FTPresetrestorationrows: %dsearch and replacesearch termsettingsshow PHP information (phpinfo)show logsite not foundskipped (not in list)slower, strongeststarting from next time it isstoptable: %stemplate not foundthe database query being run was:the options table was not foundthemesunknown sourceuse UpdraftPlus Premiumuserusernameweek(s)will restore as:you have authenticated your %s accountyou have authenticated your %s account.your UpdraftPlus.com accountyour site's admin addresszip executable found:PO-Revision-Date: 2019-03-06 13:15:50+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: GlotPress/3.0.0 Language: tr Project-Id-Version: UpdraftPlus "%s" tablosunda birincil anahtar mevcut değil, %s satırında manuel değişiklik gerekiyor.tenant%d hata, %d uyarı%d saat, %d dakika, %d saniye%s (%s kullanılıyor)%s - Bu birim yedeklenemedi; ilgili dizin mevcut değil (%s)%s Hata%s Hata : Başlatma başarısız%s Hata: Yerel dosya açılamadı%s Hatası: yüklenemedi%s giriş anahtarı%s arşivleri kalıyor%s yetkilendirme%s kimlik denetimi başarısız%s checksum: %s%s indirme: başarısız: dosya bulunamadı%s bitiş noktası%s hatası - taşıyıcıya erişilemiyor%s hata: Yığınları yeniden birleştirme işlemi başarısız%s hata - Dosya upload işlemi başarısız%s hatası - taşıyıcıya eriştik, ama içinde dosya oluşturamadık%s hata: %s%s uzaktan depolama için seçildi, ancak şuan bağlı değilsiniz.%s saat%s lokasyon%s oturum açma başarısız%s logo%s dakika, %s saniyeher çeyrek için %s%s tekrar birleştirme hatası (%s): (daha fazlası için log dosyasına bakın)%s geri yükleme seçenekleri:%s işlemi beklenmeyen bir HTTP yanıtı döndürdü: %s%s gizli anahtar%s ayarları test sonucu:%s desteği eklenti olarak uygun%s tablo bulundu.Toplam %s tablo bulundu; %s tanesi belirtilen önek'e sahip.%s yükleme: çok parçalı yükleme için uploadID alımı başarısız - daha fazla detay için log dosyasına bakınızversiyon %s:%s hafta%s: okunamayan dosya - yedeklenemedi(Tamamlanmadı)(Devamını oku)(Bu özellikle multisite uyumluluğu için kodlanmış eklentiler hariç bütün WordPress yedekleme eklentileri için geçerlidir).(büyük ihtimalle geri çekilen veya henüz yayınlanmayan bir sürüm)(istediğiniz kadar)(dosya yedekleriyle aynı zamanda)(uzak konumdan içeri aktarılan yedek seti)(bu iyi seçenek hakkında daha fazla öğren)(loglar UpdraftPlus ayarlar sayfasında normal şekilde bulunabilir)...(UpdraftPlus tarafından yaratılmış bir zip dosyası upload ettiğinizden emin olun)(ve ya önceden satın aldıysanız bu sayfadaki formu kullanarak bağlanın)İndir(versiyon: %s)(logu görüntüle...)... ve daha fazlası!1 saat1 haftaSakın uploads ya da plugins klasörünün altı olarak belirlemeyin, yoksa kendini yenileme sorunu olacaktır. (yedeğin yedeğinin yedeği...)(Giriş yapmış gözüküyorsunuz, ancak bir problem yaşadıysanız tekrar giriş yaparak erişiminizi tazeleyebilirsiniz).Bu bir klasör ismi değil.Bir "taşıma" geri yükleme ile tamamen aynıdır - ancak başka bir siteden içeri aktardığınız yedekleri kullanırsınız.Bu isimle bir anahtar zaten mevcut; benzersiz bir isim kullanmalısınız.Bul/değiştir işlemi geri alınamaz - bunu yapmak istediğinizden emin misiniz?Çok büyük boyutlu bir dosya ile karşılaşıldı: %s (boyut: %s Mb)Bir sıkıştırma hatası oluştuİPTAL: Hangi nesnelerin geri yükleneceği ile ilgili bilgi bulunamadı.API Anahtarı: %sAPI anahtarıAPI koduAWS bağlantısı başarısızErişim Anahtarı: %sHesap dolu: %s hesabınızda sadece %d byte kaldı, ancak yüklenecek dosya %d byte kalan veri içeriyor ( toplam boyut %d byte)Hesap dolu: %s hesabınızda sadece %d byte kaldı, ancak yüklenecek dosya %d byteHesap sahibinin adı: %s.Hesap yetkilendirilmemiş.Hesap türüRackspacecloud.com sitesinde oluşturulan hesaplar US hesaplarıdır; rackspace.co.uk sitesinde oluşturulan hesaplar UK hesaplarıdır.Rackspacecloud.com sitesinde oluşturulan hesaplar US-hesaplarıdır; rackspace.co.uk sitesinde oluşturulan hesaplar UK-tabanlıdır.AksiyonlarSeçilen yedekler için eylemlerSite ekleEkstra bir saklama kuralı belirleyin...Dışlama kuralı eklemeYedeklemek için harici bir veritabanı ekleyin...Başka adres ekle...Site ekleEkleniyor...Yönetici API AnahtarıYönetici Kullanıcı AdıYönetici erişim anahtarıYönetici gizlilik anahtarıGelişmiş / Hata Ayıklama AyarlarıGelişmiş araçlarBu butona tıkladıktan sonra, hangi bileşenleri taşımak istediğinizi seçme imkanı elde edeceksinizBu butona bastıktan sonra, hangi bileşenleri geri yükleyeceğinizi seçmek için seçenekler sunulacakBelirtilen karakterlerle başlayan tüm dosyalarBu karakterlerle başlayan tüm dosyalarBu uzantıya sahip tüm dosyalarVeritabanında site adresine verilen tüm referanslar şu anki site URL'si (%s) ile değiştirilecekSilmeye izin verİndirmeye izin verNeredeyse bütün FTP sunucuları pasif mod ister; ancak aktif moda ihtiyacınız varsa, bu kutucuğun işaretini kaldırın.Uzak depodan da silAyrıca bu yedeği aktif uzak depolama konumlarına yükleAyrıca, bu önemli SSS'i okumalısınız.Maksimum paket boyutundan büyük ve bölünemeyen bir SQL satırı bulundu; bu satır işlenmeyecek ve düşürülecek: %sYönetici şifresi belirlendi.İlk %s komutunda bir hata oluştu - işlem iptal ediliyor.Eklentileriniz alınırken bir hata oluştu.En son veritabanı dosyasını kapatırken bir hata oluştu. UpdraftPlus.Com'a bağlanmaya çalışırken bilinmeyen bir hata oluştuUpdraftPlus için uygun eklentileri içeren bir güncelleme hazır - yüklemek için bu linke tıklayınız.UpdraftPlus için bir güncelleme mevcut - yüklemek için bu linki takip edin.wp-content klasörünün içinde bulunan diğer tüm klasörler%s konusuyla ilgili herhangi bir destek talebi hosting firmanıza iletilmelidir.Kilit ekranını gören herkese destek için bu URL gösterilecek - geçerli bir web yada email adresi giriniz.Beklenen arşiv boyutu:UpdraftPlus'dan %s kaldırmak istediğinize emin misiniz?Bu dışlama kuralını kaldırmak istediğinizden emin misiniz?Asya Pasifik (Singapur)Asya Pasifik (Sidney)Asya Pasifik (Tokyo)Kullanılabilir bir güncelleme bulduğunda WordPress'ten UpdraftPlus'u otomatik olarak güncellemesini isteyin.Bir güncelleme olduğunda WordPress'e UpdraftPlus'u otomatik olarak güncellemesini isteyinSatış öncesi sorularınızı sorunBu siteye atanmışDosyalar yedeklenirken aynı anda%s ile giriş yapGoogle ile yetkilendirDoğrulamaYetkilendirme başarısız (giriş bilgilerinizi kontrol edin)Otomatik YedeklemeGüncellemeden önce otomatik yedekOtomatik güncellemelerGüncelleme yapmadan önce (ilgili) yedekleri, temaları ve WordPress veritabanını otomatik olarak yedekleBu site için mevcut (Tüm-eklentiler satın almanız vasıtasıyla)Bu sitede talep kullanılabilirAzure hükümetGeri...Yedeklendi: %sGüncellemeden önce (ilgili) eklentileri, temaları ve WordPress veritabanını UpdraftPlus ile yedekle.Yedekleme içeriği ve zamanlamaŞimdi YedekleYedekleme raporuYedekleme başlangıcı:Yedekleme başladıYedek içeriği:Bilinmeyen kaynak tarafından oluşturulmuş yedek (%s) - geri yüklenemiyor.Yedeği yaratan:Yedek %s tarafından oluşturuldu.Yedek veriler (indirmek için tıklayın)Yedekleme verisi şuraya gönderilecek:Yedek tarihiYedek diziniYedekleme dizini (%s) yazılabilir değil, veya mevcut değil.Yedekleme dizini yaratılamadıBelirtilen yedek dizini mevcut değil.Belirtilen yedek dizini mevcut, ama yazılabilir değil.Yedekleme dizini yazılabilir olarak belirlenmiş, bu güzel :)Yedekleme dizini başarılı bir şekilde yaratıldı.Yedek, yedekleme geçmişinde mevcut deil.Harici veritabanını yedekleYedek dosyası geçerli değilYedekleme tamamlandıYedek kaynağı: %s.Yedek etiketi:%s tarafından yapılan yedekWordPress dosyalarını ve veritabanını yedekleWordPress veritabanında bulunan ve WordPress'e ait olmayan tabloları yedekleYedek:Yedek uzak siteye gönderildi - indirme için uygun değil.Yedek kümesi bulunamadıKaldırılan yedekler:Yedekleme başarılıYanlış dosya ismi formatı - UpdraftPlus ile yaratılmış bir dosyaya benzemiyorYanlış dosya ismi formatı - UpdraftPlus tarafından yaratılmış bir şifreli veritabanına benzemiyorMail sunucularının boyut limitleri olduğunu unutmayın; genellikle yaklaşık %s Mb; limit boyutunu aşan yedekler ulaşmayabilirOtomatik yedekleme ile güvende kalınBu öge aramaya başlandıBelçikaBlog linkiBlog upload'larıSatın alÇağırİptalKilit Ayarlarını DeğiştirYapılan değişiklikler:Temel bir rapor göndermek için bu kutucuğu işaretleyinAmazon'un sunucu tarafında şifrelemesini kullanmak için kutucuğu işaretleyinYedekleme sonrası gerek olmayan yedekleme dosyalarını sunucunuzdan silmek için burayı işaretleyin (işaretlemezseniz, uzağa gönderilen dosyalar lokalde de kalacaklar ve lokalde kalan bu dosyalar koruma limitlerine tabii olmayacaklar)Yedekleme işlemi ile ilgili daha fazla bilgi ve email almak için buraya bakın - özellikle bir şeyler hatalı çalışıyorsa faydalı olacaktır.Dosya yetkilerinizi kontrol edin: Dizin yaratılamadı: Dosya yetkilerinizi kontrol edin: Başarılı bir şekilde yaratılamadı: Şikago (ORD)Çin (Beijing) (kısıtlı)Geri yüklemek için bileşenleri seçUzak depolama birimini seçAlacak hakkınız onaylanmadı - belki bu satınalmayı başka bir yerde kullandınız, veya updraftplus.com'dan indirme yapmak için ödenmiş süreniz doldu?Talep kabul edilmedi - hesap giriş bilgileriniz yanlışÇöp kutusu boşaltılıyor...Client IDClient SecretKlonlama hazırKlonlama bölgesi:KapatKapanış 1 Ekim 2018’deBulut dosyalarıBulut Dosyaları API AnahtarıBulut Dosyası KapsayıcısıBulut Dosyaları Saklama BölgesiBulut Dosyaları Kullanıcı AdıBulut dosyaları yetkilendirmesi başarısızBulut Dosyaları hatası: Konteynere giriş yaptık ama içerisinde dosya yaratamadıkBulut Dosyaları işlemi başarısız oldu (%s)Bulut Dosyaları kullanıcı adıTamamlaDeğişikliği onaylaÇakışma: kullanıcı zaten mevcutÇakışma: Kullanıcı adı veya e-mail mevcut.BağlanUpdraftplus.com'a bağlanUpdraftPlus.com hesabınızla bağlanınBağlanıyor...Bağlantı başarısız.Bağlantı başarısız: erişim bilgilerinizi kontrol edin, veri tabanınızın çalışır olduğundan ve ağ bağlantısında güvenlik duvarı olmadığından emin olun.Bağlantı başarılı.SabitlerTaşıyıcıİçerik:İçerik URLsi:Tüm yedeklemelerinizi tek bir yerde kontrol etmeBu nesneyi kopyalama başarısız.%s taşıyıcısına erişilemiyorİş bulunamadı - belki zaten tamamlanmış olabilir mi?Tablo listesi alınamadıEski dosyalar yolun dışına taşınamadı.Yedekleme dosyası yazmak için açılamadı.Dizin okunamadıHesaplanıyor...OluşturOneDrive giriş bilgilerinizi OneDrive geliştiirici konsolunda oluşturun.Sadece bu konteynere (tüm hesabınız yerine) erişimi olan yeni bir API kullanıcısı oluşturunSunucularımız (UpdraftClone) üzerinde geçici bir klon oluşturunYeni API kullanıcısı ve içeriği yarat.Yeni bir IAM kullanıcısı ve S3 kovası oluşturVeritabanı yedeği oluşturulduYedek zip dosyaları oluşturulduUpdraftPlus ile %s ve veritabanı yedeği oluşturuyor...UpdraftPlus ile yedek oluşturuluyor...Veritabanı yedeği oluşturuluyorUpdraftPlus ile veritabanı yedeği oluşturuluyor...Yedek zip dosyaları oluşturuluyorYaratılıyor...Mevcut klonlarGeçerli limit:Güncel bellek kullanımıMevcut kullanımGünlükDallas (DFW) (varsayılan)Pano:VeritabanıVeritabanı (%s tarafından oluşturuldu)Veritabanı (dosyaların yedeklemesi tamamlanmadı)Veritabanı SeçenekleriVeritabanı yedekleme zamanlamasıVeritabanı şifreleme aşamasıVeritabanı şifreleme anahtarıSadece veritabanı (dosyalar bu plana dahil değil)Veritabanı başarıyla çözüldü.Veritabanı: Site URL'sini ara ve değiştirHata ayıklayıcı moduBilgi ayıklanıyorVeritabanı çözülüyor (biraz zaman alabilir)...SilEski Dizinleri SilYedek setini silSilme başarısız:Web sunucunuzdan silinYerel yedeği silBu yedek setini silSiliniyor...Site verilerini dağıtmaSeçimi kaldırDizin adresiMümkün olan her yerde SSL'i devre dışı bırakBu eklenti devre dışı: %s: Hazır olduğunuzda yeniden etkinleştirin.Bağlantıyı kesBağlantı kesiliyor...İptalErtele (%s ay için)Ana gösterge panaelinden gizle (%s hafta için)Aşağıda Devam a tıkladıktan sonra iptal etmeyin - yedeğin bitmesini bekleyin.PKCS1 (PEM başlığı: BEGIN RSA PRIVATE KEY), XML ve PuTTY biçimlendirme anahtarları kabul edilir.SSL sertifikalarını doğrulamaGeri yükleme yapmadan önce faydalı bilgiler içeren bu yardımcı makaleyi okuyun.Ayarlarınızı kaydetmeyi unutmayın.Yedeklemek istediğiniz birkaç WordPress siteniz daha var mı? Evet ise, tüm yedeklerinizi UpdraftCentral'dan tek bir yerde kontrol ederek saatlerce tasarruf edebilirsiniz.WordPress Multisite desteğine ihtiyacınız mı var?Siteyi taşımak mı yoksa klonlamak/kopyalamak mı istiyorsunuz?Email adresinizi ve ya şifrenizi mi unuttunuz?Gözetlenmek istemiyor musunuz? UpdraftPlus Premium veritabanı yedeğinizi şifreleyebilir.İndirme hatası: sunucu bize anlamadığımız bir yanıt verdi.İndirme işlemi başarısızİndirme işlemi sürüyorLog kaydını indirEn son değiştirilen günlük dosyası indirBilgisayarınıza indirinDosyaları buraya sürükleŞifre çözme amaçlı upload etmek için şifreli veritabanı dosyalarınızı (db.gx.crypt uzantılı dosyalar) buraya bırakınDropboxE-mailUpdraftPlus (ücretsiz sürüm) tarafından oluşturulam email raporları, size en son UpdraftPlus.com haberlerini iletirVeritabanı şifrelendiVeritabanı şifreleniyorŞifreleme anahtarı boyutu:Virgülle ayrılmış bir liste girin; aksi takdirde, bütün tablolar için boş bırakın.Yedekleme işi bittiğinde rapor göndermek için mail adreslerini buraya girin.Çoklu-site yükleme işleminde bu yeni sitenin yeri ile ilgili detayları girin:SS:DD formatında giriş yapın (örn. 14:22)Burada kullanmak istediğiniz %s klasörünün yolunu giriniz.Rackspace yönetici kullanıcıadı/API anahtarınızı girin (böylece Rackspace sizi tanıyarak yeni kullanıcılar yaratma izni verir), ve yeni kullanıcı için yeni (eşsiz) bir kullanıcıadı ve email adresi girin, bir de konteyner adı verin.Bağlanmak için UpdraftPlus.Com email / şifrenizi girin:Amazon S3 yönetici erişim/gizlilik anahtarlarınızı ve yeni kullanıcı için (benzersiz) bir kullanıcı adı ve kova adı girin.HataHata - dosya indirilemediVeri hatası:Uzak dosya indirilemiyor: İndirme başarısızHata mesajı Yerel dosyayı açarken hata: İndirme başarısızUzak dosyayı açarken hata: İndirme işlemi başarısızHata:Hata: %sHata: Sunucu boş yanıt gönderdi. Hata: Sunucu bize anlayamadığımız bir yanıt (JSON) gönderdi.Hata: sunucu bize anlayamadığımız bir yanıt gönderdi.Hata: Beklenmeyen boş parametre (%s, %s)Hata: beklenmeyen dosya okuma hatasıHatalarHatalar / uyarılar:Karşılaşılan hatalar:Hata oluştu:UpdraftPlus.Com'a bağlanmaya çalışırken hatalar oluştu:Oluşan hatalar:Hatalar:%s saatte birÖrnek S3-uyumlu depo sağlayıcılar:Dosyaları/dizinleri hariç tutBunları hariç tutŞunları hariç tut:Mevcut anahtarlarUzman ayarlarıDışa/İçe aktarma ayarlarıDışa aktarma ayarlarıEklentilerHarici veritabanıHarici veritabanı (%s)SSSFTP kullanıcıFTP şifreFTP sunucusuFacebookBaşarısızSilme esnasında %s için giriş yapılamadı (detay için log dosyasına bakın)User Policy uygulanamadıGeçici dizin oluşturma başarısızGeri yükleme sonrasında çalışılan klasörü silme başarısız.indirme başarısız%s indirilemediVeritabanı dosyası bulunamadıVeritabanı dosyası açılamadıVeri tabanı dosyasını okumak için açma başarısız:Veritabanı dosyası açılamadı.Zip dosyası (%s) açılamadı - %sArşiv açılamadı%s yüklenemedi%s ye yükleme başarısızÇözümlenmiş veritabanını dosya sistemine yazma başarısız.Başarısız: Giriş yaptık ve ilgili klasöre ulaştık, fakat bu konumda başarıyla bir dosya yaratamadık.Başarısız: Giriş yaptık, fakat bu konumda başarıyla bir dosya yaratamadık.Başarısız: Bu dizine bir dosya yerleştirmeyi başaramadık - lütfen kimlik bilgilerinizi kontrol edinBaşarısız: %s işlemi başlatılamadı.Başarısız: %s işleminden dönen sonuç anlaşılamadı.BaşarısızBaşarısız: %s verilmedi.Başarısız: Biriktirme yeri ayrıntısı verilmemiş.Başarısız: Konteyner detayları verilmedi.Başarısız: Sunucu detay bilgileri verilmedi.Başarısız: Port bir tamsayı olmalıBaşarısız: Bu bilgilerle oturum açılamadı.Başarısız: Başarılı bir şekilde oturum açtık, ama verilen dizinde dosya yaratmayı başaramadık.GetirGetiriliyor...Dosya (%s) bulundu, ama beklenenden (%s) farklı bir boyutu (%s) var - zarar görmüş olabilir.Dosya lokalde mevcut değil - uzak depodan alınması gerekiyorDosya bulunamadıDosya bulunamadı (upload etmeniz gerekiyor): %sDosya hazır.Dosya bulundu, ama boyutu sıfır (yeniden upload etmeniz gerekiyor): %sDosya/dizinDosyalarDosyalar (veritabanı yedeklemesi tamamlanmadı)Dosyalar ve veritabanıDosyalar ve veritabanı Wordpress yedeği (%s tarafından oluşturulmuş)Yedeklenen dosyalar (%s tarafından oluşturulmuş)Dosya yedekleme zamanlamasıBulunan dosyalar:Sadece dosyalar (veritabanı bu plana dahil değil)Son kontrollerBitirİlk olarak, çözümleme anahtarını girinKlasörDaha fazla bilgi için linke tıklayınŞifrenin çözülmesi ve veritabanı dosyasının bilgisayarınıza indirilmesi için bu linki takip edin. Bu geri yüklemeye ait log dosyasını indirmek için bu linki takip edin (destek talepleriniz için gereklidir)UpdraftPlus haber listesine katılmak için bu linke tıklayın.Google API konsoluna ulaşmak için bu linki takip edin, ve orada Drive API'yi aktive edin ve Credientials bölümünde bir Client ID oluşturunŞu tarihten eski yedekler içinDaha fazla özellik ve kişisel destek için, göz atınEkran görüntüleri içeren, daha uzun yardım için, bu bağlantıyı takip edin.UpdraftPlus ayarlarına erişimi bir şifre ile kilitlemek için, UpdraftPlus Premium'a terfi edin.Destek kilidini açmak için, sizin adınıza UpdraftPlus'ı yöneten kişiye başvurun.Bilgilerini mi unuttun?İki haftada bir%s adları ayarlandı, ancak WPDB::determine_charset() tarafından önerilen %s olarak değişiyor.FrankfurtHesaptaki kullanılabilir disk alanı:Bedava çift-yönlü güvenlik eklentisiÖn sayfa:Tam yedeklemeÖzelliklerin tam listesiUpdraftPlus.Com mağazasından edinDaha fazla kotaBaşlaBuraya gidinYardım için şuraya bakınDaha fazla bilgi için buraya gidin.Aktif etmek için tıkla.Yüklemeye başlamak için buraya gidin.Bağlanmak için buraya gidin.Şifrenizi tekrar girmek için buraya gidin.Google DriveGoogle Drive dosya listeleme: kök klasöre erişilemiyorGoogle'dan henüz erişim sinyali alınmadı - Google Drive bağlantınızı yetkilendirin ve ya tekrar yenileyin.Hong Kong (HKG)HostBir sitenin anahtarını nasıl alırım?Ancak, UpdraftPlus arşivleri standart zip/SQL dosyalarıdır - eğer dosyanızın uygun biçimde olduğundan eminseniz, şablona uyacak şekilde yeniden adlandırabilirsiniz.Ancak, tekrar eden denemeler başarısız olmuştur:IAM işlemi başarısız (%s)Eğer Google "invalid_client" mesajını gösterirse, buraya doğru bir client ID girmemişsiniz demektir.Eğer OneDrive sonradan size "unauthorized_client" mesajını gösterirse, buraya doğru bir client ID girmemişsiniz demektir.Eğer destek talebinde bulunacaksanız, lütfen şu bilgiyi ekleyin:Eğer siteden siteye direk gönderim çalışmıyorsa, bundan başka 3 metod daha bulunmakta - bunlardan birini deneyiniz.Eğer başarısız olursa, sunucunuzdaki izinleri kontrol edin veya web sunucu işleminiz tarafından yazılabilir olan başka bir klasör olarak değiştirin.Bu yedek başka bir yedekleme eklentisi ile oluşturulduysa UpdraftPlus Premium yardımcı olabilir.Eğer ne yaptığınızdan emin değilseniz durmalısınız; aksi taktirde WordPress yüklemenizi yok edebilirsiniz.Bu seçeneğin ne olduğundan emin değilseniz, bu seçeneği kapatmalısınız.Umduğunuzdan fazla yedek görüyorsanız, bu belkide eski yedek setlerinin yeni yedekler tamamlanmadan silinmesinden olabilir.Eğer bunu kullanıyorsanız Turbo/Road modu kapat.Yeni eklenti satın aldıysanız bu linke tıklayarak bağlantınızı yenileyin.Sayfanın yüklenmesi sona ermesine rağmen bu yazıyı hala okuyabiliyorsanız, sitede JavaScript veya jQuery ile ilgili bir problem var demektir.Eğer hem veritabanını hem de dosyaları hariç tutarsanız, her şeyi hariç tutmuş ollursunuz.Önceden yenilediyseniz, bu siteye bir lisans tahsis etmeniz gerekir - %sEğer bir AWS yönetici kullanıcısına sahipseniz, (bütün hesabınız yerine) sadece bu kovaya erişimi olan bir AWS (IAM) kullanıcısı oluşturmak için bu sihirbazı kullanabilirsiniz.Şifrenizi unuttuysanızEğer şifrenizi unuttuysanız, updraftplus.com'a şifrenizi değişmek için buradan gidebilirsiniz.Eğer boş bırakırsanız, yedekler %s kök dizinine yerleştirilecekSSL sertifikasıyla ilgili hata görüyorsanız yardım için buraya bakın.Eğer çoklu site yedeği geri yüklemek istiyorsanız, ilk önde Wordpress kurulumunuzu çoklu site olarak ayarlamalısınız.Eğer veritabanında WordPress'in parçası olmayan tablolar var ise (eğer öyleyse bunu biliyorsunuzdur), bu tabloları da yedeklemek için bu seçeneği aktifleştirin.İçer aktarma ayarlarıİçe aktarılıyor...%s içindeki dizin ismi büyük-küçük harfe duyarlıdır.Dosya yedeğinde dahil etArtanSonsuz döngü: Daha fazla bilgi için lütfen logunuzu inceleyinDevam etmek için bilgi gerekiyor:UpdraftPlus.Com parola güvenliğiniz ile ilgili bilgi almak ister misiniz? Burayı okuyun.IowaWen sunucunuzun IP adresi (%s) engellenmiş gözüküyor.Ayrıca dışarıda bulunan veritabanlarınızı yedekleyebilir.En fazla %s versiyonuna kadar test edilmiştir.Bu Google Drive'a özgü bir dahili ID numarasıdırŞu siteye yedek yüklemek için geçerlidir:JavaScript uyarısıİş ID: %sİş silindiAnahtarAnahtar başarıyla oluşturuldu.Bu bir v2 (Keystone) yetkilendirme URI olmalıdır; v1 (Swauth) desteklenmemektedir.Bilinen yedekler (ham)Son log mesajıUpdraftPlus.com'dan son haberler:Son durum:Öncü geliştiricinin web sayfasıBurayı boş bırakırsanız varsayılan seçim kullanılır.Yerel dosyalar silindi:Lokalde yazma işlemi başarısız: İndirme işlemi başarısızUpdraftPlus ayarlar sayfasına erişimi kilitleKilit ayarlarıTüm log kayıtlarını syslog'a kaydet (sadece sunucu yöneticileri bunu yapmak isteyebilir)Erişiminiz olan tüm özellikleri etkinleştirmek için burada oturum açın.LondraLondra (LON)%s arşivi aranıyor: dosya adı: %sEklentileri YönetKlonlarınızı yönetinManuel yedekleme seçenekleriVeritabanı dosyasını manuel çözümleHafıza limitiMesajlar:Geçiş yap (kontrolü sizde barındıran bir sitenin kopyasını oluşturun)Taşınmış site (UpdraftPlus'tan)AylıkDaha Fazla DosyaDaha fazla eklentiDaha fazla kaliteli EklentilerBaşka görevler:Eski veriler yolun dışına taşınıyor...Açılmış yedek yerine taşınıyor...MultisiteÇoklu-site YüklemesiEn popüler eklentilerN.B. %s büyük-küçük harf duyarlı değil.Dikkat. Eğer UpdraftPlus'ı birden fazla WordPress sitesine kuruyorsanız, aynı projeyi tekrar kullanamazsınız. Her site için Google API konsolundan yeni bir proje oluşturmalısınız.Not. Bu sayımda son defa seçenekleri kaydettiğinizde hariç tuttuğunuz ya da tutmadıklarınız baz alınmıştır.İsim: %s.Teknik desteğe mi ihtiyacınız var?Alt-klasör kullanma ihtiyacı var mı?Hali hazırda bulunuyor olmalıAğ etkinleştiren tema:Yeni IAM kullanıcı adıYeni Kullanıcı'nın Email AdresiYeni Kullanıcı'nın Kullanıcı AdıYeni site:HaberlerBülten kayıtBir sonraki planlanmış yedeklemelerHayır%s bulunamadı%s ayarları bulunamadıTamamlanan bir yedek yok%s dizinlerinin yedeği alınamadı: Yedeği alınacak bir şey bulunamadıDatabase tablosu bulunamadıLokal kopya mevcut değil.Log dosyası bulunamadı.Alıcı bir site henüz eklenmedi.Ayar bulunamadıBöyle bir yedek mevcut değilHiçbiriKuzey VirjinyaKuzey Vijinya (IAD)KurulmadıHala bir hesabın yok mu? Hemen bir tane al! (beleş beleş)Eklentilerinizi aktive ettikten sonra, sitenin güncellemelere erişimini etkilemeden şifrenizi (mail adresiniz hariç) aşağıdaki ayarlardan kaldırabilirsiniz.Bütün bulut yedekleme metodlarının yetkilendirme için SSL kullandığını unutmayın.Not:Şu anda planlanmış bir şey yokYapacak bir şey yok: Site URL'si zaten: %sHenüz loglanmış bir şey yokDuyuruTamamEski tablo öneki:Uzak depolama alanının taranması sonucu bir ya da daha fazla yedek eklendi; bu yedekler "tutma" ayarlarından otomatik olarak silinmeyecektir; bu dosyaları silmek istiyorsanız/istediğinizde bunu manuel olarak yapmalısınız.OneDriveOneDrive AlmanyaOneDrive UluslararasıSadece Wordpress veritabanı geri yüklenebilir; dış veritabanı ile manuel olarak ilgilenmelisiniz.Opera Web tarayıcısıKullanıcı Erişim Anahtarı oluşturma başarısızSeçenekler (ham)Veya, bir UpdraftClone anahtarı kullanınVeya, mesela FTP kullanarak, UpdraftPlus dizininize (normalde wp-content/updraft) bunları manuel olarak koyabilir, sonrasında yukarıdaki "yeniden tara" linkini kullanabilirsiniz.OregonDiğer %s SSS.DiğerAksi taktirde, vaysayılan bağlantı görüntülenecektir.wp-config.php dosyasının üzerine yazPHP bilgisiPasif modParolaHatalı şifreŞifre: %sAnahtarı buraya yapıştırınÖdemeler Amerikan Doları, Euro, İngiliz Sterlini, kredi kartı veya PayPal ile yapılabilir.En yüksek bellek kullanımıLütfen giriş kimlik bilgilerinizi kontrol edin.Yedekleme ile ilgili sorun yaşıyorsanız lütfen bu SSS'a bir göz atın.Lütfen zip gibi bir dosya uzantısı girinLütfen geçerli bir URL girinizLütfen geçerli bir dosya uzantısı girinLütfen geçerli bir dosya adı öneki girinLütfen hariç tutmak istediğiniz dosya adını başlatan karakterleri girinLütfen gerekli bilgileri doldurun.Lütfen anahtara bir isim verin (hangi siteye ait olduğunu belirtecek şekilde):Lütfen şifreyi not aldığınızdan emin olun!Lütfen %s hesabına bağlantınızı tekrar sağlayın.Lütfen dışlamak istediğiniz bir dosya/klasör seçinLütfen talep edilen bilgiyi sağlayın ve devam edin.Biz talepte bulunurken lütfen bekleyin...EklentilerPortSatış öncesi SSSPremiumPremium / EklentilerPremium WooCommerce eklentileriBaşlamak için bir tuşa basın.UpdraftPlus dizininize (web hosting alanınızda) yüklenmiş yeni yedek paketlerini görmek için buraya tıklayın.Uzak depolama metodlarında mevcut yedeklere ulaşmak için buraya tıklayın. (her hangi bir site için aynı klasörde saklanmak şartıyla)Eklentiyi gezmek için bu düğmeye basın.Güncellemeye devam etİşlenen eklenti:Dosyalar işleniyor - lütfen bekleyin...İşleniyor...Eski yedek setleri siliniyorKota:RSS linkiHam yedek tarihçesiSSS bölümüne bakınız.Kolay güncellemeler yöneticisi hakkında daha fazla bilgi edininBunun nasıl çalıştığı hakkında daha fazla oku...Nasıl yapıldığını adım adım görmek için bu makaleyi okuyun.Meydana gelebilecek sorunlar ve çözümlemesi için bu sayfayı okuyun.Uzak bir siteden yedek almaSite verileri alınıyor Durumu güncelleBölgeBölge: %sBu seçimi bir daha ki sefer hatırla (tekrar değiştirme şansınız olacak)Uzak Depolama SeçenekleriUzak sunucuda ki dosyalar silindi:Uzak konumKaldırEski dizinleri kaldırBununla değiştirRaporlamaİstenen tablo motoru (%s) mevcut değil - MyISAM'a geçiliyorYedekleme istemi başlatılıyor...Sonra şifreye tekrar ihtiyacınız olacakYeni yedek dosyaları için yerel klasörü tekrar taraUzak depolama alanını tekrar taraYeniden taranıyor (dahili yedek alanına manuel olarak upload etmiş olduğunuz yedekler aranıyor)...Uzak ve yerel depolama yedek setleri için tekrar taranıyor...Turu sıfırlaGeri yükleBu siteye varolan bir yedek setini geri yükleyinYedeği geri yükleVeritabanı geri yükleniyor (büyük bir sitede bu uzun zaman alabilir - eğer zaman aşımına uğrarsa (eğer hosting şirketiniz hosting kaynaklarına limit koyduysa) phpMyAdmin gibi başka bir metod kullanın)Geri yükleme; sitenizin temalarını,eklentileri,yüklemelerini,veritabanını ve/veya diğer içer dizinlerini değiştirecek (yedekleme dosyanızdaki içeriğine ve sizin seçiminize göre)Geri alınıyor (gerekli ise) ve yedek dosyaları hazırlanıyor...UpdraftPlus Yapılandırmasına Geri Dönİncelenen satırlar:satır grup başınaS3 (Uyumlu)S3 bucketS3 saklama bölgesiSCP/SFTP host ayarıSCP/SFTP parola/anahtarSCP/SFTP kullanıcı ayarıÇalıştırılan SQL güncelleme komutları:Değişiklikleri KaydetKaydediyor...Veritabanında bul / değiştirVeritabanında site adresini ara ve değiştirTablo bul ve değiştiriliyor:Şunu araGizlilik Anahtarı: %sBu sıkça sorulan sorularada gözatınızUygulama çeşidi olarak 'Web Application' seçin.Dışlamak istediğiniz bir dosya/klasör seçinDosyaları veya dizinleri yedeklemenin dışında bırakmak için bir yol seçinHepsini seçYedeklemek istediğiniz şeyi seçinGönderYedeği başka bir siteye gönderSadece hatalar/uyarılar olduğunda rapor gönderBu yedeği uzak depolama alanına gönderSiteye yükle:Yedeğiniz uzak depolama alanına gönderiliyorSunucu-tarafında şifrelemeAyarlarUzman ayarkarını gösterHam yedek ve dosya listesini gösterSeçenekleri gösterKayıt olSingapurSiteSite verileri dağıtıldıSite verileri alındıSite Anasayfa:Site bilgileriSite bilgisi:Site anahtarıSite boyutuBoyut: %s MBBazı dosyalar hala indiriliyor veya işleniyor - lütfen bekleyin.Güney KarolinaArşiv parçalama boyutu:Maksimum paket boyutunu aşmamak için satırları ayırYedeklemeyi başlatOtomatik yedekleme başlıyor...Depolama yeri Abonelikler her hangi bir zaman iptal edilebilir.BaşarılıTamamlandı:Başarılı: Başarılı bir şekilde oturumu açtık ve verilen dizinde dosya yaratabildiğimizi gördük (oturum türü: DestekDestek URL'siDesteklenen yedekleme eklentileri: %sSidneySidney (SYD)Tablo önekTablo öneki değişti: %s tablo alan(lar)ı uygun şekilde değiştiriliyor:Kontrol edilen tablolar:TayvanTur atArtan yedekleme ile ilgili daha fazla bilgiKullanıcı%s Ayarlarını Test EdinTest bağlantısı...%s Ayarları Test Ediliyor...Bağlantı test ediliyor...Test ediliyor...Geziye katıldığınız için teşekkür ederim.%s bağlantısı zaman aşımına uğradı; eğer sunucu bilgilerini doğru girdiyseniz, bu sorun bağlantıyı engelleyen bir firewall'dan kaynaklanıyor olabilir. Hosting şirketiniz ile iletişime geçmeniz önerilir.%s bulunamadıYedekleme klasörünüz yazılabilir olmadığı için 'Şimdi Yedekle' butonu etkisizleştirilmiştir ('Ayarlar' menüsünde ilgili seçeneğe gidin)UpdraftPlus Migrator geri yükleme işlemini uygun şekilde modifiye eder, böylece yedekleme verisi yeni siteye uyum sağlar.Bu dosya er,şim metodu (%s) için olan UpdraftPlus modülü dosyaları listelemeyi desteklemiyorZip dosyasında WordPress içerik klasörü (wp-content) bulunamadı.Yukarıdaki klasörler herşeydir, WordPress.org'dan taze olarak indirebileceğiniz WordPress çekirdeği hariç.Yukarıdaki dosyalar bir WordPress yüklemesindeki herşeyi içeriyor.Yönetici şifresi değiştirildi.Yönetici şifresi kaldırıldı.PHP için ayrılan hafıza (RAM) çok düşük (%s Mb) - yetersiz hafızadan kaynaklı hatalar yaşanmaması için hafızayı arttırmalısınız (daha fazla bilgi için hosting şirketinize danışın)Wordpress eklentilerini çalıştırmak için izin verilen süre çok az (%s saniye) - yedekleme hatalarını ve zaman aşımlarını engellemek için bu süreyi arttırmalısınız (daha fazla yardım için hosting firmanıza danışın - PHP ayarlarındaki max_execution_time ayarından kaynaklanıyor; tavsiye edilen süre %s saniye ve daha fazlası)Email ile yedeği gönderme denemesi başarısız oldu (muhtemelen yedek bu metod için fazla büyük)Çifte-sıkıştırmayı geri alma denemesi başarısız oldu.Çifte-sıkıştırmayı geri alma denemesi başarılı oldu.Yedekleme girişimi başarısız oldu.Yedekleme çalışmayı bitirdiYedekleme henüz bitmedi; yeniden başlama zamanlandıYedek kayıtları bu dosyanın tam boyutu ile ilgili bilgi içermiyor.Yedekleme iptal edildiYedekleme kullanıcı tarafından iptal edildi%s ile iletişim şifrelendi.%s ile iletişim şifrelenmedi.Bu veritabanı yedeği bu sitenin çalıştığı eski MySQL versiyonunda (%s) bulunmayan özellikler kullanmaktadır.Veritabanı dosyası iki kez sıkıştırılmış gözüküyor - muhtemelen dosyayı indirdiğiniz site yanlış-ayarlanmış bir websunucuna sahipti.Veritabanı geçerli bir WordPress veritabanı olmak için çok küçük (Boyut: %s Kb).Kod çözme anahtarı kullanıldı:Dizin bulunamadıGirilen anahtar uzak siteye ait değil (bu siteye ait).Girilen anahtar yanlış - tekrar deneyin.Girilen anahtarın uzunluğu hatalı - tekrar deneyin.%s tarafından bildirilen hata şu şekildeydi:Eklemeye çalıştığınız dışlama kuralı zaten varDosya upload edildi.Klasör var fakat webserverınız klasörü yazmak için gerekli izne sahip değil.Bu nesne otomatik olarak geri yüklenemez: "%s"Yüklü UpdraftPlus Yedekleme/Geri Yükleme versiyonu kullandığınız Wordpress versiyonu (%s) ile test edilmemiştir.Anahtar geçerli formatta değil veya bozulmuş.Anahtar başarıyla eklendi.Bu dizinin lokasyonu, Ayarlar sekmesinin uzman ayarları bölümünden ayarlanabilir.Log dosyası okunamadı.Log dosyası bu e-mail'e eklendi.Yeni kullanıcının RackSpace konsol şifresi (tekrak gösterilmeyecektir):Klon verilerinin hazırlanması iptal edildi.Dosya sistemine klasör oluşturma talebi başarısız oldu.Gerekli %s PHP modülü yüklü değil - hosting firmanızdan yüklemesini isteyinSite verilerinin tümü alındı ve içe aktarma başladı.Kullanılan saat dilimi WordPress ayarlarınızdan (Ayarlar -> Genel) gelmektedir.Bir hata (%s) oluştu:Web sunucusu bir hata kodu döndürdü (tekray deneyin, ya da web sunucu loglarını kontrol edin)Sıkıştırma motoru şu mesajı dönderdi : %s.TemalarBöylece, yönetici anahtarlarınız yerine, düşük seviyede erişim bilgileri kullanılabilir.Sadece bu tablolarBu yeni bir IAM policy ile birlikte sadece belirtilen kovaya erişimi sağlayan yeni bir kullanıcı ve anahtar çifti oluşturacaktır.UpdraftPlus bu yedek setini şuanki WordPress kurulumu üzerinden tanıyamıyor, uzak depolama alanında bulunmuş veya uzak bir site üzerinden yüklenmiş olabilir.Bu yedek %s tarafından oluşturulmuş, ve içeri yüklenebilir.Yedek klasörünüz yazılabilir olmadığı için bu buton pasif (ayarlara bakınız).Bu işlem sitenizi kolayca bozabilir; dikkatli kullanın!Bu veritabanında ana Wordpress tabloları eksik: %sBu veritabanı %s ve sonrası bir MySQL versiyonuna yüklenebilir.Şifre çözmek için kullanılacak anahtar:Bu geçerli bir Wordpress çekirdek yedeğine benzemiyor - %s dosyası eksik.Bu özellik %s %s sürümü veya daha güncelini gerektiriyorBu dosya yüklenemediBu dosya bir UpdraftPlus yedek arşivi gibi durmuyor. (arşivler backup_(saat)_(site adı)_kod_(tip).(zip|gz) gibi bir isme sahip .zip veya .gz uzantılı dosyalardır)Bu bir WordPress multi-site (diğer adıyla ağ) kurulumudur.Bu Updraft klasörünüzdeki içeriklerin sayısıdır.Bu şuan geri yükleme yaptığınız sunucudan oldukça daha yeni (version %s).Bu muhtemelen önceki saldırılarda kullanılan hacklenmiş bir websitesiyle aynı sunucuyu kullandığınız anlamına gelir.Bu çoklu-arşiv yedek kümesinde şu arşivler eksik: %sBu seçenek MySQL veritabanında bulunan fakat Wordpress'e ait olmayan (başında belirlenen Wordpress öneki %s bulunmayan) tabloların da yedeklenmesini sağlar.Bu problem kaynak veritabanıyla uyumsuz çok eski bir MySQL versiyonuna geri yükleme yapılırken oluşur.Uzak depolama metodu (%s) PHP %s veya daha güncelini gerektiriyor.Bu site henüz geri yükleme yapacak bir yedeğe sahip değil.Bu saklama metodu indirmeye izin vermezUpdraftPlus'ın bu sürümü bu tip yabancı yedeği nasıl işleyeceğini bilmiyorBu ayrıca tüm eklentilerin hata ayıklama çıktılarının bu ekranda görüntülenmesine sebep olacaktır - bunları görürseniz şaşırmayın.UpdraftPlus ayarlarınızın tamamını sileceksiniz - bunu yapmak için emin misiniz,son kararınız mı?Şu anki saatSüre (saniye):Geçen süreUpdraftPlus ayarlarına erişmek için, kilit açma şifrenizi giriniz.Yükleme konumu olarak bir site eklemek için, hedef sitenin anahtarını aşağıya girin.Özel klasör ismi kullanabilmek için UpdraftPlus Premium kullanın.Nelerin yedekleneceğine dair varssayılan ayarları değiştirmek, zamanlı yedekleri ayarlamak, yedekleri uzak depolama alanına göndermek (tavsiye edilen) ve daha fazlası için ayarlar sekmesine gidin.Geçici bir klon oluşturmak için hesabınızda kredi gerekir.Yedeklemenin ne zaman çalışacağını düzeltmek için,Bu sorunu gidermek için buraya gidin.Destek erişiminizi devam ettirmek için lütfen yenileyin.Yedek almak için Şimdi Yedekle butonuna tıklamanız yeterli.UpdraftClone hakkında SSS/belgeleri okumak için buraya gidin.Güncellemelere (gelecek özellikler ve Wordpress uyumluluk güncellemeleri dahil) tekrar erişim kazanmak ve desteklemek için, lütfen yenileyin.Tekrar erişim kazanmak için, lütfen yenileyin.Bloğu kaldırmak için lütfen buraya gidin.Erişiminizin ve güncellemelerin devamı (gelecek özellikler ve yeni Wordpress versiyonlarıyla uyumluluk) ve destek için, lütfen yenileyin.Birden fazla adrese göndermek için, her bir adresi virgülle ayırın.Bu yedeği kullanabilmek için, veritabanı sunucunuz %s karakter setini desteklemelidir.TokyoÇok fazla veritabanı hatası oluştu - iptal ediliyorDiskteki toplam (sıkıştırılmamış) veri:Toplam yedek boyutu:UpdraftVault'u kullanmaya başlamak için aşağıdaki seçeneklerden birini seçin:Deneniyor...TwitterBir dosya öneki yazınZip gibi bir uzantı yazınİngilizAmerikan (varsayılan)ABD Batı (kısıtlamalı)ABD Batı (K. Kaliforniya)ABD Batı (Oregon)Amerikan veya İngiliz BulutuAmerika veya İngiltere Rackspace HesabıABD yada İngiltere kaynaklı Rackspace HesabıYenileme tarihi alınamıyorZip dosyası (%s) açılamadı - bütünlük kontrolu için öntarama yapılamadı.Zip dosyası (%s) okunamadı - bütünlüğünü kontrol etmek için ön-tarama yapılamadı.Beklenmeyen yanıt:BilinmiyorBilinmeyen sunucu yanıt durumu:Bilinmeyen sunucu yanıtı:Bilinmeyen/beklenmeyen hata - lütfen destek talebi açınızBir problem olmadığı sürece buradaki her şeyi görmezden gelebilirsiniz.Kilidi açYedek çıkartılıyor...Kota durumunu güncelleUpdraft VaultUpdraftClone anahtar gereklidir.UpdraftPlus - Yedekleme dosyalarını yükleUpdraftPlus EklentileriUpdraftPlus Otomatik YedeklemelerUpdraftPlus YedekleriUpdraftPlus PremiumUpdraftPlus Premium ve ekleriUpdraftPlus Premium çok daha heyecan verici özelliklere sahiptir!UpdraftPlus Geri Yükleme: İlerlemeUpdraftPlus DestekUpdraftPlus henüz aktif edilmedi.UpdraftPlus henüz yüklenmedi.UpdraftPlus içerik klasörünüzde %s oluşturmak zorundaydı, ancak başarısız oldu - lütfen dosya izinlerinizi kontrol edin ve erişime izin verin (%s)UpdraftPlus bildirisi:UpdraftPlus uyarı:UpdraftPlus veritabanı yedeğini tararken veritabanı önekini bulamadı.UpdraftPlus.Com yanıt verdi, fakat yanıtı anlamadıkUpdraftPlus.Com anlayamadığımız bir yanıt verdi (veri: %s)UpdraftPlus.Com yanıt verdi, fakat yanıtı anlamadıkUpdraftPlus.com 'Erişim Reddedildi' cevabını verdi.Yedek dosyalarını yükleUpload hatasıUpload hatası:Yükleme başarısızUpdraftPlus'a dosya yükleyin.Şuraya yüklendi:veyaDosyalar uzak depolama birimine yükleniyorUpload'larSFTP yerine SCP kullanınKullanılacak email adresini ayarlamak için "Raporlama" sekmesini kullanın.Sunucunun SSL sertifkalarını kullanKullanıcı adıKullanıcı adı: %sVault sahibiVersiyonLog kaydını gösterHatalar yüzünden belirlenmiş tekrar deneme zamanını bekliyorUyarıUyarı:Uyarı: %sveritabanındaki anasayfa adresi (%s), beklenenden (%s) farklıUyarı: veritabanının site URL'si (%s) beklenenden (%s) farklıUyarılarKarşılaşılan uyarılar:Uyarılar:Kovaya eriştik, ve içinde dosyalar yaratabildik.Konteynere giriş yaptık ama içerisinde dosya yaratamadıkUpdraftPlus.Com bağlantısı başarısızKovaya başarıyla erişim sağladık, fakat dosya yaratma denemesi başarısız oldu.Web server:UpdraftPlus tarafından kullanılan web sunucu disk alanıWebDAV URLHaftalıkUpdraftPlus'a hoşgeldiniz!Bravo - ayarlanması gereken başka bir şey yok.Oturum açtıktan sonra gidilecek dizin - genelde ana dizininize görecelidirBunu neden görüyorum?Ayarları sıfırlaBu olmadan kriptolanma çok daha yavaş olur.Bu izin olmadan, UpdraftPlus yedekleri silemez - ayrıca silme hataları görmemek için 'retain' ayarlarınızı çok yüksek ayarlamalısınız.Bu izin olmadan, UpdraftPlus'dan indirme ve ya geriyükleme yapamazsınız, aksine AWS websitesini ziyaret etmeniz gerekir.WooCommerce eklentileriWordPress YedeğiWordPress ÇekirdeğiWordPress yedeklemesi tamamlandı.WordPress çekirdeği (eğer varsa WordPress ana dizininize yapılan eklemelerle birlikte)WordPress çekirdeği (sadece)WordPress yüklüWordPress yüklü; Şimdi gönderilecek site verilerini bekliyor.WordPress ana dizin sunucu yolu: %sEvetKovanıza ulaşmak için IAM kullanıcı hesabı kullanıyorsunuz.Şu an UpdraftPlus.Com hesabınıza bağlı değilsiniz.WordPress çoklu-sitesi üzerinde çalışıyorsunuz - ama yedeğiniz çoklu-siteden alınmış değil.%s web sunucusunu kullanıyorsunuz ama %s modülü yüklenmemiş görünüyor.Gelişmeyi burada veya %s içinde kontrol edebilirsiniz.Burada klon anahtarları hakkında daha fazla bilgi bulabilirsiniz.Buradan kotanızı arttırabilirsinizKriptolanmış bir veritabanını burada manuel olarak çözebilirsiniz.%s UpdraftPlus eklentisi yüklü değil - %s den yükleyinKullanımdan kalkmış bir Updraft eklentisi yüklemiş gözüküyorsunuz - belki karıştırmış olabilir misiniz?UpdraftPlus.Com tarafından tanınmayan bir email adresi girdinizAktif olmayan bir satın almanız mevcutAyalarınızda değişiklik yaptınız ve kaydetmediniz.Satın aldığınız eklentileri listelemeyi etkinleştirmek için, henüz UpdraftPlus.com hesabınıza bağlanmadınız.UpdraftPlus.Com hesabınızla henüz bağlanmadınız.Henüz bir yedekleme yapmadınız.Henüz içe aktarmak için bir dosya seçmediniz.Takip eden gri metni authorised redirect URI ("More Options" başlığı altında) kısmına girmelisinizSorulduğunda, yetkili yeniden yönlendirme URI'si olarak aşağıdakileri eklemeniz gerekir ("diğer seçenekler" altında)Bu yedeklemeyi yüklemek için en az bir uzak depolama hedefi seçmelisiniz.Bu veritabanını kullanmak için MySQL sürümünüzü yükseltmelisiniz.UpdraftPlus güncellemelerini almak için bağlanmalısınız.Bir kova girmelisinizBir konteyner girinYeni bir IAM kullanıcı adı girmelisinizYeni bir kullanıcı adı girmelisinizGeçerli bir email adresi girmelisinizBir yönetici API anahtarı girmeniz gerekiyorBir yönetici erişim anahtarı girmelisinizBir yönetici gizlilik anahtarı girmelisinizBir yönetici kullanıcı adı girmeniz gerekiyor%s ile tekrar giriş yapmalısınız, varolan giriş bilgileriniz çalışmıyor.Email ve şifre alanlarını doldurmanız gerekmektedirUzaktaki sitenin online, güvenlik duvarsız, erişimi engelleyecek her hangi bir güvenlik modülüne sahip olmadığından, UpdraftPlus versiyon %s ve sonrasının aktif ve anahtarlarının doğru girildiğinden emin olunuz.WordPress yüklemenizdeki dosya izinlerini ve sahipliklerini kontrol etmelisinizGeri yüklemeden önce, bu yedeğin gerçekten bu siteye ait bir yedek olduğundan emin olmalısınız (Başka bir siyeye ait olabilir).Uyumluluk testleri yapılmış bir sürüm kullandığınızdan emin olmak için UpdraftPlus'ı güncellemelisiniz.Ayarlar bölümünde bununla ilgili daha fazla bilgi bulabilirsiniz.Hosting şirketinizden sistemi upgrade etmelerini istemelisiniz.WordPress eklentisinin klasöre yazma yetkisinin nasıl ayarlanacağı ile ilgili olarak web hosting sağlayıcınıza danışmanız gerekir.Manuel olarak geri yükleme yapmalısınız.Yüklediniz%s hesap adınız: %s%s kota kullanımınız: %s %% dolu, %s boş%s versiyonunuz: %s.UpdraftClone'nunuz hâlâ ayarlamaya devam ediyor.Yedeğiniz geri yüklendi.Klonunuz başladı ve hazır olduğunda aşağıdaki URL'lerde kullanılabilir olacaktır.Klonunuz başladı, ağ bilgileri henüz mevcut değil ama hazır olduğunda burada ve updraftplus.com hesabınızda görüntülenecek.Klonunuz şimdi sitenizi yeniden oluşturmak için bu verileri dağıtacak.Klonunuz yenilenecek:Veritabanı kullanıcınızın tabloları bırakma izni yokEmail adresiniz ve şifreniz UpdraftPlus.Com tarafından tanınmadıEmail adresiniz geçerli, fakat şifreniz UpdraftPlus.Com tarafından tanınmamaktadır.Boş disk alanınız çok düşük - sadece %s Mb kalmış.Hosting hesabınızdaki boş alan çok az kaldı - sadece %s Mb kaldı%s çalışmadan önce, hosting firmanız bu fonksiyonları aktive etmelidir.Bu yedek için etiketiniz (opsiyonel)Giriş bilginiz bir şifre ve ya anahtar-tabanlı olablir, sadece birini girmelisiniz, ikisi birden olmaz.Yeni anahtarınız:UpdraftPlus destek erişimi için yaptığınız ödemenin süresi doldu.UpdraftPlus desteğine erişim için ödemenizin süresi dolmak üzere.Bu sitede %s eklentileri için UpdraftPlus güncellemelerine paralı erişiminizin süresi dolmuştur.Bu sitede %s / %s eklenti için UpdraftPlus güncellemelerine paralı erişiminizin süresi dolmak üzeredir.Bu sitede UpdraftPlus güncellemeleri için paralı erişiminizin yakında süresi dolacaktır.Ayarlarınız kaydedildi.Ayarlarınız temizlendi.Sitenizin yönetici email adresi (%s) kullanılacak.Kullandığınız versiyon: %sWeb sunucunuzda PHP'nin sözde safe_mode (güvenli modu) aktif.Sunucunuzun PHP yüklemesinde bu fonksiyonlar pasif hale getirilmiş: %s.Sunucunuzda %s modülü yüklü değil.Web siteniz %s web sunucusu üzerinde barındırılıyor.Web sayfanız seyrek ziyaret ediliyor ve UpdraftPlus umduğu kaynaklara ulaşamıyor; lütfen bu sayfayı okuyun:Sizin wp-content dizini sunucu yolunuz: %sOnu bu sitede aktive edinzaten yapılmışve bu kadar zamanlanmış yedek tutgiriş URIYetkilendirme başarısız oldu:gerihesaplahesaplanıyor...daha fazla detay için log kayıtlarını inceleyiniz.buradan ayarlayınadetveritabanı bağlantı denemesi başarısızveritabanı bağlantı denemesi başarısız.veritabanı adıgüngün(ler)beklenen yanıtı geri vermedi - daha fazla ayrıntı için günlük dosyanızı kontrol edinörneğin: %sörneğin gün içinde sunucunuz yoğunsa ve gece çalıştırmak istersenizkrtiptolanmış FTP (açık şifreleme)kriptolanmış FTP (kapalı kriptolama)Hata: %s (daha fazla bilgi için günlük dosyasına bakın)hata: dosya şuraya upload edilemedi: %s (detaylar için log dosyasına bakın)üst dizine erişim başarısızdosyalar listelenemiyor%s dosyasına dosya yüklenemedi (daha fazla bilgi için günlük dosyasına bakın)dosyadosya boyutu:dosyalar: %sklasöryüklemek için bu linki takip edinburaya gitşifrenizi updraftplus.com üzerinden değiştirmek için buraya gidin.hosthost adısaat(ler)Manuelay içindeArttırılan yedek; temel yedek; %sanahtaranahtar adıson etkinlig: %ss öncesongünlük sonuçları konsola kaydetmekgirişyönetmekdaha fazlaşimdi güncellemeler işleniyor...ya da (yıllık indirim)veya daha kompleks takvimler ayarlayınya da bu seçeneği sıfırlaparolaparola/anahtaraktive ekmek üzere eklentiyi güncellemek için bu linki takip edinyüklemek ve eklentiyi güncellemek için bu linki takip edinlütfen tekrar zamanlanmış deneme için bekleyineklentilerdaha fazlasını okuyun: %stavsiye edilenyenileyaygın kriptolanmamış FTPvarsayılana döngeri yüklemesatırlar: %dbul ve değiştirarama terimiayarlarPHP bilgisini göster (phpinfo)log kaydını göstersite bulunamadıesgeçildi (listede yok)daha yavaş, en güçlüGelecek seferden başlayarakdurdurtablo: %sşablon bulunamadıçalıştırılan veri tabanı sorgusu şuydu:seçenekler tablosu bulunamadıtemalarbilinmeyen kaynakUpdraftPlus Premium kullanınkullanıcıkullanıcı adıhafta(lar)olarak geri yükle:%s hesabınızla kimlik doğruladınız%s hesabınıza giriş yaptınız.UpdraftPlus.com hesabınızsite yöneticinizin adresineÇalıştırılabilir zip bulundu:languages/updraftplus-pt_BR.mo000064400000617537147400355670012462 0ustar00!$9,r,rN-r8|rur+s Bscs vsSss sss#t@t[t btlt ttttttt uuu.u#Cu gu)tu'u uKu 3v @vKLvv vvvvvv v2 w=w+Uw ww$ww6wWx ox{x,xWx! y+y=yLy jyrvy yy/z8zNz*mzzz*zAzW.{I{&{8{0| @| N|\|o|v|}|}}+9~te~%~'#(@LE3C `l t ]?؁ lhmւނ h r)}%#̓%$Jd{ZK O0Y ˅܅ ggp'))Is!Dm fp#}^0<Š))7ً8,8e7[֌E2kxTu98*CbWRK "Y|12Ɛ?-9?g_RoZʒْ9 >C4 ēݓ'0I_TtMɔ0$F6k"ŕڕ-0A`]rqЖ6B!y ϗ ۗ  "c) Ƙ5Ԙ6 A O\;mә 9-%g1>6&5+\̛ ޛ(G= 8 "9\JmEK_cÞ v 06T \ f,s¡ɡݡ !&=NGU Ȣ-֢5:m=OE AOl !ʥ9&B]9-6M j t D 7CWm!T!6KTs{"3.<M)U)ժ   ˫ իd%\׬:L(i*/ 9?WfY6X !!ɯ3#Pt,԰  . CPcu{ ),G?b %( ;F)\ų # :FZ cp#E  ":*WL5޵G"Lo()/$Y1~:PJ<("$T;_*@EJ]Pi+?TN]ADN3"OĽ  #+O^n455."Q`p<A~G^#d 1 ,-4L  )H?A* [ry: .>M\o~ ,  1AZ ju 9 :#[&3-1N)kG%%!*G-r <#~`Z[:/F &/)V(&!?^2 c #0BD* @)#M3`X 6>C@ -  :AJjsz%WKj^a1+;]Hb7Z3Aa92l4gD'Jl= QZk   ) ;bG% % !-*<gjr"'0)?i){% 7 z(zz+j.fmVAFwMHkZ@MR`<_5sKC|Y \fRER\~S$]yULGzdn=N1A0J {%##  / :FIZ9 1;WO=&($O+t1"  #Q=%9J%g D/&V gUr&],b G:*;)f( F%&"L o}E'  : F S]8s />Q Yd&z  !$ ;EWhqa*s  &;Tk 1 4@^Z?9WopM.E0^'5 N#rs$7<t /_Pbh* ;?:zR[l^gi*{H MK*"<Sl |  T& 8 (I Mr % + % !8 8Z H '  / #M %q O " " - (K 3t ? ; 6$ \[ @ ; >5?t;3r$=' ,4Iaw k"!;/P !  Jc{ $# *!K&m 4@ #Nr"5  4P= F;NU l y=C@A 'Mub6 %0F-N|6<PA+'7D#|#\9R   % /9@:Z @@1 Fr +  1  *!*7!4b!<! !!!] "Lg""""1" (#+5#"a# #%###,#$"$6$K$`$~$$$ $$$$ $$%% % &%2%A%MQ%<%,%l &hv&B&2"'U'p''''1'''(((7( J($V( {( (( ((+(((r)Vw)) ))) ** *A*** * ++:6+ q+ ~+&++++++ ,%,;,Z,Om,,s--K.?a.r.V/Ik/B/x/@q0$0(0112cu3235 4#B4:f4o45615?h5Q55"6(46,]6B6q6?7I78+9@:Y:Av:E:P:mO;J;/<88<q<=<{<I=N`=<==>4W?3?0?S?jE@;@@+ AR8AA-ALAz&BZB3B=0CWnCXC(D>HD#DPDADu>EPE(F.Ff5F9FEF_G|GB,HoHH ItIoJqJ3KOKY#L}L8MXM9jM@M&MP N&]N,NNN?|O=O9Om4P!PMPLQZ_QgQY"RB|RoRP/SS4T9T=T-.U.\USU~UR^VVIVW W 6W BWELWKW@WXXfYdYqNZ<ZiZ{g[4[\X5\O\1\3]7D]|]$^$%^$J^o^E _OS__1_"__z``Ua)oaaa aaaab bb4bCbcb{bbb bbLbL=cccc cccc9dEQddd"dd ddegeeee e!eef/f1Cfauffffg42ggg|g!gggg!gh!h.hhbiuiii0iiRi*IjAtjLjCk3Gk {kKkk kk k l l +lf9l ll lZl!5mWm _mlmfmHm!4n_Vnn n n nno ooo.o15ogo7vooo ooQpKpK&qrq{q qq@9rCzr4rOrSCs s+s ssss.t2?trtt[t^tRuhuu uuO*v,zvv|4^|-|(|i|gT}E},~S/~S~~4~@(diN7%U&{DZGB;FH+it6ނ<kR="+cKYe Vo[ƅs"[tTgGAUF7<ԈC=U$̉ +">%a%#Rъf$7ËaES~AҍQjZpYˏ*%BP9͐%Z -Ց&ܒj)!TՓ*<:FNV.Ie4wGDC9M}%˗V H4V9PŘ_GvH&2Ex5D6/;$kv)H1z &œ )CVk>۝ ޝ 0 BL R"^# K  :@B,##ԟ1$Jo!:)33H*|   ȡҡ١30.Fuz //ۢ #0TW^bk ģң7٣1 6@V&j; ͤ"ڤh v&ҥ  E?e'ͦ զ  3*?j p|  *H MW^!q)ݨ+]G:@ {Ȫ&۪'y*ǬݬXحJ1|!$ޮeV gu*}4%ݯ -E[z ް,-Z4j4.Ա] amVٲ ,D VFa-Ƴ-$R?nz ) 5=@w~'3E am A]*t.η޷*`"`R17=i йx/%t%+GV4; ǽU > LYh l8 ƿ $"G^=6E0| (2*Fc~dIY8h!(2[rf0g.50$5&ZMp@Od+x.'HD5z)?C#??6'Y^>dI\|;##_Gs_?X+$;@G|N=RQomy($4MU: !=(VhjV 'D!(f1% 3zOLS++  +8I PZkyr!%8kMH#J3~$%>)V7I?(B-k-)%$9G^p  "0IB&  0WJUYum:& &; DQ/`#  *5<Casr| )B>H2p[nL %?%Z"&L#";^JBK#a    U4;Q#X|'$ ^.%  "9@5z9)#A]+{ c  x1F(x*'%,FG+:<:2#m ILz:g> \ h't$11$E j42  *8K ju 3*)E'o*)P.=,l4  @7x"? _l .R Ye v+,S1V]c,j4?0t/8].R:,g p&t.!u +!IkV{D[qs' %P> &8 =F ? /    ) A4 v c z *   ?  8+ -d 2    $ .>^+vG@*+,Vd7"Zkr 6=Zkz# ,H^ s ~Y)<+/h2J0?M84B5>_t37:@8{)*. 8#UHyaG[/L5%.210B"s8a19S [rhZi5I$9-gA##! q-ODJ `+n +   (6 h_ K t!u!9!:9"Ot"~"C# #3$kL$W$n%L%!%8%s'&=&_&A9'{''b'( ((%(-(((") 1)t<)")))) * -*:*/J*z* }**$**(*+#+.>+m+u+'++?+?,H, g,St, ,,sd--^. n. y..:O/1///u/`0B0F:11s22l"3s3I4aM4s4r#55>86ow6O677]7l8F8L8L9c9t4::S:;G;Q;=<<JY==]> v>7> >O>-? E?$f?? ? ??J?"@C=@(@@ @@^@NAlAAACA8AB==B-{B"BBBBCCR CcsCCC%D.5DdD"yD D#DNDBE]E }EcEE5 FAF>FG&!G`HGEG-G2HPH/eHH HGH/H1#IUIlIXIIBI :J HJiJ{J JJIJJ K*KFK!OKqKKK K KK)KL 2L?LYL nL%|L,L LLL6 M~@MMnNqOrO OOPP.PGPWPhPPPP$P!P P QQ&Q/QKQPQ(cQlQ QRP$RIuR/RRbySS+SA'T+iT0TLT%U`9UUU=VDVWViV>V%VV2V)WWiXXX)Y:YPYUYXYnY~YAYHY#Z[$[9[P[2[y\\=\Z\(]M9]]$X^}^1_"9_\_v_-}__L_`5` I`V`\` l`v```r` a6a)FaKpaa0a3 b*AbLlbXb)cfAg(Rgn{gDg-/h]hehkhhhhhhhi!,i&Niui j.j3k9k5Vkkk k$kkl l$lW}(l}7}}5}3~@K~~~~c~c8# 9"+5/a/$Հ 2N^"z)߁   "> Vdy ΂e߂FE)l#E.5EVl=Å˅ 0)>hw Æ4І h 7 >KMAU \i~A ܉ $#BWv $يZD +]όB-pi\aPD&&9HZl3l=#ޓ9t<"7ԔG YT$ĕ+0GFc;"`^!6U1btE_37ٜ@/jp۝HC;3B>U5[ʠh&J#ڡ(_'.0YA]ȣ/&@ViZ1\G*֥Y9[h5J|PDͧDkWèO{˩o}u|3߬m­0G7PGN,]/r3&ְ@T?F"[1SgrISGX_ߵ?GO3F5zQaX hs WP TZpO}>I;j7(JjsV75Gm\/+,KN iZ4*,EBd .p "3,Q~-/"#A.Zrpm} ,"C\Z 0,=L~a( >'Jr#=iq"?0'Jr%M's2UjJ_,rEKI10{ \4D KY s{ "& IW+ZzS2(f' <J$Y~  8=OV ^iIL*1FO<?C:]K h;r  3;1m}yk|\01:zR%Rx`' <@P7@Qa`ZcU">=9.wpgR8d kpLBI~l Bx#$H`MREWd]v>Pu!>#5i0[tikpFvQjDfJvEmRTM[#1.9N4;7:1blm9=w`w_8gvhXT8+QY e&  3?BX-_-|)T)< G)Lq]?N\BQXTMX'T]|5@ ZalV)b"$ H+ t < S 6 :L "  5/ Xe     - , L U n      T < @  I ,W %     . 29PTY[* \9W++-6+N(z8X05-f"G::BS gtz 5<16?PX1_1&  %*Pnv D416$In5A*  7wE. 'Ff l4x34- = ISp ;   :&Jq !  4,(a,_>ET  6W *"< Your hosting provider only allows you to take one incremental backup per day."%s" has no primary key, manual change needed on row %s."tenant" is a term used with OpenStack storage - Google for "OpenStack tenant" to get more help on its meaningtenant%d errors, %d warnings%d hours, %d minutes, %d seconds%d token%d tokens%s (%s used)%s - could not back this entity up; the corresponding directory does not exist (%s)%s Account Name%s Container%s Error%s Error: Failed to initialise%s Error: Failed to open local file%s Error: Failed to upload%s Key%s Prefix%s Service Exception.%s access key%s add-on not found%s archives remain%s authentication%s authentication code:%s authentication failed%s authentication:%s bits%s bytes%s checksum: %s%s de-authentication%s download: failed: file not found%s end-point%s error - failed to access the container%s error - failed to re-assemble chunks%s error - failed to upload file%s error - we accessed the container, but failed to create a file within it%s error: %s%s from now%s has been chosen for remote storage, but you are not currently connected.%s hours%s location%s login failure%s logo%s minutes, %s seconds%s month %s trial%s per quarter%s per year%s re-assembly error (%s): (see log file for more)%s restoration options:%s returned an unexpected HTTP response: %s%s secret key%s settings test result:%s support is available as an add-on%s table(s) found.%s total table(s) found; %s with the indicated prefix.%s upload: getting uploadID for multipart upload failed - see log file for more details%s version:%s weeks%s: unreadable file - could not be backed up%s: unreadable file - could not be backed up (check the file permissions and ownership)(%d archive(s) in set, total %s).(None configured)(Not finished)(Nothing has been logged yet)(Read more)(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).(after %ss)(already uploaded)(apparently a pre-release or withdrawn release)(as many as you like)(at same time as files backup)(backup set imported from remote location)(current version)(latest increment: %s)(learn more about this significant option)(logs can be found in the UpdraftPlus settings page as normal)...(make sure that you were trying to upload a zip file previously created by UpdraftPlus)(or connect using the form on this page if you have already purchased it)(tap on an icon to select or unselect)(the asterisk character matches zero or more characters)(verb)Download(version: %s)(view log...)... and many more!1 hour1 weekDo not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...).(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem).After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s.This is NOT a folder name.A "migration" is ultimately the same as a restoration - but using backup archives that you import from another site.A PHP exception (%s) has occurred: %sA PHP fatal error (%s) has occurred: %sA host name cannot contain a slash.A key with this name already exists; you must use a unique name.A search/replace cannot be undone - are you sure you want to do this?A very large file was encountered: %s (size: %s Mb)A zip error occurredABORT: Could not find the information on which entities to restore.API Key: %sAPI keyAPI secretAWS authentication failedAccess Key: %sAccount IDAccount KeyAccount full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized (%s).Account is not authorized.Account typeAccounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-basedActionsActions upon selected backupsActivity logAdd SFTP to send your data securely, lock settings and encrypt your database backups for extra security.Add a siteAdd an additional database retention ruleAdd an additional file retention ruleAdd an additional retention rule...Add an exclusion ruleAdd an exclusion rule for %sAdd an external database to backup...Add another %s account...Add another address...Add directory...Add exclusion ruleAdd siteAdd this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites.Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com.Adding...Additional and enhanced remote storage locationsAdditional storageAdmin API KeyAdmin UsernameAdmin access keyAdmin secret keyAdvanced / Debugging SettingsAdvanced ToolsAfrica (Cape Town)After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locationsAfter pressing this button, you will be given the option to choose which components you wish to migrateAfter pressing this button, you will be given the option to choose which components you wish to restoreAfter you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance.All WordPress tables will be backed up.All files beginning with given charactersAll files beginning with these charactersAll files with this extensionAll files/directories containing All files/directories containing the given characters in their namesAll references to the site location in the database will be replaced with your current site URL, which is: %sAll sitesAllow deletionAllow downloadAllow only administrators to log inAllows you to only backup changes to your files (such as a new image) that have been made to your site since the last backup.Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this.Already got space?Also delete from remote storageAlso send this backup to the active remote storage locationsAlso, you should read this important FAQ.An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %sAn admin password has been set.An email is required and needs to be in a valid format.An empty WordPress installAn error occurred on the first %s command - aborting runAn error occurred when fetching storage module options: An error occurred when trying to retrieve your add-ons.An error occurred while attempting to check the support of stored routines creation (%s %s)An error occurred while attempting to retrieve routine status (%s %s)An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %sAn error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %sAn error occurred whilst closing the final database fileAn error response was received; HTTP code:An unknown error occurred when trying to connect to UpdraftPlus.ComAn update containing your addons is available for UpdraftPlus - please follow this link to get it.An update is available for UpdraftPlus - please connect here to gain access to it.An update is available for UpdraftPlus - please follow this link to get it.And then add an incremental backupAnonymisation functionsAnonymise personal data in your database backups.Anonymize personal data for all users except staffAnonymize personal data for all users except the logged-in userAny other directories found inside wp-contentAny other file/directory on your server that you wish to backupAny settings in your .htaccess or web.config file that affects the maximum upload or post size.Any support requests to do with %s should be raised with your web hosting company.Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address.Apache modulesApplication keyArchive is expected to be size:Are you sure that you wish to remove %s from UpdraftPlus?Are you sure you want to dismiss all UpdraftPlus news forever?Are you sure you want to remove this exclusion rule?Asia PacificAsia Pacific (Hong Kong)Asia Pacific (Mumbai)Asia Pacific (Osaka-Local) (restricted)Asia Pacific (Seoul)Asia Pacific (Singapore)Asia Pacific (Sydney)Asia Pacific (Tokyo)Ask WordPress to automatically update UpdraftPlus when it finds an available update.Ask WordPress to update UpdraftPlus automatically when an update is availableAsk a pre-sales questionAssigned to this siteAt the same time as the files backupAttempts by the browser to contact the website failed.Attribute imported content to userAuthenticate with %sAuthenticate with GoogleAuthenticationAuthorisation failed (check your credentials)Automatic BackupAutomatic backup before updateAutomatic updatesAutomatically backs up your website before any updates to plugins, themes and WordPress core.Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable for this site (via your all-addons purchase)Available temporary clone tokens:Available to claim on this siteAzureAzure AccountAzure ChinaAzure GermanyAzure GlobalAzure GovernmentBackBack...Backed up: %sBackupBackup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingBackup / RestoreBackup Contents And ScheduleBackup NowBackup ReportBackup WordPress core and non-WP files and databases.Backup WordPress multisites (i.e, networks), securely.Backup began:Backup begunBackup contains:Backup created by unknown source (%s) - cannot be restored.Backup created by:Backup created by: %s.Backup data (click to download)Backup data will be sent to:Backup dateBackup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified does not exist.Backup directory specified exists, but is not writable.Backup directory specified is writable, which is good.Backup directory successfully created.Backup does not exist in the backup historyBackup external databaseBackup file not available.Backup finishedBackup is of: %s.Backup label:Backup made by %sBackup more databasesBackup non-WordPress files and databasesBackup non-WordPress tables contained in the same database as WordPressBackup of:Backup of: %sBackup pathBackup sent to remote site - not available for download.Backup set not foundBackup sets removed:Backup succeededBackup time and schedulingBackup to remote storage locationsBackup using %s?Backup won't be sent to any remote storage - none has been saved in the %sBackup, update and manage all your WordPress sites from one dashboardBackups are saved in %s.Bad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email.Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive.Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive.Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver.Be safeBe safe with an automatic backupBegunBegun looking for this entityBelgiumBlog linkBlog uploadsBoth email and password fields are required.Browse contentsBrowsing zip fileBucketBucket access styleBucket application key IDBucket locationBucket nameBuy %sBuy ItCallCall WordPress action:Canada (Central)CancelCannot create new AWS user, since an unknown AWS toolkit is being used.Central United StatesChange Lock SettingsChanges made:Check this box to have a basic report sent toCheck this box to use Amazon's server-side encryptionCheck this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits).Check this to receive more information and emails on the backup process - useful if something is going wrong.Check your file permissions: Could not successfully create and enter directory:Check your file permissions: Could not successfully create and enter:Chicago (ORD)China (Beijing) (restricted)China (Ningxia) (restricted)Choose a default for each tableChoose the components to restoreChoose the components to restore:Choose the schedule that you want your backups to run on.Choose your backup scheduleChoose your remote storageClaim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?Claim not granted - your account login details were wrongCleaningCleaning up rubbish...Clear list of existing sitesClient IDClient SecretClone of %sClone packageClone readyClone region:Clone server being provisioned and booted (can take several minutes)Clone:Cloning and migrationCloseClosing 1st October 2018Cloud FilesCloud Files API KeyCloud Files ContainerCloud Files Storage RegionCloud Files UsernameCloud Files authentication failedCloud Files error - we accessed the container, but failed to create a file within itCloud Files operation failed (%s)Cloud Files usernameCompleteComplete manual authenticationConfirmConfirm changeConflict: that user already existsConflict: that user or email address already existsCongratulations! Your first backup is running.Congratulations, your settings have successfully been saved.ConnectConnect this site to UpdraftCentral CloudConnect to UpdraftCentral CloudConnect to updraftplus.comConnect to your %s accountConnect with your UpdraftPlus.Com accountConnecting...Connection failed.Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.Connection succeeded.ConstantsContainerContains:Content URL:Continue restorationControl all your WordPress installations from one place using UpdraftCentral remote site management!Control all your backups in one placeCopying this entity failed.Could not access %s containerCould not access containerCould not create the containerCould not delete old path.Could not find that job - perhaps it has already finished?Could not get list of tablesCould not move old files out of the way.Could not open the backup file for writingCould not read one of the files for restorationCould not read the directoryCounting...CreateCreate Azure credentials in your Azure developer console.Create OneDrive credentials in your OneDrive developer console.Create a key: give this key a unique name (e.g. indicate the site it is for), then press "Create key":Create a new API user with access to only this container (rather than your whole account)Create a temporary clone on our servers (UpdraftClone)Create cloneCreate keyCreate new API user and containerCreate new IAM user and S3 bucketCreated database backupCreated file backup zipsCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backupCreating database backup with UpdraftPlus...Creating file backup zipsCreating your first backupCreating...Current SQL mode:Current clonesCurrent limit is:Current memory usageCurrent use:Currently disabledCurrently enabledDailyDallas (DFW) (default)Dashboard:DatabaseDatabase (created by %s)Database (files backup has not completed)Database OptionsDatabase backup intervalDatabase backup scheduleDatabase decryption phraseDatabase encryption phraseDatabase only (files were not part of this particular schedule)Database restoration options:Database successfully decrypted.Database: search and replace site URLDay of the monthDay of the weekDay to run backupsDebug modeDebugging informationDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete failed:Delete from your web serverDelete local backupDelete selected backupsDelete these settingsDelete this backup setDeleting...Deploying site dataDeselectDeselect allDeselect all backupsDirectory pathDisable SSL entirely where possibleDisabled this plugin: %s: re-activate it manually when you are ready.DisconnectDisconnecting...DismissDismiss (for %s months)Dismiss all UpdraftPlus newsDismiss from main dashboard (for %s weeks)Dismiss noticeDo not abort after pressing Proceed below - wait for the backup to complete.Do not confuse %s with %s - they are separate things.Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated.PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted.Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do remember to save your settings.Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral.Do you need WordPress Multisite support?Do you use UpdraftPlus on multiple sites?Do you want to carry out the import?Do you want to migrate or clone/duplicate a site?Don't know your email address, or forgotten your password?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDownloading backup files if neededDrop backup files hereDrop encrypted database files (db.gz.crypt files) here to upload them for decryptionDropboxDue to the restriction, some settings can be automatically adjusted, disabled or not available.Durable reduced availabilityEastern Asia-PacificEastern United StatesEasyEditEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too.Encrypted databaseEncrypting databaseEncryption key size:End tourEnjoy professional, fast, and friendly help whenever you need it with Premium.Ensure you are logged into the correct account before continuing.Enter a comma-separated list; otherwise, leave blank for all tables.Enter addresses here to have a report sent to them when a backup job finishes.Enter any path in the field below.Enter databaseEnter database.Enter details for where this new site is to live within your multisite install:Enter hostEnter host.Enter in format HH:MM (e.g. 14:22).Enter passwordEnter password.Enter table prefixEnter the ID of the %s project you wish to use here.Enter the name of the %s bucket you wish to use here.Enter the path of the %s folder you wish to use here.Enter the path of the %s you wish to use here.Enter usernameEnter username.Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name.Enter your UpdraftPlus.Com email / password here to connect:Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name.Enter your chosen nameErrorError - failed to download the fileError - no such file exists.Error data:Error downloading remote file: Failed to downloadError messageError opening local file: Failed to downloadError opening remote file: Failed to downloadError when creating new site at your chosen address:Error:Error: %sError: Failed to downloadError: Failed to initialiseError: Failed to open local fileError: Failed to uploadError: invalid pathError: the server sent an empty response.Error: the server sent us a response (JSON) which we did not understand.Error: the server sent us a response which we did not understand.Error: unexpected empty parameter (%s, %s)Error: unexpected file read failError: you have insufficient storage quota available (%s) to upload this archive (%s) (%s).ErrorsErrors / warnings:Errors encountered:Errors have occurred:Errors occurred when trying to connect to UpdraftPlus.Com:Errors occurred:Errors:Europe (Frankfurt)Europe (Ireland)Europe (London)Europe (Milan)Europe (Paris)Europe (Stockholm)European UnionEvery %s hoursEvery hourExamples of S3-compatible storage providers:Exclude files/directoriesExclude these fromExclude these:Existing backupsExisting keysExit full-screenExpert settingsExport / import settingsExport settingsExtensionsExternal databaseExternal database (%s)Extra databaseFAQsFTP loginFTP passwordFTP serverFacebookFailedFailed to access %s when deleting (see log file for more)Failed to apply User PolicyFailed to backup database table:Failed to create UpdraftCentral keyFailed to create a temporary directoryFailed to delete working directory after restoring.Failed to downloadFailed to download %sFailed to find a manifest file in the backup.Failed to find database fileFailed to open database fileFailed to open database file for reading:Failed to open database file.Failed to open directory (check the file permissions and ownership): %sFailed to open directory for reading:Failed to open the zip file (%s) - %sFailed to read from the working directory.Failed to read the manifest file from backup.Failed to search and replaceFailed to search and replace:Failed to unpack the archiveFailed to upload %sFailed to upload to %sFailed to write out the decrypted database to the filesystemFailed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location.Failed: We were able to log in, but failed to successfully create a file in that location.Failed: We were not able to place a file in that directory - please check your credentials.Failed: the %s operation was not able to start.Failed: we did not understand the result returned by the %s operation.FailureFailure: No %s was given.Failure: No bucket details were given.Failure: No container details were given.Failure: No endpoint details were given.Failure: No server details were given.Failure: Port must be an integer.Failure: we did not successfully log in with those credentials.Failure: we successfully logged in, but were not able to create a file in the given directory.FastFast, personal supportFetchFetching...File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.File OptionsFile backup optionsFile is not locally present - needs retrieving from remote storageFile not foundFile not found (you need to upload it): %sFile ready.File was found, but is zero-sized (you need to re-upload it): %sFile/directoryFilesFiles (database backup has not completed)Files and databaseFiles and database WordPress backup (created by %s)Files backup (created by %s)Files backup intervalFiles backup scheduleFiles changed since the last backup will be added as a new increment in that backup set.Files found:Files only (database was not part of this particular schedule)Files/Directories containing the given characters in their namesFinal checksFind out moreFind out more about incremental backups here.Find out more here.Fingerprints don't match.FinishFinishedFirst, enter the decryption keyFlexibleFolderFollow this link for helpFollow this link for more informationFollow this link to attempt decryption and download the database file to your computer.Follow this link to attempt to create the directory and set the permissionsFollow this link to authorize access to your %s account (you will not be able to backup to %s without it).Follow this link to download the log file for this restoration (needed for any support requests).Follow this link to remove these settings for %s.Follow this link to sign up for the UpdraftPlus newsletter.Follow this link to the installation instructions (particularly step 1).Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section.For backups older thanFor even more features and personal support, check out For future control of all your UpdraftCentral connections, go to the "Advanced Tools" tab.For help configuring %s, including screenshots, follow this link.For incremental backups, you will be able to choose which increments to restore at a later stage.For longer help, including screenshots, follow this link.For more options, use PremiumFor more reporting features, use the Premium versionFor the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium.For the ability to migrate websites, upgrade to UpdraftPlus Premium.For unlocking support, please contact whoever manages UpdraftPlus for you.Forbid non-administrators to login to WordPress on your cloneForgotten your details?FortnightlyFound SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset().Found and replaced existing table foreign key constraints as the table prefix has changed.FrankfurtFreeFree disk space in account:Free two-factor security pluginFront page:Full backupFull feature listFull-screenFurther information may be found in the browser JavaScript console, and the server PHP error logs.Get %s from the UpdraftPlus.com StoreGet %s hereGet PremiumGet UpdraftCentralGet it from the UpdraftPlus.Com StoreGet it hereGet more quotaGet these settings from %s, or sign up %s.GoGo hereGo here for helpGo here for more information.Go here to activate it.Go here to begin installing it.Go here to connect it.Go here to connect.Go here to re-enter your password.Go thereGo to settingsGo to your UpdraftCentral Cloud dashboardGo up a directoryGoes to the updraftplus.com checkout pageGoes to updraftplus.com checkout pageGoogle CloudGoogle DriveGoogle Drive list files: failed to access parent folderHTTP code:Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud.Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud.Hong Kong (HKG)HostHow do I get a site's key?However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.However, subsequent access attempts failed:I accept the UpdraftClone terms and conditionsI consent to %sIAM operation failed (%s)If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If OneDrive later shows you the message "unauthorized_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If not, then choose your details and a new account will be registered.If not, you will need to either remove data from this table, or contact your hosting company to request more resources.If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead.If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.If using it, select a path from the directory tree below and then press confirm selection.If you already have an updraftplus.com account, then enter the details below.If you are having problems authenticating with %s you can manually authorize here.If you are not sure then you should stop; otherwise you may destroy this WordPress installation.If you are not sure what this option is for, then you will not want it, and should turn it off.If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes.If you are using this, then turn Turbo/Road mode off.If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%sIf you bought new add-ons, then follow this link to refresh your connectionIf you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.If you do not want to restore all your database tables, then choose some to exclude here.If you enter a table prefix, then only tables that begin with this prefix will be backed up.If you exclude both the database and the files, then you have excluded everything!If you have a valid Premium license, you get 1GB of storage included.If you have already renewed, then you need to allocate a licence to this site - %sIf you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)If you have an existing backup that you wish to upload and restore from, then please use the "Upload backup files" link above.If you have forgotten your password If you have forgotten your password, then go here to change your password on updraftplus.com.If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1).If you leave it blank, then the backup will be placed in the root of your %sIf you see errors about SSL certificates, then please go here for help.If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version.If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite.If you want, test upgrading to a different PHP or WP version.If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.Import settingsImporterImporting a single site into a multisite installImporting...In %s, path names are case sensitive.Include all tables not listed belowInclude in files backupInclude your database in the backupInclude your files in the backupIncompleteIncrementalIncremental backupsIncremental backups are a feature of %s (upgrade by following this link).Increments exist at: %sInfinite recursion: consult your log for more informationInformation needed to continue:Install debugging plugins:InstalledIntelligent TieringInterested in knowing about your UpdraftPlus.Com password security? Read about it here.Introducing UpdraftCentralInvalid Job IdInvalid bucket nameIowaIt appears that your web server's IP Address (%s) is blocked.It can also backup external databases.It has been tested up to version %s.It is an ID number internal to Google DriveIt is for sending backups to the following site: It will be imported as a new site.JavaScript warningJob ID: %sJob deletedKeyKey created successfully.Keys for a site are created in the section "receive a backup from a remote site".Keystone and swauth are technical terms which cannot be translatedThis needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.Known backups (raw)Last log messageLatest UpdraftPlus.com news:Latest full backup found; identifier:Latest status:Lead developer's homepageLearn moreLearn more about UpdraftCentralLeave this blank to use the default (80 for webdav, 443 for webdavs)Leave this blank, and a default will be chosen.Loading log fileLoading...Local backup upload has started; please check the log file to see the upload progressLocal files deleted:Local write failed: Failed to downloadLock access to UpdraftPlus via a password so you choose which admin users can access backups.Lock access to the UpdraftPlus settings pageLock settingsLog all messages to syslogLog all messages to syslog (only server admins are likely to want this)Log in here to enable all the features you have access to.Login or register for UpdraftCentral CloudLogin or register with this email addressLogin successful.Login successful; reloading information.LondonLondon (LON)Look through the other settings here, making any changes you’d like.Looking for %s archive: file name: %sMake updates easy with UpdraftPlusManage AddonsManage your clonesManual authentication is not available for this remote storage methodManual backup optionsManually decrypt a database backup fileMany sites?Master Application Key IDMaybe laterMemory limitMessages:Middle East (Bahrain)Migrate (create a copy of a site on hosting you control)Migrate / CloneMigrated site (from UpdraftPlus)Migration key created:MigratorMissing authentication data:Missing instance id:Missing pages:Missing parametersMonthlyMore FilesMore database optionsMore great plugins by the Updraft TeamMore information here.More pluginsMore quality pluginsMore settingsMore tasks:Moving old data out of the way...Moving unpacked backup into place...MultisiteMultisite InstallMust-use pluginsN.B. %s is not case-sensitive.N.B. Anonymized information cannot be recovered; the original non-anonymized data will be absent from the backup.N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.N.B. No backup of your database will be taken in an incremental backup; if you want a database backup as well, then take that separately.N.B. This count is based upon what was, or was not, excluded the last time you saved the options.N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you.Name: %s.NearlineNeed to get space?Need to get support?Need to use sub-folders?Needs to already existNetwork / multisiteNetwork activating theme:Network and multisiteNeverNew IAM usernameNew User's Email AddressNew User's UsernameNew site:NewsNewsletter sign-upNextNext scheduled backupsNoNo %s foundNo %s settings were foundNo Vault connection was found for this site (has it moved?); please disconnect and re-connect.No adsNo backup has been completedNo backup of %s directories: there was nothing found to back upNo backup of location: there was nothing found to back upNo database tables foundNo incremental backup of your files is possible, as no suitable existing backup was found to add increments to.No keys to allow remote sites to send backup data here have yet been created.No local copy present.No log files were found.No previous backup found to add an increment to.No previous full backup found.No receiving sites have yet been added.No remote storage locations with valid options found.No settings were foundNo settings were found - please go to the Settings tab and check your settingsNo such backup set existsNo valid components found, please select different components or a backup set with components that can be restored.NoneNorth VirginiaNorth-east AsiaNorthern Virginia (IAD)Not got an account? Get one by buying some tokens here.Not got any remote storage?Not installedNot yet got an account (it's free)? Go get one!Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability.Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates.Note that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing to do: the site URL is already: %sNothing yet loggedNoticeOKOk, you deserve itOld ABSPATH:Old table prefix:One Time Password (check your OTP app to get this password)One VPS (Virtual Private Server) per clone, shared with nobody.One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the "retain" settings; if/when you wish to delete them then you must do so manually.OneDriveOneDrive GermanyOneDrive InternationalOnly allow this backup to be deleted manually (i.e. keep it even if retention limits are hit).Only email the database backupOnly the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOperation to create user Access Key failedOptimizePress 2.0 encodes its contents, so search/replace does not work.Options (raw)Or if you prefer to self-host, then you can get the self-hosted version here.Or, if they are in remote storage, you can connect that remote storage (in the "Settings" tab), save your settings, and use the "Rescan remote storage" link.Or, use an UpdraftClone keyOr, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.OregonOther %s FAQs.Other great pluginsOthersOtherwise, the default link will be shown.Otherwise, you can leave it blank.Otherwise, you can try UpdraftVault for 1 month for only $1!Over-write wp-config.phpPHP informationPassive modePasswordPassword incorrectPassword: %sPaste key herePathPath stylePayments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.Peak memory usagePerform a backupPerhaps you would want to login instead.Please allow time for the communications with the remote storage to complete.Please check out UpdraftPlus Premium.Please check the error log for more detailsPlease check your access credentials.Please choose a file or directoryPlease consult this FAQ if you have problems backing up.Please contact your hosting company (%s) if you require further support.Please enter a file extension, like zipPlease enter a valid URLPlease enter a valid URL e.g http://example.comPlease enter a valid file extensionPlease enter a valid file name prefixPlease enter characters that begin the filename which you would like to excludePlease enter part of the file namePlease enter your %s email addressPlease enter your %s passwordPlease fill in the required information.Please follow this link to open %s in a new window.Please give this key a name (e.g. indicate the site it is for):Please make sure that you have made a note of the password!Please re-authorize the connection to your %s account.Please read %s for use of our %s authorization app (none of your backup data is sent to us).Please read this link for important information on this process.Please select a file/folder which you would like to excludePlease select the more files backups that you wish to restore:Please specify the Microsoft OneDrive folder name, not the URL.Please supply the requested information, and then continue.Please wait while connecting to UpdraftPlus.com ...Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud.Please wait while you are redirected to UpdraftCentral Cloud.Please wait whilst we make the claim...PluginsPortPre-sales FAQsPre-update backupsPremiumPremium / ExtensionsPremium / Find out morePremium / Pro SupportPremium WooCommerce pluginsPreparing backup filesPress a button to get started.Press here to download or browsePress here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded.Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder).Press here to run a manual backup.Press here to save your settings.Press here to start!Press this button to take a tour of the plugin.Proceed with updateProcessed plugin:ProcessingProcessing files - please wait...Processing table (%s)Processing...Project IDProtocol (SSL or not)Provides expert help and support from the developers whenever you need it.Pruning old backup setsQuota:RSA fingerprintRSS linkRaw backup historyRead FAQs here.Read moreRead more about %s here.Read more about Easy Updates ManagerRead more about bucket access styleRead more about bucket locationsRead more about how this works...Read more about server-side encryptionRead more about storage classesRead more...Read the %s FAQs here.Read this article to see step-by-step how it's done.Read this page for a guide to possible causes and how to fix it.Receive a backup from a remote siteReceiving site dataRecently started backup job id: %sRecommended: optimize your database with WP-Optimize.Refresh connectionRefresh current statusRegionRegion: %sRegistration successful.ReliableRemember this choice for next time (you will still have the chance to change it)Remote Storage OptionsRemote files deleted:Remote pathRemote storageRemote storage authenticationRemote storage method and instance id are required for authentication.Remote storage: %sRemoveRemove old directoriesReplace withReportingRequested character set (%s) is not present - changing to %s.Requested table character set (%s) is not present - changing to %s.Requested table collation (%1$s) is not present - changing to %2$s.Requested table collations (%1$s) are not present - changing to %2$s.Requested table engine (%s) is not present - changing to MyISAM.Requesting start of backup...Require password again afterRequired information for restoring this backup was not given (%s)Rescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...Reset tourRestoration progress:RestoreRestore an existing backup set onto this siteRestore backupRestore error:Restore files fromRestore location does not exist on the filesystem for:Restore location found for:Restoring %s1 files out of %s2Restoring stored routine: %sRestoring table: %sRestoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Retain this many scheduled database backupsRetain this many scheduled file backupsRetrieving (if necessary) and preparing backup files...Return to UpdraftPlus ConfigurationReturn to UpdraftPlus configurationReview UpdraftPlusRows examined:Rows per batchRun this command to see the log file for this restoration (needed for any support requests).Runs on capacity from a leading cloud computing provider.S3 (Compatible)S3 bucketS3 storage regionSCP/SFTP host settingSCP/SFTP password/keySCP/SFTP user settingSQL update commands run:SaveSave ChangesSave timeSaving...SearchSearch / replace databaseSearch and replace site location in the database (migrate)Search and replace successfulSearch and replacing table:Search forSecret Key: %sSecureSecure multisite installation, advanced reporting and much more.See Google's guidelines on bucket naming by following this link.See Microsoft's guidelines on container naming by following this link.See also the Premium version from our shop.See this FAQ also.Select 'Web Application' as the application type.Select FilesSelect a file to view information about itSelect a file/folder which you would like to excludeSelect a way to exclude files or directories from the backupSelect allSelect all (this site)Select all backupsSelect the folder in which the files or sub-directories you would like to exclude are locatedSelect the remote storage destinations you want to upload this backup set toSelect what you want to backupSendSend a backup to another siteSend a report only when there are warnings/errorsSend reportsSend scheduled backups to this destination:Send this backup to remote storageSend to site:Sending Your Backup To Remote StorageSending files to remote siteServer-side encryptionSet exact times to create or delete backups.SettingsShow all backups...Show expert settingsShow more backups...Show raw backup and file listShow the optionsSign in with %sSign upSingaporeSiteSite data has been deployedSite data receivedSite home:Site informationSite information:Site keySite sizeSize: %s MBSkip this stepSkipped tables:Skipping table %s: already restored on a prior run; next table to restore: %sSkipping table %s: user has chosen not to restore this tableSkipping: this archive was already restored.So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section.Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins.Some files are still downloading or being processed - please wait.Sophisticated reporting and emailing capabilities.South America (São Paulo)South CarolinaSouth-east AsiaSouth-east AustraliaSplit archives every:Split line to avoid exceeding maximum packet sizeStandardStandard (infrequent access)Start %s SubscriptionStart %s TrialStart SubscriptionStart TrialStart a %s UpdraftVault SubscriptionStart backupStart timeStarting automatic backup...Storage classStore atSubscriptions can be cancelled at any time.SuccessSuccess:Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:Sufficient information about the in-progress restoration operation could not be found.SupportSupport URLSupported backup plugins: %sSydneySydney (SYD)Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup.Table prefixTable prefix has changed: changing %s table field(s) accordingly:Tables examined:TaiwanTake TourTake a new backupTake an incremental backupTakes just the time needed to create a backup and send it.Team UpdraftTell me moreTell me more about incremental backupsTenantTest %s SettingsTest connection...Testing %s Settings...Testing connection...Testing...Thank you for installing UpdraftPlus!Thank you for taking the tour.Thank you so much!That you are attempting to upload a zip file previously created by UpdraftPlus.The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.The %s object was not foundThe 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).The AWS access key looks to be wrong (valid %s access keys begin with "AK")The Database connection has been closed and cannot be reopened.The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site.The UpdraftPlus module for this file access method (%s) does not support listing filesThe WordPress content folder (wp-content) was not found in this zip file.The WordPress subscription extension for WooCommerce store owners.The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The above files comprise everything in a WordPress installation.The admin password has been changed.The admin password has now been removed.The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)The attempt to open and read contents from the password file failed; please make sure the file is readable and is not being exclusively locked by another processThe attempt to send the backup via email failed (probably the backup was too large for this method)The attempt to undo the double-compression failed.The attempt to undo the double-compression succeeded.The available memory on the server.The backup attempt has finished, apparently unsuccessfullyThe backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail.The backup has finished runningThe backup has not finished; a resumption is scheduledThe backup is being aborted for a repeated failure to progress.The backup records do not contain information about the proper size of this file.The backup was abortedThe backup was aborted by the userThe communication with %s was encrypted.The communication with %s was not encrypted.The creation of your data for creating the clone should now begin.The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on.The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.The database is too small to be a valid WordPress database (size: %s Kb).The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import.The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import.The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import.The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import.The decryption key used:The directory does not existThe directory does not exist, and the attempt to create it failedThe download link is broken or the backup file is no longer availableThe download link is broken, you may have clicked the link from untrusted sourceThe email address provided appears to be invalid, please double-check your email address again and try again.The entered key does not belong to a remote site (it belongs to this one).The entered key was corrupt - please try again.The entered key was the wrong length - please try again.The error reported by %s was:The exclusion rule which you are trying to add already existsThe file %s has a "byte order mark" (BOM) at its beginning.The files %s have a "byte order mark" (BOM) at their beginning.The file was uploaded.The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page.The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support.The following remote storage options are configured.The given file was not found, or could not be read.The given value for the '%s' option is not validThe higher the value, the more server resources are required to create the archive.The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The key provided was not in a valid format, or was corrupt.The key was successfully added.The list of existing sites has been removedThe location of this directory is set in the expert settings, in the Settings tab.The log file could not be read.The log file has been attached to this email.The new user's RackSpace console password is (this will not be shown again):The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars).The password file you specified doesn't exist; please check the --password-file parameter.The preparation of the clone data has been aborted.The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe required %s PHP module is not installed - ask your web hosting company to enable it.The server's RSA key %s fingerprint: %s.The site data has all been received, and its import has begun.The specified bucket was not found.The time zone used is that from your WordPress settings, in Settings -> General.The ultimately secure and convenient place to store your backups.The user is being told the number of times an error has happened, e.g. An error (27) occurredAn error (%s) occurred:The web server returned an error code (try again, or check your web server logs)The zip engine returned the message: %s.ThemesThen, these lower-powered access credentials can be used, instead of storing your administrative keys.There are no incremental backup restore points available.There was an error while trying to remove the list of existing sites.Therefore it is advised that you take a fresh backup on the source site, using a later version.Therefore, affected tables on the current site which already exist will not be replaced by default, to avoid corrupting them (you can review this in the list of tables below).These options can anonymize personal data in your database backup.These tables onlyThese will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket.This backup is of a site with an empty table prefix, which WordPress does not officially support; the results may be unreliable.This backup set contains incremental backups of your files; please select the time you wish to restore your files toThis backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s.This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site.This backup was created by %s, and can be imported.This backup was created on a previous UpdraftPlus version (%s) which did not correctly backup tables with composite primary keys (such as the term_relationships table, which records tags and product attributes).This button is disabled because your backup directory is not writable (see the settings).This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage).This can easily destroy your site; so, use it with care!This current siteThis database backup is missing core WordPress tables: %sThis database needs to be deployed on MySQL version %s or later.This decryption key will be attempted:This does not look like a valid WordPress core backup - the file %s was missing.This feature is not compatible with %sThis feature requires %s version %s or laterThis file could not be uploadedThis file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).This functionality has been disabled by the site administrator.This is a WordPress multi-site (a.k.a. network) installation.This is a count of the contents of your Updraft directoryThis is needed if, and only if, your application key was a bucket-specific application key (not a master key)This is not an incremental backupThis is not your Azure login - see the instructions if needing more guidance.This is older than the server which you are now restoring onto (version %s).This is significantly newer than the server which you are now restoring onto (version %s).This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again.This looks like a migration (the backup is from a site with a different address/URL, %s).This may prevent the restore procedure from being able to proceed.This most likely means that you share a webserver with a hacked website that has been used in previous attacks.This multi-archive backup set appears to have the following archives missing: %sThis option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up.This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database.This remote storage method (%s) requires PHP %s or later.This setting applies only when a new bucket is being created.This site has no backups to restore from yet.This storage method does not allow downloadingThis version of UpdraftPlus does not know how to handle this type of foreign backupThis will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these.This will delete all your UpdraftPlus settings - are you sure you want to do this?This will import data from:Tidy things up for clients and remove all adverts for our other products.Time nowTime taken (seconds):Time taken:TimestampTo access the UpdraftPlus settings, please enter your unlock passwordTo add a site as a destination for sending to, enter that site's key below.To be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To complete manual authentication, at the orange UpdraftPlus authentication screen select the "Having problems authenticating?" link, then copy and paste the code given here.To complete your migration/clone, you should now log in to the remote site and restore the backup set.To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium.To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium.To create a temporary clone you need credit in your account.To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below.To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings.To fix the time at which a backup should take place,To fix this problem go here.To import a backup set, go to the "Existing backups" section in the "Backup/Restore" tabTo import an ordinary WordPress site into a multisite installation requires %s.To maintain your access to support, please renew.To make a backup, just press the Backup Now button.To read FAQs/documentation about UpdraftClone, go here.To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To regain your access, please renew.To remove any block, please go here.To remove the block, please go here.To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To send to more than one address, separate each address with a comma.To use this backup, your database server needs to support the %s character set.TokyoToo many database errors have occurred - abortingTotal (uncompressed) on-disk data:Total backup size:Translators: %s is a bold tag.But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %sTranslators: UpdraftVault is a product name and should not be translated.To get started with UpdraftVault, select one of the options below:Trouble connecting? Try using an alternative method in the advanced security options.Try UpdraftVault for 1 month for only $1!Try UpdraftVault!Try it - 1 month for $1!Trying...TwitterType a file prefixType an extension like zipUKUS (default)US East (N. Virginia) (default)US East (Ohio)US Government West (restricted)US West (N. California)US West (Oregon)US or UK CloudUS or UK Rackspace AccountUS or UK-based Rackspace AccountUnable to get renew dateUnable to open zip file (%s) - could not pre-scan it to check its integrity.Unable to read zip file (%s) - could not pre-scan it to check its integrity.Under MaintenanceUnexpected response:Unfinished restorationUnited StatesUnknownUnknown server response status:Unknown server response:Unknown/unexpected error - please raise a support requestUnless you have a problem, you can completely ignore everything here.UnlockUnpacking backup...Unzip progress: %d out of %d filesUpdate quota countUpdraft VaultUpdraftCentralUpdraftCentral CloudUpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place.UpdraftCentral key created:UpdraftClone image:UpdraftClone key is required.UpdraftPlusUpdraftPlus - Upload backup filesUpdraftPlus AddonsUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus Blog - get up-to-date news and offersUpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply.UpdraftPlus NewsUpdraftPlus NewsletterUpdraftPlus PremiumUpdraftPlus Premium and addonsUpdraftPlus Premium has many more exciting features!UpdraftPlus Premium:UpdraftPlus RestorationUpdraftPlus Restoration: ProgressUpdraftPlus SupportUpdraftPlus TourUpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place.UpdraftPlus is not yet activated.UpdraftPlus is not yet installed.UpdraftPlus is on social media - check us out!UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)UpdraftPlus noticeUpdraftPlus notice:UpdraftPlus on %sUpdraftPlus settingsUpdraftPlus temporary clone user login settings:UpdraftPlus warning:UpdraftPlus was unable to find the table prefix when scanning the database backup.UpdraftPlus.Com account terms and policiesUpdraftPlus.Com responded, but we did not understand the responseUpdraftPlus.Com returned a response which we could not understand (data: %s)UpdraftPlus.Com returned a response, but we could not understand itUpdraftPlus.com has responded with 'Access Denied'.UpdraftVaultUpdraftVault is our remote storage which works seamlessly with UpdraftPlus.UpdraftVault storageUpgrade nowUploadUpload backupUpload backup filesUpload errorUpload error:Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)Upload failedUpload files into UpdraftPlus.Uploaded to:Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select FilesorUploading files to remote storageUploadsUploads URL:Use SCP instead of SFTPUse ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in betweenUse the "Reporting" section to configure the email addresses to be used.Use the server's SSL certificatesUse this option to only send database backups when sending to email, and skip other components.UsernameUsername: %sVault ownerVerifyingVerifying one-time password...VersionView LogView logVirtual-host styleWP CLIWP-CLI commands to take, list and delete backups.WP-CLI supportWaiting until scheduled time to retry because of errorsWarningWarning:Warning: %sWarning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.Warning: You have no clone tokens remaining and either no subscriptions or no subscription that will renew before the clone expiry date.Warning: the database's home URL (%s) is different to what we expected (%s)Warning: the database's site URL (%s) is different to what we expected (%s)WarningsWarnings encountered:Warnings:Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link.We accessed the bucket, and were able to create files within it.We accessed the container, and were able to create files within it.We failed to successfully connect to UpdraftPlus.ComWe requested to delete the file, but could not understand the server's responseWe successfully accessed the bucket, but the attempt to create a file in it failed.Web server:Web-server disk space in use by UpdraftPlusWebDAV URLWeeklyWelcome to UpdraftPlusWelcome to UpdraftPlus!Welcome to your UpdraftClone (temporary clone)Well done - there's nothing more needed to set up.Western EuropeWestern United StatesWhen email storage method is enabled, and an email address is entered, also send the backupWhere to change directory to after logging in - often this is relative to your home directory.Which site to restoreWhich was exported on:Why am I seeing this?Wipe settingsWith UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too.With UpdraftPlus Premium, you can directly download individual files from here.Without it, encryption will be a lot slower.Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors.Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website.Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network.WooCommerce pluginsWordPress BackupWordPress CoreWordPress Multisite is supported, with extra features, by UpdraftPlus Premium.WordPress backup is completeWordPress coreWordPress core (including any additions to your WordPress root directory)WordPress core (only)WordPress databaseWordPress installedWordPress installed; now awaiting the site data to be sent.WordPress root directory server path: %sYesYou are currently using the free version of UpdraftPlus.You are now using a IAM user account to access your bucket.You are presently connected to an UpdraftPlus.Com account.You are presently not connected to an UpdraftPlus.Com account.You are running on WordPress multisite - but your backup is not of a multisite site.You are using the %s webserver, but do not seem to have the %s module loaded.You can also close this wizard.You can buy UpdraftClone tokens from our shop, here.You can buy more temporary clone tokens here.You can check the progress here or in %sYou can choose another suitable character set instead and continue with the restoration at your own risk.You can choose another suitable collation instead and continue with the restoration (at your own risk).You can enter the path of any %s virtual folder you wish to use here.You can find out more about clone keys here.You can find your temporary clone information in your updraftplus.com account here.You can forbid non-admins logins to this cloned site by checking the checkbox belowYou can get more quota hereYou can manually decrypt an encrypted database here.You can send a backup to more than one destination with Premium.You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits.You can test upgrading your site on an instant copy using UpdraftClone creditsYou can view the log by pressing the 'View log' button.You do not have access to this bucketYou do not have access to this bucket.You do not have the UpdraftPlus %s add-on installed - get it from %sYou do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?You entered an email address that was not recognised by UpdraftPlus.ComYou have an inactive purchaseYou have an unfinished restoration operation, begun %s ago.You have chosen to backup a database, but no tables have been selectedYou have chosen to backup files, but no file entities have been selectedYou have chosen to send this backup to remote storage, but no remote storage locations have been selectedYou have made changes to your settings, and not saved.You have not selected a restore path for your chosen backupsYou have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons.You have not yet connected with your UpdraftPlus.Com account.You have not yet made any backups.You have not yet selected a file to import.You have reached the daily limit for the number of incremental backups you can create at this time.You have reached the monthly limit for the number of backups you can create at this time.You have requested saving to remote storage (%s), but without entering any settings for that storage.You have selected a remote storage option which has an authorization step to complete:You must add the following as the authorised redirect URI (under "More Options") when askedYou must add the following as the authorised redirect URI in your Dropbox console (under "API Settings") when askedYou must add the following as the authorized redirect URI (under "More Options") when askedYou must add the following as the authorized redirect URI in your OneDrive console (under "API Settings") when askedYou must copy and paste this key on the sending site now - it cannot be shown again.You must enter a project ID in order to be able to create a new bucket.You must save and authenticate before you can test your settings.You must select at least one remote storage destination to upload this backup set to.You must upgrade MySQL to be able to use this database.You must use a bucket name that is unique, for all %s users.You must use lower-case letters or numbers for the site path, only.You need to connect to receive future updates to UpdraftPlus.You need to enter a bucketYou need to enter a containerYou need to enter a new IAM usernameYou need to enter a new usernameYou need to enter a valid new email addressYou need to enter an admin API keyYou need to enter an admin access keyYou need to enter an admin secret keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed.You need to supply both an email address and a passwordYou selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network.You should backup all tables unless you are an expert in the internals of the WordPress database.You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly.You should check the file ownerships and permissions in your WordPress installationYou should enable %s to make any pretty permalinks (e.g. %s) workYou should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website).You should save your changes to ensure that they are used for making your backup.You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility.You successfully logged in to UpdraftPlus and connected this site to UpdraftCentral Cloud.You successfully logged in to UpdraftPlus.Com and connected this plugin with your accountYou successfully purchased UpdraftPremium.You will find more information about this in the Settings section.You will need to ask your web hosting company to upgrade.You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.You will need to restore it manually.You've got itYour %s account name: %sYour %s quota usage: %s %% used, %s availableYour %s version: %s.Your .htaccess has an old site reference on line number %s. You should remove it manually.Your .htaccess has an old site references on line numbers %s. You should remove them manually.Your IP address:Your UpdraftClone is still setting up.Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old).Your backup has been restored.Your chosen character set to use instead:Your chosen replacement collationYour clone has started and will be available at the following URLs once it is ready.Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready.Your clone will now deploy this data to re-create your site.Your clone will renew on:Your database user does not have permission to drop tablesYour email address and password were not recognised by UpdraftPlus.ComYour email address was valid, but your password was not recognised by UpdraftPlus.Com.Your email backup and a report will be sent toYour export file will be of your displayed settings, not your saved ones.Your first backupYour free disk space is very low - only %s Mb remainYour free space in your hosting account is very low - only %s Mb remainYour hosting company must enable these functions before %s can work.Your hosting provider only allows you to take one backup per month.Your hosting provider only allows you to take one incremental backup per day.Your label for this backup (optional)Your login may be either password or key-based - you only need to enter one, not both.Your new key:Your paid access to UpdraftPlus support has expired.Your paid access to UpdraftPlus support will soon expire.Your paid access to UpdraftPlus updates for %s add-ons on this site has expired.Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire.Your paid access to UpdraftPlus updates for this site will soon expire.Your saved settings also affect what is backed up - e.g. files excluded.Your settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your version: %sYour web server has PHP's so-called safe_mode active.Your web server's PHP installation has these functions disabled: %s.Your web-server does not have the %s module installed.Your website is hosted using the %s web server.Your website is hosted with %s (%s).Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:Your wp-content directory server path: %sa second attempt is being made (upon further failure it will be skipped)activate it on this siteadvanced optionsalready donealready uploadedand retain this many scheduled backupsanywhere in their namesarchiveat the beginning of their namesat the end of their namesauthentication URIauthentication errorauthentication failedauthorization failed:backbacks up automatically when you update plugins, themes or corebycalculatecalculating...check your log for more details.chunk %s: upload failedconfigure it herecontainercountcredentialsdatabase connection attempt faileddatabase connection attempt failed.database namedayday(s)did not return the expected response - check your log file for more detailsdismiss noticedownload: failed: file not founde.g. %se.g. if your server is busy at day and you want to run overnighteasily migrate or clone your site in minutesencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)enhanced remote storage optionserror - failed to create and access the containererror - failed to re-assemble chunkserror - failed to upload fileerror: %s (see log file for more)error: failed to upload file to %s (see log file for more)error: file %s was shortened unexpectedlyfailed to access parent folderfailed to list filesfailed to upload file to %s (see log file for more)faster (possibility for slow PHP installs)filefile %d of %dfile is size:files: %sfolderfollow this link to get itgo herego here to change your password on updraftplus.com.go here to learn morehandles updates automatically as you want themherehosthost namehour(s)i.e. Non-automaticManualif all of the following conditions are matched:if any of the following conditions are matched:in the monthincluding any passwordsincremental backup; base backup: %sisis notkeykey namelast activity: %d seconds agolast activity: %ss agolatestlog results to consoleloginlogin failuremanagemanages all your WordPress sites at once from one placemay include some site-wide datamoremore infomulti-region locationnext resumption: %dno options or sitemeta table was foundno recent activity; will offer resumption after: %d secondsnotice imagenow proceeding with the updates...on every backupopen this to show some further options; don't bother with this unless you have a problem or are curious.optionalor (annual discount)or to configure more complex schedulesor to restore manuallyor, to reset this optionother content from wp-contentpasswordpassword/keyplease follow this link to update the plugin in order to activate itplease follow this link to update the plugin in order to get itplease wait for the rescheduled attemptpluginspress hereread more at %srecommendedrefreshregular non-encrypted FTPremote files deletedremote siterequired for some remote storage providersresetrestorationrows: %dsearch and replacesearch termsecure your backupssettingsshow PHP information (phpinfo)show logsite not foundskipped (not in list)slower, strongestsome/pathstarting from next time it isstoptable: %stablestemplate not foundthe database query being run was:the options table was not foundthe world’s most trusted backup plugin!themesthese backup setsthese charactersthis backup setthis privacy policyto take incremental backupstwo unsuccessful attempts were made to include it, and it will now be omitted from the backupunknown sourceupdraftplusTo make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %supload (%s): re-assembly failed (see log for more details)upload faileduse UpdraftPlus Premiumuserusernameweek(s)will restore as:with the option ofyou have authenticated your %s accountyou have authenticated your %s account.you will want to use below search and replace site location in the database (migrate) to search/replace the site address.your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup.your UpdraftPlus.com accountyour site's admin addresszip executable found:PO-Revision-Date: 2023-03-29 12:28:11+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n > 1; X-Generator: GlotPress/3.0.0 Language: pt_BR Project-Id-Version: UpdraftPlus Seu provedor de hospedagem permite que você faça apenas um backup incremental por dia."%s" não tem chave primária, alteração manual necessária na linha %s.tenant%d erros, %d avisos%d horas, %d minutos, %d segundosSingular: %d tokenPlural: %d tokens%s (%s utilizado)%s - não foi possível efetuar o backup desta entidade; o diretório correspondente não existe (%s)Nome da Conta %sContêiner %s%s ErroErro de %s: Não foi possível inicializarErro de %s: Não foi possível abrir o arquivo localErro de %s: não foi possível enviarChave %sPrefixo %sExceção de Serviço (Service Exception) %s.Chave de acesso do %sComplemento %s não encontradoRestam %s arquivos%s autenticaçãoCódigo de autenticação do %s:A autenticação do %s falhouAutenticação do %s:%s bits%s bytes%s checksum: %sDesautenticação do %sDownload %s: falhou: arquivo não encontradoEnd-point do %sErro de %s - não foi possível acessar o contêinerErro de %s - não foi possível remontar os pedaçosErro de %s - não foi possível enviar arquivoErro de %s - foi possível acessar o contêiner, mas houve uma falha ao criar um arquivo nele%s erro: %s%s a partir de agora%s foi escolhido para armazenamento remoto, mas você não está conectado no momento.%s horasLocalização do %s%s falha no acessoLogo do %s%s minutos, %s segundosteste de %s mês por %s%s por trimestre.%s por ano%s erro de reagrupamento (%s): (veja o arquivo de registros para mais)opções de restauração %s:%s retornou uma resposta HTTP inesperada: %s.Chave secreta do %sResultado do teste para %s:O suporte %s está disponível como um add-on%s tabela(s) encontrada(s).%s tabela(s) encontrada(s) no total; %s com o prefixo indicado.envio %s: a obtenção do uploadID para envio em múltiplas partes falhou - veja o arquivo de registros para mais detalhesVersão %s:%s semanas%s: arquivo não pode ser lido - não pode ser feito o backup%s: impossível ler o arquivo - pode não ter sido feito o backup (verifique as permissões e a propriedade do arquivo)(%d arquivos(s) no conjunto, total %s).(Nenhum configurado)(Não finalizado)(Nada foi registrado ainda)(Leia mais)(Isto se aplica a todos os plugins de backup do WordPress, a menos que tenham sido explícitamente codificados para compatibilidade multisite).(depois de %ss)(já enviado)(Aparentemente um pré-lançamento, ou um lançamento descartado)(quantos você quiser)(ao mesmo tempo que o backup dos arquivos)(conjunto de backup importado do local remoto)(versão atual)(último incremento: %s)(saiba mais sobre esta importante opção)(os registros podem ser encontrados na página de configurações do UpdraftPlus normalmente)...(certifique-se de que você está tentando enviar um arquivo compactado criado pelo UpdraftPlus)(ou conectar utilizando o formulário nesta página, caso você o tenha adquirido)(toque em um ícone para selecionar ou desmarcar)(o caractere asterisco corresponde a zero ou mais caracteres)Baixar(versão: %s)(ver o registro...)...e muito mais!1 hora1 semanaNão coloque dentro de seu diretório de envios ou de plugins, pois irá causar recursão (backups dos backups dos backups...).(Parece que você já está autenticado mas, você pode se autenticar novamente para renovar seu acesso, se você teve um problema).Depois de salvar suas configurações (clicando em "Salvar alterações" abaixo), volte aqui e siga este link para concluir a autenticação com o %s.Este NÃO é um nome de pasta.Uma "migração" é, em última análise, o mesmo que uma restauração - mas utilizando arquivos de backup que você importou de outro site.Uma exceção do PHP (%s) ocorreu: %sUm erro fatal do PHP (%s) ocorreu: %sUm nome de host não pode conter uma barra.Uma chave com este nome já existe; você deve utilizar um nome único.Uma procura/substituição não pode ser desfeita - tem certeza que deseja fazer isso?Um arquivo muito grande foi encontrado: %s (tamanho: %s Mb)Um erro de compactação ocorreuABORTOU: Não foi possível encontrar a informação sobre quais entidades restaurar.Chave API: %sChave da APISegredo da APIAutenticação AWS falhouChave de Acesso: %sID da ContaChave da ContaConta cheia: sua conta %s tem apenas %d bytes restantes, mas o arquivo a ser carregado tem %d bytes faltando (tamanho total: %d bytes)A conta está cheia: sua conta do %s tem apenas %d bytes restantes, mas o arquivo a ser enviado tem %d bytesNome do mantenedor da conta: %s.Conta não autorizada (%s).Conta não autorizadaTipo de contaContas criadas em rackspacecloud.com são contas dos Estados Unidos (US); contas criadas em rackspace.co.uk são do Reino Unido (UK).Contas criadas em rackspacecloud.com são contas dos Estados Unidos (US); contas criadas em rackspace.co.uk são baseadas no Reino Unido (UK)AçõesAções para os backups selecionadosRegistro de atividadesAdicionar SFTP para enviar seus dados seguramente, bloquear configurações e criptografar os backups de banco de dados para uma segurança adicional.Adicionar um siteAdicionar uma regra de retenção de banco de dados adicionalAdicionar uma regra de retenção de arquivo adicionalAcrescentar uma regra de retenção adicional...Adicionar uma regra de exclusãoAdicionar uma regra de exclusão para %sAcrescentar um banco de dados externo ao backup...Adicione outra conta %s ...Adicionar outro endereço...Adicionar um diretório...Adicionar regra de exclusãoAdicionar siteAdicionar este site ao UpdraftCentral (controle remoto e centralizado) - gratuito para até 5 sites.Adicione este site ao seu painel UpdraftCentral Cloud em updraftplus.com.Adicionando…Locais para armazenamento remoto adicionais e melhoradosArmazenamento adicionalChave API do AdministradorNome de usuário do administradorChave de acesso administrativoChave secreta administrativaConfigurações Avançadas / DepuraçãoFerramentas avançadasÁfrica (Cidade do Cabo)Após pressionar este botão, você pode escolher para onde deseja enviar seu backup a partir de uma lista dos seus locais de armazenamento remoto atualmente salvosApós pressionar este botão, será dada a opção para escolher quais componentes você deseja migrarApós pressionar este botão, será dada a opção de escolher quais componentes você deseja restaurarDepois de fazer backup de seu banco de dados, recomendamos que você instale nosso plugin WP-Optimize para simplificá-lo e obter um melhor desempenho do site.Todas as tabelas do WordPress serão copiadas.Todos arquivos iniciando com os caracteres informadosTodos os arquivos iniciando com estes caracteresTodos os arquivos com esta extensãoTodos os arquivos/diretórios contendoTodos os arquivos/diretórios contendo os caracteres fornecidos em seus nomesTodas as referências ao local do site no banco de dados serão substituídas pelo URL do site atual, que é: %sTodos os sitesPermitir a exclusãoPermitir o downloadPermitir apenas que administradores acessemPermite fazer backup apenas das alterações em seus arquivos (como uma nova imagem) que foram feitas em seu site desde o último backup.Quase todos os servidores de FTP irão preferir o modo passivo, mas se você necessida do modo ativo, então desmarque esta opção.Já tem espaço?Excluir também do armazenamento remotoEnviar também este backup para os locais de armazenamento remoto ativosInclusive, você deveria ler estas importantes perguntas frequentes.Foi encontrada uma linha SQL que é maior que o tamanho máximo do pacote e não pode ser dividida. Esta linha não será processada, mas será descartada: %sA senha do administrador foi configurada.Um e-mail é necessário e precisa estar em um formato válido.Uma instalação vazia de WordPressUm erro ocorreu no primeiro comando %s - abortando a execuçãoOcorreu um erro ao buscar opções do módulo de armazenamento:Ocorreu um erro ao tentar recuperar seus complementos.Ocorreu um erro ao tentar verificar o suporte de criação de rotinas armazenadas (%s %s)Ocorreu um erro ao tentar recuperar o status da rotina (%s %s)Um erro ocorreu na tentativa de obter a variável %s log_bin_trust_function_creators global do MySQLOcorreu um erro ao tentar recuperar rotina de instrução SQL/DDL (%s %s)Um erro ocorreu na tentativa de configurar um novo valor para a variável %s log_bin_trust_function_creators global do MySQLUm erro ocorreu ao fechar o arquivo final do banco de dadosUm erro foi recebido; código HTTP:Um erro desconhecido ocorreu quando tentando conectar a UpdraftPlus.comUma atualização contendo seus complementos está disponível para o UpdraftPlus - acesse este link para obtê-la.Uma atualização está disponível para o UpdraftPlus - conecte-se aqui para ter acesso a ela.Uma atualização está disponível para o UpdraftPlus - acesse este link para obtê-la.E, então, acrescente um backup incrementalFunções de anonimizaçãoAnonimize dados pessoais em seus backups de banco de dados.Anonimizar dados pessoais para todos os usuários, exceto funcionáriosAnonimizar dados pessoais para todos os usuários, exceto o usuário conectadoQuaisquer outros diretórios encontrados dentro do wp-contentQualquer outro arquivo/diretório do seu servidor que você deseje fazer um backupQualquer configuração em seu arquivo .htaccess ou web.config que afete o tamanho máximo de envio ou do post.Quaisquer solicitações de suporte relacionadas com %s devem ser feitas com a sua empresa de hospedagem web.Qualquer um que veja a tela de bloqueio receberá esta URL de suporte - entre um endereço web ou um endereço de e-mail.Módulos do ApacheChave da aplicaçãoEspera-se que o arquivo tenha o tamanho:Tem certeza de que deseja excluir %s do UpdraftPlus?Você tem certeza que deseja dispensar todas as notícias do UpdraftPlus para sempre?Tem certeza de que deseja remover esta regra de exclusão?Asia PacificoÁsia-Pacífico (Hong Kong)Ásia Pacífico (Mumbai)Ásia-Pacífico (Osaka-Local) (restrito)Ásia - Pacífico (Seul)Pacífico - Ásia (Cingapura)Pacífico - Ásia (Sydney)Pacífico - Ásia (Tóquio)Pede que o WordPress atualize automaticamente o UpdraftPlus quando houver uma atualização disponível.Pedir ao WordPress que atualize o UpdraftPlus automaticamente quando uma atualização estiver disponívelFaça uma pergunta de pré-vendaAtribuído a este siteAo mesmo tempo que o backup de arquivosAs tentativas do navegador de entrar em contato com o site falharam.Atribuir conteúdo importado ao usuárioAutenticar com %sAutenticar com o GoogleAutenticaçãoAutorização falhou (verifique suas credenciais)Backup AutomáticoBackup automático antes de atualizarAtualizações automáticasAutomaticamente faz backup do seu site antes de qualquer atualização de plugins, temas e arquivos básicos do WordPress.Automaticamente fazer backup (quando pertinente) de plugins, temas e do banco de dados do WordPress com o UpdraftPlus antes de atualizarDisponível para este site (através de sua compra de todos os complementos)Tokens de clones temporários disponíveis:Disponível para reivindicação neste siteAzureConta da AzureAzure ChinaAzure da AlemanhaAzure GlobalAzure GovernmentVoltarVoltar...Backup feito: %sBackupEfetuar o backup (quando relevante) dos plugins, temas e banco de dados do WordPress com o UpdraftPlus antes de atualizarBackup / RestauraçãoAgendamento e conteúdo do backupFazer backup agoraRelatório do backupFaça o backup dos arquivos básicos do WordPress e arquivos e bancos de dados que não sejam do WordPress.Faça o backup de multisites do WordPress (p.ex. redes) de forma segura.Backup começou:Backup iniciadoBackup contém:Backup criado por uma origem desconhecida (%s) - não pode ser restaurado.Backup criado por:Backup criado por: %s.Dados do backup (clique para baixar)Dados do backup serão enviados para:Data do backupDiretório de backupO diretório de backup (%s) não é gravável, ou não existe.Diretório de backup não pode ser criadoO diretório de backup especificado não existe.O diretório de backup especificado existe, mas não é gravável.O diretório de backup especificado é gravável, o que é bom.Diretório de backup criado com sucesso.O backup não existe no histórico de backupsEfetuar o backup de um banco de dados externoArquivo de backup não está disponível.Backup finalizadoBackup em: %s.Rótulo do backup:Backup feito por %sFazer backup de mais bancos de dadosEfetuar backup de arquivos e bancos de dados que não são do WordPressFazer o backup de tabelas que não são do WordPress mas estão contidas no mesmo banco de dados que o WordPressBackup de:Backup de: %sCaminho do backupBackup enviado para o site remoto - não está disponível para download.Conjunto de backup não foi encontradoConjuntos de backup removidos:Backup efetuado com sucessoHorário e agendamento do backupBackup para armazenamento remotoFazer o backup usando %s?O backup não será enviado para nenhum armazenamento externo - nenhum foi salvo nas %sFaça o backup, atualize e gerencie todos os seus sites WordPress de um único painelBackups são salvos em %s.Formato de nome de arquivo ruim - este não parece ser um arquivo criado pelo UpdraftPlusFormato de nome de arquivo ruim - isto não parece um arquivo de banco de dados criptografado criado pelo UpdraftPlusEsteja ciente de que os servidores de e-mail tendem a ter limites de tamanho, normalmente em torno de %s MB. Backups maiores do que qualquer limite provavelmente não chegarão e, por isso, o UpdraftPlus enviará apenas backups de banco de dados por e-mail.Esteja ciente que servidores de e-mail tendem a ter limites de tamanho, normalmente em torno de %s MB. Backups maiores que os limites provavelmente não chegarão.Esteja ciente de que servidores de e-mail tendem a ter limites de tamanho, tipicamente em torno de %s Mb. Backups maiores do que quaisquer limites provavelmente não chegarão.Tenha cuidado com o que você seleciona - se você selecionar / então ele realmente tentará criar um arquivo compactado contendo todo o seu servidor web.Esteja a salvoFique seguro com um backup automáticoIniciouEsta entidade começou a ser procuradaBélgicaLink do blogEnvios do blogOs campos de e-mail e senha são obrigatórios.Navegar no conteúdoNavegando no arquivo compactadoBucketEstilo de acesso ao bucketID da chave do aplicativo do bucketLocal do bucketNome do bucketComprar %sCompreChamarChamar a ação do WordPress:Canadá (Central)CancelarNão é possível criar um novo usuário da AWS, pois um kit de ferramentas desconhecido da AWS está sendo usado.Centro dos Estados UnidosAlterar Parâmetros de BloqueioAlterações feitas:Marque esta caixa para que um relatório básico seja enviado paraMarque esta caixa para usar a criptografia do lado do servidor da AmazonMarque isto para excluir qualquer arquivo de backup supérfluo do seu servidor depois que a execução do backup terminar (ex.: se você desmarcar, então qualquer arquivo despachado remotamente irá permanecer localmente e qualquer arquivo mantido localmente não estará sujeito a limites de retenção).Marque isso para receber mais informações e e-mails sobre o processo de backup - útil se algo estiver errado.Verifique as suas permissões de arquivos: Não foi possível criar e entrar no diretório:Verifique as suas permissões de arquivo: Não foi possível criar e entrar:Chicago (ORD)China (Pequim) (restrito)China (Ningxia) (restrito)Selecione um padrão para cada tabelaEscolha os componentes a restaurarEscolha os componentes para restaurar:Escolha o agendamento em que você deseja que seus backups sejam executados.Escolha o agendamento do seu backupEscolha o seu armazenamento remotoReivindicação não autorizada - talvez você já tenha usado esta compra em outro lugar ou seu período pago para download do updraftplus.com expirou?Reivindicação não concedida - seus dados de acesso não estão corretosLimpandoLimpando a sujeira...Limpar a lista dos sites existentesID do clienteSegredo do clienteClone de %sPacote cloneClone prontoRegião do clone:O servidor clone está sendo provisionado e inicializado (pode levar vários minutos)Clone:Clonagem e migraçãoFecharEncerrando em 01 de Outubro de 2018Arquivos na nuvemChave API do Cloud FilesContêiner do Cloud FilesRegião de Armazenamento do Cloud FilesNome de usuário do Cloud Filesautenticação no Cloud Files falhouErro do Cloud Files - contêiner acessado, mas houve uma falha ao criar um arquivo dentro deleOperação do Cloud Files falhou (%s)Nome de usuário do Cloud FilesConcluídoConcluir autenticação manualConfirmarConfirmar alteraçãoConflito: esse usuário já existeConflito: esse usuário ou endereço de e-mail já existeParabéns! Seu primeiro backup está sendo executado.Parabéns, suas configurações foram salvas com sucesso.ConectarConecte este site ao UpdraftCentral CloudConectar-se ao UpdraftCentral CloudConectar ao updraftplus.comConecte-se à sua conta do %sConecte-se com sua conta do UpdraftPlus.ComConectando...Conexão falhou.Conexão falhou: verifique os detalhes do seu acesso, se o servidor de banco de dados está no ar e se a conexão pela rede não foi bloqueada por firewall.Conexão efetuada com sucesso.ConstantesContêinerContém:URL do conteúdo:Continuar a restauraçãoControle todas as suas instalações WordPress em um só lugar usando o gerenciamento remoto de sites do UpdraftCentral!Controle todos os seus backups em um único lugarNão foi possível copiar esta entidade.Não foi possível acessar o contêiner %sNão foi possível acessar o contêinerNão foi possível criar o contêinerNão foi possível excluir o caminho antigo.Não foi possível encontrar esta tarefa - talvez já tenha terminado?Não foi possível obter a lista de tabelasNão foi possível remover os arquivos antigos do caminho.Não foi possível abrir o arquivo de backup para gravaçãoNão é possível ler um dos arquivos para a restauraçãoNão foi possível ler o diretórioContando...CriarCriar as credenciais do Azure na sua console de desenvolvimento do Azure.Crie as credenciais do OneDrive na sua console de desenvolvedor do OneDrive.Criar uma chave: dê a esta chave um nome único (p.ex. indique para que serve este site), então pressione "Criar Chave":Cria um novo usuário de API com acesso apenas a este contêiner (ao invés de acesso à conta inteira)Criar um clone temporário em nossos servidores (UpdraftClone)Criar cloneCriar chaveCriar novo usuário e contêiner de APICriar novo usuário IAM e bucket S3Backup do banco de dados criadoArquivos compactados do backup de arquivos criadoCriando backup %s e base dados com UpdraftPlus...Criando backup com o UpdraftsPlus...Criando backup do banco de dadosCriando backup do banco de dados com UpdraftsPlus...Criando arquivos compactados do backup de arquivosCriando seu primeiro backupCriando...Modo SQL atual:Clones atuaisO limite atual é:Utilização atual da memóriaUso atual:Desativado no momentoAtivado no momentoDiariamenteDalas (DFW) (padrão)Painel:Banco de dadosBanco de dados (criado por %s)Banco de dados (backup dos arquivos não completou)Opções de Banco de DadosIntervalo entre backups do banco de dadosAgendamento de backup de banco de dadosFrase de descriptografia do banco de dadosFrase para criptografia do banco de dadosApenas banco de dados (arquivos não eram parte deste agendamento em particular)Opções para restauração do banco de dados:Banco de dados descriptografado com sucesso.Banco de dados: pesquisar e substituir o URL do siteDia do mêsDia da semanaDia para fazer backupsModo de depuração (debug)Informação de depuraçãoDescriptografando o banco de dados (isso pode levar um tempo)…ExcluirExcluir diretórios antigosExcluir conjunto de backupNão foi possível excluir:Excluir do seu servidorExcluir o backup localExcluir os backups selecionadosApague estas configuraçõesExcluir este conjunto de backupExcluindo…Implantando os dados do siteDesmarcarDesmarcar tudoDesselecionar todos os backupsCaminho do diretórioDesativar o SSL completamente quando possívelEste plugin foi desativado: %s: reative-o manualmente quando você estiver pronto.DesconectarDesconectando...DispensarDispensar (por %s meses)Dispensar todas as notícias do UpdraftPlusRemover do painel principal (por %s semanas)Dispensar avisoNão interrompa após pressionar Continuar abaixo - aguarde a conclusão do backup.Não confunda %s com %s - são coisas diferentes.PKCS1 (Cabeçalho PEM: BEGIN RSA PRIVATE KEY), XML e chaves no formato do PuTTY são aceitas.Não verificar certificados SSLLeia este artigo bastante esclarecedor sobre coisas úteis que você deve saber antes de restaurar.Lembre-se de salvar as suas configurações.Você tem mais alguns sites WordPress que deseja fazer backup? Se sim, você pode economizar horas controlando todos os seus backups em um só lugar do UpdraftCentral.Você precisa de suporte para o Wordpress Multisite?Você utiliza o UpdraftPlus em múltiplos sites?Deseja realizar a importação?Você deseja migrar ou clonar/duplicar um site?Não sabe seu endereço de e-mail ou esqueceu sua senha?Não quer ser espionado? O UpdraftPlus Premium pode encriptar o backup do seu banco de dados.Erro no dowload: o servidor nos enviou uma resposta que não conseguimos entender.Não foi possível baixarO download em progressoBaixar arquivo de registroBaixar o arquivo de registros modificado mais recentementeBaixar para o seu computadorBaixando backupSolte os arquivos de backup aquiSolte arquivos criptografados de banco de dados (arquivos db.gz.crypt) aqui para enviá-los para descriptografiaDropboxDevido à restrição, algumas configurações podem estar automaticamente ajustadas, desativadas ou indisponíveis.Disponibilidade reduzida durávelLeste da Ásia-PacíficoLeste dos Estados UnidosFácilEditarE-mailOs relatórios de e-mail criados pelo UpdraftPlus (edição gratuita) trazem as últimas notícias do UpdraftPlus.comCriptografe os bancos de dados sensíveis (p.ex.: informação de clientes ou senhas) e faça o backup de bancos de dados externos também.Banco de dados criptografadoCriptografando banco de dadosTamanho da chave de criptografia:Encerrar o tourDesfrute de ajuda profissional, rápida e amigável sempre que precisar com o Premium.Garanta que você está conectado à conta certa antes de continuar.Entre uma lista separada por vírgula, do contrário deixe em branco para todas as tabelas.Digite os endereços aqui para que um relatório seja enviado a eles quando um trabalho de backup for concluído.Entre qualquer caminho no campo abaixo.Digite o banco de dadosDigite o banco de dados.Insira os detalhes de onde esse novo site ficará em sua instalação multisite:Digite o hostDigite o host.Entre no formato HH:MM (p.ex.: 14:22).Digite a senhaDigite a senha.Digite o prefixo da tabelaDigite o ID do projeto do %s que você deseja usar aqui.Digite o nome do bucket do %s que você deseja utilizar aqui.Entre aqui o caminho para a pasta %s que você deseja utilizar.Entre o caminho do %s que deseja utilizar aqui.Digite o nome de usuárioDigite o nome de usuário.Insira seu nome de usuário/chave de API do administrador do Rackspace (para que a Rackspace possa autenticar sua permissão para criar novos usuários) e insira um novo nome de usuário (exclusivo) e endereço de e-mail para o novo usuário e um nome de contêiner.Digite seu e-mail/senha do UpdraftPlus.Com aqui para se conectar:Digite sua chave secreta/de acesso administrativa do Amazon S3 (precisa ser um par de chaves com direitos suficientes para criar novos usuários e buckets), um novo nome de usuário (único) para o novo usuário e um nome para o bucket.Entre o nome escolhidoErroErro - não foi possível baixar o arquivoErro - este arquivo não existe.Dados do erro:Erro ao efetuar o download do arquivo remoto: Falha no downloadMensagem de erroErro ao abrir o arquivo local: não foi possível baixarErro ao abrir arquivo remoto: Falha ao baixarErro ao criar um novo site no endereço escolhido:Erro:Erro: %sErro: Falha ao baixarErro: Não foi possível inicializarErro: Não foi possível abrir o arquivo localErro: não foi possível enviarErro: caminho inválidoErro: o servidor enviou uma resposta vazia.Erro: o servidor nos enviou uma resposta (JSON) a qual não entendemos.Erro: o servidor nos enviou uma resposta que não compreendemos.Erro: parâmetro vazio inesperado (%s, %s)Erro: falha inesperada na leitura do arquivoErro: você tem uma cota de armazenamento insuficiente (%s) para enviar este arquivamento (%s) (%s).ErrosErros / avisos:Erros encontrados:Ocorreram erros:Ocorreram erros ao tentar conectar com UpdraftPlus.Com:Erros ocorreram:Erros:Europa (Frankfurt)Europa (Irlanda)Europa (Londres)Europa (Milão)Europa (Paris)Europa (Estocolmo)União EuropéiaA cada %s horasA cada horaExemplos de provedores de armazenamento S3-compatible:Excluir arquivos/diretóriosExcluir estes deExcluir estes:Backups existentesChaves existentesSair da tela cheiaConfigurações avançadasExportar / importar configuraçõesExportar configuraçõesExtensõesBanco de dados externoBanco de dados externo (%s)Banco de dados extra Perguntas frequentesAcesso FTPSenha FTPServidor de FTPFacebookFalhaNão foi possível acessar %s durante a exclusão (veja o arquivo de registros para mais)Falhou ao aplicar a Política de UsuárioNão foi possível fazer backup da tabela do banco de dados:Não foi possível criar a chave UpdraftCentralNão foi possível criar um diretório temporárioNão foi possível excluir o diretório de trabalho após a restauração.Não foi possível baixarNão foi possível baixar %sNão foi possível encontrar um arquivo de manifesto no backup.Não foi possível encontrar o arquivo do banco de dadosNão foi possível abrir o arquivo do banco de dadosNão foi possível abrir o arquivo de banco de dados para leitura:Não foi possível abrir o arquivo do banco de dados.Não foi possível abrir o diretório (verifique as permissões do arquivo e a propriedade): %sNão foi possível abrir o diretório para leitura:Não foi possível abrir o arquivo compactado (%s) - %sNão foi possível ler a partir do diretório de trabalho.Não foi possível ler o arquivo de manifesto do backup.Não foi possível pesquisar e substituirNão foi possível pesquisar e substituir:Não foi possível desempacotar o arquivamentoNão foi possível enviar %sNão foi possível enviar para o %sFalha ao gravar o banco de dados descriptografado no sistema de arquivosFalha: foi possível se conectar e mover para o diretório indicado, mas não foi possível criar um arquivo com êxito nesse local.Falha: foi possível se conectar, mas não foi possível criar um arquivo com êxito nesse local.Falha: Não foi possível colocar um arquivo nesse diretório - verifique suas credenciais.Falha: a operação %s não pôde ser iniciada.Falha: não foi possível entender o resultado retornado pela operação %s.FalhaFalha: o campo %s não foi informado.Falha: Nenhum detalhe do bucket foi fornecido.Falha: Nenhum detalhe de contêiner foi informado.Falha: Nenhum detalhe de endpoints foi fornecido.Falha: Nenhum detalhe do servidor foi informado.Porta deve ser um número inteiro.Falha: não foi possível acessar com essas credenciais.Falha: acesso feito com sucesso, mas não foi possível criar um arquivo no diretório informado.RápidoSuporte rápido e pessoalColetarColetando…O arquivo (%s) foi encontrado, mas tem um tamanho diferente (%s) do que era esperado (%s) - pode estar corrompido.Opções de arquivoOpções de backup de arquivosArquivo não está presente no local - é necessário recuperá-lo do armazenamento remotoArquivo não encontradoArquivo não encontrado (você precisa enviá-lo): %sArquivo pronto.O arquivo foi encontrado, mas está vazio (você precisa reenviá-lo): %sArquivo/diretórioArquivosArquivos (o backup do banco de dados não foi concluído)Arquivos e banco de dadosBackup dos arquivos e banco de dados do WordPress (criado por %s)Backup dos arquivos (criado por %s)Intervalo entre backups de arquivosAgendamento de backup de arquivosOs arquivos alterados desde o último backup serão adicionados como um novo incremento nesse conjunto de backup.Arquivos encontrados:Apenas arquivos (banco de dados não era parte deste agendamento em particular)Arquivos/diretórios contendo os caracteres fornecidos em seus nomesVerificações finaisDescubra maisSaiba mais sobre backups incrementais aqui.Descubra mais aqui.Os fingerprints não batem.ConcluirConcluídoPrimeiro, digite a chave de descriptografiaFlexívelPastaAcesse este link para ajudaAcesse este link para mais informaçõesAcesse este link para tentar descriptografar e baixar o arquivo de banco de dados para o seu computador.Acesse este link para tentar criar o diretório e configurar as permissõesAcesse este link para autorizar o acesso à sua conta %s (você não conseguirá efetuar o backup para %s sem isso).Acesse este link para baixar o arquivo de registros desta restauração (necessário para solicitações de suporte).Acesse este link para remover as configurações para %s.Acesse este link para assinar o newsletter do UpdraftPlus.Acesse este link para instruções de instalação (particularmente a etapa 1).Acesse este link para o seu console da API do Google e ative o Drive API e crie um ID de cliente na seção de Acesso via API.Siga este link para a sua Console de API do Google e, lá, ative a API de armazenamento (Storage API) e crie um ID de cliente (Client ID) na seção de Acesso à API (API Access).Para backups mais antigos do quePara mais opções e suporte personalizado, confiraPara controle futuro de todas as suas conexões ao UpdraftCentral, vá para a aba "Ferramentas Avançadas".Para obter ajuda na configuração do %s, incluindo capturas de tela, acesse este link.Para backups incrementais, você poderá escolher quais incrementos serão restaurados em uma etapa posterior.Para uma ajuda mais detalhada, incluindo capturas de tela, acesse este link.Para mais opções, use o PremiumPara mais recursos de relatórios, use a versão PremiumPara poder bloquear o acesso às configurações do UpdraftPlus com uma senha, atualize para o UpdraftPlus Premium.Para poder migrar sites, atualize para o UpdraftPlus Premium.Para suporte ao desbloqueio, por favor entre em contato com o administrador do seu UpdraftPlus.Proibir que não administradores acessem o WordPress em seu cloneEsqueceu seus dados?QuinzenalmenteSET NAMES %s foram encontrados, mas trocados para %s como sugerido pelo WPDB::determine_charset().As restrições de chave estrangeira da tabela existente foram localizadas e substituídas já que o prefixo da tabela foi alterado.FrankfurtGrátisEspaço livre em disco contabilizado:Plugin de segurança de dois-fatores gratuitoPágina frontal:Backup completoLista de todas as característicasTela cheiaMais informações podem ser encontradas no console JavaScript do navegador e nos registros de erro do servidor PHP.Obtenha %s da Loja UpdraftPlus.comObtenha %s aquiObter o PremiumObtenha o UpdraftCentralObtenha na loja UpdraftPlus.ComObtenha aquiObter mais cotaObtenha estes parametros em %s, ou registre %s.IrEntre aquiVenha aqui para ajudaClique aqui para mais informações.Clique aqui para ativar.Clique aqui para iniciar a instalação.Acesse aqui para conectá-lo.Clique aqui para conectar.Entre aqui para digitar novamente a sua senha.VisitarIr para configuraçõesAcesse o painel do UpdraftCentral CloudSuba um diretórioIr para a página de finalização de compra do updraftplus.comIr para a página de finalização de compra do updraftplus.comGoogle Cloud (Nuvem do Google)Google DriveArquivos de listagem do Google Drive: não foi possível acessar a pasta ascendenteCódigo HTTP:Ainda não foi possível obter um token de acesso do Google - você precisa autorizar ou autorizar novamente sua conexão com o Google Cloud.Não obteve um token de acesso do Google - você precisa autorizar ou re-autorizar sua conexão com o Google Drive.Ainda não foi possível obter um token de acesso do Google - você precisa autorizar ou reautorizar sua conexão com o Google Cloud.Hong Kong (HKG)HospedagemComo obtenho a chave de um site?Entretanto, os arquivamentos do UpdraftPlus são arquivos padrão zip/SQL - se você tem certeza que o seu arquivo tem o formato correto, então renomeie-o para o padrão adequado.Entretanto, as tentativas de acesso subsequentes falharam:Eu aceito os termos e condições do UpdraftCloneEu concordo com %sOperação IAM falhou (%s)Se o Google mostra mais tarde a mensagem "cliente inválido", então você não entrou um ID de cliente válido aqui.Se o OneDrive mostrar mais tarde a mensagem "unauthorized_client" (cliente não autorizado), então você não forneceu aqui um ID de cliente válido.Ao fazer um pedido de suporte, por favor inclua esta informação:Caso contrário, escolha seus dados e uma nova conta será cadastrada.Caso contrário, você precisará remover os dados desta tabela ou entrar em contato com sua empresa de hospedagem para solicitar mais recursos.Se o envio direto de um site para outro não funcionar para você, existem três outros métodos - tente um destes.Se isso não for bem sucedido, verifique as permissões no seu servidor ou mude para outro diretório que seja gravável pelo processo do seu servidor web.Se este é um backup criado com um plugin de backup diferente, então o UpdraftPlus Premium pode lhe ajudar.Se for utilizar, escolha um caminho da árvore de diretórios abaixo e então pressione para confirmar a seleção.Se você já possui uma conta updraftplus.com, insira os detalhes abaixo.Se você estiver tendo problemas de autenticação com %s, você pode autorizar manualmente aqui.Caso você não tenha certeza, você deve parar; de outra forma você pode destruir essa instalação do WordPress.Se você não tem certeza para que serve essa opção, ela não será útil para você e deverá ficar desativada.Se você está vendo mais backups do que esperado, provavelmente é porque a exclusão de backups antigos não acontece até que um novo backup seja concluído.Se estiver utilizando isto, então desligue o modo Turbo/Road.Se você fizer backup de vários sites no mesmo Dropbox e quiser organizar com subpastas, %sconfira o Premium%sSe você comprou novos complementos, siga este link para atualizar sua conexãoCaso você esteja lendo isso após a página ter terminado de carregar, então há um problema de JavaScript ou JQuery no site.Se você não quer restaurar todas as suas tabelas, então escolha algumas para excluir aqui.Se você inserir um prefixo de tabela, apenas será feito o backup de tabelas que começam com este prefixo.Se você excluir ambos, banco de dados e arquivos, você excluiu tudo!Se você tem uma licença Premium, você ganha 1GB de armazenamento incluso.Se você já renovou, então precisa alocar uma licença para este site - %sSe você tem um usuário de administração AWS, então você pode utilizar este assistente para criar rapidamente um novo usuário AWS (IAM) com acesso a apenas este bucket (ao invés de acesso a toda conta)Se você tem um backup existente que deseja enviar e restaurar, então use o link "Enviar arquivos de backup" acima.Se você esqueceu a sua senhaSe você esqueceu sua senha, acesse aqui para alterar sua senha em updraftplus.com.Se você adquiriu através da UpdraftPlus.Com, então acesse este link para as instruções de instalação (principalmente o passo 1).Se você deixar em branco, então o backup será colocado na raiz do %sSe você ver erros sobre certificados SSL então, por favor, vá aqui para ajuda.Se você deseja criptografia (por exemplo, está armazenando dados comerciais confidenciais), um complemento está disponível na versão Premium.Se você deseja restaurar um backup multisite, você deveria primeiramente configurar a sua instalação WordPress como sendo multisite.Se desejar, teste a atualização para uma versão diferente do PHP ou WP.Se o seu banco de dados inclui tabelas extra que não são parte deste site WordPress (você saberá se este for o caso), então ative esta opção para que sejam feitos backups delas.Importar configuraçõesImportadorImportando um único site em uma instalação multisiteImportando...Em %s, os nomes do caminho são sensíveis à caixa (maíuscula ou minúscula).Incluir todas as tabelas não listadas abaixoIncluído no backup dos arquivosIncluir seu banco de dados no backupIncluir seus arquivos no backupIncompletoIncrementalBackups incrementaisBackups incrementais são um recurso do %s (atualize acessando este link).Existem incrementos em: %sRecursão infinita: consulte seus registros para mais informaçõesInformação necessária para continuar:Instale plugins de depuração:InstaladoEnfileiramento inteligenteInteressado em saber sobre a segurança da sua senha do UpdraftPlus.Com? Leia sobre isso aqui.Introduzindo o UpdraftCentralId do Job é inválidoNome do bucket inválidoIowaParece que o endereço IP do seu servidor web (%s) está bloqueado.Também pode efetuar o backup de banco de dados externo.Foi testada até a versão %s.É um número de Identificação (ID) interno do Google DriveÉ para enviar backups para o seguinte site: Será importado como um novo site.Alerta JavaScriptID da tarefa: %sTarefa excluídaChaveChave criada com sucesso.Chaves para um site são criadas na seção "receber um backup de um site remoto".É necessário que a URI de autenticação seja uma v2 (Keystone); a v1 (Swauth) não é suportado.Backups conhecidos (bruto)Última mensagem do registroÚltimas notícias do UpdraftPlus.comBackup mais recente encontrado; identificador:Status mais recente:Página do desenvolvedor principalSaiba maisAprenda mais sobre o UpdraftCentralDeixe em branco para utilizar o padrão (80 para o webdav, 443 para o webdavs)Deixe isto em branco e um valor padrão (default) será utilizado.Carregando arquivo de registrosCarregando...O envio do backup local foi iniciado, verifique o arquivo de registro para ver o progresso do envioArquivos locais excluídos:Gravação local falhou: Falhou ao efetuar o downloadBloqueie o acesso ao UpdraftPlus por meio de uma senha para que você escolha quais usuários administradores podem acessar os backups.Bloquear o acesso à página de configurações do UpdraftPlusBloquear configuraçõesRegistrar todas as mensagens na syslogRegistrar todas as mensagens no syslog (apenas os administradores do servidor podem querer isto)Acesse aqui para ativar todos os recursos aos quais você tem acesso.Acesse ou cadastre-se no UpdraftCentral CloudAcesse ou cadastre-se com este endereço de e-mailAcesso bem-sucedido.Acesso bem-sucedido, recarregando informação.LondresLondres (LON)Veja as outras configurações aqui, fazendo as alterações desejadas.Procurando pelo arquivo %s: nome do arquivo: %sFaça atualizações facilmente com o UpdraftPlusGerenciar complementosGerenciar seus clonesA autenticação manual não está disponível para este método de armazenamento remotoOpções para backup manualDescriptografar manualmente um arquivo de backup de banco de dadosMuitos sites?ID da chave do aplicativo mestreTalvez mais tardeLimite de memóriaMensagens:Oriente Médio (Bahrein)Migrar (criar uma cópia de um site em uma hospedagem que você controla)Migrar / ClonarSite migrado (do UpdraftPlus)Chave de migração criada:MigradorDados de autenticação ausentes:Id de instância ausente:Páginas que faltam:Faltando parâmetrosMensalmenteMais arquivosMais opções de banco de dadosMais plugins excelentes da equipe UpdraftMais informações aqui.Mais pluginsMais plugins de qualidadeMais configuraçõesMais tarefas:Removendo dados antigos do caminho...Movendo backup desempacotado para o local...Multisiteinstalação em multisitePlugins obrigatóriosN.B. %s não é sensível a maiúsculas e minúsculas.Note que informações anonimizadas não podem ser recuperadas. Os dados originais não anônimos estarão ausentes do backup.Note que se você instalar o UpdraftPlus em vários sites WordPress, não poderá reutilizar seu projeto; você deve criar um novo no console de API do Google para cada site.Note que nenhum backup de seu banco de dados será feito em um backup incremental. Se você também quiser um backup de banco de dados, faça isso separadamente.N.B.: Esta contagem é baseada no que tinha sido, ou não, excluído na última vez que você gravou as opções.Note que isto é necessário apenas se você ainda não criou o bucket e deseja que o UpdraftPlus crie para você.Nome: %s.NearlinePrecisa de espaço?Precisa de ajuda?Precisa usar sub-pastas?Precisa existirRede / multisiteTema de ativação de rede:Rede e multisiteNuncaNovo nome de usuário IAMEndereço de e-mail do novo usuárioNome de usuário do novo usuárioNovo site:NotíciasAssinar o newsletterPróximoPróximos backups agendadosNão%s não encontradoNenhuma configuração %s foi encontradaNão foi encontrada nenhuma conexão com um cofre neste site (ele mudou?); por favor desconecte e reconecte.Sem anúnciosNenhum backup foi completadoNão foi feito o backup dos diretórios %s: nada foi encontrado para ser copiadoNenhum backup do diretório: nada foi encontrado para se efetuar o backupNenhuma tabela do banco de dados foi encontradaNenhum backup incremental de seus arquivos é possível, pois nenhum backup existente adequado foi encontrado para adicionar incrementos.Ainda não foi criada nenhuma chave que permita que sites remotos enviem dados de backup para cá.Nenhuma cópia local presente.Nenhum arquivo de registros foi encontrado.Nenhum backup anterior foi encontrado para que seja incrementado.Nenhum backup completo anterior encontrado.Nenhum site de recebimento foi adicionado ainda.Não foram encontrados locais de armazenamento remoto com opções válidas.Nenhuma configuração foi encontradaNenhuma configuração encontrada - por favor, retorne para a aba de Configurações e verifiqueEste backup não existeNenhum componente válido encontrado, selecione componentes diferentes ou um conjunto de backup com componentes que podem ser restaurados.NenhumVirgínia do NorteNordeste da ÁsiaVirgínia do Norte (IAD)Não tem uma conta? Obtenha uma ao comprar alguns tokens aqui.Não tem nenhum armazenamento remoto?Não instaladoAinda não tem uma conta? É grátis. Obtenha uma!Note que o Google não suporta todas as classes de armazenamento em todos os locais - você deve ler a documentação para saber sobre a disponibilidade atual.Note que após você reivindicar seus complementos, você pode remover sua senha (mas não o endereço de e-mail) das configurações abaixo, sem afetar o acesso do site às atualizações.Note que nem todos os métodos de backup em nuvem estão, necessariamente, utilizando autenticação SSL.Nota:Nada agendado no momentoNada a fazer: a URL do site já está: %sNada registrado aindaNotaOKOk, você merece istoABSPATH antiga:Prefixo antigo da tabela:Senha de uso único (verifique seu app OTP para obter esta senha)Um VPS (Servidor Privado Virtual) por clone, compartilhado com ninguém.Um ou mais backups foram adicionados ao verificar o armazenamento remoto; note que esses backups não serão automaticamente excluídos pela configuração "reter"; se/quando você desejar excluí-los então você terá que fazer isso manualmente.OneDriveOneDrive na AlemanhaOneDrive InternacionalSomente permite que este backup seja excluído manualmente (p.ex.: mantém mesmo que os limites de retenção sejam alcançados).Apenas envie por e-mail o backup do banco de dadosApenas o banco de dados do WordPress pode ser restaurado; você terá que lidar com o banco de dados externo manualmente.Navegador OperaOperação de criação da Chave de Acesso do usuário falhouO OptimizePress 2.0 codifica seu conteúdo, portanto a busca/substituição não funciona.Opções (bruto)Ou se preferir auto-hospedar, você pode obter a versão auto-hospedada aqui.Ou, se eles estiverem no armazenamento remoto, você pode conectar esse armazenamento remoto (na aba "Configurações"), salvar suas configurações e usar o link "Verificar novamente o armazenamento remoto".Ou utilize uma chave do UpdraftCloneOu você pode colocá-los manualmente no seu diretório do UpdraftPlus (normalmente wp-content/updraft) com FTP, por exemplo, e então utilizar o link "verificar novamente" acima.ÓregonOutras perguntas frequentes de %s.Outros plugins excelentesOutrosDo contrário, o link padrão será mostrado.Do contrário, deixe em branco.Caso contrário, você pode testar o UpdraftVault por um mês por apenas $1!Sobrescrever o wp-config.phpInformação de PHPModo passivoSenhaSenha incorretaSenha: %sCole a chave aquiCaminhoEstilo do caminhoPagamentos podem ser feitos em dólares americanos, euros ou libras esterlinas, por cartão de crédito ou PayPal.Pico na utilização de memóriaFazer um backupTalvez você queira acessar em vez disso.Espere para que a comunicação com o armazenamento remoto seja concluída.Consulte o UpdraftPlus Premium.Verifique o registro de erros para mais detalhesPor favor, verifique as suas credenciais de acesso.Por favor escolha um arquivo ou diretórioPor favor, consulte este FAQ se você tiver problemas para efetuar o backup.Entre em contato com a sua empresa de hospedagem (%s) se você precisar de mais suporte.Digite uma extensão de arquivo, como zipDigite um URL válidoDigite um URL válido, p. ex. http://exemplo.comDigite uma extensão de arquivo válidaDigite um prefixo de nome de arquivo válidoDigite os caracteres que iniciam o nome do arquivo que você gostaria de excluirDigite parte do nome do arquivoDigite seu endereço de e-mail do %sDigite sua senha do %sPreencha a informação obrigatória.Acesse este link para abrir %s em uma nova janela.Dê um nome para esta chave (ex.: indique a que site ela pertence):Por favor certifique-se de ter feito alguma anotação dessa senha!Por favor re-autorize a conexão com a sua conta %s.Leia %s para usar nosso aplicativo de autorização do %s (nenhum dos seus dados de backup é enviado para nós).Leia este link para obter informações importantes sobre este processo.Selecione um arquivo/pasta que você gostaria de excluirSelecione os backups de mais arquivos que você deseja restaurar:Especifique o nome da pasta do Microsoft OneDrive, não o URL.Por favor, forneça a informação solicitada, e então continue.Aguarde a conexão ao UpdraftPlus.com...Aguarde enquanto o sistema gera e cadastra uma chave criptografada para os seus sites na UpdraftCentral Cloud.Aguarde enquanto você é redirecionado para o UpdraftCentral Cloud.Aguarde enquanto fazemos a reivindicação...PluginsPortaPerguntas frequentes pré-vendaBackups pré-atualizaçãoPremiumPremium / ExtensõesPremium / Descubra mais Suporte Premium / ProPlugins WooCommerce PremiumPreparando arquivos de backupPressione um botão para iniciar.Pressione aqui para baixar ou navegar Clique aqui para procurar dentro do seu diretório do UpdraftPlus (na área de armazenamento da sua hospedagem web) por novos conjuntos de backup que você tenha enviado.Clique aqui para procurar dentro dos seus métodos remotos de armazenamento por quaisquer conjuntos de backup existentes (de qualquer site, se estiverem armazenados na mesma pasta).Pressione aqui para executar um backup manual.Pressione aqui para salvar as suas configurações.Pressione aqui para iniciar!Pressione este botão para fazer um tour pelo plugin.Prosseguir com a atualizaçãoPlugin processado:ProcessandoProcessando os arquivos - aguarde...Processando tabela (%s)Processando...ID do projetoProtocolo (SSL ou não)Fornece ajuda de especialistas e suporte dos desenvolvedores sempre que você precisar.Podando conjuntos antigos de backupsCota:Fingerprint RSALink RSSHistórico de backups brutoLeia as perguntas frequentes aqui.Ler maisLeia mais sobre o %s aqui.Leia mais sobre o Easy Updates ManagerLeia mais sobre o estilo de acesso ao bucketLeia mais sobre localizações de bucketsLeia mais sobre como funciona...Leia mais sobre criptografia do lado do servidorLeia mais sobre classes de armazenamentoLeia mais...Leia as perguntas frequentes do %s aqui.Leia este artigo para ver um passo-a-passo sobre como isso é feito.Leia esta página para guiá-lo nas possíveis causas e como consertar isso.Receber um backup de um site remotoRecebendo os dados do siteId do job de backup iniciado recentemente: %sRecomendado: otimize o seu banco de dados com o WP-Optimize.Atualizar conexãoAtualizar o status atualRegiãoRegião: %sRegistrado com sucesso.ConfiávelLembrar desta escolha na próxima vez (você ainda pode alterar esta opção no futuro)Opções de Armazenamento RemotoArquivos remotos excluídos:Caminho remotoArmazenamento remotoAutenticação do armazenamento remotoO método de armazenamento remoto e o id são obrigatórios para a autenticação.Armazenamento remoto: %sRemoverRemover diretórios antigosSubstituir porRelatóriosO conjunto de caracteres solicitado (%s) não está presente - mudando para %s.O conjunto de caracteres de tabela solicitado (%s) não está presente - mudando para %s.A compilação de tabela solicitada (%1$s) não está presente - alterando para %2$s.As compilações de tabela solicitadas (%1$s) não está presente - alterando para %2$s.Mecanismo de tabela solicitado (%s) não está presente - mudando para MyISAM.Solicitando o início do backup...Solicitar a senha novamente apósInformação necessária para a restauração deste backup não foi fornecida (%s)Verificar novamente a pasta local em busca de novos conjuntos de backupVerificar novamente o armazenamento remotoVerificando novamente (procurando por backups que você tenha enviado manualmente na área de armazenamento interna de backup)…Verificando novamente por conjuntos de backup no armazenamento remoto e local…Redefinir tourProgresso da restauração:RestaurarRestaurar um conjunto de backup existente para este siteRestaurar backupErro de restauração:Restaurar arquivos deO local de restauração não existe no sistema de arquivos para:Local de restauração encontrado para:Restaurando %s1 arquivos de %s2Restaurando rotina armazenada: %sRestaurando a tabela: %sRestaurando o banco de dados (em um site grande isso pode levar um longo tempo - se o tempo se esgotar (o que pode ocorrer se a empresa de hospedagem web configurou a sua hospedagem com limitação de recursos) então você deveria utilizar um método diferente, como o phpMyAdmin)...A restauração vai substituir tema, plugins, envios, banco de dados e/ou outros diretórios de conteúdos do site (de acordo com o que está contido no conjunto de backup e a sua seleção).Reter este tanto de backups agendados de banco de dadosReter este tanto de backups agendados de arquivosBuscando (se necessário) e preparando os arquivos de backup...Voltar para a Configuração do UpdraftPlusVoltar para a configuração do UpdraftPlusAvaliar o UpdraftPlusLinhas examinadas:Linhas por loteExecute este comando para ver o arquivo de registros desta restauração (necessário para quaisquer solicitações de suporte).Roda na capacidade de um provedor líder em computação em nuvem.S3 (Compatível)Bucket S3Região de armazenamento S3Configurações do host SCP/SFTPsenha/chave de SCP/SFTPConfigurações do usuário SCP/SFTPComandos de atualização (update) SQL executados:SalvarSalvar AlteraçõesEconomize tempoSalvando...PesquisarPesquisar / substituir o banco de dadosPesquisar e substituir o local do site no banco de dados (migrar)Pesquisa e substituição bem-sucedidaPesquisar e substituir a tabela:Pesquisar porChave Secreta: %sSeguroInstalação multisite segura, relatórios avançados e muito mais.Veja as orientações do Google sobre a nomenclatura dos buckets através deste link.Veja as orientações da Microsoft sobre nomenclatura de contêineres seguindo este link.Veja também a versão Premium em nossa loja.Veja estas perguntas frequentes também.Selecione "Aplicação Web" como o tipo da aplicação.Selecionar arquivosSelecione um arquivo para ver informações sobre eleSelecione um arquivo/pasta que você deseja excluirSelecione uma forma de excluir arquivos ou diretórios do backupSelecionar tudoSelecionar tudo (este site)Selecionar todos os backupsSelecione a pasta na qual estão localizados os arquivos ou subdiretórios que você deseja excluirSelecione os destinos de armazenamento remoto para onde você deseja enviar este conjunto de backupSelecione o que deseja fazer backupEnviarEnviar um backup para outro siteEnviar um relatório apenas quando houverem alertas/errosEnviar relatóriosEnviar backups agendados para este destino:Enviar este backup para um armazenamento remotoEnviar para o site:Enviando seu backup para o armazenamento remotoEnviando arquivos para o site remotoCriptografia do lado do servidorDefina horas exatas para criar ou excluir backups.ConfiguraçõesMostrar todos os backups...Mostrar configurações avançadasMostrar mais backups...Mostrar lista bruta de backups e arquivosMostre as opçõesAcessar o %sInscrever-seCingapuraSiteOs dados do site foram implantadosDados do site recebidosHome do site:Informação do siteInformações do site:Chave do siteTamanho do siteTamanho: %s MBPular esta etapaTabelas puladas:Ignorando a tabela %s: já restaurada em uma execução anterior. Próxima tabela para restaurar: %s Ignorando a tabela %s: o usuário optou por não restaurar esta tabelaPulando: este arquivo já foi restaurado.Então, para obter a chave do site remoto, abra a janela 'Migrar Site' naquele site e vá para essa seção.Alguns plugins de backup não podem restaurar um backup, então o Premium permite que você restaure backups de outros plugins.Alguns arquivos ainda estão sendo baixados ou processados - aguarde.Relatórios sofisticados e recursos de e-mail.América do Sul (São Paulo)Carolina do SulSudeste da ÁsiaSudeste da AustráliaDividir arquivos a cada:Dividir linha para evitar exceder o tamanho máximo do pacotePadrãoPadrão (acesso ocasional)Iniciar a assinatura do %sIniciar a avaliação do %sIniciar assinaturaIniciar testeIniciar uma assinatura %s do UpdraftVaultIniciar backupHorário de inícioIniciando backup automático...Classe de armazenamentoArmazenar emAssinaturas podem ser canceladas a qualquer momento.SucessoSucesso:Sucesso: acesso feito com sucesso e confirmada a possibilidade de criação um arquivo no diretório informado (tipo de acesso:Não foi possível encontrar informações suficientes sobre a operação de restauração em andamento.SuporteURL de suportePlugins de backup suportados: %sSydneySidnei (SYD)A tabela %s tem muitas linhas (%s) - esperamos que seu serviço de hospedagem disponibilize recursos suficientes para despejar esta tabela no backup.Prefixo da tabelaO prefixo da tabela foi alterado: acertando os campos %s da tabela de acordo:Tabelas examinadas:TaiwanFaça o tourFazer um novo backupFazer um backup incrementalLeva apenas o tempo necessário para criar um backup e enviá-lo.Time UpdraftConte-me maisFale mais sobre backups incrementaisTenantTeste as Configurações do %sTestar a conexão...Testando Configurações %s...Testando a conexão...Testando...Obrigado por instalar o UpdraftPlus!Obrigado por fazer o tour.Muito obrigado!Que você está tentando enviar um arquivo compactado previamente criado pelo UpdraftPlus.A conexão %s expirou; se você informou o servidor corretamente então isto é causado normalmente por um firewall bloqueando a conexão - você deveria verificar com sua empresa de hospedagem web.O objeto %s não foi encontradoO botão "Fazer backup agora" foi desativado porque o seu diretório de backup não é gravável (vá para a aba "Configurações" e encontre a opção relevante).A chave de acesso da AWS parece estar errada (chaves de acesso %s válidas começam com "AK")A conexão do banco de dados foi fechada e não pode ser reaberta.O UpdraftPlus Migrator modifica a operação de restauração apropriadamente, de forma a adequar os dados do backup para o novo site.O módulo do UpdraftPlus para este método de acesso de arquivo (%s) não suporta a listagem de arquivos.O pasta de conteúdo do WordPress (wp-content) não foi encontrada neste arquivo compactado.A extensão de assinatura do WordPress para proprietários de lojas WooCommerce.Os diretórios acima incluem tudo, exceto os próprios arquivos básicos do WordPress, que você pode obter fazendo um novo download do WordPress.org.Os arquivos acima compreendem tudo em uma instalação do WordPress.A senha do administrador foi alterada.A senha do administrador foi removida.A quantidade de memória (RAM) permitida para o PHP está muito baixa (%s Mb) - você deveria aumentá-la para evitar falhas devido à memória insuficiente (consulte a sua empresa de hospedagem web para mais ajuda)A quantidade de tempo permitida para um plugin do WordPress rodar é muito baixa (%s segundos) - você deveria aumentá-la para evitar falhas no backup devido a esgotamento do tempo (consulte sua empresa de hospedagem web para mais ajuda - é o parâmetro do PHP max_execution_time; e o valor recomendado é %s segundos ou mais)A tentativa de abrir e ler o conteúdo do arquivo de senha falhou. Verifique se o arquivo é legível e não está sendo bloqueado exclusivamente por outro processoA tentativa de enviar o backup via e-mail falhou (provavelmente o backup era muito grande para este método)A tentativa de desfazer a compressão-dupla falhou.A tentativa de desfazer a compressão-dupla foi bem-sucedida.A memória disponível no servidor.A tentativa de backup terminou, aparentemente sem sucessoO diretório de backup não é gravável (ou o disco está cheio) - o backup do banco de dados irá falhar em breve.O backup terminou de ser executadoO backup não foi finalizado; um recomeço foi agendadoO backup está sendo abortado devido a uma falha repetida de progresso.Os registros de backup não contêm informações sobre o tamanho adequado desse arquivo.O backup foi abortadoO backup foi cancelado pelo usuárioA comunicação com o %s foi criptografada.A comunicação com o %s não foi criptografada.A criação dos seus dados para criação do clone deve começar agora.O backup do banco de dados utiliza características não disponíveis na antiga versão do MySQL (%s) onde este site está rodando.O arquivo de banco de dados parece ter sido comprimido duas vezes - provavelmente o site de onde foi efetuado o download está com o servidor web configurado erroneamente.O banco de dados é muito pequeno para ser um banco de dados válido do WordPress (tamanho: %s Kb).O servidor de banco de dados no qual este site WordPress está sendo executado não suporta o conjunto de caracteres (%s) que você está tentando importar.O servidor de banco de dados no qual este site WordPress está sendo executado não suporta os conjuntos de caracteres (%s) que você está tentando importar.O servidor de banco de dados no qual este site WordPress está sendo executado não suporta a compilação (%s) usada no banco de dados que você está tentando importar.O servidor de banco de dados no qual este site WordPress está sendo executado não suporta múltiplas compilações (%s) usadas no banco de dados que você está tentando importar.A chave de descriptografia usada:O diretório não existeO diretório não existe e não foi possível criá-loO link de download está quebrado ou o arquivo de backup não está mais disponível.O link de download está quebrado. Você pode ter clicado em um link de uma fonte não confiável.O endereço de e-mail fornecido parece ser inválido. Verifique novamente seu endereço de e-mail e tente novamente.A chave digitada não pertence ao site remoto (pertence a este aqui).A chave digitada está corrompida, tente novamente.A chave digitada tem o tamanho errado, tente novamente.O erro reportado pelo %s foi:A regra de exclusão que você está tentando incluir já existeO arquivo %s inicia com um "byte order mark" (BOM).Os arquivos %s iniciam com um "byte order mark" (BOM).O arquivo foi enviado.A pasta existe, mas o servidor web não tem permissão para gravar nela.A seguinte entidade não pode ser restaurada automaticamente: "%s".O seguinte armazenamento remoto (%s) foi configurado apenas parcialmente, se você estiver com problemas, tente autorizar manualmente na página de configurações do UpdraftPlus.O seguinte armazenamento remoto (%s) foi configurado apenas parcialmente e a autorização manual não é suportada com este armazenamento remoto. Tente novamente e, se o problema persistir, entre em contato com o suporte.As seguintes opções de armazenamento remoto estão configuradas.O arquivo informado não foi encontrado ou não pode ser lido.O valor fornecido para a opção '%s' não é válidoQuanto mais alto o valor, mais recursos de servidor são necessários para criar o arquivo.A versão instalada do UpdraftPlus Backup/Restore não foi testada para a sua versão de WordPress (%s).A chave fornecida não estava em um formato válido, ou estava corrompida.A chave foi adicionada com sucesso.A lista de sites existentes foi removidaO local deste diretório é definido nas configurações avançadas, na aba de Configurações.Não foi possível ler o arquivo de registros.O arquivo de registros foi anexado neste e-mail.A senha de console do Rackspace do novo usuário é (isto não será mostrado novamente):O número de opções de restauração que serão enviadas excede o máximo configurado em sua configuração do PHP (max_input_vars).O arquivo de senha que você especificou não existe, verifique o parâmetro --password-file.A preparação dos dados do clone foi abortada.O pedido ao sistema de arquivos para criar um diretório falhou.O módulo PHP necessário %s não está instalado - solicite à sua empresa de hospedagem que o habilite.O módulo PHP %s não está instalado - peça à sua empresa de hospedagem para habilitar.O fingerprint %s da chave RSA do servidor: %s. Os dados do site foram todos recebidos e agora a importação começou.O bucket especificado não foi encontrado.O fuso horário usado é o das configurações do WordPress, em Configurações -> Geral.O local seguro e conveniente para armazenar seus backups.Um erro (%s) ocorreu:O servidor web retornou um código de erro (tente novamente, ou verifique os registros do seu navegador)O mecanismo de compactação retornou a mensagem: %s.TemasEntão, essas credenciais de acesso de baixo poder podem ser utilizados, ao invés de armazenar suas chaves administrativas.Não há pontos de restauração de backup incremental disponíveis.Ocorreu um erro na tentativa de remover a lista de sites existentes.Portanto, é aconselhável que você faça um novo backup no site de origem, usando uma versão atualizada.Portanto, as tabelas afetadas no site atual que já existem não serão sobrescritas por padrão, para evitar que sejam corrompidas (você pode rever isto na lista de tabelas abaixo).Essas opções podem anonimizar dados pessoais em seu backup de banco de dados.Apenas estas tabelasIsto será usado para criar um novo usuário e par de chaves com uma política do IAM anexada que permitirá apenas acessar o bucket indicado.Este backup é de um site com um prefixo de tabela vazio, que o WordPress não suporta oficialmente. Os resultados podem não ser confiáveis.Este conjunto de backup contém backups incrementais de seus arquivos; selecione a hora em que deseja restaurar seus arquivosEste conjunto de backup é deste site, mas no momento do backup você estava usando %s, enquanto o site agora usa %s.O UpdraftPlus não reconheceu este conjunto de backup como criado pela instalação atual do WordPress, mas o encontrou em um armazenamento remoto ou ele foi enviado de um site remoto.Este backup foi criado por %s e pode ser importado.Este backup foi criado em uma versão anterior do UpdraftPlus (%s) que não realizou o backup correto das tabelas com as chaves primárias compostas (como a tabela term_relationships, que armazena tags e atributos do produto).Este botão está desabilitado porque o seu diretório de backup não é gravável (veja as configurações).Este botão vai excluir todas as configurações e informações de progresso do UpdraftPlus para backups em andamento (mas nenhum dos seus backups existentes no seu armazenamento na nuvem).Isto pode facilmente destruir o seu site portanto, utilize com cuidado!Este site atualNeste backup do banco de dados estão faltando tabelas básicas do WordPress: %sEsse banco de dados precisa ser carregado em um MySQL versão %s ou posterior.Esta chave de descriptografia será tentada:Este não parece ser um arquivo de backup do WordPress válido - o arquivo %s está faltando.Esta característica não é compatível com %sEste recurso requer a versão %s do %s ou posteriorNão foi possível enviar este arquivoEste arquivo não parece ser um arquivamento de backup do UpdraftPlus (tais arquivos são .zip ou .gz e tem um nome como: backup_(hora)_(nome do site)_(código)_(tipo).(zip|gz)).Esta funcionalidade foi desabilitada pelo administrador do site.Esta é uma instalação WordPress do tipo multi-site (também conhecido como rede).Este é uma contagem do conteúdo do seu diretório do Updraft.Isso é necessário se, e somente se, sua chave de aplicativo for uma chave de aplicativo específica do bucket (não uma chave mestra)Este não é um backup incrementalEste não é o seu login do Azure - veja as instruções se precisar de mais orientações.Isto é mais antigo do que o servidor no qual você está restaurando (versão %s).Isto é significativamente mais novo do que o servidor onde você está restaurando agora (versão %s).Às vezes isso é causado por um firewall - tente desligar o SSL nas configurações avançadas e teste novamente.Isto parece uma migração (o backup é de um site com endreço/URL diferente, %s).Isto pode impedir que o procedimento de restauração possa prosseguir.Isso provavelmente significa que você compartilha o seu servidor web com um site hackeado que foi utilizado anteriormente em ataques.Este conjunto de backup de múltiplos arquivos parece estar em falta dos seguintes arquivos: %sEsta opção irá fazer com que as tabelas armazenadas no banco de dados MySQL, que não pertencem ao WordPress (identificadas pela ausência do prefixo do WordPress configurado, %s), também sejam parte do backup.Esse problema é causado ao tentar restaurar um banco de dados em uma versão muito antiga do MySQL que é incompatível com o banco de dados original.Este método de armazenamento remoto (%s) requer o PHP %s ou posterior.Essa configuração se aplica somente quando um novo bucket está sendo criado.Este site ainda não tem backups de onde restaurar.Este método de armazenamento não permite o downloadEsta versão do UpdraftPlus não sabe como lidar este tipo de backup estrangeiro.Isto também fará com que a saída da depuração de todos os plugins seja mostrada nesta tela - por favor não fique surpreso ao ver isso. Isto irá excluir todas as configurações do UpdraftPlus - tem certeza de que deseja fazer isso?Isto irá importar dados de:Arrume as coisas para os clientes e remova todos os anúncios de nossos outros produtos.Hora atualTempo corrido (segundos):Tempo gasto:Carimbo de data e horaPara acessar as configurações do UpdraftPlus, por favor, entre a senha de desbloqueioPara acrescentar um site como destino de envio, entre a chave desse site abaixo.Para ser possível utilizar um nome de pasta customizado, use o UpdraftPlus Premium.Para alterar qualquer configuração padrão do que está sendo copiado, para configurar backups agendados, para enviar os backups para um armazenamento remoto (recomendado) e mais, vá para a aba de configurações.Para concluir a autenticação manual, na tela laranja de autenticação do UpdraftPlus, selecione o link "Está tendo problemas de autenticação?" e, então, copie e cole o código fornecido aqui.Para concluir sua migração/clonagem, você dever acessar agora o site remoto e restaurar o conjunto de backup.Para criar um novo sub-usuário IAM e uma chave de acesso que permita o acesso apenas a esse bucket, atualize para o Premium.Para criar um novo sub-usuário da API do Rackspace e uma chave API que tenha acesso apenas a este contêiner do Rackspace, utilize o Premium.Para criar um clone temporário, você precisa de créditos em sua conta.Para criar um clone temporário você precisa: 1) crédito na sua conta e 2) conectar a sua conta, abaixo.Para desautorizar o UpdraftPlus (em todos os sites) de acessar o Google Drive, acesse este link para as configurações da sua conta do Google.Para acertar a hora em que um backup deveria acontecer,Para corrigir este problema clique aqui.Para importar um conjunto de backup, vá para a seção "Backups Existentes" na aba "Backup/Restauração"Para importar um site WordPress comum em uma instalação multisite é necessário %s.Para manter o seu acesso ao suporte, por favor, renove.Para efetuar um backup, apenas pressione o botão "Fazer backup agora".Para consultar as perguntas frequentes e a documentação sobre o UpdraftClone, clique aqui.Para ter novamente o acesso às atualizações (incluindo características futuras e compatibilidade com os futuros lançamentos do WordPress) e ao suporte, por favor, renove.Para ter o acesso novamente, por favor, renove.Para remover qualquer bloqueio, entre aqui.Para remover o bloqueio, por favor vá aqui.Para manter o seu acesso, e manter o acesso às atualizações (incluindo características futuras e compatibilidade com os futuros lançamentos do WordPress) e ao suporte, por favor, renove.Para enviar para mais de um endereço, separe cada endereço com uma vírgula.Para utilizar este backup, o seu servidor de banco de dados precisa suportar o conjunto de caracteres %s.TóquioErros demais no banco de dados ocorreram - abortandoTotal de dados (não-comprimido) no disco:Tamanho total do backup:Mas, para evitar ameaças em todo o servidor, faça backup regularmente no armazenamento em nuvem remoto nas %s configurações %sPara começar com o UpdraftVault, escolha uma das opções abaixo:Problemas para se conectar? Tente usar um método alternativo nas opções de segurança avançadas.Teste o UpdraftVault por 1 mês por apenas $1!Experimente o UpdraftVault!Teste - 1 mês por $1!Tentando...TwitterDigitar um prefixo de arquivoDigite uma extensão como zipReino Unido (UK)Estados Unidos (US) (padrão)Leste dos EUA (Norte da Virgínia) (padrão)Leste dos EUA (Ohio)Governo dos Estados Unidos - Oeste (restrito)Oeste dos Estados Unidos (Norte da Califórnia)Oeste dos Estados Unidos (Oregon) Nuvem US ou UKConta Rackspace dos EUA ou UKConta Rackspace US ou UKNão foi possível obter a data de renovaçãoImpossível abrir o arquivo compactado (%s) - não foi possível pre-escanear o arquivo para checar a integridade.Impossível ler o arquivo compactado (%s) - não foi possível pre-escanear o arquivo para checar a integridade.Em ManutençãoResposta inesperada:Restauração inacabadaEstados UnidosDesconhecidoStatus de resposta do servidor desconhecida:Resposta desconhecida do servidor:Erro desconhecido/inesperado - por favor envie um pedido de suporteA menos que você tenha um problema, você pode ignorar completamente tudo o que está aqui.DesbloquearDesempacotando o backup...Progresso de descompactação: %d de %d arquivosAtualizar a contagem da cotaCofre do UpdraftUpdraftCentralUpdraftCentral CloudO UpdraftCentral é uma forma bastante eficiente de gerenciar, atualizar e fazer o backup de múltiplos sites de um só lugar.Chave UpdraftCentral criada:Imagem do UpdraftClone:A chave do UpdraftClone é obrigatória.UpdraftPlusUpdraftPlus - Enviar arquivos de backupComplementos do UpdraftPlusBackups automáticos do UpdraftPlusBackups do UpdraftPlusBlog do UpdraftPlus - obtenha notícias e ofertas atualizadasO Migrador do UpdraftPlus clona seu site WordPress e o move para um novo domínio, direta e simplesmente.Notícias do UpdraftPlusNewsletter do UpdraftPlusUpdraftPlus PremiumUpdraftPlus Premium e complementosO UpdraftPlus Premium tem muitos outros recursos interessantes!UpdraftPlus Premium:Restauração UpdraftPlusRestauração do UpdraftPlus: ProgressoSuporte UpdraftPlusTour do UpdraftPlusO UpdraftPlus possui sua própria opção de armazenamento incorporada, fornecendo uma forma descomplicada de baixar, armazenar e gerenciar todos os seus backups em um só lugar.UpdraftPlus ainda não está ativado.UpdraftPlus ainda não está instalado.O UpdraftPlus está nas mídias sociais - confira!O UpdraftPlus precisou criar um %s no diretório de conteúdo, mas falhou - verifique suas permissões de acesso e ative o acesso (%s)Aviso do UpdraftPlusNota do UpdraftPlus:UpdraftPlus em %sConfigurações do UpdraftPlusConfigurações de acesso do usuário do clone temporário do UpdraftPlus:Alerta do UpdraftPlus:UpdraftPlus não conseguiu encontrar o prefixo das tabelas ao varrer o backup do banco de dadosTermos e políticas da conta UpdraftPlus.comUpdraftPlus.Com respondeu, mas não foi possível entender a respostaUpdraftPlus.Com retornou uma resposta que não pudemos entender (dados: %s)UpdraftPlus.Com devolveu uma resposta, mas não foi possível entendê-laO UpdraftPlus.com respondeu com "Acesso Negado".UpdraftVaultO UpdraftVault é o nosso armazenamento remoto que funciona perfeitamente com o UpdraftPlus.Armazenamento no UpdraftVaultAtualizar agoraEnviarEnviar backupEnviar arquivos de backupErro no envioErro no envio:Espera-se uma falha no envio: o limite do %s para um único arquivo é %s, enquanto este arquivo está com %s GB (%d bytes)Não foi possível enviarEnvie arquivos para o UpdraftPlus.Enviado para:ouEnviando arquivos para armazenamento remotoEnviosURL dos envios:Use SCP ao invés de SFTPUse "ctrl / cmd + clique" para selecionar vários itens ou "ctrl / cmd + shift + clique" para selecionar tudo no intervaloUse a seção "Relatórios" para configurar os endereços de e-mail a serem usados.Utilizar os certificados SSL do servidorUse esta opção para enviar apenas backups de banco de dados por e-mail e ignorar outros componentes.Nome de usuárioNome de usuário: %sDono do cofreVerificando…Verificando a senha de uso único…VersãoVer registrosVer registrosEstilo de hospedagem virtualWP CLIComandos do WP-CLI para fazer, listar e excluir backups.Suporte ao WP-CLIEsperando até a hora marcada para repetir por causa de errosAlertaAlerta:Alerta: %sAlerta: Se você ainda estiver lendo estas palavras após o fim do carregamento da página, então existe um problema de JavaScript ou jQuery no site.Alerta: Você não tem tokens de clone restantes e nenhuma assinatura, ou uma assinatura que será renovada antes da data de expiração do clone.Aviso: a URL inicial do banco de dados (%s) é diferente do esperado (%s)Aviso: a URL do site no banco de dados (%s) está diferente do esperado (%s)AvisosAlertas encontrados:Alertas:Este backup foi criado com um plugin de backup diferente? Se sim, então você poderá ter que, primeiramente, renomeá-lo para que possa ser reconhecido - por favor, siga este link.Foi possível acessar o bucket e criar arquivos dentro dele.Contêiner acessado e foi possível criar arquivos dentro dele.Não foi possível conectar com sucesso à UpdraftPlus.ComA exclusão do arquivo foi solicitada, mas não foi possível entender a resposta do servidorFoi possível acessar o bucket, mas a tentativa de criar um arquivo falhou.Servidor:Espaço em disco no servidor web utilizado pelo UpdraftPlusURL WebDAVSemanalmenteBoas-vindas ao UpdraftPlusBoas-vindas ao UpdraftPlus!Boas-vindas ao seu UpdraftClone (clone temporário)Muito bem - não há mais nada necessário para configurar.Oeste da EuropaOeste dos Estados UnidosQuando o método de armazenamento de e-mail estiver ativado e um endereço de e-mail for inserido, envie também o backupPara onde alterar o diretóro, após o login - isto normalmente se refere ao seu diretório inicial (home).Qual site restaurarQue foi exportado em:Por que estou vendo isto?Limpar as configuraçõesCom o UpdraftPlus Premium, você pode optar por fazer o backup de tabelas que não são do WordPress, fazer o backup apenas de tabelas especificadas e fazer o backup de outros bancos de dados também.Com o UpdraftPlus Premium você pode baixar diretamente arquivos individuais a partir daqui.Sem isso, a criptografia será muito mais lenta.Sem esta permissão, o UpdraftPlus não pode apagar os backups - você deveria também configurar o parâmetro 'retenção' com um valor alto para evitar enxergar erros de deleção.Sem esta permissão, você não pode efetuar o download diretamente ou restaurar utilizando o UpdraftPlus e irá precisar acessar o site da AWS.Sem atualizar, o UpdraftPlus permite que todos os administradores do blog que podem modificar configurações do plugin façam um backup (e portanto acessar os dados, incluindo senhas) e restaurar (inclusive com modificações customizadas, ex.: senhas alteradas) da rede inteira.Plugins do WooCommerceBackup do WordPressArquivos básicos do WordPressO WordPress Multisite é suportado, com recursos extras, pelo UpdraftPlus Premium.O backup do WordPress está completo.Arquivos básicos do WordPressArquivos básicos do WordPress (incluindo qualquer adição ao seu diretório raiz do WordPress)Arquivos básicos do WordPress (apenas)banco de dados do WordPressWordPress instaladoWordPress instalado; aguardando os dados do site serem enviados.Caminho do servidor de diretório raiz do WordPress: %sSimVocê está usando a versão gratuita do UpdraftPlus no momento.Você está utilizando agora uma conta de usuário IAM para acessar o seu bucket.Você está atualmente conectado a uma conta do UpdraftPlus.com.Você está atualmente desconectado de qualquer conta do UpdraftPlus.com.Você está executando em um WordPress multisite - mas o seu backup não é o de um site multisite.Você está utilizando o servidor web %s, mas não parece ter o módulo %s carregado.Você pode fechar este assistente.Você pode comprar tokens do UpdraftClone em nossa loja, aqui.Você pode comprar mais tokens para clones temporários aqui.Você pode verificar o progresso aqui ou em %sVocê pode escolher outro conjunto de caracteres adequado e continuar com a restauração por sua conta e risco.Você pode escolher outro agrupamento adequado e continuar com a restauração (por sua conta e risco).Você pode entrar o caminho de qualquer %s pasta virtual que deseje utilizar aqui.Você pode descobrir mais sobre chaves de clonagem aqui.Você pode encontrar as informações do seu clone temporário na sua conta do updraftplus.com aqui.Você pode proibir o acesso de não administradores neste site clonado marcando a caixa de seleção abaixoVocê pode obter mais cota aquiVocê pode descriptografar manualmente aqui um banco de dados criptografado.Você pode enviar um backup para mais de um destino com o Premium.Você pode testar a execução do seu site em uma versão diferente do PHP (ou WordPress) usando os créditos do UpdraftClone.Você pode testar a atualização do seu site em uma cópia instantânea usando os créditos do UpdraftCloneVocê pode ver os registros pressionando o botão "Ver registros".Você não tem acesso a este bucketVocê não tem acesso a este bucket.Você não possui o add-on %s do UpdraftPlus instalado - obtenha-o em %sParece que você tem um plugin obsoleto do Updraft instalado - talvez você os tenha confundido?Você inseriu um endereço de e-mail que não foi reconhecido pelo UpdraftPlus.ComVocê tem uma compra inativaVocê tem uma operação de restauração inacabada, iniciada há %s.Você optou por fazer o backup de um banco de dados, mas nenhuma tabela foi selecionadaVocê optou por fazer o backup dos arquivos, mas nenhuma entidade de arquivos foi selecionadaVocê optou por enviar este backup para armazenamento remoto, mas nenhum local de armazenamento remoto foi selecionadoVocê fez alterações nas suas configurações e não salvou.Você não selecionou o caminho de restauração para os seus backups escolhidosVocê ainda não se conectou à sua conta UpdraftPlus.Com para permitir que você liste seus complementos adquiridos.Você ainda não se conectou com sua conta do UpdraftPlus.Com.Você ainda não fez nenhum backup.Você ainda não selecionou um arquivo para importar.Você atingiu o limite diário para o número de backups incrementais que você pode criar neste momento.Você atingiu o limite mensal para o número de backups que você pode criar neste momento.Você solicitou salvar no armazenamento remoto (%s), mas sem inserir nenhuma configuração para esse armazenamento.Você selecionou uma opção de armazenamento remoto que tem uma etapa de autorização a ser concluída:Você deve adicionar o seguinte, como a URI de redicionamento autorizado (em "Mais Opções"), quando perguntadoVocê deve adicionar o seguinte como o URI de redirecionamento autorizado em seu console do Dropbox (em "Configurações de API") quando solicitadoVocê deve adicionar o seguinte como sendo a URI de redirecionamento autorizada (em "Mais Opções") quando solicitadoVocê deve acrescentar o seguinte como sendo a URI de redirecionamento autorizada na sua console do OneDrive (em "Configurações da API/API Settings") quando solicitadoVocê deve copiar e colar esta chave no site que está enviando agora - ela não será mostrada novamente.Você deve inserir um ID de projeto para poder criar um novo bucket.Você deve salvar e autenticar antes de poder testar suas configurações.Você deve selecionar pelo menos um destino de armazenamento remoto para o qual este conjunto de backup será enviado.Você deve atualizar o MySQL para poder utilizar este banco de dados.Você deve utilizar um nome de bucket que seja único, para todos os %s usuários.Você deve utilizar apenas letras em minúsculas ou números para o caminho do site.Você precisa se conectar para receber futuras atualizações do UpdraftPlus.Você precisa inserir um bucketVocê precisa inserir um contêinerVocê precisa entrar um novo nome de usuário IAMVocê precisa inserir um novo nome de usuárioVocê precisa inserir um novo endereço de e-mail válidoVocê precisa inserir uma chave API de administradorVocê precisa fornecer uma chave de acesso de administradorVocê precisa entrar uma chave secreta de administradorVocê precisa inserir um nome de usuário de administradorVocê precisa se reautenticar com %s, pois as suas credenciais existentes não estão funcionando.Você precisa ler e aceitar as políticas de privacidade e dados do UpdraftCentral Cloud antes de prosseguir.Você precisa fornecer um endereço de e-mail e uma senhaVocê selecionou %s para ser incluído na restauração - isto não pode / não deveria ser feito quando importar um único site em uma rede.Você deve fazer backup de todas as tabelas, a menos que seja um especialista nas partes internas do banco de dados do WordPress.Você deve verificar se o site remoto está on-line, não protegido por firewall, sem módulos de segurança que possam estar bloqueando o acesso, com o UpdraftPlus versão %s ou posterior ativo e se as chaves foram digitadas corretamente.Você deve verificar as propriedades e as permissões dos arquivos em sua instalação WordPressVocê deve ativar o %s para fazer com que qualquer link permanente amigável (ex.: %s) funcioneVocê deveria certificar-se de que este é realmente um conjunto de backup destinado ao uso neste site da web, antes de fazer a restauração (ou se é um conjunto de backup de um outro site da web).Você deve salvar suas alterações para garantir que elas serão utilizada para realizar o seu backup.Você deveria atualizar o UpdraftPlus para ter certeza de que você tem a versão que foi testada para compatibilidadeVocê fez login com sucesso no UpdraftPlus e conectou este site ao UpdraftCentral Cloud.Você se conectou com sucesso ao UpdraftPlus.Com e conectou este plugin à sua contaVocê comprou o UpdraftPremium com sucesso.Você irá descobrir mais informações sobre isto na seção de Configurações.Você precisará solicitar ao seu provedor de hospedagem web que faça uma atualização.Você precisará perguntar ao seu provedor de hospedagem web, para descobrir como mudar as permissões, para que um plugin do WordPress possa gravar em um diretório.Você terá que restaurar manualmente.É isso aíSeu nome de conta %s: %sA utilização da sua cota do %s: %s %% utilizado, %s disponívelA versão do seu %s: %s.Seu .htaccess tem uma referência de site antigo na linha número %s. Você deve removê-lo manualmente.Seu .htaccess tem referências de um site antigo nas linhas %s. Você deve removê-los manualmente.Seu endereço IP:Seu UpdraftClone ainda está sendo preparado.Sua instalação WordPress tem diretórios antigos da situação anterior à restauração/migração (informação técnica: eles estão com o sufixo -old).O seu backup foi restaurado.O conjunto de caracteres escolhido para usar:O agrupamento de substituição escolhidoSeu clone iniciou e estará disponível nos seguintes URLs assim que estiver pronto.Seu clone foi iniciado, as informações de rede ainda não estão disponíveis, mas serão exibidas aqui e em sua conta updraftplus.com assim que estiverem prontas.Seu clone irá carregar estes dados para recriar o seu site.Seu clone será renovado em:Seu usuário de banco de dados não tem permissão para excluir tabelasSeu endereço de e-mail e senha não foram reconhecidos pelo UpdraftPlus.ComSeu endereço de e-mail era válido, mas sua senha não foi reconhecida pelo UpdraftPlus.Com.Seu e-mail para o qual serão enviados o backup e um relatórioSeu arquivo exportado conterá as configurações mostradas, e não as salvas.Seu primeiro backupSeu espaço livre em disco está muito baixo - restam apenas %s MbO espaço livre na sua conta da hospedagem está muito baixo - resta apenas %s MbSua empresa de hospedagem deve habilitar estas funções antes que o %s possa funcionar.Seu provedor de hospedagem permite que você faça apenas um backup por mês.Seu provedor de hospedagem permite que você faça apenas um backup incremental por dia.Seu rótulo para este backup (opcional)O seu login pode ser através de senha ou chave - você precisa entrar apenas um, não ambos.Sua nova chave:O seu acesso pago ao suporte do UpdraftPlus expirou. Seu acesso pago ao suporte do UpdraftPlus irá expirar em breve.Seu acesso pago às atualizações do UpdraftPlus para complementos %s neste site expirou.Seu acesso pago às atualizações do UpdraftPlus para %s dos complementos %s neste site expirará em breve.O seu acesso pago às atualizações do UpdraftPlus neste site irá expirar em breve. As suas configurações salvas também afetam o que vai para o backup - p.ex. arquivos excluídos.Suas configurações foram salvas.Suas configurações foram apagadas.O endereço de e-mail do administrador do seu site (%s) será utilizado.Sua versão: %sSeu servidor web está com o chamado safe_mode do PHP ativo.A instalação PHP do seu servidor web está com estas funções desabilitadas: %s.O seu servidor web não possui o módulo %s instalado.Seu site web está hospedado utilizando o servidor web %s.Seu site é hospedado com %s (%s).Seu site é visitado com pouca frequência e o UpdraftPlus não está recebendo os recursos esperados. Por favor, leia esta página:Caminho do servidor do seu diretório wp-content: %s uma segunda tentativa está sendo realizada (em caso de falha posterior, será ignorada)Ativar neste siteopções avançadasjá realizadojá enviadoe retém esta quantidade de backups agendadosem qualquer lugar em seus nomesarquivo no início de seus nomesno final de seus nomesURI de autenticaçãoerro de autenticaçãoa autenticação falhouautorização falhou:voltarfaz backup automaticamente quando você atualiza plugins, temas ou arquivos básicosporcalcularcalculando...verifique seus registros para mais detalhes.pedaço %s: não foi possível enviarconfigure aquicontêinercontarcredenciaistentativa de conectar ao banco de dados falhoutentativa de conexão com o banco de dados falhou.nome do banco de dadosdiadia(s)não retornou a resposta esperada - verifique seu arquivo de registros para mais detalhesdispensar avisoFalha no download: arquivo não encontradop. ex. %sp.ex.: se o seu servidor está ocupado durante o dia e você deseja executar durante a noitemigre ou faça um clone do seu site facilmente em minutosFTP criptografado (criptografia explícita)FTP criptografado (criptografia implícita)opções avançadas para armazenamento remotoerro - não foi possível criar e acessar o contêinererro - não foi possível remontar pedaçoserro - não foi possível enviar arquivoerro: %s (veja o arquivo de registro para mais detalhes)erro: não foi possível enviar arquivo para o %s (veja o arquivo de registro para mais)erro: o arquivo %s foi encurtado inesperadamenteNão foi possível acessar a pasta ascendentenão foi possível listar arquivosnão foi possível enviar arquivo para o %s (veja o registro para mais)mais rápido (possibilidade para instalações PHP lentas)arquivoarquivo %d de %dtamanho do arquivo:arquivos: %spastaacesse este link para obtê-loentre aquientre aqui para alterar sua senha em updraftplus.com.acesse para aprender maislida com as atualizações automaticamente como você desejaaquiservidornome do servidorhora(s)Manualse todas as condições a seguir forem atendidas:se alguma das seguintes condições for atendida:no mêsincluindo qualquer senhaBackup incremental; backup da base: %sénão échavenome da chaveúltima atividade: %d segundos atrásúltima atividade: %ss atrásúltimaregistrar resultados no consoleacessofalha no acessogerenciargerencia todos os seus sites WordPress de uma vez de um único localpode incluir alguns dados volumosos como o site todoMaismais informaçõeslocalização em múltiplas regiõespróxima retomada: %dnenhuma tabela de sitemeta ou opções foi encontradanenhuma atividade recente; oferecerá retomada após: %d segundosimagem de avisocontinuando agora com as atualizações...a cada backupabra isto para mostrar algumas opções a mais. Não mexa com isto a menos que você tenha um problema ou seja curioso.opcionalou (desconto anual)ou para configurar agendamentos mais complexosou para restaurar manualmenteou, para desfazer esta opçãooutros conteúdos do wp-contentsenhasenha/chaveacesse este link para atualizar o plugin e ativá-loacesse este link para atualizar o plugin e obtê-lopor favor, aguarde a nova tentativa que foi agendadapluginspressione aquileia mais em %srecomendadoatualizarFTP comum não-criptografadoarquivos remotos excluídossite remotoobrigatório para alguns provedores de armazenamento remotoresetarrestauraçãolinhas: %dpesquisar e substituirpesquisar termomantenha seus backups segurosconfiguraçõesmostrar informações do PHP (phpinfo)mostrar registrossite não encontradopulado (não está na lista)mais lento, mais fortealgum/caminhoiniciando na próxima vez que forparartabela: %stabelasmodelo não encontradoa query que estava executando no banco de dados era:a tabela de opções não foi encontradao plugin de backup mais confiável do mundo!temasestes conjuntos de backupestes caractereseste conjunto de backupesta política de privacidadepara fazer backups incrementaisduas tentativas sem sucesso foram realizadas para inclusão, e agora serão omitidas no backup.origem desconhecidaPara fazer um backup simples em seu servidor, pressione este botão. Ou para configurar backups regulares e armazenamento remoto, acessa as %s configurações %senvio (%s): reagrupamento falhou (veja o registro para mais detalhes)não foi possível enviaruse o UpdraftPlus Premiumusuárionome de usuáriosemana(s)irá restaurar como:com a opção devocê autenticou sua conta %svocê autenticou a sua conta %s.você irá querer utilizar abaixo a busca e substituição do local do site no banco de dados (migrar) para buscar/substituir o endereço do site.a sua instalação PHP não possui o módulo openssl; como resultado, isso pode levar alguns minutos; se nada acontecer após um tempo então tente com uma chave de tamanho menor ou peça a empresa da sua hospedagem que habilite esse módulo PHP na sua configuração.sua conta UpdraftPlus.como endereço de administração do seu siteExecutável compactado encontrado:languages/updraftplus-tl.mo000064400000227123147400355670012057 0ustar00++8+, -, N,S[,,#,, ,--0-#@- d-)q-'- -K- 0. =.I.Z.2b..+. ..$/%/68/Wo/ /,/0 0r0/0A0W1IX1 111H2+2E33G3C{3 33 33]^444l4h_55%55 66*6gH6m67)>7h7877188i8C8b8KI9-999$9:3:-L:z:q:6:4; T; b; m; {; ;;;;;; <9<%X<1~<><6<&&=+M=y====G= >">K7>_>> g?? ? ???? ??m@OOAEA A AB9/BiB B BBBBBB!BTC!oCC3CC)C DDD D D D DDD:EVE(sE*EEEYE!EFgFF3F#FF, G6GPGbGwG}GGG)GGG? H LH%mH HH)HHHHI*I>IUI#dIEII*ILJNJGmJ(J1JPKJaKKKK(K L&LT=LLL]LLMN%MOtM#M5MNN#N O1%O WO,eO-OO O)OHO*DPoPvPPP:PPP,Q4QCQSQeQ|Q9Q&Q3QR+RAR^R){RR%RRSS<1S~nSZS[HT/TFTU#U&=U)dU&U!U?U^VvVc|VBV#W*2W ]W@iWW)WW3W!X >X>KX XXX%XWXa[[[[+o\f\A]D]k]`<^_^^5_K_|`R`L`G8aa%%bKb9cbbWb&c$r KrUr:or rr1r1r,s5sJs hsssBss1st-t6t>trGtt t tAtu/u6uGuZu qu|u2vVNvIvxv@hww_xc|y2y5z:Iz6zQz( {,6{c{I{3|L|i||N|<|j*};}}-}L~=l~W~PPS3Y899r&PӀ,$Q=9:Ptł9yS~Rل @E41.3`$=Eۇ1!"S v  LۈL(u9ˉ!;Nl!!!؊RAL@Cь !=EH]!ȍ эލ7& /K;Kӎ܎ @C=4S + BMT^l,ː I5(OT4QDZ˒&kD"[ӓ/ M+n"#Rj49%ٕ  -&TiF4ϖGDLV49PW_GPo25ҙD6M/v)+Un"# ݛ@#4#X:|֜ * /9PW]v E?ҝ':BRZt} Ğ͞ !-EJS&d'ɟMŠ *KT[/ $=6M .. [ l yB3 3A+ZI d-p ¥+FXrg˦I3 }A+ۨZ2bM  n+tFy 58B!{ #|ެ}[)٭043ҮLBSUp|<#*N'j;M%ײ   & 4ANW!ȳ߳C;9[I5ߴ#09j#Zе +!6XXq#(-% S ]ipu |f]V B'P"xU   &:Pk!d!)9>x.Ž^ y )Ӿ5,'#T2xɿsп/Dt4%."Nq'1"#3DW * * 4#;_&x!2Ro=vfk:27Y^k3Daz} wp'#8 ( 1== {;6 5 PC*EFU/]Q-.I\"#6$N%s4lv/F 4/:d7+MpQ}aF7 SW*]3D IVu6|g(- Vb' -"/ : XPeIY^+7c[DoujE9pbUhF2U*.lY8$.$S e p|$1&1`X 2 4 < Ijr 6,  !=o }'% 2<&Ah n&zN/& %G m$He!*v y 9SKn8!73k<W: AkL!  E+]?Z?:z@B$,BX q ~=D** 8FQ[C%5>FO JSdk| "zvPeHFe2|;@QA@`(v/\e^2JsEP+M@.to^hC4wX`?"P=m<{ F c c VK m  h  "  8 cD  @A?Y65\ 8i,   %c7b'!Fch+  >!Rt(%iE DfC    ,,9fnQ! Try RX7@ RI^K8o- A $x"@W'tZhJcNk)ix) 6)0= .U / n t#!K!'! ""-8"f" "W"B"S=#`##>s$^$b%t%t&!y&*&7&&>'OR'?'C'&(2((()!),')-T) ))V)#)#*P7*)* *** **0*,+ 1+;+R+Y+a+~+ +O+k+3P, ,,,,,,, --4-#=- a- k-------*-'.;."%s" has no primary key, manual change needed on row %s.%d errors, %d warnings%d hours, %d minutes, %d seconds%s (%s used)%s - could not back this entity up; the corresponding directory does not exist (%s)%s Error%s Error: Failed to open local file%s Error: Failed to upload%s access key%s authentication%s authentication failed%s checksum: %s%s download: failed: file not found%s end-point%s error - failed to access the container%s error - failed to re-assemble chunks%s error - failed to upload file%s error - we accessed the container, but failed to create a file within it%s error: %s%s location%s login failure%s logo%s re-assembly error (%s): (see log file for more)%s restoration options:%s returned an unexpected HTTP response: %s%s secret key%s settings test result:%s support is available as an add-on%s table(s) found.%s total table(s) found; %s with the indicated prefix.%s upload: getting uploadID for multipart upload failed - see log file for more details%s version:%s: unreadable file - could not be backed up(Not finished)(Read more)(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).(apparently a pre-release or withdrawn release)(logs can be found in the UpdraftPlus settings page as normal)...(make sure that you were trying to upload a zip file previously created by UpdraftPlus)(or connect using the form on this page if you have already purchased it)(version: %s)... and many more!Do not place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...).(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem).This is NOT a folder name.A search/replace cannot be undone - are you sure you want to do this?A very large file was encountered: %s (size: %s Mb)ABORT: Could not find the information on which entities to restore.API Key: %sAPI keyAPI secretAccount full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytesAccount holder's name: %s.Account is not authorized.Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-basedActionsAdd an external database to backup...Add another address...Admin API KeyAdmin UsernameAdvanced / Debugging SettingsAfter pressing this button, you will be given the option to choose which components you wish to restoreAll references to the site location in the database will be replaced with your current site URL, which is: %sAlso delete from remote storageAlso, you should read this important FAQ.An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %sAn error occurred on the first %s command - aborting runAn error occurred when trying to retrieve your add-ons.An error occurred whilst closing the final database fileAn unknown error occurred when trying to connect to UpdraftPlus.ComAn update containing your addons is available for UpdraftPlus - please follow this link to get it.An update is available for UpdraftPlus - please follow this link to get it.Any other directories found inside wp-contentArchive is expected to be size:Assigned to this siteAt the same time as the files backupAuthenticate with %sAuthenticate with GoogleAuthorisation failed (check your credentials)Automatic BackupAutomatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updatingAvailable for this site (via your all-addons purchase)Available to claim on this siteBacked up: %sBackup NowBackup ReportBackup began:Backup begunBackup contains:Backup created by unknown source (%s) - cannot be restored.Backup created by:Backup created by: %s.Backup directoryBackup directory (%s) is not writable, or does not exist.Backup directory could not be createdBackup directory specified does not exist.Backup directory specified exists, but is not writable.Backup directory specified is writable, which is good.Backup directory successfully created.Backup does not exist in the backup historyBackup external databaseBackup file not available.Backup finishedBackup is of: %s.Backup non-WordPress tables contained in the same database as WordPressBackup of:Backup set not foundBad filename format - this does not look like a file created by UpdraftPlusBad filename format - this does not look like an encrypted database file created by UpdraftPlusBe aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive.Be safe with an automatic backupBegun looking for this entityBlog linkBlog uploadsBuy ItCallCancelChanges made:Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits).Check this to receive more information and emails on the backup process - useful if something is going wrong.Check your file permissions: Could not successfully create and enter directory:Check your file permissions: Could not successfully create and enter:Chicago (ORD)Choose the components to restoreChoose your remote storageClaim not granted - your account login details were wrongCleaning up rubbish...Client IDClient SecretCloseCloud Files API KeyCloud Files ContainerCloud Files Storage RegionCloud Files UsernameCloud Files authentication failedCloud Files error - we accessed the container, but failed to create a file within itCloud Files operation failed (%s)Cloud Files usernameConflict: that user or email address already existsConnectConnect with your UpdraftPlus.Com accountConnection failed.Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.Connection succeeded.ConstantsContainerContains:Content URL:Copying this entity failed.Could not access %s containerCould not find that job - perhaps it has already finished?Could not get list of tablesCould not move old files out of the way.Could not open the backup file for writingCould not read the directoryCreateCreate a new API user with access to only this container (rather than your whole account)Create new API user and containerCreated database backupCreated file backup zipsCreating %s and database backup with UpdraftPlus...Creating backup with UpdraftPlus...Creating database backupCreating database backup with UpdraftPlus...Creating file backup zipsCurrent limit is:Current memory usageDailyDallas (DFW) (default)DatabaseDatabase (created by %s)Database (files backup has not completed)Database OptionsDatabase encryption phraseDatabase only (files were not part of this particular schedule)Database successfully decrypted.Database: search and replace site URLDebug modeDebugging informationDecrypting database (can take a while)...DeleteDelete Old DirectoriesDelete backup setDelete from your web serverDelete local backupDelete this backup setDirectory pathDisable SSL entirely where possibleDisabled this plugin: %s: re-activate it manually when you are ready.DismissDismiss from main dashboard (for %s weeks)Do not abort after pressing Proceed below - wait for the backup to complete.Do not verify SSL certificatesDo read this helpful article of useful things to know before restoring.Do you need WordPress Multisite support?Do you want to migrate or clone/duplicate a site?Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.Download error: the server sent us a response which we did not understand.Download failedDownload in progressDownload log fileDownload most recently modified log fileDownload to your computerDrop backup files hereDrop encrypted database files (db.gz.crypt files) here to upload them for decryptionDropboxEmailEmail reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com newsEncrypted databaseEncrypting databaseEnter addresses here to have a report sent to them when a backup job finishes.Enter details for where this new site is to live within your multisite install:Enter in format HH:MM (e.g. 14:22).Enter the path of the %s folder you wish to use here.Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name.ErrorError - failed to download the fileError data:Error downloading remote file: Failed to downloadError messageError opening local file: Failed to downloadError opening remote file: Failed to downloadError:Error: %sError: the server sent an empty response.Error: the server sent us a response (JSON) which we did not understand.Error: unexpected empty parameter (%s, %s)ErrorsErrors / warnings:Errors encountered:Errors have occurred:Errors occurred when trying to connect to UpdraftPlus.Com:Errors occurred:Errors:Examples of S3-compatible storage providers:Exclude these:Expert settingsExternal databaseExternal database (%s)FailedFailed to access %s when deleting (see log file for more)Failed to create a temporary directoryFailed to delete working directory after restoring.Failed to downloadFailed to download %sFailed to find database fileFailed to open database fileFailed to open database file for reading:Failed to open database file.Failed to open the zip file (%s) - %sFailed to unpack the archiveFailed to upload %sFailed to upload to %sFailed to write out the decrypted database to the filesystemFailed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location.Failed: We were able to log in, but failed to successfully create a file in that location.Failed: We were not able to place a file in that directory - please check your credentials.Failed: the %s operation was not able to start.Failed: we did not understand the result returned by the %s operation.FailureFailure: No %s was given.Failure: No bucket details were given.Failure: No container details were given.Failure: No server details were given.Failure: Port must be an integer.Failure: we did not successfully log in with those credentials.Failure: we successfully logged in, but were not able to create a file in the given directory.FetchFile (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.File is not locally present - needs retrieving from remote storageFile not foundFile not found (you need to upload it): %sFile ready.File was found, but is zero-sized (you need to re-upload it): %sFilesFiles (database backup has not completed)Files and databaseFiles and database WordPress backup (created by %s)Files backup (created by %s)Files found:Files only (database was not part of this particular schedule)Final checksFirst, enter the decryption keyFolderFollow this link for more informationFollow this link to attempt decryption and download the database file to your computer.Follow this link to download the log file for this restoration (needed for any support requests).Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.Forgotten your details?FortnightlyFree disk space in account:Get it from the UpdraftPlus.Com StoreGoGo hereGo here for more information.Go here to activate it.Go here to begin installing it.Go here to connect.Google DriveGoogle Drive list files: failed to access parent folderHave not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.Hong Kong (HKG)HostHowever, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.However, subsequent access attempts failed:If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.If making a request for support, please include this information:If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.If you are not sure then you should stop; otherwise you may destroy this WordPress installation.If you are not sure what this option is for, then you will not want it, and should turn it off.If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes.If you are using this, then turn Turbo/Road mode off.If you bought new add-ons, then follow this link to refresh your connectionIf you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.If you exclude both the database and the files, then you have excluded everything!If you leave it blank, then the backup will be placed in the root of your %sIf you see errors about SSL certificates, then please go here for help.If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up.In %s, path names are case sensitive.Include in files backupInfinite recursion: consult your log for more informationInformation needed to continue:Interested in knowing about your UpdraftPlus.Com password security? Read about it here.It can also backup external databases.It has been tested up to version %s.It is an ID number internal to Google DriveJavaScript warningJob ID: %sJob deletedKeyKnown backups (raw)Last log messageLatest UpdraftPlus.com news:Latest status:Lead developer's homepageLeave this blank, and a default will be chosen.Local write failed: Failed to downloadLog all messages to syslog (only server admins are likely to want this)London (LON)Looking for %s archive: file name: %sManage AddonsManually decrypt a database backup fileMessages:Migrated site (from UpdraftPlus)MonthlyMore FilesMore pluginsMore tasks:Moving old data out of the way...Moving unpacked backup into place...MultisiteMultisite InstallMust-use pluginsN.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.N.B. This count is based upon what was, or was not, excluded the last time you saved the options.Name: %s.Need to get support?Need to use sub-folders?Needs to already existNetwork activating theme:New User's Email AddressNew User's UsernameNew site:NewsNext scheduled backupsNoNo %s foundNo %s settings were foundNo backup of %s directories: there was nothing found to back upNo database tables foundNo local copy present.No log files were found.No settings were foundNo such backup set existsNoneNorthern Virginia (IAD)Not yet got an account (it's free)? Go get one!Note that not all cloud backup methods are necessarily using SSL authentication.Note:Nothing currently scheduledNothing to do: the site URL is already: %sNothing yet loggedNoticeOKOld table prefix:One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the "retain" settings; if/when you wish to delete them then you must do so manually.Only the WordPress database can be restored; you will need to deal with the external database manually.Opera web browserOptions (raw)Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the "rescan" link above.Other %s FAQs.OthersOver-write wp-config.phpPHP informationPasswordPassword: %sPeak memory usagePlease check your access credentials.Please consult this FAQ if you have problems backing up.Please supply the requested information, and then continue.Please wait whilst we make the claim...PluginsPortPremiumProceed with updateProcessed plugin:Processing files - please wait...Pruning old backup setsRSS linkRaw backup historyRead more about how this works...Read this page for a guide to possible causes and how to fix it.RegionRegion: %sRemember this choice for next time (you will still have the chance to change it)Remote Storage OptionsRemoveRemove old directoriesReplace withReportingRequested table engine (%s) is not present - changing to MyISAM.Requesting start of backup...Rescan local folder for new backup setsRescan remote storageRescanning (looking for backups that you have uploaded manually into the internal backup store)...Rescanning remote and local storage for backup sets...RestoreRestore backupRestoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection).Retrieving (if necessary) and preparing backup files...Return to UpdraftPlus ConfigurationRows examined:S3 (Compatible)SCP/SFTP host settingSCP/SFTP password/keySCP/SFTP user settingSQL update commands run:Save ChangesSaving...Search / replace databaseSearch and replace site location in the database (migrate)Search forSee this FAQ also.Select 'Web Application' as the application type.Send a report only when there are warnings/errorsSettingsShow expert settingsShow raw backup and file listSite home:Site information:Some files are still downloading or being processed - please wait.Split archives every:Split line to avoid exceeding maximum packet sizeStarting automatic backup...Store atSuccessSuccess:Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:SupportSydney (SYD)Table prefixTable prefix has changed: changing %s table field(s) accordingly:Tables examined:TenantTest %s SettingsTest connection...Testing %s Settings...Testing...The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company.The %s object was not foundThe UpdraftPlus module for this file access method (%s) does not support listing filesThe WordPress content folder (wp-content) was not found in this zip file.The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org.The above files comprise everything in a WordPress installation.The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)The attempt to send the backup via email failed (probably the backup was too large for this method)The attempt to undo the double-compression failed.The attempt to undo the double-compression succeeded.The backup attempt has finished, apparently unsuccessfullyThe backup has not finished; a resumption is scheduledThe backup records do not contain information about the proper size of this file.The communication with %s was encrypted.The communication with %s was not encrypted.The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver.The database is too small to be a valid WordPress database (size: %s Kb).The decryption key used:The directory does not existThe error reported by %s was:The file was uploaded.The folder exists, but your webserver does not have permission to write to it.The following entity cannot be restored automatically: "%s".The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s).The key provided was not in a valid format, or was corrupt.The log file could not be read.The log file has been attached to this email.The new user's RackSpace console password is (this will not be shown again):The request to the filesystem to create the directory failed.The required %s PHP module is not installed - ask your web hosting company to enable itThe time zone used is that from your WordPress settings, in Settings -> General.The web server returned an error code (try again, or check your web server logs)ThemesThis backup was created by %s, and can be imported.This button is disabled because your backup directory is not writable (see the settings).This can easily destroy your site; so, use it with care!This database backup is missing core WordPress tables: %sThis decryption key will be attempted:This does not look like a valid WordPress core backup - the file %s was missing.This feature requires %s version %s or laterThis file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).This is a WordPress multi-site (a.k.a. network) installation.This is a count of the contents of your Updraft directoryThis multi-archive backup set appears to have the following archives missing: %sThis option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up.This remote storage method (%s) requires PHP %s or later.This version of UpdraftPlus does not know how to handle this type of foreign backupThis will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these.This will delete all your UpdraftPlus settings - are you sure you want to do this?Time nowTime taken (seconds):Time taken:To be able to set a custom folder name, use UpdraftPlus Premium.To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.To fix the time at which a backup should take place,To maintain your access to support, please renew.To make a backup, just press the Backup Now button.To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To regain your access, please renew.To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew.To send to more than one address, separate each address with a comma.Too many database errors have occurred - abortingTotal (uncompressed) on-disk data:Trying...UKUS (default)US or UK CloudUS or UK Rackspace AccountUS or UK-based Rackspace AccountUnable to open zip file (%s) - could not pre-scan it to check its integrity.Unable to read zip file (%s) - could not pre-scan it to check its integrity.Unexpected response:UnknownUnknown server response status:Unknown server response:Unknown/unexpected error - please raise a support requestUnpacking backup...UpdraftPlus - Upload backup filesUpdraftPlus AddonsUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus Restoration: ProgressUpdraftPlus SupportUpdraftPlus is not yet activated.UpdraftPlus is not yet installed.UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)UpdraftPlus notice:UpdraftPlus warning:UpdraftPlus was unable to find the table prefix when scanning the database backup.UpdraftPlus.Com responded, but we did not understand the responseUpdraftPlus.Com returned a response which we could not understand (data: %s)UpdraftPlus.Com returned a response, but we could not understand itUpload backup filesUpload errorUpload error:Upload failedUploaded to:Uploading files to remote storageUploadsUse SCP instead of SFTPUse the "Reporting" section to configure the email addresses to be used.Use the server's SSL certificatesUsernameUsername: %sVersionWaiting until scheduled time to retry because of errorsWarningWarning:Warning: %sWarning: the database's home URL (%s) is different to what we expected (%s)Warning: the database's site URL (%s) is different to what we expected (%s)WarningsWarnings encountered:Warnings:We accessed the bucket, and were able to create files within it.We accessed the container, and were able to create files within it.We failed to successfully connect to UpdraftPlus.ComWe successfully accessed the bucket, but the attempt to create a file in it failed.Web server:Web-server disk space in use by UpdraftPlusWebDAV URLWeeklyWelcome to UpdraftPlus!Where to change directory to after logging in - often this is relative to your home directory.Without it, encryption will be a lot slower.WordPress BackupWordPress CoreWordPress backup is completeWordPress core (including any additions to your WordPress root directory)WordPress root directory server path: %sYesYou are presently not connected to an UpdraftPlus.Com account.You are running on WordPress multisite - but your backup is not of a multisite site.You can manually decrypt an encrypted database here.You do not have the UpdraftPlus %s add-on installed - get it from %sYou do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?You have an inactive purchaseYou have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons.You have not yet made any backups.You must add the following as the authorised redirect URI (under "More Options") when askedYou need to enter a containerYou need to enter a new usernameYou need to enter a valid new email addressYou need to enter an admin API keyYou need to enter an admin usernameYou need to re-authenticate with %s, as your existing credentials are not working.You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility.You will need to ask your web hosting company to upgrade.You will need to restore it manually.You've got itYour %s account name: %sYour %s quota usage: %s %% used, %s availableYour %s version: %s.Your backup has been restored.Your email address and password were not recognised by UpdraftPlus.ComYour free disk space is very low - only %s Mb remainYour free space in your hosting account is very low - only %s Mb remainYour hosting company must enable these functions before %s can work.Your login may be either password or key-based - you only need to enter one, not both.Your paid access to UpdraftPlus support has expired.Your paid access to UpdraftPlus support will soon expire.Your paid access to UpdraftPlus updates for %s add-ons on this site has expired.Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire.Your paid access to UpdraftPlus updates for this site will soon expire.Your settings have been saved.Your settings have been wiped.Your site's admin email address (%s) will be used.Your version: %sYour web server has PHP's so-called safe_mode active.Your web server's PHP installation has these functions disabled: %s.Your web-server does not have the %s module installed.Your website is hosted using the %s web server.Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:Your wp-content directory server path: %sactivate it on this siteauthentication URIcalculating...countdatabase connection attempt faileddatabase connection attempt failed.database namee.g. %se.g. if your server is busy at day and you want to run overnightencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)error: failed to upload file to %s (see log file for more)failed to access parent folderfailed to list filesfilefile is size:files: %sfolderfollow this link to get ithosthost namelast activity: %ss agolatestloginor, to reset this optionpasswordpassword/keyplease follow this link to update the plugin in order to activate itplease follow this link to update the plugin in order to get itplease wait for the rescheduled attemptpluginsread more at %srefreshregular non-encrypted FTProws: %dsearch and replacesearch termsettingsshow PHP information (phpinfo)show logstarting from next time it istable: %sthe database query being run was:themesunknown sourceuse UpdraftPlus Premiumuserusernamewill restore as:you have authenticated your %s accountyou have authenticated your %s account.zip executable found:PO-Revision-Date: 2017-01-31 17:19:25+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/3.0.0 Language: tl_PH Project-Id-Version: UpdraftPlus "%s" ay walang pangunahing key, kailangan sa hilera %s manu-manong pagbabago.%d errors, %d warnings%d hours, %d minutes, %d seconds%s (%s nagamit)%s - hindi ma-back ito entity up; ang mga kaukulang direktoryo ay hindi umiiral (%s)%s Error%s Error: Nabigong buksan ang mga lokal na file%s Error: Failed to upload%s access key%s authentication%s authentication failed%s checksum: %s%s download: di nagtagumpay: Hindi nahanap ang file ng%s end-point%s error - Nabigo upang ma-access ang lalagyan%s error - Nabigo upang muling magtipon chunks%s error - failed to upload file%s error - na-access namin ang lalagyan, ngunit nabigong lumikha ng isang file sa loob nito%s error: %s%s location%s login failure%s logo%s re-assembly error (%s): (tingnan ang log file para sa higit pa)%s opsyon sa pagpapanumbalik:%s ay nagbalik ng hindi inaasahang tugon ng HTTP:%s%s secret key%s settings test result:support% s ay magagamit bilang isang add-on%s table(s) found.kabuuang (mga) talahanayan%s natagpuan; %s gamit ang ipinahiwatig prefix.% s pag-upload: Nabigo ang pagkuha ng uploadID para sa multipart pag-upload - makita ang log file para sa higit pang mga detalye%s version:%s: hindi nababasa ng file - hindi ma-back up(Hindi tapos)(Basahin ng higit pa)(Ito ay angkop sa lahat ng WordPress backup plugin maliban kung ang mga ito ay tahasang naka-code para sa multisite compatibility).(tila isang pre-release o withdraw release)(Maaaring matagpuan ang mga tala sa pahina ng mga setting UpdraftPlus bilang normal) ...(tiyakin na sinusubukan mong mag-upload ng zip file sa nakaraang nalikha sa pamamagitan ng UpdraftPlus)(o kumonekta gamit ang form sa pahinang ito kung nakapag pa ito nabibili)(bersyon:%s)... At marami pa! Huwag ilagay ito sa loob ng iyong mga pag-upload o direktoryo plugin, pati na magiging sanhi ng recursion (mga backup ng mga backup ng mga backup ng ...). (Lumitaw ikaw ay napatotohanan, bagaman maaari mong patotohanan muli upang i-refresh ang iyong access kung nagkaroon ka ng problema).This is NOT a folder name.Ang paghahanap / pagpapalit ay hindi na mababawi - sigurado ka ba na gusto mong gawin ito?Isang napakalaking file naranasang:%s (laki:%s Mb)I-abort: Hindi mahanap ang impormasyon sa kung aling mga entity upang ibalik.API Key: %sAPI keyAPI secretBuong account: account iyong%s ay lamang ang natitira%d bytes, ngunit ang mga file na ia-upload ay may %d mga byte natitirang (kabuuang sukat na: %d mga byte)Buong account: account iyong%s ay lamang ang natitira%d bytes, ngunit ang mga file na ia-upload ay% d mga byteAccount holder's name: %s.Account is not authorized.Mga Account na nilikha sa rackspacecloud.com ay US account; mga account na nilikha sa rackspace.co.uk ay UK account.Mga Account na nilikha sa rackspacecloud.com ay US-accounts; mga account na nilikha sa rackspace.co.uk ay nakabatay sa UKMga PagkilosMagdagdag ng isang panlabas na database upang backup ...Magdagdag ng isa pang address ...Admin API KeyAdmin UsernameMga Setting ng Advanced / Pag-debugPagkatapos pindutin ang pindutang ito, ikaw ay bibigyan ng pagpipilian upang piliin kung aling mga bahagi naisin mong ibalikAng lahat ng mga sanggunian sa lokasyon ng site sa database ay mapapalitan ng iyong kasalukuyang URL ng site, kung saan ay:%sTatanggalin din mula sa remote na imbakanGayundin, dapat mong basahin ito mahalagang FAQ.Ang isang SQL line ay mas malaki kaysa sa maximum na laki ng packet at hindi maaaring hatiin ang nakita; ang linyang ito ay hindi naproseso, ngunit bababa:%sMay naganap na error sa unang%s utos - aborting runNaganap ang isang error kapag sinusubukan upang makuha ang iyong mga add-on.May naganap na error habang isinasara ang panghuling database fileIsang hindi alam na error ang naganap kapag sinusubukang kumonekta sa UpdraftPlus.ComIsang pag-update naglalaman ng iyong mga addons ay magagamit para sa UpdraftPlus - mangyaring sundin ang link na ito upang makakuha ng mga ito.Isang pag-update ay magagamit para sa UpdraftPlus - mangyaring sundin ang link na ito upang makakuha ng mga ito.Anumang iba pang mga direktoryo natagpuan sa loob wp-contentArchive ay inaasahang maging sukat:Nakatalagang sa site na itoKasabay nito bilang ang mga backup filePatunayan na may% sPatunayan sa GoogleNabigo ang Authorisation (i-check ang iyong mga credential)Automatic BackupAwtomatikong i-backup (kung saan may-katuturan) plugin, mga tema at mga WordPress database na may UpdraftPlus bago ang pag-updateMagagamit para sa site na ito (sa pamamagitan ng iyong pagbili ng all-addons)Magagamit na mag-claim sa site na itoBack up:%sI-backup NgayonBackup ReportBackup began:Backup begunNaglalaman ng Backup:Backup na nilikha ng mga hindi kilalang pinagmulan (%s) - hindi na maibabalik.Nilikha sa pamamagitan ng Backup:Backup created by: %s.Backup na direktoryo ngBackup na direktoryo ng (%s) ay hindi writable, o hindi na umiiral.Backup directory ay hindi mabuoBackup na direktoryo tinukoy ang hindi umiiral.Backup na direktoryo tinukoy na umiiral, ngunit hindi writable.Backup na direktoryo tinukoy ay writable, na mahusay.Backup na direktoryo ay Hindi mabuoBackup ay hindi umiiral sa ang backup kasaysayanBackup panlabas na databaseHindi available ang backup na file.tapos na ang BackupBackup is of: %s.Backup mga talahanayan di-WordPress na nakapaloob sa parehong database bilang ng WordPressBackup ng:Hindi nahanap ang Backup na hanayMasamang filename format - ito ay hindi mukhang isang file na nilikha ng mga UpdraftPlusMasamang filename format - ito ay hindi mukhang isang naka-encrypt na database file na nilikha ng mga UpdraftPlusMagkaroon ng kamalayan na ang mail server ay may posibilidad na magkaroon ng mga limitasyon sa laki; karaniwang sa paligid Mb%s; pag-backup ng mas malaki kaysa sa anumang mga limitasyon ay malamang na hindi dumating.Maging ligtas sa awtomatikong pag-backupNagsimula na naghahanap para sa entity na itoBlog linkupload blogBuy ItCallCancelChanges made:Lagyan ito ng tsek upang tanggalin ang anumang mga kalabisan backup na file mula sa iyong server matapos ang pagda-backup run (ibig sabihin kung i-uncheck mo, pagkatapos ay ang anumang mga file despatsado sa malayo ay mananatiling din nang lokal, at ang anumang mga file na pinananatiling nang lokal ay hindi napapailalim sa mga limitasyon ng pagpapanatili).Lagyan ito ng tsek upang makatanggap ng higit pang impormasyon at mga email sa proseso ng backup - kapaki-pakinabang kung ang isang bagay ay pagpunta mali.Suriin ang iyong mga pahintulot ng file: ma hindi matagumpay na lumikha at ipasok direktoryo:Suriin ang iyong mga pahintulot ng file: ma hindi matagumpay na lumikha at ipasok ang:Chicago (ORD)Piliin ang mga bahagi upang ipanumbalikPiliin ang iyong remote na imbakanI-claim ang hindi ibinigay ng - ang iyong mga detalye sa pag-login ng account ay maliCleaning up rubbish...Client IDClient SecretCloseCloud Files API KeyCloud Files ContainerCloud Files Storage RegionCloud Files UsernameCloud Files authentication failedCloud Files error - na-access namin ang lalagyan, ngunit nabigong lumikha ng isang file sa loob nitoCloud Files operation failed (%s)Cloud Files usernameKaguluhan: na ay umiiral na address ng gumagamit o e-mailConnectKumonekta sa iyong mga UpdraftPlus.Com accountNabigo ang koneksyon.Nabigo ang koneksyon: suriin ang iyong mga detalye ng access, na ang server ng ​​database ay up, at na ang koneksyon sa network ay hindi firewalled.Nagtagumpay ang koneksyon.ConstantsContainerContains:URL ng Nilalaman:Nabigo ang pagkopya ng mga entity na ito.Could not access %s containerHindi mahanap na trabaho - marahil ito ay na natapos?Hindi makuha ang listahan ng mga talahanayanHindi mailipat ang lumang mga file.Hindi mabuksan ang backup na file para sa pagsulatHindi mabasa ang directory naCreateLumikha ng isang bagong gumagamit ng API na may access sa lamang lalagyan ito (sa halip na ang iyong buong account)Lumikha ng bagong user ng ​​API at lalagyanNilikha database backupNilikha ang file backup ZipPaglikha ng %s at database backup sa UpdraftPlus ...Paglikha ng backup sa UpdraftPlus ...Paglikha ng database backupPaglikha ng database backup sa UpdraftPlus ...Paglikha ng mga file na backup ZipKasalukuyang limitasyon ay:Current memory usageDailyDallas (DFW) (default)DatabaseDatabase (nilikha sa pamamagitan ng% s)Database (mga file na backup ay hindi nakumpleto)Database OptionsParirala ng pag-encrypt ng DatabaseDatabase lamang (mga file ay hindi bahagi ng partikular na iskedyul)Database successfully decrypted.Database: URL maghanap at palitan ang siteDebug modeDebugging informationDecrypting database (maaaring tumagal) ...DeleteTanggalin ang Lumang Mga DirektoryoTanggalin ang backup setTanggalin mula sa iyong mga web serverTanggalin ang mga lokal na backupTanggalin ang backup setDirectory pathHuwag paganahin ang ganap na SSL kung saan posibleHindi pinagana ang plugin:%s: manu-manong muling i-activate ito kapag handa ka na.AlisinBale-walain mula sa pangunahing dashboard (para sa% s linggo)Huwag i-abort pagkatapos ng pagpindot Magpatuloy sa ibaba - maghintay para sa backup upang makumpleto.Do not verify SSL certificatesBasahin ba ito nakatulong sa artikulo ng kapaki-pakinabang na mga bagay upang malaman bago pagpapanumbalik.Kailangan ba ninyo ng WordPress Multisite suporta?Gusto mong i-migrate o clone / doblehin ang isang site?Hindi nais na mai-spied sa? UpdraftPlus Premium maaari encrypt ang iyong database backup.I-download ang error: Ipinadala sa amin ang server ng isang tugon na hindi namin naintindihan.Nabigo ang pag-download Download in progressI-download ang log fileI-download ang pinaka-kamakailang binagong log fileI-download sa iyong computerI-drop ang mga backup file ditoI-drop ang naka-encrypt na database ng mga file (db.gz.crypt mga file) dito upang mag-upload ng mga ito para sa decryptionDropboxEmailMga ulat sa email na nilikha ng UpdraftPlus (libreng edisyon) ay magbibigay sa iyo ng pinakabagong mga balita UpdraftPlus.comEncrypted databaseEncrypting databaseIpasok ang address dito upang magkaroon ng isang ulat na ipinadala sa mga ito kapag natapos ng isang backup na trabaho.Ipasok ang mga detalye para sa kung saan bagong site na ito ay upang mabuhay sa loob ng iyong multisite install:Enter in format HH:MM (e.g. 14:22).Ipasok ang path ng folder ang% s nais mong gamitin dito.Ipasok ang iyong Rackspace admin username / API key (sa gayon ay Rackspace mapapatunayan ang iyong pahintulot upang lumikha ng mga bagong gumagamit), at ipasok ang isang bagong (natatanging) username at email address para sa bagong user at isang pangalan ng container.ErrorError - Nabigo upang i-download ang fileError data:Error sa pag-download ng mga remote file: Nabigong i-downloadError messageError sa pagbukas ng mga lokal na file: Nabigong i-downloadError sa pambungad na remote file: Nabigong i-downloadError:Error: %sError: Nagpadala ang server ng walang laman na tugon.Error: nagpadala sa amin ang server ng tugon (JSON) na hindi namin naintindihan.Error: unexpected empty parameter (%s, %s)ErrorsErrors / warnings:Nakaranas ng mga error:Naganap error:Mga error na naganap kapag sinusubukang kumonekta sa UpdraftPlus.Com:Naganap error:Errors:Mga halimbawa ng S3-katugmang imbakan provider:Exclude these:Expert settingsExternal databaseExternal database (%s)FailedNabigong i-access%s kapag nagtatanggal ng (tingnan ang log file para sa higit pa)Nabigong lumikha ng pansamantalang direktoryoNabigong tanggalin nagtatrabaho direktoryo pagkatapos ng pagpapanumbalik.Nabigong i-downloadNabigong i-download%sNabigong mahanap ang database fileNabigong mabuksan ang database fileNabigong mabuksan ang database file para sa pagbabasa:Nabigong mabuksan ang database file.Nabigong buksan ang zip file (%s) -%sNabigong ma-unpack ang archiveNabigong mai-upload%sFailed to upload to %sNabigong isulat ang decrypted database sa filesystemNabigong: namin nagawang mag-log in at lumipat sa ipinahiwatig na direktoryo, subalit nabigong matagumpay na lumikha ng isang file sa lokasyong iyon.Nabigong: namin nagawang mag-log in, subalit nabigong matagumpay na lumikha ng isang file sa lokasyong iyon.Nabigo: Hindi namin nagawang maglagay ng isang file sa directory na iyon - mangyaring suriin ang iyong mga kredensyal.Failed: the %s operation was not able to start.Failed: we did not understand the result returned by the %s operation.pagkabigoFailure: No %s was given.Pagkabigo: Walang mga detalye bucket ay naibigay na.Pagkabigo: Walang mga detalye ng container ay naibigay na.Pagkabigo: Walang mga detalye ng server ay naibigay na.Pagkabigo: Port dapat maging isang integer.Pagkabigo: hindi matagumpay namin ginawa mag-log in gamit ang mga kredensyal.Pagkabigo: matagumpay naming naka-log in, ngunit hindi nagawang lumikha ng isang file sa ibinigay na direktoryo.FetchFile (%s) ay natagpuan, ngunit may isang iba't ibang laki (%s) mula sa kung ano ang inaasahan (%s) - maaaring ito ay corrupt.Ang file na ay hindi lokal na naroroon - mga pangangailangan sa pagkuha mula sa remote na imbakanHindi nahanap ang fileHindi nahanap ang file (kailangan mong i-upload ito):%sFile ready.File ay natagpuan, ngunit ay zero-sized (kailangan mong i-upload ang muling ito):%sFilesFile (database backup ay hindi nakumpleto)Mga File at databaseFiles and database WordPress backup (created by %s)Files backup (created by %sMga file na natagpuan:Mga file lamang (database ay hindi bahagi ng partikular na iskedyul)Final checksUna, ipasok ang decryption keyFolderSundin ang link na ito para sa karagdagang impormasyonSundin ang link na ito upang tangkain ang decryption at i-download ang database file sa iyong computer.Sundin ang link na ito upang i-download ang log file para sa pagpapanumbalik (kinakailangan para sa anumang mga kahilingan sa suporta).Sundin ang link na ito sa iyong Google API Console, at doon buhayin ang Drive API at lumikha ng isang Client ID sa seksyon ng API Access.Nakalimutan mo ba ang iyong mga detalye?FortnightlyLibreng disk space sa account:Kunin ito mula sa UpdraftPlus.Com StoreGopumunta ditoPumunta dito para sa karagdagang impormasyon.Pumunta dito upang i-activate ito.Pumunta dito upang simulan ang pag-install ito.Pumunta dito upang kumonekta.Google DriveGoogle Drive listahan ng mga file: Nabigo upang ma-access ang pangunahing folderHindi pa nakuha ng token sa pag-access mula sa Google - kailangan mo upang pahintulutan o muling pahintulutan ang iyong koneksyon sa Google Drive.Hong Kong (HKG)HostGayunpaman, ang UpdraftPlus archive ay Standard zip / SQL file - kaya kung ikaw ay sigurado na ang iyong mga file ay may karapatan na format, ay maaari mong palitan ang pangalan nito upang tumugma sa pattern na iyon.However, subsequent access attempts failed:Kung ipinapakita ng Google mamaya mo ang mensahe "invalid_client ", pagkatapos ay hindi ka nagpasok ng isang wastong client ID dito.Kung sa paggawa ng isang kahilingan para sa suporta, mangyaring isama ang impormasyong ito:Kung iyon ay hindi matagumpay na suriin ang mga pahintulot sa iyong server o baguhin ito sa isa pang directory na iyon ay writable sa pamamagitan ng iyong proseso ng web server.Kung ito ay isang backup na ginawa ng isang iba't ibang mga backup plugin, pagkatapos ay i-UpdraftPlus Premium ay maaaring makatulong sa iyo.Kung hindi ka sigurado pagkatapos ay dapat itigil; kung hindi, maaari mong sirain ang pag-install ng WordPress.Kung hindi ka sigurado kung ano ang opsyon na ito ay para sa, pagkatapos ay hindi mo gusto ito, at dapat itong i-off.Kung iyong nakikita ang nalalaman backup kaysa sa iyong inaasahan, pagkatapos ito ay marahil dahil sa pagtanggal ng lumang backup na set ay hindi mangyayari hanggang sa makumpleto ang isang sariwang backup.Kung ikaw ay gumagamit ng ito, pagkatapos ay i-mode Turbo / Road off.Kung bumili ka ng mga bagong add-on, pagkatapos ay sundin ang link na ito upang i-refresh ang iyong koneksyon saKung maaari mo pa ring basahin ang mga salitang ito pagkatapos tatapusin naglo-load ang pahina, pagkatapos ay mayroong problema JavaScript o jQuery sa site.Kung ibubukod mo ang parehong database at ang mga file, pagkatapos ay naibukod ang lahat ng bagay!Kung iiwan mo itong blangko, pagkatapos ay ang backup ay ilalagay sa root ng iyong% sKung makakita ka ng error tungkol sa SSL certificate, pagkatapos mangyaring pumunta dito para sa tulong.Kung ang iyong database ay may kasamang dagdag na mga talahanayan na hindi bahagi ng WordPress site na ito (malalaman mo kung ito ang kaso), pagkatapos ay i-activate ang pagpipiliang ito upang i-back din sa kanila up.Sa %s, mga pangalan ng landas ay sensitibong kaso.Isama sa mga file na backupWalang-hanggan recursion: kumonsulta sa iyong pag-log para sa karagdagang impormasyonImpormasyon na kailangan upang magpatuloy:Interesado sa pag-alam tungkol sa iyong UpdraftPlus.Com seguridad password? Basahin ang tungkol sa ito dito.Maaari rin itong backup na mga panlabas na mga database.It has been tested up to version %s.Ito ay isang panloob sa Google Drive ID numberJavaScript babalaJob ID: %sJob deletedKeyKnown backups (raw)Last log messagePinakabagong balita UpdraftPlus.com:Pinakabagong mga katayuan:Lead developer's homepageIwanan itong blangko, at isang default ay napili.Local write failed: Failed to downloadMag-log ang lahat ng mga mensahe sa syslog (tanging mga admin ng server ay malamang na nais ito)London (LON)Naghahanap para sa archive% s: pangalan ng file:%sManage AddonsManu-manong i-decrypt ang isang database backup fileMga mensahe:Migrated site (from UpdraftPlus)MonthlyHigit pang mga FileMore pluginsMore tasks:Ang paglipat ng mga lumang data sa labas ng paraan ...Ang paglipat ng unpacked backup sa lugar ...MultisiteMultisite I-installDapat gamitin ng mga pluginN.B. Kung nag-install ka ng UpdraftPlus sa ilang mga site ng WordPress, pagkatapos ay hindi mo magamit muli ang iyong proyekto; dapat kang lumikha ng bago mula sa iyong Google API console para sa bawat site.N.B. Count na ito ay batay sa kung ano ang, o hindi, ibinukod ang huling beses na nai-save ang mga pagpipilian.Name: %s.Kailangan mo upang makakuha ng suporta?Kailangang gumamit ng mga sub-folder?Kailangang naka existNetwork activating theme:New User's Email AddressNew User's UsernameNew site:NewsSusunod na naka-iskedyul na pag-backuphindiNo %s foundWalang mga setting ng% s ang natagpuanWalang backup ng mga direktoryo% s: nagkaroon walang natagpuan upang i-back upWalang mga talahanayan ng database na natagpuanWalang mga lokal na kopya kasalukuyan.Walang mga file ng log ang natagpuan.Walang mga setting ang natagpuanWalang ganoong backup set na umiiralwalaNorthern Virginia (IAD)Di pa nakakuha ng isang account (ito ay libre)? Pumunta makakuha ng isa!Tandaan na hindi lahat ng mga pamamaraan na ulap backup ay kinakailangang gamit ang SSL pagpapatunay.Note:Walang kasalukuyang naka-iskedyulNothing to do: the site URL is already: %sWala pa naka-logpaunawaOKOld table prefix:Isa o higit pang mga backup ay idinagdag sa pag-iiscan remote na imbakan; Tandaan na ang mga backup hindi ay awtomatikong tatanggalin sa pamamagitan ng "panatilihin " mga setting ng kung / kapag nais mong tanggalin ang mga ito pagkatapos ay kailangan mong gawin ito nang mano-mano.Ang WordPress database lamang ang maaaring maibalik; kailangan mong harapin ang mga panlabas na database ng mano-mano.Opera web browserOptions (raw)O, maaari mong ilagay ang mga ito nang mano-mano sa iyong direktoryo ng UpdraftPlus (karaniwan ay wp-content/updraft), hal sa pamamagitan ng FTP, at pagkatapos ay gamitin ang "rescan " na link itaas.Other %s FAQs.OthersOver-write wp-config.phpPHP informationPasswordPassword: %sPeak memory usageMangyaring suriin ang iyong mga kredensyal sa pag-access.Mangyaring kumonsulta ang FAQ na ito kung mayroon kang mga problema sa pag-back up.Mangyaring ibigay ang hiniling na impormasyon, at pagkatapos ay magpatuloy.Mangyaring maghintay habang ginagawa namin ang claim ...PluginsPortPremiumMagpatuloy sa pag-updateProcessed plugin:Pinoproseso ang file - mangyari lamang na maghintay ...Pruning old backup setsRSS linkRaw kasaysayan ng backupMagbasa nang higit pa tungkol sa kung paano ito gumagana ...Basahin ang pahinang ito para sa gabay sa mga posibleng sanhi at kung paano ayusin ito.RegionRegion: %sTandaan ang pagpipiliang ito para sa susunod na beses (ikaw pa rin magkaroon ng pagkakataon na baguhin ito)Mga Pagpipilian sa Remote ImbakanRemoveAlisin ang lumang mga direktoryopalitan ngReportingRequested table engine (% s) ay hindi naroroon - pagbabago sa MyISAM.Humihiling ng pagsisimula ng mga backup ...Rescan ang lokal na folder para sa mga bagong set ng mga backupRescan remote storageRescanning (naghahanap ng mga backup na manu-mano mong na-upload sa panloob na backup) ...Rescanning remote at lokal na imbakan para sa backup na sets...RestoreRestore backupIpinapanumbalik ang database (sa isang malaking site ay maaaring ito tumagal ng isang mahabang oras - kung ito ay mag time out (na maaaring mangyari kung ang iyong weg host ay na-configure ang iyong pagho-host upang limitahan ang mga mapagkukunan) pagkatapos ay dapat gumamit ng ibang paraan, katulad ng phpMyAdmin) .. .Ipinapanumbalik ay papalit sa tema ng site na ito, plugin, upload, database at / o iba pang mga direktoryo ng nilalaman (ayon sa kung ano ay nilalaman sa backup set, at ang iyong pagpili).Binabawi (kung kinakailangan) at paghahanda ng mga backup file ...Bumalik sa UpdraftPlus ConfigurationRows examined:S3 (Compatible)SCP/SFTP host settingSCP/SFTP password/keySCP/SFTP user settingSQL update commands run:Save ChangesIsini-save...Paghahanap / palitan databaseHanapin at palitan ang lokasyon ng site sa database (migrate)maghanapSee this FAQ also.Sundin ang link na Na Ito Sa na iyong Google API Console, sa doon buhayin ang Drive API sa lumikha Ng isang Client ID Sa seksyon Ng API Access.Magpadala ng isang ulat lamang kapag mayroong mga babala / mga errorSettingsIpakita ang mga setting sa mga dalubhasangIpakita ang raw backup at listahan ng fileTahanan Site:Impormasyon ng Site:Ang ilang mga file ay ng da-download pa rin o pinoproseso - mangyaring maghintay.Hatiin ang mga archive bawat:Hatiin ang linya upang maiwasan ang paglampas sa maximum na packet Simula sa awtomatikong pag-backup ...Store atSuccessSuccess:Tagumpay: matagumpay naming naka-log in, at nakumpirma ang aming kakayahan upang lumikha ng isang file sa ibinigay na direktoryo ng (uri ng pag-login:SupportSydney (SYD)Table prefixAng table prefix ay nagbago: pagbabago ng table field(s) %s nang naaayon:Tables examined:TenantTest %s SettingsTest connection...Testing %s Settings...Testing...Nag-time out ang% s koneksyon; kung ipinasok mo ang server na tama, pagkatapos ito ay karaniwang sanhi ng isang firewall ng pagharang ng koneksyon - dapat mong suriin sa iyong kumpanya ng web hosting.Ang bagay na% s ay hindi natagpuanHindi sinusuportahan ng UpdraftPlus module para sa ang paraan na ito ng access ng file (% s) ay naglilista ng mga fileAng WordPress folder na nilalaman (wp-content) ay hindi nahanap sa ito zip file.Ang mga direktoryo sa itaas ay ang lahat ng bagay, maliban para sa WordPress core mismo kung saan maaari mong i-download muli pa mula sa WordPress.org.Ang mga file sa itaas masaklaw ang lahat sa isang WordPress pag-install.Ang halaga ng memorya (RAM) na pinapayagan para sa PHP ay napakababa (Mb% s) - dapat mo itong dagdagan upang maiwasan ang pagkabigo dahil sa hindi sapat na memorya (kumonsulta sa iyong kumpanya ng web hosting para sa higit pang tulong)Ang halaga ng oras na pinahihintulutan para sa WordPress plugin upang tumakbo ay napakababa (segundo% s) - dapat mo itong dagdagan upang maiwasan ang backup pagkabigo dahil sa time-out (kumonsulta sa iyong kumpanya sa pagho-host ng web para sa higit pang tulong - ito ay ang setting na max_execution_time PHP; ang pinapayong halaga ay% s segundo o higit pa)Nabigo ang pagtatangka upang ipadala ang backup sa pamamagitan ng email (marahil ang backup ay masyadong malaki para sa methNabigo ang pagtatangka upang i-undo ang double-compression.Nagtagumpay Ang pagtatangka upang i-undo ang double-compression.Ang tamgkang pag baback-up ay tapos na, subalit hindi matagumpay.Ang backup ay hindi natapos; isang pagpapatuloy ay naka-iskedyulAng mga tala ng backup na hindi naglalaman ng impormasyon tungkol sa tamang laki ng file na ito.Ang pakikipag-usap sa%s ay naka-encrypt.Ang pakikipag-usap sa% s ay hindi naka-encrypt.Lumilitaw ang database file sa Na-compress na dalawang beses - marahil ang website na-download ito mula ay nagkaroon ng isang di-configure webserver.Ang database ay masyadong maliit upang maging isang wastong database WordPress (laki: Kb%s).Ang decryption key na ginamit:Direktoryo ay hindi umiiralAng error na iniulat ng%s ay:Ang file ay na-upload.Ang folder na umiiral, ngunit ang iyong webserver ay walang pahintulot na magsulat sa mga ito.Ang mga sumusunod na entity ay hindi maaaring awtomatikong naibalik: "%s".Ang naka-install na bersyon ng UpdraftPlus Backup / Ibalik ay hindi pa nasubok sa iyong bersyon ng WordPress (% s).Ang key na ibinigay ay hindi isang wastong format, o noon ay corrupt.Ang log file ay hindi mabasa.Ang log file ay nai-attach sa email na ito.Sa bagong user na Rackspace console paaword ay (ito ay hindi ipapakita muli):Nabigo ang kahilingan sa filesystem upang lumikha ng direktoryo.Module na PHP Ang kailangang%s ay hindi naka-install - hilingin sa iyong kumpanya ng web hosting upang paganahin itoAng time zone ay ginamit na mula sa iyong mga setting ng WordPress, sa Mga Setting -> General.Nagbalik ang server ng web ng isang error code (subukan muli, o suriin ang iyong mga tala ng web server)ThemesBackup na ito ay nilikha ng%s, at maaaring i-import.Ang pindutan na ito ay hindi pinagana dahil ang iyong backup na direktoryo ay hindi writable (tingnan ang mga setting).Ito ay maaaring maging madaling sirain ang iyong site; kaya, gamitin ito may pag-iingat!Kulang ito ng database backup WordPress mga talahanayan core:%sAy tinangka na ito decryption key:Hindi ito mukhang isang wastong WordPress core backup - ang file% s ay nawawala.Nangangailangan ang tampok na ito na bersyon% s% s o mas bagoAng file na ito ay hindi lumitaw na maging isang UpdraftPlus backup archive (tulad ng mga file ay zip o gz mga file na magkaroon ng isang pangalan tulad ng: backup_(time)_(site name)_(code)_(type).(zip|gz)).Ito ay isang WordPress multi-site (aka network) pag-install.Ito ay isang pagbilang ng mga nilalaman ng iyong direktoryo ng UpdraftIto multi-archive backup set na lilitaw upang magkaroon ng mga sumusunod na mga archive nawawala:%sMagiging sanhi ng mga talahanayan naka-imbak sa ang MySQL database na kung saan ay hindi kasama sa WordPress (na kinilala sa pamamagitan ng kanilang kulang ang configure WordPress prefix,%s) upang i-back up din ng pagpipiliang ito.Ito ang malayuang pamamaraan ng imbakan (% s) ay nangangailangan ng PHP% s o mas bago.Ang bersyong ito ng UpdraftPlus ay hindi alam kung paano panghawakan ang ganitong uri ng mga banyagang backupMagkakaroon din magsanhi ito ng pag-debug output mula sa lahat ng mga plugin na ipapakita sa screen na ito - mangyaring huwag magulat upang makita ang mga ito.Tatanggalin nito ang lahat ng iyong mga setting ng UpdraftPlus - sigurado ka ba na gusto mong gawin ito?Time nowTime taken (seconds):Time taken:Upang magagawang upang magtakda ng isang pasadyang pangalan ng folder, gamitin UpdraftPlus Premium.Upang baguhin ang anuman sa mga setting ng default ng kung ano ang na-back up, i-configure ang naka-iskedyul na backup, upang ipadala ang iyong mga backup sa remote na imbakan (inirerekomenda), at higit pa, pumunta sa tab na mga setting.Upang ayusin ang oras kung ang isang backup ay dapat na maganap,Upang mapanatili ang iyong access sa suporta, mangyaring i-renew.Upang makagawa ng isang backup, pindutin lamang ang Backup Now.Upang mabawi ang access sa pag-update (kabilang ang mga hinaharap na mga tampok at sa pagiging tugma sa WordPress release hinaharap) at suporta, mangyaring i-renew.Upang mabawi ang iyong pag-access, mangyaring i-renew.Upang panatilihin ang iyong pag-access, at panatilihin ang pag-access sa mga pag-update (kabilang ang mga hinaharap na mga tampok at sa pagiging tugma sa WordPress release hinaharap) at suporta, mangyaring i-renew.Upang magpadala sa higit sa isang address, ihiwalay ang bawat address gamit ang isang kuwit.Naganap Masyadong maraming mga error database - abortingKabuuang (hindi naka-compress) on-disk data:Trying...UKUS (default)US o UK CloudUS o UK Rackspace AccountNa batay sa UK US o Rackspace AccountHindi mabuksan ang zip file (% s) - maaaring hindi pre-i-scan ito upang suriin ang integridad nito.Hindi mabasa ang mga zip file (% s) - ay hindi ma-pre-i-scan ito upang suriin ang integridad nito.Hindi inaasahang tugon:UnknownKatayuan ng tugon ng server Hindi alam:Hindi alam ng pagtugon ng server:Hindi kilalang / hindi inaasahang error - mangyari lamang na taasan ang isang kahilingan sa suportaUnpacking backup ...UpdraftPlus - Mag-upload ng mga backup fileUpdraftPlus AddonsUpdraftPlus Automatic BackupsUpdraftPlus BackupsUpdraftPlus Restoration: ProgresoUpdraftPlus SupportUpdraftPlus ay hindi pa ginawang aktibo.UpdraftPlus ay hindi pa naka-install.UpdraftPlus na kinakailangan upang lumikha ng%s sa iyong direktoryo ng nilalaman, ngunit nabigo - mangyaring suriin ang iyong mga pahintulot ng file at paganahin ang pag-access (%s)UpdraftPlus notice:UpdraftPlus warning:UpdraftPlus ay hindi nagawang upang mahanap ang prefix talahanayan kapag kinikilatis ang backup database.UpdraftPlus.Com ay sumagot, ngunit hindi namin naintindihan ang tugonUpdraftPlus.Com ibinalik ng tugon na hindi namin maunawaan (data:%s)UpdraftPlus.Com ibinalik ng tugon, ngunit hindi namin maunawaan itoUpload backup filesUpload errorUpload error:Upload failedUploaded to:Ina-upload ang mga file sa remote na imbakanUploadsGamitin SCP sa halip ng SFTPGamitin ang seksyong "ulat" upang i-configure ang mga email address na gagamitin.Use the server's SSL certificatesUsernameUsername: %sVersionNaghihintay hanggang sa naka-iskedyul na oras upang subukang muli dahil sa mga errorbabalaBabala:Babala:%sWarning: tahanan URL (%s) ang database ay iba sa kung ano ang aming inaasahan (%s)Warning: URL ng site ang database ni (%s) ay naiiba sa kung ano ang aming inaasahan (%s)WarningsNakaranas babala:Mga Babala:Na-access namin ang bucket, at nagawang lumikha ng mga file sa loob nito.Na-access namin ang lalagyan, at nagawang lumikha ng mga file sa loob nito.Nabigo kaming matagumpay na kumonekta sa UpdraftPlus.ComMatagumpay naming na-access ang bucket, ngunit nabigo ang pagtatangka upang lumikha ng isang file sa loob nito.Web server:Espasyo Web-server disk sa paggamit sa pamamagitan ng UpdraftPlusWebDAV URLWeeklyMaligayang pagdating sa UpdraftPlus!Saan upang baguhin ang direktoryo na pagkatapos ng pag-log in - madalas na ito ay may kaugnayan sa iyong home directory.Nang walang ito, ang pag-encrypt ay magiging marami mas mabagal.WordPress BackupWordPress CoreWordPress backup ay kumpleto naWordPress core (kabilang ang anumang mga pagdaragdag sa iyong WordPress root directory)WordPress root directory server path:%sooIkaw ay kasalukuyang hindi konektado sa isang UpdraftPlus.Com account.Ikaw ay tumatakbo sa WordPress multisite - ngunit ang iyong mga backup ay hindi sa isang multisite site.Maaari mong mano-manong i-decrypt ang isang naka-encrypt na database dito.Wala kang ang UpdraftPlus%s add-on na naka-install - makakuha ng ito mula sa%sMukhang mo na magkaroon ng na naka-install ang laos na Updraft plugin - marahil ba kayong mga ito nalilito?Mayroon kang isang hindi aktibong pagbiliHindi ka pa nakakonekta sa iyong mga UpdraftPlus.Com account, i-daan sa iyo upang ilista ang iyong mga binili na add-on.Hindi ka pa gumawa ng anumang mga backup.Dapat mong idagdag ang mga sumusunod bilang mga awtorisadong URI pag-redirect (sa ilalim "Higit pang mga Pagpipilian") kapag tinanongKailangan mong magpasok ng isang lalagyanKailangan mong magpasok ng isang bagong usernameKailangan mong magpasok ng isang wastong bagong email addressKailangan mong magpasok ng isang admin API keyKailangan mong magpasok ng isang admin usernameKailangan mong muling patotohanan gamit ang% s, pati na ang iyong umiiral na mga credential ay hindi gumagana.Dapat mong i-update ang UpdraftPlus upang matiyak na mayroon kang isang bersyon na na-nasubok para sa compatibility.Kailangan mong hilingin sa iyong kumpanya ng web hosting upang mag-upgrade.Kailangan mong ibalik ito ng mano-mano.Mayroon kayong itoYour %s account name: %sYour %s quota usage: %s %% used, %s availableAng bersyon ng iyong%s:%s.Ang iyong backup ay naibalik na.Ang iyong email address at password na hindi nakilala sa pamamagitan ng UpdraftPlus.ComAng iyong libreng puwang sa disk ay napakababa - only %s Mb remainAng iyong libreng puwang sa iyong hosting account ay napakababa - only %s Mb remainDapat na paganahin ng iyong kumpanya sa pagho-host ang mga pag-andar bago maaaring gumana ang%s.Ang iyong login ay maaaring maging alinman sa password o key na batay sa - kailangan mo na lang ipasok ay ang isa, hindi pareho.Ang iyong bayad na access sa UpdraftPlus support ay napaso na.Ang iyong bayad na access sa UpdraftPlus support mawawalan ng bisa sa lalong madaling panahon.Ang iyong bayad na access sa UpdraftPlus update para sa mga add-on% s sa site na ito ay napaso na.Ang iyong bayad na access sa UpdraftPlus update para sa% s ng mga add-on ang% s sa site na ito ay mawawalan ng bisa sa lalong madaling panahon.Ang iyong bayad na access sa UpdraftPlus update para sa site na ito ay mawawalan ng bisa sa lalong madaling panahon.Ang iyong setting ay nailagay na.Backup Na direktoryo ay wikang Hindi mabuoEmail address ng admin ng iyong site (%s) ay magagamit.Ang iyong bersyon:%sAng iyong web server ay PHP naaktibong tinatawag na safe_mode.Pag-install ng PHP Ang iyong web server ay hindi pinagana ang mga pag-andar:%s.Ang iyong web-server ay hindi naka-install ang module na ang%s.Ang iyong website ay naka-host sa pamamagitan ng web server ang% s.Ang iyong website ay binisita madalang at UpdraftPlus hindi nakakakuha ang mga mapagkukunan nito umaasa para; pakibasa ang pahinang ito:Ang iyong wp-content direktoryo ng server path:% sactivate ito sa site na itopagpapatunay na URIcalculating...countNabigo ang pagtatangka koneksyon sa databaseNabigo ang pagtatangka koneksyon sa database.database namee.g. %shalimbawa kung ang iyong server ay abala sa araw at gusto mong patakbuhin ang magdamagencrypted FTP (explicit encryption)encrypted FTP (implicit encryption)Error: Nabigong ma-upload ang file sa% s (tingnan ang log file para sa higit pa)Nabigong ma-access ang pangunahing folderNabigo upang ilista ang mga filefilefile ay na sukat:files: %sfoldersundin ang link na ito upang makakuha ng mga itohosthost namelast activity: %ss agolatestPumasoko, i-reset ang opsyon na itopasswordpassword/keymangyaring sundin ang link na ito upang i-update ang plugin upang isaaktibo itomangyaring sundin ang link na ito upang i-update ang plugin sa pagkakasunud-sunod upang makakuha ng mga itomangyaring maghintay para sa ibang oras pagtatangkamga pluginmagbasa nang higit pa sa %srefreshregular non-encrypted FTProws: %dhanapin at palitanterminong ginamit sa paghahanapMga settingshow PHP information (phpinfo)show logsimula sa susunod na panahon ito aytable: %sang database query tumatakbo ay:themeshindi kilalang pinagmulangamitin UpdraftPlus Premiumuserusernamewill restore as:na napatotohanan mo ang account na iyong%syou have authenticated your %s account.nahanap zip executable:readme.txt000064400000466030147400355670006566 0ustar00=== UpdraftPlus: WP Backup & Migration Plugin === Contributors: Backup with UpdraftPlus, DavidAnderson, pmbaldha, DNutbourne, aporter, bcrodua Tags: backup, database backup, wordpress backup, cloud backup, migration Requires at least: 3.2 Tested up to: 6.6 Stable tag: 1.24.6 Author URI: https://updraftplus.com Donate link: https://david.dw-perspective.org.uk/donate License: GPLv3 or later Backup, restore or migrate your WordPress website to another host or domain. Schedule backups or run manually. Migrate in minutes. Reliable and easy to use. == Description == The UpdraftPlus Backup & Migration Plugin is trusted by the WordPress community to backup, restore and migrate their WordPress websites. UpdraftPlus is actively installed on more than 3 million websites around the world. = Backup with UpdraftPlus = UpdraftPlus is the world’s highest ranking and most popular scheduled backup and migration plugin. Backup to your preferred storage location and restore in just three clicks. Backup to Dropbox, Google Drive, Amazon S3 (or compatible), Rackspace Cloud, FTP, DreamObjects, Openstack Swift or email. The paid version also allows you to backup to Microsoft OneDrive, Microsoft Azure, Google Cloud, Backblaze B2, SFTP, SCP, pCloud, WebDAV or UpdraftVault, our integrated storage option for UpdraftPlus. Backup manually or schedule to run every 2, 4, 8 or 12 hours, daily, weekly, monthly or fortnightly. = Restore with UpdraftPlus = Your WordPress website is vulnerable. Your site may get hacked. Something could go wrong with an update or your server could crash. You might need to reverse a change made or a mistake caused by human error. Whatever the reason, you can restore your WordPress website in just a few clicks with UpdraftPlus. Choose which components to restore (e.g. plugins, themes, database etc.), click again to restore, then click again to return to the main screen. = Migrate with UpdraftPlus = It’s easy to migrate your WordPress website to another web host, server or domain with this free version of UpdraftPlus. To migrate, simply download your database, plugins, themes etc. from the source site, then upload them into your destination site. When migrating, a built-in search-and-replace engine identifies old strings and replaces these to reflect the new location. UpdraftPlus saves you time and reduces the risk of broken links or missing files associated with manual migrations. = Why UpdraftPlus? = Writing a reliable backup and migration plugin that ‘just works’ consistently across millions of different WordPress deployments is hard. UpdraftPlus is relied upon to do exactly that. We’re trusted and actively deployed on more websites around the world than any other WordPress backup and migration plugin. UpdraftPlus: * Backs up, migrates and restores * Offers a huge number of remote storage locations * Allows you to schedule backups, so you can ‘set and forget’ * Is comprehensive and easy to use * Is proven to work on over 3 million sites. [vimeo https://vimeo.com/154870690] = UpdraftPlus Premium = The free version of UpdraftPlus will back up and migrate your website perfectly well. However if you need more features and options you can purchase our Premium version. Backup and Migrate with UpdraftPlus Premium, and: * Get automatic backups before updates. Restore the very latest version if a WordPress or plugin update breaks your site. * Backup Incrementally. Changes are added to the master, saving server resources vs repeatedly backing up in full. * Get more remote storage options including Microsoft OneDrive, SFTP, Microsoft Azure, WebDAV, Google Cloud, SCP, Backblaze and pCloud. * Get 1GB of integrated storage with UpdraftVault for 99.999% reliability, redundancy and scalability. * Get more control over how many backups are stored in a specified interval. Restore from other backup plugins including BackWPup, BackupWordPress, Simple Backups and more. * Run backups at set times e.g. during periods of low traffic. * Backup to more than one location for added protection. * Get detailed reports. Includes cryptographic checksums so you can verify the integrity of the backup files and more. * Get Premium migration. Migrating to the destination site is more direct and can be done from the source site. * Get Multisite / multi-network compatibility. * Backup non-WP files and databases e.g. tables belonging to your e-commerce store or customisations to WordPress core. * Get database encryption. * Manage your backups and migrations from the WP-CLI. * Get Premium Support. Find out more on our comparison page. UpdraftPlus Premium is available for purchase here. = Managing multiple websites? = UpdraftCentral is a powerful remote control dashboard for WordPress that allows you to manage your backups, as well as updates, users, pages, posts, plugins and themes from one central location. Choose between: * UpdraftCentral (free, self-hosted) * UpdraftCentral Premium (paid-for, self-hosted) * UpdraftCentral Cloud (paid-for, fully-hosted) Optimize your sites centrally by combining the power of WP-Optimize and UpdraftCentral or manage your backups centrally by combining the power of UpdraftPlus with UpdraftCentral. = Need to create a temporary clone of your site? = UpdraftClone makes it quick and easy to create a temporary sandbox for changes you want to try out. Simply select the versions of WordPress and PHP that you want, and we’ll do the rest. More about UpdraftClone = The full suite of plugins from Team Updraft and friends = * UpdraftPlus. Backup, migrate and restore. Rated 5* on the plugin directory and trusted by more than 3 million WordPress website owner * WP-Optimize. Clean the database, compress images and caching. Optimize your WordPress website. 5* user rating. 1 million + active installs. * All-In-One Security (AIOS). Secure your WordPress website. Comprehensive, feature rich and easy to use. 5* user rating and 1 million + active installs. * WP Overnight. Quality Extensions for your WooCommerce store. 5* rated invoicing, order and product management, customer management solutions and more. * Easy Updates Manager. Take control of updates. Lots of features for free, and a Premium version with even more - over 300,000 users. * Internal Link Juicer.Boost your SEO. Automate internal links within your WordPress website. Save time and rank higher in the search engines. For other useful, free plugins see our lead developer's profile, here. = Are you multilingual? Can you translate? = Do you want to help people that speak your language to backup, migrate and restore their WordPress websites? The UpdraftPlus backup, migration and restoration plugin is ready and waiting. The translation process is easy, and web-based – please go here for instructions: https://updraftplus.com/translate/. Or, if you’re already an expert WordPress translator, just pick out the .pot file from the wp-content/plugins/updraftplus/languages/ directory – if you scan for translatable strings manually, then you need to get these functions: _x(), __(), _e(), _ex(), log_e(). Many thanks to our existing translators. == Frequently Asked Questions == = How do I install the UpdraftPlus backup & migration plugin? = Here are the installation guidelines from our YouTube channel or from our website. = What if I have a problem / need support ? = If you’re struggling to backup, migrate or restore there’s help available. Search existing topics on the WordPress support forum or post a new one. Our support and development teams check and respond to queries everyday. UpdraftPlus Premium customers can log a ticket directly with our support and development teams via the UpdraftPlus support hub. Before you get in touch, please ensure that you have read through our FAQs and that you’ve updated to the latest release of our plugin. It helps greatly if you can include the backup log and as much other information as possible in your report, for example the PHP version, your website, the error description, how you got to the page that caused it, any other relevant plugins you have installed, plus any other information that might be of use. To find the backup log: there are links to download the logs on the UpdraftPlus settings page in the plugin - or you may be emailed it. Failing that, FTP into the directory wp-content/updraft and look for it there. If you know how, please send your PHP error logs - just the few lines that appear when you run a backup, often the file called error_log, possibly in your wp-admin directory which you can check via FTP. If you’re a programmer that can debug and send a patch, that’s even better. = When it comes to migration, what does the premium plugin do that the free plugin can't? = Migrating in the free plugin involves downloading the backups from the source site then uploading these to the destination site. To find the backup log: there are links to download the logs on the UpdraftPlus settings page- or you may be emailed it. Failing that, FTP into the directory wp-content/updraft and look for it there. Both free and Premium plugins include a built-in search-and-replace engine to replace old strings with the new location. If migration is all you require, and for simple single site migrations the free plugin will likely be enough to meet your needs. If you have additional needs around backups e.g. the ability to backup before updates, if you require more remote storage locations or if you have a WordPress multisite then we recommend UpdraftPlus Premium for the additional benefits that it brings. = UpdraftPlus runs out of time when it’s trying to backup, after I have left it for some time to give it a good chance. What can I do? = This problem is probably caused by your account being starved of resources by your (cheap) web host provider. This is far from ideal; although UpdraftPlus supports resuming backup runs right from the beginning to avoid everything having to be done at once, it has its limits. The best thing is to choose a more reputable web host. Failing this, try going into the “Expert settings” and reducing the size at which zip files are split. UpdraftPlus is known to successfully backup websites that run into the multiple-gigabytes on web servers that are not resource-starved. == Changelog == The UpdraftPlus backup blog is the best place to learn in more detail about any important changes. N.B. Paid versions of UpdraftPlus Backup / Restore have a version number which is 1 higher in the first digit, and has an extra component on the end, but the changelog below still applies. i.e. changes listed for 1.16.32.x of the free version correspond to changes made in 2.16.32.x of the paid version. = 1.24.6 - 25/Sep/2024 = * TWEAK: In 1.24.5, the browser title wrongly displayed as "UpdraftPlus" when accessing an unrelated plugin page using the main menu. = 1.24.5 - 24/Sep/2024 = * FIX: Incorrect regular expression for DigitalOcean Spaces endpoint * FIX: CSS conflicts with the LearnDash LMS Instructor Role Add-on plugin which caused some UI elements to disappear * TWEAK: Reorganize UpdraftPlus in left-hand menu and rename it to "UpdraftPlus"; to disable it, follow this guide: https://updraftplus.com/new-location-of-updraftplus-in-the-wordpress-dashboard/ * TWEAK: Add span wrapper to UpdraftCentral connection failed message * TWEAK: Add the "Go here to complete your settings" link into the appropriate admin notice that when clicked will jump to the UpdraftVault configuration if no settings are specified. * TWEAK: Adjust regex patterns that didn't match some temporary files, causing them to not be automatically removed * TWEAK: After a restoration, clicking "Delete old folders" will also remove the wp-config-pre-ud-restore-backup.php file * TWEAK: On the settings page/tab; prevent the floating "Save changes" button from getting clicked multiple times and/or sending multiple AJAX requests * TWEAK: Remove pCloud from the add-ons list on the "Premium / Extensions" tab (there is no change in its availability) * TWEAK: Renamed wp-config-backup.php to wp-config-pre-ud-restore-backup.php to clarify its purpose as a backup file created before restoring WordPress core entities, and it will only be generated if the user does not select the "Over-write wp-config.php" option during restoration, as the previous name was too generic and could cause confusion * TWEAK: The popup modal for automatic plugin updates fails to retain the backup checkbox selection when the "remember" option is enabled in a Multisite environment. * TWEAK: Updated autobackup selector to resolve issues caused by the missing "update-link" class in WPForms Pro plugin = 1.24.4 - 2/Jul/2024 = * FIX: Case-sensitive issue of bit field type names in a table. * FIX: Resolved issue where backup files could not be deleted from remote storage when either the root directory was active or no directory was specified in the OneDrive configuration form. * FIX: When users attempt to update a plugin using the "View Version x.x.x Details" link instead of choosing "Update Now," the plugin is successfully updated; however, the UI incorrectly displays an "Update Failed" message * FIX: Conflict with the Gravity Forms plugin when there was an older version of jQuery UI presented on the "Installed Plugins" page. * TWEAK: Ensure compliance with Google Granular Consent and check for required permissions during storage access authorisation of Google Drive and Google Cloud * TWEAK: Prevent PHP warning and deprecation messages after completing access authorisation to Google Drive storage. * TWEAK: Prevent PHP warning when Dropbox remote storage has been authenticated and the page is refreshed. * TWEAK: Added filter updraftplus_working_dir_localpath to allow temporary unzip path to be modified by developers * TWEAK: Modify the displayed title of the plugin from "WordPress Backup & Migration Plugin" to "WP Backup & Migration Plugin" as required by the plugin directory team * TWEAK: Parse certain php events and log proper error messages = 1.24.3 - 30/Apr/2024 = * FIX: Regression in 1.23.16 for improving logs which then caused incorrect_offset error reported by Dropbox wasn't properly handled. * TWEAK: The UpdraftVault remote storage can handle Wasabi as well as Amazon S3 storage in the background. * TWEAK: Fix WP_Theme_JSON_Resolver::theme_has_support deprecation warning for UpdraftCentral * TWEAK: Prevent "PHP Warning: Undefined property: UpdraftPlus_BackupModule_pcloud::$description" during rescan remote storage. * TWEAK: Prevent PHP deprecation warnings during database backups when encountering null values in bit field types. * TWEAK: Show a warning message when the WP_ACCESSIBLE_HOSTS constant is defined and updraftplus.com is not permitted by its value * TWEAK: Update notices * TWEAK: Split multiple sentences into separate translation function calls. * TWEAK: Trim spaces from S3-Compatible (Generic) endpoint. = 1.24.2 - 26/Mar/2024 = * FIX: The "Continue restoration" and "Dismiss" buttons on the unfinished restoration dialog were not responsive to being pressed due to a recent regression * FIX: Conflict with other plugins due to different version of third party library (Guzzle) and the composer autoload.php was called too early * FIX: Undefined "NET_SCP_LOCAL_FILE" constant when SCP was in use for the SFTP/SCP remote storage * TWEAK: Add compatibility fields when returning plugins and themes to UpdraftCentral * TWEAK: Due to issues in some cURL versions 7.x in handling HTTP/2 connections, all HTTP connections to the OneDrive API are now forced to use HTTP/1.1 version, on cURL versions after 7.61 and before 8.0. Also, a constant named UPDRAFTPLUS_ONEDRIVE_CURL_HTTP_VERSION can be set in the wp-config.php file to change the default HTTP version to another preferred version * TWEAK: Adjust margin to fix broken UI for the 'View logs' button on backups. * TWEAK: Ensure all "SET SQL_MODE" statements in the database backup file are internally handled and are subjected only to a restoration outside UpdraftPlus plugin * TWEAK: Prevent PHP 8.2 coding style deprecation notices in the autobackup addon * TWEAK: In the context of OneDrive's chunk upload, authorisation header and bearer token should not be included during upload session as it may lead to 401 HTTP status due to different upload URL * TWEAK: Remove default value for updraftplus_https_to_http_additional_warning and updraftplus_http_to_https_additional_warning filters. * TWEAK: Set the SQL_MODE to 'NO_AUTO_VALUE_ON_ZERO' in the database backup file. * TWEAK: Seasonal notice content update for 2024 * TWEAK: During the operations that require phpseclib, include the composer autoload.php only when the phpseclib is really needed = 1.24.1 - 21/Feb/2024 = * FEATURE: Implement Backblaze Object Lock support (Premium version) * FIX: The email backup and basic report setting didn't work causing notification email confirming backup status couldn't be delivered to admin's email address (free version) * FIX: Fix WP-Optimize premium discovery for UpdraftCentral * FIX: Regression in 1.23.16 for correcting calls to translation functions which then caused some HTML attributes to be empty * FIX: Restoring backup sets via Migrate/Clone tab had caused all associated backup entities being downloaded immediately ignoring user preferences about the entities they wanted to restore * FIX: Third-party library conflict (phpseclib) with WP All Import Pro and AIO WP Migration plugins that caused failure in testing SFTP credentials and backing up to the SFTP remote storage * FIX: Restore compatibility with WordPress multisite running on versions < 4.9 caused by use of function not present before then * TWEAK: Add new translation entries for UpdraftCentral * TWEAK: Got rid of PHP 8.2 deprecation messages caused by a null value being passed to the htmlspecialchars() function and creation of dynamic property * TWEAK: Got rid of PHP 8.3 deprecation messages caused by calling get_class() without arguments. * TWEAK: Refactor methods in UpdraftPlus_Database_Utility class * TWEAK: Send an email if the backup directory is not writable. * TWEAK: Add and set the `filename_only` parameter to reduce search times when looking for specific backup files in Dropbox. * TWEAK: Autoload PHP secure communication library (phpseclib) in a better way that would prevent already-loaded phpseclib classes (by other plugin) from being used in certain operations * TWEAK: Add updraftplus_backup_db_header_append filter to allow site owners to include arbitrary content in their database backup header = 1.23.16 - 23/Dec/2023 = * TWEAK: Added demo link for the family plugin in advertisement * TWEAK: Removed https / http prefix from s3generic endpoints * TWEAK: Resolve PHP 8.0 compatibility with ob_implicit_flush function * TWEAK: Dropbox error logs improvement * TWEAK: As required by the wordpress.org plugin team, all UpdraftPlus news is forbidden to be displayed in the "WordPress News" section of the dashboard for users of the free plugin even if consent is first given. * TWEAK: Fix some incorrect calls to translation functions = 1.23.14 - 30/Nov/2023 = * FIX: Resolved Google Cloud remote storage authentication flow * TWEAK: Changed updraftvault links functionality to open in different tab * TWEAK: Clarify significance of warnings in report emails * TWEAK: Make the news-consent's layer fit with the confirmation text thus removing empty space that can reveal some of the UpdraftPlus news * TWEAK: Declare a shim "php_uname" function when it's found to be undefined to prevent a fatal error in the phpseclib library (which calls it) = 1.23.13 - 22/Nov/2023 = * FIX: An issue that prevented incremental backups from running via WP-CLI or Cron when the option to backup mu-plugins was enabled but no mu-plugins existed * FIX: OneDrive remote storage authentication was giving the error "Invalid input." * FIX: The option to back up additional, user-chosen files (i.e. the morefiles entity) was no longer present in the UI * TWEAK: Remove unused "migrator-lite.php" string during search and replace operations * TWEAK: Replace remaining hardcoded text domain with UPDRAFTCENTRAL_TEXT_DOMAIN placeholder within the central folder * TWEAK: LiteSpeed admin dashboard warning is now displayed upon completion of migration on the destination site, even after dismissing the message on the source site. * TWEAK: Do not show UpdraftPlus news in the WordPress events and news widget section without first gaining user consent * TWEAK: Change order of checks when seeing if cPanel is present/accessible for asking about disk quota in order to prevent unwanted an PHP notice when safe_mode is active * TWEAK: Prevent potential fatal error if something has modified an updates check's 'translation' property to be invalid before passing on to UpdraftPlus * TWEAK: Update bundled cacert.pem file = 1.23.12 - 08/Nov/2023 = * FIX: Issue that prevented some database restores from completing due to a change in wpdb in WordPress 6.4 * TWEAK: Replace Javascript onchange event with oninput event to detect changes made for HTML tags on the settings page, also to add ")):console.log(e),e.hasOwnProperty("keys_table")&&jQuery("#updraftcentral_keys_content").append(e.keys_table),jQuery("#updraftcentral_wizard_go").show())}catch(e){alert(uclion.unexpectedresponse+" "+response),console.log(e)}},{error_callback:function(e,r,t,a){jQuery("#updraftcentral_keys").unblock(),void 0!==a&&a.hasOwnProperty("fatal_error")?(console.error(a.fatal_error_message),alert(a.fatal_error_message)):(a="updraftcentral_send_command: error: "+r+" ("+t+")",console.log(a),alert(a),console.log(e))}})}catch(e){jQuery("#updraft_central_key").html(),console.log(e)}}});var a={};a[updraftlion.close]=function(){jQuery(this).dialog("close")},jQuery("#updraft-copy-modal").dialog({autoOpen:!1,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,modal:!0,buttons:a}),jQuery("#updraftcentral_keys_content").on("click","#updraftplus-copy",function(e){e.preventDefault();e=jQuery("#updraftcentral-key");e[0].value&&navigator.clipboard.writeText(e[0].value).then(function(){alert(uclion.key_copied)},function(e){jQuery("#updraft-copy-modal").dialog("open")})}),jQuery("#updraftcentral_keys").on("click",".updraftcentral_key_delete",function(e){e.preventDefault();e=jQuery(this).data("key_id");void 0===e?console.log("UpdraftPlus: .updraftcentral_key_delete clicked, but no key ID found"):(jQuery("#updraftcentral_keys").block({message:'

'+uclion.deleting+"
"}),updraftcentral_send_command("delete_key",{key_id:e},function(e){jQuery("#updraftcentral_keys").unblock(),e.hasOwnProperty("keys_table")&&jQuery("#updraftcentral_keys_content").html(e.keys_table)},{error_callback:function(e,r,t,a){jQuery("#updraftcentral_keys").unblock(),void 0!==a&&a.hasOwnProperty("fatal_error")?(console.error(a.fatal_error_message),alert(a.fatal_error_message)):(a="updraftcentral_send_command: error: "+r+" ("+t+")",console.log(a),alert(a),console.log(e))}}))})});central/js/central-1-24-6.min.js000064400000022504147400355670012122 0ustar00function updraftcentral_send_command(e,r,a,o){for(var t in default_options={json_parse:!0,alert_on_error:!0,action:"updraft_central_ajax",nonce_key:"nonce",timeout:null,async:!0,type:"POST"},void 0!==uclion.updraftcentral_request_nonce&&uclion.updraftcentral_request_nonce&&(default_options.nonce=uclion.updraftcentral_request_nonce),void 0===o&&(o={}),default_options)o.hasOwnProperty(t)||(o[t]=default_options[t]);e={action:o.action,subaction:e},e[o.nonce_key]=o.nonce,e.action_data=r,r={type:o.type,url:ajaxurl,data:e,success:function(r,e){if(o.json_parse){try{var t=central_parse_json(r)}catch(e){return"function"==typeof o.error_callback?o.error_callback(r,e,502,t):(console.log(e),console.log(r),void(o.alert_on_error&&alert(uclion.unexpectedresponse+" "+r)))}if(t.hasOwnProperty("fatal_error"))return"function"==typeof o.error_callback?o.error_callback(r,e,500,t):(console.error(t.fatal_error_message),o.alert_on_error&&alert(t.fatal_error_message),!1);"function"==typeof a&&a(t,e,r)}else"function"==typeof a&&a(r,e)},error:function(e,r,t){"function"==typeof o.error_callback?o.error_callback(e,r,t):(console.log("updraftcentral_send_command: error: "+r+" ("+t+")"),console.log(e))},dataType:"text",async:o.async};null!=o.timeout&&(r.timeout=o.timeout),jQuery.ajax(r)}function central_parse_json(r,t){if(!(t=void 0!==t))try{return JSON.parse(r)}catch(e){console.log(uclion.plugin_name+": Exception when trying to parse JSON (1) - will attempt to fix/re-parse based upon first/last curly brackets"),console.log(r)}var a=r.indexOf("{"),o=r.lastIndexOf("}");if(-1").prop("href",t).prop("hostname"):r)||"undefined"!=typeof URL)return void jQuery("#updraftcentral_wizard_stage1_error").text(uclion.updraftcentral_wizard_invalid_url)}}jQuery("#updraftcentral_keycreate_description").val(r),jQuery(".updraftcentral_wizard_stage1").hide(),jQuery(".updraftcentral_wizard_stage2").show()}r("#updraftcentral_keys").on("click","a.updraftcentral_keys_show",function(e){e.preventDefault(),r(this).remove(),r("#updraftcentral_keys_table").slideDown()}),r("#updraftcentral_keycreate_altmethod_moreinfo_get").on("click",function(e){e.preventDefault(),r(this).remove(),r("#updraftcentral_keycreate_altmethod_moreinfo").slideDown()}),jQuery("#updraftcentral_keys").on("click",'input[type="radio"]',function(){e(!1)}),e(!0),jQuery("#updraftcentral_keys").on("click","#updraftcentral_view_log",function(e){e.preventDefault(),jQuery("#updraftcentral_view_log_container").block({message:'

'+uclion.fetching+"
"});try{updraftcentral_send_command("get_log",null,function(e){jQuery("#updraftcentral_view_log_container").unblock(),e.hasOwnProperty("log_contents")?jQuery("#updraftcentral_view_log_contents").html('
'+e.log_contents+"
"):console.log(e)},{error_callback:function(e,r,t,a){jQuery("#updraftcentral_view_log_container").unblock(),void 0!==a&&a.hasOwnProperty("fatal_error")?(console.error(a.fatal_error_message),alert(a.fatal_error_message)):(a="updraftcentral_send_command: error: "+r+" ("+t+")",console.log(a),alert(a),console.log(e))}})}catch(e){jQuery("#updraft_central_key").html(),console.log(e)}}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_wizard_go",function(e){jQuery("#updraftcentral_wizard_go").hide(),jQuery(".updraftcentral_wizard_success").remove(),jQuery(".create_key_container").show()}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_stage1_go",function(e){e.preventDefault(),jQuery(".updraftcentral_wizard_stage2").hide(),jQuery(".updraftcentral_wizard_stage1").show()}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_stage2_go",function(e){e.preventDefault(),t()}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_keycreate_go",function(e){e.preventDefault();var e=!!jQuery("#updraftcentral_mothership_other").is(":checked"),r=jQuery("#updraftcentral_keycreate_description").val(),t=jQuery("#updraftcentral_keycreate_keysize").val(),a="__updraftpluscom";if(data={key_description:r,key_size:t},e&&"http"!=(a=jQuery("#updraftcentral_keycreate_mothership").val()).substring(0,4))alert(uclion.enter_mothership_url);else{data.mothership_firewalled=jQuery("#updraftcentral_keycreate_mothership_firewalled").is(":checked")?1:0,data.where_send=a,jQuery(".create_key_container").hide(),jQuery(".updraftcentral_wizard_stage1").show(),jQuery(".updraftcentral_wizard_stage2").hide(),jQuery("#updraftcentral_keys").block({message:'

'+uclion.creating_please_allow+"
"});try{updraftcentral_send_command("create_key",data,function(e){jQuery("#updraftcentral_keys").unblock();try{e.hasOwnProperty("error")?(alert(e.error),console.log(e)):(alert(e.r),e.hasOwnProperty("bundle")&&e.hasOwnProperty("keys_guide")?(jQuery("#updraftcentral_keys_content").html(e.keys_guide),jQuery("#updraftcentral_keys_content").append('
'+e.r+'
")):console.log(e),e.hasOwnProperty("keys_table")&&jQuery("#updraftcentral_keys_content").append(e.keys_table),jQuery("#updraftcentral_wizard_go").show())}catch(e){alert(uclion.unexpectedresponse+" "+response),console.log(e)}},{error_callback:function(e,r,t,a){jQuery("#updraftcentral_keys").unblock(),void 0!==a&&a.hasOwnProperty("fatal_error")?(console.error(a.fatal_error_message),alert(a.fatal_error_message)):(a="updraftcentral_send_command: error: "+r+" ("+t+")",console.log(a),alert(a),console.log(e))}})}catch(e){jQuery("#updraft_central_key").html(),console.log(e)}}});var a={};a[updraftlion.close]=function(){jQuery(this).dialog("close")},jQuery("#updraft-copy-modal").dialog({autoOpen:!1,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,modal:!0,buttons:a}),jQuery("#updraftcentral_keys_content").on("click","#updraftplus-copy",function(e){e.preventDefault();e=jQuery("#updraftcentral-key");e[0].value&&navigator.clipboard.writeText(e[0].value).then(function(){alert(uclion.key_copied)},function(e){jQuery("#updraft-copy-modal").dialog("open")})}),jQuery("#updraftcentral_keys").on("click",".updraftcentral_key_delete",function(e){e.preventDefault();e=jQuery(this).data("key_id");void 0===e?console.log("UpdraftPlus: .updraftcentral_key_delete clicked, but no key ID found"):(jQuery("#updraftcentral_keys").block({message:'

'+uclion.deleting+"
"}),updraftcentral_send_command("delete_key",{key_id:e},function(e){jQuery("#updraftcentral_keys").unblock(),e.hasOwnProperty("keys_table")&&jQuery("#updraftcentral_keys_content").html(e.keys_table)},{error_callback:function(e,r,t,a){jQuery("#updraftcentral_keys").unblock(),void 0!==a&&a.hasOwnProperty("fatal_error")?(console.error(a.fatal_error_message),alert(a.fatal_error_message)):(a="updraftcentral_send_command: error: "+r+" ("+t+")",console.log(a),alert(a),console.log(e))}}))})});central/js/central.js000064400000040441147400355670010614 0ustar00/** * Send an action over AJAX. A wrapper around jQuery.ajax. In future, all consumers can be reviewed to simplify some of the options, where there is historical cruft. * N.B. updraft_iframe_modal() below uses the AJAX URL for the iframe's src attribute * * @param {string} action - the action to send * @param {*} data - data to send * @param {Function} callback - will be called with the results * @param {object} options -further options. Relevant properties include: * - [json_parse=true] - whether to JSON parse the results * - [alert_on_error=true] - whether to show an alert box if there was a problem (otherwise, suppress it) * - [action='updraft_ajax'] - what to send as the action parameter on the AJAX request (N.B. action parameter to this function goes as the 'subaction' parameter on the AJAX request) * - [nonce=updraft_credentialtest_nonce] - the nonce value to send. * - [nonce_key='nonce'] - the key value for the nonce field * - [timeout=null] - set a timeout after this number of seconds (or if null, none is set) * - [async=true] - control whether the request is asynchronous (almost always wanted) or blocking (would need to have a specific reason) * - [type='POST'] - GET or POST */ function updraftcentral_send_command(action, data, callback, options) { default_options = { json_parse: true, alert_on_error: true, action: 'updraft_central_ajax', nonce_key: 'nonce', timeout: null, async: true, type: 'POST' } if ('undefined' !== typeof uclion.updraftcentral_request_nonce && uclion.updraftcentral_request_nonce) { default_options.nonce = uclion.updraftcentral_request_nonce; } if ('undefined' === typeof options) options = {}; for (var opt in default_options) { if (!options.hasOwnProperty(opt)) { options[opt] = default_options[opt]; } } var ajax_data = { action: options.action, subaction: action, }; ajax_data[options.nonce_key] = options.nonce; ajax_data.action_data = data; var ajax_opts = { type: options.type, url: ajaxurl, data: ajax_data, success: function(response, status) { if (options.json_parse) { try { var resp = central_parse_json(response); } catch (e) { if ('function' == typeof options.error_callback) { return options.error_callback(response, e, 502, resp); } else { console.log(e); console.log(response); if (options.alert_on_error) { alert(uclion.unexpectedresponse+' '+response); } return; } } if (resp.hasOwnProperty('fatal_error')) { if ('function' == typeof options.error_callback) { // 500 is internal server error code return options.error_callback(response, status, 500, resp); } else { console.error(resp.fatal_error_message); if (options.alert_on_error) { alert(resp.fatal_error_message); } return false; } } if ('function' == typeof callback) callback(resp, status, response); } else { if ('function' == typeof callback) callback(response, status); } }, error: function(response, status, error_code) { if ('function' == typeof options.error_callback) { options.error_callback(response, status, error_code); } else { console.log("updraftcentral_send_command: error: "+status+" ("+error_code+")"); console.log(response); } }, dataType: 'text', async: options.async }; if (null != options.timeout) { ajax_opts.timeout = options.timeout; } jQuery.ajax(ajax_opts); } /** * Parse JSON string, including automatically detecting unwanted extra input and skipping it * * @param {string} json_mix_str - JSON string which need to parse and convert to object * @param {boolean} analyse - if true, then the return format will contain information on the parsing, and parsing will skip attempting to JSON.parse() the entire string (will begin with trying to locate the actual JSON) * * @throws SyntaxError|String (including passing on what JSON.parse may throw) if a parsing error occurs. * * @returns Mixed parsed JSON object. Will only return if parsing is successful (otherwise, will throw). If analyse is true, then will rather return an object with properties (mixed)parsed, (integer)json_start_pos and (integer)json_end_pos */ function central_parse_json(json_mix_str, analyse) { analyse = ('undefined' === typeof analyse) ? false : true; // Just try it - i.e. the 'default' case where things work (which can include extra whitespace/line-feeds, and simple strings, etc.). if (!analyse) { try { var result = JSON.parse(json_mix_str); return result; } catch (e) { console.log(uclion.plugin_name+': Exception when trying to parse JSON (1) - will attempt to fix/re-parse based upon first/last curly brackets'); console.log(json_mix_str); } } var json_start_pos = json_mix_str.indexOf('{'); var json_last_pos = json_mix_str.lastIndexOf('}'); // Case where some php notice may be added after or before json string if (json_start_pos > -1 && json_last_pos > -1) { var json_str = json_mix_str.slice(json_start_pos, json_last_pos + 1); try { var parsed = JSON.parse(json_str); if (!analyse) { console.log(uclion.plugin_name+': JSON re-parse successful'); } return analyse ? { parsed: parsed, json_start_pos: json_start_pos, json_last_pos: json_last_pos + 1 } : parsed; } catch (e) { console.log(uclion.plugin_name+': Exception when trying to parse JSON (2) - will attempt to fix/re-parse based upon bracket counting'); var cursor = json_start_pos; var open_count = 0; var last_character = ''; var inside_string = false; // Don't mistake this for a real JSON parser. Its aim is to improve the odds in real-world cases seen, not to arrive at universal perfection. while ((open_count > 0 || cursor == json_start_pos) && cursor <= json_last_pos) { var current_character = json_mix_str.charAt(cursor); if (!inside_string && '{' == current_character) { open_count++; } else if (!inside_string && '}' == current_character) { open_count--; } else if ('"' == current_character && '\\' != last_character) { inside_string = inside_string ? false : true; } last_character = current_character; cursor++; } console.log("Started at cursor="+json_start_pos+", ended at cursor="+cursor+" with result following:"); console.log(json_mix_str.substring(json_start_pos, cursor)); try { var parsed = JSON.parse(json_mix_str.substring(json_start_pos, cursor)); console.log(uclion.plugin_name+': JSON re-parse successful'); return analyse ? { parsed: parsed, json_start_pos: json_start_pos, json_last_pos: cursor } : parsed; } catch (e) { // Throw it again, so that our function works just like JSON.parse() in its behaviour. throw e; } } } throw uclion.plugin_name+": could not parse the JSON"; } jQuery(function($) { $('#updraftcentral_keys').on('click', 'a.updraftcentral_keys_show', function(e) { e.preventDefault(); $(this).remove(); $('#updraftcentral_keys_table').slideDown(); }); $('#updraftcentral_keycreate_altmethod_moreinfo_get').on('click', function(e) { e.preventDefault(); $(this).remove(); $('#updraftcentral_keycreate_altmethod_moreinfo').slideDown(); }); function updraftcentral_keys_setupform(on_page_load) { var is_other = jQuery('#updraftcentral_mothership_other').is(':checked') ? true : false; if (is_other) { jQuery('#updraftcentral_keycreate_mothership').prop('disabled', false); if (on_page_load) { jQuery('#updraftcentral_keycreate_mothership_firewalled_container').show(); } else { jQuery('.updraftcentral_wizard_self_hosted_stage2').show(); jQuery('#updraftcentral_keycreate_mothership_firewalled_container').slideDown(); jQuery('#updraftcentral_keycreate_mothership').trigger('focus'); } } else { jQuery('#updraftcentral_keycreate_mothership').prop('disabled', true); if (!on_page_load) { jQuery('.updraftcentral_wizard_self_hosted_stage2').hide(); updraftcentral_stage2_go(); } } } function updraftcentral_stage2_go() { // Reset the error message before we continue jQuery('#updraftcentral_wizard_stage1_error').text(''); var host = ''; if (jQuery('#updraftcentral_mothership_updraftpluscom').is(':checked')) { jQuery('.updraftcentral_keycreate_description').hide(); host = 'updraftplus.com'; } else if (jQuery('#updraftcentral_mothership_other').is(':checked')) { jQuery('.updraftcentral_keycreate_description').show(); var mothership = jQuery('#updraftcentral_keycreate_mothership').val(); if ('' == mothership) { jQuery('#updraftcentral_wizard_stage1_error').text(uclion.updraftcentral_wizard_empty_url); return; } try { var url = new URL(mothership); host = url.hostname; } catch (e) { // Try and grab the host name a different way if it failed because of no URL object (e.g. Firefox version 25 and below). if ('undefined' === typeof URL) { host = jQuery('').prop('href', mothership).prop('hostname'); } if (!host || 'undefined' !== typeof URL) { jQuery('#updraftcentral_wizard_stage1_error').text(uclion.updraftcentral_wizard_invalid_url); return; } } } jQuery('#updraftcentral_keycreate_description').val(host); jQuery('.updraftcentral_wizard_stage1').hide(); jQuery('.updraftcentral_wizard_stage2').show(); } jQuery('#updraftcentral_keys').on('click', 'input[type="radio"]', function() { updraftcentral_keys_setupform(false); }); // Initial setup (for browsers, e.g. Firefox, that remember form selection state but not DOM state, which can leave an inconsistent state) updraftcentral_keys_setupform(true); jQuery('#updraftcentral_keys').on('click', '#updraftcentral_view_log', function(e) { e.preventDefault(); jQuery('#updraftcentral_view_log_container').block({ message: '

'+uclion.fetching+'
'}); try { updraftcentral_send_command('get_log', null, function(response) { jQuery('#updraftcentral_view_log_container').unblock(); if (response.hasOwnProperty('log_contents')) { jQuery('#updraftcentral_view_log_contents').html('
'+response.log_contents+'
'); } else { console.log(response); } }, { error_callback: function(response, status, error_code, resp) { jQuery('#updraftcentral_view_log_container').unblock(); if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); alert(resp.fatal_error_message); } else { var error_message = "updraftcentral_send_command: error: "+status+" ("+error_code+")"; console.log(error_message); alert(error_message); console.log(response); } } }); } catch (err) { jQuery('#updraft_central_key').html(); console.log(err); } }); // UpdraftCentral jQuery('#updraftcentral_keys').on('click', '#updraftcentral_wizard_go', function(e) { jQuery('#updraftcentral_wizard_go').hide(); jQuery('.updraftcentral_wizard_success').remove(); jQuery('.create_key_container').show(); }); jQuery('#updraftcentral_keys').on('click', '#updraftcentral_stage1_go', function(e) { e.preventDefault(); jQuery('.updraftcentral_wizard_stage2').hide(); jQuery('.updraftcentral_wizard_stage1').show(); }); jQuery('#updraftcentral_keys').on('click', '#updraftcentral_stage2_go', function(e) { e.preventDefault(); updraftcentral_stage2_go(); }); jQuery('#updraftcentral_keys').on('click', '#updraftcentral_keycreate_go', function(e) { e.preventDefault(); var is_other = jQuery('#updraftcentral_mothership_other').is(':checked') ? true : false; var key_description = jQuery('#updraftcentral_keycreate_description').val(); var key_size = jQuery('#updraftcentral_keycreate_keysize').val(); var where_send = '__updraftpluscom'; data = { key_description: key_description, key_size: key_size, }; if (is_other) { where_send = jQuery('#updraftcentral_keycreate_mothership').val(); if (where_send.substring(0, 4) != 'http') { alert(uclion.enter_mothership_url); return; } } data.mothership_firewalled = jQuery('#updraftcentral_keycreate_mothership_firewalled').is(':checked') ? 1 : 0; data.where_send = where_send; jQuery('.create_key_container').hide(); jQuery('.updraftcentral_wizard_stage1').show(); jQuery('.updraftcentral_wizard_stage2').hide(); jQuery('#updraftcentral_keys').block({ message: '

'+uclion.creating_please_allow+'
'}); try { updraftcentral_send_command('create_key', data, function(resp) { jQuery('#updraftcentral_keys').unblock(); try { if (resp.hasOwnProperty('error')) { alert(resp.error); console.log(resp); return; } alert(resp.r); if (resp.hasOwnProperty('bundle') && resp.hasOwnProperty('keys_guide')) { jQuery('#updraftcentral_keys_content').html(resp.keys_guide); jQuery('#updraftcentral_keys_content').append('
'+resp.r+'
'); } else { console.log(resp); } if (resp.hasOwnProperty('keys_table')) { jQuery('#updraftcentral_keys_content').append(resp.keys_table); } jQuery('#updraftcentral_wizard_go').show(); } catch (err) { alert(uclion.unexpectedresponse+' '+response); console.log(err); } }, { error_callback: function(response, status, error_code, resp) { jQuery('#updraftcentral_keys').unblock(); if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); alert(resp.fatal_error_message); } else { var error_message = "updraftcentral_send_command: error: "+status+" ("+error_code+")"; console.log(error_message); alert(error_message); console.log(response); } } }); } catch (err) { jQuery('#updraft_central_key').html(); console.log(err); } }); var updraft_copy_modal_buttons = {}; updraft_copy_modal_buttons[updraftlion.close] = function() { jQuery(this).dialog("close"); }; jQuery("#updraft-copy-modal").dialog({ autoOpen: false, resizeOnWindowResize: true, scrollWithViewport: true, resizeAccordingToViewport: true, modal: true, buttons: updraft_copy_modal_buttons, }); jQuery('#updraftcentral_keys_content').on('click', '#updraftplus-copy', function(e) { e.preventDefault(); var ele = jQuery('#updraftcentral-key'); if (ele[0].value) { navigator.clipboard.writeText(ele[0].value).then(function() { alert(uclion.key_copied); }, function(err) { jQuery('#updraft-copy-modal').dialog('open'); }); } }); jQuery('#updraftcentral_keys').on('click', '.updraftcentral_key_delete', function(e) { e.preventDefault(); var key_id = jQuery(this).data('key_id'); if ('undefined' == typeof key_id) { console.log("UpdraftPlus: .updraftcentral_key_delete clicked, but no key ID found"); return; } jQuery('#updraftcentral_keys').block({ message: '

'+uclion.deleting+'
'}); updraftcentral_send_command('delete_key', { key_id: key_id }, function(response) { jQuery('#updraftcentral_keys').unblock(); if (response.hasOwnProperty('keys_table')) { jQuery('#updraftcentral_keys_content').html(response.keys_table); } }, { error_callback: function(response, status, error_code, resp) { jQuery('#updraftcentral_keys').unblock(); if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); alert(resp.fatal_error_message); } else { var error_message = "updraftcentral_send_command: error: "+status+" ("+error_code+")"; console.log(error_message); alert(error_message); console.log(response); } } }); }); });central/translations-central.php000064400000021051147400355670013066 0ustar00 __('UpdraftCentral Connection', 'updraftplus'), 'updraftcentral_connection_successful' => __('An UpdraftCentral connection has been made successfully.', 'updraftplus'), 'updraftcentral_connection_failed' => __('A new UpdraftCentral connection has not been made.', 'updraftplus'), 'unknown_key' => __('The key referred to was unknown.', 'updraftplus'), 'not_logged_in' => __('You are not logged into this WordPress site in your web browser.', 'updraftplus'), 'must_visit_url' => __('You must visit this URL in the same browser and login session as you created the key in.', 'updraftplus'), 'security_check' => __('Security check.', 'updraftplus'), 'must_visit_link' => __('You must visit this link in the same browser and login session as you created the key in.', 'updraftplus'), 'connection_already_made' => __('This connection appears to already have been made.', 'updraftplus'), 'close' => __('Close', 'updraftplus'), 'nothing_yet_logged' => __('(Nothing yet logged)', 'updraftplus'), 'invalid_url' => __('An invalid URL was entered', 'updraftplus'), 'updraftcentral_key_created' => __('UpdraftCentral key created successfully', 'updraftplus'), 'need_to_copy_key' => __('You now need to copy the key below and enter it at your %s.', 'updraftplus'), 'press_add_site_button' => __('At your UpdraftCentral dashboard you should press the "Add Site" button then paste the key in the input box.', 'updraftplus'), 'detailed_instructions' => __('Detailed instructions for this can be found at %s', 'updraftplus'), 'control_this_site' => __('You can now control this site via your UpdraftCentral dashboard at %s.', 'updraftplus'), 'attempt_to_register_failed' => __('A key was created, but the attempt to register it with %1$s was unsuccessful.', 'updraftplus').' '.__('You can try again, or try using the alternative connection method if the problem persists.', 'updraftplus').' '.__('For more information visit %2$s', 'updraftplus'), 'key_created_successfully' => __('Key created successfully.', 'updraftplus'), 'copy_paste_key' => __('You must copy and paste this key now - it cannot be shown again.', 'updraftplus'), 'no_updraftcentral_dashboards' => __('There are no UpdraftCentral dashboards that can currently control this site.', 'updraftplus'), 'unknown' => __('Unknown', 'updraftplus'), 'access_as_user' => __('Access this site as user:', 'updraftplus'), 'public_key_sent' => __('Public key was sent to:', 'updraftplus'), 'created' => __('Created:', 'updraftplus'), 'key_size' => __('Key size: %d bits', 'updraftplus'), 'delete' => __('Delete...', 'updraftplus'), 'manage_keys' => __('Manage existing keys (%d)...', 'updraftplus'), 'key_description' => __('Key description', 'updraftplus'), 'details' => __('Details', 'updraftplus'), 'connect_to_updraftcentral_dashboard' => __('Connect this site to an UpdraftCentral dashboard found at...', 'updraftplus'), 'in_example' => __('i.e. if you have %s there', 'updraftplus'), 'an_account' => __('an account', 'updraftplus'), 'self_hosted_dashboard' => __('Self-hosted dashboard', 'updraftplus'), 'website_installed' => __('A website where you have installed %s', 'updraftplus'), 'enter_url' => __('Enter the URL where your self-hosted install of UpdraftCentral is located:', 'updraftplus'), 'updraftcentral_dashboard_url' => __('URL for the site of your UpdraftCentral dashboard', 'updraftplus'), 'next' => __('Next', 'updraftplus'), 'updraftcentral_connection_details' => __('UpdraftCentral dashboard connection details', 'updraftplus'), 'description' => __('Description', 'updraftplus'), 'enter_description' => __('Enter any description', 'updraftplus'), 'encryption_key_size' => __('Encryption key size:', 'updraftplus'), 'bits' => __('%s bits', 'updraftplus'), 'bytes' => __('%s bytes', 'updraftplus'), 'easy_to_break' => __('easy to break, fastest', 'updraftplus'), 'faster' => __('faster (possibility for slow PHP installs)', 'updraftplus'), 'recommended' => __('recommended', 'updraftplus'), 'slower' => __('slower, strongest', 'updraftplus'), 'use_alternative_method' => __('Use the alternative method for making a connection with the dashboard.', 'updraftplus'), 'more_information' => __('More information...', 'updraftplus'), 'this_is_useful' => __('This is useful if the dashboard webserver cannot be contacted with incoming traffic by this website (for example, this is the case if this website is hosted on the public Internet, but the UpdraftCentral dashboard is on localhost, or on an Intranet, or if this website has an outgoing firewall), or if the dashboard website does not have a SSL certificate.', 'updraftplus'), 'create' => __('Create', 'updraftplus'), 'back' => __('Back...', 'updraftplus'), 'view_log_events' => __('View recent UpdraftCentral log events', 'updraftplus'), 'updraftcentral_remote_control' => __('UpdraftCentral (Remote Control)', 'updraftplus'), 'updraftcentral_description' => __('UpdraftCentral enables control of your WordPress sites %s from a central dashboard.', 'updraftplus'), 'including_description' => array( 'wp_optimize_desc' => __('(including management of WP-Optimize)', 'updraftplus'), 'updraftplus_desc' => __('(including management of backups and updates)', 'updraftplus'), ), 'read_more' => __('Read more about it here.', 'updraftplus'), 'create_another_key' => __('Create another key', 'updraftplus'), 'unable_to_connect' => __('Unable to connect to the filesystem', 'updraftplus'), 'unable_to_activate' => __('Unable to activate %s successfully.', 'updraftplus').' '.__('Make sure that this %s is compatible with your remote WordPress version.', 'updraftplus').' '.__('WordPress version currently installed in your remote website is %s.', 'updraftplus'), 'unable_to_install' => __('Unable to install %s.', 'updraftplus').' '.__('Make sure you upload the correct file and that the zip file is a valid %s file (not corrupted) and try uploading the file again.', 'updraftplus'), 'failed_to_attach_media' => __('Failed to attach media.', 'updraftplus'), 'media_attached' => __('Media has been attached to post.', 'updraftplus'), 'failed_to_detach_media' => __('Failed to detach media.', 'updraftplus'), 'media_detached' => __('Media has been detached from post.', 'updraftplus'), 'failed_to_delete_media' => __('Failed to delete selected media.', 'updraftplus'), 'selected_media_deleted' => __('Selected media has been deleted successfully.', 'updraftplus'), 'unattached' => __('Unattached', 'updraftplus'), 'default_template' => __('Default template', 'updraftplus'), 'parameters_missing' => __('Expected parameter(s) missing.', 'updraftplus'), 'fetching' => __('Fetching...', 'updraftplus'), 'deleting' => __('Deleting...', 'updraftplus'), 'enter_mothership_url' => __('Please enter a valid URL', 'updraftplus'), 'creating_please_allow' => __('Creating...', 'updraftplus').(function_exists('openssl_encrypt') ? '' : ' ('.__('your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup.', 'updraftplus').')'), 'unexpectedresponse' => __('Unexpected response:', 'updraftplus'), 'updraftcentral_wizard_empty_url' => __('Please enter the URL where your UpdraftCentral dashboard is hosted.', 'updraftplus'), 'updraftcentral_wizard_invalid_url' => __('Please enter a valid URL e.g http://example.com', 'updraftplus'), 'insufficient_privilege' => __('Sorry, you do not have enough privilege to execute the requested action.', 'updraftplus'), 'copy_to_clipboard' => __('Copy to clipboard', 'updraftplus'), 'key_copied' => __('The key was copied to the clipboard.', 'updraftplus'), 'unable_to_copy' => __('The attempt to copy to the clipboard failed.', 'updraftplus'), 'wpo_not_active' => __('WP_Optimize is not installed or active.', 'updraftplus'), 'log_file_not_exist' => __('Log file does not exist or could not be read.', 'updraftplus'), 'security_check_failed' => __('Security check failed; try refreshing the page.', 'updraftplus').' '.__('If refreshing the page does not help then perhaps you do not have sufficient privilege to manage WP-Optimize.', 'updraftplus'), 'no_such_command' => __('No such command found.', 'updraftplus'), 'command_not_allowed' => __('You are not allowed to run this command.', 'updraftplus'), 'command_not_found' => __('The command is either not found or not allowed.', 'updraftplus'), 'network_admin_only' => __('The command can only be executed by a network admin.', 'updraftplus'), ); central/wp-optimize.php000064400000007471147400355670011215 0ustar00translations = include_once(UPDRAFTCENTRAL_CLIENT_DIR.'/translations-central.php'); } } /** * Whether the current user can perform key control AJAX actions * * @return Boolean */ public function current_user_can_ajax() { return current_user_can(WP_Optimize()->capability_required()); } /** * Loads the UpdraftCentral_Main instance * * @return void */ public function load_updraftcentral() { $central_path = $this->is_host_dir_set() ? trailingslashit(WPO_PLUGIN_MAIN_PATH) : ''; if (!empty($central_path) && file_exists($central_path.'central/bootstrap.php')) { include_once($central_path.'central/bootstrap.php'); } } /** * Checks whether the plugin's DIR constant is currently define or not * * @return bool */ public function is_host_dir_set() { return defined('WPO_PLUGIN_MAIN_PATH') ? true : false; } /** * Get the host plugin's dir path * * @return string */ public function get_host_dir() { return defined('WPO_PLUGIN_MAIN_PATH') ? WPO_PLUGIN_MAIN_PATH : dirname(dirname(__FILE__)); } /** * Returns the current version of the host plugin * * @return string|bool */ public function get_version() { return defined('WPO_VERSION') ? WPO_VERSION : false; } /** * Returns the instance of the host plugin * * @return object|bool */ public function get_instance() { global $wp_optimize; if ($wp_optimize) { return $wp_optimize; } return false; } /** * Checks whether debug mod is set * * @return bool */ public function get_debug_mode() { return (defined('WP_OPTIMIZE_DEBUG_OPTIMIZATIONS') && WP_OPTIMIZE_DEBUG_OPTIMIZATIONS); } /** * Logs the given line * * @param string $line The log line * @param string $level The log level: notice, warning, error, etc. * @param boolean|string $uniq_id Each of these will only be logged once * * @return void */ public function log($line, $level = 'notice', $uniq_id = false) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused parameter is present because the the abstract UpdraftCentral_Host class uses 3 arguments. global $wp_optimize; if ($wp_optimize) { if (is_callable(array($wp_optimize, 'log'))) { call_user_func(array($wp_optimize, 'log'), $line); } } } /** * Developer Note: * * You can add your class methods below if ever you want to extend or modify * the module handlers of UpdraftCentral located at central/modules. Just be * sure to use this class to abstract any functionality that would link to the * wp-optimize plugin. * * N.B. All custom methods added here will then be available from the global * variable $updraftcentral_host_plugin (e.g. $updraftcentral_host_plugin->YOUR_METHOD) */ } central/host.php000064400000021307147400355670007700 0ustar00plugin_name; } /** * Retrieves or shows a message from the translations collection based on its identifier key * * @param string $key The ID of the the message * @param bool $echo Indicate whether the message is to be shown directly (echoed) or just for retrieval * * @return string/void */ public function retrieve_show_message($key, $echo = false) { if (empty($key) || !isset($this->translations[$key])) return ''; if ($echo) { echo $this->translations[$key]; return; } return $this->translations[$key]; } /** * Adds a section to a designated area primarily used for generating UpdraftCentral keys * * @return void */ public function debugtools_dashboard() { if (!current_user_can('manage_options')) return; global $updraftcentral_main; if (!class_exists('UpdraftCentral_Main')) { if (defined('UPDRAFTCENTRAL_CLIENT_DIR') && file_exists(UPDRAFTCENTRAL_CLIENT_DIR.'/bootstrap.php')) { include_once(UPDRAFTCENTRAL_CLIENT_DIR.'/bootstrap.php'); $updraftcentral_main = new UpdraftCentral_Main(); } } if ($updraftcentral_main) { $updraftcentral_main->debugtools_dashboard(); } } /** * Whether the current user can perform key control AJAX actions * * @return Boolean */ public function current_user_can_ajax() { return current_user_can('manage_options'); } /** * Handles ajax requests coming from the section or area generated by the * "debugtools_dashboard" method (below) * * @return void */ public function updraft_central_ajax_handler() { global $updraftcentral_main; $nonce = empty($_REQUEST['nonce']) ? '' : $_REQUEST['nonce']; if (empty($nonce) || !wp_verify_nonce($nonce, 'updraftcentral-request-nonce') || !$this->current_user_can_ajax() || empty($_REQUEST['subaction'])) die('Security check'); if (is_a($updraftcentral_main, 'UpdraftCentral_Main')) { $subaction = $_REQUEST['subaction']; if ($this->is_action_whitelisted($subaction) && is_callable(array($updraftcentral_main, $subaction))) { // Undo WP's slashing of POST data $data = $this->wp_unslash($_POST); // TODO: Once all commands come through here and through updraft_send_command(), the data should always come from this attribute (once updraft_send_command() is modified appropriately). if (isset($data['action_data'])) $data = $data['action_data']; try { $results = call_user_func(array($updraftcentral_main, $subaction), $data); } catch (Exception $e) { $log_message = 'PHP Fatal Exception error ('.get_class($e).') has occurred during '.$subaction.' subaction. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); die; // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during '.$subaction.' subaction. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); die; } if (is_wp_error($results)) { $results = array( 'result' => false, 'error_code' => $results->get_error_code(), 'error_message' => $results->get_error_message(), 'error_data' => $results->get_error_data(), ); } if (is_string($results)) { // A handful of legacy methods, and some which are directly the source for iframes, for which JSON is not appropriate. echo $results; } else { echo json_encode($results); } die; } } die; } /** * Verifies whether the submitted action is valid and allowed for execution over AJAX * * @param string $action The action to execute * * @return bool */ private function is_action_whitelisted($action) { $allowed_actions = array('delete_key', 'get_log', 'create_key'); return in_array($action, $allowed_actions); } /** * Retrieves the filter used by UpdraftCentral to log errors or certain events * * @return string */ public function get_logline_filter() { return 'updraftcentral_logline'; } /** * Gets an RPC object, and sets some defaults on it that we always want * * @param string $indicator_name indicator name * @return array */ public function get_udrpc($indicator_name = 'migrator.updraftplus.com') { global $updraftplus; $updraftplus->ensure_phpseclib(); if (!class_exists('UpdraftPlus_Remote_Communications_V2')) include_once($this->get_host_dir().'/vendor/team-updraft/common-libs/src/updraft-rpc/class-udrpc2.php'); $ud_rpc = new UpdraftPlus_Remote_Communications_V2($indicator_name); $ud_rpc->set_can_generate(true); return $ud_rpc; } /** * Noop method. * Depending on the host plugin this method may or may not be used. * * N.B. The UpdraftPlus plugin is using and overriding this method in its host file. * * @param boolean $register Indicate whether to add or remote filter hooks * @ignore */ // @codingStandardsIgnoreLine public function register_wp_http_option_hooks($register = true) {} /** * Remove slashes from a string or array of strings. * * The function wp_unslash() is WP 3.6+, so therefore we have a compatibility method here * * @param String|Array $value String or array of strings to unslash. * @return String|Array Unslashed $value */ public function wp_unslash($value) { return function_exists('wp_unslash') ? wp_unslash($value) : stripslashes_deep($value); } /** * Generate a log line based from the PHP error information * * @param Integer $errno Error number * @param String $errstr Error string * @param String $errfile Error file * @param String $errline Line number where the error occurred * * @return string|bool */ public function php_error_to_logline($errno, $errstr, $errfile, $errline) { switch ($errno) { case 1: $e_type = 'E_ERROR'; break; case 2: $e_type = 'E_WARNING'; break; case 4: $e_type = 'E_PARSE'; break; case 8: $e_type = 'E_NOTICE'; break; case 16: $e_type = 'E_CORE_ERROR'; break; case 32: $e_type = 'E_CORE_WARNING'; break; case 64: $e_type = 'E_COMPILE_ERROR'; break; case 128: $e_type = 'E_COMPILE_WARNING'; break; case 256: $e_type = 'E_USER_ERROR'; break; case 512: $e_type = 'E_USER_WARNING'; break; case 1024: $e_type = 'E_USER_NOTICE'; break; case 2048: $e_type = 'E_STRICT'; break; case 4096: $e_type = 'E_RECOVERABLE_ERROR'; break; case 8192: $e_type = 'E_DEPRECATED'; break; case 16384: $e_type = 'E_USER_DEPRECATED'; break; case 30719: $e_type = 'E_ALL'; break; default: $e_type = "E_UNKNOWN ($errno)"; break; } if (false !== stripos($errstr, 'table which is not valid in this version of Gravity Forms')) return false; if (!is_string($errstr)) $errstr = serialize($errstr); if (0 === strpos($errfile, ABSPATH)) $errfile = substr($errfile, strlen(ABSPATH)); if ('E_DEPRECATED' == $e_type && !empty($this->no_deprecation_warnings)) { return false; } return "PHP event: code $e_type: $errstr (line $errline, $errfile)"; } /** * PHP error handler * * @param Integer $errno Error number * @param String $errstr Error string * @param String $errfile Error file * @param String $errline Line number where the error occurred * * @return bool */ public function php_error($errno, $errstr, $errfile, $errline) { if (0 == error_reporting()) return true; $logline = $this->php_error_to_logline($errno, $errstr, $errfile, $errline); if (false !== $logline) $this->log($logline, 'notice', 'php_event'); // Pass it up the chain return $this->error_reporting_stop_when_logged; } } central/classes/automatic-upgrader-skin-compatibility.php000064400000000710147400355670017761 0ustar00options['context'] = $context; } // TODO: fix up request_filesystem_credentials(), or split it, to allow us to request a no-output version // This will output a credentials form in event of failure, We don't want that, so just hide with a buffer ob_start(); $result = parent::request_filesystem_credentials($error, $context, $allow_relaxed_file_ownership); ob_end_clean(); return $result; } /** * Get update message * * @return array reti=urns an array of messages */ public function get_upgrade_messages() { return $this->messages; } /** * Feedback * * @param string|array|WP_Error $data THis is the data to be used for the feedback */ protected function updraft_feedback($data) { if (is_wp_error($data)) { $string = $data->get_error_message(); } elseif (is_array($data)) { return; } else { $string = $data; } if (!empty($this->upgrader->strings[$string])) $string = $this->upgrader->strings[$string]; if (false !== strpos($string, '%')) { $args = func_get_args(); $args = array_splice($args, 1); if (!empty($args)) $string = vsprintf($string, $args); } $string = trim($string); // Only allow basic HTML in the messages, as it'll be used in emails/logs rather than direct browser output. $string = wp_kses($string, array( 'a' => array( 'href' => true ), 'br' => true, 'em' => true, 'strong' => true, )); if (empty($string)) return; $this->messages[] = $string; } public function header() { ob_start(); } public function footer() { $output = ob_get_clean(); if (!empty($output)) $this->feedback($output); } /** * @access public */ public function bulk_header() {} public function bulk_footer() { } } global $updraftcentral_main; $wp_version = $updraftcentral_main->get_wordpress_version(); if (version_compare($wp_version, '5.3', '>=')) { if (!class_exists('Automatic_Upgrader_Skin')) require_once(dirname(__FILE__).'/automatic-upgrader-skin-compatibility.php'); } else { class Automatic_Upgrader_Skin extends Automatic_Upgrader_Skin_Main { public function feedback($string) { parent::updraft_feedback($string); } } }central/classes/class-updraftcentral-wp-upgrader.php000064400000004006147400355670016731 0ustar00switched = switch_to_blog($blog_id); } } /** * Function that gets called after every action * * @param string $command a string that corresponds to UDC command to call a certain method for this class. * @param array $data an array of data post or get fields * @param array $extra_info extrainfo use in the udrpc_action, e.g. user_id * * link to udrpc_action main function in class UpdraftCentral_Listener */ public function _post_action($command, $data, $extra_info) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused parameter is present because the caller from UpdraftCentral_Listener class uses 3 arguments. // Here, we're restoring to the current (default) blog before we switched if ($this->switched) restore_current_blog(); } /** * Constructor */ public function __construct() { $this->_admin_include('plugin.php', 'file.php', 'template.php', 'class-wp-upgrader.php', 'plugin-install.php', 'update.php'); } /** * Installs and activates a plugin through upload * * @param array $params Parameter array containing information pertaining the currently uploaded plugin * @return array Contains the result of the current process */ public function upload_plugin($params) { return $this->process_chunk_upload($params, 'plugin'); } /** * Checks whether the plugin is currently installed and activated. * * @param array $query Parameter array containing the name of the plugin to check * @return array Contains the result of the current process */ public function is_plugin_installed($query) { if (!isset($query['plugin'])) return $this->_generic_error_response('plugin_name_required'); $result = $this->_get_plugin_info($query); return $this->_response($result); } /** * Applies currently requested action for plugin processing * * @param string $action The action to apply (e.g. activate or install) * @param array $query Parameter array containing information for the currently requested action * * @return array */ private function _apply_plugin_action($action, $query) { $result = array(); switch ($action) { case 'activate': case 'network_activate': $info = $this->_get_plugin_info($query); if ($info['installed']) { $activate = activate_plugin($info['plugin_path']); if (is_wp_error($activate)) { $result = $this->_generic_error_response('generic_response_error', array( 'plugin' => $query['plugin'], 'error_code' => 'generic_response_error', 'error_message' => $activate->get_error_message(), 'info' => $this->_get_plugin_info($query) )); } else { $result = array('activated' => true, 'info' => $this->_get_plugin_info($query), 'last_state' => $info); } } else { $result = $this->_generic_error_response('plugin_not_installed', array( 'plugin' => $query['plugin'], 'error_code' => 'plugin_not_installed', 'error_message' => __('The plugin you wish to activate is either not installed or has been removed recently.', 'updraftplus'), 'info' => $info )); } break; case 'deactivate': case 'network_deactivate': $info = $this->_get_plugin_info($query); if ($info['active']) { deactivate_plugins($info['plugin_path']); if (!is_plugin_active($info['plugin_path'])) { $result = array('deactivated' => true, 'info' => $this->_get_plugin_info($query), 'last_state' => $info); } else { $result = $this->_generic_error_response('deactivate_plugin_failed', array( 'plugin' => $query['plugin'], 'error_code' => 'deactivate_plugin_failed', 'error_message' => __('There appears to be a problem deactivating the intended plugin.', 'updraftplus').' '.__('Please check your permissions and try again.', 'updraftplus'), 'info' => $this->_get_plugin_info($query) )); } } else { $result = $this->_generic_error_response('not_active', array( 'plugin' => $query['plugin'], 'error_code' => 'not_active', 'error_message' => __('The plugin you wish to deactivate is currently not active or is already deactivated.', 'updraftplus'), 'info' => $info )); } break; case 'install': $api = plugins_api('plugin_information', array( 'slug' => $query['slug'], 'fields' => array( 'short_description' => false, 'sections' => false, 'requires' => false, 'rating' => false, 'ratings' => false, 'downloaded' => false, 'last_updated' => false, 'added' => false, 'tags' => false, 'compatibility' => false, 'homepage' => false, 'donate_link' => false, ) )); $info = $this->_get_plugin_info($query); if (is_wp_error($api)) { $result = $this->_generic_error_response('generic_response_error', array( 'plugin' => $query['plugin'], 'error_code' => 'generic_response_error', 'error_message' => $api->get_error_message(), 'info' => $info )); } else { $installed = $info['installed']; $error_code = $error_message = ''; if (!$installed) { // WP < 3.7 if (!class_exists('Automatic_Upgrader_Skin')) include_once(dirname(dirname(__FILE__)).'/classes/class-automatic-upgrader-skin.php'); $skin = new Automatic_Upgrader_Skin(); $upgrader = new Plugin_Upgrader($skin); $download_link = $api->download_link; $installed = $upgrader->install($download_link); if (is_wp_error($installed)) { $error_code = $installed->get_error_code(); $error_message = $installed->get_error_message(); } elseif (is_wp_error($skin->result)) { $error_code = $skin->result->get_error_code(); $error_message = $skin->result->get_error_message(); $error_data = $skin->result->get_error_data($error_code); if (!empty($error_data)) { if (is_array($error_data)) $error_data = json_encode($error_data); $error_message .= ' '.$error_data; } } elseif (is_null($installed) || !$installed) { global $wp_filesystem; $upgrade_messages = $skin->get_upgrade_messages(); if (!class_exists('WP_Filesystem_Base')) include_once(ABSPATH.'/wp-admin/includes/class-wp-filesystem-base.php'); // Pass through the error from WP_Filesystem if one was raised. if ($wp_filesystem instanceof WP_Filesystem_Base && is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) { $error_code = $wp_filesystem->errors->get_error_code(); $error_message = $wp_filesystem->errors->get_error_message(); } elseif (!empty($upgrade_messages)) { // We're only after for the last feedback that we received from the install process. Mostly, // that is where the last error has been inserted. $messages = $skin->get_upgrade_messages(); $error_code = 'install_failed'; $error_message = end($messages); } else { $error_code = 'unable_to_connect_to_filesystem'; $error_message = __('Unable to connect to the filesystem.', 'updraftplus').' '.__('Please confirm your credentials.', 'updraftplus'); } } } if (!$installed || is_wp_error($installed)) { $result = $this->_generic_error_response('plugin_install_failed', array( 'plugin' => $query['plugin'], 'error_code' => $error_code, 'error_message' => $error_message, 'info' => $this->_get_plugin_info($query) )); } else { $result = array('installed' => true, 'info' => $this->_get_plugin_info($query), 'last_state' => $info); } } break; } return $result; } /** * Preloads the submitted credentials to the global $_POST variable * * @param array $query Parameter array containing information for the currently requested action */ private function _preload_credentials($query) { if (!empty($query) && isset($query['filesystem_credentials'])) { parse_str($query['filesystem_credentials'], $filesystem_credentials); if (is_array($filesystem_credentials)) { foreach ($filesystem_credentials as $key => $value) { // Put them into $_POST, which is where request_filesystem_credentials() checks for them. $_POST[$key] = $value; } } } } /** * Checks whether we have the required fields submitted and the user has * the capabilities to execute the requested action * * @param array $query The submitted information * @param array $fields The required fields to check * @param array $capabilities The capabilities to check and validate * * @return array|string */ private function _validate_fields_and_capabilities($query, $fields, $capabilities) { $error = ''; if (!empty($fields)) { for ($i=0; $i_generic_error_response('keyword_required'); } else { $error = $this->_generic_error_response('plugin_'.$query[$field].'_required'); } break; } } } if (empty($error) && !empty($capabilities)) { for ($i=0; $i_generic_error_response('plugin_insufficient_permission'); break; } } } return $error; } /** * Processing an action for multiple items * * @param array $query Parameter array containing a list of plugins to process * @return array Contains the results of the bulk process */ public function process_action_in_bulk($query) { $action = isset($query['action']) ? $query['action'] : ''; $items = isset($query['args']) ? $query['args']['items'] : array(); $results = array(); if (!empty($action) && !empty($items) && is_array($items)) { foreach ($items as $value) { if (method_exists($this, $action)) { $results[] = $this->$action($value); } } } return $this->_response($results); } /** * Activates the plugin * * @param array $query Parameter array containing the name of the plugin to activate * @return array Contains the result of the current process */ public function activate_plugin($query) { $fields = array('plugin'); $permissions = array('activate_plugins'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); $result = $this->_apply_plugin_action((!empty($query['multisite']) && (bool) $query['multisite']) ? 'network_activate' : 'activate', $query); if (empty($result['activated'])) { return $result; } return $this->_response($result); } /** * Deactivates the plugin * * @param array $query Parameter array containing the name of the plugin to deactivate * @return array Contains the result of the current process */ public function deactivate_plugin($query) { $fields = array('plugin'); $permissions = array('activate_plugins'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); $result = $this->_apply_plugin_action((!empty($query['multisite']) && (bool) $query['multisite']) ? 'network_deactivate' : 'deactivate', $query); if (empty($result['deactivated'])) { return $result; } return $this->_response($result); } /** * Download, install and activates the plugin * * @param array $query Parameter array containing the filesystem credentials entered by the user along with the plugin name and slug * @return array Contains the result of the current process */ public function install_activate_plugin($query) { $fields = array('plugin', 'slug'); $permissions = array('install_plugins', 'activate_plugins'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); $result = $this->_apply_plugin_action('install', $query); if (!empty($result['installed']) && $result['installed']) { $result = $this->_apply_plugin_action((!empty($query['multisite']) && (bool) $query['multisite']) ? 'network_activate' : 'activate', $query); if (empty($result['activated'])) { return $result; } } else { return $result; } return $this->_response($result); } /** * Download, install the plugin * * @param array $query Parameter array containing the filesystem credentials entered by the user along with the plugin name and slug * @return array Contains the result of the current process */ public function install_plugin($query) { $fields = array('plugin', 'slug'); $permissions = array('install_plugins'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); $result = $this->_apply_plugin_action('install', $query); if (empty($result['installed'])) { return $result; } return $this->_response($result); } /** * Uninstall/delete the plugin * * @param array $query Parameter array containing the filesystem credentials entered by the user along with the plugin name and slug * @return array Contains the result of the current process */ public function delete_plugin($query) { $fields = array('plugin'); $permissions = array('delete_plugins'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); $info = $this->_get_plugin_info($query); if ($info['installed']) { // Deactivate first before delete to invalidate the activate // state/status prior to deleting the item. Otherwise, WordPress will keep // that state, and as soon as you install the same plugin it will be automatically // activated since it's previous state was kept. deactivate_plugins($info['plugin_path']); $deleted = delete_plugins(array($info['plugin_path'])); if ($deleted) { $result = array('deleted' => true, 'info' => $this->_get_plugin_info($query), 'last_state' => $info); } else { return $this->_generic_error_response('delete_plugin_failed', array( 'plugin' => $query['plugin'], 'error_code' => 'delete_plugin_failed', 'info' => $info )); } } else { return $this->_generic_error_response('plugin_not_installed', array( 'plugin' => $query['plugin'], 'error_code' => 'plugin_not_installed', 'info' => $info )); } return $this->_response($result); } /** * Updates/upgrade the plugin * * @param array $query Parameter array containing the filesystem credentials entered by the user along with the plugin name and slug * @return array Contains the result of the current process */ public function update_plugin($query) { $fields = array('plugin', 'slug'); $permissions = array('update_plugins'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); // Make sure that we still have the plugin installed before running // the update process $info = $this->_get_plugin_info($query); if ($info['installed']) { // Load the updates command class if not existed if (!class_exists('UpdraftCentral_Updates_Commands')) include_once('updates.php'); $update_command = new UpdraftCentral_Updates_Commands($this->rc); $result = $update_command->update_plugin($info['plugin_path'], $query['slug']); if (!empty($result['error'])) { $result['values'] = array('plugin' => $query['plugin'], 'info' => $info); } } else { return $this->_generic_error_response('plugin_not_installed', array( 'plugin' => $query['plugin'], 'error_code' => 'plugin_not_installed', 'info' => $info )); } return $this->_response($result); } /** * Gets the plugin information along with its active and install status * * @internal * @param array $query Contains either the plugin name or slug or both to be used when retrieving information * @return array */ private function _get_plugin_info($query) { $info = array( 'active' => false, 'installed' => false ); // Clear plugin cache so that newly installed/downloaded plugins // gets reflected when calling "get_plugins" if (function_exists('wp_clean_plugins_cache')) { wp_clean_plugins_cache(); } // Gets all plugins available. $get_plugins = get_plugins(); // Loops around each plugin available. foreach ($get_plugins as $key => $value) { $slug = $this->extract_slug_from_info($key, $value); // If the plugin name matches that of the specified name, it will gather details. // In case name check isn't enough, we'll use slug to verify if the plugin being queried is actually installed. // // Reason for name check failure: // Due to plugin name inconsistencies - where wordpress.org registered plugin name is different // from the actual plugin files's metadata (found inside the plugin's PHP file itself). if ((!empty($query['plugin']) && html_entity_decode($value['Name']) === html_entity_decode($query['plugin'])) || (!empty($query['slug']) && $slug === $query['slug'])) { $info['installed'] = true; $info['active'] = is_plugin_active($key); $info['plugin_path'] = $key; $info['data'] = $value; $info['name'] = $value['Name']; $info['slug'] = $slug; break; } } return $info; } /** * Extract the slug from the plugin data * * @param string $key They key of the current info * @param array $info Data pulled from the plugin file * * @return string */ private function extract_slug_from_info($key, $info) { if (!is_array($info) || empty($info) || empty($key)) return ''; $temp = explode('/', $key); // With WP standards textdomain must always be equal to the plugin's folder name // but for premium plugins this may not always be the case thus, we extract the folder // name from the key as the default slug. $slug = basename($temp[0], '.php'); if (!empty($info['TextDomain']) && 1 === count($temp)) { // For plugin without folder we compare the extracted slug with the 'TextDomain' // and if they're not equal then 'TextDomain' will assume as slug. if ($slug != $info['TextDomain']) $slug = $info['TextDomain']; } // If in case the user kept the hello-dolly plugin then we'll make sure that it gets // the proper slug for it, otherwise, we'll end up with the wrong slug 'hello' instead of // 'hello-dolly'. Wrong slug will produce error in UpdraftCentral when running it against // wordpress.org for further information retrieval. $slug = ('Hello Dolly' === $info['Name']) ? 'hello-dolly' : $slug; return $slug; } /** * Loads all available plugins with additional attributes and settings needed by UpdraftCentral * * @param array $query Parameter array Any available parameters needed for this action * @return array Contains the result of the current process */ public function load_plugins($query) { $permissions = array('install_plugins', 'activate_plugins'); if (is_multisite() && !is_super_admin(get_current_user_id())) $permissions = array('activate_plugins'); $error = $this->_validate_fields_and_capabilities($query, array(), $permissions); if (!empty($error)) { return $error; } $website = get_bloginfo('name'); $results = array(); // Load the updates command class if not existed if (!class_exists('UpdraftCentral_Updates_Commands')) include_once('updates.php'); $updates = new UpdraftCentral_Updates_Commands($this->rc); // Get plugins for update $plugin_updates = $updates->get_item_updates('plugins'); // Get all plugins $plugins = get_plugins(); if (is_multisite() && !is_super_admin(get_current_user_id())) { // If the "Plugins" menu is disabled for the subsites on a multisite // network then we return an empty "plugins" array. $menu_items = get_site_option('menu_items'); if (empty($menu_items) || !isset($menu_items['plugins'])) { $plugins = array(); } else { $show_network_active = apply_filters('show_network_active_plugins', current_user_can('manage_network_plugins')); $filtered_plugins = array(); foreach ($plugins as $file => $data) { if (is_network_only_plugin($file) && !is_plugin_active($file)) { if ($show_network_active) $filtered_plugins[$file] = $data; } elseif (is_plugin_active_for_network($file)) { if ($show_network_active) $filtered_plugins[$file] = $data; } else { $filtered_plugins[$file] = $data; } } $plugins = $filtered_plugins; } } foreach ($plugins as $key => $value) { $slug = $this->extract_slug_from_info($key, $value); $plugin = new stdClass(); $plugin->name = $value['Name']; $plugin->description = $value['Description']; $plugin->slug = $slug; $plugin->version = $value['Version']; $plugin->author = $value['Author']; $plugin->status = is_plugin_active($key) ? 'active' : 'inactive'; $plugin->website = $website; $plugin->multisite = is_multisite(); $plugin->site_url = trailingslashit(get_bloginfo('url')); if (!empty($plugin_updates[$key])) { $update_info = $plugin_updates[$key]; if (version_compare($update_info->Version, $update_info->update->new_version, '<')) { if (!empty($update_info->update->new_version)) $plugin->latest_version = $update_info->update->new_version; if (!empty($update_info->update->package)) $plugin->download_link = $update_info->update->package; if (!empty($update_info->update->sections)) $plugin->sections = $update_info->update->sections; } } if (empty($plugin->short_description) && !empty($plugin->description)) { // Only pull the first sentence as short description, it should be enough rather than displaying // an empty description or a full blown one which the user can access anytime if they press on // the view details link in UpdraftCentral. $temp = explode('.', $plugin->description); $short_description = $temp[0]; // Adding the second sentence wouldn't hurt, in case the first sentence is too short. if (isset($temp[1])) $short_description .= '.'.$temp[1]; $plugin->short_description = $short_description.'.'; } $results[] = $plugin; } $result = array( 'plugins' => $results, 'is_super_admin' => is_super_admin(), ); $result = array_merge($result, $this->_get_backup_credentials_settings(WP_PLUGIN_DIR)); return $this->_response($result); } /** * Gets the backup and security credentials settings for this website * * @param array $query Parameter array Any available parameters needed for this action * @return array Contains the result of the current process */ public function get_plugin_requirements() { return $this->_response($this->_get_backup_credentials_settings(WP_PLUGIN_DIR)); } } central/modules/posts.php000064400000203751147400355670011550 0ustar00switched = switch_to_blog($blog_id); } } /** * Function that gets called after every action * * @param string $command a string that corresponds to UDC command to call a certain method for this class. * @param array $data an array of data post or get fields * @param array $extra_info extrainfo use in the udrpc_action, e.g. user_id * * link to udrpc_action main function in class UpdraftCentral_Listener */ public function _post_action($command, $data, $extra_info) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found, VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable // Here, we're restoring to the current (default) blog before we switched if ($this->switched) restore_current_blog(); } /** * Returns the keys and fields names that are associated to a particular module type * * @param string $type The type of the module that the current request is processing * * @return array */ private function get_state_fields_by_type($type) { $state_fields = array( 'post' => array( 'validation_fields' => array('publish_posts', 'edit_posts', 'delete_posts'), 'items_key' => 'posts', 'count_key' => 'posts_count', 'list_key' => 'posts', 'result_key' => 'get', 'error_key' => 'post_state_change_failed' ), 'page' => array( 'validation_fields' => array('publish_pages', 'edit_pages', 'delete_pages'), 'items_key' => 'pages', 'count_key' => 'pages_count', 'list_key' => 'pages', 'result_key' => 'get', 'error_key' => 'page_state_change_failed' ) ); if (!isset($state_fields[$type])) return array(); return $state_fields[$type]; } /** * Fetch and retrieves posts based from the submitted parameters * * @param array $params Containing all the needed information to filter the results of the current request * @return array */ public function get($params) { $state_fields = $this->get_state_fields_by_type($this->post_type); if (empty($state_fields)) return $this->_generic_error_response('unsupported_type_on_get_posts'); $error = $this->_validate_capabilities($state_fields['validation_fields']); if (!empty($error)) return $error; // check paged parameter; if empty set to defaults $paged = !empty($params['paged']) ? (int) $params['paged'] : 1; $numberposts = !empty($params['numberposts']) ? (int) $params['numberposts'] : 10; $offset = ($paged - 1) * $numberposts; $args = array( 'posts_per_page' => $numberposts, 'paged' => $paged, 'offset' => $offset, 'post_type' => $this->post_type, 'post_status' => 'publish,private,draft,pending,future', ); if (!empty($params['keyword'])) { $args['s'] = $params['keyword']; } if ('post' == $this->post_type) { if (!empty($params['category'])) { $args['cat'] = (int) $params['category']; } } if (!empty($params['date'])) { list($monthnum, $year) = explode(':', $params['date']); $args['monthnum'] = $monthnum; $args['year'] = $year; } if (!empty($params['status']) && 'all' !== $params['status']) { $args['post_status'] = $params['status']; } $query = new WP_Query($args); $result = $query->posts; $count_posts = (int) $query->found_posts; $page_count = 0; if ($count_posts > 0) { $page_count = absint($count_posts / $numberposts); $remainder = absint($count_posts % $numberposts); $page_count = ($remainder > 0) ? ++$page_count : $page_count; } $info = array( 'page' => $paged, 'pages' => $page_count, 'results' => $count_posts, 'items_from' => (($paged * $numberposts) - $numberposts) + 1, 'items_to' => ($paged == $page_count) ? $count_posts : $paged * $numberposts, ); $posts = array(); if (!empty($result)) { foreach ($result as $post) { // Pulling any other relevant and additional information regarding // the post before returning it in the response. $postdata = $this->get_postdata($post, false); if (!empty($postdata)) { array_push($posts, $postdata); } } } $response = array( $state_fields['items_key'] => $posts, 'options' => $this->get_options($this->post_type), 'info' => $info, $state_fields['count_key'] => $this->get_post_status_counts($this->post_type) ); // Load any additional information if preload parameter is set. Will only be // requested on initial load of items in UpdraftCentral. if (isset($params['preload']) && $params['preload']) { $timeout = !empty($params['timeout']) ? $params['timeout'] : 30; $response = array_merge($response, $this->get_preload_data($timeout, $this->post_type)); } return $this->_response($response); } /** * Extracts public properties from complex object and return a simple * object (stdClass) that contains the public properties of the original object. * * @param object $obj Any type of complex objects that needs converting (e.g. WP_Taxonomy, WP_Term or WP_User) * @return stdClass */ protected function trim_object($obj) { // To preserve the object's accessibility through its properties we recreate // the object using the stdClass and fill it with the public properties // that will be extracted from the original object ($obj). $newObj = new stdClass(); if (is_object($obj)) { // Making sure that we only extract those publicly accessible properties excluding // the private, protected, static ones and methods. $props = get_object_vars($obj); if (!empty($props)) { foreach ($props as $key => $value) { $newObj->{$key} = $value; } } } return $newObj; } /** * Retrieves information that will be preloaded in UC for quick and easy access * when editing a certain page or post * * @param int $timeout The user-defined timeout from UpdraftCentral * @param string $type The type of the module that the current request is processing * * @return array */ protected function get_preload_data($timeout, $type = 'post') { global $updraftcentral_host_plugin, $updraftcentral_main; if (!function_exists('get_page_templates')) { require_once(ABSPATH.'wp-admin/includes/theme.php'); } $templates = ('post' == $type) ? get_page_templates(null, 'post') : get_page_templates(); if (!empty($templates)) { $templates = array_flip($templates); if (!isset($templates['default'])) { $templates['default'] = $updraftcentral_host_plugin->retrieve_show_message('default_template'); } } // Preloading elements saves time and avoid unnecessary round trips to fetch // these information individually. $authors = $this->get_authors(); $parent_pages = $this->get_parent_pages(); $data = array( 'authors' => $authors['data']['authors'], 'parent_pages' => $parent_pages['data']['pages'], 'templates' => $templates, 'editor_styles' => $this->get_editor_styles($timeout), 'wp_version' => $updraftcentral_main->get_wordpress_version() ); if ('post' == $type) { $categories = $this->get_categories(); $tags = $this->get_tags(); $data['taxonomies'] = $this->get_taxonomies(); $data['categories'] = $categories['data']; $data['tags'] = $tags['data']; } global $post; $context = class_exists('WP_Block_Editor_Context') ? new WP_Block_Editor_Context(array('post' => $post)) : $post; // Load block patterns from w.org. if (function_exists('_load_remote_block_patterns')) _load_remote_block_patterns(); if (function_exists('_load_remote_featured_patterns')) _load_remote_featured_patterns(); $block_types = class_exists('WP_Block_Type_Registry') ? WP_Block_Type_Registry::get_instance()->get_all_registered() : array(); $block_patterns = class_exists('WP_Block_Patterns_Registry') ? WP_Block_Patterns_Registry::get_instance()->get_all_registered() : array(); $block_pattern_categories = class_exists('WP_Block_Pattern_Categories_Registry') ? WP_Block_Pattern_Categories_Registry::get_instance()->get_all_registered() : array(); $block_styles = class_exists('WP_Block_Styles_Registry') ? WP_Block_Styles_Registry::get_instance()->get_all_registered() : array(); $block_data = array( 'block_categories' => get_block_categories($context), 'block_definitions' => get_block_editor_server_block_settings(), 'block_types' => $block_types, 'block_patterns' => $block_patterns, 'block_pattern_categories' => $block_pattern_categories, 'block_styles' => $block_styles ); $data = array_merge($data, $block_data); return array( 'preloaded' => json_encode($data) ); } /** * Extract content from the given css path * * @param string $style CSS file path * @param int $timeout The user-defined timeout from UpdraftCentral * @return array */ protected function extract_css_content($style, $timeout) { $content = ''; if (1 === preg_match('~^(https?:)?//~i', $style)) { $response = wp_remote_get($style, array('timeout' => $timeout)); if (!is_wp_error($response)) { $result = trim(wp_remote_retrieve_body($response)); if (!empty($result)) $content = $result; } } else { // Editor styles that resides in "css/dist" if (false !== ($pos = stripos($style, 'css/dist'))) { $file = ABSPATH.WPINC.substr_replace($style, '/', 0, $pos); } else { // Styles that resides in "wp-content/themes" (coming from $editor_styles global var) $file = get_theme_file_path($style); } $is_valid = (function_exists('is_file')) ? is_file($file) : file_exists($file); if ($is_valid) { $result = trim(file_get_contents($file)); if (!empty($result)) $content = $result; } } return $this->extract_custom_fonts($this->filter_url($content)); } /** * Extract custom fonts defined within the css content. Basically, * separating custom font (@font-face) rules from the Style/css content. * * @param string $content Style content * @return array */ protected function extract_custom_fonts($content) { $fonts = array(); while ($start = strpos($content, '@font-face')) { $end = strpos($content, '}', $start) + 1; $length = $end - $start; $font = substr($content, $start, $length); $fonts[]= $this->update_font_src($font); $content = str_replace($font, '', $content); } return array( 'content' => $content, 'fonts' => $fonts ); } /** * Updates the font URL to point to the UpdraftCentral "load_font" action * * @param string $font Font-face definition/content * @return string */ protected function update_font_src($font) { $start = strpos($font, 'src:') + 4; $end = strpos($font, ';', $start); $length = $end - $start; $src = trim(substr($font, $start, $length)); $temp = explode(' ', $src); preg_match('/^url\((.*)\)$/i', $temp[0], $matches); $url = ''; if (!empty($matches)) { $url = trim(trim($matches[1], "'"), '"'); if (strlen($url)) { $font_url = 'CENTRAL_URL/?udcentral_action=load_font&font='.urlencode($url); $font = str_replace($url, $font_url, $font); } } return $font; } /** * Convert URL entries contained in the CSS content to absolute URLs * * @param string $content The content of the CSS file * @return string */ protected function filter_url($content) { // Replace with valid URL (absolute) preg_match_all('~url\((.+?)\)~i', $content, $all_matches); if (!empty($all_matches) && isset($all_matches[1])) { $urls = array_unique($all_matches[1]); foreach ($urls as $url) { $url = str_replace('"', '', $url); if (false !== strpos($url, 'data:')) continue; if (1 !== preg_match('~^(https?:)?//~i', $url)) { if (1 === preg_match('~(plugins|themes)~i', $url, $matches)) { if (false !== ($pos = stripos($url, $matches[1]))) { if (!function_exists('content_url')) { require_once ABSPATH.WPINC.'/link-template.php'; } $absolute_url = rtrim(content_url(), '/').substr_replace($url, '/', 0, $pos); $content = str_replace($url, $absolute_url, $content); } } else { $path = preg_replace('~(\.+\/)~', '', $url); $dirpath = trailingslashit(get_stylesheet_directory()); if (!file_exists($dirpath.$url)) $path = $this->resolve_path($path); $absolute_url = (!empty($path)) ? trailingslashit(get_stylesheet_directory_uri()).ltrim($path, '/') : ''; $content = str_replace($url, $absolute_url, $content); } } } } return $content; } /** * Resolve URL to its actual absolute path * * @param string $path Some relative path to check * @return string */ protected function resolve_path($path) { $dir = trailingslashit(get_stylesheet_directory()); // Some relative paths declared within the css file (e.g. only has '../fonts/etc/', called deep down from a subfolder) where parent // subfolder is not articulated needs to be resolve further to get its actual absolute path. Using glob will pinpoint its actual location // rather than iterating through a series of sublevels just to find the actual file. $result = str_replace($dir, '', glob($dir.'{,*/}{'.$path.'}', GLOB_BRACE)); if (!empty($result)) return $result[0]; return false; } /** * Retrieves block editor assets for iframe. * * @return string */ protected function get_iframed_editor_assets() { $script_handles = array(); $style_handles = array( 'wp-block-editor', 'wp-block-library', 'wp-block-library-theme', 'wp-edit-blocks', ); if (class_exists('WP_Block_Type_Registry')) { $block_registry = WP_Block_Type_Registry::get_instance(); foreach ($block_registry->get_all_registered() as $block_type) { if (!empty($block_type->style)) { if (is_array($block_type->style)) { $style_handles = array_merge($style_handles, $block_type->style); } else { $style_handles[] = $block_type->style; } } if (!empty($block_type->editor_style)) { if (is_array($block_type->editor_style)) { $style_handles = array_merge($style_handles, $block_type->editor_style); } else { $style_handles[] = $block_type->editor_style; } } if (!empty($block_type->script)) { if (is_array($block_type->script)) { $script_handles = array_merge($script_handles, $block_type->script); } else { $script_handles[] = $block_type->script; } } } } $style_handles = array_unique($style_handles); $done = wp_styles()->done; ob_start(); // We do not need reset styles for the iframed editor. wp_styles()->done = array('wp-reset-editor-styles'); wp_styles()->do_items($style_handles); wp_styles()->done = $done; $styles = ob_get_clean(); $script_handles = array_unique($script_handles); $done = wp_scripts()->done; ob_start(); wp_scripts()->done = array(); wp_scripts()->do_items($script_handles); wp_scripts()->done = $done; $scripts = ob_get_clean(); return wp_json_encode(array( 'styles' => $styles, 'scripts' => $scripts, )); } /** * Retrieve the editor styles/assets to be use by UpdraftCentral when editing a post * * @param int $timeout The user-defined timeout from UpdraftCentral * @return array() */ protected function get_editor_styles($timeout) { global $editor_styles, $wp_styles; $editing_styles = $loaded = array(); $fonts = ''; $required = array('css/dist/editor/style.css', 'css/dist/block-library/style.css', 'css/dist/block-library/theme.css'); foreach ($required as $style) { $result = $this->extract_css_content($style, $timeout); if (!empty($result['fonts'])) $fonts .= implode('', $result['fonts']); $editing_styles[] = array('css' => $result['content'], 'inline' => ''); }; do_action('enqueue_block_assets'); do_action('enqueue_block_editor_assets'); do_action('wp_enqueue_scripts'); // Checking for editor styles support since styles may vary from theme to theme if ($editor_styles) { foreach ($editor_styles as $style) { if (false !== array_search($style, $loaded)) continue; $result = $this->extract_css_content($style, $timeout); if (!empty($result['fonts'])) $fonts .= implode('', $result['fonts']); $editing_styles[] = array('css' => $result['content'], 'inline' => ''); $loaded[] = $style; } } if ($wp_styles) { foreach ($wp_styles->queue as $handle) { $style = $wp_styles->registered[$handle]->src; if (false !== array_search($style, $loaded)) continue; $result = $this->extract_css_content($style, $timeout); if (!empty($result['fonts'])) $fonts .= implode('', $result['fonts']); $inline_style = $wp_styles->print_inline_style($handle, false); if ($inline_style) { $inline_result = $this->extract_custom_fonts($inline_style); if (!empty($inline_result['fonts'])) $fonts .= implode('', $inline_result['fonts']); } $editing_styles[] = array( 'css' => $result['content'], 'inline' => (!$inline_style) ? '' : $inline_result['content'] ); $loaded[] = $style; } } // Introduced in 5.9.0 if (function_exists('wp_get_global_stylesheet')) { $result = $this->extract_custom_fonts(wp_get_global_stylesheet()); if (!empty($result['fonts'])) $fonts .= implode('', $result['fonts']); $editing_styles[] = array('css' => $result['content'], 'inline' => ''); } // Introduced in 5.8.0 if (function_exists('get_block_editor_settings')) { $block_editor_context = new WP_Block_Editor_Context(); $settings = get_block_editor_settings(array(), $block_editor_context); // Don't render but instead attached to the editor before load. // We let the editor render these kind of styles as they need to be prefixed // by the editor based on the current context. // // N.B. Leave the 'css' property empty. It is used for downward compatibility. $editing_styles[] = array('editor_css' => $settings['styles'], 'inline' => '', 'css' => ''); // Get editor assets (e.g. styles) for iframe, mostly used for previewing blocks and patterns $editing_styles[] = array('editor_assets' => $this->get_iframed_editor_assets(), 'inline' => '', 'css' => ''); } $result = $this->extract_css_content('/style.css', $timeout); if (!empty($result['fonts'])) $fonts .= implode('', $result['fonts']); $editing_styles[] = array('css' => $result['content'], 'inline' => ''); if (strlen($fonts)) { $editing_styles[] = array('font_css' => $fonts, 'inline' => '', 'css' => ''); } // These styles are used if the "no theme styles" options is triggered or on // themes without their own editor styles. $default_editor_styles_file = ABSPATH.WPINC.'/css/dist/block-editor/default-editor-styles.css'; if (file_exists($default_editor_styles_file)) { $editing_styles[] = array('default_editor_css' => file_get_contents($default_editor_styles_file), 'inline' => '', 'css' => ''); } // Extract fonts from theme.json if the current theme supports it $resolver = ABSPATH.WPINC.'/class-wp-theme-json-resolver.php'; if (!class_exists('WP_Theme_JSON_Resolver') && file_exists($resolver)) { require_once($resolver); } $theme_has_support = false; if (function_exists('wp_theme_has_theme_json')) { $theme_has_support = wp_theme_has_theme_json(); } else { if (class_exists('WP_Theme_JSON_Resolver')) { $theme_has_support = WP_Theme_JSON_Resolver::theme_has_support(); } } if (class_exists('WP_Theme_JSON_Resolver') && $theme_has_support) { $theme_json = ABSPATH.WPINC.'/class-wp-theme-json.php'; if (!class_exists('WP_Theme_JSON') && file_exists($theme_json)) require_once($theme_json); $theme_json_instance = WP_Theme_JSON_Resolver::get_theme_data(); if ($theme_json_instance) { $settings = $theme_json_instance->get_settings(); $theme_fonts = ''; if (isset($settings['typography']) && isset($settings['typography']['fontFamilies'])) { $font_families = $settings['typography']['fontFamilies']; if (isset($font_families['theme'])) { foreach ($font_families['theme'] as $theme) { if (isset($theme['fontFace'])) { foreach ($theme['fontFace'] as $font) { $theme_fonts .= '@font-face {'; $keys = array_keys($font); foreach ($keys as $key) { if (false !== stripos($key, 'font')) { $prop = 'font-'.strtolower(str_replace('font', '', $key)); $theme_fonts .= $prop.': '.$font[$key].';'; } elseif (false !== stripos($key, 'src')) { foreach ($font['src'] as $src_file) { $url = trailingslashit(get_stylesheet_directory_uri()).str_replace('file:./', '', $src_file); $theme_fonts .= 'src: url(CENTRAL_URL/?udcentral_action=load_font&font='.urlencode($url).');'; } } } $theme_fonts .= '}'; } } } } } $editing_styles[] = array('theme_json_fonts' => $theme_fonts, 'inline' => '', 'css' => ''); } } return $editing_styles; } /** * Retrieves the total number of items found under each post statuses * * @param string $type The type of the module that the current request is processing * * @return array */ protected function get_post_status_counts($type = 'post') { $posts = wp_count_posts($type); $publish = (int) $posts->publish; $private = (int) $posts->private; $draft = (int) $posts->draft; $pending = (int) $posts->pending; $future = (int) $posts->future; $trash = (int) $posts->trash; // We exclude "trash" from the overall total as WP doesn't actually // consider or include it in the total count. $all = $publish + $private + $draft + $pending + $future; return array( 'all' => $all, 'publish' => $publish, 'private' => $private, 'draft' => $draft, 'pending' => $pending, 'future' => $future, 'trash' => $trash, ); } /** * Retrieves a collection of formatted dates found for the given post statuses. * It will be used as options for the date filter when managing the posts in UpdraftCentral. * * @param string $type The type of the module that the current request is processing * * @return array */ protected function get_date_options($type = 'post') { global $wpdb; $date_options = $wpdb->get_col("SELECT DATE_FORMAT(`post_date`, '%M %Y') as `formatted_post_date` FROM {$wpdb->posts} WHERE `post_type` = '{$type}' AND `post_status` IN ('publish', 'private', 'draft', 'pending', 'future') GROUP BY `formatted_post_date` ORDER BY `post_date` DESC"); return $date_options; } /** * Make sure that we have the required fields to use in UpdraftCentral for * displaying the categories and tags sections. Add if missing. * * @param object $item Taxonomy item to check * @return object */ protected function map_tax($item) { $taxs = array('category' => 'categories', 'post_tag' => 'tags'); if (array_key_exists($item->name, $taxs)) { if (!isset($item->show_in_rest)) $item->show_in_rest = true; if (!isset($item->rest_base)) $item->rest_base = $taxs[$item->name]; } return $item; } /** * Fetch and retrieves available taxonomies for this site and some capabilities specific * to tags and categories when managing them. * * @return array */ protected function get_taxonomies() { $taxonomies = get_taxonomies(array(), 'objects'); $taxonomies = array_map(array($this, 'map_tax'), $taxonomies); $response = array( 'taxonomies' => $taxonomies, 'current_user_cap' => array( 'manage_categories' => current_user_can('manage_categories'), 'edit_categories' => current_user_can('edit_categories'), 'delete_categories' => current_user_can('delete_categories'), 'assign_categories' => current_user_can('assign_categories'), 'manage_post_tags' => current_user_can('manage_post_tags'), 'edit_post_tags' => current_user_can('edit_post_tags'), 'delete_post_tags' => current_user_can('delete_post_tags'), 'assign_post_tags' => current_user_can('assign_post_tags'), ) ); return $response; } /** * Fetch and retrieves categories based from the submitted parameters * * @param array $query Containing all the needed information to filter the results of the current request * @return array */ public function get_categories($query = array()) { $page = !empty($query['page']) ? (int) $query['page'] : 1; $items_per_page = !empty($query['per_page']) ? (int) $query['per_page'] : 100; $offset = ($page - 1) * $items_per_page; $order = !empty($query['order']) ? $query['order'] : 'asc'; $orderby = !empty($query['orderby']) ? $query['orderby'] : 'name'; $args = array( 'hide_empty' => false, 'orderby' => $orderby, 'order' => $order, 'number' => $items_per_page, 'offset' => $offset ); $categories = get_categories($args); $category_options = array(); if (!empty($categories)) { foreach ($categories as $key => $term) { $parent_term = get_term((int) $term->parent, $term->taxonomy); if (!is_wp_error($parent_term) && !is_null($parent_term)) { $parent_term = json_encode($this->trim_object($parent_term)); } else { $parent_term = ''; } $category_options[] = array( 'id' => $term->term_id, 'name' => $term->name, 'parent' => $term->parent ); $categories[$key] = array( 'term' => json_encode($this->trim_object($term)), 'misc' => array( 'link' => get_term_link($term), 'parent_term' => $parent_term, 'taxonomy' => $term->taxonomy ) ); } } $categorytax = get_taxonomy('category'); $parent_dropdown_args = array( 'taxonomy' => 'category', 'hide_empty' => 0, 'name' => 'newcategory_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '— '.$categorytax->labels->parent_item.' —', 'echo' => false ); $parent_dropdown_args = apply_filters('post_edit_category_parent_dropdown_args', $parent_dropdown_args); $parent_dropdown = wp_dropdown_categories($parent_dropdown_args); if (!function_exists('wp_popular_terms_checklist')) { require_once ABSPATH . 'wp-admin/includes/template.php'; } ob_start(); wp_popular_terms_checklist('category'); $popular_terms_checklist = ob_get_contents(); ob_end_clean(); return $this->_response(array( 'terms' => $categories, 'misc' => array( 'formatted' => $category_options, 'raw' => $categories, 'tax' => json_encode($this->trim_object($categorytax)), 'popular' => $popular_terms_checklist, 'parent_dropdown' => $parent_dropdown, 'capabilities' => array( 'can_edit_terms' => current_user_can($categorytax->cap->edit_terms) ) ) )); } /** * Fetch and retrieves tags based from the submitted parameters * * @param array $query Containing all the needed information to filter the results of the current request * @return array */ public function get_tags($query = array()) { $page = !empty($query['page']) ? (int) $query['page'] : 1; $items_per_page = !empty($query['per_page']) ? (int) $query['per_page'] : 100; $offset = ($page - 1) * $items_per_page; $order = !empty($query['order']) ? $query['order'] : 'desc'; $orderby = !empty($query['orderby']) ? $query['orderby'] : 'count'; $args = array( 'hide_empty' => false, 'orderby' => $orderby, 'order' => $order, 'number' => $items_per_page, 'offset' => $offset ); $tags = get_tags($args); $tag_options = array(); $tag_cloud = ''; if (!empty($tags)) { $tags_for_cloud = array(); foreach ($tags as $key => $term) { if (!isset($term->link)) $term->link = get_tag_link($term->term_id); array_push($tags_for_cloud, $term); $parent_term = get_term((int) $term->parent, $term->taxonomy); if (!is_wp_error($parent_term) && !is_null($parent_term)) { $parent_term = json_encode($this->trim_object($parent_term)); } else { $parent_term = ''; } $tag_options[] = array( 'id' => $term->term_id, 'name' => $term->name, ); $tags[$key] = array( 'term' => json_encode($this->trim_object($term)), 'misc' => array( 'link' => get_term_link($term), 'parent_term' => $parent_term, 'taxonomy' => $term->taxonomy ) ); } add_filter('tag_cloud_sort', array($this, 'sort_tag_cloud'), 9, 2); if (!function_exists('wp_generate_tag_cloud')) { require_once ABSPATH.WPINC.'/category-template.php'; } $tag_cloud = wp_generate_tag_cloud($tags_for_cloud, array( 'smallest' => 10, 'largest' => 22, 'unit' => 'pt', 'number' => 10, 'format' => 'flat', 'separator' => " ", 'orderby' => 'count', 'order' => 'DESC', 'show_count' => 1, 'echo' => false )); } $tagtax = get_taxonomy('post_tag'); return $this->_response(array( 'terms' => $tags, 'misc' => array( 'formatted' => $tag_options, 'raw' => $tags, 'tax' => json_encode($this->trim_object($tagtax)), 'tag_cloud' => $tag_cloud, 'capabilities' => array( 'can_assign_terms' => current_user_can($tagtax->cap->assign_terms) ) ) )); } /** * Sorts the tag items that are to be shown within the tag cloud * * @param array $tags The array to be sorted. Contains the tag items * @param array $args Additional parameters needed for the sorting process * @return array */ public function sort_tag_cloud($tags, $args) { uasort($tags, array($this, '_wp_object_count_sort_cb')); if ('DESC' === $args['order']) { $tags = array_reverse($tags, true); } return $tags; } /** * Serves as a callback for comparing objects based on count. Copied from WordPress 5.7 * core (wp-includes/category-template.php) and tweaked to return integer instead of boolean * because returning boolean using uasort is now DEPRECATED in PHP 8. * * Used with `uasort()`. * * @since 3.1.0 * @access private * * @param object $a The first object to compare. * @param object $b The second object to compare. * @return bool Whether the count value for `$a` is greater than the count value for `$b`. */ public function _wp_object_count_sort_cb($a, $b) { if ($a->count == $b->count) { return 0; } return ( $a->count > $b->count ) ? 1 : -1; } /** * Fetch all available taxonomies and terms information for the given post object * * @param array $post The "Post" object to use when retrieving the information * @return array */ protected function get_taxonomies_terms($post) { $taxonomies = get_object_taxonomies($post->post_type, 'objects'); $taxonomies = array_map(array($this, 'map_tax'), $taxonomies); $taxonomy_names = array(); $taxonomy_terms = array(); $taxonomy_caps = array(); foreach ($taxonomies as $taxonomy) { $terms = get_the_terms($post->ID, $taxonomy->name); $terms = !is_array($terms) ? (array) $terms : $terms; $taxonomy_terms[$taxonomy->name] = $terms; $taxonomy_caps[$taxonomy->name] = array( 'hierarchical' => is_taxonomy_hierarchical($taxonomy->name), 'edit_terms' => current_user_can($taxonomy->cap->edit_terms), 'assign_terms' => current_user_can($taxonomy->cap->assign_terms), ); array_push($taxonomy_names, $taxonomy->name); } return array( 'objects' => $taxonomies, 'names' => $taxonomy_names, 'terms' => $taxonomy_terms, 'caps' => $taxonomy_caps, ); } /** * Take over the current editing of the post * * @param array $params An array of data that serves as parameters for the given request * @return array */ public function take_over($params) { $error = $this->_validate_capabilities(array('edit_'.$this->post_type.'s')); if (!empty($error)) return $error; $result = array('lock_acquired' => false); if (!empty($params['post_id'])) { if (!function_exists('wp_set_post_lock')) { require_once ABSPATH.'wp-admin/includes/post.php'; } $lock = wp_set_post_lock($params['post_id']); if (!empty($lock)) { $result = array( 'lock_acquired' => true, 'details' => $lock ); } } return $this->_response($result); } /** * Retrieves the underlying data for the given post. Some extra information are * passed along that will be consumed by the editor in UpdraftCentral * * @param int|object $param Post object or a post ID * @param boolean $encode True to encode the post object, false otherwise * @return array */ public function get_postdata($param, $encode = true) { $response = array(); if (is_object($param) && isset($param->ID)) { $post = $param; } elseif (is_numeric($param)) { $post = get_post($param); } if ($post) { $post_type_obj = get_post_type_object($post->post_type); $is_post_type_viewable = false; if (!empty($post_type_obj)) { $is_post_type_viewable = $post_type_obj->publicly_queryable || ($post_type_obj->_builtin && $post_type_obj->public); } if (!function_exists('get_sample_permalink')) { require_once ABSPATH.'wp-admin/includes/post.php'; } // Validate template exists on the current theme, otherwise, // reset the template to default. $template = get_page_template_slug($post->ID); if (!empty($template)) { $page_templates = wp_get_theme()->get_page_templates($post); if ('default' != $template && !isset($page_templates[$template])) { update_post_meta($post->ID, '_wp_page_template', 'default'); } } $published_date = array( 'jj' => date('d', strtotime($post->post_date)), 'mm' => date('m', strtotime($post->post_date)), 'aa' => date('Y', strtotime($post->post_date)), 'hh' => date('H', strtotime($post->post_date)), 'mn' => date('i', strtotime($post->post_date)), 'ss' => date('s', strtotime($post->post_date)) ); $sample_permalink = get_sample_permalink($post->ID, $post->post_title, ''); $permalink = get_permalink($post->ID); $slug = $post->post_name; if (!empty($sample_permalink) && !empty($slug)) { if (isset($sample_permalink[0])) { if (false !== stripos($sample_permalink[0], '%pagename%/') || false !== stripos($sample_permalink[0], '%postname%/')) { $token = (false !== stripos($sample_permalink[0], '%pagename%/')) ? '%pagename%/' : '%postname%/'; $permalink = str_replace($token, '', $sample_permalink[0]).$slug; } } } $editor = null; $editor_id = wp_check_post_lock($post->ID); if ($editor_id) { $editor = get_userdata($editor_id); if (!$editor) { // The user with lock does not exist. This can happen if you created a backup or clone // where you excluded the users table during the process and you restore this backup to // a different site or the user was deleted or removed more recently. Thus, we will // release the lock so that other users with the right permission can edit the post. delete_post_meta($post->ID, '_edit_lock'); } } $response = array( 'post' => $encode ? json_encode($post) : $post, 'misc' => array( 'guid_rendered' => apply_filters('get_the_guid', $post->guid, $post->ID), 'link' => $permalink, 'slug' => $slug, 'site_url' => site_url('/'), 'title_rendered' => get_the_title($post->ID), 'content_rendered' => apply_filters('the_content', $post->post_content), 'excerpt' => $post->post_excerpt, 'featured_media' => 0, 'sticky' => is_sticky($post->ID), 'template' => get_page_template_slug($post->ID), 'permalink_template' => get_permalink($post->ID, true), 'author_name' => get_the_author_meta('display_name', $post->post_author), 'publish_month_year' => date('F Y', strtotime($post->post_date)), 'published_date' => $published_date, 'format' => get_post_format($post->ID), 'post_type_name' => $post_type_obj->name, 'post_type_viewable' => $is_post_type_viewable, 'post_type_public' => $post_type_obj->public, 'post_type_hierarchical' => $post_type_obj->hierarchical, 'sample_permalink' => get_sample_permalink($post->ID, $post->post_title, ''), 'post_password_required' => post_password_required($post), 'post_type_supports_authors' => post_type_supports($post->post_type, 'author'), 'post_type_supports_comments' => post_type_supports($post->post_type, 'comments'), 'post_type_supports_revisions' => post_type_supports($post->post_type, 'revisions'), 'post_revisions' => array(), // N.B. We're not going to allow revisions editing for now 'post_thumbnail_id' => get_post_thumbnail_id($post->ID), 'can_publish_posts' => current_user_can($post_type_obj->cap->publish_posts), 'can_edit_others_posts' => current_user_can($post_type_obj->cap->edit_others_posts), 'can_unfiltered_html' => current_user_can('unfiltered_html'), 'is_edited' => $editor ? 1 : 0, 'editor_id' => $editor_id, 'editor' => $editor, 'edited_by_id' => $editor ? $editor->ID : 0, 'edited_by_display_name' => $editor ? $editor->display_name : '', ) ); if ('post' == $post->post_type) { $taxonomies = $this->get_taxonomies_terms($post); $response['misc']['taxonomy_objects'] = $taxonomies['objects']; $response['misc']['taxonomy_names'] = $taxonomies['names']; $response['misc']['taxonomy_terms'] = $taxonomies['terms']; $response['misc']['taxonomy_caps'] = $taxonomies['caps']; if (!function_exists('wp_popular_terms_checklist') || !function_exists('get_terms_to_edit')) { require_once ABSPATH . 'wp-admin/includes/template.php'; require_once ABSPATH . 'wp-admin/includes/taxonomy.php'; } if (!function_exists('wp_get_post_categories')) { require_once(ABSPATH.WPINC.'/post.php'); } $categories = wp_get_post_categories($post->ID, array('fields' => 'ids')); if (!is_wp_error($categories)) { $response['misc']['categories'] = empty($categories) ? array() : $categories; $terms_to_edit = get_terms_to_edit($post->ID, 'category'); if (!empty($terms_to_edit)) { $response['misc']['categories_list'] = str_replace(',', ', ', $terms_to_edit); } $popular_ids = wp_popular_terms_checklist('category', 0, 10, false); // On WP 3.4 the "wp_terms_checklist" doesn't have an "echo" parameter and will automatically // display the rendered checklist. Therefore, we're going to pull the terms so that all // versions starting from WP 3.4 will pull the content instead of displaying them. ob_start(); // In this call we'll have to set the "echo" parameter to true so that later version of WP // will be able to catch and process it. wp_terms_checklist($post->ID, array('taxonomy' => 'category', 'popular_cats' => $popular_ids, 'echo' => true)); $popular_checklist = ob_get_contents(); ob_end_clean(); $response['misc']['categories_checklist'] = $popular_checklist; ob_start(); wp_terms_checklist($post->ID, array('taxonomy' => 'category', 'checked_ontop' => 0, 'echo' => true)); $quickedit_checklist = ob_get_contents(); ob_end_clean(); $response['misc']['categories_quickedit_checklist'] = $quickedit_checklist; } $tags = wp_get_post_tags($post->ID, array('fields' => 'ids')); if (!is_wp_error($tags)) { $response['misc']['tags'] = empty($tags) ? array() : $tags; $terms_to_edit = get_terms_to_edit($post->ID, 'post_tag'); if (!empty($terms_to_edit)) { $response['misc']['tags_list'] = str_replace(',', ', ', $terms_to_edit); } } } // Naturally, the "featured_media" will suffice when loading the image (media) in // UpdraftCentral since the value in this field is the actual image id of the featured // media used in UC. If we currently don't have an entry in the "featured_media_updraftcentral" meta, // then UC will need to download the featured media (image) for this current post/page // using the "featured_media_url" field (below) if not empty. $featured_media = get_post_meta($post->ID, 'featured_media_updraftcentral', true); if (!empty($featured_media)) { $response['misc']['featured_media'] = $featured_media; } // Retrieve featured media if currently present for the given post/page. // If present, we pull the image (media) URL in case there's a need for // UpdraftCentral to download the image upon loading the editor (e.g. the featured_media id // above no longer exists). $media_id = (int) get_post_thumbnail_id($post->ID); if (!empty($media_id)) { $response['misc']['featured_media_url'] = wp_get_attachment_url($media_id); } else { // The post/page no longer has a "featured_media" or doesn't have one currently, therefore, // we're going to set the "featured_media" and "featured_media_url" fields to both empty to // to avoid any further actions (e.g. download media). $response['misc']['featured_media'] = 0; $response['misc']['featured_media_url'] = ''; } } return $response; } /** * Changes the state/status of the submitted post(s) * * @param array $params An array of data that serves as parameters for the given request * @return array */ public function set_state($params) { $state_fields = $this->get_state_fields_by_type($this->post_type); if (empty($state_fields)) return $this->_generic_error_response('unsupported_type_on_set_state'); $error = $this->_validate_capabilities($state_fields['validation_fields']); if (!empty($error)) return $error; $result = array(); if (!empty($params['list'])) { $posts = array(); foreach ($params['list'] as $id) { $post = $this->apply_state($id, $params['action'], $this->post_type); if (!empty($post)) { array_push($posts, $post); } } if (!empty($posts)) { $result = array($state_fields['list_key'] => $posts); } } elseif (!empty($params['id'])) { $post = $this->apply_state($params['id'], $params['action'], $this->post_type); if (!empty($post)) $result = $post; } if (!empty($result)) { $response = $this->get($params); if (!empty($response['response']) && 'rpcok' === $response['response']) { $result[$state_fields['result_key']] = $response['data']; } return $this->_response($result); } else { return $this->_generic_error_response($state_fields['error_key'], array('action' => $params['action'])); } } /** * Creates new category * * @param array $params An array of data that serves as parameters for the given request * @param boolean $wrap_response Indicates whether to wrap the response based on local or UpdraftCentral calls. Default true. * @return array */ public function add_category($params, $wrap_response = true) { $error = $this->_validate_capabilities(array('manage_categories')); if (!empty($error)) return $error; $name = sanitize_text_field($params['name']); $args = array(); if (!empty($params['parent'])) { $args['parent'] = $params['parent']; } $result = wp_insert_term($name, 'category', $args); if (!is_wp_error($result)) { $term_id = $result['term_id']; $term = get_term($term_id, 'category'); $data = array(); if (!is_wp_error($term)) { $data = array( 'id' => $term->term_id, 'count' => $term->count, 'description' => $term->description, 'link' => get_term_link($term->term_id, 'category'), 'name' => $term->name, 'slug' => $term->slug, 'taxonomy' => $term->taxonomy, 'parent' => $term->parent, 'meta' => array() ); $categories = $this->get_categories(); if ($wrap_response) $data['categories'] = json_encode($categories['data']); } return $wrap_response ? $this->_response($data) : $data; } else { $error = array( 'message' => $result->get_error_message() ); return $wrap_response ? $this->_generic_error_response('post_add_category_failed', $error) : $error; } } /** * Assigns categories to a certain post object * * @param int $post_id The ID of the post object * @param array $category_ids A collection of category IDs to assign to the post object * @return void */ protected function assign_category_to_post($post_id, $category_ids) { if (!empty($category_ids)) { // Making sure that we have the correct type to use and we // don't have any redundant IDs before saving. $category_ids = array_unique(array_map('intval', $category_ids)); // Attach (new) categories to post wp_set_object_terms($post_id, $category_ids, 'category'); } else { wp_set_object_terms($post_id, get_option('default_category'), 'category'); } } /** * Creates new tag * * @param array $params An array of data that serves as parameters for the given request * @param boolean $wrap_response Indicates whether to wrap the response based on local or UpdraftCentral calls. Default true. * @return array */ public function add_tag($params, $wrap_response = true) { // N.B. Since the "manage_post_tags" capability does not exist in WP 3.4. We'll use the "manage_categories" instead. Besides, the "manage_post_tags" along with the other tag-related capabilities in the latest versions are actually mapped to the "manage_categories" capability (refer to wp-includes/capabilities.php under the "map_meta_cap" function). $error = $this->_validate_capabilities(array('manage_categories')); if (!empty($error)) return $error; $name = sanitize_text_field($params['name']); $result = wp_insert_term($name, 'post_tag'); if (!is_wp_error($result)) { $term_id = $result['term_id']; $term = get_term($term_id, 'post_tag'); $data = array(); if (!is_wp_error($term)) { $data = array( 'id' => $term->term_id, 'count' => $term->count, 'description' => $term->description, 'link' => get_term_link($term->term_id, 'post_tag'), 'name' => $term->name, 'slug' => $term->slug, 'taxonomy' => $term->taxonomy, 'meta' => array() ); $tags = $this->get_tags(); if ($wrap_response) $data['tags'] = json_encode($tags['data']); } return $wrap_response ? $this->_response($data) : $data; } else { $error = array( 'message' => $result->get_error_message() ); return $wrap_response ? $this->_generic_error_response('post_add_tag_failed', $error) : $error; } } /** * Assigns tags to a certain post object * * @param int $post_id The ID of the post object * @param array $tag_ids A collection of tag IDs to assign to the post object * @return void */ protected function assign_tag_to_post($post_id, $tag_ids) { if (!empty($tag_ids)) { // Making sure that we have the correct type to use and we // don't have any redundant IDs before saving. $tag_ids = array_unique(array_map('intval', $tag_ids)); // Attach (new) tags to post wp_set_object_terms($post_id, $tag_ids, 'post_tag'); } else { wp_set_object_terms($post_id, null, 'post_tag'); } } /** * Pre-validates data before running the save process * * @param WP_Post $post The post object to validate * @param array $params An array of data that serves as parameters for the given request * * @return array|void */ private function pre_validation($post, $params) { if (empty($post) || empty($params)) return; if (!empty($params['password'])) { if (!empty($params['sticky'])) { return $this->_generic_error_response('post_save_failed', array( 'message' => __('A post can not be sticky and have a password.'), 'args' => $params )); } if (!isset($params['sticky']) && is_sticky($post->ID)) { return $this->_generic_error_response('post_save_failed', array( 'message' => __('A sticky post can not be password protected.'), 'args' => $params )); } } if (!empty($params['sticky'])) { if (!isset($params['password']) && post_password_required($post->ID)) { return $this->_generic_error_response('post_save_failed', array( 'message' => __('A password protected post can not be set to sticky.'), 'args' => $params )); } } } /** * Saves or updates post/page information based from the submitted data * * @param array $params An array of data that serves as parameters for the given request * @return array */ public function save($params) { global $updraftcentral_host_plugin; $validation_fields = array( 'post' => array('publish_posts', 'edit_posts', 'delete_posts'), 'page' => array('publish_pages', 'edit_pages', 'delete_pages') ); if (!isset($validation_fields[$this->post_type])) return $this->_generic_error_response('unsupported_type_on_save_post'); $error = $this->_validate_capabilities($validation_fields[$this->post_type]); if (!empty($error)) return $error; if (!empty($params['id']) || !empty($params['new'])) { $args = array(); if (!empty($params['id'])) { $post = get_post($params['id']); if (!empty($post)) { $result = $this->pre_validation($post, $params); if (isset($result['response']) && 'rpcerror' == $result['response']) { return $result; } } } // post_content if (!empty($params['content'])) $args['post_content'] = $params['content']; // post_excerpt if (!empty($params['excerpt'])) $args['post_excerpt'] = $params['excerpt']; // menu_order if (isset($params['order'])) $args['menu_order'] = (int) $params['order']; // post_parent if (isset($params['parent'])) { $args['post_parent'] = empty($params['parent']) ? 0 : $params['parent']; } // post_name if (!empty($params['slug'])) $args['post_name'] = $params['slug']; // post_status if (!empty($params['status'])) { $args['post_status'] = $params['status']; } // post_title if (!empty($params['title'])) $args['post_title'] = $params['title']; // post_author if (!empty($params['author'])) $args['post_author'] = $params['author']; // comment_status if (!empty($params['comment_status'])) $args['comment_status'] = $params['comment_status']; // ping_status if (!empty($params['ping_status'])) $args['ping_status'] = $params['ping_status']; // visibility if (!empty($params['visibility'])) { switch ($params['visibility']) { case 'public': $args['post_status'] = 'publish'; $args['post_password'] = ''; break; case 'password': $args['post_status'] = 'publish'; $args['post_password'] = $params['password']; break; case 'private': $args['post_status'] = 'private'; $args['post_password'] = ''; break; default: break; } } else { if (!empty($params['password'])) { $args['post_status'] = 'publish'; $args['post_password'] = $params['password']; } elseif (isset($params['password']) && '' == $params['password']) { $args['post_status'] = 'publish'; $args['post_password'] = ''; } } // post/publish date if (!empty($params['date'])) { $datetime = strtotime($params['date']); $post_date = date('Y-m-d H:i:s', $datetime); $args['post_date'] = $post_date; $args['post_date_gmt'] = gmdate('Y-m-d H:i:s', $datetime); // We only change the status to "future" based from the submitted date if the post status // is not empty and equal to 'publish' and the date is for the coming future. if (!empty($params['status']) && 'publish' == $params['status']) { if (strtotime($post_date) > strtotime(date('Y-m-d H:i:s'))) $args['post_status'] = 'future'; } } // Make sure we have a slug/post_name generated before insert/update if (empty($params['slug']) && !empty($params['title'])) { $args['post_name'] = sanitize_title_with_dashes($params['title']); } if (!empty($params['new'])) { $args['post_type'] = $this->post_type; $post_id = wp_insert_post($args, true); } else { $args['ID'] = $params['id']; $args['post_modified'] = date('Y-m-d H:i:s'); $args['post_modified_gmt'] = gmdate('Y-m-d H:i:s'); $post_id = wp_update_post($args, true); } // We have successfully created/updated a post at this point, thus, we'll continue // with implementing the other requested processes and return the result. if (!is_wp_error($post_id)) { // sticky post if (isset($params['sticky'])) { $sticky = (bool) $params['sticky']; if ($sticky) { stick_post($post_id); } else { if (is_sticky($post_id)) { unstick_post($post_id); } } } // template if (!empty($params['template'])) { update_post_meta($post_id, '_wp_page_template', $params['template']); } // featured_media if (isset($params['featured_media'])) { if (!empty($params['featured_media'])) { $featured_media = (int) $params['featured_media']; $attach_continue = true; $url = wp_get_attachment_url($featured_media); if (!empty($url) && !empty($params['featured_media_url']) && $url == $params['featured_media_url']) { set_post_thumbnail($post_id, $featured_media); update_post_meta($post_id, 'featured_media_updraftcentral', $params['featured_media']); $attach_continue = false; } if ($attach_continue) { $featured_media_data = !empty($params['featured_media_data']) ? $params['featured_media_data'] : null; $media_id = $this->attach_remote_image($params['featured_media_url'], $featured_media_data, $post_id); if (!empty($media_id)) { // If we have a successful attachment then add reference to UC's media id update_post_meta($post_id, 'featured_media_updraftcentral', $params['featured_media']); } } } else { // Remove featured image. delete_post_meta($post_id, '_thumbnail_id'); delete_post_meta($post_id, 'featured_media_updraftcentral'); } } // categories $categories_updated = false; if (!empty($params['categories'])) { $term_ids = array(); foreach ($params['categories'] as $value) { $category = sanitize_text_field($value); $parent = 0; if (false !== strpos($category, ':')) { list($parent, $category) = explode(':', $category); $result = $this->add_category(array('name' => $category, 'parent' => $parent), false); if (!empty($result)) { array_push($term_ids, $result['id']); } } else { $term = get_term_by('id', $category, 'category'); if (!empty($term)) { $term_id = $term->term_id; array_push($term_ids, $term_id); } } } $this->assign_category_to_post($post_id, $term_ids); $categories_updated = true; } // tags $tags_updated = false; if (!empty($params['tags'])) { $term_ids = array(); foreach ($params['tags'] as $value) { $tag = sanitize_text_field($value); $field = is_numeric($tag) ? 'id' : 'name'; $term = get_term_by($field, $tag, 'post_tag'); if (!empty($term)) { $term_id = $term->term_id; array_push($term_ids, $term_id); } else { $result = $this->add_tag(array('name' => $tag), false); if (!empty($result)) { array_push($term_ids, $result['id']); } } } $this->assign_tag_to_post($post_id, $term_ids); $tags_updated = true; } // Pulling any other relevant and additional information regarding // the post before returning it in the response. $postdata = $this->get_postdata($post_id); if (!empty($params['new'])) { $timeout = !empty($params['timeout']) ? $params['timeout'] : 30; $postdata = array_merge($postdata, $this->get_preload_data($timeout, $this->post_type)); } else { if ($categories_updated || $tags_updated) { $categories = $this->get_categories(); $tags = $this->get_tags(); $postdata['preloaded'] = json_encode(array( 'categories' => $categories['data'], 'tags' => $tags['data'] )); } } $postdata['options'] = $this->get_options($this->post_type); return $this->_response($postdata); } else { // ERROR: error creating or updating post return $this->_generic_error_response('post_save_failed', array( 'message' => $post_id->get_error_message(), 'args' => $args )); } } else { // ERROR: no id parameter, invalid request return $this->_generic_error_response('post_invalid_request', array('message' => $updraftcentral_host_plugin->retrieve_show_message('parameters_missing'))); } } /** * Fetch and retrieves authors based from the submitted parameters * * @param array $params Containing all the needed information to filter the results of the current request * @return array */ public function get_authors($params = array()) { global $updraftcentral_main; // If expected parameters are empty or does not exists then set them to some default values $page = !empty($params['page']) ? (int) $params['page'] : 1; $per_page = !empty($params['per_page']) ? (int) $params['per_page'] : 15; $offset = ($page - 1) * $per_page; $who = !empty($params['who']) ? $params['who'] : 'authors'; $order = !empty($params['order']) ? strtoupper($params['order']) : 'ASC'; $orderby = !empty($params['orderby']) ? $params['orderby'] : 'display_name'; $get_user_params = array( 'number' => $per_page, 'paged' => $page, 'offset' => $offset, 'order' => $order, 'orderby' => $orderby, ); // WP 5.9 deprecated the 'who' parameter and introduces the 'capability' // parameter, thus we'll be replacing the 'who' parameter in 5.9 or higher if (version_compare($updraftcentral_main->get_wordpress_version(), '5.9', '<')) { $get_user_params['who'] = $who; } else { $get_user_params['capability'] = array('edit_posts'); } $users = get_users($get_user_params); $authors = array(); $locale = get_locale(); foreach ($users as $user) { $data = array( 'user' => json_encode($this->trim_object($user)), 'misc' => array( 'link' => get_author_posts_url($user->ID, $user->user_nicename), 'locale' => function_exists('get_user_locale') ? get_user_locale($user) : $locale, 'registered_date' => date('c', strtotime($user->user_registered)), ) ); array_push($authors, $data); } return $this->_response(array( 'authors' => $authors )); } /** * Fetch and retrieves parent pages based from the submitted parameters * * @param array $params Containing all the needed information to filter the results of the current request * @return array */ public function get_parent_pages($params = array()) { // If expected parameters are empty or does not exists then set them to some default values $page = !empty($params['page']) ? (int) $params['page'] : 1; $per_page = !empty($params['per_page']) ? (int) $params['per_page'] : 100; $offset = ($page - 1) * $per_page; $exclude = !empty($params['exclude']) ? $params['exclude'] : array(); $order = !empty($params['order']) ? strtoupper($params['order']) : 'ASC'; $orderby = !empty($params['orderby']) ? $params['orderby'] : 'menu_order'; $status = !empty($params['status']) ? $params['status'] : 'publish'; $args = array( 'posts_per_page' => $per_page, 'paged' => $page, 'offset' => $offset, 'post__not_in' => $exclude, 'order' => $order, 'orderby' => $orderby, 'post_type' => 'page', 'post_status' => $status, ); $query = new WP_Query($args); $posts = $query->posts; $pages = array(); if (!empty($posts)) { foreach ($posts as $post) { // Get additional information and merge with the response $postdata = $this->get_postdata($post, true); if (!empty($postdata)) array_push($pages, $this->trim_parent_info($postdata)); } } return $this->_response(array( 'pages' => $pages )); } /** * Trim down return data for parent pages * * @param array $postdata The array containing the data to process * @return array */ protected function trim_parent_info($postdata) { if (isset($postdata['post'])) { $post = json_decode($postdata['post']); $page = new stdClass(); $page->ID = $post->ID; $page->post_title = $post->post_title; $page->post_parent = $post->post_parent; $page->post_type = $post->post_type; $page->post_status = $post->post_status; $postdata['post'] = json_encode($page); } return $postdata; } /** * Retrieves pages, templates, authors, categories and tags data that will be * used as options when displayed on the editor in UpdraftCentral * * @param string $type The type of the module that the current request is processing * * @return array */ protected function get_options($type = 'post') { // Primarily used for editor consumption so we don't include trash here. Besides, // trash posts/pages aren't included as parent options. $parent_pages = $this->get_parent_pages(); $pages = $parent_pages['data']['pages']; // Add flexibility by letting users filter the default roles and add their own // custom page/post "author" role(s) if need be. $author_roles = apply_filters('updraftcentral_author_roles', array('administrator', 'editor', 'author', 'contributor')); $authors = get_users(array('role__in' => $author_roles)); if (!function_exists('get_page_templates')) { require_once(ABSPATH.'wp-admin/includes/theme.php'); } $templates = ('post' == $type) ? get_page_templates(null, 'post') : get_page_templates(); $template_options = array(); foreach ($templates as $template => $filename) { $item = array( 'filename' => $filename, 'template' => $template, ); $template_options[] = $item; } $page_options = array(); foreach ($pages as $page_item) { if (isset($page_item['post'])) { $page = json_decode($page_item['post']); $item = array( 'id' => $page->ID, 'title' => $page->post_title, 'parent' => $page->post_parent ); $page_options[] = $item; } } $author_options = array(); foreach ($authors as $user) { $item = array( 'id' => $user->ID, 'name' => $user->display_name, ); $author_options[] = $item; } $response = array( 'page' => $page_options, 'author' => $author_options, 'template' => $template_options, 'date' => $this->get_date_options($type), ); if ('post' == $type) { $categories = get_categories(array('hide_empty' => false, 'orderby' => 'name', 'order' => 'ASC')); $tags = get_tags(array('hide_empty' => false)); $category_options = array(); foreach ($categories as $category) { $item = array( 'id' => $category->term_id, 'name' => $category->name, 'parent' => $category->parent ); $category_options[] = $item; } $tag_options = array(); foreach ($tags as $tag) { $item = array( 'id' => $tag->term_id, 'name' => $tag->name, ); $tag_options[] = $item; } $response['category'] = $category_options; $response['tag'] = $tag_options; } return $response; } /** * Changes the state/status of the given post based from the submitted action/request * * @param int $id The ID of the current page to work on * @param string $action The type of change that the current request is going to apply * @param string $type The type of the module that the current request is processing * * @return array */ protected function apply_state($id, $action, $type = 'post') { if (empty($id)) return false; $post = get_post($id); if (!empty($post)) { $previous_status = $post->post_status; $deleted = false; switch ($action) { case 'draft': $args = array('ID' => $id, 'post_status' => 'draft'); wp_update_post($args); break; case 'trash': wp_trash_post($id); break; case 'publish': $args = array('ID' => $id, 'post_status' => 'publish'); wp_update_post($args); break; case 'restore': $args = array('ID' => $id, 'post_status' => 'pending'); wp_update_post($args); break; case 'delete': $result = wp_delete_post($id, true); if (!empty($result)) $deleted = true; break; default: break; } $postdata = $this->get_postdata($post); if (!empty($postdata) || $deleted) { $data = $deleted ? $id : $postdata; $result = array( 'id' => $id, 'previous_status' => $previous_status ); $result[$type] = $data; return $result; } } return false; } /** * Imports image from UpdraftCentral's page/post editor * * @param string $image_url The URL of the image to import * @param string $image_data The image data to save. If empty, image_url will be used to download the image * @param int $post_id The ID of the page where this image is to be attached * * @return integer */ protected function attach_remote_image($image_url, $image_data, $post_id) { if (empty($image_url) || empty($post_id)) return; $image = pathinfo($image_url); $image_name = $image['basename']; $upload_dir = wp_upload_dir(); if (empty($image_data)) { $response = wp_remote_get($image_url); if (!is_wp_error($response)) { $image_data = wp_remote_retrieve_body($response); } } else { $image_data = base64_decode($image_data); } $media_id = 0; if (!empty($image_data)) { $unique_file_name = wp_unique_filename($upload_dir['path'], $image_name); $filename = basename($unique_file_name); if (wp_mkdir_p($upload_dir['path'])) { $file = $upload_dir['path'] . '/' . $filename; } else { $file = $upload_dir['basedir'] . '/' . $filename; } file_put_contents($file, $image_data); $wp_filetype = wp_check_filetype($filename, null); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => sanitize_file_name($filename), 'post_content' => '', 'post_status' => 'inherit' ); $media_id = wp_insert_attachment($attachment, $file, $post_id); require_once(ABSPATH . 'wp-admin/includes/image.php'); $attach_data = wp_generate_attachment_metadata($media_id, $file); wp_update_attachment_metadata($media_id, $attach_data); set_post_thumbnail($post_id, $media_id); } return $media_id; } /** * Checks whether we have the required fields submitted and the user has * the capabilities to execute the requested action * * @param array $capabilities The capabilities to check and validate * * @return array|void */ protected function _validate_capabilities($capabilities) { foreach ($capabilities as $capability) { if (!current_user_can($capability)) return $this->_generic_error_response('insufficient_permission'); } } } central/modules/media.php000064400000047021147400355670011453 0ustar00switched = switch_to_blog($blog_id); } } /** * Function that gets called after every action * * @param string $command a string that corresponds to UDC command to call a certain method for this class. * @param array $data an array of data post or get fields * @param array $extra_info extrainfo use in the udrpc_action, e.g. user_id * * link to udrpc_action main function in class UpdraftCentral_Listener */ public function _post_action($command, $data, $extra_info) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused parameter is present because the caller from UpdraftCentral_Listener class uses 3 arguments. // Here, we're restoring to the current (default) blog before we switched if ($this->switched) restore_current_blog(); } /** * Fetch and retrieves posts based from the submitted parameters * * @param array $params Containing all the needed information to filter the results of the current request * @return array */ public function get_media_items($params) { $error = $this->_validate_capabilities(array('upload_files', 'edit_posts')); if (!empty($error)) return $error; // check paged parameter; if empty set to defaults $paged = !empty($params['paged']) ? (int) $params['paged'] : 1; $numberposts = !empty($params['numberposts']) ? (int) $params['numberposts'] : 10; $offset = ($paged - 1) * $numberposts; $args = array( 'posts_per_page' => $numberposts, 'paged' => $paged, 'offset' => $offset, 'post_type' => 'attachment', 'post_status' => 'inherit', ); if (!empty($params['keyword'])) { $args['s'] = $params['keyword']; } if (!empty($params['category'])) { if (in_array($params['category'], array('detached', 'unattached'))) { $attachment_ids = $this->get_unattached_ids(); } else { $attachment_ids = $this->get_type_ids($params['category']); } $args['post__in'] = $attachment_ids; } if (!empty($params['date'])) { list($monthnum, $year) = explode(':', $params['date']); $args['monthnum'] = $monthnum; $args['year'] = $year; } $query = new WP_Query($args); $result = $query->posts; $count_posts = (int) $query->found_posts; $page_count = 0; if ($count_posts > 0) { $page_count = absint($count_posts / $numberposts); $remainder = absint($count_posts % $numberposts); $page_count = ($remainder > 0) ? ++$page_count : $page_count; } $info = array( 'page' => $paged, 'pages' => $page_count, 'results' => $count_posts, 'items_from' => (($paged * $numberposts) - $numberposts) + 1, 'items_to' => ($paged == $page_count) ? $count_posts : $paged * $numberposts, ); $media_items = array(); if (!empty($result)) { foreach ($result as $item) { $media = $this->get_media_item($item, null, true); if (!empty($media)) { array_push($media_items, $media); } } } $response = array( 'items' => $media_items, 'has_image_editor' => $this->has_image_editor(isset($media_items[0]) ? $media_items[0] : null), 'info' => $info, 'options' => array( 'date' => $this->get_date_options(), 'type' => $this->get_type_options() ) ); return $this->_response($response); } /** * Check whether we have an image editor (e.g. GD, Imagick, etc.) set in place to handle the basic editing * functions such as rotate, crop, etc. If not, then we hide that feature in UpdraftCentral * * @param object $media The media item/object to check * @return boolean */ private function has_image_editor($media) { // Most of the time image library are enabled by default in the php.ini but there's a possbility that users don't // enable them as they have no need for them at the moment or for some other reasons. Thus, we need to confirm // that here through the wp_get_image_editor method. $has_image_editor = true; if (!empty($media)) { if (!function_exists('wp_get_image_editor')) { require_once(ABSPATH.'wp-includes/media.php'); } if (!function_exists('_load_image_to_edit_path')) { require_once(ABSPATH.'wp-admin/includes/image.php'); } $image_editor = wp_get_image_editor(_load_image_to_edit_path($media->ID)); if (is_wp_error($image_editor)) { $has_image_editor = false; } } return $has_image_editor; } /** * Fetch a single media item information * * @param array $params Containing all the needed information to filter the results of the current request * @param array|null $extra_info Additional information from the current request * @param boolean $raw If set, returns the result of the fetch process unwrapped by the response array * @return array */ public function get_media_item($params, $extra_info = null, $raw = false) { $error = $this->_validate_capabilities(array('upload_files', 'edit_posts')); if (!empty($error)) return $error; // Raw means that we need to return the result without wrapping it // with the "$this->_response" function which indicates that the call // was done locally (within the class) and not directly from UpdraftCentral. if ($raw && is_object($params) && isset($params->ID)) { $media = $params; } elseif (is_array($params) && !empty($params['id'])) { $media = get_post($params['id']); } if (!function_exists('get_post_mime_types')) { global $updraftcentral_main; // For a much later version of WP the "get_post_mime_types" is located // in a different folder. So, we make sure that we have it loaded before // actually using it. if (version_compare($updraftcentral_main->get_wordpress_version(), '3.5', '>=')) { require_once(ABSPATH.WPINC.'/post.php'); } else { // For WP 3.4, the "get_post_mime_types" is located in the location provided below. require_once(ABSPATH.'wp-admin/includes/post.php'); } } if (!function_exists('wp_image_editor')) { require_once(ABSPATH.'wp-admin/includes/image-edit.php'); } if (!function_exists('get_media_item')) { require_once(ABSPATH.'wp-admin/includes/template.php'); require_once(ABSPATH.'wp-admin/includes/media.php'); } if ($media) { $thumb = wp_get_attachment_image_src($media->ID, 'thumbnail', true); if (!empty($thumb)) $media->thumb_url = $thumb[0]; $media->url = wp_get_attachment_url($media->ID); $media->parent_post_title = get_the_title($media->post_parent); $media->author = get_the_author_meta('display_name', $media->post_author); $media->filename = basename($media->url); $media->date = date('Y/m/d', strtotime($media->post_date)); $media->upload_date = mysql2date(get_option('date_format'), $media->post_date); $media->filesize = 0; $file = get_attached_file($media->ID); if (!empty($file) && file_exists($file)) { $media->filesize = size_format(filesize($file)); } $media->nonce = wp_create_nonce('image_editor-'.$media->ID); if (false !== strpos($media->post_mime_type, 'image/')) { $meta = wp_get_attachment_metadata($media->ID); $thumb = image_get_intermediate_size($media->ID, 'thumbnail'); $sub_sizes = isset($meta['sizes']) && is_array($meta['sizes']); // Pulling details $sizer = 1; if (isset($meta['width'], $meta['height'])) { $big = max($meta['width'], $meta['height']); $sizer = $big > 400 ? 400 / $big : 1; } $constrained_dims = array(); if ($thumb && $sub_sizes) { $constrained_dims = wp_constrain_dimensions($thumb['width'], $thumb['height'], 160, 120); } $rotate_supported = false; if (function_exists('imagerotate') || wp_image_editor_supports(array('mime_type' => get_post_mime_type($media->ID), 'methods' => array('rotate')))) { $rotate_supported = true; } // Check for alternative text if present $alt = get_post_meta($media->ID, '_wp_attachment_image_alt', true); $media->alt = !empty($alt) ? $alt : ''; // Check whether edited images are restorable $backup_sizes = get_post_meta($media->ID, '_wp_attachment_backup_sizes', true); $can_restore = !empty($backup_sizes) && isset($backup_sizes['full-orig']) && basename($meta['file']) != $backup_sizes['full-orig']['file']; $image_edit_overwrite = (!defined('IMAGE_EDIT_OVERWRITE') || !IMAGE_EDIT_OVERWRITE) ? 0 : 1; $media->misc = array( 'sizer' => $sizer, 'rand' => rand(1, 99999), 'constrained_dims' => $constrained_dims, 'rotate_supported' => (int) $rotate_supported, 'thumb' => $thumb, 'meta' => $meta, 'alt_text' => $alt, 'can_restore' => $can_restore, 'image_edit_overwrite' => $image_edit_overwrite ); } } return $raw ? $media : $this->_response(array('item' => $media)); } /** * Fetch and retrieves posts based from the submitted parameters * * @param array $params Containing all the needed information to filter the results of the current request * @return array */ public function get_posts($params) { $error = $this->_validate_capabilities(array('edit_posts')); if (!empty($error)) return $error; // check paged parameter; if empty set to defaults $paged = !empty($params['paged']) ? (int) $params['paged'] : 1; $numberposts = !empty($params['numberposts']) ? (int) $params['numberposts'] : 10; $offset = ($paged - 1) * $numberposts; $args = array( 'posts_per_page' => $numberposts, 'paged' => $paged, 'offset' => $offset, 'post_type' => 'post', 'post_status' => 'publish,private,draft,pending,future', ); if (!empty($params['keyword'])) { $args['s'] = $params['keyword']; } $query = new WP_Query($args); $result = $query->posts; $count_posts = (int) $query->found_posts; $page_count = 0; if ($count_posts > 0) { $page_count = absint($count_posts / $numberposts); $remainder = absint($count_posts % $numberposts); $page_count = ($remainder > 0) ? ++$page_count : $page_count; } $info = array( 'page' => $paged, 'pages' => $page_count, 'results' => $count_posts, 'items_from' => (($paged * $numberposts) - $numberposts) + 1, 'items_to' => ($paged == $page_count) ? $count_posts : $paged * $numberposts, ); $posts = array(); if (!empty($result)) { foreach ($result as $post) { array_push($posts, array('ID' => $post->ID, 'title' => $post->post_title)); } } $response = array( 'posts' => $posts, 'info' => $info ); return $this->_response($response); } /** * Saves media changes from UpdraftCentral * * @param array $params Containing all the needed information to filter the results of the current request * @return array */ public function save_media_item($params) { $error = $this->_validate_capabilities(array('upload_files', 'edit_posts')); if (!empty($error)) return $error; $args = array( 'post_title' => $params['image_title'], 'post_excerpt' => $params['image_caption'], 'post_content' => $params['image_description'] ); if (!empty($params['new'])) { $args['post_type'] = 'attachment'; $media_id = wp_insert_post($args, true); } else { $args['ID'] = $params['id']; $args['post_modified'] = date('Y-m-d H:i:s'); $args['post_modified_gmt'] = gmdate('Y-m-d H:i:s'); $media_id = wp_update_post($args, true); } if (!empty($media_id)) { // Update alternative text if not empty if (!empty($params['image_alternative_text'])) { update_post_meta($media_id, '_wp_attachment_image_alt', $params['image_alternative_text']); } $result = array( 'status' => 'success', 'item' => $this->get_media_item(array('id' => $media_id), null, true) ); } else { $result = array('status' => 'failed'); } return $this->_response($result); } /** * Executes media action (e.g. attach, detach and delete) * * @param array $params Containing all the needed information to filter the results of the current request * @return array */ public function execute_media_action($params) { global $updraftcentral_host_plugin; $error = $this->_validate_capabilities(array('upload_files', 'edit_posts')); if (!empty($error)) return $error; $result = array(); switch ($params['do']) { case 'attach': global $wpdb; $query_result = $wpdb->query($wpdb->prepare("UPDATE {$wpdb->posts} SET `post_parent` = %d WHERE `post_type` = 'attachment' AND ID = %d", $params['parent_id'], $params['id'])); if (false === $query_result) { $result['error'] = $updraftcentral_host_plugin->retrieve_show_message('failed_to_attach_media'); } else { $result['msg'] = $updraftcentral_host_plugin->retrieve_show_message('media_attached'); } break; case 'detach': global $wpdb; $query_result = $wpdb->query($wpdb->prepare("UPDATE {$wpdb->posts} SET `post_parent` = 0 WHERE `post_type` = 'attachment' AND ID = %d", $params['id'])); if (false === $query_result) { $result['error'] = $updraftcentral_host_plugin->retrieve_show_message('failed_to_detach_media'); } else { $result['msg'] = $updraftcentral_host_plugin->retrieve_show_message('media_detached'); } break; case 'delete': $failed_items = array(); foreach ($params['ids'] as $id) { // Delete permanently if (false === wp_delete_attachment($id, true)) { $failed_items[] = $id; } } if (!empty($failed_items)) { $result['error'] = $updraftcentral_host_plugin->retrieve_show_message('failed_to_delete_media'); $result['items'] = $failed_items; } else { $result['msg'] = $updraftcentral_host_plugin->retrieve_show_message('selected_media_deleted'); } break; default: break; } return $this->_response($result); } /** * Retrieves a collection of formatted dates found for the given post statuses. * It will be used as options for the date filter when managing the media items in UpdraftCentral. * * @return array */ private function get_date_options() { global $wpdb; $options = array(); $date_options = $wpdb->get_col("SELECT DATE_FORMAT(`post_date`, '%M %Y') as `formatted_post_date` FROM {$wpdb->posts} WHERE `post_type` = 'attachment' AND `post_status` = 'inherit' GROUP BY `formatted_post_date` ORDER BY `post_date` DESC"); if (!empty($date_options)) { foreach ($date_options as $monthyear) { $timestr = strtotime($monthyear); $options[] = array('label' => date('F Y', $timestr), 'value' => date('n:Y', $timestr)); } } return $options; } /** * Retrieves mime types that will be use as filter option in UpdraftCentral * * @return array */ private function get_type_options() { global $wpdb, $updraftcentral_host_plugin, $updraftcentral_main; $options = array(); if (!function_exists('get_post_mime_types')) { // For a much later version of WP the "get_post_mime_types" is located // in a different folder. So, we make sure that we have it loaded before // actually using it. if (version_compare($updraftcentral_main->get_wordpress_version(), '3.5', '>=')) { require_once(ABSPATH.WPINC.'/post.php'); } else { // For WP 3.4, the "get_post_mime_types" is located in the location provided below. require_once(ABSPATH.'wp-admin/includes/post.php'); } } $post_mime_types = get_post_mime_types(); $type_options = $wpdb->get_col("SELECT `post_mime_type` FROM {$wpdb->posts} WHERE `post_type` = 'attachment' AND `post_status` = 'inherit' GROUP BY `post_mime_type` ORDER BY `post_mime_type` DESC"); foreach ($post_mime_types as $mime_type => $label) { if (!wp_match_mime_types($mime_type, $type_options)) continue; $options[] = array('label' => $label[0], 'value' => esc_attr($mime_type)); } $options[] = array('label' => $updraftcentral_host_plugin->retrieve_show_message('unattached'), 'value' => 'detached'); return $options; } /** * Retrieves media items that haven't been attached to any posts * * @return array */ private function get_unattached_ids() { global $wpdb; return $wpdb->get_col("SELECT `ID` FROM {$wpdb->posts} WHERE `post_type` = 'attachment' AND `post_status` = 'inherit' AND `post_parent` = '0'"); } /** * Retrieves IDs of media items that has the given mime type * * @param string $type The mime type to search for * @return array */ private function get_type_ids($type) { global $wpdb; return $wpdb->get_col($wpdb->prepare("SELECT `ID` FROM {$wpdb->posts} WHERE `post_type` = 'attachment' AND `post_status` = 'inherit' AND `post_mime_type` LIKE %s", $type.'/%')); } /** * Checks whether we have the required fields submitted and the user has * the capabilities to execute the requested action * * @param array $capabilities The capabilities to check and validate * * @return array|void */ private function _validate_capabilities($capabilities) { foreach ($capabilities as $capability) { if (!current_user_can($capability)) { return $this->_generic_error_response('insufficient_permission'); } } } /** * Populates the $_REQUEST global variable with the submitted data * * @param array $params Submitted data received from UpdraftCentral * @return array */ private function populate_request($params) { if (!empty($params)) { foreach ($params as $key => $value) { $_REQUEST[$key] = $value; } } } /** * Handles image editing requests coming from UpdraftCentral * * @param array $params Containing all the needed information to filter the results of the current request * @return array */ public function image_editor($params) { $error = $this->_validate_capabilities(array('edit_posts')); if (!empty($error)) return $error; $attachment_id = (int) $params['postid']; $this->populate_request($params); if (!function_exists('load_image_to_edit')) { require_once(ABSPATH.'wp-admin/includes/image.php'); } include_once(ABSPATH.'wp-admin/includes/image-edit.php'); $msg = false; switch ($params['do']) { case 'save': case 'scale': $msg = wp_save_image($attachment_id); break; case 'restore': $msg = wp_restore_image($attachment_id); break; } $msg = (false !== $msg) ? json_encode($msg) : $msg; return $this->_response(array('content' => $msg)); } /** * Handles image preview requests coming from UpdraftCentral * * @param array $params Containing all the needed information to filter the results of the current request * @return array */ public function image_preview($params) { $error = $this->_validate_capabilities(array('edit_posts')); if (!empty($error)) return $error; if (!function_exists('load_image_to_edit')) { require_once(ABSPATH.'wp-admin/includes/image.php'); } include_once(ABSPATH.'wp-admin/includes/image-edit.php'); $this->populate_request($params); $post_id = (int) $params['postid']; ob_start(); stream_preview_image($post_id); $content = ob_get_contents(); ob_end_clean(); return $this->_response(array('content' => base64_encode($content))); } } central/modules/users.php000064400000045247147400355670011545 0ustar00ID === $b->ID) { return 0; } return ($a->ID < $b->ID) ? -1 : 1; } /** * Searches users based from the keyword submitted * * @internal * @param array $query Parameter array containing the filter and keyword fields * @return array Contains the list of users found as well as the total users count */ private function _search_users($query) { $this->_admin_include('user.php'); $query1 = new WP_User_Query(array( 'orderby' => 'ID', 'order' => 'ASC', 'role'=> $query["role"], 'search' => '*' . esc_attr($query["search"]) . '*', 'search_columns' => array('user_login', 'user_email') )); $query2 = new WP_User_Query(array( 'orderby' => 'ID', 'order' => 'ASC', 'role'=> $query["role"], 'meta_query'=>array( 'relation' => 'OR', array( 'key' => 'first_name', 'value' => $query["search"], 'compare' => 'LIKE' ), array( 'key' => 'last_name', 'value' => $query["search"], 'compare' => 'LIKE' ), ) )); if (empty($query1->results) && empty($query2->results)) { return array("message" => "users_not_found"); } else { $found_users = array_merge($query1->results, $query2->results); $temp = array(); foreach ($found_users as $new_user) { if (!isset($temp[$new_user->ID])) { $temp[$new_user->ID] = $new_user; } }; $users = array_values($temp); // Sort users: usort($users, array($this, 'compare_user_id')); $offset = ((int) $query['page_no'] * (int) $query['per_page']) - (int) $query['per_page']; $user_list = array_slice($users, $offset, $query['per_page']); return array( 'users' => $user_list, 'total_users' => count($users) ); } } /** * Calculates the number of pages needed to construct the pagination links * * @internal * @param array $query * @param array $total_users The total number of users found from the WP_User_Query query * @return array Contains information needed to construct the pagination links */ private function _calculate_pages($query, $total_users) { $per_page_options = array(10, 20, 30, 40, 50); if (!empty($query)) { $pages = array(); $page_count = ceil($total_users / $query["per_page"]); if ($page_count > 1) { for ($i = 0; $i < $page_count; $i++) { if ($i + 1 == $query['page_no']) { $paginator_item = array( "value"=>$i+1, "setting"=>"disabled" ); } else { $paginator_item = array( "value"=>$i+1 ); } array_push($pages, $paginator_item); }; if ($query['page_no'] >= $page_count) { $page_next = array( "value"=>$page_count, "setting"=>"disabled" ); } else { $page_next = array( "value"=>$query['page_no'] + 1 ); }; if (1 === $query['page_no']) { $page_prev = array( "value"=>1, "setting"=>"disabled" ); } else { $page_prev = array( "value"=>$query['page_no'] - 1 ); }; return array( "page_no" => $query['page_no'], "per_page" => $query["per_page"], "page_count" => $page_count, "pages" => $pages, "page_next" => $page_next, "page_prev" => $page_prev, "total_results" => $total_users, "per_page_options" => $per_page_options ); } else { return array( "page_no" => $query['page_no'], "per_page" => $query["per_page"], "page_count" => $page_count, "total_results" => $total_users, "per_page_options" => $per_page_options ); } } else { return array( "per_page_options" => $per_page_options ); } } /** * Validates whether the username exists * * @param array $params Contains the user name to check and validate * @return array An array containing the result of the current process */ public function check_username($params) { $this->_admin_include('user.php'); $username = $params['user_name']; $blog_id = get_current_blog_id(); if (!empty($params['site_id'])) { $blog_id = $params['site_id']; } // Here, we're switching to the actual blog that we need // to pull users from. $switched = function_exists('switch_to_blog') ? switch_to_blog($blog_id) : false; if (username_exists($username) && is_user_member_of_blog(username_exists($username), $blog_id)) { $result = array("valid" => false, "message" => 'username_exists'); return $this->_response($result); } if (!validate_username($username)) { $result = array("valid" => false, "message" => 'username_invalid'); return $this->_response($result); } // Here, we're restoring to the current (default) blog before we // do the switched. if (function_exists('restore_current_blog') && $switched) { restore_current_blog(); } $result = array("valid" => true, "message" => 'username_valid'); return $this->_response($result); } /** * Pulls blog sites available * for the current WP instance. * If the site is a multisite, then sites under the network * will be pulled, otherwise, it will return an empty array. * * @return Array - an array of sites */ private function _get_blog_sites() { if (!is_multisite()) return array(); // Initialize array container $sites = $network_sites = array(); // Check to see if latest get_sites (available on WP version >= 4.6) function is // available to pull any available sites from the current WP instance. If not, then // we're going to use the fallback function wp_get_sites (for older version). if (function_exists('get_sites') && class_exists('WP_Site_Query')) { $network_sites = get_sites(); } else { if (function_exists('wp_get_sites')) { $network_sites = wp_get_sites(); } } // We only process if sites array is not empty, otherwise, bypass // the next block. if (!empty($network_sites)) { foreach ($network_sites as $site) { // Here we're checking if the site type is an array, because // we're pulling the blog_id property based on the type of // site returned. // get_sites returns an array of object, whereas the wp_get_sites // function returns an array of array. $blog_id = is_array($site) ? $site['blog_id'] : $site->blog_id; // We're saving the blog_id and blog name as an associative item // into the sites array, that will be used as "Sites" option in // the frontend. $sites[$blog_id] = get_blog_details($blog_id)->blogname; } } return $sites; } /** * Validates whether the email exists * * @param array $params Contains the email to check and validate * @return array An array containing the result of the current process */ public function check_email($params) { $this->_admin_include('user.php'); $email = $params['email']; $blog_id = get_current_blog_id(); if (isset($params['site_id']) && 0 !== $params['site_id']) { $blog_id = $params['site_id']; } // Here, we're switching to the actual blog that we need // to pull users from. $switched = false; if (function_exists('switch_to_blog')) { $switched = switch_to_blog($blog_id); } if (is_email($email) === false) { $result = array("valid" => false, "message" => 'email_invalid'); return $this->_response($result); } if (email_exists($email) && is_user_member_of_blog(email_exists($email), $blog_id)) { $result = array("valid" => false, "message" => 'email_exists'); return $this->_response($result); } // Here, we're restoring to the current (default) blog before we // do the switched. if (function_exists('restore_current_blog') && $switched) { restore_current_blog(); } $result = array("valid" => true, "message" => 'email_valid'); return $this->_response($result); } /** * The get_users function pull all the users from the database * based on the current search parameters/filters. Please see _search_users * for the breakdown of these parameters. * * @param array $query Parameter array containing the filter and keyword fields * @return array An array containing the result of the current process */ public function get_users($query) { $this->_admin_include('user.php'); // Here, we're getting the current blog id. If blog id // is passed along with the parameters then we override // that current (default) value with the parameter blog id value. $blog_id = get_current_blog_id(); if (isset($query['site_id']) && 0 !== $query['site_id']) $blog_id = $query['site_id']; // Here, we're switching to the actual blog that we need // to pull users from. $switched = false; if (function_exists('switch_to_blog')) { $switched = switch_to_blog($blog_id); } // Set default: if (empty($query["per_page"])) { $query["per_page"] = 10; } if (empty($query['page_no'])) { $query['page_no'] = 1; } if (empty($query["role"])) { $query["role"] = ""; } $users = array(); $total_users = 0; if (!empty($query["search"])) { $search_results = $this->_search_users($query); if (isset($search_results['users'])) { $users = $search_results['users']; $total_users = $search_results['total_users']; } } else { $user_query = new WP_User_Query(array( 'orderby' => 'ID', 'order' => 'ASC', 'number' => $query["per_page"], 'paged'=> $query['page_no'], 'role'=> $query["role"] )); if (empty($user_query->results)) { $result = array("message" => 'users_not_found'); return $this->_response($result); } $users = $user_query->results; $total_users = $user_query->get_total(); } foreach ($users as &$user) { $user_object = get_userdata($user->ID); if (method_exists($user_object, 'to_array')) { $user = $user_object->to_array(); $user["roles"] = $user_object->roles; $user["first_name"] = $user_object->first_name; $user["last_name"] = $user_object->last_name; $user["description"] = $user_object->description; } else { $user = $user_object; } } $result = array( "users"=>$users, "paging" => $this->_calculate_pages($query, $total_users) ); // Here, we're restoring to the current (default) blog before we // do the switched. if (function_exists('restore_current_blog') && $switched) { restore_current_blog(); } return $this->_response($result); } /** * Creates new user for the current blog * * @param array $user User information to add * @return array An array containing the result of the current process */ public function add_user($user) { $this->_admin_include('user.php'); // Here, we're getting the current blog id. If blog id // is passed along with the parameters then we override // that current (default) value with the parameter blog id value. $blog_id = get_current_blog_id(); if (isset($user['site_id']) && 0 !== $user['site_id']) $blog_id = $user['site_id']; // Here, we're switching to the actual blog that we need // to pull users from. $switched = false; if (function_exists('switch_to_blog')) { $switched = switch_to_blog($blog_id); } if (!current_user_can('create_users') && !is_super_admin()) { $result = array('error' => true, 'message' => 'user_create_no_permission', 'data' => array('multisite' => is_multisite())); return $this->_response($result); } if (is_email($user["user_email"]) === false) { $result = array("error" => true, "message" => "email_invalid"); return $this->_response($result); } if (email_exists($user["user_email"]) && is_user_member_of_blog(email_exists($user["user_email"]), $blog_id)) { $result = array("error" => true, "message" => "email_exists"); return $this->_response($result); } if (username_exists($user["user_login"]) && is_user_member_of_blog(username_exists($user["user_login"]), $blog_id)) { $result = array("error" => true, "message" => "username_exists"); return $this->_response($result); } if (!validate_username($user["user_login"])) { $result = array("error" => true, "message" => 'username_invalid'); return $this->_response($result); } if (isset($user['site_id']) && !current_user_can('manage_network_users')) { $result = array("error" => true, "message" => 'user_create_no_permission'); return $this->_response($result); } if (email_exists($user["user_email"]) && !is_user_member_of_blog(email_exists($user["user_email"]), $blog_id)) { $user_id = email_exists($user["user_email"]); } else { $user_id = wp_insert_user($user); } $role = $user['role']; if (is_multisite()) { add_existing_user_to_blog(array('user_id' => $user_id, 'role' => $role)); } // Here, we're restoring to the current (default) blog before we // do the switched. if (function_exists('restore_current_blog') && $switched) { restore_current_blog(); } if ($user_id > 0) { $result = array("error" => false, "message" => "user_created_with_user_name", "values" => array($user['user_login'])); return $this->_response($result); } else { $result = array("error" => true, "message" => "user_create_failed", "values" => array($user)); } return $this->_response($result); } /** * [delete_user - UCP: users.delete_user] * * This function is used to check to make sure the user_id is valid and that it has has user delete permissions. * If there are no issues, the user is deleted. * * current_user_can: This check the user permissions from UCP * get_userdata: This get the user data on the data from user_id in the $user_id array * wp_delete_user: Deleting users on the User ID (user_id) and, IF Specified, the Assigner ID (assign_user_id). * * @param [type] $params [description] THis is an Array of params sent over from UpdraftCentral * @return [type] Array [description] This will send back an error array along with message if there are any issues with the user_id */ public function delete_user($params) { $this->_admin_include('user.php'); $user_id = $params['user_id']; $assign_user_id = $params["assign_user_id"]; // Here, we're getting the current blog id. If blog id // is passed along with the parameters then we override // that current (default) value with the parameter blog id value. $blog_id = get_current_blog_id(); if (isset($params['site_id']) && 0 !== $params['site_id']) $blog_id = $params['site_id']; $switched = false; if (function_exists('switch_to_blog')) { $switched = switch_to_blog($blog_id); } if (!current_user_can('delete_users') && !is_super_admin()) { $result = array('error' => true, 'message' => 'user_delete_no_permission', 'data' => array('multisite' => is_multisite())); return $this->_response($result); } if (get_userdata($user_id) === false) { $result = array("error" => true, "message" => "user_not_found"); return $this->_response($result); } if (wp_delete_user($user_id, $assign_user_id)) { $result = array("error" => false, "message" => "user_deleted"); } else { $result = array("error" => true, "message" => "user_delete_failed"); } // Here, we're restoring to the current (default) blog before we // do the switched. if (function_exists('restore_current_blog') && $switched) { restore_current_blog(); } return $this->_response($result); } /** * Edits existing user information * * @param array $user User information to save * @return array An array containing the result of the current process */ public function edit_user($user) { $this->_admin_include('user.php'); // Here, we're getting the current blog id. If blog id // is passed along with the parameters then we override // that current (default) value with the parameter blog id value. $blog_id = get_current_blog_id(); if (isset($user['site_id']) && 0 !== $user['site_id']) $blog_id = $user['site_id']; // Here, we're switching to the actual blog that we need // to apply our changes. $switched = false; if (function_exists('switch_to_blog')) { $switched = switch_to_blog($blog_id); } if (!current_user_can('edit_users') && !is_super_admin() && get_current_user_id() !== $user["ID"]) { $result = array('error' => true, 'message' => 'user_edit_no_permission', 'data' => array('multisite' => is_multisite())); return $this->_response($result); } if (false === get_userdata($user["ID"])) { $result = array("error" => true, "message" => "user_not_found"); return $this->_response($result); } if (get_current_user_id() == $user["ID"]) { unset($user["role"]); } /* Validate Username*/ if (!validate_username($user["user_login"])) { $result = array("error" => true, "message" => 'username_invalid'); return $this->_response($result); } /* Validate Email if not the same*/ $remote_user = get_userdata($user["ID"]); $old_email = $remote_user->user_email; if ($user['user_email'] !== $old_email) { if (is_email($user['user_email']) === false) { $result = array("error" => true, "message" => 'email_invalid'); return $this->_response($result); } if (email_exists($user['user_email'])) { $result = array("error" => true, "message" => 'email_exists'); return $this->_response($result); } } $user_id = wp_update_user($user); if (is_wp_error($user_id)) { $result = array("error" => true, "message" => "user_edit_failed_with_error", "values" => array($user_id)); } else { $result = array("error" => false, "message" => "user_edited_with_user_name", "values" => array($user["user_login"])); } // Here, we're restoring to the current (default) blog before we // do the switched. if (function_exists('restore_current_blog') && $switched) { restore_current_blog(); } return $this->_response($result); } /** * Retrieves available roles to be used as filter options * * @return array An array containing all available roles */ public function get_roles() { $this->_admin_include('user.php'); $roles = array_reverse(get_editable_roles()); return $this->_response($roles); } /** * Retrieves information to be use as filters * * @return array An array containing the filter fields and their data */ public function get_user_filters() { $this->_admin_include('user.php'); // Pull sites options if available. $sites = $this->_get_blog_sites(); $result = array( "sites" => $sites, "roles" => array_reverse(get_editable_roles()), "paging" => $this->_calculate_pages(null, 0), ); return $this->_response($result); } } central/modules/core.php000064400000036641147400355670011332 0ustar00 (string - a code), 'data' => (mixed)); * * RPC commands are not allowed to begin with an underscore. So, any private methods can be prefixed with an underscore. */ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands { /** * Executes a list of submitted commands (multiplexer) * * @param Array $query An array containing the commands to execute and a flag to indicate how to handle command execution failure. * @return Array An array containing the results of the process. */ public function execute_commands($query) { try { $commands = $query['commands']; $command_results = array(); $error_count = 0; /** * Should be one of the following options: * 1 = Abort on first failure * 2 = Abort if any command fails * 3 = Abort if all command fails (default) */ $error_flag = isset($query['error_flag']) ? (int) $query['error_flag'] : 3; foreach ($commands as $command => $params) { $command_info = apply_filters('updraftcentral_get_command_info', false, $command); if (!$command_info) { list($_prefix, $_command) = explode('.', $command); $command_results[$_prefix][$_command] = array('response' => 'rpcerror', 'data' => array('code' => 'unknown_rpc_command', 'data' => $command)); $error_count++; if (1 === $error_flag) break; } else { $action = $command_info['command']; $command_php_class = $command_info['command_php_class']; // Instantiate the command class and execute the needed action if (class_exists($command_php_class)) { $instance = new $command_php_class($this->rc); if (method_exists($instance, $action)) { $params = empty($params) ? array() : $params; $call_result = call_user_func(array($instance, $action), $params); $command_results[$command] = $call_result; if ('rpcerror' === $call_result['response'] || (isset($call_result['data']['error']) && $call_result['data']['error'])) { $error_count++; if (1 === $error_flag) break; } } } } } if (0 !== $error_count) { // N.B. These error messages should be defined in UpdraftCentral's translation file (dashboard-translations.php) // before actually using this multiplexer function. $message = 'general_command_execution_error'; switch ($error_flag) { case 1: $message = 'command_execution_aborted'; break; case 2: $message = 'failed_to_execute_some_commands'; break; case 3: if (count($commands) === $error_count) { $message = 'failed_to_execute_all_commands'; } break; default: break; } $result = array('error' => true, 'message' => $message, 'values' => $command_results); } else { $result = $command_results; } } catch (Exception $e) { $result = array('error' => true, 'message' => $e->getMessage()); } return $this->_response($result); } /** * Validates the credentials entered by the user * * @param array $creds an array of filesystem credentials * @return array An array containing the result of the validation process. */ public function validate_credentials($creds) { try { $entity = $creds['entity']; if (isset($creds['filesystem_credentials'])) { parse_str($creds['filesystem_credentials'], $filesystem_credentials); if (is_array($filesystem_credentials)) { foreach ($filesystem_credentials as $key => $value) { // Put them into $_POST, which is where request_filesystem_credentials() checks for them. $_POST[$key] = $value; } } } // Include the needed WP Core file(s) // template.php needed for submit_button() which is called by request_filesystem_credentials() $this->_admin_include('file.php', 'template.php'); // Directory entities that we currently need permissions // to update. $entity_directories = array( 'plugins' => WP_PLUGIN_DIR, 'themes' => WP_CONTENT_DIR.'/themes', 'core' => untrailingslashit(ABSPATH) ); if ('translations' === $entity) { // 'en_US' don't usually have the "languages" folder, thus, we // check if there's a need to ask for filesystem credentials for that // folder if it exists, most especially for locale other than 'en_US'. $language_dir = WP_CONTENT_DIR.'/languages'; if ('en_US' !== get_locale() && is_dir($language_dir)) { $entity_directories['translations'] = $language_dir; } } $url = wp_nonce_url(site_url()); $passed = false; if (isset($entity_directories[$entity])) { $directory = $entity_directories[$entity]; // Check if credentials are valid and have sufficient // privileges to create and delete (e.g. write) ob_start(); $credentials = request_filesystem_credentials($url, '', false, $directory); ob_end_clean(); // The "WP_Filesystem" will suffice in validating the inputted credentials // from UpdraftCentral, as it is already attempting to connect to the filesystem // using the chosen transport (e.g. ssh, ftp, etc.) $passed = WP_Filesystem($credentials, $directory); } if ($passed) { $result = array('error' => false, 'message' => 'credentials_ok', 'values' => array()); } else { // We're adding some useful error information to help troubleshooting any problems // that may arise in the future. If the user submitted a wrong password or username // it usually falls through here. global $wp_filesystem; $errors = array(); if (isset($wp_filesystem->errors) && is_wp_error($wp_filesystem->errors)) { $errors = $wp_filesystem->errors->errors; } $result = array('error' => true, 'message' => 'failed_credentials', 'values' => array('errors' => $errors)); } } catch (Exception $e) { $result = array('error' => true, 'message' => $e->getMessage(), 'values' => array()); } return $this->_response($result); } /** * Gets the FileSystem Credentials * * Extract the needed filesystem credentials (permissions) to be used * to update/upgrade the plugins, themes and the WP core. * * @return array $result - An array containing the creds form and some flags * to determine whether we need to extract the creds * manually from the user. */ public function get_credentials() { try { // Check whether user has enough permission to update entities if (!current_user_can('update_plugins') && !current_user_can('update_themes') && !current_user_can('update_core')) return $this->_generic_error_response('updates_permission_denied'); // Include the needed WP Core file(s) $this->_admin_include('file.php', 'template.php'); // A container that will hold the state (in this case, either true or false) of // each directory entities (plugins, themes, core) that will be used to determine // whether or not there's a need to show a form that will ask the user for their credentials // manually. $request_filesystem_credentials = array(); // A container for the filesystem credentials form if applicable. $filesystem_form = ''; // Directory entities that we currently need permissions // to update. $check_fs = array( 'plugins' => WP_PLUGIN_DIR, 'themes' => WP_CONTENT_DIR.'/themes', 'core' => untrailingslashit(ABSPATH) ); // Here, we're looping through each entities and find output whether // we have sufficient permissions to update objects belonging to them. foreach ($check_fs as $entity => $dir) { // We're determining which method to use when updating // the files in the filesystem. $filesystem_method = get_filesystem_method(array(), $dir); // Buffering the output to pull the actual credentials form // currently being used by this WP instance if no sufficient permissions // is found. $url = wp_nonce_url(site_url()); ob_start(); $filesystem_credentials_are_stored = request_filesystem_credentials($url, $filesystem_method); $form = strip_tags(ob_get_contents(), '

'); if (!empty($form)) { $filesystem_form = $form; } ob_end_clean(); // Save the state whether or not there's a need to show the // credentials form to the user. $request_filesystem_credentials[$entity] = ('direct' !== $filesystem_method && !$filesystem_credentials_are_stored); } // Wrapping the credentials info before passing it back // to the client issuing the request. $result = array( 'request_filesystem_credentials' => $request_filesystem_credentials, 'filesystem_form' => $filesystem_form ); } catch (Exception $e) { $result = array('error' => true, 'message' => $e->getMessage(), 'values' => array()); } return $this->_response($result); } /** * Fetches a browser-usable URL which will automatically log the user in to the site * * @param String $redirect_to - the URL to got to after logging in * @param Array $extra_info - valid keys are user_id, which should be a numeric user ID to log in as. */ public function get_login_url($redirect_to, $extra_info) { if (is_array($extra_info) && !empty($extra_info['user_id']) && is_numeric($extra_info['user_id'])) { $user_id = $extra_info['user_id']; if (false == ($login_key = $this->_get_autologin_key($user_id))) return $this->_generic_error_response('user_key_failure'); // Default value $redirect_url = network_admin_url(); if (is_array($redirect_to) && !empty($redirect_to['module'])) { switch ($redirect_to['module']) { case 'updraftplus': if ('initiate_restore' == $redirect_to['action'] && class_exists('UpdraftPlus_Options')) { $redirect_url = UpdraftPlus_Options::admin_page_url().'?page=updraftplus&udaction=initiate_restore&entities='.urlencode($redirect_to['data']['entities']).'&showdata='.urlencode($redirect_to['data']['showdata']).'&backup_timestamp='.(int) $redirect_to['data']['backup_timestamp']; } elseif ('download_file' == $redirect_to['action']) { $findex = empty($redirect_to['data']['findex']) ? 0 : (int) $redirect_to['data']['findex']; // e.g. ?udcentral_action=dl&action=updraftplus_spool_file&backup_timestamp=1455101696&findex=0&what=plugins $redirect_url = site_url().'?udcentral_action=spool_file&action=updraftplus_spool_file&findex='.$findex.'&what='.urlencode($redirect_to['data']['what']).'&backup_timestamp='.(int) $redirect_to['data']['backup_timestamp']; } break; case 'direct_url': $redirect_url = $redirect_to['url']; break; } } $login_key = apply_filters('updraftplus_remotecontrol_login_key', array( 'key' => $login_key, 'created' => time(), 'redirect_url' => $redirect_url ), $redirect_to, $extra_info); // Over-write any previous value - only one can be valid at a time) update_user_meta($user_id, 'updraftcentral_login_key', $login_key); return $this->_response(array( 'login_url' => network_site_url('?udcentral_action=login&login_id='.$user_id.'&login_key='.$login_key['key']) )); } else { return $this->_generic_error_response('user_unknown'); } } /** * Get information derived from phpinfo() * * @return Array */ public function phpinfo() { $phpinfo = $this->_get_phpinfo_array(); if (!empty($phpinfo)) { return $this->_response($phpinfo); } return $this->_generic_error_response('phpinfo_fail'); } /** * The key obtained is only intended to be short-lived. Hence, there's no intention other than that it is random and only used once - only the most recent one is valid. * * @param Integer $user_id Specific user ID to get the autologin key * @return Array */ public function _get_autologin_key($user_id) { $secure_auth_key = defined('SECURE_AUTH_KEY') ? SECURE_AUTH_KEY : hash('sha256', DB_PASSWORD).'_'.rand(0, 999999999); if (!defined('SECURE_AUTH_KEY')) return false; $hash_it = $user_id.'_'.microtime(true).'_'.rand(0, 999999999).'_'.$secure_auth_key; $hash = hash('sha256', $hash_it); return $hash; } public function site_info() { global $wpdb; // THis is included so we can get $wp_version @include(ABSPATH.WPINC.'/version.php');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $ud_version = is_a($this->ud, 'UpdraftPlus') ? $this->ud->version : 'none'; return $this->_response(array( 'versions' => array( 'ud' => $ud_version, 'php' => PHP_VERSION, 'wp' => $wp_version,// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined inside the ABSPATH.WPINC.'/version.php'. 'mysql' => $wpdb->db_version(), 'udrpc_php' => $this->rc->udrpc_version, ), 'bloginfo' => array( 'url' => network_site_url(), 'name' => get_bloginfo('name'), ) )); } /** * This calls the WP_Action within WP * * @param array $data Array of Data to be used within call_wp_action * @return array */ public function call_wordpress_action($data) { if (false === ($updraftplus_admin = $this->_load_ud_admin())) return $this->_generic_error_response('no_updraftplus'); $response = $updraftplus_admin->call_wp_action($data); if (empty($data["wpaction"])) { return $this->_generic_error_response("error", "no command sent"); } return $this->_response(array( "response" => $response['response'], "status" => $response['status'], "log" => $response['log'] )); } /** * Get disk space used * * @uses UpdraftPlus_Filesystem_Functions::get_disk_space_used() * * @param String $entity - the entity to count (e.g. 'plugins', 'themes') * * @return Array - response */ public function count($entity) { if (!class_exists('UpdraftPlus_Filesystem_Functions')) return $this->_generic_error_response('no_updraftplus'); $response = UpdraftPlus_Filesystem_Functions::get_disk_space_used($entity); return $this->_response($response); } /** * https://secure.php.net/phpinfo * * @return null|array */ private function _get_phpinfo_array() { if (!function_exists('phpinfo')) return null; ob_start(); phpinfo(INFO_GENERAL|INFO_CREDITS|INFO_MODULES); $phpinfo = array('phpinfo' => array()); if (preg_match_all('#(?:

(?:)?(.*?)(?:)?

)|(?:(.*?)\s*(?:(.*?)\s*(?:(.*?)\s*)?)?)#s', ob_get_clean(), $matches, PREG_SET_ORDER)) { foreach ($matches as $match) { if (strlen($match[1])) { $phpinfo[$match[1]] = array(); } elseif (isset($match[3])) { $keys1 = array_keys($phpinfo); $phpinfo[end($keys1)][$match[2]] = isset($match[4]) ? array($match[3], $match[4]) : $match[3]; } else { $keys1 = array_keys($phpinfo); $phpinfo[end($keys1)][] = $match[2]; } } return $phpinfo; } return false; } /** * Return an UpdraftPlus_Admin object * * @return UpdraftPlus_Admin|Boolean - false in case of failure */ private function _load_ud_admin() { if (!defined('UPDRAFTPLUS_DIR') || !is_file(UPDRAFTPLUS_DIR.'/admin.php')) return false; updraft_try_include_file('admin.php', 'include_once'); global $updraftplus_admin; return $updraftplus_admin; } } central/modules/theme.php000064400000057626147400355670011512 0ustar00switched = switch_to_blog($blog_id); } } /** * Function that gets called after every action * * @param string $command a string that corresponds to UDC command to call a certain method for this class. * @param array $data an array of data post or get fields * @param array $extra_info extrainfo use in the udrpc_action, e.g. user_id * * link to udrpc_action main function in class UpdraftCentral_Listener */ public function _post_action($command, $data, $extra_info) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused parameter is present because the caller from UpdraftCentral_Listener class uses 3 arguments. // Here, we're restoring to the current (default) blog before we switched if ($this->switched) restore_current_blog(); } /** * Constructor */ public function __construct() { $this->_admin_include('theme.php', 'file.php', 'template.php', 'class-wp-upgrader.php', 'theme-install.php', 'update.php'); } /** * Installs and activates a theme through upload * * @param array $params Parameter array containing information pertaining the currently uploaded theme * @return array Contains the result of the current process */ public function upload_theme($params) { return $this->process_chunk_upload($params, 'theme'); } /** * Checks whether the theme is currently installed and activated. * * @param array $query Parameter array containing the name of the theme to check * @return array Contains the result of the current process */ public function is_theme_installed($query) { if (!isset($query['theme'])) return $this->_generic_error_response('theme_name_required'); $result = $this->_get_theme_info($query['theme']); return $this->_response($result); } /** * Applies currently requested action for theme processing * * @param string $action The action to apply (e.g. activate or install) * @param array $query Parameter array containing information for the currently requested action * * @return array */ private function _apply_theme_action($action, $query) { $result = array(); switch ($action) { case 'activate': $info = $this->_get_theme_info($query['theme']); if ($info['installed']) { switch_theme($info['slug']); if (wp_get_theme()->get_stylesheet() === $info['slug']) { $result = array('activated' => true, 'info' => $this->_get_theme_info($query['theme']), 'last_state' => $info); } else { $result = $this->_generic_error_response('theme_not_activated', array( 'theme' => $query['theme'], 'error_code' => 'theme_not_activated', 'error_message' => __('There appears to be a problem activating or switching to the intended theme.', 'updraftplus').' '.__('Please check your permissions and try again.', 'updraftplus'), 'info' => $this->_get_theme_info($query['theme']) )); } } else { $result = $this->_generic_error_response('theme_not_installed', array( 'theme' => $query['theme'], 'error_code' => 'theme_not_installed', 'error_message' => __('The theme you wish to activate is either not installed or has been removed recently.', 'updraftplus'), 'info' => $info )); } break; case 'network_enable': $info = $this->_get_theme_info($query['theme']); if ($info['installed']) { if (current_user_can('manage_network_themes')) { // Make sure that network_enable_theme is present and callable since // it is only available at 4.6. If not, we'll do things the old fashion way if (is_callable(array('WP_Theme', 'network_enable_theme'))) { WP_Theme::network_enable_theme($info['slug']); } else { $allowed_themes = get_site_option('allowedthemes'); $allowed_themes[$info['slug']] = true; update_site_option('allowedthemes', $allowed_themes); } } $allowed = WP_Theme::get_allowed_on_network(); if (is_array($allowed) && !empty($allowed[$info['slug']])) { $result = array('enabled' => true, 'info' => $this->_get_theme_info($query['theme']), 'last_state' => $info); } else { $result = $this->_generic_error_response('theme_not_enabled', array( 'theme' => $query['theme'], 'error_code' => 'theme_not_enabled', 'error_message' => __('There appears to be a problem enabling the intended theme on your network.', 'updraftplus').' '.__('Please kindly check your permission and try again.', 'updraftplus'), 'info' => $this->_get_theme_info($query['theme']) )); } } else { $result = $this->_generic_error_response('theme_not_installed', array( 'theme' => $query['theme'], 'error_code' => 'theme_not_installed', 'error_message' => __('The theme you wish to enable on your network is either not installed or has been removed recently.', 'updraftplus'), 'info' => $info )); } break; case 'network_disable': $info = $this->_get_theme_info($query['theme']); if ($info['installed']) { if (current_user_can('manage_network_themes')) { // Make sure that network_disable_theme is present and callable since // it is only available at 4.6. If not, we'll do things the old fashion way if (is_callable(array('WP_Theme', 'network_disable_theme'))) { WP_Theme::network_disable_theme($info['slug']); } else { $allowed_themes = get_site_option('allowedthemes'); if (isset($allowed_themes[$info['slug']])) { unset($allowed_themes[$info['slug']]); } update_site_option('allowedthemes', $allowed_themes); } } $allowed = WP_Theme::get_allowed_on_network(); if (is_array($allowed) && empty($allowed[$info['slug']])) { $result = array('disabled' => true, 'info' => $this->_get_theme_info($query['theme']), 'last_state' => $info); } else { $result = $this->_generic_error_response('theme_not_disabled', array( 'theme' => $query['theme'], 'error_code' => 'theme_not_disabled', 'error_message' => __('There appears to be a problem disabling the intended theme from your network.', 'updraftplus').' '.__('Please kindly check your permission and try again.', 'updraftplus'), 'info' => $this->_get_theme_info($query['theme']) )); } } else { $result = $this->_generic_error_response('theme_not_installed', array( 'theme' => $query['theme'], 'error_code' => 'theme_not_installed', 'error_message' => __('The theme you wish to disable from your network is either not installed or has been removed recently.', 'updraftplus'), 'info' => $info )); } break; case 'install': $api = themes_api('theme_information', array( 'slug' => $query['slug'], 'fields' => array( 'description' => true, 'sections' => false, 'rating' => true, 'ratings' => true, 'downloaded' => true, 'downloadlink' => true, 'last_updated' => true, 'screenshot_url' => true, 'parent' => true, ) )); $info = $this->_get_theme_info($query['theme']); if (is_wp_error($api)) { $result = $this->_generic_error_response('generic_response_error', array( 'theme' => $query['theme'], 'error_code' => 'theme_not_installed', 'error_message' => $api->get_error_message(), 'info' => $info )); } else { $installed = $info['installed']; $error_code = $error_message = ''; if (!$installed) { // WP < 3.7 if (!class_exists('Automatic_Upgrader_Skin')) include_once(dirname(dirname(__FILE__)).'/classes/class-automatic-upgrader-skin.php'); $skin = new Automatic_Upgrader_Skin(); $upgrader = new Theme_Upgrader($skin); $download_link = $api->download_link; $installed = $upgrader->install($download_link); if (is_wp_error($installed)) { $error_code = $installed->get_error_code(); $error_message = $installed->get_error_message(); } elseif (is_wp_error($skin->result)) { $error_code = $skin->result->get_error_code(); $error_message = $skin->result->get_error_message(); $error_data = $skin->result->get_error_data($error_code); if (!empty($error_data)) { if (is_array($error_data)) $error_data = json_encode($error_data); $error_message .= ' '.$error_data; } } elseif (is_null($installed) || !$installed) { global $wp_filesystem; $upgrade_messages = $skin->get_upgrade_messages(); if (!class_exists('WP_Filesystem_Base')) include_once(ABSPATH.'/wp-admin/includes/class-wp-filesystem-base.php'); // Pass through the error from WP_Filesystem if one was raised. if ($wp_filesystem instanceof WP_Filesystem_Base && is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) { $error_code = $wp_filesystem->errors->get_error_code(); $error_message = $wp_filesystem->errors->get_error_message(); } elseif (!empty($upgrade_messages)) { // We're only after for the last feedback that we received from the install process. Mostly, // that is where the last error has been inserted. $messages = $skin->get_upgrade_messages(); $error_code = 'install_failed'; $error_message = end($messages); } else { $error_code = 'unable_to_connect_to_filesystem'; $error_message = __('Unable to connect to the filesystem.', 'updraftplus').' '.__('Please confirm your credentials.', 'updraftplus'); } } } if (!$installed || is_wp_error($installed)) { $result = $this->_generic_error_response('theme_install_failed', array( 'theme' => $query['theme'], 'error_code' => $error_code, 'error_message' => $error_message, 'info' => $this->_get_theme_info($query['theme']) )); } else { $result = array('installed' => true, 'info' => $this->_get_theme_info($query['theme']), 'last_state' => $info); } } break; } return $result; } /** * Preloads the submitted credentials to the global $_POST variable * * @param array $query Parameter array containing information for the currently requested action */ private function _preload_credentials($query) { if (!empty($query) && isset($query['filesystem_credentials'])) { parse_str($query['filesystem_credentials'], $filesystem_credentials); if (is_array($filesystem_credentials)) { foreach ($filesystem_credentials as $key => $value) { // Put them into $_POST, which is where request_filesystem_credentials() checks for them. $_POST[$key] = $value; } } } } /** * Checks whether we have the required fields submitted and the user has * the capabilities to execute the requested action * * @param array $query The submitted information * @param array $fields The required fields to check * @param array $capabilities The capabilities to check and validate * * @return array|string */ private function _validate_fields_and_capabilities($query, $fields, $capabilities) { $error = ''; if (!empty($fields)) { for ($i=0; $i_generic_error_response('keyword_required'); } else { $error = $this->_generic_error_response('theme_'.$query[$field].'_required'); } break; } } } if (empty($error) && !empty($capabilities)) { for ($i=0; $i_generic_error_response('theme_insufficient_permission'); break; } } } return $error; } /** * Processing an action for multiple items * * @param array $query Parameter array containing a list of themes to process * @return array Contains the results of the bulk process */ public function process_action_in_bulk($query) { $action = isset($query['action']) ? $query['action'] : ''; $items = isset($query['args']) ? $query['args']['items'] : array(); $results = array(); if (!empty($action) && !empty($items) && is_array($items)) { foreach ($items as $value) { if (method_exists($this, $action)) { $results[] = $this->$action($value); } } } return $this->_response($results); } /** * Activates the theme * * @param array $query Parameter array containing the name of the theme to activate * @return array Contains the result of the current process */ public function activate_theme($query) { $fields = array('theme'); $permissions = array('switch_themes'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); $result = $this->_apply_theme_action('activate', $query); if (empty($result['activated'])) { return $result; } return $this->_response($result); } /** * Enables theme for network * * @param array $query Parameter array containing the name of the theme to activate * @return array Contains the result of the current process */ public function network_enable_theme($query) { $fields = array('theme'); $permissions = array('switch_themes'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); $result = $this->_apply_theme_action('network_enable', $query); if (empty($result['enabled'])) { return $result; } return $this->_response($result); } /** * Disables theme from network * * @param array $query Parameter array containing the name of the theme to activate * @return array Contains the result of the current process */ public function network_disable_theme($query) { $fields = array('theme'); $permissions = array('switch_themes'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); $result = $this->_apply_theme_action('network_disable', $query); if (empty($result['disabled'])) { return $result; } return $this->_response($result); } /** * Download, install and activates the theme * * @param array $query Parameter array containing the filesystem credentials entered by the user along with the theme name and slug * @return array Contains the result of the current process */ public function install_activate_theme($query) { $fields = array('theme', 'slug'); $permissions = array('install_themes', 'switch_themes'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); $result = $this->_apply_theme_action('install', $query); if (!empty($result['installed']) && $result['installed']) { $result = $this->_apply_theme_action('activate', $query); if (empty($result['activated'])) { return $result; } } else { return $result; } return $this->_response($result); } /** * Download, install the theme * * @param array $query Parameter array containing the filesystem credentials entered by the user along with the theme name and slug * @return array Contains the result of the current process */ public function install_theme($query) { $fields = array('theme', 'slug'); $permissions = array('install_themes'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); $result = $this->_apply_theme_action('install', $query); if (empty($result['installed'])) { return $result; } return $this->_response($result); } /** * Uninstall/delete the theme * * @param array $query Parameter array containing the filesystem credentials entered by the user along with the theme name and slug * @return array Contains the result of the current process */ public function delete_theme($query) { $fields = array('theme'); $permissions = array('delete_themes'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); $info = $this->_get_theme_info($query['theme']); if ($info['installed']) { $deleted = delete_theme($info['slug']); if ($deleted) { $result = array('deleted' => true, 'info' => $this->_get_theme_info($query['theme']), 'last_state' => $info); } else { return $this->_generic_error_response('delete_theme_failed', array( 'theme' => $query['theme'], 'error_code' => 'delete_theme_failed', 'info' => $info )); } } else { return $this->_generic_error_response('theme_not_installed', array( 'theme' => $query['theme'], 'error_code' => 'theme_not_installed', 'info' => $info )); } return $this->_response($result); } /** * Updates/upgrade the theme * * @param array $query Parameter array containing the filesystem credentials entered by the user along with the theme name and slug * @return array Contains the result of the current process */ public function update_theme($query) { $fields = array('theme'); $permissions = array('update_themes'); $error = $this->_validate_fields_and_capabilities($query, $fields, $permissions); if (!empty($error)) { return $error; } $this->_preload_credentials($query); // Make sure that we still have the theme installed before running // the update process $info = $this->_get_theme_info($query['theme']); if ($info['installed']) { // Load the updates command class if not existed if (!class_exists('UpdraftCentral_Updates_Commands')) include_once('updates.php'); $update_command = new UpdraftCentral_Updates_Commands($this->rc); $result = $update_command->update_theme($info['slug']); if (!empty($result['error'])) { $result['values'] = array('theme' => $query['theme'], 'info' => $info); } } else { return $this->_generic_error_response('theme_not_installed', array( 'theme' => $query['theme'], 'error_code' => 'theme_not_installed', 'info' => $info )); } return $this->_response($result); } /** * Gets the theme information along with its active and install status * * @internal * @param array $theme The name of the theme to pull the information from * @return array Contains the theme information */ private function _get_theme_info($theme) { $info = array( 'active' => false, 'installed' => false ); // Clear theme cache so that newly installed/downloaded themes // gets reflected when calling "get_themes" if (function_exists('wp_clean_themes_cache')) { wp_clean_themes_cache(); } // Gets all themes available. $themes = wp_get_themes(); $current_theme_slug = basename(get_stylesheet_directory()); // Loops around each theme available. foreach ($themes as $slug => $value) { $name = $value->get('Name'); $theme_name = !empty($name) ? $name : $slug; // If the theme name matches that of the specified name, it will gather details. if ($theme_name === $theme) { $info['installed'] = true; $info['active'] = ($slug === $current_theme_slug) ? true : false; $info['slug'] = $slug; $info['data'] = $value; $info['name'] = $theme_name; break; } } return $info; } /** * Loads all available themes with additional attributes and settings needed by UpdraftCentral * * @param array $query Parameter array Any available parameters needed for this action * @return array Contains the result of the current process */ public function load_themes($query) { $permissions = array('install_themes', 'switch_themes'); $args = array(); if (is_multisite() && !is_super_admin(get_current_user_id())) { $permissions = array('switch_themes'); $args = array('allowed' => true, 'blog_id' => get_current_blog_id()); } $error = $this->_validate_fields_and_capabilities($query, array(), $permissions); if (!empty($error)) { return $error; } $website = get_bloginfo('name'); $results = array(); // Load the updates command class if not existed if (!class_exists('UpdraftCentral_Updates_Commands')) include_once('updates.php'); $updates = new UpdraftCentral_Updates_Commands($this->rc); // Get themes for update $theme_updates = (array) $updates->get_item_updates('themes'); // Get all themes $themes = wp_get_themes($args); $current_theme_slug = basename(get_stylesheet_directory()); foreach ($themes as $slug => $value) { $name = $value->get('Name'); $theme_name = !empty($name) ? $name : $slug; $theme = new stdClass(); $theme->name = $theme_name; $theme->description = $value->get('Description'); $theme->slug = $slug; $theme->version = $value->get('Version'); $theme->author = $value->get('Author'); $theme->status = ($slug === $current_theme_slug) ? 'active' : 'inactive'; $template = $value->get('Template'); $theme->child_theme = !empty($template) ? true : false; $theme->website = $website; $theme->multisite = is_multisite(); $theme->site_url = trailingslashit(get_bloginfo('url')); if ($theme->child_theme) { $parent_theme = wp_get_theme($template); $parent_name = $parent_theme->get('Name'); $theme->parent = !empty($parent_name) ? $parent_name : $parent_theme->get_stylesheet(); } if (!empty($theme_updates[$slug])) { $update_info = $theme_updates[$slug]; if (version_compare($theme->version, $update_info->update['new_version'], '<')) { if (!empty($update_info->update['new_version'])) $theme->latest_version = $update_info->update['new_version']; if (!empty($update_info->update['package'])) $theme->download_link = $update_info->update['package']; } } if (empty($theme->short_description) && !empty($theme->description)) { // Only pull the first sentence as short description, it should be enough rather than displaying // an empty description or a full blown one which the user can access anytime if they press on // the view details link in UpdraftCentral. $temp = explode('.', $theme->description); $short_description = $temp[0]; // Adding the second sentence wouldn't hurt, in case the first sentence is too short. if (isset($temp[1])) $short_description .= '.'.$temp[1]; $theme->short_description = $short_description.'.'; } $results[] = $theme; } $result = array( 'themes' => $results, 'theme_updates' => $theme_updates, 'is_super_admin' => is_super_admin(), ); $result = array_merge($result, $this->_get_backup_credentials_settings(get_theme_root())); return $this->_response($result); } /** * Gets the backup and security credentials settings for this website * * @param array $query Parameter array Any available parameters needed for this action * @return array Contains the result of the current process */ public function get_theme_requirements() { return $this->_response($this->_get_backup_credentials_settings(get_theme_root())); } } central/modules/pages.php000064400000000713147400355670011470 0ustar00_generic_error_response('invalid_data'); if (!empty($updates['plugins']) && !current_user_can('update_plugins')) return $this->_generic_error_response('updates_permission_denied', 'update_plugins'); if (!empty($updates['themes']) && !current_user_can('update_themes')) return $this->_generic_error_response('updates_permission_denied', 'update_themes'); if (!empty($updates['core']) && !current_user_can('update_core')) return $this->_generic_error_response('updates_permission_denied', 'update_core'); if (!empty($updates['translations']) && !$this->user_can_update_translations()) return $this->_generic_error_response('updates_permission_denied', 'update_translations'); $this->_admin_include('plugin.php', 'update.php', 'file.php', 'template.php'); $this->_frontend_include('update.php'); if (!empty($updates['meta']) && isset($updates['meta']['filesystem_credentials'])) { parse_str($updates['meta']['filesystem_credentials'], $filesystem_credentials); if (is_array($filesystem_credentials)) { foreach ($filesystem_credentials as $key => $value) { // Put them into $_POST, which is where request_filesystem_credentials() checks for them. $_POST[$key] = $value; } } } $plugins = empty($updates['plugins']) ? array() : $updates['plugins']; $plugin_updates = array(); foreach ($plugins as $plugin_info) { $plugin_updates[] = $this->_update_plugin($plugin_info['plugin'], $plugin_info['slug']); } $themes = empty($updates['themes']) ? array() : $updates['themes']; $theme_updates = array(); foreach ($themes as $theme_info) { $theme = $theme_info['theme']; $theme_updates[] = $this->_update_theme($theme); } $cores = empty($updates['core']) ? array() : $updates['core']; $core_updates = array(); foreach ($cores as $core) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- We dont use $core but we need the AS in the foreach so it needs to stay $core_updates[] = $this->_update_core(null); // Only one (and always we go to the latest version) - i.e. we ignore the passed parameters break; } $translation_updates = array(); if (!empty($updates['translations'])) { $translation_updates[] = $this->_update_translation(); } return $this->_response(array( 'plugins' => $plugin_updates, 'themes' => $theme_updates, 'core' => $core_updates, 'translations' => $translation_updates, )); } /** * Updates a plugin. A facade method that exposes a private updates * feature for other modules to consume. * * @param string $plugin Specific plugin to be updated * @param string $slug Unique key passed for updates * * @return array */ public function update_plugin($plugin, $slug) { return $this->_update_plugin($plugin, $slug); } /** * Updates a theme. A facade method that exposes a private updates * feature for other modules to consume. * * @param string $theme Specific theme to be updated * * @return array */ public function update_theme($theme) { return $this->_update_theme($theme); } /** * Gets available updates for a certain entity (e.g. plugin or theme). A facade method that * exposes a private updates feature for other modules to consume. * * @param string $entity The name of the entity that this request is intended for (e.g. themes or plugins) * * @return array */ public function get_item_updates($entity) { $updates = array(); switch ($entity) { case 'themes': wp_update_themes(); $updates = $this->maybe_add_third_party_items(get_theme_updates(), 'theme'); break; case 'plugins': wp_update_plugins(); $updates = $this->maybe_add_third_party_items(get_plugin_updates(), 'plugin'); break; } return $updates; } /** * Mostly from wp_ajax_update_plugin() in wp-admin/includes/ajax-actions.php (WP 4.5.2) * Code-formatting style has been retained from the original, for ease of comparison/updating * * @param string $plugin Specific plugin to be updated * @param string $slug Unique key passed for updates * @return array */ private function _update_plugin($plugin, $slug) { $status = array( 'update' => 'plugin', 'plugin' => $plugin, 'slug' => sanitize_key($slug), 'oldVersion' => '', 'newVersion' => '', ); if (false !== strpos($plugin, '..') || false !== strpos($plugin, ':') || !preg_match('#^[^\/]#i', $plugin)) { $status['error'] = 'not_found'; return $status; } $plugin_data = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin); if (!isset($plugin_data['Name']) || !isset($plugin_data['Author']) || ('' == $plugin_data['Name'] && '' == $plugin_data['Author'])) { $status['error'] = 'not_found'; return $status; } if ($plugin_data['Version']) { $status['oldVersion'] = $plugin_data['Version']; } if (!current_user_can('update_plugins')) { $status['error'] = 'updates_permission_denied'; return $status; } include_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'); wp_update_plugins(); // WP < 3.7 if (!class_exists('Automatic_Upgrader_Skin')) include_once(UPDRAFTCENTRAL_CLIENT_DIR.'/classes/class-automatic-upgrader-skin.php'); $skin = new Automatic_Upgrader_Skin(); $upgrader = new Plugin_Upgrader($skin); $result = $upgrader->bulk_upgrade(array($plugin)); if (is_array($result) && empty($result[$plugin]) && is_wp_error($skin->result)) { $result = $skin->result; } $status['messages'] = $upgrader->skin->get_upgrade_messages(); if (is_array($result) && !empty($result[$plugin])) { $plugin_update_data = current($result); /* * If the `update_plugins` site transient is empty (e.g. when you update * two plugins in quick succession before the transient repopulates), * this may be the return. * * Preferably something can be done to ensure `update_plugins` isn't empty. * For now, surface some sort of error here. */ if (true === $plugin_update_data) { $status['error'] = 'update_failed'; return $status; } if (is_wp_error($result[$plugin])) { $status['error'] = $result[$plugin]->get_error_code(); $status['error_message'] = $result[$plugin]->get_error_message(); return $status; } $plugin_data = get_plugins('/' . $result[$plugin]['destination_name']); $plugin_data = reset($plugin_data); if ($plugin_data['Version']) { $status['newVersion'] = $plugin_data['Version']; } return $status; } elseif (is_wp_error($result)) { $status['error'] = $result->get_error_code(); $status['error_message'] = $result->get_error_message(); return $status; } elseif (is_bool($result) && !$result) { $status['error'] = 'unable_to_connect_to_filesystem'; global $wp_filesystem; // Pass through the error from WP_Filesystem if one was raised if (isset($wp_filesystem->errors) && is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) { $status['error'] = $wp_filesystem->errors->get_error_code(); $status['error_message'] = $wp_filesystem->errors->get_error_message(); } return $status; } else { // An unhandled error occurred $status['error'] = 'update_failed'; return $status; } } /** * Adapted from _update_theme (above) * * @param string $core * @return array */ private function _update_core($core) { global $wp_filesystem; $status = array( 'update' => 'core', 'core' => $core, 'oldVersion' => '', 'newVersion' => '', ); // THis is included so we can get $wp_version include(ABSPATH.WPINC.'/version.php'); $status['oldVersion'] = $wp_version;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined inside the ABSPATH.WPINC.'/version.php'. if (!current_user_can('update_core')) { $status['error'] = 'updates_permission_denied'; return $status; } include_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'); wp_version_check(); $locale = get_locale();// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is for future use. $core_update_key = false; $core_update_latest_version = false; $get_core_updates = get_core_updates(); // THis is included so we can get $wp_version @include(ABSPATH.WPINC.'/version.php');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. foreach ($get_core_updates as $k => $core_update) { if (isset($core_update->version) && version_compare($core_update->version, $wp_version, '>') && version_compare($core_update->version, $core_update_latest_version, '>')) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined inside the ABSPATH.WPINC.'/version.php'. $core_update_latest_version = $core_update->version; $core_update_key = $k; } } if (false === $core_update_key) { $status['error'] = 'no_update_found'; return $status; } $update = $get_core_updates[$core_update_key]; // WP < 3.7 if (!class_exists('Automatic_Upgrader_Skin')) include_once(UPDRAFTCENTRAL_CLIENT_DIR.'/classes/class-automatic-upgrader-skin.php'); $skin = new Automatic_Upgrader_Skin(); $upgrader = new Core_Upgrader($skin); $result = $upgrader->upgrade($update); $status['messages'] = $upgrader->skin->get_upgrade_messages(); if (is_wp_error($result)) { $status['error'] = $result->get_error_code(); $status['error_message'] = $result->get_error_message(); return $status; } elseif (is_bool($result) && !$result) { $status['error'] = 'unable_to_connect_to_filesystem'; // Pass through the error from WP_Filesystem if one was raised if (is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) { $status['error'] = $wp_filesystem->errors->get_error_code(); $status['error_message'] = $wp_filesystem->errors->get_error_message(); } return $status; } elseif (preg_match('/^[0-9]/', $result)) { $status['newVersion'] = $result; return $status; } else { // An unhandled error occurred $status['error'] = 'update_failed'; return $status; } } private function _update_theme($theme) { global $wp_filesystem; $status = array( 'update' => 'theme', 'theme' => $theme, 'oldVersion' => '', 'newVersion' => '', ); if (false !== strpos($theme, '/') || false !== strpos($theme, '\\')) { $status['error'] = 'not_found'; return $status; } $theme_version = $this->get_theme_version($theme); if (false === $theme_version) { $status['error'] = 'not_found'; return $status; } $status['oldVersion'] = $theme_version; if (!current_user_can('update_themes')) { $status['error'] = 'updates_permission_denied'; return $status; } include_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'); wp_update_themes(); // WP < 3.7 if (!class_exists('Automatic_Upgrader_Skin')) include_once(UPDRAFTCENTRAL_CLIENT_DIR.'/classes/class-automatic-upgrader-skin.php'); $skin = new Automatic_Upgrader_Skin(); $upgrader = new Theme_Upgrader($skin); $upgrader->init(); $result = $upgrader->bulk_upgrade(array($theme)); if (is_array($result) && empty($result[$theme]) && is_wp_error($skin->result)) { $result = $skin->result; } $status['messages'] = $upgrader->skin->get_upgrade_messages(); if (is_array($result) && !empty($result[$theme])) { $theme_update_data = current($result); /* * If the `update_themes` site transient is empty (e.g. when you update * two plugins in quick succession before the transient repopulates), * this may be the return. * * Preferably something can be done to ensure `update_themes` isn't empty. * For now, surface some sort of error here. */ if (true === $theme_update_data) { $status['error'] = 'update_failed'; return $status; } $new_theme_version = $this->get_theme_version($theme); if (false === $new_theme_version) { $status['error'] = 'update_failed'; return $status; } $status['newVersion'] = $new_theme_version; return $status; } elseif (is_wp_error($result)) { $status['error'] = $result->get_error_code(); $status['error_message'] = $result->get_error_message(); return $status; } elseif (is_bool($result) && !$result) { $status['error'] = 'unable_to_connect_to_filesystem'; // Pass through the error from WP_Filesystem if one was raised if (is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) { $status['error'] = $wp_filesystem->errors->get_error_code(); $status['error_message'] = $wp_filesystem->errors->get_error_message(); } return $status; } else { // An unhandled error occurred $status['error'] = 'update_failed'; return $status; } } /** * Updates available translations for this website * * @return Array */ private function _update_translation() { global $wp_filesystem; $status = array(); include_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'); if (!class_exists('Automatic_Upgrader_Skin')) include_once(UPDRAFTCENTRAL_CLIENT_DIR.'/classes/class-automatic-upgrader-skin.php'); $skin = new Automatic_Upgrader_Skin(); $upgrader = new Language_Pack_Upgrader($skin); $result = $upgrader->bulk_upgrade(); if (is_array($result) && !empty($result)) { $status['success'] = true; } elseif (is_wp_error($result)) { $status['error'] = $result->get_error_code(); $status['error_message'] = $result->get_error_message(); } elseif (is_bool($result) && !$result) { $status['error'] = 'unable_to_connect_to_filesystem'; // Pass through the error from WP_Filesystem if one was raised if (is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) { $status['error'] = $wp_filesystem->errors->get_error_code(); $status['error_message'] = $wp_filesystem->errors->get_error_message(); } } elseif (is_bool($result) && $result) { $status['error'] = 'up_to_date'; } else { // An unhandled error occurred $status['error'] = 'update_failed'; } return $status; } private function get_theme_version($theme) { if (function_exists('wp_get_theme')) { // Since WP 3.4.0 $theme = wp_get_theme($theme); if (is_a($theme, 'WP_Theme')) { return $theme->Version; } else { return false; } } else { $theme_data = get_theme_data(WP_CONTENT_DIR . '/themes/'.$theme.'/style.css'); if (isset($theme_data['Version'])) { return $theme_data['Version']; } else { return false; } } } /** * Adding third-party plugins/theme for UDC automatic updates, for some updaters which store their information when the transient is set, instead of (like most) when it is fetched * * @param Array $items A collection of plugins or themes for updates * @param String $type A string indicating which type of collection to process (e.g. 'plugin' or 'theme') * @return Array An updated collection of plugins or themes for updates */ private function maybe_add_third_party_items($items, $type) { // Here we're preparing a dummy transient object that will be pass to the filter // and gets populated by those plugins or themes that hooked into the "pre_set_site_transient_*" filter. // // We're setting some default properties so that plugins and themes won't be able to bypass populating them, // because most of the plugins and themes updater scripts checks whether or not these properties are set and // non-empty or passed the 12 hour period (where WordPress re-starts the process of checking updates for // these plugins and themes), otherwise, they bypass populating the update/upgrade info for these items. $transient = (object) array( 'last_checked' => time() - (13 * 3600), /* Making sure that we passed the 12 hour period check */ 'checked' => array('default' => 'none'), 'response' => array('default' => 'none') ); // Most of the premium plugin developers are hooking into the "pre_set_site_transient_update_plugins" and // "pre_set_site_transient_update_themes" filters if they want their plugins or themes to support automatic // updates. Thus, we're making sure here that if for some reason, those plugins or themes didn't get through // and added to the "update_plugins" or "update_themes" transients when calling the get_site_transient('update_plugins') // or get_site_transient('update_themes') we add them here manually. $filters = apply_filters("pre_set_site_transient_update_{$type}s", $transient, "update_{$type}s"); $all_items = array(); switch ($type) { case 'plugin': $all_items = get_plugins(); break; case 'theme': $this->_frontend_include('theme.php'); if (function_exists('wp_get_themes')) { $themes = wp_get_themes(); if (!empty($themes)) { // We make sure that the return key matched the previous // key from "get_themes", otherwise, no updates will be found // even if it does have one. "get_themes" returns the name of the // theme as the key while "wp_get_themes" returns the slug. foreach ($themes as $theme) { $all_items[$theme->Name] = $theme; } } } else { $all_items = get_themes(); } break; default: break; } if (!empty($all_items)) { $all_items = (array) $all_items; foreach ($all_items as $key => $data) { if (!isset($items[$key]) && isset($filters->response[$key])) { $update_info = ('plugin' === $type) ? $filters->response[$key] : $data; // If "package" is empty, it means that this plugin or theme does not support automatic updates // currently, since the "package" field is the one holding the download link of these plugins/themes // and WordPress is using this field to download the latest version of these items. // // Most of the time, this "package" field is not empty, but for premium plugins/themes this can be // conditional, only then if the user provides a legit access or api key can this field be populated or available. // // We set this variable to "false" by default, as plugins/themes hosted in wordpress.org always sets this // to the downloadable zip file of the plugin/theme. // // N.B. We only add premium plugins/themes that has this "package" field set and non-empty, otherwise, it // does not support automatic updates as explained above. $is_package_empty = false; if (is_object($update_info)) { if (!isset($update_info->package) || empty($update_info->package)) { $is_package_empty = true; } } elseif (is_array($update_info)) { if (!isset($update_info['package']) || empty($update_info['package'])) { $is_package_empty = true; } } // Add this plugin/theme to the current updates collection if (!$is_package_empty) { $items[$key] = ('plugin' === $type) ? (object) $data : $this->get_theme_info($key); $items[$key]->update = $update_info; } } } } return $this->prep_items_for_updates($items, $type); } /** * Extracts theme's data or information * * @param string $theme A string representing a theme's name or slug. * @return object|boolean If successful, an object containing the theme data or information, "false" otherwise. */ private function get_theme_info($theme) { if (function_exists('wp_get_theme')) { $theme = wp_get_theme($theme); if (is_a($theme, 'WP_Theme')) { return $theme; } } else { $theme_data = get_theme_data(WP_CONTENT_DIR.'/themes/'.$theme.'/style.css'); if (isset($theme_data['Version'])) { if (!isset($theme_data['ThemeURI'])) $theme_data['ThemeURI'] = $theme_data['URI']; return (object) $theme_data; } } return false; } /** * Fix items for update with missing "plugin" or "theme" field if applicable * * @param Array $items A collection of plugins or themes for updates * @param String $type A string indicating which type of collection to process (e.g. 'plugin' or 'theme') * @return Array An updated collection of plugins or themes for updates */ private function prep_items_for_updates($items, $type) { foreach ($items as $key => $data) { $update_info = $data->update; // Some plugins and/or themes does not adhere to the standard WordPress updates meta // properties/fields. Thus, missing some fields such as "plugin" or "theme" // in their update information results in "Automatic updates is unavailable for this item" // in UDC since we're using these fields to process the updates. // // As a workaround, we're filling these missing fields in order to solve the above issue // in case the developer of these plugins/themes forgot to include them. if (is_object($update_info)) { $update_info = (array) $update_info; if (!isset($update_info[$type])) { $update_info[$type] = $key; } $update_info = (object) $update_info; } elseif (is_array($update_info)) { if (!isset($update_info[$type])) { $update_info[$type] = $key; } } // Re-assign the updated info to the original "update" property $items[$key]->update = $update_info; } return $items; } /** * Custom validation for translation permission. Since the 'install_languages' capability insn't available until 4.9 * therefore, we wrapped the validation check in this block to support older version of WP. * * @return Boolean */ private function user_can_update_translations() { global $updraftcentral_main; $wp_version = $updraftcentral_main->get_wordpress_version(); if (version_compare($wp_version, '4.9', '<')) { if (current_user_can('update_core') || current_user_can('update_plugins') || current_user_can('update_themes')) return true; } else { if (current_user_can('install_languages')) return true; } return false; } /** * Checks basic WP and PHP compatibility for plugins and themes * * @param string $type The type of the entity to check (e.g. 'plugin' or 'theme') * @param array $info Data or information to check * @return array */ private function is_compatible($type, $info) { global $updraftcentral_main; $wp_version = $updraftcentral_main->get_wordpress_version(); $is_compatible = null; $message = ''; if (isset($info['update'])) { // Check for WP Compatibility based from the update information if (!empty($info['update']['requires'])) { if (version_compare($wp_version, $info['update']['requires'], '<')) { $is_compatible = false; $message = esc_attr(sprintf(__('The latest update for this %s is not compatible with the WordPress version installed on the remote site.', 'updraftplus').' '.__('The minimum WordPress version supported by this %s is %s.', 'updraftplus'), $type, $type, $info['update']['requires'])); } else { $is_compatible = true; } } // Check for PHP Compatibility based from the update information if (!empty($info['update']['requires_php'])) { if (version_compare(PHP_VERSION, $info['update']['requires_php'], '<')) { $is_compatible = false; $message = esc_attr(sprintf(__('The latest update for this %s is not compatible with the PHP version installed on the remote site.', 'updraftplus').' '.__('The minimum PHP version supported by this %s is %s.', 'updraftplus'), $type, $type, $info['update']['requires_php'])); } else { $is_compatible = true; } } // Check whether Plugin/Theme has been tested based from the update information if (!empty($info['update']['tested'])) { if (version_compare($wp_version, $info['update']['tested'], '>')) { $is_compatible = false; $message = esc_attr(sprintf(__('The latest update for this %s has not been tested with the WordPress version installed on the remote site and may have compatibility issues when used.', 'updraftplus'), $type)); } else { $is_compatible = true; } } } if (is_null($is_compatible)) { $is_compatible = false; $message = esc_attr(sprintf(__('This % does not provide information to allow determining whether the latest version is compatible with your WordPress or PHP installation.', 'updraftplus'), $type).' '.__('If installing, then proceed with caution by first doing a backup.', 'updraftplus')); } return array( 'compatible' => $is_compatible, 'compatible_message' => $message, ); } public function get_updates($options) { // Forcing Elegant Themes (Divi) updates component to load if it exist. if (function_exists('et_register_updates_component')) et_register_updates_component(); if (!current_user_can('update_plugins') && !current_user_can('update_themes') && !current_user_can('update_core')) return $this->_generic_error_response('updates_permission_denied'); $this->_admin_include('plugin.php', 'update.php', 'file.php', 'template.php'); $this->_frontend_include('update.php'); if (!is_array($options)) $options = array(); // Normalise it $plugin_updates = array(); if (current_user_can('update_plugins')) { // Detect if refresh needed $transient = get_site_transient('update_plugins'); if (!empty($options['force_refresh']) || false === $transient) { delete_site_transient('update_plugins'); wp_update_plugins(); } $get_plugin_updates = $this->maybe_add_third_party_items(get_plugin_updates(), 'plugin'); if (is_array($get_plugin_updates)) { foreach ($get_plugin_updates as $update) { // For some reason, some 3rd-party (premium) plugins are returning the same version // with that of the currently installed version in WordPress. Thus, we're making sure here to // only return those items for update that has new versions greater than the currently installed version. if (version_compare($update->Version, $update->update->new_version, '>=')) continue; $info = array( 'name' => $update->Name, 'plugin_uri' => $update->PluginURI, 'version' => $update->Version, 'description' => $update->Description, 'author' => $update->Author, 'author_uri' => $update->AuthorURI, 'title' => $update->Title, 'author_name' => $update->AuthorName, 'update' => array( // With Affiliates-WP, if you have not connected, this is null. 'plugin' => isset($update->update->plugin) ? $update->update->plugin : null, 'slug' => $update->update->slug, 'new_version' => $update->update->new_version, 'package' => $update->update->package, 'tested' => isset($update->update->tested) ? $update->update->tested : null, 'compatibility' => isset($update->update->compatibility) ? (array) $update->update->compatibility : null, 'sections' => isset($update->update->sections) ? (array) $update->update->sections : null, 'requires' => isset($update->update->requires) ? $update->update->requires : null, 'requires_php' => isset($update->update->requires_php) ? $update->update->requires_php : null, ), ); // Check for compatibility and merge result into info $result = $this->is_compatible('plugin', $info); $plugin_updates[] = array_merge($info, $result); } } } $theme_updates = array(); if (current_user_can('update_themes')) { // Detect if refresh needed $transient = get_site_transient('update_themes'); if (!empty($options['force_refresh']) || false === $transient) { delete_site_transient('update_themes'); wp_update_themes(); } $get_theme_updates = $this->maybe_add_third_party_items(get_theme_updates(), 'theme'); if (is_array($get_theme_updates)) { foreach ($get_theme_updates as $update) { // We're making sure here to only return those items for update that has new // versions greater than the currently installed version. if (version_compare($update->Version, $update->update['new_version'], '>=')) continue; $name = $update->Name; $theme_name = !empty($name) ? $name : $update->update['theme']; $info = array( 'name' => $theme_name, 'theme_uri' => $update->ThemeURI, 'version' => $update->Version, 'description' => $update->Description, 'author' => $update->Author, 'author_uri' => $update->AuthorURI, 'update' => array( 'theme' => $update->update['theme'], 'new_version' => $update->update['new_version'], 'package' => $update->update['package'], 'url' => $update->update['url'], 'tested' => isset($update->update['tested']) ? $update->update['tested'] : null, 'requires' => $update->update['requires'], 'requires_php' => $update->update['requires_php'], ), ); // Check for compatibility and merge result into info $result = $this->is_compatible('theme', $info); $theme_updates[] = array_merge($info, $result); } } } $core_updates = array(); if (current_user_can('update_core')) { // Detect if refresh needed $transient = get_site_transient('update_core'); if (!empty($options['force_refresh']) || false === $transient) { // The next line is only needed for older WP versions - otherwise, the parameter to wp_version_check forces a check. delete_site_transient('update_core'); wp_version_check(array(), true); } $get_core_updates = get_core_updates(); if (is_array($get_core_updates)) { $core_update_key = false; $core_update_latest_version = false; // THis is included so we can get $wp_version @include(ABSPATH.WPINC.'/version.php');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. foreach ($get_core_updates as $k => $core_update) { if (isset($core_update->version) && version_compare($core_update->version, $wp_version, '>') && version_compare($core_update->version, $core_update_latest_version, '>')) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined inside the ABSPATH.WPINC.'/version.php'. $core_update_latest_version = $core_update->version; $core_update_key = $k; } } if (false !== $core_update_key) { $update = $get_core_updates[$core_update_key]; global $wpdb; $mysql_version = $wpdb->db_version(); $is_mysql = (file_exists(WP_CONTENT_DIR . '/db.php') && empty($wpdb->is_mysql)) ? false : true; // We're making sure here to only return those items for update that has new // versions greater than the currently installed version. if (version_compare($wp_version, $update->version, '<')) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined inside the ABSPATH.WPINC.'/version.php'. $core_updates[] = array( 'download' => $update->download, 'version' => $update->version, 'php_version' => $update->php_version, 'mysql_version' => $update->mysql_version, 'installed' => array( 'version' => $wp_version,// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined inside the ABSPATH.WPINC.'/version.php'. 'mysql' => $mysql_version, 'php' => PHP_VERSION, 'is_mysql' => $is_mysql, ), 'sufficient' => array( 'mysql' => version_compare($mysql_version, $update->mysql_version, '>='), 'php' => version_compare(PHP_VERSION, $update->php_version, '>='), ), ); } } } } $translation_updates = array(); if (function_exists('wp_get_translation_updates') && $this->user_can_update_translations()) { $translations = wp_get_translation_updates(); $translation_updates = array( 'items' => $translations ); } // Do we need to ask the user for filesystem credentials? $request_filesystem_credentials = array(); $check_fs = array( 'plugins' => WP_PLUGIN_DIR, 'themes' => WP_CONTENT_DIR.'/themes', 'core' => untrailingslashit(ABSPATH) ); if (!empty($translation_updates)) { // 'en_US' don't usually have the "languages" folder, thus, we // check if there's a need to ask for filesystem credentials for that // folder if it exists, most especially for locale other than 'en_US'. $language_dir = WP_CONTENT_DIR.'/languages'; if ('en_US' !== get_locale() && is_dir($language_dir)) { $check_fs['translations'] = $language_dir; } } foreach ($check_fs as $entity => $dir) { $filesystem_method = get_filesystem_method(array(), $dir); ob_start(); $filesystem_credentials_are_stored = request_filesystem_credentials(site_url()); $filesystem_form = strip_tags(ob_get_contents(), '

'); ob_end_clean(); $request_filesystem_credentials[$entity] = ('direct' != $filesystem_method && !$filesystem_credentials_are_stored); } $automatic_backups = (class_exists('UpdraftPlus_Options') && class_exists('UpdraftPlus_Addon_Autobackup') && UpdraftPlus_Options::get_updraft_option('updraft_autobackup_default', true)) ? true : false; return $this->_response(array( 'plugins' => $plugin_updates, 'themes' => $theme_updates, 'core' => $core_updates, 'translations' => $translation_updates, 'meta' => array( 'request_filesystem_credentials' => $request_filesystem_credentials, 'filesystem_form' => $filesystem_form, 'automatic_backups' => $automatic_backups ), )); } } central/modules/comments.php000064400000065711147400355670012227 0ustar00 'ID', 'order' => 'DESC', 'type' => $query['type'], 'status' => $query['status'], 'search' => esc_attr($query['search']), ); $query = new WP_Comment_Query; $found_comments = $query->query($args); $comments = array(); foreach ($found_comments as $comment) { // We're returning a collection of comment in an array, // in sync with the originator of the request on the ui side // so, we're pulling it one by one into the array before // returning it. if (!in_array($comment, $comments)) { array_push($comments, $comment); } } return $comments; } /** * The _calculate_pages function generates and builds the pagination links * based on the current search parameters/filters. Please see _search_comments * for the breakdown of these parameters. * * @param array $query Query to generate pagination links * @return array */ private function _calculate_pages($query) { $per_page_options = array(10, 20, 30, 40, 50); if (!empty($query)) { if (!empty($query['search'])) { return array( 'page_count' => 1, 'page_no' => 1 ); } $pages = array(); $page_query = new WP_Comment_Query; // Here, we're pulling the comments based on the // two parameters namely type and status. // // The number of results/comments found will then // be use to compute for the number of pages to be // displayed as navigation links when browsing all // comments from the frontend. $comments = $page_query->query(array( 'type' => $query['type'], 'status' => $query['status'] )); $total_comments = count($comments); $page_count = ceil($total_comments / $query['per_page']); if ($page_count > 1) { for ($i = 0; $i < $page_count; $i++) { if ($i + 1 == $query['page_no']) { $paginator_item = array( 'value' => $i+1, 'setting' => 'disabled' ); } else { $paginator_item = array( 'value' => $i+1 ); } array_push($pages, $paginator_item); } if ($query['page_no'] >= $page_count) { $page_next = array( 'value' => $page_count, 'setting' => 'disabled' ); } else { $page_next = array( 'value' => $query['page_no'] + 1 ); } if (1 === $query['page_no']) { $page_prev = array( 'value' => 1, 'setting' => 'disabled' ); } else { $page_prev = array( 'value' => $query['page_no'] - 1 ); } return array( 'page_no' => $query['page_no'], 'per_page' => $query['per_page'], 'page_count' => $page_count, 'pages' => $pages, 'page_next' => $page_next, 'page_prev' => $page_prev, 'total_results' => $total_comments, 'per_page_options' => $per_page_options ); } else { return array( 'page_no' => $query['page_no'], 'per_page' => $query['per_page'], 'page_count' => $page_count, 'total_results' => $total_comments, 'per_page_options' => $per_page_options ); } } else { return array( 'per_page_options' => $per_page_options ); } } /** * The get_blog_sites function pulls blog sites available for the current WP instance. * If Multisite is enabled on the server, then sites under the network will be pulled, otherwise, it will return an empty array. * * @return array */ private function get_blog_sites() { if (!is_multisite()) return array(); // Initialize array container $sites = $network_sites = array(); // Check to see if latest get_sites (available on WP version >= 4.6) function is // available to pull any available sites from the current WP instance. If not, then // we're going to use the fallback function wp_get_sites (for older version). if (function_exists('get_sites') && class_exists('WP_Site_Query')) { $network_sites = get_sites(); } else { if (function_exists('wp_get_sites')) { $network_sites = wp_get_sites(); } } // We only process if sites array is not empty, otherwise, bypass // the next block. if (!empty($network_sites)) { foreach ($network_sites as $site) { // Here we're checking if the site type is an array, because // we're pulling the blog_id property based on the type of // site returned. // get_sites returns an array of object, whereas the wp_get_sites // function returns an array of array. $blog_id = (is_array($site)) ? $site['blog_id'] : $site->blog_id; // We're saving the blog_id and blog name as an associative item // into the sites array, that will be used as "Sites" option in // the frontend. $sites[$blog_id] = get_blog_details($blog_id)->blogname; } } return $sites; } /** * The get_wp_option function pulls current blog options * from the database using either following functions: * - get_blog_option (for multisite) * - get_option (for ordinary blog) * * @param array $blog_id This is the specific blog ID * @param array $setting specifies settings * @return array */ private function _get_wp_option($blog_id, $setting) { return is_multisite() ? get_blog_option($blog_id, $setting) : get_option($setting); } /** * The get_comments function pull all the comments from the database * based on the current search parameters/filters. Please see _search_comments * for the breakdown of these parameters. * * @param array $query Specific query to pull comments * @return array */ public function get_comments($query) { // Here, we're getting the current blog id. If blog id // is passed along with the parameters then we override // that current (default) value with the parameter blog id value. $blog_id = get_current_blog_id(); if (isset($query['blog_id'])) $blog_id = $query['blog_id']; // Here, we're switching to the actual blog that we need // to pull comments from. $switched = false; if (function_exists('switch_to_blog')) { $switched = switch_to_blog($blog_id); } if (!empty($query['search'])) { // If a search keyword is present, then we'll call the _search_comments // function to process the query. $comments = $this->_search_comments($query); } else { // Set default parameter values if the designated // parameters are empty. if (empty($query['per_page'])) { $query['per_page'] = 10; } if (empty($query['page_no'])) { $query['page_no'] = 1; } if (empty($query['type'])) { $query['type'] = ''; } if (empty($query['status'])) { $query['status'] = ''; } // Since WP_Comment_Query parameters doesn't have a "page" attribute, we // need to compute for the offset to get the exact content based on the // current page and the number of items per page. $offset = ((int) $query['page_no'] - 1) * (int) $query['per_page']; $args = array( 'orderby' => 'ID', 'order' => 'DESC', 'number' => $query['per_page'], 'offset' => $offset, 'type' => $query['type'], 'status' => $query['status'] ); $comments_query = new WP_Comment_Query; $comments = $comments_query->query($args); } // If no comments are found based on the current query then // we return with error. if (empty($comments)) { $result = array('message' => 'comments_not_found'); return $this->_response($result); } // Otherwise, we're going to process each comment // before we return it to the one issuing the request. // // Process in the sense that we add additional related info // such as the post tile where the comment belongs to, the // comment status, a formatted date field, and to which parent comment // does the comment was intended to be as a reply. foreach ($comments as &$comment) { $comment = get_comment($comment->comment_ID, ARRAY_A); if ($comment) { $post = get_post($comment['comment_post_ID']); if ($post) $comment['in_response_to'] = $post->post_title; if (!empty($comment['comment_parent'])) { $parent_comment = get_comment($comment['comment_parent'], ARRAY_A); if ($parent_comment) $comment['in_reply_to'] = $parent_comment['comment_author']; } // We're formatting the comment_date to be exactly the same // with that of WP Comments table (e.g. 2016/12/21 at 10:30 PM) $comment['comment_date'] = date('Y/m/d \a\t g:i a', strtotime($comment['comment_date'])); $status = wp_get_comment_status($comment['comment_ID']); if ($status) { $comment['comment_status'] = $status; } } } // We return the following to the one issuing // the request. $result = array( 'comments' => $comments, 'paging' => $this->_calculate_pages($query) ); // Here, we're restoring to the current (default) blog before we // do the switched. if (function_exists('restore_current_blog') && $switched) { restore_current_blog(); } return $this->_response($result); } /** * The get_comment_filters function builds a array of options * to be use as filters for the search function on the frontend. */ public function get_comment_filters() { // Options for comment_types field $comment_types = apply_filters('admin_comment_types_dropdown', array( 'comment' => __('Comments'), 'pings' => __('Pings'), )); // Options for comment_status field $comment_statuses = array( 'approve' => __('Approve'), 'hold' => __('Hold or Unapprove'), 'trash' => __('Trash'), 'spam' => __('Spam'), ); // Pull sites options if available. $sites = $this->get_blog_sites(); $result = array( 'sites' => $sites, 'types' => $comment_types, 'statuses' => $comment_statuses, 'paging' => $this->_calculate_pages(null), ); return $this->_response($result); } /** * The get_settings function pulls the current discussion settings * option values. * * @param array $params Passing specific params for getting current discussion settings * @return array */ public function get_settings($params) { global $updraftcentral_main; // Here, we're getting the current blog id. If blog id // is passed along with the parameters then we override // that current (default) value with the parameter blog id value. $blog_id = get_current_blog_id(); if (isset($params['blog_id'])) $blog_id = $params['blog_id']; // If user does not have sufficient privileges to manage and edit // WP options then we return with error. if (!current_user_can_for_blog($blog_id, 'manage_options')) { $result = array('error' => true, 'message' => 'insufficient_permission'); return $this->_response($result); } // Pull sites options if available. $sites = $this->get_blog_sites(); // Wrap current discussion settings values into an array item // named settings. $result = array( 'settings' => array( 'default_pingback_flag' => $this->_get_wp_option($blog_id, 'default_pingback_flag'), 'default_ping_status' => $this->_get_wp_option($blog_id, 'default_ping_status'), 'default_comment_status' => $this->_get_wp_option($blog_id, 'default_comment_status'), 'require_name_email' => $this->_get_wp_option($blog_id, 'require_name_email'), 'comment_registration' => $this->_get_wp_option($blog_id, 'comment_registration'), 'close_comments_for_old_posts' => $this->_get_wp_option($blog_id, 'close_comments_for_old_posts'), 'close_comments_days_old' => $this->_get_wp_option($blog_id, 'close_comments_days_old'), 'thread_comments' => $this->_get_wp_option($blog_id, 'thread_comments'), 'thread_comments_depth' => $this->_get_wp_option($blog_id, 'thread_comments_depth'), 'page_comments' => $this->_get_wp_option($blog_id, 'page_comments'), 'comments_per_page' => $this->_get_wp_option($blog_id, 'comments_per_page'), 'default_comments_page' => $this->_get_wp_option($blog_id, 'default_comments_page'), 'comment_order' => $this->_get_wp_option($blog_id, 'comment_order'), 'comments_notify' => $this->_get_wp_option($blog_id, 'comments_notify'), 'moderation_notify' => $this->_get_wp_option($blog_id, 'moderation_notify'), 'comment_moderation' => $this->_get_wp_option($blog_id, 'comment_moderation'), 'comment_max_links' => $this->_get_wp_option($blog_id, 'comment_max_links'), 'moderation_keys' => $this->_get_wp_option($blog_id, 'moderation_keys'), ), 'sites' => $sites, ); $wp_version = $updraftcentral_main->get_wordpress_version(); if (version_compare($wp_version, '5.5.0', '<')) { $result['settings']['comment_whitelist'] = $this->_get_wp_option($blog_id, 'comment_whitelist'); $result['settings']['blacklist_keys'] = $this->_get_wp_option($blog_id, 'blacklist_keys'); } else { $result['settings']['comment_previously_approved'] = $this->_get_wp_option($blog_id, 'comment_previously_approved'); $result['settings']['disallowed_keys'] = $this->_get_wp_option($blog_id, 'disallowed_keys'); } return $this->_response($result); } /** * The update_settings function updates the discussion settings * basing on the user generated content/option from the frontend * form. * * @param array $params Specific params to update settings based on discussion * @return array */ public function update_settings($params) { // Extract settings values from passed parameters. $settings = $params['settings']; // Here, we're getting the current blog id. If blog id // is passed along with the parameters then we override // that current (default) value with the parameter blog id value. $blog_id = get_current_blog_id(); if (isset($params['blog_id'])) $blog_id = $params['blog_id']; // If user does not have sufficient privileges to manage and edit // WP options then we return with error. if (!current_user_can_for_blog($blog_id, 'manage_options')) { $result = array('error' => true, 'message' => 'insufficient_permission'); return $this->_response($result); } // Here, we're sanitizing the input fields before we save them to the database // for safety and security reason. The "explode" and "implode" functions are meant // to maintain the line breaks associated with a textarea input/value. foreach ($settings as $key => $value) { // We're using update_blog_option and update_option altogether to update the current // discussion settings. if (is_multisite()) { update_blog_option($blog_id, $key, implode("\n", array_map('sanitize_text_field', explode("\n", $value)))); } else { update_option($key, implode("\n", array_map('sanitize_text_field', explode("\n", $value)))); } } // We're not checking for errors here, but instead we're directly returning a success (error = false) // status always, because WP's update_option will return fail if values were not changed, meaning // previous values were not changed by the user's current request, not an actual exception thrown. // Thus, giving a false positive message or report to the frontend. $result = array('error' => false, 'message' => 'settings_updated', 'values' => array()); return $this->_response($result); } /** * The get_comment function pulls a single comment based * on a comment ID. * * @param array $params Specific params for getting a single comment * @return array */ public function get_comment($params) { // Here, we're getting the current blog id. If blog id // is passed along with the parameters then we override // that current (default) value with the parameter blog id value. $blog_id = get_current_blog_id(); if (isset($params['blog_id'])) $blog_id = $params['blog_id']; // If user does not have sufficient privileges to moderate or edit // a comment then we return with error. if (!current_user_can_for_blog($blog_id, 'moderate_comments')) { $result = array('error' => true, 'message' => 'insufficient_permission'); return $this->_response($result); } // Here, we're switching to the actual blog that we need // to pull comments from. $switched = false; if (function_exists('switch_to_blog')) { $switched = switch_to_blog($blog_id); } // Get comment by comment_ID parameter and return result as an array. $result = array( 'comment' => get_comment($params['comment_id'], ARRAY_A) ); // Here, we're restoring to the current (default) blog before we // do the switched. if (function_exists('restore_current_blog') && $switched) { restore_current_blog(); } return $this->_response($result); } /** * The reply_comment function creates a new comment as a reply * to a certain/selected comment. * * @param array $params Specific params to create a new comment reply * @return array */ public function reply_comment($params) { // Extract reply info from the passed parameters $reply = $params['comment']; // Here, we're getting the current blog id. If blog id // is passed along with the parameters then we override // that current (default) value with the parameter blog id value. $blog_id = get_current_blog_id(); if (isset($params['blog_id'])) $blog_id = $params['blog_id']; // If user does not have sufficient privileges to moderate or edit // a comment then we return with error. if (!current_user_can_for_blog($blog_id, 'moderate_comments')) { $result = array('error' => true, 'message' => 'comment_reply_no_permission'); return $this->_response($result); } // Here, we're switching to the actual blog that we need // to apply our changes. $switched = false; if (function_exists('switch_to_blog')) { $switched = switch_to_blog($blog_id); } // Get comment by comment_ID parameter. $comment = get_comment($reply['comment_id']); if ($comment) { // Get the currently logged in user $user = wp_get_current_user(); // If the current comment was not approved yet then // we need to approve it before we create a reply to // to the comment, mimicking exactly the WP behaviour // in terms of creating a reply to a comment. if (empty($comment->comment_approved)) { $update_data = array( 'comment_ID' => $reply['comment_id'], 'comment_approved' => 1 ); wp_update_comment($update_data); } // Build new comment parameters based on current user info and // the target comment for the reply. $data = array( 'comment_post_ID' => $comment->comment_post_ID, 'comment_author' => $user->display_name, 'comment_author_email' => $user->user_email, 'comment_author_url' => $user->user_url, 'comment_content' => $reply['message'], 'comment_parent' => $reply['comment_id'], 'user_id' => $user->ID, 'comment_date' => current_time('mysql'), 'comment_approved' => 1 ); // Create new comment based on the parameters above, and return // the status accordingly. if (wp_insert_comment($data)) { $result = array('error' => false, 'message' => 'comment_replied_with_comment_author', 'values' => array($comment->comment_author)); } else { $result = array('error' => true, 'message' => 'comment_reply_failed_with_error', 'values' => array($comment->comment_ID)); } } else { $result = array('error' => true, 'message' => 'comment_does_not_exists_error', 'values' => array($reply['comment_id'])); } // Here, we're restoring to the current (default) blog before we // do the switched. if (function_exists('restore_current_blog') && $switched) { restore_current_blog(); } return $this->_response($result); } /** * The edit_comment function saves new information for the * currently selected comment. * * @param array $params Specific params for editing a comment * @return array */ public function edit_comment($params) { // Extract new comment info from the passed parameters $comment = $params['comment']; // Here, we're getting the current blog id. If blog id // is passed along with the parameters then we override // that current (default) value with the parameter blog id value. $blog_id = get_current_blog_id(); if (isset($params['blog_id'])) $blog_id = $params['blog_id']; // If user does not have sufficient privileges to moderate or edit // a comment then we return with error. if (!current_user_can_for_blog($blog_id, 'moderate_comments')) { $result = array('error' => true, 'message' => 'comment_edit_no_permission'); return $this->_response($result); } // Here, we're switching to the actual blog that we need // to apply our changes. $switched = false; if (function_exists('switch_to_blog')) { $switched = switch_to_blog($blog_id); } // Get current comment details $original_comment = get_comment($comment['comment_id']); if ($original_comment) { $data = array(); // Replace "comment_id" with "comment_ID" since WP does not recognize // the small case "id". $comment['comment_ID'] = $original_comment->comment_ID; unset($comment['comment_id']); // Here, we're sanitizing the input fields before we save them to the database // for safety and security reason. The "explode" and "implode" functions are meant // to maintain the line breaks associated with a textarea input/value. foreach ($comment as $key => $value) { $data[$key] = implode("\n", array_map('sanitize_text_field', explode("\n", $value))); } // Update existing comment based on the passed parameter fields and // return the status accordingly. if (wp_update_comment($data)) { $result = array('error' => false, 'message' => 'comment_edited_with_comment_author', 'values' => array($original_comment->comment_author)); } else { $result = array('error' => true, 'message' => 'comment_edit_failed_with_error', 'values' => array($original_comment->comment_ID)); } } else { $result = array('error' => true, 'message' => 'comment_does_not_exists_error', 'values' => array($comment['comment_id'])); } // Here, we're restoring to the current (default) blog before we // do the switched. if (function_exists('restore_current_blog') && $switched) { restore_current_blog(); } return $this->_response($result); } /** * The update_comment_status function is a generic handler for the following * comment actions: * * - approve comment * - unapprove comment * - set comment as spam * - move comment to trash * - delete comment permanently * - unset comment as spam * - restore comment * * @param array $params Specific params to update comment status * @return array */ public function update_comment_status($params) { // Here, we're getting the current blog id. If blog id // is passed along with the parameters then we override // that current (default) value with the parameter blog id value. $blog_id = get_current_blog_id(); if (isset($params['blog_id'])) $blog_id = $params['blog_id']; // If user does not have sufficient privileges to moderate or edit // a comment then we return with error. if (!current_user_can_for_blog($blog_id, 'moderate_comments')) { $result = array('error' => true, 'message' => 'comment_change_status_no_permission'); return $this->_response($result); } // Here, we're switching to the actual blog that we need // to apply our changes. $switched = false; if (function_exists('switch_to_blog')) { $switched = switch_to_blog($blog_id); } // We make sure that we still have a valid comment from the server // before we apply the currently selected action. $comment = get_comment($params['comment_id']); if ($comment) { $post = get_post($comment->comment_post_ID); if ($post) $comment->in_response_to = $post->post_title; if (!empty($comment->comment_parent)) { $parent_comment = get_comment($comment->comment_parent); if ($parent_comment) $comment->in_reply_to = $parent_comment->comment_author; } // We're formatting the comment_date to be exactly the same // with that of WP Comments table (e.g. 2016/12/21 at 10:30 PM) $comment->comment_date = date('Y/m/d \a\t g:i a', strtotime($comment->comment_date)); $status = wp_get_comment_status($comment->comment_ID); if ($status) { $comment->comment_status = $status; } $succeeded = false; $message = ''; // Here, we're using WP's wp_set_comment_status function to change the state // of the selected comment based on the current action, except for the "delete" action // where we use the wp_delete_comment to delete the comment permanently by passing // "true" to the second argument. switch ($params['action']) { case 'approve': $succeeded = wp_set_comment_status($params['comment_id'], 'approve'); $message = 'comment_approve_with_comment_author'; break; case 'unapprove': $succeeded = wp_set_comment_status($params['comment_id'], 'hold'); $message = 'comment_unapprove_with_comment_author'; break; case 'spam': $succeeded = wp_set_comment_status($params['comment_id'], 'spam'); $message = 'comment_spam_with_comment_author'; break; case 'trash': $succeeded = wp_set_comment_status($params['comment_id'], 'trash'); $message = 'comment_trash_with_comment_author'; break; case 'delete': $succeeded = wp_delete_comment($params['comment_id'], true); $message = 'comment_delete_with_comment_author'; break; case 'notspam': $succeeded = wp_set_comment_status($params['comment_id'], 'hold'); $message = 'comment_not_spam_with_comment_author'; break; case 'restore': $succeeded = wp_set_comment_status($params['comment_id'], 'hold'); $message = 'comment_restore_with_comment_author'; break; } // If the current action succeeded, then we return a success message, otherwise, // we return an error message to the user issuing the request. if ($succeeded) { $result = array('error' => false, 'message' => $message, 'values' => array($comment->comment_author), 'status' => $comment->comment_status, 'approved' => $comment->comment_approved); } else { $result = array('error' => true, 'message' => 'comment_change_status_failed_with_error', 'values' => array($comment->comment_ID)); } } else { $result = array('error' => true, 'message' => 'comment_does_not_exists_error', 'values' => array($params['comment_id'])); } // Here, we're restoring to the current (default) blog before we // do the switched. if (function_exists('restore_current_blog') && $switched) { restore_current_blog(); } return $this->_response($result); } } central/modules/analytics.php000064400000032174147400355670012366 0ustar00auth_endpoint = defined('UPDRAFTPLUS_GOOGLE_ANALYTICS_CALLBACK_URL') ? UPDRAFTPLUS_GOOGLE_ANALYTICS_CALLBACK_URL : 'https://auth.updraftplus.com/auth/googleanalytics'; $this->client_id = defined('UPDRAFTPLUS_GOOGLE_ANALYTICS_CLIENT_ID') ? UPDRAFTPLUS_GOOGLE_ANALYTICS_CLIENT_ID : '306245874349-6s896c3tjpra26ns3dpplhqcl6rv6qlb.apps.googleusercontent.com'; // Set transient expiration - default for 24 hours $this->expiration = 86400; } /** * Checks whether Google Analytics (GA) is installed or setup * * N.B. This check assumes GA is installed either using "wp_head" or "wp_footer" (e.g. attached * to the or somewhere before ). It does not recursively check all the pages * of the website to find if GA is installed on each or one of those pages, but only on the main/root page. * * @return array $result An array containing "ga_installed" property which returns "true" if GA (Google Analytics) is installed, "false" otherwise. */ public function ga_checker() { try { // Retrieves the tracking code/id if available $tracking_id = $this->get_tracking_id(); $installed = true; // If tracking code/id is currently not available then we // parse the needed information from the buffered content through // the "wp_head" and "wp_footer" hooks. if (false === $tracking_id) { $info = $this->extract_tracking_id(); $installed = $info['installed']; $tracking_id = $info['tracking_id']; } // Get access token to be use to generate the report. $access_token = $this->_get_token(); if (empty($access_token)) { // If we don't get a valid access token then that would mean // the access has been revoked by the user or UpdraftCentral was not authorized yet // to access the user's analytics data, thus, we're clearing // any previously stored user access so we're doing some housekeeping here. $this->clear_user_access(); } // Wrap and combined information for the requesting // client's consumption $result = array( 'ga_installed' => $installed, 'tracking_id' => $tracking_id, 'client_id' => $this->client_id, 'redirect_uri' => $this->auth_endpoint, 'scope' => $this->scope, 'access_token' => $access_token, 'endpoint' => $this->endpoint ); } catch (Exception $e) { $result = array('error' => true, 'message' => 'generic_response_error', 'values' => array($e->getMessage())); } return $this->_response($result); } /** * Extracts Google Tracking ID from contents rendered through the "wp_head" and "wp_footer" action hooks * * @internal * @return array $result An array containing the result of the extraction. */ private function extract_tracking_id() { // Define result array $result = array(); // Retrieve header content ob_start(); do_action('wp_head'); $header_content = ob_get_clean(); // Extract analytics information if available. $output = $this->parse_content($header_content); $result['installed'] = $output['installed']; $result['tracking_id'] = $output['tracking_id']; // If it was not found, then now try the footer if (empty($result['tracking_id'])) { // Retrieve footer content ob_start(); do_action('wp_footer'); $footer_content = ob_get_clean(); $output = $this->parse_content($footer_content); $result['installed'] = $output['installed']; $result['tracking_id'] = $output['tracking_id']; } if (!empty($result['tracking_id'])) { set_transient($this->tracking_id_key, $result['tracking_id'], $this->expiration); } return $result; } /** * Gets access token * * Validates whether the system currently have a valid token to use when connecting to Google Analytics API. * If not, then it will send a token request based on the authorization code we stored during the * authorization phase. Otherwise, it will return an empty token. * * @return array $result An array containing the Google Analytics API access token. */ public function get_access_token() { try { // Loads or request a valid token to use $access_token = $this->_get_token(); if (!empty($access_token)) { $result = array('access_token' => $access_token); } else { $result = array('error' => true, 'message' => 'ga_token_retrieval_failed', 'values' => array()); } } catch (Exception $e) { $result = array('error' => true, 'message' => 'generic_response_error', 'values' => array($e->getMessage())); } return $this->_response($result); } /** * Clears any previously stored user access * * @return bool */ public function clear_user_access() { return delete_option($this->access_key); } /** * Saves user is and access token received from the auth server * * @param array $query Parameter array containing the user id and access token from the auth server. * @return array $result An array containing a "success" or "failure" message as a result of the current process. */ public function save_user_access($query) { try { $token = get_option($this->access_key, false); $result = array(); if (false === $token) { $token = array( 'user_id' => base64_decode(urldecode($query['user_id'])), 'access_token' => base64_decode(urldecode($query['access_token'])) ); if (false !== update_option($this->access_key, $token)) { $result = array('error' => false, 'message' => 'ga_access_saved', 'values' => array()); } else { $result = array('error' => true, 'message' => 'ga_access_saving_failed', 'values' => array($query['access_token'])); } } } catch (Exception $e) { $result = array('error' => true, 'message' => 'generic_response_error', 'values' => array($e->getMessage())); } return $this->_response($result); } /** * Saves the tracking code/id manually (user input) * * @param array $query Parameter array containing the tracking code/id to save. * @return array $result An array containing the result of the process. */ public function save_tracking_id($query) { try { $tracking_id = $query['tracking_id']; $saved = false; if (!empty($tracking_id)) { $saved = set_transient($this->tracking_id_key, $tracking_id, $this->expiration); } $result = array('saved' => $saved); } catch (Exception $e) { $result = array('error' => true, 'message' => 'generic_response_error', 'values' => array($e->getMessage())); } return $this->_response($result); } /** * Retrieves any available access token either previously saved info or * from a new request from the Google Server. * * @internal * @return string $authorization_code */ private function _get_token() { // Retrieves the tracking code/id if available $tracking_id = $this->get_tracking_id(); $access_token = ''; $token = get_option($this->access_key, false); if (false !== $token) { $access_token = isset($token['access_token']) ? $token['access_token'] : ''; $user_id = isset($token['user_id']) ? $token['user_id'] : ''; if ((!empty($access_token) && !$this->_token_valid($access_token)) || (!empty($user_id) && empty($access_token) && !empty($tracking_id))) { if (!empty($user_id)) { $args = array( 'headers' => apply_filters('updraftplus_auth_headers', array()) ); $response = wp_remote_get($this->auth_endpoint.'?user_id='.$user_id.'&code=ud_googleanalytics_code', $args); if (is_wp_error($response)) { throw new Exception($response->get_error_message()); } else { if (is_array($response)) { $body = json_decode($response['body'], true); $token_response = array(); if (is_array($body) && !isset($body['error'])) { $token_response = json_decode(base64_decode($body[0]), true); } if (is_array($token_response) && isset($token_response['access_token'])) { $access_token = $token_response['access_token']; } else { // If we don't get any valid response then that would mean that the // permission was already revoked. Thus, we need to re-authorize the // user before using the analytics feature once again. $access_token = ''; } $token['access_token'] = $access_token; update_option($this->access_key, $token); } } } } } return $access_token; } /** * Verifies whether the access token is still valid for use * * @internal * @param string $token The access token to be check and validated * @return bool * @throws Exception If an error has occurred while connecting to the Google Server. */ private function _token_valid($token) { $response = wp_remote_get($this->token_info_endpoint.'?access_token='.$token); if (is_wp_error($response)) { throw new Exception($response->get_error_message()); } else { if (is_array($response)) { $response = json_decode($response['body'], true); if (!empty($response)) { if (!isset($response['error']) && !isset($response['error_description'])) { return true; } } } } return false; } /** * Parses and extracts the google analytics information (NEEDED) * * @internal * @param string $content The content to parse * @return array An array containing the status of the process along with the tracking code/id */ private function parse_content($content) { $installed = false; $gtm_installed = false; $tracking_id = ''; $script_file_found = false; $tracking_id_found = false; // Pull google analytics script file(s) preg_match_all('/]*>([\s\S]*?)<\/script>/i', $content, $scripts); for ($i=0; $i < count($scripts[0]); $i++) { // Check for Google Analytics file if (stristr($scripts[0][$i], 'ga.js') || stristr($scripts[0][$i], 'analytics.js')) { $script_file_found = true; } // Check for Google Tag Manager file // N.B. We are not checking for GTM but this check will be useful when // showing the notice to the user if we haven't found Google Analytics // directly being installed on the page. if (stristr($scripts[0][$i], 'gtm.js')) { $gtm_installed = true; } } // Pull tracking code preg_match_all('/UA-[0-9]{5,}-[0-9]{1,}/i', $content, $codes); if (count($codes) > 0) { if (!empty($codes[0])) { $tracking_id_found = true; $tracking_id = $codes[0][0]; } } // If we found both the script and the tracking code then it is safe // to say that Google Analytics (GA) is installed. Thus, we're returning // "true" as a response. if ($script_file_found && $tracking_id_found) { $installed = true; } // Return result of process. return array( 'installed' => $installed, 'gtm_installed' => $gtm_installed, 'tracking_id' => $tracking_id ); } /** * Retrieves the "analytics_tracking_id" transient * * @internal * @return mixed Returns the value of the saved transient. Returns "false" if the transient does not exist. */ private function get_tracking_id() { return get_transient($this->tracking_id_key); } /** * Returns the current tracking id * * @return array $result An array containing the Google Tracking ID. */ public function get_current_tracking_id() { try { // Get current site transient stored for this key $tracking_id = get_transient($this->tracking_id_key); // Checks whether we have a valid token $access_token = $this->_get_token(); if (empty($access_token)) { $tracking_id = ''; } if (false === $tracking_id) { $result = $this->extract_tracking_id(); } else { $result = array( 'installed' => true, 'tracking_id' => $tracking_id ); } } catch (Exception $e) { $result = array('error' => true, 'message' => 'generic_response_error', 'values' => array($e->getMessage())); } return $this->_response($result); } /** * Clears user access from database * * @return array $result An array containing the "Remove" confirmation whether the action succeeded or not. */ public function remove_user_access() { try { // Clear user access $is_cleared = $this->clear_user_access(); if (false !== $is_cleared) { $result = array('removed' => true); } else { $result = array('error' => true, 'message' => 'user_access_remove_failed', 'values' => array()); } } catch (Exception $e) { $result = array('error' => true, 'message' => 'generic_response_error', 'values' => array($e->getMessage())); } return $this->_response($result); } } central/listener.php000064400000035375147400355670010562 0ustar00host = $updraftcentral_host_plugin; // It seems impossible for this condition to result in a return; but it seems Plesk can do something odd within the control panel that causes a problem - see HS#6276 if (!is_a($this->host, 'UpdraftCentral_Host')) return; $this->command_classes = $command_classes; foreach ($keys as $name_hash => $key) { // publickey_remote isn't necessarily set yet, depending on the key exchange method if (!is_array($key) || empty($key['extra_info']) || empty($key['publickey_remote'])) continue; $indicator = $name_hash.'.central.updraftplus.com'; $ud_rpc = $this->host->get_udrpc($indicator); $this->udrpc_version = $ud_rpc->version; // Only turn this on if you are comfortable with potentially anything appearing in your PHP error log if (defined('UPDRAFTCENTRAL_UDRPC_FORCE_DEBUG') && UPDRAFTCENTRAL_UDRPC_FORCE_DEBUG) $ud_rpc->set_debug(true); $this->receivers[$indicator] = $ud_rpc; $this->extra_info[$indicator] = isset($key['extra_info']) ? $key['extra_info'] : null; $ud_rpc->set_key_local($key['key']); $ud_rpc->set_key_remote($key['publickey_remote']); // Create listener (which causes WP actions to be fired when messages are received) $ud_rpc->activate_replay_protection(); if (!empty($key['extra_info']) && isset($key['extra_info']['mothership'])) { $mothership = $key['extra_info']['mothership']; $url = ''; if ('__updraftpluscom' == $mothership) { $url = 'https://updraftplus.com'; } elseif (false != ($parsed = parse_url($key['extra_info']['mothership'])) && is_array($parsed)) { $url = $parsed['scheme'].'://'.$parsed['host']; } if (!empty($url)) $ud_rpc->set_allow_cors_from(array($url)); } $ud_rpc->create_listener(); } // If we ever need to expand beyond a single GET action, this can/should be generalised and put into the commands class if (!empty($_GET['udcentral_action']) && 'login' == $_GET['udcentral_action']) { // auth_redirect() does not return, according to the documentation; but the code shows that it can // auth_redirect(); if (!empty($_GET['login_id']) && is_numeric($_GET['login_id']) && !empty($_GET['login_key'])) { $login_user = get_user_by('id', $_GET['login_id']); // THis is included so we can get $wp_version include_once(ABSPATH.WPINC.'/version.php'); if (is_a($login_user, 'WP_User') || (version_compare($wp_version, '3.5', '<') && !empty($login_user->ID))) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined inside the ABSPATH.WPINC.'/version.php'. // Allow site implementers to disable this functionality $allow_autologin = apply_filters('updraftcentral_allow_autologin', true, $login_user); if ($allow_autologin) { $login_key = get_user_meta($login_user->ID, 'updraftcentral_login_key', true); if (is_array($login_key) && !empty($login_key['created']) && $login_key['created'] > time() - 60 && !empty($login_key['key']) && $login_key['key'] == $_GET['login_key']) { $autologin = empty($login_key['redirect_url']) ? network_admin_url() : $login_key['redirect_url']; } } } } if (!empty($autologin)) { // Allow use once only delete_user_meta($login_user->ID, 'updraftcentral_login_key'); $this->autologin_user($login_user, $autologin); } } add_filter('udrpc_action', array($this, 'udrpc_action'), 10, 5); add_filter('updraftcentral_get_command_info', array($this, 'updraftcentral_get_command_info'), 10, 2); add_filter('updraftcentral_get_updraftplus_status', array($this, 'get_updraftplus_status'), 10, 1); } /** * Retrieves the UpdraftPlus plugin status whether it has been installed or activated * * @param mixed $data Default data to return * @return array */ public function get_updraftplus_status($data) { // Handle cases of users who rename their plugin folders if (class_exists('UpdraftPlus')) { $data['is_updraftplus_installed'] = true; $data['is_updraftplus_active'] = true; } else { if (!function_exists('get_plugins')) require_once(ABSPATH.'wp-admin/includes/plugin.php'); $plugins = get_plugins(); $key = 'updraftplus/updraftplus.php'; if (array_key_exists($key, $plugins)) { $data['is_updraftplus_installed'] = true; if (is_plugin_active($key)) $data['is_updraftplus_active'] = true; } } return $data; } /** * Retrieves command class information and includes class file if class * is currently not available. * * @param mixed $response The default response to return if the submitted command does not exists * @param string $command The command to parse and check * @return array Contains the following command information "command_php_class", "class_prefix" and "command" */ public function updraftcentral_get_command_info($response, $command) { if (!preg_match('/^([a-z0-9]+)\.(.*)$/', $command, $matches)) return $response; $class_prefix = $matches[1]; $command = $matches[2]; // Other plugins might have registered the filter rather later so we need to make // sure that we get all the commands intended for UpdraftCentral. $this->command_classes = apply_filters('updraftcentral_remotecontrol_command_classes', $this->command_classes); // We only handle some commands - the others, we let something else deal with if (!isset($this->command_classes[$class_prefix])) return $response; $command_php_class = $this->command_classes[$class_prefix]; $command_base_class_at = apply_filters('updraftcentral_command_base_class_at', UPDRAFTCENTRAL_CLIENT_DIR.'/commands.php'); if (!class_exists('UpdraftCentral_Commands')) include_once($command_base_class_at); // Second parameter has been passed since do_action('updraftcentral_command_class_wanted', $command_php_class); if (!class_exists($command_php_class)) { if (file_exists(UPDRAFTCENTRAL_CLIENT_DIR.'/modules/'.$class_prefix.'.php')) { include_once(UPDRAFTCENTRAL_CLIENT_DIR.'/modules/'.$class_prefix.'.php'); } } return array( 'command_php_class' => $command_php_class, 'class_prefix' => $class_prefix, 'command' => $command ); } /** * Do verification before calling this method * * @param WP_User|Object $user user object for autologin * @param boolean $redirect_url Redirect URL */ private function autologin_user($user, $redirect_url = false) { if (!is_user_logged_in()) { // $user = get_user_by('id', $user_id); // Don't check that it's a WP_User - that's WP 3.5+ only if (!is_object($user) || empty($user->ID)) return; wp_set_current_user($user->ID, $user->user_login); wp_set_auth_cookie($user->ID); do_action('wp_login', $user->user_login, $user); } if ($redirect_url) { wp_safe_redirect($redirect_url); exit; } } /** * WP filter udrpc_action * * @param Array $response - the unfiltered response that will be returned * @param String $command - the command being called * @param Array $data - the parameters to the command * @param String $key_name_indicator - the UC key that is in use * @param Object $ud_rpc - the UDRP object * * @return Array - filtered response */ public function udrpc_action($response, $command, $data, $key_name_indicator, $ud_rpc) { try { if (empty($this->receivers[$key_name_indicator])) return $response; // This can be used to detect an UpdraftCentral context if (!defined('UPDRAFTCENTRAL_COMMAND')) define('UPDRAFTCENTRAL_COMMAND', $command); $this->initialise_listener_error_handling(); // UpdraftCentral needs this extra information especially now that the UpdraftCentral // libraries can be totally embedded in other plugins (e.g. WP-Optimize, etc.) thus, // that makes the UpdraftPlus plugin optional. // // This will give UpdraftCentral a proper way of disabling the backup feature // for this site if the UpdraftPlus plugin is currently not installed or activated. // // In addition, we need to attached the host plugin who is handling the UpdraftCentral requests global $updraftcentral_host_plugin; $extra = apply_filters('updraftcentral_get_updraftplus_status', array( 'is_updraftplus_installed' => false, 'is_updraftplus_active' => false, 'host_plugin' => $updraftcentral_host_plugin->plugin_name, )); $command_info = apply_filters('updraftcentral_get_command_info', false, $command); if (!$command_info) { if (isset($response['data']) && is_array($response['data'])) $response['data']['extra'] = $extra; return $response; } $class_prefix = $command_info['class_prefix']; $command = $command_info['command']; $command_php_class = $command_info['command_php_class']; if (empty($this->commands[$class_prefix])) { if (class_exists($command_php_class)) { $this->commands[$class_prefix] = new $command_php_class($this); } } $command_class = isset($this->commands[$class_prefix]) ? $this->commands[$class_prefix] : new stdClass; if ('_' == substr($command, 0, 1) || !is_a($command_class, $command_php_class) || (!method_exists($command_class, $command) && !method_exists($command_class, '__call'))) { if (defined('UPDRAFTCENTRAL_UDRPC_FORCE_DEBUG') && UPDRAFTCENTRAL_UDRPC_FORCE_DEBUG) error_log("Unknown RPC command received: ".$command); return $this->return_rpc_message(array('response' => 'rpcerror', 'data' => array('code' => 'unknown_rpc_command', 'data' => array('prefix' => $class_prefix, 'command' => $command, 'class' => $command_php_class)))); } $extra_info = isset($this->extra_info[$key_name_indicator]) ? $this->extra_info[$key_name_indicator] : null; // Make it so that current_user_can() checks can apply + work if (!empty($extra_info['user_id'])) wp_set_current_user($extra_info['user_id']); $this->current_udrpc = $ud_rpc; do_action('updraftcentral_listener_pre_udrpc_action', $command, $command_class, $data, $extra_info); // Allow the command class to perform any boiler-plate actions. if (is_callable(array($command_class, '_pre_action'))) call_user_func(array($command_class, '_pre_action'), $command, $data, $extra_info); // Despatch $msg = apply_filters('updraftcentral_listener_udrpc_action', call_user_func(array($command_class, $command), $data, $extra_info), $command_class, $class_prefix, $command, $data, $extra_info); if (is_callable(array($command_class, '_post_action'))) call_user_func(array($command_class, '_post_action'), $command, $data, $extra_info); do_action('updraftcentral_listener_post_udrpc_action', $command, $command_class, $data, $extra_info); if (isset($msg['data']) && is_array($msg['data'])) { $msg['data']['extra'] = $extra; } return $this->return_rpc_message($msg); } catch (Exception $e) { $log_message = 'PHP Fatal Exception error ('.get_class($e).') has occurred during UpdraftCentral command execution. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); return $this->return_rpc_message(array('response' => 'rpcerror', 'data' => array('code' => 'rpc_fatal_error', 'data' => array('command' => $command, 'message' => $log_message)))); // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during UpdraftCentral command execution. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); return $this->return_rpc_message(array('response' => 'rpcerror', 'data' => array('code' => 'rpc_fatal_error', 'data' => array('command' => $command, 'message' => $log_message)))); } } public function get_current_udrpc() { return $this->current_udrpc; } private function initialise_listener_error_handling() { global $updraftcentral_host_plugin; $this->host->error_reporting_stop_when_logged = true; set_error_handler(array($this->host, 'php_error'), E_ALL & ~E_STRICT); $this->php_events = array(); @ob_start();// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Might be a bigger picture that I am missing but do we need to silence errors here? add_filter($updraftcentral_host_plugin->get_logline_filter(), array($this, 'updraftcentral_logline'), 10, 4); if (!$updraftcentral_host_plugin->get_debug_mode()) return; } public function updraftcentral_logline($line, $nonce, $level, $uniq_id) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found -- Unused parameter is present because the method is used as a WP filter. if ('notice' === $level && 'php_event' === $uniq_id) { $this->php_events[] = $line; } return $line; } public function return_rpc_message($msg) { if (is_array($msg) && isset($msg['response']) && 'error' == $msg['response']) { $this->host->log('Unexpected response code in remote communications: '.serialize($msg)); } $caught_output = @ob_get_contents();// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Might be a bigger picture that I am missing but do we need to silence errors here? @ob_end_clean();// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Might be a bigger picture that I am missing but do we need to silence errors here? // If turning output-catching off, turn this on instead: // $caught_output = ''; @ob_end_flush(); // If there's higher-level output buffering going on, then get rid of that if (ob_get_level()) ob_end_clean(); if ($caught_output) { if (!isset($msg['data'])) $msg['data'] = null; $msg['data'] = array('caught_output' => $caught_output, 'previous_data' => $msg['data']); $already_rearranged_data = true; } if (!empty($this->php_events)) { if (!isset($msg['data'])) $msg['data'] = null; if (!empty($already_rearranged_data)) { $msg['data']['php_events'] = array(); } else { $msg['data'] = array('php_events' => array(), 'previous_data' => $msg['data']); } foreach ($this->php_events as $logline) { $msg['data']['php_events'][] = $logline; } } restore_error_handler(); return $msg; } } central/bootstrap.php000064400000106311147400355670010737 0ustar00is_host_dir_set()) die('No access.'); // This file is included during plugins_loaded // Load the listener class that we rely on to pick up messages if (!class_exists('UpdraftCentral_Listener')) require_once('listener.php'); // We exit if class already exists. More common if two or more plugins integrated // the same `UpdraftCentral` client folder. if (!class_exists('UpdraftCentral_Main')) : class UpdraftCentral_Main { /** * Class constructor */ public function __construct() { add_action('udrpc_log', array($this, 'udrpc_log'), 10, 3); add_action('wp_ajax_updraftcentral_receivepublickey', array($this, 'wp_ajax_updraftcentral_receivepublickey')); add_action('wp_ajax_nopriv_updraftcentral_receivepublickey', array($this, 'wp_ajax_updraftcentral_receivepublickey')); // The host plugin's command class is registered in its "plugins_loaded" method (e.g. UpdraftPlus::plugins_loaded()). // // N.B. The new filter "updraftcentral_remotecontrol_command_classes" was introduced on Jan. 2021 and will soon replace the // old filter "updraftplus_remotecontrol_command_classes" (below). This was done in order to synchronize all available filters // and actions related to UpdraftCentral so that we can easily port the UpdraftCentral client code into our other plugins. // // If you happened to use the old filter from any of your projects then you might as well update it with the new filter as the // old filter has already been marked as deprecated, though currently supported as can be seen below but will soon be remove // from this code block. $command_classes = apply_filters('updraftcentral_remotecontrol_command_classes', array( 'core' => 'UpdraftCentral_Core_Commands', 'updates' => 'UpdraftCentral_Updates_Commands', 'users' => 'UpdraftCentral_Users_Commands', 'comments' => 'UpdraftCentral_Comments_Commands', 'analytics' => 'UpdraftCentral_Analytics_Commands', 'plugin' => 'UpdraftCentral_Plugin_Commands', 'theme' => 'UpdraftCentral_Theme_Commands', 'posts' => 'UpdraftCentral_Posts_Commands', 'media' => 'UpdraftCentral_Media_Commands', 'pages' => 'UpdraftCentral_Pages_Commands' )); // N.B. This "updraftplus_remotecontrol_command_classes" filter has been marked as deprecated and will be remove after May 2021. // Please see above code comment for further explanation and its alternative. $command_classes = apply_filters('updraftplus_remotecontrol_command_classes', $command_classes); // If nothing was sent, then there is no incoming message, so no need to set up a listener (or CORS request, etc.). This avoids a DB SELECT query on the option below in the case where it didn't get autoloaded, which is the case when there are no keys. if (!empty($_SERVER['REQUEST_METHOD']) && ('GET' == $_SERVER['REQUEST_METHOD'] || 'POST' == $_SERVER['REQUEST_METHOD']) && (empty($_REQUEST['action']) || 'updraft_central' !== $_REQUEST['action']) && empty($_REQUEST['udcentral_action']) && empty($_REQUEST['udrpc_message'])) return; // Remote control keys // These are different from the remote send keys, which are set up in the Migrator add-on $our_keys = $this->get_central_localkeys(); if (is_array($our_keys) && !empty($our_keys)) { new UpdraftCentral_Listener($our_keys, $command_classes); } } /** * Enqueues the needed styles and scripts for UpdraftCentral * * @return void */ public function enqueue_central_scripts() { // This is an additional check; the caller is assumed to have already run checks before painting its page in general if (!current_user_can('manage_options')) return; global $updraftcentral_host_plugin; $version = $updraftcentral_host_plugin->get_version(); $enqueue_version = (defined('WP_DEBUG') && WP_DEBUG) ? $version.'.'.time() : $version; $min_or_not = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) ? '' : '.min'; // Fallback to unminified version if the minified version is not found. if (!empty($min_or_not) && !file_exists(UPDRAFTCENTRAL_CLIENT_DIR.'/js/central'.$min_or_not.'.js')) { $min_or_not = ''; } wp_enqueue_script('updraft-central', UPDRAFTCENTRAL_CLIENT_URL.'/js/central'.$min_or_not.'.js', array(), $enqueue_version); wp_enqueue_style('updraft-central', UPDRAFTCENTRAL_CLIENT_URL.'/css/central'.$min_or_not.'.css', array(), $enqueue_version); $localize = array_merge( array( 'central_url' => UPDRAFTCENTRAL_CLIENT_URL, 'plugin_name' => $updraftcentral_host_plugin->get_plugin_name(), 'updraftcentral_request_nonce' => wp_create_nonce('updraftcentral-request-nonce'), ), $updraftcentral_host_plugin->translations ); wp_localize_script('updraft-central', 'uclion', apply_filters('updraftcentral_uclion', $localize)); } /** * Retrieves current clean url for anchor link where href attribute value is not url (for ex. #div) or empty. Output is not escaped (caller should escape). * * @return String - current clean url */ public function get_current_clean_url() { // Within an UpdraftCentral context, there should be no prefix on the anchor link if (defined('UPDRAFTCENTRAL_COMMAND') && UPDRAFTCENTRAL_COMMAND || defined('WP_CLI') && WP_CLI) return ''; if (defined('DOING_AJAX') && DOING_AJAX && !empty($_SERVER['HTTP_REFERER'])) { $current_url = $_SERVER['HTTP_REFERER']; } else { $url_prefix = is_ssl() ? 'https' : 'http'; $host = empty($_SERVER['HTTP_HOST']) ? parse_url(network_site_url(), PHP_URL_HOST) : $_SERVER['HTTP_HOST']; $current_url = $url_prefix."://".$host.wp_unslash($_SERVER['REQUEST_URI']); } $remove_query_args = array('state', 'action', 'oauth_verifier', 'nonce', 'updraftplus_instance', 'access_token', 'user_id', 'updraftplus_googledriveauth'); $query_string = remove_query_arg($remove_query_args, $current_url); return function_exists('wp_unslash') ? wp_unslash($query_string) : stripslashes_deep($query_string); } /** * Get the WordPress version * * @return String - the version */ public function get_wordpress_version() { static $got_wp_version = false; if (!$got_wp_version) { @include(ABSPATH.WPINC.'/version.php');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $got_wp_version = $wp_version;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined inside the ABSPATH.WPINC.'/version.php'. } return $got_wp_version; } /** * Retrieves the UpdraftCentral generated keys * * @param Mixed $default default value to return when option is not found * * @return Mixed */ private function get_central_localkeys($default = null) { $option = 'updraft_central_localkeys'; $ret = get_option($option, $default); return apply_filters('updraftcentral_get_option', $ret, $option, $default); } /** * Updates the UpdraftCentral's keys * * @param string $value Specify option value * @param bool $use_cache Whether or not to use the WP options cache * @param string $autoload Whether to autoload (only takes effect on a change of value) * * @return bool */ private function update_central_localkeys($value, $use_cache = true, $autoload = 'yes') { $option = 'updraft_central_localkeys'; return update_option($option, apply_filters('updraftcentral_update_option', $value, $option, $use_cache), $autoload); } /** * Receive a new public key in $_GET, and echo a response. Will die() if called. */ public function wp_ajax_updraftcentral_receivepublickey() { global $updraftcentral_host_plugin; // The actual nonce check is done in the method below if (empty($_GET['_wpnonce']) || empty($_GET['public_key']) || !isset($_GET['updraft_key_index'])) die; $result = $this->receive_public_key(); if (!is_array($result) || empty($result['responsetype'])) die; $style = 'body {text-align: center;font-family: Helvetica,Arial,Lucida,sans-serif;background-color: #A64C1A;color: #FFF;height: 100%;width: 100%;margin: 0;padding: 0;}#main {height: 100%;width: 100%;display: table;}#wrapper {display: table-cell;height: 100%;vertical-align: middle;}h1 {margin-bottom: 5px;}h2 {margin-top: 0;font-size: 22px;color: #FFF;}#btn-close {color: #FFF;font-size: 20px;font-weight: 500;padding: .3em 1em;line-height: 1.7em !important;background-color: transparent;background-size: cover;background-position: 50%;background-repeat: no-repeat;border: 2px solid;border-radius: 3px;-webkit-transition-duration: .2s;transition-duration: .2s;-webkit-transition-property: all !important;transition-property: all !important;text-decoration: none;}#btn-close:hover {background-color: #DE6726;}'; echo 'UpdraftCentral

'.$updraftcentral_host_plugin->retrieve_show_message('updraftcentral_connection').'

'.htmlspecialchars(network_site_url()).'

'; if ('ok' == $result['responsetype']) { $updraftcentral_host_plugin->retrieve_show_message('updraftcentral_connection_successful', true); } else { echo ''.$updraftcentral_host_plugin->retrieve_show_message('updraftcentral_connection_failed').'
'; switch ($result['code']) { case 'unknown_key': $updraftcentral_host_plugin->retrieve_show_message('unknown_key', true); break; case 'not_logged_in': echo $updraftcentral_host_plugin->retrieve_show_message('not_logged_in').' '.$updraftcentral_host_plugin->retrieve_show_message('must_visit_url'); break; case 'nonce_failure': $updraftcentral_host_plugin->retrieve_show_message('security_check', true); $updraftcentral_host_plugin->retrieve_show_message('must_visit_link', true); break; case 'already_have': $updraftcentral_host_plugin->retrieve_show_message('connection_already_made', true); break; case 'insufficient_privilege': $updraftcentral_host_plugin->retrieve_show_message('insufficient_privilege', true); break; default: echo htmlspecialchars(print_r($result, true)); break; } } echo '

'.$updraftcentral_host_plugin->retrieve_show_message('close').'

'; die; } /** * Checks _wpnonce, and if successful, saves the public key found in $_GET * * @return Array - with keys responsetype (can be 'error' or 'ok') and code, indicating whether the parse was successful */ private function receive_public_key() { if (!is_user_logged_in()) { return array('responsetype' => 'error', 'code' => 'not_logged_in'); } if (!wp_verify_nonce($_GET['_wpnonce'], 'updraftcentral_receivepublickey')) return array('responsetype' => 'error', 'code' => 'nonce_failure'); $updraft_key_index = $_GET['updraft_key_index']; $our_keys = $this->get_central_localkeys(); if (!is_array($our_keys)) $our_keys = array(); if (!isset($our_keys[$updraft_key_index])) { return array('responsetype' => 'error', 'code' => 'unknown_key'); } if (!empty($our_keys[$updraft_key_index]['publickey_remote'])) { return array('responsetype' => 'error', 'code' => 'already_have'); } $our_keys[$updraft_key_index]['publickey_remote'] = base64_decode(stripslashes($_GET['public_key'])); $this->update_central_localkeys($our_keys, true, 'no'); return array('responsetype' => 'ok', 'code' => 'ok'); } /** * Action parameters, from udrpc: $message, $level, $this->key_name_indicator, $this->debug, $this * * @param string $message The log message * @param string $level Log level * @param string $key_name_indicator This indicates the key name */ public function udrpc_log($message, $level, $key_name_indicator) { $udrpc_log = get_site_option('updraftcentral_client_log'); if (!is_array($udrpc_log)) $udrpc_log = array(); $new_item = array( 'time' => time(), 'level' => $level, 'message' => $message, 'key_name_indicator' => $key_name_indicator ); if (!empty($_SERVER['REMOTE_ADDR'])) { $new_item['remote_ip'] = $_SERVER['REMOTE_ADDR']; } if (!empty($_SERVER['HTTP_USER_AGENT'])) { $new_item['http_user_agent'] = $_SERVER['HTTP_USER_AGENT']; } if (!empty($_SERVER['HTTP_X_SECONDARY_USER_AGENT'])) { $new_item['http_secondary_user_agent'] = $_SERVER['HTTP_X_SECONDARY_USER_AGENT']; } $udrpc_log[] = $new_item; if (count($udrpc_log) > 50) array_shift($udrpc_log); update_site_option('updraftcentral_client_log', $udrpc_log); } /** * Delete UpdraftCentral Key * * @param array $key_id key_id of UpdraftCentral * * @return array which contains deleted flag and key table. If error, Returns array which contains fatal_error flag and fatal_error_message */ public function delete_key($key_id) { $our_keys = $this->get_central_localkeys(); if (is_array($key_id) && isset($key_id['key_id'])) { $key_id = $key_id['key_id']; } if (!is_array($our_keys)) $our_keys = array(); if (isset($our_keys[$key_id])) { unset($our_keys[$key_id]); $this->update_central_localkeys($our_keys); } return array('deleted' => 1, 'keys_table' => $this->get_keys_table()); } /** * Get UpdraftCentral Log * * @return array which contains log_contents. If error, Returns array which contains fatal_error flag and fatal_error_message */ public function get_log() { global $updraftcentral_host_plugin; $udrpc_log = get_site_option('updraftcentral_client_log'); if (!is_array($udrpc_log)) $udrpc_log = array(); $log_contents = ''; // Events are appended to the array in the order they happen. So, reversing the order gets them into most-recent-first order. rsort($udrpc_log); if (empty($udrpc_log)) { $log_contents = ''.$updraftcentral_host_plugin->retrieve_show_message('nothing_yet_logged').''; } foreach ($udrpc_log as $m) { // Skip invalid data if (!isset($m['time'])) continue; $time = gmdate('Y-m-d H:i:s O', $m['time']); // $level is not used yet. We could put the message in different colours for different levels, if/when it becomes used. $key_name_indicator = empty($m['key_name_indicator']) ? '' : $m['key_name_indicator']; $log_contents .= ''."$time "; if (!empty($m['remote_ip'])) $log_contents .= '['.htmlspecialchars($m['remote_ip']).'] '; $log_contents .= "[".htmlspecialchars($key_name_indicator)."] ".htmlspecialchars($m['message'])."\n"; } return array('log_contents' => $log_contents); } public function create_key($params) { global $updraftcentral_host_plugin; // Use the site URL - this means that if the site URL changes, communication ends; which is the case anyway $user = wp_get_current_user(); if (!is_object($user) || empty($user->ID)) return array('error' => $updraftcentral_host_plugin->retrieve_show_message('insufficient_privilege')); if (!current_user_can('manage_options')) return array('error' => $updraftcentral_host_plugin->retrieve_show_message('insufficient_privilege')); $where_send = empty($params['where_send']) ? '' : (string) $params['where_send']; if ('__updraftpluscom' != $where_send) { $purl = parse_url($where_send); if (empty($purl) || !array($purl) || empty($purl['scheme']) || empty($purl['host'])) return array('error' => $updraftcentral_host_plugin->retrieve_show_message('invalid_url')); } // ENT_HTML5 exists only on PHP 5.4+ // @codingStandardsIgnoreLine $flags = defined('ENT_HTML5') ? ENT_QUOTES | ENT_HTML5 : ENT_QUOTES; $extra_info = array( 'user_id' => $user->ID, 'user_login' => $user->user_login, 'ms_id' => get_current_blog_id(), 'site_title' => html_entity_decode(get_bloginfo('name'), $flags), ); if ($where_send) { $extra_info['mothership'] = $where_send; if (!empty($params['mothership_firewalled'])) { $extra_info['mothership_firewalled'] = true; } } if (!empty($params['key_description'])) { $extra_info['name'] = (string) $params['key_description']; } $key_size = (empty($params['key_size']) || !is_numeric($params['key_size']) || $params['key_size'] < 512) ? 2048 : (int) $params['key_size']; $extra_info['key_size'] = $key_size; $created = $this->create_remote_control_key(false, $extra_info, $where_send); if (is_array($created)) { $created['keys_table'] = $this->get_keys_table(); $created['keys_guide'] = '

'. $updraftcentral_host_plugin->retrieve_show_message('updraftcentral_key_created') .'

'; if ('__updraftpluscom' != $where_send) { $created['keys_guide'] .= '

'.sprintf($updraftcentral_host_plugin->retrieve_show_message('need_to_copy_key'), 'UpdraftCentral dashboard').'

'.$updraftcentral_host_plugin->retrieve_show_message('press_add_site_button').'

'.sprintf($updraftcentral_host_plugin->retrieve_show_message('detailed_instructions'), 'UpdraftPlus.com').'

'; } else { $created['keys_guide'] .= '

'. sprintf($updraftcentral_host_plugin->retrieve_show_message('control_this_site'), 'UpdraftPlus.com').'

'; } } return $created; } /** * Given an index, return the indicator name * * @param String $index * * @return String */ private function indicator_name_from_index($index) { return $index.'.central.updraftplus.com'; } /** * Gets an RPC object, and sets some defaults on it that we always want * * @param string $indicator_name indicator name * * @return array */ public function get_udrpc($indicator_name = 'migrator.updraftplus.com') { global $updraftcentral_host_plugin, $updraftplus; $updraftplus->ensure_phpseclib(); if (!class_exists('UpdraftPlus_Remote_Communications_V2')) include_once($updraftcentral_host_plugin->get_host_dir().'/vendor/team-updraft/common-libs/src/updraft-rpc/class-udrpc2.php'); $ud_rpc = new UpdraftPlus_Remote_Communications_V2($indicator_name); $ud_rpc->set_can_generate(true); return $ud_rpc; } private function create_remote_control_key($index = false, $extra_info = array(), $post_it = false) { global $updraftcentral_host_plugin; $our_keys = $this->get_central_localkeys(); if (!is_array($our_keys)) $our_keys = array(); if (false === $index) { if (empty($our_keys)) { $index = 0; } else { $index = max(array_keys($our_keys))+1; } } $name_hash = $index; if (isset($our_keys[$name_hash])) { unset($our_keys[$name_hash]); } $indicator_name = $this->indicator_name_from_index($name_hash); $ud_rpc = $this->get_udrpc($indicator_name); if ('__updraftpluscom' == $post_it) { $post_it = defined('UPDRAFTPLUS_OVERRIDE_UDCOM_DESTINATION') ? UPDRAFTPLUS_OVERRIDE_UDCOM_DESTINATION : 'https://updraftplus.com/?updraftcentral_action=receive_key'; $post_it_description = 'UpdraftPlus.Com'; } else { $post_it_description = $post_it; } // Normally, key generation takes seconds, even on a slow machine. However, some Windows machines appear to have a setup in which it takes a minute or more. And then, if you're on a double-localhost setup on slow hardware - even worse. It doesn't hurt to just raise the maximum execution time. if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTCENTRAL_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $key_size = (empty($extra_info['key_size']) || !is_numeric($extra_info['key_size']) || $extra_info['key_size'] < 512) ? 2048 : (int) $extra_info['key_size']; if (is_object($ud_rpc) && $ud_rpc->generate_new_keypair($key_size)) { if ($post_it && empty($extra_info['mothership_firewalled'])) { $p_url = parse_url($post_it); if (is_array($p_url) && !empty($p_url['user'])) { $http_username = $p_url['user']; $http_password = empty($p_url['pass']) ? '' : $p_url['pass']; $post_it = $p_url['scheme'].'://'.$p_url['host']; if (!empty($p_url['port'])) $post_it .= ':'.$p_url['port']; $post_it .= $p_url['path']; if (!empty($p_url['query'])) $post_it .= '?'.$p_url['query']; } $post_options = array( 'timeout' => 90, 'body' => array( 'updraftcentral_action' => 'receive_key', 'key' => $ud_rpc->get_key_remote() ) ); if (!empty($http_username)) { $post_options['headers'] = array( 'Authorization' => 'Basic '.base64_encode($http_username.':'.$http_password) ); } // This option allows the key to be sent to the other side via a known-secure channel (e.g. http over SSL), rather than potentially allowing it to travel over an unencrypted channel (e.g. http back to the user's browser). As such, if specified, it is compulsory for it to work. $updraftcentral_host_plugin->register_wp_http_option_hooks(); $sent_key = wp_remote_post( $post_it, $post_options ); $updraftcentral_host_plugin->register_wp_http_option_hooks(false); $connection_troubleshooting_url = 'https://updraftplus.com/troubleshooting-updraftcentral-connection-issues/'; if (is_wp_error($sent_key) || empty($sent_key)) { $err_msg = sprintf($updraftcentral_host_plugin->retrieve_show_message('attempt_to_register_failed'), (string) $post_it_description, $connection_troubleshooting_url); if (is_wp_error($sent_key)) $err_msg .= ' '.$sent_key->get_error_message().' ('.$sent_key->get_error_code().')'; return array( 'r' => $err_msg ); } $response = json_decode(wp_remote_retrieve_body($sent_key), true); if (!is_array($response) || !isset($response['key_id']) || !isset($response['key_public'])) { return array( 'r' => sprintf($updraftcentral_host_plugin->retrieve_show_message('attempt_to_register_failed'), (string) $post_it_description, $connection_troubleshooting_url), 'raw' => wp_remote_retrieve_body($sent_key) ); } $key_hash = hash('sha256', $ud_rpc->get_key_remote()); $local_bundle = $ud_rpc->get_portable_bundle('base64_with_count', $extra_info, array('key' => array('key_hash' => $key_hash, 'key_id' => $response['key_id']))); } elseif ($post_it) { // Don't send; instead, include in the bundle info that the mothership is firewalled; this will then tell the mothership to try the reverse connection instead if (is_array($extra_info)) { $extra_info['mothership_firewalled_callback_url'] = wp_nonce_url(admin_url('admin-ajax.php'), 'updraftcentral_receivepublickey'); $extra_info['updraft_key_index'] = $index; } $local_bundle = $ud_rpc->get_portable_bundle('base64_with_count', $extra_info, array('key' => $ud_rpc->get_key_remote())); } if (isset($extra_info['name'])) { $name = (string) $extra_info['name']; unset($extra_info['name']); } else { $name = 'UpdraftCentral Remote Control'; } $our_keys[$name_hash] = array( 'name' => $name, 'key' => $ud_rpc->get_key_local(), 'extra_info' => $extra_info, 'created' => time(), ); // Store the other side's public key if (!empty($response) && is_array($response) && !empty($response['key_public'])) { $our_keys[$name_hash]['publickey_remote'] = $response['key_public']; } $this->update_central_localkeys($our_keys, true, 'no'); return array( 'bundle' => $local_bundle, 'r' => $updraftcentral_host_plugin->retrieve_show_message('key_created_successfully').' '.$updraftcentral_host_plugin->retrieve_show_message('copy_paste_key'), ); } return false; } /** * Get the HTML for the keys table * * @return String */ public function get_keys_table() { // This is an additional check - it implies requirement for a dashboard context if (!current_user_can('manage_options')) return; global $updraftcentral_host_plugin; $ret = ''; $our_keys = $this->get_central_localkeys(); if (!is_array($our_keys)) $our_keys = array(); if (empty($our_keys)) { $ret .= ''.$updraftcentral_host_plugin->retrieve_show_message('no_updraftcentral_dashboards').''; } foreach ($our_keys as $i => $key) { if (empty($key['extra_info'])) continue; $user_id = $key['extra_info']['user_id']; if (!empty($key['extra_info']['mothership'])) { $mothership_url = $key['extra_info']['mothership']; if ('__updraftpluscom' == $mothership_url) { $reconstructed_url = 'https://updraftplus.com'; } else { $purl = parse_url($mothership_url); $path = empty($purl['path']) ? '' : $purl['path']; $reconstructed_url = $purl['scheme'].'://'.$purl['host'].(!empty($purl['port']) ? ':'.$purl['port'] : '').$path; } } else { $reconstructed_url = $updraftcentral_host_plugin->retrieve_show_message('unknown'); } $name = $key['name']; $user = get_user_by('id', $user_id); $user_display = is_a($user, 'WP_User') ? $user->user_login.' ('.$user->user_email.')' : $updraftcentral_host_plugin->retrieve_show_message('unknown'); $ret .= ''.htmlspecialchars($name).' ('.htmlspecialchars($i).')'.$updraftcentral_host_plugin->retrieve_show_message('access_as_user')." ".htmlspecialchars($user_display)."
".$updraftcentral_host_plugin->retrieve_show_message('public_key_sent').' '.htmlspecialchars($reconstructed_url).'
'; if (!empty($key['created'])) { $ret .= $updraftcentral_host_plugin->retrieve_show_message('created').' '.date_i18n(get_option('date_format').' '.get_option('time_format'), $key['created']).'.'; if (!empty($key['extra_info']['key_size'])) { $ret .= ' '.sprintf($updraftcentral_host_plugin->retrieve_show_message('key_size'), $key['extra_info']['key_size']).'.'; } $ret .= '
'; } $ret .= ''.$updraftcentral_host_plugin->retrieve_show_message('delete').''; } ob_start(); ?>
retrieve_show_message('manage_keys'), count($our_keys)); ?>
retrieve_show_message('key_description', true); ?> retrieve_show_message('details', true); ?>

retrieve_show_message('connect_to_updraftcentral_dashboard', true); ?>



retrieve_show_message('website_installed'), 'UpdraftCentral'); ?>

'.' '.__('Follow this link to read about how to set browser permission', 'updraftplus').''; ?>

enqueue_central_scripts(); global $updraftcentral_host_plugin; $including_desc = ''; if (function_exists('get_current_screen')) { $screen = get_current_screen(); $hosts = apply_filters('updraftcentral_host_plugins', array()); $includes = $updraftcentral_host_plugin->retrieve_show_message('including_description'); foreach ($hosts as $plugin) { if (false !== stripos($screen->id, $plugin)) { $key = str_replace('-', '_', strtolower($plugin)).'_desc'; if (isset($includes[$key])) { $including_desc = $includes[$key]; break; } } } } $updraftcentral_description = preg_replace('/\s+/', ' ', sprintf($updraftcentral_host_plugin->retrieve_show_message('updraftcentral_description'), $including_desc)); ?>

retrieve_show_message('updraftcentral_remote_control', true); ?>

'.$updraftcentral_host_plugin->retrieve_show_message('read_more').''; ?>

create_key_markup(); ?> get_keys_table(); ?> get_log_markup(); ?>
get_plugin_name()) // // N.B. You can add additional host plugins here. Just make sure that you will create // a host class for that particular plugin (see central/wp-optimize.php as an example). $mapped_classes = array( 'updraftplus' => 'UpdraftPlus_Host', 'wp-optimize' => 'WP_Optimize_Host', ); $path = $host_class = ''; foreach ($hosts as $plugin) { // Make sure that we have a registered host class with a valid file that exist $host_file = dirname(__FILE__).'/'.$plugin.'.php'; if (isset($mapped_classes[$plugin]) && file_exists($host_file)) { $path = $host_file; $host_class = $mapped_classes[$plugin]; break; } } // The host file was not found under this plugin thus, we let the other plugins // create or build the host plugin (global) variable instead. if (empty($path)) return null; if (!class_exists($host_class)) include_once($path); // Re-check host class once again just to make sure that we have the desired // class loaded before calling its instance method if (class_exists($host_class)) { return call_user_func(array($host_class, 'instance')); } return null; } } endif; global $updraftcentral_host_plugin; $updraftcentral_host_plugin = UpdraftCentral_Factory::create_host(); if ($updraftcentral_host_plugin) { $updraftcentral_host_plugin->load_updraftcentral(); } central/images/ud-logo.png000064400000015205147400355670011533 0ustar00PNG  IHDR<q OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3-bKGD pHYs.#.#x?vtIME  l6eIDATx{_Eu?_rsC < 0N1#(BAWT]vJ|BKBʣU^T%=-4M$ycޛ}wkݕܛ=3sٳgUSI5wTUҦg)oIW6_UZ`fX~q[c $i/`O`5nf;A +cJgG{oсo 7o+m5VCA&cshWX lS 4͒҆$GפTڬh \MXf'ְ o ,*m~^w jT9K5';`fe]nX <\|+^Jhok̬X6lޅF~:uM} 3}E$MVXj6~D]<ѧ8:\Mkxju$L"`Mk+U>JJm%qtCGW|zGSW $VX@GQ `Ch|͎'q4lJc9wzXiWJ{^$.vPPHr!#|$$շ풠]8Sv2w6;:yW7$$-v PM< Bi)zbDg$q4hCpvCc#Go`fI5z9kG֙4BGBrя]:'$q գOcJ9#͖|;GDr^,7TZO2}'~FۛދS[8*s;;zgJfz6Τ |:eV-Jߦ$nsSߠ뻚v{|> Rkkn`ݝyp/a`+XϠ: {~ci`A#u 6P,XWP~:p՚D_5Y(q"QX)UX} K+d7!a# ֏w3,PD^,` G֗Y–nZGH_T1dVvB`mEj $Bo_6-YD,`m=U+5kf@X = P#EfW՚AWXiZ^X[B8>p=k`+Ih2Qy2e%(,/ zZy f+#<5ZBMz_+\ *x v 6䌬o<+$ X8X^"ؐO 9rjJABH)>$߶$ Tšڈ=#sW`2xz - ;z?2YwXoUYJYK3zP(xoI`m]Axk|M竦;%>/9 GA],4Nؓ]7Wgdmg$BpxKLY I$>"wxY˪J2SYہgYXigI&7ZPqG^Rdp"s).љ%6;6+Kj%0Cil(Xb* ٘RVCP܍Rd*V,NV`ɑZ`ą2WsI-t=2μ xfq.s&0KEBH-F o8{GGs? xAݣelL(mD y$>^V*Q >åVlѽfp͓ے8ڻJHbV}s5ߐ`+ x"_ &7+9+2x ٘UXa.dsN͂<ιXѱdJ\sj.Ϲb7O, 7Sy*mj.E>"ߩ=I}+{nxAP-*b)Uԛѻsj؍ ka,GY-،I³Ey:셂O>u<[%򸅆w7+B.V,.ͭ:!^[`I bnV؝ٳ np/i&q4:8Ճj4GQ=$sC%N5.{q`uWKsXJ[F=VW3Ö;zvl\%ϭ! ,PPHPIg8뽪\(gRd2gpj9qH tjHIFe&cL.m5RO򌶒K[s7"|}~xqviL.JcrzhkaO A,Rf 7 &EX{Դvw3MϮ((4[ޛIc֦CtVPKA нe2"V%J;Ѥ#*\Qm#;|5{ :CCyJG}f)5C-]a4 [ 2쵗}RlٵZݢ5KSKT˕b X5xҠtVbŅxl+._Gs\5 ]t0iQNQEai{ͷ/ڑ0fŽMC! ,OPH-H 8ɧ`t$%VD08 ,e g+rAȐU%UKW+\D9yjX4O2p]_s݌Ժ}|JGtxwjzK5J_N8LC3#yVKBoPɕΫCTُԭܤә"0rtsmlP`J PT`h 0 n4` [>];2 ;x.=ٸ'zHAD$b$oa6+]1QF KY$&o lqO,e⥺m,nŒWDy FO3( i'T馣n`Z RdzIŝ<{t.8^aS *{$zS>E *K`I* Nk5ꕥ@asҖ(tt7Djmqb%%! ,PPH.I%8M'hhk n]q<欞 (SҬr kͪ1dU؅ E/gw~P%625.Kt--p''#p+y-},4&u{Dk/(dIĹ(Z$­s[֡YNR᥿a[ھ^溘_HsNc 'n:|O]C(2,8b2,i$ cK/ mcʊܭ7q2jGҔ Lh#Q޼T랚9[גM8Ű.WFD+r5=յ̀ U};߶rd@ZOo yo>؉dFEX?787O._(t; ,6q |M#lT%Jy-.|P·ȾhVȸ&[RԨ`ҳ=ʗڹaDm %~8 1%sOݺdƕͰ}H8*h^Nj PE&O΂/9<iA#OΞ%AB|5U =эK]̈Ě*wz h"9v&TzZOqs|\[ҍҽ +`΄;6ƆbBHJNO2ӽܜE@bM} !_u+$ ! ,OOH0 89&hhv*?<:o bȢ$eJJ ,hJAdTd#um1mLʇEC}8=L?>>~S4S=78`B9$8/1w. 6'X.k-gT.q(-T¾ͪZYQbvYf`O^ WF JVMwp":]zpvEV\ʖ`z8FJ""'x$5SXdM[4QhODLָLMݬ#XjN( kXbv5Tl~| 5..'#nWmP@Zv &lP:\vZR7=yh…OBGNŮ/%y! ,PPH.I%8=E&hE*+?ߠ7D7 _DqyJ^P>vz< AmeՌ>$;8 ak,SST}wH r4@8O770u0zR+ m.-M# i"jLɆ%VӲ=k&ۭQMZRgKoTb  z-$B^'~2214xnC$9tۇ^`Qf>Rs2L KSQg"͟!/f<r*K\ Ҭæέ5r ! ` ,رJRh֫qm*fO=VnԺy+!+>5:$.G;;@*y姯<%'P1})w_ (ԉ9%! ,PPX/I&8뭦čXclt*uߤM+~qJ6P3Z$jG7]bUZT,M9r!8~5| zB:3J/4gOJ -@% 6/>yt&i;PnVu\)*Wp`x铇ܶ.J C+z@8M?dA<ƄcF$a`#-eCRɐș"5idU opgk#C 5<3^F" KWŸ%\ʂW9 '4uXX\[ 'Z\ZBhp!)=CDʻ͡/o=(x* >GJdh&EX;:ΧU~ ۔O$y4m5;/%,U<{ƘڬY 5KF_pÛ7)߾6IeTgC&fTt^d楄?s&%҆NJ! ,OOX*I8 `pdhjd+;o- ڼ:No fHU IDS(hq.Vg-ųmY֝qy%Ͼ'{|}t.BO6/GJ/w84ql5L.@ZryVm;NOb*/|zV &4#da"}E ͘ϪhYEPSaʕ>݋05X;(prJ!@ln؋(Qd*bAY@#&[P| 56(-髕NB? ʜY҄>Q1}I$OF'Q&jؤjX\-e1GEAN:%6&]WpZb"B(bCXrSam-kH! ,PPH/I8M'hd*,Q+,rV mFYl.m{ ԶTfFS-!7~6)qjzBa \P iODI3~'}c2(p,RJ; 1Ľ¾ʓ&UυԌҍ 8S : < !ѩ raEumgaC)g8±f*+zyM<) =g軦 M>9CT:Z=u֭\.ke#ˌ+R m۔=Q͙%ّ-{W&O Vq2f.F'ήpt֌Ix1ڜ&!,PPH.I'8k=E&hh{*_ޟ7:[1aXd4FK5a{HmkU<wUSt:~g|nx2)t.{I%mFc=6+V(~+hYaħ6]zoςӁW}զoۖjeɸ?wTg?>_;)R;Ȥ114X.ĉ!H/FO*2)QF\ ̼EBkINJnk(B6? K͚%a8vdQD5$t/*Y%߄wv skӱ pY+k/DV٠%ЎOkG),f ^L37b} )&weѭR۫Ds`X;central/updraftplus.php000064400000014670147400355670011301 0ustar00maybe_initialize_required_objects(); } /** * Loads the UpdraftCentral_Main instance * * @return void */ public function load_updraftcentral() { $central_path = $this->is_host_dir_set() ? trailingslashit(UPDRAFTPLUS_DIR) : ''; if (file_exists($central_path.'central/bootstrap.php')) { include_once($central_path.'central/bootstrap.php'); } } /** * Whether the current user can perform key control AJAX actions * * @return Boolean */ public function current_user_can_ajax() { return UpdraftPlus_Options::user_can_manage(); } /** * Below are interface methods' implementations that are required by UpdraftCentral to function properly. Please * see the "interface.php" to check all the required interface methods. */ /** * Checks whether the plugin's DIR constant is currently define or not * * @return bool */ public function is_host_dir_set() { return defined('UPDRAFTPLUS_DIR') ? true : false; } /** * Get the host plugin's dir path * * @return string */ public function get_host_dir() { return defined('UPDRAFTPLUS_DIR') ? UPDRAFTPLUS_DIR : dirname(dirname(__FILE__)); } /** * Retrieves the filter used by UpdraftPlus to log errors or certain events * * @return string */ public function get_logline_filter() { return 'updraftplus_logline'; } /** * Checks whether debug mod is set * * @return bool */ public function get_debug_mode() { if (class_exists('UpdraftPlus_Options')) { return UpdraftPlus_Options::get_updraft_option('updraft_debug_mode'); } return false; } /** * Used as a central location (to avoid repetition) to register or de-register hooks into the WP HTTP API * * @param bool $register True to register, false to de-register * @return void */ public function register_wp_http_option_hooks($register = true) { global $updraftplus; if ($updraftplus) { $updraftplus->register_wp_http_option_hooks($register); } } /** * Retrieves the class name of the host plugin * * @return string|bool */ public function get_class_name() { global $updraftplus; if ($updraftplus) { return get_class($updraftplus); } return false; } /** * Returns the instance of the host plugin * * @return object|bool */ public function get_instance() { global $updraftplus; if ($updraftplus) { return $updraftplus; } return false; } /** * Returns the admin instance of the host plugin * * @return object|bool */ public function get_admin_instance() { global $updraftplus_admin; if ($updraftplus_admin) { return $updraftplus_admin; } else { if (defined('UPDRAFTPLUS_DIR') && file_exists(UPDRAFTPLUS_DIR.'/admin.php')) { updraft_try_include_file('admin.php', 'include_once'); $updraftplus_admin = new UpdraftPlus_Admin(); return $updraftplus_admin; } } return false; } /** * Logs the given line * * @param string $line The log line * @param string $level The log level: notice, warning, error, etc. * @param boolean|string $uniq_id Each of these will only be logged once * * @return void */ public function log($line, $level = 'notice', $uniq_id = false) { global $updraftplus; if ($updraftplus) { if (is_callable(array($updraftplus, 'log'))) { call_user_func(array($updraftplus, 'log'), $line, $level, $uniq_id); } } } /** * Returns the current version of the host plugin * * @return string|bool */ public function get_version() { global $updraftplus; if ($updraftplus) { return $updraftplus->version; } return false; } /** * Returns the filesystem class of the host's plugin * * @return class|bool */ public function get_filesystem_functions() { if ($this->has_filesystem_functions()) { return UpdraftPlus_Filesystem_Functions; } return false; } /** * Checks whether the filesystem class of the host plugin exists * * @return bool */ public function has_filesystem_functions() { return class_exists('UpdraftPlus_Filesystem_Functions'); } /** * Checks whether force debugging is set * * @return bool */ public function is_force_debug() { return (defined('UPDRAFTPLUS_UDRPC_FORCE_DEBUG') && UPDRAFTPLUS_UDRPC_FORCE_DEBUG) ? true : false; } /** * Initializes required objects (if not yet initialized) for UpdraftCentral usage * * @return void */ private function maybe_initialize_required_objects() { global $updraftplus; if (!class_exists('UpdraftPlus')) { if (defined('UPDRAFTPLUS_DIR') && file_exists(UPDRAFTPLUS_DIR.'/class-updraftplus.php')) { updraft_try_include_file('class-updraftplus.php', 'include_once'); if (empty($updraftplus) || !is_a($updraftplus, 'UpdraftPlus')) { $updraftplus = new UpdraftPlus(); } } } if (!class_exists('UpdraftPlus_Options')) { if (defined('UPDRAFTPLUS_DIR') && file_exists(UPDRAFTPLUS_DIR.'/options.php')) { updraft_try_include_file('options.php', 'require_once'); } } if (!class_exists('UpdraftPlus_Filesystem_Functions')) { if (defined('UPDRAFTPLUS_DIR') && file_exists(UPDRAFTPLUS_DIR.'/includes/class-filesystem-functions.php')) { updraft_try_include_file('includes/class-filesystem-functions.php', 'require_once'); } } // Load updraftplus translations if (defined('UPDRAFTCENTRAL_CLIENT_DIR') && file_exists(UPDRAFTCENTRAL_CLIENT_DIR.'/translations-central.php')) { $this->translations = include_once(UPDRAFTCENTRAL_CLIENT_DIR.'/translations-central.php'); } } } central/commands.php000064400000032253147400355670010526 0ustar00 (string - a code), 'data' => (mixed)); * * RPC commands are not allowed to begin with an underscore. So, any private methods can be prefixed with an underscore. */ abstract class UpdraftCentral_Commands { protected $rc; protected $ud; protected $installed_data; /** * Class constructor * * @param string $rc */ public function __construct($rc) { $this->rc = $rc; global $updraftplus; $this->ud = $updraftplus; $this->installed_data = array(); } /** * Include a file or files from wp-admin/includes */ final protected function _admin_include() { $files = func_get_args(); foreach ($files as $file) { include_once(ABSPATH.'/wp-admin/includes/'.$file); } } /** * Include a file or files from wp-includes */ final protected function _frontend_include() { $files = func_get_args(); foreach ($files as $file) { include_once(ABSPATH.WPINC.'/'.$file); } } /** * Return a response in the expected format * * @param Mixed $data * @param String $code * * @return Array */ final protected function _response($data = null, $code = 'rpcok') { return array( 'response' => $code, 'data' => $data ); } /** * Return an error in the expected format * * @param String $code * @param Mixed $data * * @return Array */ final protected function _generic_error_response($code = 'central_unspecified', $data = null) { return $this->_response( array( 'code' => $code, 'data' => $data ), 'rpcerror' ); } /** * Checks whether a backup and a security credentials is required for the given request * * @param array $dir The directory location to check * @return array */ final protected function _get_backup_credentials_settings($dir) { // Do we need to ask the user for filesystem credentials? when installing and/or deleting items in the given directory $filesystem_method = get_filesystem_method(array(), $dir); ob_start(); $filesystem_credentials_are_stored = request_filesystem_credentials(site_url(), $filesystem_method); ob_end_clean(); $request_filesystem_credentials = ('direct' != $filesystem_method && !$filesystem_credentials_are_stored); // Do we need to execute a backup process before installing/managing items $automatic_backups = (class_exists('UpdraftPlus_Options') && class_exists('UpdraftPlus_Addon_Autobackup') && UpdraftPlus_Options::get_updraft_option('updraft_autobackup_default', true)) ? true : false; return array( 'request_filesystem_credentials' => $request_filesystem_credentials, 'automatic_backups' => $automatic_backups ); } /** * Retrieves the information of the currently installed item (e.g. plugin or theme) through filter * * @param bool $response Indicates whether the installation was a success or failure * @param array $args Extra argument for the hook * @param array $data Contains paths used and other relevant information regarding the file * @return array */ final public function get_install_data($response, $args, $data) { if ($response) { switch ($args['type']) { case 'plugin': $plugin_data = get_plugins('/'.$data['destination_name']); if (!empty($plugin_data)) { $info = reset($plugin_data); $key = key($plugin_data); $info['slug'] = $data['destination_name'].'/'.$key; $this->installed_data = $info; } break; case 'theme': $theme = wp_get_theme($data['destination_name']); if ($theme->exists()) { // Minimalistic info here, if you need to add additional information // you can add them here. For now, the "Name" and "slug" fields will suffice // in the succeeding process. $this->installed_data = array( 'Name' => $theme->get('Name'), 'slug' => $data['destination_name'], 'template' => $theme->get_template() ); } break; default: break; } } return $response; } /** * Installs and activates either a plugin or theme through zip file upload * * @param array $params Parameter array containing information pertaining the currently uploaded item * @param string $type Indicates whether this current process is intended for a 'plugin' or a 'theme' item * @return array */ final protected function process_chunk_upload($params, $type) { global $updraftcentral_host_plugin, $updraftcentral_main; if (!in_array($type, array('plugin', 'theme'))) { return $this->_generic_error_response('upload_type_not_supported'); } $permission_error = false; if ('plugin' === $type) { if (!current_user_can('install_plugins') || !current_user_can('activate_plugins')) $permission_error = true; } else { if (!current_user_can('install_themes') || !current_user_can('switch_themes')) $permission_error = true; } if ($permission_error) { return $this->_generic_error_response($type.'_insufficient_permission'); } // Pull any available and writable directory where we can store // our data/file temporarily before running the installation process. $upload_dir = untrailingslashit(get_temp_dir()); if (!is_writable($upload_dir)) { $upload_dir = WP_CONTENT_DIR.'/upgrade'; if (!is_dir($upload_dir)) { $wp_dir = wp_upload_dir(); if (!empty($wp_dir['basedir'])) $upload_dir = $wp_dir['basedir']; } } // If we haven't found any writable directory to temporarily store our file then // we bail and send an error back to the caller. if (!is_dir($upload_dir) || !is_writable($upload_dir)) { return $this->_generic_error_response('upload_dir_not_available'); } // Preloads the submitted credentials to the global $_POST variable if (!empty($params) && isset($params['filesystem_credentials'])) { parse_str($params['filesystem_credentials'], $filesystem_credentials); if (is_array($filesystem_credentials)) { foreach ($filesystem_credentials as $key => $value) { // Put them into $_POST, which is where request_filesystem_credentials() checks for them. $_POST[$key] = $value; } } } // Save uploaded file $filename = basename($params['filename']).md5(get_home_url()); $is_chunked = false; if (isset($params['chunks']) && 1 < (int) $params['chunks']) { $filename .= '.part'; $is_chunked = true; } if (!$is_chunked || ($is_chunked && isset($params['chunk']) && 0 === (int) $params['chunk'])) { // if it's not a chunk upload or if it's a chunk upload operation and the current chunk variable is zero, then it means a new upload operation has just begun therefore we should remove previous left-over file (if any and due to error during the previous upload of the same file), because it can lead to a corrupt/invalid zip file (we use file_put_contents a few lines below with FILE_APPEND attribute) if (file_exists($upload_dir.'/'.$filename) && !unlink($upload_dir.'/'.$filename)) return $this->_generic_error_response('unable_to_delete_existing_file'); } if (empty($params['data'])) { return $this->_generic_error_response('data_empty_or_invalid'); } $result = file_put_contents($upload_dir.'/'.$filename, base64_decode($params['data']), FILE_APPEND | LOCK_EX); if (false === $result) { return $this->_generic_error_response('unable_to_write_content'); } // Set $install_now to true for single upload and for the last chunk of a multi-chunks upload process $install_now = true; if ($is_chunked) { if ($params['chunk'] == (int) $params['chunks'] - 1) { // If this is the last chunk of the request, then we're going to restore the // original filename of the file (without the '.part') since our upload is now complete. $orig_filename = basename($filename, '.part'); $success = rename($upload_dir.'/'.$filename, $upload_dir.'/'.$orig_filename); // If renaming the file was successful then restore the original name and override the $filename variable. // Overriding the $filename variable makes it easy for us to use the same variable for both // non-chunked and chunked zip file for the installation process. if ($success) { $filename = $orig_filename; } else { return $this->_generic_error_response('unable_to_rename_file'); } } else { // Bypass installation for now since we're waiting for the last chunk to arrive // to complete the uploading of the zip file. $install_now = false; } } // Everything is already good (upload completed), thus, we proceed with the installation if ($install_now) { // We have successfully uploaded the zip file in this location with its original filename intact. $zip_filepath = $upload_dir.'/'.$filename; // Making sure that the file does actually exists, since we've just run through // a renaming process above. if (file_exists($zip_filepath)) { add_filter('upgrader_post_install', array($this, 'get_install_data'), 10, 3); // WP < 3.7 if (!class_exists('Automatic_Upgrader_Skin')) include_once(UPDRAFTCENTRAL_CLIENT_DIR.'/classes/class-automatic-upgrader-skin.php'); require_once(UPDRAFTCENTRAL_CLIENT_DIR.'/classes/class-updraftcentral-wp-upgrader.php'); $skin = new Automatic_Upgrader_Skin(); $upgrader = ('plugin' === $type) ? new UpdraftCentral_Plugin_Upgrader($skin) : new UpdraftCentral_Theme_Upgrader($skin); $install_result = $upgrader->install($zip_filepath); remove_filter('upgrader_post_install', array($this, 'get_install_data'), 10, 3); // Remove zip file on success and on error (cleanup) if ($install_result || is_null($install_result) || is_wp_error($install_result)) { @unlink($zip_filepath);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } if (false === $install_result || is_wp_error($install_result)) { $message = $updraftcentral_host_plugin->retrieve_show_message('unable_to_connect'); if (is_wp_error($install_result)) $message = $install_result->get_error_message(); return $this->_generic_error_response($type.'_install_failed', array('message' => $message)); } else { // Pull installed data $data = $this->installed_data; // For WP 3.4 the intended filter hook isn't working or not available // so we're going to pull the data manually. if ($install_result && empty($data)) { $result = $this->get_install_data($install_result, array('type' => $type), $skin->result); if ($result) { // Getting the installed data one more time after manually calling // the "get_install_data" function. $data = $this->installed_data; } } if (!empty($data)) { // Activate item if set $is_active = ('plugin' === $type) ? is_plugin_active($data['slug']) : ((wp_get_theme()->get('Name') === $data['Name']) ? true : false); if ((bool) $params['activate'] && !$is_active) { if ('plugin' === $type) { if (is_multisite()) { $activate = activate_plugin($data['slug'], '', true); } else { $activate = activate_plugin($data['slug']); } } else { // In order to make it compatible with older versions of switch_theme which takes two // arguments we're going to pass two arguments instead of one. Latest versions have backward // compatibility so it's safe to do it this way. switch_theme($data['template'], $data['slug']); $activate = (wp_get_theme()->get_stylesheet() === $data['slug']) ? true : false; } if (false === $activate || is_wp_error($activate)) { $wp_version = $updraftcentral_main->get_wordpress_version(); $message = is_wp_error($activate) ? array('message' => $activate->get_error_message()) : array('message' => sprintf($updraftcentral_host_plugin->retrieve_show_message('unable_to_activate'), $type, $type, $wp_version)); return $this->_generic_error_response('unable_to_activate_'.$type, $message); } } return $this->_response( array( 'installed' => true, 'installed_data' => $data, ) ); } if (is_wp_error($skin->result)) { $code = $skin->result->get_error_code(); $message = $skin->result->get_error_message(); $error_data = $skin->result->get_error_data($code); if (!empty($error_data)) { if (is_array($error_data)) $error_data = json_encode($error_data); $message .= ' '.$error_data; } return $this->_generic_error_response($code, $message); } else { return $this->_response( array( 'installed' => false, 'message' => sprintf($updraftcentral_host_plugin->retrieve_show_message('unable_to_install'), $type, $type, $type, $type, 'wp-content/'.$type.'s'), ) ); } } } } else { // Returning response to a chunk requests while still processing and // completing the file upload process. If we don't return a positive response // for every chunk requests then the caller will assumed an error has occurred // and will eventually stop the upload process. return $this->_response(array('in_progress' => true)); } } } methods/openstack2.php000064400000030610147400355670011004 0ustar00log("OpenStack authentication URL: ".$authurl);// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- $authurl being extracted in extract() line 29 $client = new OpenStack($authurl, array(// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- $authurl being extracted in extract() line 29 'username' => $user,// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- $user being extracted in extract() line 29 'password' => $password,// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- $password being extracted in extract() line 29 'tenantName' => $tenant// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- $tenant being extracted in extract() line 29 )); $this->client = $client; if ($disablesslverify) { $client->setSslVerification(false); } else { if ($useservercerts) { $client->setConfig(array($client::SSL_CERT_AUTHORITY => false)); } else { $client->setSslVerification(UPDRAFTPLUS_DIR.'/includes/cacert.pem', true, 2); } } $client->authenticate(); if (empty($region)) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined below. $catalog = $client->getCatalog(); if (!empty($catalog)) { $items = $catalog->getItems(); if (is_array($items)) { foreach ($items as $item) { $name = $item->getName(); $type = $item->getType(); if ('swift' != $name || 'object-store' != $type) continue; $eps = $item->getEndpoints(); if (!is_array($eps)) continue; foreach ($eps as $ep) { if (is_object($ep) && !empty($ep->region)) { $region = $ep->region; } } } } } } $this->region = $region; return $client->objectStoreService('swift', $region); } /** * This method overrides the parent method and lists the supported features of this remote storage option. * * @return Array - an array of supported features (any features not * mentioned are assumed to not be supported) */ public function get_supported_features() { // This options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates', 'multi_storage', 'conditional_logic'); } /** * Retrieve default options for this remote storage module. * * @return Array - an array of options */ public function get_default_options() { return array( 'user' => '', 'authurl' => '', 'password' => '', 'tenant' => '', 'path' => '', 'region' => '' ); } public function credentials_test($posted_settings) { if (empty($posted_settings['user'])) { printf(__("Failure: No %s was given.", 'updraftplus'), __('username', 'updraftplus')); return; } if (empty($posted_settings['password'])) { printf(__("Failure: No %s was given.", 'updraftplus'), __('password', 'updraftplus')); return; } if (empty($posted_settings['tenant'])) { printf(__("Failure: No %s was given.", 'updraftplus'), _x('tenant', '"tenant" is a term used with OpenStack storage - Google for "OpenStack tenant" to get more help on its meaning', 'updraftplus')); return; } if (empty($posted_settings['authurl'])) { printf(__("Failure: No %s was given.", 'updraftplus'), __('authentication URI', 'updraftplus')); return; } $opts = array( 'user' => $posted_settings['user'], 'password' => $posted_settings['password'], 'authurl' => $posted_settings['authurl'], 'tenant' => $posted_settings['tenant'], 'region' => empty($posted_settings['region']) ? '' : $posted_settings['region'], ); $this->credentials_test_go($opts, $posted_settings['path'], $posted_settings['useservercerts'], $posted_settings['disableverify']); } /** * Check whether options have been set up by the user, or not * * @param Array $opts - the potential options * * @return Boolean */ public function options_exist($opts) { if (is_array($opts) && $opts['user'] && '' !== $opts['user'] && !empty($opts['authurl'])) return true; return false; } /** * Get the pre configuration template * * @return String - the template */ public function get_pre_configuration_template() { ?> {{#if storage_image_url}} {{storage_long_description}} {{/if}}
{{{mb_substr_existence_label}}} {{{curl_existence_label}}}

{{openstack_text_description}} {{faq_link_text}}

{{input_authentication_uri_label}}:
{{input_authentication_uri_title}} {{input_tenant_label}}: {{input_region_label}}:
{{input_region_title}} {{input_username_label}}: {{input_password_label}}: {{input_container_label}}: {{{get_template_test_button_html "OpenStack (Swift)"}}} !empty($this->img_url) ? UPDRAFTPLUS_URL.$this->img_url : '', 'storage_long_description' => $this->long_desc, 'mb_substr_existence_label' => !apply_filters('updraftplus_openstack_mbsubstr_exists', function_exists('mb_substr')) ? wp_kses($updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__('Your web server\'s PHP installation does not include a required module (%s).', 'updraftplus'), 'mbstring').' '.__('Please contact your web hosting provider\'s support.', 'updraftplus').' '.sprintf(__("UpdraftPlus's %s module requires %s.", 'updraftplus'), $this->desc, 'mbstring').' '.__('Please do not file any support requests; there is no alternative.', 'updraftplus'), $this->method, false), $this->allowed_html_for_content_sanitisation()) : '', 'curl_existence_label' => wp_kses($updraftplus_admin->curl_check($this->long_desc, false, $this->method.' hidden-in-updraftcentral', false), $this->allowed_html_for_content_sanitisation()), 'openstack_text_description' => __('Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage.', 'updraftplus').' '.__('This container will be created for you if it does not already exist.', 'updraftplus'), 'faq_link_text' => __('Also, you should read this important FAQ.', 'updraftplus'), 'faq_link_url' => wp_kses(apply_filters("updraftplus_com_link", "https://updraftplus.com/faqs/there-appear-to-be-lots-of-extra-files-in-my-rackspace-cloud-files-container/"), array(), array('http', 'https')), 'input_authentication_uri_label' => __('Authentication URI', 'updraftplus'), 'input_authentication_uri_title' => _x('This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported.', 'Keystone and swauth are technical terms which cannot be translated', 'updraftplus'), 'input_tenant_label' => __('Tenant', 'updraftplus'), 'input_tenant_link_url' => 'https://docs.openstack.org/openstack-ops/content/projects_users.html', 'input_tenant_link_title' => __('Follow this link for more information', 'updraftplus'), 'input_region_label' => __('Region', 'updraftplus'), 'input_region_title' => __('Leave this blank, and a default will be chosen.', 'updraftplus'), 'input_username_label' => __('Username', 'updraftplus'), 'input_password_label' => __('Password', 'updraftplus'), 'input_password_type' => apply_filters('updraftplus_admin_secret_field_type', 'password'), 'input_container_label' => __('Container', 'updraftplus'), 'input_test_label' => sprintf(__('Test %s Settings', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), ); return wp_parse_args($properties, $this->get_persistent_variables_and_methods()); } } methods/addon-base-v2.php000064400000030032147400355670011253 0ustar00storage and $this->options where relevant): do_bootstrap($possible_options_array) # Return a WP_Error object if something goes wrong do_upload($file, $sourcefile) # Return true/false do_listfiles($match) do_delete($file) - return true/false do_download($file, $fullpath, $start_offset) - return true/false do_config_print() get_credentials_test_required_parameters() - return an array: keys = required _POST parameters; values = description of each do_credentials_test($testfile, $posted_settings) - return true/false; or alternatively an array with keys 'result' (true/false) and 'data' (arbitrary debug data) do_credentials_test_deletefile($testfile, $posted_settings) */ // Uses job options: Yes // Uses single-array storage: Yes if (!class_exists('UpdraftPlus_BackupModule')) updraft_try_include_file('methods/backup-module.php', 'require_once'); /** * Note that the naming of this class is historical. There is nothing inherent which restricts it to add-ons, or requires add-ons to use it. It is just an abstraction layer that results in needing to write less code for the storage module. */ abstract class UpdraftPlus_RemoteStorage_Addons_Base_v2 extends UpdraftPlus_BackupModule { protected $method; protected $description; protected $options; private $chunked; /** * Decides whether to print the test button * * @var Boolean */ protected $test_button; public function __construct($method, $description, $chunked = true, $test_button = true) { $this->method = $method; $this->description = $description; $this->chunked = $chunked; $this->test_button = $test_button; } /** * download method: takes a file name (base name), and removes it from the cloud storage * * @param String $file specific file for being removed from cloud storage * @return Array */ public function download($file) { return $this->download_file(false, $file); } public function backup($backup_array) { return $this->upload_files(null, $backup_array); } public function delete($files, $method_obj = false, $sizeinfo = array()) { return $this->delete_files(false, $files, $method_obj, $sizeinfo); } protected function required_configuration_keys() { } public function upload_files($ret, $backup_array) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found -- Unused parameter is present because the caller from this class uses 2 arguments. global $updraftplus; $this->options = $this->get_options(); if (!$this->options_exist($this->options)) { $this->log('No settings were found'); $this->log(sprintf(__('No %s settings were found', 'updraftplus'), $this->description), 'error'); return false; } $storage = $this->bootstrap(); if (is_wp_error($storage)) return $updraftplus->log_wp_error($storage, false, true); $this->set_storage($storage); $updraft_dir = trailingslashit($updraftplus->backups_dir_location()); foreach ($backup_array as $file) { $this->log("upload ".((!empty($this->options['ownername'])) ? '(account owner: '.$this->options['ownername'].')' : '').": attempt: $file"); try { if ($this->do_upload($file, $updraft_dir.$file)) { $updraftplus->uploaded_file($file); } else { $any_failures = true; $this->log('ERROR: Failed to upload file: '.$file); $this->log(__('Error', 'updraftplus').': '.$this->description.': '.sprintf(__('Failed to upload %s', 'updraftplus'), $file), 'error'); } } catch (Exception $e) { $any_failures = true; $this->log('ERROR ('.get_class($e).'): '.$file.': Failed to upload file: '.$e->getMessage().' (code: '.$e->getCode().', line: '.$e->getLine().', file: '.$e->getFile().')'); $this->log(__('Error', 'updraftplus').': '.$this->description.': '.sprintf(__('Failed to upload %s', 'updraftplus'), $file), 'error'); } } return (!empty($any_failures)) ? null : true; } /** * This function lists the files found in the configured storage location * * @param String $match a substring to require * * @return Array|WP_Error - each file is represented by an array with entries 'name' and (optional) 'size' */ public function listfiles($match = 'backup_') { try { if (!method_exists($this, 'do_listfiles')) { return new WP_Error('no_listing', 'This remote storage method does not support file listing'); } $this->options = $this->get_options(); if (!$this->options_exist($this->options)) return new WP_Error('no_settings', sprintf(__('No %s settings were found', 'updraftplus'), $this->description)); $storage = $this->bootstrap(); if (is_wp_error($storage)) return $storage; return $this->do_listfiles($match); } catch (Exception $e) { $this->log('ERROR: Failed to list files: '.$e->getMessage().' (code: '.$e->getCode().', line: '.$e->getLine().', file: '.$e->getFile().')'); return new WP_Error('list_failed', $this->description.': '.__('failed to list files', 'updraftplus')); } } /** * This function handles bootstrapping and calling the remote methods delete function * * @param Boolean $ret - A boolean value * @param Array $files - An array of files to delete. * * @return - On success returns true, false or WordPress Error on failure */ public function delete_files($ret, $files) { global $updraftplus; if (is_string($files)) $files = array($files); if (empty($files)) return true; if (!method_exists($this, 'do_delete')) { $this->log("Delete failed: this storage method does not allow deletions"); return false; } $storage = $this->get_storage(); if (empty($storage)) { $this->options = $this->get_options(); if (!$this->options_exist($this->options)) { $this->log('No settings were found'); $this->log(sprintf(__('No %s settings were found', 'updraftplus'), $this->description), 'error'); return false; } $storage = $this->bootstrap(); if (is_wp_error($storage)) return $storage; } $ret = true; if ($this->supports_feature('multi_delete')) { $updraftplus->log("Delete remote files: ".implode(', ', $files)); try { $responses = $this->do_delete($files); $ret = $this->process_multi_delete_responses($files, $responses); } catch (Exception $e) { $updraftplus->log('ERROR:'.implode($files).': Failed to delete files: '.$e->getMessage().' (code: '.$e->getCode().', line: '.$e->getLine().', file: '.$e->getFile().')'); $ret = false; } return $ret; } foreach ($files as $file) { $this->log("Delete remote: $file"); try { $ret = $this->do_delete($file); if (true === $ret) { $this->log("$file: Delete succeeded"); } else { $this->log("Delete failed"); } } catch (Exception $e) { $this->log('ERROR: '.$file.': Failed to delete file: '.$e->getMessage().' (code: '.$e->getCode().', line: '.$e->getLine().', file: '.$e->getFile().')'); $ret = false; } } return $ret; } public function download_file($ret, $files) { global $updraftplus; if (is_string($files)) $files = array($files); if (empty($files)) return true; if (!method_exists($this, 'do_download')) { $this->log("Download failed: this storage method does not allow downloading"); $this->log(__('This storage method does not allow downloading', 'updraftplus'), 'error'); return false; } $this->options = $this->get_options(); if (!$this->options_exist($this->options)) { $this->log('No settings were found'); $this->log(sprintf(__('No %s settings were found', 'updraftplus'), $this->description), 'error'); return false; } try { $storage = $this->bootstrap(); if (is_wp_error($storage)) return $updraftplus->log_wp_error($storage, false, true); } catch (Exception $e) { $ret = false; $this->log('ERROR: '.$files[0].': Failed to download file: '.$e->getMessage().' (code: '.$e->getCode().', line: '.$e->getLine().', file: '.$e->getFile().')'); $this->log(__('Error', 'updraftplus').': '.$this->description.': '.sprintf(__('Failed to download %s', 'updraftplus'), $files[0]), 'error'); } $ret = true; $updraft_dir = untrailingslashit($updraftplus->backups_dir_location()); foreach ($files as $file) { try { $fullpath = $updraft_dir.'/'.$file; $start_offset = file_exists($fullpath) ? filesize($fullpath) : 0; if (false == $this->do_download($file, $fullpath, $start_offset)) { $ret = false; $this->log("error: failed to download: $file"); $this->log("$file: ".sprintf(__("%s Error", 'updraftplus'), $this->description).": ".__('Failed to download', 'updraftplus'), 'error'); } } catch (Exception $e) { $ret = false; $this->log('ERROR: '.$file.': Failed to download file: '.$e->getMessage().' (code: '.$e->getCode().', line: '.$e->getLine().', file: '.$e->getFile().')'); $this->log(__('Error', 'updraftplus').': '.$this->description.': '.sprintf(__('Failed to download %s', 'updraftplus'), $file), 'error'); } } return $ret; } /** * Get the configuration template * * @return String - the template, ready for substitutions to be carried out */ public function get_configuration_template() { $template_str = ''; if (method_exists($this, 'do_get_configuration_template')) { $template_str .= $this->do_get_configuration_template(); } if (!$this->test_button || (method_exists($this, 'should_print_test_button') && !$this->should_print_test_button())) return $template_str; $template_str .= $this->get_test_button_html($this->description); return $template_str; } /** * Modifies handerbar template options * * @param array $opts * @return Array - Modified handerbar template options */ public function transform_options_for_template($opts) { if (method_exists($this, 'do_transform_options_for_template')) { $opts = $this->do_transform_options_for_template($opts); } return $opts; } public function config_print_javascript_onready() { $this->do_config_javascript(); } protected function do_config_javascript() { } /** * Analyse the passed-in options to indicate whether something is configured or not. * * @param Array $opts - options to examine * * @return Boolean */ public function options_exist($opts) { if (is_array($opts) && !empty($opts)) return true; return false; } public function bootstrap($opts = false, $connect = true) { if (false === $opts) $opts = $this->options; $storage = $this->get_storage(); // Be careful of checking empty($opts) here - some storage methods may have no options until the OAuth token has been obtained if ($connect && !$this->options_exist($opts)) return new WP_Error('no_settings', sprintf(__('No %s settings were found', 'updraftplus'), $this->description)); if (!empty($storage) && !is_wp_error($storage)) return $storage; return $this->do_bootstrap($opts, $connect); } /** * Run a credentials test. Output can be echoed. * * @param Array $posted_settings - settings to use * * @return Mixed - any data to return (gets logged in the browser eventually) */ public function credentials_test($posted_settings) { $required_test_parameters = $this->get_credentials_test_required_parameters(); foreach ($required_test_parameters as $param => $descrip) { if (empty($posted_settings[$param])) { printf(__("Failure: No %s was given.", 'updraftplus'), $descrip)."\n"; return; } } $storage = $this->bootstrap($posted_settings); if (is_wp_error($storage)) { echo __("Failed", 'updraftplus').": "; foreach ($storage->get_error_messages() as $msg) { echo "$msg\n"; } return; } $testfile = md5(time().rand()).'.txt'; $test_results = $this->do_credentials_test($testfile, $posted_settings); $data = (is_array($test_results) && isset($test_results['data'])) ? $test_results['data'] : null; if ((is_array($test_results) && $test_results['result']) || (!is_array($test_results) && $test_results)) { _e('Success', 'updraftplus'); $this->do_credentials_test_deletefile($testfile, $posted_settings); } else { _e("Failed: We were not able to place a file in that directory - please check your credentials.", 'updraftplus'); } return $data; } } methods/sftp.php000064400000002244147400355670007711 0ustar00=')) { if (class_exists('UpdraftPlus_Addons_RemoteStorage_onedrive')) { class UpdraftPlus_BackupModule_onedrive extends UpdraftPlus_Addons_RemoteStorage_onedrive { public function __construct() { parent::__construct('onedrive', 'Microsoft OneDrive', '5.3.3', 'onedrive.png'); } } } else { updraft_try_include_file('methods/addon-not-yet-present.php', 'include_once'); /** * N.B. UpdraftPlus_BackupModule_AddonNotYetPresent extends UpdraftPlus_BackupModule */ class UpdraftPlus_BackupModule_onedrive extends UpdraftPlus_BackupModule_AddonNotYetPresent { public function __construct() { parent::__construct('onedrive', 'Microsoft OneDrive', '5.3.3', 'onedrive.png'); } } } } else { updraft_try_include_file('methods/insufficient.php', 'include_once'); class UpdraftPlus_BackupModule_onedrive extends UpdraftPlus_BackupModule_insufficientphp { public function __construct() { parent::__construct('onedrive', 'Microsoft OneDrive', '5.3.3', 'onedrive.png'); } } } methods/googledrive.php000064400000213735147400355670011254 0ustar00client_id = defined('UPDRAFTPLUS_GOOGLEDRIVE_CLIENT_ID') ? UPDRAFTPLUS_GOOGLEDRIVE_CLIENT_ID : '916618189494-u3ehb1fl7u3meb63nb2b4fqi0r9pcfe2.apps.googleusercontent.com'; $this->callback_url = defined('UPDRAFTPLUS_GOOGLEDRIVE_CALLBACK_URL') ? UPDRAFTPLUS_GOOGLEDRIVE_CALLBACK_URL : 'https://auth.updraftplus.com/auth/googledrive'; if (class_exists('UpdraftPlus_Addon_Google_Enhanced')) { add_action('updraftplus_admin_enqueue_scripts', array($this, 'admin_footer_jstree')); } } public function action_auth() { if (isset($_GET['state'])) { $parts = explode(':', $_GET['state']); $state = $parts[0]; if ('success' == $state) { if (isset($_GET['user_id']) && isset($_GET['access_token'])) { $code = array( 'user_id' => $_GET['user_id'], 'access_token' => $_GET['access_token'] ); if (isset($_GET['scope'])) { $scope = $_GET['scope']; $code['scope'] = explode(' ', $scope); } } else { $code = array(); } $this->do_complete_authentication($state, $code); } elseif ('token' == $state) { $this->gdrive_auth_token(); } elseif ('revoke' == $state) { $this->gdrive_auth_revoke(); } } elseif (isset($_GET['updraftplus_googledriveauth'])) { if ('doit' == $_GET['updraftplus_googledriveauth']) { $this->action_authenticate_storage(); } elseif ('deauth' == $_GET['updraftplus_googledriveauth']) { $this->action_deauthenticate_storage(); } } } /** * This method overrides the parent method and lists the supported features of this remote storage option. * * @return Array - an array of supported features (any features not mentioned are asuumed to not be supported) */ public function get_supported_features() { // This options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates', 'multi_storage', 'conditional_logic', 'manual_authentication'); } /** * Retrieve default options for this remote storage module. * * @return Array - an array of options */ public function get_default_options() { // parentid is deprecated since April 2014; it should not be in the default options (its presence is used to detect an upgraded-from-previous-SDK situation). For the same reason, 'folder' is also unset; which enables us to know whether new-style settings have ever been set. return array( 'clientid' => '', 'secret' => '', 'token' => '', ); } /** * Check whether options have been set up by the user, or not * * @param Array $opts - the potential options * * @return Boolean */ public function options_exist($opts) { if (is_array($opts) && (!empty($opts['user_id']) || !empty($opts['token']))) return true; return false; } /** * Get the Google folder ID for the root of the drive * * @return String|Integer */ private function root_id() { return $this->get_storage()->about->get()->getRootFolderId(); } /** * Get folder id from path * * @param String $path folder path * @param Boolean $one_only if false, then will be returned as a list (Google Drive allows multiple entities with the same name) * @param Integer $retry_count how many times to retry upon a network failure * * @return Array|String|Integer|Boolean internal id of the Google Drive folder (or list of them if $one_only was false), or false upon failure */ public function id_from_path($path, $one_only = true, $retry_count = 3) { $storage = $this->get_storage(); try { while ('/' == substr($path, 0, 1)) { $path = substr($path, 1); } $cache_key = empty($path) ? '/' : ($one_only ? $path : 'multi:'.$path); if (isset($this->ids_from_paths[$this->get_instance_id()][$cache_key])) return $this->ids_from_paths[$this->get_instance_id()][$cache_key]; $current_parent_id = $this->root_id(); $current_path = '/'; if (!empty($path)) { $nodes = explode('/', $path); foreach ($nodes as $element) { $found = array(); $sub_items = $this->get_subitems($current_parent_id, 'dir', $element); foreach ($sub_items as $item) { try { if ($item->getTitle() == $element) { $current_path .= $element.'/'; $current_parent_id = $item->getId(); $found[$current_parent_id] = strtotime($item->getCreatedDate()); } } catch (Exception $e) { $this->log("id_from_path: exception: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); } } if (count($found) > 1) { asort($found); reset($found); $current_parent_id = key($found); } elseif (empty($found)) { $ref = new UDP_Google_Service_Drive_ParentReference; $ref->setId($current_parent_id); $dir = new UDP_Google_Service_Drive_DriveFile(); $dir->setMimeType('application/vnd.google-apps.folder'); $dir->setParents(array($ref)); $dir->setTitle($element); $this->log('creating path: '.$current_path.$element); $dir = $storage->files->insert( $dir, array('mimeType' => 'application/vnd.google-apps.folder') ); $current_path .= $element.'/'; $current_parent_id = $dir->getId(); } } } if (empty($this->ids_from_paths[$this->get_instance_id()])) $this->ids_from_paths[$this->get_instance_id()] = array(); $this->ids_from_paths[$this->get_instance_id()][$cache_key] = ($one_only || empty($found) || 1 == count($found)) ? $current_parent_id : $found; return $this->ids_from_paths[$this->get_instance_id()][$cache_key]; } catch (Exception $e) { $msg = $e->getMessage(); $this->log("id_from_path failure: exception (".get_class($e)."): ".$msg.' (line: '.$e->getLine().', file: '.$e->getFile().')'); if (is_a($e, 'UDP_Google_Service_Exception') && false !== strpos($msg, 'Invalid json in service response') && function_exists('mb_strpos')) { // Aug 2015: saw a case where the gzip-encoding was not removed from the result // https://stackoverflow.com/questions/10975775/how-to-determine-if-a-string-was-compressed // @codingStandardsIgnoreLine $is_gzip = (false !== mb_strpos($msg, "\x1f\x8b\x08")); if ($is_gzip) $this->log("Error: Response appears to be gzip-encoded still; something is broken in the client HTTP stack, and you should define UPDRAFTPLUS_GOOGLEDRIVE_DISABLEGZIP as true in your wp-config.php to overcome this."); } $retry_count--; $this->log("id_from_path: retry ($retry_count)"); if ($retry_count > 0) { $delay_in_seconds = defined('UPDRAFTPLUS_GOOGLE_DRIVE_GET_FOLDER_ID_SECOND_RETRY_DELAY') ? UPDRAFTPLUS_GOOGLE_DRIVE_GET_FOLDER_ID_SECOND_RETRY_DELAY : 5-$retry_count; sleep($delay_in_seconds); return $this->id_from_path($path, $one_only, $retry_count); } return false; } } /** * Runs upon the WP action updraftplus_prune_retained_backups_finished */ public function prune_retained_backups_finished() { if (empty($this->multi_directories[$this->get_instance_id()]) || count($this->multi_directories[$this->get_instance_id()]) < 2) return; $storage = $this->bootstrap(); if (false == $storage || is_wp_error($storage)) return; foreach (array_keys($this->multi_directories[$this->get_instance_id()]) as $drive_id) { if (!isset($oldest_reference)) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined below. $oldest_id = $drive_id; $oldest_reference = new UDP_Google_Service_Drive_ParentReference; $oldest_reference->setId($oldest_id); continue; } // All found files should be moved to the oldest folder try { $sub_items = $this->get_subitems($drive_id, 'file'); } catch (Exception $e) { $this->log('list files: failed to access chosen folder: '.$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); } $without_errors = true; foreach ($sub_items as $item) { $title = "(unknown)"; try { $title = $item->getTitle(); $this->log("Moving: $title (".$item->getId().") from duplicate folder $drive_id to $oldest_id"); $file = new UDP_Google_Service_Drive_DriveFile(); $file->setParents(array($oldest_reference)); $storage->files->patch($item->getId(), $file); } catch (Exception $e) { $this->log("move: exception: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); $without_errors = false; continue; } } if ($without_errors) { if (!empty($sub_items)) { try { $sub_items = $this->get_subitems($drive_id, 'file'); } catch (Exception $e) { $this->log('list files: failed to access chosen folder: '.$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); } } if (empty($sub_items)) { try { $storage->files->delete($drive_id); $this->log("removed empty duplicate folder ($drive_id)"); } catch (Exception $e) { $this->log("delete empty duplicate folder ($drive_id): exception: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); continue; } } } } } /** * Get the Google Drive internal ID * * @param Array $opts - storage instance options * @param Boolean $one_only - whether to potentially return them all if there is more than one * * @return String|Array */ private function get_parent_id($opts, $one_only = true) { $storage = $this->get_storage(); $filtered = apply_filters('updraftplus_googledrive_parent_id', false, $opts, $storage, $this, $one_only); if (!empty($filtered)) return $filtered; if (isset($opts['parentid'])) { if (empty($opts['parentid'])) { return $this->root_id(); } else { $parent = is_array($opts['parentid']) ? $opts['parentid']['id'] : $opts['parentid']; } } else { $folder = !empty($opts['folder']) ? $opts['folder'] : 'UpdraftPlus'; $parent = $this->id_from_path($folder, $one_only); } return empty($parent) ? $this->root_id() : $parent; } /** * List files or folders on Google Drive. * * @param string $match The file or folder name to search for (default: 'backup_'). * @param bool $list_files Whether to search for files (true) or folders (false) (default: true). * * @return array|WP_Error An array of results containing information about matching files or folders, * or a WP_Error object if there are missing settings, * or an error occurs while accessing Google Drive. * Each result is represented as an associative array with the following keys: * - 'name' (string): The name of the file or folder. * - 'size' (int, optional): The size of the file in bytes (only for files). * - 'id' (string, optional): The unique identifier of the folder (only for folders). */ public function list_files_or_folders($match = 'backup_', $list_files = true) { $opts = $this->get_options(); $use_master = $this->use_master($opts); if (!$use_master) { if (empty($opts['secret']) || empty($opts['clientid']) || empty($opts['clientid'])) return new WP_Error('no_settings', sprintf(__('No %s settings were found', 'updraftplus'), __('Google Drive', 'updraftplus'))); } else { if (empty($opts['user_id']) || empty($opts['tmp_access_token'])) return new WP_Error('no_settings', sprintf(__('No %s settings were found', 'updraftplus'), __('Google Drive', 'updraftplus'))); } $storage = $this->bootstrap(); if (is_wp_error($storage) || false == $storage) return $storage; try { if ($list_files) { $parent_id = $this->get_parent_id($opts); $sub_items = $this->get_subitems($parent_id, 'file'); } else { $sub_items = $this->get_subitems($match, 'dir', ''); } } catch (Exception $e) { return new WP_Error(__('Google Drive list files: failed to access parent folder', 'updraftplus').": ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); } $results = array(); foreach ($sub_items as $item) { $title = "(unknown)"; try { $title = $item->getTitle(); if ($list_files) { if (0 === strpos($title, $match)) { $results[] = array('name' => $title, 'size' => $item->getFileSize()); } } else { $results[] = array('name' => $title, 'id' => $item->getId()); } } catch (Exception $e) { $this->log("list: exception: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); continue; } } return $results; } /** * List folders in Google Drive. * * @param string $search - The folder to search for (default: 'root'). * @return array $results - An array of folder information. */ public function list_folders($search = 'root') { return $this->list_files_or_folders($search, false); } /** * List files in Google Drive. * * @param string $search - The files to search for (default: 'backup_'). * @return array $results - An array of file information. */ public function listfiles($search = 'backup_') { return $this->list_files_or_folders($search); } /** * Get a Google account access token using the refresh token * * @param String $refresh_token Specify refresh token * @param String $client_id Specify Client ID * @param String $client_secret Specify client secret * @return Boolean */ private function access_token($refresh_token, $client_id, $client_secret) { $this->log("requesting access token: client_id=$client_id"); $query_body = array( 'refresh_token' => $refresh_token, 'client_id' => $client_id, 'client_secret' => $client_secret, 'grant_type' => 'refresh_token' ); $result = wp_remote_post('https://accounts.google.com/o/oauth2/token', array( 'timeout' => '20', 'method' => 'POST', 'body' => $query_body ) ); if (is_wp_error($result)) { $this->log("error when requesting access token"); foreach ($result->get_error_messages() as $msg) $this->log("Error message: $msg"); return false; } else { $json_values = json_decode(wp_remote_retrieve_body($result), true); if (isset($json_values['access_token'])) { $this->log("successfully obtained access token"); return $json_values['access_token']; } else { $response = json_decode($result['body'], true); if (!empty($response['error']) && 'deleted_client' == $response['error']) { $this->log(__('The client has been deleted from the Google Drive API console.', 'updraftplus').' '.__('Please create a new Google Drive project and reconnect with UpdraftPlus.', 'updraftplus'), 'error'); } $error_code = empty($response['error']) ? 'no error code' : $response['error']; $this->log("error ($error_code) when requesting access token: response does not contain access_token. Response: ".(is_string($result['body']) ? str_replace("\n", '', $result['body']) : json_encode($result['body']))); return false; } } } /** * This method will return a redirect URL depending on the parameter passed. It will either return the redirect for the user's site or the auth server. * * @param Boolean $master - indicate whether we want the master redirect URL * @return String - a redirect URL */ private function redirect_uri($master = false) { if ($master) { return $this->callback_url; } else { return UpdraftPlus_Options::admin_page_url().'?action=updraftmethod-googledrive-auth'; } } /** * Acquire single-use authorization code from Google via OAuth 2.0 * * @param String $instance_id - the instance id of the settings we want to authenticate */ public function do_authenticate_storage($instance_id) { $opts = $this->get_options(); $use_master = $this->use_master($opts); // First, revoke any existing token, since Google doesn't appear to like issuing new ones if (!empty($opts['token']) && !$use_master) $this->gdrive_auth_revoke(); // Set a flag so we know this authentication is in progress $opts['auth_in_progress'] = true; $this->set_options($opts, true); $prefixed_instance_id = ':' . $instance_id; // We use 'force' here for the approval_prompt, not 'auto', as that deals better with messy situations where the user authenticated, then changed settings if ($use_master) { $client_id = $this->client_id; $token = 'token'.$prefixed_instance_id; $token .= $this->redirect_uri(); } else { $client_id = $opts['clientid']; $token = 'token'.$prefixed_instance_id; } // We require access to all Google Drive files (not just ones created by this app - scope https://www.googleapis.com/auth/drive.file) - because we need to be able to re-scan storage for backups uploaded by other installs, or manually by the user into their Google Drive. But, if you are happy to lose that capability, you can use the filter below to remove the drive.readonly scope. $params = array( 'response_type' => 'code', 'client_id' => $client_id, 'redirect_uri' => $this->redirect_uri($use_master), 'scope' => apply_filters('updraft_googledrive_scope', 'https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/userinfo.profile'), 'state' => $token, 'access_type' => 'offline', // 'approval_prompt' => 'force', // legacy and has been deprected. It can lead to conflicts when specified along with "prompt" param 'include_granted_scopes' => 'true', 'enable_granular_consent' => 'true', 'prompt' => 'select_account consent', // new option param as the replacement to 'approval_prompt' ); $params = apply_filters('updraft_googledrive_auth_params', $params); if (headers_sent()) { $this->log(sprintf(__('The %s authentication could not go ahead, because something else on your site is breaking it.', 'updraftplus'), 'Google Drive').' '.__('Try disabling your other plugins and switching to a default theme.', 'updraftplus').' ('.__('Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins.', 'updraftplus').' '.__('Turning off any debugging settings may also help).', 'updraftplus').')', 'error'); } else { header('Location: https://accounts.google.com/o/oauth2/auth?'.http_build_query($params, '', '&')); } } /** * This function will complete the oAuth flow, if return_instead_of_echo is true then add the action to display the authed admin notice, otherwise echo this notice to page. * * @param string $state - the state * @param string $code - the oauth code * @param boolean $return_instead_of_echo - a boolean to indicate if we should return the result or echo it * * @return void|string - returns the authentication message if return_instead_of_echo is true */ public function do_complete_authentication($state, $code, $return_instead_of_echo = false) { // If these are set then this is a request from our master app and the auth server has returned these to be saved. if (isset($code['user_id']) && isset($code['access_token'])) { $opts = $this->get_options(); $opts['user_id'] = base64_decode($code['user_id']); $opts['tmp_access_token'] = base64_decode($code['access_token']); if (isset($opts['auth_in_progress'])) $opts['scope'] = $code['scope']; // Unset this value if it is set as this is a fresh auth we will set this value in the next step if (isset($opts['expires_in'])) unset($opts['expires_in']); // remove our flag so we know this authentication is complete if (isset($opts['auth_in_progress'])) unset($opts['auth_in_progress']); $this->set_options($opts, true); } if ($return_instead_of_echo) { return $this->show_authed_admin_success($return_instead_of_echo); } else { add_action('all_admin_notices', array($this, 'show_authed_admin_success')); } } /** * Revoke a Google account refresh token * Returns the parameter fed in, so can be used as a WordPress options filter * Can be called statically from UpdraftPlus::googledrive_clientid_checkchange() * * @param Boolean $unsetopt unset options is set to true unless otherwise specified */ public function gdrive_auth_revoke($unsetopt = true) { $opts = $this->get_options(); $result = wp_remote_get('https://accounts.google.com/o/oauth2/revoke?token='.$opts['token']); // If the call to revoke the token fails, we try again one more time if (is_wp_error($result) || 200 != wp_remote_retrieve_response_code($result)) { wp_remote_get('https://accounts.google.com/o/oauth2/revoke?token='.$opts['token']); } if ($unsetopt) { $opts['token'] = ''; unset($opts['ownername']); $this->set_options($opts, true); } } /** * Get a Google account refresh token using the code received from do_authenticate_storage */ public function gdrive_auth_token() { $opts = $this->get_options(); if (isset($_GET['code'])) { $post_vars = array( 'code' => $_GET['code'], 'client_id' => $opts['clientid'], 'client_secret' => $opts['secret'], 'redirect_uri' => UpdraftPlus_Options::admin_page_url().'?action=updraftmethod-googledrive-auth', 'grant_type' => 'authorization_code' ); $result = wp_remote_post('https://accounts.google.com/o/oauth2/token', array('timeout' => 25, 'method' => 'POST', 'body' => $post_vars)); if (is_wp_error($result)) { $add_to_url = "Bad response when contacting Google: "; foreach ($result->get_error_messages() as $message) { $this->log("authentication error: ".$message); $add_to_url .= $message.". "; } header('Location: '.UpdraftPlus_Options::admin_page_url().'?page=updraftplus&error='.urlencode($add_to_url)); } else { $json_values = json_decode(wp_remote_retrieve_body($result), true); if (isset($json_values['refresh_token'])) { // Save token $opts['token'] = $json_values['refresh_token']; $this->set_options($opts, true); if (isset($json_values['access_token'])) { $opts['tmp_access_token'] = $json_values['access_token']; $this->set_options($opts, true); // We do this to clear the GET parameters, otherwise WordPress sticks them in the _wp_referer in the form and brings them back, leading to confusion + errors header('Location: '.UpdraftPlus_Options::admin_page_url().'?action=updraftmethod-googledrive-auth&page=updraftplus&state=success:'.urlencode($this->get_instance_id())); } } else { $msg = __('No refresh token was received from Google.', 'updraftplus').' '.__('This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it.', 'updraftplus').' '.__('Re-check it, then follow the link to authenticate again.', 'updraftplus').' '.__('Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again.', 'updraftplus'); if (isset($json_values['error'])) $msg .= ' '.sprintf(__('Error: %s', 'updraftplus'), $json_values['error']); header('Location: '.UpdraftPlus_Options::admin_page_url().'?page=updraftplus&error='.urlencode($msg)); } } } else { header('Location: '.UpdraftPlus_Options::admin_page_url().'?page=updraftplus&error='.urlencode(sprintf(__('%s authorization failed', 'updraftplus'), 'Google Drive'))); } } /** * This method will setup the authenticated admin warning, it can either return this or echo it * * @param boolean $return_instead_of_echo - a boolean to indicate if we should return the result or echo it * * @return void|string - returns the authentication message if return_instead_of_echo is true */ public function show_authed_admin_success($return_instead_of_echo) { global $updraftplus_admin; $opts = $this->get_options(); if (empty($opts['tmp_access_token'])) return; $updraftplus_tmp_access_token = $opts['tmp_access_token']; $message = ''; try { $storage = $this->bootstrap($updraftplus_tmp_access_token); if (false != $storage && !is_wp_error($storage)) { $about = $storage->about->get(); $quota_total = max($about->getQuotaBytesTotal(), 1); $quota_used = $about->getQuotaBytesUsed(); $username = $about->getName(); $get_user = $about->getUser(); $email = is_object($get_user) ? $get_user->emailAddress : ''; $opts['ownername'] = $username; $opts['owneremail'] = $email; if (is_numeric($quota_total) && is_numeric($quota_used)) { $available_quota = $quota_total - $quota_used; $used_perc = round($quota_used*100/$quota_total, 1); $message .= sprintf(__('Your %s quota usage: %s %% used, %s available', 'updraftplus'), 'Google Drive', $used_perc, round($available_quota/1048576, 1).' MB'); } } elseif (is_wp_error($storage)) { $message .= __('However, subsequent access attempts failed:', 'updraftplus'); $error_codes = $storage->get_error_codes(); $message .= '
    '; foreach ($error_codes as $error_code) { $message .= '
  • '; $message .= $storage->get_error_message($error_code).' ('.$error_code.')'; $message .= '
  • '; } $message .= '
'; } } catch (Exception $e) { if (is_a($e, 'UDP_Google_Service_Exception')) { $errs = $e->getErrors(); $message .= __('However, subsequent access attempts failed:', 'updraftplus'); if (is_array($errs)) { $message .= '
    '; foreach ($errs as $err) { $message .= '
  • '; if (!empty($err['reason'])) $message .= ''.htmlspecialchars($err['reason']).': '; if (!empty($err['message'])) { $message .= htmlspecialchars($err['message']); } else { $message .= htmlspecialchars(serialize($err)); } $message .= '
  • '; } $message .= '
'; } else { $message .= htmlspecialchars(serialize($errs)); } } } unset($opts['tmp_access_token']); $this->set_options($opts, true); $final_message = __('Success', 'updraftplus').': '.sprintf(__('you have authenticated your %s account.', 'updraftplus'), __('Google Drive', 'updraftplus')).' '.((!empty($username)) ? sprintf(__('Name: %s.', 'updraftplus'), $username).' ' : '').$message; if ($return_instead_of_echo) { return "

{$final_message}

"; } else { $updraftplus_admin->show_admin_warning($final_message); } } /** * This function just does the formalities, and off-loads the main work to upload_file * * @param array $backup_array */ public function backup($backup_array) { global $updraftplus; $storage = $this->bootstrap(); if (false == $storage || is_wp_error($storage)) return $storage; $updraft_dir = trailingslashit($updraftplus->backups_dir_location()); $opts = $this->get_options(); try { $parent_ids = $this->get_parent_id($opts, false); if (is_array($parent_ids)) { reset($parent_ids); $parent_id = key($parent_ids); if (count($parent_ids) > 1) { $this->log('there appears to be more than one folder: '.implode(', ', array_keys($parent_ids))); if (empty($this->registered_prune[$this->get_instance_id()])) { $this->registered_prune[$this->get_instance_id()] = true; $this->multi_directories[$this->get_instance_id()] = $parent_ids; add_action('updraftplus_prune_retained_backups_finished', array($this, 'prune_retained_backups_finished')); } } } else { $parent_id = $parent_ids; } } catch (Exception $e) { $this->log("upload: failed to access parent folder: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); $this->log(sprintf(__('Failed to upload to %s', 'updraftplus'), __('Google Drive', 'updraftplus')).': '.__('failed to access parent folder', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } foreach ($backup_array as $file) { $available_quota = -1; do { try { $try_again = false; $about = $storage->about->get(); $quota_total = max($about->getQuotaBytesTotal(), 1); $quota_used = $about->getQuotaBytesUsed(); $available_quota = $quota_total - $quota_used; $message = "quota usage: used=".round($quota_used/1048576, 1)." MB, total=".round($quota_total/1048576, 1)." MB, available=".round($available_quota/1048576, 1)." MB"; $this->log($message); } catch (Exception $e) { $msg = $e->getMessage(); $this->log("quota usage: failed to obtain this information: ".$msg); // If the issue was a problem refreshing the OAuth2 token, bootstrap again and try again if (false !== strpos($msg, 'Error refreshing the OAuth2 token')) { $this->log("quota usage: will attempt to refresh OAuth2 token and fetch this information again"); $this->set_storage(null); $storage = $this->bootstrap(); if (false == $storage || is_wp_error($storage)) return $storage; $try_again = true; } } } while ($try_again); $file_path = $updraft_dir.$file; $file_name = basename($file_path); $this->log("$file_name: Attempting to upload to Google Drive (into folder id: $parent_id)"); $filesize = filesize($file_path); $already_failed = false; if (-1 != $available_quota) { if ($filesize > $available_quota) { $already_failed = true; $this->log("File upload expected to fail: file ($file_name) size is $filesize b, whereas available quota is only $available_quota b"); $this->log(sprintf(__("Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes", 'updraftplus'), __('Google Drive', 'updraftplus'), $available_quota, $filesize), 'error'); } } if (!$already_failed && $filesize > 10737418240) { // 10GB $this->log("File upload expected to fail: file ($file_name) size is $filesize b (".round($filesize/1073741824, 4)." GB), whereas Google Drive's limit is 10GB (1073741824 bytes)"); $this->log(sprintf(__("Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)", 'updraftplus'), __('Google Drive', 'updraftplus'), '10GB (1073741824)', round($filesize/1073741824, 4), $filesize), 'warning'); } do { try { $try_again = false; $timer_start = microtime(true); if ($this->upload_file($file_path, $parent_id)) { $this->log('OK: Archive ' . $file_name . ' uploaded in ' . (round(microtime(true) - $timer_start, 2)) . ' seconds'); $updraftplus->uploaded_file($file); } else { $this->log("ERROR: $file_name: Failed to upload"); $this->log("$file_name: ".sprintf(__('Failed to upload to %s', 'updraftplus'), __('Google Drive', 'updraftplus')), 'error'); } } catch (Exception $e) { $msg = $e->getMessage(); $this->log("Upload exception (".get_class($e)."): $msg (line: ".$e->getLine().', file: '.$e->getFile().')'); // If the issue was a problem refreshing the OAuth2 token, bootstrap again and try again if (false !== ($p = strpos($msg, 'Error refreshing the OAuth2 token'))) { $this->log("$file_name: will attempt to refresh OAuth2 token and upload again"); $this->set_storage(null); $storage = $this->bootstrap(); if (false == $storage || is_wp_error($storage)) return $storage; $try_again = true; } else { if (false !== ($p = strpos($msg, 'The user has exceeded their Drive storage quota'))) { $this->log("$file_name: ".sprintf(__('Failed to upload to %s', 'updraftplus'), __('Google Drive', 'updraftplus')).': '.substr($msg, $p), 'error'); } else { $this->log("$file_name: ".sprintf(__('Failed to upload to %s', 'updraftplus'), __('Google Drive', 'updraftplus')), 'error'); } $this->client->setDefer(false); } } } while ($try_again); } return null; } public function bootstrap($access_token = false) { $storage = $this->get_storage(); if (!empty($storage) && is_object($storage) && is_a($storage, 'UDP_Google_Service_Drive')) return $storage; $opts = $this->get_options(); $use_master = $this->use_master($opts); if (!$use_master) { if (empty($opts['token']) || empty($opts['clientid']) || empty($opts['secret'])) { $this->log('this account is not authorised'); $this->log(__('Account is not authorized.', 'updraftplus'), 'error', 'googledrivenotauthed'); return new WP_Error('not_authorized', __('Account is not authorized.', 'updraftplus').' (Google Drive)'); } if (empty($access_token)) { $access_token = $this->access_token($opts['token'], $opts['clientid'], $opts['secret']); } } else { if (empty($opts['user_id'])) { $this->log('this account is not authorised'); $this->log(__('Account is not authorized.', 'updraftplus'), 'error', 'googledrivenotauthed'); return new WP_Error('not_authorized', __('Account is not authorized.', 'updraftplus')); } if (!isset($opts['expires_in']) || $opts['expires_in'] < time()) { $user_id = empty($opts['user_id']) ? '' : $opts['user_id']; $args = array( 'code' => 'ud_googledrive_code', 'user_id' => $user_id, ); $result = wp_remote_post($this->callback_url, array( 'timeout' => 60, 'headers' => apply_filters('updraftplus_auth_headers', ''), 'body' => $args )); if (is_wp_error($result)) { $body = array('result' => 'error', 'error' => $result->get_error_code(), 'error_description' => $result->get_error_message()); } else { $response_code = wp_remote_retrieve_response_code($result); if ($response_code < 200 || $response_code >= 300) { $body = array('result' => 'error', 'error' => $response_code, 'error_description' => sprintf(__("%s for %s", 'updraftplus'), wp_remote_retrieve_response_message($result), $this->callback_url)); } else { $body_json = wp_remote_retrieve_body($result); $body = json_decode($body_json, true); } } if (!empty($body['result']) && 'error' == $body['result']) { $access_token = new WP_Error($body['error'], empty($body['error_description']) ? __('Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.', 'updraftplus') : $body['error_description']); } else { $result_body_json = base64_decode($body[0]); $result_body = json_decode($result_body_json); if (isset($result_body->access_token)) { $access_token = array( 'access_token' => $result_body->access_token, 'created' => time(), 'expires_in' => $result_body->expires_in, 'refresh_token' => '' ); $opts['tmp_access_token'] = $access_token; $opts['expires_in'] = $access_token['created'] + $access_token['expires_in'] - 30; $this->set_options($opts, true); } else { $access_token = ''; } } } else { $access_token = $opts['tmp_access_token']; } } // Do we have an access token? if (empty($access_token) || is_wp_error($access_token)) { $message = 'ERROR: Have not yet obtained an access token from Google (has the user authorised?)'; $extra = ''; if (is_wp_error($access_token)) { $message .= ' ('.$access_token->get_error_message().') ('.$access_token->get_error_code().')'; $extra = ' ('.$access_token->get_error_message().') ('.$access_token->get_error_code().')'; } $this->log($message); $this->log(__('Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.', 'updraftplus').$extra, 'error'); return $access_token; } $spl = spl_autoload_functions(); if (is_array($spl)) { // Workaround for Google Drive CDN plugin's autoloader if (in_array('wpbgdc_autoloader', $spl)) spl_autoload_unregister('wpbgdc_autoloader'); // http://www.wpdownloadmanager.com/download/google-drive-explorer/ - but also others, since this is the default function name used by the Google SDK if (in_array('google_api_php_client_autoload', $spl)) spl_autoload_unregister('google_api_php_client_autoload'); } if ((!class_exists('UDP_Google_Config') || !class_exists('UDP_Google_Client') || !class_exists('UDP_Google_Service_Drive') || !class_exists('UDP_Google_Http_Request')) && !function_exists('google_api_php_client_autoload_updraftplus')) { updraft_try_include_file('includes/Google/autoload.php', 'include_once'); } if (!class_exists('UpdraftPlus_Google_Http_MediaFileUpload')) { updraft_try_include_file('includes/google-extensions.php', 'include_once'); } $config = new UDP_Google_Config(); $config->setClassConfig('UDP_Google_IO_Abstract', 'request_timeout_seconds', 60); // In our testing, $storage->about->get() fails if gzip is not disabled when using the stream wrapper if (!function_exists('curl_version') || !function_exists('curl_exec') || (defined('UPDRAFTPLUS_GOOGLEDRIVE_DISABLEGZIP') && UPDRAFTPLUS_GOOGLEDRIVE_DISABLEGZIP)) { $config->setClassConfig('UDP_Google_Http_Request', 'disable_gzip', true); } if (!$use_master) { $client_id = $opts['clientid']; $client_secret = $opts['secret']; } else { $client_id = $this->client_id; $client_secret = ''; } $client = new UDP_Google_Client($config); $client->setClientId($client_id); $client->setClientSecret($client_secret); // $client->setUseObjects(true); if (!$use_master) { $client->setAccessToken(json_encode(array( 'access_token' => $access_token, 'refresh_token' => $opts['token'] ))); } else { $client->setAccessToken(json_encode($access_token)); } $io = $client->getIo(); $setopts = array(); if (is_a($io, 'UDP_Google_IO_Curl')) { $setopts[CURLOPT_SSL_VERIFYPEER] = UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify') ? false : true; if (!UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts')) $setopts[CURLOPT_CAINFO] = UPDRAFTPLUS_DIR.'/includes/cacert.pem'; // Raise the timeout from the default of 15 $setopts[CURLOPT_TIMEOUT] = 60; $setopts[CURLOPT_CONNECTTIMEOUT] = 15; if (defined('UPDRAFTPLUS_IPV4_ONLY') && UPDRAFTPLUS_IPV4_ONLY) $setopts[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4; $setopts[CURLOPT_HTTP_VERSION] = defined('UPDRAFTPLUS_GDRIVE_CURL_HTTP_VERSION') ? UPDRAFTPLUS_GDRIVE_CURL_HTTP_VERSION : CURL_HTTP_VERSION_1_1; } elseif (is_a($io, 'UDP_Google_IO_Stream')) { $setopts['timeout'] = 60; // We had to modify the SDK to support this // https://wiki.php.net/rfc/tls-peer-verification - before PHP 5.6, there is no default CA file if (!UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts') || (version_compare(PHP_VERSION, '5.6.0', '<'))) $setopts['cafile'] = UPDRAFTPLUS_DIR.'/includes/cacert.pem'; if (UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify')) $setopts['disable_verify_peer'] = true; } $io->setOptions($setopts); $storage = new UDP_Google_Service_Drive($client); $this->client = $client; $this->set_storage($storage); try { // Get the folder name, if not previously known (this is for the legacy situation where an id, not a name, was stored) if (!empty($opts['parentid']) && (!is_array($opts['parentid']) || empty($opts['parentid']['name']))) { $rootid = $this->root_id(); $title = ''; $parentid = is_array($opts['parentid']) ? $opts['parentid']['id'] : $opts['parentid']; while ((!empty($parentid) && $parentid != $rootid)) { $resource = $storage->files->get($parentid); $title = ($title) ? $resource->getTitle().'/'.$title : $resource->getTitle(); $parents = $resource->getParents(); if (is_array($parents) && count($parents)>0) { $parent = array_shift($parents); $parentid = is_a($parent, 'UDP_Google_Service_Drive_ParentReference') ? $parent->getId() : false; } else { $parentid = false; } } if (!empty($title)) { $opts['parentid'] = array( 'id' => (is_array($opts['parentid']) ? $opts['parentid']['id'] : $opts['parentid']), 'name' => $title ); $this->set_options($opts, true); } } } catch (Exception $e) { $this->log("failed to obtain name of parent folder: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); } return $storage; } /** * Acts as a WordPress options filter * * @param Array $google - An array of Google Drive options * @return Array - the returned array can either be the set of updated Google Drive settings or a WordPress error array */ public function options_filter($google) { global $updraftplus; // Get the current options (and possibly update them to the new format) $opts = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('googledrive'); if (is_wp_error($opts)) { if ('recursion' !== $opts->get_error_code()) { $msg = "(".$opts->get_error_code()."): ".$opts->get_error_message(); $this->log($msg); error_log("UpdraftPlus: Google Drive: $msg"); } // The saved options had a problem; so, return the new ones return $google; } // $opts = UpdraftPlus_Options::get_updraft_option('updraft_googledrive'); if (!is_array($google)) return $opts; // Remove instances that no longer exist foreach ($opts['settings'] as $instance_id => $storage_options) { if (!isset($google['settings'][$instance_id])) unset($opts['settings'][$instance_id]); } if (empty($google['settings'])) return $opts; foreach ($google['settings'] as $instance_id => $storage_options) { if (empty($opts['settings'][$instance_id]['user_id'])) { $old_client_id = (empty($opts['settings'][$instance_id]['clientid'])) ? '' : $opts['settings'][$instance_id]['clientid']; if (!empty($opts['settings'][$instance_id]['token']) && $old_client_id != $storage_options['clientid']) { updraft_try_include_file('methods/googledrive.php', 'include_once'); $updraftplus->register_wp_http_option_hooks(); $googledrive = new UpdraftPlus_BackupModule_googledrive(); $googledrive->gdrive_auth_revoke(false); $updraftplus->register_wp_http_option_hooks(false); $opts['settings'][$instance_id]['token'] = ''; unset($opts['settings'][$instance_id]['ownername']); } } foreach ($storage_options as $key => $value) { // Trim spaces - I got support requests from users who didn't spot the spaces they introduced when copy/pasting $opts['settings'][$instance_id][$key] = ('clientid' == $key || 'secret' == $key) ? trim($value) : $value; } if (isset($opts['settings'][$instance_id]['folder'])) { $opts['settings'][$instance_id]['folder'] = apply_filters('updraftplus_options_googledrive_foldername', 'UpdraftPlus', $opts['settings'][$instance_id]['folder']); unset($opts['settings'][$instance_id]['parentid']); } } return $opts; } /** * This function checks if the user has any options for Google Drive saved or if they have defined to use a custom app and if they have we will not use the master Google Drive app and allow them to enter their own client ID and secret * * @param Array $opts - the Google Drive options array * @return Bool - a bool value to indicate if we should use the master app or not */ protected function use_master($opts) { if ((!empty($opts['clientid']) && !empty($opts['secret'])) || (defined('UPDRAFTPLUS_CUSTOM_GOOGLEDRIVE_APP') && UPDRAFTPLUS_CUSTOM_GOOGLEDRIVE_APP)) return false; return true; } /** * Returns array of UDP_Google_Service_Drive_DriveFile objects * * @param String $parent_id This is the Parent ID * @param String $type This is the type of file or directory but by default it is set to 'any' unless specified * @param String $match This will specify which match is used for the SQL but by default it is set to 'backup_' unless specified * * @return Array - list of UDP_Google_Service_Drive_DriveFile items */ private function get_subitems($parent_id, $type = 'any', $match = 'backup_') { $storage = $this->get_storage(); $q = '"'.$parent_id.'" in parents and trashed = false'; if ('dir' == $type) { $q .= ' and mimeType = "application/vnd.google-apps.folder"'; } elseif ('file' == $type) { $q .= ' and mimeType != "application/vnd.google-apps.folder"'; } // We used to use 'contains' in both cases, but this exposed some bug that might be in the SDK or at the Google end - a result that matched for = was not returned with contains if (!empty($match)) { if ('backup_' == $match) { $q .= " and title contains '$match'"; } else { $q .= " and title = '$match'"; } } $result = array(); $page_token = null; do { try { // Default for maxResults is 100 $parameters = array('q' => $q, 'maxResults' => 200); if ($page_token) { $parameters['pageToken'] = $page_token; } $files = $storage->files->listFiles($parameters); $result = array_merge($result, $files->getItems()); $page_token = $files->getNextPageToken(); } catch (Exception $e) { $this->log("get_subitems: An error occurred (will not fetch further): " . $e->getMessage()); $page_token = null; } } while ($page_token); return $result; } /** * Delete a single file from the service using GoogleDrive API * * @param Array|String $files - array of file names to delete * @param Array $data - unused here * @param Array $sizeinfo - unused here * @return Boolean|String - either a boolean true or an error code string */ public function delete($files, $data = null, $sizeinfo = array()) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $data and $sizeinfo unused if (is_string($files)) $files = array($files); $storage = $this->bootstrap(); if (is_wp_error($storage)) { $this->log("delete: failed due to storage error: ".$storage->get_error_code()." (".$storage->get_error_message().")"); return 'service_unavailable'; } if (false == $storage) return $storage; $opts = $this->get_options(); try { $parent_id = $this->get_parent_id($opts); $sub_items = $this->get_subitems($parent_id, 'file'); } catch (Exception $e) { $this->log("delete: failed to access parent folder: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); return 'container_access_error'; } $ret = true; foreach ($sub_items as $item) { $title = "(unknown)"; try { $title = $item->getTitle(); if (in_array($title, $files)) { $storage->files->delete($item->getId()); $this->log("$title: Deletion successful"); if (($key = array_search($title, $files)) !== false) { unset($files[$key]); } } } catch (Exception $e) { $this->log("delete: exception: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); $ret = 'file_delete_error'; continue; } } foreach ($files as $file) { $this->log("$file: Deletion failed: file was not found"); } return $ret; } /** * Used internally to upload files * * @param String $file - the full path to the file to upload * @param String $parent_id - the internal Google Drive folder identifier * @param Boolean $try_again - whether to retry in the event of a problem * * @return Boolean - success or failure state */ private function upload_file($file, $parent_id, $try_again = true) { global $updraftplus; $basename = basename($file); $storage = $this->get_storage(); $client = $this->client; // See: https://github.com/google/google-api-php-client/blob/master/examples/fileupload.php (at time of writing, only shows how to upload in chunks, not how to resume) $client->setDefer(true); $local_size = filesize($file); $gdfile = new UDP_Google_Service_Drive_DriveFile(); $gdfile->title = $basename; $ref = new UDP_Google_Service_Drive_ParentReference; $ref->setId($parent_id); $gdfile->setParents(array($ref)); $size = 0; $request = $storage->files->insert($gdfile); $chunk_size = 1048576; $transkey = 'resume_'.md5($file); // This is unset upon completion, so if it is set then we are resuming $possible_location = $this->jobdata_get($transkey, null, 'gd'.$transkey); if (is_array($possible_location)) { $headers = array('content-range' => "bytes */".$local_size); $http_request = new UDP_Google_Http_Request( $possible_location[0], 'PUT', $headers, '' ); $response = $this->client->getIo()->makeRequest($http_request); $can_resume = false; $response_http_code = $response->getResponseHttpCode(); if (200 == $response_http_code || 201 == $response_http_code) { $client->setDefer(false); $this->jobdata_delete($transkey, 'gd'.$transkey); $this->log("$basename: upload appears to be already complete (HTTP code: $response_http_code)"); return true; } if (308 == $response_http_code) { $range = $response->getResponseHeader('range'); if (!empty($range) && preg_match('/bytes=0-(\d+)$/', $range, $matches)) { $can_resume = true; $possible_location[1] = $matches[1]+1; $this->log("$basename: upload already began; attempting to resume from byte ".$matches[1]); } } if (!$can_resume) { $this->log("$basename: upload already began; attempt to resume did not succeed (HTTP code: ".$response_http_code.")"); } } // UpdraftPlus_Google_Http_MediaFileUpload extends Google_Http_MediaFileUpload, with a few extra methods to change private properties to public ones $media = new UpdraftPlus_Google_Http_MediaFileUpload( $client, $request, (('.zip' == substr($basename, -4, 4)) ? 'application/zip' : 'application/octet-stream'), null, true, $chunk_size ); $media->setFileSize($local_size); if (!empty($possible_location)) { // $media->resumeUri = $possible_location[0]; // $media->progress = $possible_location[1]; $media->updraftplus_setResumeUri($possible_location[0]); $media->updraftplus_setProgress($possible_location[1]); $size = $possible_location[1]; } if ($size >= $local_size) return true; $status = false; if (false == ($handle = fopen($file, 'rb'))) { $this->log("failed to open file: $basename"); $this->log("$basename: ".__('Error: Failed to open local file', 'updraftplus'), 'error'); return false; } if ($size > 0 && 0 != fseek($handle, $size)) { $this->log("failed to fseek file: $basename, $size"); $this->log("$basename (fseek): ".__('Error: Failed to open local file', 'updraftplus'), 'error'); return false; } $pointer = $size; try { while (!$status && !feof($handle)) { $chunk = ''; // Google requires chunks of the previous indicated size. Short reads are thus problematic. (Or does it? Was this just because the content-length header was hard-coded to the chunk size? Should be investigated, to see if we can change chunk size dynamically). while (strlen($chunk) < $chunk_size && !feof($handle)) { $chunk .= fread($handle, $chunk_size - strlen($chunk)); } // Do we need any further error handling?? $pointer += strlen($chunk); $start_time = microtime(true); $status = $media->nextChunk($chunk); unset($chunk); $extra_log = $media->getProgress(); if (!$status && $chunk_size < 67108864 && microtime(true) - $start_time < 2.5 && !feof($handle) && $updraftplus->verify_free_memory($chunk_size * 4)) { $memory_usage = round(@memory_get_usage(false)/1048576, 1);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $memory_usage2 = round(@memory_get_usage(true)/1048576, 1);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $chunk_size = $chunk_size * 2; $extra_log .= ' - increasing chunk size to '.round($chunk_size/1024).' KB'; $extra_log .= " - memory usage: $memory_usage / $memory_usage2"; } $this->jobdata_set($transkey, array($media->updraftplus_getResumeUri(), $media->getProgress())); $updraftplus->record_uploaded_chunk(round(100*$pointer/$local_size, 1), $extra_log, $file); } } catch (UDP_Google_Service_Exception $e) { return $this->catch_upload_engine_exceptions($e, $handle, $try_again, $file, $parent_id); } catch (UDP_Google_IO_Exception $e) { return $this->catch_upload_engine_exceptions($e, $handle, $try_again, $file, $parent_id); } // The final value of $status will be the data from the API for the object // that has been uploaded. $result = (false != $status) ? $status : false;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- We don't use this at this time. fclose($handle); $client->setDefer(false); $this->jobdata_delete($transkey, 'gd'.$transkey); return true; } /** * This function is used to handle certain exceptions that can rise from uploading files to Google Drive when a retry is possibly desirable. * * @param Exception $e - the Google exception we caught * @param Resource $handle - a file handler object that needs closing * @param Boolean $try_again - indicates if we should try again * @param String $file - the full file path * @param String $parent_id - the Google Drive ID for the parent folder * * @return Boolean */ private function catch_upload_engine_exceptions($e, $handle, $try_again, $file, $parent_id) { $this->log('ERROR: upload exception ('.get_class($e).'): '.$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); $this->client->setDefer(false); fclose($handle); $transkey = $transkey = 'resume_'.md5($file); $this->jobdata_delete($transkey, 'gd'.$transkey); if (false == $try_again) throw($e); // Reset this counter to prevent the something_useful_happened condition's possibility being sent into the far future and potentially missed global $updraftplus; if ($updraftplus->current_resumption > 9) $updraftplus->jobdata_set('uploaded_lastreset', $updraftplus->current_resumption); return $this->upload_file($file, $parent_id, false); } /** * Download method: takes a base name, and brings it back from the cloud storage into the internal directory. * * @param String $file The specific file to be downloaded from the Cloud Storage * * @return Boolean - success or failure state */ public function download($file) { global $updraftplus; $storage = $this->bootstrap(); if (false == $storage || is_wp_error($storage)) return false; global $updraftplus; $opts = $this->get_options(); try { $parent_id = $this->get_parent_id($opts); // $gdparent = $storage->files->get($parent_id); $sub_items = $this->get_subitems($parent_id, 'file'); } catch (Exception $e) { $this->log("delete: failed to access parent folder: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); return false; } $found = false; foreach ($sub_items as $item) { if ($found) continue; $title = "(unknown)"; try { $title = $item->getTitle(); if ($title == $file) { $gdfile = $item; $found = $item->getId(); $size = $item->getFileSize(); } } catch (Exception $e) { $this->log("download: exception: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); } } if (false === $found) { $this->log('download: failed: file not found'); $this->log($file.': '.__('Error', 'updraftplus').': '.__('File not found', 'updraftplus'), 'error'); return false; } $download_to = $updraftplus->backups_dir_location().'/'.$file; $existing_size = file_exists($download_to) ? filesize($download_to) : 0; if ($existing_size >= $size) { $this->log('download: was already downloaded ('.filesize($download_to)."/$size bytes)"); return true; } // We only need a chunk size because the API library won't accept a file handle - otherwise, we could download the whole range. But testing (150Mb/s connection) shows that after 32MB almost all the gains have been realised. $chunk_size = 2097152; while ($updraftplus->verify_free_memory($chunk_size * 3) && $chunk_size <= 20971520) { $chunk_size = $chunk_size * 2; } try { while ($existing_size < $size) { $end = min($existing_size + $chunk_size, $size); if ($existing_size > 0) { $put_flag = FILE_APPEND; $headers = array('Range' => 'bytes='.$existing_size.'-'.$end); } else { $put_flag = 0; $headers = ($end < $size) ? array('Range' => 'bytes=0-'.$end) : array(); } $pstart = round(100*$existing_size/$size, 1); $pend = round(100*$end/$size, 1); $this->log("Requesting byte range: $existing_size - $end ($pstart - $pend %)"); $request = $this->client->getAuth()->sign(new UDP_Google_Http_Request($gdfile->getDownloadUrl(), 'GET', $headers, null)); $http_request = $this->client->getIo()->makeRequest($request); $http_response = $http_request->getResponseHttpCode(); if (200 == $http_response || 206 == $http_response) { file_put_contents($download_to, $http_request->getResponseBody(), $put_flag); } else { $this->log("download: failed: unexpected HTTP response code: ".$http_response); $this->log(__("download: failed: file not found", 'updraftplus'), 'error'); return false; } clearstatcache(); $new_size = filesize($download_to); if ($new_size > $existing_size) { $existing_size = $new_size; } else { throw new Exception('Failed to obtain any new data at size: '.$existing_size); } } } catch (Exception $e) { $this->log("download: exception: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); } return true; } /** * Retrieve a list of template properties by taking all the persistent variables and methods of the parent class and combining them with the ones that are unique to this module, also the necessary HTML element attributes and texts which are also unique only to this backup module * NOTE: Please sanitise all strings that are required to be shown as HTML content on the frontend side (i.e. wp_kses()), or any other technique to prevent XSS attacks that could come via WP hooks * * @return Array an associative array keyed by names that describe themselves as they are */ public function get_template_properties() { global $updraftplus; $properties = array( 'storage_image_url' => UPDRAFTPLUS_URL.'/images/googledrive_logo.png', 'storage_image_title' => __('Google Drive', 'updraftplus'), 'input_clientid_label' => __('Google Drive', 'updraftplus').' '.__('Client ID', 'updraftplus'), 'input_clientid_title' => __('If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.', 'updraftplus'), 'input_secret_label' => __('Google Drive', 'updraftplus').' '.__('Client Secret', 'updraftplus'), 'input_secret_type' => apply_filters('updraftplus_admin_secret_field_type', 'password'), 'input_folder_label' => __('Google Drive', 'updraftplus').' '.__('Folder', 'updraftplus'), 'clientid_and_secret_instruction_label1' => __('For longer help, including screenshots, follow this link.', 'updraftplus').' '.__('The description below is sufficient for more expert users.', 'updraftplus'), 'updraftplus_com_link' => apply_filters('updraftplus_com_link', 'https://updraftplus.com/support/configuring-google-drive-api-access-in-updraftplus/'), 'clientid_and_secret_instruction_label2' => __('Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section.', 'updraftplus'), 'clientid_and_secret_instruction_label3' => __("Select 'Web Application' as the application type.", 'updraftplus'), 'clientid_and_secret_instruction_label4' => __('You must add the following as the authorised redirect URI (under "More Options") when asked', 'updraftplus'), 'clientid_and_secret_instruction_label5' => UpdraftPlus_Options::admin_page_url().'?action=updraftmethod-googledrive-auth', 'clientid_and_secret_instruction_label6' => __('N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site.', 'updraftplus'), 'id_number_instruction_label' => wp_kses(__("This is NOT a folder name.", 'updraftplus').' '.__('It is an ID number internal to Google Drive', 'updraftplus'), $this->allowed_html_for_content_sanitisation()), 'custom_folder_name_label' => __('To be able to set a custom folder name, use UpdraftPlus Premium.', 'updraftplus'), 'privacy_policy_label' => wp_kses(sprintf(__('Please read %s for use of our %s authorization app (none of your backup data is sent to us).', 'updraftplus'), ''.__('this privacy policy', 'updraftplus').'', 'Google Drive'), $this->allowed_html_for_content_sanitisation()), 'updraftplus_premium_url' => $updraftplus->get_url('premium'), 'authentication_label' => __('Authenticate with Google', 'updraftplus'), 'authentication_label2' => wp_kses(sprintf(__("After you have saved your settings (by clicking 'Save Changes' below), then come back here once and follow this link to complete authentication with %s.", 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), $this->allowed_html_for_content_sanitisation()), 'authentication_link_text' => sprintf(__('Sign in with %s', 'updraftplus'), 'Google'), 'already_authenticated_label' => __("(You appear to be already authenticated, though you can authenticate again to refresh your access if you've had a problem).", 'updraftplus'), 'deauthentication_nonce' => wp_create_nonce($this->get_id().'_deauth_nonce'), 'deauthentication_link_text' => sprintf(__("Follow this link to remove these settings for %s.", 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), 'deauthorise_use_master_label' => __('To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings.', 'updraftplus'), 'account_name_label' => __("Account holder's name", 'updraftplus'), ); if (preg_match('#^(https?://(\d+)\.(\d+)\.(\d+)\.(\d+))/#i', apply_filters('updraftplus_gdrive_admin_page_url', UpdraftPlus_Options::admin_page_url()), $matches)) $properties['ip_address'] = $matches[1]; if (isset($properties['ip_address'])) $properties['unallowed_direct_ip_address'] = wp_kses(sprintf(__("%s does not allow authorisation of sites hosted on direct IP addresses.", 'updraftplus').' '.__("You will need to change your site's address (%s) before you can use %s for storage.", 'updraftplus'), __('Google Drive', 'updraftplus'), $matches[1], __('Google Drive', 'updraftplus')), $this->allowed_html_for_content_sanitisation()); return wp_parse_args(apply_filters('updraft_'.$this->get_id().'_template_properties', array()), wp_parse_args($properties, $this->get_persistent_variables_and_methods())); } /** * Get the pre configuration template * * @return String - the template */ public function get_pre_configuration_template() { ?> {{storage_image_title}} {{#unless use_master}}
{{#if ip_address}} {{!-- This is advisory - so the fact it doesn't match IPv6 addresses isn't important --}}

{{{unallowed_direct_ip_address}}}

{{else}} {{!-- If we are not using the master app then show them the instructions for Client ID and Secret --}}

{{clientid_and_secret_instruction_label1}}

{{clientid_and_secret_instruction_label2}} {{clientid_and_secret_instruction_label3}}

{{clientid_and_secret_instruction_label4}}: {{clientid_and_secret_instruction_label5}} {{clientid_and_secret_instruction_label6}}

{{/if}} {{/unless}}

{{{privacy_policy_label}}}

{{#unless use_master}} {{input_clientid_label}}:
{{input_clientid_title}} {{input_secret_label}}: {{/unless}} {{#if is_google_enhanced_addon}} {{#> gdrive_additional_configuration_top}} {{/gdrive_additional_configuration_top}} {{else}} {{#if parentid}} {{input_folder_label}}: {{#if is_id_number_instruction}} {{{id_number_instruction_label}}} {{else}} {{/if}} {{else}} {{input_folder_label}}: {{/if}}
{{custom_folder_name_label}} {{/if}} {{authentication_label}}: {{#if is_authenticate_with_google}}

{{{already_authenticated_label}}} {{deauthentication_link_text}}

{{#if use_master}}

{{deauthorise_use_master_label}}

{{/if}} {{/if}} {{#if is_ownername_display}} {{#if owneremail}}
{{account_name_label}}: {{ownername}} ({{owneremail}}) {{else}}
{{account_name_label}}: {{ownername}} {{/if}} {{/if}}

{{{authentication_label2}}}


{{authentication_link_text}} get_id().'_partial_templates', array()), parent::get_partial_templates()); } /** * Modifies handerbar template options * * @param array $opts * @return Array - Modified handerbar template options */ public function transform_options_for_template($opts) { $opts['use_master'] = $this->use_master($opts); $opts['is_google_enhanced_addon'] = class_exists('UpdraftPlus_Addon_Google_Enhanced') ? true : false; if (isset($opts['parentid'])) { $opts['parentid_str'] = (is_array($opts['parentid'])) ? $opts['parentid']['id'] : $opts['parentid']; $opts['showparent'] = (is_array($opts['parentid']) && !empty($opts['parentid']['name'])) ? $opts['parentid']['name'] : $opts['parentid_str']; $opts['is_id_number_instruction'] = (!empty($opts['parentid']) && (!is_array($opts['parentid']) || empty($opts['parentid']['name']))); } $opts['is_authenticate_with_google'] = (!empty($opts['token']) || !empty($opts['user_id'])); $opts['is_ownername_display'] = ((!empty($opts['token']) || !empty($opts['user_id'])) && !empty($opts['ownername'])); $opts = apply_filters('updraftplus_options_googledrive_options', $opts); return $opts; } /** * Gives settings keys which values should not passed to handlebarsjs context. * The settings stored in UD in the database sometimes also include internal information that it would be best not to send to the front-end (so that it can't be stolen by a man-in-the-middle attacker) * * @return Array - Settings array keys which should be filtered */ public function filter_frontend_settings_keys() { return array( 'expires_in', 'tmp_access_token', 'token', 'user_id', ); } /** * This function will build and return the authentication link * * @param String $instance_id - the instance id * @param String $text - the link text * * @return String - the authentication link */ public function build_authentication_link($instance_id, $text) { $id = $this->get_id(); return '

'. $text .'


'.sprintf(__('Sign in with %s', 'updraftplus'), 'Google').''; } } methods/updraftvault.php000064400000152435147400355670011466 0ustar00current_upload_entity) { // 1296000 = 15 days in seconds case 'databases': if ('' !== $db_schedule && isset($schedules[$db_schedule]) && $schedules[$db_schedule]['interval'] * $retain_db > 1296000) $class = 'STANDARD_IA'; break; case 'files': if ('' !== $files_schedule && isset($schedules[$files_schedule]) && $schedules[$files_schedule]['interval'] * $retain_files > 1296000) $class = 'STANDARD_IA'; break; } return $class; } /** * This function makes testing easier, rather than having to change the URLs in multiple places * * @param Boolean|string $which_page specifies which page to get the URL for * @return String */ private function get_url($which_page = false) { $base = defined('UPDRAFTPLUS_VAULT_SHOP_BASE') ? UPDRAFTPLUS_VAULT_SHOP_BASE : 'https://updraftplus.com/shop/'; switch ($which_page) { case 'get_more_quota': return apply_filters('updraftplus_com_link', $base.'product-category/updraftplus-vault/'); break; case 'more_vault_info_faqs': return apply_filters('updraftplus_com_link', 'https://updraftplus.com/support/updraftplus-vault-faqs/'); break; case 'more_vault_info_landing': return apply_filters('updraftplus_com_link', 'https://updraftplus.com/landing/vault'); break; case 'vault_forgotten_credentials_links': return apply_filters('updraftplus_com_link', 'https://updraftplus.com/my-account/lost-password/'); break; default: return apply_filters('updraftplus_com_link', $base); break; } } /** * This method overrides the parent method and lists the supported features of this remote storage option. * * @return Array - an array of supported features (any features not mentioned are asuumed to not be supported) */ public function get_supported_features() { // This options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates', 'conditional_logic'); } /** * Retrieve default options for this remote storage module. * * @return Array - an array of options */ public function get_default_options() { return array( 'token' => '', 'email' => '', 'quota' => -1 ); } /** * Retrieve specific options for this remote storage module * * @param Array $config an array of config options * @return Array - an array of options */ protected function vault_set_config($config) { $config['whoweare'] = 'UpdraftVault'; $config['whoweare_long'] = __('UpdraftVault', 'updraftplus'); $config['key'] = 'updraftvault'; $this->vault_config = $config; } /** * Gets the UpdraftVault configuration and credentials * * @param Boolean $force_refresh - if set, and if relevant, don't use cached credentials, but get them afresh * * @return Array An array containing the Amazon S3 credentials (accesskey, secretkey, etc.) * along with some configuration values. */ public function get_config($force_refresh = false) { global $updraftplus; if (!$force_refresh) { // Have we already done this? if (!empty($this->vault_config)) return $this->vault_config; // Stored in the job? if ($job_config = $this->jobdata_get('config', null, 'updraftvault_config')) { if (!empty($job_config) && is_array($job_config)) { $this->vault_config = $job_config; return $job_config; } } } // Pass back empty settings, if nothing better can be found - this ensures that the error eventually is raised in the right place $config = array('accesskey' => '', 'secretkey' => '', 'path' => ''); $config['whoweare'] = 'Updraft Vault'; $config['whoweare_long'] = __('Updraft Vault', 'updraftplus'); $config['key'] = 'updraftvault'; // Get the stored options $opts = $this->get_options(); if (!is_array($opts) || empty($opts['token']) || empty($opts['email'])) { // Not connected. Skip DB so that it doesn't show in the UI, which confuses people (e.g. when rescanning remote storage) $this->log('this site has not been connected - check your settings', 'notice', false, true); $config['error'] = array('message' => 'site_not_connected', 'values' => array()); $this->vault_config = $config; $this->jobdata_set('config', $config); return $config; } $site_id = $updraftplus->siteid(); $this->log("requesting access details (sid=$site_id, email=".$opts['email'].")"); // Request the credentials using our token $post_body = array( 'e' => (string) $opts['email'], 'sid' => $site_id, 'token' => (string) $opts['token'], 'su' => base64_encode(home_url()) ); if (!empty($this->vault_in_config_print)) { // In this case, all that the get_config() is being done for is to get the quota info. Send back the cached quota info instead (rather than have an HTTP trip every time the settings page is loaded). The config will get updated whenever there's a backup, or the user presses the link to update. $getconfig = get_transient('udvault_last_config'); } // Use SSL to prevent snooping if (empty($getconfig) || !is_array($getconfig) || empty($getconfig['accesskey'])) { $config_array = apply_filters('updraftplus_vault_config_add_headers', array('timeout' => 25, 'body' => $post_body)); $getconfig = wp_remote_post($this->vault_mothership.'/?udm_action=vault_getconfig', $config_array); } $details_retrieved = false; $cache_in_job = false; if (!is_wp_error($getconfig) && false != $getconfig && isset($getconfig['body'])) { $response_code = wp_remote_retrieve_response_code($getconfig); if ($response_code >= 200 && $response_code < 300) { $response = json_decode(wp_remote_retrieve_body($getconfig), true); if (is_array($response) && isset($response['user_messages']) && is_array($response['user_messages'])) { foreach ($response['user_messages'] as $message) { if (!is_array($message)) continue; $msg_txt = $this->vault_translate_remote_message($message['message'], $message['code']); $this->log($msg_txt, $message['level'], $message['code']); } } if (is_array($response) && isset($response['accesskey']) && isset($response['secretkey']) && isset($response['path'])) { $details_retrieved = true; $cache_in_job = true; $opts['last_config']['accesskey'] = $response['accesskey']; $opts['last_config']['secretkey'] = $response['secretkey']; $opts['last_config']['path'] = $response['path']; unset($opts['last_config']['quota_root']); if (!empty($response['quota_root'])) { $opts['last_config']['quota_root'] = $response['quota_root']; $config['quota_root'] = $response['quota_root']; $opts['quota_root'] = $response['quota_root']; } $opts['last_config']['time'] = time(); // This is just a cache of the most recent setting if (isset($response['quota'])) { $opts['quota'] = $response['quota']; $config['quota'] = $response['quota']; } $this->set_options($opts, true); $config['accesskey'] = $response['accesskey']; $config['secretkey'] = $response['secretkey']; $config['path'] = $response['path']; $config['sessiontoken'] = (isset($response['sessiontoken']) ? $response['sessiontoken'] : ''); $config['provider'] = !empty($response['provider']) ? $response['provider'] : 'amazonaws'; } elseif (is_array($response) && isset($response['result']) && ('token_unknown' == $response['result'] || 'site_duplicated' == $response['result'])) { $this->log("This site appears to not be connected to UpdraftVault (".$response['result'].")"); $config['error'] = array('message' => 'site_not_connected', 'values' => array($response['result'])); $config['accesskey'] = ''; $config['secretkey'] = ''; $config['path'] = ''; $config['sessiontoken'] = ''; unset($config['quota']); if (!empty($response['message'])) $config['error_message'] = $response['message']; $details_retrieved = true; $cache_in_job = true; } elseif (is_array($response) && isset($response['result']) && 'error' == $response['result'] && 'gettempcreds_exception2' == $response['code']) { $this->log("An error occurred while fetching your Vault credentials. Please try again after a few minutes (".$response['code'].")"); $config['error'] = array('message' => 'fetch_credentials_error', 'values' => array($response['code'])); $config['accesskey'] = ''; $config['secretkey'] = ''; $config['path'] = ''; $config['sessiontoken'] = ''; $config['email'] = $opts['email']; // Pass along the email address used, as we need it to display our error message correctly unset($config['quota']); // We want to hide the AWS error message in this case $config['error_message'] = __('An error occurred while fetching your Vault credentials.', 'updraftplus').' '.__('Please try again after a few minutes.', 'updraftplus'); $details_retrieved = true; $cache_in_job = true; } else { if (is_array($response) && !empty($response['result'])) { $cache_in_job = true; $msg = "response code: ".$response['result']; if (!empty($response['code'])) $msg .= " (".$response['code'].")"; if (!empty($response['message'])) $msg .= " (".$response['message'].")"; if (!empty($response['data'])) $msg .= " (".json_encode($response['data']).")"; $this->log($msg); $config['error'] = array('message' => 'general_error_response', 'values' => array($msg)); } else { $this->log("Received response, but it was not in the expected format: ".substr(wp_remote_retrieve_body($getconfig), 0, 100).' ...'); $config['error'] = array('message' => 'unexpected_format', 'values' => array(substr(wp_remote_retrieve_body($getconfig), 0, 100).' ...')); } } } else { $this->log("Unexpected HTTP response code (please try again later): ".$response_code); $config['error'] = array('message' => 'unexpected_http_response', 'values' => array($response_code)); } } elseif (is_wp_error($getconfig)) { $updraftplus->log_wp_error($getconfig); $config['error'] = array('message' => 'general_error_response', 'values' => array($getconfig)); } else { if (!isset($getconfig['accesskey'])) { $this->log("wp_remote_post returned a result that was not understood (".gettype($getconfig).")"); $config['error'] = array('message' => 'result_not_understood', 'values' => array(gettype($getconfig))); } } if (!$details_retrieved) { // Don't log anything yet, as this will replace the most recently logged message in the main panel if (!empty($opts['last_config']) && is_array($opts['last_config'])) { $last_config = $opts['last_config']; if (!empty($last_config['time']) && is_numeric($last_config['time']) && $last_config['time'] > time() - 86400*15) { if ($updraftplus->backup_time) $this->log("failed to retrieve access details from updraftplus.com: will attempt to use most recently stored configuration"); if (!empty($last_config['accesskey'])) $config['accesskey'] = $last_config['accesskey']; if (!empty($last_config['secretkey'])) $config['secretkey'] = $last_config['secretkey']; if (isset($last_config['path'])) $config['path'] = $last_config['path']; if (isset($opts['quota'])) $config['quota'] = $opts['quota']; $cache_in_job = true; } else { if ($updraftplus->backup_time) $this->log("failed to retrieve access details from updraftplus.com: no recently stored configuration was found to use instead"); } } } $config['server_side_encryption'] = 'AES256'; $this->vault_config = $config; if ($cache_in_job) $this->jobdata_set('config', $config); // N.B. This isn't multi-server compatible set_transient('udvault_last_config', $config, 86400*7); return $config; } /** * Whether to always use server-side encryption - which, with Vault, we do (and our marketing says so). * * @return Boolean */ protected function use_sse() { return true; } public function vault_translate_remote_message($message, $code) { switch ($code) { case 'premium_overdue': return __('Your UpdraftPlus Premium purchase is over a year ago.', 'updraftplus').' '.__('You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer.', 'updraftplus'); break; case 'vault_subscription_overdue': return __('You have an UpdraftPlus Vault subscription with overdue payment.', 'updraftplus').' '.__('You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it.', 'updraftplus').' '.__('Please renew as soon as possible!', 'updraftplus'); break; case 'vault_subscription_suspended': return __("You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired.", 'updraftplus').' '.__("In a few days' time, your stored data will be permanently removed.", 'updraftplus').' '.__("If you do not wish this to happen, then you should renew as soon as possible.", 'updraftplus'); // The following shouldn't be a possible response (the server can deal with duplicated sites with the same IDs) - but there's no harm leaving it in for now (Dec 2015) // This means that the site is accessing with a different home_url() than it was registered with. break; case 'site_duplicated': return __('No Vault connection was found for this site (has it moved?); please disconnect and re-connect.', 'updraftplus'); break; } return $message; } /** * This over-rides the method in UpdraftPlus_BackupModule and stops the hidden version field being output. This is so that blank settings are not returned and saved to the database as this storage option outputs no other fields. * * @return [boolean] - return false so that the hidden version field is not output */ public function print_shared_settings_fields() { return false; } /** * Get the pre configuration template * * @return Void - currently does not have a pre config template, this method is needed to stop it taking it's parents */ public function get_pre_configuration_template() { } /** * Get the configuration template * * @return String - the template, ready for substitutions to be carried out */ public function get_configuration_template() { ob_start(); ?> {{{simplexmlelement_existence_label}}} {{{curl_existence_label}}} vault_in_config_print = true; $properties = array( 'storage_image_url' => UPDRAFTPLUS_URL.'/images/updraftvault-150.png', 'simplexmlelement_existence_label' => !apply_filters('updraftplus_vault_simplexmlelement_exists', class_exists('SimpleXMLElement')) ? wp_kses($updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__("Your web server's PHP installation does not include a required (for %s) module (%s).", 'updraftplus'), 'UpdraftVault', 'SimpleXMLElement').' '.__("Please contact your web hosting provider's support and ask for them to enable it.", 'updraftplus'), $this->get_id(), false), $this->allowed_html_for_content_sanitisation()) : '', 'curl_existence_label' => wp_kses($updraftplus_admin->curl_check($updraftplus->backup_methods[$this->get_id()], false, $this->get_id().' hidden-in-updraftcentral', false), $this->allowed_html_for_content_sanitisation()), 'storage_long_description' => wp_kses(__('UpdraftVault brings you storage that is reliable, easy to use and a great price.', 'updraftplus').' '.__('Press a button to get started.', 'updraftplus'), $this->allowed_html_for_content_sanitisation()), 'storage_package_options_label1' => __('Need to get space?', 'updraftplus'), 'storage_package_options_label2' => __('Show the options', 'updraftplus'), 'storage_already_registered_label1' => __('Already got space?', 'updraftplus'), 'storage_already_registered_label2' => sprintf(__('Connect to your %s account', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), 'storage_already_registered_label3' => __('Connect', 'updraftplus'), 'storage_long_description2' => __("UpdraftVault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability.", 'updraftplus'), 'storage_readmore_label' => sprintf(__('Read more about %s here.', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), 'storage_read_faq_label' => sprintf(__('Read the %s FAQs here.', 'updraftplus'), 'Vault'), 'more_vault_info_landing_url' => $this->get_url('more_vault_info_landing'), 'more_vault_info_faqs_url' => $this->get_url('more_vault_info_faqs'), 'storage_package_options_label3' => wp_kses(__('UpdraftVault brings you storage that is reliable, easy to use and a great price.', 'updraftplus').' '.__('Press a button to get started.', 'updraftplus'), $this->allowed_html_for_content_sanitisation()), 'start_subscription_button_label' => __('Start Subscription', 'updraftplus'), 'start_15gb_subscription_button_title' => sprintf(__('Start %s Subscription', 'updraftplus'), '15GB'), 'start_50gb_subscription_button_title' => sprintf(__('Start %s Subscription', 'updraftplus'), '50GB'), 'start_250gb_subscription_button_title' => sprintf(__('Start %s Subscription', 'updraftplus'), '250GB'), 'start_trial_button_label' => __('Start Trial', 'updraftplus'), 'start_trial_button_title' => sprintf(__('Start %s Trial', 'updraftplus'), '5GB'), 'discount_period_label' => __('or (annual discount)', 'updraftplus'), 'start_trial_option_label' => __('with the option of', 'updraftplus'), 'price_5gb_package_label' => sprintf(__('%s per year', 'updraftplus'), '$35'), 'price_15gb_package_label' => sprintf(__('%s per quarter', 'updraftplus'), '$20'), 'price_50gb_package_label' => sprintf(__('%s per quarter', 'updraftplus'), '$50'), 'price_250gb_package_label' => sprintf(__('%s per quarter', 'updraftplus'), '$125'), 'discounted_price_5gb_package_label' => sprintf(__('%s month %s trial', 'updraftplus'), '1', '$1'), 'discounted_price_15gb_package_label' => sprintf(__('%s per year', 'updraftplus'), '$70'), 'discounted_price_50gb_package_label' => sprintf(__('%s per year', 'updraftplus'), '$175'), 'discounted_price_250gb_package_label' => sprintf(__('%s per year', 'updraftplus'), '$450'), 'start_5gb_package_subscription_title' => sprintf(__('Start a %s UpdraftVault Subscription', 'updraftplus'), '5GB'), 'start_15gb_package_subscription_title' => sprintf(__('Start a %s UpdraftVault Subscription', 'updraftplus'), '15GB'), 'start_50gb_package_subscription_title' => sprintf(__('Start a %s UpdraftVault Subscription', 'updraftplus'), '50GB'), 'start_250gb_package_subscription_title' => sprintf(__('Start a %s UpdraftVault Subscription', 'updraftplus'), '250GB'), 'start_5gb_package_subscription_link' => apply_filters('updraftplus_com_link', $updraftplus->get_url('shop_vault_5')), 'start_15gb_package_subscription_link' => apply_filters('updraftplus_com_link', $updraftplus->get_url('shop_vault_15')), 'start_50gb_package_subscription_link' => apply_filters('updraftplus_com_link', $updraftplus->get_url('shop_vault_50')), 'start_250gb_package_subscription_link' => apply_filters('updraftplus_com_link', $updraftplus->get_url('shop_vault_250')), 'go_back_link_text' => __('Back...', 'updraftplus'), 'go_back_link_label' => sprintf(__('Back to other %s options'), 'Vault'), 'current_clean_url' => UpdraftPlus::get_current_clean_url(), 'subscription_payment_details_label' => __('Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal.', 'updraftplus').' '. __('Subscriptions can be cancelled at any time.', 'updraftplus'), 'connect_to_updraftplus_label' => __('Enter your UpdraftPlus.Com email / password here to connect:', 'updraftplus'), 'input_email_title' => sprintf(__('Please enter your %s email address', 'updraftplus'), 'UpdraftPlus.com'), 'input_email_placeholder' => __('Email', 'updraftplus'), 'input_password_title' => sprintf(__('Please enter your %s password', 'updraftplus'), 'UpdraftPlus.com'), 'input_password_placeholder' => __('Password', 'updraftplus'), 'button_connect_title' => sprintf(__('Connect to your %s'), 'Vault'), 'button_connect_label' => __('Connect', 'updraftplus'), 'forgotten_password_label' => __("Don't know your email address, or forgotten your password?", 'updraftplus'), 'forgotten_password_link_label' => __("Don't know your email address, or forgotten your password?", 'updraftplus').__('Follow this link for help', 'updraftplus'), 'forgotten_password_link_url' => $this->get_url('vault_forgotten_credentials_links'), 'forgotten_password_link_text' => __('Go here for help', 'updraftplus'), 'site_is_already_connected_label' => wp_kses(__('This site is connected to UpdraftVault.', 'updraftplus').' '.__("Well done - there's nothing more needed to set up.", 'updraftplus'), $this->allowed_html_for_content_sanitisation()), 'vault_owner_label' => __('Vault owner', 'updraftplus'), 'vault_quota_label' => __('Quota:', 'updraftplus'), 'button_disconnect_label' => __('Disconnect', 'updraftplus'), 'vault_is_not_connected_label' => wp_kses(__('You are not connected to UpdraftVault.', 'updraftplus'), $this->allowed_html_for_content_sanitisation()), ); if ($updraftplus_checkout_embed) { $properties['checkout_embed_5gb_attribute'] = $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-5-gb') ? 'data-embed-checkout="'.esc_attr(apply_filters('updraftplus_com_link', $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-5-gb', UpdraftPlus_Options::admin_page_url().'?page=updraftplus&tab=settings'))).'"' : ''; $properties['checkout_embed_15gb_attribute'] = $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-15-gb') ? 'data-embed-checkout="'.esc_attr(apply_filters('updraftplus_com_link', $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-15-gb', UpdraftPlus_Options::admin_page_url().'?page=updraftplus&tab=settings'))).'"' : ''; $properties['checkout_embed_50gb_attribute'] = $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-50-gb') ? 'data-embed-checkout="'.esc_attr(apply_filters('updraftplus_com_link', $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-50-gb', UpdraftPlus_Options::admin_page_url().'?page=updraftplus&tab=settings'))).'"' : ''; $properties['checkout_embed_250gb_attribute'] = $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-250-gb') ? 'data-embed-checkout="'.esc_attr(apply_filters('updraftplus_com_link', $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-250-gb', UpdraftPlus_Options::admin_page_url().'?page=updraftplus&tab=settings'))).'"' : ''; } $this->vault_in_config_print = false; return wp_parse_args($properties, $this->get_persistent_variables_and_methods()); } /** * Modifies handerbar template options * * @param array $opts * @return Array - Modified handerbar template options */ public function transform_options_for_template($opts) { if (!empty($opts['token']) || !empty($opts['email'])) { $opts['is_connected'] = true; } if (!isset($opts['quota']) || !is_numeric($opts['quota']) || $opts['quota'] < 0) { $opts['quota_text'] = __('Unknown', 'updraftplus'); } else { $opts['quota_text'] = $this->s3_get_quota_info('text', $opts['quota']); } return $opts; } /** * Check whether options have been set up by the user, or not * * @param Array $opts - the potential options * * @return Boolean */ public function options_exist($opts) { if (is_array($opts) && !empty($opts['email'])) return true; return false; } /** * Gives settings keys which values should not passed to handlebarsjs context. * The settings stored in UD in the database sometimes also include internal information that it would be best not to send to the front-end (so that it can't be stolen by a man-in-the-middle attacker) * * @return Array - Settings array keys which should be filtered */ public function filter_frontend_settings_keys() { return array( 'last_config', 'quota', 'quota_root', 'token', ); } private function connected_html($vault_settings = false, $error_message = false) { if (!is_array($vault_settings)) { $vault_settings = $this->get_options(); } if (!is_array($vault_settings) || empty($vault_settings['token']) || empty($vault_settings['email'])) return '

'.__('You are not connected to UpdraftVault.', 'updraftplus').'

'; $ret = '

'; $ret .= __('This site is connected to UpdraftVault.', 'updraftplus').' '.__("Well done - there's nothing more needed to set up.", 'updraftplus').'

'.__('Vault owner', 'updraftplus').': '.htmlspecialchars($vault_settings['email']); $ret .= '
'.__('Quota:', 'updraftplus').' '; if (!isset($vault_settings['quota']) || !is_numeric($vault_settings['quota']) || $vault_settings['quota'] < 0) { if (!$error_message) { $ret .= __('Unknown', 'updraftplus'); $ret .= $this->get_quota_recount_links(); } else { $ret .= $error_message; $ret .= $this->get_quota_recount_links(); } } else { $ret .= $this->s3_get_quota_info('text', $vault_settings['quota']); } $ret .= '

'; $ret .= '

'; return $ret; } /** * This function will output to the backup log when s3 is out of quota, it will then also clear the vault quota transient so a recount will happen at some point. * * @param Integer $total - the total amount of quota * @param Integer $used - the toal amount used * @param Integer $needed - the amount needed for the upload * * @return void */ protected function s3_out_of_quota($total, $used, $needed) { $quota_transient_used = $this->quota_transient_used ? '(via transient)' : ''; $this->log("Error: Quota exhausted (used=$used, total=$total, needed=$needed) $quota_transient_used"); $this->log(sprintf(__('Error: you have insufficient storage quota available (%s) to upload this archive (%s) (%s).', 'updraftplus'), round(($total-$used)/1048576, 2).' MB', round($needed/1048576, 2).' MB', $quota_transient_used).' '.__('You can get more quota here', 'updraftplus').': '.$this->get_url('get_more_quota'), 'error'); // The transient wasn't intended for 100% precision when that matters (e.g. out-of-quota), so we delete it - a fresh calculation will take place on the next operation delete_transient('updraftvault_quota_numeric'); } /** * This function will setup and record the UpdraftVault quota text transient * * @param Integer $quota_used - the amount of quota used * @param Integer $quota - the total quota * * @return void */ protected function s3_record_quota_info($quota_used, $quota) { $ret = __('Current use:', 'updraftplus').' '.round($quota_used / 1048576, 1).' / '.round($quota / 1048576, 1).' MB'; $ret .= ' ('.sprintf('%.1f', 100*$quota_used / max($quota, 1)).' %)'; $ret .= ' - '.__('Get more quota', 'updraftplus').''; $ret_dashboard = $ret . ' - '.__('Refresh current status', 'updraftplus').''; set_transient('updraftvault_quota_text', $ret_dashboard, 86400*3); } public function s3_prune_retained_backups_finished() { $config = $this->get_config(); $quota = $config['quota']; $quota_used = $this->s3_get_quota_info('numeric', $config['quota']); $quota_transient_used = $this->quota_transient_used ? ' (via transient)' : ''; $ret = __('Current use:', 'updraftplus').' '.round($quota_used / 1048576, 1).' / '.round($quota / 1048576, 1).' MB'.$quota_transient_used; $ret .= ' ('.sprintf('%.1f', 100*$quota_used / max($quota, 1)).' %)'; $ret_plain = $ret . ' - '.__('Get more quota', 'updraftplus').': '.$this->get_url('get_more_quota'); $ret .= ' - '.__('Get more quota', 'updraftplus').''; do_action('updraft_report_remotestorage_extrainfo', 'updraftvault', $ret, $ret_plain); } /** * This function will return the S3 quota Information * * @param String|integer $format n numeric, returns an integer or false for an error (never returns an error) * @param integer $quota S3 quota information * @return String|integer */ protected function s3_get_quota_info($format = 'numeric', $quota = 0) { $ret = ''; $counted = 0; if ($quota > 0) { if (!empty($this->vault_in_config_print) && 'text' == $format) { // See card qwcuddk3 for more info on this; or MR#1175 $quota_via_transient = get_transient('updraftvault_quota_text'); if (is_string($quota_via_transient) && $quota_via_transient) return $quota_via_transient; } elseif ('numeric' == $format) { $quota_via_transient = get_transient('updraftvault_quota_numeric'); if (is_numeric($quota_via_transient) && $quota_via_transient && round($quota - $quota_via_transient, 1048576) >= 1024) { $this->quota_transient_used = true; if (!defined('UPDRAFTVAULT_COUNT_QUOTA_ANYWAY') || !UPDRAFTVAULT_COUNT_QUOTA_ANYWAY) { return $quota_via_transient; } } else { $this->quota_transient_used = false; } } try { $config = $this->get_config(); if (empty($config['quota_root'])) { // This next line is wrong: it lists the files *in this site's sub-folder*, rather than the whole Vault $current_files = $this->listfiles(''); } else { $current_files = $this->listfiles_with_path($config['quota_root'], '', true); } } catch (Exception $e) { $this->log("Listfiles failed during quota calculation: ".$e->getMessage()); $current_files = new WP_Error('listfiles_exception', $e->getMessage().' ('.get_class($e).')'); } $ret .= __('Current use:', 'updraftplus').' '; if (is_wp_error($current_files)) { $ret .= __('Error:', 'updraftplus').' '.$current_files->get_error_message().' ('.$current_files->get_error_code().')'; } elseif (!is_array($current_files)) { $ret .= __('Unknown', 'updraftplus'); } else { foreach ($current_files as $file) { $counted += $file['size']; } if ($this->quota_transient_used && defined('UPDRAFTVAULT_COUNT_QUOTA_ANYWAY') && UPDRAFTVAULT_COUNT_QUOTA_ANYWAY) { $this->log("UpdraftVault: UPDRAFTVAULT_COUNT_QUOTA_ANYWAY set. Current quota: {$counted}"); } else { set_transient('updraftvault_quota_numeric', $counted, 86400); } $ret .= round($counted / 1048576, 1); $ret .= ' / '.round($quota / 1048576, 1).' MB'; $ret .= ' ('.sprintf('%.1f', 100*$counted / $quota).' %)'; } } else { $ret .= '0'; } $ret .= $this->get_quota_recount_links(); if ('text' == $format) set_transient('updraftvault_quota_text', $ret, 86400*3); return ('text' == $format) ? $ret : $counted; } /** * Build the links to recount used vault quota and to purchase more quota * * @return String */ private function get_quota_recount_links() { return ' - '.__('Get more quota', 'updraftplus').' - '.__('Refresh current status', 'updraftplus').''; } public function ajax_vault_recountquota($echo_results = true) { // Force the opts to be refreshed $config = $this->get_config(); if (empty($config['accesskey']) && !empty($config['error_message'])) { if (!empty($config['error']) && is_array($config['error']) && 'fetch_credentials_error' == $config['error']['message']) { $opts = array('token' => 'unknown', 'email' => $config['email'], 'quota' => -1); $results = array('html' => $this->connected_html($opts, $config['error_message']), 'connected' => 1); } else { $results = array('html' => htmlspecialchars($config['error_message']), 'connected' => 0); } } else { // Now read the opts $opts = $this->get_options(); $results = array('html' => $this->connected_html($opts), 'connected' => 1); } if ($echo_results) { echo json_encode($results); } else { return $results; } } /** * This method also gets called directly, so don't add code that assumes that it's definitely an AJAX situation * * @param Boolean $echo_results check to see if the results need to be echoed * @return Array */ public function ajax_vault_disconnect($echo_results = true) { $vault_settings = $this->get_options(); $frontend_settings_keys = array_flip($this->filter_frontend_settings_keys()); foreach ((array) $frontend_settings_keys as $key => $val) { $frontend_settings_keys[$key] = ('last_config' === $key) ? array() : ''; } $this->set_options(array_merge($frontend_settings_keys, $this->get_default_options()), true); global $updraftplus; delete_transient('udvault_last_config'); delete_transient('updraftvault_quota_text'); $response = array('disconnected' => 1, 'html' => $this->connected_html()); if ($echo_results) { $updraftplus->close_browser_connection(json_encode($response)); } // If $_POST['reset_hash'] is set, then we were alerted by updraftplus.com - no need to notify back if (is_array($vault_settings) && isset($vault_settings['email']) && empty($_POST['reset_hash'])) { $post_body = array( 'e' => (string) $vault_settings['email'], 'sid' => $updraftplus->siteid(), 'su' => base64_encode(home_url()) ); if (!empty($vault_settings['token'])) $post_body['token'] = (string) $vault_settings['token']; // Use SSL to prevent snooping wp_remote_post($this->vault_mothership.'/?udm_action=vault_disconnect', array( 'timeout' => 20, 'body' => $post_body, )); } return $response; } /** * This is called from the UD admin object * * @param Boolean $echo_results A Flag to see if results need to be echoed or returned * @param Boolean|array $use_credentials Check if Vault needs to use credentials * @return Array */ public function ajax_vault_connect($echo_results = true, $use_credentials = false) { if (empty($use_credentials)) $use_credentials = $_REQUEST; $connect = $this->vault_connect($use_credentials['email'], $use_credentials['pass']); if (true === $connect) { $response = array('connected' => true, 'html' => $this->connected_html(false)); } else { $response = array( 'e' => __('An unknown error occurred when trying to connect to UpdraftPlus.Com', 'updraftplus') ); if (is_wp_error($connect)) { $response['e'] = $connect->get_error_message(); $response['code'] = $connect->get_error_code(); $response['data'] = serialize($connect->get_error_data()); } } if ($echo_results) { echo json_encode($response); } else { return $response; } } /** * Returns either true (in which case the Vault token will be stored), or false|WP_Error * * @param String $email Vault Email * @param String $password Vault Password * @return Boolean|WP_Error */ private function vault_connect($email, $password) { // Username and password set up? if (empty($email) || empty($password)) return new WP_Error('blank_details', __('You need to supply both an email address and a password', 'updraftplus')); global $updraftplus; $remote_post_array = apply_filters('updraftplus_vault_config_add_headers', array( 'timeout' => 20, 'body' => array( 'e' => $email, 'p' => base64_encode($password), 'sid' => $updraftplus->siteid(), 'su' => base64_encode(home_url()), 'v' => $updraftplus->version ) )); // Use SSL to prevent snooping $result = wp_remote_post($this->vault_mothership.'/?udm_action=vault_connect', $remote_post_array); if (is_wp_error($result) || false === $result) return $result; $response = json_decode(wp_remote_retrieve_body($result), true); if (!is_array($response) || !isset($response['mothership']) || !isset($response['loggedin'])) { if (preg_match('/has banned your IP address \(([\.:0-9a-f]+)\)/', $result['body'], $matches)) { return new WP_Error('banned_ip', sprintf(__("UpdraftPlus.com has responded with 'Access Denied'.", 'updraftplus').'
'.__("It appears that your web server's IP Address (%s) is blocked.", 'updraftplus').' '.__('This most likely means that you share a webserver with a hacked website that has been used in previous attacks.', 'updraftplus').'
'.__('To remove the block, please go here.', 'updraftplus').' ', $matches[1])); } else { return new WP_Error('unknown_response', sprintf(__('UpdraftPlus.Com returned a response which we could not understand (data: %s)', 'updraftplus'), wp_remote_retrieve_body($result))); } } switch ($response['loggedin']) { case 'connected': if (!empty($response['token'])) { // Store it $vault_settings = $this->get_options(); if (!is_array($vault_settings)) $vault_settings = array(); $vault_settings['email'] = $email; $vault_settings['token'] = (string) $response['token']; $vault_settings['quota'] = -1; unset($vault_settings['last_config']); if (isset($response['quota'])) $vault_settings['quota'] = $response['quota']; $this->set_options($vault_settings, true); if (!empty($response['config']) && is_array($response['config'])) { if (!empty($response['config']['accesskey'])) { $this->vault_set_config($response['config']); } elseif (!empty($response['config']['result']) && ('token_unknown' == $response['config']['result'] || 'site_duplicated' == $response['config']['result'])) { return new WP_Error($response['config']['result'], $this->vault_translate_remote_message($response['config']['message'], $response['config']['result'])); } // else... would also be an error condition, but not one known possible (and it will show a generic error anyway) } } elseif (isset($response['quota']) && !$response['quota']) { return new WP_Error('no_quota', __('You do not currently have any UpdraftVault quota', 'updraftplus')); } else { return new WP_Error('unknown_response', __('UpdraftPlus.Com returned a response, but we could not understand it', 'updraftplus')); } break; case 'authfailed': if (!empty($response['authproblem'])) { if ('invalidpassword' == $response['authproblem']) { $authfail_error = new WP_Error('authfailed', __('Your email address was valid, but your password was not recognised by UpdraftPlus.Com.', 'updraftplus').' '.__('If you have forgotten your password, then go here to change your password on updraftplus.com.', 'updraftplus').''); return $authfail_error; } elseif ('invaliduser' == $response['authproblem']) { return new WP_Error('authfailed', __('You entered an email address that was not recognised by UpdraftPlus.Com', 'updraftplus')); } } return new WP_Error('authfailed', __('Your email address and password were not recognised by UpdraftPlus.Com', 'updraftplus')); break; case 'iamfailed': if (!empty($response['authproblem'])) { if ('gettempcreds_exception2' == $response['authproblem'] || 'gettempcreds_exception2' == $response['authproblem']) { $authfail_error = new WP_Error('authfailed', __('An error occurred while fetching your Vault credentials.', 'updraftplus').' '.__('Please try again after a few minutes.')); } else { $authfail_error = new WP_Error('authfailed', __('An unknown error occurred while connecting to Vault.', 'updraftplus').' '.__('Please try again.')); } return $authfail_error; } return new WP_Error('unknown_response', __('UpdraftPlus.Com returned a response, but we could not understand it', 'updraftplus')); break; default: return new WP_Error('unknown_response', __('UpdraftPlus.Com returned a response, but we could not understand it', 'updraftplus')); break; } return true; } /** * Acts as a WordPress options filter * * @param Array $updraftvault - An array of UpdraftVault options * @return Array - the set of updated UpdraftVault settings */ public function options_filter($updraftvault) { // Get the current options (and possibly update them to the new format) $opts = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('updraftvault'); if (is_wp_error($opts)) { if ('recursion' !== $opts->get_error_code()) { $msg = "(".$opts->get_error_code()."): ".$opts->get_error_message(); $this->log($msg); error_log("UpdraftPlus: $msg"); } // The saved options had a problem; so, return the new ones return $updraftvault; } // If the input is either empty or not as expected, then return the current options if (!isset($updraftvault['settings']) || !is_array($updraftvault['settings']) || empty($updraftvault['settings'])) return $opts; foreach ($updraftvault['settings'] as $instance_id => $storage_options) { if (!isset($opts['settings'][$instance_id])) continue; foreach ($storage_options as $storage_key => $storage_value) { $opts['settings'][$instance_id][$storage_key] = $storage_value; } } return $opts; } /** * Set region that was recieved by previously performing location detection (i.e. getBucketLocation) and set the endpoint by concatenating the service hostname of the provider in use and the region * * @param Object $obj Storage object * @param String $region bucket location * @param String $bucket_name bucket name */ protected function set_region($obj, $region = '', $bucket_name = '') { $config = $this->get_config(); if (isset($config['provider']) && 'wasabi' == $config['provider']) { // https://knowledgebase.wasabi.com/hc/en-us/articles/360015106031-What-are-the-service-URLs-for-Wasabi-s-different-storage-regions $endpoint = ''; switch ($region) { case 'US': $endpoint = 's3.wasabisys.com'; $region = 'us-east-1'; break; case 'us-east-1': case 'us-east-2': case 'ap-southeast-1': case 'ap-southeast-2': case 'ap-northeast-1': case 'ap-northeast-2': case 'eu-west-1': case 'eu-west-2': case 'eu-central-1': case 'eu-central-2': case 'ca-central-1': case 'us-west-1': case 'us-central-1': $endpoint = 's3.'.$region.'.wasabisys.com'; break; default: break; } if ($endpoint) { $this->log("Set region (".get_class($obj)."): $region"); $obj->setRegion($region); if (!is_a($obj, 'UpdraftPlus_S3_Compat')) { $this->log("Set endpoint: $endpoint"); $obj->setEndpoint($endpoint); } } } else { // the default AWS provider is in use, so we set region using mechanism defined for the AWS in the parent class parent::set_region($obj, $region, $bucket_name); } } /** * Get an S3 object by specifying the global endpoint of the provider being used * * @param String $key S3 Key * @param String $secret S3 secret * @param Boolean $useservercerts User server certificates * @param Boolean $disableverify Check if disableverify is enabled * @param Boolean $nossl Check if there is SSL or not * @param Null|String $endpoint S3 endpoint to use * @param Boolean $sse A flag to use server side encryption * @param String $session_token The session token returned by AWS for temporary credentials access * * @return Object|WP_Error */ public function getS3($key, $secret, $useservercerts, $disableverify, $nossl, $endpoint = null, $sse = false, $session_token = null) { $config = $this->get_config(); if (isset($config['provider']) && 'wasabi' == $config['provider']) { // UpdraftPlus_BackupModule_s3 is abstract and by default linked to S3 AWS provider, the same with Vault which is the descendant class of UpdraftPlus_BackupModule_s3 which also uses S3 AWS by default // but since Vault now supports Wasabi provider and Wasabi is a provider that also has regions, we override and choose not to pass the "s3.wasabisys.com" endpoint directly to every method that calls getS3() in the UpdraftPlus_BackupModule_s3 class to prevent unnecessary checks being done in the abstract layer return parent::getS3($key, $secret, $useservercerts, $disableverify, $nossl, 's3.wasabisys.com', $sse, $session_token); } else { return parent::getS3($key, $secret, $useservercerts, $disableverify, $nossl, $endpoint, $sse, $session_token); } } } methods/s3.php000064400000201552147400355670007265 0ustar00file = $file; $this->line = $line; } } if (!class_exists('UpdraftPlus_BackupModule')) updraft_try_include_file('methods/backup-module.php', 'require_once'); class UpdraftPlus_BackupModule_s3 extends UpdraftPlus_BackupModule { // This variable can/should be over-ridden in child classes as appropriate protected $use_v4 = true; // This variable can/should be over-ridden in child classes as appropriate protected $provider_can_use_aws_sdk = true; // This variable can/should be over-ridden in child classes as appropriate protected $provider_has_regions = true; protected $quota_used = null; protected $s3_exception; protected $download_chunk_size = 10485760; protected $current_upload_entity = 'files'; private $got_with; /** * Retrieve specific options for this remote storage module * * @param Boolean $force_refresh - if set, and if relevant, don't use cached credentials, but get them afresh * * @return Array - an array of options */ protected function get_config($force_refresh = false) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $force_refresh unused $opts = $this->get_options(); $opts['whoweare'] = 'S3'; $opts['whoweare_long'] = 'Amazon S3'; $opts['key'] = 's3'; return $opts; } /** * This method overrides the parent method and lists the supported features of this remote storage option. * * @return Array - an array of supported features (any features not mentioned are asuumed to not be supported) */ public function get_supported_features() { // This options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates', 'multi_storage', 'conditional_logic'); } /** * Retrieve default options for this remote storage module. * * @return Array - an array of options */ public function get_default_options() { return array( 'accesskey' => '', 'secretkey' => '', 'path' => '', 'rrs' => '', 'server_side_encryption' => '', ); } /** * Return the name of the class that should be used to interface with the storage provider, and make sure that it has been include()-ed. * * @return String - e.g. UpdraftPlus_S3, UpdraftPlus_S3_Compat */ protected function indicate_s3_class() { // N.B. : The classes must have different names, as if multiple remote storage options are chosen, then we could theoretically need both (if both Amazon and a compatible-S3 provider are used) // UpdraftPlus_S3 (the internal, non-AWS toolkit) is used when not accessing Amazon Web Services, so set that as the default $class_to_use = 'UpdraftPlus_S3'; // If on a PHP version supported by the AWS SDK, and if the constant forcing the internal toolkit is not set, then consider using it. The 3.x branch of the AWS SDK requires PHP 5.5+ // The "old" in the define is a legacy reference to a time before v4 signatures were in that library. if (version_compare(PHP_VERSION, '5.5', '>=') && $this->provider_can_use_aws_sdk && (!defined('UPDRAFTPLUS_S3_OLDLIB') || !UPDRAFTPLUS_S3_OLDLIB)) { // Switch to AWS SDK increasingly less over time if (!function_exists('curl_init') || (defined('UPDRAFTPLUS_FORCE_S3_AWS_SDK') && UPDRAFTPLUS_FORCE_S3_AWS_SDK) || apply_filters('updraftplus_indicate_s3_class_prefer_aws_sdk', false)) { $class_to_use = 'UpdraftPlus_S3_Compat'; } } if (!class_exists($class_to_use)) { if ('UpdraftPlus_S3_Compat' == $class_to_use) { updraft_try_include_file('includes/S3compat.php', 'include_once'); } else { updraft_try_include_file('includes/S3.php', 'include_once'); } } return $class_to_use; } /** * Get an S3 object, after setting our options. Public because called externally from UpdraftPlus_Addon_S3_Enhanced * * @param String $key S3 Key * @param String $secret S3 secret * @param Boolean $useservercerts User server certificates * @param Boolean $disableverify Check if disableverify is enabled * @param Boolean $nossl Check if there is SSL or not * @param Null|String $endpoint S3 endpoint to use * @param Boolean $sse A flag to use server side encryption * @param String $session_token The session token returned by AWS for temporary credentials access * * @return Object|WP_Error */ public function getS3($key, $secret, $useservercerts, $disableverify, $nossl, $endpoint = null, $sse = false, $session_token = null) { $storage = $this->get_storage(); if (!empty($storage) && !is_wp_error($storage)) return $storage; if (is_string($key)) $key = trim($key); if (is_string($secret)) $secret = trim($secret); // Ignore the 'nossl' setting if the endpoint is DigitalOcean Spaces (https://developers.digitalocean.com/documentation/v2/) if (is_string($endpoint) && preg_match('/\.digitaloceanspaces\.com$/i', $endpoint)) { $nossl = apply_filters('updraftplus_gets3_nossl', false, $endpoint, $nossl); } // Saved in case the object needs recreating for the corner-case where there is no permission to look up the bucket location $this->got_with = array( 'key' => $key, 'secret' => $secret, 'useservercerts' => $useservercerts, 'disableverify' => $disableverify, 'nossl' => $nossl, 'server_side_encryption' => $sse, 'session_token' => $session_token ); if (is_wp_error($key)) return $key; if ('' == $key || '' == $secret) { return new WP_Error('no_settings', get_class($this).': '.__('No settings were found - please go to the Settings tab and check your settings', 'updraftplus')); } $use_s3_class = $this->indicate_s3_class(); if (!class_exists('WP_HTTP_Proxy')) include_once(ABSPATH.WPINC.'/class-http.php'); $proxy = new WP_HTTP_Proxy(); $use_ssl = true; $ssl_ca = false; try { $storage = new $use_s3_class($key, $secret, $use_ssl, $ssl_ca, $endpoint, $session_token); // Comment before 1.22.10 - "the use of calling use_dns_bucket_name method here is to switch the storage from using path-style to dns style." But at this stage, we don't have a bucket name, so this shouldn't be here. // $this->maybe_use_dns_bucket_name($storage, ...); $signature_version = empty($this->use_v4) ? 'v2' : 'v4'; $signature_version = apply_filters('updraftplus_s3_signature_version', $signature_version, $this->use_v4, $this); if (!is_a($storage, 'UpdraftPlus_S3_Compat')) { $storage->setSignatureVersion($signature_version); } } catch (Exception $e) { // Catch a specific PHP engine bug - see HS#6364 if ('UpdraftPlus_S3_Compat' == $use_s3_class && is_a($e, 'InvalidArgumentException') && false !== strpos('Invalid signature type: s3', $e->getMessage())) { updraft_try_include_file('includes/S3.php', 'include_once'); $use_s3_class = 'UpdraftPlus_S3'; $try_again = true; } else { $this->log(__('Error: Failed to initialise', 'updraftplus').": ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); $this->log(__('Error: Failed to initialise', 'updraftplus')); return new WP_Error('s3_init_failed', sprintf(__('%s Error: Failed to initialise', 'updraftplus'), 'S3').": ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); } } if (!empty($try_again)) { try { $storage = new $use_s3_class($key, $secret, $use_ssl, $ssl_ca, $endpoint, $session_token); // Comment before 1.22.10 - "the use of calling use_dns_bucket_name method here is to switch the storage from using path-style to dns style." But at this stage, we don't have a bucket name, so this shouldn't be here. // $this->maybe_use_dns_bucket_name($storage, ...); } catch (Exception $e) { $this->log(__('Error: Failed to initialise', 'updraftplus').": ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); $this->log(__('Error: Failed to initialise', 'updraftplus')); return new WP_Error('s3_init_failed', sprintf(__('%s Error: Failed to initialise', 'updraftplus'), 'S3').": ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); } $this->log("Hit a PHP engine bug - had to switch to the internal S3 library"); } if ($proxy->is_enabled()) { // WP_HTTP_Proxy returns empty strings where we want nulls $user = $proxy->username(); if (empty($user)) { $user = null; $pass = null; } else { $pass = $proxy->password(); if (empty($pass)) $pass = null; } $port = (int) $proxy->port(); if (empty($port)) $port = 8080; $storage->setProxy($proxy->host(), $user, $pass, CURLPROXY_HTTP, $port); } if ($this->use_sse() || $sse) $storage->setServerSideEncryption('AES256'); $this->set_storage($storage); return $storage; } /** * Given an S3 object, possibly set the region on it * * @param Object $obj - like UpdraftPlus_S3 * @param String $region * @param String $bucket_name */ protected function set_region($obj, $region, $bucket_name = '') {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $bucket_name // AWS Regions: https://docs.aws.amazon.com/general/latest/gr/rande.html switch ($region) { case 'EU': case 'eu-west-1': $endpoint = 's3-eu-west-1.amazonaws.com'; break; case 'us-east-1': $endpoint = 's3.amazonaws.com'; break; case 'us-west-1': case 'us-east-2': case 'us-west-2': $endpoint = 's3-'.$region.'.amazonaws.com'; break; case 'sa-east-1': case 'us-gov-west-1': case 'ca-central-1': case 'ap-northeast-1': case 'ap-northeast-2': case 'ap-southeast-1': case 'ap-southeast-2': case 'eu-central-1': case 'eu-south-1': case 'eu-north-1': case 'eu-west-2': case 'eu-west-3': case 'ap-south-1': case 'me-south-1': case 'af-south-1': case 'ap-east-1': case 'ap-northeast-3': $endpoint = 's3.'.$region.'.amazonaws.com'; break; case 'cn-north-1': case 'cn-northwest-1': $endpoint = 's3.'.$region.'.amazonaws.com.cn'; break; default: break; } if (isset($endpoint)) { $this->log("Set region (".get_class($obj)."): $region"); $obj->setRegion($region); if (!is_a($obj, 'UpdraftPlus_S3_Compat')) { $this->log("Set endpoint: $endpoint"); $obj->setEndpoint($endpoint); } } } /** * Whether to always use server-side encryption. * * This can be over-ridden in child classes of course... and the method here is both the default and the value used for AWS * * @return Boolean */ protected function use_sse() { return false; } /** * Perform the upload of backup archives * * @param Array $backup_array - a list of file names (basenames) (within UD's directory) to be uploaded * * @return Mixed - return (boolean)false to indicate failure, or anything else to have it passed back at the delete stage (most useful for a storage object). */ public function backup($backup_array) { global $updraftplus; $config = $this->get_config(); if (empty($config['accesskey']) && !empty($config['error_message'])) { $err = new WP_Error('no_settings', $config['error_message']); return $updraftplus->log_wp_error($err, false, true); } if (empty($config['sessiontoken'])) $config['sessiontoken'] = null; $storage = $this->getS3( $config['accesskey'], $config['secretkey'], UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_nossl'), null, !empty($config['server_side_encryption']), $config['sessiontoken'] ); if (is_wp_error($storage)) return $updraftplus->log_wp_error($storage, false, true); $whoweare = $config['whoweare']; $whoweare_key = $config['key']; $whoweare_keys = substr($whoweare_key, 0, 3); if (is_a($storage, 'UpdraftPlus_S3_Compat') && !class_exists('XMLWriter')) { $this->log('The required XMLWriter PHP module is not installed'); $this->log(sprintf(__('The required %s PHP module is not installed - ask your web hosting company to enable it', 'updraftplus'), 'XMLWriter'), 'error'); return false; } $bucket_name = untrailingslashit($config['path']); $bucket_path = ""; $orig_bucket_name = $bucket_name; if (preg_match("#^([^/]+)/(.*)$#", $bucket_name, $bmatches)) { $bucket_name = $bmatches[1]; $bucket_path = $bmatches[2]."/"; } list($storage, $config, $bucket_exists, $region) = $this->get_bucket_access($storage, $config, $bucket_name, $bucket_path); // See if we can detect the region (which implies the bucket exists and is ours), or if not create it if ($bucket_exists) { $updraft_dir = trailingslashit($updraftplus->backups_dir_location()); foreach ($backup_array as $key => $file) { if ('db' != substr($key, 0, 2)) { $this->current_upload_entity = 'files'; } else { $this->current_upload_entity = 'databases'; } // We upload in 5MB chunks to allow more efficient resuming and hence uploading of larger files // N.B.: 5MB is Amazon's minimum. So don't go lower or you'll break it. $fullpath = $updraft_dir.$file; $orig_file_size = filesize($fullpath); if (!file_exists($fullpath)) { $this->log("File not found: $file: $whoweare: "); $this->log("$file: ".sprintf(__('Error: %s', 'updraftplus'), __('File not found', 'updraftplus')), 'error'); continue; } if (isset($config['quota']) && method_exists($this, 's3_get_quota_info')) { $quota_used = $this->s3_get_quota_info('numeric', $config['quota']); if (false === $quota_used) { $this->log("Quota usage: count failed"); } else { $this->quota_used = $quota_used; if ($config['quota'] - $this->quota_used < $orig_file_size) { if (method_exists($this, 's3_out_of_quota')) call_user_func(array($this, 's3_out_of_quota'), $config['quota'], $this->quota_used, $orig_file_size); continue; } else { $quota_transient_used = $this->quota_transient_used ? ' (via transient)' : ''; // We don't need to log this always - the s3_out_of_quota method will do its own logging $this->log("Quota is available: used=$quota_used (".round($quota_used/1048576, 1)." MB), total=".$config['quota']." (".round($config['quota']/1048576, 1)." MB), needed=$orig_file_size (".round($orig_file_size/1048576, 1)." MB)".$quota_transient_used); } } } $chunks = floor($orig_file_size / 5242880); // There will be a remnant unless the file size was exactly on a 5MB boundary if ($orig_file_size % 5242880 > 0) $chunks++; $hash = md5($file); $extra = $this->provider_has_regions ? " ($region)" : ''; $this->log("upload{$extra}: $file (chunks: $chunks) -> $whoweare_key://$bucket_name/$bucket_path$file"); $filepath = $bucket_path.$file; // This is extra code for the 1-chunk case, but less overhead (no bothering with job data) if ($chunks < 2) { $storage->setExceptions(true); try { if (!$storage->putObjectFile($fullpath, $bucket_name, $filepath, 'private', array(), array(), apply_filters('updraft_'.$whoweare_key.'_storageclass', 'STANDARD', $storage, $config))) { $this->log("regular upload: failed ($fullpath)"); $this->log("$file: ".sprintf(__('%s Error: Failed to upload', 'updraftplus'), $whoweare), 'error'); } else { $this->quota_used += $orig_file_size; if (method_exists($this, 's3_record_quota_info')) $this->s3_record_quota_info($this->quota_used, $config['quota']); $extra_log = ''; if (method_exists($this, 's3_get_quota_info')) { $extra_log = ', quota used now: '.round($this->quota_used / 1048576, 1).' MB'; } $this->log("regular upload: success$extra_log"); $updraftplus->uploaded_file($file); } } catch (Exception $e) { $this->log("$file: ".sprintf(__('%s Error: Failed to upload', 'updraftplus'), $whoweare).": ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile()); $this->log("$file: ".sprintf(__('%s Error: Failed to upload', 'updraftplus'), $whoweare), 'error'); } $storage->setExceptions(false); } else { // Retrieve the upload ID $upload_id = $this->jobdata_get($hash.'_uid', null, "upd_{$whoweare_keys}_{$hash}_uid"); if (empty($upload_id)) { $storage->setExceptions(true); try { $upload_id = $storage->initiateMultipartUpload($bucket_name, $filepath, 'private', array(), array(), apply_filters('updraft_'.$whoweare_key.'_storageclass', 'STANDARD', $storage, $config)); } catch (Exception $e) { $this->log("exception (".get_class($e).") whilst trying initiateMultipartUpload: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); if (false !== strpos($e->getMessage(), '[ExpiredToken]')) { $this->log("Re-scheduling resumption and aborting so that new token can be requested upon resumption"); UpdraftPlus_Job_Scheduler::reschedule(50); UpdraftPlus_Job_Scheduler::record_still_alive(); die; } $upload_id = false; } $storage->setExceptions(false); if (empty($upload_id)) { $this->log("upload: failed: could not get uploadId for multipart upload ($filepath)"); $this->log(sprintf(__("%s upload: getting uploadID for multipart upload failed - see log file for more details", 'updraftplus'), $whoweare), 'error'); continue; } else { $this->log("chunked upload: got multipart ID: $upload_id"); $this->jobdata_set($hash.'_uid', $upload_id); } } else { $this->log("chunked upload: retrieved previously obtained multipart ID: $upload_id"); } $successes = 0; $etags = array(); for ($i = 1; $i <= $chunks; $i++) { $etag = $this->jobdata_get($hash.'_etag_'.$i, null, "ud_{$whoweare_keys}_{$hash}_e$i"); if (null !== $etag && strlen($etag) > 0) { $this->log("chunk $i: was already completed (etag: $etag)"); $successes++; array_push($etags, $etag); } else { // Sanity check: we've seen a case where an overlap was truncating the file from underneath us if (filesize($fullpath) < $orig_file_size) { $this->log("error: $key: chunk $i: file was truncated underneath us (orig_size=$orig_file_size, now_size=".filesize($fullpath).")"); $this->log(sprintf(__('error: file %s was shortened unexpectedly', 'updraftplus'), $fullpath), 'error'); } $storage->setExceptions(true); try { $etag = $storage->uploadPart($bucket_name, $filepath, $upload_id, $fullpath, $i); } catch (Exception $e) { $this->log("exception (".get_class($e).") during uploadPart: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); if (false !== strpos($e->getMessage(), '[ExpiredToken]')) { $this->log("Re-scheduling resumption and aborting so that new token can be requested upon resumption"); UpdraftPlus_Job_Scheduler::reschedule(50); UpdraftPlus_Job_Scheduler::record_still_alive(); die; } $etag = false; } $storage->setExceptions(false); if (false !== $etag && is_string($etag)) { $updraftplus->record_uploaded_chunk(round(100*$i/$chunks, 1), "$i, $etag", $fullpath); array_push($etags, $etag); $this->jobdata_set($hash.'_etag_'.$i, $etag); $successes++; } else { $this->log("chunk $i: upload failed"); $this->log(sprintf(__("chunk %s: upload failed", 'updraftplus'), $i), 'error'); } } } if ($successes >= $chunks) { $this->log("upload: all chunks uploaded; will now instruct $whoweare to re-assemble"); $storage->setExceptions(true); try { if ($storage->completeMultipartUpload($bucket_name, $filepath, $upload_id, $etags)) { $this->log("upload ($key): re-assembly succeeded"); $updraftplus->uploaded_file($file); $this->quota_used += $orig_file_size; if (method_exists($this, 's3_record_quota_info')) $this->s3_record_quota_info($this->quota_used, $config['quota']); } else { $this->log("upload ($key): re-assembly failed ($file)"); $this->log(sprintf(__('upload (%s): re-assembly failed (see log for more details)', 'updraftplus'), $key), 'error'); } } catch (Exception $e) { $this->log("re-assembly error ($key): ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); $this->log($e->getMessage().": ".sprintf(__('%s re-assembly error (%s): (see log file for more)', 'updraftplus'), $whoweare, $e->getMessage()), 'error'); } // Remember to unset, as the deletion code later reuses the object $storage->setExceptions(false); } else { $this->log("upload: upload was not completely successful on this run"); } } } // Allows counting of the final quota accurately if (method_exists($this, 's3_prune_retained_backups_finished')) { add_action('updraftplus_prune_retained_backups_finished', array($this, 's3_prune_retained_backups_finished')); } return array('storage' => $storage, 's3_orig_bucket_name' => $orig_bucket_name); } else { $extra_text = empty($this->s3_exception) ? '' : ' '.$this->s3_exception->getMessage().' (line: '.$this->s3_exception->getLine().', file: '.$this->s3_exception->getFile().')'; $extra_text_short = empty($this->s3_exception) ? '' : ' '.$this->s3_exception->getMessage(); $this->log("Error: Failed to access bucket $bucket_name.".$extra_text); $this->log(sprintf(__('Error: Failed to access bucket %s.', 'updraftplus'), $bucket_name).' '.__('Check your permissions and credentials.', 'updraftplus').' (1)'.$extra_text_short, 'error'); } } /** * This function lists the files found in the configured storage location * * @param String $match - a substring to require (tested via strpos() !== false) * * @return Array - each file is represented by an array with entries 'name' and (optional) 'size' */ public function listfiles($match = 'backup_') { $config = $this->get_config(); return $this->listfiles_with_path($config['path'], $match); } protected function possibly_wait_for_bucket_or_user($config, $storage) { $bucket_name = untrailingslashit($config['path']); if (preg_match("#^([^/]+)/(.*)$#", $bucket_name, $bmatches)) { $bucket_name = $bmatches[1]; } if (!empty($config['is_new_bucket'])) { if (method_exists($storage, 'waitForBucket')) { $storage->setExceptions(true); try { $storage->waitForBucket($bucket_name); } catch (Exception $e) { // This seems to often happen - we get a 403 on a newly created user/bucket pair, even though the bucket was already waited for by the creator // We could just sleep() - a sleep(5) seems to do it. However, given that it's a new bucket, that's unnecessary. $storage->setExceptions(false); return array(); } $storage->setExceptions(false); } else { sleep(4); } } elseif (!empty($config['is_new_user'])) { // A crude waiter, because the AWS toolkit does not have one for IAM propagation - basically, loop around a few times whilst the access attempt still fails $attempt_flag = 0; while ($attempt_flag < 5) { $attempt_flag++; if (@$storage->getBucketLocation($bucket_name)) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. $attempt_flag = 100; } else { if (empty($config['sessiontoken'])) $config['sessiontoken'] = null; sleep($attempt_flag*1.5 + 1); $sse = !empty($config['server_side_encryption']); // Get the bucket object again... because, for some reason, the AWS PHP SDK (at least on the current version we're using, March 2016) calculates an incorrect signature on subsequent attempts $this->set_storage(null); $storage = $this->getS3( $config['accesskey'], $config['secretkey'], UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_nossl'), null, $sse, $config['sessiontoken'] ); if (is_wp_error($storage)) return $storage; if (!is_a($storage, 'UpdraftPlus_S3') && !is_a($storage, 'UpdraftPlus_S3_Compat')) return new WP_Error('no_s3object', 'Failed to gain access to '.$config['whoweare']); } } } return $storage; } /** * The purpose of splitting this into a separate method, is to also allow listing with a different path * * @param String $path Path to check * @param String $match The match for idetifying the bucket name * @param Boolean $include_subfolders Check if list file need to include sub folders * @return Array */ public function listfiles_with_path($path, $match = 'backup_', $include_subfolders = false) { $bucket_name = untrailingslashit($path); $bucket_path = ''; if (preg_match("#^([^/]+)/(.*)$#", $bucket_name, $bmatches)) { $bucket_name = $bmatches[1]; $bucket_path = trailingslashit($bmatches[2]); } $config = $this->get_config(); $sse = empty($config['server_side_encryption']) ? false : true; if (empty($config['sessiontoken'])) $config['sessiontoken'] = null; $storage = $this->getS3( $config['accesskey'], $config['secretkey'], UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_nossl'), null, $sse, $config['sessiontoken'] ); if (is_wp_error($storage)) return $storage; if (!is_a($storage, 'UpdraftPlus_S3') && !is_a($storage, 'UpdraftPlus_S3_Compat')) return new WP_Error('no_s3object', 'Failed to gain access to '.$config['whoweare']); $storage = $this->possibly_wait_for_bucket_or_user($config, $storage); if (!is_a($storage, 'UpdraftPlus_S3') && !is_a($storage, 'UpdraftPlus_S3_Compat')) return $storage; list($storage, $config, $bucket_exists, $region) = $this->get_bucket_access($storage, $config, $bucket_name, $bucket_path);// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- The value is passed back from get_bucket_access $bucket = $storage->getBucket($bucket_name, $bucket_path.$match); if (!is_array($bucket)) return array(); $results = array(); foreach ($bucket as $key => $object) { if (!is_array($object) || empty($object['name'])) continue; if (isset($object['size']) && 0 == $object['size']) continue; if ($bucket_path) { if (0 !== strpos($object['name'], $bucket_path)) continue; $object['name'] = substr($object['name'], strlen($bucket_path)); } else { if (!$include_subfolders && false !== strpos($object['name'], '/')) continue; } $result = array('name' => $object['name']); if (isset($object['size'])) $result['size'] = (int) $object['size']; unset($bucket[$key]); $results[] = $result; } return $results; } /** * Delete a single file from the service using S3 * * @param Array|String $files - array of file names to delete * @param Array $s3arr - s3 service object and container details * @param Array $sizeinfo - size of files to delete, used for quota calculation * @return Boolean|String - either a boolean true or an error code string */ public function delete($files, $s3arr = false, $sizeinfo = array()) { global $updraftplus; if (is_string($files)) $files = array($files); $config = $this->get_config(); $sse = empty($config['server_side_encryption']) ? false : true; if (empty($config['sessiontoken'])) $config['sessiontoken'] = null; if ($s3arr) { $storage = $s3arr['storage']; $orig_bucket_name = $s3arr['s3_orig_bucket_name']; } else { $storage = $this->getS3( $config['accesskey'], $config['secretkey'], UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_nossl'), null, $sse, $config['sessiontoken'] ); if (is_wp_error($storage)) return $updraftplus->log_wp_error($storage, false, false); $bucket_name = untrailingslashit($config['path']); $orig_bucket_name = $bucket_name; if (preg_match("#^([^/]+)/(.*)$#", $bucket_name, $bmatches)) { $bucket_name = $bmatches[1]; $bucket_path = $bmatches[2]."/"; } else { $bucket_path = ''; } list($storage, $config, $bucket_exists, $region) = $this->get_bucket_access($storage, $config, $bucket_name, $bucket_path);// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- The value is passed back from get_bucket_access if (!$bucket_exists) { $this->log("Error: Failed to access bucket $bucket_name. Check your permissions and credentials."); $this->log(sprintf(__('Error: Failed to access bucket %s.', 'updraftplus'), $bucket_name).' '.__('Check your permissions and credentials.', 'updraftplus'), 'error'); return 'container_access_error'; } } $ret = true; foreach ($files as $i => $file) { if (preg_match("#^([^/]+)/(.*)$#", $orig_bucket_name, $bmatches)) { $s3_bucket=$bmatches[1]; $s3_uri = $bmatches[2]."/".$file; } else { $s3_bucket = $orig_bucket_name; $s3_uri = $file; } $this->log("Delete remote: bucket=$s3_bucket, URI=$s3_uri"); $storage->setExceptions(true); try { if (!$storage->deleteObject($s3_bucket, $s3_uri)) { $this->log("Delete failed"); } elseif (null !== $this->quota_used && !empty($sizeinfo[$i]) && isset($config['quota']) && method_exists($this, 's3_record_quota_info')) { $this->quota_used -= $sizeinfo[$i]; $this->s3_record_quota_info($this->quota_used, $config['quota']); } } catch (Exception $e) { $this->log("delete failed (".get_class($e)."): ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); $storage->setExceptions(false); $ret = 'file_delete_error'; } $storage->setExceptions(false); } return $ret; } /** * Download a file from the remote storage * * @param string $file The specific file to be downloaded * @return void */ public function download($file) { global $updraftplus; $config = $this->get_config(); $sse = empty($config['server_side_encryption']) ? false : true; if (empty($config['sessiontoken'])) $config['sessiontoken'] = null; $storage = $this->getS3( $config['accesskey'], $config['secretkey'], UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_nossl'), null, $sse, $config['sessiontoken'] ); if (is_wp_error($storage)) return $updraftplus->log_wp_error($storage, false, true); $bucket_name = untrailingslashit($config['path']); $bucket_path = ""; if (preg_match("#^([^/]+)/(.*)$#", $bucket_name, $bmatches)) { $bucket_name = $bmatches[1]; $bucket_path = $bmatches[2]."/"; } list($storage, $config, $bucket_exists, $region) = $this->get_bucket_access($storage, $config, $bucket_name, $bucket_path);// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- The value is passed back from get_bucket_access if ($bucket_exists) { $file_info = $this->listfiles($file); if (is_array($file_info)) { foreach ($file_info as $finfo) { if ($finfo['name'] == $file) { $file_size = $finfo['size']; break; } } } if (!isset($file_size)) { $this->log("Error: Failed to download $file. Check your permissions and credentials. Retrieved data: ".serialize($file_info)); $this->log(sprintf(__('Error: Failed to download %s.', 'updraftplus'), $file).' '.__('Check your permissions and credentials.', 'updraftplus'), 'error'); return false; } return $updraftplus->chunked_download($file, $this, $file_size, true, $storage, $this->download_chunk_size); /* // The code before we switched to chunked downloads. Unfortunately the version of the AWS SDK we have to use for PHP 5.3 compatibility doesn't have callbacks, which makes it possible for multiple downloaders to start at once and over-write each-other. $whoweare = $config['whoweare']; $fullpath = $updraftplus->backups_dir_location().'/'.$file; if (!$storage->getObject($bucket_name, $bucket_path.$file, $fullpath, true)) { $updraftplus->log("$whoweare Error: Failed to download $file. Check your permissions and credentials."); $updraftplus->log(sprintf(__('%s Error: Failed to download %s.', 'updraftplus'),$whoweare, $file).' '.__(' Check your permissions and credentials.','updraftplus'), 'error'); return false; } */ } else { $this->log("Error: Failed to access bucket $bucket_name. Check your permissions and credentials."); $this->log(sprintf(__('Error: Failed to access bucket %s.', 'updraftplus'), $bucket_name).' '.__('Check your permissions and credentials.', 'updraftplus'), 'error'); return false; } return true; } public function chunked_download($file, $headers, $storage, $fh) { $resume = false; $config = $this->get_config(); $bucket_name = untrailingslashit($config['path']); $bucket_path = ""; if (preg_match("#^([^/]+)/(.*)$#", $bucket_name, $bmatches)) { $bucket_name = $bmatches[1]; $bucket_path = $bmatches[2]."/"; } if (is_array($headers) && !empty($headers['Range']) && preg_match('/bytes=(\d+)-(\d+)$/', $headers['Range'], $matches)) { $resume = $headers['Range']; } if (!$storage->getObject($bucket_name, $bucket_path.$file, $fh, $resume)) { $this->log("Error: Failed to download $file. Check your permissions and credentials."); $this->log(sprintf(__('Error: Failed to download %s.', 'updraftplus'), $file).' '.__('Check your permissions and credentials.', 'updraftplus'), 'error'); return false; } // This instructs the caller to look at the file pointer's position (i.e. ftell($fh)) to work out how many bytes were written. return true; } /** * Get the pre configuration template */ public function get_pre_configuration_template() { ?> Amazon Web Services
{{{xmlwriter_existence_label}}} {{{simplexmlelement_existence_label}}} {{{curl_existence_label}}}

{{{console_url}}} {{{ssl_certificates_errors_link_text}}} {{{faqs}}}

get_css_classes(false); ?> '; ?> indicate_s3_class(); if ('UpdraftPlus_S3_Compat' == $use_s3_class && !class_exists('XMLWriter')) { $updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '. sprintf(__("Your web server's PHP installation does not included a required module (%s).", 'updraftplus'), 'XMLWriter').' '.__("Please contact your web hosting provider's support and ask for them to enable it.", 'updraftplus')); } if (!class_exists('SimpleXMLElement')) { $updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__("Your web server's PHP installation does not included a required module (%s).", 'updraftplus'), 'SimpleXMLElement').' '.__("Please contact your web hosting provider's support.", 'updraftplus').' '.sprintf(__("UpdraftPlus's %s module requires %s.", 'updraftplus'), $whoweare_long, 'SimpleXMLElement').' '.__('Please do not file any support requests; there is no alternative.', 'updraftplus'), $key); } $updraftplus_admin->curl_check($whoweare_long, true, $key); ?>

%s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage.', 'updraftplus'), $console_url, $console_descrip, $whoweare_long).' '.__('This bucket will be created for you if it does not already exist.', 'updraftplus');?> " target="_blank"> " target="_blank">

{{#ifeq "s3" method_id}} {{#> s3_additional_configuration_top}} {{/s3_additional_configuration_top}} {{else}} {{#> s3generic_additional_configuration_top}} {{/s3generic_additional_configuration_top}} {{/ifeq}} {{input_access_key_label}}: {{input_secret_key_label}}: {{input_location_label}}: {{method_id}}:// {{#ifeq "s3" method_id}} {{#> s3_additional_configuration_bottom}} {{/s3_additional_configuration_bottom}} {{else}} {{#> s3generic_additional_configuration_bottom}} {{/s3generic_additional_configuration_bottom}} {{/ifeq}} {{{get_template_test_button_html method_display_name}}} get_id().'_partial_templates', array()), parent::get_partial_templates()); } /** * Modifies handerbar template options * * @param array $opts * @return Array - Modified handerbar template options */ public function transform_options_for_template($opts) { return apply_filters('updraftplus_options_s3_options', $opts); } /** * Get configuration template engine for remote method which is S3 Compatible * DEVELOPER NOTE: Please don't use/call this method anymore as it was used by Amazon S3 and S3-Compatible (Generic) storage, and it's consider to be removed in future versions. Once Amazon S3 and S3-Compatible templates are CSP-compliant, this should be removed and should be placed in the class child instead of the base class. * * @param String $key Remote storage method key which is unique * @param String $whoweare_short Remote storage method short name which is prefix of field label generally * @param String $whoweare_long Remote storage method long name which is generally used in instructions * @param String $console_descrip Remote storage method console description. It is used console link text like "from your %s console" * @param String $console_url Remote storage method console url. It is used for get credential instruction * @param String $img_html Image html tag * * @return String $template_str handlebars template string */ public function get_configuration_template_engine($key, $whoweare_short, $whoweare_long, $console_descrip, $console_url, $img_html = '') {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $whoweare_long, $console_descrip, $console_url, $img_html unused global $updraftplus; ob_start(); $classes = $this->get_css_classes(); $template_str = ''; if ('s3' == $key && version_compare(PHP_VERSION, '5.3.3', '>=') && class_exists('UpdraftPlus_Addon_S3_Enhanced')) { ?> get_url('premium').'" target="_blank">'.__('To create a new IAM sub-user and access key that has access only to this bucket, upgrade to Premium.', 'updraftplus').''); ?> : output_settings_field_name_and_id('accesskey');?> value="{{accesskey}}" /> : output_settings_field_name_and_id('secretkey');?> value="{{secretkey}}" /> : ://output_settings_field_name_and_id('path');?> value="{{path}}" /> get_partial_configuration_template_for_endpoint(); $template_str .= apply_filters('updraft_'.$key.'_extra_storage_options_configuration_template', '', $this); $template_str .= $this->get_test_button_html($whoweare_short); return $template_str; } /** * Get handlebar partial template string for endpoint of s3 compatible remote storage method. Other child class can extend it. * DEVELOPER NOTE: Please don't use/call this method anymore as it was used by S3-Compatible (Generic) storage, and it's consider to be removed in future versions. Once Amazon S3-Compatible templates is CSP-compliant, this should be removed and should be placed in the class child instead of the base class. * * @return String - the partial template */ protected function get_partial_configuration_template_for_endpoint() { return ''; } /** * Retrieve a list of template properties by taking all the persistent variables and methods of the parent class and combining them with the ones that are unique to this module, also the necessary HTML element attributes and texts which are also unique only to this backup module * NOTE: Please sanitise all strings that are required to be shown as HTML content on the frontend side (i.e. wp_kses()), or any other technique to prevent XSS attacks that could come via WP hooks * * @return Array an associative array keyed by names that describe themselves as they are */ public function get_template_properties() { global $updraftplus, $updraftplus_admin; $properties = array( 'storage_image_url' => UPDRAFTPLUS_URL .'/images/aws_logo.png', 'console_url' => wp_kses(sprintf(__('Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage.', 'updraftplus'), 'https://aws.amazon.com/console/', 'AWS', $updraftplus->backup_methods[$this->get_id()]).' '.__('This bucket will be created for you if it does not already exist.', 'updraftplus'), $this->allowed_html_for_content_sanitisation()), 'xmlwriter_existence_label' => !apply_filters('updraftplus_s3_xmlwriter_exists', 'UpdraftPlus_S3_Compat' != $this->indicate_s3_class() || !class_exists('XMLWriter')) ? wp_kses($updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__("Your web server's PHP installation does not include a required module (%s).", 'updraftplus'), 'XMLWriter').' '.__("Please contact your web hosting provider's support and ask for them to enable it.", 'updraftplus'), $this->get_id(), false), $this->allowed_html_for_content_sanitisation()) : '', 'simplexmlelement_existence_label' => !apply_filters('updraftplus_s3_simplexmlelement_exists', class_exists('SimpleXMLElement')) ? wp_kses($updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__("Your web server's PHP installation does not include a required module (%s).", 'updraftplus'), 'SimpleXMLElement').' '.__("Please contact your web hosting provider's support.", 'updraftplus').' '.sprintf(__("UpdraftPlus's %s module requires %s.", 'updraftplus'), $updraftplus->backup_methods[$this->get_id()], 'SimpleXMLElement').' '.__('Please do not file any support requests; there is no alternative.', 'updraftplus'), $this->get_id(), false), $this->allowed_html_for_content_sanitisation()) : '', 'curl_existence_label' => wp_kses($updraftplus_admin->curl_check($updraftplus->backup_methods[$this->get_id()], true, $this->get_id().' hide-in-udc', false), $this->allowed_html_for_content_sanitisation()), 'ssl_certificates_errors_link_text' => wp_kses(''.__('If you see errors about SSL certificates, then please go here for help.', 'updraftplus').'', $this->allowed_html_for_content_sanitisation()), 'faqs' => wp_kses(''.sprintf(__('Other %s FAQs.', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]).'', $this->allowed_html_for_content_sanitisation()), 'input_access_key_label' => sprintf(__('%s access key', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), 'input_secret_key_label' => sprintf(__('%s secret key', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), 'input_secret_key_type' => apply_filters('updraftplus_admin_secret_field_type', 'password'), 'input_location_label' => sprintf(__('%s location', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), 'input_location_title' => __('Enter only a bucket name or a bucket and path.', 'updraftplus').' '.__('Examples: mybucket, mybucket/mypath', 'updraftplus'), 'input_test_label' => sprintf(__('Test %s Settings', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), ); return wp_parse_args(apply_filters('updraft_'.$this->get_id().'_template_properties', array()), wp_parse_args($properties, $this->get_persistent_variables_and_methods())); } /** * Look at the config, and decide whether or not to call self::use_dns_bucket_name() * * @param Object $storage - S3 Name * @param String $bucket - storage path * @param Array $config - configuration - may not be complete at this stage, so be careful about which properties are used * * @return Boolean - whether or not DNS bucket naming will be used */ protected function maybe_use_dns_bucket_name($storage, $bucket, $config) { if ('s3' === $config['key'] && '' !== $bucket) { if (preg_match("#^([^/]+)/(.*)$#", $bucket, $pmatches)) { $bucket = $pmatches[1]; } else { $bucket = $bucket; } // AWS SSL certificates have wildcards at one level only, i.e. *.s3.amazonaws.com, so cannot be validated if the bucket brings in a further sub-domain level if (false !== strstr($bucket, '.') && $storage->getuseSSL() && $storage->getUseSSLValidation()) return false; if (strlen($bucket) > 63) return false; if (preg_match("/[^a-z0-9\.-]/", $bucket)) return false; // A DNS bucket name cannot contain -. if (false !== strstr($bucket, '-.')) return false; // A DNS bucket name cannot contain .. if (false !== strstr($bucket, '..')) return false; // A DNS bucket name must begin with 0-9a-z if (!preg_match("/^[0-9a-z]/", $bucket)) return false; // A DNS bucket name must end with 0-9 a-z if (!preg_match("/[0-9a-z]$/", $bucket)) return false; return $this->use_dns_bucket_name($storage, $bucket); } return false; } /** * This is not pretty, but is the simplest way to accomplish the task within the pre-existing structure (no need to re-invent the wheel of code with corner-cases debugged over years) * * @param object $storage S3 Name * * @return Boolean - true if the operation was accepted */ public function use_dns_bucket_name($storage) { return is_a($storage, 'UpdraftPlus_S3_Compat') ? true : $storage->useDNSBucketName(true); } /** * Acts as a WordPress options filter * * @param Array $settings - pre-filtered settings * * @return Array filtered settings */ public function options_filter($settings) { if (is_array($settings) && !empty($settings['version']) && !empty($settings['settings'])) { foreach ($settings['settings'] as $instance_id => $instance_settings) { if (!empty($instance_settings['path'])) { $settings['settings'][$instance_id]['path'] = trim($instance_settings['path'], "/ \t\n\r\0\x0B"); } } } return $settings; } /** * This method contains some repeated code. After getting an S3 object, it's time to see if we can access that bucket - either immediately, or via creating it, etc. * * @param Object $storage S3 name * @param Array $config array of config details; if the provider does not have the concept of regions, then the key 'endpoint' is required to be set * @param String $bucket S3 Bucket * @param String $path S3 Path * * @return Array - N.B. May contain updated versions of $storage and $config */ private function get_bucket_access($storage, $config, $bucket, $path) { $bucket_exists = false; $use_ssl = true; $ssl_ca = false; $nossl = $this->got_with['nossl']; // Ignore the 'nossl' setting if the endpoint is DigitalOcean Spaces (https://developers.digitalocean.com/documentation/v2/) if (!empty($config['endpoint']) && preg_match('/\.digitaloceanspaces\.com$/i', $config['endpoint'])) { $nossl = apply_filters('updraftplus_gets3_nossl', false, $config['endpoint'], $this->got_with['nossl']); } if (!$nossl) { $curl_version = function_exists('curl_version') ? curl_version() : array('features' => null); $curl_ssl_supported = ($curl_version['features'] && defined('CURL_VERSION_SSL') && CURL_VERSION_SSL); if ($curl_ssl_supported) { if ($this->got_with['disableverify']) { $ssl_ca = false; $this->log("Disabling verification of SSL certificates"); } else { if ($this->got_with['useservercerts']) { $this->log("Using the server's SSL certificates"); $ssl_ca = 'system'; } else { $ssl_ca = file_exists(UPDRAFTPLUS_DIR.'/includes/cacert.pem') ? UPDRAFTPLUS_DIR.'/includes/cacert.pem' : true; } } } else { $use_ssl = false; $this->log("Curl/SSL is not available. Communications will not be encrypted."); } } else { $use_ssl = false; $this->log("SSL was disabled via the user's preference. Communications will not be encrypted."); } $storage->setSSL($use_ssl); $storage->setSSLAuth(null, null, $ssl_ca); // If using Amazon S3, then always prefer using host-based access $this->maybe_use_dns_bucket_name($storage, $bucket, $config); if ($this->provider_has_regions) { $storage->setExceptions(true); if ('dreamobjects' == $config['key']) { $endpoint = isset($config['endpoint']) ? $config['endpoint'] : ''; $this->set_region($storage, $endpoint); } try { $region = @$storage->getBucketLocation($bucket);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. // We want to distinguish between an empty region (null), and an exception or missing bucket (false) if (empty($region) && false !== $region) $region = null; } catch (Exception $e) { $region = false; // This is not ideal, but helps with detection/trapping of other "permanent" conditions // All these codes are likely to indicate things that we want to be logged, rather than suppressing logging until the final method used to get a bucket location $curl_error_codes = array(1, 2, 3, 4, 5, 6, 7, 8, 16, 23, 26, 27, 28, 33, 35, 41, 43, 47, 48, 49, 53, 54, 55, 56, 58, 59, 60, 61, 66, 77, 81, 82, 83, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99); if (UpdraftPlus_Options::get_updraft_option('updraft_debug_mode') || (preg_match('/\[(\d+)\]/', $e->getMessage(), $matches) && in_array($matches[1], $curl_error_codes))) { global $updraftplus; $updraftplus->log("get_bucket_access(): getBucketLocation exception (".get_class($e)."): ".$e->getMessage()); } // On this 'first try', we trap these particular conditions. So, whatever S3 network call it happens on, we'll eventually get it here on the resumption. if (false !== strpos($e->getMessage(), '[RequestTimeTooSkewed]')) { $this->s3_exception = $e; return array($storage, $config, false, false); } // The base Amazon S3 module and child S3-Generic remote storage don't use session token to make a connection to the targeted storage server: we only use session token for Vault storage. // Since we don't provide credentials testing for Vault storage, this means handling session token expiry exception won't happen during credentials testing. So the fact that saved values are used here is fine, since there are no other relevant values in the absence of credentials testing. if (false !== strpos($e->getMessage(), 'The provided token has expired')) { $this->log($e->getMessage().": Requesting new credentials"); $new_config = $this->get_config(true); if (empty($new_config['sessiontoken'])) $new_config['sessiontoken'] = null; if (!empty($new_config['accesskey'])) { $new_storage = $this->getS3( $new_config['accesskey'], $new_config['secretkey'], UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_nossl'), null, !empty($new_config['server_side_encryption']), $new_config['sessiontoken'] ); if (!is_wp_error($new_storage)) { // Try again try { $region = @$new_storage->getBucketLocation($bucket);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. // We want to distinguish between an empty region (null), and an exception or missing bucket (false) if (empty($region) && false !== $region) $region = null; // Worked this time; update the passed-in information $storage = $new_storage; $config = $new_config; } catch (Exception $e) { $region = false; } } } } } $storage->setExceptions(false); } else { $region = false; $this->set_region($storage, $config['endpoint'], $bucket); } // See if we can detect the region (which implies the bucket exists and is ours), or if not create it if (!$this->provider_has_regions || false === $region) { $storage->setExceptions(true); try { if (@$storage->putBucket($bucket, 'private')) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. $bucket_exists = true; } } catch (Exception $e) { $this->s3_exception = $e; try { if (false !== @$storage->getBucket($bucket, $path, null, 1)) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. $bucket_exists = true; } } catch (Exception $e) { // We don't put this in a separate catch block which names the exception, since we need to remain compatible with PHP 5.2 if (is_a($storage, 'UpdraftPlus_S3_Compat') && is_a($e, 'Aws\S3\Exception\S3Exception')) { $response = $e->getResponse(); if (is_null($response)) { $this->s3_exception = $e; } else { $xml = new SimpleXMLElement((string) $response->getBody(), LIBXML_NONET); if (!empty($xml->Code) && 'AuthorizationHeaderMalformed' == $xml->Code->__toString() && !empty($xml->Region)) { $this->set_region($storage, $xml->Region->__toString()); $storage->setExceptions(false); if (false !== @$storage->getBucket($bucket, $path, null, 1)) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. $bucket_exists = true; } } else { $this->s3_exception = $e; } } } else { $this->s3_exception = $e; } } } $storage->setExceptions(false); } else { $bucket_exists = true; } // For a region-less S3 system, we set this to true so that we can carry on trying anyway, since the behaviour of different S3-compatible systems can vary. e.g. DigitalOcean spaces API keys allow you to create a bucket. if (!$this->provider_has_regions) { $bucket_exists = true; } elseif ($bucket_exists) { if ('s3' == $config['key'] || 'updraftvault' == $config['key']) { $this->set_region($storage, $region, $bucket); } elseif (!empty($region)) { // N.B. region non-empty here implies that it's dreamobjects; but in that case, we already called set_region earlier. So, this is now commented (May 2021) // if (!$endpoint) $this->set_region($storage, $endpoint, $bucket); } } return array($storage, $config, $bucket_exists, $region); } /** * Perform a test of user-supplied credentials, and echo the result * * @param Array $posted_settings - settings to test */ public function credentials_test($posted_settings) { if (empty($posted_settings['accesskey'])) { printf(__("Failure: No %s was given.", 'updraftplus'), __('API key', 'updraftplus')); return; } if (empty($posted_settings['secretkey'])) { printf(__("Failure: No %s was given.", 'updraftplus'), __('API secret', 'updraftplus')); return; } $key = $posted_settings['accesskey']; $secret = $posted_settings['secretkey']; $path = $posted_settings['path']; $useservercerts = isset($posted_settings['useservercerts']) ? absint($posted_settings['useservercerts']) : 0; $disableverify = isset($posted_settings['disableverify']) ? absint($posted_settings['disableverify']) : 0; $nossl = isset($posted_settings['nossl']) ? absint($posted_settings['nossl']) : 0; $endpoint = isset($posted_settings['endpoint']) ? trim($posted_settings['endpoint']) : ''; $sse = empty($posted_settings['server_side_encryption']) ? false : true; if (preg_match("#^/*([^/]+)/(.*)$#", $path, $bmatches)) { $bucket = $bmatches[1]; $path = trailingslashit($bmatches[2]); } else { $bucket = $path; $path = ""; } if (empty($bucket)) { _e("Failure: No bucket details were given.", 'updraftplus'); return; } if (!$this->provider_has_regions && '' == $endpoint) { _e("Failure: No endpoint details were given.", 'updraftplus'); return; } $config = $this->get_config(); if ('' !== $endpoint) $config['endpoint'] = $endpoint; $whoweare = $config['whoweare']; $session_token = empty($config['sessiontoken']) ? null : $config['sessiontoken']; $storage = $this->getS3($key, $secret, $useservercerts, $disableverify, $nossl, null, $sse, $session_token); if (is_wp_error($storage)) { foreach ($storage->get_error_messages() as $msg) { echo $msg."\n"; } return; } if (!empty($posted_settings['signature_version'])) $config['signature_version'] = $posted_settings['signature_version']; if (!empty($posted_settings['bucket_access_style']) && 'virtual_host_style' === $posted_settings['bucket_access_style']) { $storage->useDNSBucketName(true, $bucket); } else { $storage->useDNSBucketName(false, $bucket); } list($storage, $config, $bucket_exists, $region) = $this->get_bucket_access($storage, $config, $bucket, $path); $bucket_verb = ''; if ($this->provider_has_regions && $region) { if ('s3' == $config['key']) { $bucket_verb = __('Region', 'updraftplus').": $region: "; } } if (empty($bucket_exists)) { echo __('Failure: We could not successfully access or create such a bucket.', 'updraftplus').' '.sprintf(__('Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name).', 'updraftplus'), $whoweare); if (!empty($this->s3_exception)) echo "\n\n".sprintf(__('The error reported by %s was:', 'updraftplus'), $whoweare).' '.$this->s3_exception; if ('s3' == $config['key'] && 'AK' != substr($key, 0, 2)) echo "\n\n".sprintf(__('The AWS access key looks to be wrong (valid %s access keys begin with "AK")', 'updraftplus'), $whoweare); } else { $try_file = md5(rand()); $storage->setExceptions(true); try { if (!$storage->putObjectString($try_file, $bucket, $path.$try_file)) { echo __('Failure', 'updraftplus').": {$bucket_verb}".__('We successfully accessed the bucket, but the attempt to create a file in it failed.', 'updraftplus'); } else { echo __('Success', 'updraftplus').": {$bucket_verb}".__('We accessed the bucket, and were able to create files within it.', 'updraftplus').' '; $comm_with = ('' !== $endpoint) ? $endpoint : $config['whoweare_long']; if ($storage->getuseSSL()) { echo sprintf(__('The communication with %s was encrypted.', 'updraftplus'), $comm_with); } else { echo sprintf(__('The communication with %s was not encrypted.', 'updraftplus'), $comm_with); } $create_success = true; } } catch (Exception $e) { echo __('Failure', 'updraftplus').": {$bucket_verb}".__('We successfully accessed the bucket, but the attempt to create a file in it failed.', 'updraftplus').' '.__('Please check your access credentials.', 'updraftplus').' ('.$e->getMessage().')'; } if (!empty($create_success)) { try { @$storage->deleteObject($bucket, $path.$try_file);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } catch (Exception $e) { echo ' '.__('Delete failed:', 'updraftplus').' '.$e->getMessage(); } } } } /** * Check whether options have been set up by the user, or not * * @param Array $opts - the potential options * * @return Boolean */ public function options_exist($opts) { if (is_array($opts) && isset($opts['accesskey']) && '' != $opts['accesskey'] && isset($opts['secretkey'])) return true; return false; } } methods/openstack.php000064400000001103147400355670010715 0ustar00=')) { updraft_try_include_file('methods/openstack2.php', 'include_once'); } else { updraft_try_include_file('methods/insufficient.php', 'include_once'); class UpdraftPlus_BackupModule_openstack extends UpdraftPlus_BackupModule_insufficientphp { public function __construct() { parent::__construct('openstack', 'OpenStack', '5.3.3'); } } } methods/webdav.php000064400000002142147400355670010202 0ustar00method = $method; $this->description = $description; $this->required_php = $required_php; $this->image = $image; $this->error_msg = 'This remote storage method ('.$this->description.') requires PHP '.$this->required_php.' or later'; $this->error_msg_trans = sprintf(__('This remote storage method (%s) requires PHP %s or later.', 'updraftplus'), $this->description, $this->required_php); } public function backup($backup_array) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is present because the function to perform backup for specific storage is not exist. $this->log("You do not have the UpdraftPlus ".$this->method.' add-on installed - get it from '.apply_filters("updraftplus_com_link", "https://updraftplus.com/shop/").''); $this->log(sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s', 'updraftplus'), $this->description, ''.apply_filters("updraftplus_com_link", "https://updraftplus.com/shop/").''), 'error', 'missingaddon-'.$this->method); return false; } /** * Retrieve a list of supported features for this storage method * * Currently known features: * * - multi_options : indicates that the remote storage module * can handle its options being in the Feb-2017 multi-options * format. N.B. This only indicates options handling, not any * other multi-destination options. * * - multi_servers : not implemented yet: indicates that the * remote storage module can handle multiple servers at backup * time. This should not be specified without multi_options. * multi_options without multi_servers is fine - it will just * cause only the first entry in the options array to be used. * * - config_templates : not implemented yet: indicates that * the remote storage module can output its configuration in * Handlebars format via the get_configuration_template() method. * * - conditional_logic : indicates that the remote storage module * can handle predefined logics regarding how backups should be * sent to the remote storage * * @return Array - an array of supported features (any features not * mentioned are assumed to not be supported) */ public function get_supported_features() { // The 'multi_options' options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates'); } public function delete($files, $method_obj = false, $sizeinfo = array()) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is present because the function to perform delete for specific storage is not exist. $this->log('You do not have the UpdraftPlus '.$this->method.' add-on installed - get it from '.apply_filters("updraftplus_com_link", "https://updraftplus.com/shop/").''); $this->log(sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s', 'updraftplus'), $this->description, ''.apply_filters("updraftplus_com_link", "https://updraftplus.com/shop/").''), 'error', 'missingaddon-'.$this->method); return false; } public function listfiles($match = 'backup_') {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is present because the function to perform listfiles for specific storage is not exist. return new WP_Error('no_addon', sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s', 'updraftplus'), $this->description, ''.apply_filters("updraftplus_com_link", "https://updraftplus.com/shop/"))); } /** * Get the configuration template * * @return String - the template, ready for substitutions to be carried out */ public function get_configuration_template() { ob_start(); ?> {{description}}: {{{image}}}{{addon_text}} - {{premium_url_text}} {{#unless php_version_supported}} {{error_msg_trans}} {{hosting_text}} {{php_version_text}} {{/unless}} $this->description, 'php_version_supported' => (bool) apply_filters('updraftplus_storage_meets_php_requirement', version_compare(phpversion(), $this->required_php, '>='), $this->method), 'image' => (!empty($this->image)) ? '

' : '', 'error_msg_trans' => $this->error_msg_trans, 'premium_url' => $updraftplus->get_url('premium'), 'premium_url_text' => __('follow this link to get it', 'updraftplus'), 'addon_text' => sprintf(__('%s support is available as an add-on', 'updraftplus'), $this->description), 'php_version_text' => sprintf(__('Your PHP version: %s.', 'updraftplus'), phpversion()), 'hosting_text' => __('You will need to ask your web hosting company to upgrade.', 'updraftplus'), ); return wp_parse_args($properties, $this->get_persistent_variables_and_methods()); } } methods/backblaze.php000064400000002257147400355670010657 0ustar00=')) { if (class_exists('UpdraftPlus_Addons_RemoteStorage_backblaze')) { class UpdraftPlus_BackupModule_backblaze extends UpdraftPlus_Addons_RemoteStorage_backblaze { public function __construct() { parent::__construct('backblaze', 'Backblaze', true, true); } } } else { updraft_try_include_file('methods/addon-not-yet-present.php', 'include_once'); /** * N.B. UpdraftPlus_BackupModule_AddonNotYetPresent extends UpdraftPlus_BackupModule */ class UpdraftPlus_BackupModule_backblaze extends UpdraftPlus_BackupModule_AddonNotYetPresent { public function __construct() { parent::__construct('backblaze', 'Backblaze', '5.3.3', 'backblaze.png'); } } } } else { updraft_try_include_file('methods/insufficient.php', 'include_once'); /** * N.B. UpdraftPlus_BackupModule_insufficientphp extends UpdraftPlus_BackupModule */ class UpdraftPlus_BackupModule_backblaze extends UpdraftPlus_BackupModule_insufficientphp { public function __construct() { parent::__construct('backblaze', 'Backblaze', '5.3.3', 'backblaze.png'); } } } methods/openstack-base.php000064400000056344147400355670011646 0ustar00method = $method; $this->desc = $desc; $this->long_desc = (is_string($long_desc)) ? $long_desc : $desc; $this->img_url = $img_url; } public function backup($backup_array) { global $updraftplus; $default_chunk_size = (defined('UPDRAFTPLUS_UPLOAD_CHUNKSIZE') && UPDRAFTPLUS_UPLOAD_CHUNKSIZE > 0) ? max(UPDRAFTPLUS_UPLOAD_CHUNKSIZE, 1048576) : 5242880; $this->chunk_size = $updraftplus->jobdata_get('openstack_chunk_size', $default_chunk_size); $opts = $this->get_options(); $this->container = $opts['path']; try { $storage = $this->get_openstack_service($opts, UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify')); } catch (AuthenticationError $e) { $updraftplus->log($this->desc.' authentication failed ('.$e->getMessage().')'); $updraftplus->log(sprintf(__('%s authentication failed', 'updraftplus'), $this->desc).' ('.$e->getMessage().')', 'error'); return false; } catch (Exception $e) { $updraftplus->log($this->desc.' error - failed to access the container ('.$e->getMessage().') (line: '.$e->getLine().', file: '.$e->getFile().')'); $updraftplus->log(sprintf(__('%s error - failed to access the container', 'updraftplus'), $this->desc).' ('.$e->getMessage().')', 'error'); return false; } // Get the container try { $this->container_object = $storage->getContainer($this->container); } catch (Exception $e) { $updraftplus->log('Could not access '.$this->desc.' container ('.get_class($e).', '.$e->getMessage().') (line: '.$e->getLine().', file: '.$e->getFile().')'); $updraftplus->log(sprintf(__('Could not access %s container', 'updraftplus'), $this->desc).' ('.get_class($e).', '.$e->getMessage().')', 'error'); return false; } foreach ($backup_array as $file) { $file_key = 'status_'.md5($file); $file_status = $this->jobdata_get($file_key, null, 'openstack_'.$file_key); if (is_array($file_status) && !empty($file_status['chunks']) && !empty($file_status['chunks'][1]['size'])) $this->chunk_size = $file_status['chunks'][1]['size']; // First, see the object's existing size (if any) $uploaded_size = $this->get_remote_size($file); try { if (1 === $updraftplus->chunked_upload($this, $file, $this->method."://".$this->container."/$file", $this->desc, $this->chunk_size, $uploaded_size)) { try { if (false !== ($data = fopen($updraftplus->backups_dir_location().'/'.$file, 'r+'))) { $this->container_object->uploadObject($file, $data); $updraftplus->log($this->desc." regular upload: success"); $updraftplus->uploaded_file($file); } else { throw new Exception('uploadObject failed: fopen failed'); } } catch (Exception $e) { $this->log("regular upload: failed ($file) (".$e->getMessage().")"); $this->log("$file: ".sprintf(__('Error: Failed to upload', 'updraftplus')), 'error'); } } } catch (Exception $e) { $updraftplus->log($this->desc.' error - failed to upload file'.' ('.$e->getMessage().') (line: '.$e->getLine().', file: '.$e->getFile().')'); $updraftplus->log(sprintf(__('%s error - failed to upload file', 'updraftplus'), $this->desc).' ('.$e->getMessage().')', 'error'); return false; } } return array('object' => $this->container_object, 'orig_path' => $opts['path'], 'container' => $this->container); } private function get_remote_size($file) { try { $response = $this->container_object->getClient()->head($this->container_object->getUrl($file))->send(); $response_object = $this->container_object->dataObject()->populateFromResponse($response)->setName($file); return $response_object->getContentLength(); } catch (Exception $e) { // Allow caller to distinguish between zero-sized and not-found return false; } } /** * This function lists the files found in the configured storage location * * @param String $match a substring to require (tested via strpos() !== false) * * @return Array - each file is represented by an array with entries 'name' and (optional) 'size' */ public function listfiles($match = 'backup_') { $opts = $this->get_options(); $container = $opts['path']; if (empty($opts['user']) || (empty($opts['apikey']) && empty($opts['password']))) return new WP_Error('no_settings', __('No settings were found', 'updraftplus')); try { $storage = $this->get_openstack_service($opts, UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify')); } catch (Exception $e) { return new WP_Error('no_access', sprintf(__('%s error - failed to access the container', 'updraftplus'), $this->desc).' ('.$e->getMessage().')'); } // Get the container try { $this->container_object = $storage->getContainer($container); } catch (Exception $e) { return new WP_Error('no_access', sprintf(__('%s error - failed to access the container', 'updraftplus'), $this->desc).' ('.$e->getMessage().')'); } $results = array(); $marker = ''; $page_size = 1000; try { // http://php-opencloud.readthedocs.io/en/latest/services/object-store/objects.html#list-objects-in-a-container while (null !== $marker) { $params = array( 'prefix' => $match, 'limit' => $page_size, 'marker' => $marker ); $objects = $this->container_object->objectList($params); $total = $objects->count(); if (0 == $total) break; $index = 0; while (false !== ($file = $objects->offsetGet($index)) && !empty($file)) { $index++; try { if ((is_object($file) && !empty($file->name))) { $result = array('name' => $file->name); // Rackspace returns the size of a manifested file properly; other OpenStack implementations may not if (!empty($file->bytes)) { $result['size'] = $file->bytes; } else { $size = $this->get_remote_size($file->name); if (false !== $size && $size > 0) $result['size'] = $size; } $results[] = $result; } } catch (Exception $e) { // Catch } $marker = (!empty($file->name) && $total >= $page_size) ? $file->name : null; } } } catch (Exception $e) { // Catch } return $results; } /** * Called when all chunks have been uploaded, to allow any required finishing actions to be carried out * * @param String $file - the basename of the file being uploaded * * @return Boolean - success or failure state of any finishing actions */ public function chunked_upload_finish($file) { $chunk_path = 'chunk-do-not-delete-'.$file; try { $headers = array( 'Content-Length' => 0, 'X-Object-Manifest' => sprintf('%s/%s', $this->container, $chunk_path.'_') ); $url = $this->container_object->getUrl($file); $this->container_object->getClient()->put($url, $headers)->send(); return true; } catch (Exception $e) { global $updraftplus; $updraftplus->log("Error when sending manifest (".get_class($e)."): ".$e->getMessage()); return false; } } /** * N.B. Since we use varying-size chunks, we must be careful as to what we do with $chunk_index * * @param String $file Full path for the file being uploaded * @param Resource $fp File handle to read upload data from * @param Integer $chunk_index Index of chunked upload * @param Integer $upload_size Size of the upload, in bytes * @param Integer $upload_start How many bytes into the file the upload process has got * @param Integer $upload_end How many bytes into the file we will be after this chunk is uploaded * @param Integer $total_file_size Total file size * * @return Boolean */ public function chunked_upload($file, $fp, $chunk_index, $upload_size, $upload_start, $upload_end, $total_file_size) { global $updraftplus; $file_key = 'status_'.md5($file); $file_status = $this->jobdata_get($file_key, null, 'openstack_'.$file_key); $next_chunk_size = $upload_size; $bytes_already_uploaded = 0; $last_uploaded_chunk_index = 0; // Once a chunk is uploaded, its status is set, allowing the sequence to be reconstructed if (is_array($file_status) && isset($file_status['chunks']) && !empty($file_status['chunks'])) { foreach ($file_status['chunks'] as $c_id => $c_status) { if ($c_id > $last_uploaded_chunk_index) $last_uploaded_chunk_index = $c_id; if ($chunk_index + 1 == $c_id) { $next_chunk_size = $c_status['size']; } $bytes_already_uploaded += $c_status['size']; } } else { $file_status = array('chunks' => array()); } $this->jobdata_set($file_key, $file_status); if ($upload_start < $bytes_already_uploaded) { if ($next_chunk_size != $upload_size) { $response = new stdClass; $response->new_chunk_size = $upload_size; $response->log = false; return $response; } else { return 1; } } // Shouldn't be able to happen if ($chunk_index <= $last_uploaded_chunk_index) { $updraftplus->log($this->desc.": Chunk sequence error; chunk_index=$chunk_index, last_uploaded_chunk_index=$last_uploaded_chunk_index, upload_start=$upload_start, upload_end=$upload_end, file_status=".json_encode($file_status)); } // Used to use $chunk_index here, before switching to variable chunk sizes $upload_remotepath = 'chunk-do-not-delete-'.$file.'_'.sprintf("%016d", $chunk_index); $remote_size = $this->get_remote_size($upload_remotepath); // Without this, some versions of Curl add Expect: 100-continue, which results in Curl then giving this back: curl error: 55) select/poll returned error // Didn't make the difference - instead we just check below for actual success even when Curl reports an error // $chunk_object->headers = array('Expect' => ''); if ($remote_size >= $upload_size) { $updraftplus->log($this->desc.": Chunk ($upload_start - $upload_end, $chunk_index): already uploaded"); } else { $updraftplus->log($this->desc.": Chunk ($upload_start - $upload_end, $chunk_index): begin upload"); // Upload the chunk try { $data = fread($fp, $upload_size); $time_start = microtime(true); $this->container_object->uploadObject($upload_remotepath, $data); $time_now = microtime(true); $time_taken = $time_now - $time_start; if ($next_chunk_size < 52428800 && $total_file_size > 0 && $upload_end + 1 < $total_file_size) { $job_run_time = $time_now - $updraftplus->job_time_ms; if ($time_taken < 10) { $upload_rate = $upload_size / max($time_taken, 0.0001); $upload_secs = min(floor($job_run_time), 10); if ($job_run_time < 15) $upload_secs = max(6, $job_run_time*0.6); // In megabytes $memory_limit_mb = $updraftplus->memory_check_current(); $bytes_used = memory_get_usage(); $bytes_free = $memory_limit_mb * 1048576 - $bytes_used; $new_chunk = max(min($upload_secs * $upload_rate * 0.9, 52428800, $bytes_free), 5242880); $new_chunk = $new_chunk - ($new_chunk % 5242880); $next_chunk_size = (int) $new_chunk; $updraftplus->jobdata_set('openstack_chunk_size', $next_chunk_size); } } } catch (Exception $e) { $updraftplus->log($this->desc." chunk upload: error: ($file / $chunk_index) (".$e->getMessage().") (line: ".$e->getLine().', file: '.$e->getFile().')'); // Experience shows that Curl sometimes returns a select/poll error (curl error 55) even when everything succeeded. Google seems to indicate that this is a known bug. $remote_size = $this->get_remote_size($upload_remotepath); if ($remote_size >= $upload_size) { $updraftplus->log("$file: Chunk now exists; ignoring error (presuming it was an apparently known curl bug)"); } else { $updraftplus->log("$file: ".sprintf(__('%s Error: Failed to upload', 'updraftplus'), $this->desc), 'error'); return false; } } } $file_status['chunks'][$chunk_index]['size'] = $upload_size; $this->jobdata_set($file_key, $file_status); if ($next_chunk_size != $upload_size) { $response = new stdClass; $response->new_chunk_size = $next_chunk_size; $response->log = true; return $response; } return true; } /** * Delete a single file from the service using OpenStack API * * @param Array|String $files - array of file names to delete * @param Array $data - service object and container details * @param Array $sizeinfo - unused here * @return Boolean|String - either a boolean true or an error code string */ public function delete($files, $data = false, $sizeinfo = array()) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $sizeinfo unused global $updraftplus; if (is_string($files)) $files = array($files); if (is_array($data)) { $container_object = $data['object']; $container = $data['container']; } else { $opts = $this->get_options(); $container = $opts['path']; try { $storage = $this->get_openstack_service($opts, UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify')); } catch (AuthenticationError $e) { $updraftplus->log($this->desc.' authentication failed ('.$e->getMessage().')'); $updraftplus->log(sprintf(__('%s authentication failed', 'updraftplus'), $this->desc).' ('.$e->getMessage().')', 'error'); return 'authentication_fail'; } catch (Exception $e) { $updraftplus->log($this->desc.' error - failed to access the container ('.$e->getMessage().')'); $updraftplus->log(sprintf(__('%s error - failed to access the container', 'updraftplus'), $this->desc).' ('.$e->getMessage().')', 'error'); return 'service_unavailable'; } // Get the container try { $container_object = $storage->getContainer($container); } catch (Exception $e) { $updraftplus->log('Could not access '.$this->desc.' container ('.get_class($e).', '.$e->getMessage().')'); $updraftplus->log(sprintf(__('Could not access %s container', 'updraftplus'), $this->desc).' ('.get_class($e).', '.$e->getMessage().')', 'error'); return 'container_access_error'; } } $ret = true; foreach ($files as $file) { $updraftplus->log($this->desc.": Delete remote: container=$container, path=$file"); // We need to search for chunks $chunk_path = "chunk-do-not-delete-".$file; try { $objects = $container_object->objectList(array('prefix' => $chunk_path)); $index = 0; while (false !== ($chunk = $objects->offsetGet($index)) && !empty($chunk)) { try { $name = $chunk->name; $container_object->dataObject()->setName($name)->delete(); $updraftplus->log($this->desc.': Chunk deleted: '.$name); } catch (Exception $e) { $updraftplus->log($this->desc." chunk delete failed: $name: ".$e->getMessage()); } $index++; } } catch (Exception $e) { $updraftplus->log($this->desc.' chunk delete failed: '.$e->getMessage()); } // Finally, delete the object itself try { $container_object->dataObject()->setName($file)->delete(); $updraftplus->log($this->desc.': Deleted: '.$file); } catch (Exception $e) { $updraftplus->log($this->desc.' delete failed: '.$e->getMessage()); $ret = 'file_delete_error'; } } return $ret; } public function download($file) { global $updraftplus; $opts = $this->get_options(); try { $storage = $this->get_openstack_service($opts, UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify')); } catch (AuthenticationError $e) { $updraftplus->log($this->desc.' authentication failed ('.$e->getMessage().')'); $updraftplus->log(sprintf(__('%s authentication failed', 'updraftplus'), $this->desc).' ('.$e->getMessage().')', 'error'); return false; } catch (Exception $e) { $updraftplus->log($this->desc.' error - failed to access the container ('.$e->getMessage().')'); $updraftplus->log(sprintf(__('%s error - failed to access the container', 'updraftplus'), $this->desc).' ('.$e->getMessage().')', 'error'); return false; } $container = untrailingslashit($opts['path']); $updraftplus->log($this->desc." download: ".$this->method."://$container/$file"); // Get the container try { $this->container_object = $storage->getContainer($container); } catch (Exception $e) { $updraftplus->log('Could not access '.$this->desc.' container ('.get_class($e).', '.$e->getMessage().')'); $updraftplus->log(sprintf(__('Could not access %s container', 'updraftplus'), $this->desc).' ('.get_class($e).', '.$e->getMessage().')', 'error'); return false; } // Get information about the object within the container $remote_size = $this->get_remote_size($file); if (false === $remote_size) { $updraftplus->log('Could not access '.$this->desc.' object'); $updraftplus->log(sprintf(__('The %s object was not found', 'updraftplus'), $this->desc), 'error'); return false; } return (!is_bool($remote_size)) ? $updraftplus->chunked_download($file, $this, $remote_size, true, $this->container_object) : false; } public function chunked_download($file, $headers, $container_object) { try { $dl = $container_object->getObject($file, $headers); } catch (Exception $e) { global $updraftplus; $updraftplus->log("$file: Failed to download (".$e->getMessage().")"); $updraftplus->log("$file: ".sprintf(__("%s Error", 'updraftplus'), $this->desc).": ".__('Error downloading remote file: Failed to download', 'updraftplus').' ('.$e->getMessage().")", 'error'); return false; } return $dl->getContent(); } public function credentials_test_go($opts, $path, $useservercerts, $disableverify) { if (preg_match("#^([^/]+)/(.*)$#", $path, $bmatches)) { $container = $bmatches[1]; $path = $bmatches[2]; } else { $container = $path; $path = ''; } if (empty($container)) { _e('Failure: No container details were given.', 'updraftplus'); return; } try { $storage = $this->get_openstack_service($opts, $useservercerts, $disableverify); // @codingStandardsIgnoreLine } catch (Guzzle\Http\Exception\ClientErrorResponseException $e) { $response = $e->getResponse(); $code = $response->getStatusCode(); $reason = $response->getReasonPhrase(); if (401 == $code && 'Unauthorized' == $reason) { echo __('Authorisation failed (check your credentials)', 'updraftplus'); } else { echo __('Authorisation failed (check your credentials)', 'updraftplus')." ($code:$reason)"; } return; } catch (AuthenticationError $e) { echo sprintf(__('%s authentication failed', 'updraftplus'), $this->desc).' ('.$e->getMessage().')'; return; } catch (Exception $e) { echo sprintf(__('%s authentication failed', 'updraftplus'), $this->desc).' ('.get_class($e).', '.$e->getMessage().')'; return; } try { $container_object = $storage->getContainer($container); // @codingStandardsIgnoreLine } catch (Guzzle\Http\Exception\ClientErrorResponseException $e) { $response = $e->getResponse(); $code = $response->getStatusCode(); $reason = $response->getReasonPhrase(); if (404 == $code) { $container_object = $storage->createContainer($container); } else { echo __('Authorisation failed (check your credentials)', 'updraftplus')." ($code:$reason)"; return; } } catch (Exception $e) { echo sprintf(__('%s authentication failed', 'updraftplus'), $this->desc).' ('.get_class($e).', '.$e->getMessage().')'; return; } if (!is_a($container_object, 'OpenCloud\ObjectStore\Resource\Container') && !is_a($container_object, 'Container')) { echo sprintf(__('%s authentication failed', 'updraftplus'), $this->desc).' ('.get_class($container_object).')'; return; } $try_file = md5(rand()).'.txt'; try { $object = $container_object->uploadObject($try_file, 'UpdraftPlus test file', array('content-type' => 'text/plain')); } catch (Exception $e) { echo sprintf(__('%s error - we accessed the container, but failed to create a file within it', 'updraftplus'), $this->desc).' ('.get_class($e).', '.$e->getMessage().')'; if (!empty($this->region)) echo ' '.sprintf(__('Region: %s', 'updraftplus'), $this->region); return; } echo __('Success', 'updraftplus').": ".__('We accessed the container, and were able to create files within it.', 'updraftplus'); if (!empty($this->region)) echo ' '.sprintf(__('Region: %s', 'updraftplus'), $this->region); try { if (!empty($object)) { // One OpenStack server we tested on did not delete unless we slept... some kind of race condition at their end sleep(1); $object->delete(); } } catch (Exception $e) { // Catch } } /** * Get the pre configuration template * DEVELOPER NOTES: Please don't use/call this method anymore as it is currently used by OpenStack and Cloudfiles(Rackspace) storage, and it's consider to be removed in future versions. Once OpenStack and Cloudfiles templates are CSP-compliant, this should be removed and should be placed in the class child instead of the base class. * * @return String - the template */ public function get_pre_configuration_template() { global $updraftplus_admin; $classes = $this->get_css_classes(false); ?> img_url)) { ?> <?php echo $this->long_desc; ?>
show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__('Your web server\'s PHP installation does not included a required module (%s).', 'updraftplus'), 'mbstring').' '.__('Please contact your web hosting provider\'s support.', 'updraftplus').' '.sprintf(__("UpdraftPlus's %s module requires %s.", 'updraftplus'), $this->desc, 'mbstring').' '.__('Please do not file any support requests; there is no alternative.', 'updraftplus'), $this->method); } $updraftplus_admin->curl_check($this->long_desc, false, $this->method); echo '
'; $this->get_pre_configuration_middlesection_template(); ?> get_configuration_middlesection_template(); $template_str .= $this->get_test_button_html($this->desc); return $template_str; } } methods/cloudfiles.php000064400000055023147400355670011071 0ustar00get_storage(); if (!empty($storage)) return $storage; if (!class_exists('UpdraftPlus_CF_Authentication')) updraft_try_include_file('includes/cloudfiles/cloudfiles.php', 'include_once'); if (!defined('UPDRAFTPLUS_SSL_DISABLEVERIFY')) define('UPDRAFTPLUS_SSL_DISABLEVERIFY', UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify')); $auth = new UpdraftPlus_CF_Authentication($user, trim($apikey), null, $authurl); $this->log("authentication URL: $authurl"); $auth->authenticate(); $storage = new UpdraftPlus_CF_Connection($auth); if (!$useservercerts) $storage->ssl_use_cabundle(UPDRAFTPLUS_DIR.'/includes/cacert.pem'); $this->set_storage($storage); return $storage; } /** * This method overrides the parent method and lists the supported features of this remote storage option. * * @return Array - an array of supported features (any features not * mentioned are assumed to not be supported) */ public function get_supported_features() { // This options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates', 'multi_storage', 'conditional_logic'); } /** * Retrieve default options for this remote storage module. * * @return Array - an array of options */ public function get_default_options() { return array( 'user' => '', 'authurl' => 'https://auth.api.rackspacecloud.com', 'apikey' => '', 'path' => '', 'region' => null ); } /** * Check whether options have been set up by the user, or not * * @param Array $opts - the potential options * * @return Boolean */ public function options_exist($opts) { if (is_array($opts) && isset($opts['user']) && '' != $opts['user'] && !empty($opts['apikey'])) return true; return false; } public function backup($backup_array) { global $updraftplus; $opts = $this->get_options(); $updraft_dir = $updraftplus->backups_dir_location().'/'; $container = $opts['path']; try { $storage = $this->getCF($opts['user'], $opts['apikey'], $opts['authurl'], UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts')); $container_object = $storage->create_container($container); } catch (AuthenticationException $e) { $this->log('authentication failed ('.$e->getMessage().')'); $this->log(__('authentication failed', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } catch (NoSuchAccountException $s) { $this->log('authentication failed ('.$e->getMessage().')'); $this->log(__('authentication failed', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } catch (Exception $e) { $this->log('error - failed to create and access the container ('.$e->getMessage().')'); $this->log(__('error - failed to create and access the container', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } $chunk_size = 5*1024*1024; foreach ($backup_array as $file) { $fullpath = $updraft_dir.$file; $orig_file_size = filesize($fullpath); // $cfpath = ($path == '') ? $file : "$path/$file"; // $chunk_path = ($path == '') ? "chunk-do-not-delete-$file" : "$path/chunk-do-not-delete-$file"; $cfpath = $file; $chunk_path = "chunk-do-not-delete-$file"; try { $object = new UpdraftPlus_CF_Object($container_object, $cfpath); $object->content_type = "application/zip"; $uploaded_size = (isset($object->content_length)) ? $object->content_length : 0; if ($uploaded_size <= $orig_file_size) { $fp = @fopen($fullpath, "rb");// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if (!$fp) { $this->log("failed to open file: $fullpath"); $this->log("$file: ".__('Error: Failed to open local file', 'updraftplus'), 'error'); return false; } $chunks = floor($orig_file_size / $chunk_size); // There will be a remnant unless the file size was exactly on a 5MB boundary if ($orig_file_size % $chunk_size > 0) $chunks++; $this->log("upload: $file (chunks: $chunks) -> cloudfiles://$container/$cfpath ($uploaded_size)"); if ($chunks < 2) { try { $object->load_from_filename($fullpath); $this->log("regular upload: success"); $updraftplus->uploaded_file($file); } catch (Exception $e) { $this->log("regular upload: failed ($file) (".$e->getMessage().")"); $this->log("$file: ".__('Error: Failed to upload', 'updraftplus'), 'error'); } } else { $errors_so_far = 0; for ($i = 1; $i <= $chunks; $i++) { $upload_start = ($i-1)*$chunk_size; // The file size -1 equals the byte offset of the final byte $upload_end = min($i*$chunk_size-1, $orig_file_size-1); $upload_remotepath = $chunk_path."_$i"; // Don't forget the +1; otherwise the last byte is omitted $upload_size = $upload_end - $upload_start + 1; $chunk_object = new UpdraftPlus_CF_Object($container_object, $upload_remotepath); $chunk_object->content_type = "application/zip"; // Without this, some versions of Curl add Expect: 100-continue, which results in Curl then giving this back: curl error: 55) select/poll returned error // Didn't make the difference - instead we just check below for actual success even when Curl reports an error // $chunk_object->headers = array('Expect' => ''); $remote_size = (isset($chunk_object->content_length)) ? $chunk_object->content_length : 0; if ($remote_size >= $upload_size) { $this->log("Chunk $i ($upload_start - $upload_end): already uploaded"); } else { $this->log("Chunk $i ($upload_start - $upload_end): begin upload"); // Upload the chunk fseek($fp, $upload_start); try { $chunk_object->write($fp, $upload_size, false); $updraftplus->record_uploaded_chunk(round(100*$i/$chunks, 1), $i, $fullpath); } catch (Exception $e) { $this->log("chunk upload: error: ($file / $i) (".$e->getMessage().")"); // Experience shows that Curl sometimes returns a select/poll error (curl error 55) even when everything succeeded. Google seems to indicate that this is a known bug. $chunk_object = new UpdraftPlus_CF_Object($container_object, $upload_remotepath); $chunk_object->content_type = "application/zip"; $remote_size = (isset($chunk_object->content_length)) ? $chunk_object->content_length : 0; if ($remote_size >= $upload_size) { $this->log("$file: Chunk now exists; ignoring error (presuming it was an apparently known curl bug)"); } else { $this->log("$file: ".__('Error: Failed to upload', 'updraftplus'), 'error'); $errors_so_far++; if ($errors_so_far >=3) return false; } } } } if ($errors_so_far) return false; // All chunks are uploaded - now upload the manifest try { $object->manifest = $container."/".$chunk_path."_"; // Put a zero-length file $object->write("", 0, false); $object->sync_manifest(); $this->log("upload: success"); $updraftplus->uploaded_file($file); // } catch (InvalidResponseException $e) { } catch (Exception $e) { $this->log('error - failed to re-assemble chunks ('.$e->getMessage().')'); $this->log(__('error - failed to re-assemble chunks', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } } } } catch (Exception $e) { $this->log(__('error - failed to upload file', 'updraftplus').' ('.$e->getMessage().')'); $this->log(__('error - failed to upload file', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } } return array('cloudfiles_object' => $container_object, 'cloudfiles_orig_path' => $opts['path'], 'cloudfiles_container' => $container); } public function listfiles($match = 'backup_') { $opts = $this->get_options(); $container = $opts['path']; if (empty($opts['user']) || empty($opts['apikey'])) new WP_Error('no_settings', __('No settings were found', 'updraftplus')); try { $storage = $this->getCF($opts['user'], $opts['apikey'], $opts['authurl'], UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts')); $container_object = $storage->create_container($container); } catch (Exception $e) { return new WP_Error('no_access', sprintf(__('%s authentication failed', 'updraftplus'), 'Cloud Files').' ('.$e->getMessage().')'); } $results = array(); try { $objects = $container_object->list_objects(0, null, $match); foreach ($objects as $name) { $result = array('name' => $name); try { $object = new UpdraftPlus_CF_Object($container_object, $name, true); if (0 == $object->content_length) { $result = false; } else { $result['size'] = $object->content_length; } } catch (Exception $e) { // Catch } if (is_array($result)) $results[] = $result; } } catch (Exception $e) { return new WP_Error('cf_error', 'Cloud Files error ('.$e->getMessage().')'); } return $results; } /** * Delete a single file from the service using the CloudFiles API * * @param Array $files - array of file paths to delete * @param Array $cloudfilesarr - CloudFiles container and object details * @param Array $sizeinfo - unused here * @return Boolean|String - either a boolean true or an error code string */ public function delete($files, $cloudfilesarr = false, $sizeinfo = array()) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $sizeinfo is unused if (is_string($files)) $files =array($files); if ($cloudfilesarr) { $container_object = $cloudfilesarr['cloudfiles_object']; $container = $cloudfilesarr['cloudfiles_container']; } else { try { $opts = $this->get_options(); $container = $opts['path']; $storage = $this->getCF($opts['user'], $opts['apikey'], $opts['authurl'], UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts')); $container_object = $storage->create_container($container); } catch (Exception $e) { $this->log('authentication failed ('.$e->getMessage().')'); $this->log(__('authentication failed', 'updraftplus').' ('.$e->getMessage().')', 'error'); return 'authentication_fail'; } } $ret = true; foreach ($files as $file) { $fpath = $file; $this->log("Delete remote: container=$container, path=$fpath"); // We need to search for chunks $chunk_path = "chunk-do-not-delete-$file"; try { $objects = $container_object->list_objects(0, null, $chunk_path.'_'); foreach ($objects as $chunk) { $this->log('Chunk to delete: '.$chunk); $container_object->delete_object($chunk); $this->log('Chunk deleted: '.$chunk); } } catch (Exception $e) { $this->log('chunk delete failed: '.$e->getMessage()); } try { $container_object->delete_object($fpath); $this->log('Deleted: '.$fpath); } catch (Exception $e) { $this->log('delete failed: '.$e->getMessage()); $ret = 'file_delete_error'; } } return $ret; } public function download($file) { global $updraftplus; $updraft_dir = $updraftplus->backups_dir_location(); $opts = $this->get_options(); try { $storage = $this->getCF($opts['user'], $opts['apikey'], $opts['authurl'], UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts')); } catch (AuthenticationException $e) { $this->log('authentication failed ('.$e->getMessage().')'); $this->log(__('authentication failed', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } catch (NoSuchAccountException $s) { $this->log('authentication failed ('.$e->getMessage().')'); $this->log(__('authentication failed', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } catch (Exception $e) { $this->log('error - failed to create and access the container ('.$e->getMessage().')'); $this->log(__('error - failed to create and access the container', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } $path = untrailingslashit($opts['path']); $container = $path; try { $container_object = $storage->create_container($container); } catch (Exception $e) { $this->log('error - failed to create and access the container ('.$e->getMessage().')'); $this->log(__('error - failed to create and access the container', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } $path = $file; $this->log("download: cloudfiles://$container/$path"); try { // The third parameter causes an exception to be thrown if the object does not exist remotely $object = new UpdraftPlus_CF_Object($container_object, $path, true); $fullpath = $updraft_dir.'/'.$file; $start_offset = (file_exists($fullpath)) ? filesize($fullpath) : 0; // Get file size from remote - see if we've already finished $remote_size = $object->content_length; if ($start_offset >= $remote_size) { $this->log("file is already completely downloaded ($start_offset/$remote_size)"); return true; } // Some more remains to download - so let's do it if (!$fh = fopen($fullpath, 'a')) { $this->log("Error opening local file: $fullpath"); $this->log("$file: ".__('Error opening local file: Failed to download', 'updraftplus'), 'error'); return false; } $headers = array(); // If resuming, then move to the end of the file if ($start_offset) { $this->log("local file is already partially downloaded ($start_offset/$remote_size)"); fseek($fh, $start_offset); $headers['Range'] = "bytes=$start_offset-"; } // Now send the request itself try { $object->stream($fh, $headers); } catch (Exception $e) { $this->log("Failed to download: $file (".$e->getMessage().")"); $this->log("$file: ".__('Error downloading remote file: Failed to download', 'updraftplus').' ('.$e->getMessage().")", 'error'); return false; } // All-in-one-go method: // $object->save_to_filename($fullpath); } catch (NoSuchObjectException $e) { $this->log('error - no such file exists. ('.$e->getMessage().')'); $this->log(__('Error - no such file exists.', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } catch (Exception $e) { $this->log('error - failed to download the file ('.$e->getMessage().')'); $this->log(__('Error - failed to download the file', 'updraftplus').' ('.$e->getMessage().')', 'error'); return false; } return true; } /** * Get the pre configuration template * * @return String - the template */ public function get_pre_configuration_template() { global $updraftplus_admin; $classes = $this->get_css_classes(false); ?> Rackspace Cloud Files
show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__('Your web server\'s PHP installation does not included a required module (%s).', 'updraftplus'), 'mbstring').' '.__('Please contact your web hosting provider\'s support.', 'updraftplus').' '.sprintf(__("UpdraftPlus's %s module requires %s.", 'updraftplus'), 'Cloud Files', 'mbstring').' '.__('Please do not file any support requests; there is no alternative.', 'updraftplus'), 'cloudfiles', false); } $updraftplus_admin->curl_check('Rackspace Cloud Files', false, 'cloudfiles', false); ?> ' . __('Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage.', 'updraftplus').' '.__('This container will be created for you if it does not already exist.', 'updraftplus').' '.__('Also, you should read this important FAQ.', 'updraftplus').'

'; ?> get_css_classes(); $template_str = ' '.__('US or UK Cloud', 'updraftplus').': output_settings_field_name_and_id('region', true).' value="">'; /* // Can put a message here if someone asks why region storage is not available (only available on new SDK) : */ $template_str .= ' '.__('Cloud Files username', 'updraftplus').': output_settings_field_name_and_id('user', true).' value="{{user}}" /> '.__('Cloud Files API Key', 'updraftplus').': output_settings_field_name_and_id('apikey', true).' value="{{apikey}}" /> '.apply_filters('updraftplus_cloudfiles_location_description', __('Cloud Files Container', 'updraftplus')).': output_settings_field_name_and_id('path', true).' value="{{path}}" /> '; $template_str .= $this->get_test_button_html(__('Cloud Files', 'updraftplus')); return $template_str; } /** * Modifies handerbar template options * * @param array $opts handerbar template options * @return Array - Modified handerbar template options */ public function transform_options_for_template($opts) { $opts['apikey'] = trim($opts['apikey']); $opts['authurl'] = isset($opts['authurl']) ? $opts['authurl'] : ''; return $opts; } /** * Perform a test of user-supplied credentials, and echo the result * * @param Array $posted_settings - settings to test */ public function credentials_test($posted_settings) { if (empty($posted_settings['apikey'])) { printf(__("Failure: No %s was given.", 'updraftplus'), __('API key', 'updraftplus')); return; } if (empty($posted_settings['user'])) { printf(__("Failure: No %s was given.", 'updraftplus'), __('Username', 'updraftplus')); return; } $key = $posted_settings['apikey']; $user = $posted_settings['user']; $path = $posted_settings['path']; $authurl = $posted_settings['authurl']; $useservercerts = $posted_settings['useservercerts']; $disableverify = $posted_settings['disableverify']; if (preg_match("#^([^/]+)/(.*)$#", $path, $bmatches)) { $container = $bmatches[1]; $path = $bmatches[2]; } else { $container = $path; $path = ""; } if (empty($container)) { _e("Failure: No container details were given.", 'updraftplus'); return; } define('UPDRAFTPLUS_SSL_DISABLEVERIFY', $disableverify); try { $storage = $this->getCF($user, $key, $authurl, $useservercerts); $container_object = $storage->create_container($container); } catch (AuthenticationException $e) { echo __('Cloud Files authentication failed', 'updraftplus').' ('.$e->getMessage().')'; return; } catch (NoSuchAccountException $s) { echo __('Cloud Files authentication failed', 'updraftplus').' ('.$e->getMessage().')'; return; } catch (Exception $e) { echo __('Cloud Files authentication failed', 'updraftplus').' ('.$e->getMessage().')'; return; } $try_file = md5(rand()).'.txt'; try { $object = $container_object->create_object($try_file); $object->content_type = "text/plain"; $object->write('UpdraftPlus test file'); } catch (Exception $e) { echo __('Cloud Files error - we accessed the container, but failed to create a file within it', 'updraftplus').' ('.$e->getMessage().')'; return; } echo __('Success', 'updraftplus').": ".__('We accessed the container, and were able to create files within it.', 'updraftplus'); @$container_object->delete_object($try_file);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } } // Moved to the bottom to fix a bug in some version or install of PHP which required UpdraftPlus_BackupModule_cloudfiles_oldsdk to be defined earlier in the file (despite the conditionality) - see HS#19911 if (version_compare(PHP_VERSION, '5.3.3', '>=') && (!defined('UPDRAFTPLUS_CLOUDFILES_USEOLDSDK') || UPDRAFTPLUS_CLOUDFILES_USEOLDSDK != true)) { updraft_try_include_file('methods/cloudfiles-new.php', 'include_once'); class UpdraftPlus_BackupModule_cloudfiles extends UpdraftPlus_BackupModule_cloudfiles_opencloudsdk { } } else { class UpdraftPlus_BackupModule_cloudfiles extends UpdraftPlus_BackupModule_cloudfiles_oldsdk { } } methods/template.php000064400000012241147400355670010546 0ustar00log("my log message") to log things, which greatly helps debugging * - UpdraftPlus is licenced under the GPLv3 or later. In order to combine your backup method with UpdraftPlus, you will need to licence to anyone and everyone that you distribute it to in a compatible way. */ if (!defined('UPDRAFTPLUS_DIR')) die('No direct access allowed.'); if (!class_exists('UpdraftPlus_BackupModule')) updraft_try_include_file('methods/backup-module.php', 'require_once'); class UpdraftPlus_BackupModule_template extends UpdraftPlus_BackupModule { /** * backup method: takes an array, and shovels them off to the cloud storage * * @param Array $backup_array Array of files (basenames) to sent to remote storage * @return Mixed - (boolean)false to indicate failure; otherwise, something to be passed back when deleting files */ public function backup($backup_array) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- This is a template file and can be ignored global $updraftplus;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- This is a template file and can be ignored // foreach ($backup_array as $file) { // Do our uploading stuff... // If successful, then you must do this: // $updraftplus->uploaded_file($file); // } } /** * This function lists the files found in the configured storage location * * @param String $match a substring to require (tested via strpos() !== false) * * @return Array - each file is represented by an array with entries 'name' and (optional) 'size' */ public function listfiles($match = 'backup_') {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- This is a template file and can be ignored // This function needs to return an array of arrays. The keys for the sub-arrays are name (a path-less filename, i.e. a basename), (optional)size, and should be a list of matching files from the storage backend. A WP_Error object can also be returned; and the error code should be no_settings if that is relevant. return array(); } /** * delete method: takes an array of file names (base name) or a single string, and removes them from the cloud storage * * @param string $files The specific files * @param mixed $data Anything passed back from self::backup() * @param array $sizeinfo Size information * @return Boolean - whether the operation succeeded or not */ public function delete($files, $data = false, $sizeinfo = array()) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- This is a template file and can be ignored global $updraftplus;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- This is a template file and can be ignored if (is_string($files)) $files = array($files); } /** * download method: takes a file name (base name), and brings it back from the cloud storage into Updraft's directory * You can register errors with $updraftplus->log("my error message", 'error') * * @param String $file The specific file to be downloaded from the Cloud Storage * * @return Boolean - success or failure state */ public function download($file) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- This is a template file and can be ignored global $updraftplus;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- This is a template file and can be ignored } public function get_supported_features() { // This options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates'); } /** * Get the configuration template, in Handlebars format. * Note that logging is not available from this context; it will do nothing. * * @return String - the template, ready for substitutions to be carried out */ public function get_configuration_template() { ob_start(); $classes = $this->get_css_classes(); ?> My Method: UpdraftPlus_Options::get_updraft_option('updraft_ftp_login'), 'pass' => UpdraftPlus_Options::get_updraft_option('updraft_ftp_pass'), 'host' => UpdraftPlus_Options::get_updraft_option('updraft_server_address'), 'path' => UpdraftPlus_Options::get_updraft_option('updraft_ftp_remote_path'), 'passive' => true ); UpdraftPlus_Options::update_updraft_option('updraft_ftp', $opts); UpdraftPlus_Options::delete_updraft_option('updraft_server_address'); UpdraftPlus_Options::delete_updraft_option('updraft_ftp_pass'); UpdraftPlus_Options::delete_updraft_option('updraft_ftp_remote_path'); UpdraftPlus_Options::delete_updraft_option('updraft_ftp_login'); } if (!class_exists('UpdraftPlus_BackupModule')) updraft_try_include_file('methods/backup-module.php', 'require_once'); class UpdraftPlus_BackupModule_ftp extends UpdraftPlus_BackupModule { /** * Get FTP object with parameters set * * @param String $server Specify Server * @param String $user Specify Username * @param String $pass Specify Password * @param Boolean $disable_ssl Indicate whether to disable SSL * @param Boolean $disable_verify Indicate whether to disable verifiction * @param Boolean $use_server_certs Indicate whether to use server certificates * @param Boolean $passive Indicate whether to use passive FTP mode * @return Array */ private function getFTP($server, $user, $pass, $disable_ssl = false, $disable_verify = true, $use_server_certs = false, $passive = true) { if ('' == trim($server) || '' == trim($user) || '' == trim($pass)) return new WP_Error('no_settings', sprintf(__('No %s settings were found', 'updraftplus'), 'FTP')); if (!class_exists('UpdraftPlus_ftp_wrapper')) updraft_try_include_file('includes/ftp.class.php', 'include_once'); $port = 21; if (preg_match('/^(.*):(\d+)$/', $server, $matches)) { $server = $matches[1]; $port = $matches[2]; } $ftp = new UpdraftPlus_ftp_wrapper($server, $user, $pass, $port); if ($disable_ssl) $ftp->ssl = false; $ftp->use_server_certs = $use_server_certs; $ftp->disable_verify = $disable_verify; $ftp->passive = ($passive) ? true : false; return $ftp; } /** * WordPress options filter, sanitising the FTP options saved from the options page * * @param Array $settings - the options, prior to sanitisation * * @return Array - the sanitised options for saving */ public function options_filter($settings) { if (is_array($settings) && !empty($settings['version']) && !empty($settings['settings'])) { foreach ($settings['settings'] as $instance_id => $instance_settings) { if (!empty($instance_settings['host']) && preg_match('#ftp(es|s)?://(.*)#i', $instance_settings['host'], $matches)) { $settings['settings'][$instance_id]['host'] = rtrim($matches[2], "/ \t\n\r\0x0B"); } if (isset($instance_settings['pass'])) { $settings['settings'][$instance_id]['pass'] = trim($instance_settings['pass'], "\n\r\0\x0B"); } } } return $settings; } public function get_supported_features() { // The 'multi_options' options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates', 'multi_storage', 'conditional_logic'); } public function get_default_options() { return array( 'host' => '', 'user' => '', 'pass' => '', 'path' => '', 'passive' => 1 ); } /** * Retrieve a list of template properties by taking all the persistent variables and methods of the parent class and combining them with the ones that are unique to this module, also the necessary HTML element attributes and texts which are also unique only to this backup module * NOTE: Please sanitise all strings that are required to be shown as HTML content on the frontend side (i.e. wp_kses()) * * @return Array an associative array keyed by names that describe themselves as they are */ public function get_template_properties() { global $updraftplus; $possible = $this->ftp_possible(); $ftp_not_possible = array(); if (is_array($possible)) { $trans = array( 'ftp' => __('regular non-encrypted FTP', 'updraftplus'), 'ftpsslimplicit' => __('encrypted FTP (implicit encryption)', 'updraftplus'), 'ftpsslexplicit' => __('encrypted FTP (explicit encryption)', 'updraftplus') ); foreach ($possible as $type => $missing) { $ftp_not_possible[] = wp_kses(''.__('Warning', 'updraftplus').': '. sprintf(__("Your web server's PHP installation has these functions disabled: %s.", 'updraftplus'), implode(', ', $missing)).' '.sprintf(__('Your hosting company must enable these functions before %s can work.', 'updraftplus'), $trans[$type]), $this->allowed_html_for_content_sanitisation()); } } $properties = array( 'updraft_sftp_ftps_notice' => wp_kses(apply_filters('updraft_sftp_ftps_notice', ''.__('Only non-encrypted FTP is supported by regular UpdraftPlus.').' '.__('If you want encryption (e.g. you are storing sensitive business data), then an add-on is available in the Premium version.', 'updraftplus')), $this->allowed_html_for_content_sanitisation()), 'ftp_not_possible_warnings' => $ftp_not_possible, 'input_host_label' => __('FTP server', 'updraftplus'), 'input_user_label' => __('FTP login', 'updraftplus'), 'input_password_label' => __('FTP password', 'updraftplus'), 'input_password_type' => apply_filters('updraftplus_admin_secret_field_type', 'password'), 'input_path_label' => __('Remote path', 'updraftplus'), 'input_path_title' => __('Needs to already exist', 'updraftplus'), 'input_passive_label' => __('Passive mode', 'updraftplus'), 'input_passive_title' => __('Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this.', 'updraftplus'), 'input_test_label' => sprintf(__('Test %s Settings', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]) ); return wp_parse_args($properties, $this->get_persistent_variables_and_methods()); } public function backup($backup_array) { global $updraftplus; $opts = $this->get_options(); $ftp = $this->getFTP( $opts['host'], $opts['user'], $opts['pass'], $updraftplus->get_job_option('updraft_ssl_nossl'), $updraftplus->get_job_option('updraft_ssl_disableverify'), $updraftplus->get_job_option('updraft_ssl_useservercerts'), $opts['passive'] ); if (is_wp_error($ftp) || !$ftp->connect()) { if (is_wp_error($ftp)) { $updraftplus->log_wp_error($ftp); } else { $this->log("Failure: we did not successfully log in with those credentials."); } $this->log(__("login failure", 'updraftplus'), 'error'); return false; } // $ftp->make_dir(); we may need to recursively create dirs? TODO $updraft_dir = $updraftplus->backups_dir_location().'/'; $ftp_remote_path = trailingslashit($opts['path']); foreach ($backup_array as $file) { $fullpath = $updraft_dir.$file; $this->log("upload attempt: $file -> ftp://".$opts['user']."@".$opts['host']."/{$ftp_remote_path}{$file}"); $timer_start = microtime(true); $size_k = round(filesize($fullpath)/1024, 1); // Note :Setting $resume to true unnecessarily is not meant to be a problem. Only ever (Feb 2014) seen one weird FTP server where calling SIZE on a non-existent file did create a problem. So, this code just helps that case. (the check for non-empty upload_status[p] is being cautious. $upload_status = $updraftplus->jobdata_get('uploading_substatus'); if (0 == $updraftplus->current_resumption || (is_array($upload_status) && !empty($upload_status['p']) && 0 == $upload_status['p'])) { $resume = false; } else { $resume = true; } if ($ftp->put($fullpath, $ftp_remote_path.$file, FTP_BINARY, $resume, $updraftplus)) { $this->log("upload attempt successful (".$size_k."KB in ".(round(microtime(true)-$timer_start, 2)).'s)'); $updraftplus->uploaded_file($file); } else { $this->log("ERROR: FTP upload failed"); $this->log(__("upload failed", 'updraftplus'), 'error'); } } return array('ftp_object' => $ftp, 'ftp_remote_path' => $ftp_remote_path); } public function listfiles($match = 'backup_') { global $updraftplus; $opts = $this->get_options(); $ftp = $this->getFTP( $opts['host'], $opts['user'], $opts['pass'], $updraftplus->get_job_option('updraft_ssl_nossl'), $updraftplus->get_job_option('updraft_ssl_disableverify'), $updraftplus->get_job_option('updraft_ssl_useservercerts'), $opts['passive'] ); if (is_wp_error($ftp)) return $ftp; if (!$ftp->connect()) return new WP_Error('ftp_login_failed', sprintf(__("%s login failure", 'updraftplus'), 'FTP')); $ftp_remote_path = $opts['path']; if ($ftp_remote_path) $ftp_remote_path = trailingslashit($ftp_remote_path); $dirlist = $ftp->dir_list($ftp_remote_path); if (!is_array($dirlist)) return array(); $results = array(); foreach ($dirlist as $k => $path) { if ($ftp_remote_path) { // Feb 2015 - found a case where the directory path was not prefixed on if (0 !== strpos($path, $ftp_remote_path) && (false !== strpos('/', $ftp_remote_path) && false !== strpos('\\', $ftp_remote_path))) continue; if (0 === strpos($path, $ftp_remote_path)) $path = substr($path, strlen($ftp_remote_path)); // if (0 !== strpos($path, $ftp_remote_path)) continue; // $path = substr($path, strlen($ftp_remote_path)); if (0 === strpos($path, $match)) $results[]['name'] = $path; } else { if ('/' == substr($path, 0, 1)) $path = substr($path, 1); if (false !== strpos($path, '/')) continue; if (0 === strpos($path, $match)) $results[]['name'] = $path; } unset($dirlist[$k]); } // ftp_nlist() doesn't return file sizes. rawlist() does, but is tricky to parse. So, we get the sizes manually. foreach ($results as $ind => $name) { $size = $ftp->size($ftp_remote_path.$name['name']); if (0 === $size) { unset($results[$ind]); } elseif ($size>0) { $results[$ind]['size'] = $size; } } return $results; } /** * Delete a single file from the service using FTP protocols * * @param Array $files - array of file names to delete * @param Array $ftparr - FTP details/credentials * @param Array $sizeinfo - unused here * @return Boolean|String - either a boolean true or an error code string */ public function delete($files, $ftparr = array(), $sizeinfo = array()) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $sizeinfo unused global $updraftplus; if (is_string($files)) $files = array($files); $opts = $this->get_options(); if (is_array($ftparr) && isset($ftparr['ftp_object'])) { $ftp = $ftparr['ftp_object']; } else { $ftp = $this->getFTP( $opts['host'], $opts['user'], $opts['pass'], $updraftplus->get_job_option('updraft_ssl_nossl'), $updraftplus->get_job_option('updraft_ssl_disableverify'), $updraftplus->get_job_option('updraft_ssl_useservercerts'), $opts['passive'] ); if (is_wp_error($ftp) || !$ftp->connect()) { if (is_wp_error($ftp)) $updraftplus->log_wp_error($ftp); $this->log("Failure: we did not successfully log in with those credentials (host=".$opts['host'].")."); return 'authentication_fail'; } } $ftp_remote_path = isset($ftparr['ftp_remote_path']) ? $ftparr['ftp_remote_path'] : trailingslashit($opts['path']); $ret = true; foreach ($files as $file) { if (@$ftp->delete($ftp_remote_path.$file)) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. $this->log("delete: succeeded ({$ftp_remote_path}{$file})"); } else { $this->log("delete: failed ({$ftp_remote_path}{$file})"); $ret = 'file_delete_error'; } } return $ret; } public function download($file) { global $updraftplus; $opts = $this->get_options(); $ftp = $this->getFTP( $opts['host'], $opts['user'], $opts['pass'], $updraftplus->get_job_option('updraft_ssl_nossl'), $updraftplus->get_job_option('updraft_ssl_disableverify'), $updraftplus->get_job_option('updraft_ssl_useservercerts'), $opts['passive'] ); if (is_wp_error($ftp)) { $this->log('Failure to get FTP object: '.$ftp->get_error_code().': '.$ftp->get_error_message()); $this->log($ftp->get_error_message().' ('.$ftp->get_error_code().')', 'error'); return false; } if (!$ftp->connect()) { $this->log('Failure: we did not successfully log in with those credentials.'); $this->log(__('login failure', 'updraftplus'), 'error'); return false; } // $ftp->make_dir(); we may need to recursively create dirs? TODO $ftp_remote_path = trailingslashit($opts['path']); $fullpath = $updraftplus->backups_dir_location().'/'.$file; $resume = false; if (file_exists($fullpath)) { $resume = true; $this->log("File already exists locally; will resume: size: ".filesize($fullpath)); } return $ftp->get($fullpath, $ftp_remote_path.$file, FTP_BINARY, $resume, $updraftplus); } private function ftp_possible() { $funcs_disabled = array(); foreach (array('ftp_connect', 'ftp_login', 'ftp_nb_fput') as $func) { if (!function_exists($func)) $funcs_disabled['ftp'][] = $func; } $funcs_disabled = apply_filters('updraftplus_ftp_possible', $funcs_disabled); return (0 == count($funcs_disabled)) ? true : $funcs_disabled; } /** * Get the pre configuration template * * @return String - the template */ public function get_pre_configuration_template() { ?>

{{method_display_name}}

{{#each ftp_not_possible_warnings}}

{{{this}}}

{{{this}}}

{{/each}} {{#ifCond "undefined" "not_typeof" updraft_sftp_ftps_notice}}

{{{updraft_sftp_ftps_notice}}}

{{/ifCond}} {{input_host_label}}: {{input_user_label}}: {{input_password_label}}: {{input_path_label}}: {{input_path_title}} {{input_passive_label}}:
{{input_passive_title}} {{{get_template_test_button_html "FTP"}}} getFTP($server, $login, $pass, $nossl, $disable_verify, $use_server_certs); $ftp = $this->getFTP($server, $login, $pass, $nossl, $disable_verify, $use_server_certs, $passive); if (!$ftp->connect()) { _e('Failure: we did not successfully log in with those credentials.', 'updraftplus'); return; } // $ftp->make_dir(); we may need to recursively create dirs? TODO $file = md5(rand(0, 99999999)).'.tmp'; $fullpath = trailingslashit($path).$file; if ($ftp->put(ABSPATH.WPINC.'/version.php', $fullpath, FTP_BINARY, false, true)) { echo __("Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:", 'updraftplus')." ".$ftp->login_type.')'; @$ftp->delete($fullpath);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } else { _e('Failure: we successfully logged in, but were not able to create a file in the given directory.', 'updraftplus'); if (!empty($ftp->ssl)) { echo ' '.__('This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again.', 'updraftplus'); } } } /** * Check whether options have been set up by the user, or not * * @param Array $opts - the potential options * * @return Boolean */ public function options_exist($opts) { if (is_array($opts) && !empty($opts['host']) && isset($opts['user']) && '' != $opts['user']) return true; return false; } } methods/pcloud.php000064400000001326147400355670010223 0ustar00options; try { $storage = $this->bootstrap(); if (is_wp_error($storage)) throw new Exception($storage->get_error_message()); if (!is_object($storage)) throw new Exception("RPC service error"); } catch (Exception $e) { $message = $e->getMessage().' ('.get_class($e).') (line: '.$e->getLine().', file: '.$e->getFile().')'; $this->log("RPC service error: ".$message); $this->log($message, 'error'); return false; } $filesize = filesize($from); $this->remotesend_file_size = $filesize; // See what the sending side currently has. This also serves as a ping. For that reason, we don't try/catch - we let them be caught at the next level up. $get_remote_size = $this->send_message('get_file_status', $file, 30); if (is_wp_error($get_remote_size)) { throw new Exception($get_remote_size->get_error_message().' (get_file_status: '.$get_remote_size->get_error_code().')'); } if (!is_array($get_remote_size) || empty($get_remote_size['response'])) throw new Exception(__('Unexpected response:', 'updraftplus').' '.serialize($get_remote_size)); if ('error' == $get_remote_size['response']) { $msg = $get_remote_size['data']; // Could interpret the codes to get more interesting messages directly to the user throw new Exception(__('Error:', 'updraftplus').' '.$msg); } if (empty($get_remote_size['data']) || !isset($get_remote_size['data']['size']) || 'file_status' != $get_remote_size['response']) throw new Exception(__('Unexpected response:', 'updraftplus').' '.serialize($get_remote_size)); // Possible statuses: 0=temporary file (or not present), 1=file if (empty($get_remote_size['data'])) { $remote_size = 0; $remote_status = 0; } else { $remote_size = (int) $get_remote_size['data']['size']; $remote_status = $get_remote_size['data']['status']; } $this->log("$file: existing size: ".$remote_size); // Perhaps it already exists? (if we didn't get the final confirmation) if ($remote_size >= $filesize && $remote_status) { $this->log("$file: already uploaded"); return true; } // Length = 44 (max = 45) $this->remote_sent_defchunk_transient = 'ud_rsenddck_'.md5($opts['name_indicator']); if (empty($this->default_chunk_size)) { // Default is 2MB. After being b64-encoded twice, this is ~ 3.7MB = 113 seconds on 32KB/s uplink $default_chunk_size = $updraftplus->jobdata_get('clone_job') ? 4194304 : 2097152; if (defined('UPDRAFTPLUS_REMOTESEND_DEFAULT_CHUNK_BYTES') && UPDRAFTPLUS_REMOTESEND_DEFAULT_CHUNK_BYTES >= 16384) $default_chunk_size = UPDRAFTPLUS_REMOTESEND_DEFAULT_CHUNK_BYTES; $this->default_chunk_size = $default_chunk_size; } $default_chunk_size = $this->default_chunk_size; if (false !== ($saved_default_chunk_size = get_transient($this->remote_sent_defchunk_transient)) && $saved_default_chunk_size > 16384) { // Don't go lower than 256KB for the *default*. (The job size can go lower). $default_chunk_size = max($saved_default_chunk_size, 262144); } $this->remotesend_use_chunk_size = $updraftplus->jobdata_get('remotesend_chunksize', $default_chunk_size); if (0 == $remote_size && $this->remotesend_use_chunk_size == $this->default_chunk_size && $updraftplus->current_resumption - max($updraftplus->jobdata_get('uploaded_lastreset'), 1) > 1) { $new_chunk_size = floor($this->remotesend_use_chunk_size / 2); $this->log("No uploading activity has been detected for a while; reducing chunk size in case a timeout was occurring. New chunk size: ".$new_chunk_size); $this->remotesend_set_new_chunk_size($new_chunk_size); } try { if (false != ($handle = fopen($from, 'rb'))) { $this->remotesend_uploaded_size = $remote_size; $ret = $updraftplus->chunked_upload($this, $file, $this->method."://".trailingslashit($opts['url']).$file, $this->description, $this->remotesend_use_chunk_size, $remote_size, true); fclose($handle); return $ret; } else { throw new Exception("Failed to open file for reading: $from"); } } catch (Exception $e) { $this->log("upload: error (".get_class($e)."): ($file) (".$e->getMessage().") (line: ".$e->getLine().', file: '.$e->getFile().')'); if (!empty($this->remotesend_chunked_wp_error) && is_wp_error($this->remotesend_chunked_wp_error)) { $this->log("Exception data: ".base64_encode(serialize($this->remotesend_chunked_wp_error->get_error_data()))); } return false; } return true; } /** * Chunked upload * * @param String $file Specific file to be used in chunked upload * @param Resource $fp File handle * @param Integer $chunk_index The index of the chunked data * @param Integer $upload_size Size of the upload * @param Integer $upload_start String the upload starts on * @param Integer $upload_end String the upload ends on * * @return Boolean|Integer Result (N.B> (int)1 means the same as true, but additionally indicates "don't log it") */ public function chunked_upload($file, $fp, $chunk_index, $upload_size, $upload_start, $upload_end) { // Condition used to be "$upload_start < $this->remotesend_uploaded_size" - but this assumed that the other side never failed after writing only some bytes to disk // $upload_end is the byte offset of the final byte. Therefore, add 1 onto it when comparing with a size. if ($upload_end + 1 <= $this->remotesend_uploaded_size) return 1; global $updraftplus; $chunk = fread($fp, $upload_size); if (false === $chunk) { $this->log("upload: $file: fread failure ($upload_start)"); return false; } $try_again = false; $data = array('file' => $file, 'data' => base64_encode($chunk), 'start' => $upload_start); if ($upload_end+1 >= $this->remotesend_file_size) { $data['last_chunk'] = true; if ('' != ($label = $updraftplus->jobdata_get('label'))) $data['label'] = $label; } // ~ 3.7MB of data typically - timeout allows for 15.9KB/s try { $put_chunk = $this->send_message('send_chunk', $data, 240); } catch (Exception $e) { $try_again = true; } if ($try_again || is_wp_error($put_chunk)) { // 413 = Request entity too large // Don't go lower than 64KB chunks (i.e. 128KB/2) // Note that mod_security can be configured to 'helpfully' decides to replace HTTP error codes + messages with a simple serving up of the site home page, which means that we need to also guess about other reasons this condition may have occurred other than detecting via the direct 413 code. Of course, our search for wp-includes|wp-content|WordPress|/themes/ would be thwarted by someone who tries to hide their WP. The /themes/ is pretty hard to hide, as the theme directory is always /themes - even if you moved your wp-content. The point though is just a 'best effort' - this doesn't have to be infallible. if (is_wp_error($put_chunk)) { $error_data = $put_chunk->get_error_data(); $is_413 = ('unexpected_http_code' == $put_chunk->get_error_code() && ( 413 == $error_data || (is_array($error_data) && !empty($error_data['response']['code']) && 413 == $error_data['response']['code']) ) ); $is_timeout = ('http_request_failed' == $put_chunk->get_error_code() && false !== strpos($put_chunk->get_error_message(), 'timed out')); if ($this->remotesend_use_chunk_size >= 131072 && ($is_413 || $is_timeout || ('response_not_understood' == $put_chunk->get_error_code() && (false !== strpos($error_data, 'wp-includes') || false !== strpos($error_data, 'wp-content') || false !== strpos($error_data, 'WordPress') || false !== strpos($put_chunk->get_error_data(), '/themes/'))))) { if (1 == $chunk_index) { $new_chunk_size = floor($this->remotesend_use_chunk_size / 2); $this->remotesend_set_new_chunk_size($new_chunk_size); $log_msg = "Returned WP_Error: code=".$put_chunk->get_error_code(); if ('unexpected_http_code' == $put_chunk->get_error_code()) $log_msg .= ' ('.$error_data.')'; $log_msg .= " - reducing chunk size to: ".$new_chunk_size; $this->log($log_msg); return new WP_Error('reduce_chunk_size', 'HTTP 413 or possibly equivalent condition on first chunk - should reduce chunk size', $new_chunk_size); } elseif ($this->remotesend_use_chunk_size >= 131072 && $is_413) { // In this limited case, where we got a 413 but the chunk is not number 1, our algorithm/architecture doesn't allow us to just resume immediately with a new chunk size. However, we can just have UD reduce the chunk size on its next resumption. $new_chunk_size = floor($this->remotesend_use_chunk_size / 2); $this->remotesend_set_new_chunk_size($new_chunk_size); $log_msg = "Returned WP_Error: code=".$put_chunk->get_error_code().", message=".$put_chunk->get_error_message(); $log_msg .= " - reducing chunk size to: ".$new_chunk_size." and then scheduling resumption/aborting"; $this->log($log_msg); UpdraftPlus_Job_Scheduler::reschedule(50); UpdraftPlus_Job_Scheduler::record_still_alive(); die; } } } $put_chunk = $this->send_message('send_chunk', $data, 240); } if (is_wp_error($put_chunk)) { // The exception handler is within this class. So we can store the data. $this->remotesend_chunked_wp_error = $put_chunk; throw new Exception($put_chunk->get_error_message().' ('.$put_chunk->get_error_code().')'); } if (!is_array($put_chunk) || empty($put_chunk['response'])) throw new Exception(__('Unexpected response:', 'updraftplus').' '.serialize($put_chunk)); if ('error' == $put_chunk['response']) { $msg = $put_chunk['data']; // Could interpret the codes to get more interesting messages directly to the user // The textual prefixes here were added after 1.12.5 - hence optional when parsing if (preg_match('/^invalid_start_too_big:(start=)?(\d+),(existing_size=)?(\d+)/', $msg, $matches)) { $existing_size = $matches[2]; if ($existing_size < $this->remotesend_uploaded_size) { // The file on the remote system seems to have shrunk. Could be some load-balancing system with a distributed filesystem that is only eventually consistent. return new WP_Error('try_again', 'File on remote system is smaller than expected - perhaps an eventually-consistent filesystem (wait and retry)'); } } throw new Exception(__('Error:', 'updraftplus').' '.$msg); } if ('file_status' != $put_chunk['response']) throw new Exception(__('Unexpected response:', 'updraftplus').' '.serialize($put_chunk)); // Possible statuses: 0=temporary file (or not present), 1=file if (empty($put_chunk['data']) || !is_array($put_chunk['data'])) { $this->log("Unexpected response when putting chunk $chunk_index: ".serialize($put_chunk)); return false; } else { $remote_size = (int) $put_chunk['data']['size']; $this->remotesend_uploaded_size = $remote_size; } return true; } /** * This function will send a message to the remote site to inform it that the backup has finished sending, on success will update the jobdata key upload_completed and return true else false * * @return Boolean - returns true on success or false on error, all errors are logged to the backup log */ public function upload_completed() { global $updraftplus; $service = $updraftplus->jobdata_get('service'); $remote_sent = (!empty($service) && ((is_array($service) && in_array('remotesend', $service)) || 'remotesend' === $service)); if (!$remote_sent) return; // If this is a partial upload then don't send the upload complete signal if ('partialclouduploading' == $updraftplus->jobdata_get('jobstatus')) return; // ensure options have been loaded $this->options = $this->get_options(); try { $storage = $this->bootstrap(); if (is_wp_error($storage)) throw new Exception($storage->get_error_message()); if (!is_object($storage)) throw new Exception("RPC service error"); } catch (Exception $e) { $message = $e->getMessage().' ('.get_class($e).') (line: '.$e->getLine().', file: '.$e->getFile().')'; $this->log("RPC service error: ".$message); $this->log($message, 'error'); return false; } if (is_wp_error($storage)) return $updraftplus->log_wp_error($storage, false, true); for ($i = 0; $i < 3; $i++) { $success = false; $response = $this->send_message('upload_complete', array('job_id' => $updraftplus->nonce), 30); if (is_wp_error($response)) { $message = $response->get_error_message().' (upload_complete: '.$response->get_error_code().')'; $this->log("RPC service error: ".$message); $this->log($message, 'error'); } elseif (!is_array($response) || empty($response['response'])) { $this->log("RPC service error: ".serialize($response)); $this->log(serialize($response), 'error'); } elseif ('error' == $response['response']) { // Could interpret the codes to get more interesting messages directly to the user $msg = $response['data']; $this->log("RPC service error: ".$msg); $this->log($msg, 'error'); } elseif ('file_status' == $response['response']) { $success = true; break; } sleep(5); } return $success; } /** * Change the chunk size * * @param Integer $new_chunk_size - in bytes */ private function remotesend_set_new_chunk_size($new_chunk_size) { global $updraftplus; $this->remotesend_use_chunk_size = $new_chunk_size; $updraftplus->jobdata_set('remotesend_chunksize', $new_chunk_size); // Save, so that we don't have to cycle through the illegitimate/larger chunk sizes each time. Set the transient expiry to 120 days, in case they change hosting/configuration - so that we're not stuck on the lower size forever. set_transient($this->remote_sent_defchunk_transient, $new_chunk_size, 86400*120); } /** * Send a message to the remote site * * @param String $message - the message identifier * @param Array|Null $data - the data to send with the message * @param Integer $timeout - timeout in waiting for a response * * @return Array|WP_Error - results, or an error */ private function send_message($message, $data = null, $timeout = 30) { $storage = $this->get_storage(); if (is_array($this->try_format_upgrade) && is_array($data)) { $data['sender_public'] = $this->try_format_upgrade['local_public']; } $response = $storage->send_message($message, $data, $timeout); if (is_array($response) && !empty($response['data']) && is_array($response['data'])) { if (!empty($response['data']['php_events']) && !empty($response['data']['previous_data'])) { foreach ($response['data']['php_events'] as $logline) { $this->log("From remote side: ".$logline); } $response['data'] = $response['data']['previous_data']; } if (is_array($response) && is_array($response['data']) && !empty($response['data']['got_public'])) { $name_indicator = $this->try_format_upgrade['name_indicator']; $remotesites = UpdraftPlus_Options::get_updraft_option('updraft_remotesites'); foreach ($remotesites as $key => $site) { if (!is_array($site) || empty($site['name_indicator']) || $site['name_indicator'] != $name_indicator) continue; // This means 'format 2' $this->try_format_upgrade = true; $remotesites[$key]['remote_got_public'] = 1; // If this DB save fails, they'll have to recreate the key UpdraftPlus_Options::update_updraft_option('updraft_remotesites', $remotesites); // Now we need to get a fresh storage object, because the remote end will no longer accept messages with format=1 $this->set_storage(null); $this->do_bootstrap(null); break; } } } return $response; } public function do_bootstrap($opts, $connect = true) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $connect unused global $updraftplus; $updraftplus->ensure_phpseclib(); if (!class_exists('UpdraftPlus_Remote_Communications_V2')) include_once(apply_filters('updraftplus_class_udrpc_path', UPDRAFTPLUS_DIR.'/vendor/team-updraft/common-libs/src/updraft-rpc/class-udrpc2.php', $updraftplus->version)); $opts = $this->get_opts(); try { $ud_rpc = new UpdraftPlus_Remote_Communications_V2($opts['name_indicator']); if (!empty($opts['format_support']) && 2 == $opts['format_support'] && !empty($opts['local_private']) && !empty($opts['local_public']) && !empty($opts['remote_got_public'])) { $ud_rpc->set_message_format(2); $ud_rpc->set_key_remote($opts['key']); $ud_rpc->set_key_local($opts['local_private']); } else { // Enforce the legacy communications protocol (which is only suitable for when only one side only sends, and the other only receives - which is what we happen to do) $ud_rpc->set_message_format(1); $ud_rpc->set_key_local($opts['key']); if (!empty($opts['format_support']) && 2 == $opts['format_support'] && !empty($opts['local_public']) && !empty($opts['local_private'])) { $this->try_format_upgrade = array('name_indicator' => $opts['name_indicator'], 'local_public' => $opts['local_public']); } } $ud_rpc->set_destination_url($opts['url']); $ud_rpc->activate_replay_protection(); } catch (Exception $e) { return new WP_Error('rpc_failure', "Commmunications failure: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); } do_action('updraftplus_remotesend_udrpc_object_obtained', $ud_rpc, $opts); $this->set_storage($ud_rpc); return $ud_rpc; } public function options_exist($opts) { if (is_array($opts) && !empty($opts['url']) && !empty($opts['name_indicator']) && !empty($opts['key'])) return true; return false; } public function get_opts() { global $updraftplus; $opts = $updraftplus->jobdata_get('remotesend_info'); $opts = $this->clone_remotesend_options($opts); if (true === $this->try_format_upgrade && is_array($opts)) $opts['remote_got_public'] = 1; return is_array($opts) ? $opts : array(); } /** * This function will check the options we have for the remote send and if it's a clone job and there are missing settings it will call the mothership to get this information. * * @param Array $opts - an array of remote send options * * @return Array - an array of options */ public function clone_remotesend_options($opts) { // Don't call self::log() - this then requests options (to get the label), causing an infinite loop. global $updraftplus, $updraftplus_admin; if (empty($updraftplus_admin)) updraft_try_include_file('admin.php', 'include_once'); $clone_job = $updraftplus->jobdata_get('clone_job'); // check this is a clone job before we proceed if (empty($clone_job)) return $opts; // check that we don't already have the needed information if (is_array($opts) && !empty($opts['url']) && !empty($opts['name_indicator']) && !empty($opts['key'])) return $opts; $current_stage = $updraftplus->jobdata_get('jobstatus'); $updraftplus->jobdata_set('jobstatus', 'clonepolling'); $clone_id = $updraftplus->jobdata_get('clone_id'); $clone_url = $updraftplus->jobdata_get('clone_url'); $clone_key = $updraftplus->jobdata_get('clone_key'); $secret_token = $updraftplus->jobdata_get('secret_token'); $clone_region = $updraftplus->jobdata_get('clone_region'); if (empty($clone_id) && empty($secret_token)) return $opts; $updraftplus->log("Polling for UpdraftClone (ID: {$clone_id} Region: {$clone_region}) migration information."); $params = array('clone_id' => $clone_id, 'secret_token' => $secret_token); $response = $updraftplus->get_updraftplus_clone()->clone_info_poll($params); if (!isset($response['status']) || 'success' != $response['status']) { if ('clone_network_not_found' == $response['code'] && 0 === $updraftplus->current_resumption) { $updraftplus->log("UpdraftClone network information is not ready yet please wait while the clone finishes provisioning."); } else { $updraftplus->log("UpdraftClone migration information poll failed with code: " . $response['code']); } return $opts; } if (!isset($response['data']) || !isset($response['data']['url']) || !isset($response['data']['key'])) { $updraftplus->log("UpdraftClone migration information poll unexpected return information with code:" . $response['code']); return $opts; } $clone_url = $response['data']['url']; $clone_key = json_decode($response['data']['key'], true); if (empty($clone_url) || empty($clone_key)) { $updraftplus->log("UpdraftClone migration information not found (probably still provisioning): will poll again in 60"); UpdraftPlus_Job_Scheduler::reschedule(60); UpdraftPlus_Job_Scheduler::record_still_alive(); die; } // Store the information $remotesites = UpdraftPlus_Options::get_updraft_option('updraft_remotesites'); if (!is_array($remotesites)) $remotesites = array(); foreach ($remotesites as $k => $rsite) { if (!is_array($rsite)) continue; if ($rsite['url'] == $clone_key['url']) unset($remotesites[$k]); } $remotesites[] = $clone_key; UpdraftPlus_Options::update_updraft_option('updraft_remotesites', $remotesites); $updraftplus->jobdata_set_multi('clone_url', $clone_url, 'clone_key', $clone_key, 'remotesend_info', $clone_key, 'jobstatus', $current_stage); return $clone_key; } // do_listfiles(), do_download(), do_delete() : the absence of any method here means that the parent will correctly throw an error } methods/s3generic.php000064400000037243147400355670010626 0ustar00get_config(); $endpoint = ('' != $region && 'n/a' != $region) ? $region : $config['endpoint']; if (!empty($endpoint)) { $endpoint = preg_replace('/^(http|https):\/\//i', '', trim($endpoint)); } $log_message = "Set endpoint (".get_class($obj)."): $endpoint"; $log_message_append = ''; if (is_string($endpoint) && preg_match('/^(.*):(\d+)$/', $endpoint, $matches)) { $endpoint = $matches[1]; $port = $matches[2]; $log_message_append = ", port=$port"; $obj->setPort($port); } // This provider requires domain-style access. In future it might be better to provide an option rather than hard-coding the knowledge. if (is_string($endpoint) && preg_match('/\.aliyuncs\.com$/i', $endpoint)) { $obj->useDNSBucketName(true, $bucket_name); } global $updraftplus; if ($updraftplus->backup_time) $this->log($log_message.$log_message_append); $obj->setEndpoint($endpoint); } /** * This method overrides the parent method and lists the supported features of this remote storage option. * * @return Array - an array of supported features (any features not mentioned are asuumed to not be supported) */ public function get_supported_features() { // This options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates', 'multi_storage', 'conditional_logic'); } /** * Retrieve default options for this remote storage module. * * @return Array - an array of options */ public function get_default_options() { return array( 'accesskey' => '', 'secretkey' => '', 'path' => '', 'endpoint' => '', ); } /** * Retrieve specific options for this remote storage module * * @param Boolean $force_refresh - if set, and if relevant, don't use cached credentials, but get them afresh * * @return Array - an array of options */ protected function get_config($force_refresh = false) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Filter use $opts = $this->get_options(); $opts['whoweare'] = 'S3'; $opts['whoweare_long'] = __('S3 (Compatible)', 'updraftplus'); $opts['key'] = 's3generic'; return $opts; } /** * Get the pre configuration template */ public function get_pre_configuration_template() { ?> {{{pre_template_opening_html}}}
{{{xmlwriter_existence_label}}} {{{simplexmlelement_existence_label}}} {{{curl_existence_label}}}

{{{ssl_certificates_errors_link_text}}}

partial_template_name }}) * * @return Array an associative array keyed by name of the partial templates */ public function get_partial_templates() { $partial_templates = array(); $partial_templates['s3generic_additional_configuration_top'] = ''; ob_start(); ?> {{input_endpoint_label}}: {{input_bucket_access_style_label}}:
{{{input_bucket_access_style_readmore}}} {{input_signature_version_label}}:
{{{input_signature_version_readmore}}} get_id().'_partial_templates', $partial_templates), parent::get_partial_templates()); } /** * Modifies handerbar template options * The function require because It should override parent class's UpdraftPlus_BackupModule_s3::transform_options_for_template() functionality with no operation. * * @param array $opts * @return Array - Modified handerbar template options */ public function transform_options_for_template($opts) { if (!empty($opts['instance_id']) && 'default' !== $opts['instance_id']) { if (!isset($opts['signature_version'])) { // this check is to find out whether we're dealing with a pre-existing configuration or not $opts['signature_version'] = 'v2'; // the pre-existing S3-Compatible configurations before signature_version was introduced by default use SigV2, so we wan't to keep it that way as we don't want to break what's already working $opts['signature_version'] = apply_filters('updraftplus_s3_signature_version', $opts['signature_version'], false, $this); if (!empty($opts['endpoint'])) { if (preg_match('/\.(leviia|r2\.cloudflarestorage)\.com$/i', $opts['endpoint']) || (preg_match('/\.amazonaws\.com$/i', $opts['endpoint']) && !empty($opts['bucket_access_style']) && 'virtual_host_style' === $opts['bucket_access_style'])) { // due to the merge of S3-generic bucket access style MR on March 2021, if virtual-host bucket access style is selected, connecting to an amazonaws bucket location where the user doesn't have an access to it will throw an S3 InvalidRequest exception. It requires the signature to be set to version 4 $opts['signature_version'] = 'v4'; } } } if (!$this->options_exist($opts)) $opts['signature_version'] = 'v4'; // if no pre-existing S3-Compatible configurations were setup, there would always be an initial instance id created with a blank configuration form (no access key, secret key, location, and endpoint), this initial instance id/form should use SigV4 } return $opts; } /** * Check whether options have been set up by the user, or not * * @param Array $opts - the potential options * * @return Boolean */ public function options_exist($opts) { return (parent::options_exist($opts) && !empty($opts['endpoint'])); } /** * Retrieve a list of template properties by taking all the persistent variables and methods of the parent class and combining them with the ones that are unique to this module, also the necessary HTML element attributes and texts which are also unique only to this backup module * NOTE: Please sanitise all strings that are required to be shown as HTML content on the frontend side (i.e. wp_kses()), or any other technique to prevent XSS attacks that could come via WP hooks * * @return Array an associative array keyed by names that describe themselves as they are */ public function get_template_properties() { global $updraftplus, $updraftplus_admin; $properties = array( 'pre_template_opening_html' => wp_kses('

'.__('Examples of S3-compatible storage providers:', 'updraftplus').' DigitalOcean Spaces, Linode Object Storage, Cloudian, Connectria, Constant, Eucalyptus, Nifty, Cloudn'.__('... and many more!', 'updraftplus').'

', $this->allowed_html_for_content_sanitisation()), 'xmlwriter_existence_label' => !apply_filters('updraftplus_s3generic_xmlwriter_exists', 'UpdraftPlus_S3_Compat' != $this->indicate_s3_class() || !class_exists('XMLWriter')) ? wp_kses($updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__("Your web server's PHP installation does not include a required module (%s).", 'updraftplus'), 'XMLWriter').' '.__("Please contact your web hosting provider's support and ask for them to enable it.", 'updraftplus'), $this->get_id(), false), $this->allowed_html_for_content_sanitisation()) : '', 'simplexmlelement_existence_label' => !apply_filters('updraftplus_s3generic_simplexmlelement_exists', class_exists('SimpleXMLElement')) ? wp_kses($updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__("Your web server's PHP installation does not include a required module (%s).", 'updraftplus'), 'SimpleXMLElement').' '.__("Please contact your web hosting provider's support.", 'updraftplus').' '.sprintf(__("UpdraftPlus's %s module requires %s.", 'updraftplus'), $updraftplus->backup_methods[$this->get_id()], 'SimpleXMLElement').' '.__('Please do not file any support requests; there is no alternative.', 'updraftplus'), $this->get_id(), false), $this->allowed_html_for_content_sanitisation()) : '', 'curl_existence_label' => wp_kses($updraftplus_admin->curl_check($updraftplus->backup_methods[$this->get_id()], true, $this->get_id().' hide-in-udc', false), $this->allowed_html_for_content_sanitisation()), 'ssl_certificates_errors_link_text' => wp_kses(''.__('If you see errors about SSL certificates, then please go here for help.', 'updraftplus').'', $this->allowed_html_for_content_sanitisation()), 'input_access_key_label' => sprintf(__('%s access key', 'updraftplus'), 'S3'), 'input_secret_key_label' => sprintf(__('%s secret key', 'updraftplus'), 'S3'), 'input_secret_key_type' => apply_filters('updraftplus_admin_secret_field_type', 'password'), 'input_location_label' => sprintf(__('%s location', 'updraftplus'), 'S3'), 'input_location_title' => __('Enter only a bucket name or a bucket and path.', 'updraftplus').' '.__('Examples: mybucket, mybucket/mypath', 'updraftplus'), 'input_endpoint_label' => sprintf(__('%s end-point', 'updraftplus'), 'S3'), 'input_bucket_access_style_label' => __('Bucket access style', 'updraftplus'), 'input_bucket_access_style_readmore' => wp_kses(''.__('(Read more)', 'updraftplus').'', $this->allowed_html_for_content_sanitisation()), 'input_bucket_access_style_option_labels' => array( 'path_style' => __('Path style', 'updraftplus'), 'virtual_host_style' => __('Virtual-host style', 'updraftplus'), ), 'input_signature_version_label' => __('Signature version', 'updraftplus'), 'input_signature_version_readmore' => wp_kses(''.__('(Read more)', 'updraftplus').'', $this->allowed_html_for_content_sanitisation()), 'input_signature_version_option_labels' => array( 'v4' => __('SigV4', 'updraftplus'), 'v2' => __('SigV2', 'updraftplus'), ), 'input_test_label' => sprintf(__('Test %s Settings', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), ); return wp_parse_args($properties, $this->get_persistent_variables_and_methods()); } /** * Use DNS bucket name if the remote storage is found to be using s3generic and its bucket access style is set to virtual-host * * @param Object $storage - S3 Name * @param String $bucket - storage path * @param Array $config - configuration - may not be complete at this stage, so be careful about which properties are used * * * @return Boolean true if currently processing s3generic remote storage that uses virtual-host style, false otherwise */ protected function maybe_use_dns_bucket_name($storage, $bucket, $config) { $signature_version = !empty($config['signature_version']) ? $config['signature_version'] : apply_filters('updraftplus_s3_signature_version', 'v2', false, $this); // the 'v2' value used to be handled by the use_v4 class variable, but since the signature_version (dropdown) setting has been introduced then use_v4 class variable has been removed and is no longer needed if (is_callable(array($storage, 'setSignatureVersion'))) $storage->setSignatureVersion($signature_version); // we don't prioritise the hardcoded endpoint if signature_version is set, which means users are aware of this new option and intentionally set this option and/or save the settings if ((!empty($config['endpoint']) && preg_match('/\.(leviia|aliyuncs|r2\.cloudflarestorage)\.com$/i', $config['endpoint'])) || (!empty($config['bucket_access_style']) && 'virtual_host_style' === $config['bucket_access_style'])) { // due to the recent merge of S3-generic bucket access style on March 2021, if virtual-host bucket access style is selected, connecting to an amazonaws bucket location where the user doesn't have an access to it will throw an S3 InvalidRequest exception. It requires the signature to be set to version 4 // Cloudflare R2 supports V4 only if (empty($config['signature_version']) && preg_match('/\.(leviia|amazonaws|r2\.cloudflarestorage)\.com$/i', $config['endpoint'])) { if (is_callable(array($storage, 'setSignatureVersion'))) $storage->setSignatureVersion('v4'); } return $this->use_dns_bucket_name($storage, ''); } return false; } /** * Acts as a WordPress options filter * * @param Array $settings - pre-filtered settings * * @return Array filtered settings */ public function options_filter($settings) { $settings = parent::options_filter($settings); if (!empty($settings['version']) && !empty($settings['settings'])) { foreach ($settings['settings'] as $instance_id => $instance_settings) { if (!empty($instance_settings['endpoint'])) { $settings['settings'][$instance_id]['endpoint'] = preg_replace('/^(http|https):\/\//i', '', trim($instance_settings['endpoint'])); } } } return $settings; } } methods/dreamobjects.php000064400000025711147400355670011403 0ustar00dreamobjects_endpoints = array( // Endpoint, then the label 'objects-us-east-1.dream.io' => 'objects-us-east-1.dream.io', 'objects-us-west-1.dream.io' => 'objects-us-west-1.dream.io ('.__('Closing 1st October 2018', 'updraftplus').')', ); } protected $use_v4 = false; /** * Given an S3 object, possibly set the region on it * * @param Object $obj - like UpdraftPlus_S3 * @param String $region - or empty to fetch one from saved configuration * @param String $bucket_name */ protected function set_region($obj, $region = '', $bucket_name = '') {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $bucket_name $config = $this->get_config(); $endpoint = ('' != $region && 'n/a' != $region) ? $region : $config['endpoint']; global $updraftplus; if ($updraftplus->backup_time) { $updraftplus->log("Set endpoint (".get_class($obj)."): $endpoint"); // Warning for objects-us-west-1 shutdown in Oct 2018 if ('objects-us-west-1.dream.io' == $endpoint) { $updraftplus->log("The objects-us-west-1.dream.io endpoint shut down on the 1st October 2018. The upload is expected to fail. Please see the following article for more information https://help.dreamhost.com/hc/en-us/articles/360002135871-Cluster-migration-procedure", 'warning', 'dreamobjects_west_shutdown'); } } $obj->setEndpoint($endpoint); } /** * This method overrides the parent method and lists the supported features of this remote storage option. * * @return Array - an array of supported features (any features not mentioned are asuumed to not be supported) */ public function get_supported_features() { // This options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates', 'multi_storage', 'conditional_logic'); } /** * Retrieve default options for this remote storage module. * * @return Array - an array of options */ public function get_default_options() { return array( 'accesskey' => '', 'secretkey' => '', 'path' => '', ); } /** * Retrieve specific options for this remote storage module * * @param Boolean $force_refresh - if set, and if relevant, don't use cached credentials, but get them afresh * * @return Array - an array of options */ protected function get_config($force_refresh = false) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $force_refresh unused $opts = $this->get_options(); $opts['whoweare'] = 'DreamObjects'; $opts['whoweare_long'] = 'DreamObjects'; $opts['key'] = 'dreamobjects'; if (empty($opts['endpoint'])) { $endpoints = array_keys($this->dreamobjects_endpoints); $opts['endpoint'] = $endpoints[0]; } return $opts; } /** * Get the pre configuration template */ public function get_pre_configuration_template() { ?> {{method_display_name}}
{{{xmlwriter_existence_label}}} {{{simplexmlelement_existence_label}}} {{{curl_existence_label}}}
{{{console_url_text}}}

{{ssl_error_text}}

get_configuration_template_engine('dreamobjects', 'DreamObjects', 'DreamObjects', 'DreamObjects', 'https://panel.dreamhost.com/index.cgi?tree=storage.dreamhostobjects', 'DreamObjects'); ob_start(); ?> {{input_accesskey_label}}: {{input_secretkey_label}}: {{input_location_label}}: {{method_id}}:// {{input_endpoint_label}} {{{get_template_test_button_html "DreamObjects"}}} dreamobjects_endpoints; return $opts; } /** * Retrieve a list of template properties by taking all the persistent variables and methods of the parent class and combining them with the ones that are unique to this module, also the necessary HTML element attributes and texts which are also unique only to this backup module * NOTE: Please sanitise all strings that are required to be shown as HTML content on the frontend side (i.e. wp_kses()), or any other technique to prevent XSS attacks that could come via WP hooks * * @return Array an associative array keyed by names that describe themselves as they are */ public function get_template_properties() { global $updraftplus, $updraftplus_admin; $properties = array( 'storage_image_url' => UPDRAFTPLUS_URL."/images/dreamobjects_logo-horiz-2013.png", 'curl_existence_label' => wp_kses($updraftplus_admin->curl_check($updraftplus->backup_methods[$this->get_id()], false, $this->get_id()." hidden-in-updraftcentral", false), $this->allowed_html_for_content_sanitisation()), 'simplexmlelement_existence_label' => !apply_filters('updraftplus_dreamobjects_simplexmlelement_exists', class_exists('SimpleXMLElement')) ? wp_kses($updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__("Your web server's PHP installation does not included a required module (%s).", 'updraftplus'), 'SimpleXMLElement').' '.__("Please contact your web hosting provider's support.", 'updraftplus').' '.sprintf(__("UpdraftPlus's %s module requires %s.", 'updraftplus'), $updraftplus->backup_methods[$this->get_id()], 'SimpleXMLElement').' '.__('Please do not file any support requests; there is no alternative.', 'updraftplus'), $this->get_id(), false), $this->allowed_html_for_content_sanitisation()) : '', 'xmlwriter_existence_label' => !apply_filters('updraftplus_dreamobjects_xmlwriter_exists', 'UpdraftPlus_S3_Compat' != $this->indicate_s3_class() || !class_exists('XMLWriter')) ? wp_kses($updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '. sprintf(__("Your web server's PHP installation does not included a required module (%s).", 'updraftplus'), 'XMLWriter').' '.__("Please contact your web hosting provider's support and ask for them to enable it.", 'updraftplus'), $this->get_id(), false), $this->allowed_html_for_content_sanitisation()) : '', 'console_url_text' => sprintf(__('Get your access key and secret key from your %s console, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage.', 'updraftplus'), 'https://panel.dreamhost.com/index.cgi?tree=storage.dreamhostobjects', $updraftplus->backup_methods[$this->get_id()], $updraftplus->backup_methods[$this->get_id()]).' '.__('This bucket will be created for you if it does not already exist.', 'updraftplus'), 'updraftplus_com_link' => apply_filters("updraftplus_com_link", "https://updraftplus.com/faqs/i-get-ssl-certificate-errors-when-backing-up-andor-restoring/"), 'ssl_error_text' => __('If you see errors about SSL certificates, then please go here for help.', 'updraftplus'), 'credentials_creation_link_text' => __('Create Azure credentials in your Azure developer console.', 'updraftplus'), 'configuration_helper_link_text' => __('For more detailed instructions, follow this link.', 'updraftplus'), 'input_accesskey_label' => sprintf(__('%s access key', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), 'input_secretkey_label' => sprintf(__('%s secret key', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), 'input_secretkey_type' => apply_filters('updraftplus_admin_secret_field_type', 'password'), 'input_location_label' => sprintf(__('%s location', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), 'input_location_title' => __('Enter only a bucket name or a bucket and path.', 'updraftplus').' '.__('Examples: mybucket, mybucket/mypath', 'updraftplus'), 'input_endpoint_label' => sprintf(__('%s end-point', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), 'input_test_label' => sprintf(__('Test %s Settings', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), ); return wp_parse_args($properties, $this->get_persistent_variables_and_methods()); } } methods/dropbox.php000064400000130444147400355670010416 0ustar00get_storage(); // Update upload ID $this->jobdata_set('upload_id_'.$this->current_file_hash, $uploadid); $this->jobdata_set('upload_offset_'.$this->current_file_hash, $offset); $time_now = microtime(true); $time_since_last_tick = $time_now - $this->upload_tick; $data_since_last_tick = $offset - $this->uploaded_offset; $this->upload_tick = $time_now; $this->uploaded_offset = $offset; // Here we use job-wide data, because we don't expect wildly different performance for different Dropbox accounts $chunk_size = $updraftplus->jobdata_get('dropbox_chunk_size', 1048576); // Don't go beyond 10MB, or change the chunk size after the last segment if ($chunk_size < 10485760 && $this->current_file_size > 0 && $offset < $this->current_file_size) { $job_run_time = $time_now - $updraftplus->job_time_ms; if ($time_since_last_tick < 10) { $upload_rate = $data_since_last_tick / max($time_since_last_tick, 1); $upload_secs = min(floor($job_run_time), 10); if ($job_run_time < 15) $upload_secs = max(6, $job_run_time*0.6); $new_chunk = (int) max(min($upload_secs * $upload_rate * 0.9, 10485760), 1048576); $new_chunk = $new_chunk - ($new_chunk % 524288); $chunk_size = $new_chunk; $storage->setChunkSize($chunk_size); $updraftplus->jobdata_set('dropbox_chunk_size', $chunk_size); } } if ($this->current_file_size > 0) { $percent = round(100*($offset/$this->current_file_size), 1); $updraftplus->record_uploaded_chunk($percent, "$uploadid, $offset, ".round($chunk_size/1024, 1)." KB", $fullpath); } else { $this->log("Chunked Upload: $offset bytes uploaded"); // This act is done by record_uploaded_chunk, and helps prevent overlapping runs if ($fullpath) touch($fullpath); } } /** * Supported features * * @return Array */ public function get_supported_features() { // This options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates', 'multi_storage', 'conditional_logic', 'manual_authentication'); } /** * Default options * * @return Array */ public function get_default_options() { return array( 'appkey' => '', 'secret' => '', 'folder' => '', 'tk_access_token' => '', ); } /** * Check whether options have been set up by the user, or not * * @param Array $opts - the potential options * * @return Boolean */ public function options_exist($opts) { if (is_array($opts) && !empty($opts['tk_access_token'])) return true; return false; } /** * Acts as a WordPress options filter * * @param Array $dropbox - An array of Dropbox options * @return Array - the returned array can either be the set of updated Dropbox settings or a WordPress error array */ public function options_filter($dropbox) { // Get the current options (and possibly update them to the new format) $opts = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('dropbox'); if (is_wp_error($opts)) { if ('recursion' !== $opts->get_error_code()) { $msg = "(".$opts->get_error_code()."): ".$opts->get_error_message(); $this->log($msg); error_log("UpdraftPlus: $msg"); } // The saved options had a problem; so, return the new ones return $dropbox; } // If the input is not as expected, then return the current options if (!is_array($dropbox)) return $opts; // Remove instances that no longer exist foreach ($opts['settings'] as $instance_id => $storage_options) { if (!isset($dropbox['settings'][$instance_id])) unset($opts['settings'][$instance_id]); } // Dropbox has a special case where the settings could be empty so we should check for this before if (!empty($dropbox['settings'])) { foreach ($dropbox['settings'] as $instance_id => $storage_options) { if (!empty($opts['settings'][$instance_id]['tk_access_token'])) { $current_app_key = empty($opts['settings'][$instance_id]['appkey']) ? false : $opts['settings'][$instance_id]['appkey']; $new_app_key = empty($storage_options['appkey']) ? false : $storage_options['appkey']; // If a different app key is being used, then wipe the stored token as it cannot belong to the new app if ($current_app_key !== $new_app_key) { unset($opts['settings'][$instance_id]['tk_access_token']); unset($opts['settings'][$instance_id]['ownername']); unset($opts['settings'][$instance_id]['CSRF']); } } // Now loop over the new options, and replace old options with them foreach ($storage_options as $key => $value) { if (null === $value) { unset($opts['settings'][$instance_id][$key]); } else { if (!isset($opts['settings'][$instance_id])) $opts['settings'][$instance_id] = array(); $opts['settings'][$instance_id][$key] = $value; } } if (!empty($opts['settings'][$instance_id]['folder']) && preg_match('#^https?://(www.)dropbox\.com/home/Apps/UpdraftPlus(.Com)?([^/]*)/(.*)$#i', $opts['settings'][$instance_id]['folder'], $matches)) $opts['settings'][$instance_id]['folder'] = $matches[3]; // check if we have the dummy nosave option and remove it so that it doesn't get saved if (isset($opts['settings'][$instance_id]['dummy-nosave'])) unset($opts['settings'][$instance_id]['dummy-nosave']); } } return $opts; } public function backup($backup_array) { global $updraftplus; $opts = $this->get_options(); if (empty($opts['tk_access_token'])) { $this->log('You are not authenticated with Dropbox (1)'); $this->log(__('You are not authenticated with Dropbox', 'updraftplus'), 'error'); return false; } // 28 September 2017: APIv1 is gone. We'll keep the variable to make life easier if there's ever an APIv3. $use_api_ver = 2; if (empty($opts['tk_request_token'])) { $this->log("begin cloud upload (using API version $use_api_ver with OAuth v2 token)"); } else { $this->log("begin cloud upload (using API version $use_api_ver with OAuth v1 token)"); } $chunk_size = $updraftplus->jobdata_get('dropbox_chunk_size', 1048576); try { $dropbox = $this->bootstrap(); if (false === $dropbox) throw new Exception(__('You are not authenticated with Dropbox', 'updraftplus')); $this->log("access gained; setting chunk size to: ".round($chunk_size/1024, 1)." KB"); $dropbox->setChunkSize($chunk_size); } catch (Exception $e) { $this->log('error when trying to gain access: '.$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); $this->log(sprintf(__('error: %s (see log file for more)', 'updraftplus'), $e->getMessage()), 'error'); return false; } $updraft_dir = $updraftplus->backups_dir_location(); foreach ($backup_array as $file) { $available_quota = -1; // If we experience any failures collecting account info, then carry on anyway try { /* Quota information is no longer provided with account information a new call to quotaInfo must be made to get this information. */ $quota_info = $dropbox->quotaInfo(); // Access token expired try to refresh and then call quota info again if ("401" == $quota_info['code']) { $this->log('HTTP code 401 (unauthorized) code returned from Dropbox; attempting to refresh access token'); $dropbox->refreshAccessToken(); $quota_info = $dropbox->quotaInfo(); } if ("200" != $quota_info['code']) { $message = "account/info did not return HTTP 200; returned: ". $quota_info['code']; } elseif (!isset($quota_info['body'])) { $message = "account/info did not return the expected data"; } else { $body = $quota_info['body']; if (isset($body->quota_info)) { $quota_info = $body->quota_info; $total_quota = $quota_info->quota; $normal_quota = $quota_info->normal; $shared_quota = $quota_info->shared; $available_quota = $total_quota - ($normal_quota + $shared_quota); $message = "quota usage: normal=".round($normal_quota/1048576, 1)." MB, shared=".round($shared_quota/1048576, 1)." MB, total=".round($total_quota/1048576, 1)." MB, available=".round($available_quota/1048576, 1)." MB"; } else { $total_quota = max($body->allocation->allocated, 1); $used = $body->used; /* check here to see if the account is a team account and if so use the other used value This will give us their total usage including their individual account and team account */ if (isset($body->allocation->used)) $used = $body->allocation->used; $available_quota = $total_quota - $used; $message = "quota usage: used=".round($used/1048576, 1)." MB, total=".round($total_quota/1048576, 1)." MB, available=".round($available_quota/1048576, 1)." MB"; } } $this->log($message); } catch (Exception $e) { $this->log("exception (".get_class($e).") occurred whilst getting account info: ".$e->getMessage()); // $this->log(sprintf(__("%s error: %s", 'updraftplus'), 'Dropbox', $e->getMessage()).' ('.$e->getCode().')', 'warning', md5($e->getMessage())); } $file_success = 1; $hash = md5($file); $this->current_file_hash = $hash; $filesize = filesize($updraft_dir.'/'.$file); $this->current_file_size = $filesize; // Into KB $filesize = $filesize/1024; $microtime = microtime(true); if ('None' != ($upload_id = $this->jobdata_get('upload_id_'.$hash, 'None', 'updraf_dbid_'.$hash))) { // Resume $offset = $this->jobdata_get('upload_offset_'.$hash, 0, 'updraf_dbof_'.$hash); if ($offset) $this->log("This is a resumption: $offset bytes had already been uploaded"); } else { $offset = 0; $upload_id = 'None'; } // We don't actually abort now - there's no harm in letting it try and then fail if (-1 != $available_quota && $available_quota < ($filesize-$offset)) { $this->log("File upload expected to fail: file data remaining to upload ($file) size is ".($filesize-$offset)." b (overall file size; .".($filesize*1024)." b), whereas available quota is only $available_quota b"); // $this->log(sprintf(__("Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)",'updraftplus'),'Dropbox', $available_quota, $filesize-$offset, $filesize), 'warning'); } $ufile = apply_filters('updraftplus_dropbox_modpath', $file, $this); $this->log("Attempt to upload: $file to: $ufile"); $this->upload_tick = microtime(true); $this->uploaded_offset = $offset; try { $response = $dropbox->chunkedUpload($updraft_dir.'/'.$file, '', $ufile, true, $offset, $upload_id, array($this, 'chunked_callback')); if (empty($response['code']) || "200" != $response['code']) { $this->log('Unexpected HTTP code returned from Dropbox: '.$response['code']." (".serialize($response).")"); if ($response['code'] >= 400) { if (401 == $response['code']) { $this->log('HTTP code 401 returned from Dropbox, refreshing access token'); $dropbox->refreshAccessToken(); } $this->log(sprintf(__('error: failed to upload file to %s (see log file for more)', 'updraftplus'), $file), 'error'); $file_success = 0; } else { $this->log(__('did not return the expected response - check your log file for more details', 'updraftplus'), 'warning'); } } } catch (Exception $e) { $this->log("chunked upload exception (".get_class($e)."): ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); if (preg_match("/Submitted input out of alignment: got \[(\d+)\] expected \[(\d+)\]/i", $e->getMessage(), $matches)) { // Try the indicated offset $we_tried = $matches[1]; $dropbox_wanted = (int) $matches[2]; $this->log("not yet aligned: tried=$we_tried, wanted=$dropbox_wanted; will attempt recovery"); $this->uploaded_offset = $dropbox_wanted; $upload_id = $this->jobdata_get('upload_id_'.$hash, 'None', 'updraf_dbid_'.$hash); try { $dropbox->chunkedUpload($updraft_dir.'/'.$file, '', $ufile, true, $dropbox_wanted, $upload_id, array($this, 'chunked_callback')); } catch (Exception $e) { $msg = $e->getMessage(); if (preg_match('/Upload with upload_id .* already completed/', $msg)) { $this->log('returned an error, but apparently indicating previous success: '.$msg); } else { $this->log($msg.' (line: '.$e->getLine().', file: '.$e->getFile().')'); $this->log(sprintf(__('failed to upload file to %s (see log file for more)', 'updraftplus'), $ufile), 'error'); $file_success = 0; if (strpos($msg, 'select/poll returned error') !== false && $this->upload_tick > 0 && time() - $this->upload_tick > 800) { UpdraftPlus_Job_Scheduler::reschedule(60); $this->log("Select/poll returned after a long time: scheduling a resumption and terminating for now"); UpdraftPlus_Job_Scheduler::record_still_alive(); die; } } } } else { $msg = $e->getMessage(); if (preg_match('/Upload with upload_id .* already completed/', $msg)) { $this->log('returned an error, but apparently indicating previous success: '.$msg); } else { $this->log(sprintf(__('failed to upload file to %s (see log file for more)', 'updraftplus'), $ufile), 'error'); $file_success = 0; if (strpos($msg, 'select/poll returned error') !== false && $this->upload_tick > 0 && time() - $this->upload_tick > 800) { UpdraftPlus_Job_Scheduler::reschedule(60); $this->log("Select/poll returned after a long time: scheduling a resumption and terminating for now"); UpdraftPlus_Job_Scheduler::record_still_alive(); die; } } } } if ($file_success) { $updraftplus->uploaded_file($file); $microtime_elapsed = microtime(true)-$microtime; $speedps = ($microtime_elapsed > 0) ? $filesize/$microtime_elapsed : 0; $speed = sprintf("%.2d", $filesize)." KB in ".sprintf("%.2d", $microtime_elapsed)."s (".sprintf("%.2d", $speedps)." KB/s)"; $this->log("File upload success (".$file."): $speed"); $this->jobdata_delete('upload_id_'.$hash, 'updraf_dbid_'.$hash); $this->jobdata_delete('upload_offset_'.$hash, 'updraf_dbof_'.$hash); } } return null; } /** * This method gets a list of files from the remote storage that match the string passed in and returns an array of backups * * @param String $match a substring to require (tested via strpos() !== false) * @return Array */ public function listfiles($match = 'backup_') { $opts = $this->get_options(); if (empty($opts['tk_access_token'])) return new WP_Error('no_settings', __('No settings were found', 'updraftplus').' (dropbox)'); try { $dropbox = $this->bootstrap(); } catch (Exception $e) { $this->log('access error: '.$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); return new WP_Error('access_error', $e->getMessage()); } $searchpath = '/'.untrailingslashit(apply_filters('updraftplus_dropbox_modpath', '', $this)); try { /* Some users could have a large amount of backups, the max search is 1000 entries we should continue to search until there are no more entries to bring back. */ $cursor = ''; $matches = array(); while (true) { $search = $dropbox->search($match, $searchpath, 1000, $cursor); if (empty($search['code']) || 200 != $search['code']) return new WP_Error('response_error', sprintf(__('%s returned an unexpected HTTP response: %s', 'updraftplus'), 'Dropbox', $search['code']), $search['body']); if (empty($search['body'])) return array(); if (isset($search['body']->matches) && is_array($search['body']->matches)) { $matches = array_merge($matches, $search['body']->matches); } elseif (is_array($search['body'])) { $matches = $search['body']; } else { break; } if (isset($search['body']->has_more) && true == $search['body']->has_more && isset($search['body']->cursor)) { $cursor = $search['body']->cursor; } else { break; } } } catch (Exception $e) { $this->log($e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); // The most likely cause of a search_error is specifying a non-existent path, which should just result in an empty result set. // return new WP_Error('search_error', $e->getMessage()); return array(); } $results = array(); foreach ($matches as $item) { $item = $item->metadata; if (!is_object($item)) continue; if (isset($item->metadata)) $item = $item->metadata; // 2/files/search_v2 has a slightly different output structure compared to 2/files/search model if ((!isset($item->size) || $item->size > 0) && 'folder' != $item->{'.tag'} && !empty($item->path_display) && 0 === strpos($item->path_display, $searchpath)) { $path = substr($item->path_display, strlen($searchpath)); if ('/' == substr($path, 0, 1)) $path = substr($path, 1); // Ones in subfolders are not wanted if (false !== strpos($path, '/')) continue; $result = array('name' => $path); if (!empty($item->size)) $result['size'] = $item->size; $results[] = $result; } } return $results; } /** * Identification of Dropbox app * * @return Array */ private function defaults() { return apply_filters('updraftplus_dropbox_defaults', array('Z3Q3ZmkwbnplNHA0Zzlx', 'bTY0bm9iNmY4eWhjODRt')); } /** * Delete files from the service using the Dropbox API * * @param Array $files - array of filenames to delete * @param Array $data - unused here * @param Array $sizeinfo - unused here * @return Boolean|String - either a boolean true or an error code string */ public function delete($files, $data = null, $sizeinfo = array()) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $data and $sizeinfo unused if (is_string($files)) $files = array($files); $opts = $this->get_options(); if (empty($opts['tk_access_token'])) { $this->log('You are not authenticated with Dropbox (3)'); $this->log(sprintf(__('You are not authenticated with %s (whilst deleting)', 'updraftplus'), 'Dropbox'), 'warning'); return 'authentication_fail'; } try { $dropbox = $this->bootstrap(); } catch (Exception $e) { $this->log($e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); $this->log(sprintf(__('Failed to access %s when deleting (see log file for more)', 'updraftplus'), 'Dropbox'), 'warning'); return 'service_unavailable'; } if (false === $dropbox) return false; $any_failures = false; foreach ($files as $file) { $ufile = apply_filters('updraftplus_dropbox_modpath', $file, $this); $this->log("request deletion: $ufile"); try { $dropbox->delete($ufile); $file_success = 1; } catch (Exception $e) { $this->log($e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); } if (isset($file_success)) { $this->log('deletion succeeded'); } else { $this->log('deletion failed'); $any_failures = true; } } return $any_failures ? 'file_delete_error' : true; } public function download($file) { global $updraftplus; $opts = $this->get_options(); if (empty($opts['tk_access_token'])) { $this->log('You are not authenticated with Dropbox (4)'); $this->log(sprintf(__('You are not authenticated with %s', 'updraftplus'), 'Dropbox'), 'error'); return false; } try { $dropbox = $this->bootstrap(); } catch (Exception $e) { $this->log($e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')'); $this->log($e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')', 'error'); return false; } if (false === $dropbox) return false; $remote_files = $this->listfiles($file); foreach ($remote_files as $file_info) { if ($file_info['name'] == $file) { return $updraftplus->chunked_download($file, $this, $file_info['size'], apply_filters('updraftplus_dropbox_downloads_manually_break_up', false), null, 2*1048576); } } $this->log("$file: file not found in listing of remote directory"); return false; } /** * Callback used by by chunked downloading API * * @param String $file - the file (basename) to be downloaded * @param Array $headers - supplied headers * @param Mixed $data - pass-back from our call to the API (which we don't use) * @param resource $fh - the local file handle * * @return String - the data downloaded */ public function chunked_download($file, $headers, $data, $fh) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found -- Unused parameter is present because the caller from UpdraftPlus class uses 4 arguments. $opts = $this->get_options();// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- filter use $storage = $this->get_storage(); $try_the_other_one = false;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- filter use $ufile = apply_filters('updraftplus_dropbox_modpath', $file, $this); $options = array(); if (!empty($headers)) $options['headers'] = $headers; try { $get = $storage->download($ufile, $fh, $options); } catch (Exception $e) { $this->log($e); $this->log($e->getMessage(), 'error'); $get = false; } return $get; } /** * Retrieve a list of template properties by taking all the persistent variables and methods of the parent class and combining them with the ones that are unique to this module, also the necessary HTML element attributes and texts which are also unique only to this backup module * NOTE: Please sanitise all strings that are required to be shown as HTML content on the frontend side (i.e. wp_kses()) * * @return Array an associative array keyed by names that describe themselves as they are */ public function get_template_properties() { global $updraftplus, $updraftplus_admin; $partial_templates = $this->get_partial_templates(); $properties = array( 'storage_image_url' => UPDRAFTPLUS_URL.'/images/dropbox-logo.png', 'storage_image_description' => sprintf(__('%s logo', 'updraftplus'), 'Dropbox'), 'curl_existence_label' => wp_kses($updraftplus_admin->curl_check($updraftplus->backup_methods[$this->get_id()], true, $this->get_id().' hidden-in-updraftcentral', false), $this->allowed_html_for_content_sanitisation()), 'app_authorisation_policy_label' => wp_kses(sprintf(__('Please read %s for use of our %s authorization app (none of your backup data is sent to us).', 'updraftplus'), ''.__('this privacy policy', 'updraftplus').'', 'Dropbox'), $this->allowed_html_for_content_sanitisation()), 'sub_folders_instruction_label1' => __('Need to use sub-folders?', 'updraftplus'), 'sub_folders_instruction_label2' => sprintf(__('Backups are saved in %s.', 'updraftplus'), 'apps/UpdraftPlus'), 'sub_folders_instruction_label3' => wp_kses(sprintf(__('If you backup several sites into the same Dropbox and want to organize with sub-folders, then %scheck out Premium%s', 'updraftplus'), '', ''), $this->allowed_html_for_content_sanitisation()), 'input_authenticate_with_label' => sprintf(__('Authenticate with %s', 'updraftplus'), __('Dropbox', 'updraftplus')), 'already_authenticated_label' => __('(You are already authenticated).', 'updraftplus'), 'authentication_link_text' => wp_kses(sprintf(__("After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s.", 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), $this->allowed_html_for_content_sanitisation()), 'deauthentication_link_text' => sprintf(__("Follow this link to remove these settings for %s.", 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), 'authentication_label' => __('Ensure you are logged into the correct account before continuing.', 'updraftplus'), 'authorised_redirect_uri_label' => __('You must add the following as the authorised redirect URI in your Dropbox console (under "API Settings") when asked', 'updraftplus'), 'input_app_key_label' => __('Your Dropbox App Key', 'updraftplus'), 'input_app_secret_label' => __('Your Dropbox App Secret', 'updraftplus'), 'partial_templates_contain_input_element' => isset($partial_templates['dropbox_additional_configuration_top']) && preg_match('/|[^>]+>)/i', $partial_templates['dropbox_additional_configuration_top']), 'deauthentication_nonce' => wp_create_nonce($this->get_id().'_deauth_nonce'), ); return wp_parse_args(apply_filters('updraft_'.$this->get_id().'_template_properties', array()), wp_parse_args($properties, $this->get_persistent_variables_and_methods())); } /** * Get the pre configuration template * * @return String - the template */ public function get_pre_configuration_template() { ?> {{storage_image_description}}

{{{curl_existence_label}}}

{{{app_authorisation_policy_label}}}

partial_template_name }}) * * @return Array an associative array keyed by name of the partial templates */ public function get_partial_templates() { $partial_templates = array(); ob_start(); ?> {{sub_folders_instruction_label1}} {{sub_folders_instruction_label2}} {{{sub_folders_instruction_label3}}} get_id().'_partial_templates', $partial_templates), parent::get_partial_templates()); } /** * Get the configuration template * * @return String - the template, ready for substitutions to be carried out */ public function get_configuration_template() { ob_start(); ?> {{#> dropbox_additional_configuration_top}} {{/dropbox_additional_configuration_top}} {{input_authenticate_with_label}}: {{#if is_authenticated}}

{{already_authenticated_label}} {{deauthentication_link_text}}

{{/if}} {{#if ownername_sentence}}
{{ownername_sentence}} {{/if}}

{{authentication_label}} {{{authentication_link_text}}}

{{!-- Legacy: only show this next setting to old users who had a setting stored --}} {{#if old_user_settings}}

{{authorised_redirect_uri_label}}: {{admin_page_url}}?page=updraftplus&action=updraftmethod-dropbox-auth

{{input_app_key_label}}: {{input_app_secret_label}}: {{else}} {{#unless partial_templates_contain_input_element}} {{!-- We need to make sure that it is not the case that the module has no settings whatsoever - this can result in the module being effectively invisible. --}} {{/unless}} {{/if}} generate_ownername_with_email($opts); if ($ownername_with_email) { $opts['ownername_sentence'] = sprintf(__("Account holder's name: %s.", 'updraftplus'), $ownername_with_email).' '; } $opts['is_authenticated'] = true; } $opts['old_user_settings'] = (!empty($opts['appkey']) || (defined('UPDRAFTPLUS_CUSTOM_DROPBOX_APP') && UPDRAFTPLUS_CUSTOM_DROPBOX_APP)); if ($opts['old_user_settings']) { $opts['appkey'] = empty($opts['appkey']) ? '' : $opts['appkey']; $opts['secret'] = empty($opts['secret']) ? '' : $opts['secret']; } $opts = apply_filters("updraftplus_options_dropbox_options", $opts); return $opts; } /** * Gives settings keys which values should not passed to handlebarsjs context. * The settings stored in UD in the database sometimes also include internal information that it would be best not to send to the front-end (so that it can't be stolen by a man-in-the-middle attacker) * * @return Array - Settings array keys which should be filtered */ public function filter_frontend_settings_keys() { return array( 'CSRF', 'code', 'ownername', 'tk_access_token', ); } /** * Over-rides the parent to allow this method to output extra information about using the correct account for OAuth authentication * * @return [boolean] - return false so that no extra information is output */ public function output_account_warning() { return true; } /** * Handles various URL actions, as indicated by the updraftplus_dropboxauth URL parameter * * @return null */ public function action_auth() { if (isset($_GET['updraftplus_dropboxauth'])) { if ('doit' == $_GET['updraftplus_dropboxauth']) { $this->action_authenticate_storage(); return; } elseif ('deauth' == $_GET['updraftplus_dropboxauth']) { $this->action_deauthenticate_storage(); return; } } elseif (isset($_REQUEST['state'])) { if ('POST' == $_SERVER['REQUEST_METHOD']) { $raw_state = urldecode($_POST['state']); if (isset($_POST['code'])) $raw_code = urldecode($_POST['code']); } else { $raw_state = $_GET['state']; if (isset($_GET['code'])) $raw_code = $_GET['code']; } if (!empty($raw_code)) $this->do_complete_authentication($raw_state, $raw_code); } try { $this->auth_request(); } catch (Exception $e) { $this->log(sprintf(__("%s error: %s", 'updraftplus'), sprintf(__("%s authentication", 'updraftplus'), 'Dropbox'), $e->getMessage()), 'error'); } } /** * This function will complete the oAuth flow, if return_instead_of_echo is true then add the action to display the authed admin notice, otherwise echo this notice to page. * * @param string $raw_state - the state * @param string $raw_code - the oauth code * @param boolean $return_instead_of_echo - a boolean to indicate if we should return the result or echo it * * @return void|string - returns the authentication message if return_instead_of_echo is true */ public function do_complete_authentication($raw_state, $raw_code, $return_instead_of_echo = false) { // Get the CSRF from setting and check it matches the one returned if it does no CSRF attack has happened $opts = $this->get_options(); $csrf = $opts['CSRF']; $state = stripslashes($raw_state); // Check the state to see if an instance_id has been attached and if it has then extract the state $parts = explode(':', $state); $state = $parts[0]; if (strcmp($csrf, $state) == 0) { $opts['CSRF'] = ''; if (isset($raw_code)) { // set code so it can be accessed in the next authentication step $opts['code'] = stripslashes($raw_code); // remove our flag so we know this authentication is complete if (isset($opts['auth_in_progress'])) unset($opts['auth_in_progress']); $this->set_options($opts, true); $auth_result = $this->auth_token($return_instead_of_echo); if ($return_instead_of_echo) return $auth_result; } } else { error_log("UpdraftPlus: CSRF comparison failure: $csrf != $state"); } } /** * This method will reset any saved options and start the bootstrap process for an authentication * * @param String $instance_id - the instance id of the settings we want to authenticate */ public function do_authenticate_storage($instance_id) { try { // Clear out the existing credentials $opts = $this->get_options(); $opts['tk_access_token'] = ''; unset($opts['tk_request_token']); $opts['ownername'] = ''; // Set a flag so we know this authentication is in progress $opts['auth_in_progress'] = true; $this->set_options($opts, true); $this->set_instance_id($instance_id); $this->bootstrap(false); } catch (Exception $e) { $this->log(sprintf(__("%s error: %s", 'updraftplus'), sprintf(__("%s authentication", 'updraftplus'), 'Dropbox'), $e->getMessage()), 'error'); } } /** * This method will start the bootstrap process for a de-authentication * * @param String $instance_id - the instance id of the settings we want to de-authenticate */ public function do_deauthenticate_storage($instance_id) { try { $this->set_instance_id($instance_id); $this->bootstrap(true); } catch (Exception $e) { $this->log(sprintf(__("%s error: %s", 'updraftplus'), sprintf(__("%s de-authentication", 'updraftplus'), 'Dropbox'), $e->getMessage()), 'error'); } } /** * This method will setup the authenticated admin warning, it can either return this or echo it * * @param boolean $return_instead_of_echo - a boolean to indicate if we should return the result or echo it * * @return void|string - returns the authentication message if return_instead_of_echo is true */ public function show_authed_admin_warning($return_instead_of_echo) { global $updraftplus_admin; $dropbox = $this->bootstrap(); if (false === $dropbox) return false; try { $account_info = $dropbox->accountInfo(); } catch (Exception $e) { $accountinfo_err = sprintf(__("%s error: %s", 'updraftplus'), 'Dropbox', $e->getMessage()).' ('.$e->getCode().')'; } $message = "".__('Success:', 'updraftplus').' '.sprintf(__('you have authenticated your %s account', 'updraftplus'), 'Dropbox'); // We log, because otherwise people get confused by the most recent log message of 'Parameter not found: oauth_token' and raise support requests $this->log(__('Success:', 'updraftplus').' '.sprintf(__('you have authenticated your %s account', 'updraftplus'), 'Dropbox')); if (empty($account_info['code']) || "200" != $account_info['code']) { $message .= " (".__('though part of the returned information was not as expected - whether this indicates a real problem cannot be determined', 'updraftplus').") ". $account_info['code']; if (!empty($accountinfo_err)) $message .= "
".htmlspecialchars($accountinfo_err); } else { $body = $account_info['body']; $name = ''; $email = ''; if (isset($body->display_name)) { $name = $body->display_name; } else { $name = $body->name->display_name; } if (isset($body->email)) { $email = $body->email; } $opts = $this->get_options(); $opts['ownername'] = $name; $opts['email'] = $email; $ownername_with_email = $this->generate_ownername_with_email($opts); $message .= ".
".sprintf(__('Your %s account name: %s', 'updraftplus'), 'Dropbox', htmlspecialchars($ownername_with_email)); $this->set_options($opts, true); try { /** * Quota information is no longer provided with account information a new call to qoutaInfo must be made to get this information. The timeout is because we've seen cases where it returned after 180 seconds (apparently a faulty outgoing proxy), and we may as well wait as cause an error leading to user confusion. */ $quota_info = $dropbox->quotaInfo(array('timeout' => 190)); if (empty($quota_info['code']) || "200" != $quota_info['code']) { $message .= " (".__('though part of the returned information was not as expected - whether this indicates a real problem cannot be determined', 'updraftplus').")". $quota_info['code']; if (!empty($accountinfo_err)) $message .= "
".htmlspecialchars($accountinfo_err); } else { $body = $quota_info['body']; if (isset($body->quota_info)) { $quota_info = $body->quota_info; $total_quota = max($quota_info->quota, 1); $normal_quota = $quota_info->normal; $shared_quota = $quota_info->shared; $available_quota =$total_quota - ($normal_quota + $shared_quota); $used_perc = round(($normal_quota + $shared_quota)*100/$total_quota, 1); $message .= '
'.sprintf(__('Your %s quota usage: %s %% used, %s available', 'updraftplus'), 'Dropbox', $used_perc, round($available_quota/1048576, 1).' MB'); } else { $total_quota = max($body->allocation->allocated, 1); $used = $body->used; /* check here to see if the account is a team account and if so use the other used value This will give us their total usage including their individual account and team account */ if (isset($body->allocation->used)) $used = $body->allocation->used; $available_quota =$total_quota - $used; $used_perc = round($used*100/$total_quota, 1); $message .= '
'.sprintf(__('Your %s quota usage: %s %% used, %s available', 'updraftplus'), 'Dropbox', $used_perc, round($available_quota/1048576, 1).' MB'); } } } catch (Exception $e) { // Catch } } if ($return_instead_of_echo) { return "

{$message}

"; } else { $updraftplus_admin->show_admin_warning($message); } } /** * Bootstrap and check token, can also return the authentication method if return_instead_of_echo is true * * @param boolean $return_instead_of_echo - a boolean to indicate if we should return the result or echo it * * @return void|string - returns the authentication message if return_instead_of_echo is true */ public function auth_token($return_instead_of_echo) { $this->bootstrap(); $opts = $this->get_options(); if (!empty($opts['tk_access_token'])) { if ($return_instead_of_echo) { return $this->show_authed_admin_warning($return_instead_of_echo); } else { add_action('all_admin_notices', array($this, 'show_authed_admin_warning')); } } } /** * Acquire single-use authorization code */ public function auth_request() { $this->bootstrap(); } /** * This basically reproduces the relevant bits of bootstrap.php from the SDK * * @param Boolean $deauthenticate indicates if we should bootstrap for a deauth or auth request * @return object */ public function bootstrap($deauthenticate = false) { $storage = $this->get_storage(); if (!empty($storage) && !is_wp_error($storage)) return $storage; // Dropbox APIv1 is dead, but we'll keep the variable in case v3 is ever announced $dropbox_api = 'Dropbox2'; updraft_try_include_file('includes/'.$dropbox_api.'/API.php', 'include_once'); updraft_try_include_file('includes/'.$dropbox_api.'/Exception.php', 'include_once'); updraft_try_include_file('includes/'.$dropbox_api.'/OAuth/Consumer/ConsumerAbstract.php', 'include_once'); updraft_try_include_file('includes/'.$dropbox_api.'/OAuth/Storage/StorageInterface.php', 'include_once'); updraft_try_include_file('includes/'.$dropbox_api.'/OAuth/Storage/Encrypter.php', 'include_once'); updraft_try_include_file('includes/'.$dropbox_api.'/OAuth/Storage/WordPress.php', 'include_once'); updraft_try_include_file('includes/'.$dropbox_api.'/OAuth/Consumer/Curl.php', 'include_once'); // updraft_try_include_file('includes/'.$dropbox_api.'/OAuth/Consumer/WordPress.php', 'require_once'); $opts = $this->get_options(); $key = empty($opts['secret']) ? '' : $opts['secret']; $sec = empty($opts['appkey']) ? '' : $opts['appkey']; $oauth2_id = defined('UPDRAFTPLUS_DROPBOX_CLIENT_ID') ? UPDRAFTPLUS_DROPBOX_CLIENT_ID : base64_decode('dzQxM3o0cWhqejY1Nm5l'); // Set the callback URL $callbackhome = UpdraftPlus_Options::admin_page_url().'?page=updraftplus&action=updraftmethod-dropbox-auth'; $callback = defined('UPDRAFTPLUS_DROPBOX_AUTH_RETURN_URL') ? UPDRAFTPLUS_DROPBOX_AUTH_RETURN_URL : 'https://auth.updraftplus.com/auth/dropbox/'; if (defined('UPDRAFTPLUS_CUSTOM_DROPBOX_APP') && UPDRAFTPLUS_CUSTOM_DROPBOX_APP) $callback = $callbackhome; $instance_id = $this->get_instance_id(); // Instantiate the Encryptor and storage objects $encrypter = new Dropbox_Encrypter('ThisOneDoesNotMatterBeyondLength'); // Instantiate the storage $dropbox_storage = new Dropbox_WordPress($encrypter, "tk_", 'updraft_dropbox', $this); // WordPress consumer does not yet work // $oauth = new Dropbox_ConsumerWordPress($sec, $key, $dropbox_storage, $callback); // Get the DropBox API access details list($d2, $d1) = $this->defaults(); if (empty($sec)) { $sec = base64_decode($d1); } if (empty($key)) { $key = base64_decode($d2); } $root = 'sandbox'; if ('dropbox:' == substr($sec, 0, 8)) { $sec = substr($sec, 8); $root = 'dropbox'; } try { $oauth = new Dropbox_Curl($sec, $oauth2_id, $key, $dropbox_storage, $callback, $callbackhome, $deauthenticate, $instance_id); } catch (Exception $e) { $this->log("Curl error: ".$e->getMessage()); $this->log(sprintf(__("%s error: %s", 'updraftplus'), "Dropbox/Curl", $e->getMessage().' ('.get_class($e).') (line: '.$e->getLine().', file: '.$e->getFile()).')', 'error'); return false; } if ($deauthenticate) return true; $storage = new UpdraftPlus_Dropbox_API($oauth, $root); $this->set_storage($storage); return $storage; } } methods/backup-module.php000064400000077470147400355670011502 0ustar00_options = $options; // Remove any previously-stored storage object, because this is usually tied to the options if (!empty($this->_storage)) unset($this->_storage); if ($instance_id) $this->set_instance_id($instance_id); if ($save) return $this->save_options(); } /** * Saves the current options to the database. This is a private function; external callers should use set_options(). * * @throws Exception if trying to save options without indicating an instance_id, or if the remote storage module does not have the multi-option capability */ private function save_options() { if (!$this->supports_feature('multi_options')) { throw new Exception('save_options() can only be called on a storage method which supports multi_options (this module, '.$this->get_id().', does not)'); } if (!$this->_instance_id) { throw new Exception('save_options() requires an instance ID, but was called without setting one (either directly or via set_instance_id())'); } $current_db_options = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format($this->get_id()); if (is_wp_error($current_db_options)) { throw new Exception('save_options(): options fetch/update failed ('.$current_db_options->get_error_code().': '.$current_db_options->get_error_message().')'); } $current_db_options['settings'][$this->_instance_id] = $this->_options; return UpdraftPlus_Options::update_updraft_option('updraft_'.$this->get_id(), $current_db_options); } /** * Retrieve default options for this remote storage module. * This method would normally be over-ridden by the child. * * @return Array - an array of options */ public function get_default_options() { return array(); } /** * Retrieve persistent class variables and/or methods (the ones that don't get changed during runtime) and transform them into a list of template properties * * @return Array an associative array keyed by names of the corresponding variables/methods, the keys might not exactly be the same with the name of the variables/methods */ protected function get_persistent_variables_and_methods() { global $updraftplus; return array( 'css_class' => 'updraftplusmethod', 'is_multi_options_feature_supported' => $this->supports_feature('multi_options'), 'is_config_templates_feature_supported' => $this->supports_feature('config_templates'), 'is_conditional_logic_feature_supported' => $this->supports_feature('conditional_logic'), 'is_multi_servers_feature_supported' => $this->supports_feature('multi_servers'), 'method_id' => $this->get_id(), '_instance_id' => $this->_instance_id, 'method_display_name' => $updraftplus->backup_methods[$this->get_id()], 'admin_page_url' => UpdraftPlus_Options::admin_page_url(), 'storage_auth_nonce' =>wp_create_nonce('storage_auth_nonce'), 'input_select_folder_label' => __('Select existing folder', 'updraftplus'), 'input_confirm_label' => __('Confirm', 'updraftplus'), 'input_cancel_label' => __('Cancel', 'updraftplus'), ); } /** * Get all persistent variables and methods across the modules (this could mean the child including its parent), also the necessary required HTML element attributes and texts which are unique to each child * NOTE: Since this method would normally be over-ridden by the child, please sanitise all strings that are required to be shown as HTML content on the frontend side (i.e. wp_kses()) * * @return Array an associative array keyed by names that describe themselves as they are */ public function get_template_properties() { return array(); } /** * List all allowed HTML tags for content sanitisation * * @return Array an associatve array keyed by name of the allowed HTML tags */ protected function allowed_html_for_content_sanitisation() { return array( 'a' => array( 'href' => array(), 'title' => array(), 'target' => array(), ), 'br' => array(), 'em' => array(), 'strong' => array(), 'p' => array(), 'div' => array( 'class' => array(), ), 'kbd' => array(), ); } /** * Get partial templates associated to the corresponding backup module (remote storage object) * N.B. This method would normally be over-ridden by the child. * * @return Array an associative array keyed by name of the partial templates */ public function get_partial_templates() { return array(); } /** * Check whether options have been set up by the user, or not * This method would normally be over-ridden by the child. * * @param Array $opts - the potential options * * @return Boolean */ public function options_exist($opts) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused parameter is present because the caller uses 1 argument and normally this method will be over-ridden by the child class. return false; } /** * Retrieve a list of supported features for this storage method * This method should be over-ridden by methods supporting new * features. * * Keys are strings, and values are booleans. * * Currently known features: * * - multi_options : indicates that the remote storage module * can handle its options being in the Feb-2017 multi-options * format. N.B. This only indicates options handling, not any * other multi-destination options. * * - multi_servers : not implemented yet: indicates that the * remote storage module can handle multiple servers at backup * time. This should not be specified without multi_options. * multi_options without multi_servers is fine - it will just * cause only the first entry in the options array to be used. * * - config_templates : not implemented yet: indicates that * the remote storage module can output its configuration in * Handlebars format via the get_configuration_template() method. * * - conditional_logic : indicates that the remote storage module * can handle predefined logics regarding how backups should be * sent to the remote storage * * @return Array - an array of supported features (any features not * mentioned are assumed to not be supported) */ public function get_supported_features() { return array(); } /** * This method should only be called if the feature 'multi storage' is supported. In that case, it returns a template with information about the remote storage. The code below is a placeholder, and methods supporting the feature should always over-ride it. * * @return String - HTML template */ public function get_pre_configuration_template() { return $this->get_id().": called, but not implemented in the child class (coding error)"; } /** * This method should only be called if the feature 'config templates' is supported. In that case, it returns a template with appropriate placeholders for specific settings. The code below is a placeholder, and methods supporting the feature should always over-ride it. * * @return String - HTML template */ public function get_configuration_template() { return $this->get_id().": called, but not implemented in the child class (coding error)"; } /** * This method will set the stored storage object to that indicated * * @param Object $storage - the storage client */ public function set_storage($storage) { $this->_storage = $storage; } /** * This method will return the stored storage client * * @return Object - the stored remote storage client */ public function get_storage() { if (!empty($this->_storage)) return $this->_storage; } /** * Outputs id and name fields, as if currently within an input tag * * This assumes standardised options handling (i.e. that the options array is updraft_(method-id)) * * @param Array|String $field - the field identifiers * @param Boolean $return_instead_of_echo - tells the method if it should return the output or echo it to page */ public function output_settings_field_name_and_id($field, $return_instead_of_echo = false) { $method_id = $this->get_id(); $instance_id = $this->supports_feature('config_templates') ? '{{instance_id}}' : $this->_instance_id; $id = ''; $name = ''; if (is_array($field)) { foreach ($field as $value) { $id .= '_'.$value; $name .= '['.$value.']'; } } else { $id = '_'.$field; $name = '['.$field.']'; } $output = "id=\"updraft_{$method_id}{$id}_{$instance_id}\" name=\"updraft_{$method_id}[settings][{$instance_id}]{$name}\" "; if ($return_instead_of_echo) { return $output; } else { echo wp_kses_post($output); } } /** * Get the CSS ID * * @param String $field - the field identifier to return a CSS ID for * * @return String */ public function get_css_id($field) { $method_id = $this->get_id(); $instance_id = $this->supports_feature('config_templates') ? '{{instance_id}}' : $this->_instance_id; return "updraft_{$method_id}_{$field}_{$instance_id}"; } /** * Get handlebarsjs template * This deals with any boiler-plate, prior to calling config_print() * * @uses self::config_print() * @uses self::get_configuration_template() * * return handlebarsjs template or html */ public function get_template() { ob_start(); // Allow methods to not use this hidden field, if they do not output any settings (to prevent their saved settings being over-written by just this hidden field) if ($this->print_shared_settings_fields()) { ?>supports_feature('config_templates')) { ?> {{#if first_instance}} get_pre_configuration_template(); if ($this->supports_feature('multi_storage')) { do_action('updraftplus_config_print_add_multi_storage', $this->get_id(), $this); } ?> {{/if}} get_id(), $this); if ('updraftvault' !== $this->get_id()) do_action('updraftplus_config_print_add_conditional_logic', $this->get_id(), $this); if ($this->supports_feature('multi_storage')) { do_action('updraftplus_config_print_add_instance_label', $this->get_id(), $this); } $template = ob_get_clean(); $template .= $this->get_configuration_template(); if ('updraftvault' === $this->get_id()) { ob_start(); do_action('updraftplus_config_print_add_conditional_logic', $this->get_id(), $this); $template .= ob_get_clean(); } } else { do_action('updraftplus_config_print_before_storage', $this->get_id(), $this); do_action('updraftplus_config_print_add_conditional_logic', $this->get_id(), $this); // N.B. These are mutually exclusive: config_print() is not used if config_templates is supported. So, even during transition, the UpdraftPlus_BackupModule instance only needs to support one of the two, not both. $this->config_print(); $template = ob_get_clean(); } return $template; } /** * Modifies handerbar template options. Other child class can extend it. * * @param array $opts * @return Array - Modified handerbar template options */ public function transform_options_for_template($opts) { return $opts; } /** * Gives settings keys which values should not passed to handlebarsjs context. * The settings stored in UD in the database sometimes also include internal information that it would be best not to send to the front-end (so that it can't be stolen by a man-in-the-middle attacker) * * @return Array - Settings array keys which should be filtered */ public function filter_frontend_settings_keys() { return array(); } /** * Over-ride this to allow methods to not use the hidden version field, if they do not output any settings (to prevent their saved settings being over-written by just this hidden field * * @return [boolean] - return true to output the version field or false to not output the field */ public function print_shared_settings_fields() { return true; } /** * Prints out the configuration section for a particular module. This is now (Sep 2017) considered deprecated; things are being ported over to get_configuration_template(), indicated via the feature 'config_templates'. */ public function config_print() { echo $this->get_id().": module neither declares config_templates support, nor has a config_print() method (coding bug)"; } /** * Supplies the list of keys for options to be saved in the backup job. * * @return Array */ public function get_credentials() { $keys = array('updraft_ssl_disableverify', 'updraft_ssl_nossl', 'updraft_ssl_useservercerts'); if (!$this->supports_feature('multi_servers')) $keys[] = 'updraft_'.$this->get_id(); return $keys; } /** * Returns a space-separated list of CSS classes suitable for rows in the configuration section * * @param Boolean $include_instance - a boolean value to indicate if we want to include the instance_id in the css class, we may not want to include the instance if it's for a UI element that we don't want to be removed along with other UI elements that do include a instance id. * * @returns String - the list of CSS classes */ public function get_css_classes($include_instance = true) { $classes = 'updraftplusmethod '.$this->get_id(); if (!$include_instance) return $classes; if ($this->supports_feature('multi_options')) { if ($this->supports_feature('config_templates')) { $classes .= ' '.$this->get_id().'-{{instance_id}}'; } else { $classes .= ' '.$this->get_id().'-'.$this->_instance_id; } } return $classes; } /** * * Returns HTML for a row for a test button * * @param String $title - The text to be used in the button * * @returns String - The HTML to be inserted into the settings page */ protected function get_test_button_html($title) { ob_start(); $instance_id = $this->supports_feature('config_templates') ? '{{instance_id}}' : $this->_instance_id; ?>

backup_methods; $id = $this->get_id(); return isset($methods[$id]) ? $methods[$id] : $id; } /** * Sets the instance ID - for supporting multi_options * * @param String $instance_id - the instance ID */ public function set_instance_id($instance_id) { $this->_instance_id = $instance_id; } /** * Sets the instance ID - for supporting multi_options * * @returns String the instance ID */ public function get_instance_id() { return $this->_instance_id; } /** * Check whether this storage module supports a mentioned feature * * @param String $feature - the feature concerned * * @returns Boolean */ public function supports_feature($feature) { return in_array($feature, $this->get_supported_features()); } /** * Retrieve options for this remote storage module. * N.B. The option name instance_id is reserved and should not be used. * * @uses get_default_options * * @return Array - array of options. This will include default values for any options not set. */ public function get_options() { global $updraftplus; $supports_multi_options = $this->supports_feature('multi_options'); if (is_array($this->_options)) { // First, prioritise any options that were explicitly set. This is the eventual goal for all storage modules. $options = $this->_options; } elseif (is_callable(array($this, 'get_opts'))) { // Next, get any options available via a legacy / over-ride method. if ($supports_multi_options) { // This is forbidden, because get_opts() is legacy and is for methods that do not support multi-options. Supporting multi-options leads to the array format being updated, which will then break get_opts(). die('Fatal error: method '.$this->get_id().' both supports multi_options and provides a get_opts method'); } $options = $this->get_opts(); } else { // Next, look for job options (which in turn, falls back to saved settings if no job options were set) $options = $updraftplus->get_job_option('updraft_'.$this->get_id()); if (!is_array($options)) $options = array(); if ($supports_multi_options) { if (!isset($options['version'])) { $options_full = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format($this->get_id()); if (is_wp_error($options_full)) { $updraftplus->log("Options retrieval failure: ".$options_full->get_error_code().": ".$options_full->get_error_message()." (".json_encode($options_full->get_error_data()).")"); return array(); } } else { $options_full = $options; } // UpdraftPlus_BackupModule::get_options() is for getting the current instance's options. So, this branch (going via the job option) is a legacy route, and hence we just give back the first one. The non-legacy route is to call the set_options() method externally. $options = (isset($options_full['settings']) && is_array($options_full['settings'])) ? reset($options_full['settings']) : false; if (false === $options) { $updraftplus->log("Options retrieval failure (no options set)"); return array(); } $instance_id = key($options_full['settings']); $this->set_options($options, false, $instance_id); } } $options = apply_filters( 'updraftplus_backupmodule_get_options', wp_parse_args($options, $this->get_default_options()), $this ); return $options; } /** * Set job data that is local to this storage instance * (i.e. the key does not need to be unique across instances) * * @uses UpdraftPlus::jobdata_set() * * @param String $key - the key for the job data * @param Mixed $value - the data to be stored */ public function jobdata_set($key, $value) { $instance_key = $this->get_id().'-'.($this->_instance_id ? $this->_instance_id : 'no_instance'); global $updraftplus; $instance_data = $updraftplus->jobdata_get($instance_key); if (!is_array($instance_data)) $instance_data = array(); $instance_data[$key] = $value; $updraftplus->jobdata_set($instance_key, $instance_data); } /** * Get job data that is local to this storage instance * (i.e. the key does not need to be unique across instances) * * @uses UpdraftPlus::jobdata_get() * * @param String $key - the key for the job data * @param Mixed $default - the default to return if nothing was set * @param String|Null $legacy_key - the previous name of the key, prior to instance-specific job data (so that upgrades across versions whilst a backup is in progress can still find its data). In future, support for this can be removed. */ public function jobdata_get($key, $default = null, $legacy_key = null) { $instance_key = $this->get_id().'-'.($this->_instance_id ? $this->_instance_id : 'no_instance'); global $updraftplus; $instance_data = $updraftplus->jobdata_get($instance_key); if (is_array($instance_data) && isset($instance_data[$key])) return $instance_data[$key]; return is_string($legacy_key) ? $updraftplus->jobdata_get($legacy_key, $default) : $default; } /** * Delete job data that is local to this storage instance * (i.e. the key does not need to be unique across instances) * * @uses UpdraftPlus::jobdata_set() * * @param String $key - the key for the job data * @param String|Null $legacy_key - the previous name of the key, prior to instance-specific job data (so that upgrades across versions whilst a backup is in progress can still find its data) */ public function jobdata_delete($key, $legacy_key = null) { $instance_key = $this->get_id().'-'.($this->_instance_id ? $this->_instance_id : 'no_instance'); global $updraftplus; $instance_data = $updraftplus->jobdata_get($instance_key); if (is_array($instance_data) && isset($instance_data[$key])) { unset($instance_data[$key]); $updraftplus->jobdata_set($instance_key, $instance_data); } if (is_string($legacy_key)) $updraftplus->jobdata_delete($legacy_key); } /** * This method will either return or echo the constructed auth link for the remote storage method * * @param Boolean $echo_instead_of_return - a boolean to indicate if the authentication link should be echo or returned * @param Boolean $template_instead_of_notice - a boolean to indicate if the authentication link is for a template or a notice * @return Void|String - returns a string or nothing depending on the parameters */ public function get_authentication_link($echo_instead_of_return = true, $template_instead_of_notice = true) { if (!$echo_instead_of_return) { ob_start(); } $account_warning = ''; $description = $this->get_description(); if ($this->output_account_warning()) { $account_warning = __('Ensure you are logged into the correct account before continuing.', 'updraftplus'); } if ($template_instead_of_notice) { $instance_id = "{{instance_id}}"; $text = sprintf(__("After you have saved your settings (by clicking 'Save Changes' below), then come back here and follow this link to complete authentication with %s.", 'updraftplus'), $description); } else { $instance_id = $this->get_instance_id(); $text = sprintf(__('Follow this link to authorize access to your %s account (you will not be able to backup to %s without it).', 'updraftplus'), $description, $description); } echo $account_warning . ' ' . $this->build_authentication_link($instance_id, $text); if (!$echo_instead_of_return) { return ob_get_clean(); } } /** * This function will build and return the authentication link * * @param String $instance_id - the instance id * @param String $text - the link text * * @return String - the authentication link */ public function build_authentication_link($instance_id, $text) { $id = $this->get_id(); if (!preg_match('/^[-A-Z0-9]+$/i', $instance_id)) return ''; return ''.$text.''; } /** * Check the authentication is valid before proceeding to call the authentication method */ public function action_authenticate_storage() { if (isset($_GET['updraftplus_'.$this->get_id().'auth']) && 'doit' == $_GET['updraftplus_'.$this->get_id().'auth'] && !empty($_GET['updraftplus_instance']) && preg_match('/^[-A-Z0-9]+$/i', $_GET['updraftplus_instance']) && isset($_GET['nonce']) && wp_verify_nonce($_GET['nonce'], 'storage_auth_nonce')) { $this->authenticate_storage((string) $_GET['updraftplus_instance']); } } /** * Authenticate the remote storage and save settings * * @param String $instance_id - The remote storage instance id */ public function authenticate_storage($instance_id) { if (method_exists($this, 'do_authenticate_storage')) { $this->do_authenticate_storage($instance_id); } else { error_log($this->get_id().": module does not have an authenticate storage method (coding bug)"); } } /** * This method will either return or echo the constructed deauth link for the remote storage method * * @param Boolean $echo_instead_of_return - a boolean to indicate if the deauthentication link should be echo or returned * @return Void|String - returns a string or nothing depending on the parameters */ public function get_deauthentication_link($echo_instead_of_return = true) { if (!$echo_instead_of_return) { ob_start(); } $id = $this->get_id(); $description = $this->get_description(); echo ' '.sprintf(__("Follow this link to remove these settings for %s.", 'updraftplus'), $description).''; if (!$echo_instead_of_return) { return ob_get_clean(); } } /** * Check the deauthentication is valid before proceeding to call the deauthentication method */ public function action_deauthenticate_storage() { if (isset($_GET['updraftplus_'.$this->get_id().'auth']) && 'deauth' == $_GET['updraftplus_'.$this->get_id().'auth'] && !empty($_GET['nonce']) && !empty($_GET['updraftplus_instance']) && preg_match('/^[-A-Z0-9]+$/i', $_GET['updraftplus_instance']) && wp_verify_nonce($_GET['nonce'], $this->get_id().'_deauth_nonce')) { $this->deauthenticate_storage($_GET['updraftplus_instance']); } } /** * Deauthenticate the remote storage and remove the saved settings * * @param String $instance_id - The remote storage instance id */ public function deauthenticate_storage($instance_id) { if (method_exists($this, 'do_deauthenticate_storage')) { $this->do_deauthenticate_storage($instance_id); } $opts = $this->get_default_options(); $this->set_options($opts, true, $instance_id); } /** * Get the manual authorisation template * * @return String - the template */ public function get_manual_authorisation_template() { $id = $this->get_id(); $description = $this->get_description(); $template = "
"; $template .= "".sprintf(__('%s authentication:', 'updraftplus'), $description).""; $template .= "

".sprintf(__('If you are having problems authenticating with %s you can manually authorize here.', 'updraftplus'), $description)."

"; $template .= "

".__('To complete manual authentication, at the orange UpdraftPlus authentication screen select the "Having problems authenticating?" link, then copy and paste the code given here.', 'updraftplus')."

"; $template .= " "; $template .= "

"; $template .= ""; $template .= '' . __('Processing', 'updraftplus') . '...'; $template .= "
"; return $template; } /** * This will call the remote storage methods complete authentication function * * @param string $state - the remote storage authentication state * @param string $code - the remote storage authentication code * * @return String - returns a string response */ public function complete_authentication($state, $code) { if (method_exists($this, 'do_complete_authentication')) { return $this->do_complete_authentication($state, $code, true); } else { $message = $this->get_id().": module does not have an complete authentication method (coding bug)"; error_log($message); return $message; } } /** * Over-ride this to allow methods to output extra information about using the correct account for OAuth storage methods * * @return Boolean - return false so that no extra information is output */ public function output_account_warning() { return false; } /** * This function is a wrapper and will call $updraftplus->log(), the backup modules should use this so we can add information to the log lines to do with the remote storage and instance settings. * * @param string $line - the log line * @param string $level - the log level: notice, warning, error. If suffixed with a hyphen and a destination, then the default destination is changed too. * @param boolean $uniq_id - each of these will only be logged once * @param boolean $skip_dblog - if true, then do not write to the database * * @return void */ public function log($line, $level = 'notice', $uniq_id = false, $skip_dblog = false) { global $updraftplus; $prefix = $this->get_storage_label(); $updraftplus->log("$prefix: $line", $level, $uniq_id, $skip_dblog); } /** * Log appropriate messages for a multi-delete response. * * @param Array $files * @param Array $responses - using the same keys as $files * * @return Boolean - true if no errors were found, otherwise false */ protected function process_multi_delete_responses($files, $responses) { global $updraftplus; $ret = true; if (is_array($responses)) { foreach ($responses as $key => $response) { if ('success' == $response) { $updraftplus->log("$files[$key]: Delete succeeded"); } elseif (is_array($response)) { $ret = false; if (isset($response['error']) && isset($response['error']['code']) && isset($response['error']['message'])) { $updraftplus->log("Delete failed for file: $files[$key] with error code: ".$response['error']['code']." message: ".$response['error']['message']); } else { $updraftplus->log("Delete failed for file: $files[$key]"); } } } } elseif (!$responses) { $ret = false; $updraftplus->log("Delete failed for files: ".implode($files)); } return $ret; } /** * This function will build and return the remote storage instance label * * @return String - the remote storage instance label */ private function get_storage_label() { $opts = $this->get_options(); $label = isset($opts['instance_label']) ? $opts['instance_label'] : ''; $description = $this->get_description(); if (!empty($label)) { $prefix = (false !== strpos($label, $description)) ? $label : "$description: $label"; } else { $prefix = $description; } return $prefix; } /** * This method will output any needed js for the JSTree. * * @return void */ public function admin_footer_jstree() { static $script_output = array(); // Static array to store script output status. $id = $this->get_id(); // Check if the script has already been output for this ID. if (!isset($script_output[$id])) { wp_add_inline_script('updraft-admin-common', "var js_tree_".esc_js($id)." = new updraft_js_tree('".esc_js($id)."'); js_tree_".esc_js($id).".init();", 'after'); // Mark the script as output for this ID. $script_output[$id] = true; } } } methods/email.php000064400000013452147400355670010027 0ustar00backups_dir_location()); $email = $updraftplus->just_one_email(UpdraftPlus_Options::get_updraft_option('updraft_email'), true); if (!is_array($email)) $email = array_filter(array($email)); foreach ($backup_array as $type => $file) { $descrip_type = preg_match('/^(.*)\d+$/', $type, $matches) ? $matches[1] : $type; $fullpath = $updraft_dir.$file; if (file_exists($fullpath) && filesize($fullpath) > UPDRAFTPLUS_WARN_EMAIL_SIZE) { $size_in_mb_of_big_file = round(filesize($fullpath)/1048576, 1); $toobig_hash = md5($file); $this->log($file.': '.sprintf(__('This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size).', 'updraftplus'), $size_in_mb_of_big_file).' '.__('If so, you should switch to using a different remote storage method.', 'updraftplus'), 'warning', 'toobigforemail_'.$toobig_hash); } $any_attempted = false; $any_sent = false; $any_skip = false; foreach ($email as $ind => $addr) { if (apply_filters('updraftplus_email_backup', true, $addr, $ind, $type)) { foreach (explode(',', $addr) as $sendmail_addr) { if (!preg_match('/^https?:\/\//i', $sendmail_addr)) { $send_short = (strlen($sendmail_addr)>5) ? substr($sendmail_addr, 0, 5).'...' : $sendmail_addr; $this->log("$file: email to: $send_short"); $any_attempted = true; $headers = array(); $subject = __("WordPress Backup", 'updraftplus').': '.get_bloginfo('name').' (UpdraftPlus '.$updraftplus->version.') '.get_date_from_gmt(gmdate('Y-m-d H:i:s', $updraftplus->backup_time), 'Y-m-d H:i'); $from_email = apply_filters('updraftplus_email_from_header', $updraftplus->get_email_from_header()); $from_name = apply_filters('updraftplus_email_from_name_header', $updraftplus->get_email_from_name_header()); $use_wp_from_name_filter = '' === $from_email; // Notice that we don't use the 'wp_mail_from' filter, but only the 'From:' header to set sender name and sender email address, the reason behind it is that some SMTP plugins override the "wp_mail()" function and they do anything they want inside their own "wp_mail()" function, including not to call the php_mailer filter nor the wp_mail_from and wp_mail_from_name filters, but since the function signature remain the same as the WP one, so they may evaluate and do something with the header parameter if (!$use_wp_from_name_filter) { $headers[] = sprintf('From: %s <%s>', $from_name, $from_email); } else { add_filter('wp_mail_from_name', array($updraftplus, 'get_email_from_name_header'), 9); } add_action('wp_mail_failed', array($updraftplus, 'log_email_delivery_failure')); $sent = wp_mail(trim($sendmail_addr), $subject, sprintf(__("Backup is of: %s.", 'updraftplus'), site_url().' ('.$descrip_type.')'), $headers, array($fullpath)); remove_action('wp_mail_failed', array($updraftplus, 'log_email_delivery_failure')); if ($use_wp_from_name_filter) remove_filter('wp_mail_from_name', array($this, 'get_email_from_name_header'), 9); if ($sent) $any_sent = true; } } } else { $log_message = apply_filters('updraftplus_email_backup_skip_log_message', '', $addr, $ind, $descrip_type); if (!empty($log_message)) { $this->log($log_message); } $any_skip = true; } } if ($any_sent) { if (isset($toobig_hash)) { $updraftplus->log_remove_warning('toobigforemail_'.$toobig_hash); // Don't leave it still set for the next archive unset($toobig_hash); } $updraftplus->uploaded_file($file); } elseif ($any_attempted) { $this->log('Mails were not sent successfully'); $this->log(__('The attempt to send the backup via email failed (probably the backup was too large for this method)', 'updraftplus'), 'error'); } elseif ($any_skip) { $this->log('No email addresses were configured to send email to '.$descrip_type); } else { $this->log('No email addresses were configured to send to'); } } return null; } /** * Acts as a WordPress options filter * * @param Array $options - An array of options * * @return Array - the returned array can either be the set of updated settings or a WordPress error array */ public function options_filter($options) { global $updraftplus; return $updraftplus->just_one_email($options); } public function config_print() { global $updraftplus; ?> '.__("configure it here", 'updraftplus').''). ' '.__('For more options, use Premium', 'updraftplus').'' ); echo $used.' '.sprintf(__('Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive.', 'updraftplus'), '10-20'); ?> method = $method; $this->desc = $desc; $this->required_php = $php; $this->image = $image; $this->error_msg = 'This remote storage method ('.$this->desc.') requires PHP '.$this->required_php.' or later'; $this->error_msg_trans = sprintf(__('This remote storage method (%s) requires PHP %s or later.', 'updraftplus'), $this->desc, $this->required_php); } private function log_error() { global $updraftplus; $updraftplus->log($this->error_msg); $updraftplus->log($this->error_msg_trans, 'error', 'insufficientphp'); return false; } /** * backup method: takes an array, and shovels them off to the cloud storage * * @param array $backup_array An array backups * @return Array */ public function backup($backup_array) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is present because the function to perform backup for specific storage is not exist. return $this->log_error(); } /** * Retrieve a list of supported features for this storage method * * Currently known features: * * - multi_options : indicates that the remote storage module * can handle its options being in the Feb-2017 multi-options * format. N.B. This only indicates options handling, not any * other multi-destination options. * * - multi_servers : not implemented yet: indicates that the * remote storage module can handle multiple servers at backup * time. This should not be specified without multi_options. * multi_options without multi_servers is fine - it will just * cause only the first entry in the options array to be used. * * - config_templates : not implemented yet: indicates that * the remote storage module can output its configuration in * Handlebars format via the get_configuration_template() method. * * @return Array - an array of supported features (any features not * mentioned are assumed to not be supported) */ public function get_supported_features() { // The 'multi_options' options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates'); } /** * $match: a substring to require (tested via strpos() !== false) * * @param String $match THis will specify which match is used for the SQL but by default it is set to 'backup_' unless specified * @return Array */ public function listfiles($match = 'backup_') {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is present because the function to perform listfiles for specific storage is not exist. return new WP_Error('insufficient_php', $this->error_msg_trans); } /** * delete method: takes an array of file names (base name) or a single string, and removes them from the cloud storage * * @param String $files List of files * @param Boolean $data Specifies data or not * @param array $sizeinfo This is the size info on the file. * @return Array */ public function delete($files, $data = false, $sizeinfo = array()) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is present because the function to perform delete for specific storage is not exist. return $this->log_error(); } /** * download method: takes a file name (base name), and brings it back from the cloud storage into Updraft's directory * You can register errors with $updraftplus->log("my error message", 'error') * * @param String $file List of files * @return Array */ public function download($file) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is present because the function to perform download for specific storage is not exist. return $this->log_error(); } private function extra_config() { } /** * Get the configuration template * * @return String - the template, ready for substitutions to be carried out */ public function get_configuration_template() { ob_start(); $this->extra_config(); ?> desc);?>: image)) ? '

' : ''; ?> error_msg_trans);?>
=')) { if (class_exists('UpdraftPlus_Addons_RemoteStorage_azure')) { class UpdraftPlus_BackupModule_azure extends UpdraftPlus_Addons_RemoteStorage_azure { public function __construct() { parent::__construct('azure', 'Microsoft Azure', true, true); } } } else { updraft_try_include_file('methods/addon-not-yet-present.php', 'include_once'); /** * N.B. UpdraftPlus_BackupModule_AddonNotYetPresent extends UpdraftPlus_BackupModule */ class UpdraftPlus_BackupModule_azure extends UpdraftPlus_BackupModule_AddonNotYetPresent { public function __construct() { parent::__construct('azure', 'Microsoft Azure', '5.3.3', 'azure.png'); } } } } else { updraft_try_include_file('methods/insufficient.php', 'include_once'); /** * N.B. UpdraftPlus_BackupModule_insufficientphp extends UpdraftPlus_BackupModule */ class UpdraftPlus_BackupModule_azure extends UpdraftPlus_BackupModule_insufficientphp { public function __construct() { parent::__construct('azure', 'Microsoft Azure', '5.3.3', 'azure.png'); } } } methods/googlecloud.php000064400000002264147400355670011242 0ustar00=')) { if (class_exists('UpdraftPlus_Addons_RemoteStorage_googlecloud')) { class UpdraftPlus_BackupModule_googlecloud extends UpdraftPlus_Addons_RemoteStorage_googlecloud { public function __construct() { parent::__construct('googlecloud', 'Google Cloud', '5.2.4', 'googlecloud.png'); } } } else { updraft_try_include_file('methods/addon-not-yet-present.php', 'include_once'); /** * N.B. UpdraftPlus_BackupModule_AddonNotYetPresent extends UpdraftPlus_BackupModule */ class UpdraftPlus_BackupModule_googlecloud extends UpdraftPlus_BackupModule_AddonNotYetPresent { public function __construct() { parent::__construct('googlecloud', 'Google Cloud', '5.2.4', 'googlecloud.png'); } } } } else { updraft_try_include_file('methods/insufficient.php', 'include_once'); class UpdraftPlus_BackupModule_googlecloud extends UpdraftPlus_BackupModule_insufficientphp { public function __construct() { parent::__construct('googlecloud', 'Google Cloud', '5.2.4', 'googlecloud.png'); } } } methods/cloudfiles-new.php000064400000036564147400355670011671 0ustar00client; } public function get_openstack_service($opts, $useservercerts = false, $disablesslverify = null) { $user = $opts['user']; $apikey = $opts['apikey']; $authurl = $opts['authurl']; $region = (!empty($opts['region'])) ? $opts['region'] : null; updraft_try_include_file('vendor/autoload.php', 'include_once'); // The new authentication APIs don't match the values we were storing before $new_authurl = ('https://lon.auth.api.rackspacecloud.com' == $authurl || 'uk' == $authurl) ? Rackspace::UK_IDENTITY_ENDPOINT : Rackspace::US_IDENTITY_ENDPOINT; if (null === $disablesslverify) $disablesslverify = UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify'); if (empty($user) || empty($apikey)) throw new Exception(__('Authorisation failed (check your credentials)', 'updraftplus')); $this->log("authentication URL: ".$new_authurl); $client = new Rackspace($new_authurl, array( 'username' => $user, 'apiKey' => $apikey )); $this->client = $client; if ($disablesslverify) { $client->setSslVerification(false); } else { if ($useservercerts) { $client->setConfig(array($client::SSL_CERT_AUTHORITY, 'system')); } else { $client->setSslVerification(UPDRAFTPLUS_DIR.'/includes/cacert.pem', true, 2); } } return $client->objectStoreService('cloudFiles', $region); } /** * This method overrides the parent method and lists the supported features of this remote storage option. * * @return Array - an array of supported features (any features not * mentioned are assumed to not be supported) */ public function get_supported_features() { // This options format is handled via only accessing options via $this->get_options() return array('multi_options', 'config_templates', 'multi_storage', 'conditional_logic'); } /** * Retrieve default options for this remote storage module. * * @return Array - an array of options */ public function get_default_options() { return array( 'user' => '', 'authurl' => 'https://auth.api.rackspacecloud.com', 'apikey' => '', 'path' => '', 'region' => null ); } /** * This gives the partial template string to the settings page for the CloudFiles settings. * * @return String - the partial template, ready for substitutions to be carried out */ public function get_configuration_middlesection_template() { global $updraftplus; $classes = $this->get_css_classes(); $template_str = ' '.__('US or UK-based Rackspace Account', 'updraftplus').': '.__('Cloud Files Storage Region', 'updraftplus').': '.__('Cloud Files Username', 'updraftplus').': output_settings_field_name_and_id('user', true).' value="{{user}}" /> '.__('Cloud Files API Key', 'updraftplus').': output_settings_field_name_and_id('apikey', true).' value="{{apikey}}" /> '.apply_filters('updraftplus_cloudfiles_location_description', __('Cloud Files Container', 'updraftplus')).': output_settings_field_name_and_id('path', true).' value="{{path}}" /> '; return $template_str; } /** * Modifies handerbar template options * * @param array $opts handerbar template options * @return Array - Modified handerbar template options */ public function transform_options_for_template($opts) { $opts['regions'] = array( 'DFW' => __('Dallas (DFW) (default)', 'updraftplus'), 'SYD' => __('Sydney (SYD)', 'updraftplus'), 'ORD' => __('Chicago (ORD)', 'updraftplus'), 'IAD' => __('Northern Virginia (IAD)', 'updraftplus'), 'HKG' => __('Hong Kong (HKG)', 'updraftplus'), 'LON' => __('London (LON)', 'updraftplus') ); $opts['region'] = (empty($opts['region'])) ? 'DFW' : $opts['region']; if (isset($opts['apikey'])) { $opts['apikey'] = trim($opts['apikey']); } $opts['authurl'] = !empty($opts['authurl']) ? $opts['authurl'] : ''; return $opts; } /** * Perform a test of user-supplied credentials, and echo the result * * @param Array $posted_settings - settings to test */ public function credentials_test($posted_settings) { if (empty($posted_settings['apikey'])) { printf(__("Failure: No %s was given.", 'updraftplus'), __('API key', 'updraftplus')); return; } if (empty($posted_settings['user'])) { printf(__("Failure: No %s was given.", 'updraftplus'), __('Username', 'updraftplus')); return; } $opts = array( 'user' => $posted_settings['user'], 'apikey' => $posted_settings['apikey'], 'authurl' => $posted_settings['authurl'], 'region' => (empty($posted_settings['region'])) ? null : $posted_settings['region'] ); $this->credentials_test_go($opts, $posted_settings['path'], $posted_settings['useservercerts'], $posted_settings['disableverify']); } /** * Check whether options have been set up by the user, or not * * @param Array $opts - the potential options * * @return Boolean */ public function options_exist($opts) { if (is_array($opts) && isset($opts['user']) && '' != $opts['user'] && !empty($opts['apikey'])) return true; return false; } /** * Get the pre configuration template * * @return String - the template */ public function get_pre_configuration_template() { ?> {{#if storage_image_url}} {{storage_long_description}} {{/if}}
{{{mb_substr_existence_label}}} {{{json_last_error_existence_label}}} {{{curl_existence_label}}}

{{{rackspace_text_description}}} {{faq_link_text}}

{{input_account_label}}: {{input_region_label}}: {{input_username_label}}:
{{{input_username_title}}}
{{input_apikey_label}}: {{input_container_label}}: '; {{{get_template_test_button_html "Rackspace Cloud Files"}}} !empty($this->img_url) ? UPDRAFTPLUS_URL.$this->img_url : '', 'storage_long_description' => $this->long_desc, 'mb_substr_existence_label' => !apply_filters('updraftplus_openstack_mbsubstr_exists', function_exists('mb_substr')) ? wp_kses($updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__('Your web server\'s PHP installation does not include a required module (%s).', 'updraftplus'), 'mbstring').' '.__('Please contact your web hosting provider\'s support.', 'updraftplus').' '.sprintf(__("UpdraftPlus's %s module requires %s.", 'updraftplus'), $this->desc, 'mbstring').' '.__('Please do not file any support requests; there is no alternative.', 'updraftplus'), $this->method, false), $this->allowed_html_for_content_sanitisation()) : '', 'json_last_error_existence_label' => !apply_filters('updraftplus_rackspace_jsonlasterror_exists', function_exists('json_last_error')) ? wp_kses($updraftplus_admin->show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__('Your web server\'s PHP installation does not include a required module (%s).', 'updraftplus'), 'json').' '.__('Please contact your web hosting provider\'s support.', 'updraftplus').' '.sprintf(__("UpdraftPlus's %s module requires %s.", 'updraftplus'), 'Cloud Files', 'json').' '.__('Please do not file any support requests; there is no alternative.', 'updraftplus'), 'cloudfiles', false), $this->allowed_html_for_content_sanitisation()) : '', 'curl_existence_label' => wp_kses($updraftplus_admin->curl_check($this->long_desc, false, $this->method.' hidden-in-updraftcentral', false), $this->allowed_html_for_content_sanitisation()), 'rackspace_text_description' => wp_kses(sprintf(__('Get your API key from your Rackspace Cloud console (read instructions here), then pick a container name to use for storage.', 'updraftplus'), 'https://mycloud.rackspace.com/', 'https://docs.rackspace.com/support/how-to/set-up-an-api-key-cloud-office-control-panel').' '.__('This container will be created for you if it does not already exist.', 'updraftplus'), $this->allowed_html_for_content_sanitisation()), 'faq_link_text' => __('Also, you should read this important FAQ.', 'updraftplus'), 'faq_link_url' => wp_kses(apply_filters("updraftplus_com_link", "https://updraftplus.com/faqs/there-appear-to-be-lots-of-extra-files-in-my-rackspace-cloud-files-container/"), array(), array('http', 'https')), 'input_account_label' => __('US or UK-based Rackspace Account', 'updraftplus'), 'input_account_title' => __('Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts.', 'updraftplus'), 'input_account_option_labels' => array( 'https://auth.api.rackspacecloud.com' => __('US (default)', 'updraftplus'), 'https://lon.auth.api.rackspacecloud.com' => __('UK', 'updraftplus'), ), 'input_region_label' => __('Cloud Files Storage Region', 'updraftplus'), 'input_username_label' => __('Cloud Files Username', 'updraftplus'), 'input_username_title' => wp_kses(apply_filters('updraft_cloudfiles_apikeysetting', ''.__('To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use Premium.', 'updraftplus').''), $this->allowed_html_for_content_sanitisation()), 'input_apikey_label' => __('Cloud Files API Key', 'updraftplus'), 'input_apikey_type' => apply_filters('updraftplus_admin_secret_field_type', 'password'), 'input_container_label' => wp_kses(apply_filters('updraftplus_cloudfiles_location_description', __('Cloud Files Container', 'updraftplus')), $this->allowed_html_for_content_sanitisation()), 'input_test_label' => sprintf(__('Test %s Settings', 'updraftplus'), $updraftplus->backup_methods[$this->get_id()]), ); return wp_parse_args($properties, $this->get_persistent_variables_and_methods()); } } css/updraftplus-tour-1-24-6.min.css000064400000013373147400355670012736 0ustar00.shepherd-theme-arrows-plain-buttons{z-index:9999;max-width:390px !important}.shepherd-theme-arrows-plain-buttons.super-index{z-index:999999}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content{border-radius:3px;-webkit-filter:none;filter:none;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.15),0 10px 40px rgba(0,0,0,0.15);box-shadow:0 1px 3px rgba(0,0,0,0.15),0 10px 40px rgba(0,0,0,0.15)}.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before{display:none}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before{border-bottom-color:#dd6823}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header{background-color:#dd6823;border-radius:3px 3px 0 0;padding-right:90px}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header h3{color:#FFF;font-size:1.2em;float:none}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link{opacity:.7;color:rgba(255,255,255,0);font-size:.8em;border:1px solid #FFF;border-radius:50%;width:22px;height:22px;line-height:20px;padding:0;text-align:center;float:none;position:absolute;right:11px;top:12px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link::before{color:#FFF;content:attr(data-btntext);position:absolute;right:20px;padding-right:10px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link::after{content:"\f335";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:dashicons;color:#FFF;position:absolute;left:2px;line-height:21px;font-size:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus{border:1px solid #a04e00;opacity:1}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover::before,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus::before{color:#a04e00}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover::after,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus::after{color:#a04e00}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{top:44px}.shepherd-content .ud-notice{background:#f0f0f0;padding:14px;border-radius:4px;font-size:90% !important;line-height:1.5}.shepherd-content .ud-notice h3{margin-top:0;padding-top:0;margin-bottom:.5em}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p{margin-top:.5em;margin-bottom:1.3em}.ud-notice span.ud-special-offer{font-weight:bold;display:inline-block;padding:1px 6px;border-radius:3px;background:rgba(217,105,0,0.09)}label[for=updraft_servicecheckbox_updraftvault]{border:1px solid rgba(204,204,204,0.4);-webkit-transition:border .5s;transition:border .5s}label[for=updraft_servicecheckbox_updraftvault].emphasize{border-color:#dd6823}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back,.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end{float:left;position:relative;padding-left:10px}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end{padding-left:0;color:#b7b7b7}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back::before{content:' ';width:6px;height:6px;display:block;border-left:1px solid;border-bottom:1px solid;position:absolute;left:0;top:8px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}a.shepherd-button.udp-tour-end::before{display:inline-block;position:relative;content:"\f335";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:dashicons;font-size:20px;line-height:20px;vertical-align:middle;margin-top:-2px}.updraftplus-welcome-logo{display:block;width:70px;float:left;margin-top:-11px;margin-right:12px}.updraftplus-welcome-logo img{display:block;width:auto;max-width:100%}.highlight-udp .plugins #the-list tr:not([data-slug="updraftplus"]){opacity:.3}@media(max-width:790px){.shepherd-element.shepherd-theme-arrows-plain-buttons{display:none}} /*# sourceMappingURL=updraftplus-tour-1-24-6.min.css.map */ css/updraftplus-tour.css000064400000014352147400355670011426 0ustar00.shepherd-theme-arrows-plain-buttons { z-index: 9999; max-width: 390px!important; } .shepherd-theme-arrows-plain-buttons.super-index { z-index: 999999; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content { border-radius: 3px; -webkit-filter: none; filter: none; -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15), 0px 10px 40px rgba(0, 0, 0, 0.15); box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15), 0px 10px 40px rgba(0, 0, 0, 0.15); } .shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before { display: none; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before { border-bottom-color: #DD6823; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header { background-color: #DD6823; border-radius: 3px 3px 0 0; padding-right: 90px; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header h3 { color: #FFF; font-size: 1.2em; float: none; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link { opacity: 0.7; color: rgba(255, 255, 255, 0); font-size: 0.8em; border: 1px solid #FFF; border-radius: 50%; width: 22px; height: 22px; line-height: 20px; padding: 0; text-align: center; float: none; position: absolute; right: 11px; top: 12px } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link::before { color: #FFF; content: attr(data-btntext); position: absolute; right: 20px; padding-right: 10px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link::after { content: "\f335"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: dashicons; color: #FFF; position: absolute; left: 2px; line-height: 21px; font-size: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus { border: 1px solid #A04E00; opacity: 1 } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover::before, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus::before { color: #A04E00; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover::after, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus::after { color: #A04E00; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { top: 44px; } .shepherd-content .ud-notice { background: #F0F0F0; padding: 14px; border-radius: 4px; font-size: 90% !important; line-height: 1.5; } .shepherd-content .ud-notice h3 { margin-top: 0; padding-top: 0; margin-bottom: .5em; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p { margin-top: 0.5em; margin-bottom: 1.3em; } .ud-notice span.ud-special-offer { font-weight: bold; display: inline-block; padding: 1px 6px; border-radius: 3px; background: rgba(217, 105, 0, 0.09); } label[for=updraft_servicecheckbox_updraftvault] { border: 1px solid rgba(204, 204, 204, 0.4); -webkit-transition: border .5s; transition: border .5s } label[for=updraft_servicecheckbox_updraftvault].emphasize { border-color: #DD6823; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back, .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end { float: left; position: relative; padding-left: 10px; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end { padding-left: 0; color: #B7B7B7; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back::before { content: ' '; width: 6px; height: 6px; display: block; border-left: 1px solid; border-bottom: 1px solid; position: absolute; left: 0px; top: 8px; -webkit-transform: rotate(45deg); transform: rotate(45deg); } a.shepherd-button.udp-tour-end::before { display: inline-block; position: relative; content: "\f335"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: dashicons; font-size: 20px; line-height: 20px; vertical-align: middle; margin-top: -2px; } .updraftplus-welcome-logo { display: block; width: 70px; float: left; margin-top: -11px; margin-right: 12px; } .updraftplus-welcome-logo img { display: block; width: auto; max-width: 100%; } .highlight-udp .plugins #the-list tr:not([data-slug="updraftplus"]) { opacity: 0.3; } @media(max-width: 790px) { .shepherd-element.shepherd-theme-arrows-plain-buttons { display: none; } } css/updraftplus-notices-1-24-6.min.css000064400000003027147400355670013404 0ustar00.updraft_notice_container{height:auto;overflow:hidden}.updraft_review_notice_container{padding:12px;display:-webkit-box;display:-ms-flexbox;display:flex}.updraft_advert_button_container{margin-bottom:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.updraft_advert_button_container .dashicons{margin-left:10px}.updraft_advert_content_left{float:none;width:80px;padding-top:9px;margin-right:9px}.updraft_advert_content_left_extra{float:none;width:100px;padding-right:15px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.updraft_advert_content_left img{min-height:72px;min-width:72px}.updraft_advert_content_right{float:none;width:auto;overflow:hidden;font-size:16px}.updraft_advert_content_right p{font-size:16px !important}.updraft_advert_bottom{margin:10px 0;padding:10px;font-size:140%;background-color:white;border-color:#e6db55;border:1px solid;border-radius:4px}.updraft-advert-dismiss{float:right;font-size:13px;font-weight:normal}h3.updraft_advert_heading{margin-top:5px !important;margin-bottom:5px !important}h4.updraft_advert_heading{margin-top:2px !important;margin-bottom:3px !important}.updraft_center_content{text-align:center;margin-bottom:5px}.updraft_notice_link{padding-left:5px}.updraft_text_center{text-align:center}@media screen and (min-width:560px){.updraft_advert_content_left,.updraft_advert_content_left_extra{float:left}} /*# sourceMappingURL=updraftplus-notices-1-24-6.min.css.map */ css/updraftplus-tour-1-24-4.min.css000064400000013373147400355670012734 0ustar00.shepherd-theme-arrows-plain-buttons{z-index:9999;max-width:390px !important}.shepherd-theme-arrows-plain-buttons.super-index{z-index:999999}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content{border-radius:3px;-webkit-filter:none;filter:none;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.15),0 10px 40px rgba(0,0,0,0.15);box-shadow:0 1px 3px rgba(0,0,0,0.15),0 10px 40px rgba(0,0,0,0.15)}.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before{display:none}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before{border-bottom-color:#dd6823}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header{background-color:#dd6823;border-radius:3px 3px 0 0;padding-right:90px}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header h3{color:#FFF;font-size:1.2em;float:none}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link{opacity:.7;color:rgba(255,255,255,0);font-size:.8em;border:1px solid #FFF;border-radius:50%;width:22px;height:22px;line-height:20px;padding:0;text-align:center;float:none;position:absolute;right:11px;top:12px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link::before{color:#FFF;content:attr(data-btntext);position:absolute;right:20px;padding-right:10px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link::after{content:"\f335";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:dashicons;color:#FFF;position:absolute;left:2px;line-height:21px;font-size:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus{border:1px solid #a04e00;opacity:1}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover::before,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus::before{color:#a04e00}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover::after,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus::after{color:#a04e00}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{top:44px}.shepherd-content .ud-notice{background:#f0f0f0;padding:14px;border-radius:4px;font-size:90% !important;line-height:1.5}.shepherd-content .ud-notice h3{margin-top:0;padding-top:0;margin-bottom:.5em}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p{margin-top:.5em;margin-bottom:1.3em}.ud-notice span.ud-special-offer{font-weight:bold;display:inline-block;padding:1px 6px;border-radius:3px;background:rgba(217,105,0,0.09)}label[for=updraft_servicecheckbox_updraftvault]{border:1px solid rgba(204,204,204,0.4);-webkit-transition:border .5s;transition:border .5s}label[for=updraft_servicecheckbox_updraftvault].emphasize{border-color:#dd6823}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back,.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end{float:left;position:relative;padding-left:10px}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end{padding-left:0;color:#b7b7b7}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back::before{content:' ';width:6px;height:6px;display:block;border-left:1px solid;border-bottom:1px solid;position:absolute;left:0;top:8px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}a.shepherd-button.udp-tour-end::before{display:inline-block;position:relative;content:"\f335";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:dashicons;font-size:20px;line-height:20px;vertical-align:middle;margin-top:-2px}.updraftplus-welcome-logo{display:block;width:70px;float:left;margin-top:-11px;margin-right:12px}.updraftplus-welcome-logo img{display:block;width:auto;max-width:100%}.highlight-udp .plugins #the-list tr:not([data-slug="updraftplus"]){opacity:.3}@media(max-width:790px){.shepherd-element.shepherd-theme-arrows-plain-buttons{display:none}} /*# sourceMappingURL=updraftplus-tour-1-24-4.min.css.map */ css/updraftplus-tour-1-24-6.min.css.map000064400000016371147400355670013513 0ustar00{"version":3,"sources":["css/updraftplus-tour.scss"],"names":[],"mappings":"AAEA;CACC,aAAa;CACb,0BAA0B;AAC3B;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,kBAAkB;CAClB,oBAAY;SAAZ,YAAY;CACZ,sFAA8E;SAA9E,8EAA8E;AAC/E;;AAEA;;;;CAIC,aAAa;AACd;;AAEA;;;CAGC,4BAAiC;AAClC;;AAEA;CACC,yBAA8B;CAC9B,0BAA0B;CAC1B,mBAAmB;AACpB;;AAEA;CACC,WAAW;CACX,gBAAgB;CAChB,WAAW;AACZ;;AAEA;CACC,YAAY;CACZ,6BAA6B;CAC7B,gBAAgB;CAChB,sBAAsB;CACtB,kBAAkB;CAClB,WAAW;CACX,YAAY;CACZ,iBAAiB;CACjB,UAAU;CACV,kBAAkB;CAClB,WAAW;CACX,kBAAkB;CAClB,WAAW;CACX;AAoBD;;AAlBC;EACC,WAAW;EACX,2BAA2B;EAC3B,kBAAkB;EAClB,WAAW;EACX,mBAAmB;CACpB;;AACA;EACC,gBAAgB;EAChB,mCAAmC;EACnC,kCAAkC;EAClC,sBAAsB;EACtB,WAAW;EACX,kBAAkB;EAClB,SAAS;EACT,iBAAiB;EACjB,eAAe;CAChB;;AAGD;;CAEC,yBAAyB;CACzB;AAOD;;AANC;EACC,cAAc;CACf;;AACA;EACC,cAAc;CACf;;AAGD;CACC,SAAS;AACV;;AAEA;;CAEC,mBAAmB;CACnB,aAAa;CACb,kBAAkB;CAClB,yBAAyB;CACzB,gBAAgB;;AAOjB;;AANC;EACC,aAAa;EACb,cAAc;EACd,mBAAmB;CACpB;;AAID;CACC,iBAAiB;CACjB,oBAAoB;AACrB;;AAEA;CACC,iBAAiB;CACjB,qBAAqB;CACrB,gBAAgB;CAChB,kBAAkB;CAClB,mCAAmC;AACpC;;AAEA;;CAEC,0CAA0C;CAC1C,8BAAsB;CAAtB;;AAKD;;AAJC;EACC,qBAA0B;CAC3B;;AAID;;CAEC,WAAW;CACX,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,eAAe;CACf,cAAc;AACf;;AAEA;CACC,YAAY;CACZ,UAAU;CACV,WAAW;CACX,cAAc;CACd,sBAAsB;CACtB,wBAAwB;CACxB,kBAAkB;CAClB,SAAS;CACT,QAAQ;CACR,gCAAwB;SAAxB,wBAAwB;AACzB;;AAEA;CACC,qBAAqB;CACrB,kBAAkB;CAClB,gBAAgB;CAChB,mCAAmC;CACnC,kCAAkC;CAClC,sBAAsB;CACtB,eAAe;CACf,iBAAiB;CACjB,sBAAsB;CACtB,gBAAgB;AACjB;;AAEA;CACC,cAAc;CACd,WAAW;CACX,WAAW;CACX,iBAAiB;CACjB,kBAAkB;AACnB;;AAEA;CACC,cAAc;CACd,WAAW;CACX,eAAe;AAChB;;AAEA;CACC,YAAY;AACb;;AAEA;;CAEC;EACC,aAAa;CACd;;AAED","file":"updraftplus-tour-1-24-6.min.css","sourcesContent":["$udp_primary: #DD6823;\n$wp_blue: #0073AA;\n.shepherd-theme-arrows-plain-buttons {\n\tz-index: 9999;\n\tmax-width: 390px!important;\n}\n\n.shepherd-theme-arrows-plain-buttons.super-index {\n\tz-index: 999999;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content {\n\tborder-radius: 3px;\n\tfilter: none;\n\tbox-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15), 0px 10px 40px rgba(0, 0, 0, 0.15);\n}\n\n.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,\n.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,\n.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,\n.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before {\n\tdisplay: none;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before,\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before,\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before {\n\tborder-bottom-color: $udp_primary;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header {\n\tbackground-color: $udp_primary;\n\tborder-radius: 3px 3px 0 0;\n\tpadding-right: 90px;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header h3 {\n\tcolor: #FFF;\n\tfont-size: 1.2em;\n\tfloat: none;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link {\n\topacity: 0.7;\n\tcolor: rgba(255, 255, 255, 0);\n\tfont-size: 0.8em;\n\tborder: 1px solid #FFF;\n\tborder-radius: 50%;\n\twidth: 22px;\n\theight: 22px;\n\tline-height: 20px;\n\tpadding: 0;\n\ttext-align: center;\n\tfloat: none;\n\tposition: absolute;\n\tright: 11px;\n\ttop: 12px;\n\n\t&::before {\n\t\tcolor: #FFF;\n\t\tcontent: attr(data-btntext);\n\t\tposition: absolute;\n\t\tright: 20px;\n\t\tpadding-right: 10px;\n\t}\n\t&::after {\n\t\tcontent: \"\\f335\";\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tfont-family: dashicons;\n\t\tcolor: #FFF;\n\t\tposition: absolute;\n\t\tleft: 2px;\n\t\tline-height: 21px;\n\t\tfont-size: 16px;\n\t}\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover,\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus {\n\tborder: 1px solid #A04E00;\n\topacity: 1;\n\t&::before {\n\t\tcolor: #A04E00;\n\t}\n\t&::after {\n\t\tcolor: #A04E00;\n\t}\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\n\ttop: 44px;\n}\n\n.shepherd-content .ud-notice {\n\n\tbackground: #F0F0F0;\n\tpadding: 14px;\n\tborder-radius: 4px;\n\tfont-size: 90% !important;\n\tline-height: 1.5;\n\th3 {\n\t\tmargin-top: 0;\n\t\tpadding-top: 0;\n\t\tmargin-bottom: .5em;\n\t}\n\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p {\n\tmargin-top: 0.5em;\n\tmargin-bottom: 1.3em;\n}\n\n.ud-notice span.ud-special-offer {\n\tfont-weight: bold;\n\tdisplay: inline-block;\n\tpadding: 1px 6px;\n\tborder-radius: 3px;\n\tbackground: rgba(217, 105, 0, 0.09);\n}\n\nlabel[for=updraft_servicecheckbox_updraftvault] {\n\n\tborder: 1px solid rgba(204, 204, 204, 0.4);\n\ttransition: border .5s;\n\t&.emphasize {\n\t\tborder-color: $udp_primary;\n\t}\n\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back,\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end {\n\tfloat: left;\n\tposition: relative;\n\tpadding-left: 10px;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end {\n\tpadding-left: 0;\n\tcolor: #B7B7B7;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back::before {\n\tcontent: ' ';\n\twidth: 6px;\n\theight: 6px;\n\tdisplay: block;\n\tborder-left: 1px solid;\n\tborder-bottom: 1px solid;\n\tposition: absolute;\n\tleft: 0px;\n\ttop: 8px;\n\ttransform: rotate(45deg);\n}\n\na.shepherd-button.udp-tour-end::before {\n\tdisplay: inline-block;\n\tposition: relative;\n\tcontent: \"\\f335\";\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tfont-family: dashicons;\n\tfont-size: 20px;\n\tline-height: 20px;\n\tvertical-align: middle;\n\tmargin-top: -2px;\n}\n\n.updraftplus-welcome-logo {\n\tdisplay: block;\n\twidth: 70px;\n\tfloat: left;\n\tmargin-top: -11px;\n\tmargin-right: 12px;\n}\n\n.updraftplus-welcome-logo img {\n\tdisplay: block;\n\twidth: auto;\n\tmax-width: 100%;\n}\n\n.highlight-udp .plugins #the-list tr:not([data-slug=\"updraftplus\"]) {\n\topacity: 0.3;\n}\n\n@media(max-width: 790px) {\n\n\t.shepherd-element.shepherd-theme-arrows-plain-buttons {\n\t\tdisplay: none;\n\t}\n\n}\n"]}css/updraftplus-tour.scss000064400000012431147400355670011605 0ustar00$udp_primary: #DD6823; $wp_blue: #0073AA; .shepherd-theme-arrows-plain-buttons { z-index: 9999; max-width: 390px!important; } .shepherd-theme-arrows-plain-buttons.super-index { z-index: 999999; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content { border-radius: 3px; filter: none; box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15), 0px 10px 40px rgba(0, 0, 0, 0.15); } .shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before { display: none; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before { border-bottom-color: $udp_primary; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header { background-color: $udp_primary; border-radius: 3px 3px 0 0; padding-right: 90px; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header h3 { color: #FFF; font-size: 1.2em; float: none; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link { opacity: 0.7; color: rgba(255, 255, 255, 0); font-size: 0.8em; border: 1px solid #FFF; border-radius: 50%; width: 22px; height: 22px; line-height: 20px; padding: 0; text-align: center; float: none; position: absolute; right: 11px; top: 12px; &::before { color: #FFF; content: attr(data-btntext); position: absolute; right: 20px; padding-right: 10px; } &::after { content: "\f335"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: dashicons; color: #FFF; position: absolute; left: 2px; line-height: 21px; font-size: 16px; } } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus { border: 1px solid #A04E00; opacity: 1; &::before { color: #A04E00; } &::after { color: #A04E00; } } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { top: 44px; } .shepherd-content .ud-notice { background: #F0F0F0; padding: 14px; border-radius: 4px; font-size: 90% !important; line-height: 1.5; h3 { margin-top: 0; padding-top: 0; margin-bottom: .5em; } } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p { margin-top: 0.5em; margin-bottom: 1.3em; } .ud-notice span.ud-special-offer { font-weight: bold; display: inline-block; padding: 1px 6px; border-radius: 3px; background: rgba(217, 105, 0, 0.09); } label[for=updraft_servicecheckbox_updraftvault] { border: 1px solid rgba(204, 204, 204, 0.4); transition: border .5s; &.emphasize { border-color: $udp_primary; } } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back, .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end { float: left; position: relative; padding-left: 10px; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end { padding-left: 0; color: #B7B7B7; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back::before { content: ' '; width: 6px; height: 6px; display: block; border-left: 1px solid; border-bottom: 1px solid; position: absolute; left: 0px; top: 8px; transform: rotate(45deg); } a.shepherd-button.udp-tour-end::before { display: inline-block; position: relative; content: "\f335"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: dashicons; font-size: 20px; line-height: 20px; vertical-align: middle; margin-top: -2px; } .updraftplus-welcome-logo { display: block; width: 70px; float: left; margin-top: -11px; margin-right: 12px; } .updraftplus-welcome-logo img { display: block; width: auto; max-width: 100%; } .highlight-udp .plugins #the-list tr:not([data-slug="updraftplus"]) { opacity: 0.3; } @media(max-width: 790px) { .shepherd-element.shepherd-theme-arrows-plain-buttons { display: none; } } css/updraftplus-admin-1-24-4.min.css000064400000200755147400355670013035 0ustar00@-webkit-keyframes udp_blink{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:.4;-webkit-transform:scale(0.85);transform:scale(0.85)}}@keyframes udp_blink{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:.4;-webkit-transform:scale(0.85);transform:scale(0.85)}}@-webkit-keyframes udp_rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes udp_rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.max-width-600{max-width:600px}.max-width-700{max-width:700px}.width-900{max-width:900px}.width-80{width:80%}.updraft--flex{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft--flex>*{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box}.updraft--flex>.updraft--one-half{width:50%;-webkit-box-flex:1;-ms-flex:auto;flex:auto}.updraft--flex>.updraft--two-halves{width:100%;-webkit-box-flex:1;-ms-flex:auto;flex:auto}.updraft-file-ready-label{padding:5px}.updraft-color--very-light-grey{background:#f8f8f8}.no-decoration{text-decoration:none}.bold{font-weight:bold}.center-align-td{text-align:center}.remove-padding{padding:0 !important}.updraft-text-center{text-align:center}.autobackup{padding:6px;margin:8px 0}ul .disc{list-style:disc inside}.dashicons-log-fix{display:inherit}.udpdraft__lifted{-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#updraft-wrap a .dashicons{text-decoration:none}.updraft-field-description,table.form-table td p.updraft-field-description{font-size:90%;line-height:1.2;font-style:italic;margin-bottom:5px}label.updraft_checkbox{display:block;margin-bottom:4px;margin-left:26px}label.updraft_checkbox>input[type=checkbox]{margin-left:-25px}div[id*="updraft_include_"]{margin-bottom:9px}.settings_page_updraftplus input[type="file"]{border:0}.settings_page_updraftplus .wipe_settings{padding-bottom:10px}.settings_page_updraftplus input[type="text"]{font-size:14px}.settings_page_updraftplus select{border-radius:4px;max-width:100%}input.updraft_input--wide,textarea.updraft_input--wide{max-width:442px;width:100%}#updraft-wrap .button-large{font-size:1.3em}.main-dashboard-buttons{border-width:4px;border-radius:12px;letter-spacing:0;font-size:17px;font-weight:bold;padding-left:.7em;padding-right:2em;padding:.3em 1em;line-height:1.7em;background:transparent;position:relative;border:2px solid;-webkit-transition:all .2s;transition:all .2s;vertical-align:baseline;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;line-height:1.3em;margin-left:.3em;text-transform:none;line-height:1;text-decoration:none}.button-restore{border-color:#629ec0;color:#629ec0}.button-ud-google{text-decoration:none !important;-webkit-transition:background-color .3s,-webkit-box-shadow .3s;transition:background-color .3s,-webkit-box-shadow .3s;transition:background-color .3s,box-shadow .3s;transition:background-color .3s,box-shadow .3s,-webkit-box-shadow .3s;padding:12px 16px 12px 42px !important;border:0;border-radius:3px;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.25);box-shadow:0 -1px 0 rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.25);color:#757575;font-size:14px;font-weight:500;font-family:"Roboto";background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTcuNiA5LjJsLS4xLTEuOEg5djMuNGg0LjhDMTMuNiAxMiAxMyAxMyAxMiAxMy42djIuMmgzYTguOCA4LjggMCAwIDAgMi42LTYuNnoiIGZpbGw9IiM0Mjg1RjQiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik05IDE4YzIuNCAwIDQuNS0uOCA2LTIuMmwtMy0yLjJhNS40IDUuNCAwIDAgMS04LTIuOUgxVjEzYTkgOSAwIDAgMCA4IDV6IiBmaWxsPSIjMzRBODUzIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNNCAxMC43YTUuNCA1LjQgMCAwIDEgMC0zLjRWNUgxYTkgOSAwIDAgMCAwIDhsMy0yLjN6IiBmaWxsPSIjRkJCQzA1IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNOSAzLjZjMS4zIDAgMi41LjQgMy40IDEuM0wxNSAyLjNBOSA5IDAgMCAwIDEgNWwzIDIuNGE1LjQgNS40IDAgMCAxIDUtMy43eiIgZmlsbD0iI0VBNDMzNSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PHBhdGggZD0iTTAgMGgxOHYxOEgweiIvPjwvZz48L3N2Zz4=);background-color:#FFF;background-repeat:no-repeat;background-position:12px 11px}.button-ud-google:hover{-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.25);box-shadow:0 -1px 0 rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.25)}.button-ud-google:active{background-color:#EEE}.button-ud-google:focus{outline:0;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.25),0 0 0 3px #c8dafc;box-shadow:0 -1px 0 rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.25),0 0 0 3px #c8dafc}.button-ud-google:disabled{-webkit-filter:grayscale(100%);filter:grayscale(100%);background-color:#ebebeb;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.25);box-shadow:0 -1px 0 rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.25);cursor:not-allowed}.dashboard-main-sizing{border-width:4px;width:190px;line-height:1.7em}p.updraftplus-option{margin-top:0;margin-bottom:5px}p.updraftplus-option-inline{display:inline-block;padding-right:20px}span.updraftplus-option-label{display:block}#updraft-navtab-migrate-content .postbox{padding:18px}.updraftclone-main-row{display:-webkit-box;display:-ms-flexbox;display:flex}.updraftclone-tokens{background:#f5f5f5;padding:20px;border-radius:10px;margin-right:20px;max-width:300px}.updraftclone-tokens p{margin:0}.updraftclone_action_box{background:#f5f5f5;padding:20px;border-radius:10px;-webkit-box-flex:1;-ms-flex:1;flex:1}.updraftclone_action_box p:first-child{margin-top:0}.updraftclone_action_box p:last-child{margin-bottom:0}.updraftclone_action_box #ud_downloadstatus3{margin-top:10px}span.tokens-number{font-size:46px;display:block}.button.updraft_migrate_widget_temporary_clone_show_stage0{display:none;position:absolute;right:0;top:0;height:100%;border-left:1px solid #CCC;padding-left:10px;padding-right:10px}.updraft_migrate_widget_temporary_clone_stage0_container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.updraft_migrate_widget_temporary_clone_stage0_box{margin-right:20px;width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.updraft_migrate_widget_temporary_clone_stage0_box iframe,.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js{float:none}@media(min-width:1024px){.updraft_migrate_widget_temporary_clone_stage0_container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft_migrate_widget_temporary_clone_stage0_box{-ms-flex-preferred-size:45%;flex-basis:45%}.updraft_migrate_widget_temporary_clone_stage0_box iframe,.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js{float:right}}.updraft_migrate_widget_temporary_clone_show_stage0 .dashicons{text-decoration:none;font-size:20px}.opened .button.updraft_migrate_widget_temporary_clone_show_stage0{display:inline-block}.opened .updraft_migrate_widget_temporary_clone_stage0{background:#f5f5f5;padding:20px;border-radius:8px;margin-bottom:21px}.clone-list{clear:both;width:100%;margin-top:40px}.clone-list table{width:100%;text-align:left}.clone-list table tr th{background:#e4e4e4}.clone-list table tr td{background:#f5f5f5;word-break:break-word}.clone-list table tr:nth-child(odd) td{background:#fafafa}.clone-list table td,.clone-list table th{padding:6px}.updraftplus-clone .updraft_row{padding-left:0;padding-right:0}button#updraft_migrate_createclone+.updraftplus_spinner{margin-top:13px}.button.button-hero.updraftclone_show_step_1{white-space:normal;height:auto;line-height:14px;padding-top:10px;padding-bottom:10px}.button.button-hero.updraftclone_show_step_1 span.dashicons{height:auto}.updraftplus_clone_status{color:red}a.updraft_migrate_add_site--trigger span.dashicons{text-decoration:none}.button-restore:hover,.button-migrate:hover,.button-backup:hover,.button-view-log:hover,.button-mass-selectors:hover,.button-delete:hover,.button-entity-backup:hover,.udp-button-primary:hover{border-color:#df6926;color:#df6926}.button-migrate{color:#eea920;border-color:#eea920}#updraft_migrate_tab_main{padding:8px}.updraft_migrate_widget_module_content{background:#FFF;border-radius:0;position:relative}body.js #updraft_migrate .updraft_migrate_widget_module_content{display:none}.updraft_migrate_widget_module_content>h3,div[class*="updraft_migrate_widget_temporary_clone_stage"]>h3{margin-top:0}.updraft_migrate_widget_module_content header,#updraft_migrate_tab_alt header{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-line-pack:center;align-content:center;justify-items:center;margin-top:-18px;margin-left:-18px;margin-right:-18px;margin-bottom:15px;border-bottom:1px solid #CCC}.updraft_migrate_widget_module_content header h3,.updraft_migrate_widget_module_content header button.button.close,#updraft_migrate_tab_alt header h3,#updraft_migrate_tab_alt header button.button.close{padding:10px;line-height:20px;height:auto;margin:0}.updraft_migrate_widget_module_content button.button.close,#updraft_migrate_tab_alt button.button.close{text-decoration:none;padding-left:5px;border-right:1px solid #CCC}.updraft_migrate_widget_module_content button.button.close .dashicons,#updraft_migrate_tab_alt button.button.close .dashicons{margin-top:1px}.updraft_migrate_widget_module_content header h3,#updraft_migrate_tab_alt header h3{margin:0}.updraft_migrate_intro button.button.button-primary.button-hero{max-width:235px;word-wrap:normal;white-space:normal;line-height:1;height:auto;padding-top:13px;padding-bottom:13px;text-align:left;position:relative;margin-right:10px;margin-bottom:10px}.updraft_migrate_intro button.button.button-primary.button-hero .dashicons{position:absolute;left:10px;top:calc(50% - 8px)}#updraft_migrate_tab_alt #updraft_migrate_send_existing_button{margin-right:6px}#updraft_migrate .ui-widget-content a{color:#1c94c4}#updraft-wrap .ui-accordion .ui-accordion-header{background:#f6f6f6;margin:0;border-radius:0;padding-left:.5em;padding-right:.7em}#updraft-wrap .ui-widget{font-family:inherit}.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-w{background-position:-96px 0}.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-s{background-position:-64px 0}#updraft-wrap .ui-accordion .ui-accordion-header .ui-accordion-header-icon{left:auto;right:5px}#updraft-wrap .ui-accordion .ui-accordion-header:focus{outline:0;-webkit-box-shadow:0 0 0 1px rgba(91,157,217,0.22),0 0 2px 1px rgba(30,140,190,0.3);box-shadow:0 0 0 1px rgba(91,157,217,0.22),0 0 2px 1px rgba(30,140,190,0.3);background:#FFF}#updraft-wrap .ui-accordion .ui-accordion-header:focus .dashicons{color:#0572aa;opacity:1}#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active{background:#f6f6f6;border-bottom:2px solid #0572aa;-webkit-box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3);box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3)}#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active:focus{-webkit-box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#updraft-wrap .ui-accordion .ui-accordion-header:not(:first-child){border-top:0}#updraft-wrap .ui-accordion .ui-accordion-header .dashicons{opacity:.4;margin-right:10px}#updraft-wrap .ui-accordion .ui-accordion-header:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);z-index:1}button.ui-dialog-titlebar-close:before{content:none !important}.updraft_next_scheduled_backups_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;background:#FFF;justify-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft_next_scheduled_backups_wrapper>div{width:50%;background:#FFF;height:auto;padding:33px;-webkit-box-sizing:border-box;box-sizing:border-box}.updraft_backup_btn_wrapper{text-align:center;border-left:1px solid #f1f1f1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.incremental-backups-only{display:none}.incremental-free-only{display:none}.incremental-free-only p{padding:5px;background:rgba(255,0,0,0.06);border:1px solid #bfbfbf}#updraft-delete-waitwarning span.spinner{visibility:visible;float:none;margin:0;margin-right:10px}button#updraft-backupnow-button .spinner,button#updraft-backupnow-button .dashicons-yes{display:none}button#updraft-backupnow-button.loading .spinner{display:inline-block;visibility:visible;margin-top:13px;margin-right:0}button#updraft-backupnow-button.loading{background-color:#efefef;border-color:#CCC;text-shadow:0 -1px 1px #bbc3c7,1px 0 1px #bbc3c7,0 1px 1px #bbc3c7,-1px 0 1px #bbc3c7;-webkit-box-shadow:none;box-shadow:none}button#updraft-backupnow-button.finished .dashicons-yes{display:inline-block;visibility:visible;font-size:42px;margin-right:0;margin-top:2px}.updraft_next_scheduled_entity{width:50%;display:inline-block;float:left}.updraft_next_scheduled_entity .dashicons{color:#CCC;font-size:20px}.updraft_next_scheduled_entity strong{font-size:20px}.updraft_next_scheduled_heading{margin-bottom:10px}.updraft_next_scheduled_date_time{color:#46a84b}.updraft_time_now_wrapper{margin-top:68px;width:100%}.updraft_time_now_label,.updraft_time_now{display:inline-block;padding:7px}.updraft_time_now_label{background:#b7b7b7;border-top-left-radius:4px;border-bottom-left-radius:4px;color:#FFF;margin-right:0;text-shadow:0 1px 2px rgba(0,0,0,0.4)}.updraft_time_now{background:#f1f1f1;border-top-right-radius:4px;border-bottom-right-radius:4px;margin-left:-3px}#updraft_lastlogmessagerow{margin:6px 0}#updraft_lastlogmessagerow{clear:both;padding:.25px 0}#updraft_lastlogmessagerow .updraft-log-link{float:right;margin-top:-2.5em;margin-right:2px}#updraft_lastlogmessagerow>div{clear:both;background:#FFF;padding:18px}#updraft_activejobs_table{overflow:hidden;width:100%;background:#fafafa;padding:0}.updraft_requeststart{padding:15px 33px;text-align:center}.updraft_requeststart .spinner{visibility:visible;float:none;vertical-align:middle;margin-top:-2px}a.updraft_jobinfo_delete.disabled{opacity:.4;color:inherit;text-decoration:none}.updraft_row{clear:both;-webkit-transition:.3s all;transition:.3s all;padding:15px 33px}.updraft_row.deleting{opacity:.4}.updraft_existing_backups_count{padding:2px 8px;font-size:12px;background:#ca4a1e;color:#FFF;font-weight:bold;border-radius:10px}.form-table .existing-backups-table input[type="checkbox"]{border-radius:0}.form-table .existing-backups-table .check-column{width:40px;padding:0;padding-top:8px}.existing-backups-buttons{font-size:11px;line-height:1.4em;border-width:3px}.existing-backups-restore-buttons{font-size:11px;line-height:1.4em;border-width:3px}.button-delete{color:#e23900;border-color:#e23900;font-size:14px;line-height:1.4em;border-width:2px;margin-right:10px}.button-view-log,.button-mass-selectors{color:darkgrey;border-color:darkgrey;font-size:14px;line-height:1.4em;border-width:2px;margin-top:-1px}.button-view-log{width:120px}.button-existing-restore{font-size:14px;line-height:1.4em;border-width:2px;width:110px}.main-restore{margin-right:3%;margin-left:3%}.button-entity-backup{color:#555;border-color:#555;font-size:11px;line-height:1.4em;border-width:2px;margin-right:5px}.button-select-all{width:122px}.button-deselect{width:92px}#ud_massactions>.display-flex>.mass-selectors-margins,#updraft-delete-waitwarning>.display-flex>.mass-selectors-margins{margin-right:-4px}.udp-button-primary{border-width:4px;color:#0073aa;border-color:#0073aa;font-size:14px;height:40px}#ud_massactions .button-delete{margin-right:0}.stored_local{border-radius:5px;background-color:#007fe7;padding:3px 5px 5px 5px;color:#FFF;font-size:75%}span#updraft_lastlogcontainer{word-break:break-all}.stored_icon{height:1.3em;position:relative;top:.2em}.backup_date_label>*{vertical-align:middle}.backup_date_label .dashicons{font-size:18px}.backup_date_label .clear-right{clear:right}.existing-backups-table .backup_date_label>div,.existing-backups-table .backup_date_label span>div{font-weight:bold}.udp-logo-70{width:70px;height:70px;float:left;padding-right:25px}h3 .thank-you{margin-top:0}.ws_advert{max-width:800px;font-size:140%;line-height:140%;padding:14px;clear:left}.dismiss-dash-notice{float:right;position:relative;top:-20px}.updraft_exclude_container,.updraft_include_container{margin-left:24px;margin-top:5px;margin-bottom:10px;padding:15px;border:1px solid #DDD}label.updraft-exclude-label{font-weight:500;margin-bottom:5px;display:inline-block}.updraft_add_exclude_item,#updraft_include_more_paths_another{display:inline-block;margin-top:10px}input.updraft_exclude_entity_field,.form-table td input.updraft_exclude_entity_field,.updraftplus-morefiles-row input[type=text]{width:calc(100% - 70px);max-width:400px}.updraft-fs-italic{font-style:italic}@media screen and (max-width:782px){.form-table td input.updraft_exclude_entity_field,.form-table td .updraftplus-morefiles-row input[type=text]{display:inline-block}}.updraft_exclude_entity_delete.dashicons,.updraft_exclude_entity_edit.dashicons,.updraft_exclude_entity_update.dashicons,.updraftplus-morefiles-row a.dashicons{margin-top:2px;font-size:20px;-webkit-box-shadow:none;box-shadow:none;line-height:1;padding:3px;margin-right:4px}.updraft_exclude_entity_delete,.updraft_exclude_entity_delete:hover,.updraftplus-morefiles-row-delete{color:#ff6347}.updraft_exclude_entity_update.dashicons,.updraft_exclude_entity_update.dashicons:hover{color:#008000;font-weight:bold;font-size:22px;margin-left:4px}.updraft_exclude_entity_edit{margin-left:4px}.updraft_exclude_entity_update.is-active ~ .updraft_exclude_entity_delete{display:none}.updraft-exclude-panel-heading{margin-bottom:8px}.updraft-exclude-panel-heading h3{margin:.5em 0 .5em 0}.updraft-exclude-submit.button-primary{margin-top:5px}.updraft_exclude_actions_list{font-weight:bold}.updraft-exclude-link{cursor:pointer}#updraft_include_more_options{padding-left:25px}#updraft_report_cell .updraft_reportbox,.updraft_small_box{padding:12px;margin:8px 0;border:1px solid #CCC;position:relative}#updraft_report_cell button.updraft_reportbox_delete,.updraft_box_delete_button,.updraft_small_box .updraft_box_delete_button{padding:4px;padding-top:6px;border:0;background:transparent;position:absolute;top:4px;right:4px;cursor:pointer}#updraft_report_cell button.updraft_reportbox_delete:hover{color:#de3c3c}a.updraft_report_another .dashicons{text-decoration:none;margin-top:2px}.updraft_report_dbbackup.updraft_report_disabled{color:#CCC}#updraft-navtab-settings-content .updraft-test-button{font-size:18px !important}#updraft_report_cell .updraft_report_email{display:block;width:calc(100% - 50px);margin-bottom:9px}#updraft_report_cell .updraft_report_another_p{clear:left}#updraft-navtab-settings-content table.form-table p{max-width:700px}#updraft-navtab-settings-content table.form-table .notice p{max-width:none}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected,#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected td{background-color:#efefef}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected:nth-child(even) td{background-color:#e8e8e8}.updraft_settings_sectionheading{display:none}.updraft-backupentitybutton-disabled{background-color:transparent;border:0;color:#0074a2;text-decoration:underline;cursor:pointer;clear:none;float:left}.updraft-backupentitybutton{margin-left:8px}.updraft-bigbutton{padding:2px 0 !important;margin-right:14px !important;font-size:22px !important;min-height:32px;min-width:180px}tr[class*="_updraft_remote_storage_border"]{border-top:1px solid #CCC}.updraft_multi_storage_options{float:right;clear:right;margin-bottom:5px !important}.updraft_toggle_instance_label{vertical-align:top !important}.updraft_debugrow th{float:right;text-align:right;font-weight:bold;padding-right:8px;min-width:140px}.updraft_debugrow td{min-width:300px;vertical-align:bottom}.updraft_webdav_host_error,.onedrive_folder_error{color:red}label[for=updraft_servicecheckbox_updraftvault]{position:relative}#updraft-wrap .udp-info{position:absolute;right:10px;top:calc(50% - 10px)}#updraft-wrap span.info-trigger{display:inline-block;width:20px;height:20px;background:#FFF;color:#72777c;border-radius:30px;text-align:center;line-height:20px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.15);box-shadow:0 1px 3px rgba(0,0,0,0.15)}#updraft-wrap .info-content-wrapper{display:none;position:absolute;bottom:20px;-webkit-transform:translatex(calc(-50% + 10px));transform:translatex(calc(-50% + 10px));width:330px;padding-bottom:10px}#updraft-wrap .info-content-wrapper::before{content:'';position:absolute;bottom:-10px;border:10px solid transparent;border-top-color:#FFF;left:calc(50% - 10px)}#updraft-wrap .info-content{padding:20px;background:#FFF;border-radius:4px;-webkit-box-shadow:0 3px 10px rgba(0,0,0,0.1);box-shadow:0 3px 10px rgba(0,0,0,0.1);color:#72777c}#updraft-wrap .info-content h3{margin-top:0}#updraft-wrap .info-content p{margin-top:10px}#updraft-wrap .udp-info:hover .info-content-wrapper{display:block}div.conditional_remote_backup select.logic_type{vertical-align:inherit !important}div.conditional_remote_backup label.updraft_toggle_instance_label.radio_group{display:block;margin-top:7px}div.conditional_remote_backup div.logic ul.rules input.rule_value{vertical-align:middle}div.conditional_remote_backup p{margin-bottom:10px}div.conditional_remote_backup div.logic ul.rules span svg{width:20px;vertical-align:middle;cursor:pointer}div.conditional_remote_backup div.logic ul.rules span svg{margin-left:3px}div.conditional_remote_backup div.logic select.logic_type{vertical-align:unset}.updraft_jstree .jstree-container-ul>.jstree-node,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-node{background:transparent}.updraft_jstree .jstree-container-ul>.jstree-open>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-open>.jstree-ocl{background-position:-36px -4px}.updraft_jstree .jstree-container-ul>.jstree-closed>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-closed>.jstree-ocl{background-position:-4px -4px}.updraft_jstree .jstree-container-ul>.jstree-leaf>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-leaf>.jstree-ocl{background:transparent}#updraft_zip_files_container{position:relative;height:450px;overflow:none}.updraft_jstree_info_container{position:relative;height:auto;width:100%;border:1px dotted;margin-bottom:5px}.updraft_jstree_info_container p{margin:1px;padding-left:10px;font-size:14px}#updraft_zip_download_item{display:none;color:#0073aa;padding-left:10px}#updraft_zip_download_notice{padding-left:10px}#updraft_exclude_files_folders_jstree,#updraft_exclude_files_folders_wildcards_jstree{max-height:200px;overflow-y:scroll}.updraft_jstree{position:relative;border:1px dotted;height:80%;width:100%;overflow:auto}div[id^="updraft_more_files_container_"],div.updraft_googledrive_container{position:relative;display:none;width:100%;border:1px solid #CCC;background:#fafafa;margin-bottom:5px;margin-top:4px;-webkit-box-shadow:0 5px 8px rgba(0,0,0,0.1);box-shadow:0 5px 8px rgba(0,0,0,0.1)}div.updraft_googledrive_container ul.jstree-container-ul{overflow-y:scroll;max-height:200px}div[id^="updraft_more_files_container_"]::before,div.updraft_googledrive_container::before{content:' ';width:11px;height:11px;display:block;background:#fafafa;position:absolute;top:0;left:20px;border-top:1px solid #CCC;border-left:1px solid #CCC;-webkit-transform:translatey(-7px) rotate(45deg);transform:translatey(-7px) rotate(45deg)}input.updraft_more_path_editing{border-color:#0285ba}input.updraft_more_path_editing ~ a.dashicons{display:none}div[id^="updraft_jstree_buttons_"]{padding:10px;background:#e6e6e6}div[id^="updraft_jstree_container_"]{height:300px;width:100%;overflow:auto}div[id^="updraft_more_files_container_"] button{line-height:20px}button[id^="updraft_parent_directory_"]{margin:10px 10px 4px 10px;padding-left:3px}button[id^="updraft_jstree_confirm_"],button[id^="updraft_jstree_cancel_"]{display:none}input[id^="updraft_include_more_path_restore_"]{text-align:right}.updraftplus-morefiles-row-delete,.updraftplus-morefiles-row-edit{cursor:pointer}#updraft_include_more_paths_error{color:#de3c3c}p[id^="updraftplus_manual_authentication_error_"]{color:#de3c3c}#updraft-wrap .form-table th{width:230px}#updraft-wrap .form-table .existing-backups-table th{width:auto}.updraft-viewlogdiv form{margin:0;padding:0}.updraft-viewlogdiv{display:inline-block;margin-left:4px}.updraft-viewlogdiv input,.updraft-viewlogdiv a{border:0;background-color:transparent;color:#000;margin:0;padding:3px 4px;font-size:16px;line-height:26px}.updraft-viewlogdiv input:hover,.updraft-viewlogdiv a:hover{color:#FFF;cursor:pointer}.button.button-remove{color:white;background-color:#de3c3c;border-color:#c00000;-webkit-box-shadow:0 1px 0 #c10100;box-shadow:0 1px 0 #c10100}.button.button-remove:hover,.button.button-remove:focus{border-color:#C00;color:#FFF;background:#C00}body.admin-color-midnight .button.button-remove{color:#de3c3c;background-color:#f7f7f7;border-color:#CCC;-webkit-box-shadow:0 1px 0 #CCC;box-shadow:0 1px 0 #CCC}body.admin-color-midnight .button.button-remove:hover,body.admin-color-midnight .button.button-remove:focus{border-color:#ba281f}body.admin-color-midnight .button.button-remove:focus{-webkit-box-shadow:inherit;box-shadow:inherit;-webkit-box-shadow:0 0 3px rgba(0,115,170,0.8);box-shadow:0 0 3px rgba(0,115,170,0.8)}.drag-drop #drag-drop-area2{border:4px dashed #DDD;height:200px}#drag-drop-area2 .drag-drop-inside{margin:36px auto 0;width:350px}#filelist,#filelist2{margin-top:30px;width:100%}#filelist .file,#filelist2 .file,.ud_downloadstatus .file,#ud_downloadstatus2 .file,#ud_downloadstatus3 .file{padding:1px;background:#ececec;border:solid 1px #CCC;margin:4px 0}.updraft_premium section{margin-bottom:20px}.updraft_premium_cta{background:#FFF;margin-top:30px;padding:0;border-left:4px solid #db6a03}.updraft_premium_cta a{font-weight:normal}.updraft_premium_cta__action{position:relative;text-align:center}.updraft_premium_cta a.button.button-primary.button-hero{font-size:1.3em;letter-spacing:.03rem;text-transform:uppercase;margin-bottom:7px}.updraft_premium_cta a.button.button-primary.button-hero+small{display:block;max-width:100%;text-align:center;color:#afafaf}.updraft_premium_cta a.button.button-primary.button-hero+small .dashicons{width:12px;height:12px}.updraft_premium_cta__top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:18px 30px}.updraft_premium_cta__bottom{background:#f9f9f9;padding:5px 30px}.updraft_premium_cta__summary{margin-right:60px}.updraft_premium_cta h2{font-size:28px;font-weight:200;line-height:1;margin:0;margin-bottom:5px;letter-spacing:.05rem;color:#db6a03}.updraft_premium_cta ul li::after{color:#CCC}@media only screen and (max-width:768px){.updraft_premium_cta__top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.updraft_premium_cta__summary{margin-right:0;margin-bottom:30px}}.udp-box{background:#FFF;padding:20px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.1);box-shadow:0 1px 2px rgba(0,0,0,0.1);text-align:center}.udp-box h3{margin:0}.udp-box__heading{-ms-flex-item-align:center;align-self:center;background:0;-webkit-box-shadow:none;box-shadow:none}.updraft-more-plugins{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;flex-wrap:wrap}.updraft-more-plugins img{max-width:80%;max-height:30%;display:inline-block}.updraft-more-plugins .udp-box{-webkit-box-sizing:border-box;box-sizing:border-box;width:24%}.updraft-more-plugins .udp-box p:last-child{margin-bottom:0;padding-bottom:0}.updraft_premium_description_list{text-align:left;margin:0;font-size:12px}ul.updraft_premium_description_list,ul#updraft_restore_warnings{list-style:disc inside}ul.updraft_premium_description_list li{display:inline}ul.updraft_premium_description_list li::after{content:" | "}ul.updraft_premium_description_list li:last-child::after{content:""}.updraft_feature_cell{background-color:#f7d9c9 !important;padding:5px 10px}.updraftplus_com_login_status,.updraftplus_com_key_status{display:none;background:#FFF;border-left:4px solid #FFF;border-left-color:#dc3232;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 0 15px 0;padding:5px 12px}.updraftplus_com_login_status.success{border-left-color:green}#updraft-wrap strong.success{color:green}.updraft_feat_table{border:0;border-collapse:collapse;font-size:120%;background-color:white;text-align:center}.updraft_feat_th,.updraft_feat_table td{border:1px solid #f1f1f1;border-collapse:collapse;font-size:120%;background-color:white;text-align:center;padding:15px}.updraft_feat_table td{border-bottom-width:4px}.updraft_feat_table td:first-child{border-left:0}.updraft_feat_table td:last-child{border-right:0}.updraft_feat_table tr:last-child td{border-bottom:0}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){background-color:rgba(241,241,241,0.38);width:190px}.updraft_feat_table__header td img{display:block;margin:0 auto}.updraft_feat_table__header td{text-align:center}.updraft_feat_table .installed{font-size:14px}.updraft_feat_table p{padding:0 10px;margin:5px 0;font-size:13px}.updraft_feat_table h4{margin:5px 0}.updraft_feat_table .dashicons{width:25px;height:25px;font-size:25px;line-height:1}.updraft_feat_table .dashicons-yes,.updraft_feat_table .updraft-yes{color:green}.updraft_feat_table .dashicons-no-alt,.updraft_feat_table .updraft-no{color:red}.updraft_tick_cell{text-align:center}.updraft_tick_cell img{margin:4px 0;height:24px}.ud_downloadstatus__close{border:0;background:transparent;width:auto;font-size:20px;padding:0;cursor:pointer}#filelist .fileprogress,#filelist2 .fileprogress,.ud_downloadstatus .dlfileprogress,#ud_downloadstatus2 .dlfileprogress,#ud_downloadstatus3 .dlfileprogress{width:0;background:#0572aa;height:8px;-webkit-transition:width .3s;transition:width .3s}.ud_downloadstatus .raw,#ud_downloadstatus2 .raw,#ud_downloadstatus3 .raw{margin-top:8px;clear:left}.ud_downloadstatus .file,#ud_downloadstatus2 .file,#ud_downloadstatus3 .file{margin-top:8px}div[class^="updraftplus_downloader_container_"]{padding:10px}tr.updraftplusmethod h3{margin:0}tr.updraftplusmethod img{max-width:100%}#updraft_retain_db_rules .updraft_retain_rules_delete,#updraft_retain_files_rules .updraft_retain_rules_delete{cursor:pointer;color:red;font-size:120%;font-weight:bold;border:0;border-radius:3px;padding:2px;margin:0 6px;text-decoration:none;display:inline-block}#updraft_retain_db_rules .updraft_retain_rules_delete:hover,#updraft_retain_files_rules .updraft_retain_rules_delete:hover{cursor:pointer;color:white;background:red}#updraft_backup_started{max-width:800px;font-size:140%;line-height:140%;padding:14px;clear:left}.blockUI.blockOverlay.ui-widget-overlay{background:#000}.updraft_success_popup{text-align:center;padding-bottom:30px}.updraft_success_popup>.dashicons{font-size:100px;width:100px;height:100px;line-height:100px;padding:0;border-radius:50%;margin-top:30px;display:block;margin-left:auto;margin-right:auto;background:#e2e6e5}.updraft_success_popup>.dashicons.dashicons-yes{text-indent:-5px}.updraft_success_popup.success>.dashicons{color:green}.updraft_success_popup.warning>.dashicons{color:#888}.updraft_success_popup--message{padding:20px}.button.updraft-close-overlay .dashicons{text-decoration:none;font-size:20px;margin-left:-5px;padding:0;-webkit-transform:translatey(3px);transform:translatey(3px)}.updraft_saving_popup img{-webkit-animation-name:udp_blink;animation-name:udp_blink;-webkit-animation-duration:610ms;animation-duration:610ms;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.udp-premium-image{display:none}@media screen and (min-width:720px){.udp-premium-image{display:block;float:left;padding-right:5px}}#plupload-upload-ui2{width:80%}.backup-restored{padding:8px}.updated.backup-restored{padding-top:15px;padding-bottom:15px}.backup-restored span{font-size:120%}.memory-limit{padding:8px}.updraft_list_errors{padding:8px}.updraftplus-nav-tab.nav-tab-active,.updraftplus-nav-tab.nav-tab-active:hover,.updraftplus-nav-tab.nav-tab-active:focus,.updraftplus-nav-tab.nav-tab-active:focus:active{border-bottom:1px solid #f0f0f1;background:#f0f0f1 !important;color:#000}.updraftplus-nav-tab.nav-tab-active{margin-bottom:-1px;color:#3c434a}.updraftplus-nav-tab.nav-tab-active,.updraftplus-nav-tab:focus:active{-webkit-box-shadow:none;box-shadow:none}.updraftplus-nav-tab{float:left;border:1px solid #c3c4c7;border-bottom-color:#c3c4c7;border-bottom-style:solid;border-bottom-width:1px;border-bottom:0;margin-left:.5em;padding:5px 10px;font-size:14px;line-height:1.71428571;font-weight:600;background:#dcdcde;color:#50575e;text-decoration:none;white-space:nowrap}.nav-tab-wrapper{margin:14px 0}#updraft-poplog-content{white-space:pre-wrap}.next-backup{border:0;padding:0;margin:0 10px 0 0}.not-scheduled{vertical-align:top !important;margin:0 !important;padding:0 !important}.next-backup .updraft_scheduled{margin:0;padding:2px 4px 2px 0}#next-backup-table-inner td{vertical-align:top}.updraft_all-files{color:blue}.multisite-advert-width{width:800px}.updraft_settings_sectionheading{margin-top:6px}section.premium-upgrade-purchase-success{padding:2em;background:#fafafa;text-align:center;-webkit-box-shadow:0 14px 40px rgba(0,0,0,0.1);box-shadow:0 14px 40px rgba(0,0,0,0.1)}section.premium-upgrade-purchase-success h3{font-size:2em;color:green}section.premium-upgrade-purchase-success h3 .dashicons{display:block;margin:0 auto;font-size:60px;width:60px;height:60px;border-radius:50%;background:green;color:#FFF;margin-bottom:20px}section.premium-upgrade-purchase-success h3 .dashicons::before{display:inline-block;margin-left:-4px;margin-top:2px}section.premium-upgrade-purchase-success p{font-size:120%}.show_admin_restore_in_progress_notice{padding:8px}.show_admin_restore_in_progress_notice .unfinished-restoration{font-size:120%}#backupnow_includefiles_moreoptions,#backupnow_database_moreoptions,#backupnow_includecloud_moreoptions{margin:4px 16px 6px 16px;border:1px dotted;padding:6px 10px}#backupnow_database_moreoptions{max-height:250px;overflow:auto}#backupnow_database_moreoptions div.backupnow-db-tables{margin-bottom:5px}#backupnow_database_moreoptions div.backupnow-db-tables>a{color:#0073aa}.form-table #updraft_activejobsrow .minimum-height{min-height:100px}#updraft_activejobsrow th{max-width:112px;margin:0;padding:13px 0 0 0}#updraft_lastlogmessagerow .last-message{padding-top:20px;display:block}.updraft_simplepie{vertical-align:top}.download-backups{margin-top:8px}.download-backups .updraft_download_button{margin-right:6px}.download-backups .ud-whitespace-warning,.download-backups .ud-bom-warning{background-color:pink;padding:8px;margin:4px;border:1px dotted}.download-backups .ul{list-style:none inside;max-width:800px;margin-top:6px;margin-bottom:12px}#updraft-plupload-modal{margin:16px 0}.download-backups .upload{max-width:610px}.download-backups #plupload-upload-ui{width:100%}.ud_downloadstatus{padding:10px 0}#ud_massactions,#updraft-delete-waitwarning{padding:14px;background:#f1f1f1;position:absolute;left:0;top:100%}#ud_massactions>*,#updraft-delete-waitwarning>*{vertical-align:middle}#ud_massactions .updraftplus-remove{display:inline-block;margin-right:0}#ud_massactions .updraftplus-remove a{text-decoration:none}#ud_massactions .updraft-viewlogdiv a{text-decoration:none;position:relative}small.ud_massactions-tip{display:inline-block;opacity:.5;font-style:italic;margin-left:20px}#updraft-navtab-backups-content .updraft_existing_backups{margin-bottom:35px;position:relative}#updraft-message-modal-innards{padding:4px}#updraft-authenticate-modal{text-align:center;font-size:16px !important}#updraft-authenticate-modal p{font-size:16px}div.ui-dialog.ui-widget.ui-widget-content{z-index:99999 !important}#updraft_delete_form p{margin-top:3px;padding-top:0}#updraft_restore_form .cannot-restore{margin:8px 0}.notice.updraft-restore-option{padding:12px;margin:8px 0 4px 0;border-left-color:#CCC}#updraft_restorer_dboptions h4{margin:0 0 6px 0;padding:0}.updraftplus_restore_tables_options_container{max-height:250px;overflow:auto}.updraft_debugrow th{vertical-align:top;padding-top:6px;max-width:140px}.expertmode p{font-size:125%}.expertmode .call-wp-action{width:300px;height:22px}.updraftplus-lock-advert{clear:left;max-width:600px}.uncompressed-data{clear:left;max-width:600px}.delete-old-directories{padding:8px;padding-bottom:12px}.active-jobs{width:100%;text-align:center;padding:33px}.job-id{margin-top:0;margin-bottom:8px}.next-resumption{font-weight:bold}.updraft_percentage{z-index:-1;position:absolute;left:0;top:0;text-align:center;background-color:#1d8ec2;-webkit-transition:width .3s;transition:width .3s}.curstage{z-index:1;border-radius:2px;margin-top:8px;width:100%;height:26px;line-height:26px;position:relative;text-align:center;font-style:italic;color:#FFF;background-color:#b7b7b7;text-shadow:0 1px 2px rgba(0,0,0,0.3)}.curstage-info{display:inline-block;z-index:2}.retain-files{width:48px}.backup-interval-description tr td div{max-width:670px}#updraft-manualdecrypt-modal{width:85%;margin:6px;margin-left:100px}.directory-permissions{font-size:110%;font-weight:bold}.double-warning{border:1px solid;padding:6px}.raw-backup-info{font-style:italic;font-weight:bold;font-size:120%}.updraft_existingbackup_date{width:22%;max-width:140px}.updraft_existing_backups_wrapper{margin-top:20px;border-top:1px solid #DDD}.updraft-no-backups-msg{padding:10px 40px;text-align:center;font-style:italic}.tr-bottom-4{margin-bottom:4px}.existing-backups-table th{padding:8px 10px}.form-table .backup-date{width:172px}.form-table .backup-data{width:426px}.form-table .updraft_backup_actions{width:272px}.existing-date{-webkit-box-sizing:border-box;box-sizing:border-box;max-width:140px;width:25%}.line-break-tr{height:2px;padding:1px;margin:0}.line-break-td{margin:0;padding:0}.td-line-color{height:2px;background-color:#888}.raw-backup{max-width:140px}.existing-backups-actions{padding:1px;margin:0}.existing-backups-border{height:2px;padding:1px;margin:0}.existing-backups-border>td{margin:0;padding:0}.existing-backups-border>div{height:2px;background-color:#AAA}.updraft_existing_backup_date{max-width:140px}.updraftplus-upload{margin-right:6px;float:left;clear:none}.before-restore-button{padding:1px;margin:0}.before-restore-button div{float:none;display:inline-block}.table-separator-tr{height:2px;padding:1px;margin:0}.table-separator-td{margin:0;padding:0}.end-of-table-div{height:2px;background-color:#AAA}.last-backup-job{padding-top:3% !important}.line-height-03{line-height:.3 !important}.line-height-13{line-height:1.3 !important}.line-height-23{line-height:2.3 !important}#updraft_diskspaceused{color:#df6926}#updraft_delete_old_dirs_pagediv{padding-bottom:10px}.fix-time{width:70px}.retain-files{width:70px}.number-input{min-width:50px;max-width:70px}.additional-rule-width{min-width:60px;max-width:70px}#updraft-wrap .dashicons.dashicons-adapt-size{line-height:inherit;font-size:inherit}#updraft-wrap .button span.dashicons:not(.dashicons-adapt-size){vertical-align:middle;margin-top:-3px}.addon-logo-150{margin-left:30px;margin-top:33px;height:125px;width:150px}.margin-bottom-50{margin-bottom:50px}.premium-container{width:80%}.main-header{background-color:#df6926;height:200px;width:100%}.button-add-to-cart{color:white;border-color:white;float:none;margin-right:17px}.button-add-to-cart:hover,.button-add-to-cart:focus,.button-add-to-cart:active{border-color:#a0a5aa;color:#a0a5aa}.addon-title{margin-top:25px}.addon-text{margin-top:75px}.image-main-div{width:25%;float:left}.text-main-div{width:60%;float:left;text-align:center;color:white;margin-top:16px}.text-main-div-title{font-weight:bold !important;color:white;text-align:center}.text-main-div-paragraph{color:white}.updraftplus-vault-cta{width:100%;text-align:center;margin-bottom:50px}.updraftplus-vault-cta h1{font-weight:bold}.updraftvault-buy{width:225px;height:225px;border:2px solid #777;display:inline-table;margin:0 auto;margin-right:50px;position:relative}.updraftplus-vault-cta>.vault-options>.center-vault{width:275px;height:275px}.updraftplus-vault-cta>.vault-options>.center-vault>a{right:21%;font-size:16px;border-width:4px !important}.updraftplus-vault-cta>.vault-options>.center-vault>p{font-size:16px}.updraftvault-buy .button-purchase{right:24%;margin-left:0;line-height:1.7em}.updraftvault-buy hr{height:2px;background-color:#777;margin-top:18px}.right{margin-right:0}.updraftvault-buy .addon-logo-100{height:100px;width:125px;margin-top:7px}.updraftvault-buy .addon-logo-large{margin-top:7px}.updraftvault-buy .button-buy-vault{font-size:12px;color:#df6926;border-color:#df6926;border-width:2px !important;position:absolute;right:29%;bottom:2%}.premium-addon-div .button-purchase{line-height:1.7em}.updraftvault-buy .button-buy-vault:hover{border-color:darkgrey;color:darkgrey}.premium-addons{margin-top:80px;width:100%;margin:0 auto;display:table}.addon-list{display:table;text-align:center}.premium-addons h1{text-align:center;font-weight:bold}.premium-addons p{text-align:center}.premium-addons .premium-addon-div{width:200px;height:250px;border:2px solid #777;display:inline-table;margin:0 auto;margin-right:25px;margin-top:25px;text-align:center;position:relative}.premium-addons .premium-addon-div p{margin-left:2px;margin-right:2px}.premium-addons .premium-addon-div img{width:auto;height:50px;margin-top:7px}.premium-addons .premium-addon-div .hr-alignment{margin-top:44px}.premium-addons .premium-addon-div .dropbox-logo{height:39px;width:150px}.premium-addons .premium-addon-div .azure-logo,.premium-addons .premium-addon-div .onedrive-logo{width:75%;height:24px}.button-purchase{font-size:12px;color:#df6926;border-color:#df6926;border-width:2px !important;position:absolute;right:25%;bottom:2%}.button-purchase:hover{color:darkgrey;border-color:darkgrey}.premium-addons .premium-addon-div hr{height:2px;background-color:#777;margin-top:18px}.premium-addon-div p{font-style:italic}.addon-list>.premium-addon-div>.onedrive-fix,.addon-list>.premium-addon-div>.azure-logo{margin-top:33px}.addon-list>.premium-addon-div>.dropbox-fix{margin-top:18px}.premium-forgotton-something{margin-top:5%}.premium-forgotton-something h1{text-align:center;font-weight:bold}.premium-forgotton-something p{text-align:center;font-weight:normal}.premium-forgotton-something .button-faq{color:#df6926;border-color:#df6926;margin:0 auto;display:table}.premium-forgotton-something .button-faq:hover{color:#777;border-color:#777}.updraftplusmethod.updraftvault #vaultlogo{padding-left:40px}.updraftplusmethod.updraftvault .vault_primary_option{float:left;width:50%;text-align:center;padding-bottom:20px}.updraftplusmethod.updraftvault .vault_primary_option div{clear:right;padding-top:20px}.updraftplusmethod.updraftvault .clear-left{clear:left}.updraftplusmethod.updraftvault .padding-top-20px{padding-top:20px}.updraftplusmethod.updraftvault .padding-top-14px{padding-top:14px}.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary,.updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary{font-size:18px !important}.updraftplusmethod.updraftvault #updraftvault_showoptions,.updraftplusmethod.updraftvault #updraftvault_connect{margin-top:8px}.updraftplusmethod.updraftvault #updraftvault_settings_connect input{margin-right:10px}.updraftplusmethod.updraftvault #updraftvault_email{width:280px}.updraftplusmethod.updraftvault #updraftvault_pass{width:200px}.updraftplusmethod.updraftvault #vault-is-connected{margin:0;padding:0}.updraftplusmethod.updraftvault #updraftvault_settings_default p{clear:left}.updraftplusmethod.updraftvault .vault-purchase-option-container{text-align:center}.updraftplusmethod.updraftvault .vault-purchase-option{width:40%;text-align:center;padding-top:20px;display:inline-block}.updraftplusmethod.updraftvault .vault-purchase-option-size{font-size:200%;font-weight:bold}.updraftplusmethod.updraftvault .vault-purchase-option-link{clear:both;font-size:150%}.updraftplusmethod.updraftvault .vault-purchase-option-or{clear:both;font-size:115%;font-style:italic}.autobackup-image{clear:left;float:left;width:110px;height:110px}.autobackup-description{width:100%}.advert-description{float:left;clear:right;padding:4px 10px 8px 10px;width:70%;clear:right;vertical-align:top}.advert-btn{display:inline-block;min-width:10%;vertical-align:top;margin-bottom:8px}.advert-btn:first-of-type{margin-top:25px}.advert-btn a{display:block;cursor:pointer}a.btn-get-started{background:#FFF;border:2px solid #df6926;border-radius:4px;color:#df6926;display:inline-block;margin-left:10px !important;margin-bottom:7px !important;font-size:18px !important;line-height:20px;min-height:28px;padding:11px 10px 5px 10px;text-transform:uppercase;text-decoration:none}.circle-dblarrow{border:1px solid #df6926;border-radius:100%;display:inline-block;font-size:17px;line-height:17px;margin-left:5px;width:20px;height:20px;text-align:center}.expertmode .advanced_settings_container{height:auto;overflow:hidden}.expertmode .advanced_settings_container .advanced_settings_menu{float:none;border-bottom:1px solid #ccc}.expertmode .advanced_settings_container .advanced_settings_content{padding-top:5px;float:none;width:auto;overflow:auto}.expertmode .advanced_settings_container .advanced_settings_content h3:first-child{margin-top:5px !important}.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools{display:none}.expertmode .advanced_settings_container .advanced_settings_content .site_info{display:block}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{display:inline-block;cursor:pointer;padding:5px;color:#000}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text{font-size:16px}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover{background-color:#eaeaea}.expertmode .advanced_settings_container .advanced_settings_menu .active{background-color:#3498db;color:#FFF}.expertmode .advanced_settings_container .advanced_settings_menu .active:hover{background-color:#72c5fd;color:#FFF}.expertmode .advanced_settings_container .advanced_settings_content input#import_settings{height:auto !important}div#updraft-wrap a{cursor:pointer !important}.updraftcentral_wizard_option{width:45%;float:left;text-align:center}.updraftcentral_wizard_option label{margin-bottom:8px}#updraftcentral_keys_table{display:none}.create_key_container{border:1px solid;border-radius:4px;padding:0 0 6px 6px;margin-bottom:8px}.updraftcentral_cloud_connect{border-radius:4px;border:1px solid #000;padding:0 20px;margin-top:30px;background-color:#FFF}.updraftcentral_cloud_error{border:1px solid #000;padding:3px 10px;border-left:3px solid #F00;background-color:#FFF;margin-bottom:10px}.updraftcentral_cloud_info{border:1px solid #000;padding:3px 10px;border-left:3px solid #ef8f31;background-color:#FFF;margin-bottom:10px}.updraftplus_spinner.spinner{padding-left:25px;float:none}.updraftplus_spinner.spinner.visible{visibility:visible;width:auto}.updraftcentral_cloud_notices .updraftplus_spinner{margin-top:-5px}.updraftcentral-subheading{font-size:14px;margin-top:-10px;margin-bottom:20px}#updraftcentral_cloud_form input#email,#updraftcentral_cloud_form input#password{min-width:250px}.updraftcentral-data-consent{font-size:13px;margin-bottom:10px}.updraftcentral_cloud_wizard_image{float:left;min-width:100px;margin-right:25px}.updraftcentral_cloud_wizard{float:left}.updraftcentral_cloud_clear{clear:both}.updraftplus-settings-footer{margin-top:30px}.updraftplus-top-menu{padding:.5em}#updraft_inpage_backup #updraft_activejobs_table{background:transparent}#updraft_inpage_backup #updraft_lastlogmessagerow .updraft-log-link{float:none}#updraft_inpage_backup #updraft_activejobsrow .updraft_row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:20px;padding-right:20px}#updraft_inpage_backup #updraft_activejobsrow .updraft_progress_container{width:100%}#updraft_inpage_backup #updraft_activejobs_table{overflow:inherit}#updraft_inpage_backup span#updraft_lastlogcontainer{padding:18px;background:#fafafa;display:block;font-size:90%;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.1);box-shadow:0 1px 2px rgba(0,0,0,0.1)}#updraft_inpage_backup div#updraft_activejobsrow{background:#fafafa;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.1);box-shadow:0 1px 2px rgba(0,0,0,0.1)}#updraft_inpage_backup #updraft_lastlogmessagerow>div{background:transparent;padding:0}#updraft_inpage_backup .last-message>strong{display:block;margin-top:13px}body.update-core-php #updraft_inpage_backup h2:nth-child(1){margin-top:1em !important}.updraft_restore_container{display:block;position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;padding-top:30px;background:#f1f1f1;overflow:auto}.updraft-modal-is-opened .select2-container{z-index:99999}body.updraft-modal-is-opened{overflow:hidden}.updraft_restore_container h2{margin:0}.updraft_restore_container .updraftmessage{-webkit-box-sizing:border-box;box-sizing:border-box;max-width:860px;margin-left:auto;margin-right:auto}.updraft_restore_main{max-width:860px;margin:0 auto;margin-top:20px;background:#FFF;-webkit-box-shadow:0 3px 3px rgba(0,0,0,0.1);box-shadow:0 3px 3px rgba(0,0,0,0.1);position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box}.updraft_restore_main--header{font-size:20px;font-weight:bold;text-align:center;padding-top:16px;line-height:20px;width:100%;max-width:100%;padding-right:30px;padding-left:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.updraft_restore_main--activity{position:relative;width:calc(100% - 350px);-webkit-box-sizing:border-box;box-sizing:border-box}.updraft_restore_main--activity-title{padding:20px;margin:0}.show-credentials-form.updraft_restore_main .updraft_restore_main--activity-title{display:none}.updraft_restore_main--components{width:350px;padding:20px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#f8f8f8;min-height:350px}.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output{background:#23282d;color:#e3e3e3;font-family:monospace;padding:19px;overflow:auto;position:absolute;top:60px;bottom:0;right:0;left:0}#updraftplus_ajax_restore_output form{white-space:normal;font-family:-apple-system,blinkmacsystemfont,"Segoe UI",roboto,oxygen-sans,ubuntu,cantarell,"Helvetica Neue",sans-serif}#updraftplus_ajax_restore_output .updraft_restore_errors{border:1px solid #dc3232;padding:10px 20px;white-space:normal}.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output h2{color:#00a0d2;padding-top:10px;padding-bottom:5px}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output{padding:20px;border-left:1px solid #EEE}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output #message{margin-left:0;margin-right:0}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table td,.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table th{padding-bottom:0}.updraft_restore_main.show-credentials-form .updraft_restore_main--components{opacity:.2}.updraft_restore_main.show-credentials-form div.error .restore-credential-errors--list p{margin:0;list-style-type:disc;display:list-item;list-style-position:inside}.restore-credential-errors>:first-child{margin-top:0}.restore-credential-errors>:last-child{margin-bottom:0}ul.updraft_restore_components_list li{color:#bababa;font-size:1.2em;margin-bottom:1em}ul.updraft_restore_components_list li::before{content:'\f469';font-family:dashicons;font-size:20px;vertical-align:middle;display:inline-block;margin-right:7px}ul.updraft_restore_components_list li span{vertical-align:middle}ul.updraft_restore_components_list li.done{color:green}ul.updraft_restore_components_list li.done::before{content:"\f147"}ul.updraft_restore_components_list li.active{color:inherit}ul.updraft_restore_components_list li.active::before{content:"\f463";-webkit-animation:udp_rotate 1s linear infinite;animation:udp_rotate 1s linear infinite}ul.updraft_restore_components_list li.error{color:#dc3232}ul.updraft_restore_components_list li.error::before{content:"\f335"}.updraft_restore_result{padding:10px 0;font-size:1.3em;margin-bottom:1em;vertical-align:middle;display:none}.updraft_restore_result.restore-error{color:#dc3232}.updraft_restore_result.restore-success{color:green}.updraft_restore_result .dashicons{font-size:35px;height:35px;line-height:33px;width:35px}.updraft_restore_result span{vertical-align:middle}#updraft-restore-modal{width:100%}div#updraft-restore-modal .notice{background:#f8f8f8}.updraft-restore-modal--stage .updraft--two-halves,.updraft-restore-modal--stage .updraft--one-half{padding:20px 30px}.updraft-restore-modal--header{padding:20px;padding-bottom:0;text-align:center;border-bottom:1px solid #EEE}.updraft-restore-modal--header h3{margin:0;padding:0}.updraft-restore-item{padding-bottom:4px}.updraft-restore-buttons{padding-top:10px}ul.updraft-restore--stages{display:inline-block;margin:0;height:28px}ul.updraft-restore--stages li{display:inline-block;position:relative;width:12px;height:12px;background:#d2d2d2;border-radius:20px;line-height:1;margin:0 4px;vertical-align:middle}ul.updraft-restore--stages li.active{background:#444}.updraft-restore--footer{border-top:1px solid #EEE;padding:20px;text-align:center;position:sticky;bottom:0;background:#FFF;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.updraft-restore--footer .updraft-restore--cancel{position:absolute;left:20px;top:auto}.updraft-restore--footer .updraft-restore--next-step{position:absolute;right:20px;top:auto}ul.updraft-restore--stages li span{position:absolute;width:120px;bottom:calc(100% + 14px);left:-55px;background:rgba(0,0,0,0.85882);padding:5px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;color:#FFF;text-align:center;display:none}ul.updraft-restore--stages li:hover span{display:inline-block}.updraft-restore-item input[type=checkbox]{margin-bottom:-5px}.updraft-restore-item input[type=checkbox]:checked+label{font-weight:bold}div#updraft-restore-modal .ud_downloadstatus__close{display:none}#ud_downloadstatus2:not(:empty){margin-top:15px}.dashicons.rotate{-webkit-animation:udp_rotate 1s linear infinite;animation:udp_rotate 1s linear infinite}span#updraftplus_ajax_restore_last_activity{font-size:.8rem;font-weight:normal;float:right}.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice{margin:-20px -20px 20px;padding:19px}.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice button{margin-right:5px}#updraft_migrate_receivingsites .updraftplus-remote-sites-selector .button-primary,.updraft_migrate_add_site .input-field input,.updraft_migrate_add_site button{vertical-align:middle}#updraft_migrate_receivingsites .text-link-menu a:not(:last-child){padding-right:10px}#updraft_migrate_receivingsites a.updraft_migrate_clear_sites span.dashicons-trash:before{font-size:17px}#updraft_migrate_receivingsites .updraft_migrate_add_site{clear:both}.rtl .advanced_tools.total_size table td{direction:ltr;text-align:right}.rtl #plupload-upload-ui2.drag-drop #drag-drop-area2{margin-bottom:20px}.rtl #updraft_lastlogmessagerow .updraft-log-link{float:left}.rtl label.updraft_checkbox>input[type=checkbox]{margin-right:-25px;margin-left:inherit}.rtl .ud_downloadstatus__close{float:left !important}.rtl #updraft_backupextradbs_another_container{float:right}.rtl input.labelauty+label{direction:ltr;position:relative;min-height:29px}.rtl input.labelauty+label>span.labelauty-checked-image,.rtl input.labelauty+label>span.labelauty-unchecked-image{right:8px;top:11px;position:absolute}.rtl .button.updraft-close-overlay .dashicons{margin-right:-5px;margin-left:inherit}.rtl label.updraft_checkbox{margin-right:26px;margin-left:inherit}.rtl #updraft-wrap .udp-info{left:10px;right:inherit}.rtl input.labelauty+label>span.labelauty-unchecked-image+span.labelauty-unchecked,.rtl input.labelauty+label>span.labelauty-checked-image+span.labelauty-checked{margin-right:7px;margin-left:inherit;padding:7px 7px 7px 26px;width:141px;text-align:right}.rtl #updraft_report_cell button.updraft_reportbox_delete,.rtl .updraft_box_delete_button,.rtl .updraft_small_box .updraft_box_delete_button{left:4px;right:inherit}#updraft_exclude_modal .clause-input-container{overflow:auto}#updraft_exclude_modal .clause-input-container select,#updraft_exclude_modal .clause-input-container input{float:left}#updraft_exclude_modal .clause-input-container .wildcards-input{margin:7px 7px 0 0}#updraft_exclude_modal .updraft-exclude-panel .contain-clause-sub-label{margin-top:10px;display:block}@media only screen and (min-width:1024px){#updraft_activejobsrow .updraft_row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}#updraft_activejobsrow .updraft_row .updraft_col{-webkit-box-flex:1;-ms-flex:auto;flex:auto}#updraft_activejobsrow .updraft_progress_container{width:calc(100% - 230px)}}@media only screen and (min-width:782px){.settings_page_updraftplus input[type=text],.settings_page_updraftplus input[type=password],.settings_page_updraftplus input[type=number]{line-height:1.42;height:27px;padding:2px 6px;color:#555}.settings_page_updraftplus input[type="number"]{height:31px}#ud_massactions.active,#updraft-delete-waitwarning.active{position:fixed;bottom:0;left:160px;right:0;top:auto;background:#FFF;z-index:3;-webkit-box-shadow:0 0 10px rgba(0,0,0,0.2);box-shadow:0 0 10px rgba(0,0,0,0.2)}.rtl #ud_massactions.active,.rtl #updraft-delete-waitwarning.active{left:0;right:160px}body.folded #ud_massactions.active,body.folded #updraft-delete-waitwarning.active{left:36px}.updraft-after-form-table{margin-left:250px}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.range-selection:not(.backuprowselected) .updraft_existingbackup_date .backup_date_label{color:#FFF}}@media only screen and (min-width:782px) and (max-width:960px){body.auto-fold #ud_massactions.active,body.auto-fold #updraft-delete-waitwarning.active{left:36px}}@media only screen and (max-width:782px){#updraft-wrap{margin-right:0}#updraft-wrap .form-table td{padding-right:0}label.updraft_checkbox{margin-bottom:8px;margin-top:8px;margin-left:36px}.updraft_retain_rules{position:relative;margin-right:0;border:1px solid #CCC;padding:5px;margin-bottom:-1px}.updraft_retain_rules_delete{position:absolute;right:0;top:5px}a[id*=updraft_retain_]{display:block;padding:15px 15px 15px 0}label.updraft_checkbox>input[type=checkbox]{margin-left:-33px}#updraft-backupnow-button{margin:0;display:block;width:100%}.updraft_next_scheduled_backups_wrapper>.updraft_backup_btn_wrapper{padding-top:0}#ud_massactions,#updraft-delete-waitwarning{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}#ud_massactions.active{position:fixed;top:auto;bottom:0;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;-webkit-box-shadow:0 -3px 15px rgba(0,0,0,0.08);box-shadow:0 -3px 15px rgba(0,0,0,0.08);background:#FFF;z-index:3}#ud_massactions strong{display:block;margin-bottom:5px}small.ud_massactions-tip{display:block}.existing-backups-table .backup_date_label>div,.existing-backups-table .backup_date_label span>div{font-weight:normal}.existing-backups-table .backup_date_label .clear-right{display:inline-block}table.widefat.existing-backups-table{border:0;-webkit-box-shadow:none;box-shadow:none;background:transparent}.existing-backups-table thead{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;padding:0;margin:0}.existing-backups-table tr{display:block;margin-bottom:.625em;padding-bottom:16.625px;width:100%;padding:0;margin:0;margin-bottom:10px;background:#FFF;-webkit-box-shadow:0 2px 3px rgba(0,0,0,0.1);box-shadow:0 2px 3px rgba(0,0,0,0.1)}.existing-backups-table td{border-bottom:1px solid #DDD;display:block;font-size:.9em;text-align:left;width:100%;padding:10px;margin:0}.wp-list-table.existing-backups-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before{content:attr(data-label);font-weight:bold;display:block;position:relative;left:auto;padding-bottom:10px;width:auto;text-align:left}.existing-backups-table td:last-child{border-bottom:0}.form-table td.updraft_existingbackup_date{width:inherit;max-width:100%}.existing-backups-table td.before-restore-button{min-height:36px}.updraft_next_scheduled_backups_wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.updraft_next_scheduled_backups_wrapper>div{width:100%}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row{position:relative}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected{background-color:#FFF;border-left:4px solid #0572aa}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td:not(.backup-select){margin-left:50px}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td.backup-select{width:50px !important;position:absolute;left:0;top:0;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;z-index:1;border:0;border-right:1px solid rgba(0,0,0,0.05)}#updraft-navtab-backups-content .updraft_existing_backups input[type="checkbox"]{height:25px}.updraft_migrate_intro button.button.button-primary.button-hero{display:block;margin-right:0;width:100%;max-width:100%}.updraftclone-main-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.updraftclone-main-row>div{width:auto;max-width:none;margin-right:0;margin-bottom:10px}.form-table th{padding-bottom:10px}.updraft--flex{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.updraft_restore_main{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.updraft_restore_main--components{width:100%;min-height:0}.updraft_restore_main--activity{width:100%}div#updraftplus_ajax_restore_output,.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output{position:relative;top:0;bottom:auto}.updraft--flex>.updraft--two-halves,.updraft--flex>.updraft--one-half{width:100%}.updraft-restore-item{padding-bottom:10px;padding-top:10px}}@media screen and (max-width:600px){.updraft_next_scheduled_entity{float:none;width:100%;margin-bottom:2em}.updraft_time_now_wrapper{margin-top:0}#updraft_lastlogmessagerow h3{margin-bottom:5px}#updraft_lastlogmessagerow .updraft-log-link{display:block;float:none;margin:0;margin-bottom:10px}}@media only screen and (min-width:768px){.addon-activation-notice{left:20em}.existing-backups-table tbody tr.range-selection:hover,.existing-backups-table tbody tr.range-selection{background:#0572aa}.existing-backups-table tbody tr:hover{background:#f1f1f1}.existing-backups-table tbody tr td.before-restore-button{position:relative}.form-table .existing-backups-table thead th.check-column{padding-left:6px}.existing-backups-table tr td:first-child{border-left:4px solid transparent}.existing-backups-table tr.backuprowselected td:first-child{border-left-color:#0572aa}}@media screen and (min-width:670px){.expertmode .advanced_settings_container .advanced_settings_menu{float:left;width:215px;border-right:1px solid #ccc;border-bottom:0}.expertmode .advanced_settings_container .advanced_settings_content{padding-left:10px;padding-top:0}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{display:block}}@media only screen and (max-width:1068px){.updraft-more-plugins .udp-box{width:calc(50% - 10px);margin-bottom:20px}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){width:100px}}@media only screen and (max-width:600px){.updraft-more-plugins .udp-box{width:100%;margin-bottom:20px}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){width:auto}table.updraft_feat_table{display:block}table.updraft_feat_table tr{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}table.updraft_feat_table td{display:block}table.updraft_feat_table td:first-child{width:100%;border-bottom:0}table.updraft_feat_table td:not(:first-child){width:50%;-webkit-box-sizing:border-box;box-sizing:border-box}table.updraft_feat_table td:first-child:empty{display:none}td[data-colname]::before{content:attr(data-colname);font-size:.8rem;color:#CCC;line-height:1}} /*# sourceMappingURL=updraftplus-admin-1-24-4.min.css.map */ css/updraftplus-admin.css000064400000234642147400355670011533 0ustar00@-webkit-keyframes udp_blink { from { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } to { opacity: 0.4; -webkit-transform: scale(0.85); transform: scale(0.85); } } @keyframes udp_blink { from { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } to { opacity: 0.4; -webkit-transform: scale(0.85); transform: scale(0.85); } } @-webkit-keyframes udp_rotate { from { -webkit-transform: rotate(0); transform: rotate(0); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes udp_rotate { from { -webkit-transform: rotate(0); transform: rotate(0); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } /* Widths and sizing */ .max-width-600 { max-width: 600px; } .max-width-700 { max-width: 700px; } .width-900 { max-width: 900px; } .width-80 { width: 80%; } .updraft--flex { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } .updraft--flex > * { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; -webkit-box-sizing: border-box; box-sizing: border-box; } .updraft--flex > .updraft--one-half { width: 50%; -webkit-box-flex: 1; -ms-flex: auto; flex: auto; } .updraft--flex > .updraft--two-halves { width: 100%; -webkit-box-flex: 1; -ms-flex: auto; flex: auto; } .updraft-file-ready-label { padding: 5px; } .updraft-color--very-light-grey { background: #F8F8F8; } /* End widths and sizing */ /* Font styling */ .no-decoration { text-decoration: none; } .bold { font-weight: bold; } /* End font styling */ /* Alignment */ .center-align-td { text-align: center; } /* End of Alignment */ /* Padding */ .remove-padding { padding: 0 !important; } /* End of padding */ .updraft-text-center { text-align: center; } .autobackup { padding: 6px; margin: 8px 0px; } ul .disc { list-style: disc inside; } .dashicons-log-fix { display: inherit; } .udpdraft__lifted { -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1); box-shadow: 0 1px 1px 0 rgba(0,0,0,.1); } #updraft-wrap a .dashicons { text-decoration: none; } .updraft-field-description, table.form-table td p.updraft-field-description { font-size: 90%; line-height: 1.2; font-style: italic; margin-bottom: 5px; } /* Input boxes */ label.updraft_checkbox { display: block; margin-bottom: 4px; margin-left: 26px; } label.updraft_checkbox > input[type=checkbox] { margin-left: -25px; } div[id*="updraft_include_"] { margin-bottom: 9px; } /* Input boxes */ .settings_page_updraftplus input[type="file"] { border: none; } .settings_page_updraftplus .wipe_settings { padding-bottom: 10px; } .settings_page_updraftplus input[type="text"] { font-size: 14px; } .settings_page_updraftplus select { border-radius: 4px; max-width: 100%; } input.updraft_input--wide, textarea.updraft_input--wide { max-width: 442px; width: 100%; } #updraft-wrap .button-large { font-size: 1.3em; } /* End input boxes */ /* Main Buttons */ .main-dashboard-buttons { border-width: 4px; border-radius: 12px; letter-spacing: 0px; font-size: 17px; font-weight: bold; padding-left: 0.7em; padding-right: 2em; padding: 0.3em 1em; line-height: 1.7em; background: transparent; position: relative; border: 2px solid; -webkit-transition: all 0.2s; transition: all 0.2s; vertical-align: baseline; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; line-height: 1.3em; margin-left: .3em; text-transform: none; line-height: 1; text-decoration: none; } .button-restore { border-color: rgb(98, 158, 192); color: rgb(98, 158, 192); } .button-ud-google { text-decoration: none !important; -webkit-transition: background-color .3s, -webkit-box-shadow .3s; transition: background-color .3s, -webkit-box-shadow .3s; transition: background-color .3s, box-shadow .3s; transition: background-color .3s, box-shadow .3s, -webkit-box-shadow .3s; padding: 12px 16px 12px 42px !important; border: none; border-radius: 3px; -webkit-box-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .25); box-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .25); color: #757575; font-size: 14px; font-weight: 500; font-family: "Roboto"; background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTcuNiA5LjJsLS4xLTEuOEg5djMuNGg0LjhDMTMuNiAxMiAxMyAxMyAxMiAxMy42djIuMmgzYTguOCA4LjggMCAwIDAgMi42LTYuNnoiIGZpbGw9IiM0Mjg1RjQiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik05IDE4YzIuNCAwIDQuNS0uOCA2LTIuMmwtMy0yLjJhNS40IDUuNCAwIDAgMS04LTIuOUgxVjEzYTkgOSAwIDAgMCA4IDV6IiBmaWxsPSIjMzRBODUzIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNNCAxMC43YTUuNCA1LjQgMCAwIDEgMC0zLjRWNUgxYTkgOSAwIDAgMCAwIDhsMy0yLjN6IiBmaWxsPSIjRkJCQzA1IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNOSAzLjZjMS4zIDAgMi41LjQgMy40IDEuM0wxNSAyLjNBOSA5IDAgMCAwIDEgNWwzIDIuNGE1LjQgNS40IDAgMCAxIDUtMy43eiIgZmlsbD0iI0VBNDMzNSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PHBhdGggZD0iTTAgMGgxOHYxOEgweiIvPjwvZz48L3N2Zz4=); background-color: #FFF; background-repeat: no-repeat; background-position: 12px 11px; } .button-ud-google:hover { -webkit-box-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .25); box-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .25); } .button-ud-google:active { background-color: #EEE; } .button-ud-google:focus { outline: none; -webkit-box-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .25), 0 0 0 3px #C8DAFC; box-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .25), 0 0 0 3px #C8DAFC; } .button-ud-google:disabled { -webkit-filter: grayscale(100%); filter: grayscale(100%); background-color: #EBEBEB; -webkit-box-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .25); box-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .25); cursor: not-allowed; } .dashboard-main-sizing { border-width: 4px; width: 190px; line-height: 1.7em; } p.updraftplus-option { margin-top: 0; margin-bottom: 5px; } p.updraftplus-option-inline { display: inline-block; padding-right: 20px; } span.updraftplus-option-label { display: block; } /* * MIGRATE - CLONE */ #updraft-navtab-migrate-content .postbox { padding: 18px; } /* Clone Rows */ .updraftclone-main-row { display: -webkit-box; display: -ms-flexbox; display: flex; } .updraftclone-tokens { background: #F5F5F5; padding: 20px; border-radius: 10px; margin-right: 20px; max-width: 300px; } .updraftclone-tokens p { margin: 0; } .updraftclone_action_box { background: #F5F5F5; padding: 20px; border-radius: 10px; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .updraftclone_action_box p:first-child { margin-top: 0; } .updraftclone_action_box p:last-child { margin-bottom: 0; } .updraftclone_action_box #ud_downloadstatus3 { margin-top: 10px; } span.tokens-number { font-size: 46px; display: block; } /* Clone header button */ .button.updraft_migrate_widget_temporary_clone_show_stage0 { display: none; position: absolute; right: 0; top: 0; height: 100%; border-left: 1px solid #CCC; padding-left: 10px; padding-right: 10px; } .updraft_migrate_widget_temporary_clone_stage0_container { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .updraft_migrate_widget_temporary_clone_stage0_box { margin-right: 20px; width: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; } .updraft_migrate_widget_temporary_clone_stage0_box iframe, .updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js { float: none; } @media (min-width: 1024px) { .updraft_migrate_widget_temporary_clone_stage0_container { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; } .updraft_migrate_widget_temporary_clone_stage0_box { -ms-flex-preferred-size: 45%; flex-basis: 45%; } .updraft_migrate_widget_temporary_clone_stage0_box iframe, .updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js { float: right; } } .updraft_migrate_widget_temporary_clone_show_stage0 .dashicons { text-decoration: none; font-size: 20px; } .opened .button.updraft_migrate_widget_temporary_clone_show_stage0 { display: inline-block; } .opened .updraft_migrate_widget_temporary_clone_stage0 { background: #F5F5F5; padding: 20px; border-radius: 8px; margin-bottom: 21px; } /* Clone list table */ .clone-list { clear: both; width: 100%; margin-top: 40px; } .clone-list table { width: 100%; text-align: left; } .clone-list table tr th { background: #E4E4E4; } .clone-list table tr td { background: #F5F5F5; word-break: break-word; } .clone-list table tr:nth-child(odd) td { background: #FAFAFA; } .clone-list table td, .clone-list table th { padding: 6px; } /* Clone Progress */ .updraftplus-clone .updraft_row { padding-left: 0; padding-right: 0; } button#updraft_migrate_createclone + .updraftplus_spinner { margin-top: 13px; } /* Clone - Show step 1 info button */ .button.button-hero.updraftclone_show_step_1 { white-space: normal; height: auto; line-height: 14px; padding-top: 10px; padding-bottom: 10px; } .button.button-hero.updraftclone_show_step_1 span.dashicons { height: auto; } .updraftplus_clone_status { color: red; } /* MIGRATE */ a.updraft_migrate_add_site--trigger span.dashicons { text-decoration: none; } .button-restore:hover, .button-migrate:hover, .button-backup:hover, .button-view-log:hover, .button-mass-selectors:hover, .button-delete:hover, .button-entity-backup:hover, .udp-button-primary:hover { border-color: #DF6926; color: #DF6926; } .button-migrate { color: rgb(238, 169, 32); border-color: rgb(238, 169, 32); } #updraft_migrate_tab_main { padding: 8px; } .updraft_migrate_widget_module_content { background: #FFF; border-radius: 0; position: relative; } body.js #updraft_migrate .updraft_migrate_widget_module_content { display: none; } .updraft_migrate_widget_module_content > h3, div[class*="updraft_migrate_widget_temporary_clone_stage"] > h3 { margin-top: 0; } /* Migrate / Clone headers */ .updraft_migrate_widget_module_content header, #updraft_migrate_tab_alt header { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-line-pack: center; align-content: center; justify-items: center; margin-top: -18px; margin-left: -18px; margin-right: -18px; margin-bottom: 15px; border-bottom: 1px solid #CCC; } .updraft_migrate_widget_module_content header h3, .updraft_migrate_widget_module_content header button.button.close, #updraft_migrate_tab_alt header h3, #updraft_migrate_tab_alt header button.button.close { padding: 10px; line-height: 20px; height: auto; margin: 0; } .updraft_migrate_widget_module_content button.button.close, #updraft_migrate_tab_alt button.button.close { text-decoration: none; padding-left: 5px; border-right: 1px solid #CCC; } .updraft_migrate_widget_module_content button.button.close .dashicons, #updraft_migrate_tab_alt button.button.close .dashicons { margin-top: 1px; } .updraft_migrate_widget_module_content header h3, #updraft_migrate_tab_alt header h3 { margin: 0; } .updraft_migrate_intro button.button.button-primary.button-hero { max-width: 235px; word-wrap: normal; white-space: normal; line-height: 1; height: auto; padding-top: 13px; padding-bottom: 13px; text-align: left; position: relative; margin-right: 10px; margin-bottom: 10px; } .updraft_migrate_intro button.button.button-primary.button-hero .dashicons { position: absolute; left: 10px; top: calc(50% - 8px); } #updraft_migrate_tab_alt #updraft_migrate_send_existing_button { margin-right: 6px; } /* jquery UI Accordion module */ #updraft_migrate .ui-widget-content a { color: #1C94C4; } #updraft-wrap .ui-accordion .ui-accordion-header { background: #F6F6F6; margin: 0; border-radius: 0; padding-left: 0.5em; padding-right: 0.7em; } #updraft-wrap .ui-widget { font-family: inherit; } .ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-w { background-position: -96px 0px; } .ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-s { background-position: -64px 0; } #updraft-wrap .ui-accordion .ui-accordion-header .ui-accordion-header-icon { left: auto; right: 5px; } #updraft-wrap .ui-accordion .ui-accordion-header:focus { outline: none; -webkit-box-shadow: 0 0 0 1px rgba(91, 157, 217, 0.22), 0 0 2px 1px rgba(30, 140, 190, 0.3); box-shadow: 0 0 0 1px rgba(91, 157, 217, 0.22), 0 0 2px 1px rgba(30, 140, 190, 0.3); background: #FFF; } #updraft-wrap .ui-accordion .ui-accordion-header:focus .dashicons { color: #0572AA; opacity: 1; } #updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active { background: #F6F6F6; border-bottom: 2px solid #0572AA; -webkit-box-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3); box-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3); } #updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active:focus { -webkit-box-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3), 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8); box-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3), 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8); } #updraft-wrap .ui-accordion .ui-accordion-header:not(:first-child) { border-top: none; } #updraft-wrap .ui-accordion .ui-accordion-header .dashicons { opacity: 0.4; margin-right: 10px; } #updraft-wrap .ui-accordion .ui-accordion-header:focus { outline: none; -webkit-box-shadow: 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8); box-shadow: 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8); z-index: 1; } button.ui-dialog-titlebar-close:before { content: none!important; } .updraft_next_scheduled_backups_wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; background: #FFF; justify-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; } .updraft_next_scheduled_backups_wrapper > div { width: 50%; background: #FFF; height: auto; /* padding: 18px 33px; */ padding: 33px; -webkit-box-sizing: border-box; box-sizing: border-box; } .updraft_backup_btn_wrapper { text-align: center; border-left: 1px solid #F1F1F1; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .incremental-backups-only { display: none; } .incremental-free-only { display: none; } .incremental-free-only p { padding: 5px; background: rgba(255, 0, 0, 0.06); border: 1px solid #BFBFBF; } #updraft-delete-waitwarning span.spinner { visibility: visible; float: none; margin: 0; margin-right: 10px; } button#updraft-backupnow-button .spinner, button#updraft-backupnow-button .dashicons-yes { display: none; } button#updraft-backupnow-button.loading .spinner { display: inline-block; visibility: visible; margin-top: 13px; margin-right: 0; } button#updraft-backupnow-button.loading { background-color: #EFEFEF; border-color: #CCC; text-shadow: 0 -1px 1px #BBC3C7, 1px 0 1px #BBC3C7, 0 1px 1px #BBC3C7, -1px 0 1px #BBC3C7; -webkit-box-shadow: none; box-shadow: none; } button#updraft-backupnow-button.finished .dashicons-yes { display: inline-block; visibility: visible; font-size: 42px; margin-right: 0; margin-top: 2px; } .updraft_next_scheduled_entity { width: 50%; display: inline-block; float: left; /* padding: 20px 20px 10px 20px; */ } .updraft_next_scheduled_entity .dashicons { color: #CCC; font-size: 20px; } .updraft_next_scheduled_entity strong { font-size: 20px; } .updraft_next_scheduled_heading { margin-bottom: 10px; } .updraft_next_scheduled_date_time { color: #46A84B; } .updraft_time_now_wrapper { margin-top: 68px; width: 100%; } .updraft_time_now_label, .updraft_time_now { display: inline-block; padding: 7px; } .updraft_time_now_label { background: #B7B7B7; border-top-left-radius: 4px; border-bottom-left-radius: 4px; color: #FFF; margin-right: 0; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); } .updraft_time_now { background: #F1F1F1; border-top-right-radius: 4px; border-bottom-right-radius: 4px; margin-left: -3px; } #updraft_lastlogmessagerow { margin: 6px 0; } #updraft_lastlogmessagerow { clear: both; padding: 0.25px 0; } #updraft_lastlogmessagerow .updraft-log-link { float: right; margin-top: -2.5em; margin-right: 2px; } #updraft_lastlogmessagerow > div { clear: both; background: #FFF; padding: 18px; } #updraft_activejobs_table { overflow: hidden; width: 100%; background: #FAFAFA; padding: 0; } .updraft_requeststart { padding: 15px 33px; text-align: center; } .updraft_requeststart .spinner { visibility: visible; float: none; vertical-align: middle; margin-top: -2px; } a.updraft_jobinfo_delete.disabled { opacity: 0.4; color: inherit; text-decoration: none; } .updraft_row { clear: both; -webkit-transition: 0.3s all; transition: 0.3s all; padding: 15px 33px; } .updraft_row.deleting { opacity: 0.4; } .updraft_progress_container { /* width: 83%; */ } .updraft_existing_backups_count { padding: 2px 8px; font-size: 12px; background: #CA4A1E; color: #FFF; font-weight: bold; border-radius: 10px; } .form-table .existing-backups-table input[type="checkbox"] { border-radius: 0; } .form-table .existing-backups-table .check-column { width: 40px; padding: 0; padding-top: 8px; } .existing-backups-buttons { font-size: 11px; line-height: 1.4em; border-width: 3px; } .existing-backups-restore-buttons { font-size: 11px; line-height: 1.4em; border-width: 3px; } .button-delete { color: #E23900; border-color: #E23900; font-size: 14px; line-height: 1.4em; border-width: 2px; margin-right: 10px; } .button-view-log, .button-mass-selectors { color: darkgrey; border-color: darkgrey; font-size: 14px; line-height: 1.4em; border-width: 2px; margin-top: -1px; } .button-view-log { width: 120px; } .button-existing-restore { font-size: 14px; line-height: 1.4em; border-width: 2px; width: 110px; } .main-restore { margin-right: 3%; margin-left: 3%; } .button-entity-backup { color: #555; border-color: #555; font-size: 11px; line-height: 1.4em; border-width: 2px; margin-right: 5px; } .button-select-all { width: 122px; } .button-deselect { width: 92px; } #ud_massactions > .display-flex > .mass-selectors-margins, #updraft-delete-waitwarning > .display-flex > .mass-selectors-margins { margin-right: -4px; } .udp-button-primary { border-width: 4px; color: #0073AA; border-color: #0073AA; font-size: 14px; height: 40px; } #ud_massactions .button-delete { margin-right: 0px; } .stored_local { border-radius: 5px; background-color: #007FE7; padding: 3px 5px 5px 5px; color: #FFF; font-size: 75%; } span#updraft_lastlogcontainer { word-break: break-all; } .stored_icon { height: 1.3em; position: relative; top: 0.2em; } .backup_date_label > * { vertical-align: middle; } .backup_date_label .dashicons { font-size: 18px; } .backup_date_label .clear-right { clear: right; } .existing-backups-table .backup_date_label > div, .existing-backups-table .backup_date_label span > div { font-weight: bold; } /* End Main Buttons */ /* End of common elements */ .udp-logo-70 { width: 70px; height: 70px; float: left; padding-right: 25px; } h3 .thank-you { margin-top: 0px; } .ws_advert { max-width: 800px; font-size: 140%; line-height: 140%; padding: 14px; clear: left; } .dismiss-dash-notice { float: right; position: relative; top: -20px; } .updraft_exclude_container, .updraft_include_container { margin-left: 24px; margin-top: 5px; margin-bottom: 10px; padding: 15px; border: 1px solid #DDD; } label.updraft-exclude-label { font-weight: 500; margin-bottom: 5px; display: inline-block; } .updraft_add_exclude_item, #updraft_include_more_paths_another { display: inline-block; margin-top: 10px; } input.updraft_exclude_entity_field, .form-table td input.updraft_exclude_entity_field, .updraftplus-morefiles-row input[type=text] { width: calc(100% - 70px); max-width: 400px; } .updraft-fs-italic { font-style: italic; } @media screen and (max-width: 782px) { .form-table td input.updraft_exclude_entity_field, .form-table td .updraftplus-morefiles-row input[type=text] { display: inline-block; } } .updraft_exclude_entity_delete.dashicons, .updraft_exclude_entity_edit.dashicons, .updraft_exclude_entity_update.dashicons, .updraftplus-morefiles-row a.dashicons { margin-top: 2px; font-size: 20px; -webkit-box-shadow: none; box-shadow: none; line-height: 1; padding: 3px; margin-right: 4px; } .updraft_exclude_entity_delete, .updraft_exclude_entity_delete:hover, .updraftplus-morefiles-row-delete { color: #FF6347; } .updraft_exclude_entity_update.dashicons, .updraft_exclude_entity_update.dashicons:hover { color: #008000; font-weight: bold; font-size: 22px; margin-left: 4px; } .updraft_exclude_entity_edit { margin-left: 4px; } .updraft_exclude_entity_update.is-active ~ .updraft_exclude_entity_delete { display: none; } .updraft-exclude-panel-heading { margin-bottom: 8px; } .updraft-exclude-panel-heading h3 { margin: 0.5em 0 0.5em 0; } .updraft-exclude-submit.button-primary { margin-top: 5px; } .updraft_exclude_actions_list { font-weight: bold; } .updraft-exclude-link { cursor: pointer; } #updraft_include_more_options { padding-left: 25px; } #updraft_report_cell .updraft_reportbox, .updraft_small_box { padding: 12px; margin: 8px 0; border: 1px solid #CCC; position: relative; } #updraft_report_cell button.updraft_reportbox_delete, .updraft_box_delete_button, .updraft_small_box .updraft_box_delete_button { padding: 4px; padding-top: 6px; border: none; background: transparent; position: absolute; top: 4px; right: 4px; cursor: pointer; } #updraft_report_cell button.updraft_reportbox_delete:hover { color: #DE3C3C; } a.updraft_report_another .dashicons { text-decoration: none; margin-top: 2px; } .updraft_report_dbbackup.updraft_report_disabled { color: #CCC; } #updraft-navtab-settings-content .updraft-test-button { font-size: 18px !important; } #updraft_report_cell .updraft_report_email { display: block; width: calc(100% - 50px); margin-bottom: 9px; } #updraft_report_cell .updraft_report_another_p { clear: left; } /* Taken straight from admin.php */ #updraft-navtab-settings-content table.form-table p { max-width: 700px; } #updraft-navtab-settings-content table.form-table .notice p { max-width: none; } #updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected, #updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected td { background-color: #EFEFEF; } #updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected:nth-child(even) td { background-color: #E8E8E8; } .updraft_settings_sectionheading { display: none; } .updraft-backupentitybutton-disabled { background-color: transparent; border: none; color: #0074A2; text-decoration: underline; cursor: pointer; clear: none; float: left; } .updraft-backupentitybutton { margin-left: 8px; } .updraft-bigbutton { padding: 2px 0px !important; margin-right: 14px !important; font-size: 22px !important; min-height: 32px; min-width: 180px; } tr[class*="_updraft_remote_storage_border"] { border-top: 1px solid #CCC; } .updraft_multi_storage_options { float: right; clear: right; margin-bottom: 5px !important; } .updraft_toggle_instance_label { vertical-align: top !important; } .updraft_debugrow th { float: right; text-align: right; font-weight: bold; padding-right: 8px; min-width: 140px; } .updraft_debugrow td { min-width: 300px; vertical-align: bottom; } .updraft_webdav_host_error, .onedrive_folder_error { color: red; } label[for=updraft_servicecheckbox_updraftvault] { position: relative; } #updraft-wrap .udp-info { position: absolute; right: 10px; top: calc(50% - 10px); } #updraft-wrap span.info-trigger { display: inline-block; width: 20px; height: 20px; background: #FFF; color: #72777C; border-radius: 30px; text-align: center; line-height: 20px; -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); } #updraft-wrap .info-content-wrapper { display: none; position: absolute; bottom: 20px; -webkit-transform: translatex(calc(-50% + 10px)); transform: translatex(calc(-50% + 10px)); width: 330px; padding-bottom: 10px; } #updraft-wrap .info-content-wrapper::before { content: ''; position: absolute; bottom: -10px; border: 10px solid transparent; border-top-color: #FFF; left: calc(50% - 10px); } #updraft-wrap .info-content { padding: 20px; background: #FFF; border-radius: 4px; -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1); color: #72777C; } #updraft-wrap .info-content h3 { margin-top: 0; } #updraft-wrap .info-content p { margin-top: 10px; } #updraft-wrap .udp-info:hover .info-content-wrapper { display: block; } div.conditional_remote_backup select.logic_type { vertical-align: inherit !important; } div.conditional_remote_backup label.updraft_toggle_instance_label.radio_group { display: block; margin-top: 7px; } div.conditional_remote_backup div.logic ul.rules input.rule_value { vertical-align: middle; } div.conditional_remote_backup p { margin-bottom: 10px; } div.conditional_remote_backup div.logic ul.rules span svg { width: 20px; vertical-align: middle; cursor: pointer; } div.conditional_remote_backup div.logic ul.rules span svg { margin-left: 3px; } div.conditional_remote_backup div.logic select.logic_type { vertical-align: unset; } /* jstree styles */ /* these styles hide the dots from the parent but keep the arrows */ .updraft_jstree .jstree-container-ul > .jstree-node, div[id^="updraft_more_files_jstree_"] .jstree-container-ul > .jstree-node { background: transparent; } .updraft_jstree .jstree-container-ul > .jstree-open > .jstree-ocl, div[id^="updraft_more_files_jstree_"] .jstree-container-ul > .jstree-open > .jstree-ocl { background-position: -36px -4px; } .updraft_jstree .jstree-container-ul > .jstree-closed> .jstree-ocl, div[id^="updraft_more_files_jstree_"] .jstree-container-ul > .jstree-closed> .jstree-ocl { background-position: -4px -4px; } .updraft_jstree .jstree-container-ul > .jstree-leaf> .jstree-ocl, div[id^="updraft_more_files_jstree_"] .jstree-container-ul > .jstree-leaf> .jstree-ocl { background: transparent; } /* zip browser jstree styles */ #updraft_zip_files_container { position: relative; height: 450px; overflow: none; } .updraft_jstree_info_container { position: relative; height: auto; width: 100%; border: 1px dotted; margin-bottom: 5px; } .updraft_jstree_info_container p { margin: 1px; padding-left: 10px; font-size: 14px; } #updraft_zip_download_item { display: none; color: #0073AA; padding-left: 10px; } #updraft_zip_download_notice { padding-left: 10px; } #updraft_exclude_files_folders_jstree, #updraft_exclude_files_folders_wildcards_jstree { max-height: 200px; overflow-y: scroll; } .updraft_jstree { position: relative; border: 1px dotted; height: 80%; width: 100%; overflow: auto; } /* More files jstree styles */ div[id^="updraft_more_files_container_"], div.updraft_googledrive_container { position: relative; display: none; width: 100%; border: 1px solid #CCC; background: #FAFAFA; margin-bottom: 5px; margin-top: 4px; -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.1); box-shadow: 0 5px 8px rgba(0, 0, 0, 0.1); } div.updraft_googledrive_container ul.jstree-container-ul { overflow-y: scroll; max-height: 200px; } div[id^="updraft_more_files_container_"]::before, div.updraft_googledrive_container::before { content: ' '; width: 11px; height: 11px; display: block; background: #FAFAFA; position: absolute; top: 0; left: 20px; border-top: 1px solid #CCC; border-left: 1px solid #CCC; -webkit-transform: translatey(-7px) rotate(45deg); transform: translatey(-7px) rotate(45deg); } input.updraft_more_path_editing { border-color: #0285BA; } input.updraft_more_path_editing ~ a.dashicons { display: none; } div[id^="updraft_jstree_buttons_"] { padding: 10px; background: #E6E6E6; } div[id^="updraft_jstree_container_"] { height: 300px; width: 100%; overflow: auto; } div[id^="updraft_more_files_container_"] button { line-height: 20px; } button[id^="updraft_parent_directory_"] { margin: 10px 10px 4px 10px; padding-left: 3px; } button[id^="updraft_jstree_confirm_"], button[id^="updraft_jstree_cancel_"] { display: none; } input[id^="updraft_include_more_path_restore_"] { text-align: right; } .updraftplus-morefiles-row-delete, .updraftplus-morefiles-row-edit { cursor: pointer; } #updraft_include_more_paths_error { color: #DE3C3C; } p[id^="updraftplus_manual_authentication_error_"] { color: #DE3C3C; } #updraft-wrap .form-table th { width: 230px; } #updraft-wrap .form-table .existing-backups-table th { width: auto; } .updraft-viewlogdiv form { margin: 0; padding: 0; } .updraft-viewlogdiv { display: inline-block; margin-left: 4px; } .updraft-viewlogdiv input, .updraft-viewlogdiv a { border: none; background-color: transparent; color: #000; margin: 0px; padding: 3px 4px; font-size: 16px; line-height: 26px; } .updraft-viewlogdiv input:hover, .updraft-viewlogdiv a:hover { color: #FFF; cursor: pointer; } .button.button-remove { color: white; background-color: #DE3C3C; border-color: #C00000; -webkit-box-shadow: 0 1px 0 #C10100; box-shadow: 0 1px 0 #C10100; } .button.button-remove:hover, .button.button-remove:focus { border-color: #C00; color: #FFF; background: #C00; } /* button-remove colors for midnight admin theme */ body.admin-color-midnight .button.button-remove { color: #DE3C3C; background-color: #F7F7F7; border-color: #CCC; -webkit-box-shadow: 0 1px 0 #CCC; box-shadow: 0 1px 0 #CCC; } body.admin-color-midnight .button.button-remove:hover, body.admin-color-midnight .button.button-remove:focus { border-color: #BA281F; } body.admin-color-midnight .button.button-remove:focus { -webkit-box-shadow: inherit; box-shadow: inherit; -webkit-box-shadow: 0 0 3px rgba(0, 115, 170, 0.8); box-shadow: 0 0 3px rgba(0, 115, 170, 0.8); } .drag-drop #drag-drop-area2 { border: 4px dashed #DDD; height: 200px; } #drag-drop-area2 .drag-drop-inside { margin: 36px auto 0; width: 350px; } #filelist, #filelist2 { margin-top: 30px; width: 100%; } #filelist .file, #filelist2 .file, .ud_downloadstatus .file, #ud_downloadstatus2 .file, #ud_downloadstatus3 .file { padding: 1px; background: #ECECEC; border: solid 1px #CCC; margin: 4px 0; } .updraft_premium section { margin-bottom: 20px; } /* Call to action Premium */ .updraft_premium_cta { background: #FFF; margin-top: 30px; padding: 0; border-left: 4px solid #DB6A03; } .updraft_premium_cta a { font-weight: normal; } .updraft_premium_cta__action { position: relative; text-align: center; } .updraft_premium_cta a.button.button-primary.button-hero { font-size: 1.3em; letter-spacing: 0.03rem; text-transform: uppercase; margin-bottom: 7px; } .updraft_premium_cta a.button.button-primary.button-hero + small { display: block; max-width: 100%; text-align: center; color: #AFAFAF; } .updraft_premium_cta a.button.button-primary.button-hero + small .dashicons { width: 12px; height: 12px; } .updraft_premium_cta__top { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 18px 30px; } .updraft_premium_cta__bottom { background: #F9F9F9; padding: 5px 30px; } .updraft_premium_cta__summary { margin-right: 60px; } .updraft_premium_cta h2 { font-size: 28px; font-weight: 200; line-height: 1; margin: 0; margin-bottom: 5px; letter-spacing: 0.05rem; color: #DB6A03; } .updraft_premium_cta ul li::after { color: #CCC; } @media only screen and (max-width: 768px) { .updraft_premium_cta__top { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; text-align: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .updraft_premium_cta__summary { margin-right: 0; margin-bottom: 30px; } } /* Box */ .udp-box { background: #FFF; padding: 20px; -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); text-align: center; } .udp-box h3 { margin: 0; } .udp-box__heading { -ms-flex-item-align: center; align-self: center; background: none; -webkit-box-shadow: none; box-shadow: none; } /* Other Plugins */ .updraft-more-plugins { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; flex-wrap: wrap; } .updraft-more-plugins img { max-width: 80%; max-height: 30%; display: inline-block; } .updraft-more-plugins .udp-box { -webkit-box-sizing: border-box; box-sizing: border-box; width: 24%; } .updraft-more-plugins .udp-box p:last-child { margin-bottom: 0; padding-bottom: 0; } /* links list */ .updraft_premium_description_list { text-align: left; margin: 0; font-size: 12px; } ul.updraft_premium_description_list, ul#updraft_restore_warnings { list-style: disc inside; } ul.updraft_premium_description_list li { display: inline; } ul.updraft_premium_description_list li::after { content: " | "; } ul.updraft_premium_description_list li:last-child::after { content: ""; } .updraft_feature_cell { background-color: #F7D9C9 !important; padding: 5px 10px; } .updraftplus_com_login_status, .updraftplus_com_key_status { display: none; background: #FFF; border-left: 4px solid #FFF; border-left-color: #DC3232; -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1); box-shadow: 0 1px 1px 0 rgba(0,0,0,.1); margin: 5px 0 15px 0; padding: 5px 12px; } .updraftplus_com_login_status.success { border-left-color: green; } #updraft-wrap strong.success { color: green; } .updraft_feat_table { border: none; border-collapse: collapse; font-size: 120%; background-color: white; text-align: center; } .updraft_feat_th, .updraft_feat_table td { border: 1px solid #F1F1F1; border-collapse: collapse; font-size: 120%; background-color: white; text-align: center; padding: 15px; } .updraft_feat_table td { border-bottom-width: 4px; } .updraft_feat_table td:first-child { border-left: none; } .updraft_feat_table td:last-child { border-right: none; } .updraft_feat_table tr:last-child td { border-bottom: none; } .updraft_feat_table td:nth-child(2), .updraft_feat_table td:nth-child(3) { background-color: rgba(241, 241, 241, 0.38); width: 190px; } .updraft_feat_table__header td img { display: block; margin: 0 auto; } .updraft_feat_table__header td { text-align: center; } .updraft_feat_table .installed { font-size: 14px; } .updraft_feat_table p { padding: 0px 10px; margin: 5px 0px; font-size: 13px; } .updraft_feat_table h4 { margin: 5px 0px; } .updraft_feat_table .dashicons { width: 25px; height: 25px; font-size: 25px; line-height: 1; } .updraft_feat_table .dashicons-yes, .updraft_feat_table .updraft-yes { color: green; } .updraft_feat_table .dashicons-no-alt, .updraft_feat_table .updraft-no { color: red; } .updraft_tick_cell { text-align: center; } .updraft_tick_cell img { margin: 4px 0; height: 24px; } .ud_downloadstatus__close { border: none; background: transparent; width: auto; font-size: 20px; padding: 0; cursor: pointer; } #filelist .fileprogress, #filelist2 .fileprogress, .ud_downloadstatus .dlfileprogress, #ud_downloadstatus2 .dlfileprogress, #ud_downloadstatus3 .dlfileprogress { width: 0%; background: #0572AA; height: 8px; -webkit-transition: width .3s; transition: width .3s; } .ud_downloadstatus .raw, #ud_downloadstatus2 .raw, #ud_downloadstatus3 .raw { margin-top: 8px; clear: left; } .ud_downloadstatus .file, #ud_downloadstatus2 .file, #ud_downloadstatus3 .file { margin-top: 8px; } div[class^="updraftplus_downloader_container_"] { padding: 10px; } tr.updraftplusmethod h3 { margin: 0px; } tr.updraftplusmethod img { max-width: 100%; } #updraft_retain_db_rules .updraft_retain_rules_delete, #updraft_retain_files_rules .updraft_retain_rules_delete { cursor: pointer; color: red; font-size: 120%; font-weight: bold; border: 0px; border-radius: 3px; padding: 2px; margin: 0 6px; text-decoration: none; display: inline-block; } #updraft_retain_db_rules .updraft_retain_rules_delete:hover, #updraft_retain_files_rules .updraft_retain_rules_delete:hover { cursor: pointer; color: white; background: red; } #updraft_backup_started { max-width: 800px; font-size: 140%; line-height: 140%; padding: 14px; clear: left; } /* backup finished */ .blockUI.blockOverlay.ui-widget-overlay { background: #000; } .updraft_success_popup { text-align: center; padding-bottom: 30px; } .updraft_success_popup > .dashicons { font-size: 100px; width: 100px; height: 100px; line-height: 100px; padding: 0px; border-radius: 50%; margin-top: 30px; display: block; margin-left: auto; margin-right: auto; background: #E2E6E5; } .updraft_success_popup > .dashicons.dashicons-yes { text-indent: -5px; } .updraft_success_popup.success > .dashicons { color: green; } .updraft_success_popup.warning > .dashicons { color: #888; } .updraft_success_popup--message { padding: 20px; } .button.updraft-close-overlay .dashicons { text-decoration: none; font-size: 20px; margin-left: -5px; padding: 0; -webkit-transform: translatey(3px); transform: translatey(3px); } .updraft_saving_popup img { -webkit-animation-name: udp_blink; animation-name: udp_blink; -webkit-animation-duration: 610ms; animation-duration: 610ms; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-direction: alternate; animation-direction: alternate; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } .udp-premium-image { display: none; } @media screen and (min-width: 720px) { .udp-premium-image { display: block; float: left; padding-right: 5px; } } /* End stuff already in admin.php */ #plupload-upload-ui2 { width: 80%; } .backup-restored { padding: 8px; } .updated.backup-restored { padding-top: 15px; padding-bottom: 15px; } .backup-restored span { font-size: 120%; } .memory-limit { padding: 8px; } .updraft_list_errors { padding: 8px; } .updraftplus-nav-tab.nav-tab-active, .updraftplus-nav-tab.nav-tab-active:hover, .updraftplus-nav-tab.nav-tab-active:focus, .updraftplus-nav-tab.nav-tab-active:focus:active { border-bottom: 1px solid #F0F0F1; background: #F0F0F1!important; color: #000; } .updraftplus-nav-tab.nav-tab-active { margin-bottom: -1px; color: #3C434A; } .updraftplus-nav-tab.nav-tab-active, .updraftplus-nav-tab:focus:active { -webkit-box-shadow: none; box-shadow: none; } .updraftplus-nav-tab { float: left; border: 1px solid #C3C4C7; border-bottom-color: rgb(195, 196, 199); border-bottom-style: solid; border-bottom-width: 1px; border-bottom: none; margin-left: 0.5em; padding: 5px 10px; font-size: 14px; line-height: 1.71428571; font-weight: 600; background: #DCDCDE; color: #50575E; text-decoration: none; white-space: nowrap; } .nav-tab-wrapper { margin: 14px 0px; } #updraft-poplog-content { white-space: pre-wrap; } .next-backup { border: 0px; padding: 0px; margin: 0 10px 0 0; } .not-scheduled { vertical-align: top !important; margin: 0px !important; padding: 0px !important; } .next-backup .updraft_scheduled { /* width: 124px;*/ margin: 0px; padding: 2px 4px 2px 0px; } #next-backup-table-inner td { vertical-align: top; } .updraft_all-files { color: blue; } .multisite-advert-width { width: 800px; } .updraft_settings_sectionheading { margin-top: 6px; } .premium-upgrade-prompt { /* font-size: 115%; */ } section.premium-upgrade-purchase-success { padding: 2em; background: #FAFAFA; text-align: center; -webkit-box-shadow: 0px 14px 40px rgba(0, 0, 0, 0.1); box-shadow: 0px 14px 40px rgba(0, 0, 0, 0.1); } section.premium-upgrade-purchase-success h3 { font-size: 2em; color: green; } section.premium-upgrade-purchase-success h3 .dashicons { display: block; margin: 0 auto; font-size: 60px; width: 60px; height: 60px; border-radius: 50%; background: green; color: #FFF; margin-bottom: 20px; } section.premium-upgrade-purchase-success h3 .dashicons::before { display: inline-block; margin-left: -4px; margin-top: 2px; } section.premium-upgrade-purchase-success p { font-size: 120%; } .show_admin_restore_in_progress_notice { padding: 8px; } .show_admin_restore_in_progress_notice .unfinished-restoration { font-size: 120%; } #backupnow_includefiles_moreoptions, #backupnow_database_moreoptions, #backupnow_includecloud_moreoptions { margin: 4px 16px 6px 16px; border: 1px dotted; padding: 6px 10px; } #backupnow_database_moreoptions { max-height: 250px; overflow: auto; } #backupnow_database_moreoptions div.backupnow-db-tables { margin-bottom: 5px; } #backupnow_database_moreoptions div.backupnow-db-tables > a { color: #0073AA; } .form-table #updraft_activejobsrow .minimum-height { min-height: 100px; } #updraft_activejobsrow th { max-width: 112px; margin: 0; padding: 13px 0 0 0; } #updraft_lastlogmessagerow .last-message { padding-top: 20px; display: block; } .updraft_simplepie { vertical-align: top; } .download-backups { margin-top: 8px; } .download-backups .updraft_download_button { margin-right: 6px; } .download-backups .ud-whitespace-warning, .download-backups .ud-bom-warning { background-color: pink; padding: 8px; margin: 4px; border: 1px dotted; } .download-backups .ul { list-style: none inside; max-width: 800px; margin-top: 6px; margin-bottom: 12px; } #updraft-plupload-modal { margin: 16px 0; } .download-backups .upload { max-width: 610px; } .download-backups #plupload-upload-ui { width: 100%; } .ud_downloadstatus { padding: 10px 0; } #ud_massactions, #updraft-delete-waitwarning { padding: 14px; background: rgb(241, 241, 241); position: absolute; left: 0; top: 100%; } #ud_massactions > *, #updraft-delete-waitwarning > * { vertical-align: middle; } #ud_massactions .updraftplus-remove { display: inline-block; margin-right: 0; } #ud_massactions .updraftplus-remove a { text-decoration: none; } #ud_massactions .updraft-viewlogdiv a { text-decoration: none; position: relative; } small.ud_massactions-tip { display: inline-block; opacity: 0.5; font-style: italic; margin-left: 20px; } #updraft-navtab-backups-content .updraft_existing_backups { margin-bottom: 35px; position: relative; } #updraft-message-modal-innards { padding: 4px; } #updraft-authenticate-modal { text-align: center; font-size: 16px !important; } #updraft-authenticate-modal p { font-size: 16px; } div.ui-dialog.ui-widget.ui-widget-content { z-index: 99999 !important; } #updraft_delete_form p { margin-top: 3px; padding-top: 0; } #updraft_restore_form .cannot-restore { margin: 8px 0; } .notice.updraft-restore-option { padding: 12px; margin: 8px 0 4px 0; border-left-color: #CCC; } /* updraft_restore_crypteddb */ #updraft_restorer_dboptions h4 { margin: 0px 0px 6px 0px; padding: 0px; } .updraftplus_restore_tables_options_container { max-height: 250px; overflow: auto; } .updraft_debugrow th { vertical-align: top; padding-top: 6px; max-width: 140px; } .expertmode p { font-size: 125%; } .expertmode .call-wp-action { width: 300px; height: 22px; } .updraftplus-lock-advert { clear: left; max-width: 600px; } .uncompressed-data { clear: left; max-width: 600px; } .delete-old-directories { padding: 8px; padding-bottom: 12px; } .active-jobs { width: 100%; text-align: center; padding: 33px; } .job-id { margin-top: 0; margin-bottom: 8px; } .next-resumption { font-weight: bold; } .updraft_percentage { z-index: -1; position: absolute; left: 0px; top: 0px; text-align: center; background-color: #1D8EC2; -webkit-transition: width 0.3s; transition: width 0.3s; } .curstage { z-index: 1; border-radius: 2px; margin-top: 8px; width: 100%; height: 26px; line-height: 26px; position: relative; text-align: center; font-style: italic; color: #FFF; background-color: #B7B7B7; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } .curstage-info { display: inline-block; z-index: 2; } .retain-files { width: 48px; } .backup-interval-description tr td div { max-width: 670px; } #updraft-manualdecrypt-modal { width: 85%; margin: 6px; margin-left: 100px; } .directory-permissions { font-size: 110%; font-weight: bold; } .double-warning { border: 1px solid; padding: 6px; } .raw-backup-info { font-style: italic; font-weight: bold; font-size: 120%; } .updraft_existingbackup_date { width: 22%; max-width: 140px; } .updraft_existing_backups_wrapper { margin-top: 20px; border-top: 1px solid #DDD; } .updraft-no-backups-msg { padding: 10px 40px; text-align: center; font-style: italic; } .tr-bottom-4 { margin-bottom: 4px; } .existing-backups-table th { padding: 8px 10px; } .form-table .backup-date { width: 172px; } .form-table .backup-data { width: 426px; } .form-table .updraft_backup_actions { width: 272px; } .existing-date { -webkit-box-sizing: border-box; box-sizing: border-box; max-width: 140px; width: 25%; } .line-break-tr { height: 2px; padding: 1px; margin: 0px; } .line-break-td { margin: 0; padding: 0; } .td-line-color { height: 2px; background-color: #888; } .raw-backup { max-width: 140px; } .existing-backups-actions { padding: 1px; margin: 0px; } .existing-backups-border { height: 2px; padding: 1px; margin: 0px; } .existing-backups-border > td { margin: 0; padding: 0; } .existing-backups-border > div { height: 2px; background-color: #AAA; } .updraft_existing_backup_date { max-width: 140px; } .updraftplus-upload { margin-right: 6px; float: left; clear: none; } .before-restore-button { padding: 1px; margin: 0px; } .before-restore-button div { float: none; display: inline-block; } .table-separator-tr { height: 2px; padding: 1px; margin: 0px; } .table-separator-td { margin: 0px; padding: 0px; } .end-of-table-div { height: 2px; background-color: #AAA; } .last-backup-job { padding-top: 3% !important; } .line-height-03 { line-height: 0.3 !important; } .line-height-13 { line-height: 1.3 !important; } .line-height-23 { line-height: 2.3 !important; } #updraft_diskspaceused { color: #DF6926; } #updraft_delete_old_dirs_pagediv { padding-bottom: 10px; } /*#updraft_lastlogmessagerow > td, #updraft_last_backup > td { padding: 0; }*/ /* Time + scheduling add-on*/ .fix-time { width: 70px; } .retain-files { width: 70px; } .number-input { min-width: 50px; max-width: 70px; } .additional-rule-width { min-width: 60px; max-width: 70px; } /* Add-ons */ /* Want to fix the WordPress icons so that they fit inline with the text, and don't push everything out of place. */ #updraft-wrap .dashicons.dashicons-adapt-size { line-height: inherit; font-size: inherit; } #updraft-wrap .button span.dashicons:not(.dashicons-adapt-size) { vertical-align: middle; margin-top: -3px; } .addon-logo-150 { margin-left: 30px; margin-top: 33px; height: 125px; width: 150px; } .margin-bottom-50 { margin-bottom: 50px; } .premium-container { width: 80%; } /* Main Header */ .main-header { background-color: #DF6926; height: 200px; width: 100%; } .button-add-to-cart { color: white; border-color: white; float: none; margin-right: 17px; } .button-add-to-cart:hover, .button-add-to-cart:focus, .button-add-to-cart:active { border-color: #A0A5AA; color: #A0A5AA; } .addon-title { margin-top: 25px; } .addon-text { margin-top: 75px; } .image-main-div { width: 25%; float: left; } .text-main-div { width: 60%; float: left; text-align: center; color: white; margin-top: 16px; } .text-main-div-title { font-weight: bold !important; color: white; text-align: center; } .text-main-div-paragraph { color: white; } /* End main header */ /* Vault icons */ .updraftplus-vault-cta { width: 100%; text-align: center; margin-bottom: 50px; } .updraftplus-vault-cta h1 { font-weight: bold; } .updraftvault-buy { width: 225px; height: 225px; border: 2px solid #777; display: inline-table; margin: 0 auto; margin-right: 50px; position: relative; } .updraftplus-vault-cta > .vault-options > .center-vault { width: 275px; height: 275px; } .updraftplus-vault-cta > .vault-options > .center-vault > a { right: 21%; font-size: 16px; border-width: 4px !important; } .updraftplus-vault-cta > .vault-options > .center-vault > p { font-size: 16px; } .updraftvault-buy .button-purchase { right: 24%; margin-left: 0; line-height: 1.7em; } .updraftvault-buy hr { height: 2px; background-color: #777; margin-top: 18px; } .right { margin-right: 0px; } .updraftvault-buy .addon-logo-100 { height: 100px; width: 125px; margin-top: 7px; } .updraftvault-buy .addon-logo-large { margin-top: 7px; } .updraftvault-buy .button-buy-vault { font-size: 12px; color: #DF6926; border-color: #DF6926; border-width: 2px !important; position: absolute; right: 29%; bottom: 2%; } .premium-addon-div .button-purchase { line-height: 1.7em; } .updraftvault-buy .button-buy-vault:hover { border-color: darkgrey; color: darkgrey; } /* End Vault icons */ /* Premium addons */ .premium-addons { margin-top: 80px; width: 100%; margin: 0 auto; display: table; } .addon-list { /* margin-left: 32px; */ display: table; text-align: center; } .premium-addons h1 { text-align: center; font-weight: bold; } .premium-addons p { text-align: center; } .premium-addons .premium-addon-div { width: 200px; height: 250px; border: 2px solid #777; display: inline-table; margin: 0 auto; margin-right: 25px; margin-top: 25px; text-align: center; position: relative; } .premium-addons .premium-addon-div p { margin-left: 2px; margin-right: 2px; } .premium-addons .premium-addon-div img { width: auto; height: 50px; margin-top: 7px; } .premium-addons .premium-addon-div .hr-alignment { margin-top: 44px; } .premium-addons .premium-addon-div .dropbox-logo { height: 39px; width: 150px; } .premium-addons .premium-addon-div .azure-logo, .premium-addons .premium-addon-div .onedrive-logo { width: 75%; height: 24px; } .button-purchase { font-size: 12px; color: #DF6926; border-color: #DF6926; border-width: 2px !important; position: absolute; right: 25%; bottom: 2%; } .button-purchase:hover { color: darkgrey; border-color: darkgrey; } .premium-addons .premium-addon-div hr { height: 2px; background-color: #777; margin-top: 18px; } .premium-addon-div p { font-style: italic; } .addon-list > .premium-addon-div > .onedrive-fix, .addon-list > .premium-addon-div > .azure-logo { margin-top: 33px; } .addon-list > .premium-addon-div > .dropbox-fix { margin-top: 18px; } /* End premium addons */ /* Forgotton something (that is the name of the div rather than a mental note!) */ .premium-forgotton-something { margin-top: 5%; } .premium-forgotton-something h1 { text-align: center; font-weight: bold; } .premium-forgotton-something p { text-align: center; font-weight: normal; } .premium-forgotton-something .button-faq { color: #DF6926; border-color: #DF6926; margin: 0 auto; display: table; } .premium-forgotton-something .button-faq:hover { color: #777; border-color: #777; } /* End of forgotton something */ .updraftplusmethod.updraftvault #vaultlogo { padding-left: 40px; } .updraftplusmethod.updraftvault .vault_primary_option { float: left; width: 50%; text-align: center; padding-bottom: 20px; } .updraftplusmethod.updraftvault .vault_primary_option div { clear: right; padding-top: 20px; } .updraftplusmethod.updraftvault .clear-left { clear: left; } .updraftplusmethod.updraftvault .padding-top-20px { padding-top: 20px; } .updraftplusmethod.updraftvault .padding-top-14px { padding-top: 14px; } .updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary, .updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary { font-size: 18px !important; } .updraftplusmethod.updraftvault #updraftvault_showoptions, .updraftplusmethod.updraftvault #updraftvault_connect { margin-top: 8px; } .updraftplusmethod.updraftvault #updraftvault_settings_connect input { margin-right: 10px; } .updraftplusmethod.updraftvault #updraftvault_email { width: 280px; } .updraftplusmethod.updraftvault #updraftvault_pass { width: 200px; } .updraftplusmethod.updraftvault #vault-is-connected { margin: 0; padding: 0; } .updraftplusmethod.updraftvault #updraftvault_settings_default p { clear: left; } .updraftplusmethod.updraftvault .vault-purchase-option-container { text-align: center; } .updraftplusmethod.updraftvault .vault-purchase-option { width: 40%; text-align: center; padding-top: 20px; display: inline-block; } .updraftplusmethod.updraftvault .vault-purchase-option-size { font-size: 200%; font-weight: bold; } .updraftplusmethod.updraftvault .vault-purchase-option-link { clear: both; font-size: 150%; } .updraftplusmethod.updraftvault .vault-purchase-option-or { clear: both; font-size: 115%; font-style: italic; } /* Automation Backup Advert by B */ .autobackup-image { /* display: inline-block; */ /* min-width: 10%; max-width:25%;*/ /* float: left;*/ clear: left; float: left; width: 110px; height: 110px; } .autobackup-description { width: 100%; } .advert-description { float: left; clear: right; padding: 4px 10px 8px 10px; width: 70%; clear: right; vertical-align: top; } .advert-btn { display: inline-block; min-width: 10%; vertical-align: top; margin-bottom: 8px; } .advert-btn:first-of-type { margin-top: 25px; } .advert-btn a { display: block; cursor: pointer; } a.btn-get-started { background: #FFF; border: 2px solid #DF6926; border-radius: 4px; color: #DF6926; display: inline-block; margin-left: 10px !important; margin-bottom: 7px !important; font-size: 18px !important; line-height: 20px; min-height: 28px; padding: 11px 10px 5px 10px; text-transform: uppercase; text-decoration: none; } .circle-dblarrow { border: 1px solid #DF6926; border-radius: 100%; display: inline-block; font-size: 17px; line-height: 17px; margin-left: 5px; width: 20px; height: 20px; text-align: center; } /* End Automation Backup Advert by B */ /* New Responsive Pretty Advanced Settings */ .expertmode .advanced_settings_container { height: auto; overflow: hidden; } .expertmode .advanced_settings_container .advanced_settings_menu { float: none; border-bottom: 1px solid rgb(204, 204, 204); } .expertmode .advanced_settings_container .advanced_settings_content { padding-top: 5px; float: none; width: auto; overflow: auto; } .expertmode .advanced_settings_container .advanced_settings_content h3:first-child { margin-top: 5px !important; } .expertmode .advanced_settings_container .advanced_settings_content .advanced_tools { display: none; } .expertmode .advanced_settings_container .advanced_settings_content .site_info { display: block; } .expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button { display: inline-block; cursor: pointer; padding: 5px; color: #000; } .expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text { font-size: 16px; } .expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover { background-color: #EAEAEA; } .expertmode .advanced_settings_container .advanced_settings_menu .active { background-color: #3498DB; color: #FFF; } .expertmode .advanced_settings_container .advanced_settings_menu .active:hover { background-color: #72C5FD; color: #FFF; } .expertmode .advanced_settings_container .advanced_settings_content input#import_settings { height: auto !important; } div#updraft-wrap a { cursor: pointer !important; } .updraftcentral_wizard_option { width: 45%; float: left; text-align: center; } .updraftcentral_wizard_option label { margin-bottom: 8px; } #updraftcentral_keys_table { display: none; } .create_key_container { border: 1px solid; border-radius: 4px; padding: 0 0 6px 6px; margin-bottom: 8px; } .updraftcentral_cloud_connect { border-radius: 4px; border: 1px solid #000; padding: 0 20px; margin-top: 30px; background-color: #FFF; } .updraftcentral_cloud_error { border: 1px solid #000; padding: 3px 10px; border-left: 3px solid #F00; background-color: #FFF; margin-bottom: 10px; } .updraftcentral_cloud_info { border: 1px solid #000; padding: 3px 10px; border-left: 3px solid #EF8F31; background-color: #FFF; margin-bottom: 10px; } .updraftplus_spinner.spinner { padding-left: 25px; float: none; } .updraftplus_spinner.spinner.visible { visibility: visible; width: auto; } .updraftcentral_cloud_notices .updraftplus_spinner { margin-top: -5px; } .updraftcentral-subheading { font-size: 14px; margin-top: -10px; margin-bottom: 20px; } #updraftcentral_cloud_form input#email, #updraftcentral_cloud_form input#password { min-width: 250px; } .updraftcentral-data-consent { font-size: 13px; margin-bottom: 10px; } .updraftcentral_cloud_wizard_image { float: left; min-width: 100px; margin-right: 25px; } .updraftcentral_cloud_wizard { float: left; } .updraftcentral_cloud_clear { clear: both; } .updraftplus-settings-footer { margin-top: 30px; } .updraftplus-top-menu { padding: 0.5em; } #updraft_inpage_backup #updraft_activejobs_table { background: transparent; } #updraft_inpage_backup #updraft_lastlogmessagerow .updraft-log-link { float: none; } #updraft_inpage_backup #updraft_activejobsrow .updraft_row { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; padding-left: 20px; padding-right: 20px; } #updraft_inpage_backup #updraft_activejobsrow .updraft_progress_container { width: 100%; } #updraft_inpage_backup #updraft_activejobs_table { overflow: inherit; } #updraft_inpage_backup span#updraft_lastlogcontainer { padding: 18px; background: #FAFAFA; display: block; font-size: 90%; -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1); box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1); } #updraft_inpage_backup div#updraft_activejobsrow { background: #FAFAFA; -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1); box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1); } #updraft_inpage_backup #updraft_lastlogmessagerow > div { background: transparent; padding: 0; } #updraft_inpage_backup .last-message > strong { display: block; margin-top: 13px; } body.update-core-php #updraft_inpage_backup h2:nth-child(1) { margin-top: 1em !important; } /* Restoration page */ .updraft_restore_container { display: block; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 99999; padding-top: 30px; background: #F1F1F1; overflow: auto; } .updraft-modal-is-opened .select2-container { z-index: 99999; } body.updraft-modal-is-opened { overflow: hidden; } .updraft_restore_container h2 { margin: 0; } .updraft_restore_container .updraftmessage { -webkit-box-sizing: border-box; box-sizing: border-box; max-width: 860px; margin-left: auto; margin-right: auto; } .updraft_restore_main { max-width: 860px; margin: 0 auto; margin-top: 20px; background: #FFF; -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-sizing: border-box; box-sizing: border-box; } .updraft_restore_main--header { font-size: 20px; font-weight: bold; text-align: center; padding-top: 16px; line-height: 20px; width: 100%; max-width: 100%; padding-right: 30px; padding-left: 30px; -webkit-box-sizing: border-box; box-sizing: border-box; } .updraft_restore_main--activity { position: relative; width: calc(100% - 350px); -webkit-box-sizing: border-box; box-sizing: border-box; } .updraft_restore_main--activity-title { padding: 20px; margin: 0; } .show-credentials-form.updraft_restore_main .updraft_restore_main--activity-title { display: none; } .updraft_restore_main--components { width: 350px; padding: 20px; -webkit-box-sizing: border-box; box-sizing: border-box; background: #F8F8F8; min-height: 350px; } .updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output { background: #23282D; color: #E3E3E3; font-family: monospace; padding: 19px; overflow: auto; position: absolute; top: 60px; bottom: 0; right: 0; left: 0; } #updraftplus_ajax_restore_output form { white-space: normal; font-family: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue", sans-serif; } #updraftplus_ajax_restore_output .updraft_restore_errors { border: 1px solid #DC3232; padding: 10px 20px; white-space: normal; } .updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output h2 { color: #00A0D2; padding-top: 10px; padding-bottom: 5px; } .updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output { padding: 20px; border-left: 1px solid #EEE; } .updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output #message { margin-left: 0; margin-right: 0; } .updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table td, .updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table th { padding-bottom: 0; } .updraft_restore_main.show-credentials-form .updraft_restore_main--components { opacity: 0.2; } .updraft_restore_main.show-credentials-form div.error .restore-credential-errors--list p { margin: 0; list-style-type: disc; display: list-item; list-style-position: inside; } .restore-credential-errors > :first-child { margin-top: 0; } .restore-credential-errors > :last-child { margin-bottom: 0; } ul.updraft_restore_components_list li { color: #BABABA; font-size: 1.2em; margin-bottom: 1em; } ul.updraft_restore_components_list li::before { content: '\f469'; font-family: dashicons; font-size: 20px; vertical-align: middle; display: inline-block; margin-right: 7px; } ul.updraft_restore_components_list li span { vertical-align: middle; } ul.updraft_restore_components_list li.done { color: green; } ul.updraft_restore_components_list li.done::before { content: "\f147"; } ul.updraft_restore_components_list li.active { color: inherit; } ul.updraft_restore_components_list li.active::before { content: "\f463"; -webkit-animation: udp_rotate 1s linear infinite; animation: udp_rotate 1s linear infinite; } ul.updraft_restore_components_list li.error { color: #DC3232; } ul.updraft_restore_components_list li.error::before { content: "\f335"; } .updraft_restore_result { padding: 10px 0; font-size: 1.3em; margin-bottom: 1em; vertical-align: middle; display: none; } .updraft_restore_result.restore-error { color: #DC3232; } .updraft_restore_result.restore-success { color: green; } .updraft_restore_result .dashicons { font-size: 35px; height: 35px; line-height: 33px; width: 35px; } .updraft_restore_result span { vertical-align: middle; } /* Restore modal */ #updraft-restore-modal { width: 100%; } div#updraft-restore-modal .notice { background: #F8F8F8; } .updraft-restore-modal--stage .updraft--two-halves, .updraft-restore-modal--stage .updraft--one-half { padding: 20px 30px; } .updraft-restore-modal--header { padding: 20px; padding-bottom: 0px; text-align: center; border-bottom: 1px solid #EEE; } .updraft-restore-modal--header h3 { margin: 0; padding: 0; } .updraft-restore-item { padding-bottom: 4px; } .updraft-restore-buttons { padding-top: 10px; } ul.updraft-restore--stages { display: inline-block; margin: 0; height: 28px; } ul.updraft-restore--stages li { display: inline-block; position: relative; width: 12px; height: 12px; background: #D2D2D2; border-radius: 20px; line-height: 1; margin: 0 4px; vertical-align: middle; } ul.updraft-restore--stages li.active { background: #444; } .updraft-restore--footer { border-top: 1px solid #EEE; padding: 20px; text-align: center; position: sticky; bottom: 0; background: #FFF; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; } .updraft-restore--footer .updraft-restore--cancel { position: absolute; left: 20px; top: auto; } .updraft-restore--footer .updraft-restore--next-step { position: absolute; right: 20px; top: auto; } ul.updraft-restore--stages li span { position: absolute; width: 120px; bottom: calc(100% + 14px); left: -55px; background: rgba(0,0,0,0.85882); padding: 5px; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: 4px; color: #FFF; text-align: center; display: none; } ul.updraft-restore--stages li:hover span { display: inline-block; } .updraft-restore-item input[type=checkbox] { margin-bottom: -5px; } .updraft-restore-item input[type=checkbox]:checked + label { font-weight: bold; } /* Hide close button on download window */ div#updraft-restore-modal .ud_downloadstatus__close { display: none; } #ud_downloadstatus2:not(:empty) { margin-top: 15px; } .dashicons.rotate { -webkit-animation: udp_rotate 1s linear infinite; animation: udp_rotate 1s linear infinite; } /* Activity stalled */ span#updraftplus_ajax_restore_last_activity { font-size: .8rem; font-weight: normal; float: right; } .updraft_restore_main--components .updated.show_admin_restore_in_progress_notice { margin: -20px -20px 20px; padding: 19px; } .updraft_restore_main--components .updated.show_admin_restore_in_progress_notice button { margin-right: 5px; } #updraft_migrate_receivingsites .updraftplus-remote-sites-selector .button-primary, .updraft_migrate_add_site .input-field input, .updraft_migrate_add_site button { vertical-align: middle; } #updraft_migrate_receivingsites .text-link-menu a:not(:last-child) { padding-right: 10px; } #updraft_migrate_receivingsites a.updraft_migrate_clear_sites span.dashicons-trash:before { font-size: 17px; } #updraft_migrate_receivingsites .updraft_migrate_add_site { clear: both; } /* RTL Support */ .rtl .advanced_tools.total_size table td { direction: ltr; text-align: right; } .rtl #plupload-upload-ui2.drag-drop #drag-drop-area2 { margin-bottom: 20px; } .rtl #updraft_lastlogmessagerow .updraft-log-link { float: left; } .rtl label.updraft_checkbox > input[type=checkbox] { margin-right: -25px; margin-left: inherit; } .rtl .ud_downloadstatus__close { float: left !important; } .rtl #updraft_backupextradbs_another_container { float: right; } .rtl input.labelauty + label { direction: ltr; position: relative; min-height: 29px; } .rtl input.labelauty + label > span.labelauty-checked-image, .rtl input.labelauty + label > span.labelauty-unchecked-image { right: 8px; top: 11px; position: absolute; } .rtl .button.updraft-close-overlay .dashicons { margin-right: -5px; margin-left: inherit; } .rtl label.updraft_checkbox { margin-right: 26px; margin-left: inherit; } .rtl #updraft-wrap .udp-info { left: 10px; right: inherit; } .rtl input.labelauty + label > span.labelauty-unchecked-image + span.labelauty-unchecked, .rtl input.labelauty + label > span.labelauty-checked-image + span.labelauty-checked { margin-right: 7px; margin-left: inherit; padding: 7px 7px 7px 26px; width: 141px; text-align: right; } .rtl #updraft_report_cell button.updraft_reportbox_delete, .rtl .updraft_box_delete_button, .rtl .updraft_small_box .updraft_box_delete_button { left: 4px; right: inherit; } #updraft_exclude_modal .clause-input-container { overflow: auto; } #updraft_exclude_modal .clause-input-container select, #updraft_exclude_modal .clause-input-container input { float: left; } #updraft_exclude_modal .clause-input-container .wildcards-input { margin: 7px 7px 0 0; } #updraft_exclude_modal .updraft-exclude-panel .contain-clause-sub-label { margin-top: 10px; display: block; } /* UpdraftPlus Notice Styling */ .udp-notice { border: 1px solid #C3C4C7; border-left-width: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .04); box-shadow: 0 1px 1px rgba(0, 0, 0, .04); background: #FFF; margin: 5px 0 15px 0; padding: 1px 12px; } .udp-notice p { margin: .5em 0; padding: 2px; } .udp-notice.notice-warning { border-left-color: #DBA617; } .udp-notice.notice-error { border-left-color: #D63638; } .udp-notice.updraft-restore-option { border-left-color: #CCC; margin: 8px 0 4px 0; padding: 12px; } div#updraft-restore-modal .udp-notice, .udp-notice.updraft-restore-option { background: #F8F8F8; } @media only screen and (min-width: 1024px) { #updraft_activejobsrow .updraft_row { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; } #updraft_activejobsrow .updraft_row .updraft_col { -webkit-box-flex: 1; -ms-flex: auto; flex: auto; } #updraft_activejobsrow .updraft_progress_container { width: calc(100% - 230px); } } @media only screen and (min-width: 782px) { .settings_page_updraftplus input[type=text], .settings_page_updraftplus input[type=password], .settings_page_updraftplus input[type=number] { /* border-radius: 4px; */ line-height: 1.42; /* border: 1px solid #CCC; */ height: 27px; padding: 2px 6px; color: #555; } .settings_page_updraftplus input[type="number"] { height: 31px; } #ud_massactions.active, #updraft-delete-waitwarning.active { position: fixed; bottom: 0; left: 160px; right: 0; top: auto; background: #FFF; z-index: 3; -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); } .rtl #ud_massactions.active, .rtl #updraft-delete-waitwarning.active { left: 0px; right: 160px; } body.folded #ud_massactions.active, body.folded #updraft-delete-waitwarning.active { left: 36px; } .updraft-after-form-table { margin-left: 250px; } #updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.range-selection:not(.backuprowselected) .updraft_existingbackup_date .backup_date_label { color: #FFF; } } @media only screen and (min-width: 782px) and (max-width: 960px) { body.auto-fold #ud_massactions.active, body.auto-fold #updraft-delete-waitwarning.active { left: 36px; } } @media only screen and (max-width: 782px) { #updraft-wrap { margin-right: 0; } #updraft-wrap .form-table td { padding-right: 0; } label.updraft_checkbox { margin-bottom: 8px; margin-top: 8px; margin-left: 36px; } .updraft_retain_rules { position: relative; margin-right: 0; border: 1px solid #CCC; padding: 5px; margin-bottom: -1px; } .updraft_retain_rules_delete { position: absolute; right: 0; top: 5px; } a[id*=updraft_retain_] { display: block; padding: 15px 15px 15px 0; } label.updraft_checkbox > input[type=checkbox] { margin-left: -33px; } #updraft-backupnow-button { margin: 0; display: block; width: 100%; } .updraft_next_scheduled_backups_wrapper > .updraft_backup_btn_wrapper { padding-top: 0; } #ud_massactions, #updraft-delete-waitwarning { width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; } #ud_massactions.active { position: fixed; top: auto; bottom: 0; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; -webkit-box-shadow: 0 -3px 15px rgba(0, 0, 0, 0.08); box-shadow: 0 -3px 15px rgba(0, 0, 0, 0.08); background: #FFF; z-index: 3; } #ud_massactions strong { display: block; margin-bottom: 5px; } small.ud_massactions-tip { display: block; } /* .advert-description { min-width: 75%; margin-bottom: 5px; } .advert-btn { margin-top: 15px; margin-left:86px; min-width: 100%; }*/ .existing-backups-table .backup_date_label > div, .existing-backups-table .backup_date_label span > div { font-weight: normal; } .existing-backups-table .backup_date_label .clear-right { display: inline-block; } table.widefat.existing-backups-table { border: 0; -webkit-box-shadow: none; box-shadow: none; background: transparent; } .existing-backups-table thead { border: none; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; padding: 0; margin: 0; } .existing-backups-table tr { display: block; margin-bottom: .625em; padding-bottom: 16.625px; width: 100%; padding: 0; margin: 0; margin-bottom: 10px; background: #FFF; -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1); } .existing-backups-table td { border-bottom: 1px solid #DDD; display: block; font-size: .9em; text-align: left; width: 100%; padding: 10px; margin: 0; } .wp-list-table.existing-backups-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before { /* * aria-label has no advantage, it won't be read inside a table content: attr(aria-label); */ content: attr(data-label); font-weight: bold; display: block; position: relative; left: auto; padding-bottom: 10px; width: auto; text-align: left; } .existing-backups-table td:last-child { border-bottom: 0; } .form-table td.updraft_existingbackup_date { width: inherit; max-width: 100%; } .existing-backups-table td.before-restore-button { min-height: 36px; } .updraft_next_scheduled_backups_wrapper { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .updraft_next_scheduled_backups_wrapper > div { width: 100%; } .updraft_progress_container { /* width: 77%; */ } #updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row { position: relative; } #updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected { background-color: #FFF; border-left: 4px solid #0572AA; } #updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td:not(.backup-select) { margin-left: 50px; } #updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td.backup-select { width: 50px !important; position: absolute; left: 0; top: 0; -webkit-box-sizing: border-box; box-sizing: border-box; height: 100%; z-index: 1; border: none; border-right: 1px solid rgba(0, 0, 0, 0.05); } #updraft-navtab-backups-content .updraft_existing_backups input[type="checkbox"] { height: 25px; } .updraft_migrate_intro button.button.button-primary.button-hero { display: block; margin-right: 0; width: 100%; max-width: 100%; } .updraftclone-main-row { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .updraftclone-main-row > div { width: auto; max-width: none; margin-right: 0; margin-bottom: 10px; } .form-table th { padding-bottom: 10px; } .updraft--flex { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .updraft_restore_main { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } .updraft_restore_main--components { width: 100%; min-height: 0; } .updraft_restore_main--activity { width: 100%; } div#updraftplus_ajax_restore_output, .updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output { position: relative; top: 0; bottom: auto; } .updraft--flex > .updraft--two-halves, .updraft--flex > .updraft--one-half { width: 100%; } .updraft-restore-item { padding-bottom: 10px; padding-top: 10px; } } @media screen and (max-width: 600px) { .updraft_next_scheduled_backups_wrapper > div { } .updraft_next_scheduled_entity { float: none; width: 100%; margin-bottom: 2em; } .updraft_time_now_wrapper { margin-top: 0; } #updraft_lastlogmessagerow h3 { margin-bottom: 5px; } #updraft_lastlogmessagerow .updraft-log-link { display: block; float: none; margin: 0; margin-bottom: 10px; } } @media screen and (max-width: 520px) { } @media only screen and (min-width: 768px) { .addon-activation-notice { left: 20em; } .existing-backups-table tbody tr.range-selection:hover, .existing-backups-table tbody tr.range-selection { background: #0572AA; /* #2b7fd9 */ } .existing-backups-table tbody tr:hover { background: #F1F1F1; } .existing-backups-table tbody tr td.before-restore-button { position: relative; } .form-table .existing-backups-table thead th.check-column { padding-left: 6px; } .existing-backups-table tr td:first-child { border-left: 4px solid transparent; } .existing-backups-table tr.backuprowselected td:first-child { border-left-color: #0572AA; } } @media screen and (min-width: 670px) { .expertmode .advanced_settings_container .advanced_settings_menu { float: left; width: 215px; border-right: 1px solid rgb(204, 204, 204); border-bottom: none; } .expertmode .advanced_settings_container .advanced_settings_content { padding-left: 10px; padding-top: 0px; } .expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button { display: block; } } @media only screen and (max-width: 1068px) { .updraft-more-plugins .udp-box { width: calc(50% - 10px); margin-bottom: 20px; } .updraft_feat_table td:nth-child(2), .updraft_feat_table td:nth-child(3) { width: 100px; } } @media only screen and (max-width: 600px) { .updraft-more-plugins .udp-box { width: 100%; margin-bottom: 20px; } .updraft_feat_table td:nth-child(2), .updraft_feat_table td:nth-child(3) { width: auto; } table.updraft_feat_table { display: block; } table.updraft_feat_table tr { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } table.updraft_feat_table td { display: block; } table.updraft_feat_table td:first-child { width: 100%; border-bottom: none; } table.updraft_feat_table td:not(:first-child) { width: 50%; -webkit-box-sizing: border-box; box-sizing: border-box; } table.updraft_feat_table td:first-child:empty { display: none; } td[data-colname]::before { content: attr(data-colname); font-size: 0.8rem; color: #CCC; line-height: 1; } } css/updraftplus-admin-1-24-6.min.css000064400000201765147400355670013041 0ustar00@-webkit-keyframes udp_blink{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:.4;-webkit-transform:scale(0.85);transform:scale(0.85)}}@keyframes udp_blink{from{opacity:1;-webkit-transform:scale(1);transform:scale(1)}to{opacity:.4;-webkit-transform:scale(0.85);transform:scale(0.85)}}@-webkit-keyframes udp_rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes udp_rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.max-width-600{max-width:600px}.max-width-700{max-width:700px}.width-900{max-width:900px}.width-80{width:80%}.updraft--flex{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft--flex>*{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box}.updraft--flex>.updraft--one-half{width:50%;-webkit-box-flex:1;-ms-flex:auto;flex:auto}.updraft--flex>.updraft--two-halves{width:100%;-webkit-box-flex:1;-ms-flex:auto;flex:auto}.updraft-file-ready-label{padding:5px}.updraft-color--very-light-grey{background:#f8f8f8}.no-decoration{text-decoration:none}.bold{font-weight:bold}.center-align-td{text-align:center}.remove-padding{padding:0 !important}.updraft-text-center{text-align:center}.autobackup{padding:6px;margin:8px 0}ul .disc{list-style:disc inside}.dashicons-log-fix{display:inherit}.udpdraft__lifted{-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#updraft-wrap a .dashicons{text-decoration:none}.updraft-field-description,table.form-table td p.updraft-field-description{font-size:90%;line-height:1.2;font-style:italic;margin-bottom:5px}label.updraft_checkbox{display:block;margin-bottom:4px;margin-left:26px}label.updraft_checkbox>input[type=checkbox]{margin-left:-25px}div[id*="updraft_include_"]{margin-bottom:9px}.settings_page_updraftplus input[type="file"]{border:0}.settings_page_updraftplus .wipe_settings{padding-bottom:10px}.settings_page_updraftplus input[type="text"]{font-size:14px}.settings_page_updraftplus select{border-radius:4px;max-width:100%}input.updraft_input--wide,textarea.updraft_input--wide{max-width:442px;width:100%}#updraft-wrap .button-large{font-size:1.3em}.main-dashboard-buttons{border-width:4px;border-radius:12px;letter-spacing:0;font-size:17px;font-weight:bold;padding-left:.7em;padding-right:2em;padding:.3em 1em;line-height:1.7em;background:transparent;position:relative;border:2px solid;-webkit-transition:all .2s;transition:all .2s;vertical-align:baseline;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;line-height:1.3em;margin-left:.3em;text-transform:none;line-height:1;text-decoration:none}.button-restore{border-color:#629ec0;color:#629ec0}.button-ud-google{text-decoration:none !important;-webkit-transition:background-color .3s,-webkit-box-shadow .3s;transition:background-color .3s,-webkit-box-shadow .3s;transition:background-color .3s,box-shadow .3s;transition:background-color .3s,box-shadow .3s,-webkit-box-shadow .3s;padding:12px 16px 12px 42px !important;border:0;border-radius:3px;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.25);box-shadow:0 -1px 0 rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.25);color:#757575;font-size:14px;font-weight:500;font-family:"Roboto";background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTcuNiA5LjJsLS4xLTEuOEg5djMuNGg0LjhDMTMuNiAxMiAxMyAxMyAxMiAxMy42djIuMmgzYTguOCA4LjggMCAwIDAgMi42LTYuNnoiIGZpbGw9IiM0Mjg1RjQiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik05IDE4YzIuNCAwIDQuNS0uOCA2LTIuMmwtMy0yLjJhNS40IDUuNCAwIDAgMS04LTIuOUgxVjEzYTkgOSAwIDAgMCA4IDV6IiBmaWxsPSIjMzRBODUzIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNNCAxMC43YTUuNCA1LjQgMCAwIDEgMC0zLjRWNUgxYTkgOSAwIDAgMCAwIDhsMy0yLjN6IiBmaWxsPSIjRkJCQzA1IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNOSAzLjZjMS4zIDAgMi41LjQgMy40IDEuM0wxNSAyLjNBOSA5IDAgMCAwIDEgNWwzIDIuNGE1LjQgNS40IDAgMCAxIDUtMy43eiIgZmlsbD0iI0VBNDMzNSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PHBhdGggZD0iTTAgMGgxOHYxOEgweiIvPjwvZz48L3N2Zz4=);background-color:#FFF;background-repeat:no-repeat;background-position:12px 11px}.button-ud-google:hover{-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.25);box-shadow:0 -1px 0 rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.25)}.button-ud-google:active{background-color:#EEE}.button-ud-google:focus{outline:0;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.25),0 0 0 3px #c8dafc;box-shadow:0 -1px 0 rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.25),0 0 0 3px #c8dafc}.button-ud-google:disabled{-webkit-filter:grayscale(100%);filter:grayscale(100%);background-color:#ebebeb;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.25);box-shadow:0 -1px 0 rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.25);cursor:not-allowed}.dashboard-main-sizing{border-width:4px;width:190px;line-height:1.7em}p.updraftplus-option{margin-top:0;margin-bottom:5px}p.updraftplus-option-inline{display:inline-block;padding-right:20px}span.updraftplus-option-label{display:block}#updraft-navtab-migrate-content .postbox{padding:18px}.updraftclone-main-row{display:-webkit-box;display:-ms-flexbox;display:flex}.updraftclone-tokens{background:#f5f5f5;padding:20px;border-radius:10px;margin-right:20px;max-width:300px}.updraftclone-tokens p{margin:0}.updraftclone_action_box{background:#f5f5f5;padding:20px;border-radius:10px;-webkit-box-flex:1;-ms-flex:1;flex:1}.updraftclone_action_box p:first-child{margin-top:0}.updraftclone_action_box p:last-child{margin-bottom:0}.updraftclone_action_box #ud_downloadstatus3{margin-top:10px}span.tokens-number{font-size:46px;display:block}.button.updraft_migrate_widget_temporary_clone_show_stage0{display:none;position:absolute;right:0;top:0;height:100%;border-left:1px solid #CCC;padding-left:10px;padding-right:10px}.updraft_migrate_widget_temporary_clone_stage0_container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.updraft_migrate_widget_temporary_clone_stage0_box{margin-right:20px;width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.updraft_migrate_widget_temporary_clone_stage0_box iframe,.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js{float:none}@media(min-width:1024px){.updraft_migrate_widget_temporary_clone_stage0_container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft_migrate_widget_temporary_clone_stage0_box{-ms-flex-preferred-size:45%;flex-basis:45%}.updraft_migrate_widget_temporary_clone_stage0_box iframe,.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js{float:right}}.updraft_migrate_widget_temporary_clone_show_stage0 .dashicons{text-decoration:none;font-size:20px}.opened .button.updraft_migrate_widget_temporary_clone_show_stage0{display:inline-block}.opened .updraft_migrate_widget_temporary_clone_stage0{background:#f5f5f5;padding:20px;border-radius:8px;margin-bottom:21px}.clone-list{clear:both;width:100%;margin-top:40px}.clone-list table{width:100%;text-align:left}.clone-list table tr th{background:#e4e4e4}.clone-list table tr td{background:#f5f5f5;word-break:break-word}.clone-list table tr:nth-child(odd) td{background:#fafafa}.clone-list table td,.clone-list table th{padding:6px}.updraftplus-clone .updraft_row{padding-left:0;padding-right:0}button#updraft_migrate_createclone+.updraftplus_spinner{margin-top:13px}.button.button-hero.updraftclone_show_step_1{white-space:normal;height:auto;line-height:14px;padding-top:10px;padding-bottom:10px}.button.button-hero.updraftclone_show_step_1 span.dashicons{height:auto}.updraftplus_clone_status{color:red}a.updraft_migrate_add_site--trigger span.dashicons{text-decoration:none}.button-restore:hover,.button-migrate:hover,.button-backup:hover,.button-view-log:hover,.button-mass-selectors:hover,.button-delete:hover,.button-entity-backup:hover,.udp-button-primary:hover{border-color:#df6926;color:#df6926}.button-migrate{color:#eea920;border-color:#eea920}#updraft_migrate_tab_main{padding:8px}.updraft_migrate_widget_module_content{background:#FFF;border-radius:0;position:relative}body.js #updraft_migrate .updraft_migrate_widget_module_content{display:none}.updraft_migrate_widget_module_content>h3,div[class*="updraft_migrate_widget_temporary_clone_stage"]>h3{margin-top:0}.updraft_migrate_widget_module_content header,#updraft_migrate_tab_alt header{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-line-pack:center;align-content:center;justify-items:center;margin-top:-18px;margin-left:-18px;margin-right:-18px;margin-bottom:15px;border-bottom:1px solid #CCC}.updraft_migrate_widget_module_content header h3,.updraft_migrate_widget_module_content header button.button.close,#updraft_migrate_tab_alt header h3,#updraft_migrate_tab_alt header button.button.close{padding:10px;line-height:20px;height:auto;margin:0}.updraft_migrate_widget_module_content button.button.close,#updraft_migrate_tab_alt button.button.close{text-decoration:none;padding-left:5px;border-right:1px solid #CCC}.updraft_migrate_widget_module_content button.button.close .dashicons,#updraft_migrate_tab_alt button.button.close .dashicons{margin-top:1px}.updraft_migrate_widget_module_content header h3,#updraft_migrate_tab_alt header h3{margin:0}.updraft_migrate_intro button.button.button-primary.button-hero{max-width:235px;word-wrap:normal;white-space:normal;line-height:1;height:auto;padding-top:13px;padding-bottom:13px;text-align:left;position:relative;margin-right:10px;margin-bottom:10px}.updraft_migrate_intro button.button.button-primary.button-hero .dashicons{position:absolute;left:10px;top:calc(50% - 8px)}#updraft_migrate_tab_alt #updraft_migrate_send_existing_button{margin-right:6px}#updraft_migrate .ui-widget-content a{color:#1c94c4}#updraft-wrap .ui-accordion .ui-accordion-header{background:#f6f6f6;margin:0;border-radius:0;padding-left:.5em;padding-right:.7em}#updraft-wrap .ui-widget{font-family:inherit}.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-w{background-position:-96px 0}.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-s{background-position:-64px 0}#updraft-wrap .ui-accordion .ui-accordion-header .ui-accordion-header-icon{left:auto;right:5px}#updraft-wrap .ui-accordion .ui-accordion-header:focus{outline:0;-webkit-box-shadow:0 0 0 1px rgba(91,157,217,0.22),0 0 2px 1px rgba(30,140,190,0.3);box-shadow:0 0 0 1px rgba(91,157,217,0.22),0 0 2px 1px rgba(30,140,190,0.3);background:#FFF}#updraft-wrap .ui-accordion .ui-accordion-header:focus .dashicons{color:#0572aa;opacity:1}#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active{background:#f6f6f6;border-bottom:2px solid #0572aa;-webkit-box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3);box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3)}#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active:focus{-webkit-box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#updraft-wrap .ui-accordion .ui-accordion-header:not(:first-child){border-top:0}#updraft-wrap .ui-accordion .ui-accordion-header .dashicons{opacity:.4;margin-right:10px}#updraft-wrap .ui-accordion .ui-accordion-header:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);z-index:1}button.ui-dialog-titlebar-close:before{content:none !important}.updraft_next_scheduled_backups_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;background:#FFF;justify-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft_next_scheduled_backups_wrapper>div{width:50%;background:#FFF;height:auto;padding:33px;-webkit-box-sizing:border-box;box-sizing:border-box}.updraft_backup_btn_wrapper{text-align:center;border-left:1px solid #f1f1f1;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.incremental-backups-only{display:none}.incremental-free-only{display:none}.incremental-free-only p{padding:5px;background:rgba(255,0,0,0.06);border:1px solid #bfbfbf}#updraft-delete-waitwarning span.spinner{visibility:visible;float:none;margin:0;margin-right:10px}button#updraft-backupnow-button .spinner,button#updraft-backupnow-button .dashicons-yes{display:none}button#updraft-backupnow-button.loading .spinner{display:inline-block;visibility:visible;margin-top:13px;margin-right:0}button#updraft-backupnow-button.loading{background-color:#efefef;border-color:#CCC;text-shadow:0 -1px 1px #bbc3c7,1px 0 1px #bbc3c7,0 1px 1px #bbc3c7,-1px 0 1px #bbc3c7;-webkit-box-shadow:none;box-shadow:none}button#updraft-backupnow-button.finished .dashicons-yes{display:inline-block;visibility:visible;font-size:42px;margin-right:0;margin-top:2px}.updraft_next_scheduled_entity{width:50%;display:inline-block;float:left}.updraft_next_scheduled_entity .dashicons{color:#CCC;font-size:20px}.updraft_next_scheduled_entity strong{font-size:20px}.updraft_next_scheduled_heading{margin-bottom:10px}.updraft_next_scheduled_date_time{color:#46a84b}.updraft_time_now_wrapper{margin-top:68px;width:100%}.updraft_time_now_label,.updraft_time_now{display:inline-block;padding:7px}.updraft_time_now_label{background:#b7b7b7;border-top-left-radius:4px;border-bottom-left-radius:4px;color:#FFF;margin-right:0;text-shadow:0 1px 2px rgba(0,0,0,0.4)}.updraft_time_now{background:#f1f1f1;border-top-right-radius:4px;border-bottom-right-radius:4px;margin-left:-3px}#updraft_lastlogmessagerow{margin:6px 0}#updraft_lastlogmessagerow{clear:both;padding:.25px 0}#updraft_lastlogmessagerow .updraft-log-link{float:right;margin-top:-2.5em;margin-right:2px}#updraft_lastlogmessagerow>div{clear:both;background:#FFF;padding:18px}#updraft_activejobs_table{overflow:hidden;width:100%;background:#fafafa;padding:0}.updraft_requeststart{padding:15px 33px;text-align:center}.updraft_requeststart .spinner{visibility:visible;float:none;vertical-align:middle;margin-top:-2px}a.updraft_jobinfo_delete.disabled{opacity:.4;color:inherit;text-decoration:none}.updraft_row{clear:both;-webkit-transition:.3s all;transition:.3s all;padding:15px 33px}.updraft_row.deleting{opacity:.4}.updraft_existing_backups_count{padding:2px 8px;font-size:12px;background:#ca4a1e;color:#FFF;font-weight:bold;border-radius:10px}.form-table .existing-backups-table input[type="checkbox"]{border-radius:0}.form-table .existing-backups-table .check-column{width:40px;padding:0;padding-top:8px}.existing-backups-buttons{font-size:11px;line-height:1.4em;border-width:3px}.existing-backups-restore-buttons{font-size:11px;line-height:1.4em;border-width:3px}.button-delete{color:#e23900;border-color:#e23900;font-size:14px;line-height:1.4em;border-width:2px;margin-right:10px}.button-view-log,.button-mass-selectors{color:darkgrey;border-color:darkgrey;font-size:14px;line-height:1.4em;border-width:2px;margin-top:-1px}.button-view-log{width:120px}.button-existing-restore{font-size:14px;line-height:1.4em;border-width:2px;width:110px}.main-restore{margin-right:3%;margin-left:3%}.button-entity-backup{color:#555;border-color:#555;font-size:11px;line-height:1.4em;border-width:2px;margin-right:5px}.button-select-all{width:122px}.button-deselect{width:92px}#ud_massactions>.display-flex>.mass-selectors-margins,#updraft-delete-waitwarning>.display-flex>.mass-selectors-margins{margin-right:-4px}.udp-button-primary{border-width:4px;color:#0073aa;border-color:#0073aa;font-size:14px;height:40px}#ud_massactions .button-delete{margin-right:0}.stored_local{border-radius:5px;background-color:#007fe7;padding:3px 5px 5px 5px;color:#FFF;font-size:75%}span#updraft_lastlogcontainer{word-break:break-all}.stored_icon{height:1.3em;position:relative;top:.2em}.backup_date_label>*{vertical-align:middle}.backup_date_label .dashicons{font-size:18px}.backup_date_label .clear-right{clear:right}.existing-backups-table .backup_date_label>div,.existing-backups-table .backup_date_label span>div{font-weight:bold}.udp-logo-70{width:70px;height:70px;float:left;padding-right:25px}h3 .thank-you{margin-top:0}.ws_advert{max-width:800px;font-size:140%;line-height:140%;padding:14px;clear:left}.dismiss-dash-notice{float:right;position:relative;top:-20px}.updraft_exclude_container,.updraft_include_container{margin-left:24px;margin-top:5px;margin-bottom:10px;padding:15px;border:1px solid #DDD}label.updraft-exclude-label{font-weight:500;margin-bottom:5px;display:inline-block}.updraft_add_exclude_item,#updraft_include_more_paths_another{display:inline-block;margin-top:10px}input.updraft_exclude_entity_field,.form-table td input.updraft_exclude_entity_field,.updraftplus-morefiles-row input[type=text]{width:calc(100% - 70px);max-width:400px}.updraft-fs-italic{font-style:italic}@media screen and (max-width:782px){.form-table td input.updraft_exclude_entity_field,.form-table td .updraftplus-morefiles-row input[type=text]{display:inline-block}}.updraft_exclude_entity_delete.dashicons,.updraft_exclude_entity_edit.dashicons,.updraft_exclude_entity_update.dashicons,.updraftplus-morefiles-row a.dashicons{margin-top:2px;font-size:20px;-webkit-box-shadow:none;box-shadow:none;line-height:1;padding:3px;margin-right:4px}.updraft_exclude_entity_delete,.updraft_exclude_entity_delete:hover,.updraftplus-morefiles-row-delete{color:#ff6347}.updraft_exclude_entity_update.dashicons,.updraft_exclude_entity_update.dashicons:hover{color:#008000;font-weight:bold;font-size:22px;margin-left:4px}.updraft_exclude_entity_edit{margin-left:4px}.updraft_exclude_entity_update.is-active ~ .updraft_exclude_entity_delete{display:none}.updraft-exclude-panel-heading{margin-bottom:8px}.updraft-exclude-panel-heading h3{margin:.5em 0 .5em 0}.updraft-exclude-submit.button-primary{margin-top:5px}.updraft_exclude_actions_list{font-weight:bold}.updraft-exclude-link{cursor:pointer}#updraft_include_more_options{padding-left:25px}#updraft_report_cell .updraft_reportbox,.updraft_small_box{padding:12px;margin:8px 0;border:1px solid #CCC;position:relative}#updraft_report_cell button.updraft_reportbox_delete,.updraft_box_delete_button,.updraft_small_box .updraft_box_delete_button{padding:4px;padding-top:6px;border:0;background:transparent;position:absolute;top:4px;right:4px;cursor:pointer}#updraft_report_cell button.updraft_reportbox_delete:hover{color:#de3c3c}a.updraft_report_another .dashicons{text-decoration:none;margin-top:2px}.updraft_report_dbbackup.updraft_report_disabled{color:#CCC}#updraft-navtab-settings-content .updraft-test-button{font-size:18px !important}#updraft_report_cell .updraft_report_email{display:block;width:calc(100% - 50px);margin-bottom:9px}#updraft_report_cell .updraft_report_another_p{clear:left}#updraft-navtab-settings-content table.form-table p{max-width:700px}#updraft-navtab-settings-content table.form-table .notice p{max-width:none}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected,#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected td{background-color:#efefef}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected:nth-child(even) td{background-color:#e8e8e8}.updraft_settings_sectionheading{display:none}.updraft-backupentitybutton-disabled{background-color:transparent;border:0;color:#0074a2;text-decoration:underline;cursor:pointer;clear:none;float:left}.updraft-backupentitybutton{margin-left:8px}.updraft-bigbutton{padding:2px 0 !important;margin-right:14px !important;font-size:22px !important;min-height:32px;min-width:180px}tr[class*="_updraft_remote_storage_border"]{border-top:1px solid #CCC}.updraft_multi_storage_options{float:right;clear:right;margin-bottom:5px !important}.updraft_toggle_instance_label{vertical-align:top !important}.updraft_debugrow th{float:right;text-align:right;font-weight:bold;padding-right:8px;min-width:140px}.updraft_debugrow td{min-width:300px;vertical-align:bottom}.updraft_webdav_host_error,.onedrive_folder_error{color:red}label[for=updraft_servicecheckbox_updraftvault]{position:relative}#updraft-wrap .udp-info{position:absolute;right:10px;top:calc(50% - 10px)}#updraft-wrap span.info-trigger{display:inline-block;width:20px;height:20px;background:#FFF;color:#72777c;border-radius:30px;text-align:center;line-height:20px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.15);box-shadow:0 1px 3px rgba(0,0,0,0.15)}#updraft-wrap .info-content-wrapper{display:none;position:absolute;bottom:20px;-webkit-transform:translatex(calc(-50% + 10px));transform:translatex(calc(-50% + 10px));width:330px;padding-bottom:10px}#updraft-wrap .info-content-wrapper::before{content:'';position:absolute;bottom:-10px;border:10px solid transparent;border-top-color:#FFF;left:calc(50% - 10px)}#updraft-wrap .info-content{padding:20px;background:#FFF;border-radius:4px;-webkit-box-shadow:0 3px 10px rgba(0,0,0,0.1);box-shadow:0 3px 10px rgba(0,0,0,0.1);color:#72777c}#updraft-wrap .info-content h3{margin-top:0}#updraft-wrap .info-content p{margin-top:10px}#updraft-wrap .udp-info:hover .info-content-wrapper{display:block}div.conditional_remote_backup select.logic_type{vertical-align:inherit !important}div.conditional_remote_backup label.updraft_toggle_instance_label.radio_group{display:block;margin-top:7px}div.conditional_remote_backup div.logic ul.rules input.rule_value{vertical-align:middle}div.conditional_remote_backup p{margin-bottom:10px}div.conditional_remote_backup div.logic ul.rules span svg{width:20px;vertical-align:middle;cursor:pointer}div.conditional_remote_backup div.logic ul.rules span svg{margin-left:3px}div.conditional_remote_backup div.logic select.logic_type{vertical-align:unset}.updraft_jstree .jstree-container-ul>.jstree-node,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-node{background:transparent}.updraft_jstree .jstree-container-ul>.jstree-open>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-open>.jstree-ocl{background-position:-36px -4px}.updraft_jstree .jstree-container-ul>.jstree-closed>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-closed>.jstree-ocl{background-position:-4px -4px}.updraft_jstree .jstree-container-ul>.jstree-leaf>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-leaf>.jstree-ocl{background:transparent}#updraft_zip_files_container{position:relative;height:450px;overflow:none}.updraft_jstree_info_container{position:relative;height:auto;width:100%;border:1px dotted;margin-bottom:5px}.updraft_jstree_info_container p{margin:1px;padding-left:10px;font-size:14px}#updraft_zip_download_item{display:none;color:#0073aa;padding-left:10px}#updraft_zip_download_notice{padding-left:10px}#updraft_exclude_files_folders_jstree,#updraft_exclude_files_folders_wildcards_jstree{max-height:200px;overflow-y:scroll}.updraft_jstree{position:relative;border:1px dotted;height:80%;width:100%;overflow:auto}div[id^="updraft_more_files_container_"],div.updraft_googledrive_container{position:relative;display:none;width:100%;border:1px solid #CCC;background:#fafafa;margin-bottom:5px;margin-top:4px;-webkit-box-shadow:0 5px 8px rgba(0,0,0,0.1);box-shadow:0 5px 8px rgba(0,0,0,0.1)}div.updraft_googledrive_container ul.jstree-container-ul{overflow-y:scroll;max-height:200px}div[id^="updraft_more_files_container_"]::before,div.updraft_googledrive_container::before{content:' ';width:11px;height:11px;display:block;background:#fafafa;position:absolute;top:0;left:20px;border-top:1px solid #CCC;border-left:1px solid #CCC;-webkit-transform:translatey(-7px) rotate(45deg);transform:translatey(-7px) rotate(45deg)}input.updraft_more_path_editing{border-color:#0285ba}input.updraft_more_path_editing ~ a.dashicons{display:none}div[id^="updraft_jstree_buttons_"]{padding:10px;background:#e6e6e6}div[id^="updraft_jstree_container_"]{height:300px;width:100%;overflow:auto}div[id^="updraft_more_files_container_"] button{line-height:20px}button[id^="updraft_parent_directory_"]{margin:10px 10px 4px 10px;padding-left:3px}button[id^="updraft_jstree_confirm_"],button[id^="updraft_jstree_cancel_"]{display:none}input[id^="updraft_include_more_path_restore_"]{text-align:right}.updraftplus-morefiles-row-delete,.updraftplus-morefiles-row-edit{cursor:pointer}#updraft_include_more_paths_error{color:#de3c3c}p[id^="updraftplus_manual_authentication_error_"]{color:#de3c3c}#updraft-wrap .form-table th{width:230px}#updraft-wrap .form-table .existing-backups-table th{width:auto}.updraft-viewlogdiv form{margin:0;padding:0}.updraft-viewlogdiv{display:inline-block;margin-left:4px}.updraft-viewlogdiv input,.updraft-viewlogdiv a{border:0;background-color:transparent;color:#000;margin:0;padding:3px 4px;font-size:16px;line-height:26px}.updraft-viewlogdiv input:hover,.updraft-viewlogdiv a:hover{color:#FFF;cursor:pointer}.button.button-remove{color:white;background-color:#de3c3c;border-color:#c00000;-webkit-box-shadow:0 1px 0 #c10100;box-shadow:0 1px 0 #c10100}.button.button-remove:hover,.button.button-remove:focus{border-color:#C00;color:#FFF;background:#C00}body.admin-color-midnight .button.button-remove{color:#de3c3c;background-color:#f7f7f7;border-color:#CCC;-webkit-box-shadow:0 1px 0 #CCC;box-shadow:0 1px 0 #CCC}body.admin-color-midnight .button.button-remove:hover,body.admin-color-midnight .button.button-remove:focus{border-color:#ba281f}body.admin-color-midnight .button.button-remove:focus{-webkit-box-shadow:inherit;box-shadow:inherit;-webkit-box-shadow:0 0 3px rgba(0,115,170,0.8);box-shadow:0 0 3px rgba(0,115,170,0.8)}.drag-drop #drag-drop-area2{border:4px dashed #DDD;height:200px}#drag-drop-area2 .drag-drop-inside{margin:36px auto 0;width:350px}#filelist,#filelist2{margin-top:30px;width:100%}#filelist .file,#filelist2 .file,.ud_downloadstatus .file,#ud_downloadstatus2 .file,#ud_downloadstatus3 .file{padding:1px;background:#ececec;border:solid 1px #CCC;margin:4px 0}.updraft_premium section{margin-bottom:20px}.updraft_premium_cta{background:#FFF;margin-top:30px;padding:0;border-left:4px solid #db6a03}.updraft_premium_cta a{font-weight:normal}.updraft_premium_cta__action{position:relative;text-align:center}.updraft_premium_cta a.button.button-primary.button-hero{font-size:1.3em;letter-spacing:.03rem;text-transform:uppercase;margin-bottom:7px}.updraft_premium_cta a.button.button-primary.button-hero+small{display:block;max-width:100%;text-align:center;color:#afafaf}.updraft_premium_cta a.button.button-primary.button-hero+small .dashicons{width:12px;height:12px}.updraft_premium_cta__top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:18px 30px}.updraft_premium_cta__bottom{background:#f9f9f9;padding:5px 30px}.updraft_premium_cta__summary{margin-right:60px}.updraft_premium_cta h2{font-size:28px;font-weight:200;line-height:1;margin:0;margin-bottom:5px;letter-spacing:.05rem;color:#db6a03}.updraft_premium_cta ul li::after{color:#CCC}@media only screen and (max-width:768px){.updraft_premium_cta__top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.updraft_premium_cta__summary{margin-right:0;margin-bottom:30px}}.udp-box{background:#FFF;padding:20px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.1);box-shadow:0 1px 2px rgba(0,0,0,0.1);text-align:center}.udp-box h3{margin:0}.udp-box__heading{-ms-flex-item-align:center;align-self:center;background:0;-webkit-box-shadow:none;box-shadow:none}.updraft-more-plugins{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;flex-wrap:wrap}.updraft-more-plugins img{max-width:80%;max-height:30%;display:inline-block}.updraft-more-plugins .udp-box{-webkit-box-sizing:border-box;box-sizing:border-box;width:24%}.updraft-more-plugins .udp-box p:last-child{margin-bottom:0;padding-bottom:0}.updraft_premium_description_list{text-align:left;margin:0;font-size:12px}ul.updraft_premium_description_list,ul#updraft_restore_warnings{list-style:disc inside}ul.updraft_premium_description_list li{display:inline}ul.updraft_premium_description_list li::after{content:" | "}ul.updraft_premium_description_list li:last-child::after{content:""}.updraft_feature_cell{background-color:#f7d9c9 !important;padding:5px 10px}.updraftplus_com_login_status,.updraftplus_com_key_status{display:none;background:#FFF;border-left:4px solid #FFF;border-left-color:#dc3232;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 0 15px 0;padding:5px 12px}.updraftplus_com_login_status.success{border-left-color:green}#updraft-wrap strong.success{color:green}.updraft_feat_table{border:0;border-collapse:collapse;font-size:120%;background-color:white;text-align:center}.updraft_feat_th,.updraft_feat_table td{border:1px solid #f1f1f1;border-collapse:collapse;font-size:120%;background-color:white;text-align:center;padding:15px}.updraft_feat_table td{border-bottom-width:4px}.updraft_feat_table td:first-child{border-left:0}.updraft_feat_table td:last-child{border-right:0}.updraft_feat_table tr:last-child td{border-bottom:0}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){background-color:rgba(241,241,241,0.38);width:190px}.updraft_feat_table__header td img{display:block;margin:0 auto}.updraft_feat_table__header td{text-align:center}.updraft_feat_table .installed{font-size:14px}.updraft_feat_table p{padding:0 10px;margin:5px 0;font-size:13px}.updraft_feat_table h4{margin:5px 0}.updraft_feat_table .dashicons{width:25px;height:25px;font-size:25px;line-height:1}.updraft_feat_table .dashicons-yes,.updraft_feat_table .updraft-yes{color:green}.updraft_feat_table .dashicons-no-alt,.updraft_feat_table .updraft-no{color:red}.updraft_tick_cell{text-align:center}.updraft_tick_cell img{margin:4px 0;height:24px}.ud_downloadstatus__close{border:0;background:transparent;width:auto;font-size:20px;padding:0;cursor:pointer}#filelist .fileprogress,#filelist2 .fileprogress,.ud_downloadstatus .dlfileprogress,#ud_downloadstatus2 .dlfileprogress,#ud_downloadstatus3 .dlfileprogress{width:0;background:#0572aa;height:8px;-webkit-transition:width .3s;transition:width .3s}.ud_downloadstatus .raw,#ud_downloadstatus2 .raw,#ud_downloadstatus3 .raw{margin-top:8px;clear:left}.ud_downloadstatus .file,#ud_downloadstatus2 .file,#ud_downloadstatus3 .file{margin-top:8px}div[class^="updraftplus_downloader_container_"]{padding:10px}tr.updraftplusmethod h3{margin:0}tr.updraftplusmethod img{max-width:100%}#updraft_retain_db_rules .updraft_retain_rules_delete,#updraft_retain_files_rules .updraft_retain_rules_delete{cursor:pointer;color:red;font-size:120%;font-weight:bold;border:0;border-radius:3px;padding:2px;margin:0 6px;text-decoration:none;display:inline-block}#updraft_retain_db_rules .updraft_retain_rules_delete:hover,#updraft_retain_files_rules .updraft_retain_rules_delete:hover{cursor:pointer;color:white;background:red}#updraft_backup_started{max-width:800px;font-size:140%;line-height:140%;padding:14px;clear:left}.blockUI.blockOverlay.ui-widget-overlay{background:#000}.updraft_success_popup{text-align:center;padding-bottom:30px}.updraft_success_popup>.dashicons{font-size:100px;width:100px;height:100px;line-height:100px;padding:0;border-radius:50%;margin-top:30px;display:block;margin-left:auto;margin-right:auto;background:#e2e6e5}.updraft_success_popup>.dashicons.dashicons-yes{text-indent:-5px}.updraft_success_popup.success>.dashicons{color:green}.updraft_success_popup.warning>.dashicons{color:#888}.updraft_success_popup--message{padding:20px}.button.updraft-close-overlay .dashicons{text-decoration:none;font-size:20px;margin-left:-5px;padding:0;-webkit-transform:translatey(3px);transform:translatey(3px)}.updraft_saving_popup img{-webkit-animation-name:udp_blink;animation-name:udp_blink;-webkit-animation-duration:610ms;animation-duration:610ms;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.udp-premium-image{display:none}@media screen and (min-width:720px){.udp-premium-image{display:block;float:left;padding-right:5px}}#plupload-upload-ui2{width:80%}.backup-restored{padding:8px}.updated.backup-restored{padding-top:15px;padding-bottom:15px}.backup-restored span{font-size:120%}.memory-limit{padding:8px}.updraft_list_errors{padding:8px}.updraftplus-nav-tab.nav-tab-active,.updraftplus-nav-tab.nav-tab-active:hover,.updraftplus-nav-tab.nav-tab-active:focus,.updraftplus-nav-tab.nav-tab-active:focus:active{border-bottom:1px solid #f0f0f1;background:#f0f0f1 !important;color:#000}.updraftplus-nav-tab.nav-tab-active{margin-bottom:-1px;color:#3c434a}.updraftplus-nav-tab.nav-tab-active,.updraftplus-nav-tab:focus:active{-webkit-box-shadow:none;box-shadow:none}.updraftplus-nav-tab{float:left;border:1px solid #c3c4c7;border-bottom-color:#c3c4c7;border-bottom-style:solid;border-bottom-width:1px;border-bottom:0;margin-left:.5em;padding:5px 10px;font-size:14px;line-height:1.71428571;font-weight:600;background:#dcdcde;color:#50575e;text-decoration:none;white-space:nowrap}.nav-tab-wrapper{margin:14px 0}#updraft-poplog-content{white-space:pre-wrap}.next-backup{border:0;padding:0;margin:0 10px 0 0}.not-scheduled{vertical-align:top !important;margin:0 !important;padding:0 !important}.next-backup .updraft_scheduled{margin:0;padding:2px 4px 2px 0}#next-backup-table-inner td{vertical-align:top}.updraft_all-files{color:blue}.multisite-advert-width{width:800px}.updraft_settings_sectionheading{margin-top:6px}section.premium-upgrade-purchase-success{padding:2em;background:#fafafa;text-align:center;-webkit-box-shadow:0 14px 40px rgba(0,0,0,0.1);box-shadow:0 14px 40px rgba(0,0,0,0.1)}section.premium-upgrade-purchase-success h3{font-size:2em;color:green}section.premium-upgrade-purchase-success h3 .dashicons{display:block;margin:0 auto;font-size:60px;width:60px;height:60px;border-radius:50%;background:green;color:#FFF;margin-bottom:20px}section.premium-upgrade-purchase-success h3 .dashicons::before{display:inline-block;margin-left:-4px;margin-top:2px}section.premium-upgrade-purchase-success p{font-size:120%}.show_admin_restore_in_progress_notice{padding:8px}.show_admin_restore_in_progress_notice .unfinished-restoration{font-size:120%}#backupnow_includefiles_moreoptions,#backupnow_database_moreoptions,#backupnow_includecloud_moreoptions{margin:4px 16px 6px 16px;border:1px dotted;padding:6px 10px}#backupnow_database_moreoptions{max-height:250px;overflow:auto}#backupnow_database_moreoptions div.backupnow-db-tables{margin-bottom:5px}#backupnow_database_moreoptions div.backupnow-db-tables>a{color:#0073aa}.form-table #updraft_activejobsrow .minimum-height{min-height:100px}#updraft_activejobsrow th{max-width:112px;margin:0;padding:13px 0 0 0}#updraft_lastlogmessagerow .last-message{padding-top:20px;display:block}.updraft_simplepie{vertical-align:top}.download-backups{margin-top:8px}.download-backups .updraft_download_button{margin-right:6px}.download-backups .ud-whitespace-warning,.download-backups .ud-bom-warning{background-color:pink;padding:8px;margin:4px;border:1px dotted}.download-backups .ul{list-style:none inside;max-width:800px;margin-top:6px;margin-bottom:12px}#updraft-plupload-modal{margin:16px 0}.download-backups .upload{max-width:610px}.download-backups #plupload-upload-ui{width:100%}.ud_downloadstatus{padding:10px 0}#ud_massactions,#updraft-delete-waitwarning{padding:14px;background:#f1f1f1;position:absolute;left:0;top:100%}#ud_massactions>*,#updraft-delete-waitwarning>*{vertical-align:middle}#ud_massactions .updraftplus-remove{display:inline-block;margin-right:0}#ud_massactions .updraftplus-remove a{text-decoration:none}#ud_massactions .updraft-viewlogdiv a{text-decoration:none;position:relative}small.ud_massactions-tip{display:inline-block;opacity:.5;font-style:italic;margin-left:20px}#updraft-navtab-backups-content .updraft_existing_backups{margin-bottom:35px;position:relative}#updraft-message-modal-innards{padding:4px}#updraft-authenticate-modal{text-align:center;font-size:16px !important}#updraft-authenticate-modal p{font-size:16px}div.ui-dialog.ui-widget.ui-widget-content{z-index:99999 !important}#updraft_delete_form p{margin-top:3px;padding-top:0}#updraft_restore_form .cannot-restore{margin:8px 0}.notice.updraft-restore-option{padding:12px;margin:8px 0 4px 0;border-left-color:#CCC}#updraft_restorer_dboptions h4{margin:0 0 6px 0;padding:0}.updraftplus_restore_tables_options_container{max-height:250px;overflow:auto}.updraft_debugrow th{vertical-align:top;padding-top:6px;max-width:140px}.expertmode p{font-size:125%}.expertmode .call-wp-action{width:300px;height:22px}.updraftplus-lock-advert{clear:left;max-width:600px}.uncompressed-data{clear:left;max-width:600px}.delete-old-directories{padding:8px;padding-bottom:12px}.active-jobs{width:100%;text-align:center;padding:33px}.job-id{margin-top:0;margin-bottom:8px}.next-resumption{font-weight:bold}.updraft_percentage{z-index:-1;position:absolute;left:0;top:0;text-align:center;background-color:#1d8ec2;-webkit-transition:width .3s;transition:width .3s}.curstage{z-index:1;border-radius:2px;margin-top:8px;width:100%;height:26px;line-height:26px;position:relative;text-align:center;font-style:italic;color:#FFF;background-color:#b7b7b7;text-shadow:0 1px 2px rgba(0,0,0,0.3)}.curstage-info{display:inline-block;z-index:2}.retain-files{width:48px}.backup-interval-description tr td div{max-width:670px}#updraft-manualdecrypt-modal{width:85%;margin:6px;margin-left:100px}.directory-permissions{font-size:110%;font-weight:bold}.double-warning{border:1px solid;padding:6px}.raw-backup-info{font-style:italic;font-weight:bold;font-size:120%}.updraft_existingbackup_date{width:22%;max-width:140px}.updraft_existing_backups_wrapper{margin-top:20px;border-top:1px solid #DDD}.updraft-no-backups-msg{padding:10px 40px;text-align:center;font-style:italic}.tr-bottom-4{margin-bottom:4px}.existing-backups-table th{padding:8px 10px}.form-table .backup-date{width:172px}.form-table .backup-data{width:426px}.form-table .updraft_backup_actions{width:272px}.existing-date{-webkit-box-sizing:border-box;box-sizing:border-box;max-width:140px;width:25%}.line-break-tr{height:2px;padding:1px;margin:0}.line-break-td{margin:0;padding:0}.td-line-color{height:2px;background-color:#888}.raw-backup{max-width:140px}.existing-backups-actions{padding:1px;margin:0}.existing-backups-border{height:2px;padding:1px;margin:0}.existing-backups-border>td{margin:0;padding:0}.existing-backups-border>div{height:2px;background-color:#AAA}.updraft_existing_backup_date{max-width:140px}.updraftplus-upload{margin-right:6px;float:left;clear:none}.before-restore-button{padding:1px;margin:0}.before-restore-button div{float:none;display:inline-block}.table-separator-tr{height:2px;padding:1px;margin:0}.table-separator-td{margin:0;padding:0}.end-of-table-div{height:2px;background-color:#AAA}.last-backup-job{padding-top:3% !important}.line-height-03{line-height:.3 !important}.line-height-13{line-height:1.3 !important}.line-height-23{line-height:2.3 !important}#updraft_diskspaceused{color:#df6926}#updraft_delete_old_dirs_pagediv{padding-bottom:10px}.fix-time{width:70px}.retain-files{width:70px}.number-input{min-width:50px;max-width:70px}.additional-rule-width{min-width:60px;max-width:70px}#updraft-wrap .dashicons.dashicons-adapt-size{line-height:inherit;font-size:inherit}#updraft-wrap .button span.dashicons:not(.dashicons-adapt-size){vertical-align:middle;margin-top:-3px}.addon-logo-150{margin-left:30px;margin-top:33px;height:125px;width:150px}.margin-bottom-50{margin-bottom:50px}.premium-container{width:80%}.main-header{background-color:#df6926;height:200px;width:100%}.button-add-to-cart{color:white;border-color:white;float:none;margin-right:17px}.button-add-to-cart:hover,.button-add-to-cart:focus,.button-add-to-cart:active{border-color:#a0a5aa;color:#a0a5aa}.addon-title{margin-top:25px}.addon-text{margin-top:75px}.image-main-div{width:25%;float:left}.text-main-div{width:60%;float:left;text-align:center;color:white;margin-top:16px}.text-main-div-title{font-weight:bold !important;color:white;text-align:center}.text-main-div-paragraph{color:white}.updraftplus-vault-cta{width:100%;text-align:center;margin-bottom:50px}.updraftplus-vault-cta h1{font-weight:bold}.updraftvault-buy{width:225px;height:225px;border:2px solid #777;display:inline-table;margin:0 auto;margin-right:50px;position:relative}.updraftplus-vault-cta>.vault-options>.center-vault{width:275px;height:275px}.updraftplus-vault-cta>.vault-options>.center-vault>a{right:21%;font-size:16px;border-width:4px !important}.updraftplus-vault-cta>.vault-options>.center-vault>p{font-size:16px}.updraftvault-buy .button-purchase{right:24%;margin-left:0;line-height:1.7em}.updraftvault-buy hr{height:2px;background-color:#777;margin-top:18px}.right{margin-right:0}.updraftvault-buy .addon-logo-100{height:100px;width:125px;margin-top:7px}.updraftvault-buy .addon-logo-large{margin-top:7px}.updraftvault-buy .button-buy-vault{font-size:12px;color:#df6926;border-color:#df6926;border-width:2px !important;position:absolute;right:29%;bottom:2%}.premium-addon-div .button-purchase{line-height:1.7em}.updraftvault-buy .button-buy-vault:hover{border-color:darkgrey;color:darkgrey}.premium-addons{margin-top:80px;width:100%;margin:0 auto;display:table}.addon-list{display:table;text-align:center}.premium-addons h1{text-align:center;font-weight:bold}.premium-addons p{text-align:center}.premium-addons .premium-addon-div{width:200px;height:250px;border:2px solid #777;display:inline-table;margin:0 auto;margin-right:25px;margin-top:25px;text-align:center;position:relative}.premium-addons .premium-addon-div p{margin-left:2px;margin-right:2px}.premium-addons .premium-addon-div img{width:auto;height:50px;margin-top:7px}.premium-addons .premium-addon-div .hr-alignment{margin-top:44px}.premium-addons .premium-addon-div .dropbox-logo{height:39px;width:150px}.premium-addons .premium-addon-div .azure-logo,.premium-addons .premium-addon-div .onedrive-logo{width:75%;height:24px}.button-purchase{font-size:12px;color:#df6926;border-color:#df6926;border-width:2px !important;position:absolute;right:25%;bottom:2%}.button-purchase:hover{color:darkgrey;border-color:darkgrey}.premium-addons .premium-addon-div hr{height:2px;background-color:#777;margin-top:18px}.premium-addon-div p{font-style:italic}.addon-list>.premium-addon-div>.onedrive-fix,.addon-list>.premium-addon-div>.azure-logo{margin-top:33px}.addon-list>.premium-addon-div>.dropbox-fix{margin-top:18px}.premium-forgotton-something{margin-top:5%}.premium-forgotton-something h1{text-align:center;font-weight:bold}.premium-forgotton-something p{text-align:center;font-weight:normal}.premium-forgotton-something .button-faq{color:#df6926;border-color:#df6926;margin:0 auto;display:table}.premium-forgotton-something .button-faq:hover{color:#777;border-color:#777}.updraftplusmethod.updraftvault #vaultlogo{padding-left:40px}.updraftplusmethod.updraftvault .vault_primary_option{float:left;width:50%;text-align:center;padding-bottom:20px}.updraftplusmethod.updraftvault .vault_primary_option div{clear:right;padding-top:20px}.updraftplusmethod.updraftvault .clear-left{clear:left}.updraftplusmethod.updraftvault .padding-top-20px{padding-top:20px}.updraftplusmethod.updraftvault .padding-top-14px{padding-top:14px}.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary,.updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary{font-size:18px !important}.updraftplusmethod.updraftvault #updraftvault_showoptions,.updraftplusmethod.updraftvault #updraftvault_connect{margin-top:8px}.updraftplusmethod.updraftvault #updraftvault_settings_connect input{margin-right:10px}.updraftplusmethod.updraftvault #updraftvault_email{width:280px}.updraftplusmethod.updraftvault #updraftvault_pass{width:200px}.updraftplusmethod.updraftvault #vault-is-connected{margin:0;padding:0}.updraftplusmethod.updraftvault #updraftvault_settings_default p{clear:left}.updraftplusmethod.updraftvault .vault-purchase-option-container{text-align:center}.updraftplusmethod.updraftvault .vault-purchase-option{width:40%;text-align:center;padding-top:20px;display:inline-block}.updraftplusmethod.updraftvault .vault-purchase-option-size{font-size:200%;font-weight:bold}.updraftplusmethod.updraftvault .vault-purchase-option-link{clear:both;font-size:150%}.updraftplusmethod.updraftvault .vault-purchase-option-or{clear:both;font-size:115%;font-style:italic}.autobackup-image{clear:left;float:left;width:110px;height:110px}.autobackup-description{width:100%}.advert-description{float:left;clear:right;padding:4px 10px 8px 10px;width:70%;clear:right;vertical-align:top}.advert-btn{display:inline-block;min-width:10%;vertical-align:top;margin-bottom:8px}.advert-btn:first-of-type{margin-top:25px}.advert-btn a{display:block;cursor:pointer}a.btn-get-started{background:#FFF;border:2px solid #df6926;border-radius:4px;color:#df6926;display:inline-block;margin-left:10px !important;margin-bottom:7px !important;font-size:18px !important;line-height:20px;min-height:28px;padding:11px 10px 5px 10px;text-transform:uppercase;text-decoration:none}.circle-dblarrow{border:1px solid #df6926;border-radius:100%;display:inline-block;font-size:17px;line-height:17px;margin-left:5px;width:20px;height:20px;text-align:center}.expertmode .advanced_settings_container{height:auto;overflow:hidden}.expertmode .advanced_settings_container .advanced_settings_menu{float:none;border-bottom:1px solid #ccc}.expertmode .advanced_settings_container .advanced_settings_content{padding-top:5px;float:none;width:auto;overflow:auto}.expertmode .advanced_settings_container .advanced_settings_content h3:first-child{margin-top:5px !important}.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools{display:none}.expertmode .advanced_settings_container .advanced_settings_content .site_info{display:block}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{display:inline-block;cursor:pointer;padding:5px;color:#000}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text{font-size:16px}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover{background-color:#eaeaea}.expertmode .advanced_settings_container .advanced_settings_menu .active{background-color:#3498db;color:#FFF}.expertmode .advanced_settings_container .advanced_settings_menu .active:hover{background-color:#72c5fd;color:#FFF}.expertmode .advanced_settings_container .advanced_settings_content input#import_settings{height:auto !important}div#updraft-wrap a{cursor:pointer !important}.updraftcentral_wizard_option{width:45%;float:left;text-align:center}.updraftcentral_wizard_option label{margin-bottom:8px}#updraftcentral_keys_table{display:none}.create_key_container{border:1px solid;border-radius:4px;padding:0 0 6px 6px;margin-bottom:8px}.updraftcentral_cloud_connect{border-radius:4px;border:1px solid #000;padding:0 20px;margin-top:30px;background-color:#FFF}.updraftcentral_cloud_error{border:1px solid #000;padding:3px 10px;border-left:3px solid #F00;background-color:#FFF;margin-bottom:10px}.updraftcentral_cloud_info{border:1px solid #000;padding:3px 10px;border-left:3px solid #ef8f31;background-color:#FFF;margin-bottom:10px}.updraftplus_spinner.spinner{padding-left:25px;float:none}.updraftplus_spinner.spinner.visible{visibility:visible;width:auto}.updraftcentral_cloud_notices .updraftplus_spinner{margin-top:-5px}.updraftcentral-subheading{font-size:14px;margin-top:-10px;margin-bottom:20px}#updraftcentral_cloud_form input#email,#updraftcentral_cloud_form input#password{min-width:250px}.updraftcentral-data-consent{font-size:13px;margin-bottom:10px}.updraftcentral_cloud_wizard_image{float:left;min-width:100px;margin-right:25px}.updraftcentral_cloud_wizard{float:left}.updraftcentral_cloud_clear{clear:both}.updraftplus-settings-footer{margin-top:30px}.updraftplus-top-menu{padding:.5em}#updraft_inpage_backup #updraft_activejobs_table{background:transparent}#updraft_inpage_backup #updraft_lastlogmessagerow .updraft-log-link{float:none}#updraft_inpage_backup #updraft_activejobsrow .updraft_row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:20px;padding-right:20px}#updraft_inpage_backup #updraft_activejobsrow .updraft_progress_container{width:100%}#updraft_inpage_backup #updraft_activejobs_table{overflow:inherit}#updraft_inpage_backup span#updraft_lastlogcontainer{padding:18px;background:#fafafa;display:block;font-size:90%;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.1);box-shadow:0 1px 2px rgba(0,0,0,0.1)}#updraft_inpage_backup div#updraft_activejobsrow{background:#fafafa;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.1);box-shadow:0 1px 2px rgba(0,0,0,0.1)}#updraft_inpage_backup #updraft_lastlogmessagerow>div{background:transparent;padding:0}#updraft_inpage_backup .last-message>strong{display:block;margin-top:13px}body.update-core-php #updraft_inpage_backup h2:nth-child(1){margin-top:1em !important}.updraft_restore_container{display:block;position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;padding-top:30px;background:#f1f1f1;overflow:auto}.updraft-modal-is-opened .select2-container{z-index:99999}body.updraft-modal-is-opened{overflow:hidden}.updraft_restore_container h2{margin:0}.updraft_restore_container .updraftmessage{-webkit-box-sizing:border-box;box-sizing:border-box;max-width:860px;margin-left:auto;margin-right:auto}.updraft_restore_main{max-width:860px;margin:0 auto;margin-top:20px;background:#FFF;-webkit-box-shadow:0 3px 3px rgba(0,0,0,0.1);box-shadow:0 3px 3px rgba(0,0,0,0.1);position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-sizing:border-box;box-sizing:border-box}.updraft_restore_main--header{font-size:20px;font-weight:bold;text-align:center;padding-top:16px;line-height:20px;width:100%;max-width:100%;padding-right:30px;padding-left:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.updraft_restore_main--activity{position:relative;width:calc(100% - 350px);-webkit-box-sizing:border-box;box-sizing:border-box}.updraft_restore_main--activity-title{padding:20px;margin:0}.show-credentials-form.updraft_restore_main .updraft_restore_main--activity-title{display:none}.updraft_restore_main--components{width:350px;padding:20px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#f8f8f8;min-height:350px}.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output{background:#23282d;color:#e3e3e3;font-family:monospace;padding:19px;overflow:auto;position:absolute;top:60px;bottom:0;right:0;left:0}#updraftplus_ajax_restore_output form{white-space:normal;font-family:-apple-system,blinkmacsystemfont,"Segoe UI",roboto,oxygen-sans,ubuntu,cantarell,"Helvetica Neue",sans-serif}#updraftplus_ajax_restore_output .updraft_restore_errors{border:1px solid #dc3232;padding:10px 20px;white-space:normal}.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output h2{color:#00a0d2;padding-top:10px;padding-bottom:5px}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output{padding:20px;border-left:1px solid #EEE}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output #message{margin-left:0;margin-right:0}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table td,.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table th{padding-bottom:0}.updraft_restore_main.show-credentials-form .updraft_restore_main--components{opacity:.2}.updraft_restore_main.show-credentials-form div.error .restore-credential-errors--list p{margin:0;list-style-type:disc;display:list-item;list-style-position:inside}.restore-credential-errors>:first-child{margin-top:0}.restore-credential-errors>:last-child{margin-bottom:0}ul.updraft_restore_components_list li{color:#bababa;font-size:1.2em;margin-bottom:1em}ul.updraft_restore_components_list li::before{content:'\f469';font-family:dashicons;font-size:20px;vertical-align:middle;display:inline-block;margin-right:7px}ul.updraft_restore_components_list li span{vertical-align:middle}ul.updraft_restore_components_list li.done{color:green}ul.updraft_restore_components_list li.done::before{content:"\f147"}ul.updraft_restore_components_list li.active{color:inherit}ul.updraft_restore_components_list li.active::before{content:"\f463";-webkit-animation:udp_rotate 1s linear infinite;animation:udp_rotate 1s linear infinite}ul.updraft_restore_components_list li.error{color:#dc3232}ul.updraft_restore_components_list li.error::before{content:"\f335"}.updraft_restore_result{padding:10px 0;font-size:1.3em;margin-bottom:1em;vertical-align:middle;display:none}.updraft_restore_result.restore-error{color:#dc3232}.updraft_restore_result.restore-success{color:green}.updraft_restore_result .dashicons{font-size:35px;height:35px;line-height:33px;width:35px}.updraft_restore_result span{vertical-align:middle}#updraft-restore-modal{width:100%}div#updraft-restore-modal .notice{background:#f8f8f8}.updraft-restore-modal--stage .updraft--two-halves,.updraft-restore-modal--stage .updraft--one-half{padding:20px 30px}.updraft-restore-modal--header{padding:20px;padding-bottom:0;text-align:center;border-bottom:1px solid #EEE}.updraft-restore-modal--header h3{margin:0;padding:0}.updraft-restore-item{padding-bottom:4px}.updraft-restore-buttons{padding-top:10px}ul.updraft-restore--stages{display:inline-block;margin:0;height:28px}ul.updraft-restore--stages li{display:inline-block;position:relative;width:12px;height:12px;background:#d2d2d2;border-radius:20px;line-height:1;margin:0 4px;vertical-align:middle}ul.updraft-restore--stages li.active{background:#444}.updraft-restore--footer{border-top:1px solid #EEE;padding:20px;text-align:center;position:sticky;bottom:0;background:#FFF;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.updraft-restore--footer .updraft-restore--cancel{position:absolute;left:20px;top:auto}.updraft-restore--footer .updraft-restore--next-step{position:absolute;right:20px;top:auto}ul.updraft-restore--stages li span{position:absolute;width:120px;bottom:calc(100% + 14px);left:-55px;background:rgba(0,0,0,0.85882);padding:5px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;color:#FFF;text-align:center;display:none}ul.updraft-restore--stages li:hover span{display:inline-block}.updraft-restore-item input[type=checkbox]{margin-bottom:-5px}.updraft-restore-item input[type=checkbox]:checked+label{font-weight:bold}div#updraft-restore-modal .ud_downloadstatus__close{display:none}#ud_downloadstatus2:not(:empty){margin-top:15px}.dashicons.rotate{-webkit-animation:udp_rotate 1s linear infinite;animation:udp_rotate 1s linear infinite}span#updraftplus_ajax_restore_last_activity{font-size:.8rem;font-weight:normal;float:right}.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice{margin:-20px -20px 20px;padding:19px}.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice button{margin-right:5px}#updraft_migrate_receivingsites .updraftplus-remote-sites-selector .button-primary,.updraft_migrate_add_site .input-field input,.updraft_migrate_add_site button{vertical-align:middle}#updraft_migrate_receivingsites .text-link-menu a:not(:last-child){padding-right:10px}#updraft_migrate_receivingsites a.updraft_migrate_clear_sites span.dashicons-trash:before{font-size:17px}#updraft_migrate_receivingsites .updraft_migrate_add_site{clear:both}.rtl .advanced_tools.total_size table td{direction:ltr;text-align:right}.rtl #plupload-upload-ui2.drag-drop #drag-drop-area2{margin-bottom:20px}.rtl #updraft_lastlogmessagerow .updraft-log-link{float:left}.rtl label.updraft_checkbox>input[type=checkbox]{margin-right:-25px;margin-left:inherit}.rtl .ud_downloadstatus__close{float:left !important}.rtl #updraft_backupextradbs_another_container{float:right}.rtl input.labelauty+label{direction:ltr;position:relative;min-height:29px}.rtl input.labelauty+label>span.labelauty-checked-image,.rtl input.labelauty+label>span.labelauty-unchecked-image{right:8px;top:11px;position:absolute}.rtl .button.updraft-close-overlay .dashicons{margin-right:-5px;margin-left:inherit}.rtl label.updraft_checkbox{margin-right:26px;margin-left:inherit}.rtl #updraft-wrap .udp-info{left:10px;right:inherit}.rtl input.labelauty+label>span.labelauty-unchecked-image+span.labelauty-unchecked,.rtl input.labelauty+label>span.labelauty-checked-image+span.labelauty-checked{margin-right:7px;margin-left:inherit;padding:7px 7px 7px 26px;width:141px;text-align:right}.rtl #updraft_report_cell button.updraft_reportbox_delete,.rtl .updraft_box_delete_button,.rtl .updraft_small_box .updraft_box_delete_button{left:4px;right:inherit}#updraft_exclude_modal .clause-input-container{overflow:auto}#updraft_exclude_modal .clause-input-container select,#updraft_exclude_modal .clause-input-container input{float:left}#updraft_exclude_modal .clause-input-container .wildcards-input{margin:7px 7px 0 0}#updraft_exclude_modal .updraft-exclude-panel .contain-clause-sub-label{margin-top:10px;display:block}.udp-notice{border:1px solid #c3c4c7;border-left-width:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#FFF;margin:5px 0 15px 0;padding:1px 12px}.udp-notice p{margin:.5em 0;padding:2px}.udp-notice.notice-warning{border-left-color:#dba617}.udp-notice.notice-error{border-left-color:#d63638}.udp-notice.updraft-restore-option{border-left-color:#CCC;margin:8px 0 4px 0;padding:12px}div#updraft-restore-modal .udp-notice,.udp-notice.updraft-restore-option{background:#f8f8f8}@media only screen and (min-width:1024px){#updraft_activejobsrow .updraft_row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}#updraft_activejobsrow .updraft_row .updraft_col{-webkit-box-flex:1;-ms-flex:auto;flex:auto}#updraft_activejobsrow .updraft_progress_container{width:calc(100% - 230px)}}@media only screen and (min-width:782px){.settings_page_updraftplus input[type=text],.settings_page_updraftplus input[type=password],.settings_page_updraftplus input[type=number]{line-height:1.42;height:27px;padding:2px 6px;color:#555}.settings_page_updraftplus input[type="number"]{height:31px}#ud_massactions.active,#updraft-delete-waitwarning.active{position:fixed;bottom:0;left:160px;right:0;top:auto;background:#FFF;z-index:3;-webkit-box-shadow:0 0 10px rgba(0,0,0,0.2);box-shadow:0 0 10px rgba(0,0,0,0.2)}.rtl #ud_massactions.active,.rtl #updraft-delete-waitwarning.active{left:0;right:160px}body.folded #ud_massactions.active,body.folded #updraft-delete-waitwarning.active{left:36px}.updraft-after-form-table{margin-left:250px}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.range-selection:not(.backuprowselected) .updraft_existingbackup_date .backup_date_label{color:#FFF}}@media only screen and (min-width:782px) and (max-width:960px){body.auto-fold #ud_massactions.active,body.auto-fold #updraft-delete-waitwarning.active{left:36px}}@media only screen and (max-width:782px){#updraft-wrap{margin-right:0}#updraft-wrap .form-table td{padding-right:0}label.updraft_checkbox{margin-bottom:8px;margin-top:8px;margin-left:36px}.updraft_retain_rules{position:relative;margin-right:0;border:1px solid #CCC;padding:5px;margin-bottom:-1px}.updraft_retain_rules_delete{position:absolute;right:0;top:5px}a[id*=updraft_retain_]{display:block;padding:15px 15px 15px 0}label.updraft_checkbox>input[type=checkbox]{margin-left:-33px}#updraft-backupnow-button{margin:0;display:block;width:100%}.updraft_next_scheduled_backups_wrapper>.updraft_backup_btn_wrapper{padding-top:0}#ud_massactions,#updraft-delete-waitwarning{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}#ud_massactions.active{position:fixed;top:auto;bottom:0;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;-webkit-box-shadow:0 -3px 15px rgba(0,0,0,0.08);box-shadow:0 -3px 15px rgba(0,0,0,0.08);background:#FFF;z-index:3}#ud_massactions strong{display:block;margin-bottom:5px}small.ud_massactions-tip{display:block}.existing-backups-table .backup_date_label>div,.existing-backups-table .backup_date_label span>div{font-weight:normal}.existing-backups-table .backup_date_label .clear-right{display:inline-block}table.widefat.existing-backups-table{border:0;-webkit-box-shadow:none;box-shadow:none;background:transparent}.existing-backups-table thead{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;padding:0;margin:0}.existing-backups-table tr{display:block;margin-bottom:.625em;padding-bottom:16.625px;width:100%;padding:0;margin:0;margin-bottom:10px;background:#FFF;-webkit-box-shadow:0 2px 3px rgba(0,0,0,0.1);box-shadow:0 2px 3px rgba(0,0,0,0.1)}.existing-backups-table td{border-bottom:1px solid #DDD;display:block;font-size:.9em;text-align:left;width:100%;padding:10px;margin:0}.wp-list-table.existing-backups-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before{content:attr(data-label);font-weight:bold;display:block;position:relative;left:auto;padding-bottom:10px;width:auto;text-align:left}.existing-backups-table td:last-child{border-bottom:0}.form-table td.updraft_existingbackup_date{width:inherit;max-width:100%}.existing-backups-table td.before-restore-button{min-height:36px}.updraft_next_scheduled_backups_wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.updraft_next_scheduled_backups_wrapper>div{width:100%}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row{position:relative}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected{background-color:#FFF;border-left:4px solid #0572aa}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td:not(.backup-select){margin-left:50px}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td.backup-select{width:50px !important;position:absolute;left:0;top:0;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;z-index:1;border:0;border-right:1px solid rgba(0,0,0,0.05)}#updraft-navtab-backups-content .updraft_existing_backups input[type="checkbox"]{height:25px}.updraft_migrate_intro button.button.button-primary.button-hero{display:block;margin-right:0;width:100%;max-width:100%}.updraftclone-main-row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.updraftclone-main-row>div{width:auto;max-width:none;margin-right:0;margin-bottom:10px}.form-table th{padding-bottom:10px}.updraft--flex{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.updraft_restore_main{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.updraft_restore_main--components{width:100%;min-height:0}.updraft_restore_main--activity{width:100%}div#updraftplus_ajax_restore_output,.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output{position:relative;top:0;bottom:auto}.updraft--flex>.updraft--two-halves,.updraft--flex>.updraft--one-half{width:100%}.updraft-restore-item{padding-bottom:10px;padding-top:10px}}@media screen and (max-width:600px){.updraft_next_scheduled_entity{float:none;width:100%;margin-bottom:2em}.updraft_time_now_wrapper{margin-top:0}#updraft_lastlogmessagerow h3{margin-bottom:5px}#updraft_lastlogmessagerow .updraft-log-link{display:block;float:none;margin:0;margin-bottom:10px}}@media only screen and (min-width:768px){.addon-activation-notice{left:20em}.existing-backups-table tbody tr.range-selection:hover,.existing-backups-table tbody tr.range-selection{background:#0572aa}.existing-backups-table tbody tr:hover{background:#f1f1f1}.existing-backups-table tbody tr td.before-restore-button{position:relative}.form-table .existing-backups-table thead th.check-column{padding-left:6px}.existing-backups-table tr td:first-child{border-left:4px solid transparent}.existing-backups-table tr.backuprowselected td:first-child{border-left-color:#0572aa}}@media screen and (min-width:670px){.expertmode .advanced_settings_container .advanced_settings_menu{float:left;width:215px;border-right:1px solid #ccc;border-bottom:0}.expertmode .advanced_settings_container .advanced_settings_content{padding-left:10px;padding-top:0}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{display:block}}@media only screen and (max-width:1068px){.updraft-more-plugins .udp-box{width:calc(50% - 10px);margin-bottom:20px}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){width:100px}}@media only screen and (max-width:600px){.updraft-more-plugins .udp-box{width:100%;margin-bottom:20px}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){width:auto}table.updraft_feat_table{display:block}table.updraft_feat_table tr{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}table.updraft_feat_table td{display:block}table.updraft_feat_table td:first-child{width:100%;border-bottom:0}table.updraft_feat_table td:not(:first-child){width:50%;-webkit-box-sizing:border-box;box-sizing:border-box}table.updraft_feat_table td:first-child:empty{display:none}td[data-colname]::before{content:attr(data-colname);font-size:.8rem;color:#CCC;line-height:1}} /*# sourceMappingURL=updraftplus-admin-1-24-6.min.css.map */ css/updraftplus-notices-1-24-4.min.css.map000064400000005132147400355670014155 0ustar00{"version":3,"sources":["css/updraftplus-notices.css"],"names":[],"mappings":"AAAA,oBAAoB;;AAEpB;CACC,YAAY;CACZ,gBAAgB;AACjB;;AAEA;CACC,aAAa;CACb,oBAAa;CAAb,oBAAa;CAAb,aAAa;AACd;;AAEA;CACC,mBAAmB;CACnB,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,yBAAmB;KAAnB,sBAAmB;SAAnB,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,WAAW;CACX,gBAAgB;CAChB,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,yBAAmB;KAAnB,sBAAmB;SAAnB,mBAAmB;AACpB;;AAEA;CACC,gBAAgB;CAChB,eAAe;AAChB;;AAEA;CACC,WAAW;CACX,WAAW;CACX,gBAAgB;CAChB,eAAe;AAChB;;AAEA;CACC,yBAAyB;AAC1B;;AAEA;CACC,cAAc;CACd,aAAa;CACb,eAAe;CACf,uBAAuB;CACvB,qBAAqB;CACrB,iBAAiB;CACjB,kBAAkB;AACnB;;AAEA;CACC,YAAY;CACZ,eAAe;CACf,mBAAmB;AACpB;;AAEA;CACC,0BAA0B;CAC1B,6BAA6B;AAC9B;;AAEA;CACC,0BAA0B;CAC1B,6BAA6B;AAC9B;;AAEA;CACC,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;;CAEC;EACC,WAAW;CACZ;;AAED","file":"updraftplus-notices-1-24-4.min.css","sourcesContent":["/* CSS for adverts */\n\n.updraft_notice_container {\n\theight: auto;\n\toverflow: hidden;\n}\n\n.updraft_review_notice_container {\n\tpadding: 12px;\n\tdisplay: flex;\n}\n\n.updraft_advert_button_container {\n\tmargin-bottom: 10px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.updraft_advert_button_container .dashicons {\n\tmargin-left: 10px;\n}\n\n.updraft_advert_content_left {\n\tfloat: none;\n\twidth: 80px;\n\tpadding-top: 9px;\n\tmargin-right: 9px;\n}\n\n.updraft_advert_content_left_extra {\n\tfloat: none;\n\twidth: 100px;\n\tpadding-right: 15px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.updraft_advert_content_left img {\n\tmin-height: 72px;\n\tmin-width: 72px;\n}\n\n.updraft_advert_content_right {\n\tfloat: none;\n\twidth: auto;\n\toverflow: hidden;\n\tfont-size: 16px;\n}\n\n.updraft_advert_content_right p {\n\tfont-size: 16px!important;\n}\n\n.updraft_advert_bottom {\n\tmargin: 10px 0;\n\tpadding: 10px;\n\tfont-size: 140%;\n\tbackground-color: white;\n\tborder-color: #E6DB55;\n\tborder: 1px solid;\n\tborder-radius: 4px;\n}\n\n.updraft-advert-dismiss {\n\tfloat: right;\n\tfont-size: 13px;\n\tfont-weight: normal;\n}\n\nh3.updraft_advert_heading {\n\tmargin-top: 5px !important;\n\tmargin-bottom: 5px !important;\n}\n\nh4.updraft_advert_heading {\n\tmargin-top: 2px !important;\n\tmargin-bottom: 3px !important;\n}\n\n.updraft_center_content {\n\ttext-align: center;\n\tmargin-bottom: 5px;\n}\n\n.updraft_notice_link {\n\tpadding-left: 5px;\n}\n\n.updraft_text_center {\n\ttext-align: center;\n}\n\n@media screen and (min-width: 560px) {\n\n\t.updraft_advert_content_left, .updraft_advert_content_left_extra {\n\t\tfloat: left;\n\t}\n\n}\n"]}css/tether-shepherd/shepherd-theme-arrows-fix.css000064400000001160147400355670016153 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before { display: none; } css/tether-shepherd/shepherd-theme-square.min.css000064400000025314147400355670016143 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before{display:none}.shepherd-element,.shepherd-element:after,.shepherd-element:before,.shepherd-element *,.shepherd-element *:after,.shepherd-element *:before{box-sizing:border-box}.shepherd-element{position:absolute;display:none}.shepherd-element.shepherd-open{display:block}.shepherd-element.shepherd-theme-square{max-width:100%;max-height:100%}.shepherd-element.shepherd-theme-square .shepherd-content{border-radius:5px;position:relative;font-family:inherit;background:#f6f6f6;color:#444;padding:1em;font-size:1.1em;line-height:1.5em}.shepherd-element.shepherd-theme-square .shepherd-content:before{content:"";display:block;position:absolute;width:0;height:0;border-color:transparent;border-width:16px;border-style:solid;pointer-events:none}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before{top:100%;left:50%;margin-left:-16px;border-top-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before{bottom:100%;left:50%;margin-left:-16px;border-bottom-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before{left:100%;top:50%;margin-top:-16px;border-left-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before{right:100%;top:50%;margin-top:-16px;border-right-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content{left:-32px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content{left:32px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{top:100%;left:16px;border-top-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{top:100%;right:16px;border-top-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before{top:100%;left:16px;border-top-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before{top:100%;right:16px;border-top-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{top:16px;left:100%;border-left-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{top:16px;right:100%;border-right-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{bottom:16px;left:100%;border-left-color:#f6f6f6}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{bottom:16px;right:100%;border-right-color:#f6f6f6}.shepherd-element.shepherd-theme-square{border-radius:0;z-index:9999;max-width:24em;font-size:1em}.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before{border-bottom-color:#e6e6e6}.shepherd-element.shepherd-theme-square.shepherd-has-title .shepherd-content header{background:#e6e6e6;padding:1em}.shepherd-element.shepherd-theme-square.shepherd-has-title .shepherd-content header a.shepherd-cancel-link{padding:0;margin-bottom:0}.shepherd-element.shepherd-theme-square.shepherd-has-cancel-link .shepherd-content header h3{float:left}.shepherd-element.shepherd-theme-square .shepherd-content{box-shadow:0 0 0 1px rgba(0,0,0,0.17);border-radius:0;padding:0}.shepherd-element.shepherd-theme-square .shepherd-content *{font-size:inherit}.shepherd-element.shepherd-theme-square .shepherd-content header{*zoom:1;border-radius:0}.shepherd-element.shepherd-theme-square .shepherd-content header:after{content:"";display:table;clear:both}.shepherd-element.shepherd-theme-square .shepherd-content header h3{margin:0;line-height:1;font-weight:normal}.shepherd-element.shepherd-theme-square .shepherd-content header a.shepherd-cancel-link{float:right;text-decoration:none;font-size:1.25em;line-height:.8em;font-weight:normal;color:rgba(0,0,0,0.5);opacity:.25;position:relative;top:.1em;padding:.8em;margin-bottom:-.8em}.shepherd-element.shepherd-theme-square .shepherd-content header a.shepherd-cancel-link:hover{opacity:1}.shepherd-element.shepherd-theme-square .shepherd-content .shepherd-text{padding:1em}.shepherd-element.shepherd-theme-square .shepherd-content .shepherd-text p{margin:0 0 .5em 0;line-height:1.3em}.shepherd-element.shepherd-theme-square .shepherd-content .shepherd-text p:last-child{margin-bottom:0}.shepherd-element.shepherd-theme-square .shepherd-content footer{padding:0 1em 1em}.shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons{text-align:right;list-style:none;padding:0;margin:0}.shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li{display:inline;padding:0;margin:0}.shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li .shepherd-button{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;border-radius:0;cursor:pointer;border:0;margin:0 .5em 0 0;font-family:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:.8em;line-height:1em;padding:.75em 2em;background:#3288e6;color:#fff}.shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary{background:#eee;color:#888}.shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button{margin-right:0}.shepherd-start-tour-button.shepherd-theme-square{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;border-radius:0;cursor:pointer;border:0;margin:0 .5em 0 0;font-family:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:.8em;line-height:1em;padding:.75em 2em;background:#3288e6;color:#fff}css/tether-shepherd/shepherd-theme-arrows.min.css000064400000024517147400355670016164 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before{display:none}.shepherd-element,.shepherd-element:after,.shepherd-element:before,.shepherd-element *,.shepherd-element *:after,.shepherd-element *:before{box-sizing:border-box}.shepherd-element{position:absolute;display:none}.shepherd-element.shepherd-open{display:block}.shepherd-element.shepherd-theme-arrows{max-width:100%;max-height:100%}.shepherd-element.shepherd-theme-arrows .shepherd-content{border-radius:5px;position:relative;font-family:inherit;background:#fff;color:#444;padding:1em;font-size:1.1em;line-height:1.5em;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-filter:drop-shadow(0 1px 4px rgba(0,0,0,0.2));filter:drop-shadow(0 1px 4px rgba(0,0,0,0.2))}.shepherd-element.shepherd-theme-arrows .shepherd-content:before{content:"";display:block;position:absolute;width:0;height:0;border-color:transparent;border-width:16px;border-style:solid;pointer-events:none}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before{top:100%;left:50%;margin-left:-16px;border-top-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before{bottom:100%;left:50%;margin-left:-16px;border-bottom-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before{left:100%;top:50%;margin-top:-16px;border-left-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before{right:100%;top:50%;margin-top:-16px;border-right-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content{left:-32px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content{left:32px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{top:100%;left:16px;border-top-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{top:100%;right:16px;border-top-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before{top:100%;left:16px;border-top-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before{top:100%;right:16px;border-top-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{top:16px;left:100%;border-left-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{top:16px;right:100%;border-right-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{bottom:16px;left:100%;border-left-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{bottom:16px;right:100%;border-right-color:#fff}.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before{border-bottom-color:#eee}.shepherd-element.shepherd-theme-arrows.shepherd-has-title .shepherd-content header{background:#eee;padding:1em}.shepherd-element.shepherd-theme-arrows.shepherd-has-title .shepherd-content header a.shepherd-cancel-link{padding:0;margin-bottom:0}.shepherd-element.shepherd-theme-arrows.shepherd-has-cancel-link .shepherd-content header h3{float:left}.shepherd-element.shepherd-theme-arrows .shepherd-content{padding:0}.shepherd-element.shepherd-theme-arrows .shepherd-content *{font-size:inherit}.shepherd-element.shepherd-theme-arrows .shepherd-content header{*zoom:1;border-radius:5px 5px 0 0}.shepherd-element.shepherd-theme-arrows .shepherd-content header:after{content:"";display:table;clear:both}.shepherd-element.shepherd-theme-arrows .shepherd-content header h3{margin:0;line-height:1;font-weight:normal}.shepherd-element.shepherd-theme-arrows .shepherd-content header a.shepherd-cancel-link{float:right;text-decoration:none;font-size:1.25em;line-height:.8em;font-weight:normal;color:rgba(0,0,0,0.5);opacity:.25;position:relative;top:.1em;padding:.8em;margin-bottom:-.8em}.shepherd-element.shepherd-theme-arrows .shepherd-content header a.shepherd-cancel-link:hover{opacity:1}.shepherd-element.shepherd-theme-arrows .shepherd-content .shepherd-text{padding:1em}.shepherd-element.shepherd-theme-arrows .shepherd-content .shepherd-text p{margin:0 0 .5em 0;line-height:1.3em}.shepherd-element.shepherd-theme-arrows .shepherd-content .shepherd-text p:last-child{margin-bottom:0}.shepherd-element.shepherd-theme-arrows .shepherd-content footer{padding:0 1em 1em}.shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons{text-align:right;list-style:none;padding:0;margin:0}.shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li{display:inline;padding:0;margin:0}.shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li .shepherd-button{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;border-radius:3px;cursor:pointer;border:0;margin:0 .5em 0 0;font-family:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:.8em;line-height:1em;padding:.75em 2em;background:#3288e6;color:#fff}.shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary{background:#eee;color:#888}.shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button{margin-right:0}css/tether-shepherd/shepherd-theme-square-dark.css000064400000031603147400355670016276 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before { display: none; } .shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before { box-sizing: border-box; } .shepherd-element { position: absolute; display: none; } .shepherd-element.shepherd-open { display: block; } .shepherd-element.shepherd-theme-square-dark { max-width: 100%; max-height: 100%; } .shepherd-element.shepherd-theme-square-dark .shepherd-content { border-radius: 5px; position: relative; font-family: inherit; background: #232323; color: #eee; padding: 1em; font-size: 1.1em; line-height: 1.5em; } .shepherd-element.shepherd-theme-square-dark .shepherd-content:before { content: ""; display: block; position: absolute; width: 0; height: 0; border-color: transparent; border-width: 16px; border-style: solid; pointer-events: none; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before { top: 100%; left: 50%; margin-left: -16px; border-top-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before { bottom: 100%; left: 50%; margin-left: -16px; border-bottom-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before { left: 100%; top: 50%; margin-top: -16px; border-left-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before { right: 100%; top: 50%; margin-top: -16px; border-right-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content { left: -32px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content { left: 32px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { top: 100%; left: 16px; border-top-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { top: 100%; right: 16px; border-top-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before { top: 100%; left: 16px; border-top-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before { top: 100%; right: 16px; border-top-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { top: 16px; left: 100%; border-left-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { top: 16px; right: 100%; border-right-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { bottom: 16px; left: 100%; border-left-color: #232323; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { bottom: 16px; right: 100%; border-right-color: #232323; } .shepherd-element.shepherd-theme-square-dark { border-radius: 0; z-index: 9999; max-width: 24em; font-size: 1em; } .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before { border-bottom-color: #303030; } .shepherd-element.shepherd-theme-square-dark.shepherd-has-title .shepherd-content header { background: #303030; padding: 1em; } .shepherd-element.shepherd-theme-square-dark.shepherd-has-title .shepherd-content header a.shepherd-cancel-link { padding: 0; margin-bottom: 0; } .shepherd-element.shepherd-theme-square-dark.shepherd-has-cancel-link .shepherd-content header h3 { float: left; } .shepherd-element.shepherd-theme-square-dark .shepherd-content { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.17); border-radius: 0; padding: 0; } .shepherd-element.shepherd-theme-square-dark .shepherd-content * { font-size: inherit; } .shepherd-element.shepherd-theme-square-dark .shepherd-content header { *zoom: 1; border-radius: 0; } .shepherd-element.shepherd-theme-square-dark .shepherd-content header:after { content: ""; display: table; clear: both; } .shepherd-element.shepherd-theme-square-dark .shepherd-content header h3 { margin: 0; line-height: 1; font-weight: normal; } .shepherd-element.shepherd-theme-square-dark .shepherd-content header a.shepherd-cancel-link { float: right; text-decoration: none; font-size: 1.25em; line-height: .8em; font-weight: normal; color: rgba(0, 0, 0, 0.5); opacity: 0.25; position: relative; top: .1em; padding: .8em; margin-bottom: -.8em; } .shepherd-element.shepherd-theme-square-dark .shepherd-content header a.shepherd-cancel-link:hover { opacity: 1; } .shepherd-element.shepherd-theme-square-dark .shepherd-content .shepherd-text { padding: 1em; } .shepherd-element.shepherd-theme-square-dark .shepherd-content .shepherd-text p { margin: 0 0 .5em 0; line-height: 1.3em; } .shepherd-element.shepherd-theme-square-dark .shepherd-content .shepherd-text p:last-child { margin-bottom: 0; } .shepherd-element.shepherd-theme-square-dark .shepherd-content footer { padding: 0 1em 1em; } .shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons { text-align: right; list-style: none; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li { display: inline; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li .shepherd-button { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; border-radius: 0; cursor: pointer; border: 0; margin: 0 .5em 0 0; font-family: inherit; text-transform: uppercase; letter-spacing: .1em; font-size: .8em; line-height: 1em; padding: .75em 2em; background: #3288e6; color: #fff; } .shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary { background: #eee; color: #888; } .shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button { margin-right: 0; } .shepherd-start-tour-button.shepherd-theme-square-dark { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; border-radius: 0; cursor: pointer; border: 0; margin: 0 .5em 0 0; font-family: inherit; text-transform: uppercase; letter-spacing: .1em; font-size: .8em; line-height: 1em; padding: .75em 2em; background: #3288e6; color: #fff; } css/tether-shepherd/shepherd-theme-arrows-fix.min.css000064400000001145147400355670016740 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before{display:none}css/tether-shepherd/shepherd-theme-default.min.css000064400000025367147400355670016277 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before{display:none}.shepherd-element,.shepherd-element:after,.shepherd-element:before,.shepherd-element *,.shepherd-element *:after,.shepherd-element *:before{box-sizing:border-box}.shepherd-element{position:absolute;display:none}.shepherd-element.shepherd-open{display:block}.shepherd-element.shepherd-theme-default{max-width:100%;max-height:100%}.shepherd-element.shepherd-theme-default .shepherd-content{border-radius:5px;position:relative;font-family:inherit;background:#f6f6f6;color:#444;padding:1em;font-size:1.1em;line-height:1.5em}.shepherd-element.shepherd-theme-default .shepherd-content:before{content:"";display:block;position:absolute;width:0;height:0;border-color:transparent;border-width:16px;border-style:solid;pointer-events:none}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before{top:100%;left:50%;margin-left:-16px;border-top-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before{bottom:100%;left:50%;margin-left:-16px;border-bottom-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before{left:100%;top:50%;margin-top:-16px;border-left-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before{right:100%;top:50%;margin-top:-16px;border-right-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content{left:-32px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content{left:32px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{top:100%;left:16px;border-top-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{top:100%;right:16px;border-top-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before{top:100%;left:16px;border-top-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before{top:100%;right:16px;border-top-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{top:16px;left:100%;border-left-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{top:16px;right:100%;border-right-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{bottom:16px;left:100%;border-left-color:#f6f6f6}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{bottom:16px;right:100%;border-right-color:#f6f6f6}.shepherd-element.shepherd-theme-default{z-index:9999;max-width:24em;font-size:1em}.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before{border-bottom-color:#e6e6e6}.shepherd-element.shepherd-theme-default.shepherd-has-title .shepherd-content header{background:#e6e6e6;padding:1em}.shepherd-element.shepherd-theme-default.shepherd-has-title .shepherd-content header a.shepherd-cancel-link{padding:0;margin-bottom:0}.shepherd-element.shepherd-theme-default.shepherd-has-cancel-link .shepherd-content header h3{float:left}.shepherd-element.shepherd-theme-default .shepherd-content{box-shadow:0 0 0 1px rgba(0,0,0,0.17);padding:0}.shepherd-element.shepherd-theme-default .shepherd-content *{font-size:inherit}.shepherd-element.shepherd-theme-default .shepherd-content header{*zoom:1;border-radius:5px 5px 0 0}.shepherd-element.shepherd-theme-default .shepherd-content header:after{content:"";display:table;clear:both}.shepherd-element.shepherd-theme-default .shepherd-content header h3{margin:0;line-height:1;font-weight:normal}.shepherd-element.shepherd-theme-default .shepherd-content header a.shepherd-cancel-link{float:right;text-decoration:none;font-size:1.25em;line-height:.8em;font-weight:normal;color:rgba(0,0,0,0.5);opacity:.25;position:relative;top:.1em;padding:.8em;margin-bottom:-.8em}.shepherd-element.shepherd-theme-default .shepherd-content header a.shepherd-cancel-link:hover{opacity:1}.shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text{padding:1em}.shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text p{margin:0 0 .5em 0;line-height:1.3em}.shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text p:last-child{margin-bottom:0}.shepherd-element.shepherd-theme-default .shepherd-content footer{padding:0 1em 1em}.shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons{text-align:right;list-style:none;padding:0;margin:0}.shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li{display:inline;padding:0;margin:0}.shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li .shepherd-button{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;border-radius:3px;cursor:pointer;border:0;margin:0 .5em 0 0;font-family:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:.8em;line-height:1em;padding:.75em 2em;background:#3288e6;color:#fff}.shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary{background:#eee;color:#888}.shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button{margin-right:0}.shepherd-start-tour-button.shepherd-theme-default{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;border-radius:3px;cursor:pointer;border:0;margin:0 .5em 0 0;font-family:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:.8em;line-height:1em;padding:.75em 2em;background:#3288e6;color:#fff}css/tether-shepherd/shepherd-theme-square-dark.min.css000064400000025775147400355670017075 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before{display:none}.shepherd-element,.shepherd-element:after,.shepherd-element:before,.shepherd-element *,.shepherd-element *:after,.shepherd-element *:before{box-sizing:border-box}.shepherd-element{position:absolute;display:none}.shepherd-element.shepherd-open{display:block}.shepherd-element.shepherd-theme-square-dark{max-width:100%;max-height:100%}.shepherd-element.shepherd-theme-square-dark .shepherd-content{border-radius:5px;position:relative;font-family:inherit;background:#232323;color:#eee;padding:1em;font-size:1.1em;line-height:1.5em}.shepherd-element.shepherd-theme-square-dark .shepherd-content:before{content:"";display:block;position:absolute;width:0;height:0;border-color:transparent;border-width:16px;border-style:solid;pointer-events:none}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before{top:100%;left:50%;margin-left:-16px;border-top-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before{bottom:100%;left:50%;margin-left:-16px;border-bottom-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before{left:100%;top:50%;margin-top:-16px;border-left-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before{right:100%;top:50%;margin-top:-16px;border-right-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content{left:-32px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content{left:32px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{top:100%;left:16px;border-top-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{top:100%;right:16px;border-top-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before{top:100%;left:16px;border-top-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before{top:100%;right:16px;border-top-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{top:16px;left:100%;border-left-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{top:16px;right:100%;border-right-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{bottom:16px;left:100%;border-left-color:#232323}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{bottom:16px;right:100%;border-right-color:#232323}.shepherd-element.shepherd-theme-square-dark{border-radius:0;z-index:9999;max-width:24em;font-size:1em}.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-square-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before{border-bottom-color:#303030}.shepherd-element.shepherd-theme-square-dark.shepherd-has-title .shepherd-content header{background:#303030;padding:1em}.shepherd-element.shepherd-theme-square-dark.shepherd-has-title .shepherd-content header a.shepherd-cancel-link{padding:0;margin-bottom:0}.shepherd-element.shepherd-theme-square-dark.shepherd-has-cancel-link .shepherd-content header h3{float:left}.shepherd-element.shepherd-theme-square-dark .shepherd-content{box-shadow:0 0 0 1px rgba(0,0,0,0.17);border-radius:0;padding:0}.shepherd-element.shepherd-theme-square-dark .shepherd-content *{font-size:inherit}.shepherd-element.shepherd-theme-square-dark .shepherd-content header{*zoom:1;border-radius:0}.shepherd-element.shepherd-theme-square-dark .shepherd-content header:after{content:"";display:table;clear:both}.shepherd-element.shepherd-theme-square-dark .shepherd-content header h3{margin:0;line-height:1;font-weight:normal}.shepherd-element.shepherd-theme-square-dark .shepherd-content header a.shepherd-cancel-link{float:right;text-decoration:none;font-size:1.25em;line-height:.8em;font-weight:normal;color:rgba(0,0,0,0.5);opacity:.25;position:relative;top:.1em;padding:.8em;margin-bottom:-.8em}.shepherd-element.shepherd-theme-square-dark .shepherd-content header a.shepherd-cancel-link:hover{opacity:1}.shepherd-element.shepherd-theme-square-dark .shepherd-content .shepherd-text{padding:1em}.shepherd-element.shepherd-theme-square-dark .shepherd-content .shepherd-text p{margin:0 0 .5em 0;line-height:1.3em}.shepherd-element.shepherd-theme-square-dark .shepherd-content .shepherd-text p:last-child{margin-bottom:0}.shepherd-element.shepherd-theme-square-dark .shepherd-content footer{padding:0 1em 1em}.shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons{text-align:right;list-style:none;padding:0;margin:0}.shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li{display:inline;padding:0;margin:0}.shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li .shepherd-button{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;border-radius:0;cursor:pointer;border:0;margin:0 .5em 0 0;font-family:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:.8em;line-height:1em;padding:.75em 2em;background:#3288e6;color:#fff}.shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary{background:#eee;color:#888}.shepherd-element.shepherd-theme-square-dark .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button{margin-right:0}.shepherd-start-tour-button.shepherd-theme-square-dark{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;border-radius:0;cursor:pointer;border:0;margin:0 .5em 0 0;font-family:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:.8em;line-height:1em;padding:.75em 2em;background:#3288e6;color:#fff}css/tether-shepherd/shepherd-theme-default.css000064400000031163147400355670015504 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before { display: none; } .shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before { box-sizing: border-box; } .shepherd-element { position: absolute; display: none; } .shepherd-element.shepherd-open { display: block; } .shepherd-element.shepherd-theme-default { max-width: 100%; max-height: 100%; } .shepherd-element.shepherd-theme-default .shepherd-content { border-radius: 5px; position: relative; font-family: inherit; background: #f6f6f6; color: #444; padding: 1em; font-size: 1.1em; line-height: 1.5em; } .shepherd-element.shepherd-theme-default .shepherd-content:before { content: ""; display: block; position: absolute; width: 0; height: 0; border-color: transparent; border-width: 16px; border-style: solid; pointer-events: none; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before { top: 100%; left: 50%; margin-left: -16px; border-top-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before { bottom: 100%; left: 50%; margin-left: -16px; border-bottom-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before { left: 100%; top: 50%; margin-top: -16px; border-left-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before { right: 100%; top: 50%; margin-top: -16px; border-right-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content { left: -32px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content { left: 32px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { top: 100%; left: 16px; border-top-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { top: 100%; right: 16px; border-top-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before { top: 100%; left: 16px; border-top-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before { top: 100%; right: 16px; border-top-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { top: 16px; left: 100%; border-left-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { top: 16px; right: 100%; border-right-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { bottom: 16px; left: 100%; border-left-color: #f6f6f6; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { bottom: 16px; right: 100%; border-right-color: #f6f6f6; } .shepherd-element.shepherd-theme-default { z-index: 9999; max-width: 24em; font-size: 1em; } .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-default.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before { border-bottom-color: #e6e6e6; } .shepherd-element.shepherd-theme-default.shepherd-has-title .shepherd-content header { background: #e6e6e6; padding: 1em; } .shepherd-element.shepherd-theme-default.shepherd-has-title .shepherd-content header a.shepherd-cancel-link { padding: 0; margin-bottom: 0; } .shepherd-element.shepherd-theme-default.shepherd-has-cancel-link .shepherd-content header h3 { float: left; } .shepherd-element.shepherd-theme-default .shepherd-content { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.17); padding: 0; } .shepherd-element.shepherd-theme-default .shepherd-content * { font-size: inherit; } .shepherd-element.shepherd-theme-default .shepherd-content header { *zoom: 1; border-radius: 5px 5px 0 0; } .shepherd-element.shepherd-theme-default .shepherd-content header:after { content: ""; display: table; clear: both; } .shepherd-element.shepherd-theme-default .shepherd-content header h3 { margin: 0; line-height: 1; font-weight: normal; } .shepherd-element.shepherd-theme-default .shepherd-content header a.shepherd-cancel-link { float: right; text-decoration: none; font-size: 1.25em; line-height: .8em; font-weight: normal; color: rgba(0, 0, 0, 0.5); opacity: 0.25; position: relative; top: .1em; padding: .8em; margin-bottom: -.8em; } .shepherd-element.shepherd-theme-default .shepherd-content header a.shepherd-cancel-link:hover { opacity: 1; } .shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text { padding: 1em; } .shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text p { margin: 0 0 .5em 0; line-height: 1.3em; } .shepherd-element.shepherd-theme-default .shepherd-content .shepherd-text p:last-child { margin-bottom: 0; } .shepherd-element.shepherd-theme-default .shepherd-content footer { padding: 0 1em 1em; } .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons { text-align: right; list-style: none; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li { display: inline; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li .shepherd-button { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; border-radius: 3px; cursor: pointer; border: 0; margin: 0 .5em 0 0; font-family: inherit; text-transform: uppercase; letter-spacing: .1em; font-size: .8em; line-height: 1em; padding: .75em 2em; background: #3288e6; color: #fff; } .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary { background: #eee; color: #888; } .shepherd-element.shepherd-theme-default .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button { margin-right: 0; } .shepherd-start-tour-button.shepherd-theme-default { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; border-radius: 3px; cursor: pointer; border: 0; margin: 0 .5em 0 0; font-family: inherit; text-transform: uppercase; letter-spacing: .1em; font-size: .8em; line-height: 1em; padding: .75em 2em; background: #3288e6; color: #fff; } css/tether-shepherd/shepherd-theme-arrows.css000064400000027772147400355670015410 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before { display: none; } .shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before { box-sizing: border-box; } .shepherd-element { position: absolute; display: none; } .shepherd-element.shepherd-open { display: block; } .shepherd-element.shepherd-theme-arrows { max-width: 100%; max-height: 100%; } .shepherd-element.shepherd-theme-arrows .shepherd-content { border-radius: 5px; position: relative; font-family: inherit; background: #fff; color: #444; padding: 1em; font-size: 1.1em; line-height: 1.5em; -webkit-transform: translateZ(0); transform: translateZ(0); -webkit-filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2)); filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2)); } .shepherd-element.shepherd-theme-arrows .shepherd-content:before { content: ""; display: block; position: absolute; width: 0; height: 0; border-color: transparent; border-width: 16px; border-style: solid; pointer-events: none; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before { top: 100%; left: 50%; margin-left: -16px; border-top-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before { bottom: 100%; left: 50%; margin-left: -16px; border-bottom-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before { left: 100%; top: 50%; margin-top: -16px; border-left-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before { right: 100%; top: 50%; margin-top: -16px; border-right-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content { left: -32px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content { left: 32px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { top: 100%; left: 16px; border-top-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { top: 100%; right: 16px; border-top-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before { top: 100%; left: 16px; border-top-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before { top: 100%; right: 16px; border-top-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { top: 16px; left: 100%; border-left-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { top: 16px; right: 100%; border-right-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { bottom: 16px; left: 100%; border-left-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { bottom: 16px; right: 100%; border-right-color: #fff; } .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before { border-bottom-color: #eee; } .shepherd-element.shepherd-theme-arrows.shepherd-has-title .shepherd-content header { background: #eee; padding: 1em; } .shepherd-element.shepherd-theme-arrows.shepherd-has-title .shepherd-content header a.shepherd-cancel-link { padding: 0; margin-bottom: 0; } .shepherd-element.shepherd-theme-arrows.shepherd-has-cancel-link .shepherd-content header h3 { float: left; } .shepherd-element.shepherd-theme-arrows .shepherd-content { padding: 0; } .shepherd-element.shepherd-theme-arrows .shepherd-content * { font-size: inherit; } .shepherd-element.shepherd-theme-arrows .shepherd-content header { *zoom: 1; border-radius: 5px 5px 0 0; } .shepherd-element.shepherd-theme-arrows .shepherd-content header:after { content: ""; display: table; clear: both; } .shepherd-element.shepherd-theme-arrows .shepherd-content header h3 { margin: 0; line-height: 1; font-weight: normal; } .shepherd-element.shepherd-theme-arrows .shepherd-content header a.shepherd-cancel-link { float: right; text-decoration: none; font-size: 1.25em; line-height: .8em; font-weight: normal; color: rgba(0, 0, 0, 0.5); opacity: 0.25; position: relative; top: .1em; padding: .8em; margin-bottom: -.8em; } .shepherd-element.shepherd-theme-arrows .shepherd-content header a.shepherd-cancel-link:hover { opacity: 1; } .shepherd-element.shepherd-theme-arrows .shepherd-content .shepherd-text { padding: 1em; } .shepherd-element.shepherd-theme-arrows .shepherd-content .shepherd-text p { margin: 0 0 .5em 0; line-height: 1.3em; } .shepherd-element.shepherd-theme-arrows .shepherd-content .shepherd-text p:last-child { margin-bottom: 0; } .shepherd-element.shepherd-theme-arrows .shepherd-content footer { padding: 0 1em 1em; } .shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons { text-align: right; list-style: none; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li { display: inline; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li .shepherd-button { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; border-radius: 3px; cursor: pointer; border: 0; margin: 0 .5em 0 0; font-family: inherit; text-transform: uppercase; letter-spacing: .1em; font-size: .8em; line-height: 1em; padding: .75em 2em; background: #3288e6; color: #fff; } .shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary { background: #eee; color: #888; } .shepherd-element.shepherd-theme-arrows .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button { margin-right: 0; } css/tether-shepherd/shepherd-theme-dark.css000064400000030671147400355670015004 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before { display: none; } .shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before { box-sizing: border-box; } .shepherd-element { position: absolute; display: none; } .shepherd-element.shepherd-open { display: block; } .shepherd-element.shepherd-theme-dark { max-width: 100%; max-height: 100%; } .shepherd-element.shepherd-theme-dark .shepherd-content { border-radius: 5px; position: relative; font-family: inherit; background: #232323; color: #eee; padding: 1em; font-size: 1.1em; line-height: 1.5em; } .shepherd-element.shepherd-theme-dark .shepherd-content:before { content: ""; display: block; position: absolute; width: 0; height: 0; border-color: transparent; border-width: 16px; border-style: solid; pointer-events: none; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before { top: 100%; left: 50%; margin-left: -16px; border-top-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before { bottom: 100%; left: 50%; margin-left: -16px; border-bottom-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before { left: 100%; top: 50%; margin-top: -16px; border-left-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before { right: 100%; top: 50%; margin-top: -16px; border-right-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content { left: -32px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content { left: 32px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { top: 100%; left: 16px; border-top-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { top: 100%; right: 16px; border-top-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before { top: 100%; left: 16px; border-top-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before { top: 100%; right: 16px; border-top-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { top: 16px; left: 100%; border-left-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { top: 16px; right: 100%; border-right-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { bottom: 16px; left: 100%; border-left-color: #232323; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { bottom: 16px; right: 100%; border-right-color: #232323; } .shepherd-element.shepherd-theme-dark { z-index: 9999; max-width: 24em; font-size: 1em; } .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before { border-bottom-color: #303030; } .shepherd-element.shepherd-theme-dark.shepherd-has-title .shepherd-content header { background: #303030; padding: 1em; } .shepherd-element.shepherd-theme-dark.shepherd-has-title .shepherd-content header a.shepherd-cancel-link { padding: 0; margin-bottom: 0; } .shepherd-element.shepherd-theme-dark.shepherd-has-cancel-link .shepherd-content header h3 { float: left; } .shepherd-element.shepherd-theme-dark .shepherd-content { box-shadow: 0 0 1em rgba(0, 0, 0, 0.2); padding: 0; } .shepherd-element.shepherd-theme-dark .shepherd-content * { font-size: inherit; } .shepherd-element.shepherd-theme-dark .shepherd-content header { *zoom: 1; border-radius: 5px 5px 0 0; } .shepherd-element.shepherd-theme-dark .shepherd-content header:after { content: ""; display: table; clear: both; } .shepherd-element.shepherd-theme-dark .shepherd-content header h3 { margin: 0; line-height: 1; font-weight: normal; } .shepherd-element.shepherd-theme-dark .shepherd-content header a.shepherd-cancel-link { float: right; text-decoration: none; font-size: 1.25em; line-height: .8em; font-weight: normal; color: rgba(0, 0, 0, 0.5); opacity: 0.25; position: relative; top: .1em; padding: .8em; margin-bottom: -.8em; } .shepherd-element.shepherd-theme-dark .shepherd-content header a.shepherd-cancel-link:hover { opacity: 1; } .shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text { padding: 1em; } .shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text p { margin: 0 0 .5em 0; line-height: 1.3em; } .shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text p:last-child { margin-bottom: 0; } .shepherd-element.shepherd-theme-dark .shepherd-content footer { padding: 0 1em 1em; } .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons { text-align: right; list-style: none; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li { display: inline; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li .shepherd-button { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; border-radius: 3px; cursor: pointer; border: 0; margin: 0 .5em 0 0; font-family: inherit; text-transform: uppercase; letter-spacing: .1em; font-size: .8em; line-height: 1em; padding: .75em 2em; background: #3288e6; color: #fff; } .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary { background: #eee; color: #888; } .shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button { margin-right: 0; } .shepherd-start-tour-button.shepherd-theme-dark { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; border-radius: 3px; cursor: pointer; border: 0; margin: 0 .5em 0 0; font-family: inherit; text-transform: uppercase; letter-spacing: .1em; font-size: .8em; line-height: 1em; padding: .75em 2em; background: #3288e6; color: #fff; } css/tether-shepherd/shepherd-theme-square.css000064400000031122147400355670015353 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before { display: none; } .shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before { box-sizing: border-box; } .shepherd-element { position: absolute; display: none; } .shepherd-element.shepherd-open { display: block; } .shepherd-element.shepherd-theme-square { max-width: 100%; max-height: 100%; } .shepherd-element.shepherd-theme-square .shepherd-content { border-radius: 5px; position: relative; font-family: inherit; background: #f6f6f6; color: #444; padding: 1em; font-size: 1.1em; line-height: 1.5em; } .shepherd-element.shepherd-theme-square .shepherd-content:before { content: ""; display: block; position: absolute; width: 0; height: 0; border-color: transparent; border-width: 16px; border-style: solid; pointer-events: none; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before { top: 100%; left: 50%; margin-left: -16px; border-top-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before { bottom: 100%; left: 50%; margin-left: -16px; border-bottom-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before { left: 100%; top: 50%; margin-top: -16px; border-left-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before { right: 100%; top: 50%; margin-top: -16px; border-right-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content { left: -32px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content { left: 32px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { top: 100%; left: 16px; border-top-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { top: 100%; right: 16px; border-top-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before { top: 100%; left: 16px; border-top-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before { top: 100%; right: 16px; border-top-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { top: 16px; left: 100%; border-left-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { top: 16px; right: 100%; border-right-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { bottom: 16px; left: 100%; border-left-color: #f6f6f6; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { bottom: 16px; right: 100%; border-right-color: #f6f6f6; } .shepherd-element.shepherd-theme-square { border-radius: 0; z-index: 9999; max-width: 24em; font-size: 1em; } .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-square.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before { border-bottom-color: #e6e6e6; } .shepherd-element.shepherd-theme-square.shepherd-has-title .shepherd-content header { background: #e6e6e6; padding: 1em; } .shepherd-element.shepherd-theme-square.shepherd-has-title .shepherd-content header a.shepherd-cancel-link { padding: 0; margin-bottom: 0; } .shepherd-element.shepherd-theme-square.shepherd-has-cancel-link .shepherd-content header h3 { float: left; } .shepherd-element.shepherd-theme-square .shepherd-content { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.17); border-radius: 0; padding: 0; } .shepherd-element.shepherd-theme-square .shepherd-content * { font-size: inherit; } .shepherd-element.shepherd-theme-square .shepherd-content header { *zoom: 1; border-radius: 0; } .shepherd-element.shepherd-theme-square .shepherd-content header:after { content: ""; display: table; clear: both; } .shepherd-element.shepherd-theme-square .shepherd-content header h3 { margin: 0; line-height: 1; font-weight: normal; } .shepherd-element.shepherd-theme-square .shepherd-content header a.shepherd-cancel-link { float: right; text-decoration: none; font-size: 1.25em; line-height: .8em; font-weight: normal; color: rgba(0, 0, 0, 0.5); opacity: 0.25; position: relative; top: .1em; padding: .8em; margin-bottom: -.8em; } .shepherd-element.shepherd-theme-square .shepherd-content header a.shepherd-cancel-link:hover { opacity: 1; } .shepherd-element.shepherd-theme-square .shepherd-content .shepherd-text { padding: 1em; } .shepherd-element.shepherd-theme-square .shepherd-content .shepherd-text p { margin: 0 0 .5em 0; line-height: 1.3em; } .shepherd-element.shepherd-theme-square .shepherd-content .shepherd-text p:last-child { margin-bottom: 0; } .shepherd-element.shepherd-theme-square .shepherd-content footer { padding: 0 1em 1em; } .shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons { text-align: right; list-style: none; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li { display: inline; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li .shepherd-button { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; border-radius: 0; cursor: pointer; border: 0; margin: 0 .5em 0 0; font-family: inherit; text-transform: uppercase; letter-spacing: .1em; font-size: .8em; line-height: 1em; padding: .75em 2em; background: #3288e6; color: #fff; } .shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary { background: #eee; color: #888; } .shepherd-element.shepherd-theme-square .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button { margin-right: 0; } .shepherd-start-tour-button.shepherd-theme-square { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; border-radius: 0; cursor: pointer; border: 0; margin: 0 .5em 0 0; font-family: inherit; text-transform: uppercase; letter-spacing: .1em; font-size: .8em; line-height: 1em; padding: .75em 2em; background: #3288e6; color: #fff; } css/tether-shepherd/shepherd-theme-arrows-plain-buttons.min.css000064400000025355147400355670020762 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before{display:none}.shepherd-element,.shepherd-element:after,.shepherd-element:before,.shepherd-element *,.shepherd-element *:after,.shepherd-element *:before{box-sizing:border-box}.shepherd-element{position:absolute;display:none}.shepherd-element.shepherd-open{display:block}.shepherd-element.shepherd-theme-arrows-plain-buttons{max-width:100%;max-height:100%}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content{border-radius:5px;position:relative;font-family:inherit;background:#fff;color:#444;padding:1em;font-size:1.1em;line-height:1.5em;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-filter:drop-shadow(0 1px 4px rgba(0,0,0,0.2));filter:drop-shadow(0 1px 4px rgba(0,0,0,0.2))}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content:before{content:"";display:block;position:absolute;width:0;height:0;border-color:transparent;border-width:16px;border-style:solid;pointer-events:none}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before{top:100%;left:50%;margin-left:-16px;border-top-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before{bottom:100%;left:50%;margin-left:-16px;border-bottom-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before{left:100%;top:50%;margin-top:-16px;border-left-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before{right:100%;top:50%;margin-top:-16px;border-right-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content{left:-32px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content{left:32px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{top:100%;left:16px;border-top-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{top:100%;right:16px;border-top-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before{top:100%;left:16px;border-top-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before{top:100%;right:16px;border-top-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{top:16px;left:100%;border-left-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{top:16px;right:100%;border-right-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{bottom:16px;left:100%;border-left-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{bottom:16px;right:100%;border-right-color:#fff}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before{border-bottom-color:#eee}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header{background:#eee;padding:1em}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link{padding:0;margin-bottom:0}.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-cancel-link .shepherd-content header h3{float:left}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content{padding:0}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header{*zoom:1;border-radius:5px 5px 0 0}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header:after{content:"";display:table;clear:both}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header h3{margin:0;line-height:1;font-weight:normal}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header a.shepherd-cancel-link{float:right;text-decoration:none;font-size:1.25em;line-height:.8em;font-weight:normal;color:rgba(0,0,0,0.5);opacity:.25;position:relative;top:.1em;padding:.8em;margin-bottom:-.8em}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header a.shepherd-cancel-link:hover{opacity:1}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text{padding:1em}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p{margin:0 0 .5em 0;line-height:1.3em}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p:last-child{margin-bottom:0}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer{padding:0 1em 1em}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons{text-align:right;list-style:none;padding:0;margin:0}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li{display:inline;padding:0;margin:0}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;cursor:pointer;margin:0 .5em 0 0;text-decoration:none}.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button{margin-right:0}css/tether-shepherd/shepherd-theme-arrows-plain-buttons.css000064400000030366147400355670020176 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before, .shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before { display: none; } .shepherd-element, .shepherd-element:after, .shepherd-element:before, .shepherd-element *, .shepherd-element *:after, .shepherd-element *:before { box-sizing: border-box; } .shepherd-element { position: absolute; display: none; } .shepherd-element.shepherd-open { display: block; } .shepherd-element.shepherd-theme-arrows-plain-buttons { max-width: 100%; max-height: 100%; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content { border-radius: 5px; position: relative; font-family: inherit; background: #fff; color: #444; padding: 1em; font-size: 1.1em; line-height: 1.5em; -webkit-transform: translateZ(0); transform: translateZ(0); -webkit-filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2)); filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.2)); } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content:before { content: ""; display: block; position: absolute; width: 0; height: 0; border-color: transparent; border-width: 16px; border-style: solid; pointer-events: none; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before { top: 100%; left: 50%; margin-left: -16px; border-top-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before { bottom: 100%; left: 50%; margin-left: -16px; border-bottom-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before { left: 100%; top: 50%; margin-top: -16px; border-left-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before { right: 100%; top: 50%; margin-top: -16px; border-right-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content { left: -32px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content { left: 32px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before { top: 100%; left: 16px; border-top-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before { top: 100%; right: 16px; border-top-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; left: 16px; border-bottom-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content { margin-top: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before { bottom: 100%; right: 16px; border-bottom-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before { top: 100%; left: 16px; border-top-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content { margin-bottom: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before { top: 100%; right: 16px; border-top-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { top: 16px; left: 100%; border-left-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { top: 16px; right: 100%; border-right-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content { margin-right: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before { bottom: 16px; left: 100%; border-left-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content { margin-left: 16px; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before { bottom: 16px; right: 100%; border-right-color: #fff; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before, .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before { border-bottom-color: #eee; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header { background: #eee; padding: 1em; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link { padding: 0; margin-bottom: 0; } .shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-cancel-link .shepherd-content header h3 { float: left; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content { padding: 0; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header { *zoom: 1; border-radius: 5px 5px 0 0; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header:after { content: ""; display: table; clear: both; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header h3 { margin: 0; line-height: 1; font-weight: normal; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header a.shepherd-cancel-link { float: right; text-decoration: none; font-size: 1.25em; line-height: .8em; font-weight: normal; color: rgba(0, 0, 0, 0.5); opacity: 0.25; position: relative; top: .1em; padding: .8em; margin-bottom: -.8em; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header a.shepherd-cancel-link:hover { opacity: 1; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text { padding: 1em; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p { margin: 0 0 .5em 0; line-height: 1.3em; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p:last-child { margin-bottom: 0; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer { padding: 0 1em 1em; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons { text-align: right; list-style: none; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li { display: inline; padding: 0; margin: 0; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button { display: inline-block; vertical-align: middle; *vertical-align: auto; *zoom: 1; *display: inline; cursor: pointer; margin: 0 .5em 0 0; text-decoration: none; } .shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button { margin-right: 0; } css/tether-shepherd/shepherd-theme-dark.min.css000064400000025075147400355670015570 0ustar00.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before{display:none}.shepherd-element,.shepherd-element:after,.shepherd-element:before,.shepherd-element *,.shepherd-element *:after,.shepherd-element *:before{box-sizing:border-box}.shepherd-element{position:absolute;display:none}.shepherd-element.shepherd-open{display:block}.shepherd-element.shepherd-theme-dark{max-width:100%;max-height:100%}.shepherd-element.shepherd-theme-dark .shepherd-content{border-radius:5px;position:relative;font-family:inherit;background:#232323;color:#eee;padding:1em;font-size:1.1em;line-height:1.5em}.shepherd-element.shepherd-theme-dark .shepherd-content:before{content:"";display:block;position:absolute;width:0;height:0;border-color:transparent;border-width:16px;border-style:solid;pointer-events:none}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-center .shepherd-content:before{top:100%;left:50%;margin-left:-16px;border-top-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center .shepherd-content:before{bottom:100%;left:50%;margin-left:-16px;border-bottom-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-right.shepherd-element-attached-middle .shepherd-content:before{left:100%;top:50%;margin-top:-16px;border-left-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-left.shepherd-element-attached-middle .shepherd-content:before{right:100%;top:50%;margin-top:-16px;border-right-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-left.shepherd-target-attached-center .shepherd-content{left:-32px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-right.shepherd-target-attached-center .shepherd-content{left:32px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-middle .shepherd-content:before{top:100%;left:16px;border-top-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-middle .shepherd-content:before{top:100%;right:16px;border-top-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;left:16px;border-bottom-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content{margin-top:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom .shepherd-content:before{bottom:100%;right:16px;border-bottom-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top .shepherd-content:before{top:100%;left:16px;border-top-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content{margin-bottom:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top .shepherd-content:before{top:100%;right:16px;border-top-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{top:16px;left:100%;border-left-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{top:16px;right:100%;border-right-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content{margin-right:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-left .shepherd-content:before{bottom:16px;left:100%;border-left-color:#232323}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content{margin-left:16px}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before{bottom:16px;right:100%;border-right-color:#232323}.shepherd-element.shepherd-theme-dark{z-index:9999;max-width:24em;font-size:1em}.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before,.shepherd-element.shepherd-theme-dark.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before{border-bottom-color:#303030}.shepherd-element.shepherd-theme-dark.shepherd-has-title .shepherd-content header{background:#303030;padding:1em}.shepherd-element.shepherd-theme-dark.shepherd-has-title .shepherd-content header a.shepherd-cancel-link{padding:0;margin-bottom:0}.shepherd-element.shepherd-theme-dark.shepherd-has-cancel-link .shepherd-content header h3{float:left}.shepherd-element.shepherd-theme-dark .shepherd-content{box-shadow:0 0 1em rgba(0,0,0,0.2);padding:0}.shepherd-element.shepherd-theme-dark .shepherd-content *{font-size:inherit}.shepherd-element.shepherd-theme-dark .shepherd-content header{*zoom:1;border-radius:5px 5px 0 0}.shepherd-element.shepherd-theme-dark .shepherd-content header:after{content:"";display:table;clear:both}.shepherd-element.shepherd-theme-dark .shepherd-content header h3{margin:0;line-height:1;font-weight:normal}.shepherd-element.shepherd-theme-dark .shepherd-content header a.shepherd-cancel-link{float:right;text-decoration:none;font-size:1.25em;line-height:.8em;font-weight:normal;color:rgba(0,0,0,0.5);opacity:.25;position:relative;top:.1em;padding:.8em;margin-bottom:-.8em}.shepherd-element.shepherd-theme-dark .shepherd-content header a.shepherd-cancel-link:hover{opacity:1}.shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text{padding:1em}.shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text p{margin:0 0 .5em 0;line-height:1.3em}.shepherd-element.shepherd-theme-dark .shepherd-content .shepherd-text p:last-child{margin-bottom:0}.shepherd-element.shepherd-theme-dark .shepherd-content footer{padding:0 1em 1em}.shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons{text-align:right;list-style:none;padding:0;margin:0}.shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li{display:inline;padding:0;margin:0}.shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li .shepherd-button{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;border-radius:3px;cursor:pointer;border:0;margin:0 .5em 0 0;font-family:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:.8em;line-height:1em;padding:.75em 2em;background:#3288e6;color:#fff}.shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li .shepherd-button.shepherd-button-secondary{background:#eee;color:#888}.shepherd-element.shepherd-theme-dark .shepherd-content footer .shepherd-buttons li:last-child .shepherd-button{margin-right:0}.shepherd-start-tour-button.shepherd-theme-dark{display:inline-block;vertical-align:middle;*vertical-align:auto;*zoom:1;*display:inline;border-radius:3px;cursor:pointer;border:0;margin:0 .5em 0 0;font-family:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:.8em;line-height:1em;padding:.75em 2em;background:#3288e6;color:#fff}css/updraftplus-admin-1-24-6.min.css.map000064400000331407147400355670013612 0ustar00{"version":3,"sources":["css/updraftplus-admin.css"],"names":[],"mappings":"AAAA;;CAEC;EACC,UAAU;EACV,2BAAmB;UAAnB,mBAAmB;CACpB;;CAEA;EACC,YAAY;EACZ,8BAAsB;UAAtB,sBAAsB;CACvB;;AAED;;AAZA;;CAEC;EACC,UAAU;EACV,2BAAmB;UAAnB,mBAAmB;CACpB;;CAEA;EACC,YAAY;EACZ,8BAAsB;UAAtB,sBAAsB;CACvB;;AAED;;AAEA;;CAEC;EACC,4BAAoB;UAApB,oBAAoB;CACrB;;CAEA;EACC,iCAAyB;UAAzB,yBAAyB;CAC1B;;AAED;;AAVA;;CAEC;EACC,4BAAoB;UAApB,oBAAoB;CACrB;;CAEA;EACC,iCAAyB;UAAzB,yBAAyB;CAC1B;;AAED;;AAEA,sBAAsB;AACtB;CACC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,UAAU;AACX;;AAEA;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,mBAAe;KAAf,eAAe;AAChB;;AAEA;CACC,mBAAO;KAAP,WAAO;SAAP,OAAO;CACP,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,UAAU;CACV,mBAAU;KAAV,cAAU;SAAV,UAAU;AACX;;AAEA;CACC,WAAW;CACX,mBAAU;KAAV,cAAU;SAAV,UAAU;AACX;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,mBAAmB;AACpB;;AAEA,0BAA0B;;AAE1B,iBAAiB;AACjB;CACC,qBAAqB;AACtB;;AAEA;CACC,iBAAiB;AAClB;;AAEA,qBAAqB;AACrB,cAAc;AACd;CACC,kBAAkB;AACnB;;AAEA,qBAAqB;AACrB,YAAY;AACZ;CACC,qBAAqB;AACtB;;AAEA,mBAAmB;;AAEnB;CACC,kBAAkB;AACnB;;AAEA;CACC,YAAY;CACZ,eAAe;AAChB;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,8CAAsC;SAAtC,sCAAsC;AACvC;;AAEA;CACC,qBAAqB;AACtB;;AAEA;;CAEC,cAAc;CACd,gBAAgB;CAChB,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA,gBAAgB;AAChB;CACC,cAAc;CACd,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;AACnB;;AAEA,gBAAgB;AAChB;CACC,YAAY;AACb;;AAEA;CACC,oBAAoB;AACrB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,kBAAkB;CAClB,eAAe;AAChB;;AAEA;;CAEC,gBAAgB;CAChB,WAAW;AACZ;;AAEA;CACC,gBAAgB;AACjB;;AAEA,oBAAoB;;AAEpB,iBAAiB;AACjB;CACC,iBAAiB;CACjB,mBAAmB;CACnB,mBAAmB;CACnB,eAAe;CACf,iBAAiB;CACjB,mBAAmB;CACnB,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;CAClB,uBAAuB;CACvB,kBAAkB;CAClB,iBAAiB;CACjB,4BAAoB;CAApB,oBAAoB;CACpB,wBAAwB;CACxB,8BAAsB;SAAtB,sBAAsB;CACtB,kBAAkB;CAClB,kBAAkB;CAClB,iBAAiB;CACjB,oBAAoB;CACpB,cAAc;CACd,qBAAqB;AACtB;;AAEA;CACC,+BAA+B;CAC/B,wBAAwB;AACzB;;AAEA;CACC,gCAAgC;CAChC,gEAAgD;CAAhD,wDAAgD;CAAhD,gDAAgD;CAAhD,wEAAgD;CAChD,uCAAuC;CACvC,YAAY;CACZ,kBAAkB;CAClB,6EAAqE;SAArE,qEAAqE;CACrE,cAAc;CACd,eAAe;CACf,gBAAgB;CAChB,qBAAqB;CACrB,60BAA60B;CAC70B,sBAAsB;CACtB,4BAA4B;CAC5B,8BAA8B;AAC/B;;AAEA;CACC,6EAAqE;SAArE,qEAAqE;AACtE;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,aAAa;CACb,gGAAwF;SAAxF,wFAAwF;AACzF;;AAEA;CACC,+BAAuB;SAAvB,uBAAuB;CACvB,yBAAyB;CACzB,6EAAqE;SAArE,qEAAqE;CACrE,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;CACjB,YAAY;CACZ,kBAAkB;AACnB;;AAEA;CACC,aAAa;CACb,kBAAkB;AACnB;;AAEA;CACC,qBAAqB;CACrB,mBAAmB;AACpB;;AAEA;CACC,cAAc;AACf;;AAEA;;CAEC;;AAED;CACC,aAAa;AACd;;AAEA,eAAe;;AAEf;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;AACd;;AAEA;CACC,mBAAmB;CACnB,aAAa;CACb,mBAAmB;CACnB,kBAAkB;CAClB,gBAAgB;AACjB;;AAEA;CACC,SAAS;AACV;;AAEA;CACC,mBAAmB;CACnB,aAAa;CACb,mBAAmB;CACnB,mBAAO;KAAP,WAAO;SAAP,OAAO;AACR;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,cAAc;AACf;;AAEA,wBAAwB;AACxB;CACC,aAAa;CACb,kBAAkB;CAClB,QAAQ;CACR,MAAM;CACN,YAAY;CACZ,2BAA2B;CAC3B,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,4BAAsB;CAAtB,6BAAsB;KAAtB,0BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,kBAAkB;CAClB,WAAW;CACX,6BAAgB;KAAhB,gBAAgB;AACjB;;AAEA;;CAEC,WAAW;AACZ;;AAEA;;CAEC;EACC,8BAAmB;EAAnB,6BAAmB;MAAnB,uBAAmB;UAAnB,mBAAmB;EACnB,mBAAe;MAAf,eAAe;CAChB;;CAEA;EACC,4BAAe;MAAf,eAAe;CAChB;;CAEA;;EAEC,YAAY;CACb;;AAED;;AAEA;CACC,qBAAqB;CACrB,eAAe;AAChB;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,mBAAmB;CACnB,aAAa;CACb,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA,qBAAqB;AACrB;CACC,WAAW;CACX,WAAW;CACX,gBAAgB;AACjB;;AAEA;CACC,WAAW;CACX,gBAAgB;AACjB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,mBAAmB;CACnB,sBAAsB;AACvB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;;CAEC,YAAY;AACb;;AAEA,mBAAmB;AACnB;CACC,eAAe;CACf,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA,oCAAoC;AACpC;CACC,mBAAmB;CACnB,YAAY;CACZ,iBAAiB;CACjB,iBAAiB;CACjB,oBAAoB;AACrB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,UAAU;AACX;;AAEA,YAAY;;AAEZ;CACC,qBAAqB;AACtB;;AAEA;;;CAGC,qBAAqB;CACrB,cAAc;AACf;;AAEA;CACC,wBAAwB;CACxB,+BAA+B;AAChC;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,gBAAgB;CAChB,gBAAgB;CAChB,kBAAkB;AACnB;;AAEA;CACC,aAAa;AACd;;AAEA;;CAEC,aAAa;AACd;;AAEA,4BAA4B;AAC5B;;CAEC,kBAAkB;CAClB,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,0BAAqB;KAArB,qBAAqB;CACrB,qBAAqB;CACrB,iBAAiB;CACjB,kBAAkB;CAClB,mBAAmB;CACnB,mBAAmB;CACnB,6BAA6B;AAC9B;;AAEA;;;;CAIC,aAAa;CACb,iBAAiB;CACjB,YAAY;CACZ,SAAS;AACV;;AAEA;;CAEC,qBAAqB;CACrB,iBAAiB;CACjB,4BAA4B;AAC7B;;AAEA;;CAEC,eAAe;AAChB;;AAEA;;CAEC,SAAS;AACV;;AAEA;CACC,gBAAgB;CAChB,iBAAiB;CACjB,mBAAmB;CACnB,cAAc;CACd,YAAY;CACZ,iBAAiB;CACjB,oBAAoB;CACpB,gBAAgB;CAChB,kBAAkB;CAClB,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,kBAAkB;CAClB,UAAU;CACV,oBAAoB;AACrB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;;CAEC;AACD;CACC,cAAc;AACf;;AAEA;CACC,mBAAmB;CACnB,SAAS;CACT,gBAAgB;CAChB,mBAAmB;CACnB,oBAAoB;AACrB;;AAEA;CACC,oBAAoB;AACrB;;AAEA;CACC,8BAA8B;AAC/B;;AAEA;CACC,4BAA4B;AAC7B;;AAEA;CACC,UAAU;CACV,UAAU;AACX;;AAEA;CACC,aAAa;CACb,2FAAmF;SAAnF,mFAAmF;CACnF,gBAAgB;AACjB;;AAEA;CACC,cAAc;CACd,UAAU;AACX;;AAEA;CACC,mBAAmB;CACnB,gCAAgC;CAChC,wDAAgD;SAAhD,gDAAgD;AACjD;;AAEA;CACC,+GAAuG;SAAvG,uGAAuG;AACxG;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,kBAAkB;AACnB;;AAEA;CACC,aAAa;CACb,yEAAiE;SAAjE,iEAAiE;CACjE,UAAU;AACX;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,gBAAgB;CAChB,qBAAqB;CACrB,mBAAe;KAAf,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,gBAAgB;CAChB,YAAY;CACZ,wBAAwB;CACxB,aAAa;CACb,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,kBAAkB;CAClB,8BAA8B;CAC9B,wBAAuB;KAAvB,qBAAuB;SAAvB,uBAAuB;CACvB,yBAAmB;KAAnB,sBAAmB;SAAnB,mBAAmB;AACpB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,YAAY;CACZ,iCAAiC;CACjC,yBAAyB;AAC1B;;AAEA;CACC,mBAAmB;CACnB,WAAW;CACX,SAAS;CACT,kBAAkB;AACnB;;AAEA;;CAEC,aAAa;AACd;;AAEA;CACC,qBAAqB;CACrB,mBAAmB;CACnB,gBAAgB;CAChB,eAAe;AAChB;;AAEA;CACC,yBAAyB;CACzB,kBAAkB;CAClB,yFAAyF;CACzF,wBAAgB;SAAhB,gBAAgB;AACjB;;AAEA;CACC,qBAAqB;CACrB,mBAAmB;CACnB,eAAe;CACf,eAAe;CACf,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,qBAAqB;CACrB,WAAW;CACX;;EAEC;AACF;;AAEA;CACC,WAAW;CACX,eAAe;AAChB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,gBAAgB;CAChB,WAAW;AACZ;;AAEA;CACC,qBAAqB;CACrB,YAAY;AACb;;AAEA;CACC,mBAAmB;CACnB,2BAA2B;CAC3B,8BAA8B;CAC9B,WAAW;CACX,eAAe;CACf,yCAAyC;AAC1C;;AAEA;CACC,mBAAmB;CACnB,4BAA4B;CAC5B,+BAA+B;CAC/B,iBAAiB;AAClB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,WAAW;CACX,iBAAiB;AAClB;;AAEA;CACC,YAAY;CACZ,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,gBAAgB;CAChB,aAAa;AACd;;AAEA;CACC,gBAAgB;CAChB,WAAW;CACX,mBAAmB;CACnB,UAAU;AACX;;AAEA;CACC,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,mBAAmB;CACnB,WAAW;CACX,sBAAsB;CACtB,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,cAAc;CACd,qBAAqB;AACtB;;AAEA;CACC,WAAW;CACX,4BAAoB;CAApB,oBAAoB;CACpB,kBAAkB;AACnB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;CAChB,eAAe;CACf,mBAAmB;CACnB,WAAW;CACX,iBAAiB;CACjB,mBAAmB;AACpB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,WAAW;CACX,UAAU;CACV,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,eAAe;CACf,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,cAAc;CACd,qBAAqB;CACrB,eAAe;CACf,kBAAkB;CAClB,iBAAiB;CACjB,kBAAkB;AACnB;;AAEA;CACC,eAAe;CACf,sBAAsB;CACtB,eAAe;CACf,kBAAkB;CAClB,iBAAiB;CACjB,gBAAgB;AACjB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,eAAe;CACf,kBAAkB;CAClB,iBAAiB;CACjB,YAAY;AACb;;AAEA;CACC,gBAAgB;CAChB,eAAe;AAChB;;AAEA;CACC,WAAW;CACX,kBAAkB;CAClB,eAAe;CACf,kBAAkB;CAClB,iBAAiB;CACjB,iBAAiB;AAClB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,iBAAiB;CACjB,cAAc;CACd,qBAAqB;CACrB,eAAe;CACf,YAAY;AACb;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;CAClB,yBAAyB;CACzB,wBAAwB;CACxB,WAAW;CACX,cAAc;AACf;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,aAAa;CACb,kBAAkB;CAClB,UAAU;AACX;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,iBAAiB;AAClB;;AAEA,qBAAqB;;AAErB,2BAA2B;;AAE3B;CACC,WAAW;CACX,YAAY;CACZ,WAAW;CACX,mBAAmB;AACpB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,gBAAgB;CAChB,eAAe;CACf,iBAAiB;CACjB,aAAa;CACb,WAAW;AACZ;;AAEA;CACC,YAAY;CACZ,kBAAkB;CAClB,UAAU;AACX;;AAEA;;CAEC,iBAAiB;CACjB,eAAe;CACf,mBAAmB;CACnB,aAAa;CACb,sBAAsB;AACvB;;AAEA;CACC,gBAAgB;CAChB,kBAAkB;CAClB,qBAAqB;AACtB;;AAEA;;CAEC,qBAAqB;CACrB,gBAAgB;AACjB;;AAEA;;;CAGC,wBAAwB;CACxB,gBAAgB;AACjB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;;CAEC;;EAEC,qBAAqB;CACtB;;AAED;;AAEA;CACC,eAAe;CACf,eAAe;CACf,wBAAgB;SAAhB,gBAAgB;CAChB,cAAc;CACd,YAAY;CACZ,iBAAiB;AAClB;;AAEA;;;CAGC,cAAc;AACf;;AAEA;CACC,cAAc;CACd,iBAAiB;CACjB,eAAe;CACf,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;;CAEC,aAAa;CACb,aAAa;CACb,sBAAsB;CACtB,kBAAkB;AACnB;;AAEA;;;CAGC,YAAY;CACZ,gBAAgB;CAChB,YAAY;CACZ,uBAAuB;CACvB,kBAAkB;CAClB,QAAQ;CACR,UAAU;CACV,eAAe;AAChB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,qBAAqB;CACrB,eAAe;AAChB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,cAAc;CACd,wBAAwB;CACxB,kBAAkB;AACnB;;AAEA;CACC,WAAW;AACZ;;AAEA,kCAAkC;;AAElC;CACC,gBAAgB;AACjB;;AAEA;CACC,eAAe;AAChB;;AAEA;;CAEC,yBAAyB;AAC1B;;AAEA;CACC,yBAAyB;AAC1B;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,6BAA6B;CAC7B,YAAY;CACZ,cAAc;CACd,0BAA0B;CAC1B,eAAe;CACf,WAAW;CACX,WAAW;AACZ;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,2BAA2B;CAC3B,6BAA6B;CAC7B,0BAA0B;CAC1B,gBAAgB;CAChB,gBAAgB;AACjB;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,YAAY;CACZ,YAAY;CACZ,6BAA6B;AAC9B;;AAEA;CACC,8BAA8B;AAC/B;;AAEA;CACC,YAAY;CACZ,iBAAiB;CACjB,iBAAiB;CACjB,kBAAkB;CAClB,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;CAChB,sBAAsB;AACvB;;AAEA;CACC,UAAU;AACX;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;CAClB,WAAW;CACX,qBAAqB;AACtB;;AAEA;CACC,qBAAqB;CACrB,WAAW;CACX,YAAY;CACZ,gBAAgB;CAChB,cAAc;CACd,mBAAmB;CACnB,kBAAkB;CAClB,iBAAiB;CACjB,iDAAyC;SAAzC,yCAAyC;AAC1C;;AAEA;CACC,aAAa;CACb,kBAAkB;CAClB,YAAY;CACZ,gDAAwC;SAAxC,wCAAwC;CACxC,YAAY;CACZ,oBAAoB;AACrB;;AAEA;CACC,WAAW;CACX,kBAAkB;CAClB,aAAa;CACb,8BAA8B;CAC9B,sBAAsB;CACtB,sBAAsB;AACvB;;AAEA;CACC,aAAa;CACb,gBAAgB;CAChB,kBAAkB;CAClB,iDAAyC;SAAzC,yCAAyC;CACzC,cAAc;AACf;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,kCAAkC;AACnC;;AAEA;CACC,cAAc;CACd,eAAe;AAChB;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,WAAW;CACX,sBAAsB;CACtB,eAAe;AAChB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,qBAAqB;AACtB;;AAEA,kBAAkB;;AAElB,mEAAmE;AACnE;;CAEC,uBAAuB;AACxB;;AAEA;;CAEC,+BAA+B;AAChC;;AAEA;;CAEC,8BAA8B;AAC/B;;AAEA;;CAEC,uBAAuB;AACxB;;AAEA,8BAA8B;AAC9B;CACC,kBAAkB;CAClB,aAAa;CACb,cAAc;AACf;;AAEA;CACC,kBAAkB;CAClB,YAAY;CACZ,WAAW;CACX,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,WAAW;CACX,kBAAkB;CAClB,eAAe;AAChB;;AAEA;CACC,aAAa;CACb,cAAc;CACd,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,iBAAiB;CACjB,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;CAClB,kBAAkB;CAClB,WAAW;CACX,WAAW;CACX,cAAc;AACf;;AAEA,6BAA6B;AAC7B;CACC,kBAAkB;CAClB,aAAa;CACb,WAAW;CACX,sBAAsB;CACtB,mBAAmB;CACnB,kBAAkB;CAClB,eAAe;CACf,gDAAwC;SAAxC,wCAAwC;AACzC;;AAEA;CACC,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,cAAc;CACd,mBAAmB;CACnB,kBAAkB;CAClB,MAAM;CACN,UAAU;CACV,0BAA0B;CAC1B,2BAA2B;CAC3B,iDAAyC;SAAzC,yCAAyC;AAC1C;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,aAAa;CACb,mBAAmB;AACpB;;AAEA;CACC,aAAa;CACb,WAAW;CACX,cAAc;AACf;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,0BAA0B;CAC1B,iBAAiB;AAClB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,iBAAiB;AAClB;;AAEA;;CAEC,eAAe;AAChB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,SAAS;CACT,UAAU;AACX;;AAEA;CACC,qBAAqB;CACrB,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,6BAA6B;CAC7B,WAAW;CACX,WAAW;CACX,gBAAgB;CAChB,eAAe;CACf,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,eAAe;AAChB;;AAEA;CACC,YAAY;CACZ,yBAAyB;CACzB,qBAAqB;CACrB,mCAA2B;SAA3B,2BAA2B;AAC5B;;AAEA;;CAEC,kBAAkB;CAClB,WAAW;CACX,gBAAgB;AACjB;;AAEA,kDAAkD;AAClD;CACC,cAAc;CACd,yBAAyB;CACzB,kBAAkB;CAClB,gCAAwB;SAAxB,wBAAwB;AACzB;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,2BAAmB;SAAnB,mBAAmB;CACnB,kDAA0C;SAA1C,0CAA0C;AAC3C;;AAEA;CACC,uBAAuB;CACvB,aAAa;AACd;;AAEA;CACC,mBAAmB;CACnB,YAAY;AACb;;AAEA;CACC,gBAAgB;CAChB,WAAW;AACZ;;AAEA;CACC,YAAY;CACZ,mBAAmB;CACnB,sBAAsB;CACtB,aAAa;AACd;;AAEA;CACC,mBAAmB;AACpB;;AAEA;;CAEC;AACD;CACC,gBAAgB;CAChB,gBAAgB;CAChB,UAAU;CACV,8BAA8B;AAC/B;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,gBAAgB;CAChB,uBAAuB;CACvB,yBAAyB;CACzB,kBAAkB;AACnB;;AAEA;CACC,cAAc;CACd,eAAe;CACf,kBAAkB;CAClB,cAAc;AACf;;AAEA;CACC,WAAW;CACX,YAAY;AACb;;AAEA;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,yBAAmB;KAAnB,sBAAmB;SAAnB,mBAAmB;CACnB,yBAA8B;KAA9B,sBAA8B;SAA9B,8BAA8B;CAC9B,kBAAkB;AACnB;;AAEA;CACC,mBAAmB;CACnB,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,eAAe;CACf,gBAAgB;CAChB,cAAc;CACd,SAAS;CACT,kBAAkB;CAClB,uBAAuB;CACvB,cAAc;AACf;;AAEA;CACC,WAAW;AACZ;;AAEA;;CAEC;EACC,4BAAsB;EAAtB,6BAAsB;MAAtB,0BAAsB;UAAtB,sBAAsB;EACtB,kBAAkB;EAClB,yBAAmB;MAAnB,sBAAmB;UAAnB,mBAAmB;CACpB;;CAEA;EACC,eAAe;EACf,mBAAmB;CACpB;;AAED;;AAEA;;CAEC;AACD;CACC,gBAAgB;CAChB,aAAa;CACb,gDAAwC;SAAxC,wCAAwC;CACxC,kBAAkB;AACnB;;AAEA;CACC,SAAS;AACV;;AAEA;CACC,2BAAkB;KAAlB,kBAAkB;CAClB,gBAAgB;CAChB,wBAAgB;SAAhB,gBAAgB;AACjB;;AAEA;;CAEC;AACD;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,8BAAmB;CAAnB,6BAAmB;KAAnB,uBAAmB;SAAnB,mBAAmB;CACnB,mBAAe;KAAf,eAAe;CACf,yBAA8B;KAA9B,sBAA8B;SAA9B,8BAA8B;CAC9B,eAAe;AAChB;;AAEA;CACC,cAAc;CACd,eAAe;CACf,qBAAqB;AACtB;;AAEA;CACC,8BAAsB;SAAtB,sBAAsB;CACtB,UAAU;AACX;;AAEA;CACC,gBAAgB;CAChB,iBAAiB;AAClB;;AAEA;;CAEC;AACD;CACC,gBAAgB;CAChB,SAAS;CACT,eAAe;AAChB;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,oCAAoC;CACpC,iBAAiB;AAClB;;AAEA;CACC,aAAa;CACb,gBAAgB;CAChB,2BAA2B;CAC3B,0BAA0B;CAC1B,8CAAsC;SAAtC,sCAAsC;CACtC,oBAAoB;CACpB,iBAAiB;AAClB;;AAEA;CACC,wBAAwB;AACzB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,YAAY;CACZ,yBAAyB;CACzB,eAAe;CACf,uBAAuB;CACvB,kBAAkB;AACnB;;AAEA;CACC,yBAAyB;CACzB,yBAAyB;CACzB,eAAe;CACf,uBAAuB;CACvB,kBAAkB;CAClB,aAAa;AACd;;AAEA;CACC,wBAAwB;AACzB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;;CAEC,2CAA2C;CAC3C,YAAY;AACb;;AAEA;CACC,cAAc;CACd,cAAc;AACf;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,iBAAiB;CACjB,eAAe;CACf,eAAe;AAChB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,eAAe;CACf,cAAc;AACf;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,UAAU;AACX;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,aAAa;CACb,YAAY;AACb;;AAEA;CACC,YAAY;CACZ,uBAAuB;CACvB,WAAW;CACX,eAAe;CACf,UAAU;CACV,eAAe;AAChB;;AAEA;CACC,SAAS;CACT,mBAAmB;CACnB,WAAW;CACX,6BAAqB;CAArB,qBAAqB;AACtB;;AAEA;CACC,eAAe;CACf,WAAW;AACZ;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,eAAe;CACf,UAAU;CACV,eAAe;CACf,iBAAiB;CACjB,WAAW;CACX,kBAAkB;CAClB,YAAY;CACZ,aAAa;CACb,qBAAqB;CACrB,qBAAqB;AACtB;;AAEA;CACC,eAAe;CACf,YAAY;CACZ,eAAe;AAChB;;AAEA;CACC,gBAAgB;CAChB,eAAe;CACf,iBAAiB;CACjB,aAAa;CACb,WAAW;AACZ;;AAEA,oBAAoB;AACpB;CACC,gBAAgB;AACjB;;AAEA;CACC,kBAAkB;CAClB,oBAAoB;AACrB;;AAEA;CACC,gBAAgB;CAChB,YAAY;CACZ,aAAa;CACb,kBAAkB;CAClB,YAAY;CACZ,kBAAkB;CAClB,gBAAgB;CAChB,cAAc;CACd,iBAAiB;CACjB,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,qBAAqB;CACrB,eAAe;CACf,iBAAiB;CACjB,UAAU;CACV,kCAA0B;SAA1B,0BAA0B;AAC3B;;AAEA;CACC,iCAAyB;SAAzB,yBAAyB;CACzB,iCAAyB;SAAzB,yBAAyB;CACzB,2CAAmC;SAAnC,mCAAmC;CACnC,sCAA8B;SAA9B,8BAA8B;CAC9B,2CAAmC;SAAnC,mCAAmC;AACpC;;AAEA;CACC,aAAa;AACd;;AAEA;;CAEC;EACC,cAAc;EACd,WAAW;EACX,kBAAkB;CACnB;;AAED;;AAEA,mCAAmC;AACnC;CACC,UAAU;AACX;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,iBAAiB;CACjB,oBAAoB;AACrB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,YAAY;AACb;;AAEA;;;;CAIC,gCAAgC;CAChC,6BAA6B;CAC7B,WAAW;AACZ;;AAEA;CACC,mBAAmB;CACnB,cAAc;AACf;;AAEA;CACC,wBAAgB;SAAhB,gBAAgB;AACjB;;AAEA;CACC,WAAW;CACX,yBAAyB;CACzB,uCAAuC;CACvC,0BAA0B;CAC1B,wBAAwB;CACxB,mBAAmB;CACnB,kBAAkB;CAClB,iBAAiB;CACjB,eAAe;CACf,uBAAuB;CACvB,gBAAgB;CAChB,mBAAmB;CACnB,cAAc;CACd,qBAAqB;CACrB,mBAAmB;AACpB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,kBAAkB;AACnB;;AAEA;CACC,8BAA8B;CAC9B,sBAAsB;CACtB,uBAAuB;AACxB;;AAEA;CACC,iBAAiB;CACjB,WAAW;CACX,wBAAwB;AACzB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,YAAY;CACZ,mBAAmB;CACnB,kBAAkB;CAClB,oDAA4C;SAA5C,4CAA4C;AAC7C;;AAEA;CACC,cAAc;CACd,YAAY;AACb;;AAEA;CACC,cAAc;CACd,cAAc;CACd,eAAe;CACf,WAAW;CACX,YAAY;CACZ,kBAAkB;CAClB,iBAAiB;CACjB,WAAW;CACX,mBAAmB;AACpB;;AAEA;CACC,qBAAqB;CACrB,iBAAiB;CACjB,eAAe;AAChB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,yBAAyB;CACzB,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,iBAAiB;CACjB,cAAc;AACf;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,gBAAgB;CAChB,SAAS;CACT,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;CACjB,cAAc;AACf;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,sBAAsB;CACtB,YAAY;CACZ,WAAW;CACX,kBAAkB;AACnB;;AAEA;CACC,uBAAuB;CACvB,gBAAgB;CAChB,eAAe;CACf,mBAAmB;AACpB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,aAAa;CACb,8BAA8B;CAC9B,kBAAkB;CAClB,OAAO;CACP,SAAS;AACV;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,qBAAqB;CACrB,eAAe;AAChB;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,qBAAqB;CACrB,kBAAkB;AACnB;;AAEA;CACC,qBAAqB;CACrB,YAAY;CACZ,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,mBAAmB;CACnB,kBAAkB;AACnB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,kBAAkB;CAClB,0BAA0B;AAC3B;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,yBAAyB;AAC1B;;AAEA;CACC,eAAe;CACf,cAAc;AACf;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,aAAa;CACb,mBAAmB;CACnB,uBAAuB;AACxB;;AAEA,8BAA8B;AAC9B;CACC,uBAAuB;CACvB,YAAY;AACb;;AAEA;CACC,iBAAiB;CACjB,cAAc;AACf;;AAEA;CACC,mBAAmB;CACnB,gBAAgB;CAChB,gBAAgB;AACjB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,YAAY;CACZ,YAAY;AACb;;AAEA;CACC,WAAW;CACX,gBAAgB;AACjB;;AAEA;CACC,WAAW;CACX,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,oBAAoB;AACrB;;AAEA;CACC,WAAW;CACX,kBAAkB;CAClB,aAAa;AACd;;AAEA;CACC,aAAa;CACb,kBAAkB;AACnB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,kBAAkB;CAClB,SAAS;CACT,QAAQ;CACR,kBAAkB;CAClB,yBAAyB;CACzB,8BAAsB;CAAtB,sBAAsB;AACvB;;AAEA;CACC,UAAU;CACV,kBAAkB;CAClB,eAAe;CACf,WAAW;CACX,YAAY;CACZ,iBAAiB;CACjB,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;CAClB,WAAW;CACX,yBAAyB;CACzB,yCAAyC;AAC1C;;AAEA;CACC,qBAAqB;CACrB,UAAU;AACX;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,UAAU;CACV,WAAW;CACX,kBAAkB;AACnB;;AAEA;CACC,eAAe;CACf,iBAAiB;AAClB;;AAEA;CACC,iBAAiB;CACjB,YAAY;AACb;;AAEA;CACC,kBAAkB;CAClB,iBAAiB;CACjB,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;CAChB,0BAA0B;AAC3B;;AAEA;CACC,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,8BAA8B;CAE9B,sBAAsB;CACtB,gBAAgB;CAChB,UAAU;AACX;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,SAAS;CACT,UAAU;AACX;;AAEA;CACC,WAAW;CACX,sBAAsB;AACvB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,SAAS;CACT,UAAU;AACX;;AAEA;CACC,WAAW;CACX,sBAAsB;AACvB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,iBAAiB;CACjB,WAAW;CACX,WAAW;AACZ;;AAEA;CACC,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,WAAW;CACX,qBAAqB;AACtB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,WAAW;CACX,YAAY;AACb;;AAEA;CACC,WAAW;CACX,sBAAsB;AACvB;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,2BAA2B;AAC5B;;AAEA;CACC,2BAA2B;AAC5B;;AAEA;CACC,2BAA2B;AAC5B;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,oBAAoB;AACrB;;AAEA;;EAEE;;AAEF,4BAA4B;AAC5B;CACC,WAAW;AACZ;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,eAAe;CACf,eAAe;AAChB;;AAEA;CACC,eAAe;CACf,eAAe;AAChB;;AAEA,YAAY;AACZ,mHAAmH;;AAEnH;CACC,oBAAoB;CACpB,kBAAkB;AACnB;;AAEA;CACC,sBAAsB;CACtB,gBAAgB;AACjB;;AAEA;CACC,iBAAiB;CACjB,gBAAgB;CAChB,aAAa;CACb,YAAY;AACb;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,UAAU;AACX;;AAEA,gBAAgB;;AAEhB;CACC,yBAAyB;CACzB,aAAa;CACb,WAAW;AACZ;;AAEA;CACC,YAAY;CACZ,mBAAmB;CACnB,WAAW;CACX,kBAAkB;AACnB;;AAEA;CACC,qBAAqB;CACrB,cAAc;AACf;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,UAAU;CACV,WAAW;AACZ;;AAEA;CACC,UAAU;CACV,WAAW;CACX,kBAAkB;CAClB,YAAY;CACZ,gBAAgB;AACjB;;AAEA;CACC,4BAA4B;CAC5B,YAAY;CACZ,kBAAkB;AACnB;;AAEA;CACC,YAAY;AACb;;AAEA,oBAAoB;;AAEpB,gBAAgB;;AAEhB;CACC,WAAW;CACX,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,YAAY;CACZ,aAAa;CACb,sBAAsB;CACtB,qBAAqB;CACrB,cAAc;CACd,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,YAAY;CACZ,aAAa;AACd;;AAEA;CACC,UAAU;CACV,eAAe;CACf,4BAA4B;AAC7B;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,cAAc;CACd,kBAAkB;AACnB;;AAEA;CACC,WAAW;CACX,sBAAsB;CACtB,gBAAgB;AACjB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,aAAa;CACb,YAAY;CACZ,eAAe;AAChB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,eAAe;CACf,cAAc;CACd,qBAAqB;CACrB,4BAA4B;CAC5B,kBAAkB;CAClB,UAAU;CACV,UAAU;AACX;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,sBAAsB;CACtB,eAAe;AAChB;;AAEA,oBAAoB;;AAEpB,mBAAmB;;AAEnB;CACC,gBAAgB;CAChB,WAAW;CACX,cAAc;CACd,cAAc;AACf;;AAEA;CACC,uBAAuB;CACvB,cAAc;CACd,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,YAAY;CACZ,aAAa;CACb,sBAAsB;CACtB,qBAAqB;CACrB,cAAc;CACd,kBAAkB;CAClB,gBAAgB;CAChB,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,gBAAgB;CAChB,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,eAAe;AAChB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,YAAY;AACb;;AAEA;CACC,UAAU;CACV,YAAY;AACb;;AAEA;CACC,eAAe;CACf,cAAc;CACd,qBAAqB;CACrB,4BAA4B;CAC5B,kBAAkB;CAClB,UAAU;CACV,UAAU;AACX;;AAEA;CACC,eAAe;CACf,sBAAsB;AACvB;;AAEA;CACC,WAAW;CACX,sBAAsB;CACtB,gBAAgB;AACjB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;;CAEC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA,uBAAuB;;;AAGvB,kFAAkF;;AAElF;CACC,cAAc;AACf;;AAEA;CACC,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,cAAc;CACd,qBAAqB;CACrB,cAAc;CACd,cAAc;AACf;;AAEA;CACC,WAAW;CACX,kBAAkB;AACnB;;AAEA,+BAA+B;;AAE/B;CACC,kBAAkB;AACnB;;AAEA;CACC,WAAW;CACX,UAAU;CACV,kBAAkB;CAClB,oBAAoB;AACrB;;AAEA;CACC,YAAY;CACZ,iBAAiB;AAClB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,SAAS;CACT,UAAU;AACX;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,UAAU;CACV,kBAAkB;CAClB,iBAAiB;CACjB,qBAAqB;AACtB;;AAEA;CACC,eAAe;CACf,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,eAAe;AAChB;;AAEA;CACC,WAAW;CACX,eAAe;CACf,kBAAkB;AACnB;;AAEA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;gBACgB;AAChB,gBAAgB;CACf,WAAW;CACX,WAAW;CACX,YAAY;CACZ,aAAa;AACd;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,0BAA0B;CAC1B,UAAU;CACV,YAAY;CACZ,mBAAmB;AACpB;;AAEA;CACC,qBAAqB;CACrB,cAAc;CACd,mBAAmB;CACnB,kBAAkB;AACnB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,cAAc;CACd,eAAe;AAChB;;AAEA;CACC,gBAAgB;CAChB,yBAAyB;CACzB,kBAAkB;CAClB,cAAc;CACd,qBAAqB;CACrB,4BAA4B;CAC5B,6BAA6B;CAC7B,0BAA0B;CAC1B,iBAAiB;CACjB,gBAAgB;CAChB,2BAA2B;CAC3B,yBAAyB;CACzB,qBAAqB;AACtB;;AAEA;CACC,yBAAyB;CACzB,mBAAmB;CACnB,qBAAqB;CACrB,eAAe;CACf,iBAAiB;CACjB,gBAAgB;CAChB,WAAW;CACX,YAAY;CACZ,kBAAkB;AACnB;;AAEA,sCAAsC;AACtC,4CAA4C;AAC5C;CACC,YAAY;CACZ,gBAAgB;AACjB;;AAEA;CACC,WAAW;CACX,2CAA2C;AAC5C;;AAEA;CACC,gBAAgB;CAChB,WAAW;CACX,WAAW;CACX,cAAc;AACf;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,qBAAqB;CACrB,eAAe;CACf,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,yBAAyB;AAC1B;;AAEA;CACC,yBAAyB;CACzB,WAAW;AACZ;;AAEA;CACC,yBAAyB;CACzB,WAAW;AACZ;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,UAAU;CACV,WAAW;CACX,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,iBAAiB;CACjB,kBAAkB;CAClB,oBAAoB;CACpB,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;CAClB,sBAAsB;CACtB,eAAe;CACf,gBAAgB;CAChB,sBAAsB;AACvB;;AAEA;CACC,sBAAsB;CACtB,iBAAiB;CACjB,2BAA2B;CAC3B,sBAAsB;CACtB,mBAAmB;AACpB;;AAEA;CACC,sBAAsB;CACtB,iBAAiB;CACjB,8BAA8B;CAC9B,sBAAsB;CACtB,mBAAmB;AACpB;;AAEA;CACC,kBAAkB;CAClB,WAAW;AACZ;;AAEA;CACC,mBAAmB;CACnB,WAAW;AACZ;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,iBAAiB;CACjB,mBAAmB;AACpB;;AAEA;;CAEC,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,mBAAmB;AACpB;;AAEA;CACC,WAAW;CACX,gBAAgB;CAChB,kBAAkB;AACnB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,4BAAsB;CAAtB,6BAAsB;KAAtB,0BAAsB;SAAtB,sBAAsB;CACtB,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,aAAa;CACb,mBAAmB;CACnB,cAAc;CACd,cAAc;CACd,kDAA0C;SAA1C,0CAA0C;AAC3C;;AAEA;CACC,mBAAmB;CACnB,kDAA0C;SAA1C,0CAA0C;AAC3C;;AAEA;CACC,uBAAuB;CACvB,UAAU;AACX;;AAEA;CACC,cAAc;CACd,gBAAgB;AACjB;;AAEA;CACC,0BAA0B;AAC3B;;AAEA,qBAAqB;;AAErB;CACC,cAAc;CACd,eAAe;CACf,MAAM;CACN,OAAO;CACP,QAAQ;CACR,SAAS;CACT,cAAc;CACd,iBAAiB;CACjB,mBAAmB;CACnB,cAAc;AACf;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,SAAS;AACV;;AAEA;CACC,8BAAsB;SAAtB,sBAAsB;CACtB,gBAAgB;CAChB,iBAAiB;CACjB,kBAAkB;AACnB;;AAEA;CACC,gBAAgB;CAChB,cAAc;CACd,gBAAgB;CAChB,gBAAgB;CAChB,gDAAwC;SAAxC,wCAAwC;CACxC,kBAAkB;CAClB,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,mBAAe;KAAf,eAAe;CACf,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,eAAe;CACf,iBAAiB;CACjB,kBAAkB;CAClB,iBAAiB;CACjB,iBAAiB;CACjB,WAAW;CACX,eAAe;CACf,mBAAmB;CACnB,kBAAkB;CAClB,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,kBAAkB;CAClB,yBAAyB;CACzB,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,aAAa;CACb,SAAS;AACV;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,YAAY;CACZ,aAAa;CACb,8BAAsB;SAAtB,sBAAsB;CACtB,mBAAmB;CACnB,iBAAiB;AAClB;;AAEA;CACC,mBAAmB;CACnB,cAAc;CACd,sBAAsB;CACtB,aAAa;CACb,cAAc;CACd,kBAAkB;CAClB,SAAS;CACT,SAAS;CACT,QAAQ;CACR,OAAO;AACR;;AAEA;CACC,mBAAmB;CACnB,gIAAgI;AACjI;;AAEA;CACC,yBAAyB;CACzB,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,cAAc;CACd,iBAAiB;CACjB,mBAAmB;AACpB;;AAEA;CACC,aAAa;CACb,2BAA2B;AAC5B;;AAEA;CACC,cAAc;CACd,eAAe;AAChB;;AAEA;;CAEC,iBAAiB;AAClB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,SAAS;CACT,qBAAqB;CACrB,kBAAkB;CAClB,2BAA2B;AAC5B;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,cAAc;CACd,gBAAgB;CAChB,kBAAkB;AACnB;;AAEA;CACC,gBAAgB;CAChB,sBAAsB;CACtB,eAAe;CACf,sBAAsB;CACtB,qBAAqB;CACrB,iBAAiB;AAClB;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,gBAAgB;CAChB,gDAAwC;SAAxC,wCAAwC;AACzC;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,gBAAgB;CAChB,kBAAkB;CAClB,sBAAsB;CACtB,aAAa;AACd;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,eAAe;CACf,YAAY;CACZ,iBAAiB;CACjB,WAAW;AACZ;;AAEA;CACC,sBAAsB;AACvB;;AAEA,kBAAkB;;AAElB;CACC,WAAW;AACZ;;AAEA;CACC,mBAAmB;AACpB;;AAEA;;CAEC,kBAAkB;AACnB;;AAEA;CACC,aAAa;CACb,mBAAmB;CACnB,kBAAkB;CAClB,6BAA6B;AAC9B;;AAEA;CACC,SAAS;CACT,UAAU;AACX;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,qBAAqB;CACrB,SAAS;CACT,YAAY;AACb;;AAEA;CACC,qBAAqB;CACrB,kBAAkB;CAClB,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB,mBAAmB;CACnB,cAAc;CACd,aAAa;CACb,sBAAsB;AACvB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,0BAA0B;CAC1B,aAAa;CACb,kBAAkB;CAClB,gBAAgB;CAChB,SAAS;CACT,gBAAgB;CAChB,WAAW;CACX,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,kBAAkB;CAClB,UAAU;CACV,SAAS;AACV;;AAEA;CACC,kBAAkB;CAClB,WAAW;CACX,SAAS;AACV;;AAEA;CACC,kBAAkB;CAClB,YAAY;CACZ,yBAAyB;CACzB,WAAW;CACX,+BAAqB;CACrB,YAAY;CACZ,8BAAsB;SAAtB,sBAAsB;CACtB,kBAAkB;CAClB,WAAW;CACX,kBAAkB;CAClB,aAAa;AACd;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;AAClB;;AAEA,yCAAyC;AACzC;CACC,aAAa;AACd;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,gDAAwC;SAAxC,wCAAwC;AACzC;;AAEA,qBAAqB;;AAErB;CACC,gBAAgB;CAChB,mBAAmB;CACnB,YAAY;AACb;;AAEA;CACC,wBAAwB;CACxB,aAAa;AACd;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,WAAW;AACZ;;AAEA,gBAAgB;;AAEhB;CACC,cAAc;CACd,iBAAiB;AAClB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,mBAAmB;CACnB,oBAAoB;AACrB;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,cAAc;CACd,kBAAkB;CAClB,gBAAgB;AACjB;;AAEA;CACC,UAAU;CACV,SAAS;CACT,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;CAClB,oBAAoB;AACrB;;AAEA;CACC,kBAAkB;CAClB,oBAAoB;AACrB;;AAEA;CACC,UAAU;CACV,cAAc;AACf;;AAEA;;CAEC,iBAAiB;CACjB,oBAAoB;CACpB,yBAAyB;CACzB,YAAY;CACZ,iBAAiB;AAClB;;AAEA;;;CAGC,SAAS;CACT,cAAc;AACf;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,gBAAgB;CAChB,cAAc;AACf;;AAEA,+BAA+B;AAC/B;CACC,yBAAyB;CACzB,sBAAsB;CACtB,gDAAwC;SAAxC,wCAAwC;CACxC,gBAAgB;CAChB,oBAAoB;CACpB,iBAAiB;AAClB;;AAEA;CACC,cAAc;CACd,YAAY;AACb;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,uBAAuB;CACvB,mBAAmB;CACnB,aAAa;AACd;;AAEA;CACC,mBAAmB;AACpB;;AAEA;;CAEC;EACC,oBAAa;EAAb,oBAAa;EAAb,aAAa;EACb,2BAAqB;MAArB,wBAAqB;UAArB,qBAAqB;CACtB;;CAEA;EACC,mBAAU;MAAV,cAAU;UAAV,UAAU;CACX;;CAEA;EACC,yBAAyB;CAC1B;;AAED;;AAEA;;CAEC;;;EAGC,wBAAwB;EACxB,iBAAiB;EACjB,4BAA4B;EAC5B,YAAY;EACZ,gBAAgB;EAChB,WAAW;CACZ;;CAEA;EACC,YAAY;CACb;;CAEA;EACC,eAAe;EACf,SAAS;EACT,WAAW;EACX,QAAQ;EACR,SAAS;EACT,gBAAgB;EAChB,UAAU;EACV,+CAAuC;UAAvC,uCAAuC;CACxC;;CAEA;EACC,SAAS;EACT,YAAY;CACb;;CAEA;EACC,UAAU;CACX;;CAEA;EACC,kBAAkB;CACnB;;CAEA;EACC,WAAW;CACZ;;AAED;;AAEA;;CAEC;EACC,UAAU;CACX;;AAED;;AAEA;;CAEC;EACC,eAAe;CAChB;;CAEA;EACC,gBAAgB;CACjB;;CAEA;EACC,kBAAkB;EAClB,eAAe;EACf,iBAAiB;CAClB;;CAEA;EACC,kBAAkB;EAClB,eAAe;EACf,sBAAsB;EACtB,YAAY;EACZ,mBAAmB;CACpB;;CAEA;EACC,kBAAkB;EAClB,QAAQ;EACR,QAAQ;CACT;;CAEA;EACC,cAAc;EACd,yBAAyB;CAC1B;;CAEA;EACC,kBAAkB;CACnB;;CAEA;EACC,SAAS;EACT,cAAc;EACd,WAAW;CACZ;;CAEA;EACC,cAAc;CACf;;CAEA;EACC,WAAW;EACX,8BAAsB;UAAtB,sBAAsB;EACtB,kBAAkB;CACnB;;CAEA;EACC,eAAe;EACf,SAAS;EACT,SAAS;EACT,WAAW;EACX,8BAAsB;UAAtB,sBAAsB;EACtB,kBAAkB;EAClB,mDAA2C;UAA3C,2CAA2C;EAC3C,gBAAgB;EAChB,UAAU;CACX;;CAEA;EACC,cAAc;EACd,kBAAkB;CACnB;;CAEA;EACC,cAAc;CACf;;AAED;;;;;;;;;GASG;;CAEF;EACC,mBAAmB;CACpB;;CAEA;EACC,qBAAqB;CACtB;;CAEA;EACC,SAAS;EACT,wBAAgB;UAAhB,gBAAgB;EAChB,uBAAuB;CACxB;;CAEA;EACC,YAAY;EACZ,mBAAmB;EACnB,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACV,kBAAkB;EAClB,UAAU;EACV,UAAU;EACV,SAAS;CACV;;CAEA;EACC,cAAc;EACd,qBAAqB;EACrB,wBAAwB;EACxB,WAAW;EACX,UAAU;EACV,SAAS;EACT,mBAAmB;EACnB,gBAAgB;EAChB,gDAAwC;UAAxC,wCAAwC;CACzC;;CAEA;EACC,6BAA6B;EAC7B,cAAc;EACd,eAAe;EACf,gBAAgB;EAChB,WAAW;EACX,aAAa;EACb,SAAS;CACV;;CAEA;EACC;;;GAGC;EACD,yBAAyB;EACzB,iBAAiB;EACjB,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,oBAAoB;EACpB,WAAW;EACX,gBAAgB;CACjB;;CAEA;EACC,gBAAgB;CACjB;;CAEA;EACC,cAAc;EACd,eAAe;CAChB;;CAEA;EACC,gBAAgB;CACjB;;CAEA;EACC,4BAAsB;EAAtB,6BAAsB;MAAtB,0BAAsB;UAAtB,sBAAsB;CACvB;;CAEA;EACC,WAAW;CACZ;;CAEA;EACC,gBAAgB;CACjB;;CAEA;EACC,kBAAkB;CACnB;;CAEA;EACC,sBAAsB;EACtB,8BAA8B;CAC/B;;CAEA;EACC,iBAAiB;CAClB;;CAEA;EACC,sBAAsB;EACtB,kBAAkB;EAClB,OAAO;EACP,MAAM;EACN,8BAAsB;UAAtB,sBAAsB;EACtB,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,2CAA2C;CAC5C;;CAEA;EACC,YAAY;CACb;;CAEA;EACC,cAAc;EACd,eAAe;EACf,WAAW;EACX,eAAe;CAChB;;CAEA;EACC,4BAAsB;EAAtB,6BAAsB;MAAtB,0BAAsB;UAAtB,sBAAsB;CACvB;;CAEA;EACC,WAAW;EACX,eAAe;EACf,eAAe;EACf,mBAAmB;CACpB;;CAEA;EACC,oBAAoB;CACrB;;CAEA;EACC,4BAAsB;EAAtB,6BAAsB;MAAtB,0BAAsB;UAAtB,sBAAsB;CACvB;;CAEA;EACC,mBAAe;MAAf,eAAe;EACf,4BAAsB;EAAtB,6BAAsB;MAAtB,0BAAsB;UAAtB,sBAAsB;CACvB;;CAEA;EACC,WAAW;EACX,aAAa;CACd;;CAEA;EACC,WAAW;CACZ;;CAEA;;EAEC,kBAAkB;EAClB,MAAM;EACN,YAAY;CACb;;CAEA;;EAEC,WAAW;CACZ;;CAEA;EACC,oBAAoB;EACpB,iBAAiB;CAClB;;AAED;;AAEA;;CAEC;CACA;;CAEA;EACC,WAAW;EACX,WAAW;EACX,kBAAkB;CACnB;;CAEA;EACC,aAAa;CACd;;CAEA;EACC,kBAAkB;CACnB;;CAEA;EACC,cAAc;EACd,WAAW;EACX,SAAS;EACT,mBAAmB;CACpB;;AAED;;AAEA;AACA;;AAEA;;CAEC;EACC,UAAU;CACX;;CAEA;EACC,mBAAmB,EAAE,YAAY;CAClC;;CAEA;EACC,mBAAmB;CACpB;;CAEA;EACC,kBAAkB;CACnB;;CAEA;EACC,iBAAiB;CAClB;;CAEA;EACC,kCAAkC;CACnC;;CAEA;EACC,0BAA0B;CAC3B;;AAED;;AAEA;;CAEC;EACC,WAAW;EACX,YAAY;EACZ,0CAA0C;EAC1C,mBAAmB;CACpB;;CAEA;EACC,kBAAkB;EAClB,gBAAgB;CACjB;;CAEA;EACC,cAAc;CACf;;AAED;;AAEA;;CAEC;EACC,uBAAuB;EACvB,mBAAmB;CACpB;;CAEA;EACC,YAAY;CACb;;AAED;;AAEA;;CAEC;EACC,WAAW;EACX,mBAAmB;CACpB;;CAEA;EACC,WAAW;CACZ;;CAEA;EACC,cAAc;CACf;;CAEA;EACC,oBAAa;EAAb,oBAAa;EAAb,aAAa;EACb,mBAAe;MAAf,eAAe;CAChB;;CAEA;EACC,cAAc;CACf;;CAEA;EACC,WAAW;EACX,mBAAmB;CACpB;;CAEA;EACC,UAAU;EACV,8BAAsB;UAAtB,sBAAsB;CACvB;;CAEA;EACC,aAAa;CACd;;CAEA;EACC,2BAA2B;EAC3B,iBAAiB;EACjB,WAAW;EACX,cAAc;CACf;;AAED","file":"updraftplus-admin-1-24-6.min.css","sourcesContent":["@keyframes udp_blink {\n\n\tfrom {\n\t\topacity: 1;\n\t\ttransform: scale(1);\n\t}\n\n\tto {\n\t\topacity: 0.4;\n\t\ttransform: scale(0.85);\n\t}\n\n}\n\n@keyframes udp_rotate {\n\n\tfrom {\n\t\ttransform: rotate(0);\n\t}\n\n\tto {\n\t\ttransform: rotate(360deg);\n\t}\n\n}\n\n/* Widths and sizing */\n.max-width-600 {\n\tmax-width: 600px;\n}\n\n.max-width-700 {\n\tmax-width: 700px;\n}\n\n.width-900 {\n\tmax-width: 900px;\n}\n\n.width-80 {\n\twidth: 80%;\n}\n\n.updraft--flex {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n\n.updraft--flex > * {\n\tflex: 1;\n\tbox-sizing: border-box;\n}\n\n.updraft--flex > .updraft--one-half {\n\twidth: 50%;\n\tflex: auto;\n}\n\n.updraft--flex > .updraft--two-halves {\n\twidth: 100%;\n\tflex: auto;\n}\n\n.updraft-file-ready-label {\n\tpadding: 5px;\n}\n\n.updraft-color--very-light-grey {\n\tbackground: #F8F8F8;\n}\n\n/* End widths and sizing */\n\n/* Font styling */\n.no-decoration {\n\ttext-decoration: none;\n}\n\n.bold {\n\tfont-weight: bold;\n}\n\n/* End font styling */\n/* Alignment */\n.center-align-td {\n\ttext-align: center;\n}\n\n/* End of Alignment */\n/* Padding */\n.remove-padding {\n\tpadding: 0 !important;\n}\n\n/* End of padding */\n\n.updraft-text-center {\n\ttext-align: center;\n}\n\n.autobackup {\n\tpadding: 6px;\n\tmargin: 8px 0px;\n}\n\nul .disc {\n\tlist-style: disc inside;\n}\n\n.dashicons-log-fix {\n\tdisplay: inherit;\n}\n\n.udpdraft__lifted {\n\tbox-shadow: 0 1px 1px 0 rgba(0,0,0,.1);\n}\n\n#updraft-wrap a .dashicons {\n\ttext-decoration: none;\n}\n\n.updraft-field-description,\ntable.form-table td p.updraft-field-description {\n\tfont-size: 90%;\n\tline-height: 1.2;\n\tfont-style: italic;\n\tmargin-bottom: 5px;\n}\n\n/* Input boxes */\nlabel.updraft_checkbox {\n\tdisplay: block;\n\tmargin-bottom: 4px;\n\tmargin-left: 26px;\n}\n\nlabel.updraft_checkbox > input[type=checkbox] {\n\tmargin-left: -25px;\n}\n\ndiv[id*=\"updraft_include_\"] {\n\tmargin-bottom: 9px;\n}\n\n/* Input boxes */\n.settings_page_updraftplus input[type=\"file\"] {\n\tborder: none;\n}\n\n.settings_page_updraftplus .wipe_settings {\n\tpadding-bottom: 10px;\n}\n\n.settings_page_updraftplus input[type=\"text\"] {\n\tfont-size: 14px;\n}\n\n.settings_page_updraftplus select {\n\tborder-radius: 4px;\n\tmax-width: 100%;\n}\n\ninput.updraft_input--wide,\ntextarea.updraft_input--wide {\n\tmax-width: 442px;\n\twidth: 100%;\n}\n\n#updraft-wrap .button-large {\n\tfont-size: 1.3em;\n}\n\n/* End input boxes */\n\n/* Main Buttons */\n.main-dashboard-buttons {\n\tborder-width: 4px;\n\tborder-radius: 12px;\n\tletter-spacing: 0px;\n\tfont-size: 17px;\n\tfont-weight: bold;\n\tpadding-left: 0.7em;\n\tpadding-right: 2em;\n\tpadding: 0.3em 1em;\n\tline-height: 1.7em;\n\tbackground: transparent;\n\tposition: relative;\n\tborder: 2px solid;\n\ttransition: all 0.2s;\n\tvertical-align: baseline;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tline-height: 1.3em;\n\tmargin-left: .3em;\n\ttext-transform: none;\n\tline-height: 1;\n\ttext-decoration: none;\n}\n\n.button-restore {\n\tborder-color: rgb(98, 158, 192);\n\tcolor: rgb(98, 158, 192);\n}\n\n.button-ud-google {\n\ttext-decoration: none !important;\n\ttransition: background-color .3s, box-shadow .3s;\n\tpadding: 12px 16px 12px 42px !important;\n\tborder: none;\n\tborder-radius: 3px;\n\tbox-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .25);\n\tcolor: #757575;\n\tfont-size: 14px;\n\tfont-weight: 500;\n\tfont-family: \"Roboto\";\n\tbackground-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTcuNiA5LjJsLS4xLTEuOEg5djMuNGg0LjhDMTMuNiAxMiAxMyAxMyAxMiAxMy42djIuMmgzYTguOCA4LjggMCAwIDAgMi42LTYuNnoiIGZpbGw9IiM0Mjg1RjQiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik05IDE4YzIuNCAwIDQuNS0uOCA2LTIuMmwtMy0yLjJhNS40IDUuNCAwIDAgMS04LTIuOUgxVjEzYTkgOSAwIDAgMCA4IDV6IiBmaWxsPSIjMzRBODUzIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNNCAxMC43YTUuNCA1LjQgMCAwIDEgMC0zLjRWNUgxYTkgOSAwIDAgMCAwIDhsMy0yLjN6IiBmaWxsPSIjRkJCQzA1IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNOSAzLjZjMS4zIDAgMi41LjQgMy40IDEuM0wxNSAyLjNBOSA5IDAgMCAwIDEgNWwzIDIuNGE1LjQgNS40IDAgMCAxIDUtMy43eiIgZmlsbD0iI0VBNDMzNSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PHBhdGggZD0iTTAgMGgxOHYxOEgweiIvPjwvZz48L3N2Zz4=);\n\tbackground-color: #FFF;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 12px 11px;\n}\n\n.button-ud-google:hover {\n\tbox-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .25);\n}\n\n.button-ud-google:active {\n\tbackground-color: #EEE;\n}\n\n.button-ud-google:focus {\n\toutline: none;\n\tbox-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .25), 0 0 0 3px #C8DAFC;\n}\n\n.button-ud-google:disabled {\n\tfilter: grayscale(100%);\n\tbackground-color: #EBEBEB;\n\tbox-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .25);\n\tcursor: not-allowed;\n}\n\n.dashboard-main-sizing {\n\tborder-width: 4px;\n\twidth: 190px;\n\tline-height: 1.7em;\n}\n\np.updraftplus-option {\n\tmargin-top: 0;\n\tmargin-bottom: 5px;\n}\n\np.updraftplus-option-inline {\n\tdisplay: inline-block;\n\tpadding-right: 20px;\n}\n\nspan.updraftplus-option-label {\n\tdisplay: block;\n}\n\n/*\n* MIGRATE - CLONE\n*/\n\n#updraft-navtab-migrate-content .postbox {\n\tpadding: 18px;\n}\n\n/* Clone Rows */\n\n.updraftclone-main-row {\n\tdisplay: flex;\n}\n\n.updraftclone-tokens {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 10px;\n\tmargin-right: 20px;\n\tmax-width: 300px;\n}\n\n.updraftclone-tokens p {\n\tmargin: 0;\n}\n\n.updraftclone_action_box {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 10px;\n\tflex: 1;\n}\n\n.updraftclone_action_box p:first-child {\n\tmargin-top: 0;\n}\n\n.updraftclone_action_box p:last-child {\n\tmargin-bottom: 0;\n}\n\n.updraftclone_action_box #ud_downloadstatus3 {\n\tmargin-top: 10px;\n}\n\nspan.tokens-number {\n\tfont-size: 46px;\n\tdisplay: block;\n}\n\n/* Clone header button */\n.button.updraft_migrate_widget_temporary_clone_show_stage0 {\n\tdisplay: none;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\theight: 100%;\n\tborder-left: 1px solid #CCC;\n\tpadding-left: 10px;\n\tpadding-right: 10px;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_container {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_box {\n\tmargin-right: 20px;\n\twidth: 100%;\n\tflex-basis: 100%;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_box iframe,\n.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js {\n\tfloat: none;\n}\n\n@media (min-width: 1024px) {\n\n\t.updraft_migrate_widget_temporary_clone_stage0_container {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t}\n\n\t.updraft_migrate_widget_temporary_clone_stage0_box {\n\t\tflex-basis: 45%;\n\t}\n\n\t.updraft_migrate_widget_temporary_clone_stage0_box iframe,\n\t.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js {\n\t\tfloat: right;\n\t}\n\n}\n\n.updraft_migrate_widget_temporary_clone_show_stage0 .dashicons {\n\ttext-decoration: none;\n\tfont-size: 20px;\n}\n\n.opened .button.updraft_migrate_widget_temporary_clone_show_stage0 {\n\tdisplay: inline-block;\n}\n\n.opened .updraft_migrate_widget_temporary_clone_stage0 {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 8px;\n\tmargin-bottom: 21px;\n}\n\n/* Clone list table */\n.clone-list {\n\tclear: both;\n\twidth: 100%;\n\tmargin-top: 40px;\n}\n\n.clone-list table {\n\twidth: 100%;\n\ttext-align: left;\n}\n\n.clone-list table tr th {\n\tbackground: #E4E4E4;\n}\n\n.clone-list table tr td {\n\tbackground: #F5F5F5;\n\tword-break: break-word;\n}\n\n.clone-list table tr:nth-child(odd) td {\n\tbackground: #FAFAFA;\n}\n\n.clone-list table td,\n.clone-list table th {\n\tpadding: 6px;\n}\n\n/* Clone Progress */\n.updraftplus-clone .updraft_row {\n\tpadding-left: 0;\n\tpadding-right: 0;\n}\n\nbutton#updraft_migrate_createclone + .updraftplus_spinner {\n\tmargin-top: 13px;\n}\n\n/* Clone - Show step 1 info button */\n.button.button-hero.updraftclone_show_step_1 {\n\twhite-space: normal;\n\theight: auto;\n\tline-height: 14px;\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n}\n\n.button.button-hero.updraftclone_show_step_1 span.dashicons {\n\theight: auto;\n}\n\n.updraftplus_clone_status {\n\tcolor: red;\n}\n\n/* MIGRATE */\n\na.updraft_migrate_add_site--trigger span.dashicons {\n\ttext-decoration: none;\n}\n\n.button-restore:hover, .button-migrate:hover, .button-backup:hover,\n.button-view-log:hover, .button-mass-selectors:hover,\n.button-delete:hover, .button-entity-backup:hover, .udp-button-primary:hover {\n\tborder-color: #DF6926;\n\tcolor: #DF6926;\n}\n\n.button-migrate {\n\tcolor: rgb(238, 169, 32);\n\tborder-color: rgb(238, 169, 32);\n}\n\n#updraft_migrate_tab_main {\n\tpadding: 8px;\n}\n\n.updraft_migrate_widget_module_content {\n\tbackground: #FFF;\n\tborder-radius: 0;\n\tposition: relative;\n}\n\nbody.js #updraft_migrate .updraft_migrate_widget_module_content {\n\tdisplay: none;\n}\n\n.updraft_migrate_widget_module_content > h3,\ndiv[class*=\"updraft_migrate_widget_temporary_clone_stage\"] > h3 {\n\tmargin-top: 0;\n}\n\n/* Migrate / Clone headers */\n.updraft_migrate_widget_module_content header,\n#updraft_migrate_tab_alt header {\n\tposition: relative;\n\tdisplay: flex;\n\talign-content: center;\n\tjustify-items: center;\n\tmargin-top: -18px;\n\tmargin-left: -18px;\n\tmargin-right: -18px;\n\tmargin-bottom: 15px;\n\tborder-bottom: 1px solid #CCC;\n}\n\n.updraft_migrate_widget_module_content header h3,\n.updraft_migrate_widget_module_content header button.button.close,\n#updraft_migrate_tab_alt header h3,\n#updraft_migrate_tab_alt header button.button.close {\n\tpadding: 10px;\n\tline-height: 20px;\n\theight: auto;\n\tmargin: 0;\n}\n\n.updraft_migrate_widget_module_content button.button.close,\n#updraft_migrate_tab_alt button.button.close {\n\ttext-decoration: none;\n\tpadding-left: 5px;\n\tborder-right: 1px solid #CCC;\n}\n\n.updraft_migrate_widget_module_content button.button.close .dashicons,\n#updraft_migrate_tab_alt button.button.close .dashicons {\n\tmargin-top: 1px;\n}\n\n.updraft_migrate_widget_module_content header h3,\n#updraft_migrate_tab_alt header h3 {\n\tmargin: 0;\n}\n\n.updraft_migrate_intro button.button.button-primary.button-hero {\n\tmax-width: 235px;\n\tword-wrap: normal;\n\twhite-space: normal;\n\tline-height: 1;\n\theight: auto;\n\tpadding-top: 13px;\n\tpadding-bottom: 13px;\n\ttext-align: left;\n\tposition: relative;\n\tmargin-right: 10px;\n\tmargin-bottom: 10px;\n}\n\n.updraft_migrate_intro button.button.button-primary.button-hero .dashicons {\n\tposition: absolute;\n\tleft: 10px;\n\ttop: calc(50% - 8px);\n}\n\n#updraft_migrate_tab_alt #updraft_migrate_send_existing_button {\n\tmargin-right: 6px;\n}\n\n/*\njquery UI Accordion module\n*/\n#updraft_migrate .ui-widget-content a {\n\tcolor: #1C94C4;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header {\n\tbackground: #F6F6F6;\n\tmargin: 0;\n\tborder-radius: 0;\n\tpadding-left: 0.5em;\n\tpadding-right: 0.7em;\n}\n\n#updraft-wrap .ui-widget {\n\tfont-family: inherit;\n}\n\n.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-w {\n\tbackground-position: -96px 0px;\n}\n\n.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-s {\n\tbackground-position: -64px 0;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header .ui-accordion-header-icon {\n\tleft: auto;\n\tright: 5px;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus {\n\toutline: none;\n\tbox-shadow: 0 0 0 1px rgba(91, 157, 217, 0.22), 0 0 2px 1px rgba(30, 140, 190, 0.3);\n\tbackground: #FFF;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus .dashicons {\n\tcolor: #0572AA;\n\topacity: 1;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active {\n\tbackground: #F6F6F6;\n\tborder-bottom: 2px solid #0572AA;\n\tbox-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3);\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active:focus {\n\tbox-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3), 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8);\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:not(:first-child) {\n\tborder-top: none;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header .dashicons {\n\topacity: 0.4;\n\tmargin-right: 10px;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus {\n\toutline: none;\n\tbox-shadow: 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8);\n\tz-index: 1;\n}\n\nbutton.ui-dialog-titlebar-close:before {\n\tcontent: none!important;\n}\n\n.updraft_next_scheduled_backups_wrapper {\n\tdisplay: flex;\n\tbackground: #FFF;\n\tjustify-items: center;\n\tflex-wrap: wrap;\n}\n\n.updraft_next_scheduled_backups_wrapper > div {\n\twidth: 50%;\n\tbackground: #FFF;\n\theight: auto;\n\t/* padding: 18px 33px; */\n\tpadding: 33px;\n\tbox-sizing: border-box;\n}\n\n.updraft_backup_btn_wrapper {\n\ttext-align: center;\n\tborder-left: 1px solid #F1F1F1;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.incremental-backups-only {\n\tdisplay: none;\n}\n\n.incremental-free-only {\n\tdisplay: none;\n}\n\n.incremental-free-only p {\n\tpadding: 5px;\n\tbackground: rgba(255, 0, 0, 0.06);\n\tborder: 1px solid #BFBFBF;\n}\n\n#updraft-delete-waitwarning span.spinner {\n\tvisibility: visible;\n\tfloat: none;\n\tmargin: 0;\n\tmargin-right: 10px;\n}\n\nbutton#updraft-backupnow-button .spinner,\nbutton#updraft-backupnow-button .dashicons-yes {\n\tdisplay: none;\n}\n\nbutton#updraft-backupnow-button.loading .spinner {\n\tdisplay: inline-block;\n\tvisibility: visible;\n\tmargin-top: 13px;\n\tmargin-right: 0;\n}\n\nbutton#updraft-backupnow-button.loading {\n\tbackground-color: #EFEFEF;\n\tborder-color: #CCC;\n\ttext-shadow: 0 -1px 1px #BBC3C7, 1px 0 1px #BBC3C7, 0 1px 1px #BBC3C7, -1px 0 1px #BBC3C7;\n\tbox-shadow: none;\n}\n\nbutton#updraft-backupnow-button.finished .dashicons-yes {\n\tdisplay: inline-block;\n\tvisibility: visible;\n\tfont-size: 42px;\n\tmargin-right: 0;\n\tmargin-top: 2px;\n}\n\n.updraft_next_scheduled_entity {\n\twidth: 50%;\n\tdisplay: inline-block;\n\tfloat: left;\n\t/*\n\tpadding: 20px 20px 10px 20px;\n\t*/\n}\n\n.updraft_next_scheduled_entity .dashicons {\n\tcolor: #CCC;\n\tfont-size: 20px;\n}\n\n.updraft_next_scheduled_entity strong {\n\tfont-size: 20px;\n}\n\n.updraft_next_scheduled_heading {\n\tmargin-bottom: 10px;\n}\n\n.updraft_next_scheduled_date_time {\n\tcolor: #46A84B;\n}\n\n.updraft_time_now_wrapper {\n\tmargin-top: 68px;\n\twidth: 100%;\n}\n\n.updraft_time_now_label, .updraft_time_now {\n\tdisplay: inline-block;\n\tpadding: 7px;\n}\n\n.updraft_time_now_label {\n\tbackground: #B7B7B7;\n\tborder-top-left-radius: 4px;\n\tborder-bottom-left-radius: 4px;\n\tcolor: #FFF;\n\tmargin-right: 0;\n\ttext-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n.updraft_time_now {\n\tbackground: #F1F1F1;\n\tborder-top-right-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n\tmargin-left: -3px;\n}\n\n#updraft_lastlogmessagerow {\n\tmargin: 6px 0;\n}\n\n#updraft_lastlogmessagerow {\n\tclear: both;\n\tpadding: 0.25px 0;\n}\n\n#updraft_lastlogmessagerow .updraft-log-link {\n\tfloat: right;\n\tmargin-top: -2.5em;\n\tmargin-right: 2px;\n}\n\n#updraft_lastlogmessagerow > div {\n\tclear: both;\n\tbackground: #FFF;\n\tpadding: 18px;\n}\n\n#updraft_activejobs_table {\n\toverflow: hidden;\n\twidth: 100%;\n\tbackground: #FAFAFA;\n\tpadding: 0;\n}\n\n.updraft_requeststart {\n\tpadding: 15px 33px;\n\ttext-align: center;\n}\n\n.updraft_requeststart .spinner {\n\tvisibility: visible;\n\tfloat: none;\n\tvertical-align: middle;\n\tmargin-top: -2px;\n}\n\na.updraft_jobinfo_delete.disabled {\n\topacity: 0.4;\n\tcolor: inherit;\n\ttext-decoration: none;\n}\n\n.updraft_row {\n\tclear: both;\n\ttransition: 0.3s all;\n\tpadding: 15px 33px;\n}\n\n.updraft_row.deleting {\n\topacity: 0.4;\n}\n\n.updraft_progress_container {\n\t/* width: 83%; */\n}\n\n.updraft_existing_backups_count {\n\tpadding: 2px 8px;\n\tfont-size: 12px;\n\tbackground: #CA4A1E;\n\tcolor: #FFF;\n\tfont-weight: bold;\n\tborder-radius: 10px;\n}\n\n.form-table .existing-backups-table input[type=\"checkbox\"] {\n\tborder-radius: 0;\n}\n\n.form-table .existing-backups-table .check-column {\n\twidth: 40px;\n\tpadding: 0;\n\tpadding-top: 8px;\n}\n\n.existing-backups-buttons {\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 3px;\n}\n\n.existing-backups-restore-buttons {\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 3px;\n}\n\n.button-delete {\n\tcolor: #E23900;\n\tborder-color: #E23900;\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-right: 10px;\n}\n\n.button-view-log, .button-mass-selectors {\n\tcolor: darkgrey;\n\tborder-color: darkgrey;\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-top: -1px;\n}\n\n.button-view-log {\n\twidth: 120px;\n}\n\n.button-existing-restore {\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\twidth: 110px;\n}\n\n.main-restore {\n\tmargin-right: 3%;\n\tmargin-left: 3%;\n}\n\n.button-entity-backup {\n\tcolor: #555;\n\tborder-color: #555;\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-right: 5px;\n}\n\n.button-select-all {\n\twidth: 122px;\n}\n\n.button-deselect {\n\twidth: 92px;\n}\n\n#ud_massactions > .display-flex > .mass-selectors-margins, #updraft-delete-waitwarning > .display-flex > .mass-selectors-margins {\n\tmargin-right: -4px;\n}\n\n.udp-button-primary {\n\tborder-width: 4px;\n\tcolor: #0073AA;\n\tborder-color: #0073AA;\n\tfont-size: 14px;\n\theight: 40px;\n}\n\n#ud_massactions .button-delete {\n\tmargin-right: 0px;\n}\n\n.stored_local {\n\tborder-radius: 5px;\n\tbackground-color: #007FE7;\n\tpadding: 3px 5px 5px 5px;\n\tcolor: #FFF;\n\tfont-size: 75%;\n}\n\nspan#updraft_lastlogcontainer {\n\tword-break: break-all;\n}\n\n.stored_icon {\n\theight: 1.3em;\n\tposition: relative;\n\ttop: 0.2em;\n}\n\n.backup_date_label > * {\n\tvertical-align: middle;\n}\n\n.backup_date_label .dashicons {\n\tfont-size: 18px;\n}\n\n.backup_date_label .clear-right {\n\tclear: right;\n}\n\n.existing-backups-table .backup_date_label > div, .existing-backups-table .backup_date_label span > div {\n\tfont-weight: bold;\n}\n\n/* End Main Buttons */\n\n/* End of common elements */\n\n.udp-logo-70 {\n\twidth: 70px;\n\theight: 70px;\n\tfloat: left;\n\tpadding-right: 25px;\n}\n\nh3 .thank-you {\n\tmargin-top: 0px;\n}\n\n.ws_advert {\n\tmax-width: 800px;\n\tfont-size: 140%;\n\tline-height: 140%;\n\tpadding: 14px;\n\tclear: left;\n}\n\n.dismiss-dash-notice {\n\tfloat: right;\n\tposition: relative;\n\ttop: -20px;\n}\n\n.updraft_exclude_container,\n.updraft_include_container {\n\tmargin-left: 24px;\n\tmargin-top: 5px;\n\tmargin-bottom: 10px;\n\tpadding: 15px;\n\tborder: 1px solid #DDD;\n}\n\nlabel.updraft-exclude-label {\n\tfont-weight: 500;\n\tmargin-bottom: 5px;\n\tdisplay: inline-block;\n}\n\n.updraft_add_exclude_item,\n#updraft_include_more_paths_another {\n\tdisplay: inline-block;\n\tmargin-top: 10px;\n}\n\ninput.updraft_exclude_entity_field,\n.form-table td input.updraft_exclude_entity_field,\n.updraftplus-morefiles-row input[type=text] {\n\twidth: calc(100% - 70px);\n\tmax-width: 400px;\n}\n\n.updraft-fs-italic {\n\tfont-style: italic;\n}\n\n@media screen and (max-width: 782px) {\n\n\t.form-table td input.updraft_exclude_entity_field,\n\t.form-table td .updraftplus-morefiles-row input[type=text] {\n\t\tdisplay: inline-block;\n\t}\n\n}\n\n.updraft_exclude_entity_delete.dashicons, .updraft_exclude_entity_edit.dashicons, .updraft_exclude_entity_update.dashicons, .updraftplus-morefiles-row a.dashicons {\n\tmargin-top: 2px;\n\tfont-size: 20px;\n\tbox-shadow: none;\n\tline-height: 1;\n\tpadding: 3px;\n\tmargin-right: 4px;\n}\n\n.updraft_exclude_entity_delete,\n.updraft_exclude_entity_delete:hover,\n.updraftplus-morefiles-row-delete {\n\tcolor: #FF6347;\n}\n\n.updraft_exclude_entity_update.dashicons, .updraft_exclude_entity_update.dashicons:hover {\n\tcolor: #008000;\n\tfont-weight: bold;\n\tfont-size: 22px;\n\tmargin-left: 4px;\n}\n\n.updraft_exclude_entity_edit {\n\tmargin-left: 4px;\n}\n\n.updraft_exclude_entity_update.is-active ~ .updraft_exclude_entity_delete {\n\tdisplay: none;\n}\n\n.updraft-exclude-panel-heading {\n\tmargin-bottom: 8px;\n}\n\n.updraft-exclude-panel-heading h3 {\n\tmargin: 0.5em 0 0.5em 0;\n}\n\n.updraft-exclude-submit.button-primary {\n\tmargin-top: 5px;\n}\n\n.updraft_exclude_actions_list {\n\tfont-weight: bold;\n}\n\n.updraft-exclude-link {\n\tcursor: pointer;\n}\n\n#updraft_include_more_options {\n\tpadding-left: 25px;\n}\n\n#updraft_report_cell .updraft_reportbox,\n.updraft_small_box {\n\tpadding: 12px;\n\tmargin: 8px 0;\n\tborder: 1px solid #CCC;\n\tposition: relative;\n}\n\n#updraft_report_cell button.updraft_reportbox_delete,\n.updraft_box_delete_button,\n.updraft_small_box .updraft_box_delete_button {\n\tpadding: 4px;\n\tpadding-top: 6px;\n\tborder: none;\n\tbackground: transparent;\n\tposition: absolute;\n\ttop: 4px;\n\tright: 4px;\n\tcursor: pointer;\n}\n\n#updraft_report_cell button.updraft_reportbox_delete:hover {\n\tcolor: #DE3C3C;\n}\n\na.updraft_report_another .dashicons {\n\ttext-decoration: none;\n\tmargin-top: 2px;\n}\n\n.updraft_report_dbbackup.updraft_report_disabled {\n\tcolor: #CCC;\n}\n\n#updraft-navtab-settings-content .updraft-test-button {\n\tfont-size: 18px !important;\n}\n\n#updraft_report_cell .updraft_report_email {\n\tdisplay: block;\n\twidth: calc(100% - 50px);\n\tmargin-bottom: 9px;\n}\n\n#updraft_report_cell .updraft_report_another_p {\n\tclear: left;\n}\n\n/* Taken straight from admin.php */\n\n#updraft-navtab-settings-content table.form-table p {\n\tmax-width: 700px;\n}\n\n#updraft-navtab-settings-content table.form-table .notice p {\n\tmax-width: none;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected,\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected td {\n\tbackground-color: #EFEFEF;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected:nth-child(even) td {\n\tbackground-color: #E8E8E8;\n}\n\n.updraft_settings_sectionheading {\n\tdisplay: none;\n}\n\n.updraft-backupentitybutton-disabled {\n\tbackground-color: transparent;\n\tborder: none;\n\tcolor: #0074A2;\n\ttext-decoration: underline;\n\tcursor: pointer;\n\tclear: none;\n\tfloat: left;\n}\n\n.updraft-backupentitybutton {\n\tmargin-left: 8px;\n}\n\n.updraft-bigbutton {\n\tpadding: 2px 0px !important;\n\tmargin-right: 14px !important;\n\tfont-size: 22px !important;\n\tmin-height: 32px;\n\tmin-width: 180px;\n}\n\ntr[class*=\"_updraft_remote_storage_border\"] {\n\tborder-top: 1px solid #CCC;\n}\n\n.updraft_multi_storage_options {\n\tfloat: right;\n\tclear: right;\n\tmargin-bottom: 5px !important;\n}\n\n.updraft_toggle_instance_label {\n\tvertical-align: top !important;\n}\n\n.updraft_debugrow th {\n\tfloat: right;\n\ttext-align: right;\n\tfont-weight: bold;\n\tpadding-right: 8px;\n\tmin-width: 140px;\n}\n\n.updraft_debugrow td {\n\tmin-width: 300px;\n\tvertical-align: bottom;\n}\n\n.updraft_webdav_host_error, .onedrive_folder_error {\n\tcolor: red;\n}\n\nlabel[for=updraft_servicecheckbox_updraftvault] {\n\tposition: relative;\n}\n\n#updraft-wrap .udp-info {\n\tposition: absolute;\n\tright: 10px;\n\ttop: calc(50% - 10px);\n}\n\n#updraft-wrap span.info-trigger {\n\tdisplay: inline-block;\n\twidth: 20px;\n\theight: 20px;\n\tbackground: #FFF;\n\tcolor: #72777C;\n\tborder-radius: 30px;\n\ttext-align: center;\n\tline-height: 20px;\n\tbox-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n#updraft-wrap .info-content-wrapper {\n\tdisplay: none;\n\tposition: absolute;\n\tbottom: 20px;\n\ttransform: translatex(calc(-50% + 10px));\n\twidth: 330px;\n\tpadding-bottom: 10px;\n}\n\n#updraft-wrap .info-content-wrapper::before {\n\tcontent: '';\n\tposition: absolute;\n\tbottom: -10px;\n\tborder: 10px solid transparent;\n\tborder-top-color: #FFF;\n\tleft: calc(50% - 10px);\n}\n\n#updraft-wrap .info-content {\n\tpadding: 20px;\n\tbackground: #FFF;\n\tborder-radius: 4px;\n\tbox-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);\n\tcolor: #72777C;\n}\n\n#updraft-wrap .info-content h3 {\n\tmargin-top: 0;\n}\n\n#updraft-wrap .info-content p {\n\tmargin-top: 10px;\n}\n\n#updraft-wrap .udp-info:hover .info-content-wrapper {\n\tdisplay: block;\n}\n\ndiv.conditional_remote_backup select.logic_type {\n\tvertical-align: inherit !important;\n}\n\ndiv.conditional_remote_backup label.updraft_toggle_instance_label.radio_group {\n\tdisplay: block;\n\tmargin-top: 7px;\n}\n\ndiv.conditional_remote_backup div.logic ul.rules input.rule_value {\n\tvertical-align: middle;\n}\n\ndiv.conditional_remote_backup p {\n\tmargin-bottom: 10px;\n}\n\ndiv.conditional_remote_backup div.logic ul.rules span svg {\n\twidth: 20px;\n\tvertical-align: middle;\n\tcursor: pointer;\n}\n\ndiv.conditional_remote_backup div.logic ul.rules span svg {\n\tmargin-left: 3px;\n}\n\ndiv.conditional_remote_backup div.logic select.logic_type {\n\tvertical-align: unset;\n}\n\n/* jstree styles */\n\n/* these styles hide the dots from the parent but keep the arrows */\n.updraft_jstree .jstree-container-ul > .jstree-node,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-node {\n\tbackground: transparent;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-open > .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-open > .jstree-ocl {\n\tbackground-position: -36px -4px;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-closed> .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-closed> .jstree-ocl {\n\tbackground-position: -4px -4px;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-leaf> .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-leaf> .jstree-ocl {\n\tbackground: transparent;\n}\n\n/* zip browser jstree styles */\n#updraft_zip_files_container {\n\tposition: relative;\n\theight: 450px;\n\toverflow: none;\n}\n\n.updraft_jstree_info_container {\n\tposition: relative;\n\theight: auto;\n\twidth: 100%;\n\tborder: 1px dotted;\n\tmargin-bottom: 5px;\n}\n\n.updraft_jstree_info_container p {\n\tmargin: 1px;\n\tpadding-left: 10px;\n\tfont-size: 14px;\n}\n\n#updraft_zip_download_item {\n\tdisplay: none;\n\tcolor: #0073AA;\n\tpadding-left: 10px;\n}\n\n#updraft_zip_download_notice {\n\tpadding-left: 10px;\n}\n\n#updraft_exclude_files_folders_jstree, #updraft_exclude_files_folders_wildcards_jstree {\n\tmax-height: 200px;\n\toverflow-y: scroll;\n}\n\n.updraft_jstree {\n\tposition: relative;\n\tborder: 1px dotted;\n\theight: 80%;\n\twidth: 100%;\n\toverflow: auto;\n}\n\n/* More files jstree styles */\ndiv[id^=\"updraft_more_files_container_\"], div.updraft_googledrive_container {\n\tposition: relative;\n\tdisplay: none;\n\twidth: 100%;\n\tborder: 1px solid #CCC;\n\tbackground: #FAFAFA;\n\tmargin-bottom: 5px;\n\tmargin-top: 4px;\n\tbox-shadow: 0 5px 8px rgba(0, 0, 0, 0.1);\n}\n\ndiv.updraft_googledrive_container ul.jstree-container-ul {\n\toverflow-y: scroll;\n\tmax-height: 200px;\n}\n\ndiv[id^=\"updraft_more_files_container_\"]::before, div.updraft_googledrive_container::before {\n\tcontent: ' ';\n\twidth: 11px;\n\theight: 11px;\n\tdisplay: block;\n\tbackground: #FAFAFA;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 20px;\n\tborder-top: 1px solid #CCC;\n\tborder-left: 1px solid #CCC;\n\ttransform: translatey(-7px) rotate(45deg);\n}\n\ninput.updraft_more_path_editing {\n\tborder-color: #0285BA;\n}\n\ninput.updraft_more_path_editing ~ a.dashicons {\n\tdisplay: none;\n}\n\ndiv[id^=\"updraft_jstree_buttons_\"] {\n\tpadding: 10px;\n\tbackground: #E6E6E6;\n}\n\ndiv[id^=\"updraft_jstree_container_\"] {\n\theight: 300px;\n\twidth: 100%;\n\toverflow: auto;\n}\n\ndiv[id^=\"updraft_more_files_container_\"] button {\n\tline-height: 20px;\n}\n\nbutton[id^=\"updraft_parent_directory_\"] {\n\tmargin: 10px 10px 4px 10px;\n\tpadding-left: 3px;\n}\n\nbutton[id^=\"updraft_jstree_confirm_\"], button[id^=\"updraft_jstree_cancel_\"] {\n\tdisplay: none;\n}\n\ninput[id^=\"updraft_include_more_path_restore_\"] {\n\ttext-align: right;\n}\n\n.updraftplus-morefiles-row-delete,\n.updraftplus-morefiles-row-edit {\n\tcursor: pointer;\n}\n\n#updraft_include_more_paths_error {\n\tcolor: #DE3C3C;\n}\n\np[id^=\"updraftplus_manual_authentication_error_\"] {\n\tcolor: #DE3C3C;\n}\n\n#updraft-wrap .form-table th {\n\twidth: 230px;\n}\n\n#updraft-wrap .form-table .existing-backups-table th {\n\twidth: auto;\n}\n\n.updraft-viewlogdiv form {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraft-viewlogdiv {\n\tdisplay: inline-block;\n\tmargin-left: 4px;\n}\n\n.updraft-viewlogdiv input, .updraft-viewlogdiv a {\n\tborder: none;\n\tbackground-color: transparent;\n\tcolor: #000;\n\tmargin: 0px;\n\tpadding: 3px 4px;\n\tfont-size: 16px;\n\tline-height: 26px;\n}\n\n.updraft-viewlogdiv input:hover, .updraft-viewlogdiv a:hover {\n\tcolor: #FFF;\n\tcursor: pointer;\n}\n\n.button.button-remove {\n\tcolor: white;\n\tbackground-color: #DE3C3C;\n\tborder-color: #C00000;\n\tbox-shadow: 0 1px 0 #C10100;\n}\n\n.button.button-remove:hover,\n.button.button-remove:focus {\n\tborder-color: #C00;\n\tcolor: #FFF;\n\tbackground: #C00;\n}\n\n/* button-remove colors for midnight admin theme */\nbody.admin-color-midnight .button.button-remove {\n\tcolor: #DE3C3C;\n\tbackground-color: #F7F7F7;\n\tborder-color: #CCC;\n\tbox-shadow: 0 1px 0 #CCC;\n}\n\nbody.admin-color-midnight .button.button-remove:hover, body.admin-color-midnight .button.button-remove:focus {\n\tborder-color: #BA281F;\n}\n\nbody.admin-color-midnight .button.button-remove:focus {\n\tbox-shadow: inherit;\n\tbox-shadow: 0 0 3px rgba(0, 115, 170, 0.8);\n}\n\n.drag-drop #drag-drop-area2 {\n\tborder: 4px dashed #DDD;\n\theight: 200px;\n}\n\n#drag-drop-area2 .drag-drop-inside {\n\tmargin: 36px auto 0;\n\twidth: 350px;\n}\n\n#filelist, #filelist2 {\n\tmargin-top: 30px;\n\twidth: 100%;\n}\n\n#filelist .file, #filelist2 .file, .ud_downloadstatus .file, #ud_downloadstatus2 .file, #ud_downloadstatus3 .file {\n\tpadding: 1px;\n\tbackground: #ECECEC;\n\tborder: solid 1px #CCC;\n\tmargin: 4px 0;\n}\n\n.updraft_premium section {\n\tmargin-bottom: 20px;\n}\n\n/*\n\tCall to action Premium\n*/\n.updraft_premium_cta {\n\tbackground: #FFF;\n\tmargin-top: 30px;\n\tpadding: 0;\n\tborder-left: 4px solid #DB6A03;\n}\n\n.updraft_premium_cta a {\n\tfont-weight: normal;\n}\n\n.updraft_premium_cta__action {\n\tposition: relative;\n\ttext-align: center;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero {\n\tfont-size: 1.3em;\n\tletter-spacing: 0.03rem;\n\ttext-transform: uppercase;\n\tmargin-bottom: 7px;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero + small {\n\tdisplay: block;\n\tmax-width: 100%;\n\ttext-align: center;\n\tcolor: #AFAFAF;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero + small .dashicons {\n\twidth: 12px;\n\theight: 12px;\n}\n\n.updraft_premium_cta__top {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: 18px 30px;\n}\n\n.updraft_premium_cta__bottom {\n\tbackground: #F9F9F9;\n\tpadding: 5px 30px;\n}\n\n.updraft_premium_cta__summary {\n\tmargin-right: 60px;\n}\n\n.updraft_premium_cta h2 {\n\tfont-size: 28px;\n\tfont-weight: 200;\n\tline-height: 1;\n\tmargin: 0;\n\tmargin-bottom: 5px;\n\tletter-spacing: 0.05rem;\n\tcolor: #DB6A03;\n}\n\n.updraft_premium_cta ul li::after {\n\tcolor: #CCC;\n}\n\n@media only screen and (max-width: 768px) {\n\n\t.updraft_premium_cta__top {\n\t\tflex-direction: column;\n\t\ttext-align: center;\n\t\talign-items: center;\n\t}\n\n\t.updraft_premium_cta__summary {\n\t\tmargin-right: 0;\n\t\tmargin-bottom: 30px;\n\t}\n\n}\n\n/*\n\tBox\n*/\n.udp-box {\n\tbackground: #FFF;\n\tpadding: 20px;\n\tbox-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n\ttext-align: center;\n}\n\n.udp-box h3 {\n\tmargin: 0;\n}\n\n.udp-box__heading {\n\talign-self: center;\n\tbackground: none;\n\tbox-shadow: none;\n}\n\n/*\n\tOther Plugins\n*/\n.updraft-more-plugins {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tjustify-content: space-between;\n\tflex-wrap: wrap;\n}\n\n.updraft-more-plugins img {\n\tmax-width: 80%;\n\tmax-height: 30%;\n\tdisplay: inline-block;\n}\n\n.updraft-more-plugins .udp-box {\n\tbox-sizing: border-box;\n\twidth: 24%;\n}\n\n.updraft-more-plugins .udp-box p:last-child {\n\tmargin-bottom: 0;\n\tpadding-bottom: 0;\n}\n\n/*\n\tlinks list\n*/\n.updraft_premium_description_list {\n\ttext-align: left;\n\tmargin: 0;\n\tfont-size: 12px;\n}\n\nul.updraft_premium_description_list, ul#updraft_restore_warnings {\n\tlist-style: disc inside;\n}\n\nul.updraft_premium_description_list li {\n\tdisplay: inline;\n}\n\nul.updraft_premium_description_list li::after {\n\tcontent: \" | \";\n}\n\nul.updraft_premium_description_list li:last-child::after {\n\tcontent: \"\";\n}\n\n.updraft_feature_cell {\n\tbackground-color: #F7D9C9 !important;\n\tpadding: 5px 10px;\n}\n\n.updraftplus_com_login_status, .updraftplus_com_key_status {\n\tdisplay: none;\n\tbackground: #FFF;\n\tborder-left: 4px solid #FFF;\n\tborder-left-color: #DC3232;\n\tbox-shadow: 0 1px 1px 0 rgba(0,0,0,.1);\n\tmargin: 5px 0 15px 0;\n\tpadding: 5px 12px;\n}\n\n.updraftplus_com_login_status.success {\n\tborder-left-color: green;\n}\n\n#updraft-wrap strong.success {\n\tcolor: green;\n}\n\n.updraft_feat_table {\n\tborder: none;\n\tborder-collapse: collapse;\n\tfont-size: 120%;\n\tbackground-color: white;\n\ttext-align: center;\n}\n\n.updraft_feat_th, .updraft_feat_table td {\n\tborder: 1px solid #F1F1F1;\n\tborder-collapse: collapse;\n\tfont-size: 120%;\n\tbackground-color: white;\n\ttext-align: center;\n\tpadding: 15px;\n}\n\n.updraft_feat_table td {\n\tborder-bottom-width: 4px;\n}\n\n.updraft_feat_table td:first-child {\n\tborder-left: none;\n}\n\n.updraft_feat_table td:last-child {\n\tborder-right: none;\n}\n\n.updraft_feat_table tr:last-child td {\n\tborder-bottom: none;\n}\n\n.updraft_feat_table td:nth-child(2),\n.updraft_feat_table td:nth-child(3) {\n\tbackground-color: rgba(241, 241, 241, 0.38);\n\twidth: 190px;\n}\n\n.updraft_feat_table__header td img {\n\tdisplay: block;\n\tmargin: 0 auto;\n}\n\n.updraft_feat_table__header td {\n\ttext-align: center;\n}\n\n.updraft_feat_table .installed {\n\tfont-size: 14px;\n}\n\n.updraft_feat_table p {\n\tpadding: 0px 10px;\n\tmargin: 5px 0px;\n\tfont-size: 13px;\n}\n\n.updraft_feat_table h4 {\n\tmargin: 5px 0px;\n}\n\n.updraft_feat_table .dashicons {\n\twidth: 25px;\n\theight: 25px;\n\tfont-size: 25px;\n\tline-height: 1;\n}\n\n.updraft_feat_table .dashicons-yes, .updraft_feat_table .updraft-yes {\n\tcolor: green;\n}\n\n.updraft_feat_table .dashicons-no-alt, .updraft_feat_table .updraft-no {\n\tcolor: red;\n}\n\n.updraft_tick_cell {\n\ttext-align: center;\n}\n\n.updraft_tick_cell img {\n\tmargin: 4px 0;\n\theight: 24px;\n}\n\n.ud_downloadstatus__close {\n\tborder: none;\n\tbackground: transparent;\n\twidth: auto;\n\tfont-size: 20px;\n\tpadding: 0;\n\tcursor: pointer;\n}\n\n#filelist .fileprogress, #filelist2 .fileprogress, .ud_downloadstatus .dlfileprogress, #ud_downloadstatus2 .dlfileprogress, #ud_downloadstatus3 .dlfileprogress {\n\twidth: 0%;\n\tbackground: #0572AA;\n\theight: 8px;\n\ttransition: width .3s;\n}\n\n.ud_downloadstatus .raw, #ud_downloadstatus2 .raw, #ud_downloadstatus3 .raw {\n\tmargin-top: 8px;\n\tclear: left;\n}\n\n.ud_downloadstatus .file, #ud_downloadstatus2 .file, #ud_downloadstatus3 .file {\n\tmargin-top: 8px;\n}\n\ndiv[class^=\"updraftplus_downloader_container_\"] {\n\tpadding: 10px;\n}\n\ntr.updraftplusmethod h3 {\n\tmargin: 0px;\n}\n\ntr.updraftplusmethod img {\n\tmax-width: 100%;\n}\n\n#updraft_retain_db_rules .updraft_retain_rules_delete, #updraft_retain_files_rules .updraft_retain_rules_delete {\n\tcursor: pointer;\n\tcolor: red;\n\tfont-size: 120%;\n\tfont-weight: bold;\n\tborder: 0px;\n\tborder-radius: 3px;\n\tpadding: 2px;\n\tmargin: 0 6px;\n\ttext-decoration: none;\n\tdisplay: inline-block;\n}\n\n#updraft_retain_db_rules .updraft_retain_rules_delete:hover, #updraft_retain_files_rules .updraft_retain_rules_delete:hover {\n\tcursor: pointer;\n\tcolor: white;\n\tbackground: red;\n}\n\n#updraft_backup_started {\n\tmax-width: 800px;\n\tfont-size: 140%;\n\tline-height: 140%;\n\tpadding: 14px;\n\tclear: left;\n}\n\n/* backup finished */\n.blockUI.blockOverlay.ui-widget-overlay {\n\tbackground: #000;\n}\n\n.updraft_success_popup {\n\ttext-align: center;\n\tpadding-bottom: 30px;\n}\n\n.updraft_success_popup > .dashicons {\n\tfont-size: 100px;\n\twidth: 100px;\n\theight: 100px;\n\tline-height: 100px;\n\tpadding: 0px;\n\tborder-radius: 50%;\n\tmargin-top: 30px;\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n\tbackground: #E2E6E5;\n}\n\n.updraft_success_popup > .dashicons.dashicons-yes {\n\ttext-indent: -5px;\n}\n\n.updraft_success_popup.success > .dashicons {\n\tcolor: green;\n}\n\n.updraft_success_popup.warning > .dashicons {\n\tcolor: #888;\n}\n\n.updraft_success_popup--message {\n\tpadding: 20px;\n}\n\n.button.updraft-close-overlay .dashicons {\n\ttext-decoration: none;\n\tfont-size: 20px;\n\tmargin-left: -5px;\n\tpadding: 0;\n\ttransform: translatey(3px);\n}\n\n.updraft_saving_popup img {\n\tanimation-name: udp_blink;\n\tanimation-duration: 610ms;\n\tanimation-iteration-count: infinite;\n\tanimation-direction: alternate;\n\tanimation-timing-function: ease-out;\n}\n\n.udp-premium-image {\n\tdisplay: none;\n}\n\n@media screen and (min-width: 720px) {\n\n\t.udp-premium-image {\n\t\tdisplay: block;\n\t\tfloat: left;\n\t\tpadding-right: 5px;\n\t}\n\n}\n\n/* End stuff already in admin.php */\n#plupload-upload-ui2 {\n\twidth: 80%;\n}\n\n.backup-restored {\n\tpadding: 8px;\n}\n\n.updated.backup-restored {\n\tpadding-top: 15px;\n\tpadding-bottom: 15px;\n}\n\n.backup-restored span {\n\tfont-size: 120%;\n}\n\n.memory-limit {\n\tpadding: 8px;\n}\n\n.updraft_list_errors {\n\tpadding: 8px;\n}\n\n.updraftplus-nav-tab.nav-tab-active,\n.updraftplus-nav-tab.nav-tab-active:hover,\n.updraftplus-nav-tab.nav-tab-active:focus,\n.updraftplus-nav-tab.nav-tab-active:focus:active {\n\tborder-bottom: 1px solid #F0F0F1;\n\tbackground: #F0F0F1!important;\n\tcolor: #000;\n}\n\n.updraftplus-nav-tab.nav-tab-active {\n\tmargin-bottom: -1px;\n\tcolor: #3C434A;\n}\n\n.updraftplus-nav-tab.nav-tab-active, .updraftplus-nav-tab:focus:active {\n\tbox-shadow: none;\n}\n\n.updraftplus-nav-tab {\n\tfloat: left;\n\tborder: 1px solid #C3C4C7;\n\tborder-bottom-color: rgb(195, 196, 199);\n\tborder-bottom-style: solid;\n\tborder-bottom-width: 1px;\n\tborder-bottom: none;\n\tmargin-left: 0.5em;\n\tpadding: 5px 10px;\n\tfont-size: 14px;\n\tline-height: 1.71428571;\n\tfont-weight: 600;\n\tbackground: #DCDCDE;\n\tcolor: #50575E;\n\ttext-decoration: none;\n\twhite-space: nowrap;\n}\n\n.nav-tab-wrapper {\n\tmargin: 14px 0px;\n}\n\n#updraft-poplog-content {\n\twhite-space: pre-wrap;\n}\n\n.next-backup {\n\tborder: 0px;\n\tpadding: 0px;\n\tmargin: 0 10px 0 0;\n}\n\n.not-scheduled {\n\tvertical-align: top !important;\n\tmargin: 0px !important;\n\tpadding: 0px !important;\n}\n\n.next-backup .updraft_scheduled {\n\t/* width: 124px;*/\n\tmargin: 0px;\n\tpadding: 2px 4px 2px 0px;\n}\n\n#next-backup-table-inner td {\n\tvertical-align: top;\n}\n\n.updraft_all-files {\n\tcolor: blue;\n}\n\n.multisite-advert-width {\n\twidth: 800px;\n}\n\n.updraft_settings_sectionheading {\n\tmargin-top: 6px;\n}\n\n.premium-upgrade-prompt {\n\t/* font-size: 115%; */\n}\n\nsection.premium-upgrade-purchase-success {\n\tpadding: 2em;\n\tbackground: #FAFAFA;\n\ttext-align: center;\n\tbox-shadow: 0px 14px 40px rgba(0, 0, 0, 0.1);\n}\n\nsection.premium-upgrade-purchase-success h3 {\n\tfont-size: 2em;\n\tcolor: green;\n}\n\nsection.premium-upgrade-purchase-success h3 .dashicons {\n\tdisplay: block;\n\tmargin: 0 auto;\n\tfont-size: 60px;\n\twidth: 60px;\n\theight: 60px;\n\tborder-radius: 50%;\n\tbackground: green;\n\tcolor: #FFF;\n\tmargin-bottom: 20px;\n}\n\nsection.premium-upgrade-purchase-success h3 .dashicons::before {\n\tdisplay: inline-block;\n\tmargin-left: -4px;\n\tmargin-top: 2px;\n}\n\nsection.premium-upgrade-purchase-success p {\n\tfont-size: 120%;\n}\n\n.show_admin_restore_in_progress_notice {\n\tpadding: 8px;\n}\n\n.show_admin_restore_in_progress_notice .unfinished-restoration {\n\tfont-size: 120%;\n}\n\n#backupnow_includefiles_moreoptions, #backupnow_database_moreoptions, #backupnow_includecloud_moreoptions {\n\tmargin: 4px 16px 6px 16px;\n\tborder: 1px dotted;\n\tpadding: 6px 10px;\n}\n\n#backupnow_database_moreoptions {\n\tmax-height: 250px;\n\toverflow: auto;\n}\n\n#backupnow_database_moreoptions div.backupnow-db-tables {\n\tmargin-bottom: 5px;\n}\n\n#backupnow_database_moreoptions div.backupnow-db-tables > a {\n\tcolor: #0073AA;\n}\n\n.form-table #updraft_activejobsrow .minimum-height {\n\tmin-height: 100px;\n}\n\n#updraft_activejobsrow th {\n\tmax-width: 112px;\n\tmargin: 0;\n\tpadding: 13px 0 0 0;\n}\n\n#updraft_lastlogmessagerow .last-message {\n\tpadding-top: 20px;\n\tdisplay: block;\n}\n\n.updraft_simplepie {\n\tvertical-align: top;\n}\n\n.download-backups {\n\tmargin-top: 8px;\n}\n\n.download-backups .updraft_download_button {\n\tmargin-right: 6px;\n}\n\n.download-backups .ud-whitespace-warning, .download-backups .ud-bom-warning {\n\tbackground-color: pink;\n\tpadding: 8px;\n\tmargin: 4px;\n\tborder: 1px dotted;\n}\n\n.download-backups .ul {\n\tlist-style: none inside;\n\tmax-width: 800px;\n\tmargin-top: 6px;\n\tmargin-bottom: 12px;\n}\n\n#updraft-plupload-modal {\n\tmargin: 16px 0;\n}\n\n.download-backups .upload {\n\tmax-width: 610px;\n}\n\n.download-backups #plupload-upload-ui {\n\twidth: 100%;\n}\n\n.ud_downloadstatus {\n\tpadding: 10px 0;\n}\n\n#ud_massactions, #updraft-delete-waitwarning {\n\tpadding: 14px;\n\tbackground: rgb(241, 241, 241);\n\tposition: absolute;\n\tleft: 0;\n\ttop: 100%;\n}\n\n#ud_massactions > *, #updraft-delete-waitwarning > * {\n\tvertical-align: middle;\n}\n\n#ud_massactions .updraftplus-remove {\n\tdisplay: inline-block;\n\tmargin-right: 0;\n}\n\n#ud_massactions .updraftplus-remove a {\n\ttext-decoration: none;\n}\n\n#ud_massactions .updraft-viewlogdiv a {\n\ttext-decoration: none;\n\tposition: relative;\n}\n\nsmall.ud_massactions-tip {\n\tdisplay: inline-block;\n\topacity: 0.5;\n\tfont-style: italic;\n\tmargin-left: 20px;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups {\n\tmargin-bottom: 35px;\n\tposition: relative;\n}\n\n#updraft-message-modal-innards {\n\tpadding: 4px;\n}\n\n#updraft-authenticate-modal {\n\ttext-align: center;\n\tfont-size: 16px !important;\n}\n\n#updraft-authenticate-modal p {\n\tfont-size: 16px;\n}\n\ndiv.ui-dialog.ui-widget.ui-widget-content {\n\tz-index: 99999 !important;\n}\n\n#updraft_delete_form p {\n\tmargin-top: 3px;\n\tpadding-top: 0;\n}\n\n#updraft_restore_form .cannot-restore {\n\tmargin: 8px 0;\n}\n\n.notice.updraft-restore-option {\n\tpadding: 12px;\n\tmargin: 8px 0 4px 0;\n\tborder-left-color: #CCC;\n}\n\n/* updraft_restore_crypteddb */\n#updraft_restorer_dboptions h4 {\n\tmargin: 0px 0px 6px 0px;\n\tpadding: 0px;\n}\n\n.updraftplus_restore_tables_options_container {\n\tmax-height: 250px;\n\toverflow: auto;\n}\n\n.updraft_debugrow th {\n\tvertical-align: top;\n\tpadding-top: 6px;\n\tmax-width: 140px;\n}\n\n.expertmode p {\n\tfont-size: 125%;\n}\n\n.expertmode .call-wp-action {\n\twidth: 300px;\n\theight: 22px;\n}\n\n.updraftplus-lock-advert {\n\tclear: left;\n\tmax-width: 600px;\n}\n\n.uncompressed-data {\n\tclear: left;\n\tmax-width: 600px;\n}\n\n.delete-old-directories {\n\tpadding: 8px;\n\tpadding-bottom: 12px;\n}\n\n.active-jobs {\n\twidth: 100%;\n\ttext-align: center;\n\tpadding: 33px;\n}\n\n.job-id {\n\tmargin-top: 0;\n\tmargin-bottom: 8px;\n}\n\n.next-resumption {\n\tfont-weight: bold;\n}\n\n.updraft_percentage {\n\tz-index: -1;\n\tposition: absolute;\n\tleft: 0px;\n\ttop: 0px;\n\ttext-align: center;\n\tbackground-color: #1D8EC2;\n\ttransition: width 0.3s;\n}\n\n.curstage {\n\tz-index: 1;\n\tborder-radius: 2px;\n\tmargin-top: 8px;\n\twidth: 100%;\n\theight: 26px;\n\tline-height: 26px;\n\tposition: relative;\n\ttext-align: center;\n\tfont-style: italic;\n\tcolor: #FFF;\n\tbackground-color: #B7B7B7;\n\ttext-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n}\n\n.curstage-info {\n\tdisplay: inline-block;\n\tz-index: 2;\n}\n\n.retain-files {\n\twidth: 48px;\n}\n\n.backup-interval-description tr td div {\n\tmax-width: 670px;\n}\n\n#updraft-manualdecrypt-modal {\n\twidth: 85%;\n\tmargin: 6px;\n\tmargin-left: 100px;\n}\n\n.directory-permissions {\n\tfont-size: 110%;\n\tfont-weight: bold;\n}\n\n.double-warning {\n\tborder: 1px solid;\n\tpadding: 6px;\n}\n\n.raw-backup-info {\n\tfont-style: italic;\n\tfont-weight: bold;\n\tfont-size: 120%;\n}\n\n.updraft_existingbackup_date {\n\twidth: 22%;\n\tmax-width: 140px;\n}\n\n.updraft_existing_backups_wrapper {\n\tmargin-top: 20px;\n\tborder-top: 1px solid #DDD;\n}\n\n.updraft-no-backups-msg {\n\tpadding: 10px 40px;\n\ttext-align: center;\n\tfont-style: italic;\n}\n\n.tr-bottom-4 {\n\tmargin-bottom: 4px;\n}\n\n.existing-backups-table th {\n\tpadding: 8px 10px;\n}\n\n.form-table .backup-date {\n\twidth: 172px;\n}\n\n.form-table .backup-data {\n\twidth: 426px;\n}\n\n.form-table .updraft_backup_actions {\n\twidth: 272px;\n}\n\n.existing-date {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tmax-width: 140px;\n\twidth: 25%;\n}\n\n.line-break-tr {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.line-break-td {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.td-line-color {\n\theight: 2px;\n\tbackground-color: #888;\n}\n\n.raw-backup {\n\tmax-width: 140px;\n}\n\n.existing-backups-actions {\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.existing-backups-border {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.existing-backups-border > td {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.existing-backups-border > div {\n\theight: 2px;\n\tbackground-color: #AAA;\n}\n\n.updraft_existing_backup_date {\n\tmax-width: 140px;\n}\n\n.updraftplus-upload {\n\tmargin-right: 6px;\n\tfloat: left;\n\tclear: none;\n}\n\n.before-restore-button {\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.before-restore-button div {\n\tfloat: none;\n\tdisplay: inline-block;\n}\n\n.table-separator-tr {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.table-separator-td {\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n.end-of-table-div {\n\theight: 2px;\n\tbackground-color: #AAA;\n}\n\n.last-backup-job {\n\tpadding-top: 3% !important;\n}\n\n.line-height-03 {\n\tline-height: 0.3 !important;\n}\n\n.line-height-13 {\n\tline-height: 1.3 !important;\n}\n\n.line-height-23 {\n\tline-height: 2.3 !important;\n}\n\n#updraft_diskspaceused {\n\tcolor: #DF6926;\n}\n\n#updraft_delete_old_dirs_pagediv {\n\tpadding-bottom: 10px;\n}\n\n/*#updraft_lastlogmessagerow > td, #updraft_last_backup > td {\n\tpadding: 0;\n}*/\n\n/* Time + scheduling add-on*/\n.fix-time {\n\twidth: 70px;\n}\n\n.retain-files {\n\twidth: 70px;\n}\n\n.number-input {\n\tmin-width: 50px;\n\tmax-width: 70px;\n}\n\n.additional-rule-width {\n\tmin-width: 60px;\n\tmax-width: 70px;\n}\n\n/* Add-ons */\n/* Want to fix the WordPress icons so that they fit inline with the text, and don't push everything out of place. */\n\n#updraft-wrap .dashicons.dashicons-adapt-size {\n\tline-height: inherit;\n\tfont-size: inherit;\n}\n\n#updraft-wrap .button span.dashicons:not(.dashicons-adapt-size) {\n\tvertical-align: middle;\n\tmargin-top: -3px;\n}\n\n.addon-logo-150 {\n\tmargin-left: 30px;\n\tmargin-top: 33px;\n\theight: 125px;\n\twidth: 150px;\n}\n\n.margin-bottom-50 {\n\tmargin-bottom: 50px;\n}\n\n.premium-container {\n\twidth: 80%;\n}\n\n/* Main Header */\n\n.main-header {\n\tbackground-color: #DF6926;\n\theight: 200px;\n\twidth: 100%;\n}\n\n.button-add-to-cart {\n\tcolor: white;\n\tborder-color: white;\n\tfloat: none;\n\tmargin-right: 17px;\n}\n\n.button-add-to-cart:hover, .button-add-to-cart:focus, .button-add-to-cart:active {\n\tborder-color: #A0A5AA;\n\tcolor: #A0A5AA;\n}\n\n.addon-title {\n\tmargin-top: 25px;\n}\n\n.addon-text {\n\tmargin-top: 75px;\n}\n\n.image-main-div {\n\twidth: 25%;\n\tfloat: left;\n}\n\n.text-main-div {\n\twidth: 60%;\n\tfloat: left;\n\ttext-align: center;\n\tcolor: white;\n\tmargin-top: 16px;\n}\n\n.text-main-div-title {\n\tfont-weight: bold !important;\n\tcolor: white;\n\ttext-align: center;\n}\n\n.text-main-div-paragraph {\n\tcolor: white;\n}\n\n/* End main header */\n\n/* Vault icons */\n\n.updraftplus-vault-cta {\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 50px;\n}\n\n.updraftplus-vault-cta h1 {\n\tfont-weight: bold;\n}\n\n.updraftvault-buy {\n\twidth: 225px;\n\theight: 225px;\n\tborder: 2px solid #777;\n\tdisplay: inline-table;\n\tmargin: 0 auto;\n\tmargin-right: 50px;\n\tposition: relative;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault {\n\twidth: 275px;\n\theight: 275px;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault > a {\n\tright: 21%;\n\tfont-size: 16px;\n\tborder-width: 4px !important;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault > p {\n\tfont-size: 16px;\n}\n\n.updraftvault-buy .button-purchase {\n\tright: 24%;\n\tmargin-left: 0;\n\tline-height: 1.7em;\n}\n\n.updraftvault-buy hr {\n\theight: 2px;\n\tbackground-color: #777;\n\tmargin-top: 18px;\n}\n\n.right {\n\tmargin-right: 0px;\n}\n\n.updraftvault-buy .addon-logo-100 {\n\theight: 100px;\n\twidth: 125px;\n\tmargin-top: 7px;\n}\n\n.updraftvault-buy .addon-logo-large {\n\tmargin-top: 7px;\n}\n\n.updraftvault-buy .button-buy-vault {\n\tfont-size: 12px;\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tborder-width: 2px !important;\n\tposition: absolute;\n\tright: 29%;\n\tbottom: 2%;\n}\n\n.premium-addon-div .button-purchase {\n\tline-height: 1.7em;\n}\n\n.updraftvault-buy .button-buy-vault:hover {\n\tborder-color: darkgrey;\n\tcolor: darkgrey;\n}\n\n/* End Vault icons */\n\n/* Premium addons */\n\n.premium-addons {\n\tmargin-top: 80px;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tdisplay: table;\n}\n\n.addon-list {\n\t/* margin-left: 32px; */\n\tdisplay: table;\n\ttext-align: center;\n}\n\n.premium-addons h1 {\n\ttext-align: center;\n\tfont-weight: bold;\n}\n\n.premium-addons p {\n\ttext-align: center;\n}\n\n.premium-addons .premium-addon-div {\n\twidth: 200px;\n\theight: 250px;\n\tborder: 2px solid #777;\n\tdisplay: inline-table;\n\tmargin: 0 auto;\n\tmargin-right: 25px;\n\tmargin-top: 25px;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.premium-addons .premium-addon-div p {\n\tmargin-left: 2px;\n\tmargin-right: 2px;\n}\n\n.premium-addons .premium-addon-div img {\n\twidth: auto;\n\theight: 50px;\n\tmargin-top: 7px;\n}\n\n.premium-addons .premium-addon-div .hr-alignment {\n\tmargin-top: 44px;\n}\n\n.premium-addons .premium-addon-div .dropbox-logo {\n\theight: 39px;\n\twidth: 150px;\n}\n\n.premium-addons .premium-addon-div .azure-logo, .premium-addons .premium-addon-div .onedrive-logo {\n\twidth: 75%;\n\theight: 24px;\n}\n\n.button-purchase {\n\tfont-size: 12px;\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tborder-width: 2px !important;\n\tposition: absolute;\n\tright: 25%;\n\tbottom: 2%;\n}\n\n.button-purchase:hover {\n\tcolor: darkgrey;\n\tborder-color: darkgrey;\n}\n\n.premium-addons .premium-addon-div hr {\n\theight: 2px;\n\tbackground-color: #777;\n\tmargin-top: 18px;\n}\n\n.premium-addon-div p {\n\tfont-style: italic;\n}\n\n.addon-list > .premium-addon-div > .onedrive-fix,\n.addon-list > .premium-addon-div > .azure-logo {\n\tmargin-top: 33px;\n}\n\n.addon-list > .premium-addon-div > .dropbox-fix {\n\tmargin-top: 18px;\n}\n\n/* End premium addons */\n\n\n/* Forgotton something (that is the name of the div rather than a mental note!) */\n\n.premium-forgotton-something {\n\tmargin-top: 5%;\n}\n\n.premium-forgotton-something h1 {\n\ttext-align: center;\n\tfont-weight: bold;\n}\n\n.premium-forgotton-something p {\n\ttext-align: center;\n\tfont-weight: normal;\n}\n\n.premium-forgotton-something .button-faq {\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tmargin: 0 auto;\n\tdisplay: table;\n}\n\n.premium-forgotton-something .button-faq:hover {\n\tcolor: #777;\n\tborder-color: #777;\n}\n\n/* End of forgotton something */\n\n.updraftplusmethod.updraftvault #vaultlogo {\n\tpadding-left: 40px;\n}\n\n.updraftplusmethod.updraftvault .vault_primary_option {\n\tfloat: left;\n\twidth: 50%;\n\ttext-align: center;\n\tpadding-bottom: 20px;\n}\n\n.updraftplusmethod.updraftvault .vault_primary_option div {\n\tclear: right;\n\tpadding-top: 20px;\n}\n\n.updraftplusmethod.updraftvault .clear-left {\n\tclear: left;\n}\n\n.updraftplusmethod.updraftvault .padding-top-20px {\n\tpadding-top: 20px;\n}\n\n.updraftplusmethod.updraftvault .padding-top-14px {\n\tpadding-top: 14px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary, .updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary {\n\tfont-size: 18px !important;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_showoptions, .updraftplusmethod.updraftvault #updraftvault_connect {\n\tmargin-top: 8px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_connect input {\n\tmargin-right: 10px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_email {\n\twidth: 280px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_pass {\n\twidth: 200px;\n}\n\n.updraftplusmethod.updraftvault #vault-is-connected {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_default p {\n\tclear: left;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-container {\n\ttext-align: center;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option {\n\twidth: 40%;\n\ttext-align: center;\n\tpadding-top: 20px;\n\tdisplay: inline-block;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-size {\n\tfont-size: 200%;\n\tfont-weight: bold;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-link {\n\tclear: both;\n\tfont-size: 150%;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-or {\n\tclear: both;\n\tfont-size: 115%;\n\tfont-style: italic;\n}\n\n/* Automation Backup Advert by B */\n.autobackup-image {\n/* \tdisplay: inline-block; */\n/*\tmin-width: 10%;\n\tmax-width:25%;*/\n/*\tfloat: left;*/\n\tclear: left;\n\tfloat: left;\n\twidth: 110px;\n\theight: 110px;\n}\n\n.autobackup-description {\n\twidth: 100%;\n}\n\n.advert-description {\n\tfloat: left;\n\tclear: right;\n\tpadding: 4px 10px 8px 10px;\n\twidth: 70%;\n\tclear: right;\n\tvertical-align: top;\n}\n\n.advert-btn {\n\tdisplay: inline-block;\n\tmin-width: 10%;\n\tvertical-align: top;\n\tmargin-bottom: 8px;\n}\n\n.advert-btn:first-of-type {\n\tmargin-top: 25px;\n}\n\n.advert-btn a {\n\tdisplay: block;\n\tcursor: pointer;\n}\n\na.btn-get-started {\n\tbackground: #FFF;\n\tborder: 2px solid #DF6926;\n\tborder-radius: 4px;\n\tcolor: #DF6926;\n\tdisplay: inline-block;\n\tmargin-left: 10px !important;\n\tmargin-bottom: 7px !important;\n\tfont-size: 18px !important;\n\tline-height: 20px;\n\tmin-height: 28px;\n\tpadding: 11px 10px 5px 10px;\n\ttext-transform: uppercase;\n\ttext-decoration: none;\n}\n\n.circle-dblarrow {\n\tborder: 1px solid #DF6926;\n\tborder-radius: 100%;\n\tdisplay: inline-block;\n\tfont-size: 17px;\n\tline-height: 17px;\n\tmargin-left: 5px;\n\twidth: 20px;\n\theight: 20px;\n\ttext-align: center;\n}\n\n/* End Automation Backup Advert by B */\n/* New Responsive Pretty Advanced Settings */\n.expertmode .advanced_settings_container {\n\theight: auto;\n\toverflow: hidden;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu {\n\tfloat: none;\n\tborder-bottom: 1px solid rgb(204, 204, 204);\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content {\n\tpadding-top: 5px;\n\tfloat: none;\n\twidth: auto;\n\toverflow: auto;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content h3:first-child {\n\tmargin-top: 5px !important;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools {\n\tdisplay: none;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content .site_info {\n\tdisplay: block;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\tpadding: 5px;\n\tcolor: #000;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text {\n\tfont-size: 16px;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover {\n\tbackground-color: #EAEAEA;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .active {\n\tbackground-color: #3498DB;\n\tcolor: #FFF;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .active:hover {\n\tbackground-color: #72C5FD;\n\tcolor: #FFF;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content input#import_settings {\n\theight: auto !important;\n}\n\ndiv#updraft-wrap a {\n\tcursor: pointer !important;\n}\n\n.updraftcentral_wizard_option {\n\twidth: 45%;\n\tfloat: left;\n\ttext-align: center;\n}\n\n.updraftcentral_wizard_option label {\n\tmargin-bottom: 8px;\n}\n\n#updraftcentral_keys_table {\n\tdisplay: none;\n}\n\n.create_key_container {\n\tborder: 1px solid;\n\tborder-radius: 4px;\n\tpadding: 0 0 6px 6px;\n\tmargin-bottom: 8px;\n}\n\n.updraftcentral_cloud_connect {\n\tborder-radius: 4px;\n\tborder: 1px solid #000;\n\tpadding: 0 20px;\n\tmargin-top: 30px;\n\tbackground-color: #FFF;\n}\n\n.updraftcentral_cloud_error {\n\tborder: 1px solid #000;\n\tpadding: 3px 10px;\n\tborder-left: 3px solid #F00;\n\tbackground-color: #FFF;\n\tmargin-bottom: 10px;\n}\n\n.updraftcentral_cloud_info {\n\tborder: 1px solid #000;\n\tpadding: 3px 10px;\n\tborder-left: 3px solid #EF8F31;\n\tbackground-color: #FFF;\n\tmargin-bottom: 10px;\n}\n\n.updraftplus_spinner.spinner {\n\tpadding-left: 25px;\n\tfloat: none;\n}\n\n.updraftplus_spinner.spinner.visible {\n\tvisibility: visible;\n\twidth: auto;\n}\n\n.updraftcentral_cloud_notices .updraftplus_spinner {\n\tmargin-top: -5px;\n}\n\n.updraftcentral-subheading {\n\tfont-size: 14px;\n\tmargin-top: -10px;\n\tmargin-bottom: 20px;\n}\n\n#updraftcentral_cloud_form input#email,\n#updraftcentral_cloud_form input#password {\n\tmin-width: 250px;\n}\n\n.updraftcentral-data-consent {\n\tfont-size: 13px;\n\tmargin-bottom: 10px;\n}\n\n.updraftcentral_cloud_wizard_image {\n\tfloat: left;\n\tmin-width: 100px;\n\tmargin-right: 25px;\n}\n\n.updraftcentral_cloud_wizard {\n\tfloat: left;\n}\n\n.updraftcentral_cloud_clear {\n\tclear: both;\n}\n\n.updraftplus-settings-footer {\n\tmargin-top: 30px;\n}\n\n.updraftplus-top-menu {\n\tpadding: 0.5em;\n}\n\n#updraft_inpage_backup #updraft_activejobs_table {\n\tbackground: transparent;\n}\n\n#updraft_inpage_backup #updraft_lastlogmessagerow .updraft-log-link {\n\tfloat: none;\n}\n\n#updraft_inpage_backup #updraft_activejobsrow .updraft_row {\n\tflex-direction: column;\n\tpadding-left: 20px;\n\tpadding-right: 20px;\n}\n\n#updraft_inpage_backup #updraft_activejobsrow .updraft_progress_container {\n\twidth: 100%;\n}\n\n#updraft_inpage_backup #updraft_activejobs_table {\n\toverflow: inherit;\n}\n\n#updraft_inpage_backup span#updraft_lastlogcontainer {\n\tpadding: 18px;\n\tbackground: #FAFAFA;\n\tdisplay: block;\n\tfont-size: 90%;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n#updraft_inpage_backup div#updraft_activejobsrow {\n\tbackground: #FAFAFA;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n#updraft_inpage_backup #updraft_lastlogmessagerow > div {\n\tbackground: transparent;\n\tpadding: 0;\n}\n\n#updraft_inpage_backup .last-message > strong {\n\tdisplay: block;\n\tmargin-top: 13px;\n}\n\nbody.update-core-php #updraft_inpage_backup h2:nth-child(1) {\n\tmargin-top: 1em !important;\n}\n\n/* Restoration page */\n\n.updraft_restore_container {\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tz-index: 99999;\n\tpadding-top: 30px;\n\tbackground: #F1F1F1;\n\toverflow: auto;\n}\n\n.updraft-modal-is-opened .select2-container {\n\tz-index: 99999;\n}\n\nbody.updraft-modal-is-opened {\n\toverflow: hidden;\n}\n\n.updraft_restore_container h2 {\n\tmargin: 0;\n}\n\n.updraft_restore_container .updraftmessage {\n\tbox-sizing: border-box;\n\tmax-width: 860px;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.updraft_restore_main {\n\tmax-width: 860px;\n\tmargin: 0 auto;\n\tmargin-top: 20px;\n\tbackground: #FFF;\n\tbox-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);\n\tposition: relative;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--header {\n\tfont-size: 20px;\n\tfont-weight: bold;\n\ttext-align: center;\n\tpadding-top: 16px;\n\tline-height: 20px;\n\twidth: 100%;\n\tmax-width: 100%;\n\tpadding-right: 30px;\n\tpadding-left: 30px;\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--activity {\n\tposition: relative;\n\twidth: calc(100% - 350px);\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--activity-title {\n\tpadding: 20px;\n\tmargin: 0;\n}\n\n.show-credentials-form.updraft_restore_main .updraft_restore_main--activity-title {\n\tdisplay: none;\n}\n\n.updraft_restore_main--components {\n\twidth: 350px;\n\tpadding: 20px;\n\tbox-sizing: border-box;\n\tbackground: #F8F8F8;\n\tmin-height: 350px;\n}\n\n.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output {\n\tbackground: #23282D;\n\tcolor: #E3E3E3;\n\tfont-family: monospace;\n\tpadding: 19px;\n\toverflow: auto;\n\tposition: absolute;\n\ttop: 60px;\n\tbottom: 0;\n\tright: 0;\n\tleft: 0;\n}\n\n#updraftplus_ajax_restore_output form {\n\twhite-space: normal;\n\tfont-family: -apple-system, blinkmacsystemfont, \"Segoe UI\", roboto, oxygen-sans, ubuntu, cantarell, \"Helvetica Neue\", sans-serif;\n}\n\n#updraftplus_ajax_restore_output .updraft_restore_errors {\n\tborder: 1px solid #DC3232;\n\tpadding: 10px 20px;\n\twhite-space: normal;\n}\n\n.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output h2 {\n\tcolor: #00A0D2;\n\tpadding-top: 10px;\n\tpadding-bottom: 5px;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output {\n\tpadding: 20px;\n\tborder-left: 1px solid #EEE;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output #message {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table td,\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table th {\n\tpadding-bottom: 0;\n}\n\n.updraft_restore_main.show-credentials-form .updraft_restore_main--components {\n\topacity: 0.2;\n}\n\n.updraft_restore_main.show-credentials-form div.error .restore-credential-errors--list p {\n\tmargin: 0;\n\tlist-style-type: disc;\n\tdisplay: list-item;\n\tlist-style-position: inside;\n}\n\n.restore-credential-errors > :first-child {\n\tmargin-top: 0;\n}\n\n.restore-credential-errors > :last-child {\n\tmargin-bottom: 0;\n}\n\nul.updraft_restore_components_list li {\n\tcolor: #BABABA;\n\tfont-size: 1.2em;\n\tmargin-bottom: 1em;\n}\n\nul.updraft_restore_components_list li::before {\n\tcontent: '\\f469';\n\tfont-family: dashicons;\n\tfont-size: 20px;\n\tvertical-align: middle;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\nul.updraft_restore_components_list li span {\n\tvertical-align: middle;\n}\n\nul.updraft_restore_components_list li.done {\n\tcolor: green;\n}\n\nul.updraft_restore_components_list li.done::before {\n\tcontent: \"\\f147\";\n}\n\nul.updraft_restore_components_list li.active {\n\tcolor: inherit;\n}\n\nul.updraft_restore_components_list li.active::before {\n\tcontent: \"\\f463\";\n\tanimation: udp_rotate 1s linear infinite;\n}\n\nul.updraft_restore_components_list li.error {\n\tcolor: #DC3232;\n}\n\nul.updraft_restore_components_list li.error::before {\n\tcontent: \"\\f335\";\n}\n\n.updraft_restore_result {\n\tpadding: 10px 0;\n\tfont-size: 1.3em;\n\tmargin-bottom: 1em;\n\tvertical-align: middle;\n\tdisplay: none;\n}\n\n.updraft_restore_result.restore-error {\n\tcolor: #DC3232;\n}\n\n.updraft_restore_result.restore-success {\n\tcolor: green;\n}\n\n.updraft_restore_result .dashicons {\n\tfont-size: 35px;\n\theight: 35px;\n\tline-height: 33px;\n\twidth: 35px;\n}\n\n.updraft_restore_result span {\n\tvertical-align: middle;\n}\n\n/* Restore modal */\n\n#updraft-restore-modal {\n\twidth: 100%;\n}\n\ndiv#updraft-restore-modal .notice {\n\tbackground: #F8F8F8;\n}\n\n.updraft-restore-modal--stage .updraft--two-halves,\n.updraft-restore-modal--stage .updraft--one-half {\n\tpadding: 20px 30px;\n}\n\n.updraft-restore-modal--header {\n\tpadding: 20px;\n\tpadding-bottom: 0px;\n\ttext-align: center;\n\tborder-bottom: 1px solid #EEE;\n}\n\n.updraft-restore-modal--header h3 {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraft-restore-item {\n\tpadding-bottom: 4px;\n}\n\n.updraft-restore-buttons {\n\tpadding-top: 10px;\n}\n\nul.updraft-restore--stages {\n\tdisplay: inline-block;\n\tmargin: 0;\n\theight: 28px;\n}\n\nul.updraft-restore--stages li {\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: 12px;\n\theight: 12px;\n\tbackground: #D2D2D2;\n\tborder-radius: 20px;\n\tline-height: 1;\n\tmargin: 0 4px;\n\tvertical-align: middle;\n}\n\nul.updraft-restore--stages li.active {\n\tbackground: #444;\n}\n\n.updraft-restore--footer {\n\tborder-top: 1px solid #EEE;\n\tpadding: 20px;\n\ttext-align: center;\n\tposition: sticky;\n\tbottom: 0;\n\tbackground: #FFF;\n\twidth: 100%;\n\tbox-sizing: border-box;\n}\n\n.updraft-restore--footer .updraft-restore--cancel {\n\tposition: absolute;\n\tleft: 20px;\n\ttop: auto;\n}\n\n.updraft-restore--footer .updraft-restore--next-step {\n\tposition: absolute;\n\tright: 20px;\n\ttop: auto;\n}\n\nul.updraft-restore--stages li span {\n\tposition: absolute;\n\twidth: 120px;\n\tbottom: calc(100% + 14px);\n\tleft: -55px;\n\tbackground: #000000DB;\n\tpadding: 5px;\n\tbox-sizing: border-box;\n\tborder-radius: 4px;\n\tcolor: #FFF;\n\ttext-align: center;\n\tdisplay: none;\n}\n\nul.updraft-restore--stages li:hover span {\n\tdisplay: inline-block;\n}\n\n.updraft-restore-item input[type=checkbox] {\n\tmargin-bottom: -5px;\n}\n\n.updraft-restore-item input[type=checkbox]:checked + label {\n\tfont-weight: bold;\n}\n\n/* Hide close button on download window */\ndiv#updraft-restore-modal .ud_downloadstatus__close {\n\tdisplay: none;\n}\n\n#ud_downloadstatus2:not(:empty) {\n\tmargin-top: 15px;\n}\n\n.dashicons.rotate {\n\tanimation: udp_rotate 1s linear infinite;\n}\n\n/* Activity stalled */\n\nspan#updraftplus_ajax_restore_last_activity {\n\tfont-size: .8rem;\n\tfont-weight: normal;\n\tfloat: right;\n}\n\n.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice {\n\tmargin: -20px -20px 20px;\n\tpadding: 19px;\n}\n\n.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice button {\n\tmargin-right: 5px;\n}\n\n#updraft_migrate_receivingsites .updraftplus-remote-sites-selector .button-primary, .updraft_migrate_add_site .input-field input, .updraft_migrate_add_site button {\n\tvertical-align: middle;\n}\n\n#updraft_migrate_receivingsites .text-link-menu a:not(:last-child) {\n\tpadding-right: 10px;\n}\n\n#updraft_migrate_receivingsites a.updraft_migrate_clear_sites span.dashicons-trash:before {\n\tfont-size: 17px;\n}\n\n#updraft_migrate_receivingsites .updraft_migrate_add_site {\n\tclear: both;\n}\n\n/* RTL Support */\n\n.rtl .advanced_tools.total_size table td {\n\tdirection: ltr;\n\ttext-align: right;\n}\n\n.rtl #plupload-upload-ui2.drag-drop #drag-drop-area2 {\n\tmargin-bottom: 20px;\n}\n\n.rtl #updraft_lastlogmessagerow .updraft-log-link {\n\tfloat: left;\n}\n\n.rtl label.updraft_checkbox > input[type=checkbox] {\n\tmargin-right: -25px;\n\tmargin-left: inherit;\n}\n\n.rtl .ud_downloadstatus__close {\n\tfloat: left !important;\n}\n\n.rtl #updraft_backupextradbs_another_container {\n\tfloat: right;\n}\n\n.rtl input.labelauty + label {\n\tdirection: ltr;\n\tposition: relative;\n\tmin-height: 29px;\n}\n\n.rtl input.labelauty + label > span.labelauty-checked-image, .rtl input.labelauty + label > span.labelauty-unchecked-image {\n\tright: 8px;\n\ttop: 11px;\n\tposition: absolute;\n}\n\n.rtl .button.updraft-close-overlay .dashicons {\n\tmargin-right: -5px;\n\tmargin-left: inherit;\n}\n\n.rtl label.updraft_checkbox {\n\tmargin-right: 26px;\n\tmargin-left: inherit;\n}\n\n.rtl #updraft-wrap .udp-info {\n\tleft: 10px;\n\tright: inherit;\n}\n\n.rtl input.labelauty + label > span.labelauty-unchecked-image + span.labelauty-unchecked,\n.rtl input.labelauty + label > span.labelauty-checked-image + span.labelauty-checked {\n\tmargin-right: 7px;\n\tmargin-left: inherit;\n\tpadding: 7px 7px 7px 26px;\n\twidth: 141px;\n\ttext-align: right;\n}\n\n.rtl #updraft_report_cell button.updraft_reportbox_delete,\n.rtl .updraft_box_delete_button,\n.rtl .updraft_small_box .updraft_box_delete_button {\n\tleft: 4px;\n\tright: inherit;\n}\n\n#updraft_exclude_modal .clause-input-container {\n\toverflow: auto;\n}\n\n#updraft_exclude_modal .clause-input-container select, #updraft_exclude_modal .clause-input-container input {\n\tfloat: left;\n}\n\n#updraft_exclude_modal .clause-input-container .wildcards-input {\n\tmargin: 7px 7px 0 0;\n}\n\n#updraft_exclude_modal .updraft-exclude-panel .contain-clause-sub-label {\n\tmargin-top: 10px;\n\tdisplay: block;\n}\n\n/* UpdraftPlus Notice Styling */\n.udp-notice {\n\tborder: 1px solid #C3C4C7;\n\tborder-left-width: 4px;\n\tbox-shadow: 0 1px 1px rgba(0, 0, 0, .04);\n\tbackground: #FFF;\n\tmargin: 5px 0 15px 0;\n\tpadding: 1px 12px;\n}\n\n.udp-notice p {\n\tmargin: .5em 0;\n\tpadding: 2px;\n}\n\n.udp-notice.notice-warning {\n\tborder-left-color: #DBA617;\n}\n\n.udp-notice.notice-error {\n\tborder-left-color: #D63638;\n}\n\n.udp-notice.updraft-restore-option {\n\tborder-left-color: #CCC;\n\tmargin: 8px 0 4px 0;\n\tpadding: 12px;\n}\n\ndiv#updraft-restore-modal .udp-notice, .udp-notice.updraft-restore-option {\n\tbackground: #F8F8F8;\n}\n\n@media only screen and (min-width: 1024px) {\n\n\t#updraft_activejobsrow .updraft_row {\n\t\tdisplay: flex;\n\t\talign-items: baseline;\n\t}\n\n\t#updraft_activejobsrow .updraft_row .updraft_col {\n\t\tflex: auto;\n\t}\n\n\t#updraft_activejobsrow .updraft_progress_container {\n\t\twidth: calc(100% - 230px);\n\t}\n\n}\n\n@media only screen and (min-width: 782px) {\n\n\t.settings_page_updraftplus input[type=text],\n\t.settings_page_updraftplus input[type=password],\n\t.settings_page_updraftplus input[type=number] {\n\t\t/* border-radius: 4px; */\n\t\tline-height: 1.42;\n\t\t/* border: 1px solid #CCC; */\n\t\theight: 27px;\n\t\tpadding: 2px 6px;\n\t\tcolor: #555;\n\t}\n\n\t.settings_page_updraftplus input[type=\"number\"] {\n\t\theight: 31px;\n\t}\n\n\t#ud_massactions.active, #updraft-delete-waitwarning.active {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tleft: 160px;\n\t\tright: 0;\n\t\ttop: auto;\n\t\tbackground: #FFF;\n\t\tz-index: 3;\n\t\tbox-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n\t}\n\t\n\t.rtl #ud_massactions.active, .rtl #updraft-delete-waitwarning.active {\n\t\tleft: 0px;\n\t\tright: 160px;\n\t}\n\n\tbody.folded #ud_massactions.active, body.folded #updraft-delete-waitwarning.active {\n\t\tleft: 36px;\n\t}\n\n\t.updraft-after-form-table {\n\t\tmargin-left: 250px;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.range-selection:not(.backuprowselected) .updraft_existingbackup_date .backup_date_label {\n\t\tcolor: #FFF;\n\t}\n\n}\n\n@media only screen and (min-width: 782px) and (max-width: 960px) {\n\n\tbody.auto-fold #ud_massactions.active, body.auto-fold #updraft-delete-waitwarning.active {\n\t\tleft: 36px;\n\t}\n\n}\n\n@media only screen and (max-width: 782px) {\n\n\t#updraft-wrap {\n\t\tmargin-right: 0;\n\t}\n\n\t#updraft-wrap .form-table td {\n\t\tpadding-right: 0;\n\t}\n\n\tlabel.updraft_checkbox {\n\t\tmargin-bottom: 8px;\n\t\tmargin-top: 8px;\n\t\tmargin-left: 36px;\n\t}\n\n\t.updraft_retain_rules {\n\t\tposition: relative;\n\t\tmargin-right: 0;\n\t\tborder: 1px solid #CCC;\n\t\tpadding: 5px;\n\t\tmargin-bottom: -1px;\n\t}\n\n\t.updraft_retain_rules_delete {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 5px;\n\t}\n\n\ta[id*=updraft_retain_] {\n\t\tdisplay: block;\n\t\tpadding: 15px 15px 15px 0;\n\t}\n\n\tlabel.updraft_checkbox > input[type=checkbox] {\n\t\tmargin-left: -33px;\n\t}\n\n\t#updraft-backupnow-button {\n\t\tmargin: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper > .updraft_backup_btn_wrapper {\n\t\tpadding-top: 0;\n\t}\n\n\t#ud_massactions, #updraft-delete-waitwarning {\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\ttext-align: center;\n\t}\n\n\t#ud_massactions.active {\n\t\tposition: fixed;\n\t\ttop: auto;\n\t\tbottom: 0;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\ttext-align: center;\n\t\tbox-shadow: 0 -3px 15px rgba(0, 0, 0, 0.08);\n\t\tbackground: #FFF;\n\t\tz-index: 3;\n\t}\n\n\t#ud_massactions strong {\n\t\tdisplay: block;\n\t\tmargin-bottom: 5px;\n\t}\n\n\tsmall.ud_massactions-tip {\n\t\tdisplay: block;\n\t}\n\n/*\t.advert-description {\n\t\tmin-width: 75%;\n\t\tmargin-bottom: 5px;\n\t}\n\n\t.advert-btn {\n\t\tmargin-top: 15px;\n\t\tmargin-left:86px;\n\t\tmin-width: 100%;\n\t}*/\n\n\t.existing-backups-table .backup_date_label > div, .existing-backups-table .backup_date_label span > div {\n\t\tfont-weight: normal;\n\t}\n\n\t.existing-backups-table .backup_date_label .clear-right {\n\t\tdisplay: inline-block;\n\t}\n\n\ttable.widefat.existing-backups-table {\n\t\tborder: 0;\n\t\tbox-shadow: none;\n\t\tbackground: transparent;\n\t}\n\n\t.existing-backups-table thead {\n\t\tborder: none;\n\t\tclip: rect(0 0 0 0);\n\t\theight: 1px;\n\t\tmargin: -1px;\n\t\toverflow: hidden;\n\t\tpadding: 0;\n\t\tposition: absolute;\n\t\twidth: 1px;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t}\n\n\t.existing-backups-table tr {\n\t\tdisplay: block;\n\t\tmargin-bottom: .625em;\n\t\tpadding-bottom: 16.625px;\n\t\twidth: 100%;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tmargin-bottom: 10px;\n\t\tbackground: #FFF;\n\t\tbox-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);\n\t}\n\n\t.existing-backups-table td {\n\t\tborder-bottom: 1px solid #DDD;\n\t\tdisplay: block;\n\t\tfont-size: .9em;\n\t\ttext-align: left;\n\t\twidth: 100%;\n\t\tpadding: 10px;\n\t\tmargin: 0;\n\t}\n\n\t.wp-list-table.existing-backups-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before {\n\t\t/*\n\t\t* aria-label has no advantage, it won't be read inside a table\n\t\tcontent: attr(aria-label);\n\t\t*/\n\t\tcontent: attr(data-label);\n\t\tfont-weight: bold;\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tleft: auto;\n\t\tpadding-bottom: 10px;\n\t\twidth: auto;\n\t\ttext-align: left;\n\t}\n\n\t.existing-backups-table td:last-child {\n\t\tborder-bottom: 0;\n\t}\n\n\t.form-table td.updraft_existingbackup_date {\n\t\twidth: inherit;\n\t\tmax-width: 100%;\n\t}\n\n\t.existing-backups-table td.before-restore-button {\n\t\tmin-height: 36px;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper {\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper > div {\n\t\twidth: 100%;\n\t}\n\n\t.updraft_progress_container {\n\t\t/* width: 77%; */\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row {\n\t\tposition: relative;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected {\n\t\tbackground-color: #FFF;\n\t\tborder-left: 4px solid #0572AA;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td:not(.backup-select) {\n\t\tmargin-left: 50px;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td.backup-select {\n\t\twidth: 50px !important;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 0;\n\t\tbox-sizing: border-box;\n\t\theight: 100%;\n\t\tz-index: 1;\n\t\tborder: none;\n\t\tborder-right: 1px solid rgba(0, 0, 0, 0.05);\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups input[type=\"checkbox\"] {\n\t\theight: 25px;\n\t}\n\n\t.updraft_migrate_intro button.button.button-primary.button-hero {\n\t\tdisplay: block;\n\t\tmargin-right: 0;\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t}\n\n\t.updraftclone-main-row {\n\t\tflex-direction: column;\n\t}\n\n\t.updraftclone-main-row > div {\n\t\twidth: auto;\n\t\tmax-width: none;\n\t\tmargin-right: 0;\n\t\tmargin-bottom: 10px;\n\t}\n\n\t.form-table th {\n\t\tpadding-bottom: 10px;\n\t}\n\n\t.updraft--flex {\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_restore_main {\n\t\tflex-wrap: wrap;\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_restore_main--components {\n\t\twidth: 100%;\n\t\tmin-height: 0;\n\t}\n\n\t.updraft_restore_main--activity {\n\t\twidth: 100%;\n\t}\n\n\tdiv#updraftplus_ajax_restore_output,\n\t.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output {\n\t\tposition: relative;\n\t\ttop: 0;\n\t\tbottom: auto;\n\t}\n\n\t.updraft--flex > .updraft--two-halves,\n\t.updraft--flex > .updraft--one-half {\n\t\twidth: 100%;\n\t}\n\n\t.updraft-restore-item {\n\t\tpadding-bottom: 10px;\n\t\tpadding-top: 10px;\n\t}\n\n}\n\n@media screen and (max-width: 600px) {\n\t\n\t.updraft_next_scheduled_backups_wrapper > div {\n\t}\n\n\t.updraft_next_scheduled_entity {\n\t\tfloat: none;\n\t\twidth: 100%;\n\t\tmargin-bottom: 2em;\n\t}\n\n\t.updraft_time_now_wrapper {\n\t\tmargin-top: 0;\n\t}\n\n\t#updraft_lastlogmessagerow h3 {\n\t\tmargin-bottom: 5px;\n\t}\n\n\t#updraft_lastlogmessagerow .updraft-log-link {\n\t\tdisplay: block;\n\t\tfloat: none;\n\t\tmargin: 0;\n\t\tmargin-bottom: 10px;\n\t}\n\n}\n\n@media screen and (max-width: 520px) {\n}\n\n@media only screen and (min-width: 768px) {\n\n\t.addon-activation-notice {\n\t\tleft: 20em;\n\t}\n\n\t.existing-backups-table tbody tr.range-selection:hover, .existing-backups-table tbody tr.range-selection {\n\t\tbackground: #0572AA; /* #2b7fd9 */\n\t}\n\n\t.existing-backups-table tbody tr:hover {\n\t\tbackground: #F1F1F1;\n\t}\n\n\t.existing-backups-table tbody tr td.before-restore-button {\n\t\tposition: relative;\n\t}\n\n\t.form-table .existing-backups-table thead th.check-column {\n\t\tpadding-left: 6px;\n\t}\n\n\t.existing-backups-table tr td:first-child {\n\t\tborder-left: 4px solid transparent;\n\t}\n\n\t.existing-backups-table tr.backuprowselected td:first-child {\n\t\tborder-left-color: #0572AA;\n\t}\n\n}\n\n@media screen and (min-width: 670px) {\n\t\n\t.expertmode .advanced_settings_container .advanced_settings_menu {\n\t\tfloat: left;\n\t\twidth: 215px;\n\t\tborder-right: 1px solid rgb(204, 204, 204);\n\t\tborder-bottom: none;\n\t}\n\n\t.expertmode .advanced_settings_container .advanced_settings_content {\n\t\tpadding-left: 10px;\n\t\tpadding-top: 0px;\n\t}\n\n\t.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {\n\t\tdisplay: block;\n\t}\n\n}\n\n@media only screen and (max-width: 1068px) {\n\n\t.updraft-more-plugins .udp-box {\n\t\twidth: calc(50% - 10px);\n\t\tmargin-bottom: 20px;\n\t}\n\n\t.updraft_feat_table td:nth-child(2), .updraft_feat_table td:nth-child(3) {\n\t\twidth: 100px;\n\t}\n\n}\n\n@media only screen and (max-width: 600px) {\n\n\t.updraft-more-plugins .udp-box {\n\t\twidth: 100%;\n\t\tmargin-bottom: 20px;\n\t}\n\n\t.updraft_feat_table td:nth-child(2), .updraft_feat_table td:nth-child(3) {\n\t\twidth: auto;\n\t}\n\n\ttable.updraft_feat_table {\n\t\tdisplay: block;\n\t}\n\n\ttable.updraft_feat_table tr {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n\ttable.updraft_feat_table td {\n\t\tdisplay: block;\n\t}\n\n\ttable.updraft_feat_table td:first-child {\n\t\twidth: 100%;\n\t\tborder-bottom: none;\n\t}\n\n\ttable.updraft_feat_table td:not(:first-child) {\n\t\twidth: 50%;\n\t\tbox-sizing: border-box;\n\t}\n\n\ttable.updraft_feat_table td:first-child:empty {\n\t\tdisplay: none;\n\t}\n\n\ttd[data-colname]::before {\n\t\tcontent: attr(data-colname);\n\t\tfont-size: 0.8rem;\n\t\tcolor: #CCC;\n\t\tline-height: 1;\n\t}\n\n}\n"]}css/updraftplus-tour-1-24-4.min.css.map000064400000016371147400355670013511 0ustar00{"version":3,"sources":["css/updraftplus-tour.scss"],"names":[],"mappings":"AAEA;CACC,aAAa;CACb,0BAA0B;AAC3B;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,kBAAkB;CAClB,oBAAY;SAAZ,YAAY;CACZ,sFAA8E;SAA9E,8EAA8E;AAC/E;;AAEA;;;;CAIC,aAAa;AACd;;AAEA;;;CAGC,4BAAiC;AAClC;;AAEA;CACC,yBAA8B;CAC9B,0BAA0B;CAC1B,mBAAmB;AACpB;;AAEA;CACC,WAAW;CACX,gBAAgB;CAChB,WAAW;AACZ;;AAEA;CACC,YAAY;CACZ,6BAA6B;CAC7B,gBAAgB;CAChB,sBAAsB;CACtB,kBAAkB;CAClB,WAAW;CACX,YAAY;CACZ,iBAAiB;CACjB,UAAU;CACV,kBAAkB;CAClB,WAAW;CACX,kBAAkB;CAClB,WAAW;CACX;AAoBD;;AAlBC;EACC,WAAW;EACX,2BAA2B;EAC3B,kBAAkB;EAClB,WAAW;EACX,mBAAmB;CACpB;;AACA;EACC,gBAAgB;EAChB,mCAAmC;EACnC,kCAAkC;EAClC,sBAAsB;EACtB,WAAW;EACX,kBAAkB;EAClB,SAAS;EACT,iBAAiB;EACjB,eAAe;CAChB;;AAGD;;CAEC,yBAAyB;CACzB;AAOD;;AANC;EACC,cAAc;CACf;;AACA;EACC,cAAc;CACf;;AAGD;CACC,SAAS;AACV;;AAEA;;CAEC,mBAAmB;CACnB,aAAa;CACb,kBAAkB;CAClB,yBAAyB;CACzB,gBAAgB;;AAOjB;;AANC;EACC,aAAa;EACb,cAAc;EACd,mBAAmB;CACpB;;AAID;CACC,iBAAiB;CACjB,oBAAoB;AACrB;;AAEA;CACC,iBAAiB;CACjB,qBAAqB;CACrB,gBAAgB;CAChB,kBAAkB;CAClB,mCAAmC;AACpC;;AAEA;;CAEC,0CAA0C;CAC1C,8BAAsB;CAAtB;;AAKD;;AAJC;EACC,qBAA0B;CAC3B;;AAID;;CAEC,WAAW;CACX,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,eAAe;CACf,cAAc;AACf;;AAEA;CACC,YAAY;CACZ,UAAU;CACV,WAAW;CACX,cAAc;CACd,sBAAsB;CACtB,wBAAwB;CACxB,kBAAkB;CAClB,SAAS;CACT,QAAQ;CACR,gCAAwB;SAAxB,wBAAwB;AACzB;;AAEA;CACC,qBAAqB;CACrB,kBAAkB;CAClB,gBAAgB;CAChB,mCAAmC;CACnC,kCAAkC;CAClC,sBAAsB;CACtB,eAAe;CACf,iBAAiB;CACjB,sBAAsB;CACtB,gBAAgB;AACjB;;AAEA;CACC,cAAc;CACd,WAAW;CACX,WAAW;CACX,iBAAiB;CACjB,kBAAkB;AACnB;;AAEA;CACC,cAAc;CACd,WAAW;CACX,eAAe;AAChB;;AAEA;CACC,YAAY;AACb;;AAEA;;CAEC;EACC,aAAa;CACd;;AAED","file":"updraftplus-tour-1-24-4.min.css","sourcesContent":["$udp_primary: #DD6823;\n$wp_blue: #0073AA;\n.shepherd-theme-arrows-plain-buttons {\n\tz-index: 9999;\n\tmax-width: 390px!important;\n}\n\n.shepherd-theme-arrows-plain-buttons.super-index {\n\tz-index: 999999;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content {\n\tborder-radius: 3px;\n\tfilter: none;\n\tbox-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15), 0px 10px 40px rgba(0, 0, 0, 0.15);\n}\n\n.shepherd-element-attached-bottom.shepherd-element-attached-right.shepherd-target-attached-top.shepherd-target-attached-left .shepherd-content:before,\n.shepherd-element-attached-bottom.shepherd-element-attached-left.shepherd-target-attached-top.shepherd-target-attached-right .shepherd-content:before,\n.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-target-attached-left .shepherd-content:before,\n.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-target-attached-right .shepherd-content:before {\n\tdisplay: none;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-center.shepherd-has-title .shepherd-content:before,\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-right.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before,\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-bottom.shepherd-has-title .shepherd-content:before {\n\tborder-bottom-color: $udp_primary;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header {\n\tbackground-color: $udp_primary;\n\tborder-radius: 3px 3px 0 0;\n\tpadding-right: 90px;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content header h3 {\n\tcolor: #FFF;\n\tfont-size: 1.2em;\n\tfloat: none;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link {\n\topacity: 0.7;\n\tcolor: rgba(255, 255, 255, 0);\n\tfont-size: 0.8em;\n\tborder: 1px solid #FFF;\n\tborder-radius: 50%;\n\twidth: 22px;\n\theight: 22px;\n\tline-height: 20px;\n\tpadding: 0;\n\ttext-align: center;\n\tfloat: none;\n\tposition: absolute;\n\tright: 11px;\n\ttop: 12px;\n\n\t&::before {\n\t\tcolor: #FFF;\n\t\tcontent: attr(data-btntext);\n\t\tposition: absolute;\n\t\tright: 20px;\n\t\tpadding-right: 10px;\n\t}\n\t&::after {\n\t\tcontent: \"\\f335\";\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tfont-family: dashicons;\n\t\tcolor: #FFF;\n\t\tposition: absolute;\n\t\tleft: 2px;\n\t\tline-height: 21px;\n\t\tfont-size: 16px;\n\t}\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:hover,\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-has-title .shepherd-content header a.shepherd-cancel-link:focus {\n\tborder: 1px solid #A04E00;\n\topacity: 1;\n\t&::before {\n\t\tcolor: #A04E00;\n\t}\n\t&::after {\n\t\tcolor: #A04E00;\n\t}\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons.shepherd-element-attached-top.shepherd-element-attached-left.shepherd-target-attached-right .shepherd-content:before {\n\ttop: 44px;\n}\n\n.shepherd-content .ud-notice {\n\n\tbackground: #F0F0F0;\n\tpadding: 14px;\n\tborder-radius: 4px;\n\tfont-size: 90% !important;\n\tline-height: 1.5;\n\th3 {\n\t\tmargin-top: 0;\n\t\tpadding-top: 0;\n\t\tmargin-bottom: .5em;\n\t}\n\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content .shepherd-text p {\n\tmargin-top: 0.5em;\n\tmargin-bottom: 1.3em;\n}\n\n.ud-notice span.ud-special-offer {\n\tfont-weight: bold;\n\tdisplay: inline-block;\n\tpadding: 1px 6px;\n\tborder-radius: 3px;\n\tbackground: rgba(217, 105, 0, 0.09);\n}\n\nlabel[for=updraft_servicecheckbox_updraftvault] {\n\n\tborder: 1px solid rgba(204, 204, 204, 0.4);\n\ttransition: border .5s;\n\t&.emphasize {\n\t\tborder-color: $udp_primary;\n\t}\n\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back,\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end {\n\tfloat: left;\n\tposition: relative;\n\tpadding-left: 10px;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-end {\n\tpadding-left: 0;\n\tcolor: #B7B7B7;\n}\n\n.shepherd-element.shepherd-theme-arrows-plain-buttons .shepherd-content footer .shepherd-buttons li .shepherd-button.udp-tour-back::before {\n\tcontent: ' ';\n\twidth: 6px;\n\theight: 6px;\n\tdisplay: block;\n\tborder-left: 1px solid;\n\tborder-bottom: 1px solid;\n\tposition: absolute;\n\tleft: 0px;\n\ttop: 8px;\n\ttransform: rotate(45deg);\n}\n\na.shepherd-button.udp-tour-end::before {\n\tdisplay: inline-block;\n\tposition: relative;\n\tcontent: \"\\f335\";\n\t-webkit-font-smoothing: antialiased;\n\t-moz-osx-font-smoothing: grayscale;\n\tfont-family: dashicons;\n\tfont-size: 20px;\n\tline-height: 20px;\n\tvertical-align: middle;\n\tmargin-top: -2px;\n}\n\n.updraftplus-welcome-logo {\n\tdisplay: block;\n\twidth: 70px;\n\tfloat: left;\n\tmargin-top: -11px;\n\tmargin-right: 12px;\n}\n\n.updraftplus-welcome-logo img {\n\tdisplay: block;\n\twidth: auto;\n\tmax-width: 100%;\n}\n\n.highlight-udp .plugins #the-list tr:not([data-slug=\"updraftplus\"]) {\n\topacity: 0.3;\n}\n\n@media(max-width: 790px) {\n\n\t.shepherd-element.shepherd-theme-arrows-plain-buttons {\n\t\tdisplay: none;\n\t}\n\n}\n"]}css/updraftplus-notices.css000064400000003402147400355670012073 0ustar00/* CSS for adverts */ .updraft_notice_container { height: auto; overflow: hidden; } .updraft_review_notice_container { padding: 12px; display: -webkit-box; display: -ms-flexbox; display: flex; } .updraft_advert_button_container { margin-bottom: 10px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .updraft_advert_button_container .dashicons { margin-left: 10px; } .updraft_advert_content_left { float: none; width: 80px; padding-top: 9px; margin-right: 9px; } .updraft_advert_content_left_extra { float: none; width: 100px; padding-right: 15px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } .updraft_advert_content_left img { min-height: 72px; min-width: 72px; } .updraft_advert_content_right { float: none; width: auto; overflow: hidden; font-size: 16px; } .updraft_advert_content_right p { font-size: 16px!important; } .updraft_advert_bottom { margin: 10px 0; padding: 10px; font-size: 140%; background-color: white; border-color: #E6DB55; border: 1px solid; border-radius: 4px; } .updraft-advert-dismiss { float: right; font-size: 13px; font-weight: normal; } h3.updraft_advert_heading { margin-top: 5px !important; margin-bottom: 5px !important; } h4.updraft_advert_heading { margin-top: 2px !important; margin-bottom: 3px !important; } .updraft_center_content { text-align: center; margin-bottom: 5px; } .updraft_notice_link { padding-left: 5px; } .updraft_text_center { text-align: center; } @media screen and (min-width: 560px) { .updraft_advert_content_left, .updraft_advert_content_left_extra { float: left; } } css/updraftplus-notices-1-24-6.min.css.map000064400000005132147400355670014157 0ustar00{"version":3,"sources":["css/updraftplus-notices.css"],"names":[],"mappings":"AAAA,oBAAoB;;AAEpB;CACC,YAAY;CACZ,gBAAgB;AACjB;;AAEA;CACC,aAAa;CACb,oBAAa;CAAb,oBAAa;CAAb,aAAa;AACd;;AAEA;CACC,mBAAmB;CACnB,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,yBAAmB;KAAnB,sBAAmB;SAAnB,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,WAAW;CACX,gBAAgB;CAChB,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,yBAAmB;KAAnB,sBAAmB;SAAnB,mBAAmB;AACpB;;AAEA;CACC,gBAAgB;CAChB,eAAe;AAChB;;AAEA;CACC,WAAW;CACX,WAAW;CACX,gBAAgB;CAChB,eAAe;AAChB;;AAEA;CACC,yBAAyB;AAC1B;;AAEA;CACC,cAAc;CACd,aAAa;CACb,eAAe;CACf,uBAAuB;CACvB,qBAAqB;CACrB,iBAAiB;CACjB,kBAAkB;AACnB;;AAEA;CACC,YAAY;CACZ,eAAe;CACf,mBAAmB;AACpB;;AAEA;CACC,0BAA0B;CAC1B,6BAA6B;AAC9B;;AAEA;CACC,0BAA0B;CAC1B,6BAA6B;AAC9B;;AAEA;CACC,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;;CAEC;EACC,WAAW;CACZ;;AAED","file":"updraftplus-notices-1-24-6.min.css","sourcesContent":["/* CSS for adverts */\n\n.updraft_notice_container {\n\theight: auto;\n\toverflow: hidden;\n}\n\n.updraft_review_notice_container {\n\tpadding: 12px;\n\tdisplay: flex;\n}\n\n.updraft_advert_button_container {\n\tmargin-bottom: 10px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.updraft_advert_button_container .dashicons {\n\tmargin-left: 10px;\n}\n\n.updraft_advert_content_left {\n\tfloat: none;\n\twidth: 80px;\n\tpadding-top: 9px;\n\tmargin-right: 9px;\n}\n\n.updraft_advert_content_left_extra {\n\tfloat: none;\n\twidth: 100px;\n\tpadding-right: 15px;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.updraft_advert_content_left img {\n\tmin-height: 72px;\n\tmin-width: 72px;\n}\n\n.updraft_advert_content_right {\n\tfloat: none;\n\twidth: auto;\n\toverflow: hidden;\n\tfont-size: 16px;\n}\n\n.updraft_advert_content_right p {\n\tfont-size: 16px!important;\n}\n\n.updraft_advert_bottom {\n\tmargin: 10px 0;\n\tpadding: 10px;\n\tfont-size: 140%;\n\tbackground-color: white;\n\tborder-color: #E6DB55;\n\tborder: 1px solid;\n\tborder-radius: 4px;\n}\n\n.updraft-advert-dismiss {\n\tfloat: right;\n\tfont-size: 13px;\n\tfont-weight: normal;\n}\n\nh3.updraft_advert_heading {\n\tmargin-top: 5px !important;\n\tmargin-bottom: 5px !important;\n}\n\nh4.updraft_advert_heading {\n\tmargin-top: 2px !important;\n\tmargin-bottom: 3px !important;\n}\n\n.updraft_center_content {\n\ttext-align: center;\n\tmargin-bottom: 5px;\n}\n\n.updraft_notice_link {\n\tpadding-left: 5px;\n}\n\n.updraft_text_center {\n\ttext-align: center;\n}\n\n@media screen and (min-width: 560px) {\n\n\t.updraft_advert_content_left, .updraft_advert_content_left_extra {\n\t\tfloat: left;\n\t}\n\n}\n"]}css/updraftplus-notices-1-24-4.min.css000064400000003027147400355670013402 0ustar00.updraft_notice_container{height:auto;overflow:hidden}.updraft_review_notice_container{padding:12px;display:-webkit-box;display:-ms-flexbox;display:flex}.updraft_advert_button_container{margin-bottom:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.updraft_advert_button_container .dashicons{margin-left:10px}.updraft_advert_content_left{float:none;width:80px;padding-top:9px;margin-right:9px}.updraft_advert_content_left_extra{float:none;width:100px;padding-right:15px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.updraft_advert_content_left img{min-height:72px;min-width:72px}.updraft_advert_content_right{float:none;width:auto;overflow:hidden;font-size:16px}.updraft_advert_content_right p{font-size:16px !important}.updraft_advert_bottom{margin:10px 0;padding:10px;font-size:140%;background-color:white;border-color:#e6db55;border:1px solid;border-radius:4px}.updraft-advert-dismiss{float:right;font-size:13px;font-weight:normal}h3.updraft_advert_heading{margin-top:5px !important;margin-bottom:5px !important}h4.updraft_advert_heading{margin-top:2px !important;margin-bottom:3px !important}.updraft_center_content{text-align:center;margin-bottom:5px}.updraft_notice_link{padding-left:5px}.updraft_text_center{text-align:center}@media screen and (min-width:560px){.updraft_advert_content_left,.updraft_advert_content_left_extra{float:left}} /*# sourceMappingURL=updraftplus-notices-1-24-4.min.css.map */ css/updraftplus-admin-1-24-4.min.css.map000064400000327607147400355670013617 0ustar00{"version":3,"sources":["css/updraftplus-admin.css"],"names":[],"mappings":"AAAA;;CAEC;EACC,UAAU;EACV,2BAAmB;UAAnB,mBAAmB;CACpB;;CAEA;EACC,YAAY;EACZ,8BAAsB;UAAtB,sBAAsB;CACvB;;AAED;;AAZA;;CAEC;EACC,UAAU;EACV,2BAAmB;UAAnB,mBAAmB;CACpB;;CAEA;EACC,YAAY;EACZ,8BAAsB;UAAtB,sBAAsB;CACvB;;AAED;;AAEA;;CAEC;EACC,4BAAoB;UAApB,oBAAoB;CACrB;;CAEA;EACC,iCAAyB;UAAzB,yBAAyB;CAC1B;;AAED;;AAVA;;CAEC;EACC,4BAAoB;UAApB,oBAAoB;CACrB;;CAEA;EACC,iCAAyB;UAAzB,yBAAyB;CAC1B;;AAED;;AAEA,sBAAsB;AACtB;CACC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,UAAU;AACX;;AAEA;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,mBAAe;KAAf,eAAe;AAChB;;AAEA;CACC,mBAAO;KAAP,WAAO;SAAP,OAAO;CACP,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,UAAU;CACV,mBAAU;KAAV,cAAU;SAAV,UAAU;AACX;;AAEA;CACC,WAAW;CACX,mBAAU;KAAV,cAAU;SAAV,UAAU;AACX;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,mBAAmB;AACpB;;AAEA,0BAA0B;;AAE1B,iBAAiB;AACjB;CACC,qBAAqB;AACtB;;AAEA;CACC,iBAAiB;AAClB;;AAEA,qBAAqB;AACrB,cAAc;AACd;CACC,kBAAkB;AACnB;;AAEA,qBAAqB;AACrB,YAAY;AACZ;CACC,qBAAqB;AACtB;;AAEA,mBAAmB;;AAEnB;CACC,kBAAkB;AACnB;;AAEA;CACC,YAAY;CACZ,eAAe;AAChB;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,8CAAsC;SAAtC,sCAAsC;AACvC;;AAEA;CACC,qBAAqB;AACtB;;AAEA;;CAEC,cAAc;CACd,gBAAgB;CAChB,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA,gBAAgB;AAChB;CACC,cAAc;CACd,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;AACnB;;AAEA,gBAAgB;AAChB;CACC,YAAY;AACb;;AAEA;CACC,oBAAoB;AACrB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,kBAAkB;CAClB,eAAe;AAChB;;AAEA;;CAEC,gBAAgB;CAChB,WAAW;AACZ;;AAEA;CACC,gBAAgB;AACjB;;AAEA,oBAAoB;;AAEpB,iBAAiB;AACjB;CACC,iBAAiB;CACjB,mBAAmB;CACnB,mBAAmB;CACnB,eAAe;CACf,iBAAiB;CACjB,mBAAmB;CACnB,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;CAClB,uBAAuB;CACvB,kBAAkB;CAClB,iBAAiB;CACjB,4BAAoB;CAApB,oBAAoB;CACpB,wBAAwB;CACxB,8BAAsB;SAAtB,sBAAsB;CACtB,kBAAkB;CAClB,kBAAkB;CAClB,iBAAiB;CACjB,oBAAoB;CACpB,cAAc;CACd,qBAAqB;AACtB;;AAEA;CACC,+BAA+B;CAC/B,wBAAwB;AACzB;;AAEA;CACC,gCAAgC;CAChC,gEAAgD;CAAhD,wDAAgD;CAAhD,gDAAgD;CAAhD,wEAAgD;CAChD,uCAAuC;CACvC,YAAY;CACZ,kBAAkB;CAClB,6EAAqE;SAArE,qEAAqE;CACrE,cAAc;CACd,eAAe;CACf,gBAAgB;CAChB,qBAAqB;CACrB,60BAA60B;CAC70B,sBAAsB;CACtB,4BAA4B;CAC5B,8BAA8B;AAC/B;;AAEA;CACC,6EAAqE;SAArE,qEAAqE;AACtE;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,aAAa;CACb,gGAAwF;SAAxF,wFAAwF;AACzF;;AAEA;CACC,+BAAuB;SAAvB,uBAAuB;CACvB,yBAAyB;CACzB,6EAAqE;SAArE,qEAAqE;CACrE,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;CACjB,YAAY;CACZ,kBAAkB;AACnB;;AAEA;CACC,aAAa;CACb,kBAAkB;AACnB;;AAEA;CACC,qBAAqB;CACrB,mBAAmB;AACpB;;AAEA;CACC,cAAc;AACf;;AAEA;;CAEC;;AAED;CACC,aAAa;AACd;;AAEA,eAAe;;AAEf;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;AACd;;AAEA;CACC,mBAAmB;CACnB,aAAa;CACb,mBAAmB;CACnB,kBAAkB;CAClB,gBAAgB;AACjB;;AAEA;CACC,SAAS;AACV;;AAEA;CACC,mBAAmB;CACnB,aAAa;CACb,mBAAmB;CACnB,mBAAO;KAAP,WAAO;SAAP,OAAO;AACR;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,cAAc;AACf;;AAEA,wBAAwB;AACxB;CACC,aAAa;CACb,kBAAkB;CAClB,QAAQ;CACR,MAAM;CACN,YAAY;CACZ,2BAA2B;CAC3B,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,4BAAsB;CAAtB,6BAAsB;KAAtB,0BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,kBAAkB;CAClB,WAAW;CACX,6BAAgB;KAAhB,gBAAgB;AACjB;;AAEA;;CAEC,WAAW;AACZ;;AAEA;;CAEC;EACC,8BAAmB;EAAnB,6BAAmB;MAAnB,uBAAmB;UAAnB,mBAAmB;EACnB,mBAAe;MAAf,eAAe;CAChB;;CAEA;EACC,4BAAe;MAAf,eAAe;CAChB;;CAEA;;EAEC,YAAY;CACb;;AAED;;AAEA;CACC,qBAAqB;CACrB,eAAe;AAChB;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,mBAAmB;CACnB,aAAa;CACb,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA,qBAAqB;AACrB;CACC,WAAW;CACX,WAAW;CACX,gBAAgB;AACjB;;AAEA;CACC,WAAW;CACX,gBAAgB;AACjB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,mBAAmB;CACnB,sBAAsB;AACvB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;;CAEC,YAAY;AACb;;AAEA,mBAAmB;AACnB;CACC,eAAe;CACf,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA,oCAAoC;AACpC;CACC,mBAAmB;CACnB,YAAY;CACZ,iBAAiB;CACjB,iBAAiB;CACjB,oBAAoB;AACrB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,UAAU;AACX;;AAEA,YAAY;;AAEZ;CACC,qBAAqB;AACtB;;AAEA;;;CAGC,qBAAqB;CACrB,cAAc;AACf;;AAEA;CACC,wBAAwB;CACxB,+BAA+B;AAChC;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,gBAAgB;CAChB,gBAAgB;CAChB,kBAAkB;AACnB;;AAEA;CACC,aAAa;AACd;;AAEA;;CAEC,aAAa;AACd;;AAEA,4BAA4B;AAC5B;;CAEC,kBAAkB;CAClB,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,0BAAqB;KAArB,qBAAqB;CACrB,qBAAqB;CACrB,iBAAiB;CACjB,kBAAkB;CAClB,mBAAmB;CACnB,mBAAmB;CACnB,6BAA6B;AAC9B;;AAEA;;;;CAIC,aAAa;CACb,iBAAiB;CACjB,YAAY;CACZ,SAAS;AACV;;AAEA;;CAEC,qBAAqB;CACrB,iBAAiB;CACjB,4BAA4B;AAC7B;;AAEA;;CAEC,eAAe;AAChB;;AAEA;;CAEC,SAAS;AACV;;AAEA;CACC,gBAAgB;CAChB,iBAAiB;CACjB,mBAAmB;CACnB,cAAc;CACd,YAAY;CACZ,iBAAiB;CACjB,oBAAoB;CACpB,gBAAgB;CAChB,kBAAkB;CAClB,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,kBAAkB;CAClB,UAAU;CACV,oBAAoB;AACrB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;;CAEC;AACD;CACC,cAAc;AACf;;AAEA;CACC,mBAAmB;CACnB,SAAS;CACT,gBAAgB;CAChB,mBAAmB;CACnB,oBAAoB;AACrB;;AAEA;CACC,oBAAoB;AACrB;;AAEA;CACC,8BAA8B;AAC/B;;AAEA;CACC,4BAA4B;AAC7B;;AAEA;CACC,UAAU;CACV,UAAU;AACX;;AAEA;CACC,aAAa;CACb,2FAAmF;SAAnF,mFAAmF;CACnF,gBAAgB;AACjB;;AAEA;CACC,cAAc;CACd,UAAU;AACX;;AAEA;CACC,mBAAmB;CACnB,gCAAgC;CAChC,wDAAgD;SAAhD,gDAAgD;AACjD;;AAEA;CACC,+GAAuG;SAAvG,uGAAuG;AACxG;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,kBAAkB;AACnB;;AAEA;CACC,aAAa;CACb,yEAAiE;SAAjE,iEAAiE;CACjE,UAAU;AACX;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,gBAAgB;CAChB,qBAAqB;CACrB,mBAAe;KAAf,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,gBAAgB;CAChB,YAAY;CACZ,wBAAwB;CACxB,aAAa;CACb,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,kBAAkB;CAClB,8BAA8B;CAC9B,wBAAuB;KAAvB,qBAAuB;SAAvB,uBAAuB;CACvB,yBAAmB;KAAnB,sBAAmB;SAAnB,mBAAmB;AACpB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,YAAY;CACZ,iCAAiC;CACjC,yBAAyB;AAC1B;;AAEA;CACC,mBAAmB;CACnB,WAAW;CACX,SAAS;CACT,kBAAkB;AACnB;;AAEA;;CAEC,aAAa;AACd;;AAEA;CACC,qBAAqB;CACrB,mBAAmB;CACnB,gBAAgB;CAChB,eAAe;AAChB;;AAEA;CACC,yBAAyB;CACzB,kBAAkB;CAClB,yFAAyF;CACzF,wBAAgB;SAAhB,gBAAgB;AACjB;;AAEA;CACC,qBAAqB;CACrB,mBAAmB;CACnB,eAAe;CACf,eAAe;CACf,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,qBAAqB;CACrB,WAAW;CACX;;EAEC;AACF;;AAEA;CACC,WAAW;CACX,eAAe;AAChB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,gBAAgB;CAChB,WAAW;AACZ;;AAEA;CACC,qBAAqB;CACrB,YAAY;AACb;;AAEA;CACC,mBAAmB;CACnB,2BAA2B;CAC3B,8BAA8B;CAC9B,WAAW;CACX,eAAe;CACf,yCAAyC;AAC1C;;AAEA;CACC,mBAAmB;CACnB,4BAA4B;CAC5B,+BAA+B;CAC/B,iBAAiB;AAClB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,WAAW;CACX,iBAAiB;AAClB;;AAEA;CACC,YAAY;CACZ,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,gBAAgB;CAChB,aAAa;AACd;;AAEA;CACC,gBAAgB;CAChB,WAAW;CACX,mBAAmB;CACnB,UAAU;AACX;;AAEA;CACC,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,mBAAmB;CACnB,WAAW;CACX,sBAAsB;CACtB,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,cAAc;CACd,qBAAqB;AACtB;;AAEA;CACC,WAAW;CACX,4BAAoB;CAApB,oBAAoB;CACpB,kBAAkB;AACnB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;CAChB,eAAe;CACf,mBAAmB;CACnB,WAAW;CACX,iBAAiB;CACjB,mBAAmB;AACpB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,WAAW;CACX,UAAU;CACV,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,eAAe;CACf,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,cAAc;CACd,qBAAqB;CACrB,eAAe;CACf,kBAAkB;CAClB,iBAAiB;CACjB,kBAAkB;AACnB;;AAEA;CACC,eAAe;CACf,sBAAsB;CACtB,eAAe;CACf,kBAAkB;CAClB,iBAAiB;CACjB,gBAAgB;AACjB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,eAAe;CACf,kBAAkB;CAClB,iBAAiB;CACjB,YAAY;AACb;;AAEA;CACC,gBAAgB;CAChB,eAAe;AAChB;;AAEA;CACC,WAAW;CACX,kBAAkB;CAClB,eAAe;CACf,kBAAkB;CAClB,iBAAiB;CACjB,iBAAiB;AAClB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,iBAAiB;CACjB,cAAc;CACd,qBAAqB;CACrB,eAAe;CACf,YAAY;AACb;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;CAClB,yBAAyB;CACzB,wBAAwB;CACxB,WAAW;CACX,cAAc;AACf;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,aAAa;CACb,kBAAkB;CAClB,UAAU;AACX;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,iBAAiB;AAClB;;AAEA,qBAAqB;;AAErB,2BAA2B;;AAE3B;CACC,WAAW;CACX,YAAY;CACZ,WAAW;CACX,mBAAmB;AACpB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,gBAAgB;CAChB,eAAe;CACf,iBAAiB;CACjB,aAAa;CACb,WAAW;AACZ;;AAEA;CACC,YAAY;CACZ,kBAAkB;CAClB,UAAU;AACX;;AAEA;;CAEC,iBAAiB;CACjB,eAAe;CACf,mBAAmB;CACnB,aAAa;CACb,sBAAsB;AACvB;;AAEA;CACC,gBAAgB;CAChB,kBAAkB;CAClB,qBAAqB;AACtB;;AAEA;;CAEC,qBAAqB;CACrB,gBAAgB;AACjB;;AAEA;;;CAGC,wBAAwB;CACxB,gBAAgB;AACjB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;;CAEC;;EAEC,qBAAqB;CACtB;;AAED;;AAEA;CACC,eAAe;CACf,eAAe;CACf,wBAAgB;SAAhB,gBAAgB;CAChB,cAAc;CACd,YAAY;CACZ,iBAAiB;AAClB;;AAEA;;;CAGC,cAAc;AACf;;AAEA;CACC,cAAc;CACd,iBAAiB;CACjB,eAAe;CACf,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;;CAEC,aAAa;CACb,aAAa;CACb,sBAAsB;CACtB,kBAAkB;AACnB;;AAEA;;;CAGC,YAAY;CACZ,gBAAgB;CAChB,YAAY;CACZ,uBAAuB;CACvB,kBAAkB;CAClB,QAAQ;CACR,UAAU;CACV,eAAe;AAChB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,qBAAqB;CACrB,eAAe;AAChB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,cAAc;CACd,wBAAwB;CACxB,kBAAkB;AACnB;;AAEA;CACC,WAAW;AACZ;;AAEA,kCAAkC;;AAElC;CACC,gBAAgB;AACjB;;AAEA;CACC,eAAe;AAChB;;AAEA;;CAEC,yBAAyB;AAC1B;;AAEA;CACC,yBAAyB;AAC1B;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,6BAA6B;CAC7B,YAAY;CACZ,cAAc;CACd,0BAA0B;CAC1B,eAAe;CACf,WAAW;CACX,WAAW;AACZ;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,2BAA2B;CAC3B,6BAA6B;CAC7B,0BAA0B;CAC1B,gBAAgB;CAChB,gBAAgB;AACjB;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,YAAY;CACZ,YAAY;CACZ,6BAA6B;AAC9B;;AAEA;CACC,8BAA8B;AAC/B;;AAEA;CACC,YAAY;CACZ,iBAAiB;CACjB,iBAAiB;CACjB,kBAAkB;CAClB,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;CAChB,sBAAsB;AACvB;;AAEA;CACC,UAAU;AACX;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;CAClB,WAAW;CACX,qBAAqB;AACtB;;AAEA;CACC,qBAAqB;CACrB,WAAW;CACX,YAAY;CACZ,gBAAgB;CAChB,cAAc;CACd,mBAAmB;CACnB,kBAAkB;CAClB,iBAAiB;CACjB,iDAAyC;SAAzC,yCAAyC;AAC1C;;AAEA;CACC,aAAa;CACb,kBAAkB;CAClB,YAAY;CACZ,gDAAwC;SAAxC,wCAAwC;CACxC,YAAY;CACZ,oBAAoB;AACrB;;AAEA;CACC,WAAW;CACX,kBAAkB;CAClB,aAAa;CACb,8BAA8B;CAC9B,sBAAsB;CACtB,sBAAsB;AACvB;;AAEA;CACC,aAAa;CACb,gBAAgB;CAChB,kBAAkB;CAClB,iDAAyC;SAAzC,yCAAyC;CACzC,cAAc;AACf;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,kCAAkC;AACnC;;AAEA;CACC,cAAc;CACd,eAAe;AAChB;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,WAAW;CACX,sBAAsB;CACtB,eAAe;AAChB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,qBAAqB;AACtB;;AAEA,kBAAkB;;AAElB,mEAAmE;AACnE;;CAEC,uBAAuB;AACxB;;AAEA;;CAEC,+BAA+B;AAChC;;AAEA;;CAEC,8BAA8B;AAC/B;;AAEA;;CAEC,uBAAuB;AACxB;;AAEA,8BAA8B;AAC9B;CACC,kBAAkB;CAClB,aAAa;CACb,cAAc;AACf;;AAEA;CACC,kBAAkB;CAClB,YAAY;CACZ,WAAW;CACX,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,WAAW;CACX,kBAAkB;CAClB,eAAe;AAChB;;AAEA;CACC,aAAa;CACb,cAAc;CACd,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,iBAAiB;CACjB,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;CAClB,kBAAkB;CAClB,WAAW;CACX,WAAW;CACX,cAAc;AACf;;AAEA,6BAA6B;AAC7B;CACC,kBAAkB;CAClB,aAAa;CACb,WAAW;CACX,sBAAsB;CACtB,mBAAmB;CACnB,kBAAkB;CAClB,eAAe;CACf,gDAAwC;SAAxC,wCAAwC;AACzC;;AAEA;CACC,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,cAAc;CACd,mBAAmB;CACnB,kBAAkB;CAClB,MAAM;CACN,UAAU;CACV,0BAA0B;CAC1B,2BAA2B;CAC3B,iDAAyC;SAAzC,yCAAyC;AAC1C;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,aAAa;CACb,mBAAmB;AACpB;;AAEA;CACC,aAAa;CACb,WAAW;CACX,cAAc;AACf;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,0BAA0B;CAC1B,iBAAiB;AAClB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,iBAAiB;AAClB;;AAEA;;CAEC,eAAe;AAChB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,SAAS;CACT,UAAU;AACX;;AAEA;CACC,qBAAqB;CACrB,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,6BAA6B;CAC7B,WAAW;CACX,WAAW;CACX,gBAAgB;CAChB,eAAe;CACf,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,eAAe;AAChB;;AAEA;CACC,YAAY;CACZ,yBAAyB;CACzB,qBAAqB;CACrB,mCAA2B;SAA3B,2BAA2B;AAC5B;;AAEA;;CAEC,kBAAkB;CAClB,WAAW;CACX,gBAAgB;AACjB;;AAEA,kDAAkD;AAClD;CACC,cAAc;CACd,yBAAyB;CACzB,kBAAkB;CAClB,gCAAwB;SAAxB,wBAAwB;AACzB;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,2BAAmB;SAAnB,mBAAmB;CACnB,kDAA0C;SAA1C,0CAA0C;AAC3C;;AAEA;CACC,uBAAuB;CACvB,aAAa;AACd;;AAEA;CACC,mBAAmB;CACnB,YAAY;AACb;;AAEA;CACC,gBAAgB;CAChB,WAAW;AACZ;;AAEA;CACC,YAAY;CACZ,mBAAmB;CACnB,sBAAsB;CACtB,aAAa;AACd;;AAEA;CACC,mBAAmB;AACpB;;AAEA;;CAEC;AACD;CACC,gBAAgB;CAChB,gBAAgB;CAChB,UAAU;CACV,8BAA8B;AAC/B;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,gBAAgB;CAChB,uBAAuB;CACvB,yBAAyB;CACzB,kBAAkB;AACnB;;AAEA;CACC,cAAc;CACd,eAAe;CACf,kBAAkB;CAClB,cAAc;AACf;;AAEA;CACC,WAAW;CACX,YAAY;AACb;;AAEA;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,yBAAmB;KAAnB,sBAAmB;SAAnB,mBAAmB;CACnB,yBAA8B;KAA9B,sBAA8B;SAA9B,8BAA8B;CAC9B,kBAAkB;AACnB;;AAEA;CACC,mBAAmB;CACnB,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,eAAe;CACf,gBAAgB;CAChB,cAAc;CACd,SAAS;CACT,kBAAkB;CAClB,uBAAuB;CACvB,cAAc;AACf;;AAEA;CACC,WAAW;AACZ;;AAEA;;CAEC;EACC,4BAAsB;EAAtB,6BAAsB;MAAtB,0BAAsB;UAAtB,sBAAsB;EACtB,kBAAkB;EAClB,yBAAmB;MAAnB,sBAAmB;UAAnB,mBAAmB;CACpB;;CAEA;EACC,eAAe;EACf,mBAAmB;CACpB;;AAED;;AAEA;;CAEC;AACD;CACC,gBAAgB;CAChB,aAAa;CACb,gDAAwC;SAAxC,wCAAwC;CACxC,kBAAkB;AACnB;;AAEA;CACC,SAAS;AACV;;AAEA;CACC,2BAAkB;KAAlB,kBAAkB;CAClB,gBAAgB;CAChB,wBAAgB;SAAhB,gBAAgB;AACjB;;AAEA;;CAEC;AACD;CACC,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,8BAAmB;CAAnB,6BAAmB;KAAnB,uBAAmB;SAAnB,mBAAmB;CACnB,mBAAe;KAAf,eAAe;CACf,yBAA8B;KAA9B,sBAA8B;SAA9B,8BAA8B;CAC9B,eAAe;AAChB;;AAEA;CACC,cAAc;CACd,eAAe;CACf,qBAAqB;AACtB;;AAEA;CACC,8BAAsB;SAAtB,sBAAsB;CACtB,UAAU;AACX;;AAEA;CACC,gBAAgB;CAChB,iBAAiB;AAClB;;AAEA;;CAEC;AACD;CACC,gBAAgB;CAChB,SAAS;CACT,eAAe;AAChB;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,oCAAoC;CACpC,iBAAiB;AAClB;;AAEA;CACC,aAAa;CACb,gBAAgB;CAChB,2BAA2B;CAC3B,0BAA0B;CAC1B,8CAAsC;SAAtC,sCAAsC;CACtC,oBAAoB;CACpB,iBAAiB;AAClB;;AAEA;CACC,wBAAwB;AACzB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,YAAY;CACZ,yBAAyB;CACzB,eAAe;CACf,uBAAuB;CACvB,kBAAkB;AACnB;;AAEA;CACC,yBAAyB;CACzB,yBAAyB;CACzB,eAAe;CACf,uBAAuB;CACvB,kBAAkB;CAClB,aAAa;AACd;;AAEA;CACC,wBAAwB;AACzB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;;CAEC,2CAA2C;CAC3C,YAAY;AACb;;AAEA;CACC,cAAc;CACd,cAAc;AACf;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,iBAAiB;CACjB,eAAe;CACf,eAAe;AAChB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,eAAe;CACf,cAAc;AACf;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,UAAU;AACX;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,aAAa;CACb,YAAY;AACb;;AAEA;CACC,YAAY;CACZ,uBAAuB;CACvB,WAAW;CACX,eAAe;CACf,UAAU;CACV,eAAe;AAChB;;AAEA;CACC,SAAS;CACT,mBAAmB;CACnB,WAAW;CACX,6BAAqB;CAArB,qBAAqB;AACtB;;AAEA;CACC,eAAe;CACf,WAAW;AACZ;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,eAAe;CACf,UAAU;CACV,eAAe;CACf,iBAAiB;CACjB,WAAW;CACX,kBAAkB;CAClB,YAAY;CACZ,aAAa;CACb,qBAAqB;CACrB,qBAAqB;AACtB;;AAEA;CACC,eAAe;CACf,YAAY;CACZ,eAAe;AAChB;;AAEA;CACC,gBAAgB;CAChB,eAAe;CACf,iBAAiB;CACjB,aAAa;CACb,WAAW;AACZ;;AAEA,oBAAoB;AACpB;CACC,gBAAgB;AACjB;;AAEA;CACC,kBAAkB;CAClB,oBAAoB;AACrB;;AAEA;CACC,gBAAgB;CAChB,YAAY;CACZ,aAAa;CACb,kBAAkB;CAClB,YAAY;CACZ,kBAAkB;CAClB,gBAAgB;CAChB,cAAc;CACd,iBAAiB;CACjB,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,qBAAqB;CACrB,eAAe;CACf,iBAAiB;CACjB,UAAU;CACV,kCAA0B;SAA1B,0BAA0B;AAC3B;;AAEA;CACC,iCAAyB;SAAzB,yBAAyB;CACzB,iCAAyB;SAAzB,yBAAyB;CACzB,2CAAmC;SAAnC,mCAAmC;CACnC,sCAA8B;SAA9B,8BAA8B;CAC9B,2CAAmC;SAAnC,mCAAmC;AACpC;;AAEA;CACC,aAAa;AACd;;AAEA;;CAEC;EACC,cAAc;EACd,WAAW;EACX,kBAAkB;CACnB;;AAED;;AAEA,mCAAmC;AACnC;CACC,UAAU;AACX;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,iBAAiB;CACjB,oBAAoB;AACrB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,YAAY;AACb;;AAEA;;;;CAIC,gCAAgC;CAChC,6BAA6B;CAC7B,WAAW;AACZ;;AAEA;CACC,mBAAmB;CACnB,cAAc;AACf;;AAEA;CACC,wBAAgB;SAAhB,gBAAgB;AACjB;;AAEA;CACC,WAAW;CACX,yBAAyB;CACzB,uCAAuC;CACvC,0BAA0B;CAC1B,wBAAwB;CACxB,mBAAmB;CACnB,kBAAkB;CAClB,iBAAiB;CACjB,eAAe;CACf,uBAAuB;CACvB,gBAAgB;CAChB,mBAAmB;CACnB,cAAc;CACd,qBAAqB;CACrB,mBAAmB;AACpB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,kBAAkB;AACnB;;AAEA;CACC,8BAA8B;CAC9B,sBAAsB;CACtB,uBAAuB;AACxB;;AAEA;CACC,iBAAiB;CACjB,WAAW;CACX,wBAAwB;AACzB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,YAAY;CACZ,mBAAmB;CACnB,kBAAkB;CAClB,oDAA4C;SAA5C,4CAA4C;AAC7C;;AAEA;CACC,cAAc;CACd,YAAY;AACb;;AAEA;CACC,cAAc;CACd,cAAc;CACd,eAAe;CACf,WAAW;CACX,YAAY;CACZ,kBAAkB;CAClB,iBAAiB;CACjB,WAAW;CACX,mBAAmB;AACpB;;AAEA;CACC,qBAAqB;CACrB,iBAAiB;CACjB,eAAe;AAChB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,yBAAyB;CACzB,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,iBAAiB;CACjB,cAAc;AACf;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,gBAAgB;CAChB,SAAS;CACT,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;CACjB,cAAc;AACf;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,sBAAsB;CACtB,YAAY;CACZ,WAAW;CACX,kBAAkB;AACnB;;AAEA;CACC,uBAAuB;CACvB,gBAAgB;CAChB,eAAe;CACf,mBAAmB;AACpB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,aAAa;CACb,8BAA8B;CAC9B,kBAAkB;CAClB,OAAO;CACP,SAAS;AACV;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,qBAAqB;CACrB,eAAe;AAChB;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,qBAAqB;CACrB,kBAAkB;AACnB;;AAEA;CACC,qBAAqB;CACrB,YAAY;CACZ,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,mBAAmB;CACnB,kBAAkB;AACnB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,kBAAkB;CAClB,0BAA0B;AAC3B;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,yBAAyB;AAC1B;;AAEA;CACC,eAAe;CACf,cAAc;AACf;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,aAAa;CACb,mBAAmB;CACnB,uBAAuB;AACxB;;AAEA,8BAA8B;AAC9B;CACC,uBAAuB;CACvB,YAAY;AACb;;AAEA;CACC,iBAAiB;CACjB,cAAc;AACf;;AAEA;CACC,mBAAmB;CACnB,gBAAgB;CAChB,gBAAgB;AACjB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,YAAY;CACZ,YAAY;AACb;;AAEA;CACC,WAAW;CACX,gBAAgB;AACjB;;AAEA;CACC,WAAW;CACX,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,oBAAoB;AACrB;;AAEA;CACC,WAAW;CACX,kBAAkB;CAClB,aAAa;AACd;;AAEA;CACC,aAAa;CACb,kBAAkB;AACnB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,kBAAkB;CAClB,SAAS;CACT,QAAQ;CACR,kBAAkB;CAClB,yBAAyB;CACzB,8BAAsB;CAAtB,sBAAsB;AACvB;;AAEA;CACC,UAAU;CACV,kBAAkB;CAClB,eAAe;CACf,WAAW;CACX,YAAY;CACZ,iBAAiB;CACjB,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;CAClB,WAAW;CACX,yBAAyB;CACzB,yCAAyC;AAC1C;;AAEA;CACC,qBAAqB;CACrB,UAAU;AACX;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,UAAU;CACV,WAAW;CACX,kBAAkB;AACnB;;AAEA;CACC,eAAe;CACf,iBAAiB;AAClB;;AAEA;CACC,iBAAiB;CACjB,YAAY;AACb;;AAEA;CACC,kBAAkB;CAClB,iBAAiB;CACjB,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;CAChB,0BAA0B;AAC3B;;AAEA;CACC,kBAAkB;CAClB,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,8BAA8B;CAE9B,sBAAsB;CACtB,gBAAgB;CAChB,UAAU;AACX;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,SAAS;CACT,UAAU;AACX;;AAEA;CACC,WAAW;CACX,sBAAsB;AACvB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,SAAS;CACT,UAAU;AACX;;AAEA;CACC,WAAW;CACX,sBAAsB;AACvB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,iBAAiB;CACjB,WAAW;CACX,WAAW;AACZ;;AAEA;CACC,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,WAAW;CACX,qBAAqB;AACtB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,WAAW;CACX,YAAY;AACb;;AAEA;CACC,WAAW;CACX,sBAAsB;AACvB;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,2BAA2B;AAC5B;;AAEA;CACC,2BAA2B;AAC5B;;AAEA;CACC,2BAA2B;AAC5B;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,oBAAoB;AACrB;;AAEA;;EAEE;;AAEF,4BAA4B;AAC5B;CACC,WAAW;AACZ;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,eAAe;CACf,eAAe;AAChB;;AAEA;CACC,eAAe;CACf,eAAe;AAChB;;AAEA,YAAY;AACZ,mHAAmH;;AAEnH;CACC,oBAAoB;CACpB,kBAAkB;AACnB;;AAEA;CACC,sBAAsB;CACtB,gBAAgB;AACjB;;AAEA;CACC,iBAAiB;CACjB,gBAAgB;CAChB,aAAa;CACb,YAAY;AACb;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,UAAU;AACX;;AAEA,gBAAgB;;AAEhB;CACC,yBAAyB;CACzB,aAAa;CACb,WAAW;AACZ;;AAEA;CACC,YAAY;CACZ,mBAAmB;CACnB,WAAW;CACX,kBAAkB;AACnB;;AAEA;CACC,qBAAqB;CACrB,cAAc;AACf;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,UAAU;CACV,WAAW;AACZ;;AAEA;CACC,UAAU;CACV,WAAW;CACX,kBAAkB;CAClB,YAAY;CACZ,gBAAgB;AACjB;;AAEA;CACC,4BAA4B;CAC5B,YAAY;CACZ,kBAAkB;AACnB;;AAEA;CACC,YAAY;AACb;;AAEA,oBAAoB;;AAEpB,gBAAgB;;AAEhB;CACC,WAAW;CACX,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,YAAY;CACZ,aAAa;CACb,sBAAsB;CACtB,qBAAqB;CACrB,cAAc;CACd,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,YAAY;CACZ,aAAa;AACd;;AAEA;CACC,UAAU;CACV,eAAe;CACf,4BAA4B;AAC7B;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,UAAU;CACV,cAAc;CACd,kBAAkB;AACnB;;AAEA;CACC,WAAW;CACX,sBAAsB;CACtB,gBAAgB;AACjB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,aAAa;CACb,YAAY;CACZ,eAAe;AAChB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,eAAe;CACf,cAAc;CACd,qBAAqB;CACrB,4BAA4B;CAC5B,kBAAkB;CAClB,UAAU;CACV,UAAU;AACX;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,sBAAsB;CACtB,eAAe;AAChB;;AAEA,oBAAoB;;AAEpB,mBAAmB;;AAEnB;CACC,gBAAgB;CAChB,WAAW;CACX,cAAc;CACd,cAAc;AACf;;AAEA;CACC,uBAAuB;CACvB,cAAc;CACd,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,YAAY;CACZ,aAAa;CACb,sBAAsB;CACtB,qBAAqB;CACrB,cAAc;CACd,kBAAkB;CAClB,gBAAgB;CAChB,kBAAkB;CAClB,kBAAkB;AACnB;;AAEA;CACC,gBAAgB;CAChB,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,eAAe;AAChB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,YAAY;CACZ,YAAY;AACb;;AAEA;CACC,UAAU;CACV,YAAY;AACb;;AAEA;CACC,eAAe;CACf,cAAc;CACd,qBAAqB;CACrB,4BAA4B;CAC5B,kBAAkB;CAClB,UAAU;CACV,UAAU;AACX;;AAEA;CACC,eAAe;CACf,sBAAsB;AACvB;;AAEA;CACC,WAAW;CACX,sBAAsB;CACtB,gBAAgB;AACjB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;;CAEC,gBAAgB;AACjB;;AAEA;CACC,gBAAgB;AACjB;;AAEA,uBAAuB;;;AAGvB,kFAAkF;;AAElF;CACC,cAAc;AACf;;AAEA;CACC,kBAAkB;CAClB,iBAAiB;AAClB;;AAEA;CACC,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,cAAc;CACd,qBAAqB;CACrB,cAAc;CACd,cAAc;AACf;;AAEA;CACC,WAAW;CACX,kBAAkB;AACnB;;AAEA,+BAA+B;;AAE/B;CACC,kBAAkB;AACnB;;AAEA;CACC,WAAW;CACX,UAAU;CACV,kBAAkB;CAClB,oBAAoB;AACrB;;AAEA;CACC,YAAY;CACZ,iBAAiB;AAClB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,SAAS;CACT,UAAU;AACX;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,UAAU;CACV,kBAAkB;CAClB,iBAAiB;CACjB,qBAAqB;AACtB;;AAEA;CACC,eAAe;CACf,iBAAiB;AAClB;;AAEA;CACC,WAAW;CACX,eAAe;AAChB;;AAEA;CACC,WAAW;CACX,eAAe;CACf,kBAAkB;AACnB;;AAEA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;gBACgB;AAChB,gBAAgB;CACf,WAAW;CACX,WAAW;CACX,YAAY;CACZ,aAAa;AACd;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,0BAA0B;CAC1B,UAAU;CACV,YAAY;CACZ,mBAAmB;AACpB;;AAEA;CACC,qBAAqB;CACrB,cAAc;CACd,mBAAmB;CACnB,kBAAkB;AACnB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,cAAc;CACd,eAAe;AAChB;;AAEA;CACC,gBAAgB;CAChB,yBAAyB;CACzB,kBAAkB;CAClB,cAAc;CACd,qBAAqB;CACrB,4BAA4B;CAC5B,6BAA6B;CAC7B,0BAA0B;CAC1B,iBAAiB;CACjB,gBAAgB;CAChB,2BAA2B;CAC3B,yBAAyB;CACzB,qBAAqB;AACtB;;AAEA;CACC,yBAAyB;CACzB,mBAAmB;CACnB,qBAAqB;CACrB,eAAe;CACf,iBAAiB;CACjB,gBAAgB;CAChB,WAAW;CACX,YAAY;CACZ,kBAAkB;AACnB;;AAEA,sCAAsC;AACtC,4CAA4C;AAC5C;CACC,YAAY;CACZ,gBAAgB;AACjB;;AAEA;CACC,WAAW;CACX,2CAA2C;AAC5C;;AAEA;CACC,gBAAgB;CAChB,WAAW;CACX,WAAW;CACX,cAAc;AACf;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,qBAAqB;CACrB,eAAe;CACf,YAAY;CACZ,WAAW;AACZ;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,yBAAyB;AAC1B;;AAEA;CACC,yBAAyB;CACzB,WAAW;AACZ;;AAEA;CACC,yBAAyB;CACzB,WAAW;AACZ;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,0BAA0B;AAC3B;;AAEA;CACC,UAAU;CACV,WAAW;CACX,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;AACnB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,iBAAiB;CACjB,kBAAkB;CAClB,oBAAoB;CACpB,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;CAClB,sBAAsB;CACtB,eAAe;CACf,gBAAgB;CAChB,sBAAsB;AACvB;;AAEA;CACC,sBAAsB;CACtB,iBAAiB;CACjB,2BAA2B;CAC3B,sBAAsB;CACtB,mBAAmB;AACpB;;AAEA;CACC,sBAAsB;CACtB,iBAAiB;CACjB,8BAA8B;CAC9B,sBAAsB;CACtB,mBAAmB;AACpB;;AAEA;CACC,kBAAkB;CAClB,WAAW;AACZ;;AAEA;CACC,mBAAmB;CACnB,WAAW;AACZ;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,iBAAiB;CACjB,mBAAmB;AACpB;;AAEA;;CAEC,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,mBAAmB;AACpB;;AAEA;CACC,WAAW;CACX,gBAAgB;CAChB,kBAAkB;AACnB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,4BAAsB;CAAtB,6BAAsB;KAAtB,0BAAsB;SAAtB,sBAAsB;CACtB,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,aAAa;CACb,mBAAmB;CACnB,cAAc;CACd,cAAc;CACd,kDAA0C;SAA1C,0CAA0C;AAC3C;;AAEA;CACC,mBAAmB;CACnB,kDAA0C;SAA1C,0CAA0C;AAC3C;;AAEA;CACC,uBAAuB;CACvB,UAAU;AACX;;AAEA;CACC,cAAc;CACd,gBAAgB;AACjB;;AAEA;CACC,0BAA0B;AAC3B;;AAEA,qBAAqB;;AAErB;CACC,cAAc;CACd,eAAe;CACf,MAAM;CACN,OAAO;CACP,QAAQ;CACR,SAAS;CACT,cAAc;CACd,iBAAiB;CACjB,mBAAmB;CACnB,cAAc;AACf;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,SAAS;AACV;;AAEA;CACC,8BAAsB;SAAtB,sBAAsB;CACtB,gBAAgB;CAChB,iBAAiB;CACjB,kBAAkB;AACnB;;AAEA;CACC,gBAAgB;CAChB,cAAc;CACd,gBAAgB;CAChB,gBAAgB;CAChB,gDAAwC;SAAxC,wCAAwC;CACxC,kBAAkB;CAClB,oBAAa;CAAb,oBAAa;CAAb,aAAa;CACb,mBAAe;KAAf,eAAe;CACf,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,eAAe;CACf,iBAAiB;CACjB,kBAAkB;CAClB,iBAAiB;CACjB,iBAAiB;CACjB,WAAW;CACX,eAAe;CACf,mBAAmB;CACnB,kBAAkB;CAClB,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,kBAAkB;CAClB,yBAAyB;CACzB,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,aAAa;CACb,SAAS;AACV;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,YAAY;CACZ,aAAa;CACb,8BAAsB;SAAtB,sBAAsB;CACtB,mBAAmB;CACnB,iBAAiB;AAClB;;AAEA;CACC,mBAAmB;CACnB,cAAc;CACd,sBAAsB;CACtB,aAAa;CACb,cAAc;CACd,kBAAkB;CAClB,SAAS;CACT,SAAS;CACT,QAAQ;CACR,OAAO;AACR;;AAEA;CACC,mBAAmB;CACnB,gIAAgI;AACjI;;AAEA;CACC,yBAAyB;CACzB,kBAAkB;CAClB,mBAAmB;AACpB;;AAEA;CACC,cAAc;CACd,iBAAiB;CACjB,mBAAmB;AACpB;;AAEA;CACC,aAAa;CACb,2BAA2B;AAC5B;;AAEA;CACC,cAAc;CACd,eAAe;AAChB;;AAEA;;CAEC,iBAAiB;AAClB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,SAAS;CACT,qBAAqB;CACrB,kBAAkB;CAClB,2BAA2B;AAC5B;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,cAAc;CACd,gBAAgB;CAChB,kBAAkB;AACnB;;AAEA;CACC,gBAAgB;CAChB,sBAAsB;CACtB,eAAe;CACf,sBAAsB;CACtB,qBAAqB;CACrB,iBAAiB;AAClB;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,gBAAgB;CAChB,gDAAwC;SAAxC,wCAAwC;AACzC;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,gBAAgB;CAChB,kBAAkB;CAClB,sBAAsB;CACtB,aAAa;AACd;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,eAAe;CACf,YAAY;CACZ,iBAAiB;CACjB,WAAW;AACZ;;AAEA;CACC,sBAAsB;AACvB;;AAEA,kBAAkB;;AAElB;CACC,WAAW;AACZ;;AAEA;CACC,mBAAmB;AACpB;;AAEA;;CAEC,kBAAkB;AACnB;;AAEA;CACC,aAAa;CACb,mBAAmB;CACnB,kBAAkB;CAClB,6BAA6B;AAC9B;;AAEA;CACC,SAAS;CACT,UAAU;AACX;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,qBAAqB;CACrB,SAAS;CACT,YAAY;AACb;;AAEA;CACC,qBAAqB;CACrB,kBAAkB;CAClB,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB,mBAAmB;CACnB,cAAc;CACd,aAAa;CACb,sBAAsB;AACvB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,0BAA0B;CAC1B,aAAa;CACb,kBAAkB;CAClB,gBAAgB;CAChB,SAAS;CACT,gBAAgB;CAChB,WAAW;CACX,8BAAsB;SAAtB,sBAAsB;AACvB;;AAEA;CACC,kBAAkB;CAClB,UAAU;CACV,SAAS;AACV;;AAEA;CACC,kBAAkB;CAClB,WAAW;CACX,SAAS;AACV;;AAEA;CACC,kBAAkB;CAClB,YAAY;CACZ,yBAAyB;CACzB,WAAW;CACX,+BAAqB;CACrB,YAAY;CACZ,8BAAsB;SAAtB,sBAAsB;CACtB,kBAAkB;CAClB,WAAW;CACX,kBAAkB;CAClB,aAAa;AACd;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,iBAAiB;AAClB;;AAEA,yCAAyC;AACzC;CACC,aAAa;AACd;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,gDAAwC;SAAxC,wCAAwC;AACzC;;AAEA,qBAAqB;;AAErB;CACC,gBAAgB;CAChB,mBAAmB;CACnB,YAAY;AACb;;AAEA;CACC,wBAAwB;CACxB,aAAa;AACd;;AAEA;CACC,iBAAiB;AAClB;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,WAAW;AACZ;;AAEA,gBAAgB;;AAEhB;CACC,cAAc;CACd,iBAAiB;AAClB;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,mBAAmB;CACnB,oBAAoB;AACrB;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,YAAY;AACb;;AAEA;CACC,cAAc;CACd,kBAAkB;CAClB,gBAAgB;AACjB;;AAEA;CACC,UAAU;CACV,SAAS;CACT,kBAAkB;AACnB;;AAEA;CACC,kBAAkB;CAClB,oBAAoB;AACrB;;AAEA;CACC,kBAAkB;CAClB,oBAAoB;AACrB;;AAEA;CACC,UAAU;CACV,cAAc;AACf;;AAEA;;CAEC,iBAAiB;CACjB,oBAAoB;CACpB,yBAAyB;CACzB,YAAY;CACZ,iBAAiB;AAClB;;AAEA;;;CAGC,SAAS;CACT,cAAc;AACf;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,WAAW;AACZ;;AAEA;CACC,mBAAmB;AACpB;;AAEA;CACC,gBAAgB;CAChB,cAAc;AACf;;AAEA;;CAEC;EACC,oBAAa;EAAb,oBAAa;EAAb,aAAa;EACb,2BAAqB;MAArB,wBAAqB;UAArB,qBAAqB;CACtB;;CAEA;EACC,mBAAU;MAAV,cAAU;UAAV,UAAU;CACX;;CAEA;EACC,yBAAyB;CAC1B;;AAED;;AAEA;;CAEC;;;EAGC,wBAAwB;EACxB,iBAAiB;EACjB,4BAA4B;EAC5B,YAAY;EACZ,gBAAgB;EAChB,WAAW;CACZ;;CAEA;EACC,YAAY;CACb;;CAEA;EACC,eAAe;EACf,SAAS;EACT,WAAW;EACX,QAAQ;EACR,SAAS;EACT,gBAAgB;EAChB,UAAU;EACV,+CAAuC;UAAvC,uCAAuC;CACxC;;CAEA;EACC,SAAS;EACT,YAAY;CACb;;CAEA;EACC,UAAU;CACX;;CAEA;EACC,kBAAkB;CACnB;;CAEA;EACC,WAAW;CACZ;;AAED;;AAEA;;CAEC;EACC,UAAU;CACX;;AAED;;AAEA;;CAEC;EACC,eAAe;CAChB;;CAEA;EACC,gBAAgB;CACjB;;CAEA;EACC,kBAAkB;EAClB,eAAe;EACf,iBAAiB;CAClB;;CAEA;EACC,kBAAkB;EAClB,eAAe;EACf,sBAAsB;EACtB,YAAY;EACZ,mBAAmB;CACpB;;CAEA;EACC,kBAAkB;EAClB,QAAQ;EACR,QAAQ;CACT;;CAEA;EACC,cAAc;EACd,yBAAyB;CAC1B;;CAEA;EACC,kBAAkB;CACnB;;CAEA;EACC,SAAS;EACT,cAAc;EACd,WAAW;CACZ;;CAEA;EACC,cAAc;CACf;;CAEA;EACC,WAAW;EACX,8BAAsB;UAAtB,sBAAsB;EACtB,kBAAkB;CACnB;;CAEA;EACC,eAAe;EACf,SAAS;EACT,SAAS;EACT,WAAW;EACX,8BAAsB;UAAtB,sBAAsB;EACtB,kBAAkB;EAClB,mDAA2C;UAA3C,2CAA2C;EAC3C,gBAAgB;EAChB,UAAU;CACX;;CAEA;EACC,cAAc;EACd,kBAAkB;CACnB;;CAEA;EACC,cAAc;CACf;;AAED;;;;;;;;;GASG;;CAEF;EACC,mBAAmB;CACpB;;CAEA;EACC,qBAAqB;CACtB;;CAEA;EACC,SAAS;EACT,wBAAgB;UAAhB,gBAAgB;EAChB,uBAAuB;CACxB;;CAEA;EACC,YAAY;EACZ,mBAAmB;EACnB,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACV,kBAAkB;EAClB,UAAU;EACV,UAAU;EACV,SAAS;CACV;;CAEA;EACC,cAAc;EACd,qBAAqB;EACrB,wBAAwB;EACxB,WAAW;EACX,UAAU;EACV,SAAS;EACT,mBAAmB;EACnB,gBAAgB;EAChB,gDAAwC;UAAxC,wCAAwC;CACzC;;CAEA;EACC,6BAA6B;EAC7B,cAAc;EACd,eAAe;EACf,gBAAgB;EAChB,WAAW;EACX,aAAa;EACb,SAAS;CACV;;CAEA;EACC;;;GAGC;EACD,yBAAyB;EACzB,iBAAiB;EACjB,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,oBAAoB;EACpB,WAAW;EACX,gBAAgB;CACjB;;CAEA;EACC,gBAAgB;CACjB;;CAEA;EACC,cAAc;EACd,eAAe;CAChB;;CAEA;EACC,gBAAgB;CACjB;;CAEA;EACC,4BAAsB;EAAtB,6BAAsB;MAAtB,0BAAsB;UAAtB,sBAAsB;CACvB;;CAEA;EACC,WAAW;CACZ;;CAEA;EACC,gBAAgB;CACjB;;CAEA;EACC,kBAAkB;CACnB;;CAEA;EACC,sBAAsB;EACtB,8BAA8B;CAC/B;;CAEA;EACC,iBAAiB;CAClB;;CAEA;EACC,sBAAsB;EACtB,kBAAkB;EAClB,OAAO;EACP,MAAM;EACN,8BAAsB;UAAtB,sBAAsB;EACtB,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,2CAA2C;CAC5C;;CAEA;EACC,YAAY;CACb;;CAEA;EACC,cAAc;EACd,eAAe;EACf,WAAW;EACX,eAAe;CAChB;;CAEA;EACC,4BAAsB;EAAtB,6BAAsB;MAAtB,0BAAsB;UAAtB,sBAAsB;CACvB;;CAEA;EACC,WAAW;EACX,eAAe;EACf,eAAe;EACf,mBAAmB;CACpB;;CAEA;EACC,oBAAoB;CACrB;;CAEA;EACC,4BAAsB;EAAtB,6BAAsB;MAAtB,0BAAsB;UAAtB,sBAAsB;CACvB;;CAEA;EACC,mBAAe;MAAf,eAAe;EACf,4BAAsB;EAAtB,6BAAsB;MAAtB,0BAAsB;UAAtB,sBAAsB;CACvB;;CAEA;EACC,WAAW;EACX,aAAa;CACd;;CAEA;EACC,WAAW;CACZ;;CAEA;;EAEC,kBAAkB;EAClB,MAAM;EACN,YAAY;CACb;;CAEA;;EAEC,WAAW;CACZ;;CAEA;EACC,oBAAoB;EACpB,iBAAiB;CAClB;;AAED;;AAEA;;CAEC;CACA;;CAEA;EACC,WAAW;EACX,WAAW;EACX,kBAAkB;CACnB;;CAEA;EACC,aAAa;CACd;;CAEA;EACC,kBAAkB;CACnB;;CAEA;EACC,cAAc;EACd,WAAW;EACX,SAAS;EACT,mBAAmB;CACpB;;AAED;;AAEA;AACA;;AAEA;;CAEC;EACC,UAAU;CACX;;CAEA;EACC,mBAAmB,EAAE,YAAY;CAClC;;CAEA;EACC,mBAAmB;CACpB;;CAEA;EACC,kBAAkB;CACnB;;CAEA;EACC,iBAAiB;CAClB;;CAEA;EACC,kCAAkC;CACnC;;CAEA;EACC,0BAA0B;CAC3B;;AAED;;AAEA;;CAEC;EACC,WAAW;EACX,YAAY;EACZ,0CAA0C;EAC1C,mBAAmB;CACpB;;CAEA;EACC,kBAAkB;EAClB,gBAAgB;CACjB;;CAEA;EACC,cAAc;CACf;;AAED;;AAEA;;CAEC;EACC,uBAAuB;EACvB,mBAAmB;CACpB;;CAEA;EACC,YAAY;CACb;;AAED;;AAEA;;CAEC;EACC,WAAW;EACX,mBAAmB;CACpB;;CAEA;EACC,WAAW;CACZ;;CAEA;EACC,cAAc;CACf;;CAEA;EACC,oBAAa;EAAb,oBAAa;EAAb,aAAa;EACb,mBAAe;MAAf,eAAe;CAChB;;CAEA;EACC,cAAc;CACf;;CAEA;EACC,WAAW;EACX,mBAAmB;CACpB;;CAEA;EACC,UAAU;EACV,8BAAsB;UAAtB,sBAAsB;CACvB;;CAEA;EACC,aAAa;CACd;;CAEA;EACC,2BAA2B;EAC3B,iBAAiB;EACjB,WAAW;EACX,cAAc;CACf;;AAED","file":"updraftplus-admin-1-24-4.min.css","sourcesContent":["@keyframes udp_blink {\n\n\tfrom {\n\t\topacity: 1;\n\t\ttransform: scale(1);\n\t}\n\n\tto {\n\t\topacity: 0.4;\n\t\ttransform: scale(0.85);\n\t}\n\n}\n\n@keyframes udp_rotate {\n\n\tfrom {\n\t\ttransform: rotate(0);\n\t}\n\n\tto {\n\t\ttransform: rotate(360deg);\n\t}\n\n}\n\n/* Widths and sizing */\n.max-width-600 {\n\tmax-width: 600px;\n}\n\n.max-width-700 {\n\tmax-width: 700px;\n}\n\n.width-900 {\n\tmax-width: 900px;\n}\n\n.width-80 {\n\twidth: 80%;\n}\n\n.updraft--flex {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n\n.updraft--flex > * {\n\tflex: 1;\n\tbox-sizing: border-box;\n}\n\n.updraft--flex > .updraft--one-half {\n\twidth: 50%;\n\tflex: auto;\n}\n\n.updraft--flex > .updraft--two-halves {\n\twidth: 100%;\n\tflex: auto;\n}\n\n.updraft-file-ready-label {\n\tpadding: 5px;\n}\n\n.updraft-color--very-light-grey {\n\tbackground: #F8F8F8;\n}\n\n/* End widths and sizing */\n\n/* Font styling */\n.no-decoration {\n\ttext-decoration: none;\n}\n\n.bold {\n\tfont-weight: bold;\n}\n\n/* End font styling */\n/* Alignment */\n.center-align-td {\n\ttext-align: center;\n}\n\n/* End of Alignment */\n/* Padding */\n.remove-padding {\n\tpadding: 0 !important;\n}\n\n/* End of padding */\n\n.updraft-text-center {\n\ttext-align: center;\n}\n\n.autobackup {\n\tpadding: 6px;\n\tmargin: 8px 0px;\n}\n\nul .disc {\n\tlist-style: disc inside;\n}\n\n.dashicons-log-fix {\n\tdisplay: inherit;\n}\n\n.udpdraft__lifted {\n\tbox-shadow: 0 1px 1px 0 rgba(0,0,0,.1);\n}\n\n#updraft-wrap a .dashicons {\n\ttext-decoration: none;\n}\n\n.updraft-field-description,\ntable.form-table td p.updraft-field-description {\n\tfont-size: 90%;\n\tline-height: 1.2;\n\tfont-style: italic;\n\tmargin-bottom: 5px;\n}\n\n/* Input boxes */\nlabel.updraft_checkbox {\n\tdisplay: block;\n\tmargin-bottom: 4px;\n\tmargin-left: 26px;\n}\n\nlabel.updraft_checkbox > input[type=checkbox] {\n\tmargin-left: -25px;\n}\n\ndiv[id*=\"updraft_include_\"] {\n\tmargin-bottom: 9px;\n}\n\n/* Input boxes */\n.settings_page_updraftplus input[type=\"file\"] {\n\tborder: none;\n}\n\n.settings_page_updraftplus .wipe_settings {\n\tpadding-bottom: 10px;\n}\n\n.settings_page_updraftplus input[type=\"text\"] {\n\tfont-size: 14px;\n}\n\n.settings_page_updraftplus select {\n\tborder-radius: 4px;\n\tmax-width: 100%;\n}\n\ninput.updraft_input--wide,\ntextarea.updraft_input--wide {\n\tmax-width: 442px;\n\twidth: 100%;\n}\n\n#updraft-wrap .button-large {\n\tfont-size: 1.3em;\n}\n\n/* End input boxes */\n\n/* Main Buttons */\n.main-dashboard-buttons {\n\tborder-width: 4px;\n\tborder-radius: 12px;\n\tletter-spacing: 0px;\n\tfont-size: 17px;\n\tfont-weight: bold;\n\tpadding-left: 0.7em;\n\tpadding-right: 2em;\n\tpadding: 0.3em 1em;\n\tline-height: 1.7em;\n\tbackground: transparent;\n\tposition: relative;\n\tborder: 2px solid;\n\ttransition: all 0.2s;\n\tvertical-align: baseline;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tline-height: 1.3em;\n\tmargin-left: .3em;\n\ttext-transform: none;\n\tline-height: 1;\n\ttext-decoration: none;\n}\n\n.button-restore {\n\tborder-color: rgb(98, 158, 192);\n\tcolor: rgb(98, 158, 192);\n}\n\n.button-ud-google {\n\ttext-decoration: none !important;\n\ttransition: background-color .3s, box-shadow .3s;\n\tpadding: 12px 16px 12px 42px !important;\n\tborder: none;\n\tborder-radius: 3px;\n\tbox-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .25);\n\tcolor: #757575;\n\tfont-size: 14px;\n\tfont-weight: 500;\n\tfont-family: \"Roboto\";\n\tbackground-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTcuNiA5LjJsLS4xLTEuOEg5djMuNGg0LjhDMTMuNiAxMiAxMyAxMyAxMiAxMy42djIuMmgzYTguOCA4LjggMCAwIDAgMi42LTYuNnoiIGZpbGw9IiM0Mjg1RjQiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik05IDE4YzIuNCAwIDQuNS0uOCA2LTIuMmwtMy0yLjJhNS40IDUuNCAwIDAgMS04LTIuOUgxVjEzYTkgOSAwIDAgMCA4IDV6IiBmaWxsPSIjMzRBODUzIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNNCAxMC43YTUuNCA1LjQgMCAwIDEgMC0zLjRWNUgxYTkgOSAwIDAgMCAwIDhsMy0yLjN6IiBmaWxsPSIjRkJCQzA1IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNOSAzLjZjMS4zIDAgMi41LjQgMy40IDEuM0wxNSAyLjNBOSA5IDAgMCAwIDEgNWwzIDIuNGE1LjQgNS40IDAgMCAxIDUtMy43eiIgZmlsbD0iI0VBNDMzNSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PHBhdGggZD0iTTAgMGgxOHYxOEgweiIvPjwvZz48L3N2Zz4=);\n\tbackground-color: #FFF;\n\tbackground-repeat: no-repeat;\n\tbackground-position: 12px 11px;\n}\n\n.button-ud-google:hover {\n\tbox-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .25);\n}\n\n.button-ud-google:active {\n\tbackground-color: #EEE;\n}\n\n.button-ud-google:focus {\n\toutline: none;\n\tbox-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .25), 0 0 0 3px #C8DAFC;\n}\n\n.button-ud-google:disabled {\n\tfilter: grayscale(100%);\n\tbackground-color: #EBEBEB;\n\tbox-shadow: 0 -1px 0 rgba(0, 0, 0, .04), 0 1px 1px rgba(0, 0, 0, .25);\n\tcursor: not-allowed;\n}\n\n.dashboard-main-sizing {\n\tborder-width: 4px;\n\twidth: 190px;\n\tline-height: 1.7em;\n}\n\np.updraftplus-option {\n\tmargin-top: 0;\n\tmargin-bottom: 5px;\n}\n\np.updraftplus-option-inline {\n\tdisplay: inline-block;\n\tpadding-right: 20px;\n}\n\nspan.updraftplus-option-label {\n\tdisplay: block;\n}\n\n/*\n* MIGRATE - CLONE\n*/\n\n#updraft-navtab-migrate-content .postbox {\n\tpadding: 18px;\n}\n\n/* Clone Rows */\n\n.updraftclone-main-row {\n\tdisplay: flex;\n}\n\n.updraftclone-tokens {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 10px;\n\tmargin-right: 20px;\n\tmax-width: 300px;\n}\n\n.updraftclone-tokens p {\n\tmargin: 0;\n}\n\n.updraftclone_action_box {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 10px;\n\tflex: 1;\n}\n\n.updraftclone_action_box p:first-child {\n\tmargin-top: 0;\n}\n\n.updraftclone_action_box p:last-child {\n\tmargin-bottom: 0;\n}\n\n.updraftclone_action_box #ud_downloadstatus3 {\n\tmargin-top: 10px;\n}\n\nspan.tokens-number {\n\tfont-size: 46px;\n\tdisplay: block;\n}\n\n/* Clone header button */\n.button.updraft_migrate_widget_temporary_clone_show_stage0 {\n\tdisplay: none;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\theight: 100%;\n\tborder-left: 1px solid #CCC;\n\tpadding-left: 10px;\n\tpadding-right: 10px;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_container {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_box {\n\tmargin-right: 20px;\n\twidth: 100%;\n\tflex-basis: 100%;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_box iframe,\n.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js {\n\tfloat: none;\n}\n\n@media (min-width: 1024px) {\n\n\t.updraft_migrate_widget_temporary_clone_stage0_container {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t}\n\n\t.updraft_migrate_widget_temporary_clone_stage0_box {\n\t\tflex-basis: 45%;\n\t}\n\n\t.updraft_migrate_widget_temporary_clone_stage0_box iframe,\n\t.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js {\n\t\tfloat: right;\n\t}\n\n}\n\n.updraft_migrate_widget_temporary_clone_show_stage0 .dashicons {\n\ttext-decoration: none;\n\tfont-size: 20px;\n}\n\n.opened .button.updraft_migrate_widget_temporary_clone_show_stage0 {\n\tdisplay: inline-block;\n}\n\n.opened .updraft_migrate_widget_temporary_clone_stage0 {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 8px;\n\tmargin-bottom: 21px;\n}\n\n/* Clone list table */\n.clone-list {\n\tclear: both;\n\twidth: 100%;\n\tmargin-top: 40px;\n}\n\n.clone-list table {\n\twidth: 100%;\n\ttext-align: left;\n}\n\n.clone-list table tr th {\n\tbackground: #E4E4E4;\n}\n\n.clone-list table tr td {\n\tbackground: #F5F5F5;\n\tword-break: break-word;\n}\n\n.clone-list table tr:nth-child(odd) td {\n\tbackground: #FAFAFA;\n}\n\n.clone-list table td,\n.clone-list table th {\n\tpadding: 6px;\n}\n\n/* Clone Progress */\n.updraftplus-clone .updraft_row {\n\tpadding-left: 0;\n\tpadding-right: 0;\n}\n\nbutton#updraft_migrate_createclone + .updraftplus_spinner {\n\tmargin-top: 13px;\n}\n\n/* Clone - Show step 1 info button */\n.button.button-hero.updraftclone_show_step_1 {\n\twhite-space: normal;\n\theight: auto;\n\tline-height: 14px;\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n}\n\n.button.button-hero.updraftclone_show_step_1 span.dashicons {\n\theight: auto;\n}\n\n.updraftplus_clone_status {\n\tcolor: red;\n}\n\n/* MIGRATE */\n\na.updraft_migrate_add_site--trigger span.dashicons {\n\ttext-decoration: none;\n}\n\n.button-restore:hover, .button-migrate:hover, .button-backup:hover,\n.button-view-log:hover, .button-mass-selectors:hover,\n.button-delete:hover, .button-entity-backup:hover, .udp-button-primary:hover {\n\tborder-color: #DF6926;\n\tcolor: #DF6926;\n}\n\n.button-migrate {\n\tcolor: rgb(238, 169, 32);\n\tborder-color: rgb(238, 169, 32);\n}\n\n#updraft_migrate_tab_main {\n\tpadding: 8px;\n}\n\n.updraft_migrate_widget_module_content {\n\tbackground: #FFF;\n\tborder-radius: 0;\n\tposition: relative;\n}\n\nbody.js #updraft_migrate .updraft_migrate_widget_module_content {\n\tdisplay: none;\n}\n\n.updraft_migrate_widget_module_content > h3,\ndiv[class*=\"updraft_migrate_widget_temporary_clone_stage\"] > h3 {\n\tmargin-top: 0;\n}\n\n/* Migrate / Clone headers */\n.updraft_migrate_widget_module_content header,\n#updraft_migrate_tab_alt header {\n\tposition: relative;\n\tdisplay: flex;\n\talign-content: center;\n\tjustify-items: center;\n\tmargin-top: -18px;\n\tmargin-left: -18px;\n\tmargin-right: -18px;\n\tmargin-bottom: 15px;\n\tborder-bottom: 1px solid #CCC;\n}\n\n.updraft_migrate_widget_module_content header h3,\n.updraft_migrate_widget_module_content header button.button.close,\n#updraft_migrate_tab_alt header h3,\n#updraft_migrate_tab_alt header button.button.close {\n\tpadding: 10px;\n\tline-height: 20px;\n\theight: auto;\n\tmargin: 0;\n}\n\n.updraft_migrate_widget_module_content button.button.close,\n#updraft_migrate_tab_alt button.button.close {\n\ttext-decoration: none;\n\tpadding-left: 5px;\n\tborder-right: 1px solid #CCC;\n}\n\n.updraft_migrate_widget_module_content button.button.close .dashicons,\n#updraft_migrate_tab_alt button.button.close .dashicons {\n\tmargin-top: 1px;\n}\n\n.updraft_migrate_widget_module_content header h3,\n#updraft_migrate_tab_alt header h3 {\n\tmargin: 0;\n}\n\n.updraft_migrate_intro button.button.button-primary.button-hero {\n\tmax-width: 235px;\n\tword-wrap: normal;\n\twhite-space: normal;\n\tline-height: 1;\n\theight: auto;\n\tpadding-top: 13px;\n\tpadding-bottom: 13px;\n\ttext-align: left;\n\tposition: relative;\n\tmargin-right: 10px;\n\tmargin-bottom: 10px;\n}\n\n.updraft_migrate_intro button.button.button-primary.button-hero .dashicons {\n\tposition: absolute;\n\tleft: 10px;\n\ttop: calc(50% - 8px);\n}\n\n#updraft_migrate_tab_alt #updraft_migrate_send_existing_button {\n\tmargin-right: 6px;\n}\n\n/*\njquery UI Accordion module\n*/\n#updraft_migrate .ui-widget-content a {\n\tcolor: #1C94C4;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header {\n\tbackground: #F6F6F6;\n\tmargin: 0;\n\tborder-radius: 0;\n\tpadding-left: 0.5em;\n\tpadding-right: 0.7em;\n}\n\n#updraft-wrap .ui-widget {\n\tfont-family: inherit;\n}\n\n.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-w {\n\tbackground-position: -96px 0px;\n}\n\n.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-s {\n\tbackground-position: -64px 0;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header .ui-accordion-header-icon {\n\tleft: auto;\n\tright: 5px;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus {\n\toutline: none;\n\tbox-shadow: 0 0 0 1px rgba(91, 157, 217, 0.22), 0 0 2px 1px rgba(30, 140, 190, 0.3);\n\tbackground: #FFF;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus .dashicons {\n\tcolor: #0572AA;\n\topacity: 1;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active {\n\tbackground: #F6F6F6;\n\tborder-bottom: 2px solid #0572AA;\n\tbox-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3);\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active:focus {\n\tbox-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3), 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8);\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:not(:first-child) {\n\tborder-top: none;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header .dashicons {\n\topacity: 0.4;\n\tmargin-right: 10px;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus {\n\toutline: none;\n\tbox-shadow: 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8);\n\tz-index: 1;\n}\n\nbutton.ui-dialog-titlebar-close:before {\n\tcontent: none!important;\n}\n\n.updraft_next_scheduled_backups_wrapper {\n\tdisplay: flex;\n\tbackground: #FFF;\n\tjustify-items: center;\n\tflex-wrap: wrap;\n}\n\n.updraft_next_scheduled_backups_wrapper > div {\n\twidth: 50%;\n\tbackground: #FFF;\n\theight: auto;\n\t/* padding: 18px 33px; */\n\tpadding: 33px;\n\tbox-sizing: border-box;\n}\n\n.updraft_backup_btn_wrapper {\n\ttext-align: center;\n\tborder-left: 1px solid #F1F1F1;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.incremental-backups-only {\n\tdisplay: none;\n}\n\n.incremental-free-only {\n\tdisplay: none;\n}\n\n.incremental-free-only p {\n\tpadding: 5px;\n\tbackground: rgba(255, 0, 0, 0.06);\n\tborder: 1px solid #BFBFBF;\n}\n\n#updraft-delete-waitwarning span.spinner {\n\tvisibility: visible;\n\tfloat: none;\n\tmargin: 0;\n\tmargin-right: 10px;\n}\n\nbutton#updraft-backupnow-button .spinner,\nbutton#updraft-backupnow-button .dashicons-yes {\n\tdisplay: none;\n}\n\nbutton#updraft-backupnow-button.loading .spinner {\n\tdisplay: inline-block;\n\tvisibility: visible;\n\tmargin-top: 13px;\n\tmargin-right: 0;\n}\n\nbutton#updraft-backupnow-button.loading {\n\tbackground-color: #EFEFEF;\n\tborder-color: #CCC;\n\ttext-shadow: 0 -1px 1px #BBC3C7, 1px 0 1px #BBC3C7, 0 1px 1px #BBC3C7, -1px 0 1px #BBC3C7;\n\tbox-shadow: none;\n}\n\nbutton#updraft-backupnow-button.finished .dashicons-yes {\n\tdisplay: inline-block;\n\tvisibility: visible;\n\tfont-size: 42px;\n\tmargin-right: 0;\n\tmargin-top: 2px;\n}\n\n.updraft_next_scheduled_entity {\n\twidth: 50%;\n\tdisplay: inline-block;\n\tfloat: left;\n\t/*\n\tpadding: 20px 20px 10px 20px;\n\t*/\n}\n\n.updraft_next_scheduled_entity .dashicons {\n\tcolor: #CCC;\n\tfont-size: 20px;\n}\n\n.updraft_next_scheduled_entity strong {\n\tfont-size: 20px;\n}\n\n.updraft_next_scheduled_heading {\n\tmargin-bottom: 10px;\n}\n\n.updraft_next_scheduled_date_time {\n\tcolor: #46A84B;\n}\n\n.updraft_time_now_wrapper {\n\tmargin-top: 68px;\n\twidth: 100%;\n}\n\n.updraft_time_now_label, .updraft_time_now {\n\tdisplay: inline-block;\n\tpadding: 7px;\n}\n\n.updraft_time_now_label {\n\tbackground: #B7B7B7;\n\tborder-top-left-radius: 4px;\n\tborder-bottom-left-radius: 4px;\n\tcolor: #FFF;\n\tmargin-right: 0;\n\ttext-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n.updraft_time_now {\n\tbackground: #F1F1F1;\n\tborder-top-right-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n\tmargin-left: -3px;\n}\n\n#updraft_lastlogmessagerow {\n\tmargin: 6px 0;\n}\n\n#updraft_lastlogmessagerow {\n\tclear: both;\n\tpadding: 0.25px 0;\n}\n\n#updraft_lastlogmessagerow .updraft-log-link {\n\tfloat: right;\n\tmargin-top: -2.5em;\n\tmargin-right: 2px;\n}\n\n#updraft_lastlogmessagerow > div {\n\tclear: both;\n\tbackground: #FFF;\n\tpadding: 18px;\n}\n\n#updraft_activejobs_table {\n\toverflow: hidden;\n\twidth: 100%;\n\tbackground: #FAFAFA;\n\tpadding: 0;\n}\n\n.updraft_requeststart {\n\tpadding: 15px 33px;\n\ttext-align: center;\n}\n\n.updraft_requeststart .spinner {\n\tvisibility: visible;\n\tfloat: none;\n\tvertical-align: middle;\n\tmargin-top: -2px;\n}\n\na.updraft_jobinfo_delete.disabled {\n\topacity: 0.4;\n\tcolor: inherit;\n\ttext-decoration: none;\n}\n\n.updraft_row {\n\tclear: both;\n\ttransition: 0.3s all;\n\tpadding: 15px 33px;\n}\n\n.updraft_row.deleting {\n\topacity: 0.4;\n}\n\n.updraft_progress_container {\n\t/* width: 83%; */\n}\n\n.updraft_existing_backups_count {\n\tpadding: 2px 8px;\n\tfont-size: 12px;\n\tbackground: #CA4A1E;\n\tcolor: #FFF;\n\tfont-weight: bold;\n\tborder-radius: 10px;\n}\n\n.form-table .existing-backups-table input[type=\"checkbox\"] {\n\tborder-radius: 0;\n}\n\n.form-table .existing-backups-table .check-column {\n\twidth: 40px;\n\tpadding: 0;\n\tpadding-top: 8px;\n}\n\n.existing-backups-buttons {\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 3px;\n}\n\n.existing-backups-restore-buttons {\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 3px;\n}\n\n.button-delete {\n\tcolor: #E23900;\n\tborder-color: #E23900;\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-right: 10px;\n}\n\n.button-view-log, .button-mass-selectors {\n\tcolor: darkgrey;\n\tborder-color: darkgrey;\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-top: -1px;\n}\n\n.button-view-log {\n\twidth: 120px;\n}\n\n.button-existing-restore {\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\twidth: 110px;\n}\n\n.main-restore {\n\tmargin-right: 3%;\n\tmargin-left: 3%;\n}\n\n.button-entity-backup {\n\tcolor: #555;\n\tborder-color: #555;\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-right: 5px;\n}\n\n.button-select-all {\n\twidth: 122px;\n}\n\n.button-deselect {\n\twidth: 92px;\n}\n\n#ud_massactions > .display-flex > .mass-selectors-margins, #updraft-delete-waitwarning > .display-flex > .mass-selectors-margins {\n\tmargin-right: -4px;\n}\n\n.udp-button-primary {\n\tborder-width: 4px;\n\tcolor: #0073AA;\n\tborder-color: #0073AA;\n\tfont-size: 14px;\n\theight: 40px;\n}\n\n#ud_massactions .button-delete {\n\tmargin-right: 0px;\n}\n\n.stored_local {\n\tborder-radius: 5px;\n\tbackground-color: #007FE7;\n\tpadding: 3px 5px 5px 5px;\n\tcolor: #FFF;\n\tfont-size: 75%;\n}\n\nspan#updraft_lastlogcontainer {\n\tword-break: break-all;\n}\n\n.stored_icon {\n\theight: 1.3em;\n\tposition: relative;\n\ttop: 0.2em;\n}\n\n.backup_date_label > * {\n\tvertical-align: middle;\n}\n\n.backup_date_label .dashicons {\n\tfont-size: 18px;\n}\n\n.backup_date_label .clear-right {\n\tclear: right;\n}\n\n.existing-backups-table .backup_date_label > div, .existing-backups-table .backup_date_label span > div {\n\tfont-weight: bold;\n}\n\n/* End Main Buttons */\n\n/* End of common elements */\n\n.udp-logo-70 {\n\twidth: 70px;\n\theight: 70px;\n\tfloat: left;\n\tpadding-right: 25px;\n}\n\nh3 .thank-you {\n\tmargin-top: 0px;\n}\n\n.ws_advert {\n\tmax-width: 800px;\n\tfont-size: 140%;\n\tline-height: 140%;\n\tpadding: 14px;\n\tclear: left;\n}\n\n.dismiss-dash-notice {\n\tfloat: right;\n\tposition: relative;\n\ttop: -20px;\n}\n\n.updraft_exclude_container,\n.updraft_include_container {\n\tmargin-left: 24px;\n\tmargin-top: 5px;\n\tmargin-bottom: 10px;\n\tpadding: 15px;\n\tborder: 1px solid #DDD;\n}\n\nlabel.updraft-exclude-label {\n\tfont-weight: 500;\n\tmargin-bottom: 5px;\n\tdisplay: inline-block;\n}\n\n.updraft_add_exclude_item,\n#updraft_include_more_paths_another {\n\tdisplay: inline-block;\n\tmargin-top: 10px;\n}\n\ninput.updraft_exclude_entity_field,\n.form-table td input.updraft_exclude_entity_field,\n.updraftplus-morefiles-row input[type=text] {\n\twidth: calc(100% - 70px);\n\tmax-width: 400px;\n}\n\n.updraft-fs-italic {\n\tfont-style: italic;\n}\n\n@media screen and (max-width: 782px) {\n\n\t.form-table td input.updraft_exclude_entity_field,\n\t.form-table td .updraftplus-morefiles-row input[type=text] {\n\t\tdisplay: inline-block;\n\t}\n\n}\n\n.updraft_exclude_entity_delete.dashicons, .updraft_exclude_entity_edit.dashicons, .updraft_exclude_entity_update.dashicons, .updraftplus-morefiles-row a.dashicons {\n\tmargin-top: 2px;\n\tfont-size: 20px;\n\tbox-shadow: none;\n\tline-height: 1;\n\tpadding: 3px;\n\tmargin-right: 4px;\n}\n\n.updraft_exclude_entity_delete,\n.updraft_exclude_entity_delete:hover,\n.updraftplus-morefiles-row-delete {\n\tcolor: #FF6347;\n}\n\n.updraft_exclude_entity_update.dashicons, .updraft_exclude_entity_update.dashicons:hover {\n\tcolor: #008000;\n\tfont-weight: bold;\n\tfont-size: 22px;\n\tmargin-left: 4px;\n}\n\n.updraft_exclude_entity_edit {\n\tmargin-left: 4px;\n}\n\n.updraft_exclude_entity_update.is-active ~ .updraft_exclude_entity_delete {\n\tdisplay: none;\n}\n\n.updraft-exclude-panel-heading {\n\tmargin-bottom: 8px;\n}\n\n.updraft-exclude-panel-heading h3 {\n\tmargin: 0.5em 0 0.5em 0;\n}\n\n.updraft-exclude-submit.button-primary {\n\tmargin-top: 5px;\n}\n\n.updraft_exclude_actions_list {\n\tfont-weight: bold;\n}\n\n.updraft-exclude-link {\n\tcursor: pointer;\n}\n\n#updraft_include_more_options {\n\tpadding-left: 25px;\n}\n\n#updraft_report_cell .updraft_reportbox,\n.updraft_small_box {\n\tpadding: 12px;\n\tmargin: 8px 0;\n\tborder: 1px solid #CCC;\n\tposition: relative;\n}\n\n#updraft_report_cell button.updraft_reportbox_delete,\n.updraft_box_delete_button,\n.updraft_small_box .updraft_box_delete_button {\n\tpadding: 4px;\n\tpadding-top: 6px;\n\tborder: none;\n\tbackground: transparent;\n\tposition: absolute;\n\ttop: 4px;\n\tright: 4px;\n\tcursor: pointer;\n}\n\n#updraft_report_cell button.updraft_reportbox_delete:hover {\n\tcolor: #DE3C3C;\n}\n\na.updraft_report_another .dashicons {\n\ttext-decoration: none;\n\tmargin-top: 2px;\n}\n\n.updraft_report_dbbackup.updraft_report_disabled {\n\tcolor: #CCC;\n}\n\n#updraft-navtab-settings-content .updraft-test-button {\n\tfont-size: 18px !important;\n}\n\n#updraft_report_cell .updraft_report_email {\n\tdisplay: block;\n\twidth: calc(100% - 50px);\n\tmargin-bottom: 9px;\n}\n\n#updraft_report_cell .updraft_report_another_p {\n\tclear: left;\n}\n\n/* Taken straight from admin.php */\n\n#updraft-navtab-settings-content table.form-table p {\n\tmax-width: 700px;\n}\n\n#updraft-navtab-settings-content table.form-table .notice p {\n\tmax-width: none;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected,\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected td {\n\tbackground-color: #EFEFEF;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected:nth-child(even) td {\n\tbackground-color: #E8E8E8;\n}\n\n.updraft_settings_sectionheading {\n\tdisplay: none;\n}\n\n.updraft-backupentitybutton-disabled {\n\tbackground-color: transparent;\n\tborder: none;\n\tcolor: #0074A2;\n\ttext-decoration: underline;\n\tcursor: pointer;\n\tclear: none;\n\tfloat: left;\n}\n\n.updraft-backupentitybutton {\n\tmargin-left: 8px;\n}\n\n.updraft-bigbutton {\n\tpadding: 2px 0px !important;\n\tmargin-right: 14px !important;\n\tfont-size: 22px !important;\n\tmin-height: 32px;\n\tmin-width: 180px;\n}\n\ntr[class*=\"_updraft_remote_storage_border\"] {\n\tborder-top: 1px solid #CCC;\n}\n\n.updraft_multi_storage_options {\n\tfloat: right;\n\tclear: right;\n\tmargin-bottom: 5px !important;\n}\n\n.updraft_toggle_instance_label {\n\tvertical-align: top !important;\n}\n\n.updraft_debugrow th {\n\tfloat: right;\n\ttext-align: right;\n\tfont-weight: bold;\n\tpadding-right: 8px;\n\tmin-width: 140px;\n}\n\n.updraft_debugrow td {\n\tmin-width: 300px;\n\tvertical-align: bottom;\n}\n\n.updraft_webdav_host_error, .onedrive_folder_error {\n\tcolor: red;\n}\n\nlabel[for=updraft_servicecheckbox_updraftvault] {\n\tposition: relative;\n}\n\n#updraft-wrap .udp-info {\n\tposition: absolute;\n\tright: 10px;\n\ttop: calc(50% - 10px);\n}\n\n#updraft-wrap span.info-trigger {\n\tdisplay: inline-block;\n\twidth: 20px;\n\theight: 20px;\n\tbackground: #FFF;\n\tcolor: #72777C;\n\tborder-radius: 30px;\n\ttext-align: center;\n\tline-height: 20px;\n\tbox-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n#updraft-wrap .info-content-wrapper {\n\tdisplay: none;\n\tposition: absolute;\n\tbottom: 20px;\n\ttransform: translatex(calc(-50% + 10px));\n\twidth: 330px;\n\tpadding-bottom: 10px;\n}\n\n#updraft-wrap .info-content-wrapper::before {\n\tcontent: '';\n\tposition: absolute;\n\tbottom: -10px;\n\tborder: 10px solid transparent;\n\tborder-top-color: #FFF;\n\tleft: calc(50% - 10px);\n}\n\n#updraft-wrap .info-content {\n\tpadding: 20px;\n\tbackground: #FFF;\n\tborder-radius: 4px;\n\tbox-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);\n\tcolor: #72777C;\n}\n\n#updraft-wrap .info-content h3 {\n\tmargin-top: 0;\n}\n\n#updraft-wrap .info-content p {\n\tmargin-top: 10px;\n}\n\n#updraft-wrap .udp-info:hover .info-content-wrapper {\n\tdisplay: block;\n}\n\ndiv.conditional_remote_backup select.logic_type {\n\tvertical-align: inherit !important;\n}\n\ndiv.conditional_remote_backup label.updraft_toggle_instance_label.radio_group {\n\tdisplay: block;\n\tmargin-top: 7px;\n}\n\ndiv.conditional_remote_backup div.logic ul.rules input.rule_value {\n\tvertical-align: middle;\n}\n\ndiv.conditional_remote_backup p {\n\tmargin-bottom: 10px;\n}\n\ndiv.conditional_remote_backup div.logic ul.rules span svg {\n\twidth: 20px;\n\tvertical-align: middle;\n\tcursor: pointer;\n}\n\ndiv.conditional_remote_backup div.logic ul.rules span svg {\n\tmargin-left: 3px;\n}\n\ndiv.conditional_remote_backup div.logic select.logic_type {\n\tvertical-align: unset;\n}\n\n/* jstree styles */\n\n/* these styles hide the dots from the parent but keep the arrows */\n.updraft_jstree .jstree-container-ul > .jstree-node,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-node {\n\tbackground: transparent;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-open > .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-open > .jstree-ocl {\n\tbackground-position: -36px -4px;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-closed> .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-closed> .jstree-ocl {\n\tbackground-position: -4px -4px;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-leaf> .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-leaf> .jstree-ocl {\n\tbackground: transparent;\n}\n\n/* zip browser jstree styles */\n#updraft_zip_files_container {\n\tposition: relative;\n\theight: 450px;\n\toverflow: none;\n}\n\n.updraft_jstree_info_container {\n\tposition: relative;\n\theight: auto;\n\twidth: 100%;\n\tborder: 1px dotted;\n\tmargin-bottom: 5px;\n}\n\n.updraft_jstree_info_container p {\n\tmargin: 1px;\n\tpadding-left: 10px;\n\tfont-size: 14px;\n}\n\n#updraft_zip_download_item {\n\tdisplay: none;\n\tcolor: #0073AA;\n\tpadding-left: 10px;\n}\n\n#updraft_zip_download_notice {\n\tpadding-left: 10px;\n}\n\n#updraft_exclude_files_folders_jstree, #updraft_exclude_files_folders_wildcards_jstree {\n\tmax-height: 200px;\n\toverflow-y: scroll;\n}\n\n.updraft_jstree {\n\tposition: relative;\n\tborder: 1px dotted;\n\theight: 80%;\n\twidth: 100%;\n\toverflow: auto;\n}\n\n/* More files jstree styles */\ndiv[id^=\"updraft_more_files_container_\"], div.updraft_googledrive_container {\n\tposition: relative;\n\tdisplay: none;\n\twidth: 100%;\n\tborder: 1px solid #CCC;\n\tbackground: #FAFAFA;\n\tmargin-bottom: 5px;\n\tmargin-top: 4px;\n\tbox-shadow: 0 5px 8px rgba(0, 0, 0, 0.1);\n}\n\ndiv.updraft_googledrive_container ul.jstree-container-ul {\n\toverflow-y: scroll;\n\tmax-height: 200px;\n}\n\ndiv[id^=\"updraft_more_files_container_\"]::before, div.updraft_googledrive_container::before {\n\tcontent: ' ';\n\twidth: 11px;\n\theight: 11px;\n\tdisplay: block;\n\tbackground: #FAFAFA;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 20px;\n\tborder-top: 1px solid #CCC;\n\tborder-left: 1px solid #CCC;\n\ttransform: translatey(-7px) rotate(45deg);\n}\n\ninput.updraft_more_path_editing {\n\tborder-color: #0285BA;\n}\n\ninput.updraft_more_path_editing ~ a.dashicons {\n\tdisplay: none;\n}\n\ndiv[id^=\"updraft_jstree_buttons_\"] {\n\tpadding: 10px;\n\tbackground: #E6E6E6;\n}\n\ndiv[id^=\"updraft_jstree_container_\"] {\n\theight: 300px;\n\twidth: 100%;\n\toverflow: auto;\n}\n\ndiv[id^=\"updraft_more_files_container_\"] button {\n\tline-height: 20px;\n}\n\nbutton[id^=\"updraft_parent_directory_\"] {\n\tmargin: 10px 10px 4px 10px;\n\tpadding-left: 3px;\n}\n\nbutton[id^=\"updraft_jstree_confirm_\"], button[id^=\"updraft_jstree_cancel_\"] {\n\tdisplay: none;\n}\n\ninput[id^=\"updraft_include_more_path_restore_\"] {\n\ttext-align: right;\n}\n\n.updraftplus-morefiles-row-delete,\n.updraftplus-morefiles-row-edit {\n\tcursor: pointer;\n}\n\n#updraft_include_more_paths_error {\n\tcolor: #DE3C3C;\n}\n\np[id^=\"updraftplus_manual_authentication_error_\"] {\n\tcolor: #DE3C3C;\n}\n\n#updraft-wrap .form-table th {\n\twidth: 230px;\n}\n\n#updraft-wrap .form-table .existing-backups-table th {\n\twidth: auto;\n}\n\n.updraft-viewlogdiv form {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraft-viewlogdiv {\n\tdisplay: inline-block;\n\tmargin-left: 4px;\n}\n\n.updraft-viewlogdiv input, .updraft-viewlogdiv a {\n\tborder: none;\n\tbackground-color: transparent;\n\tcolor: #000;\n\tmargin: 0px;\n\tpadding: 3px 4px;\n\tfont-size: 16px;\n\tline-height: 26px;\n}\n\n.updraft-viewlogdiv input:hover, .updraft-viewlogdiv a:hover {\n\tcolor: #FFF;\n\tcursor: pointer;\n}\n\n.button.button-remove {\n\tcolor: white;\n\tbackground-color: #DE3C3C;\n\tborder-color: #C00000;\n\tbox-shadow: 0 1px 0 #C10100;\n}\n\n.button.button-remove:hover,\n.button.button-remove:focus {\n\tborder-color: #C00;\n\tcolor: #FFF;\n\tbackground: #C00;\n}\n\n/* button-remove colors for midnight admin theme */\nbody.admin-color-midnight .button.button-remove {\n\tcolor: #DE3C3C;\n\tbackground-color: #F7F7F7;\n\tborder-color: #CCC;\n\tbox-shadow: 0 1px 0 #CCC;\n}\n\nbody.admin-color-midnight .button.button-remove:hover, body.admin-color-midnight .button.button-remove:focus {\n\tborder-color: #BA281F;\n}\n\nbody.admin-color-midnight .button.button-remove:focus {\n\tbox-shadow: inherit;\n\tbox-shadow: 0 0 3px rgba(0, 115, 170, 0.8);\n}\n\n.drag-drop #drag-drop-area2 {\n\tborder: 4px dashed #DDD;\n\theight: 200px;\n}\n\n#drag-drop-area2 .drag-drop-inside {\n\tmargin: 36px auto 0;\n\twidth: 350px;\n}\n\n#filelist, #filelist2 {\n\tmargin-top: 30px;\n\twidth: 100%;\n}\n\n#filelist .file, #filelist2 .file, .ud_downloadstatus .file, #ud_downloadstatus2 .file, #ud_downloadstatus3 .file {\n\tpadding: 1px;\n\tbackground: #ECECEC;\n\tborder: solid 1px #CCC;\n\tmargin: 4px 0;\n}\n\n.updraft_premium section {\n\tmargin-bottom: 20px;\n}\n\n/*\n\tCall to action Premium\n*/\n.updraft_premium_cta {\n\tbackground: #FFF;\n\tmargin-top: 30px;\n\tpadding: 0;\n\tborder-left: 4px solid #DB6A03;\n}\n\n.updraft_premium_cta a {\n\tfont-weight: normal;\n}\n\n.updraft_premium_cta__action {\n\tposition: relative;\n\ttext-align: center;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero {\n\tfont-size: 1.3em;\n\tletter-spacing: 0.03rem;\n\ttext-transform: uppercase;\n\tmargin-bottom: 7px;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero + small {\n\tdisplay: block;\n\tmax-width: 100%;\n\ttext-align: center;\n\tcolor: #AFAFAF;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero + small .dashicons {\n\twidth: 12px;\n\theight: 12px;\n}\n\n.updraft_premium_cta__top {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: 18px 30px;\n}\n\n.updraft_premium_cta__bottom {\n\tbackground: #F9F9F9;\n\tpadding: 5px 30px;\n}\n\n.updraft_premium_cta__summary {\n\tmargin-right: 60px;\n}\n\n.updraft_premium_cta h2 {\n\tfont-size: 28px;\n\tfont-weight: 200;\n\tline-height: 1;\n\tmargin: 0;\n\tmargin-bottom: 5px;\n\tletter-spacing: 0.05rem;\n\tcolor: #DB6A03;\n}\n\n.updraft_premium_cta ul li::after {\n\tcolor: #CCC;\n}\n\n@media only screen and (max-width: 768px) {\n\n\t.updraft_premium_cta__top {\n\t\tflex-direction: column;\n\t\ttext-align: center;\n\t\talign-items: center;\n\t}\n\n\t.updraft_premium_cta__summary {\n\t\tmargin-right: 0;\n\t\tmargin-bottom: 30px;\n\t}\n\n}\n\n/*\n\tBox\n*/\n.udp-box {\n\tbackground: #FFF;\n\tpadding: 20px;\n\tbox-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n\ttext-align: center;\n}\n\n.udp-box h3 {\n\tmargin: 0;\n}\n\n.udp-box__heading {\n\talign-self: center;\n\tbackground: none;\n\tbox-shadow: none;\n}\n\n/*\n\tOther Plugins\n*/\n.updraft-more-plugins {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tjustify-content: space-between;\n\tflex-wrap: wrap;\n}\n\n.updraft-more-plugins img {\n\tmax-width: 80%;\n\tmax-height: 30%;\n\tdisplay: inline-block;\n}\n\n.updraft-more-plugins .udp-box {\n\tbox-sizing: border-box;\n\twidth: 24%;\n}\n\n.updraft-more-plugins .udp-box p:last-child {\n\tmargin-bottom: 0;\n\tpadding-bottom: 0;\n}\n\n/*\n\tlinks list\n*/\n.updraft_premium_description_list {\n\ttext-align: left;\n\tmargin: 0;\n\tfont-size: 12px;\n}\n\nul.updraft_premium_description_list, ul#updraft_restore_warnings {\n\tlist-style: disc inside;\n}\n\nul.updraft_premium_description_list li {\n\tdisplay: inline;\n}\n\nul.updraft_premium_description_list li::after {\n\tcontent: \" | \";\n}\n\nul.updraft_premium_description_list li:last-child::after {\n\tcontent: \"\";\n}\n\n.updraft_feature_cell {\n\tbackground-color: #F7D9C9 !important;\n\tpadding: 5px 10px;\n}\n\n.updraftplus_com_login_status, .updraftplus_com_key_status {\n\tdisplay: none;\n\tbackground: #FFF;\n\tborder-left: 4px solid #FFF;\n\tborder-left-color: #DC3232;\n\tbox-shadow: 0 1px 1px 0 rgba(0,0,0,.1);\n\tmargin: 5px 0 15px 0;\n\tpadding: 5px 12px;\n}\n\n.updraftplus_com_login_status.success {\n\tborder-left-color: green;\n}\n\n#updraft-wrap strong.success {\n\tcolor: green;\n}\n\n.updraft_feat_table {\n\tborder: none;\n\tborder-collapse: collapse;\n\tfont-size: 120%;\n\tbackground-color: white;\n\ttext-align: center;\n}\n\n.updraft_feat_th, .updraft_feat_table td {\n\tborder: 1px solid #F1F1F1;\n\tborder-collapse: collapse;\n\tfont-size: 120%;\n\tbackground-color: white;\n\ttext-align: center;\n\tpadding: 15px;\n}\n\n.updraft_feat_table td {\n\tborder-bottom-width: 4px;\n}\n\n.updraft_feat_table td:first-child {\n\tborder-left: none;\n}\n\n.updraft_feat_table td:last-child {\n\tborder-right: none;\n}\n\n.updraft_feat_table tr:last-child td {\n\tborder-bottom: none;\n}\n\n.updraft_feat_table td:nth-child(2),\n.updraft_feat_table td:nth-child(3) {\n\tbackground-color: rgba(241, 241, 241, 0.38);\n\twidth: 190px;\n}\n\n.updraft_feat_table__header td img {\n\tdisplay: block;\n\tmargin: 0 auto;\n}\n\n.updraft_feat_table__header td {\n\ttext-align: center;\n}\n\n.updraft_feat_table .installed {\n\tfont-size: 14px;\n}\n\n.updraft_feat_table p {\n\tpadding: 0px 10px;\n\tmargin: 5px 0px;\n\tfont-size: 13px;\n}\n\n.updraft_feat_table h4 {\n\tmargin: 5px 0px;\n}\n\n.updraft_feat_table .dashicons {\n\twidth: 25px;\n\theight: 25px;\n\tfont-size: 25px;\n\tline-height: 1;\n}\n\n.updraft_feat_table .dashicons-yes, .updraft_feat_table .updraft-yes {\n\tcolor: green;\n}\n\n.updraft_feat_table .dashicons-no-alt, .updraft_feat_table .updraft-no {\n\tcolor: red;\n}\n\n.updraft_tick_cell {\n\ttext-align: center;\n}\n\n.updraft_tick_cell img {\n\tmargin: 4px 0;\n\theight: 24px;\n}\n\n.ud_downloadstatus__close {\n\tborder: none;\n\tbackground: transparent;\n\twidth: auto;\n\tfont-size: 20px;\n\tpadding: 0;\n\tcursor: pointer;\n}\n\n#filelist .fileprogress, #filelist2 .fileprogress, .ud_downloadstatus .dlfileprogress, #ud_downloadstatus2 .dlfileprogress, #ud_downloadstatus3 .dlfileprogress {\n\twidth: 0%;\n\tbackground: #0572AA;\n\theight: 8px;\n\ttransition: width .3s;\n}\n\n.ud_downloadstatus .raw, #ud_downloadstatus2 .raw, #ud_downloadstatus3 .raw {\n\tmargin-top: 8px;\n\tclear: left;\n}\n\n.ud_downloadstatus .file, #ud_downloadstatus2 .file, #ud_downloadstatus3 .file {\n\tmargin-top: 8px;\n}\n\ndiv[class^=\"updraftplus_downloader_container_\"] {\n\tpadding: 10px;\n}\n\ntr.updraftplusmethod h3 {\n\tmargin: 0px;\n}\n\ntr.updraftplusmethod img {\n\tmax-width: 100%;\n}\n\n#updraft_retain_db_rules .updraft_retain_rules_delete, #updraft_retain_files_rules .updraft_retain_rules_delete {\n\tcursor: pointer;\n\tcolor: red;\n\tfont-size: 120%;\n\tfont-weight: bold;\n\tborder: 0px;\n\tborder-radius: 3px;\n\tpadding: 2px;\n\tmargin: 0 6px;\n\ttext-decoration: none;\n\tdisplay: inline-block;\n}\n\n#updraft_retain_db_rules .updraft_retain_rules_delete:hover, #updraft_retain_files_rules .updraft_retain_rules_delete:hover {\n\tcursor: pointer;\n\tcolor: white;\n\tbackground: red;\n}\n\n#updraft_backup_started {\n\tmax-width: 800px;\n\tfont-size: 140%;\n\tline-height: 140%;\n\tpadding: 14px;\n\tclear: left;\n}\n\n/* backup finished */\n.blockUI.blockOverlay.ui-widget-overlay {\n\tbackground: #000;\n}\n\n.updraft_success_popup {\n\ttext-align: center;\n\tpadding-bottom: 30px;\n}\n\n.updraft_success_popup > .dashicons {\n\tfont-size: 100px;\n\twidth: 100px;\n\theight: 100px;\n\tline-height: 100px;\n\tpadding: 0px;\n\tborder-radius: 50%;\n\tmargin-top: 30px;\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n\tbackground: #E2E6E5;\n}\n\n.updraft_success_popup > .dashicons.dashicons-yes {\n\ttext-indent: -5px;\n}\n\n.updraft_success_popup.success > .dashicons {\n\tcolor: green;\n}\n\n.updraft_success_popup.warning > .dashicons {\n\tcolor: #888;\n}\n\n.updraft_success_popup--message {\n\tpadding: 20px;\n}\n\n.button.updraft-close-overlay .dashicons {\n\ttext-decoration: none;\n\tfont-size: 20px;\n\tmargin-left: -5px;\n\tpadding: 0;\n\ttransform: translatey(3px);\n}\n\n.updraft_saving_popup img {\n\tanimation-name: udp_blink;\n\tanimation-duration: 610ms;\n\tanimation-iteration-count: infinite;\n\tanimation-direction: alternate;\n\tanimation-timing-function: ease-out;\n}\n\n.udp-premium-image {\n\tdisplay: none;\n}\n\n@media screen and (min-width: 720px) {\n\n\t.udp-premium-image {\n\t\tdisplay: block;\n\t\tfloat: left;\n\t\tpadding-right: 5px;\n\t}\n\n}\n\n/* End stuff already in admin.php */\n#plupload-upload-ui2 {\n\twidth: 80%;\n}\n\n.backup-restored {\n\tpadding: 8px;\n}\n\n.updated.backup-restored {\n\tpadding-top: 15px;\n\tpadding-bottom: 15px;\n}\n\n.backup-restored span {\n\tfont-size: 120%;\n}\n\n.memory-limit {\n\tpadding: 8px;\n}\n\n.updraft_list_errors {\n\tpadding: 8px;\n}\n\n.updraftplus-nav-tab.nav-tab-active,\n.updraftplus-nav-tab.nav-tab-active:hover,\n.updraftplus-nav-tab.nav-tab-active:focus,\n.updraftplus-nav-tab.nav-tab-active:focus:active {\n\tborder-bottom: 1px solid #F0F0F1;\n\tbackground: #F0F0F1!important;\n\tcolor: #000;\n}\n\n.updraftplus-nav-tab.nav-tab-active {\n\tmargin-bottom: -1px;\n\tcolor: #3C434A;\n}\n\n.updraftplus-nav-tab.nav-tab-active, .updraftplus-nav-tab:focus:active {\n\tbox-shadow: none;\n}\n\n.updraftplus-nav-tab {\n\tfloat: left;\n\tborder: 1px solid #C3C4C7;\n\tborder-bottom-color: rgb(195, 196, 199);\n\tborder-bottom-style: solid;\n\tborder-bottom-width: 1px;\n\tborder-bottom: none;\n\tmargin-left: 0.5em;\n\tpadding: 5px 10px;\n\tfont-size: 14px;\n\tline-height: 1.71428571;\n\tfont-weight: 600;\n\tbackground: #DCDCDE;\n\tcolor: #50575E;\n\ttext-decoration: none;\n\twhite-space: nowrap;\n}\n\n.nav-tab-wrapper {\n\tmargin: 14px 0px;\n}\n\n#updraft-poplog-content {\n\twhite-space: pre-wrap;\n}\n\n.next-backup {\n\tborder: 0px;\n\tpadding: 0px;\n\tmargin: 0 10px 0 0;\n}\n\n.not-scheduled {\n\tvertical-align: top !important;\n\tmargin: 0px !important;\n\tpadding: 0px !important;\n}\n\n.next-backup .updraft_scheduled {\n\t/* width: 124px;*/\n\tmargin: 0px;\n\tpadding: 2px 4px 2px 0px;\n}\n\n#next-backup-table-inner td {\n\tvertical-align: top;\n}\n\n.updraft_all-files {\n\tcolor: blue;\n}\n\n.multisite-advert-width {\n\twidth: 800px;\n}\n\n.updraft_settings_sectionheading {\n\tmargin-top: 6px;\n}\n\n.premium-upgrade-prompt {\n\t/* font-size: 115%; */\n}\n\nsection.premium-upgrade-purchase-success {\n\tpadding: 2em;\n\tbackground: #FAFAFA;\n\ttext-align: center;\n\tbox-shadow: 0px 14px 40px rgba(0, 0, 0, 0.1);\n}\n\nsection.premium-upgrade-purchase-success h3 {\n\tfont-size: 2em;\n\tcolor: green;\n}\n\nsection.premium-upgrade-purchase-success h3 .dashicons {\n\tdisplay: block;\n\tmargin: 0 auto;\n\tfont-size: 60px;\n\twidth: 60px;\n\theight: 60px;\n\tborder-radius: 50%;\n\tbackground: green;\n\tcolor: #FFF;\n\tmargin-bottom: 20px;\n}\n\nsection.premium-upgrade-purchase-success h3 .dashicons::before {\n\tdisplay: inline-block;\n\tmargin-left: -4px;\n\tmargin-top: 2px;\n}\n\nsection.premium-upgrade-purchase-success p {\n\tfont-size: 120%;\n}\n\n.show_admin_restore_in_progress_notice {\n\tpadding: 8px;\n}\n\n.show_admin_restore_in_progress_notice .unfinished-restoration {\n\tfont-size: 120%;\n}\n\n#backupnow_includefiles_moreoptions, #backupnow_database_moreoptions, #backupnow_includecloud_moreoptions {\n\tmargin: 4px 16px 6px 16px;\n\tborder: 1px dotted;\n\tpadding: 6px 10px;\n}\n\n#backupnow_database_moreoptions {\n\tmax-height: 250px;\n\toverflow: auto;\n}\n\n#backupnow_database_moreoptions div.backupnow-db-tables {\n\tmargin-bottom: 5px;\n}\n\n#backupnow_database_moreoptions div.backupnow-db-tables > a {\n\tcolor: #0073AA;\n}\n\n.form-table #updraft_activejobsrow .minimum-height {\n\tmin-height: 100px;\n}\n\n#updraft_activejobsrow th {\n\tmax-width: 112px;\n\tmargin: 0;\n\tpadding: 13px 0 0 0;\n}\n\n#updraft_lastlogmessagerow .last-message {\n\tpadding-top: 20px;\n\tdisplay: block;\n}\n\n.updraft_simplepie {\n\tvertical-align: top;\n}\n\n.download-backups {\n\tmargin-top: 8px;\n}\n\n.download-backups .updraft_download_button {\n\tmargin-right: 6px;\n}\n\n.download-backups .ud-whitespace-warning, .download-backups .ud-bom-warning {\n\tbackground-color: pink;\n\tpadding: 8px;\n\tmargin: 4px;\n\tborder: 1px dotted;\n}\n\n.download-backups .ul {\n\tlist-style: none inside;\n\tmax-width: 800px;\n\tmargin-top: 6px;\n\tmargin-bottom: 12px;\n}\n\n#updraft-plupload-modal {\n\tmargin: 16px 0;\n}\n\n.download-backups .upload {\n\tmax-width: 610px;\n}\n\n.download-backups #plupload-upload-ui {\n\twidth: 100%;\n}\n\n.ud_downloadstatus {\n\tpadding: 10px 0;\n}\n\n#ud_massactions, #updraft-delete-waitwarning {\n\tpadding: 14px;\n\tbackground: rgb(241, 241, 241);\n\tposition: absolute;\n\tleft: 0;\n\ttop: 100%;\n}\n\n#ud_massactions > *, #updraft-delete-waitwarning > * {\n\tvertical-align: middle;\n}\n\n#ud_massactions .updraftplus-remove {\n\tdisplay: inline-block;\n\tmargin-right: 0;\n}\n\n#ud_massactions .updraftplus-remove a {\n\ttext-decoration: none;\n}\n\n#ud_massactions .updraft-viewlogdiv a {\n\ttext-decoration: none;\n\tposition: relative;\n}\n\nsmall.ud_massactions-tip {\n\tdisplay: inline-block;\n\topacity: 0.5;\n\tfont-style: italic;\n\tmargin-left: 20px;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups {\n\tmargin-bottom: 35px;\n\tposition: relative;\n}\n\n#updraft-message-modal-innards {\n\tpadding: 4px;\n}\n\n#updraft-authenticate-modal {\n\ttext-align: center;\n\tfont-size: 16px !important;\n}\n\n#updraft-authenticate-modal p {\n\tfont-size: 16px;\n}\n\ndiv.ui-dialog.ui-widget.ui-widget-content {\n\tz-index: 99999 !important;\n}\n\n#updraft_delete_form p {\n\tmargin-top: 3px;\n\tpadding-top: 0;\n}\n\n#updraft_restore_form .cannot-restore {\n\tmargin: 8px 0;\n}\n\n.notice.updraft-restore-option {\n\tpadding: 12px;\n\tmargin: 8px 0 4px 0;\n\tborder-left-color: #CCC;\n}\n\n/* updraft_restore_crypteddb */\n#updraft_restorer_dboptions h4 {\n\tmargin: 0px 0px 6px 0px;\n\tpadding: 0px;\n}\n\n.updraftplus_restore_tables_options_container {\n\tmax-height: 250px;\n\toverflow: auto;\n}\n\n.updraft_debugrow th {\n\tvertical-align: top;\n\tpadding-top: 6px;\n\tmax-width: 140px;\n}\n\n.expertmode p {\n\tfont-size: 125%;\n}\n\n.expertmode .call-wp-action {\n\twidth: 300px;\n\theight: 22px;\n}\n\n.updraftplus-lock-advert {\n\tclear: left;\n\tmax-width: 600px;\n}\n\n.uncompressed-data {\n\tclear: left;\n\tmax-width: 600px;\n}\n\n.delete-old-directories {\n\tpadding: 8px;\n\tpadding-bottom: 12px;\n}\n\n.active-jobs {\n\twidth: 100%;\n\ttext-align: center;\n\tpadding: 33px;\n}\n\n.job-id {\n\tmargin-top: 0;\n\tmargin-bottom: 8px;\n}\n\n.next-resumption {\n\tfont-weight: bold;\n}\n\n.updraft_percentage {\n\tz-index: -1;\n\tposition: absolute;\n\tleft: 0px;\n\ttop: 0px;\n\ttext-align: center;\n\tbackground-color: #1D8EC2;\n\ttransition: width 0.3s;\n}\n\n.curstage {\n\tz-index: 1;\n\tborder-radius: 2px;\n\tmargin-top: 8px;\n\twidth: 100%;\n\theight: 26px;\n\tline-height: 26px;\n\tposition: relative;\n\ttext-align: center;\n\tfont-style: italic;\n\tcolor: #FFF;\n\tbackground-color: #B7B7B7;\n\ttext-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n}\n\n.curstage-info {\n\tdisplay: inline-block;\n\tz-index: 2;\n}\n\n.retain-files {\n\twidth: 48px;\n}\n\n.backup-interval-description tr td div {\n\tmax-width: 670px;\n}\n\n#updraft-manualdecrypt-modal {\n\twidth: 85%;\n\tmargin: 6px;\n\tmargin-left: 100px;\n}\n\n.directory-permissions {\n\tfont-size: 110%;\n\tfont-weight: bold;\n}\n\n.double-warning {\n\tborder: 1px solid;\n\tpadding: 6px;\n}\n\n.raw-backup-info {\n\tfont-style: italic;\n\tfont-weight: bold;\n\tfont-size: 120%;\n}\n\n.updraft_existingbackup_date {\n\twidth: 22%;\n\tmax-width: 140px;\n}\n\n.updraft_existing_backups_wrapper {\n\tmargin-top: 20px;\n\tborder-top: 1px solid #DDD;\n}\n\n.updraft-no-backups-msg {\n\tpadding: 10px 40px;\n\ttext-align: center;\n\tfont-style: italic;\n}\n\n.tr-bottom-4 {\n\tmargin-bottom: 4px;\n}\n\n.existing-backups-table th {\n\tpadding: 8px 10px;\n}\n\n.form-table .backup-date {\n\twidth: 172px;\n}\n\n.form-table .backup-data {\n\twidth: 426px;\n}\n\n.form-table .updraft_backup_actions {\n\twidth: 272px;\n}\n\n.existing-date {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tmax-width: 140px;\n\twidth: 25%;\n}\n\n.line-break-tr {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.line-break-td {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.td-line-color {\n\theight: 2px;\n\tbackground-color: #888;\n}\n\n.raw-backup {\n\tmax-width: 140px;\n}\n\n.existing-backups-actions {\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.existing-backups-border {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.existing-backups-border > td {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.existing-backups-border > div {\n\theight: 2px;\n\tbackground-color: #AAA;\n}\n\n.updraft_existing_backup_date {\n\tmax-width: 140px;\n}\n\n.updraftplus-upload {\n\tmargin-right: 6px;\n\tfloat: left;\n\tclear: none;\n}\n\n.before-restore-button {\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.before-restore-button div {\n\tfloat: none;\n\tdisplay: inline-block;\n}\n\n.table-separator-tr {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.table-separator-td {\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n.end-of-table-div {\n\theight: 2px;\n\tbackground-color: #AAA;\n}\n\n.last-backup-job {\n\tpadding-top: 3% !important;\n}\n\n.line-height-03 {\n\tline-height: 0.3 !important;\n}\n\n.line-height-13 {\n\tline-height: 1.3 !important;\n}\n\n.line-height-23 {\n\tline-height: 2.3 !important;\n}\n\n#updraft_diskspaceused {\n\tcolor: #DF6926;\n}\n\n#updraft_delete_old_dirs_pagediv {\n\tpadding-bottom: 10px;\n}\n\n/*#updraft_lastlogmessagerow > td, #updraft_last_backup > td {\n\tpadding: 0;\n}*/\n\n/* Time + scheduling add-on*/\n.fix-time {\n\twidth: 70px;\n}\n\n.retain-files {\n\twidth: 70px;\n}\n\n.number-input {\n\tmin-width: 50px;\n\tmax-width: 70px;\n}\n\n.additional-rule-width {\n\tmin-width: 60px;\n\tmax-width: 70px;\n}\n\n/* Add-ons */\n/* Want to fix the WordPress icons so that they fit inline with the text, and don't push everything out of place. */\n\n#updraft-wrap .dashicons.dashicons-adapt-size {\n\tline-height: inherit;\n\tfont-size: inherit;\n}\n\n#updraft-wrap .button span.dashicons:not(.dashicons-adapt-size) {\n\tvertical-align: middle;\n\tmargin-top: -3px;\n}\n\n.addon-logo-150 {\n\tmargin-left: 30px;\n\tmargin-top: 33px;\n\theight: 125px;\n\twidth: 150px;\n}\n\n.margin-bottom-50 {\n\tmargin-bottom: 50px;\n}\n\n.premium-container {\n\twidth: 80%;\n}\n\n/* Main Header */\n\n.main-header {\n\tbackground-color: #DF6926;\n\theight: 200px;\n\twidth: 100%;\n}\n\n.button-add-to-cart {\n\tcolor: white;\n\tborder-color: white;\n\tfloat: none;\n\tmargin-right: 17px;\n}\n\n.button-add-to-cart:hover, .button-add-to-cart:focus, .button-add-to-cart:active {\n\tborder-color: #A0A5AA;\n\tcolor: #A0A5AA;\n}\n\n.addon-title {\n\tmargin-top: 25px;\n}\n\n.addon-text {\n\tmargin-top: 75px;\n}\n\n.image-main-div {\n\twidth: 25%;\n\tfloat: left;\n}\n\n.text-main-div {\n\twidth: 60%;\n\tfloat: left;\n\ttext-align: center;\n\tcolor: white;\n\tmargin-top: 16px;\n}\n\n.text-main-div-title {\n\tfont-weight: bold !important;\n\tcolor: white;\n\ttext-align: center;\n}\n\n.text-main-div-paragraph {\n\tcolor: white;\n}\n\n/* End main header */\n\n/* Vault icons */\n\n.updraftplus-vault-cta {\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 50px;\n}\n\n.updraftplus-vault-cta h1 {\n\tfont-weight: bold;\n}\n\n.updraftvault-buy {\n\twidth: 225px;\n\theight: 225px;\n\tborder: 2px solid #777;\n\tdisplay: inline-table;\n\tmargin: 0 auto;\n\tmargin-right: 50px;\n\tposition: relative;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault {\n\twidth: 275px;\n\theight: 275px;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault > a {\n\tright: 21%;\n\tfont-size: 16px;\n\tborder-width: 4px !important;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault > p {\n\tfont-size: 16px;\n}\n\n.updraftvault-buy .button-purchase {\n\tright: 24%;\n\tmargin-left: 0;\n\tline-height: 1.7em;\n}\n\n.updraftvault-buy hr {\n\theight: 2px;\n\tbackground-color: #777;\n\tmargin-top: 18px;\n}\n\n.right {\n\tmargin-right: 0px;\n}\n\n.updraftvault-buy .addon-logo-100 {\n\theight: 100px;\n\twidth: 125px;\n\tmargin-top: 7px;\n}\n\n.updraftvault-buy .addon-logo-large {\n\tmargin-top: 7px;\n}\n\n.updraftvault-buy .button-buy-vault {\n\tfont-size: 12px;\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tborder-width: 2px !important;\n\tposition: absolute;\n\tright: 29%;\n\tbottom: 2%;\n}\n\n.premium-addon-div .button-purchase {\n\tline-height: 1.7em;\n}\n\n.updraftvault-buy .button-buy-vault:hover {\n\tborder-color: darkgrey;\n\tcolor: darkgrey;\n}\n\n/* End Vault icons */\n\n/* Premium addons */\n\n.premium-addons {\n\tmargin-top: 80px;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tdisplay: table;\n}\n\n.addon-list {\n\t/* margin-left: 32px; */\n\tdisplay: table;\n\ttext-align: center;\n}\n\n.premium-addons h1 {\n\ttext-align: center;\n\tfont-weight: bold;\n}\n\n.premium-addons p {\n\ttext-align: center;\n}\n\n.premium-addons .premium-addon-div {\n\twidth: 200px;\n\theight: 250px;\n\tborder: 2px solid #777;\n\tdisplay: inline-table;\n\tmargin: 0 auto;\n\tmargin-right: 25px;\n\tmargin-top: 25px;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.premium-addons .premium-addon-div p {\n\tmargin-left: 2px;\n\tmargin-right: 2px;\n}\n\n.premium-addons .premium-addon-div img {\n\twidth: auto;\n\theight: 50px;\n\tmargin-top: 7px;\n}\n\n.premium-addons .premium-addon-div .hr-alignment {\n\tmargin-top: 44px;\n}\n\n.premium-addons .premium-addon-div .dropbox-logo {\n\theight: 39px;\n\twidth: 150px;\n}\n\n.premium-addons .premium-addon-div .azure-logo, .premium-addons .premium-addon-div .onedrive-logo {\n\twidth: 75%;\n\theight: 24px;\n}\n\n.button-purchase {\n\tfont-size: 12px;\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tborder-width: 2px !important;\n\tposition: absolute;\n\tright: 25%;\n\tbottom: 2%;\n}\n\n.button-purchase:hover {\n\tcolor: darkgrey;\n\tborder-color: darkgrey;\n}\n\n.premium-addons .premium-addon-div hr {\n\theight: 2px;\n\tbackground-color: #777;\n\tmargin-top: 18px;\n}\n\n.premium-addon-div p {\n\tfont-style: italic;\n}\n\n.addon-list > .premium-addon-div > .onedrive-fix,\n.addon-list > .premium-addon-div > .azure-logo {\n\tmargin-top: 33px;\n}\n\n.addon-list > .premium-addon-div > .dropbox-fix {\n\tmargin-top: 18px;\n}\n\n/* End premium addons */\n\n\n/* Forgotton something (that is the name of the div rather than a mental note!) */\n\n.premium-forgotton-something {\n\tmargin-top: 5%;\n}\n\n.premium-forgotton-something h1 {\n\ttext-align: center;\n\tfont-weight: bold;\n}\n\n.premium-forgotton-something p {\n\ttext-align: center;\n\tfont-weight: normal;\n}\n\n.premium-forgotton-something .button-faq {\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tmargin: 0 auto;\n\tdisplay: table;\n}\n\n.premium-forgotton-something .button-faq:hover {\n\tcolor: #777;\n\tborder-color: #777;\n}\n\n/* End of forgotton something */\n\n.updraftplusmethod.updraftvault #vaultlogo {\n\tpadding-left: 40px;\n}\n\n.updraftplusmethod.updraftvault .vault_primary_option {\n\tfloat: left;\n\twidth: 50%;\n\ttext-align: center;\n\tpadding-bottom: 20px;\n}\n\n.updraftplusmethod.updraftvault .vault_primary_option div {\n\tclear: right;\n\tpadding-top: 20px;\n}\n\n.updraftplusmethod.updraftvault .clear-left {\n\tclear: left;\n}\n\n.updraftplusmethod.updraftvault .padding-top-20px {\n\tpadding-top: 20px;\n}\n\n.updraftplusmethod.updraftvault .padding-top-14px {\n\tpadding-top: 14px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary, .updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary {\n\tfont-size: 18px !important;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_showoptions, .updraftplusmethod.updraftvault #updraftvault_connect {\n\tmargin-top: 8px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_connect input {\n\tmargin-right: 10px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_email {\n\twidth: 280px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_pass {\n\twidth: 200px;\n}\n\n.updraftplusmethod.updraftvault #vault-is-connected {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_default p {\n\tclear: left;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-container {\n\ttext-align: center;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option {\n\twidth: 40%;\n\ttext-align: center;\n\tpadding-top: 20px;\n\tdisplay: inline-block;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-size {\n\tfont-size: 200%;\n\tfont-weight: bold;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-link {\n\tclear: both;\n\tfont-size: 150%;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-or {\n\tclear: both;\n\tfont-size: 115%;\n\tfont-style: italic;\n}\n\n/* Automation Backup Advert by B */\n.autobackup-image {\n/* \tdisplay: inline-block; */\n/*\tmin-width: 10%;\n\tmax-width:25%;*/\n/*\tfloat: left;*/\n\tclear: left;\n\tfloat: left;\n\twidth: 110px;\n\theight: 110px;\n}\n\n.autobackup-description {\n\twidth: 100%;\n}\n\n.advert-description {\n\tfloat: left;\n\tclear: right;\n\tpadding: 4px 10px 8px 10px;\n\twidth: 70%;\n\tclear: right;\n\tvertical-align: top;\n}\n\n.advert-btn {\n\tdisplay: inline-block;\n\tmin-width: 10%;\n\tvertical-align: top;\n\tmargin-bottom: 8px;\n}\n\n.advert-btn:first-of-type {\n\tmargin-top: 25px;\n}\n\n.advert-btn a {\n\tdisplay: block;\n\tcursor: pointer;\n}\n\na.btn-get-started {\n\tbackground: #FFF;\n\tborder: 2px solid #DF6926;\n\tborder-radius: 4px;\n\tcolor: #DF6926;\n\tdisplay: inline-block;\n\tmargin-left: 10px !important;\n\tmargin-bottom: 7px !important;\n\tfont-size: 18px !important;\n\tline-height: 20px;\n\tmin-height: 28px;\n\tpadding: 11px 10px 5px 10px;\n\ttext-transform: uppercase;\n\ttext-decoration: none;\n}\n\n.circle-dblarrow {\n\tborder: 1px solid #DF6926;\n\tborder-radius: 100%;\n\tdisplay: inline-block;\n\tfont-size: 17px;\n\tline-height: 17px;\n\tmargin-left: 5px;\n\twidth: 20px;\n\theight: 20px;\n\ttext-align: center;\n}\n\n/* End Automation Backup Advert by B */\n/* New Responsive Pretty Advanced Settings */\n.expertmode .advanced_settings_container {\n\theight: auto;\n\toverflow: hidden;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu {\n\tfloat: none;\n\tborder-bottom: 1px solid rgb(204, 204, 204);\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content {\n\tpadding-top: 5px;\n\tfloat: none;\n\twidth: auto;\n\toverflow: auto;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content h3:first-child {\n\tmargin-top: 5px !important;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools {\n\tdisplay: none;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content .site_info {\n\tdisplay: block;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\tpadding: 5px;\n\tcolor: #000;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text {\n\tfont-size: 16px;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover {\n\tbackground-color: #EAEAEA;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .active {\n\tbackground-color: #3498DB;\n\tcolor: #FFF;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .active:hover {\n\tbackground-color: #72C5FD;\n\tcolor: #FFF;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content input#import_settings {\n\theight: auto !important;\n}\n\ndiv#updraft-wrap a {\n\tcursor: pointer !important;\n}\n\n.updraftcentral_wizard_option {\n\twidth: 45%;\n\tfloat: left;\n\ttext-align: center;\n}\n\n.updraftcentral_wizard_option label {\n\tmargin-bottom: 8px;\n}\n\n#updraftcentral_keys_table {\n\tdisplay: none;\n}\n\n.create_key_container {\n\tborder: 1px solid;\n\tborder-radius: 4px;\n\tpadding: 0 0 6px 6px;\n\tmargin-bottom: 8px;\n}\n\n.updraftcentral_cloud_connect {\n\tborder-radius: 4px;\n\tborder: 1px solid #000;\n\tpadding: 0 20px;\n\tmargin-top: 30px;\n\tbackground-color: #FFF;\n}\n\n.updraftcentral_cloud_error {\n\tborder: 1px solid #000;\n\tpadding: 3px 10px;\n\tborder-left: 3px solid #F00;\n\tbackground-color: #FFF;\n\tmargin-bottom: 10px;\n}\n\n.updraftcentral_cloud_info {\n\tborder: 1px solid #000;\n\tpadding: 3px 10px;\n\tborder-left: 3px solid #EF8F31;\n\tbackground-color: #FFF;\n\tmargin-bottom: 10px;\n}\n\n.updraftplus_spinner.spinner {\n\tpadding-left: 25px;\n\tfloat: none;\n}\n\n.updraftplus_spinner.spinner.visible {\n\tvisibility: visible;\n\twidth: auto;\n}\n\n.updraftcentral_cloud_notices .updraftplus_spinner {\n\tmargin-top: -5px;\n}\n\n.updraftcentral-subheading {\n\tfont-size: 14px;\n\tmargin-top: -10px;\n\tmargin-bottom: 20px;\n}\n\n#updraftcentral_cloud_form input#email,\n#updraftcentral_cloud_form input#password {\n\tmin-width: 250px;\n}\n\n.updraftcentral-data-consent {\n\tfont-size: 13px;\n\tmargin-bottom: 10px;\n}\n\n.updraftcentral_cloud_wizard_image {\n\tfloat: left;\n\tmin-width: 100px;\n\tmargin-right: 25px;\n}\n\n.updraftcentral_cloud_wizard {\n\tfloat: left;\n}\n\n.updraftcentral_cloud_clear {\n\tclear: both;\n}\n\n.updraftplus-settings-footer {\n\tmargin-top: 30px;\n}\n\n.updraftplus-top-menu {\n\tpadding: 0.5em;\n}\n\n#updraft_inpage_backup #updraft_activejobs_table {\n\tbackground: transparent;\n}\n\n#updraft_inpage_backup #updraft_lastlogmessagerow .updraft-log-link {\n\tfloat: none;\n}\n\n#updraft_inpage_backup #updraft_activejobsrow .updraft_row {\n\tflex-direction: column;\n\tpadding-left: 20px;\n\tpadding-right: 20px;\n}\n\n#updraft_inpage_backup #updraft_activejobsrow .updraft_progress_container {\n\twidth: 100%;\n}\n\n#updraft_inpage_backup #updraft_activejobs_table {\n\toverflow: inherit;\n}\n\n#updraft_inpage_backup span#updraft_lastlogcontainer {\n\tpadding: 18px;\n\tbackground: #FAFAFA;\n\tdisplay: block;\n\tfont-size: 90%;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n#updraft_inpage_backup div#updraft_activejobsrow {\n\tbackground: #FAFAFA;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n#updraft_inpage_backup #updraft_lastlogmessagerow > div {\n\tbackground: transparent;\n\tpadding: 0;\n}\n\n#updraft_inpage_backup .last-message > strong {\n\tdisplay: block;\n\tmargin-top: 13px;\n}\n\nbody.update-core-php #updraft_inpage_backup h2:nth-child(1) {\n\tmargin-top: 1em !important;\n}\n\n/* Restoration page */\n\n.updraft_restore_container {\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tz-index: 99999;\n\tpadding-top: 30px;\n\tbackground: #F1F1F1;\n\toverflow: auto;\n}\n\n.updraft-modal-is-opened .select2-container {\n\tz-index: 99999;\n}\n\nbody.updraft-modal-is-opened {\n\toverflow: hidden;\n}\n\n.updraft_restore_container h2 {\n\tmargin: 0;\n}\n\n.updraft_restore_container .updraftmessage {\n\tbox-sizing: border-box;\n\tmax-width: 860px;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.updraft_restore_main {\n\tmax-width: 860px;\n\tmargin: 0 auto;\n\tmargin-top: 20px;\n\tbackground: #FFF;\n\tbox-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);\n\tposition: relative;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--header {\n\tfont-size: 20px;\n\tfont-weight: bold;\n\ttext-align: center;\n\tpadding-top: 16px;\n\tline-height: 20px;\n\twidth: 100%;\n\tmax-width: 100%;\n\tpadding-right: 30px;\n\tpadding-left: 30px;\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--activity {\n\tposition: relative;\n\twidth: calc(100% - 350px);\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--activity-title {\n\tpadding: 20px;\n\tmargin: 0;\n}\n\n.show-credentials-form.updraft_restore_main .updraft_restore_main--activity-title {\n\tdisplay: none;\n}\n\n.updraft_restore_main--components {\n\twidth: 350px;\n\tpadding: 20px;\n\tbox-sizing: border-box;\n\tbackground: #F8F8F8;\n\tmin-height: 350px;\n}\n\n.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output {\n\tbackground: #23282D;\n\tcolor: #E3E3E3;\n\tfont-family: monospace;\n\tpadding: 19px;\n\toverflow: auto;\n\tposition: absolute;\n\ttop: 60px;\n\tbottom: 0;\n\tright: 0;\n\tleft: 0;\n}\n\n#updraftplus_ajax_restore_output form {\n\twhite-space: normal;\n\tfont-family: -apple-system, blinkmacsystemfont, \"Segoe UI\", roboto, oxygen-sans, ubuntu, cantarell, \"Helvetica Neue\", sans-serif;\n}\n\n#updraftplus_ajax_restore_output .updraft_restore_errors {\n\tborder: 1px solid #DC3232;\n\tpadding: 10px 20px;\n\twhite-space: normal;\n}\n\n.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output h2 {\n\tcolor: #00A0D2;\n\tpadding-top: 10px;\n\tpadding-bottom: 5px;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output {\n\tpadding: 20px;\n\tborder-left: 1px solid #EEE;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output #message {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table td,\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table th {\n\tpadding-bottom: 0;\n}\n\n.updraft_restore_main.show-credentials-form .updraft_restore_main--components {\n\topacity: 0.2;\n}\n\n.updraft_restore_main.show-credentials-form div.error .restore-credential-errors--list p {\n\tmargin: 0;\n\tlist-style-type: disc;\n\tdisplay: list-item;\n\tlist-style-position: inside;\n}\n\n.restore-credential-errors > :first-child {\n\tmargin-top: 0;\n}\n\n.restore-credential-errors > :last-child {\n\tmargin-bottom: 0;\n}\n\nul.updraft_restore_components_list li {\n\tcolor: #BABABA;\n\tfont-size: 1.2em;\n\tmargin-bottom: 1em;\n}\n\nul.updraft_restore_components_list li::before {\n\tcontent: '\\f469';\n\tfont-family: dashicons;\n\tfont-size: 20px;\n\tvertical-align: middle;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\nul.updraft_restore_components_list li span {\n\tvertical-align: middle;\n}\n\nul.updraft_restore_components_list li.done {\n\tcolor: green;\n}\n\nul.updraft_restore_components_list li.done::before {\n\tcontent: \"\\f147\";\n}\n\nul.updraft_restore_components_list li.active {\n\tcolor: inherit;\n}\n\nul.updraft_restore_components_list li.active::before {\n\tcontent: \"\\f463\";\n\tanimation: udp_rotate 1s linear infinite;\n}\n\nul.updraft_restore_components_list li.error {\n\tcolor: #DC3232;\n}\n\nul.updraft_restore_components_list li.error::before {\n\tcontent: \"\\f335\";\n}\n\n.updraft_restore_result {\n\tpadding: 10px 0;\n\tfont-size: 1.3em;\n\tmargin-bottom: 1em;\n\tvertical-align: middle;\n\tdisplay: none;\n}\n\n.updraft_restore_result.restore-error {\n\tcolor: #DC3232;\n}\n\n.updraft_restore_result.restore-success {\n\tcolor: green;\n}\n\n.updraft_restore_result .dashicons {\n\tfont-size: 35px;\n\theight: 35px;\n\tline-height: 33px;\n\twidth: 35px;\n}\n\n.updraft_restore_result span {\n\tvertical-align: middle;\n}\n\n/* Restore modal */\n\n#updraft-restore-modal {\n\twidth: 100%;\n}\n\ndiv#updraft-restore-modal .notice {\n\tbackground: #F8F8F8;\n}\n\n.updraft-restore-modal--stage .updraft--two-halves,\n.updraft-restore-modal--stage .updraft--one-half {\n\tpadding: 20px 30px;\n}\n\n.updraft-restore-modal--header {\n\tpadding: 20px;\n\tpadding-bottom: 0px;\n\ttext-align: center;\n\tborder-bottom: 1px solid #EEE;\n}\n\n.updraft-restore-modal--header h3 {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraft-restore-item {\n\tpadding-bottom: 4px;\n}\n\n.updraft-restore-buttons {\n\tpadding-top: 10px;\n}\n\nul.updraft-restore--stages {\n\tdisplay: inline-block;\n\tmargin: 0;\n\theight: 28px;\n}\n\nul.updraft-restore--stages li {\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: 12px;\n\theight: 12px;\n\tbackground: #D2D2D2;\n\tborder-radius: 20px;\n\tline-height: 1;\n\tmargin: 0 4px;\n\tvertical-align: middle;\n}\n\nul.updraft-restore--stages li.active {\n\tbackground: #444;\n}\n\n.updraft-restore--footer {\n\tborder-top: 1px solid #EEE;\n\tpadding: 20px;\n\ttext-align: center;\n\tposition: sticky;\n\tbottom: 0;\n\tbackground: #FFF;\n\twidth: 100%;\n\tbox-sizing: border-box;\n}\n\n.updraft-restore--footer .updraft-restore--cancel {\n\tposition: absolute;\n\tleft: 20px;\n\ttop: auto;\n}\n\n.updraft-restore--footer .updraft-restore--next-step {\n\tposition: absolute;\n\tright: 20px;\n\ttop: auto;\n}\n\nul.updraft-restore--stages li span {\n\tposition: absolute;\n\twidth: 120px;\n\tbottom: calc(100% + 14px);\n\tleft: -55px;\n\tbackground: #000000DB;\n\tpadding: 5px;\n\tbox-sizing: border-box;\n\tborder-radius: 4px;\n\tcolor: #FFF;\n\ttext-align: center;\n\tdisplay: none;\n}\n\nul.updraft-restore--stages li:hover span {\n\tdisplay: inline-block;\n}\n\n.updraft-restore-item input[type=checkbox] {\n\tmargin-bottom: -5px;\n}\n\n.updraft-restore-item input[type=checkbox]:checked + label {\n\tfont-weight: bold;\n}\n\n/* Hide close button on download window */\ndiv#updraft-restore-modal .ud_downloadstatus__close {\n\tdisplay: none;\n}\n\n#ud_downloadstatus2:not(:empty) {\n\tmargin-top: 15px;\n}\n\n.dashicons.rotate {\n\tanimation: udp_rotate 1s linear infinite;\n}\n\n/* Activity stalled */\n\nspan#updraftplus_ajax_restore_last_activity {\n\tfont-size: .8rem;\n\tfont-weight: normal;\n\tfloat: right;\n}\n\n.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice {\n\tmargin: -20px -20px 20px;\n\tpadding: 19px;\n}\n\n.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice button {\n\tmargin-right: 5px;\n}\n\n#updraft_migrate_receivingsites .updraftplus-remote-sites-selector .button-primary, .updraft_migrate_add_site .input-field input, .updraft_migrate_add_site button {\n\tvertical-align: middle;\n}\n\n#updraft_migrate_receivingsites .text-link-menu a:not(:last-child) {\n\tpadding-right: 10px;\n}\n\n#updraft_migrate_receivingsites a.updraft_migrate_clear_sites span.dashicons-trash:before {\n\tfont-size: 17px;\n}\n\n#updraft_migrate_receivingsites .updraft_migrate_add_site {\n\tclear: both;\n}\n\n/* RTL Support */\n\n.rtl .advanced_tools.total_size table td {\n\tdirection: ltr;\n\ttext-align: right;\n}\n\n.rtl #plupload-upload-ui2.drag-drop #drag-drop-area2 {\n\tmargin-bottom: 20px;\n}\n\n.rtl #updraft_lastlogmessagerow .updraft-log-link {\n\tfloat: left;\n}\n\n.rtl label.updraft_checkbox > input[type=checkbox] {\n\tmargin-right: -25px;\n\tmargin-left: inherit;\n}\n\n.rtl .ud_downloadstatus__close {\n\tfloat: left !important;\n}\n\n.rtl #updraft_backupextradbs_another_container {\n\tfloat: right;\n}\n\n.rtl input.labelauty + label {\n\tdirection: ltr;\n\tposition: relative;\n\tmin-height: 29px;\n}\n\n.rtl input.labelauty + label > span.labelauty-checked-image, .rtl input.labelauty + label > span.labelauty-unchecked-image {\n\tright: 8px;\n\ttop: 11px;\n\tposition: absolute;\n}\n\n.rtl .button.updraft-close-overlay .dashicons {\n\tmargin-right: -5px;\n\tmargin-left: inherit;\n}\n\n.rtl label.updraft_checkbox {\n\tmargin-right: 26px;\n\tmargin-left: inherit;\n}\n\n.rtl #updraft-wrap .udp-info {\n\tleft: 10px;\n\tright: inherit;\n}\n\n.rtl input.labelauty + label > span.labelauty-unchecked-image + span.labelauty-unchecked,\n.rtl input.labelauty + label > span.labelauty-checked-image + span.labelauty-checked {\n\tmargin-right: 7px;\n\tmargin-left: inherit;\n\tpadding: 7px 7px 7px 26px;\n\twidth: 141px;\n\ttext-align: right;\n}\n\n.rtl #updraft_report_cell button.updraft_reportbox_delete,\n.rtl .updraft_box_delete_button,\n.rtl .updraft_small_box .updraft_box_delete_button {\n\tleft: 4px;\n\tright: inherit;\n}\n\n#updraft_exclude_modal .clause-input-container {\n\toverflow: auto;\n}\n\n#updraft_exclude_modal .clause-input-container select, #updraft_exclude_modal .clause-input-container input {\n\tfloat: left;\n}\n\n#updraft_exclude_modal .clause-input-container .wildcards-input {\n\tmargin: 7px 7px 0 0;\n}\n\n#updraft_exclude_modal .updraft-exclude-panel .contain-clause-sub-label {\n\tmargin-top: 10px;\n\tdisplay: block;\n}\n\n@media only screen and (min-width: 1024px) {\n\n\t#updraft_activejobsrow .updraft_row {\n\t\tdisplay: flex;\n\t\talign-items: baseline;\n\t}\n\n\t#updraft_activejobsrow .updraft_row .updraft_col {\n\t\tflex: auto;\n\t}\n\n\t#updraft_activejobsrow .updraft_progress_container {\n\t\twidth: calc(100% - 230px);\n\t}\n\n}\n\n@media only screen and (min-width: 782px) {\n\n\t.settings_page_updraftplus input[type=text],\n\t.settings_page_updraftplus input[type=password],\n\t.settings_page_updraftplus input[type=number] {\n\t\t/* border-radius: 4px; */\n\t\tline-height: 1.42;\n\t\t/* border: 1px solid #CCC; */\n\t\theight: 27px;\n\t\tpadding: 2px 6px;\n\t\tcolor: #555;\n\t}\n\n\t.settings_page_updraftplus input[type=\"number\"] {\n\t\theight: 31px;\n\t}\n\n\t#ud_massactions.active, #updraft-delete-waitwarning.active {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tleft: 160px;\n\t\tright: 0;\n\t\ttop: auto;\n\t\tbackground: #FFF;\n\t\tz-index: 3;\n\t\tbox-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n\t}\n\t\n\t.rtl #ud_massactions.active, .rtl #updraft-delete-waitwarning.active {\n\t\tleft: 0px;\n\t\tright: 160px;\n\t}\n\n\tbody.folded #ud_massactions.active, body.folded #updraft-delete-waitwarning.active {\n\t\tleft: 36px;\n\t}\n\n\t.updraft-after-form-table {\n\t\tmargin-left: 250px;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.range-selection:not(.backuprowselected) .updraft_existingbackup_date .backup_date_label {\n\t\tcolor: #FFF;\n\t}\n\n}\n\n@media only screen and (min-width: 782px) and (max-width: 960px) {\n\n\tbody.auto-fold #ud_massactions.active, body.auto-fold #updraft-delete-waitwarning.active {\n\t\tleft: 36px;\n\t}\n\n}\n\n@media only screen and (max-width: 782px) {\n\n\t#updraft-wrap {\n\t\tmargin-right: 0;\n\t}\n\n\t#updraft-wrap .form-table td {\n\t\tpadding-right: 0;\n\t}\n\n\tlabel.updraft_checkbox {\n\t\tmargin-bottom: 8px;\n\t\tmargin-top: 8px;\n\t\tmargin-left: 36px;\n\t}\n\n\t.updraft_retain_rules {\n\t\tposition: relative;\n\t\tmargin-right: 0;\n\t\tborder: 1px solid #CCC;\n\t\tpadding: 5px;\n\t\tmargin-bottom: -1px;\n\t}\n\n\t.updraft_retain_rules_delete {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 5px;\n\t}\n\n\ta[id*=updraft_retain_] {\n\t\tdisplay: block;\n\t\tpadding: 15px 15px 15px 0;\n\t}\n\n\tlabel.updraft_checkbox > input[type=checkbox] {\n\t\tmargin-left: -33px;\n\t}\n\n\t#updraft-backupnow-button {\n\t\tmargin: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper > .updraft_backup_btn_wrapper {\n\t\tpadding-top: 0;\n\t}\n\n\t#ud_massactions, #updraft-delete-waitwarning {\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\ttext-align: center;\n\t}\n\n\t#ud_massactions.active {\n\t\tposition: fixed;\n\t\ttop: auto;\n\t\tbottom: 0;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\ttext-align: center;\n\t\tbox-shadow: 0 -3px 15px rgba(0, 0, 0, 0.08);\n\t\tbackground: #FFF;\n\t\tz-index: 3;\n\t}\n\n\t#ud_massactions strong {\n\t\tdisplay: block;\n\t\tmargin-bottom: 5px;\n\t}\n\n\tsmall.ud_massactions-tip {\n\t\tdisplay: block;\n\t}\n\n/*\t.advert-description {\n\t\tmin-width: 75%;\n\t\tmargin-bottom: 5px;\n\t}\n\n\t.advert-btn {\n\t\tmargin-top: 15px;\n\t\tmargin-left:86px;\n\t\tmin-width: 100%;\n\t}*/\n\n\t.existing-backups-table .backup_date_label > div, .existing-backups-table .backup_date_label span > div {\n\t\tfont-weight: normal;\n\t}\n\n\t.existing-backups-table .backup_date_label .clear-right {\n\t\tdisplay: inline-block;\n\t}\n\n\ttable.widefat.existing-backups-table {\n\t\tborder: 0;\n\t\tbox-shadow: none;\n\t\tbackground: transparent;\n\t}\n\n\t.existing-backups-table thead {\n\t\tborder: none;\n\t\tclip: rect(0 0 0 0);\n\t\theight: 1px;\n\t\tmargin: -1px;\n\t\toverflow: hidden;\n\t\tpadding: 0;\n\t\tposition: absolute;\n\t\twidth: 1px;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t}\n\n\t.existing-backups-table tr {\n\t\tdisplay: block;\n\t\tmargin-bottom: .625em;\n\t\tpadding-bottom: 16.625px;\n\t\twidth: 100%;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tmargin-bottom: 10px;\n\t\tbackground: #FFF;\n\t\tbox-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);\n\t}\n\n\t.existing-backups-table td {\n\t\tborder-bottom: 1px solid #DDD;\n\t\tdisplay: block;\n\t\tfont-size: .9em;\n\t\ttext-align: left;\n\t\twidth: 100%;\n\t\tpadding: 10px;\n\t\tmargin: 0;\n\t}\n\n\t.wp-list-table.existing-backups-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before {\n\t\t/*\n\t\t* aria-label has no advantage, it won't be read inside a table\n\t\tcontent: attr(aria-label);\n\t\t*/\n\t\tcontent: attr(data-label);\n\t\tfont-weight: bold;\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tleft: auto;\n\t\tpadding-bottom: 10px;\n\t\twidth: auto;\n\t\ttext-align: left;\n\t}\n\n\t.existing-backups-table td:last-child {\n\t\tborder-bottom: 0;\n\t}\n\n\t.form-table td.updraft_existingbackup_date {\n\t\twidth: inherit;\n\t\tmax-width: 100%;\n\t}\n\n\t.existing-backups-table td.before-restore-button {\n\t\tmin-height: 36px;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper {\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper > div {\n\t\twidth: 100%;\n\t}\n\n\t.updraft_progress_container {\n\t\t/* width: 77%; */\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row {\n\t\tposition: relative;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected {\n\t\tbackground-color: #FFF;\n\t\tborder-left: 4px solid #0572AA;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td:not(.backup-select) {\n\t\tmargin-left: 50px;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td.backup-select {\n\t\twidth: 50px !important;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 0;\n\t\tbox-sizing: border-box;\n\t\theight: 100%;\n\t\tz-index: 1;\n\t\tborder: none;\n\t\tborder-right: 1px solid rgba(0, 0, 0, 0.05);\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups input[type=\"checkbox\"] {\n\t\theight: 25px;\n\t}\n\n\t.updraft_migrate_intro button.button.button-primary.button-hero {\n\t\tdisplay: block;\n\t\tmargin-right: 0;\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t}\n\n\t.updraftclone-main-row {\n\t\tflex-direction: column;\n\t}\n\n\t.updraftclone-main-row > div {\n\t\twidth: auto;\n\t\tmax-width: none;\n\t\tmargin-right: 0;\n\t\tmargin-bottom: 10px;\n\t}\n\n\t.form-table th {\n\t\tpadding-bottom: 10px;\n\t}\n\n\t.updraft--flex {\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_restore_main {\n\t\tflex-wrap: wrap;\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_restore_main--components {\n\t\twidth: 100%;\n\t\tmin-height: 0;\n\t}\n\n\t.updraft_restore_main--activity {\n\t\twidth: 100%;\n\t}\n\n\tdiv#updraftplus_ajax_restore_output,\n\t.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output {\n\t\tposition: relative;\n\t\ttop: 0;\n\t\tbottom: auto;\n\t}\n\n\t.updraft--flex > .updraft--two-halves,\n\t.updraft--flex > .updraft--one-half {\n\t\twidth: 100%;\n\t}\n\n\t.updraft-restore-item {\n\t\tpadding-bottom: 10px;\n\t\tpadding-top: 10px;\n\t}\n\n}\n\n@media screen and (max-width: 600px) {\n\t\n\t.updraft_next_scheduled_backups_wrapper > div {\n\t}\n\n\t.updraft_next_scheduled_entity {\n\t\tfloat: none;\n\t\twidth: 100%;\n\t\tmargin-bottom: 2em;\n\t}\n\n\t.updraft_time_now_wrapper {\n\t\tmargin-top: 0;\n\t}\n\n\t#updraft_lastlogmessagerow h3 {\n\t\tmargin-bottom: 5px;\n\t}\n\n\t#updraft_lastlogmessagerow .updraft-log-link {\n\t\tdisplay: block;\n\t\tfloat: none;\n\t\tmargin: 0;\n\t\tmargin-bottom: 10px;\n\t}\n\n}\n\n@media screen and (max-width: 520px) {\n}\n\n@media only screen and (min-width: 768px) {\n\n\t.addon-activation-notice {\n\t\tleft: 20em;\n\t}\n\n\t.existing-backups-table tbody tr.range-selection:hover, .existing-backups-table tbody tr.range-selection {\n\t\tbackground: #0572AA; /* #2b7fd9 */\n\t}\n\n\t.existing-backups-table tbody tr:hover {\n\t\tbackground: #F1F1F1;\n\t}\n\n\t.existing-backups-table tbody tr td.before-restore-button {\n\t\tposition: relative;\n\t}\n\n\t.form-table .existing-backups-table thead th.check-column {\n\t\tpadding-left: 6px;\n\t}\n\n\t.existing-backups-table tr td:first-child {\n\t\tborder-left: 4px solid transparent;\n\t}\n\n\t.existing-backups-table tr.backuprowselected td:first-child {\n\t\tborder-left-color: #0572AA;\n\t}\n\n}\n\n@media screen and (min-width: 670px) {\n\t\n\t.expertmode .advanced_settings_container .advanced_settings_menu {\n\t\tfloat: left;\n\t\twidth: 215px;\n\t\tborder-right: 1px solid rgb(204, 204, 204);\n\t\tborder-bottom: none;\n\t}\n\n\t.expertmode .advanced_settings_container .advanced_settings_content {\n\t\tpadding-left: 10px;\n\t\tpadding-top: 0px;\n\t}\n\n\t.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {\n\t\tdisplay: block;\n\t}\n\n}\n\n@media only screen and (max-width: 1068px) {\n\n\t.updraft-more-plugins .udp-box {\n\t\twidth: calc(50% - 10px);\n\t\tmargin-bottom: 20px;\n\t}\n\n\t.updraft_feat_table td:nth-child(2), .updraft_feat_table td:nth-child(3) {\n\t\twidth: 100px;\n\t}\n\n}\n\n@media only screen and (max-width: 600px) {\n\n\t.updraft-more-plugins .udp-box {\n\t\twidth: 100%;\n\t\tmargin-bottom: 20px;\n\t}\n\n\t.updraft_feat_table td:nth-child(2), .updraft_feat_table td:nth-child(3) {\n\t\twidth: auto;\n\t}\n\n\ttable.updraft_feat_table {\n\t\tdisplay: block;\n\t}\n\n\ttable.updraft_feat_table tr {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n\ttable.updraft_feat_table td {\n\t\tdisplay: block;\n\t}\n\n\ttable.updraft_feat_table td:first-child {\n\t\twidth: 100%;\n\t\tborder-bottom: none;\n\t}\n\n\ttable.updraft_feat_table td:not(:first-child) {\n\t\twidth: 50%;\n\t\tbox-sizing: border-box;\n\t}\n\n\ttable.updraft_feat_table td:first-child:empty {\n\t\tdisplay: none;\n\t}\n\n\ttd[data-colname]::before {\n\t\tcontent: attr(data-colname);\n\t\tfont-size: 0.8rem;\n\t\tcolor: #CCC;\n\t\tline-height: 1;\n\t}\n\n}\n"]}admin.php000064400001155241147400355670006371 0ustar00 array(), 'pcloud' => array(), 'onedrive' => array(), 'googledrive' => array(), 'googlecloud' => array()); private $clone_php_versions = array('5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'); private $storage_service_without_settings; private $storage_service_with_partial_settings; private $storage_module_option_errors = ''; private $no_settings_warning = false; private $restore_in_progress_jobdata = array(); private $entities_to_restore = array(); /** * Constructor */ public function __construct() { $this->admin_init(); } /** * Get the path to the UI templates directory * * @return String - a filesystem directory path */ public function get_templates_dir() { return apply_filters('updraftplus_templates_dir', UpdraftPlus_Manipulation_Functions::wp_normalize_path(UPDRAFTPLUS_DIR.'/templates')); } private function register_template_directories() { $template_directories = array(); $templates_dir = $this->get_templates_dir(); if ($dh = opendir($templates_dir)) { while (($file = readdir($dh)) !== false) { if ('.' == $file || '..' == $file) continue; if (is_dir($templates_dir.'/'.$file)) { $template_directories[$file] = $templates_dir.'/'.$file; } } closedir($dh); } // This is the optimal hook for most extensions to hook into $this->template_directories = apply_filters('updraftplus_template_directories', $template_directories); } /** * Output, or return, the results of running a template (from the 'templates' directory, unless a filter over-rides it). Templates are run with $updraftplus, $updraftplus_admin and $wpdb set. * * @param String $path - path to the template * @param Boolean $return_instead_of_echo - by default, the template is echo-ed; set this to instead return it * @param Array $extract_these - variables to inject into the template's run context * * @return Void|String */ public function include_template($path, $return_instead_of_echo = false, $extract_these = array()) { if ($return_instead_of_echo) ob_start(); if (preg_match('#^([^/]+)/(.*)$#', $path, $matches)) { $prefix = $matches[1]; $suffix = $matches[2]; if (isset($this->template_directories[$prefix])) { $template_file = $this->template_directories[$prefix].'/'.$suffix; } } if (!isset($template_file)) $template_file = UPDRAFTPLUS_DIR.'/templates/'.$path; $template_file = apply_filters('updraftplus_template', $template_file, $path); do_action('updraftplus_before_template', $path, $template_file, $return_instead_of_echo, $extract_these); if (!file_exists($template_file)) { error_log("UpdraftPlus: template not found: $template_file"); echo __('Error:', 'updraftplus').' '.__('template not found', 'updraftplus')." ($path)"; } else { extract($extract_these); global $updraftplus, $wpdb;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Passed though to template file. $updraftplus_admin = $this;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Passed though to template file. include $template_file; } do_action('updraftplus_after_template', $path, $template_file, $return_instead_of_echo, $extract_these); if ($return_instead_of_echo) return ob_get_clean(); } /** * Add actions for any needed dashboard notices for remote storage services * * @param String|Array $services - a list of services, or single service */ private function setup_all_admin_notices_global($services) { global $updraftplus; if ('googledrive' === $services || (is_array($services) && in_array('googledrive', $services))) { $settings = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('googledrive'); if (is_wp_error($settings)) { if (!isset($this->storage_module_option_errors)) $this->storage_module_option_errors = ''; $this->storage_module_option_errors .= "Google Drive (".$settings->get_error_code()."): ".$settings->get_error_message(); add_action('all_admin_notices', array($this, 'show_admin_warning_multiple_storage_options')); $updraftplus->log_wp_error($settings, true, true); } elseif (!empty($settings['settings'])) { foreach ($settings['settings'] as $instance_id => $storage_options) { if ((defined('UPDRAFTPLUS_CUSTOM_GOOGLEDRIVE_APP') && UPDRAFTPLUS_CUSTOM_GOOGLEDRIVE_APP) || !empty($storage_options['clientid'])) { if (!empty($storage_options['clientid'])) { $clientid = $storage_options['clientid']; $token = empty($storage_options['token']) ? '' : $storage_options['token']; } if (!empty($clientid) && '' == $token) { if (!in_array($instance_id, $this->auth_instance_ids['googledrive'])) $this->auth_instance_ids['googledrive'][] = $instance_id; if (false === has_action('all_admin_notices', array($this, 'show_admin_warning_googledrive'))) add_action('all_admin_notices', array($this, 'show_admin_warning_googledrive')); } unset($clientid); unset($token); } else { if (empty($storage_options['user_id'])) { if (!in_array($instance_id, $this->auth_instance_ids['googledrive'])) $this->auth_instance_ids['googledrive'][] = $instance_id; if (false === has_action('all_admin_notices', array($this, 'show_admin_warning_googledrive'))) add_action('all_admin_notices', array($this, 'show_admin_warning_googledrive')); } } } } } if ('googlecloud' === $services || (is_array($services) && in_array('googlecloud', $services))) { $settings = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('googlecloud'); if (is_wp_error($settings)) { if (!isset($this->storage_module_option_errors)) $this->storage_module_option_errors = ''; $this->storage_module_option_errors .= "Google Cloud (".$settings->get_error_code()."): ".$settings->get_error_message(); add_action('all_admin_notices', array($this, 'show_admin_warning_multiple_storage_options')); $updraftplus->log_wp_error($settings, true, true); } elseif (!empty($settings['settings'])) { foreach ($settings['settings'] as $instance_id => $storage_options) { if ((defined('UPDRAFTPLUS_CUSTOM_GOOGLECLOUD_APP') && UPDRAFTPLUS_CUSTOM_GOOGLECLOUD_APP) || !empty($storage_options['clientid'])) { $clientid = $storage_options['clientid']; $token = (empty($storage_options['token'])) ? '' : $storage_options['token']; if (!empty($clientid) && empty($token)) { if (!in_array($instance_id, $this->auth_instance_ids['googlecloud'])) $this->auth_instance_ids['googlecloud'][] = $instance_id; if (false === has_action('all_admin_notices', array($this, 'show_admin_warning_googlecloud'))) add_action('all_admin_notices', array($this, 'show_admin_warning_googlecloud')); } } else { if (empty($storage_options['user_id'])) { if (!in_array($instance_id, $this->auth_instance_ids['googlecloud'])) $this->auth_instance_ids['googlecloud'][] = $instance_id; if (false === has_action('all_admin_notices', array($this, 'show_admin_warning_googlecloud'))) add_action('all_admin_notices', array($this, 'show_admin_warning_googlecloud')); } } } } } if ('dropbox' === $services || (is_array($services) && in_array('dropbox', $services))) { $settings = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('dropbox'); if (is_wp_error($settings)) { if (!isset($this->storage_module_option_errors)) $this->storage_module_option_errors = ''; $this->storage_module_option_errors .= "Dropbox (".$settings->get_error_code()."): ".$settings->get_error_message(); add_action('all_admin_notices', array($this, 'show_admin_warning_multiple_storage_options')); $updraftplus->log_wp_error($settings, true, true); } elseif (!empty($settings['settings'])) { foreach ($settings['settings'] as $instance_id => $storage_options) { if (empty($storage_options['tk_access_token'])) { if (!in_array($instance_id, $this->auth_instance_ids['dropbox'])) $this->auth_instance_ids['dropbox'][] = $instance_id; if (false === has_action('all_admin_notices', array($this, 'show_admin_warning_dropbox'))) add_action('all_admin_notices', array($this, 'show_admin_warning_dropbox')); } } } } if ('pcloud' === $services || (is_array($services) && in_array('pcloud', $services))) { $settings = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('pcloud'); if (is_wp_error($settings)) { if (!isset($this->storage_module_option_errors)) $this->storage_module_option_errors = ''; $this->storage_module_option_errors .= "pCloud (".$settings->get_error_code()."): ".$settings->get_error_message(); add_action('all_admin_notices', array($this, 'show_admin_warning_multiple_storage_options')); $updraftplus->log_wp_error($settings, true, true); } elseif (!empty($settings['settings'])) { foreach ($settings['settings'] as $instance_id => $storage_options) { if (empty($storage_options['pclauth'])) { if (!in_array($instance_id, $this->auth_instance_ids['pcloud'])) $this->auth_instance_ids['pcloud'][] = $instance_id; if (false === has_action('all_admin_notices', array($this, 'show_admin_warning_pcloud'))) add_action('all_admin_notices', array($this, 'show_admin_warning_pcloud')); } } } } if ('onedrive' === $services || (is_array($services) && in_array('onedrive', $services))) { $settings = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('onedrive'); if (is_wp_error($settings)) { if (!isset($this->storage_module_option_errors)) $this->storage_module_option_errors = ''; $this->storage_module_option_errors .= "OneDrive (".$settings->get_error_code()."): ".$settings->get_error_message(); add_action('all_admin_notices', array($this, 'show_admin_warning_multiple_storage_options')); $updraftplus->log_wp_error($settings, true, true); } elseif (!empty($settings['settings'])) { foreach ($settings['settings'] as $instance_id => $storage_options) { if ((defined('UPDRAFTPLUS_CUSTOM_ONEDRIVE_APP') && UPDRAFTPLUS_CUSTOM_ONEDRIVE_APP)) { if (!empty($storage_options['clientid']) && !empty($storage_options['secret']) && empty($storage_options['refresh_token'])) { if (!in_array($instance_id, $this->auth_instance_ids['onedrive'])) $this->auth_instance_ids['onedrive'][] = $instance_id; if (false === has_action('all_admin_notices', array($this, 'show_admin_warning_onedrive'))) add_action('all_admin_notices', array($this, 'show_admin_warning_onedrive')); } elseif (empty($storage_options['refresh_token'])) { if (!in_array($instance_id, $this->auth_instance_ids['onedrive'])) $this->auth_instance_ids['onedrive'][] = $instance_id; if (false === has_action('all_admin_notices', array($this, 'show_admin_warning_onedrive'))) add_action('all_admin_notices', array($this, 'show_admin_warning_onedrive')); } } else { if (empty($storage_options['refresh_token'])) { if (!in_array($instance_id, $this->auth_instance_ids['onedrive'])) $this->auth_instance_ids['onedrive'][] = $instance_id; if (false === has_action('all_admin_notices', array($this, 'show_admin_warning_onedrive'))) add_action('all_admin_notices', array($this, 'show_admin_warning_onedrive')); } } if (isset($storage_options['endpoint_tld']) && 'de' === $storage_options['endpoint_tld']) { if (false === has_action('all_admin_notices', array($this, 'show_admin_warning_onedrive_germany'))) add_action('all_admin_notices', array($this, 'show_admin_warning_onedrive_germany')); } } } } if ('azure' === $services || (is_array($services) && in_array('azure', $services))) { $settings = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('azure'); if (is_wp_error($settings)) { if (!isset($this->storage_module_option_errors)) $this->storage_module_option_errors = ''; $this->storage_module_option_errors .= "Azure (".$settings->get_error_code()."): ".$settings->get_error_message(); add_action('all_admin_notices', array($this, 'show_admin_warning_multiple_storage_options')); $updraftplus->log_wp_error($settings, true, true); } elseif (!empty($settings['settings'])) { foreach ($settings['settings'] as $instance_id => $storage_options) { if (isset($storage_options['endpoint']) && 'blob.core.cloudapi.de' === $storage_options['endpoint']) { if (false === has_action('all_admin_notices', array($this, 'show_admin_warning_azure_germany'))) add_action('all_admin_notices', array($this, 'show_admin_warning_azure_germany')); } } } } if ('updraftvault' === $services || (is_array($services) && in_array('updraftvault', $services))) { $settings = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('updraftvault'); if (is_wp_error($settings)) { if (!isset($this->storage_module_option_errors)) $this->storage_module_option_errors = ''; $this->storage_module_option_errors .= "UpdraftVault (".$settings->get_error_code()."): ".$settings->get_error_message(); add_action('all_admin_notices', array($this, 'show_admin_warning_multiple_storage_options')); $updraftplus->log_wp_error($settings, true, true); } elseif (!empty($settings['settings'])) { foreach ($settings['settings'] as $instance_id => $storage_options) { if (empty($storage_options['token']) && empty($storage_options['email'])) { add_action('all_admin_notices', array($this, 'show_admin_warning_updraftvault')); } } } } if ($this->disk_space_check(1048576*35) === false) add_action('all_admin_notices', array($this, 'show_admin_warning_diskspace')); $all_services = UpdraftPlus_Storage_Methods_Interface::get_enabled_storage_objects_and_ids($updraftplus->get_canonical_service_list()); $this->storage_service_without_settings = array(); $this->storage_service_with_partial_settings = array(); foreach ($all_services as $method => $sinfo) { if (empty($sinfo['object']) || empty($sinfo['instance_settings']) || !is_callable(array($sinfo['object'], 'options_exist'))) continue; foreach ($sinfo['instance_settings'] as $opt) { if (!$sinfo['object']->options_exist($opt)) { if (isset($opt['auth_in_progress'])) { $this->storage_service_with_partial_settings[$method] = $updraftplus->backup_methods[$method]; } else { $this->storage_service_without_settings[] = $updraftplus->backup_methods[$method]; } } } } if (!empty($this->storage_service_with_partial_settings)) { add_action('all_admin_notices', array($this, 'show_admin_warning_if_remote_storage_with_partial_settings')); } if (!empty($this->storage_service_without_settings)) { add_action('all_admin_notices', array($this, 'show_admin_warning_if_remote_storage_setting_are_empty')); } if ($updraftplus->is_restricted_hosting('only_one_backup_per_month')) { add_action('all_admin_notices', array($this, 'show_admin_warning_one_backup_per_month')); } if (!$updraftplus->phpseclib_requirements_met()) { add_action('all_admin_notices', array($this, 'show_admin_warning_phpseclib')); } } private function setup_all_admin_notices_udonly($service, $override = false) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Filter use global $updraftplus; if (UpdraftPlus_Options::get_updraft_option('updraft_debug_mode')) { @ini_set('display_errors', 1);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if (defined('E_DEPRECATED')) { @error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged, PHPCompatibility.Constants.NewConstants.e_deprecatedFound -- Silenced to suppress errors that may arise because of the function. } else { @error_reporting(E_ALL & ~E_NOTICE);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } add_action('all_admin_notices', array($this, 'show_admin_debug_warning')); } if (null === UpdraftPlus_Options::get_updraft_option('updraft_interval')) { add_action('all_admin_notices', array($this, 'show_admin_nosettings_warning')); $this->no_settings_warning = true; } // Avoid false positives, by attempting to raise the limit (as happens when we actually do a backup) if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $max_execution_time = (int) ini_get('max_execution_time'); if ($max_execution_time>0 && $max_execution_time<20) { add_action('all_admin_notices', array($this, 'show_admin_warning_execution_time')); } // LiteSpeed has a generic problem with terminating cron jobs if (false == UpdraftPlus_Options::get_updraft_option('updraft_dismiss_admin_warning_litespeed') && isset($_SERVER['SERVER_SOFTWARE']) && strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false) { if (!is_file(ABSPATH.'.htaccess') || !preg_match('/noabort/i', file_get_contents(ABSPATH.'.htaccess'))) { add_action('all_admin_notices', array($this, 'show_admin_warning_litespeed')); } } $binzip = $updraftplus->find_working_bin_zip(); if (false == UpdraftPlus_Options::get_updraft_option('updraft_dismiss_admin_warning_pclzip') && empty($binzip) && ((defined('UPDRAFTPLUS_PREFERPCLZIP') && UPDRAFTPLUS_PREFERPCLZIP == true) || !class_exists('ZipArchive') || (!extension_loaded('zip') && !method_exists('ZipArchive', 'AddFile')))) { add_action('all_admin_notices', array($this, 'show_admin_warning_pclzip')); } if (version_compare($updraftplus->get_wordpress_version(), '3.2', '<')) add_action('all_admin_notices', array($this, 'show_admin_warning_wordpressversion')); // DreamObjects west cluster shutdown warning if ('dreamobjects' === $service || (is_array($service) && in_array('dreamobjects', $service))) { $settings = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('dreamobjects'); if (is_wp_error($settings)) { if (!isset($this->storage_module_option_errors)) $this->storage_module_option_errors = ''; $this->storage_module_option_errors .= "DreamObjects (".$settings->get_error_code()."): ".$settings->get_error_message(); add_action('all_admin_notices', array($this, 'show_admin_warning_multiple_storage_options')); $updraftplus->log_wp_error($settings, true, true); } elseif (!empty($settings['settings'])) { foreach ($settings['settings'] as $storage_options) { if ('objects-us-west-1.dream.io' == $storage_options['endpoint']) { add_action('all_admin_notices', array($this, 'show_admin_warning_dreamobjects')); } } } } // If the plugin was not able to connect to a UDC account due to lack of licences if (isset($_GET['udc_connect']) && 0 == $_GET['udc_connect']) { add_action('all_admin_notices', array($this, 'show_admin_warning_udc_couldnt_connect')); } if (!$updraftplus->phpseclib_requirements_met()) { add_action('all_admin_notices', array($this, 'show_admin_warning_phpseclib')); } } /** * Used to output the information for the next scheduled backup. * moved to function for the ajax saves */ public function next_scheduled_backups_output() { // UNIX timestamp $next_scheduled_backup = wp_next_scheduled('updraft_backup'); if ($next_scheduled_backup) { // Convert to GMT $next_scheduled_backup_gmt = gmdate('Y-m-d H:i:s', $next_scheduled_backup); // Convert to blog time zone $next_scheduled_backup = get_date_from_gmt($next_scheduled_backup_gmt, 'D, F j, Y H:i'); // $next_scheduled_backup = date_i18n('D, F j, Y H:i', $next_scheduled_backup); } else { $next_scheduled_backup = __('Nothing currently scheduled', 'updraftplus'); $files_not_scheduled = true; } $next_scheduled_backup_database = wp_next_scheduled('updraft_backup_database'); if (UpdraftPlus_Options::get_updraft_option('updraft_interval_database', UpdraftPlus_Options::get_updraft_option('updraft_interval')) == UpdraftPlus_Options::get_updraft_option('updraft_interval')) { if (isset($files_not_scheduled)) { $next_scheduled_backup_database = $next_scheduled_backup; $database_not_scheduled = true; } else { $next_scheduled_backup_database = __("At the same time as the files backup", 'updraftplus'); $next_scheduled_backup_database_same_time = true; } } else { if ($next_scheduled_backup_database) { // Convert to GMT $next_scheduled_backup_database_gmt = gmdate('Y-m-d H:i:s', $next_scheduled_backup_database); // Convert to blog time zone $next_scheduled_backup_database = get_date_from_gmt($next_scheduled_backup_database_gmt, 'D, F j, Y H:i'); // $next_scheduled_backup_database = date_i18n('D, F j, Y H:i', $next_scheduled_backup_database); } else { $next_scheduled_backup_database = __('Nothing currently scheduled', 'updraftplus'); $database_not_scheduled = true; } } if (isset($files_not_scheduled) && isset($database_not_scheduled)) { ?> : : '.$next_scheduled_backup.'
'; } else { echo ''.$next_scheduled_backup.''; } if ($return_instead_of_echo) return ob_get_clean(); } /** * Used to output the information for the next scheduled database backup. * moved to function for the ajax saves * * @param Boolean $return_instead_of_echo Whether to return or echo the results. N.B. More than just the results to echo will be returned * @return Void|String If $return_instead_of_echo parameter is true, It returns html string */ public function next_scheduled_database_backups_output($return_instead_of_echo = false) { if ($return_instead_of_echo) ob_start(); $next_scheduled_backup_database = wp_next_scheduled('updraft_backup_database'); if ($next_scheduled_backup_database) { // Convert to GMT $next_scheduled_backup_database_gmt = gmdate('Y-m-d H:i:s', $next_scheduled_backup_database); // Convert to blog time zone. wp_date() (WP 5.3+) also performs locale translation. $next_scheduled_backup_database = function_exists('wp_date') ? wp_date('D, F j, Y H:i', $next_scheduled_backup_database) : get_date_from_gmt($next_scheduled_backup_database_gmt, 'D, F j, Y H:i'); $database_not_scheduled = false; } else { $next_scheduled_backup_database = __('Nothing currently scheduled', 'updraftplus'); $database_not_scheduled = true; } if ($database_not_scheduled) { echo ''.$next_scheduled_backup_database.''; } else { echo ''.$next_scheduled_backup_database.''; } if ($return_instead_of_echo) return ob_get_clean(); } /** * Run upon the WP admin_init action */ private function admin_init() { add_action('admin_init', array($this, 'maybe_download_backup_from_email')); add_action('core_upgrade_preamble', array($this, 'core_upgrade_preamble')); add_action('admin_action_upgrade-plugin', array($this, 'admin_action_upgrade_pluginortheme')); add_action('admin_action_upgrade-theme', array($this, 'admin_action_upgrade_pluginortheme')); add_action('admin_head', array($this, 'admin_head')); add_filter((is_multisite() ? 'network_admin_' : '').'plugin_action_links', array($this, 'plugin_action_links'), 10, 2); add_action('wp_ajax_updraft_download_backup', array($this, 'updraft_download_backup')); add_action('wp_ajax_updraft_ajax', array($this, 'updraft_ajax_handler')); add_action('wp_ajax_updraft_ajaxrestore', array($this, 'updraft_ajaxrestore')); add_action('wp_ajax_nopriv_updraft_ajaxrestore', array($this, 'updraft_ajaxrestore')); add_action('wp_ajax_updraft_ajaxrestore_continue', array($this, 'updraft_ajaxrestore')); add_action('wp_ajax_nopriv_updraft_ajaxrestore_continue', array($this, 'updraft_ajaxrestore')); add_action('wp_ajax_plupload_action', array($this, 'plupload_action')); add_action('wp_ajax_plupload_action2', array($this, 'plupload_action2')); add_action('wp_before_admin_bar_render', array($this, 'wp_before_admin_bar_render')); // Add a new Ajax action for saving settings add_action('wp_ajax_updraft_savesettings', array($this, 'updraft_ajax_savesettings')); // Ajax for settings import and export add_action('wp_ajax_updraft_importsettings', array($this, 'updraft_ajax_importsettings')); add_filter('heartbeat_received', array($this, 'process_status_in_heartbeat'), 10, 2); // UpdraftPlus templates $this->register_template_directories(); global $updraftplus, $pagenow; add_filter('updraftplus_dirlist_others', array($updraftplus, 'backup_others_dirlist')); add_filter('updraftplus_dirlist_uploads', array($updraftplus, 'backup_uploads_dirlist')); // First, the checks that are on all (admin) pages: $service = UpdraftPlus_Options::get_updraft_option('updraft_service'); if (UpdraftPlus_Options::user_can_manage()) { $this->print_restore_in_progress_box_if_needed(); // Main dashboard page advert // Since our nonce is printed, make sure they have sufficient credentials if ('index.php' == $pagenow && current_user_can('update_plugins') && (!file_exists(UPDRAFTPLUS_DIR.'/udaddons') || (defined('UPDRAFTPLUS_FORCE_DASHNOTICE') && UPDRAFTPLUS_FORCE_DASHNOTICE))) { $dismissed_until = UpdraftPlus_Options::get_updraft_option('updraftplus_dismisseddashnotice', 0); $backup_dir = $updraftplus->backups_dir_location(); // N.B. Not an exact proxy for the installed time; they may have tweaked the expert option to move the directory $installed = @filemtime($backup_dir.'/index.html');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $installed_for = time() - $installed; if (($installed && time() > $dismissed_until && $installed_for > 28*86400 && !defined('UPDRAFTPLUS_NOADS_B')) || (defined('UPDRAFTPLUS_NOADS_B') && !UPDRAFTPLUS_NOADS_B)) { add_action('all_admin_notices', array($this, 'show_admin_notice_ad')); } } // Moved out for use with Ajax saving $this->setup_all_admin_notices_global($service); } if (file_exists(UPDRAFTPLUS_DIR.'/udaddons')) { if (!class_exists('Updraft_Dashboard_News_Offer')) updraft_try_include_file('includes/class-updraft-dashboard-news-offer.php', 'include_once'); $news_translations = array( 'product_title' => 'UpdraftPlus', 'item_prefix' => __('UpdraftPlus', 'updraftplus'), 'item_description' => __('UpdraftPlus News', 'updraftplus'), 'dismiss_tooltip' => __('Dismiss all UpdraftPlus news', 'updraftplus'), 'dismiss_confirm' => __('Are you sure you want to dismiss all UpdraftPlus news forever?', 'updraftplus'), ); } add_filter('woocommerce_in_plugin_update_message', array($this, 'woocommerce_in_plugin_update_message')); if (file_exists(UPDRAFTPLUS_DIR.'/udaddons')) { new Updraft_Dashboard_News_Offer('https://feeds.feedburner.com/UpdraftPlus', 'https://updraftplus.com/news/', $news_translations); } // New-install admin tour if ((!defined('UPDRAFTPLUS_ENABLE_TOUR') || UPDRAFTPLUS_ENABLE_TOUR) && (!defined('UPDRAFTPLUS_THIS_IS_CLONE') || !UPDRAFTPLUS_THIS_IS_CLONE)) { updraft_try_include_file('includes/updraftplus-tour.php', 'include_once'); } if ('index.php' == $GLOBALS['pagenow'] && UpdraftPlus_Options::user_can_manage()) { add_action('admin_print_footer_scripts', array($this, 'admin_index_print_footer_scripts')); } $udp_saved_version = UpdraftPlus_Options::get_updraft_option('updraftplus_version'); if (!$udp_saved_version || $udp_saved_version != $updraftplus->version) { if (!$udp_saved_version) { // udp was newly installed, or upgraded from an older version do_action('updraftplus_newly_installed', $updraftplus->version); } else { // udp was updated or downgraded do_action('updraftplus_version_changed', $udp_saved_version, $updraftplus->version); } UpdraftPlus_Options::update_updraft_option('updraftplus_version', $updraftplus->version); } // Dequeue conflicted scripts from other plugins before we enqueue our own scripts. add_action('admin_enqueue_scripts', array($this, 'dequeue_conflicted_scripts'), 99998); if (UpdraftPlus_Options::admin_page() != $pagenow || empty($_REQUEST['page']) || 'updraftplus' != $_REQUEST['page']) { // autobackup addon may enqueue admin-common.js and load the same script, so for the javascript we just need to make sure we call stopImmediatePropagation() to prevent other listeners of the same event from being called if (UpdraftPlus_Options::user_can_manage()) add_action('admin_print_footer_scripts', array($this, 'print_phpseclib_notice_scripts')); return; } // Next, the actions that only come on the UpdraftPlus page $this->setup_all_admin_notices_udonly($service); UpdraftPlus::load_checkout_embed(); add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_scripts'), 99999); if (isset($_POST['action']) && 'updraft_wipesettings' == $_POST['action'] && isset($_POST['nonce']) && UpdraftPlus_Options::user_can_manage()) { if (wp_verify_nonce($_POST['nonce'], 'updraftplus-wipe-setting-nonce')) $this->wipe_settings(); } } /** * Runs upon the WP action woocommerce_in_plugin_update_message * * @param String $msg - the message that WooCommerce will print * * @return String - filtered value */ public function woocommerce_in_plugin_update_message($msg) { if (time() < UpdraftPlus_Options::get_updraft_option('dismissed_clone_wc_notices_until', 0)) return $msg; return '

'.__('You can test upgrading your site on an instant copy using UpdraftClone credits', 'updraftplus').' - '.__('go here to learn more', 'updraftplus').' - '. __('dismiss notice', 'updraftplus') .'
'.$msg; } /** * Runs upon the WP action admin_print_footer_scripts if an entitled user is on the main WP dashboard page */ public function admin_index_print_footer_scripts() { if (time() < UpdraftPlus_Options::get_updraft_option('dismissed_clone_php_notices_until', 0)) return; ?> admin_enqueue_scripts(); ?>

		

render_active_jobs_and_log_table(true, false); ?>
prepare_restore(); die(); } /** * Runs upon the WP action wp_before_admin_bar_render */ public function wp_before_admin_bar_render() { global $wp_admin_bar; if (!UpdraftPlus_Options::user_can_manage()) return; if (defined('UPDRAFTPLUS_ADMINBAR_DISABLE') && UPDRAFTPLUS_ADMINBAR_DISABLE) return; if (false == apply_filters('updraftplus_settings_page_render', true)) return; $option_location = UpdraftPlus_Options::admin_page_url(); $args = array( 'id' => 'updraft_admin_node', 'title' => apply_filters('updraftplus_admin_node_title', 'UpdraftPlus') ); $wp_admin_bar->add_node($args); $args = array( 'id' => 'updraft_admin_node_status', 'title' => str_ireplace('Back Up', 'Backup', __('Backup', 'updraftplus')).' / '.__('Restore', 'updraftplus'), 'parent' => 'updraft_admin_node', 'href' => $option_location.'?page=updraftplus&tab=backups' ); $wp_admin_bar->add_node($args); $args = array( 'id' => 'updraft_admin_node_migrate', 'title' => __('Migrate / Clone', 'updraftplus'), 'parent' => 'updraft_admin_node', 'href' => $option_location.'?page=updraftplus&tab=migrate' ); $wp_admin_bar->add_node($args); $args = array( 'id' => 'updraft_admin_node_settings', 'title' => __('Settings', 'updraftplus'), 'parent' => 'updraft_admin_node', 'href' => $option_location.'?page=updraftplus&tab=settings' ); $wp_admin_bar->add_node($args); $args = array( 'id' => 'updraft_admin_node_expert_content', 'title' => __('Advanced Tools', 'updraftplus'), 'parent' => 'updraft_admin_node', 'href' => $option_location.'?page=updraftplus&tab=expert' ); $wp_admin_bar->add_node($args); $args = array( 'id' => 'updraft_admin_node_addons', 'title' => __('Extensions', 'updraftplus'), 'parent' => 'updraft_admin_node', 'href' => $option_location.'?page=updraftplus&tab=addons' ); $wp_admin_bar->add_node($args); global $updraftplus; if (!$updraftplus->have_addons) { $args = array( 'id' => 'updraft_admin_node_premium', 'title' => 'UpdraftPlus Premium', 'parent' => 'updraft_admin_node', 'href' => $updraftplus->get_url('premium') ); $wp_admin_bar->add_node($args); } } /** * Output HTML for a dashboard notice highlighting the benefits of upgrading to Premium and other plugin */ public function show_admin_notice_ad() { $this->include_template('wp-admin/notices/thanks-for-using-main-dash.php'); } /** * Enqueue sufficient versions of jQuery and our own scripts */ private function ensure_sufficient_jquery_and_enqueue() { global $updraftplus; $enqueue_version = $updraftplus->use_unminified_scripts() ? $updraftplus->version.'.'.time() : $updraftplus->version; $min_or_not = $updraftplus->use_unminified_scripts() ? '' : '.min'; $updraft_min_or_not = $updraftplus->get_updraftplus_file_version(); if (version_compare($updraftplus->get_wordpress_version(), '3.3', '<')) { // Require a newer jQuery (3.2.1 has 1.6.1, so we go for something not too much newer). We use .on() in a way that is incompatible with < 1.7 wp_deregister_script('jquery'); $jquery_enqueue_version = $updraftplus->use_unminified_scripts() ? '1.7.2'.'.'.time() : '1.7.2'; wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery'.$min_or_not.'.js', false, $jquery_enqueue_version, false); wp_enqueue_script('jquery'); // No plupload until 3.3 wp_enqueue_script('updraft-admin-common', UPDRAFTPLUS_URL.'/includes/updraft-admin-common'.$updraft_min_or_not.'.js', array('jquery', 'jquery-ui-dialog', 'jquery-ui-core', 'jquery-ui-accordion'), $enqueue_version, true); } else { wp_enqueue_script('updraft-admin-common', UPDRAFTPLUS_URL.'/includes/updraft-admin-common'.$updraft_min_or_not.'.js', array('jquery', 'jquery-ui-dialog', 'jquery-ui-core', 'jquery-ui-accordion', 'plupload-all'), $enqueue_version); } } /** * Dequeue conflicted scripts from other plugins before we enqueue our own scripts. */ public function dequeue_conflicted_scripts() { global $pagenow; // Dequeue Gravity Forms tooltip scripts if the autobackup addon is enabled. if ('plugins.php' == $pagenow && class_exists('UpdraftPlus_Addon_Autobackup')) { wp_dequeue_script('gform_tooltip_init'); } } /** * Enqueue conflicted scripts from other plugins after we enqueue our own scripts. */ public function enqueue_conflicted_scripts() { global $pagenow; // Enqueue Gravity Forms tooltip scripts if the autobackup addon is enabled. if ('plugins.php' == $pagenow && class_exists('UpdraftPlus_Addon_Autobackup')) { wp_enqueue_script('gform_tooltip_init'); } } /** * This is also called directly from the auto-backup add-on */ public function admin_enqueue_scripts() { global $updraftplus, $wp_locale, $updraftplus_checkout_embed; $enqueue_version = $updraftplus->use_unminified_scripts() ? $updraftplus->version.'.'.time() : $updraftplus->version; $min_or_not = $updraftplus->use_unminified_scripts() ? '' : '.min'; $updraft_min_or_not = $updraftplus->get_updraftplus_file_version(); // Defeat other plugins/themes which dump their jQuery UI CSS onto our settings page wp_deregister_style('jquery-ui'); $jquery_ui_version = version_compare($updraftplus->get_wordpress_version(), '5.6', '>=') ? '1.12.1' : '1.11.4'; $jquery_ui_css_enqueue_version = $updraftplus->use_unminified_scripts() ? $jquery_ui_version.'.0'.'.'.time() : $jquery_ui_version.'.0'; wp_enqueue_style('updraft-jquery-ui', UPDRAFTPLUS_URL."/includes/jquery-ui.custom-v$jquery_ui_version$updraft_min_or_not.css", array(), $jquery_ui_css_enqueue_version); wp_enqueue_style('updraft-admin-css', UPDRAFTPLUS_URL.'/css/updraftplus-admin'.$updraft_min_or_not.'.css', array(), $enqueue_version); // add_filter('style_loader_tag', array($this, 'style_loader_tag'), 10, 2); $this->ensure_sufficient_jquery_and_enqueue(); $this->enqueue_conflicted_scripts(); $jquery_blockui_enqueue_version = $updraftplus->use_unminified_scripts() ? '2.71.0'.'.'.time() : '2.71.0'; wp_enqueue_script('jquery-blockui', UPDRAFTPLUS_URL.'/includes/blockui/jquery.blockUI'.$min_or_not.'.js', array('jquery'), $jquery_blockui_enqueue_version); wp_enqueue_script('jquery-labelauty', UPDRAFTPLUS_URL.'/includes/labelauty/jquery-labelauty'.$updraft_min_or_not.'.js', array('jquery'), $enqueue_version); wp_enqueue_style('jquery-labelauty', UPDRAFTPLUS_URL.'/includes/labelauty/jquery-labelauty'.$updraft_min_or_not.'.css', array(), $enqueue_version); $serialize_js_enqueue_version = $updraftplus->use_unminified_scripts() ? '3.2.0'.'.'.time() : '3.2.0'; wp_enqueue_script('jquery.serializeJSON', UPDRAFTPLUS_URL.'/includes/jquery.serializeJSON/jquery.serializejson'.$min_or_not.'.js', array('jquery'), $serialize_js_enqueue_version); wp_enqueue_script('handlebars', UPDRAFTPLUS_URL.'/includes/handlebars/handlebars'.$min_or_not.'.js', array(), $enqueue_version); $this->enqueue_jstree(); $jqueryui_dialog_extended_version = $updraftplus->use_unminified_scripts() ? '1.0.4'.'.'.time() : '1.0.4'; wp_enqueue_script('jquery-ui.dialog.extended', UPDRAFTPLUS_URL.'/includes/jquery-ui.dialog.extended/jquery-ui.dialog.extended'.$updraft_min_or_not.'.js', array('jquery', 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-dialog'), $jqueryui_dialog_extended_version); do_action('updraftplus_admin_enqueue_scripts'); $day_selector = ''; for ($day_index = 0; $day_index <= 6; $day_index++) { // $selected = ($opt == $day_index) ? 'selected="selected"' : ''; $selected = ''; $day_selector .= "\n\t'; } $mday_selector = ''; for ($mday_index = 1; $mday_index <= 28; $mday_index++) { // $selected = ($opt == $mday_index) ? 'selected="selected"' : ''; $selected = ''; $mday_selector .= "\n\t'; } $backup_methods = $updraftplus->backup_methods; $remote_storage_options_and_templates = UpdraftPlus_Storage_Methods_Interface::get_remote_storage_options_and_templates(); $main_tabs = $this->get_main_tabs_array(); $checkout_embed_5gb_trial_attribute = ''; if (is_a($updraftplus_checkout_embed, 'Updraft_Checkout_Embed')) { $checkout_embed_5gb_trial_attribute = $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-5-gb') ? 'data-embed-checkout="'.apply_filters('updraftplus_com_link', $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-5-gb', UpdraftPlus_Options::admin_page_url().'?page=updraftplus&tab=settings')).'"' : ''; } $hosting_company = $updraftplus->get_hosting_info(); wp_localize_script('updraft-admin-common', 'updraftlion', array( 'tab' => (empty($_GET['tab']) || !preg_match('/^[a-z]+$/', $_GET['tab'])) ? 'backups' : $_GET['tab'], 'sendonlyonwarnings' => __('Send a report only when there are warnings/errors', 'updraftplus'), 'wholebackup' => __('When email storage method is enabled, and an email address is entered, also send the backup', 'updraftplus'), 'emailsizelimits' => esc_attr(sprintf(__('Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive.', 'updraftplus'), '10-20')), 'rescanning' => __('Rescanning (looking for backups that you have uploaded manually into the internal backup store)...', 'updraftplus'), 'dbbackup' => __('Only email the database backup', 'updraftplus'), 'rescanningremote' => __('Rescanning remote and local storage for backup sets...', 'updraftplus'), 'enteremailhere' => esc_attr(__('To send to more than one address, separate each address with a comma.', 'updraftplus')), 'excludedeverything' => __('If you exclude both the database and the files, then you have excluded everything!', 'updraftplus'), 'nofileschosen' => __('You have chosen to backup files, but no file entities have been selected', 'updraftplus'), 'notableschosen' => __('You have chosen to backup a database, but no tables have been selected', 'updraftplus'), 'nocloudserviceschosen' => __('You have chosen to send this backup to remote storage, but no remote storage locations have been selected', 'updraftplus'), 'restore_proceeding' => __('The restore operation has begun.', 'updraftplus').' '.__('Do not close your browser until it reports itself as having finished.', 'updraftplus'), 'unexpectedresponse' => __('Unexpected response:', 'updraftplus'), 'servererrorcode' => __('The web server returned an error code (try again, or check your web server logs)', 'updraftplus'), 'newuserpass' => __("The new user's RackSpace console password is (this will not be shown again):", 'updraftplus'), 'trying' => __('Trying...', 'updraftplus'), 'fetching' => __('Fetching...', 'updraftplus'), 'calculating' => __('calculating...', 'updraftplus'), 'begunlooking' => __('Begun looking for this entity', 'updraftplus'), 'stilldownloading' => __('Some files are still downloading or being processed - please wait.', 'updraftplus'), 'processing' => __('Processing files - please wait...', 'updraftplus'), 'emptyresponse' => __('Error: the server sent an empty response.', 'updraftplus'), 'warnings' => __('Warnings:', 'updraftplus'), 'errors' => __('Errors:', 'updraftplus'), 'jsonnotunderstood' => __('Error: the server sent us a response which we did not understand.', 'updraftplus'), 'errordata' => __('Error data:', 'updraftplus'), 'error' => __('Error:', 'updraftplus'), 'errornocolon' => __('Error', 'updraftplus'), 'existing_backups' => __('Existing backups', 'updraftplus'), 'fileready' => __('File ready.', 'updraftplus'), 'filesize' => __('File size', 'updraftplus'), 'actions' => __('Actions', 'updraftplus'), 'deletefromserver' => __('Delete from your web server', 'updraftplus'), 'downloadtocomputer' => __('Download to your computer', 'updraftplus'), 'browse_contents' => __('Browse contents', 'updraftplus'), 'notunderstood' => __('Download error: the server sent us a response which we did not understand.', 'updraftplus'), 'requeststart' => __('Requesting start of backup...', 'updraftplus'), 'phpinfo' => __('PHP information', 'updraftplus'), 'delete_old_dirs' => __('Delete Old Directories', 'updraftplus'), 'raw' => __('Raw backup history', 'updraftplus'), 'notarchive' => __('This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).', 'updraftplus').' '.__('However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern.', 'updraftplus'), 'notarchive2' => '

'.__('This file is not an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz)).', 'updraftplus').'

'.apply_filters('updraftplus_if_foreign_then_premium_message', '

'.__('If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you.', 'updraftplus').'

'), 'makesure' => __('(make sure that you were trying to upload a zip file previously created by UpdraftPlus)', 'updraftplus'), 'uploaderror' => __('Upload error:', 'updraftplus'), 'notdba' => __('This file is not an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz).', 'updraftplus'), 'uploaderr' => __('Upload error', 'updraftplus'), 'followlink' => __('Follow this link to attempt decryption and download the database file to your computer.', 'updraftplus'), 'thiskey' => __('This decryption key will be attempted:', 'updraftplus'), 'unknownresp' => __('Unknown server response:', 'updraftplus'), 'ukrespstatus' => __('Unknown server response status:', 'updraftplus'), 'uploaded' => __('The file was uploaded.', 'updraftplus'), // One of the translators has erroneously changed "Backup" into "Back up" (which means, "reverse" !) 'backupnow' => str_ireplace('Back Up', 'Backup', __('Backup Now', 'updraftplus')), 'cancel' => __('Cancel', 'updraftplus'), 'deletebutton' => __('Delete', 'updraftplus'), 'createbutton' => __('Create', 'updraftplus'), 'uploadbutton' => __('Upload', 'updraftplus'), 'youdidnotselectany' => __('You did not select any components to restore.', 'updraftplus').' '.__('Please select at least one, and then try again.', 'updraftplus'), 'restoreactivitylogfullscreen' => __('Full-screen', 'updraftplus'), 'restoreactivitylogscreenexit' => __('Exit full-screen', 'updraftplus'), 'proceedwithupdate' => __('Proceed with update', 'updraftplus'), 'close' => __('Close', 'updraftplus'), 'restore' => __('Restore', 'updraftplus'), 'downloadlogfile' => __('Download log file', 'updraftplus'), 'automaticbackupbeforeupdate' => __('Automatic backup before update', 'updraftplus'), 'unsavedsettings' => __('You have made changes to your settings, and not saved.', 'updraftplus'), 'saving' => __('Saving...', 'updraftplus'), 'connect' => __('Connect', 'updraftplus'), 'connecting' => __('Connecting...', 'updraftplus'), 'disconnect' => __('Disconnect', 'updraftplus'), 'disconnecting' => __('Disconnecting...', 'updraftplus'), 'counting' => __('Counting...', 'updraftplus'), 'updatequotacount' => __('Update quota count', 'updraftplus'), 'addingsite' => __('Adding...', 'updraftplus'), 'addsite' => __('Add site', 'updraftplus'), // 'resetting' => __('Resetting...', 'updraftplus'), 'creating_please_allow' => __('Creating...', 'updraftplus').(function_exists('openssl_encrypt') ? '' : ' ('.__('your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup.', 'updraftplus').')'), 'sendtosite' => __('Send to site:', 'updraftplus'), 'checkrpcsetup' => sprintf(__('You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly.', 'updraftplus'), '2.10.3'), 'pleasenamekey' => __('Please give this key a name (e.g. indicate the site it is for):', 'updraftplus'), 'key' => __('Key', 'updraftplus'), 'nokeynamegiven' => sprintf(__("Failure: No %s was given.", 'updraftplus'), __('key name', 'updraftplus')), 'deleting' => __('Deleting...', 'updraftplus'), 'enter_mothership_url' => __('Please enter a valid URL', 'updraftplus'), 'delete_response_not_understood' => __("We requested to delete the file, but could not understand the server's response", 'updraftplus'), 'testingconnection' => __('Testing connection...', 'updraftplus'), 'send' => __('Send', 'updraftplus'), 'migratemodalheight' => class_exists('UpdraftPlus_Addons_Migrator') ? 555 : 300, 'migratemodalwidth' => class_exists('UpdraftPlus_Addons_Migrator') ? 770 : 500, 'download' => _x('Download', '(verb)', 'updraftplus'), 'browse_download_link' => apply_filters('updraftplus_browse_download_link', ''.__("With UpdraftPlus Premium, you can directly download individual files from here.", "updraftplus").''), 'unsavedsettingsbackup' => __('You have made changes to your settings, and not saved.', 'updraftplus')."\n".__('You should save your changes to ensure that they are used for making your backup.', 'updraftplus'), 'unsaved_settings_export' => __('You have made changes to your settings, and not saved.', 'updraftplus')."\n".__('Your export file will be of your displayed settings, not your saved ones.', 'updraftplus'), 'dayselector' => $day_selector, 'mdayselector' => $mday_selector, 'day' => __('day', 'updraftplus'), 'inthemonth' => __('in the month', 'updraftplus'), 'days' => __('day(s)', 'updraftplus'), 'hours' => __('hour(s)', 'updraftplus'), 'weeks' => __('week(s)', 'updraftplus'), 'forbackupsolderthan' => __('For backups older than', 'updraftplus'), 'ud_url' => UPDRAFTPLUS_URL, 'processing' => __('Processing...', 'updraftplus'), 'loading' => __('Loading...', 'updraftplus'), 'pleasefillinrequired' => __('Please fill in the required information.', 'updraftplus'), 'test_settings' => __('Test %s Settings', 'updraftplus'), 'testing_settings' => __('Testing %s Settings...', 'updraftplus'), 'settings_test_result' => __('%s settings test result:', 'updraftplus'), 'nothing_yet_logged' => __('Nothing yet logged', 'updraftplus'), 'import_select_file' => __('You have not yet selected a file to import.', 'updraftplus'), 'import_invalid_json_file' => __('Error: The chosen file is corrupt.', 'updraftplus').' '.__('Please choose a valid UpdraftPlus export file.', 'updraftplus'), 'updraft_settings_url' => UpdraftPlus_Options::admin_page_url().'?page=updraftplus', 'network_site_url' => network_site_url(), 'importing' => __('Importing...', 'updraftplus'), 'importing_data_from' => __('This will import data from:', 'updraftplus'), 'exported_on' => __('Which was exported on:', 'updraftplus'), 'continue_import' => __('Do you want to carry out the import?', 'updraftplus'), 'complete' => __('Complete', 'updraftplus'), 'backup_complete' => __('The backup has finished running', 'updraftplus'), 'backup_aborted' => __('The backup was aborted', 'updraftplus'), 'remote_delete_limit' => defined('UPDRAFTPLUS_REMOTE_DELETE_LIMIT') ? UPDRAFTPLUS_REMOTE_DELETE_LIMIT : 25, // this used to be number of files but now the value of this constant is in seconds 'remote_files_deleted' => __('remote files deleted', 'updraftplus'), 'http_code' => __('HTTP code:', 'updraftplus'), 'makesure2' => __('The file failed to upload.', 'updraftplus').' '.__('Please check the following:', 'updraftplus')."\n\n - ".__('Any settings in your .htaccess or web.config file that affects the maximum upload or post size.', 'updraftplus')."\n - ".__('The available memory on the server.', 'updraftplus')."\n - ".__('That you are attempting to upload a zip file previously created by UpdraftPlus.', 'updraftplus')."\n\n".__('Further information may be found in the browser JavaScript console, and the server PHP error logs.', 'updraftplus'), 'zip_file_contents' => __('Browsing zip file', 'updraftplus'), 'zip_file_contents_info' => __('Select a file to view information about it', 'updraftplus'), 'search' => __('Search', 'updraftplus'), 'download_timeout' => __('Unable to download file.', 'updraftplus').' '.__('This could be caused by a timeout.', 'updraftplus').' '.__('It would be best to download the zip to your computer.', 'updraftplus'), 'loading_log_file' => __('Loading log file', 'updraftplus'), 'updraftplus_version' => $updraftplus->version, 'updraftcentral_wizard_empty_url' => __('Please enter the URL where your UpdraftCentral dashboard is hosted.'), 'updraftcentral_wizard_invalid_url' => __('Please enter a valid URL e.g http://example.com', 'updraftplus'), 'export_settings_file_name' => 'updraftplus-settings-'.sanitize_title(get_bloginfo('name')).'.json', // For remote storage handlebarsjs template 'remote_storage_options' => $remote_storage_options_and_templates['options'], 'remote_storage_templates' => $remote_storage_options_and_templates['templates'], 'remote_storage_partial_templates' => $remote_storage_options_and_templates['partial_templates'], 'remote_storage_methods' => $backup_methods, 'instance_enabled' => __('Currently enabled', 'updraftplus'), 'instance_disabled' => __('Currently disabled', 'updraftplus'), 'local_upload_started' => __('Local backup upload has started; please check the log file to see the upload progress', 'updraftplus'), 'local_upload_error' => __('You must select at least one remote storage destination to upload this backup set to.', 'updraftplus'), 'already_uploaded' => __('(already uploaded)', 'updraftplus'), 'onedrive_folder_url_warning' => __('Please specify the Microsoft OneDrive folder name, not the URL.', 'updraftplus'), 'updraftcentral_cloud' => __('UpdraftCentral Cloud', 'updraftplus'), 'udc_cloud_connected' => __('Connected.', 'updraftplus').' '.__('Requesting UpdraftCentral Key.', 'updraftplus'), 'udc_cloud_key_created' => __('Key created.', 'updraftplus').' '.__('Adding site to UpdraftCentral Cloud.', 'updraftplus'), 'login_successful' => __('Login successful.', 'updraftplus').' '.__('Please follow this link to open %s in a new window.', 'updraftplus'), 'login_successful_short' => __('Login successful; reloading information.', 'updraftplus'), 'registration_successful' => __('Registration successful.', 'updraftplus').' '.__('Please follow this link to open %s in a new window.', 'updraftplus'), 'username_password_required' => __('Both email and password fields are required.', 'updraftplus'), 'valid_email_required' => __('An email is required and needs to be in a valid format.', 'updraftplus'), 'trouble_connecting' => __('Trouble connecting? Try using an alternative method in the advanced security options.', 'updraftplus'), 'checking_tfa_code' => __('Verifying one-time password...', 'updraftplus'), 'perhaps_login' => __('Perhaps you would want to login instead.', 'updraftplus'), 'generating_key' => __('Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud.', 'updraftplus'), 'updraftcentral_cloud_redirect' => __('Please wait while you are redirected to UpdraftCentral Cloud.', 'updraftplus'), 'data_consent_required' => __('You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed.', 'updraftplus'), 'close_wizard' => __('You can also close this wizard.', 'updraftplus'), 'control_udc_connections' => __('For future control of all your UpdraftCentral connections, go to the "Advanced Tools" tab.', 'updraftplus'), 'main_tabs_keys' => array_keys($main_tabs), 'clone_version_warning' => __('Warning: you have selected a lower version than your currently installed version.', 'updraftplus').' '.__('This may fail if you have components that are incompatible with earlier versions.', 'updraftplus'), 'clone_backup_complete' => __('The clone has been provisioned, and its data has been sent to it.', 'updraftplus').' '.__('Once the clone has finished deploying it, you will receive an email.', 'updraftplus'), 'clone_backup_aborted' => __('The preparation of the clone data has been aborted.', 'updraftplus'), 'current_clean_url' => esc_url(UpdraftPlus::get_current_clean_url()), 'exclude_rule_remove_conformation_msg' => __('Are you sure you want to remove this exclusion rule?', 'updraftplus'), 'exclude_select_file_or_folder_msg' => __('Please select a file/folder which you would like to exclude', 'updraftplus'), 'exclude_select_folder_wildcards_msg' => __('Please select a folder in which the files/directories you would like to exclude are located'), 'exclude_type_ext_msg' => __('Please enter a file extension, like zip', 'updraftplus'), 'exclude_ext_error_msg' => __('Please enter a valid file extension', 'updraftplus'), 'exclude_type_prefix_msg' => __('Please enter characters that begin the filename which you would like to exclude', 'updraftplus'), 'exclude_prefix_error_msg' => __('Please enter a valid file name prefix', 'updraftplus'), 'exclude_contain_error_msg' => __('Please enter part of the file name', 'updraftplus'), 'duplicate_exclude_rule_error_msg' => __('The exclusion rule which you are trying to add already exists', 'updraftplus'), 'clone_key_required' => __('UpdraftClone key is required.', 'updraftplus'), 'files_new_backup' => __('Include your files in the backup', 'updraftplus'), 'files_incremental_backup' => __('File backup options', 'updraftplus'), 'ajax_restore_invalid_response' => __('HTML was detected in the response.', 'updraftplus').' '.__('You may have a security module on your webserver blocking the restoration operation.', 'updraftplus'), 'emptyrestorepath' => __('You have not selected a restore path for your chosen backups', 'updraftplus'), 'updraftvault_info' => '

'.__('Try UpdraftVault!', 'updraftplus').'

' .'

'.__('UpdraftVault is our remote storage which works seamlessly with UpdraftPlus.', 'updraftplus') .' '.__('Find out more here.', 'updraftplus').'' .'

' .'

'.__('Try it - 1 month for $1!', 'updraftplus').'

', 'login_udc_no_licences_short' => __('No UpdraftCentral licences were available.', 'updraftplus').' '.__('Continuing to connect to account.'), 'credentials' => __('credentials', 'updraftplus'), 'username' => __('Username', 'updraftplus'), 'password' => __('Password', 'updraftplus'), 'last_activity' => __('last activity: %d seconds ago', 'updraftplus'), 'no_recent_activity' => __('no recent activity; will offer resumption after: %d seconds', 'updraftplus'), 'restore_files_progress' => __('Restoring %s1 files out of %s2', 'updraftplus'), 'restore_db_table_progress' => __('Restoring table: %s', 'updraftplus'), 'restore_db_stored_routine_progress' => __('Restoring stored routine: %s', 'updraftplus'), 'finished' => __('Finished', 'updraftplus'), 'begun' => __('Begun', 'updraftplus'), 'maybe_downloading_entities' => __('Downloading backup files if needed', 'updraftplus'), 'preparing_backup_files' => __('Preparing backup files', 'updraftplus'), 'ajax_restore_contact_failed' => __('Attempts by the browser to contact the website failed.', 'updraftplus'), 'ajax_restore_error' => __('Restore error:', 'updraftplus'), 'ajax_restore_404_detected' => '

'. __('Warning:', 'updraftplus') . '

' . __('Attempts by the browser to access some pages have returned a "not found (404)" error.', 'updraftplus').' '.__('This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism.', 'updraftplus'). '

'.__('Missing pages:', 'updraftplus').'

    '.__('Follow this link for more information', 'updraftplus').'.
    ', 'delete_error_log_prompt' => __('Please check the error log for more details', 'updraftplus'), 'existing_backups_limit' => defined('UPDRAFTPLUS_EXISTING_BACKUPS_LIMIT') ? UPDRAFTPLUS_EXISTING_BACKUPS_LIMIT : 100, 'remote_scan_warning' => __('Warning: if you continue, you will add all backups stored in the configured remote storage directory (whichever site they were created by).'), 'hosting_restriction_one_backup_permonth' => __("You have reached the monthly limit for the number of backups you can create at this time.", 'updraftplus').' '.__('Your hosting provider only allows you to take one backup per month.', 'updraftplus').' '.sprintf(__("Please contact your hosting company (%s) if you require further support.", 'updraftplus'), $hosting_company['name']), 'hosting_restriction_one_incremental_perday' => __("You have reached the daily limit for the number of incremental backups you can create at this time.", 'updraftplus').' '.__("Your hosting provider only allows you to take one incremental backup per day.", 'updraftplus').' '.sprintf(__("Please contact your hosting company (%s) if you require further support.", 'updraftplus'), $hosting_company['name']), 'hosting_restriction' => $updraftplus->is_hosting_backup_limit_reached(), 'conditional_logic' => array( 'day_of_the_week_options' => $updraftplus->list_days_of_the_week(), 'logic_options' => array( array( 'label' => __('on every backup', 'updraftplus'), 'value' => '', ), array( 'label' => __('if any of the following conditions are matched:', 'updraftplus'), 'value' => 'any', ), array( 'label' => __('if all of the following conditions are matched:', 'updraftplus'), 'value' => 'all', ), ), 'operand_options' => array( array( 'label' => __('Day of the week', 'updraftplus'), 'value' => 'day_of_the_week', ), array( 'label' => __('Day of the month', 'updraftplus'), 'value' => 'day_of_the_month', ), ), 'operator_options' => array( array( 'label' => __('is', 'updraftplus'), 'value' => 'is', ), array( 'label' => __('is not', 'updraftplus'), 'value' => 'is_not', ), ) ), 'php_max_input_vars_detected_warning' => __('The number of restore options that will be sent exceeds the configured maximum in your PHP configuration (max_input_vars).', 'updraftplus').' '.__('If you proceed with the restoration then some of the restore options will be lost and you may get unexpected results.', 'updraftplus').' '.__('See the browser console log for more information.', 'updraftplus'), 'remote_send_backup_info' => __('You can send an existing local backup to the remote site or create a new backup', 'updraftplus'), 'send_to_another_site' => __('Send a backup to another site', 'updraftplus'), 'send_existing_backup' => __('Send existing backup', 'updraftplus'), 'send_new_backup' => __('Send a new backup', 'updraftplus'), 'scanning_backups' => __('Searching for backups...', 'updraftplus'), 'back' => __('back', 'updraftplus'), 'expired_tokens' => __('This is usually caused by your dashboard page having been open a long time, and the included security tokens having since expired.', 'updraftplus'), 'reload_page' => __('Therefore, please reload the page.', 'updraftplus'), 'save_changes' => __('Save Changes', 'updraftplus'), 'close' => __('Close', 'updraftplus'), )); } /** * Despite the name, this fires irrespective of what capabilities the user has (even none - so be careful) */ public function core_upgrade_preamble() { // They need to be able to perform backups, and to perform updates if (!UpdraftPlus_Options::user_can_manage() || (!current_user_can('update_core') && !current_user_can('update_plugins') && !current_user_can('update_themes'))) return; if (!class_exists('UpdraftPlus_Addon_Autobackup')) { if (defined('UPDRAFTPLUS_NOADS_B')) return; } ?> do_notice('autobackup', 'autobackup', true)); } else { echo apply_filters('updraftplus_autobackup_blurb', ''); } ?> 'html5,flash,silverlight,html4', 'browse_button' => 'plupload-browse-button', 'container' => 'plupload-upload-ui', 'drop_element' => 'updraft-navtab-backups-content', 'file_data_name' => 'async-upload', 'multiple_queues' => true, 'max_file_size' => '100Gb', 'chunk_size' => $chunk_size.'b', 'url' => admin_url('admin-ajax.php', 'relative'), 'multipart' => true, 'multi_selection' => true, 'urlstream_upload' => true, // additional post data to send to our ajax hook 'multipart_params' => array( '_ajax_nonce' => wp_create_nonce('updraft-uploader'), 'action' => 'plupload_action' ) ); // WP 3.9 updated to plupload 2.0 - https://core.trac.wordpress.org/ticket/25663 if (is_file(ABSPATH.WPINC.'/js/plupload/Moxie.swf')) { $plupload_init['flash_swf_url'] = includes_url('js/plupload/Moxie.swf'); } else { $plupload_init['flash_swf_url'] = includes_url('js/plupload/plupload.flash.swf'); } if (is_file(ABSPATH.WPINC.'/js/plupload/Moxie.xap')) { $plupload_init['silverlight_xap_url'] = includes_url('js/plupload/Moxie.xap'); } else { $plupload_init['silverlight_xap_url'] = includes_url('js/plupload/plupload.silverlight.swf'); } ?> backups_dir_location(); $disk_free_space = function_exists('disk_free_space') ? @disk_free_space($updraft_dir) : false;// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if (false == $disk_free_space) return -1; return ($disk_free_space > $space) ? true : false; } /** * Adds the settings link under the plugin on the plugin screen. * * @param Array $links Set of links for the plugin, before being filtered * @param String $file File name (relative to the plugin directory) * @return Array filtered results */ public function plugin_action_links($links, $file) { if (is_array($links) && 'updraftplus/updraftplus.php' == $file) { $settings_link = ''.__("Settings", "updraftplus").''; array_unshift($links, $settings_link); $settings_link = ''.__("Premium / Pro Support", "updraftplus").''; array_unshift($links, $settings_link); } return $links; } public function admin_action_upgrade_pluginortheme() { if (isset($_GET['action']) && ('upgrade-plugin' == $_GET['action'] || 'upgrade-theme' == $_GET['action']) && !class_exists('UpdraftPlus_Addon_Autobackup') && !defined('UPDRAFTPLUS_NOADS_B')) { if ('upgrade-plugin' == $_GET['action']) { if (!current_user_can('update_plugins')) return; } else { if (!current_user_can('update_themes')) return; } $dismissed_until = UpdraftPlus_Options::get_updraft_option('updraftplus_dismissedautobackup', 0); if ($dismissed_until > time()) return; if ('upgrade-plugin' == $_GET['action']) { $title = __('Update Plugin');// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Passed though to wp-admin/admin-header.php $parent_file = 'plugins.php';// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Passed though to wp-admin/admin-header.php $submenu_file = 'plugins.php';// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Passed though to wp-admin/admin-header.php } else { $title = __('Update Theme');// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Passed though to wp-admin/admin-header.php $parent_file = 'themes.php';// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Passed though to wp-admin/admin-header.php $submenu_file = 'themes.php';// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Passed though to wp-admin/admin-header.php } include_once(ABSPATH.'wp-admin/admin-header.php'); if (!class_exists('UpdraftPlus_Notices')) updraft_try_include_file('includes/updraftplus-notices.php', 'include_once'); global $updraftplus_notices; $updraftplus_notices->do_notice('autobackup', 'autobackup'); } } /** * Show an administrative warning message, which can appear only on the UpdraftPlus plugin page * * @param String $message the HTML for the message (already escaped) * @param String $class CSS class to use for the div */ public function show_plugin_page_admin_warning($message, $class = 'updated') { global $pagenow, $plugin_page; if (UpdraftPlus_Options::admin_page() !== $pagenow || 'updraftplus' !== $plugin_page) return; $this->show_admin_warning($message, $class); } /** * Paint a div for a dashboard warning * * @param String $message - the HTML for the message (already escaped) * @param String $class - CSS class to use for the div */ public function show_admin_warning($message, $class = 'updated') { echo '
    '."

    $message

    "; } public function show_admin_warning_multiple_storage_options() { $this->show_admin_warning('UpdraftPlus: '.__('An error occurred when fetching storage module options: ', 'updraftplus').htmlspecialchars($this->storage_module_option_errors), 'error'); } public function show_admin_warning_unwritable() { // One of the translators has erroneously changed "Backup" into "Back up" (which means, "reverse" !) $unwritable_mess = htmlspecialchars(str_ireplace('Back Up', 'Backup', __("The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).", 'updraftplus'))); $this->show_admin_warning($unwritable_mess, "error"); } public function show_admin_nosettings_warning() { $this->show_admin_warning(''.__('Welcome to UpdraftPlus!', 'updraftplus').' '.str_ireplace('Back Up', 'Backup', __('To make a backup, just press the Backup Now button.', 'updraftplus')).' '.__('To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab.', 'updraftplus').'', 'updated notice is-dismissible'); } public function show_admin_warning_execution_time() { $this->show_admin_warning(''.__('Warning', 'updraftplus').': '.sprintf(__('The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)', 'updraftplus'), (int) @ini_get('max_execution_time'), 90));// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } public function show_admin_warning_disabledcron() { $ret = '

    '; $ret .= ''.__('Warning', 'updraftplus').': '.__('The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting.', 'updraftplus').' '.__('No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled.', 'updraftplus').' '.__('Go here for more information.', 'updraftplus').''; $ret .= '

    '; return $ret; } public function show_admin_warning_diskspace() { $this->show_admin_warning(''.__('Warning', 'updraftplus').': '.sprintf(__('You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups.', 'updraftplus'), '35 MB').' '.__('UpdraftPlus could well run out of space.', 'updraftplus').' '.__('Contact your the operator of your server (e.g. your web hosting company) to resolve this issue.', 'updraftplus')); } public function show_admin_warning_wordpressversion() { $this->show_admin_warning(''.__('Warning', 'updraftplus').': '.sprintf(__('UpdraftPlus does not officially support versions of WordPress before %s.', 'updraftplus'), '3.2').' '.__('It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress.', 'updraftplus')); } public function show_admin_warning_litespeed() { $this->show_admin_warning(''.__('Warning', 'updraftplus').': '.sprintf(__('Your website is hosted using the %s web server.', 'updraftplus'), 'LiteSpeed').' '.__('Please consult this FAQ if you have problems backing up.', 'updraftplus').'', 'updated admin-warning-litespeed notice is-dismissible'); } public function show_admin_warning_pclzip() { $this->show_admin_warning(''.__('Warning', 'updraftplus').': '.__('Neither the PHP zip module nor a zip executable are available on your webserver.', 'updraftplus').' '.__('Consequently, UpdraftPlus will use a built-in zip module (PclZip); this is significantly slower.', 'updraftplus').' '.__('To get faster backups, ask your web hosting provider how to turn on the PHP zip module on your hosting.', 'updraftplus').' '.__('Go here for more information.', 'updraftplus').'', 'updated admin-warning-pclzip notice is-dismissible'); } public function show_admin_debug_warning() { $this->show_admin_warning(''.__('Notice', 'updraftplus').': '.__('UpdraftPlus\'s debug mode is on.', 'updraftplus').' '.__('You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed.', 'updraftplus').' '.__('Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request.', 'updraftplus').''); } /** * Show dismissible PHPSecLib's admin notice on all admin pages, except UpdraftPlus plugin page */ public function show_admin_warning_phpseclib() { global $updraftplus, $pagenow, $plugin_page; static $printed = false; if ($printed) return; $dismissible = (UpdraftPlus_Options::admin_page() !== $pagenow || 'updraftplus' !== $plugin_page) && (!isset($_REQUEST['action']) || 'updraft_savesettings' !== $_REQUEST['action']); $class = ''; if ($dismissible && true == UpdraftPlus_Options::get_updraft_option('updraft_dismiss_phpseclib_notice', false)) return; if ($dismissible) $class = 'ud-phpseclib-notice is-dismissible'; $this->show_admin_warning(''.__('Warning', 'updraftplus').': '.$updraftplus->get_phpseclib_warning_msg(), "notice notice-warning $class"); $printed = true; } /** * Return an admin warning notice * * @param Integer $howmany * * @return String */ public function show_admin_warning_overdue_crons($howmany) { $ret = '

    '; $ret .= ''.__('Warning', 'updraftplus').': '.sprintf(__('WordPress has a number (%d) of scheduled tasks which are overdue.', 'updraftplus'), $howmany).' '.__('Unless this is a development site, this means that the scheduler in your WordPress install is not working properly.', 'updraftplus').' '.__('Read this page for a guide to possible causes and how to fix it.', 'updraftplus').''; $ret .= '

    '; return $ret; } /** * Output authorisation links for any un-authorised Dropbox settings instances */ public function show_admin_warning_dropbox() { $this->get_method_auth_link('dropbox'); } /** * Output authorisation links for any un-authorised Dropbox settings instances */ public function show_admin_warning_pcloud() { $this->get_method_auth_link('pcloud'); } /** * Output authorisation links for any un-authorised OneDrive settings instances */ public function show_admin_warning_onedrive() { $this->get_method_auth_link('onedrive'); } public function show_admin_warning_updraftvault() { $this->show_admin_warning(''.__('UpdraftPlus notice:', 'updraftplus').' '.sprintf(__('%s has been chosen for remote storage, but you are not currently connected.', 'updraftplus'), 'UpdraftVault').' '.sprintf(__('Go here to complete your settings for %s.', 'updraftplus'), 'UpdraftVault').'', 'updated'); } /** * Output authorisation links for any un-authorised Google Drive settings instances */ public function show_admin_warning_googledrive() { $this->get_method_auth_link('googledrive'); } /** * Output authorisation links for any un-authorised Google Cloud settings instances */ public function show_admin_warning_googlecloud() { $this->get_method_auth_link('googlecloud'); } /** * Show DreamObjects cluster migration warning */ public function show_admin_warning_dreamobjects() { $this->show_admin_warning(''.__('UpdraftPlus notice:', 'updraftplus').' '.sprintf(__('The %s endpoint is scheduled to shut down on the 1st October 2018.', 'updraftplus'), 'objects-us-west-1.dream.io').' '.__('You will need to switch to a different end-point and migrate your data before that date.', 'updraftplus').' '.sprintf(__('%sPlease see this article for more information%s'), '', ''), 'updated'); } /** * Show notice if the account connection attempted to register with UDC Cloud but could not due to lack of licences */ public function show_admin_warning_udc_couldnt_connect() { $this->show_admin_warning(''.__('Notice', 'updraftplus').': '.sprintf(__('Connection to your %s account was successful.', 'updraftplus'), 'UpdraftPlus.com').' '.sprintf(__('However, we were not able to register this site with %1$s, as there are no available %1$s licences on the account.', 'updraftplus'), 'UpdraftCentral Cloud'), 'updated'); } /** * Output warning of Microsoft Azure Germany shutdown */ public function show_admin_warning_azure_germany() { $this->show_admin_warning(''.__('UpdraftPlus notice', 'updraftplus').': '.sprintf(__('Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon.', 'updraftplus'), 'Azure Germany').' '.__('You will need to migrate to the Global endpoint in your UpdraftPlus settings.', 'updraftplus').' '.sprintf(__('For more information, please see: %s', 'updraftplus'), 'https://www.microsoft.com/en-us/cloud-platform/germany-cloud-regions'), 'updated'); } /** * Output warning of Microsoft OneDrive Germany shutdown */ public function show_admin_warning_onedrive_germany() { $this->show_admin_warning(''.__('UpdraftPlus notice', 'updraftplus').': '.sprintf(__('Due to the shutdown of the %1$s endpoint, support for %1$s will be ending soon.', 'updraftplus'), 'OneDrive Germany').' '.__('You will need to migrate to the Global endpoint in your UpdraftPlus settings.', 'updraftplus').' '.sprintf(__('For more information, please see: %s', 'updraftplus'), 'https://www.microsoft.com/en-us/cloud-platform/germany-cloud-regions'), 'updated'); } /** * This method will setup the storage object and get the authentication link ready to be output with the notice * * @param String $method - the remote storage method */ public function get_method_auth_link($method) { $storage_objects_and_ids = UpdraftPlus_Storage_Methods_Interface::get_storage_objects_and_ids(array($method)); $object = $storage_objects_and_ids[$method]['object']; foreach ($this->auth_instance_ids[$method] as $instance_id) { $object->set_instance_id($instance_id); $this->show_admin_warning(''.__('UpdraftPlus notice:', 'updraftplus').' '.$object->get_authentication_link(false, false), 'updated updraft_authenticate_'.$method); } } /** * Start a download of a backup. This method is called via the AJAX action updraft_download_backup. May die instead of returning depending upon the mode in which it is called. */ public function updraft_download_backup() { if (!UpdraftPlus_Options::user_can_manage()) die('Unauthorised.'); try { if (empty($_REQUEST['_wpnonce']) || !wp_verify_nonce($_REQUEST['_wpnonce'], 'updraftplus_download')) die('Unauthorised.'); if (empty($_REQUEST['timestamp']) || !is_numeric($_REQUEST['timestamp']) || empty($_REQUEST['type'])) die; $findexes = empty($_REQUEST['findex']) ? array(0) : $_REQUEST['findex']; $stage = empty($_REQUEST['stage']) ? '' : sanitize_text_field($_REQUEST['stage']); $file_path = empty($_REQUEST['filepath']) ? '' : $_REQUEST['filepath']; // This call may not actually return, depending upon what mode it is called in $result = $this->do_updraft_download_backup($findexes, (string) $_REQUEST['type'], (int) $_REQUEST['timestamp'], $stage, false, $file_path); // In theory, if a response was already sent, then Connection: close has been issued, and a Content-Length. However, in https://updraftplus.com/forums/topic/pclzip_err_bad_format-10-invalid-archive-structure/ a browser ignores both of these, and then picks up the second output and complains. if (empty($result['already_closed'])) echo json_encode($result); } catch (Exception $e) { $log_message = 'PHP Fatal Exception error ('.get_class($e).') has occurred during download backup. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during download backup. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); } die(); } /** * Ensure that a specified backup is present, downloading if necessary (or delete it, if the parameters so indicate). N.B. This function may die(), depending on the request being made in $stage * * @param Array $findexes - the index number of the backup archive requested * @param String $type - the entity type (e.g. 'plugins') being requested * @param Integer $timestamp - identifier for the backup being requested (UNIX epoch time) * @param Mixed $stage - the stage; valid values include (have not audited for other possibilities) at least 'delete' and 2. * @param Callable|Boolean $close_connection_callable - function used to close the connection to the caller; an array of data to return is passed. If false, then UpdraftPlus::close_browser_connection is called with a JSON version of the data. * @param String $file_path - an over-ride for where to download the file to (basename only) * * @return Array - summary of the results. May also just die. */ public function do_updraft_download_backup($findexes, $type, $timestamp, $stage, $close_connection_callable = false, $file_path = '') { if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. global $updraftplus; if (!is_array($findexes)) $findexes = array($findexes); $connection_closed = false; // Check that it is a known entity type; if not, die if ('db' != substr($type, 0, 2)) { $backupable_entities = $updraftplus->get_backupable_file_entities(true); foreach ($backupable_entities as $t => $info) { if ($type == $t) $type_match = true; } if (empty($type_match)) return array('result' => 'error', 'code' => 'no_such_type'); } $debug_mode = UpdraftPlus_Options::get_updraft_option('updraft_debug_mode'); // Retrieve the information from our backup history $backup_history = UpdraftPlus_Backup_History::get_history(); foreach ($findexes as $findex) { // This is a bit ugly; these variables get placed back into $_POST (where they may possibly have come from), so that UpdraftPlus::log() can detect exactly where to log the download status. $_POST['findex'] = $findex; $_POST['type'] = $type; $_POST['timestamp'] = (int) $timestamp; // We already know that no possible entities have an MD5 clash (even after 2 characters) // Also, there's nothing enforcing a requirement that nonces are hexadecimal $job_nonce = dechex($timestamp).$findex.substr(md5($type), 0, 3); // You need a nonce before you can set job data. And we certainly don't yet have one. $updraftplus->backup_time_nonce($job_nonce); // Set the job type before logging, as there can be different logging destinations $updraftplus->jobdata_set('job_type', 'download'); $updraftplus->jobdata_set('job_time_ms', $updraftplus->job_time_ms); // Base name $file = $backup_history[$timestamp][$type]; // Deal with multi-archive sets if (is_array($file)) $file = $file[$findex]; if (false !== strpos($file_path, '..')) { error_log("UpdraftPlus_Admin::do_updraft_download_backup : invalid file_path: $file_path"); return array('result' => __('Error: invalid path', 'updraftplus')); } if (!empty($file_path)) $file = $file_path; // Where it should end up being downloaded to $fullpath = $updraftplus->backups_dir_location().'/'.$file; if (!empty($file_path) && strpos(realpath($fullpath), realpath($updraftplus->backups_dir_location())) === false) { error_log("UpdraftPlus_Admin::do_updraft_download_backup : invalid fullpath: $fullpath"); return array('result' => __('Error: invalid path', 'updraftplus')); } if (2 == $stage) { $updraftplus->spool_file($fullpath); // We only want to remove if it was a temp file from the zip browser if (!empty($file_path)) @unlink($fullpath);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. // Do not return - we do not want the caller to add any output die; } if ('delete' == $stage) { @unlink($fullpath);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. $updraftplus->log("The file has been deleted ($file)"); return array('result' => 'deleted'); } // TODO: FIXME: Failed downloads may leave log files forever (though they are small) if ($debug_mode) $updraftplus->logfile_open($updraftplus->nonce); set_error_handler(array($updraftplus, 'php_error'), E_ALL & ~E_STRICT); $updraftplus->log("Requested to obtain file: timestamp=$timestamp, type=$type, index=$findex"); $itext = empty($findex) ? '' : $findex; $known_size = isset($backup_history[$timestamp][$type.$itext.'-size']) ? $backup_history[$timestamp][$type.$itext.'-size'] : 0; $services = isset($backup_history[$timestamp]['service']) ? $backup_history[$timestamp]['service'] : false; $services = $updraftplus->get_canonical_service_list($services); $updraftplus->jobdata_set('service', $services); // Fetch it from the cloud, if we have not already got it $needs_downloading = false; if (!file_exists($fullpath) && empty($services)) { $updraftplus->log('This file does not exist locally, and there is no remote storage for this file.'); } elseif (!file_exists($fullpath)) { // If the file doesn't exist and they're using one of the cloud options, fetch it down from the cloud. $needs_downloading = true; $updraftplus->log('File does not yet exist locally - needs downloading'); } elseif (is_array($services) && 1 == count($services) && 'email' == $services[0]) { $updraftplus->log(__('The email protocol does not allow a remote backup to be retrieved from an email that has been sent.', 'updraftplus').' '.__('Therefore, please download the attachment from the original backup email and upload it using the "Upload backup files" facility in the "Existing Backups" tab.', 'updraftplus'), 'error'); $updraftplus->jobdata_set('dlfile_'.$timestamp.'_'.$type.'_'.$findex, 'failed'); $updraftplus->jobdata_set('dlerrors_'.$timestamp.'_'.$type.'_'.$findex, $updraftplus->errors); return array('result' => 'error', 'code' => 'no_email_download'); } elseif ($known_size > 0 && filesize($fullpath) < $known_size) { $updraftplus->log("The file was found locally (".filesize($fullpath).") but did not match the size in the backup history ($known_size) - will resume downloading"); $needs_downloading = true; } elseif ($known_size > 0 && filesize($fullpath) > $known_size) { $updraftplus->log("The file was found locally (".filesize($fullpath).") but the size is larger than what is recorded in the backup history ($known_size) - will try to continue but if errors are encountered then check that the backup is correct"); } elseif ($known_size > 0) { $updraftplus->log('The file was found locally and matched the recorded size from the backup history ('.round($known_size/1024, 1).' KB)'); } else { $updraftplus->log('No file size was found recorded in the backup history. We will assume the local one is complete.'); $known_size = filesize($fullpath); } // The AJAX responder that updates on progress wants to see this $updraftplus->jobdata_set('dlfile_'.$timestamp.'_'.$type.'_'.$findex, "downloading:$known_size:$fullpath"); if ($needs_downloading) { // Update the "last modified" time to dissuade any other instances from thinking that no downloaders are active @touch($fullpath);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $msg = array( 'result' => 'needs_download', 'request' => array( 'type' => $type, 'timestamp' => $timestamp, 'findex' => $findex ) ); if ($close_connection_callable && is_callable($close_connection_callable) && !$connection_closed) { $connection_closed = true; call_user_func($close_connection_callable, $msg); } elseif (!$connection_closed) { $connection_closed = true; $updraftplus->close_browser_connection(json_encode($msg)); } UpdraftPlus_Storage_Methods_Interface::get_remote_file($services, $file, $timestamp); $needs_downloading = false; } // Now, be ready to spool the thing to the browser if (is_file($fullpath) && is_readable($fullpath) && !$needs_downloading) { // That message is then picked up by the AJAX listener $updraftplus->jobdata_set('dlfile_'.$timestamp.'_'.$type.'_'.$findex, 'downloaded:'.filesize($fullpath).":$fullpath"); $result = 'downloaded'; } elseif ($needs_downloading) { $updraftplus->jobdata_set('dlfile_'.$timestamp.'_'.$type.'_'.$findex, 'failed'); $updraftplus->jobdata_set('dlerrors_'.$timestamp.'_'.$type.'_'.$findex, $updraftplus->errors); $updraftplus->log('Remote fetch failed. File '.$fullpath.' did not exist or was unreadable. If you delete local backups then remote retrieval may have failed.'); $result = 'download_failed'; } else { $result = 'no_local_file'; } restore_error_handler(); if ($debug_mode) @fclose($updraftplus->logfile_handle);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if (!$debug_mode) @unlink($updraftplus->logfile_name);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } // The browser connection was possibly already closed, but not necessarily return array('result' => $result, 'already_closed' => $connection_closed); } /** * This is used as a callback * * @param Mixed $msg The data to be JSON encoded and sent back */ public function _updraftplus_background_operation_started($msg) { global $updraftplus; // The extra spaces are because of a bug seen on one server in handling of non-ASCII characters; see HS#11739 $updraftplus->close_browser_connection(json_encode($msg).' '); } public function updraft_ajax_handler() { $nonce = empty($_REQUEST['nonce']) ? '' : $_REQUEST['nonce']; if (!wp_verify_nonce($nonce, 'updraftplus-credentialtest-nonce') || empty($_REQUEST['subaction'])) die('Security check'); $subaction = $_REQUEST['subaction']; // Mitigation in case the nonce leaked to an unauthorised user if ('dismissautobackup' == $subaction) { if (!current_user_can('update_plugins') && !current_user_can('update_themes')) return; } elseif ('dismissexpiry' == $subaction || 'dismissdashnotice' == $subaction) { if (!current_user_can('update_plugins')) return; } else { if (!UpdraftPlus_Options::user_can_manage()) return; } // All others use _POST $data_in_get = array('get_log', 'get_fragment'); // UpdraftPlus_WPAdmin_Commands extends UpdraftPlus_Commands - i.e. all commands are in there if (!class_exists('UpdraftPlus_WPAdmin_Commands')) updraft_try_include_file('includes/class-wpadmin-commands.php', 'include_once'); $commands = new UpdraftPlus_WPAdmin_Commands($this); if (method_exists($commands, $subaction)) { $data = in_array($subaction, $data_in_get) ? $_GET : $_POST; // Undo WP's slashing of GET/POST data $data = UpdraftPlus_Manipulation_Functions::wp_unslash($data); // TODO: Once all commands come through here and through updraft_send_command(), the data should always come from this attribute (once updraft_send_command() is modified appropriately). if (isset($data['action_data'])) $data = $data['action_data']; try { $results = call_user_func(array($commands, $subaction), $data); } catch (Exception $e) { $log_message = 'PHP Fatal Exception error ('.get_class($e).') has occurred during '.$subaction.' subaction. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); die; // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during '.$subaction.' subaction. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); die; } if (is_wp_error($results)) { $results = array( 'result' => false, 'error_code' => $results->get_error_code(), 'error_message' => $results->get_error_message(), 'error_data' => $results->get_error_data(), ); } if (is_string($results)) { // A handful of legacy methods, and some which are directly the source for iframes, for which JSON is not appropriate. echo $results; } else { echo json_encode($results); } die; } // Below are all the commands not ported over into class-commands.php or class-wpadmin-commands.php if ('activejobs_list' == $subaction) { try { // N.B. Also called from autobackup.php // TODO: This should go into UpdraftPlus_Commands, once the add-ons have been ported to use updraft_send_command() echo json_encode($this->get_activejobs_list(UpdraftPlus_Manipulation_Functions::wp_unslash($_GET))); } catch (Exception $e) { $log_message = 'PHP Fatal Exception error ('.get_class($e).') has occurred during get active job list. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during get active job list. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); } } elseif ('httpget' == $subaction) { try { // httpget $curl = empty($_REQUEST['curl']) ? false : true; echo $this->http_get(UpdraftPlus_Manipulation_Functions::wp_unslash($_REQUEST['uri']), $curl); // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during http get. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); } catch (Exception $e) { $log_message = 'PHP Fatal Exception error ('.get_class($e).') has occurred during http get. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); } } elseif ('doaction' == $subaction && !empty($_REQUEST['subsubaction']) && 'updraft_' == substr($_REQUEST['subsubaction'], 0, 8)) { $subsubaction = $_REQUEST['subsubaction']; try { // These generally echo and die - they will need further work to port to one of the command classes. Some may already have equivalents in UpdraftPlus_Commands, if they are used from UpdraftCentral. do_action(UpdraftPlus_Manipulation_Functions::wp_unslash($subsubaction), $_REQUEST); } catch (Exception $e) { $log_message = 'PHP Fatal Exception error ('.get_class($e).') has occurred during doaction subaction with '.$subsubaction.' subsubaction. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); die; // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during doaction subaction with '.$subsubaction.' subsubaction. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); die; } } die; } /** * Run a credentials test for the indicated remote storage module * * @param Array $test_settings The test parameters, including the method itself indicated in the key 'method' * @param Boolean $return_instead_of_echo Whether to return or echo the results. N.B. More than just the results to echo will be returned * @return Array|Void - the results, if they are being returned (rather than echoed). Keys: 'output' (the output), 'data' (other data) */ public function do_credentials_test($test_settings, $return_instead_of_echo = false) { $method = (!empty($test_settings['method']) && preg_match("/^[a-z0-9]+$/", $test_settings['method'])) ? $test_settings['method'] : ""; $objname = "UpdraftPlus_BackupModule_$method"; $this->logged = array(); // TODO: Add action for WP HTTP SSL stuff set_error_handler(array($this, 'get_php_errors'), E_ALL & ~E_STRICT); if (!class_exists($objname)) include_once(UPDRAFTPLUS_DIR."/methods/$method.php"); $ret = ''; $data = null; // TODO: Add action for WP HTTP SSL stuff if (method_exists($objname, "credentials_test")) { $obj = new $objname; if ($return_instead_of_echo) ob_start(); $data = $obj->credentials_test($test_settings); if ($return_instead_of_echo) $ret .= ob_get_clean(); } if (count($this->logged) >0) { $ret .= "\n\n".__('Messages:', 'updraftplus')."\n"; foreach ($this->logged as $err) { $ret .= "* $err\n"; } if (!$return_instead_of_echo) echo $ret; } restore_error_handler(); if ($return_instead_of_echo) return array('output' => $ret, 'data' => $data); } /** * Delete a backup set, whilst respecting limits on how much to delete in one go * * @uses remove_backup_set_cleanup() * @param Array $opts - deletion options; with keys backup_timestamp, delete_remote, [remote_delete_limit] * @return Array - as from remove_backup_set_cleanup() */ public function delete_set($opts) { global $updraftplus; if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $backups = UpdraftPlus_Backup_History::get_history(); $timestamps = (string) $opts['backup_timestamp']; $remote_delete_limit = (isset($opts['remote_delete_limit']) && $opts['remote_delete_limit'] > 0) ? (int) $opts['remote_delete_limit'] : PHP_INT_MAX; $processed_instance_ids = !empty($opts['processed_instance_ids']) && is_array($opts['processed_instance_ids']) ? $opts['processed_instance_ids'] : array(); $is_continuation = $opts['is_continuation']; $timestamps = explode(',', $timestamps); $deleted_timestamps = ''; $delete_remote = empty($opts['delete_remote']) ? false : true; // You need a nonce before you can set job data. And we certainly don't yet have one. $updraftplus->backup_time_nonce(); // Set the job type before logging, as there can be different logging destinations $updraftplus->jobdata_set('job_type', 'delete'); $updraftplus->jobdata_set('job_time_ms', $updraftplus->job_time_ms); if (UpdraftPlus_Options::get_updraft_option('updraft_debug_mode')) { $updraftplus->logfile_open($updraftplus->nonce); set_error_handler(array($updraftplus, 'php_error'), E_ALL & ~E_STRICT); } $updraft_dir = $updraftplus->backups_dir_location(); $backupable_entities = $updraftplus->get_backupable_file_entities(true, true); $local_deleted = 0; $remote_deleted = 0; $sets_removed = 0; $deletion_errors = array(); $timestamps_list = implode(',', $timestamps); if (!$is_continuation) { foreach ($timestamps as $i => $timestamp) { unset($backups[$timestamp]['instance_file_deletions_error']); } } foreach ($timestamps as $i => $timestamp) { if (!isset($backups[$timestamp])) { return array('result' => 'error', 'message' => __('Backup set not found', 'updraftplus')); } $nonce = isset($backups[$timestamp]['nonce']) ? $backups[$timestamp]['nonce'] : ''; $delete_from_service = array(); if ($delete_remote) { // Locate backup set if (isset($backups[$timestamp]['service'])) { // Convert to an array so that there is no uncertainty about how to process it $services = is_string($backups[$timestamp]['service']) ? array($backups[$timestamp]['service']) : $backups[$timestamp]['service']; if (is_array($services)) { foreach ($services as $service) { if (is_string($service) && 'none' != $service && 'email' != $service) $delete_from_service[] = $service; } } } } $delete_from_service = array_unique($delete_from_service); // it's possible that the same service was added more than one thus deleting already-done files over and over, we've seen a case when using SFTP service with two instance IDs and when rescanning remote storage will make two SFTP services appearing in the associated raw backup history $files_to_delete = array(); foreach ($backupable_entities as $key => $ent) { if (isset($backups[$timestamp][$key])) { $files_to_delete[$key] = $backups[$timestamp][$key]; } } // Delete DB foreach ($backups[$timestamp] as $key => $value) { if ('db' == strtolower(substr($key, 0, 2)) && '-size' != substr($key, -5, 5)) { $files_to_delete[$key] = $backups[$timestamp][$key]; } } // Also delete the log if ($nonce && !UpdraftPlus_Options::get_updraft_option('updraft_debug_mode')) { $files_to_delete['log'] = "log.$nonce.txt"; } $updraftplus->register_wp_http_option_hooks(); $start_time_for_file_deletions = microtime(true); foreach ($files_to_delete as $key => $files) { if (is_string($files)) $files = array($files); foreach ($files as $file) { if (is_file($updraft_dir.'/'.$file) && @unlink($updraft_dir.'/'.$file)) $local_deleted++;// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } if ('log' != $key && count($delete_from_service) > 0) { $entity_total_files = count($files); $entity_total_instances = 0; $entity_remote_deleted = 0; $storage_objects_and_ids = UpdraftPlus_Storage_Methods_Interface::get_storage_objects_and_ids($delete_from_service); foreach ($delete_from_service as $service) { if ('email' == $service || 'none' == $service || !$service) continue; $deleted = -1; $remote_obj = $storage_objects_and_ids[$service]['object']; $instance_settings = $storage_objects_and_ids[$service]['instance_settings']; $this->backups_instance_ids = empty($backups[$timestamp]['service_instance_ids'][$service]) ? array() : $backups[$timestamp]['service_instance_ids'][$service]; if (empty($instance_settings)) continue; uksort($instance_settings, array($this, 'instance_ids_sort')); foreach ($instance_settings as $instance_id => $options) { if (in_array($timestamp.'-'.$instance_id.'-'.$key, $processed_instance_ids)) continue; // see the unset($backups[$timestamp]['instance_file_deletions_error']); few lines below to see why we use this $entity_total_instances++; $remote_obj->set_options($options, false, $instance_id); foreach ($files as $file) { $hashed_file = md5($instance_id.$file); if (isset($backups[$timestamp]['instance_file_deletions_done']) && in_array($hashed_file, $backups[$timestamp]['instance_file_deletions_done'])) continue; if ($is_continuation && isset($backups[$timestamp]['instance_file_deletions_error']) && in_array($hashed_file, $backups[$timestamp]['instance_file_deletions_error'])) continue; // if it's a continuation then we don't want to retry deleting the same file over and over $deleted = $remote_obj->delete($file); if (true === $deleted) { $backups[$timestamp]['instance_file_deletions_done'][] = $hashed_file; $remote_deleted++; $entity_remote_deleted++; } else { // Handle abstracted error codes/return fail status. Including handle array/objects returned if (is_object($deleted) || is_array($deleted)) $deleted = false; if (!array_key_exists($instance_id, $deletion_errors)) { $deletion_errors[$instance_id] = array('error_code' => $deleted, 'service' => $service); } $backups[$timestamp]['instance_file_deletions_error'][] = $hashed_file; } if (floor(microtime(true)-$start_time_for_file_deletions) >= $remote_delete_limit) { return $this->remove_backup_set_cleanup(false, $backups, $local_deleted, $remote_deleted, $sets_removed, $timestamps_list, $deleted_timestamps, $deletion_errors, $processed_instance_ids); } } $processed_instance_ids[] = $timestamp.'-'.$instance_id.'-'.$key; } } if ($entity_total_files * $entity_total_instances === $entity_remote_deleted) { unset($backups[$timestamp][$key]); for ($file_index=1; $file_index < $entity_total_files; $file_index++) { unset($backups[$timestamp][$key.$file_index.'-size']); if (isset($backups[$timestamp]['checksums']) && is_array($backups[$timestamp]['checksums'])) { foreach (array_keys($backups[$timestamp]['checksums']) as $algo) { unset($backups[$timestamp]['checksums'][$algo][$key.$file_index]); } } } unset($backups[$timestamp][$key.'-size']); if (isset($backups[$timestamp]['checksums']) && is_array($backups[$timestamp]['checksums'])) { foreach (array_keys($backups[$timestamp]['checksums']) as $algo) { unset($backups[$timestamp]['checksums'][$algo][$key."0"]); } } } } } if (empty($backups[$timestamp]['instance_file_deletions_error'])) { unset($backups[$timestamp]); unset($timestamps[$i]); if ('' != $deleted_timestamps) $deleted_timestamps .= ','; $deleted_timestamps .= $timestamp; $timestamps_list = implode(',', $timestamps); $sets_removed++; } else { // we already have $processed_instance_ids variable that stores all already-done instances and it's going to be used during the continuation as long as it gets returned to the JS caller // so we unset the instance_file_deletions_error variable to prevent backup history from swelling unset($backups[$timestamp]['instance_file_deletions_error']); } } return $this->remove_backup_set_cleanup(true, $backups, $local_deleted, $remote_deleted, $sets_removed, $timestamps_list, $deleted_timestamps, $deletion_errors); } /** * This function sorts the array of instance ids currently saved so that any instance id that is in both the saved settings and the backup history move to the top of the array, as these are likely to work. Then values that don't appear in the backup history move to the bottom. * * @param String $a - the first instance id * @param String $b - the second instance id * @return Integer - returns an integer to indicate what position the $b value should be moved in */ public function instance_ids_sort($a, $b) { if (in_array($a, $this->backups_instance_ids)) { if (in_array($b, $this->backups_instance_ids)) return 0; return -1; } return in_array($b, $this->backups_instance_ids) ? 1 : 0; } /** * Called by self::delete_set() to finish up before returning (whether the complete deletion is finished or not) * * @param Boolean $delete_complete - whether the whole set is now gone (i.e. last round) * @param Array $backups - the backup history * @param Integer $local_deleted - how many backup archives were deleted from local storage * @param Integer $remote_deleted - how many backup archives were deleted from remote storage * @param Integer $sets_removed - how many complete sets were removed * @param String $timestamps - a csv of remaining timestamps * @param String $deleted_timestamps - a csv of deleted timestamps * @param Array $deletion_errors - an array of abstracted deletion errors, consisting of [error_code, service, instance]. For user notification purposes only, main error logging occurs at service. * @param Array $processed_instance_ids - a list of processed instance IDs prefixed with their corresponding timestamp * * @return Array - information on the status, suitable for returning to the UI */ public function remove_backup_set_cleanup($delete_complete, $backups, $local_deleted, $remote_deleted, $sets_removed, $timestamps, $deleted_timestamps, $deletion_errors = array(), $processed_instance_ids = array()) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- $deletion_errors was used below but the code has been commented out. Can both be removed? global $updraftplus; $updraftplus->register_wp_http_option_hooks(false); UpdraftPlus_Backup_History::save_history($backups); $updraftplus->log("Local files deleted: $local_deleted. Remote files deleted: $remote_deleted"); /* Disable until next release $error_messages = array(); $storage_details = array(); foreach ($deletion_errors as $instance => $entry) { $service = $entry['service']; if (!array_key_exists($service, $storage_details)) { // As errors from multiple instances of a service can be present, store the service storage object for possible use later $new_service = UpdraftPlus_Storage_Methods_Interface::get_storage_objects_and_ids(array($service)); $storage_details = array_merge($storage_details, $new_service); } $intance_label = !empty($storage_details[$service]['instance_settings'][$instance]['instance_label']) ? $storage_details[$service]['instance_settings'][$instance]['instance_label'] : $service; switch ($entry['error_code']) { case 'authentication_fail': $error_messages[] = sprintf(__("The authentication failed for '%s'.", 'updraftplus').' '.__('Please check your credentials.', 'updraftplus'), $intance_label); break; case 'service_unavailable': $error_messages[] = sprintf(__("We were unable to access '%s'.", 'updraftplus').' '.__('Service unavailable.', 'updraftplus'), $intance_label); break; case 'container_access_error': $error_messages[] = sprintf(__("We were unable to access the folder/container for '%s'.", 'updraftplus').' '.__('Please check your permissions.', 'updraftplus'), $intance_label); break; case 'file_access_error': $error_messages[] = sprintf(__("We were unable to access a file on '%s'.", 'updraftplus').' '.__('Please check your permissions.', 'updraftplus'), $intance_label); break; case 'file_delete_error': $error_messages[] = sprintf(__("We were unable to delete a file on '%s'.", 'updraftplus').' '.__('The file may no longer exist or you may not have permission to delete.', 'updraftplus'), $intance_label); break; default: $error_messages[] = sprintf(__("An error occurred while attempting to delete from '%s'.", 'updraftplus'), $intance_label); break; } } */ // $error_message_string = implode("\n", $error_messages); $error_message_string = ''; if ($delete_complete) { $set_message = __('Backup sets removed:', 'updraftplus'); $local_message = __('Local files deleted:', 'updraftplus'); $remote_message = __('Remote files deleted:', 'updraftplus'); if (UpdraftPlus_Options::get_updraft_option('updraft_debug_mode')) { restore_error_handler(); } return array('result' => 'success', 'set_message' => $set_message, 'local_message' => $local_message, 'remote_message' => $remote_message, 'backup_sets' => $sets_removed, 'backup_local' => $local_deleted, 'backup_remote' => $remote_deleted, 'deleted_timestamps' => $deleted_timestamps, 'error_messages' => $error_message_string); } else { return array('result' => 'continue', 'backup_local' => $local_deleted, 'backup_remote' => $remote_deleted, 'backup_sets' => $sets_removed, 'timestamps' => $timestamps, 'deleted_timestamps' => $deleted_timestamps, 'error_messages' => $error_message_string, 'processed_instance_ids' => $processed_instance_ids); } } /** * Get the history status HTML and other information * * @param Boolean $rescan - whether to rescan local storage * @param Boolean $remotescan - whether to also rescan remote storage * @param Boolean $debug - whether to return debugging information also * @param Integer $backup_count - a count of the total backups we want to display on the front end for use by UpdraftPlus_Backup_History::existing_backup_table() * * @return Array - the information requested */ public function get_history_status($rescan, $remotescan, $debug = false, $backup_count = 0) { global $updraftplus; if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if ($rescan) $messages = UpdraftPlus_Backup_History::rebuild($remotescan, false, $debug); $backup_history = UpdraftPlus_Backup_History::get_history(); $output = UpdraftPlus_Backup_History::existing_backup_table($backup_history, $backup_count); $data = array(); if (!empty($messages) && is_array($messages)) { $noutput = ''; foreach ($messages as $msg) { if (is_string($msg)) { $noutput .= '
  • '.$msg.'
  • '; } else { if (empty($msg['code']) || 'file-listing' != $msg['code']) { $noutput .= '
  • '.(empty($msg['desc']) ? '' : $msg['desc'].': ').''.$msg['message'].'
  • '; } if (!empty($msg['data'])) { $key = $msg['method'].'-'.$msg['service_instance_id']; $data[$key] = $msg['data']; } } } if ($noutput) { $output = '
      '.$noutput.'
    '.$output; } } $logs_exist = (false !== strpos($output, 'downloadlog')); if (!$logs_exist) { list($mod_time, $log_file, $nonce) = $updraftplus->last_modified_log();// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused parameter is present because the method returns an array. if ($mod_time) $logs_exist = true; } return apply_filters('updraftplus_get_history_status_result', array( 'n' => __('Existing backups', 'updraftplus').' '.count($backup_history).'', 't' => $output, // table 'data' => $data, 'cksum' => md5($output), 'logs_exist' => $logs_exist, 'web_server_disk_space' => UpdraftPlus_Filesystem_Functions::web_server_disk_space(true), )); } /** * Stop an active backup job * * @param String $job_id - job ID of the job to stop * * @return Array - information on the outcome of the attempt */ public function activejobs_delete($job_id) { if (preg_match("/^[0-9a-f]{12}$/", $job_id)) { global $updraftplus; $cron = get_option('cron', array()); $found_it = false; $jobdata = $updraftplus->jobdata_getarray($job_id); if (!empty($jobdata['clone_job']) && !empty($jobdata['clone_id']) && !empty($jobdata['secret_token'])) { $clone_id = $jobdata['clone_id']; $secret_token = $jobdata['secret_token']; $updraftplus->get_updraftplus_clone()->clone_failed_delete(array('clone_id' => $clone_id, 'secret_token' => $secret_token)); } $updraft_dir = $updraftplus->backups_dir_location(); if (file_exists($updraft_dir.'/log.'.$job_id.'.txt')) touch($updraft_dir.'/deleteflag-'.$job_id.'.txt'); foreach ($cron as $time => $job) { if (!isset($job['updraft_backup_resume'])) continue; foreach ($job['updraft_backup_resume'] as $hook => $info) { if (isset($info['args'][1]) && $info['args'][1] == $job_id) { $args = $cron[$time]['updraft_backup_resume'][$hook]['args']; wp_unschedule_event($time, 'updraft_backup_resume', $args); if (!$found_it) return array('ok' => 'Y', 'c' => 'deleted', 'm' => __('Job deleted', 'updraftplus')); $found_it = true; } } } } if (!$found_it) return array('ok' => 'N', 'c' => 'not_found', 'm' => __('Could not find that job - perhaps it has already finished?', 'updraftplus')); } /** * Input: an array of items * Each item is in the format: ,,(,) * The 'base' is not for us: we just pass it straight back * * @param array $downloaders Array of Items to download * @return array */ public function get_download_statuses($downloaders) { global $updraftplus; $download_status = array(); foreach ($downloaders as $downloader) { // prefix, timestamp, entity, index if (preg_match('/^([^,]+),(\d+),([-a-z]+|db[0-9]+),(\d+)$/', $downloader, $matches)) { $findex = (empty($matches[4])) ? '0' : $matches[4]; $updraftplus->nonce = dechex($matches[2]).$findex.substr(md5($matches[3]), 0, 3); $updraftplus->jobdata_reset(); $status = $this->download_status($matches[2], $matches[3], $matches[4]); if (is_array($status)) { $status['base'] = $matches[1]; $status['timestamp'] = $matches[2]; $status['what'] = $matches[3]; $status['findex'] = $findex; $download_status[] = $status; } } } return $download_status; } /** * Get, as HTML output, a list of active jobs * * @param Array $request - details on the request being made (e.g. extra info to include) * * @return String */ public function get_activejobs_list($request) { global $updraftplus; $download_status = empty($request['downloaders']) ? array() : $this->get_download_statuses(explode(':', $request['downloaders'])); if (!empty($request['oneshot'])) { $job_id = get_site_option('updraft_oneshotnonce', false); // print_active_job() for one-shot jobs that aren't in cron $active_jobs = (false === $job_id) ? '' : $this->print_active_job($job_id, true); } elseif (!empty($request['thisjobonly'])) { // print_active_jobs() is for resumable jobs where we want the cron info to be included in the output $active_jobs = $this->print_active_jobs($request['thisjobonly']); } else { $active_jobs = $this->print_active_jobs(); } $logupdate_array = array(); if (!empty($request['log_fetch'])) { if (isset($request['log_nonce'])) { $log_nonce = $request['log_nonce']; $log_pointer = isset($request['log_pointer']) ? absint($request['log_pointer']) : 0; $logupdate_array = $this->fetch_log($log_nonce, $log_pointer); } } $res = array( // We allow the front-end to decide what to do if there's nothing logged - we used to (up to 1.11.29) send a pre-defined message 'l' => htmlspecialchars(UpdraftPlus_Options::get_updraft_lastmessage()), 'j' => $active_jobs, 'ds' => $download_status, 'u' => $logupdate_array, 'automatic_updates' => $updraftplus->is_automatic_updating_enabled() ); $res['hosting_restriction'] = $updraftplus->is_hosting_backup_limit_reached(); return $res; } /** * Start a new backup * * @param Array $request * @param Boolean|Callable $close_connection_callable */ public function request_backupnow($request, $close_connection_callable = false) { global $updraftplus; $abort_before_booting = false; $backupnow_nocloud = !empty($request['backupnow_nocloud']); $request['incremental'] = !empty($request['incremental']); $entities = !empty($request['onlythisfileentity']) ? explode(',', $request['onlythisfileentity']) : array(); $remote_storage_instances = array(); // if only_these_cloud_services is not an array then all connected remote storage locations are being backed up to and we don't need to do this if (!empty($request['only_these_cloud_services']) && is_array($request['only_these_cloud_services'])) { $remote_storage_locations = $request['only_these_cloud_services']; foreach ($remote_storage_locations as $key => $value) { /* This name key inside the value array is the remote storage method name prefixed by 31 characters (updraft_include_remote_service_) so we need to remove them to get the actual name, then the value key inside the value array has the instance id. */ $remote_storage_instances[substr($value['name'], 31)][$key] = $value['value']; } } $incremental = $request['incremental'] ? apply_filters('updraftplus_prepare_incremental_run', false, $entities) : false; // The call to backup_time_nonce() allows us to know the nonce in advance, and return it $nonce = $updraftplus->backup_time_nonce(); $msg = array( 'nonce' => $nonce, 'm' => apply_filters('updraftplus_backupnow_start_message', ''.__('Start backup', 'updraftplus').': '.htmlspecialchars(__('OK.', 'updraftplus').' '.__('You should soon see activity in the "Last log message" field below.', 'updraftplus')), $nonce) ); if (!empty($request['backup_nonce']) && 'current' != $request['backup_nonce']) $msg['nonce'] = $request['backup_nonce']; if (!empty($request['incremental']) && !$incremental) { $msg = array( 'error' => __('No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to.', 'updraftplus').' '.__('Aborting this backup.', 'updraftplus') ); $abort_before_booting = true; } if ($close_connection_callable && is_callable($close_connection_callable)) { call_user_func($close_connection_callable, $msg); } else { $updraftplus->close_browser_connection(json_encode($msg)); } if ($abort_before_booting) die; $options = array('nocloud' => $backupnow_nocloud, 'use_nonce' => $nonce); if (!empty($request['onlythisfileentity']) && is_string($request['onlythisfileentity'])) { // Something to see in the 'last log' field when it first appears, before the backup actually starts $updraftplus->log(__('Start backup', 'updraftplus')); $options['restrict_files_to_override'] = explode(',', $request['onlythisfileentity']); } if ($request['incremental'] && !$incremental) { $updraftplus->log('An incremental backup was requested but no suitable backup found to add increments to; will proceed with a new backup'); $request['incremental'] = false; } if (!empty($request['extradata'])) $options['extradata'] = $request['extradata']; if (!empty($remote_storage_instances)) $options['remote_storage_instances'] = $remote_storage_instances; $options['always_keep'] = !empty($request['always_keep']); $event = empty($request['backupnow_nofiles']) ? (empty($request['backupnow_nodb']) ? 'updraft_backupnow_backup_all' : 'updraft_backupnow_backup') : 'updraft_backupnow_backup_database'; do_action($event, apply_filters('updraft_backupnow_options', $options, $request)); } /** * Get the contents of a log file * * @param String $backup_nonce - the backup id; or empty, for the most recently modified * @param Integer $log_pointer - the byte count to fetch from * @param String $output_format - the format to return in; allowed as 'html' (which will escape HTML entities in what is returned) and 'raw' * * @return String */ public function fetch_log($backup_nonce = '', $log_pointer = 0, $output_format = 'html') { global $updraftplus; if (empty($backup_nonce)) { list($mod_time, $log_file, $nonce) = $updraftplus->last_modified_log();// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused parameter is present because the method returns an array. } else { $nonce = $backup_nonce; } if (!preg_match('/^[0-9a-f]+$/', $nonce)) die('Security check'); $log_content = ''; $new_pointer = $log_pointer; if (!empty($nonce)) { $updraft_dir = $updraftplus->backups_dir_location(); $potential_log_file = $updraft_dir."/log.".$nonce.".txt"; if (is_readable($potential_log_file)) { $templog_array = array(); $log_file = fopen($potential_log_file, "r"); if ($log_pointer > 0) fseek($log_file, $log_pointer); while (($buffer = fgets($log_file, 4096)) !== false) { $templog_array[] = $buffer; } if (!feof($log_file)) { $templog_array[] = __('Error: unexpected file read fail', 'updraftplus'); } $new_pointer = ftell($log_file); $log_content = implode("", $templog_array); } else { $log_content .= __('The log file could not be read.', 'updraftplus'); } } else { $log_content .= __('The log file could not be read.', 'updraftplus'); } if ('html' == $output_format) $log_content = htmlspecialchars($log_content); $ret_array = array( 'log' => $log_content, 'nonce' => $nonce, 'pointer' => $new_pointer ); return $ret_array; } /** * Get a count for the number of overdue cron jobs * * @return Integer - how many cron jobs are overdue */ public function howmany_overdue_crons() { $how_many_overdue = 0; if (function_exists('_get_cron_array') || (is_file(ABSPATH.WPINC.'/cron.php') && include_once(ABSPATH.WPINC.'/cron.php') && function_exists('_get_cron_array'))) { $crons = _get_cron_array(); if (is_array($crons)) { $timenow = time(); foreach ($crons as $jt => $job) { if ($jt < $timenow) $how_many_overdue++; } } } return $how_many_overdue; } public function get_php_errors($errno, $errstr, $errfile, $errline) { global $updraftplus; if (0 == error_reporting()) return true; $logline = $updraftplus->php_error_to_logline($errno, $errstr, $errfile, $errline); if (false !== $logline) $this->logged[] = $logline; // Don't pass it up the chain (since it's going to be output to the user always) return true; } private function download_status($timestamp, $type, $findex) { global $updraftplus; $response = array('m' => $updraftplus->jobdata_get('dlmessage_'.$timestamp.'_'.$type.'_'.$findex).'
    '); if ($file = $updraftplus->jobdata_get('dlfile_'.$timestamp.'_'.$type.'_'.$findex)) { if ('failed' == $file) { $response['e'] = __('Download failed', 'updraftplus').'
    '; $response['failed'] = true; $errs = $updraftplus->jobdata_get('dlerrors_'.$timestamp.'_'.$type.'_'.$findex); if (is_array($errs) && !empty($errs)) { $response['e'] .= '
      '; foreach ($errs as $err) { if (is_array($err)) { $response['e'] .= '
    • '.htmlspecialchars($err['message']).'
    • '; } else { $response['e'] .= '
    • '.htmlspecialchars($err).'
    • '; } } $response['e'] .= '
    '; } } elseif (preg_match('/^downloaded:(\d+):(.*)$/', $file, $matches) && file_exists($matches[2])) { $response['p'] = 100; $response['f'] = $matches[2]; $response['s'] = (int) $matches[1]; $response['t'] = (int) $matches[1]; $response['m'] = __('File ready.', 'updraftplus'); if ('db' != substr($type, 0, 2)) $response['can_show_contents'] = true; } elseif (preg_match('/^downloading:(\d+):(.*)$/', $file, $matches) && file_exists($matches[2])) { // Convert to bytes $response['f'] = $matches[2]; $total_size = (int) max($matches[1], 1); $cur_size = filesize($matches[2]); $response['s'] = $cur_size; $file_age = time() - filemtime($matches[2]); if ($file_age > 20) $response['a'] = time() - filemtime($matches[2]); $response['t'] = $total_size; $response['m'] .= __("Download in progress", 'updraftplus').' ('.round($cur_size/1024).' / '.round(($total_size/1024)).' KB)'; $response['p'] = round(100*$cur_size/$total_size); } else { $response['m'] .= __('No local copy present.', 'updraftplus'); $response['p'] = 0; $response['s'] = 0; $response['t'] = 1; } } return $response; } /** * Used with the WP filter upload_dir to adjust where uploads go to when uploading a backup * * @param Array $uploads - pre-filter array * * @return Array - filtered array */ public function upload_dir($uploads) { global $updraftplus; $updraft_dir = $updraftplus->backups_dir_location(); if (is_writable($updraft_dir)) $uploads['path'] = $updraft_dir; return $uploads; } /** * We do actually want to over-write * * @param String $dir Directory * @param String $name Name * @param String $ext File extension * * @return String */ public function unique_filename_callback($dir, $name, $ext) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found -- Filter use return $name.$ext; } public function sanitize_file_name($filename) { // WordPress 3.4.2 on multisite (at least) adds in an unwanted underscore return preg_replace('/-db(.*)\.gz_\.crypt$/', '-db$1.gz.crypt', $filename); } /** * Runs upon the WordPress action plupload_action */ public function plupload_action() { global $updraftplus; if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if (!UpdraftPlus_Options::user_can_manage()) return; check_ajax_referer('updraft-uploader'); $updraft_dir = $updraftplus->backups_dir_location(); if (!@UpdraftPlus_Filesystem_Functions::really_is_writable($updraft_dir)) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. echo json_encode(array('e' => sprintf(__("Backup directory (%s) is not writable, or does not exist.", 'updraftplus'), $updraft_dir).' '.__('You will find more information about this in the Settings section.', 'updraftplus'))); exit; } add_filter('upload_dir', array($this, 'upload_dir')); add_filter('sanitize_file_name', array($this, 'sanitize_file_name')); // handle file upload $farray = array('test_form' => true, 'action' => 'plupload_action'); $farray['test_type'] = false; $farray['ext'] = 'x-gzip'; $farray['type'] = 'application/octet-stream'; if (!isset($_POST['chunks'])) { $farray['unique_filename_callback'] = array($this, 'unique_filename_callback'); } $status = wp_handle_upload( $_FILES['async-upload'], $farray ); remove_filter('upload_dir', array($this, 'upload_dir')); remove_filter('sanitize_file_name', array($this, 'sanitize_file_name')); if (isset($status['error'])) { echo json_encode(array('e' => $status['error'])); exit; } // If this was the chunk, then we should instead be concatenating onto the final file if (isset($_POST['chunks']) && isset($_POST['chunk']) && preg_match('/^[0-9]+$/', $_POST['chunk'])) { $final_file = basename($_POST['name']); if (!rename($status['file'], $updraft_dir.'/'.$final_file.'.'.$_POST['chunk'].'.zip.tmp')) { @unlink($status['file']);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. echo json_encode(array('e' => sprintf(__('Error: %s', 'updraftplus'), __('This file could not be uploaded', 'updraftplus')))); exit; } $status['file'] = $updraft_dir.'/'.$final_file.'.'.$_POST['chunk'].'.zip.tmp'; } $response = array(); if (!isset($_POST['chunks']) || (isset($_POST['chunk']) && preg_match('/^[0-9]+$/', $_POST['chunk']) && $_POST['chunk'] == $_POST['chunks']-1) && isset($final_file)) { if (!preg_match('/^log\.[a-f0-9]{12}\.txt/i', $final_file) && !preg_match('/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-([\-a-z]+)([0-9]+)?(\.(zip|gz|gz\.crypt))?$/i', $final_file, $matches)) { $accept = apply_filters('updraftplus_accept_archivename', array()); if (is_array($accept)) { foreach ($accept as $acc) { if (preg_match('/'.$acc['pattern'].'/i', $final_file)) { $response['dm'] = sprintf(__('This backup was created by %s, and can be imported.', 'updraftplus'), $acc['desc']); } } } if (empty($response['dm'])) { if (isset($status['file'])) @unlink($status['file']);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. echo json_encode(array('e' => sprintf(__('Error: %s', 'updraftplus'), __('Bad filename format - this does not look like a file created by UpdraftPlus', 'updraftplus')))); exit; } } else { $backupable_entities = $updraftplus->get_backupable_file_entities(true); $type = isset($matches[3]) ? $matches[3] : ''; if (!preg_match('/^log\.[a-f0-9]{12}\.txt/', $final_file) && 'db' != $type && !isset($backupable_entities[$type])) { if (isset($status['file'])) @unlink($status['file']);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. echo json_encode(array('e' => sprintf(__('Error: %s', 'updraftplus'), sprintf(__('This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s.', 'updraftplus'), htmlspecialchars($type)).' '.__('Perhaps you need to install an add-on?', 'updraftplus')))); exit; } } // Final chunk? If so, then stich it all back together if (isset($_POST['chunk']) && $_POST['chunk'] == $_POST['chunks']-1 && !empty($final_file)) { if ($wh = fopen($updraft_dir.'/'.$final_file, 'wb')) { for ($i = 0; $i < $_POST['chunks']; $i++) { $rf = $updraft_dir.'/'.$final_file.'.'.$i.'.zip.tmp'; if ($rh = fopen($rf, 'rb+')) { // April 1st 2020 - Due to a bug during uploads to Dropbox some backups had string "null" appended to the end which caused warnings, this removes the string "null" from these backups fseek($rh, -4, SEEK_END); $data = fgets($rh, 5); if ("null" === $data) { ftruncate($rh, filesize($rf) - 4); } fseek($rh, 0, SEEK_SET); while ($line = fread($rh, 524288)) { fwrite($wh, $line); } fclose($rh); @unlink($rf);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } } fclose($wh); $status['file'] = $updraft_dir.'/'.$final_file; if ('.tar' == substr($final_file, -4, 4)) { if (file_exists($status['file'].'.gz')) unlink($status['file'].'.gz'); if (file_exists($status['file'].'.bz2')) unlink($status['file'].'.bz2'); } elseif ('.tar.gz' == substr($final_file, -7, 7)) { if (file_exists(substr($status['file'], 0, strlen($status['file'])-3))) unlink(substr($status['file'], 0, strlen($status['file'])-3)); if (file_exists(substr($status['file'], 0, strlen($status['file'])-3).'.bz2')) unlink(substr($status['file'], 0, strlen($status['file'])-3).'.bz2'); } elseif ('.tar.bz2' == substr($final_file, -8, 8)) { if (file_exists(substr($status['file'], 0, strlen($status['file'])-4))) unlink(substr($status['file'], 0, strlen($status['file'])-4)); if (file_exists(substr($status['file'], 0, strlen($status['file'])-4).'.gz')) unlink(substr($status['file'], 0, strlen($status['file'])-3).'.gz'); } } } } // send the uploaded file url in response $response['m'] = $status['url']; echo json_encode($response); exit; } /** * Database decrypter - runs upon the WP action plupload_action2 */ public function plupload_action2() { if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. global $updraftplus; if (!UpdraftPlus_Options::user_can_manage()) return; check_ajax_referer('updraft-uploader'); $updraft_dir = $updraftplus->backups_dir_location(); if (!is_writable($updraft_dir)) exit; add_filter('upload_dir', array($this, 'upload_dir')); add_filter('sanitize_file_name', array($this, 'sanitize_file_name')); // handle file upload $farray = array('test_form' => true, 'action' => 'plupload_action2'); $farray['test_type'] = false; $farray['ext'] = 'crypt'; $farray['type'] = 'application/octet-stream'; if (isset($_POST['chunks'])) { // $farray['ext'] = 'zip'; // $farray['type'] = 'application/zip'; } else { $farray['unique_filename_callback'] = array($this, 'unique_filename_callback'); } $status = wp_handle_upload( $_FILES['async-upload'], $farray ); remove_filter('upload_dir', array($this, 'upload_dir')); remove_filter('sanitize_file_name', array($this, 'sanitize_file_name')); if (isset($status['error'])) die('ERROR: '.$status['error']); // If this was the chunk, then we should instead be concatenating onto the final file if (isset($_POST['chunks']) && isset($_POST['chunk']) && preg_match('/^[0-9]+$/', $_POST['chunk'])) { $final_file = basename($_POST['name']); rename($status['file'], $updraft_dir.'/'.$final_file.'.'.$_POST['chunk'].'.zip.tmp'); $status['file'] = $updraft_dir.'/'.$final_file.'.'.$_POST['chunk'].'.zip.tmp'; } if (!isset($_POST['chunks']) || (isset($_POST['chunk']) && $_POST['chunk'] == $_POST['chunks']-1)) { if (!preg_match('/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-db([0-9]+)?\.(gz\.crypt)$/i', $final_file)) { @unlink($status['file']);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. echo 'ERROR:'.__('Bad filename format - this does not look like an encrypted database file created by UpdraftPlus', 'updraftplus'); exit; } // Final chunk? If so, then stich it all back together if (isset($_POST['chunk']) && $_POST['chunk'] == $_POST['chunks']-1 && isset($final_file)) { if ($wh = fopen($updraft_dir.'/'.$final_file, 'wb')) { for ($i=0; $i<$_POST['chunks']; $i++) { $rf = $updraft_dir.'/'.$final_file.'.'.$i.'.zip.tmp'; if ($rh = fopen($rf, 'rb')) { while ($line = fread($rh, 524288)) { fwrite($wh, $line); } fclose($rh); @unlink($rf);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } } fclose($wh); } } } // send the uploaded file url in response if (isset($final_file)) echo 'OK:'.$final_file; exit; } /** * Show footer review message and link. * * @return string */ public function display_footer_review_message() { $message = sprintf( __('Enjoyed %s? Please leave us a %s rating on %s or %s', 'updraftplus').' '.__('We really appreciate your support!', 'updraftplus'), 'UpdraftPlus', '★★★★★', 'Trustpilot', 'G2.com' ); return $message; } /** * Include the settings header template */ public function settings_header() { $this->include_template('wp-admin/settings/header.php'); } /** * Include the settings footer template */ public function settings_footer() { $this->include_template('wp-admin/settings/footer.php'); } /** * Output the settings page content. Will also run a restore if $_REQUEST so indicates. */ public function settings_output() { if (false == ($render = apply_filters('updraftplus_settings_page_render', true))) { do_action('updraftplus_settings_page_render_abort', $render); return; } do_action('updraftplus_settings_page_init'); global $updraftplus; /** * We use request here because the initial restore is triggered by a POSTed form. we then may need to obtain credential for the WP_Filesystem. to do this WP outputs a form, but we don't pass our parameters via that. So the values are passed back in as GET parameters. */ if (isset($_REQUEST['action']) && (('updraft_restore' == $_REQUEST['action'] && isset($_REQUEST['backup_timestamp'])) || ('updraft_restore_continue' == $_REQUEST['action'] && !empty($_REQUEST['job_id'])))) { $this->prepare_restore(); return; } if (isset($_REQUEST['action']) && 'updraft_delete_old_dirs' == $_REQUEST['action']) { $nonce = empty($_REQUEST['updraft_delete_old_dirs_nonce']) ? '' : $_REQUEST['updraft_delete_old_dirs_nonce']; if (!wp_verify_nonce($nonce, 'updraftplus-credentialtest-nonce')) die('Security check'); $this->delete_old_dirs_go(); return; } if (!empty($_REQUEST['action']) && 'updraftplus_broadcastaction' == $_REQUEST['action'] && !empty($_REQUEST['subaction'])) { $nonce = (empty($_REQUEST['nonce'])) ? "" : $_REQUEST['nonce']; if (!wp_verify_nonce($nonce, 'updraftplus-credentialtest-nonce')) die('Security check'); do_action($_REQUEST['subaction']); return; } if (isset($_GET['error'])) { // This is used by Microsoft OneDrive authorisation failures (May 15). I am not sure what may have been using the 'error' GET parameter otherwise - but it is harmless. June 2024: also now used for insufficient Google Drive permissions upon return from auth.updraftplus.com. if (!empty($_GET['error_description'])) { $this->show_admin_warning(htmlspecialchars($_GET['error_description']).' ('.htmlspecialchars($_GET['error']).')', 'error'); } else { $this->show_admin_warning(htmlspecialchars($_GET['error']), 'error'); } } if (isset($_GET['message'])) $this->show_admin_warning(htmlspecialchars($_GET['message'])); if (isset($_GET['action']) && 'updraft_create_backup_dir' == $_GET['action'] && isset($_GET['nonce']) && wp_verify_nonce($_GET['nonce'], 'create_backup_dir')) { $created = $this->create_backup_dir(); if (is_wp_error($created)) { echo '

    '.__('Backup directory could not be created', 'updraftplus').'...
    '; echo '

      '; foreach ($created->get_error_messages() as $msg) { echo '
    • '.htmlspecialchars($msg).'
    • '; } echo '

    '; } elseif (false !== $created) { echo '

    '.__('Backup directory successfully created.', 'updraftplus').'


    '; } echo ''.__('Actions', 'updraftplus').': '.__('Return to UpdraftPlus configuration', 'updraftplus').''; return; } if (substr($updraftplus->version, 0, 1) === '2') { /** * Add filter for display footer review message and link. */ add_filter('admin_footer_text', array($this, 'display_footer_review_message')); } echo ''; // This opens a div $this->settings_header(); ?> show_admin_warning("" . __("OptimizePress 2.0 encodes its contents, so search/replace does not work.", "updraftplus") . ' ' . __("To fix this problem go here.", "updraftplus") . "", "notice notice-warning"); } $success_advert = (isset($_GET['pval']) && 0 == $_GET['pval'] && !$updraftplus->have_addons) ? '

    '.__('For even more features and personal support, check out ', 'updraftplus').'UpdraftPlus Premium.

    ' : ""; echo "
    ".__('Your backup has been restored.', 'updraftplus').'
    '; // Unnecessary - will be advised of this below // if (2 == $_GET['updraft_restore_success']) echo ' '.__('Your old (themes, uploads, plugins, whatever) directories have been retained with "-old" appended to their name. Remove them when you are satisfied that the backup worked properly.'); echo $success_advert; $include_deleteform_div = false; } if ($this->scan_old_dirs(true)) $this->print_delete_old_dirs_form(true, $include_deleteform_div); // Close the div opened by the earlier section if (isset($_GET['updraft_restore_success'])) echo '
    '; if (empty($success_advert) && empty($this->no_settings_warning)) { if (!class_exists('UpdraftPlus_Notices')) updraft_try_include_file('includes/updraftplus-notices.php', 'include_once'); global $updraftplus_notices; $backup_history = UpdraftPlus_Backup_History::get_history(); $review_dismiss = UpdraftPlus_Options::get_updraft_option('dismissed_review_notice', 0); $backup_dir = $updraftplus->backups_dir_location(); // N.B. Not an exact proxy for the installed time; they may have tweaked the expert option to move the directory $installed = @filemtime($backup_dir.'/index.html');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $installed_for = time() - $installed; $advert = false; if (!empty($backup_history) && $installed && time() > $review_dismiss && $installed_for > 28*86400 && $installed_for < 84*86400) { $advert = 'rate'; } $updraftplus_notices->do_notice($advert); } if (!$updraftplus->memory_check(64)) { // HS8390 - A case where UpdraftPlus::memory_check_current() returns -1 $memory_check_current = $updraftplus->memory_check_current(); if ($memory_check_current > 0) { ?>
    memory_check_current(); ?> MB
    errors)) { echo '
    '; $updraftplus->list_errors(); echo '
    '; } $backup_history = UpdraftPlus_Backup_History::get_history(); if (empty($backup_history)) { UpdraftPlus_Backup_History::rebuild(); $backup_history = UpdraftPlus_Backup_History::get_history(); } $tabflag = 'backups'; $main_tabs = $this->get_main_tabs_array(); if (isset($_REQUEST['tab'])) { $request_tab = sanitize_text_field($_REQUEST['tab']); $valid_tabflags = array_keys($main_tabs); if (in_array($request_tab, $valid_tabflags)) { $tabflag = $request_tab; } else { $tabflag = 'backups'; } } $this->include_template('wp-admin/settings/tab-bar.php', false, array('main_tabs' => $main_tabs, 'backup_history' => $backup_history, 'tabflag' => $tabflag)); ?>
    
    		
    include_template('wp-admin/settings/delete-and-restore-modals.php'); ?>
    style=""> $is_opera); $this->include_template('wp-admin/settings/tab-backups.php', false, array('backup_history' => $backup_history, 'options' => $tmp_opts)); $this->include_template('wp-admin/settings/upload-backups-modal.php'); ?>
    style=""> include_template('wp-admin/settings/migrator-no-migrator.php'); } ?>
    style="">

    settings_formcontents(); ?>
    get_option(UDADDONS2_SLUG.'_options'); if (!empty($options['email'])) { $email = htmlspecialchars($options['email']); } } } // Check the vault's email if we fail to get the "email" from the "Premium / Extensions" tab if (empty($email)) { $settings = UpdraftPlus_Storage_Methods_Interface::update_remote_storage_options_format('updraftvault'); if (!is_wp_error($settings)) { if (!empty($settings['settings'])) { foreach ($settings['settings'] as $storage_options) { if (!empty($storage_options['email'])) { $email = $storage_options['email']; break; } } } } } // Checking any possible email we could find from the "updraft_email" option in case the // above two checks failed. if (empty($email)) { $possible_emails = $updraftplus->just_one_email(UpdraftPlus_Options::get_updraft_option('updraft_email')); if (!empty($possible_emails)) { // If we get an array from the 'just_one_email' result then we're going // to pull the very first entry and make use of that on the succeeding process. if (is_array($possible_emails)) $possible_emails = array_shift($possible_emails); if (is_string($possible_emails)) { $emails = explode(',', $possible_emails); $email = trim($emails[0]); } } } $this->include_template('wp-admin/settings/updraftcentral-connect.php', false, array('email' => $email)); ?>
    style=""> settings_advanced_tools(); ?>
    style=""> include_template('wp-admin/settings/tab-addons.php', true, array('tabflag' => $tabflag)); echo apply_filters('updraftplus_addonstab_content', $tab_addons); ?>
    settings_footer(); } /** * Get main tabs array * * @return Array Array which have key as a tab key and value as tab label */ private function get_main_tabs_array() { return apply_filters( 'updraftplus_main_tabs', array( 'backups' => __('Backup / Restore', 'updraftplus'), 'migrate' => __('Migrate / Clone', 'updraftplus'), 'settings' => __('Settings', 'updraftplus'), 'expert' => __('Advanced Tools', 'updraftplus'), 'addons' => __('Premium / Extensions', 'updraftplus'), ) ); } /** * Potentially register an action for showing restore progress */ private function print_restore_in_progress_box_if_needed() { global $updraftplus; $check_restore_progress = $updraftplus->check_restore_progress(); // Check to see if the restore is still in progress if (is_array($check_restore_progress) && true == $check_restore_progress['status']) { $restore_jobdata = $check_restore_progress['restore_jobdata']; $restore_jobdata['jobid'] = $check_restore_progress['restore_in_progress']; $this->restore_in_progress_jobdata = $restore_jobdata; add_action('all_admin_notices', array($this, 'show_admin_restore_in_progress_notice')); add_action('admin_print_footer_scripts', array($this, 'print_unfinished_restoration_dialog_scripts')); add_action('admin_print_styles', array($this, 'print_unfinished_restoration_dialog_styles')); } } /** * This function is called via the command class, it will get the resume restore notice to be shown when a restore is taking place over AJAX * * @param string $job_id - the id of the job * * @return WP_Error|string - can return a string containing html or a WP_Error */ public function get_restore_resume_notice($job_id) { global $updraftplus; if (empty($job_id)) return new WP_Error('missing_parameter', 'Missing parameters.'); $restore_jobdata = $updraftplus->jobdata_getarray($job_id); if (!is_array($restore_jobdata) && empty($restore_jobdata)) return new WP_Error('missing_jobdata', 'Job data not found.'); $restore_jobdata['jobid'] = $job_id; $this->restore_in_progress_jobdata = $restore_jobdata; $html = $this->show_admin_restore_in_progress_notice(true); if (empty($html)) return new WP_Error('job_aborted', 'Job aborted.'); return $html; } /** * If added, then runs upon the WP action all_admin_notices, or can be called via get_restore_resume_notice() for when a restore is running over AJAX * * @param Boolean $return_instead_of_echo - indicates if we want to add the tfa UI * @param Boolean $exclude_js - indicates if we want to exclude the js in the returned html * * @return void|string - can return a string containing html or echo the html to page */ public function show_admin_restore_in_progress_notice($return_instead_of_echo = false) { if (isset($_REQUEST['action']) && 'updraft_restore_abort' === $_REQUEST['action'] && !empty($_REQUEST['job_id'])) { delete_site_option('updraft_restore_in_progress'); return; } $restore_jobdata = $this->restore_in_progress_jobdata; $seconds_ago = time() - (int) $restore_jobdata['job_time_ms']; $minutes_ago = floor($seconds_ago/60); $seconds_ago = $seconds_ago - $minutes_ago*60; $time_ago = sprintf(__("%s minutes, %s seconds", 'updraftplus'), $minutes_ago, $seconds_ago); $html = '
    '; $html .= 'UpdraftPlus: '.__('Unfinished restoration', 'updraftplus').'
    '; $html .= '

    '.sprintf(__('You have an unfinished restoration operation, begun %s ago.', 'updraftplus'), $time_ago).'

    '; $html .= '
    '; $html .= wp_nonce_field('updraftplus-credentialtest-nonce'); $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= ''; $html .= '
    '; if ($return_instead_of_echo) return $html; add_filter('wp_kses_allowed_html', array($this, 'kses_allow_input_tags_on_unfinished_restoration_dialog')); echo wp_kses_post($html); remove_filter('wp_kses_allowed_html', array($this, 'kses_allow_input_tags_on_unfinished_restoration_dialog')); } /** * This method will build the UpdraftPlus.com login form and echo it to the page. * * @param String $option_page - the option page this form is being output to * @param Boolean $tfa - indicates if we want to add the tfa UI * @param Boolean $include_form_container - indicates if we want the form container * @param Array $further_options - other options (see below for the possibilities + defaults) * * @return void */ public function build_credentials_form($option_page, $tfa = false, $include_form_container = true, $further_options = array()) { global $updraftplus; $further_options = wp_parse_args($further_options, array( 'under_username' => __("Not yet got an account (it's free)? Go get one!", 'updraftplus'), 'under_username_link' => $updraftplus->get_url('my-account') )); if ($include_form_container) { $enter_credentials_begin = UpdraftPlus_Options::options_form_begin('', false, array(), 'updraftplus_com_login'); if (is_multisite()) $enter_credentials_begin .= ''; } else { $enter_credentials_begin = ''; echo $enter_credentials_begin; $options = apply_filters('updraftplus_com_login_options', array("email" => "", "password" => "")); if ($include_form_container) { // We have to duplicate settings_fields() in order to set our referer // settings_fields(UDADDONS2_SLUG.'_options'); $option_group = $option_page.'_options'; echo ""; echo ''; // wp_nonce_field("$option_group-options"); // This one is used on multisite echo ''; $name = "_wpnonce"; $action = esc_attr($option_group."-options"); $nonce_field = ''; echo $nonce_field; $referer = esc_url(UpdraftPlus_Manipulation_Functions::wp_unslash($_SERVER['REQUEST_URI'])); // This one is used on single site installs if (false === strpos($referer, '?')) { $referer .= '?tab=addons'; } else { $referer .= '&tab=addons'; } echo ''; // End of duplication of settings-fields() } ?>

    include_template('wp-admin/settings/backupnow-modal.php', true); } /** * Also used by the auto-backups add-on * * @param Boolean $wide_format Whether to return data in a wide format * @param Boolean $print_active_jobs Whether to include currently active jobs * @return String - the HTML output */ public function render_active_jobs_and_log_table($wide_format = false, $print_active_jobs = true) { global $updraftplus; ?>
    print_active_jobs() : '';?>
    ">
    :

    most_recently_modified_log_link(); ?>
    :
    most_recently_modified_log_link(); ?>
    get_updraftplus_rssfeed(); if (is_a($feed, 'SimplePie')) { echo ''.__('Latest UpdraftPlus.com news:', 'updraftplus').''; echo ''; } } ?>
    last_modified_log();// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused parameter is present because the method returns an array. ?> class="updraft-log-link" onclick="event.preventDefault(); updraft_popuplog('');"> include_template('wp-admin/settings/downloading-and-restoring.php', $return_result, array('backup_history' => $backup_history, 'options' => $options)); } /** * Renders take backup content */ public function take_backup_content() { global $updraftplus; $updraft_dir = $updraftplus->backups_dir_location(); $backup_disabled = UpdraftPlus_Filesystem_Functions::really_is_writable($updraft_dir) ? '' : 'disabled="disabled"'; $this->include_template('wp-admin/settings/take-backup.php', false, array('backup_disabled' => $backup_disabled)); } /** * Output a table row using the updraft_debugrow class * * @param String $head - header cell contents * @param String $content - content cell contents */ public function settings_debugrow($head, $content) { echo "$head$content"; } public function settings_advanced_tools($return_instead_of_echo = false, $pass_through = array()) { return $this->include_template('wp-admin/advanced/advanced-tools.php', $return_instead_of_echo, $pass_through); } /** * Paint the HTML for the form for deleting old directories * * @param Boolean $include_blurb - whether to include explanatory text * @param Boolean $include_div - whether to wrap inside a div tag */ public function print_delete_old_dirs_form($include_blurb = true, $include_div = true) { if ($include_blurb) { if ($include_div) { echo '
    '; } echo '

    '.__('Your WordPress install has old folders from its state before you restored/migrated (technical information: these are suffixed with -old).', 'updraftplus').' '.__('You should press this button to delete them as soon as you have verified that the restoration worked.', 'updraftplus').'

    '; } ?>
    '; } /** * Return cron status information about a specified in-progress job * * @param Boolean|String $job_id - the job to get information about; or, if not specified, all jobs * * @return Array|Boolean - the requested information, or false if it was not found. Format differs depending on whether info on all jobs, or a single job, was requested. */ public function get_cron($job_id = false) { $cron = get_option('cron'); if (!is_array($cron)) $cron = array(); if (false === $job_id) return $cron; foreach ($cron as $time => $job) { if (!isset($job['updraft_backup_resume'])) continue; foreach ($job['updraft_backup_resume'] as $info) { if (isset($info['args'][1]) && $job_id == $info['args'][1]) { global $updraftplus; $jobdata = $updraftplus->jobdata_getarray($job_id); return is_array($jobdata) ? array($time, $jobdata) : false; } } } } /** * Gets HTML describing the active jobs * * @param Boolean $this_job_only A value for $this_job_only also causes something non-empty to always be returned (to allow detection of the job having started on the front-end) * * @return String - the HTML */ private function print_active_jobs($this_job_only = false) { $cron = $this->get_cron(); $ret = ''; foreach ($cron as $time => $job) { if (!isset($job['updraft_backup_resume'])) continue; foreach ($job['updraft_backup_resume'] as $info) { if (isset($info['args'][1])) { $job_id = $info['args'][1]; if (false === $this_job_only || $job_id == $this_job_only) { $ret .= $this->print_active_job($job_id, false, $time, $info['args'][0]); } } } } // A value for $this_job_only implies that output is required if (false !== $this_job_only && !$ret) { $ret = $this->print_active_job($this_job_only); if ('' == $ret) { global $updraftplus; $log_file = $updraftplus->get_logfile_name($this_job_only); // if the file exists, the backup was booted. Check if the information about completion is found in the log, or if it was modified at least 2 minutes ago. if (file_exists($log_file) && ($updraftplus->found_backup_complete_in_logfile($this_job_only) || (time() - filemtime($log_file)) > 120)) { // The presence of the exact ID matters to the front-end - indicates that the backup job has at least begun $ret = '
    '.__('The backup has finished running', 'updraftplus').' - '.__('View Log', 'updraftplus').'
    '; } } } return $ret; } /** * Print the HTML for a particular job * * @param String $job_id - the job identifier/nonce * @param Boolean $is_oneshot - whether this backup should be 'one shot', i.e. no resumptions * @param Boolean|Integer $time * @param Integer $next_resumption * * @return String */ private function print_active_job($job_id, $is_oneshot = false, $time = false, $next_resumption = false) { $ret = ''; global $updraftplus; $jobdata = $updraftplus->jobdata_getarray($job_id); if (false == apply_filters('updraftplus_print_active_job_continue', true, $is_oneshot, $next_resumption, $jobdata)) return ''; if (!isset($jobdata['backup_time'])) return ''; $backupable_entities = $updraftplus->get_backupable_file_entities(true, true); $began_at = isset($jobdata['backup_time']) ? get_date_from_gmt(gmdate('Y-m-d H:i:s', (int) $jobdata['backup_time']), 'D, F j, Y H:i') : '?'; $backup_label = !empty($jobdata['label']) ? $jobdata['label'] : ''; $remote_sent = (!empty($jobdata['service']) && ((is_array($jobdata['service']) && in_array('remotesend', $jobdata['service'])) || 'remotesend' === $jobdata['service'])) ? true : false; $jobstatus = empty($jobdata['jobstatus']) ? 'unknown' : $jobdata['jobstatus']; $stage = 0; switch ($jobstatus) { // Stage 0 case 'begun': $curstage = __('Backup begun', 'updraftplus'); break; // Stage 1 case 'filescreating': $stage = 1; $curstage = __('Creating file backup zips', 'updraftplus'); if (!empty($jobdata['filecreating_substatus']) && isset($backupable_entities[$jobdata['filecreating_substatus']['e']]['description'])) { $sdescrip = preg_replace('/ \(.*\)$/', '', $backupable_entities[$jobdata['filecreating_substatus']['e']]['description']); if (strlen($sdescrip) > 20 && isset($jobdata['filecreating_substatus']['e']) && is_array($jobdata['filecreating_substatus']['e']) && isset($backupable_entities[$jobdata['filecreating_substatus']['e']]['shortdescription'])) $sdescrip = $backupable_entities[$jobdata['filecreating_substatus']['e']]['shortdescription']; $curstage .= ' ('.$sdescrip.')'; if (isset($jobdata['filecreating_substatus']['i']) && isset($jobdata['filecreating_substatus']['t'])) { $stage = min(2, 1 + ($jobdata['filecreating_substatus']['i']/max($jobdata['filecreating_substatus']['t'], 1))); } } break; case 'filescreated': $stage = 2; $curstage = __('Created file backup zips', 'updraftplus'); break; // Stage 4 case 'clonepolling': $stage = 4; $curstage = __('Clone server being provisioned and booted (can take several minutes)', 'updraftplus'); break; case 'partialclouduploading': case 'clouduploading': $stage = 'clouduploading' == $jobstatus ? 4 : 2; $curstage = __('Uploading files to remote storage', 'updraftplus'); if ($remote_sent) $curstage = __('Sending files to remote site', 'updraftplus'); if (isset($jobdata['uploading_substatus']['t']) && isset($jobdata['uploading_substatus']['i'])) { $t = max((int) $jobdata['uploading_substatus']['t'], 1); $i = min($jobdata['uploading_substatus']['i']/$t, 1); $p = min($jobdata['uploading_substatus']['p'], 1); $pd = $i + $p/$t; $stage = 'clouduploading' == $jobstatus ? $stage + $pd : $stage; $curstage .= ' ('.floor(100*$pd).'%, '.sprintf(__('file %d of %d', 'updraftplus'), (int) $jobdata['uploading_substatus']['i']+1, $t).')'; } break; case 'pruning': $stage = 5; $curstage = __('Pruning old backup sets', 'updraftplus'); break; case 'resumingforerrors': $stage = -1; $curstage = __('Waiting until scheduled time to retry because of errors', 'updraftplus'); break; // Stage 6 case 'finished': $stage = 6; $curstage = __('Backup finished', 'updraftplus'); break; default: // Database creation and encryption occupies the space from 2 to 4. Databases are created then encrypted, then the next database is created/encrypted, etc. if ('dbcreated' == substr($jobstatus, 0, 9)) { $jobstatus = 'dbcreated'; $whichdb = substr($jobstatus, 9); if (!is_numeric($whichdb)) $whichdb = 0; $howmanydbs = max((empty($jobdata['backup_database']) || !is_array($jobdata['backup_database'])) ? 1 : count($jobdata['backup_database']), 1); $perdbspace = 2/$howmanydbs; $stage = min(4, 2 + ($whichdb+2)*$perdbspace); $curstage = __('Created database backup', 'updraftplus'); } elseif ('dbcreating' == substr($jobstatus, 0, 10)) { $whichdb = substr($jobstatus, 10); if (!is_numeric($whichdb)) $whichdb = 0; $howmanydbs = (empty($jobdata['backup_database']) || !is_array($jobdata['backup_database'])) ? 1 : count($jobdata['backup_database']); $perdbspace = 2/$howmanydbs; $jobstatus = 'dbcreating'; $stage = min(4, 2 + $whichdb*$perdbspace); $curstage = __('Creating database backup', 'updraftplus'); if (!empty($jobdata['dbcreating_substatus']['t'])) { $curstage .= ' ('.sprintf(__('table: %s', 'updraftplus'), $jobdata['dbcreating_substatus']['t']).')'; if (!empty($jobdata['dbcreating_substatus']['i']) && !empty($jobdata['dbcreating_substatus']['a'])) { $substage = max(0.001, ($jobdata['dbcreating_substatus']['i'] / max($jobdata['dbcreating_substatus']['a'], 1))); $stage += $substage * $perdbspace * 0.5; } } } elseif ('dbencrypting' == substr($jobstatus, 0, 12)) { $whichdb = substr($jobstatus, 12); if (!is_numeric($whichdb)) $whichdb = 0; $howmanydbs = (empty($jobdata['backup_database']) || !is_array($jobdata['backup_database'])) ? 1 : count($jobdata['backup_database']); $perdbspace = 2/$howmanydbs; $stage = min(4, 2 + $whichdb*$perdbspace + $perdbspace*0.5); $jobstatus = 'dbencrypting'; $curstage = __('Encrypting database', 'updraftplus'); } elseif ('dbencrypted' == substr($jobstatus, 0, 11)) { $whichdb = substr($jobstatus, 11); if (!is_numeric($whichdb)) $whichdb = 0; $howmanydbs = (empty($jobdata['backup_database']) || !is_array($jobdata['backup_database'])) ? 1 : count($jobdata['backup_database']); $jobstatus = 'dbencrypted'; $perdbspace = 2/$howmanydbs; $stage = min(4, 2 + $whichdb*$perdbspace + $perdbspace); $curstage = __('Encrypted database', 'updraftplus'); } else { $curstage = __('Unknown', 'updraftplus'); } } $runs_started = empty($jobdata['runs_started']) ? array() : $jobdata['runs_started']; $time_passed = empty($jobdata['run_times']) ? array() : $jobdata['run_times']; $last_checkin_ago = -1; if (is_array($time_passed)) { foreach ($time_passed as $run => $passed) { if (isset($runs_started[$run])) { $time_ago = microtime(true) - ($runs_started[$run] + $time_passed[$run]); if ($time_ago < $last_checkin_ago || -1 == $last_checkin_ago) $last_checkin_ago = $time_ago; } } } $next_res_after = (int) $time-time(); $next_res_txt = $is_oneshot ? '' : sprintf(__('next resumption: %d', 'updraftplus'), $next_resumption).($next_resumption ? ' '.sprintf(__('(after %ss)', 'updraftplus'), $next_res_after) : '').' '; $last_activity_txt = ($last_checkin_ago >= 0) ? sprintf(__('last activity: %ss ago', 'updraftplus'), floor($last_checkin_ago)).' ' : ''; if (($last_checkin_ago < 50 && $next_res_after>30) || $is_oneshot) { $show_inline_info = $last_activity_txt; $title_info = $next_res_txt; } else { $show_inline_info = $next_res_txt; $title_info = $last_activity_txt; } $ret .= '
    '; $ret .= '
    '.(!empty($backup_label) ? esc_html($backup_label) : $began_at). '
    '; $ret .= '
    '; // Existence of the 'updraft-jobid-(id)' id is checked for in other places, so do not modify this $ret .= '
    '; if ($clone_url) $ret .= '
    '; $ret .= apply_filters('updraft_printjob_beforewarnings', '', $jobdata, $job_id); if (!empty($jobdata['warnings']) && is_array($jobdata['warnings'])) { $ret .= '
      '; foreach ($jobdata['warnings'] as $warning) { $ret .= '
    • '.sprintf(__('Warning: %s', 'updraftplus'), make_clickable(htmlspecialchars($warning))).'
    • '; } $ret .= '
    '; } $ret .= '
    '; // $ret .= ''.htmlspecialchars($curstage).''; $ret .= htmlspecialchars($curstage); // we need to add this data-progress attribute in order to be able to update the progress bar in UDC $ret .= '
    '; $ret .= '
    '; $ret .= '
    '; $ret .= $show_inline_info; if (!empty($show_inline_info)) $ret .= ' - '; $file_nonce = empty($jobdata['file_nonce']) ? $job_id : $jobdata['file_nonce']; $ret .= ''.__('show log', 'updraftplus').''; if (!$is_oneshot) $ret .=' - '.__('stop', 'updraftplus').''; $ret .= '
    '; $ret .= '
    '; return $ret; } private function delete_old_dirs_go($show_return = true) { echo $show_return ? '

    UpdraftPlus - '.__('Remove old folders', 'updraftplus').'

    ' : '

    '.__('Remove old directories', 'updraftplus').'

    '; if ($this->delete_old_dirs()) { echo '

    '.__('Old folders successfully removed.', 'updraftplus').'


    '; } else { echo '

    ',__('Old folder removal failed for some reason.', 'updraftplus').' '.__('You may want to do this manually.', 'updraftplus').'


    '; } if ($show_return) echo ''.__('Actions', 'updraftplus').': '.__('Return to UpdraftPlus configuration', 'updraftplus').''; } /** * Deletes the -old directories and wp-config-pre-ud-restore-backup.php that are created when a backup is restored. * * @return Boolean. Can also exit (something we ought to probably review) */ private function delete_old_dirs() { global $wp_filesystem, $updraftplus; $credentials = request_filesystem_credentials(wp_nonce_url(UpdraftPlus_Options::admin_page_url()."?page=updraftplus&action=updraft_delete_old_dirs", 'updraftplus-credentialtest-nonce', 'updraft_delete_old_dirs_nonce')); $wpfs = WP_Filesystem($credentials); if (!empty($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) { foreach ($wp_filesystem->errors->get_error_messages() as $message) show_message($message); exit; } if (!$wpfs) exit; // From WP_CONTENT_DIR - which contains 'themes' $ret = $this->delete_old_dirs_dir($wp_filesystem->wp_content_dir()); $updraft_dir = $updraftplus->backups_dir_location(); if ($updraft_dir) { $ret4 = $updraft_dir ? $this->delete_old_dirs_dir($updraft_dir, false) : true; } else { $ret4 = true; } $plugs = untrailingslashit($wp_filesystem->wp_plugins_dir()); if ($wp_filesystem->is_dir($plugs.'-old')) { echo "".__('Delete', 'updraftplus').": plugins-old: "; if (!$wp_filesystem->delete($plugs.'-old', true)) { $ret3 = false; echo "".__('Failed', 'updraftplus')."
    "; echo $updraftplus->log_permission_failure_message($wp_filesystem->wp_content_dir(), 'Delete '.$plugs.'-old'); } else { $ret3 = true; echo "".__('OK', 'updraftplus')."
    "; } } else { $ret3 = true; } $ret2 = true; if ($wp_filesystem->is_file(ABSPATH.'wp-config-pre-ud-restore-backup.php')) { echo "".__('Delete', 'updraftplus').": wp-config-pre-ud-restore-backup.php: "; if ($wp_filesystem->delete(ABSPATH.'wp-config-pre-ud-restore-backup.php')) { echo "".__('OK', 'updraftplus')."
    "; } else { $ret2 = false; echo "".__('Failed', 'updraftplus')."
    "; } } return $ret && $ret2 && $ret3 && $ret4; } private function delete_old_dirs_dir($dir, $wpfs = true) { $dir = trailingslashit($dir); global $wp_filesystem, $updraftplus; if ($wpfs) { $list = $wp_filesystem->dirlist($dir); } else { $list = scandir($dir); } if (!is_array($list)) return false; $ret = true; foreach ($list as $item) { $name = (is_array($item)) ? $item['name'] : $item; if ("-old" == substr($name, -4, 4)) { // recursively delete print "".__('Delete', 'updraftplus').": ".htmlspecialchars(basename($dir).'/'.$name).": "; if ($wpfs) { if (!$wp_filesystem->delete($dir.$name, true)) { $ret = false; echo "".__('Failed', 'updraftplus')."
    "; echo $updraftplus->log_permission_failure_message($dir, 'Delete '.$dir.$name); } else { echo "".__('OK', 'updraftplus')."
    "; } } else { if (UpdraftPlus_Filesystem_Functions::remove_local_directory($dir.$name)) { echo "".__('OK', 'updraftplus')."
    "; } else { $ret = false; echo "".__('Failed', 'updraftplus')."
    "; echo $updraftplus->log_permission_failure_message($dir, 'Delete '.$dir.$name); } } } } return $ret; } /** * The aim is to get a directory that is writable by the webserver, because that's the only way we can create zip files * * @return Boolean|WP_Error true if successful, otherwise false or a WP_Error */ private function create_backup_dir() { global $wp_filesystem, $updraftplus; if (false === ($credentials = request_filesystem_credentials(UpdraftPlus_Options::admin_page().'?page=updraftplus&action=updraft_create_backup_dir&nonce='.wp_create_nonce('create_backup_dir')))) { return false; } if (!WP_Filesystem($credentials)) { // our credentials were no good, ask the user for them again request_filesystem_credentials(UpdraftPlus_Options::admin_page().'?page=updraftplus&action=updraft_create_backup_dir&nonce='.wp_create_nonce('create_backup_dir'), '', true); return false; } $updraft_dir = $updraftplus->backups_dir_location(); $default_backup_dir = $wp_filesystem->find_folder(dirname($updraft_dir)).basename($updraft_dir); $updraft_dir = ($updraft_dir) ? $wp_filesystem->find_folder(dirname($updraft_dir)).basename($updraft_dir) : $default_backup_dir; if (!$wp_filesystem->is_dir($default_backup_dir) && !$wp_filesystem->mkdir($default_backup_dir, 0775)) { $wperr = new WP_Error; if ($wp_filesystem->errors->get_error_code()) { foreach ($wp_filesystem->errors->get_error_messages() as $message) { $wperr->add('mkdir_error', $message); } return $wperr; } else { return new WP_Error('mkdir_error', __('The request to the filesystem to create the directory failed.', 'updraftplus')); } } if ($wp_filesystem->is_dir($default_backup_dir)) { if (UpdraftPlus_Filesystem_Functions::really_is_writable($updraft_dir)) return true; @$wp_filesystem->chmod($default_backup_dir, 0775);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. if (UpdraftPlus_Filesystem_Functions::really_is_writable($updraft_dir)) return true; @$wp_filesystem->chmod($default_backup_dir, 0777);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. if (UpdraftPlus_Filesystem_Functions::really_is_writable($updraft_dir)) { echo '

    '.__('The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it.', 'updraftplus').' '.__('You should check with your hosting provider that this will not cause any problems', 'updraftplus').'

    '; return true; } else { @$wp_filesystem->chmod($default_backup_dir, 0775);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. $show_dir = (0 === strpos($default_backup_dir, ABSPATH)) ? substr($default_backup_dir, strlen(ABSPATH)) : $default_backup_dir; return new WP_Error('writable_error', __('The folder exists, but your webserver does not have permission to write to it.', 'updraftplus').' '.__('You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory.', 'updraftplus').' ('.$show_dir.')'); } } return true; } /** * scans the content dir to see if any -old dirs are present * * @param Boolean $print_as_comment Echo information in an HTML comment * @return Boolean */ private function scan_old_dirs($print_as_comment = false) { global $updraftplus; $dirs = scandir(untrailingslashit(WP_CONTENT_DIR)); if (!is_array($dirs)) $dirs = array(); $backups_dir_location = $updraftplus->backups_dir_location(); $dirs_u = @scandir($backups_dir_location);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if (!is_array($dirs_u)) $dirs_u = array(); foreach (array_merge($dirs, $dirs_u) as $dir) { // is_dir() should be checked because scandir() occasionally returns a cached directory list. $dir_path = $backups_dir_location.'/'.$dir; if (preg_match('/-old$/', $dir) && is_dir($dir_path)) { if ($print_as_comment) echo ''; return true; } } // No need to scan ABSPATH - we don't backup there if (is_dir(untrailingslashit(WP_PLUGIN_DIR).'-old')) { if ($print_as_comment) echo ''; return true; } if (is_file(ABSPATH.'wp-config-pre-ud-restore-backup.php')) { if ($print_as_comment) echo ''; return true; } return false; } /** * Outputs html for a storage method using the parameters passed in, this version should be removed when all remote storages use the multi version * * @param String $method a list of methods to be used when * @param String $header the table header content * @param String $contents the table contents */ public function storagemethod_row($method, $header, $contents) { ?> '.$header.' '.$contents.' '; } /** * Get HTML suitable for the admin area for the status of the last backup * * @return String */ public function last_backup_html() { global $updraftplus; $updraft_last_backup = UpdraftPlus_Options::get_updraft_option('updraft_last_backup'); if ($updraft_last_backup) { // Convert to GMT, then to blog time $backup_time = (int) $updraft_last_backup['backup_time']; $print_time = get_date_from_gmt(gmdate('Y-m-d H:i:s', $backup_time), 'D, F j, Y H:i'); if (empty($updraft_last_backup['backup_time_incremental'])) { $last_backup_text = "".$print_time.''; } else { $inc_time = get_date_from_gmt(gmdate('Y-m-d H:i:s', $updraft_last_backup['backup_time_incremental']), 'D, F j, Y H:i'); $last_backup_text = "$inc_time (".sprintf(__('incremental backup; base backup: %s', 'updraftplus'), $print_time).')'; } $last_backup_text .= '
    '; // Show errors + warnings if (is_array($updraft_last_backup['errors'])) { foreach ($updraft_last_backup['errors'] as $err) { $level = (is_array($err)) ? $err['level'] : 'error'; $message = (is_array($err)) ? $err['message'] : $err; $last_backup_text .= ('warning' == $level) ? "" : ""; if ('warning' == $level) { $message = sprintf(__("Warning: %s", 'updraftplus'), make_clickable(htmlspecialchars($message))); } else { $message = htmlspecialchars($message); } $last_backup_text .= $message; $last_backup_text .= '
    '; } } // Link log if (!empty($updraft_last_backup['backup_nonce'])) { $updraft_dir = $updraftplus->backups_dir_location(); $potential_log_file = $updraft_dir."/log.".$updraft_last_backup['backup_nonce'].".txt"; if (is_readable($potential_log_file)) $last_backup_text .= "".__('Download log file', 'updraftplus').""; } } else { $last_backup_text = "".__('No backup has been completed', 'updraftplus').""; } return $last_backup_text; } /** * Get a list of backup intervals * * @param String $what_for - 'files' or 'db' * * @return Array - keys are used as identifiers in the UI drop-down; values are user-displayed text describing the interval */ public function get_intervals($what_for = 'db') { global $updraftplus; $intervals = wp_get_schedules(); if ($updraftplus->is_restricted_hosting('only_one_backup_per_month')) { $intervals = array_intersect_key($intervals, array('monthly' => array())); } else { if ('db' != $what_for) unset($intervals['everyhour']); } $intervals = array_intersect_key(updraftplus_list_cron_schedules(), $intervals); // update schedule descriptions for the UI of the backup schedule drop-down and rearrange schedule order foreach ($intervals as $interval => $data) { $intervals[$interval] = $data['display']; } $intervals = array('manual' => _x('Manual', 'i.e. Non-automatic', 'updraftplus')) + $intervals; return apply_filters('updraftplus_backup_intervals', $intervals, $what_for); } public function really_writable_message($really_is_writable, $updraft_dir) { if ($really_is_writable) { $dir_info = ''.__('Backup directory specified is writable, which is good.', 'updraftplus').''; } else { $dir_info = ''; if (!is_dir($updraft_dir)) { $dir_info .= __('Backup directory specified does not exist.', 'updraftplus'); } else { $dir_info .= __('Backup directory specified exists, but is not writable.', 'updraftplus'); } $dir_info .= ''.__('Follow this link to attempt to create the directory and set the permissions', 'updraftplus').', '.__('or, to reset this option', 'updraftplus').' '.__('press here', 'updraftplus').'. '.__('If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.', 'updraftplus').''; } return $dir_info; } /** * Directly output the settings form (suitable for the admin area) * * @param Array $options current options (passed on to the template) */ public function settings_formcontents($options = array()) { $this->include_template('wp-admin/settings/form-contents.php', false, array( 'options' => $options )); if (!(defined('UPDRAFTCENTRAL_COMMAND') && UPDRAFTCENTRAL_COMMAND)) { $this->include_template('wp-admin/settings/exclude-modal.php', false); } } public function get_settings_js($method_objects, $really_is_writable, $updraft_dir, $active_service) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found -- Filter use global $updraftplus; ob_start(); ?> jQuery(function() { backup_methods as $method => $description) { // already done: updraft_try_include_file('methods/'.$method.'.php', 'require_once'); $call_method = "UpdraftPlus_BackupModule_$method"; if (method_exists($call_method, 'config_print_javascript_onready')) { $method_objects[$method]->config_print_javascript_onready(); } } ?> }); get_backupable_file_entities(true, true); if (!function_exists('get_mu_plugins')) include_once(ABSPATH.'wp-admin/includes/plugin.php'); $mu_plugins = get_mu_plugins(); // The true (default value if non-existent) here has the effect of forcing a default of on. $include_more_paths = UpdraftPlus_Options::get_updraft_option('updraft_include_more_path'); foreach ($backupable_entities as $key => $info) { $included = (UpdraftPlus_Options::get_updraft_option("updraft_include_$key", apply_filters("updraftplus_defaultoption_include_".$key, true))) ? 'checked="checked"' : ""; if ('others' == $key || 'uploads' == $key) { $data_toggle_exclude_field = $show_exclusion_options ? 'data-toggle_exclude_field="'.$key.'"' : ''; $ret .= ''; if ($show_exclusion_options) { $include_exclude = UpdraftPlus_Options::get_updraft_option('updraft_include_'.$key.'_exclude', ('others' == $key) ? UPDRAFT_DEFAULT_OTHERS_EXCLUDE : UPDRAFT_DEFAULT_UPLOADS_EXCLUDE); $display = ($included) ? '' : 'class="updraft-hidden" style="display:none;"'; $exclude_container_class = $prefix.'updraft_include_'.$key.'_exclude'; if (!$for_updraftcentral) $exclude_container_class .= '_container'; $ret .= "
    "; $ret .= ' '.__('(the asterisk character matches zero or more characters)', 'updraftplus').''; $exclude_input_type = $for_updraftcentral ? "text" : "hidden"; $exclude_input_extra_attr = $for_updraftcentral ? 'title="'.__('If entering multiple files/directories, then separate them with commas.', 'updraftplus').' '.__('For entities at the top level, you can use a * at the start or end of the entry as a wildcard.', 'updraftplus').'" size="54"' : ''; $ret .= ''; if (!$for_updraftcentral) { global $updraftplus; $backupable_file_entities = $updraftplus->get_backupable_file_entities(); if ('uploads' == $key) { $path = UpdraftPlus_Manipulation_Functions::wp_normalize_path($backupable_file_entities['uploads']); } elseif ('others' == $key) { $path = UpdraftPlus_Manipulation_Functions::wp_normalize_path($backupable_file_entities['others']); } $ret .= $this->include_template('wp-admin/settings/file-backup-exclude.php', true, array( 'key' => $key, 'include_exclude' => $include_exclude, 'path' => $path, 'show_exclusion_options' => $show_exclusion_options, )); } $ret .= '
    '; } } else { if ('more' != $key || true === $include_more || ('sometimes' === $include_more && !empty($include_more_paths))) { $data_toggle_exclude_field = $show_exclusion_options ? 'data-toggle_exclude_field="'.$key.'"' : ''; $force_disabled = ''; if ('mu-plugins' == $key && !$mu_plugins) { $force_disabled = 'data-force_disabled="1"'; $info['description'] .= ' ('.__('none present', 'updraftplus').')'; } $ret .= ""; $ret .= apply_filters("updraftplus_config_option_include_$key", '', $prefix, $for_updraftcentral); } } } return $ret; } /** * Output or echo HTML for an error condition relating to a remote storage method * * @param String $text - the text of the message; this should already be escaped (no more is done) * @param String $extraclass - a CSS class for the resulting DOM node * @param Integer $echo - if set, then the results will be echoed as well as returned * * @return String - the results */ public function show_double_warning($text, $extraclass = '', $echo = true) { $ret = "

    $text

    "; $ret .= "

    $text

    "; if ($echo) echo $ret; return $ret; } public function optionfilter_split_every($value) { return max(absint($value), UPDRAFTPLUS_SPLIT_MIN); } /** * Check if curl exists; if not, print or return appropriate error messages * * @param String $service the service description (used only for user-visible messages - so, use the description) * @param Boolean $has_fallback set as true if the lack of Curl only affects the ability to connect over SSL * @param String $extraclass an extra CSS class for any resulting message, passed on to show_double_warning() * @param Boolean $echo_instead_of_return whether the result should be echoed or returned * @return String any resulting message, if $echo_instead_of_return was set */ public function curl_check($service, $has_fallback = false, $extraclass = '', $echo_instead_of_return = true) { $ret = ''; // Check requirements if (!function_exists("curl_init") || !function_exists('curl_exec')) { $ret .= $this->show_double_warning(''.__('Warning', 'updraftplus').': '.sprintf(__("Your web server's PHP installation does not included a required (for %s) module (%s).", 'updraftplus'), $service, 'Curl').' '.__("Please contact your web hosting provider's support and ask for them to enable it.", 'updraftplus').' ', $extraclass, false); } else { $curl_version = curl_version(); $curl_ssl_supported= ($curl_version['features'] & CURL_VERSION_SSL); if (!$curl_ssl_supported) { if ($has_fallback) { $ret .= '

    '.__('Warning', 'updraftplus').': '.__("Your web server's PHP/Curl installation does not support https access.", 'updraftplus').' '.sprintf(__("Communications with %s will be unencrypted.", 'updraftplus'), $service).' '.__("Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on).", 'updraftplus').'

    '; } else { $ret .= $this->show_double_warning('

    '.__('Warning', 'updraftplus').': '.__("Your web server's PHP/Curl installation does not support https access.", 'updraftplus').' '.sprintf(__("We cannot access %s without this support.", 'updraftplus'), $service).' '.__("Please contact your web hosting provider's support.", 'updraftplus').' '.sprintf(__("%s requires Curl+https.", 'updraftplus'), $service).' '.__("Please do not file any support requests; there is no alternative.", 'updraftplus').'

    ', $extraclass, false); } } else { $ret .= '

    '.sprintf(__("Good news: Your site's communications with %s can be encrypted.", 'updraftplus'), $service).' '.__("If you see any errors to do with encryption, then look in the 'Expert Settings' for more help.", 'updraftplus').'

    '; } } if ($echo_instead_of_return) { echo $ret; } else { return $ret; } } /** * Get backup information in HTML format for a specific backup * * @param Array $backup_history all backups history * @param String $key backup timestamp * @param String $nonce backup nonce (job ID) * @param Array|Null $job_data if an array, then use this as the job data (if null, then it will be fetched directly) * * @return string HTML-formatted backup information */ public function raw_backup_info($backup_history, $key, $nonce, $job_data = null) { global $updraftplus; $backup = $backup_history[$key]; $only_remote_sent = !empty($backup['service']) && (array('remotesend') === $backup['service'] || 'remotesend' === $backup['service']); $pretty_date = get_date_from_gmt(gmdate('Y-m-d H:i:s', (int) $key), 'M d, Y G:i'); $rawbackup = "

    $pretty_date

    "; if (!empty($backup['label'])) $rawbackup .= ''.$backup['label'].''; if (null === $job_data) $job_data = empty($nonce) ? array() : $updraftplus->jobdata_getarray($nonce); if (!$only_remote_sent) { $rawbackup .= '
    '; $rawbackup .= ''; } $rawbackup .= '

    '; $backupable_entities = $updraftplus->get_backupable_file_entities(true, true); $checksums = $updraftplus->which_checksums(); foreach ($backupable_entities as $type => $info) { if (!isset($backup[$type])) continue; $rawbackup .= $updraftplus->printfile($info['description'], $backup, $type, $checksums, $job_data, true); } $total_size = 0; foreach ($backup as $ekey => $files) { if ('db' == strtolower(substr($ekey, 0, 2)) && '-size' != substr($ekey, -5, 5)) { $rawbackup .= $updraftplus->printfile(__('Database', 'updraftplus'), $backup, $ekey, $checksums, $job_data, true); } if (!isset($backupable_entities[$ekey]) && ('db' != substr($ekey, 0, 2) || '-size' == substr($ekey, -5, 5))) continue; if (is_string($files)) $files = array($files); foreach ($files as $findex => $file) { $size_key = (0 == $findex) ? $ekey.'-size' : $ekey.$findex.'-size'; $total_size = (false === $total_size || !isset($backup[$size_key]) || !is_numeric($backup[$size_key])) ? false : $total_size + $backup[$size_key]; } } $services = empty($backup['service']) ? array('none') : $backup['service']; if (!is_array($services)) $services = array('none'); $rawbackup .= ''.__('Uploaded to:', 'updraftplus').' '; $show_services = ''; foreach ($services as $serv) { if ('none' == $serv || '' == $serv) { $add_none = true; } elseif (isset($updraftplus->backup_methods[$serv])) { $show_services .= $show_services ? ', '.$updraftplus->backup_methods[$serv] : $updraftplus->backup_methods[$serv]; } else { $show_services .= $show_services ? ', '.$serv : $serv; } } if ('' == $show_services && $add_none) $show_services .= __('None', 'updraftplus'); $rawbackup .= $show_services; if (false !== $total_size) { $rawbackup .= '

    '.__('Total backup size:', 'updraftplus').' '.UpdraftPlus_Manipulation_Functions::convert_numeric_size_to_text($total_size).'

    '; } $rawbackup .= '


    '.print_r($backup, true).'

    '; if (!empty($job_data) && is_array($job_data)) { $rawbackup .= '

    '.htmlspecialchars(print_r($job_data, true)).'

    '; } return esc_attr($rawbackup); } private function download_db_button($bkey, $key, $esc_pretty_date, $backup, $accept = array()) { if (!empty($backup['meta_foreign']) && isset($accept[$backup['meta_foreign']])) { $desc_source = $accept[$backup['meta_foreign']]['desc']; } else { $desc_source = __('unknown source', 'updraftplus'); } $ret = ''; if ('db' == $bkey) { $dbt = empty($backup['meta_foreign']) ? esc_attr(__('Database', 'updraftplus')) : esc_attr(sprintf(__('Database (created by %s)', 'updraftplus'), $desc_source)); } else { $dbt = __('External database', 'updraftplus').' ('.substr($bkey, 2).')'; } $ret .= $this->download_button($bkey, $key, 0, null, '', $dbt, $esc_pretty_date, '0'); return $ret; } /** * Go through each of the file entities * * @param Array $backup An array of meta information * @param Integer $key Backup timestamp (epoch time) * @param Array $accept An array of values to be accepted from values within $backup * @param String $entities Entities to be added * @param String $esc_pretty_date Whether the button needs to escape the pretty date format * @return String - the resulting HTML */ public function download_buttons($backup, $key, $accept, &$entities, $esc_pretty_date) { global $updraftplus; $ret = ''; $backupable_entities = $updraftplus->get_backupable_file_entities(true, true); $first_entity = true;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- template foreach ($backupable_entities as $type => $info) { if (!empty($backup['meta_foreign']) && 'wpcore' != $type) continue; $ide = ''; if (empty($backup['meta_foreign'])) { $sdescrip = preg_replace('/ \(.*\)$/', '', $info['description']); if (strlen($sdescrip) > 20 && isset($info['shortdescription'])) $sdescrip = $info['shortdescription']; } else { $info['description'] = 'WordPress'; if (isset($accept[$backup['meta_foreign']])) { $desc_source = $accept[$backup['meta_foreign']]['desc']; $ide .= sprintf(__('Backup created by: %s.', 'updraftplus'), $accept[$backup['meta_foreign']]['desc']).' '; } else { $desc_source = __('unknown source', 'updraftplus'); $ide .= __('Backup created by unknown source (%s) - cannot be restored.', 'updraftplus').' '; } $sdescrip = (empty($accept[$backup['meta_foreign']]['separatedb'])) ? sprintf(__('Files and database WordPress backup (created by %s)', 'updraftplus'), $desc_source) : sprintf(__('Files backup (created by %s)', 'updraftplus'), $desc_source); } if (isset($backup[$type])) { if (!is_array($backup[$type])) $backup[$type] = array($backup[$type]); $howmanyinset = count($backup[$type]); $expected_index = 0; $index_missing = false; $set_contents = ''; $entities .= "/$type="; $whatfiles = $backup[$type]; ksort($whatfiles); $total_file_size = 0; foreach ($whatfiles as $findex => $bfile) { $set_contents .= ('' == $set_contents) ? $findex : ",$findex"; if ($findex != $expected_index) $index_missing = true; $expected_index++; if ($howmanyinset > 0) { if (!empty($backup[$type.(($findex > 0) ? $findex : '')."-size"]) && $findex < $howmanyinset) $total_file_size += $backup[$type.(($findex > 0) ? $findex : '')."-size"]; } } $ide = __('Press here to download or browse', 'updraftplus').' '.strtolower($info['description']); $ide .= ' '.sprintf(__('(%d archive(s) in set, total %s).', 'updraftplus'), $howmanyinset, '%UP_backups_total_file_size%'); if ($index_missing) $ide .= ' '.__('You are missing one or more archives from this multi-archive set.', 'updraftplus'); $entities .= $set_contents.'/'; if (!empty($backup['meta_foreign'])) { $entities .= '/plugins=0//themes=0//uploads=0//others=0/'; } $ret .= $this->download_button($type, $key, 0, null, $ide, $sdescrip, $esc_pretty_date, $set_contents); $ret = str_replace('%UP_backups_total_file_size%', UpdraftPlus_Manipulation_Functions::convert_numeric_size_to_text($total_file_size), $ret); } } return $ret; } public function date_label($pretty_date, $key, $backup, $jobdata, $nonce, $simple_format = false) { $pretty_date = $simple_format ? $pretty_date : '
    '.$pretty_date.'
    '; $ret = apply_filters('updraftplus_showbackup_date', $pretty_date, $backup, $jobdata, (int) $key, $simple_format); if (is_array($jobdata) && !empty($jobdata['resume_interval']) && (empty($jobdata['jobstatus']) || 'finished' != $jobdata['jobstatus'])) { if ($simple_format) { $ret .= ' '.__('(Not finished)', 'updraftplus'); } else { $ret .= apply_filters('updraftplus_msg_unfinishedbackup', "
    ".__('(Not finished)', 'updraftplus').'', $jobdata, $nonce); } } return $ret; } public function download_button($type, $backup_timestamp, $findex, $info, $title, $pdescrip, $esc_pretty_date, $set_contents) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found -- Filter use $ret = ''; $wp_nonce = wp_create_nonce('updraftplus_download'); // updraft_downloader(base, backup_timestamp, what, whicharea, set_contents, prettydate, async) $ret .= ''; // onclick="'."return updraft_downloader('uddlstatus_', '$backup_timestamp', '$type', '.ud_downloadstatus', '$set_contents', '$esc_pretty_date', true)".'" return $ret; } public function restore_button($backup, $key, $pretty_date, $entities = '') { $ret = '
    '; if ($entities) { $show_data = $pretty_date; if (isset($backup['native']) && false == $backup['native']) { $show_data .= ' '.__('(backup set imported from remote location)', 'updraftplus'); } $ret .= ''; } $ret .= "
    \n"; return $ret; } /** * Get HTML for the 'Upload' button for a particular backup in the 'Existing backups' tab * * @param Integer $backup_time - backup timestamp (epoch time) * @param String $nonce - backup nonce * @param Array $backup - backup information array * @param Null|Array $jobdata - if not null, then use as the job data instead of fetching * * @return String - the resulting HTML */ public function upload_button($backup_time, $nonce, $backup, $jobdata = null) { global $updraftplus; // Check the job is not still running. if (null === $jobdata) $jobdata = $updraftplus->jobdata_getarray($nonce); if (!empty($jobdata) && 'finished' != $jobdata['jobstatus']) return ''; // Check that the user has remote storage setup. $services = (array) $updraftplus->just_one($updraftplus->get_canonical_service_list()); if (empty($services)) return ''; $show_upload = false; // Check that the backup has not already been sent to remote storage before. if (empty($backup['service']) || array('none') == $backup['service'] || array('') == $backup['service'] || 'none' == $backup['service']) { $show_upload = true; // If it has been uploaded then check if there are any new remote storage options that it has not yet been sent to. } elseif (!empty($backup['service']) && array('none') != $backup['service'] && array('') != $backup['service'] && 'none' != $backup['service']) { foreach ($services as $key => $value) { if (is_string($backup['service'])) $backup['service'] = array($backup['service']); if (in_array($value, $backup['service'])) unset($services[$key]); } if (!empty($services)) $show_upload = true; } if ($show_upload) { $backup_local = $this->check_backup_is_complete($backup, false, false, true); if ($backup_local) { $service_list = ''; $service_list_display = ''; $is_first_service = true; foreach ($services as $key => $service) { if (!$is_first_service) { $service_list .= ','; $service_list_display .= ', '; } $service_list .= $service; $service_list_display .= $updraftplus->backup_methods[$service]; $is_first_service = false; } return '
    '; } return ''; } } /** * Get HTML for the 'Delete' button for a particular backup in the 'Existing backups' tab * * @param Integer $backup_time - backup timestamp (epoch time) * @param String $nonce - backup nonce * @param Array $backup - backup information array * * @return String - the resulting HTML */ public function delete_button($backup_time, $nonce, $backup) { $sval = (!empty($backup['service']) && 'email' != $backup['service'] && 'none' != $backup['service'] && array('email') !== $backup['service'] && array('none') !== $backup['service'] && array('remotesend') !== $backup['service']) ? '1' : '0'; return ''; } public function log_button($backup) { global $updraftplus; $updraft_dir = $updraftplus->backups_dir_location(); $ret = ''; if (isset($backup['nonce']) && preg_match("/^[0-9a-f]{12}$/", $backup['nonce']) && is_readable($updraft_dir.'/log.'.$backup['nonce'].'.txt')) { $nval = $backup['nonce']; $url = UpdraftPlus_Options::admin_page()."?page=updraftplus&action=downloadlog&updraftplus_backup_nonce=$nval"; $ret .= ''; return $ret; } } /** * This function will check that a backup is complete depending on the parameters passed in. * A backup is complete in the case of a "clone" if it contains a db, plugins, themes, uploads and others. * A backup is complete in the case of a "full backup" when it contains everything the user has set in their options to be backed up. * It can also check if the backup is local on the filesystem. * * @param array $backup - the backup array we want to check * @param boolean $full_backup - a boolean to indicate if the backup should also be a full backup * @param boolean $clone - a boolean to indicate if the backup is for a clone, if so it does not need to be a full backup it only needs to include everything a clone can restore * @param boolean $local - a boolean to indicate if the backup should be present on the local file system or not * * @return boolean - returns true if the backup is complete and if specified is found on the local system otherwise false */ public function check_backup_is_complete($backup, $full_backup, $clone, $local) { global $updraftplus; if (empty($backup)) return false; if ($clone) { $entities = array('db' => '', 'plugins' => '', 'themes' => '', 'uploads' => '', 'others' => ''); } else { $entities = $updraftplus->get_backupable_file_entities(true, true); // Add the database to the entities array ready to loop over $entities['db'] = ''; foreach ($entities as $key => $info) { if (!UpdraftPlus_Options::get_updraft_option("updraft_include_$key", false)) { unset($entities[$key]); } } } $updraft_dir = trailingslashit($updraftplus->backups_dir_location()); foreach ($entities as $type => $info) { if ($full_backup) { if (UpdraftPlus_Options::get_updraft_option("updraft_include_$type", false) && !isset($backup[$type])) return false; } if (!isset($backup[$type])) return false; if ($local) { // Cast this to an array so that a warning is not thrown when we encounter a Database. foreach ((array) $backup[$type] as $value) { if (!file_exists($updraft_dir . DIRECTORY_SEPARATOR . $value)) return false; } } } return true; } /** * This function will set up the backup job data for when we are uploading a local backup to remote storage. It changes the initial jobdata so that UpdraftPlus knows about what files it's uploading and so that it skips directly to the upload stage. * * @param array $jobdata - the initial job data that we want to change * @param array $options - options sent from the front end includes backup timestamp and nonce * * @return array - the modified jobdata */ public function upload_local_backup_jobdata($jobdata, $options) { global $updraftplus; if (!is_array($jobdata)) return $jobdata; $backup_history = UpdraftPlus_Backup_History::get_history(); $services = !empty($options['services']) ? $options['services'] : array(); $backup = $backup_history[$options['use_timestamp']]; /* The initial job data is not set up in a key value array instead it is set up so key "x" is the name of the key and then key "y" is the value. e.g array[0] = 'backup_name' array[1] = 'my_backup' */ $jobstatus_key = array_search('jobstatus', $jobdata) + 1; $backup_time_key = array_search('backup_time', $jobdata) + 1; $backup_database_key = array_search('backup_database', $jobdata) + 1; $backup_files_key = array_search('backup_files', $jobdata) + 1; $service_key = array_search('service', $jobdata) + 1; $db_backups = $jobdata[$backup_database_key]; $db_backup_info = $updraftplus->update_database_jobdata($db_backups, $backup); $file_backups = $updraftplus->update_files_jobdata($backup); // Next we need to build the services array using the remote storage destinations the user has selected to upload this backup set to $selected_services = array(); if (is_array($services)) { foreach ($services as $storage_info) { $selected_services[] = $storage_info['value']; } } else { $selected_services = array($services); } $jobdata[$jobstatus_key] = 'clouduploading'; $jobdata[$backup_time_key] = $options['use_timestamp']; $jobdata[$backup_files_key] = 'finished'; $jobdata[] = 'backup_files_array'; $jobdata[] = $file_backups; $jobdata[] = 'blog_name'; $jobdata[] = $db_backup_info['blog_name']; $jobdata[$backup_database_key] = $db_backup_info['db_backups']; $jobdata[] = 'local_upload'; $jobdata[] = true; if (!empty($selected_services)) $jobdata[$service_key] = $selected_services; return $jobdata; } /** * This function allows us to change the backup name, this is needed when uploading a local database backup to remote storage when the backup has come from another site. * * @param string $backup_name - the current name of the backup file * @param string $use_time - the current timestamp we are using * @param string $blog_name - the blog name of the current site * * @return string - the new filename or the original if the blog name from the job data is not set */ public function upload_local_backup_name($backup_name, $use_time, $blog_name) { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found -- Filter use global $updraftplus; $backup_blog_name = $updraftplus->jobdata_get('blog_name', ''); if ('' != $blog_name && '' != $backup_blog_name) { return str_replace($blog_name, $backup_blog_name, $backup_name); } return $backup_name; } /** * This function starts the updraftplus restore process it processes $_REQUEST * (keys: updraft_*, meta_foreign, backup_timestamp and job_id) * * @return void */ public function prepare_restore() { global $updraftplus; // on restore start job_id is empty but if we needed file system permissions or this is a resumption then we have already started a job so reuse it $restore_job_id = empty($_REQUEST['job_id']) ? false : stripslashes($_REQUEST['job_id']); if (false !== $restore_job_id && !preg_match('/^[0-9a-f]+$/', $restore_job_id)) die('Invalid request (restore_job_id).'); if (isset($_REQUEST['action']) && 'updraft_ajaxrestore_continue' === $_REQUEST['action']) { // unlike updraft_ajaxrestore which requires nonce to start a new restoration, updraft_ajaxrestore_continue doesn't require nonces at all so additional checks are required $restore_in_progress = get_site_option('updraft_restore_in_progress'); if (empty($restore_in_progress) || !$restore_job_id || $restore_job_id !== $restore_in_progress) die; // continuation requires a job ID, and if it's not presented then just abort without showing anything } // Set up nonces, log files etc. $updraftplus->initiate_restore_job($restore_job_id); // If this is the start of a restore then get the restore data from the posted data and put it into jobdata. if (isset($_REQUEST['action']) && 'updraft_restore' == $_REQUEST['action']) { if (empty($restore_job_id)) { $jobdata_to_save = array(); foreach ($_REQUEST as $key => $value) { if (false !== strpos($key, 'updraft_') || 'backup_timestamp' == $key || 'meta_foreign' == $key) { if ('updraft_restorer_restore_options' == $key) parse_str(stripslashes($value), $value); $jobdata_to_save[$key] = $value; } } $selective_restore_types = array( 'tables', 'plugins', 'themes', ); foreach ($selective_restore_types as $type) { if (isset($jobdata_to_save['updraft_restorer_restore_options']['updraft_restore_'.$type.'_options']) && !empty($jobdata_to_save['updraft_restorer_restore_options']['updraft_restore_'.$type.'_options'])) { $restore_entities_options = $jobdata_to_save['updraft_restorer_restore_options']['updraft_restore_'.$type.'_options']; $include_unspecified_entities = false; $entities_to_restore = array(); $entities_to_skip = array(); foreach ($restore_entities_options as $entity) { if ('udp_all_other_'.$type == $entity) { $include_unspecified_entities = true; } elseif (substr($entity, 0, strlen('udp-skip-'.$type)) == 'udp-skip-'.$type) { $entities_to_skip[] = substr($entity, strlen('udp-skip-'.$type) + 1); } else { $entities_to_restore[] = $entity; } } $jobdata_to_save['updraft_restorer_restore_options']['include_unspecified_'.$type] = $include_unspecified_entities; $jobdata_to_save['updraft_restorer_restore_options'][$type.'_to_restore'] = $entities_to_restore; $jobdata_to_save['updraft_restorer_restore_options'][$type.'_to_skip'] = $entities_to_skip; unset($jobdata_to_save['updraft_restorer_restore_options']['updraft_restore_'.$type.'_options']); } } $updraftplus->jobdata_set_multi($jobdata_to_save); // Use a site option, as otherwise on multisite when all the array of options is updated via UpdraftPlus_Options::update_site_option(), it will over-write any restored UD options from the backup update_site_option('updraft_restore_in_progress', $updraftplus->nonce); } } // If this is the start of an ajax restore then end execution here so it can then be booted over ajax if (isset($_REQUEST['updraftplus_ajax_restore']) && 'start_ajax_restore' == $_REQUEST['updraftplus_ajax_restore']) { // return to prevent any more code from running return $this->prepare_ajax_restore(); } elseif (isset($_REQUEST['updraftplus_ajax_restore']) && 'continue_ajax_restore' == $_REQUEST['updraftplus_ajax_restore']) { // If we enter here then in order to restore we needed to require the filesystem credentials we should save these before returning back to the browser and load them back after the AJAX call, this prevents us asking for the filesystem credentials again $filesystem_credentials = array( 'hostname' => '', 'username' => '', 'password' => '', 'connection_type' => '', 'upgrade' => '', ); $credentials_found = false; foreach ($_REQUEST as $key => $value) { if (array_key_exists($key, $filesystem_credentials)) { $filesystem_credentials[$key] = stripslashes($value); $credentials_found = true; } } if ($credentials_found) $updraftplus->jobdata_set('filesystem_credentials', $filesystem_credentials); // return to prevent any more code from running return $this->prepare_ajax_restore(); } if (!empty($_REQUEST['updraftplus_ajax_restore'])) add_filter('updraftplus_logline', array($this, 'updraftplus_logline'), 10, 5); $is_continuation = ('updraft_ajaxrestore_continue' == $_REQUEST['action']) ? true : false; if ($is_continuation) { $restore_in_progress = get_site_option('updraft_restore_in_progress'); if ($restore_in_progress != $_REQUEST['job_id']) { $abort_restore_already = true; $updraftplus->log(__('Sufficient information about the in-progress restoration operation could not be found.', 'updraftplus') . ' (job_id_mismatch)', 'error', 'job_id_mismatch'); } else { $restore_jobdata = $updraftplus->jobdata_getarray($restore_in_progress); if (is_array($restore_jobdata) && isset($restore_jobdata['job_type']) && 'restore' == $restore_jobdata['job_type'] && isset($restore_jobdata['second_loop_entities']) && !empty($restore_jobdata['second_loop_entities']) && isset($restore_jobdata['job_time_ms']) && isset($restore_jobdata['backup_timestamp'])) { $backup_timestamp = $restore_jobdata['backup_timestamp']; $continuation_data = $restore_jobdata; $continuation_data['updraftplus_ajax_restore'] = 'continue_ajax_restore'; } else { $abort_restore_already = true; $updraftplus->log(__('Sufficient information about the in-progress restoration operation could not be found.', 'updraftplus') . ' (job_id_nojobdata)', 'error', 'job_id_nojobdata'); } } } elseif (isset($_REQUEST['updraftplus_ajax_restore']) && 'do_ajax_restore' == $_REQUEST['updraftplus_ajax_restore']) { $backup_timestamp = $updraftplus->jobdata_get('backup_timestamp'); $continuation_data = array('updraftplus_ajax_restore' => 'do_ajax_restore'); } else { $backup_timestamp = (int) $_REQUEST['backup_timestamp']; $continuation_data = null; } $filesystem_credentials = $updraftplus->jobdata_get('filesystem_credentials', array()); if (!empty($filesystem_credentials)) { $continuation_data['updraftplus_ajax_restore'] = 'continue_ajax_restore'; // If the filesystem credentials are not empty then we now need to load these back into $_POST so that WP_Filesystem can access them foreach ($filesystem_credentials as $key => $value) { $_POST[$key] = $value; } } if (empty($abort_restore_already)) { $backup_success = $this->restore_backup($backup_timestamp, $continuation_data); } else { $backup_success = false; } if (empty($updraftplus->errors) && true === $backup_success) { // TODO: Deal with the case of some of the work having been deferred echo '

    '; $updraftplus->log_e('Restore successful!'); echo '

    '; $updraftplus->log('Restore successful'); $s_val = 1; if (!empty($this->entities_to_restore) && is_array($this->entities_to_restore)) { foreach ($this->entities_to_restore as $v) { if ('db' != $v) $s_val = 2; } } $pval = $updraftplus->have_addons ? 1 : 0; echo '' . __('Actions', 'updraftplus') . ': ' . __('Return to UpdraftPlus configuration', 'updraftplus') . ''; return; } elseif (is_wp_error($backup_success)) { echo '

    '; $updraftplus->log_e('Restore failed...'); echo '

    '; $updraftplus->log_wp_error($backup_success); $updraftplus->log('Restore failed'); echo '
    '; $updraftplus->list_errors(); echo '
    '; echo '' . __('Actions', 'updraftplus') . ': ' . __('Return to UpdraftPlus configuration', 'updraftplus') . ''; return; } elseif (false === $backup_success) { // This means, "not yet - but stay on the page because we may be able to do it later, e.g. if the user types in the requested information" echo '

    '; $updraftplus->log_e('Restore failed...'); echo '

    '; $updraftplus->log("Restore failed"); echo '
    '; $updraftplus->list_errors(); echo '
    '; echo '' . __('Actions', 'updraftplus') . ': ' . __('Return to UpdraftPlus configuration', 'updraftplus') . ''; return; } } /** * This function will load the required ajax and output any relevant html for the ajax restore * * @return void */ private function prepare_ajax_restore() { global $updraftplus; $debug = $updraftplus->use_unminified_scripts(); $enqueue_version = $debug ? $updraftplus->version . '.' . time() : $updraftplus->version; $updraft_min_or_not = $updraftplus->get_updraftplus_file_version(); $ajax_action = isset($_REQUEST['updraftplus_ajax_restore']) && 'continue_ajax_restore' == $_REQUEST['updraftplus_ajax_restore'] && 'updraft_restore' != $_REQUEST['action'] ? 'updraft_ajaxrestore_continue' : 'updraft_ajaxrestore'; // get the entities info $jobdata = $updraftplus->jobdata_getarray($updraftplus->nonce); $restore_components = $jobdata['updraft_restore']; usort($restore_components, array('UpdraftPlus_Manipulation_Functions', 'sort_restoration_entities')); $backupable_entities = $updraftplus->get_backupable_file_entities(true, true); $pretty_date = get_date_from_gmt(gmdate('Y-m-d H:i:s', (int) $jobdata['backup_timestamp']), 'M d, Y G:i'); wp_enqueue_script('updraft-admin-restore', UPDRAFTPLUS_URL . '/js/updraft-admin-restore' . $updraft_min_or_not . '.js', array(), $enqueue_version); $updraftplus->log("Restore setup, now closing connection and starting restore over AJAX."); echo '
    '; echo '
    '; echo '

    '. __('Warning: If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site.', 'updraftplus') .' '.__('This may prevent the restore procedure from being able to proceed.', 'updraftplus').''; echo ' '. __('Go here for more information.', 'updraftplus') .'

    '; echo '
    '; echo '
    '.__('UpdraftPlus Restoration', 'updraftplus').' - '.__('Backup', 'updraftplus').' '.$pretty_date.'
    '; echo '
    '; if ($debug) echo ''; echo ''; echo ''; echo ''; echo '
    '; echo '

    '.sprintf(__('The restore operation has begun (%s).', 'updraftplus'), htmlspecialchars($updraftplus->nonce)).' '.__('Do not close this page until it reports itself as having finished.', 'updraftplus').'

    '; echo '

    '.__('Restoration progress:', 'updraftplus').'

    '; echo '
    '; echo '
      '; echo '
    • '.__('Verifying', 'updraftplus').'
    • '; foreach ($restore_components as $restore_component) { // Set Database description if ('db' == $restore_component && !isset($backupable_entities[$restore_component]['description'])) $backupable_entities[$restore_component]['description'] = __('Database', 'updraftplus'); if (!isset($backupable_entities[$restore_component])) { die('Abort: invalid data'); } echo '
    • '.(isset($backupable_entities[$restore_component]['description']) ? htmlspecialchars($backupable_entities[$restore_component]['description']) : htmlspecialchars($restore_component)).'
    • '; } echo '
    • '.__('Cleaning', 'updraftplus').'
    • '; echo '
    • '.__('Finished', 'updraftplus').'
    • '; echo '
    '; // end ul.updraft_restore_components_list // Provide download link for the log file echo '

    '.__('Follow this link to download the log file for this restoration (needed for any support requests).', 'updraftplus').'

    '; echo '
    '; // end .updraft_restore_main--components echo '
    '; echo '

    '.__('Activity log', 'updraftplus').'

    '; echo '
    '; echo '
    '; // end .updraft_restore_main--activity echo ' '; echo '
    '; // end .updraft_restore_main echo '
    '; // end .updraft_restore_container } /** * Processes the jobdata to build an array of entities to restore. * * @param Array $backup_set - information on the backup to restore * * @return Array - the entities to restore built from the restore jobdata */ private function get_entities_to_restore_from_jobdata($backup_set) { global $updraftplus; $updraft_restore = $updraftplus->jobdata_get('updraft_restore'); if (empty($updraft_restore) || (!is_array($updraft_restore))) $updraft_restore = array(); $entities_to_restore = array(); $foreign_known = apply_filters('updraftplus_accept_archivename', array()); foreach ($updraft_restore as $entity) { if (empty($backup_set['meta_foreign'])) { $entities_to_restore[$entity] = $entity; } else { if ('db' == $entity && !empty($foreign_known[$backup_set['meta_foreign']]) && !empty($foreign_known[$backup_set['meta_foreign']]['separatedb'])) { $entities_to_restore[$entity] = 'db'; } else { $entities_to_restore[$entity] = 'wpcore'; } } } return $entities_to_restore; } /** * Processes the jobdata to build an array of restoration options * * @return Array - the restore options built from the restore jobdata */ private function get_restore_options_from_jobdata() { global $updraftplus; $restore_options = $updraftplus->jobdata_get('updraft_restorer_restore_options'); $updraft_encryptionphrase = $updraftplus->jobdata_get('updraft_encryptionphrase'); $include_wpconfig = $updraftplus->jobdata_get('updraft_restorer_wpcore_includewpconfig'); $restore_options['updraft_encryptionphrase'] = empty($updraft_encryptionphrase) ? '' : $updraft_encryptionphrase; $restore_options['updraft_restorer_wpcore_includewpconfig'] = !empty($include_wpconfig); $restore_options['updraft_incremental_restore_point'] = empty($restore_options['updraft_incremental_restore_point']) ? -1 : (int) $restore_options['updraft_incremental_restore_point']; return $restore_options; } /** * Carry out the restore process within the WP admin dashboard, using data from $_POST * * @param Integer $timestamp Identifying the backup to be restored * @param Array|null $continuation_data For continuing a multi-stage restore; this is the saved jobdata for the job; in this method the keys used are second_loop_entities, restore_options; but it is also passed on to Updraft_Restorer::perform_restore() * @return Boolean|WP_Error - a WP_Error indicates a terminal failure; false indicates not-yet complete (not necessarily terminal); true indicates complete. */ private function restore_backup($timestamp, $continuation_data = null) { global $updraftplus, $updraftplus_restorer; $second_loop_entities = empty($continuation_data['second_loop_entities']) ? array() : $continuation_data['second_loop_entities']; // If this is a resumption and we still need to restore the database we should rebuild the backup history to ensure the database is in there. if (!empty($second_loop_entities['db'])) UpdraftPlus_Backup_History::rebuild(); $backup_set = UpdraftPlus_Backup_History::get_history($timestamp); if (empty($backup_set)) { echo '

    '.__('This backup does not exist in the backup history - restoration aborted.', 'updraftplus').' '.__('Timestamp:', 'updraftplus').' '.htmlspecialchars($timestamp).'


    '; return new WP_Error('does_not_exist', __('Backup does not exist in the backup history', 'updraftplus')." ($timestamp)"); } $backup_set['timestamp'] = $timestamp; $url_parameters = array( 'backup_timestamp' => $timestamp, 'job_id' => $updraftplus->nonce ); if (!empty($continuation_data['updraftplus_ajax_restore'])) { $url_parameters['updraftplus_ajax_restore'] = 'continue_ajax_restore'; $updraftplus->output_to_browser(''); // Start timer // Force output buffering off so that we get log lines sent to the browser as they come not all at once at the end of the ajax restore // zlib creates an output buffer, and waits for the entire page to be generated before it can send it to the client try to turn it off @ini_set("zlib.output_compression", '0');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. // Turn off PHP output buffering for NGINX header('X-Accel-Buffering: no'); header('Content-Encoding: none'); while (ob_get_level()) { ob_end_flush(); } if (version_compare(PHP_VERSION, '8.0.0', '>=')) { $flush = true; // PHP 8.0.0 or newer, use bool } else { $flush = 1; // PHP older than 8.0.0, use int } ob_implicit_flush($flush); } $updraftplus->log("Ensuring WP_Filesystem is setup for a restore"); // This will print HTML and die() if necessary UpdraftPlus_Filesystem_Functions::ensure_wp_filesystem_set_up_for_restore($url_parameters); $updraftplus->log("WP_Filesystem is setup and ready for a restore"); $entities_to_restore = $this->get_entities_to_restore_from_jobdata($backup_set); if (empty($entities_to_restore)) { $restore_jobdata = $updraftplus->jobdata_getarray($updraftplus->nonce); echo '

    '.__('ABORT: Could not find the information on which entities to restore.', 'updraftplus').'

    '.__('If making a request for support, please include this information:', 'updraftplus').' '.count($restore_jobdata).' : '.htmlspecialchars(serialize($restore_jobdata)).'

    '; return new WP_Error('missing_info', 'Backup information not found'); } // This is used in painting the admin page after a successful restore $this->entities_to_restore = $entities_to_restore; // This will be removed by Updraft_Restorer::post_restore_clean_up() set_error_handler(array($updraftplus, 'php_error'), E_ALL & ~E_STRICT); // Set $restore_options, either from the continuation data, or from $_POST if (!empty($continuation_data['restore_options'])) { $restore_options = $continuation_data['restore_options']; } else { // Gather the restore options into one place - code after here should read the options $restore_options = $this->get_restore_options_from_jobdata(); $updraftplus->jobdata_set('restore_options', $restore_options); } add_action('updraftplus_restoration_title', array($this, 'restoration_title')); $updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'started', 'data' => array())); // We use a single object for each entity, because we want to store information about the backup set $updraftplus_restorer = new Updraft_Restorer(new Updraft_Restorer_Skin, $backup_set, false, $restore_options, $continuation_data); $restore_result = $updraftplus_restorer->perform_restore($entities_to_restore, $restore_options); $updraftplus_restorer->post_restore_clean_up($restore_result); $pval = $updraftplus->have_addons ? 1 : 0; $sval = (true === $restore_result) ? 1 : 0; $pages = get_pages(array('number' => 2)); $page_urls = array( 'home' => get_home_url(), ); foreach ($pages as $page_info) { $page_urls[$page_info->post_name] = get_page_link($page_info->ID); } $updraftplus->log_restore_update( array( 'type' => 'state', 'stage' => 'finished', 'data' => array( 'actions' => array( __('Return to UpdraftPlus configuration', 'updraftplus') => UpdraftPlus_Options::admin_page_url() . '?page=updraftplus&updraft_restore_success=' . $sval . '&pval=' . $pval ), 'urls' => $page_urls, ) ) ); return $restore_result; } /** * Called when the restore process wants to print a title * * @param String $title - title */ public function restoration_title($title) { echo '

    '.$title.'

    '; } /** * Logs a line from the restore process, being called from UpdraftPlus::log(). * Hooks the WordPress filter updraftplus_logline * In future, this can get more sophisticated. For now, things are funnelled through here, giving the future possibility. * * @param String $line - the line to be logged * @param String $nonce - the job ID of the restore job * @param String $level - the level of the log notice * @param String|Boolean $uniq_id - a unique ID for the log if it should only be logged once; or false otherwise * @param String $destination - the type of job ongoing. If it is not 'restore', then we will skip the logging. * * @return String|Boolean - the filtered value. If set to false, then UpdraftPlus::log() will stop processing the log line. */ public function updraftplus_logline($line, $nonce, $level, $uniq_id, $destination) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found -- Unused parameter is present because the method is used as a WP filter. if ('progress' != $destination || (defined('WP_CLI') && WP_CLI) || false === $line || false === strpos($line, 'RINFO:')) return $line; global $updraftplus; $updraftplus->output_to_browser($line); // Indicate that we have completely handled all logging needed return false; } /** * Ensure that what is returned is an array. Used as a WP options filter. * * @param Array $input - input * * @return Array */ public function return_array($input) { return is_array($input) ? $input : array(); } /** * Called upon the WP action wp_ajax_updraft_savesettings. Will die(). */ public function updraft_ajax_savesettings() { try { if (empty($_POST) || empty($_POST['subaction']) || 'savesettings' != $_POST['subaction'] || !isset($_POST['nonce']) || !is_user_logged_in() || !UpdraftPlus_Options::user_can_manage() || !wp_verify_nonce($_POST['nonce'], 'updraftplus-settings-nonce')) die('Security check'); if (empty($_POST['settings']) || !is_string($_POST['settings'])) die('Invalid data'); parse_str(stripslashes($_POST['settings']), $posted_settings); // We now have $posted_settings as an array if (!empty($_POST['updraftplus_version'])) $posted_settings['updraftplus_version'] = $_POST['updraftplus_version']; echo json_encode($this->save_settings($posted_settings)); } catch (Exception $e) { $log_message = 'PHP Fatal Exception error ('.get_class($e).') has occurred during save settings. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during save settings. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); } die; } public function updraft_ajax_importsettings() { try { if (empty($_POST) || empty($_POST['subaction']) || 'importsettings' != $_POST['subaction'] || !isset($_POST['nonce']) || !is_user_logged_in() || !UpdraftPlus_Options::user_can_manage() || !wp_verify_nonce($_POST['nonce'], 'updraftplus-settings-nonce')) die('Security check'); if (empty($_POST['settings']) || !is_string($_POST['settings'])) die('Invalid data'); $this->import_settings($_POST); } catch (Exception $e) { $log_message = 'PHP Fatal Exception error ('.get_class($e).') has occurred during import settings. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during import settings. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); echo json_encode(array( 'fatal_error' => true, 'fatal_error_message' => $log_message )); } } /** * This method handles the imported json settings it will convert them into a readable format for the existing save settings function, it will also update some of the options to match the new remote storage options format (Apr 2017) * * @param Array $settings - The settings from the imported json file */ public function import_settings($settings) { // A bug in UD releases around 1.12.40 - 1.13.3 meant that it was saved in URL-string format, instead of JSON $perhaps_not_yet_parsed = json_decode(stripslashes($settings['settings']), true); if (!is_array($perhaps_not_yet_parsed)) { parse_str($perhaps_not_yet_parsed, $posted_settings); } else { $posted_settings = $perhaps_not_yet_parsed; } if (!empty($settings['updraftplus_version'])) $posted_settings['updraftplus_version'] = $settings['updraftplus_version']; // Handle the settings name change of WebDAV and SFTP (Apr 2017) if someone tries to import an old settings to this version if (isset($posted_settings['updraft_webdav_settings'])) { $posted_settings['updraft_webdav'] = $posted_settings['updraft_webdav_settings']; unset($posted_settings['updraft_webdav_settings']); } if (isset($posted_settings['updraft_sftp_settings'])) { $posted_settings['updraft_sftp'] = $posted_settings['updraft_sftp_settings']; unset($posted_settings['updraft_sftp_settings']); } // We also need to wrap some of the options in the new style settings array otherwise later on we will lose the settings if this information is missing if (empty($posted_settings['updraft_webdav']['settings'])) $posted_settings['updraft_webdav'] = UpdraftPlus_Storage_Methods_Interface::wrap_remote_storage_options($posted_settings['updraft_webdav']); if (empty($posted_settings['updraft_googledrive']['settings'])) $posted_settings['updraft_googledrive'] = UpdraftPlus_Storage_Methods_Interface::wrap_remote_storage_options($posted_settings['updraft_googledrive']); if (empty($posted_settings['updraft_googlecloud']['settings'])) $posted_settings['updraft_googlecloud'] = UpdraftPlus_Storage_Methods_Interface::wrap_remote_storage_options($posted_settings['updraft_googlecloud']); if (empty($posted_settings['updraft_onedrive']['settings'])) $posted_settings['updraft_onedrive'] = UpdraftPlus_Storage_Methods_Interface::wrap_remote_storage_options($posted_settings['updraft_onedrive']); if (empty($posted_settings['updraft_azure']['settings'])) $posted_settings['updraft_azure'] = UpdraftPlus_Storage_Methods_Interface::wrap_remote_storage_options($posted_settings['updraft_azure']); if (empty($posted_settings['updraft_dropbox']['settings'])) $posted_settings['updraft_dropbox'] = UpdraftPlus_Storage_Methods_Interface::wrap_remote_storage_options($posted_settings['updraft_dropbox']); echo json_encode($this->save_settings($posted_settings)); die; } /** * This function will get a list of remote storage methods with valid connection details and create a HTML list of checkboxes * * @return String - HTML checkbox list of remote storage methods with valid connection details */ private function backup_now_remote_message() { global $updraftplus; $services = (array) $updraftplus->just_one($updraftplus->get_canonical_service_list()); $all_services = UpdraftPlus_Storage_Methods_Interface::get_storage_objects_and_ids($services); $active_remote_storage_list = ''; foreach ($all_services as $method => $sinfo) { if ('email' == $method) { $possible_emails = $updraftplus->just_one_email(UpdraftPlus_Options::get_updraft_option('updraft_email')); if (!empty($possible_emails)) { $active_remote_storage_list .= '
    '; } } elseif (empty($sinfo['object']) || empty($sinfo['instance_settings']) || !is_callable(array($sinfo['object'], 'options_exist'))) { continue; } $instance_count = 1; foreach ($sinfo['instance_settings'] as $instance => $opt) { if ($sinfo['object']->options_exist($opt)) { $instance_count_label = (1 == $instance_count) ? '' : ' ('.$instance_count.')'; $label = empty($opt['instance_label']) ? $sinfo['object']->get_description() . $instance_count_label : $opt['instance_label']; if (!isset($opt['instance_enabled'])) $opt['instance_enabled'] = 1; $checked = empty($opt['instance_enabled']) ? '' : 'checked="checked"'; $active_remote_storage_list .= '
    '; $instance_count++; } } } $service = $updraftplus->just_one(UpdraftPlus_Options::get_updraft_option('updraft_service')); if (is_string($service)) $service = array($service); if (!is_array($service)) $service = array(); $no_remote_configured = (empty($service) || array('none') === $service || array('') === $service) ? true : false; if ($no_remote_configured && empty($active_remote_storage_list)) { return ' '.sprintf(__("Backup won't be sent to any remote storage - none has been saved in the %s", 'updraftplus'), ''.__('settings', 'updraftplus')).'. '.__('Not got any remote storage?', 'updraftplus').' '.__("Check out UpdraftVault.", 'updraftplus').''; } if (empty($active_remote_storage_list)) { $active_remote_storage_list = '

    '.__('No remote storage locations with valid options found.', 'updraftplus').'

    '; } return ' (...)
    '; } /** * This method works through the passed in settings array and saves the settings to the database clearing old data and setting up a return array with content to update the page via ajax * * @param array $settings An array of settings taking from the admin page ready to be saved to the database * @return array An array response containing the status of the update along with content to be used to update the admin page. */ public function save_settings($settings) { global $updraftplus; // Make sure that settings filters are registered UpdraftPlus_Options::admin_init(); $more_files_path_updated = false; if (isset($settings['updraftplus_version']) && $updraftplus->version == $settings['updraftplus_version']) { $return_array = array('saved' => true); $add_to_post_keys = array('updraft_interval', 'updraft_interval_database', 'updraft_interval_increments', 'updraft_starttime_files', 'updraft_starttime_db', 'updraft_startday_files', 'updraft_startday_db'); // If database and files are on same schedule, override the db day/time settings if (isset($settings['updraft_interval_database']) && isset($settings['updraft_interval_database']) && $settings['updraft_interval_database'] == $settings['updraft_interval'] && isset($settings['updraft_starttime_files'])) { $settings['updraft_starttime_db'] = $settings['updraft_starttime_files']; $settings['updraft_startday_db'] = $settings['updraft_startday_files']; } foreach ($add_to_post_keys as $key) { // For add-ons that look at $_POST to find saved settings, add the relevant keys to $_POST so that they find them there if (isset($settings[$key])) { $_POST[$key] = $settings[$key]; } } // Check if updraft_include_more_path is set, if it is then we need to update the page, if it's not set but there's content already in the database that is cleared down below so again we should update the page. $more_files_path_updated = false; // i.e. If an option has been set, or if it was currently active in the settings if (isset($settings['updraft_include_more_path']) || UpdraftPlus_Options::get_updraft_option('updraft_include_more_path')) { $more_files_path_updated = true; } // Wipe the extra retention rules, as they are not saved correctly if the last one is deleted UpdraftPlus_Options::update_updraft_option('updraft_retain_extrarules', array()); UpdraftPlus_Options::update_updraft_option('updraft_email', array()); UpdraftPlus_Options::update_updraft_option('updraft_report_warningsonly', array()); UpdraftPlus_Options::update_updraft_option('updraft_report_wholebackup', array()); UpdraftPlus_Options::update_updraft_option('updraft_extradbs', array()); UpdraftPlus_Options::update_updraft_option('updraft_include_more_path', array()); $relevant_keys = $updraftplus->get_settings_keys(); if (isset($settings['updraft_auto_updates']) && in_array('updraft_auto_updates', $relevant_keys)) { $updraftplus->set_automatic_updates($settings['updraft_auto_updates']); unset($settings['updraft_auto_updates']); // unset the key and its value to prevent being processed the second time } if (method_exists('UpdraftPlus_Options', 'mass_options_update')) { $original_settings = $settings; $settings = UpdraftPlus_Options::mass_options_update($settings); $mass_updated = true; } foreach ($settings as $key => $value) { if (in_array($key, $relevant_keys)) { if ('updraft_service' == $key && is_array($value)) { foreach ($value as $subkey => $subvalue) { if ('0' == $subvalue) unset($value[$subkey]); } } // This flag indicates that either the stored database option was changed, or that the supplied option was changed before being stored. It isn't comprehensive - it's only used to update some UI elements with invalid input. $updated = empty($mass_updated) ? (is_string($value) && UpdraftPlus_Options::get_updraft_option($key) != $value) : (is_string($value) && (!isset($original_settings[$key]) || $original_settings[$key] != $value)); if (empty($mass_updated)) UpdraftPlus_Options::update_updraft_option($key, $value); // Add information on what has changed to array to loop through to update links etc. // Restricting to strings for now, to prevent any unintended leakage (since this is just used for UI updating) if ($updated) { $value = UpdraftPlus_Options::get_updraft_option($key); if (is_string($value)) $return_array['changed'][$key] = $value; } // @codingStandardsIgnoreLine } else { // This section is ignored by CI otherwise it will complain the ELSE is empty. // When last active, it was catching: option_page, action, _wpnonce, _wp_http_referer, updraft_s3_endpoint, updraft_dreamobjects_endpoint. The latter two are empty; probably don't need to be in the page at all. // error_log("Non-UD key when saving from POSTed data: ".$key); } } } else { $return_array = array('saved' => false, 'error_message' => sprintf(__('UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded.', 'updraftplus'), $updraftplus->version).' '.__('Please reload the settings page before trying to save settings.', 'updraftplus')); } // Checking for various possible messages $updraft_dir = $updraftplus->backups_dir_location(false); $really_is_writable = UpdraftPlus_Filesystem_Functions::really_is_writable($updraft_dir); $dir_info = $this->really_writable_message($really_is_writable, $updraft_dir); $button_title = esc_attr(__('This button is disabled because your backup directory is not writable (see the settings).', 'updraftplus')); $return_array['backup_now_message'] = $this->backup_now_remote_message(); $return_array['backup_dir'] = array('writable' => $really_is_writable, 'message' => $dir_info, 'button_title' => $button_title); // Check if $more_files_path_updated is true, is so then there's a change and we should update the backup modal if ($more_files_path_updated) { $return_array['updraft_include_more_path'] = $this->files_selector_widgetry('backupnow_files_', false, 'sometimes'); } // Because of the single AJAX call, we need to remove the existing UD messages from the 'all_admin_notices' action remove_all_actions('all_admin_notices'); // Moving from 2 to 1 ajax call ob_start(); $service = UpdraftPlus_Options::get_updraft_option('updraft_service'); $this->setup_all_admin_notices_global($service); $this->setup_all_admin_notices_udonly($service); do_action('all_admin_notices'); if (!$really_is_writable) { // Check if writable $this->show_admin_warning_unwritable(); } if ($return_array['saved']) { // $this->show_admin_warning(__('Your settings have been saved.', 'updraftplus'), 'updated fade'); } else { if (isset($return_array['error_message'])) { $this->show_admin_warning($return_array['error_message'], 'error'); } else { $this->show_admin_warning(__('Your settings failed to save.', 'updraftplus').' '.__('Please refresh the settings page and try again', 'updraftplus'), 'error'); } } $messages_output = ob_get_contents(); ob_clean(); // Backup schedule output $this->next_scheduled_backups_output('line'); $scheduled_output = ob_get_clean(); $return_array['messages'] = $messages_output; $return_array['scheduled'] = $scheduled_output; $return_array['files_scheduled'] = $this->next_scheduled_files_backups_output(true); $return_array['database_scheduled'] = $this->next_scheduled_database_backups_output(true); // Add the updated options to the return message, so we can update on screen return $return_array; } /** * Authenticate remote storage instance * * @param array - $data It consists of below key elements: * $remote_method - Remote storage service * $instance_id - Remote storage instance id * @return array An array response containing the status of the authentication */ public function auth_remote_method($data) { global $updraftplus; $response = array(); if (isset($data['remote_method']) && isset($data['instance_id'])) { $response['result'] = 'success'; $remote_method = $data['remote_method']; $instance_id = $data['instance_id']; $storage_objects_and_ids = UpdraftPlus_Storage_Methods_Interface::get_storage_objects_and_ids(array($remote_method)); try { $storage_objects_and_ids[$remote_method]['object']->authenticate_storage($instance_id); } catch (Exception $e) { $response['result'] = 'error'; $response['message'] = $updraftplus->backup_methods[$remote_method] . ' ' . __('authentication error', 'updraftplus') . ' ' . $e->getMessage(); } } else { $response['result'] = 'error'; $response['message'] = __('Remote storage method and instance id are required for authentication.', 'updraftplus'); } return $response; } /** * Deauthenticate remote storage instance * * @param array - $data It consists of below key elements: * $remote_method - Remote storage service * $instance_id - Remote storage instance id * @return array An array response containing the status of the deauthentication */ public function deauth_remote_method($data) { global $updraftplus; $response = array(); if (isset($data['remote_method']) && isset($data['instance_id'])) { $response['result'] = 'success'; $remote_method = $data['remote_method']; $instance_id = $data['instance_id']; $storage_objects_and_ids = UpdraftPlus_Storage_Methods_Interface::get_storage_objects_and_ids(array($remote_method)); try { $storage_objects_and_ids[$remote_method]['object']->deauthenticate_storage($instance_id); } catch (Exception $e) { $response['result'] = 'error'; $response['message'] = $updraftplus->backup_methods[$remote_method] . ' deauthentication error ' . $e->getMessage(); } } else { $response['result'] = 'error'; $response['message'] = 'Remote storage method and instance id are required for deauthentication.'; } return $response; } /** * A method to remove UpdraftPlus settings from the options table. * * @param boolean $wipe_all_settings Set to true as default as we want to remove all options, set to false if calling from UpdraftCentral, as we do not want to remove the UpdraftCentral key or we will lose connection to the site. * @return boolean */ public function wipe_settings($wipe_all_settings = true) { global $updraftplus; $settings = $updraftplus->get_settings_keys(); // if this is false the UDC has called it we don't want to remove the UDC key other wise we will lose connection to the remote site. if (false == $wipe_all_settings) { $key = array_search('updraft_central_localkeys', $settings); unset($settings[$key]); } foreach ($settings as $s) UpdraftPlus_Options::delete_updraft_option($s); if (is_multisite()) $updraftplus->wipe_state_data(true, 'sitemeta'); $updraftplus->wipe_state_data(true); $site_options = array('updraft_oneshotnonce'); foreach ($site_options as $s) delete_site_option($s); $updraftplus->schedule_backup('manual'); $updraftplus->schedule_backup_database('manual'); $this->show_admin_warning(__("Your settings have been wiped.", 'updraftplus')); return true; } /** * This get the details for updraft vault and to be used globally * * @param string $instance_id - the instance_id of the current instance being used * @return object - the UpdraftVault option setup to use the passed in instance id or if one wasn't passed then use the default set of options */ public function get_updraftvault($instance_id = '') { $storage_objects_and_ids = UpdraftPlus_Storage_Methods_Interface::get_storage_objects_and_ids(array('updraftvault')); if (isset($storage_objects_and_ids['updraftvault']['instance_settings'][$instance_id])) { $opts = $storage_objects_and_ids['updraftvault']['instance_settings'][$instance_id]; $vault = $storage_objects_and_ids['updraftvault']['object']; $vault->set_options($opts, false, $instance_id); } else { updraft_try_include_file('methods/updraftvault.php', 'include_once'); $vault = new UpdraftPlus_BackupModule_updraftvault(); } return $vault; } /** * http_get will allow the HTTP Fetch execute available in advanced tools * * @param String $uri Specific URL passed to curl * @param Boolean $curl True or False if cURL is to be used * @return String - JSON encoded results */ public function http_get($uri = null, $curl = false) { if (!preg_match('/^https?/', $uri)) return json_encode(array('e' => 'Non-http URL specified')); if ($curl) { if (!function_exists('curl_exec')) { return json_encode(array('e' => 'No Curl installed')); die; } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $uri); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FAILONERROR, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_STDERR, $output = fopen('php://temp', "w+")); $response = curl_exec($ch); $error = curl_error($ch); $getinfo = curl_getinfo($ch); curl_close($ch); rewind($output); $verb = stream_get_contents($output); $resp = array(); if (false === $response) { $resp['e'] = htmlspecialchars($error); } $resp['r'] = (empty($response)) ? '' : htmlspecialchars(substr($response, 0, 2048)); if (!empty($verb)) $resp['r'] = htmlspecialchars($verb)."\n\n".$resp['r']; // Extra info returned for Central $resp['verb'] = $verb; $resp['response'] = $response; $resp['status'] = $getinfo; return json_encode($resp); } else { $response = wp_remote_get($uri, array('timeout' => 10)); if (is_wp_error($response)) { return json_encode(array('e' => htmlspecialchars($response->get_error_message()))); } return json_encode( array( 'r' => wp_remote_retrieve_response_code($response).': '.htmlspecialchars(substr(wp_remote_retrieve_body($response), 0, 2048)), 'code' => wp_remote_retrieve_response_code($response), 'html_response' => htmlspecialchars(substr(wp_remote_retrieve_body($response), 0, 2048)), 'response' => $response ) ); } } /** * This will return all the details for raw backup and file list, in HTML format * * @param Boolean $no_pre_tags - if set, then
     tags will be removed from the output
    	 *
    	 * @return String
    	 */
    	public function show_raw_backups($no_pre_tags = false) {
    		global $updraftplus;
    		
    		$response = array();
    		
    		$response['html'] = '

    '.__('Known backups (raw)', 'updraftplus').'

    ';
    		ob_start();
    		$history = UpdraftPlus_Backup_History::get_history();
    		var_dump($history);
    		$response["html"] .= ob_get_clean();
    		$response['html'] .= '
    '; $response['html'] .= '

    '.__('Files', 'updraftplus').'

    ';
    		$updraft_dir = $updraftplus->backups_dir_location();
    		$raw_output = array();
    		$d = dir($updraft_dir);
    		while (false !== ($entry = $d->read())) {
    			$fp = $updraft_dir.'/'.$entry;
    			$mtime = filemtime($fp);
    			if (is_dir($fp)) {
    				$size = '       d';
    			} elseif (is_link($fp)) {
    				$size = '       l';
    			} elseif (is_file($fp)) {
    				$size = sprintf("%8.1f", round(filesize($fp)/1024, 1)).' '.gmdate('r', $mtime);
    			} else {
    				$size = '       ?';
    			}
    			if (preg_match('/^log\.(.*)\.txt$/', $entry, $lmatch)) $entry = ''.$entry.'';
    			$raw_output[$mtime] = empty($raw_output[$mtime]) ? sprintf("%s %s\n", $size, $entry) : $raw_output[$mtime].sprintf("%s %s\n", $size, $entry);
    		}
    		@$d->close();// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method.
    		krsort($raw_output, SORT_NUMERIC);
    
    		foreach ($raw_output as $line) {
    			$response['html'] .= $line;
    		}
    
    		$response['html'] .= '
    '; $response['html'] .= '

    '.__('Options (raw)', 'updraftplus').'

    '; $opts = $updraftplus->get_settings_keys(); asort($opts); // '.__('Key', 'updraftplus').''.__('Value', 'updraftplus').' $response['html'] .= ''; foreach ($opts as $opt) { $response['html'] .= ''; } // Get the option saved by yahnis-elsts/plugin-update-checker $response['html'] .= ''; $response['html'] .= '
    '.htmlspecialchars($opt).''.htmlspecialchars(print_r(UpdraftPlus_Options::get_updraft_option($opt), true)).'
    external_updates-updraftplus
    '.htmlspecialchars(print_r(get_site_option('external_updates-updraftplus'), true)).'
    '; ob_start(); do_action('updraftplus_showrawinfo'); $response['html'] .= ob_get_clean(); if (true == $no_pre_tags) { $response['html'] = str_replace('
    ', '', $response['html']);
    			$response['html'] = str_replace('
    ', '', $response['html']); } return $response; } /** * This will call any wp_action * * @param Array|Null $data The array of data with the values for wpaction * @param Callable|Boolean $close_connection_callable A callable to call to close the browser connection, or true for a default suitable for internal use, or false for none * @return Array - results */ public function call_wp_action($data = null, $close_connection_callable = false) { global $updraftplus; ob_start(); $res = 'Request received: '; if (preg_match('/^([^:]+)+:(.*)$/', $data['wpaction'], $matches)) { $action = $matches[1]; if (null === ($args = json_decode($matches[2], true))) { $res .= "The parameters (should be JSON) could not be decoded"; $action = false; } else { if (is_string($args)) $args = array($args); $res .= "Will despatch action: ".htmlspecialchars($action).", parameters: ".htmlspecialchars(implode(',', $args)); } } else { $action = $data['wpaction']; $res .= "Will despatch action: ".htmlspecialchars($action).", no parameters"; } ob_get_clean(); // Need to add this as the close browser should only work for UDP if ($close_connection_callable) { if (is_callable($close_connection_callable)) { call_user_func($close_connection_callable, array('r' => $res)); } else { $updraftplus->close_browser_connection(json_encode(array('r' => $res))); } } if (!empty($action)) { if (!empty($args)) { ob_start(); $returned = do_action_ref_array($action, $args); $output = ob_get_clean(); $res .= " - do_action_ref_array Trigger "; } else { ob_start(); do_action($action); $output = ob_get_contents(); ob_end_clean(); $res .= " - do_action Trigger "; } } $response = array(); $response['response'] = $res; $response['log'] = $output; // Check if response is empty if (!empty($returned)) $response['status'] = $returned; return $response; } /** * Enqueue JSTree JavaScript and CSS, taking into account whether it is already enqueued, and current debug settings */ public function enqueue_jstree() { global $updraftplus; static $already_enqueued = false; if ($already_enqueued) return; $already_enqueued = true; $jstree_enqueue_version = $updraftplus->use_unminified_scripts() ? '3.3.12-rc.0'.'.'.time() : '3.3.12-rc.0'; $min_or_not = $updraftplus->use_unminified_scripts() ? '' : '.min'; wp_enqueue_script('jstree', UPDRAFTPLUS_URL.'/includes/jstree/jstree'.$min_or_not.'.js', array('jquery'), $jstree_enqueue_version); wp_enqueue_style('jstree', UPDRAFTPLUS_URL.'/includes/jstree/themes/default/style'.$min_or_not.'.css', array(), $jstree_enqueue_version); } /** * Detects byte-order mark at the start of common files and change waning message texts * * @return string|boolean BOM warning text or false if not bom characters detected */ public function get_bom_warning_text() { $files_to_check = array( ABSPATH.'wp-config.php', get_template_directory().DIRECTORY_SEPARATOR.'functions.php', ); if (is_child_theme()) { $files_to_check[] = get_stylesheet_directory().DIRECTORY_SEPARATOR.'functions.php'; } $corrupted_files = array(); foreach ($files_to_check as $file) { if (!file_exists($file)) continue; if (false === ($fp = fopen($file, 'r'))) continue; if (false === ($file_data = fread($fp, 8192))); fclose($fp); $substr_file_data = array(); for ($substr_length = 2; $substr_length <= 5; $substr_length++) { $substr_file_data[$substr_length] = substr($file_data, 0, $substr_length); } // Detect UTF-7, UTF-8, UTF-16 (BE), UTF-16 (LE), UTF-32 (BE) & UTF-32 (LE) Byte order marks (BOM) $bom_decimal_representations = array( array(43, 47, 118, 56), // UTF-7 (Hexadecimal: 2B 2F 76 38) array(43, 47, 118, 57), // UTF-7 (Hexadecimal: 2B 2F 76 39) array(43, 47, 118, 43), // UTF-7 (Hexadecimal: 2B 2F 76 2B) array(43, 47, 118, 47), // UTF-7 (Hexadecimal: 2B 2F 76 2F) array(43, 47, 118, 56, 45), // UTF-7 (Hexadecimal: 2B 2F 76 38 2D) array(239, 187, 191), // UTF-8 (Hexadecimal: 2B 2F 76 38 2D) array(254, 255), // UTF-16 (BE) (Hexadecimal: FE FF) array(255, 254), // UTF-16 (LE) (Hexadecimal: FF FE) array(0, 0, 254, 255), // UTF-32 (BE) (Hexadecimal: 00 00 FE FF) array(255, 254, 0, 0), // UTF-32 (LE) (Hexadecimal: FF FE 00 00) ); foreach ($bom_decimal_representations as $bom_decimal_representation) { $no_of_chars = count($bom_decimal_representation); array_unshift($bom_decimal_representation, 'C*'); $binary = call_user_func_array('pack', $bom_decimal_representation); if ($binary == $substr_file_data[$no_of_chars]) { $corrupted_files[] = $file; break; } } } if (empty($corrupted_files)) { return false; } else { $corrupted_files_count = count($corrupted_files); return ''.__('Warning', 'updraftplus').': '.sprintf(_n('The file %s has a "byte order mark" (BOM) at its beginning.', 'The files %s have a "byte order mark" (BOM) at their beginning.', $corrupted_files_count, 'updraftplus'), ''.implode(', ', $corrupted_files).'').' '.__('Follow this link for more information', 'updraftplus').''; } } /** * Gets an instance of the "UpdraftPlus_UpdraftCentral_Cloud" class which will be * used to login or register the user to the UpdraftCentral cloud * * @return object */ public function get_updraftcentral_cloud() { if (!class_exists('UpdraftPlus_UpdraftCentral_Cloud')) updraft_try_include_file('includes/updraftcentral.php', 'include_once'); return new UpdraftPlus_UpdraftCentral_Cloud(); } /** * This function will build and return the UpdraftPlus temporary clone ui widget * * @param boolean $include_testing_ui - a boolean to indicate if testing-only UI elements should be shown (N.B. they can only work if the user also has testing permissions) * @param array $supported_wp_versions - an array of supported WordPress versions * @param array $supported_packages - an array of supported clone packages * @param array $supported_regions - an array of supported clone regions * @param string $nearest_region - the user's nearest region * * @return string - the clone UI widget */ public function updraftplus_clone_ui_widget($include_testing_ui, $supported_wp_versions, $supported_packages, $supported_regions, $nearest_region = '') { global $updraftplus; $output = '

    '; $output .= ''.sprintf(__('%s version:', 'updraftplus'), 'PHP').' '; $output .= $this->output_select_data($this->clone_php_versions, 'php'); $output .= '

    '; $output .= '

    '; $output .= ' '.sprintf(__('%s version:', 'updraftplus'), 'WordPress').' '; $output .= $this->output_select_data($this->get_wordpress_versions($supported_wp_versions), 'wp'); $output .= '

    '; $output .= '

    '; $output .= ' '.__('Clone region:', 'updraftplus').' '; $output .= $this->output_select_data($supported_regions, 'region', $nearest_region); $output .= '

    '; $backup_history = UpdraftPlus_Backup_History::get_history(); foreach ($backup_history as $key => $backup) { $backup_complete = $this->check_backup_is_complete($backup, false, true, false); $remote_sent = !empty($backup['service']) && ((is_array($backup['service']) && in_array('remotesend', $backup['service'])) || 'remotesend' === $backup['service']); if (!$backup_complete || $remote_sent) unset($backup_history[$key]); } $output .= '

    '; $output .= ' '.__('Clone:', 'updraftplus').' '; $output .= ''; $output .= '

    '; $output .= '

    '; $output .= ' '.__('Clone package', 'updraftplus').' ('.__('more info', 'updraftplus').'): '; $output .= ''; $output .= '

    '; if ((defined('UPDRAFTPLUS_UPDRAFTCLONE_DEVELOPMENT') && UPDRAFTPLUS_UPDRAFTCLONE_DEVELOPMENT) || $include_testing_ui) { $output .= '

    '; $output .= ' UpdraftClone Branch: '; $output .= ''; $output .= '

    '; $output .= '

    '; $output .= ' UpdraftPlus Branch: '; $output .= ''; $output .= '

    '; $output .= '

    '; } $output .= '

    '; $output .= ''; $output .= ''; $output .= '

    '; $output = apply_filters('updraftplus_clone_additional_ui', $output); return $output; } /** * This function will output a select input using the passed in values. * * @param array $data - the keys and values for the select * @param string $name - the name of the items in the select input * @param string $selected - the value we want selected by default * * @return string - the output of the select input */ public function output_select_data($data, $name, $selected = '') { $name_version = empty($selected) ? $this->get_current_version($name) : $selected; $output = ''; return $output; } /** * This function will output the clones network information * * @param string $url - the clone URL * * @return string - the clone network information */ public function updraftplus_clone_info($url) { global $updraftplus; if (!empty($url)) { $content = '
    '; $content .= '

    ' . __('Your clone has started and will be available at the following URLs once it is ready.', 'updraftplus') . '

    '; $content .= '

    ' . __('Front page:', 'updraftplus') . ' ' . esc_html($url) . '

    '; $content .= '

    ' . __('Dashboard:', 'updraftplus') . ' ' . esc_html(trailingslashit($url)) . 'wp-admin

    '; $content .= '
    '; $content .= '

    '.__('You can find your temporary clone information in your updraftplus.com account here.', 'updraftplus').'

    '; } else { $content = '

    ' . __('Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready.', 'updraftplus') . '

    '; $content .= '

    ' . __('You can find your temporary clone information in your updraftplus.com account here.', 'updraftplus') . '

    '; } return $content; } /** * This function will build and return an array of major WordPress versions, the array is built by calling the WordPress version API once every 24 hours and adding any new entries to our existing array of versions. * * @param array $supported_wp_versions - an array of supported WordPress versions * * @return array - an array of WordPress major versions */ private function get_wordpress_versions($supported_wp_versions) { if (empty($supported_wp_versions)) $supported_wp_versions[] = $this->get_current_version('wp'); $key = array_search($this->get_current_version('wp'), $supported_wp_versions); if ($key) { $supported_wp_versions = array_slice($supported_wp_versions, $key); } $version_array = $supported_wp_versions; return $version_array; } /** * This function will get the current version the server is running for the passed in item e.g WordPress or PHP * * @param string $name - the thing we want to get the version for e.g WordPress or PHP * * @return string - returns the current version of the passed in item */ public function get_current_version($name) { $version = ''; if ('php' == $name) { $parts = explode(".", PHP_VERSION); $version = $parts[0] . "." . $parts[1]; } elseif ('wp' == $name) { global $updraftplus; $wp_version = $updraftplus->get_wordpress_version(); $parts = explode(".", $wp_version); $version = $parts[0] . "." . $parts[1]; } return $version; } /** * Show which remote storage settings are partially setup error, or if manual auth is supported show the manual auth UI */ public function show_admin_warning_if_remote_storage_with_partial_settings() { if ((isset($_REQUEST['page']) && 'updraftplus' == $_REQUEST['page']) || (defined('DOING_AJAX') && DOING_AJAX)) { $enabled_services = UpdraftPlus_Storage_Methods_Interface::get_enabled_storage_objects_and_ids(array_keys($this->storage_service_with_partial_settings)); foreach ($this->storage_service_with_partial_settings as $method => $method_name) { if (empty($enabled_services[$method]['object']) || empty($enabled_services[$method]['instance_settings']) || !$enabled_services[$method]['object']->supports_feature('manual_authentication')) { $this->show_admin_warning(sprintf(__('The following remote storage (%s) have only been partially configured, manual authorization is not supported with this remote storage, please try again and if the problem persists contact support.', 'updraftplus'), $method), 'error'); } else { $this->show_admin_warning($enabled_services[$method]['object']->get_manual_authorisation_template(), 'error'); } } } else { $this->show_admin_warning('UpdraftPlus: '.sprintf(__('The following remote storage (%s) have only been partially configured, if you are having problems you can try to manually authorise at the UpdraftPlus settings page.', 'updraftplus'), implode(', ', $this->storage_service_with_partial_settings)).' '.__('Return to UpdraftPlus configuration', 'updraftplus').'', 'error'); } } /** * Show remote storage settings are empty warning */ public function show_admin_warning_if_remote_storage_setting_are_empty() { if ((isset($_REQUEST['page']) && 'updraftplus' == $_REQUEST['page']) || (defined('DOING_AJAX') && DOING_AJAX)) { $this->show_admin_warning(sprintf(__('You have requested saving to remote storage (%s), but without entering any settings for that storage.', 'updraftplus'), implode(', ', $this->storage_service_without_settings)), 'error'); } else { $this->show_admin_warning('UpdraftPlus: '.sprintf(__('You have requested saving to remote storage (%s), but without entering any settings for that storage.', 'updraftplus'), implode(', ', $this->storage_service_without_settings)).' '.__('Return to UpdraftPlus configuration', 'updraftplus').'', 'error'); } } /** * Receive Heartbeat data and respond. * * Processes data received via a Heartbeat request, and returns additional data to pass back to the front end. * * @param array $response - Heartbeat response data to pass back to front end. * @param array $data - Data received from the front end (unslashed). */ public function process_status_in_heartbeat($response, $data) { if (!UpdraftPlus_Options::user_can_manage() || !is_array($response) || empty($data['updraftplus'])) return $response; try { $response['updraftplus'] = $this->get_activejobs_list(UpdraftPlus_Manipulation_Functions::wp_unslash($data['updraftplus'])); } catch (Exception $e) { $log_message = 'PHP Fatal Exception error ('.get_class($e).') has occurred during get active job list. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); $response['updraftplus'] = array( 'fatal_error' => true, 'fatal_error_message' => $log_message ); // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during get active job list. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); $response['updraftplus'] = array( 'fatal_error' => true, 'fatal_error_message' => $log_message ); } if (isset($data['updraftplus']['updraft_credentialtest_nonce'])) { if (!wp_verify_nonce($data['updraftplus']['updraft_credentialtest_nonce'], 'updraftplus-credentialtest-nonce')) { $response['updraftplus']['updraft_credentialtest_nonce'] = wp_create_nonce('updraftplus-credentialtest-nonce'); } } $response['updraftplus']['time_now'] = get_date_from_gmt(gmdate('Y-m-d H:i:s'), 'D, F j, Y H:i'); return $response; } /** * Show warning about restriction implied by the hosting company (can only perform a full backup once per month, incremental backup should not go above one per day) */ public function show_admin_warning_one_backup_per_month() { global $updraftplus; $hosting_company = $updraftplus->get_hosting_info(); $txt1 = sprintf(__('Your website is hosted with %s (%s).', 'updraftplus'), $hosting_company['name'], $hosting_company['website']); $txt2 = sprintf(__('%s permits UpdraftPlus to perform only one backup per month.', 'updraftplus'), $hosting_company['name']).' '.__('Thus, we recommend you choose a full backup when performing a manual backup and to use that option when creating a scheduled backup.', 'updraftplus'); $txt3 = __('Due to the restriction, some settings can be automatically adjusted, disabled or not available.', 'updraftplus'); $this->show_plugin_page_admin_warning(''.__('Warning', 'updraftplus').': '.$txt1.' '.$txt2.' '.$txt3, 'update-nag notice notice-warning', true); } /** * Find out if the current request is a backup download request, and proceed with the download if it is */ public function maybe_download_backup_from_email() { global $pagenow; if (UpdraftPlus_Options::user_can_manage() && (!defined('DOING_AJAX') || !DOING_AJAX) && UpdraftPlus_Options::admin_page() === $pagenow && isset($_REQUEST['page']) && 'updraftplus' === $_REQUEST['page'] && isset($_REQUEST['action']) && 'updraft_download_backup' === $_REQUEST['action']) { $findexes = empty($_REQUEST['findex']) ? array(0) : $_REQUEST['findex']; $timestamp = empty($_REQUEST['timestamp']) ? '' : $_REQUEST['timestamp']; $nonce = empty($_REQUEST['nonce']) ? '' : $_REQUEST['nonce']; $type = empty($_REQUEST['type']) ? '' : $_REQUEST['type']; if (empty($timestamp) || empty($nonce) || empty($type)) wp_die(__('The download link is broken, you may have clicked the link from untrusted source', 'updraftplus'), '', array('back_link' => true)); $backup_history = UpdraftPlus_Backup_History::get_history(); if (!isset($backup_history[$timestamp]['nonce']) || $backup_history[$timestamp]['nonce'] !== $nonce) wp_die(__("The download link is broken or the backup file is no longer available", 'updraftplus'), '', array('back_link' => true)); $this->do_updraft_download_backup($findexes, $type, $timestamp, 2, false, ''); exit; // we don't need anything else but an exit } } /** * Print the phpseclib-notice-related scripts */ public function print_phpseclib_notice_scripts() { static $printed = false; if ($printed) return; $printed = true; ?> times private $altered_since = -1; // Time for the current entity private $makezip_if_altered_since = -1; private $excluded_extensions = false; private $excluded_wildcards = false; private $excluded_prefixes = false; private $use_zip_object = 'UpdraftPlus_ZipArchive'; public $debug = false; public $updraft_dir; private $site_name; private $wpdb_obj; private $job_file_entities = array(); private $first_run = 0; // Record of zip files created private $backup_files_array = array(); // Used when deciding to use the 'store' or 'deflate' zip storage method private $extensions_to_not_compress = array(); // Append to this any skipped tables private $skipped_tables; // When initialised, a boolean public $last_storage_instance; // The absolute upper limit that will be considered for a zip batch (in bytes) private $zip_batch_ceiling; private $backup_excluded_patterns = array(); // Bytes of uncompressed data written since last open private $db_current_raw_bytes = 0; private $table_prefix; private $table_prefix_raw; private $many_rows_warning = false; private $expected_rows = false; // @var Boolean private $try_split = false; private $zip_microtime_start; public $current_service; private $existing_files; private $existing_files_rawsize; private $existing_zipfiles_size; private $dbinfo; private $duplicate_tables_exist = false; private $first_linked_index; private $current_pruning_instance_id = ''; private $hash_list_of_complete_pruned_files = array(); private $pruning_number_of_files = 10; private $minimum_time_to_cache_pruned_files = 25; // seconds /** * Current processing remote storage instance id * * @var String */ public $current_instance; /** * Backup entity name for which a zip backup file is currently making * * @var String */ public $make_zipfile_source; // private $source; /** * Class constructor * * @param Array|String $backup_files - files to backup, or (string)'no' * @param Integer $altered_since - only backup files altered since this time (UNIX epoch time) */ public function __construct($backup_files, $altered_since = -1) { global $updraftplus; $this->site_name = $this->get_site_name(); // Decide which zip engine to begin with $this->debug = UpdraftPlus_Options::get_updraft_option('updraft_debug_mode'); $this->updraft_dir = $updraftplus->backups_dir_location(); updraft_try_include_file('includes/class-database-utility.php', 'require_once'); if ('no' === $backup_files) { $this->use_zip_object = 'UpdraftPlus_PclZip'; return; } $this->extensions_to_not_compress = array_unique(array_map('strtolower', array_map('trim', explode(',', UPDRAFTPLUS_ZIP_NOCOMPRESS)))); $this->backup_excluded_patterns = array( array( // all in one wp migration pattern: WP_PLUGIN_DIR/all-in-one-wp-migration/storage/*/*.wpress, `ai1wm-backups` folder in wp-content is already implicitly handled on the UDP settings with a `*backups` predefined exclusion rule for `others` directory 'directory' => realpath(WP_PLUGIN_DIR).DIRECTORY_SEPARATOR.'all-in-one-wp-migration'.DIRECTORY_SEPARATOR.'storage', 'regex' => '/.+\.wpress$/is', ), ); $this->altered_since = $altered_since; $resumptions_since_last_successful = $updraftplus->current_resumption - $updraftplus->last_successful_resumption; // false means 'tried + failed'; whereas 0 means 'not yet tried' // Disallow binzip on OpenVZ when we're not sure there's plenty of memory if (0 === $this->binzip && (!defined('UPDRAFTPLUS_PREFERPCLZIP') || !UPDRAFTPLUS_PREFERPCLZIP) && (!defined('UPDRAFTPLUS_NO_BINZIP') || !UPDRAFTPLUS_NO_BINZIP) && ($updraftplus->current_resumption < 9 || $resumptions_since_last_successful < 2)) { if (@file_exists('/proc/user_beancounters') && @file_exists('/proc/meminfo') && @is_readable('/proc/meminfo')) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $meminfo = @file_get_contents('/proc/meminfo', false, null, 0, 200);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if (is_string($meminfo) && preg_match('/MemTotal:\s+(\d+) kB/', $meminfo, $matches)) { $memory_mb = $matches[1]/1024; // If the report is of a large amount, then we're probably getting the total memory on the hypervisor (this has been observed), and don't really know the VPS's memory $vz_log = "OpenVZ; reported memory: ".round($memory_mb, 1)." MB"; if ($memory_mb < 1024 || $memory_mb > 8192) { $openvz_lowmem = true; $vz_log .= " (will not use BinZip)"; } $updraftplus->log($vz_log); } } if (empty($openvz_lowmem)) { $updraftplus->log('Checking if we have a zip executable available'); $binzip = $updraftplus->find_working_bin_zip(); if (is_string($binzip)) { $updraftplus->log("Zip engine: found/will use a binary zip: $binzip"); $this->binzip = $binzip; $this->use_zip_object = 'UpdraftPlus_BinZip'; } } } // In tests, PclZip was found to be 25% slower than ZipArchive if ('UpdraftPlus_PclZip' != $this->use_zip_object && empty($this->binzip) && ((defined('UPDRAFTPLUS_PREFERPCLZIP') && UPDRAFTPLUS_PREFERPCLZIP == true) || !class_exists('ZipArchive') || !class_exists('UpdraftPlus_ZipArchive') || (!extension_loaded('zip') && !method_exists('ZipArchive', 'AddFile')))) { global $updraftplus; $updraftplus->log("Zip engine: ZipArchive (a.k.a. php-zip) is not available or is disabled (will use PclZip (much slower) if needed)"); $this->use_zip_object = 'UpdraftPlus_PclZip'; } $this->zip_batch_ceiling = (defined('UPDRAFTPLUS_ZIP_BATCH_CEILING') && UPDRAFTPLUS_ZIP_BATCH_CEILING > 104857600) ? UPDRAFTPLUS_ZIP_BATCH_CEILING : 200 * 1048576; if (defined('UPDRAFTPLUS_PRUNING_NUMBER_OF_FILES') && (int) UPDRAFTPLUS_PRUNING_NUMBER_OF_FILES > $this->pruning_number_of_files) $this->pruning_number_of_files = UPDRAFTPLUS_PRUNING_NUMBER_OF_FILES; if (defined('UPDRAFTPLUS_MIN_TIME_TO_CACHE_PRUNED_FILES') && (int) UPDRAFTPLUS_MIN_TIME_TO_CACHE_PRUNED_FILES > $this->minimum_time_to_cache_pruned_files) $this->minimum_time_to_cache_pruned_files = UPDRAFTPLUS_MIN_TIME_TO_CACHE_PRUNED_FILES; add_filter('updraftplus_exclude_file', array($this, 'backup_exclude_file'), 10, 2); } /** * Get a site name suitable for use in the backup filename * * @return String */ private function get_site_name() { // Get the blog name and rip out known-problematic characters. Remember that we may need to be able to upload this to any FTP server or cloud storage, where filename support may be unknown $site_name = str_replace('__', '_', preg_replace('/[^A-Za-z0-9_]/', '', str_replace(' ', '_', substr(get_bloginfo(), 0, 32)))); if (!$site_name || preg_match('#^_+$#', $site_name)) { // Try again... $parsed_url = parse_url(home_url(), PHP_URL_HOST); $parsed_subdir = untrailingslashit(parse_url(home_url(), PHP_URL_PATH)); if ($parsed_subdir && '/' != $parsed_subdir) $parsed_url .= str_replace(array('/', '\\'), '_', $parsed_subdir); $site_name = str_replace('__', '_', preg_replace('/[^A-Za-z0-9_]/', '', str_replace(' ', '_', substr($parsed_url, 0, 32)))); if (!$site_name || preg_match('#^_+$#', $site_name)) $site_name = 'WordPress_Backup'; } // Allow an over-ride. Careful about introducing characters not supported by your filesystem or cloud storage. return apply_filters('updraftplus_blog_name', $site_name); } /** * Public, because called from the 'More Files' add-on * * @param String|Array $create_from_dir Directory/ies to create the zip * @param String $whichone Entity being backed up (e.g. 'plugins', 'uploads') * @param String $backup_file_basename Name of backup file * @param Integer $index Index of zip in the sequence * @param Integer|Boolean $first_linked_index First linked index in the sequence, or false * * @return Boolean|Array - list of files, or false for failure */ public function create_zip($create_from_dir, $whichone, $backup_file_basename, $index, $first_linked_index = false) { // Note: $create_from_dir can be an array or a string if (function_exists('set_time_limit')) set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT); $original_index = $index; $this->index = $index; $this->first_linked_index = (false === $first_linked_index) ? 0 : $first_linked_index; $this->whichone = $whichone; global $updraftplus; $this->zip_split_every = max((int) $updraftplus->jobdata_get('split_every'), UPDRAFTPLUS_SPLIT_MIN)*1048576; if ('others' != $whichone) $updraftplus->log("Beginning creation of dump of $whichone (split every: ".round($this->zip_split_every/1048576, 1)." MB)"); if (is_string($create_from_dir) && !file_exists($create_from_dir)) { $flag_error = true; $updraftplus->log("Does not exist: $create_from_dir"); if ('mu-plugins' == $whichone) { if (!function_exists('get_mu_plugins')) include_once(ABSPATH.'wp-admin/includes/plugin.php'); $mu_plugins = get_mu_plugins(); if (count($mu_plugins) == 0) { $updraftplus->log("There are no mu-plugins to backup. Will not raise an error."); $flag_error = false; } } if ($flag_error) $updraftplus->log(sprintf(__("%s - could not back this entity up; the corresponding directory does not exist (%s)", 'updraftplus'), $whichone, $create_from_dir), 'error'); return false; } $itext = empty($index) ? '' : $index+1; $base_path = $backup_file_basename.'-'.$whichone.$itext.'.zip'; $full_path = $this->updraft_dir.'/'.$base_path; $time_now = time(); // This is compatible with filenames which indicate increments, as it is looking only for the current increment if (file_exists($full_path) || $updraftplus->is_uploaded($base_path)) { // Gather any further files that may also exist $files_existing = array(); while (file_exists($full_path) || $updraftplus->is_uploaded($base_path)) { $files_existing[] = $base_path; if (file_exists($full_path)) { $time_mod = (int) @filemtime($full_path);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $updraftplus->log($base_path.": this file has already been created (age: ".round($time_now-$time_mod, 1)." s)"); if ($time_mod > 100 && ($time_now - $time_mod) < 30) { UpdraftPlus_Job_Scheduler::terminate_due_to_activity($base_path, $time_now, $time_mod); } } $index++; // This is compatible with filenames which indicate increments, as it is looking only for the current increment $base_path = $backup_file_basename.'-'.$whichone.($index+1).'.zip'; $full_path = $this->updraft_dir.'/'.$base_path; } } // Temporary file, to be able to detect actual completion (upon which, it is renamed) // Jun-13 - be more aggressive in removing temporary files from earlier attempts - anything >=600 seconds old of this kind UpdraftPlus_Filesystem_Functions::clean_temporary_files('_'.$updraftplus->file_nonce."-$whichone", 600); // Firstly, make sure that the temporary file is not already being written to - which can happen if a resumption takes place whilst an old run is still active $zip_name = $full_path.'.tmp'; $time_mod = file_exists($zip_name) ? filemtime($zip_name) : 0; if (file_exists($zip_name) && $time_mod>100 && ($time_now-$time_mod)<30) { UpdraftPlus_Job_Scheduler::terminate_due_to_activity($zip_name, $time_now, $time_mod); } if (file_exists($zip_name)) { $updraftplus->log("File exists ($zip_name), but was not modified within the last 30 seconds, so we assume that any previous run has now terminated (time_mod=$time_mod, time_now=$time_now, diff=".($time_now-$time_mod).")"); } // Now, check for other forms of temporary file, which would indicate that some activity is going on (even if it hasn't made it into the main zip file yet) // Note: this doesn't catch PclZip temporary files $d = dir($this->updraft_dir); $match = '_'.$updraftplus->file_nonce."-".$whichone; while (false !== ($e = $d->read())) { if ('.' == $e || '..' == $e || !is_file($this->updraft_dir.'/'.$e)) continue; $ziparchive_match = preg_match("/$match(?:[0-9]*)\.zip\.tmp\.[A-Za-z0-9]+$/i", $e); $binzip_match = preg_match("/^zi([A-Za-z0-9]){6}$/", $e); $pclzip_match = preg_match("/^pclzip-[a-z0-9]+.(?:gz|tmp)$/", $e); if ($time_now-filemtime($this->updraft_dir.'/'.$e) < 30 && ($ziparchive_match || (0 != $updraftplus->current_resumption && ($binzip_match || $pclzip_match)))) { UpdraftPlus_Job_Scheduler::terminate_due_to_activity($this->updraft_dir.'/'.$e, $time_now, filemtime($this->updraft_dir.'/'.$e)); } } @$d->close();// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. clearstatcache(); if (isset($files_existing)) { // Because of zip-splitting, the mere fact that files exist is not enough to indicate that the entity is finished. For that, we need to also see that no subsequent file has been started. // Q. What if the previous runner died in between zips, and it is our job to start the next one? A. The next temporary file is created before finishing the former zip, so we are safe (and we are also safe-guarded by the updated value of the index being stored in the database). return $files_existing; } $this->log_account_space(); $this->zip_microtime_start = microtime(true); // The paths in the zip should then begin with '$whichone', having removed WP_CONTENT_DIR from the front $zipcode = $this->make_zipfile($create_from_dir, $backup_file_basename, $whichone); if (true !== $zipcode) { $updraftplus->log("ERROR: Zip failure: Could not create $whichone zip (".$this->index." / $index)"); $updraftplus->log(sprintf(__('Could not create %s zip.', 'updraftplus'), $whichone).' '.__('Consult the log file for more information.', 'updraftplus'), 'error'); // The caller is required to update $index from $this->index return false; } else { $itext = empty($this->index) ? '' : $this->index+1; $full_path = $this->updraft_dir.'/'.$backup_file_basename.'-'.$whichone.$itext.'.zip'; if (file_exists($full_path.'.tmp')) { if (@filesize($full_path.'.tmp') === 0) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $updraftplus->log("Did not create $whichone zip (".$this->index.") - not needed"); @unlink($full_path.'.tmp');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } else { $checksum_description = ''; $checksums = $updraftplus->which_checksums(); foreach ($checksums as $checksum) { $cksum = hash_file($checksum, $full_path.'.tmp'); $updraftplus->jobdata_set($checksum.'-'.$whichone.$this->index, $cksum); if ($checksum_description) $checksum_description .= ', '; $checksum_description .= "$checksum: $cksum"; } @rename($full_path.'.tmp', $full_path);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $timetaken = max(microtime(true)-$this->zip_microtime_start, 0.000001); $kbsize = filesize($full_path)/1024; $updraftplus->jobdata_set('filesize-'.$whichone.$this->index, filesize($full_path)); $rate = round($kbsize/$timetaken, 1); $updraftplus->log("Created $whichone zip (".$this->index.") - ".round($kbsize, 1)." KB in ".round($timetaken, 1)." s ($rate KB/s) ($checksum_description)"); // We can now remove any left-over temporary files from this job } } elseif ($this->index > $original_index) { $updraftplus->log("Did not create $whichone zip (".$this->index.") - not needed (2)"); // Added 12-Feb-2014 (to help multiple morefiles) $this->index--; } else { $updraftplus->log("Looked-for $whichone zip (".$this->index.") was not found (".basename($full_path).".tmp)", 'warning'); } UpdraftPlus_Filesystem_Functions::clean_temporary_files('_'.$updraftplus->file_nonce."-$whichone", 0); $this->maybe_cloud_backup(basename($full_path), $whichone, $this->index); } // Remove cache list files as well, if there are any UpdraftPlus_Filesystem_Functions::clean_temporary_files('_'.$updraftplus->file_nonce."-$whichone", 0, true); // Create the results array to send back (just the new ones, not any prior ones) $files_existing = array(); $res_index = $original_index; for ($i = $original_index; $i<= $this->index; $i++) { $itext = empty($i) ? '' : ($i+1); $full_path = $this->updraft_dir.'/'.$backup_file_basename.'-'.$whichone.$itext.'.zip'; if (file_exists($full_path) || $updraftplus->is_uploaded($backup_file_basename.'-'.$whichone.$itext.'.zip')) { $files_existing[$res_index] = $backup_file_basename.'-'.$whichone.$itext.'.zip'; } $res_index++; } return $files_existing; } /** * This method is for calling outside of a cloud_backup() context. It constructs a list of services for which prune operations should be attempted, and then calls prune_retained_backups() if necessary upon them. */ public function do_prune_standalone() { global $updraftplus; $services = (array) $updraftplus->just_one($updraftplus->jobdata_get('service')); $prune_services = array(); foreach ($services as $service) { if ('none' === $service || '' == $service) continue; $objname = "UpdraftPlus_BackupModule_{$service}"; if (!class_exists($objname) && file_exists(UPDRAFTPLUS_DIR.'/methods/'.$service.'.php')) { updraft_try_include_file('methods/'.$service.'.php', 'include_once'); } if (class_exists($objname)) { $remote_obj = new $objname; $prune_services[$service]['all'] = array($remote_obj, null); } else { $updraftplus->log("Could not prune from service $service: remote method not found"); } } if (!empty($prune_services)) $this->prune_retained_backups($prune_services); } /** * This function will check if backup archives exist and have a usable manifest if so it will attempt to send them for upload * * @param String $file - the name of the zip file * @param String $whichone - the entity type * @param Integer $index - the entity index * * @return void */ private function maybe_cloud_backup($file, $whichone, $index) { global $updraftplus; // Check if the feature is enabled if (!defined('UPDRAFTPLUS_UPLOAD_AFTER_CREATE') || UPDRAFTPLUS_UPLOAD_AFTER_CREATE) { if ($updraftplus->is_uploaded($file) || !is_file($this->updraft_dir.'/'.$file)) return; $updraftplus->jobdata_set('filesize-'.$whichone.$index, filesize($this->updraft_dir.'/'.$file)); $backupable_entities = $updraftplus->get_backupable_file_entities(true); $undone_files = array(); if (!isset($backupable_entities[$whichone]) && ('db' != substr($whichone, 0, 2))) return; $manifest = $this->updraft_dir.'/'.$file.'.list.tmp'; if (!file_exists($manifest)) return; $manifest_contents = json_decode(file_get_contents($manifest), true); if (empty($manifest_contents) || empty($manifest_contents['files'])) return; $undone_files[$whichone.$index] = $file; $this->cloud_backup($undone_files, 'partialclouduploading'); // reset the jobstatus as we may have just uploaded a backup set $updraftplus->jobdata_set('jobstatus', 'filescreating'); } } /** * Dispatch to the relevant function * * @param Array $backup_array - List of archives for the backup * @param String $stage - The stage we are uploading at (clouduploading, partialclouduploading) */ public function cloud_backup($backup_array, $stage = 'clouduploading') { global $updraftplus; $services = (array) $updraftplus->just_one($updraftplus->jobdata_get('service')); $remote_storage_instances = $updraftplus->jobdata_get('remote_storage_instances', array()); // We need to make sure that the loop below actually runs if (empty($services)) $services = array('none'); $storage_objects_and_ids = UpdraftPlus_Storage_Methods_Interface::get_enabled_storage_objects_and_ids($services, $remote_storage_instances); $total_instances_count = 0; foreach ($storage_objects_and_ids as $service) { if ($service['object']->supports_feature('multi_options')) $total_instances_count += count($service['instance_settings']); } $updraftplus->jobdata_set('jobstatus', $stage); $updraftplus->register_wp_http_option_hooks(); $upload_status = $updraftplus->jobdata_get('uploading_substatus'); if (!is_array($upload_status) || !isset($upload_status['t'])) { $upload_status = array('i' => 0, 'p' => 0, 't' => max(1, $total_instances_count)*count($backup_array)); $updraftplus->jobdata_set('uploading_substatus', $upload_status); } elseif (is_array($upload_status) && isset($upload_status['t'])) { $upload_status['t'] = $upload_status['i'] + max(1, $total_instances_count)*count($backup_array); $updraftplus->jobdata_set('uploading_substatus', $upload_status); } $do_prune = array(); // If there was no check-in last time, then attempt a different service first - in case a time-out on the attempted service leads to no activity and everything stopping if (count($services) >1 && $updraftplus->no_checkin_last_time) { $updraftplus->log('No check-in last time: will try a different remote service first'); array_push($services, array_shift($services)); // Make sure that the 'no worthwhile activity' detector isn't flumoxed by the starting of a new upload at 0% if ($updraftplus->current_resumption > 9) $updraftplus->jobdata_set('uploaded_lastreset', $updraftplus->current_resumption); if (1 == ($updraftplus->current_resumption % 2) && count($services)>2) array_push($services, array_shift($services)); } $errors_before_uploads = $updraftplus->error_count(); foreach ($services as $ind => $service) { try { $instance_id_count = 0; $total_instance_ids = ('none' !== $service && '' !== $service && $storage_objects_and_ids[$service]['object']->supports_feature('multi_options')) ? count($storage_objects_and_ids[$service]['instance_settings']) : 1; // Used for logging by record_upload_chunk() $this->current_service = $service; // Used when deciding whether to delete the local file $this->last_storage_instance = ($ind+1 >= count($services) && $instance_id_count+1 >= $total_instance_ids && $errors_before_uploads == $updraftplus->error_count()) ? true : false; $log_extra = $this->last_storage_instance ? ' (last)' : ''; $updraftplus->log("Cloud backup selection (".($ind+1)."/".count($services)."): ".$service." with instance (".($instance_id_count+1)."/".$total_instance_ids.")".$log_extra); if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if ('none' == $service || '' == $service) { $updraftplus->log('No remote despatch: user chose no remote backup service'); // Still want to mark as "uploaded", to signal that nothing more needs doing. (Important on incremental runs with no cloud storage). foreach ($backup_array as $file) { if ($updraftplus->is_uploaded($file)) { $updraftplus->log("Already uploaded: $file"); } else { $updraftplus->uploaded_file($file, true); } $fullpath = $this->updraft_dir.'/'.$file; if (file_exists($fullpath.'.list.tmp')) { $updraftplus->log("Deleting zip manifest ({$file}.list.tmp)"); unlink($fullpath.'.list.tmp'); } } $this->prune_retained_backups(array('none' => array('all' => array(null, null)))); } elseif (!empty($storage_objects_and_ids[$service]['object']) && !$storage_objects_and_ids[$service]['object']->supports_feature('multi_options')) { $remote_obj = $storage_objects_and_ids[$service]['object']; $do_prune = array_merge_recursive($do_prune, $this->upload_cloud($remote_obj, $service, $backup_array, '')); } elseif (!empty($storage_objects_and_ids[$service]['instance_settings'])) { foreach ($storage_objects_and_ids[$service]['instance_settings'] as $instance_id => $options) { if ($instance_id_count > 0) { $this->last_storage_instance = ($ind+1 >= count($services) && $instance_id_count+1 >= $total_instance_ids && $errors_before_uploads == $updraftplus->error_count()) ? true : false; $log_extra = $this->last_storage_instance ? ' (last)' : ''; $updraftplus->log("Cloud backup selection (".($ind+1)."/".count($services)."): ".$service." with instance (".($instance_id_count+1)."/".$total_instance_ids.")".$log_extra); } // Used for logging by record_upload_chunk() $this->current_instance = $instance_id; if (!isset($options['instance_enabled'])) $options['instance_enabled'] = 1; // if $remote_storage_instances is not empty then we are looping over a list of instances the user wants to backup to so we want to ignore if the instance is enabled or not if (1 == $options['instance_enabled'] || !empty($remote_storage_instances)) { $remote_obj = $storage_objects_and_ids[$service]['object']; $remote_obj->set_options($options, true, $instance_id); $do_prune = array_merge_recursive($do_prune, $this->upload_cloud($remote_obj, $service, $backup_array, $instance_id)); } else { $updraftplus->log("This instance id ($instance_id) is set as inactive."); } $instance_id_count++; } } } catch (Exception $e) { $log_message = 'Exception ('.get_class($e).') occurred during backup uploads to the '.$service.'. Exception Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; $updraftplus->log($log_message); error_log($log_message); $updraftplus->log(sprintf(__('A PHP exception (%s) has occurred: %s', 'updraftplus'), get_class($e), $e->getMessage()), 'error'); // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during backup uploads to the '.$service.'. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; $updraftplus->log($log_message); error_log($log_message); $updraftplus->log(sprintf(__('A PHP fatal error (%s) has occurred: %s', 'updraftplus'), get_class($e), $e->getMessage()), 'error'); } } if (!empty($do_prune) && 'clouduploading' == $stage) $this->prune_retained_backups($do_prune); $updraftplus->register_wp_http_option_hooks(false); } /** * This method will start the upload of the backups to the chosen remote storage method and return an array of files to be pruned and their location. * * @param Object $remote_obj - the remote storage object * @param String $service - the name of the service we are uploading to * @param Array $backup_array - an array that contains the backup files we want to upload * @param String $instance_id - the instance id we are using * @return Array - an array with information about what files to prune and where they are located */ private function upload_cloud($remote_obj, $service, $backup_array, $instance_id) { global $updraftplus; $do_prune = array(); if ('' == $instance_id) { $updraftplus->log("Beginning dispatch of backup to remote ($service)"); } else { $updraftplus->log("Beginning dispatch of backup to remote ($service) (instance identifier $instance_id)"); } $errors_before_uploads = $updraftplus->error_count(); $sarray = array(); foreach ($backup_array as $bind => $file) { if ($updraftplus->is_uploaded($file, $service, $instance_id)) { if ('' == $instance_id) { $updraftplus->log("Already uploaded to $service: $file", 'notice', false, true); } else { $updraftplus->log("Already uploaded to $service / $instance_id: $file", 'notice', false, true); } // If this is the last instance and this file has already been uploaded then we need to mark it as complete in order to get the local file cleaned up. if (!empty($this->last_storage_instance)) $updraftplus->uploaded_file($file); } else { $sarray[$bind] = $file; } } if (count($sarray) > 0) { $pass_to_prune = $remote_obj->backup($sarray); if ('remotesend' != $service) { $do_prune[$service][$instance_id] = array($remote_obj, $pass_to_prune); } else { $do_prune[$service]['default'] = array($remote_obj, $pass_to_prune); } // Check there are no errors in the uploads, if none then call upload_completed() if it exists otherwise mark as complete if ($errors_before_uploads == $updraftplus->error_count()) { if (is_callable(array($remote_obj, 'upload_completed'))) { $result = $remote_obj->upload_completed(); if ($result) $updraftplus->mark_upload_complete($service); } else { $updraftplus->mark_upload_complete($service); } } } else { // We still need to make sure that prune is run on this remote storage method, even if all entities were previously uploaded $do_prune[$service]['all'] = array($remote_obj, null); } return $do_prune; } /** * Group the backup history into sets for retention processing and indicate the retention rule to apply to each group. This is a 'default' function which just puts them all in together. * * @param Array $backup_history * * @return Array */ private function group_backups($backup_history) { return array(array('sets' => $backup_history, 'process_order' => 'keep_newest')); } /** * Logs a message; with the message being logged to the database also only if that has not been done in the last 3 seconds. Useful for better overall performance on slow database servers with rapid logging. * * @uses UpdraftPlus::log() * * @param String $message - the message to log * @param String $level - the log level */ private function log_with_db_occasionally($message, $level = 'notice') { global $updraftplus; static $last_db = false; if (time() > $last_db + 3) { $last_db = time(); $skip_dblog = false; } else { $skip_dblog = true; } return $updraftplus->log($message, $level, false, $skip_dblog); } /** * Prunes historical backups, according to the user's settings * * @param Array $services - An associative array with list of services as key and remote object and boolean flag as values to prune on. This must be an array (i.e. it is not flexible like some other places) * * @return void */ public function prune_retained_backups($services) { global $updraftplus, $wpdb; if ('' != $updraftplus->jobdata_get('remotesend_info')) { $updraftplus->log("Prune old backups from local store: skipping, as this was a remote send operation"); return; } if (method_exists($wpdb, 'check_connection') && (!defined('UPDRAFTPLUS_SUPPRESS_CONNECTION_CHECKS') || !UPDRAFTPLUS_SUPPRESS_CONNECTION_CHECKS)) { if (!$wpdb->check_connection(false)) { UpdraftPlus_Job_Scheduler::reschedule(60); $updraftplus->log('It seems the database went away; scheduling a resumption and terminating for now'); UpdraftPlus_Job_Scheduler::record_still_alive(); die; } } // If they turned off deletion on local backups, then there is nothing to do if (!UpdraftPlus_Options::get_updraft_option('updraft_delete_local', 1) && 1 == count($services) && array_key_exists('none', $services)) { $updraftplus->log("Prune old backups from local store: nothing to do, since the user disabled local deletion and we are using local backups"); return; } $this->hash_list_of_complete_pruned_files = $updraftplus->jobdata_get('hash_list_of_complete_pruned_files'); if (!is_array($this->hash_list_of_complete_pruned_files)) $this->hash_list_of_complete_pruned_files = array(); $updraftplus->jobdata_set_multi(array('jobstatus' => 'pruning', 'prune' => 'begun')); // Number of backups to retain - files $updraft_retain = UpdraftPlus_Options::get_updraft_option('updraft_retain', 2); $updraft_retain = is_numeric($updraft_retain) ? $updraft_retain : 1; // Number of backups to retain - db $updraft_retain_db = UpdraftPlus_Options::get_updraft_option('updraft_retain_db', $updraft_retain); $updraft_retain_db = is_numeric($updraft_retain_db) ? $updraft_retain_db : 1; $updraftplus->log("Retain: beginning examination of existing backup sets; user setting: retain_files=$updraft_retain, retain_db=$updraft_retain_db"); // Returns an array, most recent first, of backup sets $backup_history = UpdraftPlus_Backup_History::get_history(); $ignored_because_imported = array(); // Remove non-native (imported) backups, which are neither counted nor pruned. It's neater to do these in advance, and log only one line. $functional_backup_history = $backup_history; foreach ($functional_backup_history as $backup_time => $backup_to_examine) { if (isset($backup_to_examine['native']) && false == $backup_to_examine['native']) { $ignored_because_imported[] = $backup_time; unset($functional_backup_history[$backup_time]); } } if (!empty($ignored_because_imported)) { $updraftplus->log("These backup set(s) were imported from a remote location, so will not be counted or pruned. Skipping: ".implode(', ', $ignored_because_imported)); } $backupable_entities = $updraftplus->get_backupable_file_entities(true); $database_backups_found = array(); $file_entities_backups_found = array(); foreach ($backupable_entities as $entity => $info) { $file_entities_backups_found[$entity] = 0; } if (false === ($backup_db_groups = apply_filters('updraftplus_group_backups_for_pruning', false, $functional_backup_history, 'db'))) { $backup_db_groups = $this->group_backups($functional_backup_history); } $updraftplus->log("Number of backup sets in history: ".count($backup_history)."; groups (db): ".count($backup_db_groups)); foreach ($backup_db_groups as $group_id => $group) { // N.B. The array returned by UpdraftPlus_Backup_History::get_history() is already sorted, with most-recent first if (empty($group['sets']) || !is_array($group['sets'])) continue; $sets = $group['sets']; // Sort the groups into the desired "keep this first" order $process_order = (!empty($group['process_order']) && 'keep_oldest' == $group['process_order']) ? 'keep_oldest' : 'keep_newest'; if ('keep_oldest' == $process_order) ksort($sets); $rule = !empty($group['rule']) ? $group['rule'] : array('after-howmany' => 0, 'after-period' => 0, 'every-period' => 1, 'every-howmany' => 1); foreach ($sets as $backup_datestamp => $backup_to_examine) { $files_to_prune = array(); $nonce = empty($backup_to_examine['nonce']) ? '???' : $backup_to_examine['nonce']; // $backup_to_examine is an array of file names, keyed on db/plugins/themes/uploads // The new backup_history array is saved afterwards, so remember to unset the ones that are to be deleted $this->log_with_db_occasionally(sprintf("Examining (for databases) backup set with group_id=$group_id, nonce=%s, datestamp=%s (%s)", $nonce, $backup_datestamp, gmdate('M d Y H:i:s', $backup_datestamp))); // "Always Keep" Backups should be counted in the count of how many have been retained for purposes of the "how many to retain" count... but if that count is already matched, it's not a problem $is_always_keep = !empty($backup_to_examine['always_keep']); // Auto-backups are only counted or deleted once we have reached the retain limit - before that, they are skipped $is_autobackup = !empty($backup_to_examine['autobackup']); $remote_sent = (!empty($backup_to_examine['service']) && ((is_array($backup_to_examine['service']) && in_array('remotesend', $backup_to_examine['service'])) || 'remotesend' === $backup_to_examine['service'])) ? true : false; $any_deleted_via_filter_yet = false; // Databases foreach ($backup_to_examine as $key => $data) { if ('db' != strtolower(substr($key, 0, 2)) || '-size' == substr($key, -5, 5)) continue; if (empty($database_backups_found[$key])) $database_backups_found[$key] = 0; if ($nonce == $updraftplus->nonce || $nonce == $updraftplus->file_nonce) { $this->log_with_db_occasionally("This backup set is the backup set just made, so will not be deleted."); $database_backups_found[$key]++; continue; } if ($is_always_keep) { if ($database_backups_found[$key] < $updraft_retain) { $this->log_with_db_occasionally("This backup set ($backup_datestamp) was an 'Always Keep' backup, and we have not yet reached any retain limits, so it should be counted in the count of how many have been retained for purposes of the 'how many to retain' count. It will not be pruned. Skipping."); $database_backups_found[$key]++; } else { $this->log_with_db_occasionally("This backup set ($backup_datestamp) was an 'Always Keep' backup, so it will not be pruned. Skipping."); } continue; } if ($is_autobackup) { if ($any_deleted_via_filter_yet) { $this->log_with_db_occasionally("This backup set ($backup_datestamp) was an automatic backup, but we have previously deleted a backup due to a limit, so it will be pruned (but not counted towards numerical limits)."); $prune_it = true; } elseif ($database_backups_found[$key] < $updraft_retain_db) { $this->log_with_db_occasionally("This backup set ($backup_datestamp) was an automatic backup, and we have not yet reached any retain limits, so it will not be counted or pruned. Skipping."); continue; } else { $this->log_with_db_occasionally("This backup set ($backup_datestamp) was an automatic backup, and we have already reached retain limits, so it will be pruned."); $prune_it = true; } } else { $prune_it = false; } if ($remote_sent) { $prune_it = true; $this->log_with_db_occasionally("$backup_datestamp: $key: was sent to remote site; will remove from local record (only)"); } // All non-auto backups must be run through this filter (in date order) regardless of the current state of $prune_it - so that filters are able to track state. $prune_it_before_filter = $prune_it; if (!$is_autobackup) $prune_it = apply_filters('updraftplus_prune_or_not', $prune_it, 'db', $backup_datestamp, $key, $database_backups_found[$key], $rule, $group_id); // Apply the final retention limit list (do not increase the 'retained' counter before seeing if the backup is being pruned for some other reason) if (!$prune_it && !$is_autobackup) { if ($database_backups_found[$key] + 1 > $updraft_retain_db) { $prune_it = true; $fname = is_string($data) ? $data : $data[0]; $this->log_with_db_occasionally("$backup_datestamp: $key: this set includes a database (".$fname."); db count is now ".$database_backups_found[$key]); $this->log_with_db_occasionally("$backup_datestamp: $key: over retain limit ($updraft_retain_db); will delete this database"); } } if ($prune_it) { if (!$prune_it_before_filter) $any_deleted_via_filter_yet = true; if (!empty($data)) { $size_key = $key.'-size'; $size = isset($backup_to_examine[$size_key]) ? $backup_to_examine[$size_key] : null; foreach ($services as $service => $instance_ids_to_prune) { foreach ($instance_ids_to_prune as $instance_id_to_prune => $sd) { $this->current_pruning_instance_id = $instance_id_to_prune; if ('none' != $service && '' != $service && $sd[0]->supports_feature('multi_options')) { $storage_objects_and_ids = UpdraftPlus_Storage_Methods_Interface::get_storage_objects_and_ids(array($service)); if ('all' == $instance_id_to_prune) { foreach ($storage_objects_and_ids[$service]['instance_settings'] as $saved_instance_id => $options) { $this->current_pruning_instance_id = $saved_instance_id; $sd[0]->set_options($options, false, $saved_instance_id); $this->prune_file($service, $data, $sd[0], $sd[1], array($size)); } } else { $opts = $storage_objects_and_ids[$service]['instance_settings'][$instance_id_to_prune]; $sd[0]->set_options($opts, false, $instance_id_to_prune); $this->prune_file($service, $data, $sd[0], $sd[1], array($size)); } } else { $this->current_pruning_instance_id = empty($service) ? 'none' : $service; $this->prune_file($service, $data, $sd[0], $sd[1], array($size)); } } } } $this->current_pruning_instance_id = ''; unset($backup_to_examine[$key]); UpdraftPlus_Job_Scheduler::record_still_alive(); } elseif (!$is_autobackup) { $database_backups_found[$key]++; } $backup_to_examine = $this->remove_backup_set_if_empty($backup_to_examine, $backupable_entities); if (empty($backup_to_examine)) { unset($functional_backup_history[$backup_datestamp]); unset($backup_history[$backup_datestamp]); $this->maybe_save_backup_history_and_reschedule($backup_history); } else { $functional_backup_history[$backup_datestamp] = $backup_to_examine; $backup_history[$backup_datestamp] = $backup_to_examine; } } } } if (false === ($backup_files_groups = apply_filters('updraftplus_group_backups_for_pruning', false, $functional_backup_history, 'files'))) { $backup_files_groups = $this->group_backups($functional_backup_history); } $updraftplus->log("Number of backup sets in history: ".count($backup_history)."; groups (files): ".count($backup_files_groups)); // Now again - this time for the files foreach ($backup_files_groups as $group_id => $group) { // N.B. The array returned by UpdraftPlus_Backup_History::get_history() is already sorted, with most-recent first if (empty($group['sets']) || !is_array($group['sets'])) continue; $sets = $group['sets']; // Sort the groups into the desired "keep this first" order $process_order = (!empty($group['process_order']) && 'keep_oldest' == $group['process_order']) ? 'keep_oldest' : 'keep_newest'; // Youngest - i.e. smallest epoch - first if ('keep_oldest' == $process_order) ksort($sets); $rule = !empty($group['rule']) ? $group['rule'] : array('after-howmany' => 0, 'after-period' => 0, 'every-period' => 1, 'every-howmany' => 1); foreach ($sets as $backup_datestamp => $backup_to_examine) { $files_to_prune = array(); $nonce = empty($backup_to_examine['nonce']) ? '???' : $backup_to_examine['nonce']; // $backup_to_examine is an array of file names, keyed on db/plugins/themes/uploads // The new backup_history array is saved afterwards, so remember to unset the ones that are to be deleted $this->log_with_db_occasionally(sprintf("Examining (for files) backup set with nonce=%s, datestamp=%s (%s)", $nonce, $backup_datestamp, gmdate('M d Y H:i:s', $backup_datestamp))); // "Always Keep" Backups should be counted in the count of how many have been retained for purposes of the "how many to retain" count... but if that count is already matched, it's not a problem $is_always_keep = !empty($backup_to_examine['always_keep']); // Auto-backups are only counted or deleted once we have reached the retain limit - before that, they are skipped $is_autobackup = !empty($backup_to_examine['autobackup']); $remote_sent = (!empty($backup_to_examine['service']) && ((is_array($backup_to_examine['service']) && in_array('remotesend', $backup_to_examine['service'])) || 'remotesend' === $backup_to_examine['service'])) ? true : false; $any_deleted_via_filter_yet = false; $file_sizes = array(); // Files foreach ($backupable_entities as $entity => $info) { if (!empty($backup_to_examine[$entity])) { // This should only be able to happen if you import backups with a future timestamp if ($nonce == $updraftplus->nonce || $nonce == $updraftplus->file_nonce) { $updraftplus->log("This backup set is the backup set just made, so will not be deleted."); $file_entities_backups_found[$entity]++; continue; } if ($is_always_keep) { if ($file_entities_backups_found[$entity] < $updraft_retain) { $this->log_with_db_occasionally("This backup set ($backup_datestamp) was an 'Always Keep' backup, and we have not yet reached any retain limits, so it should be counted in the count of how many have been retained for purposes of the 'how many to retain' count. It will not be pruned. Skipping."); $file_entities_backups_found[$entity]++; } else { $this->log_with_db_occasionally("This backup set ($backup_datestamp) was an 'Always Keep' backup, so it will not be pruned. Skipping."); } continue; } if ($is_autobackup) { if ($any_deleted_via_filter_yet) { $this->log_with_db_occasionally("This backup set was an automatic backup, but we have previously deleted a backup due to a limit, so it will be pruned (but not counted towards numerical limits)."); $prune_it = true; } elseif ($file_entities_backups_found[$entity] < $updraft_retain) { $this->log_with_db_occasionally("This backup set ($backup_datestamp) was an automatic backup, and we have not yet reached any retain limits, so it will not be counted or pruned. Skipping."); continue; } else { $this->log_with_db_occasionally("This backup set ($backup_datestamp) was an automatic backup, and we have already reached retain limits, so it will be pruned."); $prune_it = true; } } else { $prune_it = false; } if ($remote_sent) { $prune_it = true; } // All non-auto backups must be run through this filter (in date order) regardless of the current state of $prune_it - so that filters are able to track state. $prune_it_before_filter = $prune_it; if (!$is_autobackup) $prune_it = apply_filters('updraftplus_prune_or_not', $prune_it, 'files', $backup_datestamp, $entity, $file_entities_backups_found[$entity], $rule, $group_id); // The "more than maximum to keep?" counter should not be increased until we actually know that the set is being kept. Before version 1.11.22, we checked this before running the filter, which resulted in the counter being increased for sets that got pruned via the filter (i.e. not kept) - and too many backups were thus deleted if (!$prune_it && !$is_autobackup) { if ($file_entities_backups_found[$entity] >= $updraft_retain) { $this->log_with_db_occasionally("$entity: over retain limit ($updraft_retain); will delete this file entity"); $prune_it = true; } } if ($prune_it) { if (!$prune_it_before_filter) $any_deleted_via_filter_yet = true; $prune_this = $backup_to_examine[$entity]; if (is_string($prune_this)) $prune_this = array($prune_this); foreach ($prune_this as $k => $prune_file) { if ($remote_sent) { $updraftplus->log("$entity: $backup_datestamp: was sent to remote site; will remove from local record (only)"); } $size_key = (0 == $k) ? $entity.'-size' : $entity.$k.'-size'; $size = (isset($backup_to_examine[$size_key])) ? $backup_to_examine[$size_key] : null; $files_to_prune[] = $prune_file; $file_sizes[] = $size; } unset($backup_to_examine[$entity]); } elseif (!$is_autobackup) { $file_entities_backups_found[$entity]++; } } } // Sending an empty array is not itself a problem - except that the remote storage method may not check that before setting up a connection, which can waste time: especially if this is done every time around the loop. if (!empty($files_to_prune)) { // Actually delete the files foreach ($services as $service => $instance_ids_to_prune) { foreach ($instance_ids_to_prune as $instance_id_to_prune => $sd) { $this->current_pruning_instance_id = $instance_id_to_prune; if ("none" != $service && '' != $service && $sd[0]->supports_feature('multi_options')) { $storage_objects_and_ids = UpdraftPlus_Storage_Methods_Interface::get_storage_objects_and_ids(array($service)); if ('all' == $instance_id_to_prune) { foreach ($storage_objects_and_ids[$service]['instance_settings'] as $saved_instance_id => $options) { $this->current_pruning_instance_id = $saved_instance_id; $sd[0]->set_options($options, false, $saved_instance_id); $this->prune_file($service, $files_to_prune, $sd[0], $sd[1], $file_sizes); } } else { $opts = $storage_objects_and_ids[$service]['instance_settings'][$instance_id_to_prune]; $sd[0]->set_options($opts, false, $instance_id_to_prune); $this->prune_file($service, $files_to_prune, $sd[0], $sd[1], $file_sizes); } } else { $this->current_pruning_instance_id = empty($service) ? 'none' : $service; $this->prune_file($service, $files_to_prune, $sd[0], $sd[1], $file_sizes); } UpdraftPlus_Job_Scheduler::record_still_alive(); } } } $this->current_pruning_instance_id = ''; $backup_to_examine = $this->remove_backup_set_if_empty($backup_to_examine, $backupable_entities); if (empty($backup_to_examine)) { unset($backup_history[$backup_datestamp]); $this->maybe_save_backup_history_and_reschedule($backup_history); } else { $backup_history[$backup_datestamp] = $backup_to_examine; } // Loop over backup sets } // Look over backup groups } $updraftplus->log("Retain: saving new backup history (sets now: ".count($backup_history).") and finishing retain operation"); UpdraftPlus_Backup_History::save_history($backup_history, false); do_action('updraftplus_prune_retained_backups_finished'); $updraftplus->jobdata_set('prune', 'finished'); } /** * The purpose of this is to save the backup history periodically - for the benefit of setups where the pruning takes longer than the total allow run time (e.g. if the network communications to the remote storage have delays in, and there are a lot of sets to scan) * * @param Array $backup_history - the backup history to possible save */ private function maybe_save_backup_history_and_reschedule($backup_history) { static $last_saved_at = 0; if (!$last_saved_at) $last_saved_at = time(); if (time() - $last_saved_at >= 10) { global $updraftplus; $updraftplus->log("Retain: saving new backup history, because at least 10 seconds have passed since the last save (sets now: ".count($backup_history).")"); UpdraftPlus_Backup_History::save_history($backup_history, false); UpdraftPlus_Job_Scheduler::something_useful_happened(); $last_saved_at = time(); } } /** * Examine a backup set; if it is empty (no files or DB), then remove the associated log file * * @param Array $backup_to_examine - backup set * @param Array $backupable_entities - compare with this list of backup entities * * @return Array|Boolean - if it was empty, false is returned */ private function remove_backup_set_if_empty($backup_to_examine, $backupable_entities) { global $updraftplus; // Get new result, post-deletion; anything left in this set? $contains_files = 0; foreach ($backupable_entities as $entity => $info) { if (isset($backup_to_examine[$entity])) { $contains_files = 1; break; } } $contains_db = 0; foreach ($backup_to_examine as $key => $data) { if ('db' == strtolower(substr($key, 0, 2)) && '-size' != substr($key, -5, 5)) { $contains_db = 1; break; } } // Delete backup set completely if empty, o/w just remove DB // We search on the four keys which represent data, allowing other keys to be used to track other things if (!$contains_files && !$contains_db) { $updraftplus->log("This backup set is now empty; will remove from history"); if (isset($backup_to_examine['nonce'])) { $fullpath = $this->updraft_dir."/log.".$backup_to_examine['nonce'].".txt"; if (is_file($fullpath)) { $updraftplus->log("Deleting log file (log.".$backup_to_examine['nonce'].".txt)"); @unlink($fullpath);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } else { $updraftplus->log("Corresponding log file (log.".$backup_to_examine['nonce'].".txt) not found - must have already been deleted"); } } else { $updraftplus->log("No nonce record found in the backup set, so cannot delete any remaining log file"); } return false; } else { $updraftplus->log("This backup set remains non-empty (f=$contains_files/d=$contains_db); will retain in history"); return $backup_to_examine; } } /** * Prune files from remote and local storage * * @param String $service Service to prune (one only) * @param Array|String $dofiles An array of files (or a single string for one file) * @param Array $method_object specific method object * @param Array $object_passback specific passback object * @param Array $file_sizes size of files */ private function prune_file($service, $dofiles, $method_object = null, $object_passback = null, $file_sizes = array()) { global $updraftplus; if (!is_array($dofiles)) $dofiles = array($dofiles); if (!apply_filters('updraftplus_prune_file', true, $dofiles, $service, $method_object, $object_passback, $file_sizes)) { $updraftplus->log("Prune: service=$service: skipped via filter"); return; } foreach ($dofiles as $dofile) { $fullpath = $this->updraft_dir.'/'.$dofile; if (empty($dofile) || !file_exists($fullpath)) continue; $updraftplus->log("Delete file: $dofile, service=$service"); // delete it if it's locally available $updraftplus->log("Deleting local copy ($dofile)"); unlink($fullpath); if (file_exists($fullpath.'.list.tmp')) { $updraftplus->log("Deleting zip manifest ({$dofile}.list.tmp)"); unlink($fullpath.'.list.tmp'); } } // Despatch to the particular method's deletion routine if (!is_null($method_object)) { $files = $sizes = array(); $pruning_start_time_for_current_instance_id = microtime(true); foreach ($dofiles as $actual_index => $file) { $hashed_file = md5($this->current_pruning_instance_id.$file); if (in_array($hashed_file, $this->hash_list_of_complete_pruned_files)) continue; $files[] = $file; $sizes[] = $file_sizes[$actual_index]; $this->hash_list_of_complete_pruned_files[] = $hashed_file; if (count($dofiles) !== $actual_index+1 && 0 != ($actual_index+1) % $this->pruning_number_of_files) continue; // only proceed with deletion at every multiples of ten (default) or if it's already at the end of files $method_object->delete($files, $object_passback, $sizes); if (count($dofiles) === $actual_index+1 || (floor(microtime(true)-$pruning_start_time_for_current_instance_id)) >= $this->minimum_time_to_cache_pruned_files) { $this->hash_list_of_complete_pruned_files = array_unique($this->hash_list_of_complete_pruned_files); $updraftplus->jobdata_set('hash_list_of_complete_pruned_files', $this->hash_list_of_complete_pruned_files); // only cache already-done files when it reaches the minimum time, which is 25 seconds by default $pruning_start_time_for_current_instance_id = microtime(true); } $files = $sizes = array(); } } } /** * Log the amount account space free/used, if possible */ private function log_account_space() { global $updraftplus; $hosting_bytes_free = $updraftplus->get_hosting_disk_quota_free(); if (is_array($hosting_bytes_free)) { $perc = round(100*$hosting_bytes_free[1]/(max($hosting_bytes_free[2], 1)), 1); $updraftplus->log(sprintf('Free disk space in account: %s (%s used)', round($hosting_bytes_free[3]/1048576, 1)." MB", "$perc %")); } } /** * Returns the basename up to and including the nonce (but not the entity) * * @param Integer $use_time epoch time to use * @return String */ private function get_backup_file_basename_from_time($use_time) { global $updraftplus; return apply_filters('updraftplus_get_backup_file_basename_from_time', 'backup_'.get_date_from_gmt(gmdate('Y-m-d H:i:s', $use_time), 'Y-m-d-Hi').'_'.$this->site_name.'_'.$updraftplus->file_nonce, $use_time, $this->site_name); } /** * Find the zip files in a given directory for a given nonce * * @param String $dir - directory to look in * @param String $match_nonce - backup ID to match * * @return Array */ private function find_existing_zips($dir, $match_nonce) { $zips = array(); if (!$handle = opendir($dir)) return $zips; while (false !== ($entry = readdir($handle))) { if ('.' == $entry || '..' == $entry) continue; if (preg_match('/^backup_(\d{4})-(\d{2})-(\d{2})-(\d{2})(\d{2})_.*_([0-9a-f]{12})-([\-a-z]+)([0-9]+)?\.zip$/i', $entry, $matches)) { if ($matches[6] !== $match_nonce) continue; $timestamp = mktime($matches[4], $matches[5], 0, $matches[2], $matches[3], $matches[1]); $entity = $matches[7]; $index = empty($matches[8]) ? '0' : $matches[8]; $zips[$entity][$index] = array($timestamp, $entry); } } return $zips; } /** * Get information on whether a particular file exists in a set * * @param Array $files should be an array as returned by find_existing_zips()] * @param String $entity entty of the file (e.g. 'plugins') * @param Integer $index Index within the files array * @return String|Boolean - false if the file does not exist; otherwise, the basename */ private function file_exists($files, $entity, $index = 0) { if (isset($files[$entity]) && isset($files[$entity][$index])) { $file = $files[$entity][$index]; // Return the filename return $file[1]; } else { return false; } } /** * This function is resumable * * @param String $job_status Current status * * @return Array - array of backed-up files */ private function backup_dirs($job_status) { global $updraftplus; if (!$updraftplus->backup_time) $updraftplus->backup_time_nonce(); $use_time = $updraftplus->backup_time; $backup_file_basename = $this->get_backup_file_basename_from_time($use_time); $backup_array = array(); // Was there a check-in last time? If not, then reduce the amount of data attempted if ('finished' != $job_status && $updraftplus->current_resumption >= 2) { // NOTYET: Possible amendment to original algorithm; not just no check-in, but if the check in was very early (can happen if we get a very early checkin for some trivial operation, then attempt something too big) // 03-Sep-2015 - came across a case (HS#2052) where there apparently was a check-in 'last time', but no resumption was scheduled because the 'useful_checkin' jobdata was *not* last time - which must indicate dying at a very unfortunate/unlikely point in the code. As a result, the split was not auto-reduced. Consequently, we've added !$updraftplus->newresumption_scheduled as a condition on the first check here (it was already on the second), as if no resumption is scheduled then whatever checkin there was last time was only partial. This was on GoDaddy, for which a number of curious I/O event combinations have been seen in recent months - their platform appears to have some odd behaviour when PHP is killed off. // 04-Sep-2015 - move the '$updraftplus->current_resumption<=10' check to the inner loop (instead of applying to this whole section), as I see no reason for that restriction (case seen in HS#2064 where it was required on resumption 15) if ($updraftplus->no_checkin_last_time || !$updraftplus->newresumption_scheduled || $updraftplus->resumption_scheduled_for_cleanup) { // Apr 2015: !$updraftplus->newresumption_scheduled added after seeing a log where there was no activity on resumption 9, and extra resumption 10 then tried the same operation. if ($updraftplus->current_resumption - $updraftplus->last_successful_resumption > 2 || !$updraftplus->newresumption_scheduled) { $this->try_split = true; } elseif ($updraftplus->current_resumption <= 10) { $maxzipbatch = $updraftplus->jobdata_get('maxzipbatch', 26214400); if ((int) $maxzipbatch < 1) $maxzipbatch = 26214400; $new_maxzipbatch = max(floor($maxzipbatch * 0.75), 20971520); if ($new_maxzipbatch < $maxzipbatch) { $updraftplus->log("No check-in was detected on the previous run - as a result, we are reducing the batch amount (old=$maxzipbatch, new=$new_maxzipbatch)"); $updraftplus->jobdata_set('maxzipbatch', $new_maxzipbatch); $updraftplus->jobdata_set('maxzipbatch_ceiling', $new_maxzipbatch); } } } } if ('finished' != $job_status && !UpdraftPlus_Filesystem_Functions::really_is_writable($this->updraft_dir)) { $updraftplus->log("Backup directory (".$this->updraft_dir.") is not writable, or does not exist"); $updraftplus->log(sprintf(__("Backup directory (%s) is not writable, or does not exist.", 'updraftplus'), $this->updraft_dir), 'error'); return array(); } $this->job_file_entities = $updraftplus->jobdata_get('job_file_entities'); // This is just used for the visual feedback (via the 'substatus' key) $which_entity = 0; // e.g. plugins, themes, uploads, others // $whichdir might be an array (if $youwhat is 'more') // Returns an array (keyed off the entity) of ($timestamp, $filename) arrays $existing_zips = $this->find_existing_zips($this->updraft_dir, $updraftplus->file_nonce); $possible_backups = $updraftplus->get_backupable_file_entities(true); foreach ($possible_backups as $youwhat => $whichdir) { if (!isset($this->job_file_entities[$youwhat])) { $updraftplus->log("No backup of $youwhat: excluded by user's options"); continue; } $index = (int) $this->job_file_entities[$youwhat]['index']; if (empty($index)) $index=0; $indextext = (0 == $index) ? '' : (1+$index); $zip_file = $this->updraft_dir.'/'.$backup_file_basename.'-'.$youwhat.$indextext.'.zip'; // Split needed? $split_every = max((int) $updraftplus->jobdata_get('split_every'), 250); if (false != ($existing_file = $this->file_exists($existing_zips, $youwhat, $index)) && filesize($this->updraft_dir.'/'.$existing_file) > $split_every*1048576) { $index++; $this->job_file_entities[$youwhat]['index'] = $index; $updraftplus->jobdata_set('job_file_entities', $this->job_file_entities); } // Populate prior parts of $backup_array, if we're on a subsequent zip file if ($index > 0) { for ($i=0; $i<$index; $i++) { $itext = (0 == $i) ? '' : ($i+1); // Get the previously-stored filename if possible (which should be always); failing that, base it on the current run $zip_file = (isset($this->backup_files_array[$youwhat]) && isset($this->backup_files_array[$youwhat][$i])) ? $this->backup_files_array[$youwhat][$i] : $backup_file_basename.'-'.$youwhat.$itext.'.zip'; $backup_array[$youwhat][$i] = $zip_file; $z = $this->updraft_dir.'/'.$zip_file; $itext = (0 == $i) ? '' : $i; $fs_key = $youwhat.$itext.'-size'; if (file_exists($z)) { $backup_array[$fs_key] = filesize($z); } elseif (isset($this->backup_files_array[$fs_key])) { $backup_array[$fs_key] = $this->backup_files_array[$fs_key]; } } } // I am not certain that all the conditions in here are possible. But there's no harm. if ('finished' == $job_status) { // Add the final part of the array if ($index > 0) { $zip_file = (isset($this->backup_files_array[$youwhat]) && isset($this->backup_files_array[$youwhat][$index])) ? $this->backup_files_array[$youwhat][$index] : $backup_file_basename.'-'.$youwhat.($index+1).'.zip'; $z = $this->updraft_dir.'/'.$zip_file; $fs_key = $youwhat.$index.'-size'; $backup_array[$youwhat][$index] = $zip_file; if (file_exists($z)) { $backup_array[$fs_key] = filesize($z); } elseif (isset($this->backup_files_array[$fs_key])) { $backup_array[$fs_key] = $this->backup_files_array[$fs_key]; } } else { $zip_file = (isset($this->backup_files_array[$youwhat]) && isset($this->backup_files_array[$youwhat][0])) ? $this->backup_files_array[$youwhat][0] : $backup_file_basename.'-'.$youwhat.'.zip'; $backup_array[$youwhat] = $zip_file; $fs_key=$youwhat.'-size'; if (file_exists($zip_file)) { $backup_array[$fs_key] = filesize($zip_file); } elseif (isset($this->backup_files_array[$fs_key])) { $backup_array[$fs_key] = $this->backup_files_array[$fs_key]; } } } else { $which_entity++; $updraftplus->jobdata_set('filecreating_substatus', array('e' => $youwhat, 'i' => $which_entity, 't' => count($this->job_file_entities))); if ('others' == $youwhat) $updraftplus->log("Beginning backup of other directories found in the content directory (index: $index)"); // Apply a filter to allow add-ons to provide their own method for creating a zip of the entity $created = apply_filters('updraftplus_backup_makezip_'.$youwhat, $whichdir, $backup_file_basename, $index); // If the filter did not lead to something being created, then use the default method if ($created === $whichdir) { // http://www.phpconcept.net/pclzip/user-guide/53 /* First parameter to create is: An array of filenames or dirnames, or A string containing the filename or a dirname, or A string containing a list of filename or dirname separated by a comma. */ if ('others' == $youwhat) { $dirlist = $updraftplus->backup_others_dirlist(true); } elseif ('uploads' == $youwhat) { $dirlist = $updraftplus->backup_uploads_dirlist(true); } else { $dirlist = $whichdir; if (is_array($dirlist)) $dirlist = array_shift($dirlist); } if (!empty($dirlist)) { $created = $this->create_zip($dirlist, $youwhat, $backup_file_basename, $index); // Now, store the results if (!is_string($created) && !is_array($created)) $updraftplus->log("$youwhat: create_zip returned an error"); } else { $updraftplus->log("No backup of $youwhat: there was nothing found to backup"); } } if ($created != $whichdir && (is_string($created) || is_array($created))) { if (is_string($created)) $created =array($created); foreach ($created as $fname) { if (isset($backup_array[$youwhat]) && in_array($fname, $backup_array[$youwhat])) continue; $backup_array[$youwhat][$index] = $fname; $itext = (0 == $index) ? '' : $index; // File may have already been uploaded and removed so get the size from jobdata if (file_exists($this->updraft_dir.'/'.$fname)) { $backup_array[$youwhat.$itext.'-size'] = filesize($this->updraft_dir.'/'.$fname); } else { $backup_array[$youwhat.$itext.'-size'] = $updraftplus->jobdata_get('filesize-'.$youwhat.$index); } $index++; } } $this->job_file_entities[$youwhat]['index'] = $this->index; $updraftplus->jobdata_set('job_file_entities', $this->job_file_entities); } } return $backup_array; } /** * This uses a saved status indicator; its only purpose is to indicate *total* completion; there is no actual danger, just wasted time, in resuming when it was not needed. So the saved status indicator just helps save resources. * * @param Integer $resumption_no Check for first run * * @return Array */ public function resumable_backup_of_files($resumption_no) { global $updraftplus; // Backup directories and return a numerically indexed array of file paths to the backup files $bfiles_status = $updraftplus->jobdata_get('backup_files'); $this->backup_files_array = $updraftplus->jobdata_get('backup_files_array'); if (!is_array($this->backup_files_array)) $this->backup_files_array = array(); if ('finished' == $bfiles_status) { $updraftplus->log("Creation of backups of directories: already finished"); // Check for recent activity foreach ($this->backup_files_array as $files) { if (!is_array($files)) $files =array($files); foreach ($files as $file) $updraftplus->check_recent_modification($this->updraft_dir.'/'.$file); } } elseif ('begun' == $bfiles_status) { $this->first_run = apply_filters('updraftplus_filerun_firstrun', 0); if ($resumption_no > $this->first_run) { $updraftplus->log("Creation of backups of directories: had begun; will resume"); } else { $updraftplus->log("Creation of backups of directories: beginning"); } $updraftplus->jobdata_set('jobstatus', 'filescreating'); $this->backup_files_array = $this->backup_dirs($bfiles_status); $updraftplus->jobdata_set('backup_files_array', $this->backup_files_array); $updraftplus->jobdata_set('backup_files', 'finished'); $updraftplus->jobdata_set('jobstatus', 'filescreated'); } else { // This is not necessarily a backup run which is meant to contain files at all $updraftplus->log('This backup run is not intended for files - skipping'); return array(); } /* // DOES NOT WORK: there is no crash-safe way to do this here - have to be renamed at cloud-upload time instead $new_backup_array = array(); foreach ($backup_array as $entity => $files) { if (!is_array($files)) $files=array($files); $outof = count($files); foreach ($files as $ind => $file) { $nval = $file; if (preg_match('/^(backup_[\-0-9]{15}_.*_[0-9a-f]{12}-[\-a-z]+)([0-9]+)?\.zip$/i', $file, $matches)) { $num = max((int)$matches[2],1); $new = $matches[1].$num.'of'.$outof.'.zip'; if (file_exists($this->updraft_dir.'/'.$file)) { if (@rename($this->updraft_dir.'/'.$file, $this->updraft_dir.'/'.$new)) { $updraftplus->log(sprintf("Renaming: %s to %s", $file, $new)); $nval = $new; } } elseif (file_exists($this->updraft_dir.'/'.$new)) { $nval = $new; } } $new_backup_array[$entity][$ind] = $nval; } } */ return $this->backup_files_array; } /** * This function is resumable, using the following method: * Each table is written out to ($final_filename).table.tmp * When the writing finishes, it is renamed to ($final_filename).table * When all tables are finished, they are concatenated into the final file * * @param String $already_done Status of backup * @param String $whichdb Indicated which database is being backed up * @param Array $dbinfo is only used when whichdb != 'wp'; and the keys should be: user, pass, name, host, prefix * * @return Boolean|String - the basename of the database backup, or false for failure */ public function backup_db($already_done = 'begun', $whichdb = 'wp', $dbinfo = array()) { global $updraftplus, $wpdb; $this->whichdb = $whichdb; $this->whichdb_suffix = ('wp' == $whichdb) ? '' : $whichdb; if (!$updraftplus->backup_time) $updraftplus->backup_time_nonce(); if (!$updraftplus->opened_log_time) $updraftplus->logfile_open($updraftplus->nonce); if ('wp' == $this->whichdb) { $this->wpdb_obj = $wpdb; // The table prefix after being filtered - i.e. what filters what we'll actually backup $this->table_prefix = $updraftplus->get_table_prefix(true); // The unfiltered table prefix - i.e. the real prefix that things are relative to $this->table_prefix_raw = $updraftplus->get_table_prefix(false); $dbinfo['host'] = DB_HOST; $dbinfo['name'] = DB_NAME; $dbinfo['user'] = DB_USER; $dbinfo['pass'] = DB_PASSWORD; } else { if (!is_array($dbinfo) || empty($dbinfo['host'])) return false; // The methods that we may use: check_connection (WP>=3.9), get_results, get_row, query $this->wpdb_obj = new UpdraftPlus_WPDB_OtherDB($dbinfo['user'], $dbinfo['pass'], $dbinfo['name'], $dbinfo['host']); if (!empty($this->wpdb_obj->error)) { $updraftplus->log($dbinfo['user'].'@'.$dbinfo['host'].'/'.$dbinfo['name'].' : database connection attempt failed'); $updraftplus->log($dbinfo['user'].'@'.$dbinfo['host'].'/'.$dbinfo['name'].' : '.__('database connection attempt failed.', 'updraftplus').' '.__('Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.', 'updraftplus'), 'error'); return $updraftplus->log_wp_error($this->wpdb_obj->error); } $this->table_prefix = $dbinfo['prefix']; $this->table_prefix_raw = $dbinfo['prefix']; } $this->dbinfo = $dbinfo; do_action('updraftplus_backup_db_begin', $whichdb, $dbinfo, $already_done, $this); UpdraftPlus_Database_Utility::set_sql_mode(array(), array('ANSI_QUOTES'), $this->wpdb_obj); $errors = 0; $use_time = apply_filters('updraftplus_base_backup_timestamp', $updraftplus->backup_time); $file_base = $this->get_backup_file_basename_from_time($use_time); $backup_file_base = $this->updraft_dir.'/'.$file_base; if ('finished' == $already_done) return basename($backup_file_base).'-db'.(('wp' == $whichdb) ? '' : $whichdb).'.gz'; if ('encrypted' == $already_done) return basename($backup_file_base).'-db'.(('wp' == $whichdb) ? '' : $whichdb).'.gz.crypt'; $updraftplus->jobdata_set('jobstatus', 'dbcreating'.$this->whichdb_suffix); $binsqldump = $updraftplus->find_working_sqldump(); $total_tables = 0; // WP 3.9 onwards - https://core.trac.wordpress.org/browser/trunk/src/wp-includes/wp-db.php?rev=27925 - check_connection() allows us to get the database connection back if it had dropped if ('wp' == $whichdb && method_exists($this->wpdb_obj, 'check_connection') && (!defined('UPDRAFTPLUS_SUPPRESS_CONNECTION_CHECKS') || !UPDRAFTPLUS_SUPPRESS_CONNECTION_CHECKS)) { if (!$this->wpdb_obj->check_connection(false)) { UpdraftPlus_Job_Scheduler::reschedule(60); $updraftplus->log("It seems the database went away; scheduling a resumption and terminating for now"); UpdraftPlus_Job_Scheduler::record_still_alive(); die; } } // SHOW FULL - so that we get to know whether it's a BASE TABLE or a VIEW $all_tables = $this->wpdb_obj->get_results("SHOW FULL TABLES", ARRAY_N); if (empty($all_tables) && !empty($this->wpdb_obj->last_error)) { $all_tables = $this->wpdb_obj->get_results("SHOW TABLES", ARRAY_N); $all_tables = array_map(array($this, 'cb_get_name_base_type'), $all_tables); } else { $all_tables = array_map(array($this, 'cb_get_name_type'), $all_tables); } // If this is not the WP database, then we do not consider it a fatal error if there are no tables if ('wp' == $whichdb && 0 == count($all_tables)) { $extra = ($updraftplus->newresumption_scheduled) ? ' - '.__('please wait for the rescheduled attempt', 'updraftplus') : ''; $updraftplus->log("Error: No WordPress database tables found (SHOW TABLES returned nothing)".$extra); $updraftplus->log(__("No database tables found", 'updraftplus').$extra, 'error'); die; } // Put the options table first UpdraftPlus_Database_Utility::init($this->whichdb, $this->table_prefix_raw, $this->wpdb_obj); usort($all_tables, array('UpdraftPlus_Database_Utility', 'backup_db_sorttables')); $all_table_names = array_map(array($this, 'cb_get_name'), $all_tables); if (!UpdraftPlus_Filesystem_Functions::really_is_writable($this->updraft_dir)) { $updraftplus->log("The backup directory (".$this->updraft_dir.") could not be written to (could be account/disk space full, or wrong permissions)."); $updraftplus->log($this->updraft_dir.": ".__('The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail.', 'updraftplus'), 'warning'); // Why not just fail now? We saw a bizarre case when the results of really_is_writable() changed during the run. } // This check doesn't strictly get all possible duplicates; it's only designed for the case that can happen when moving between deprecated Windows setups and Linux $this->duplicate_tables_exist = false; foreach ($all_table_names as $table) { if (strtolower($table) != $table && in_array(strtolower($table), $all_table_names)) { $this->duplicate_tables_exist = true; $updraftplus->log("Tables with names differing only based on case-sensitivity exist in the MySQL database: $table / ".strtolower($table)); } } $how_many_tables = count($all_tables); $stitch_files = array(); $found_options_table = false; $is_multisite = is_multisite(); $anonymisation_options = $updraftplus->jobdata_get('anonymisation_options', array()); if (!empty($anonymisation_options)) { $updraftplus->log("Anonymisation options have been set, so mysqldump (which does not support them) will be disabled."); } // Gather the list of files that look like partial table files once only $potential_stitch_files = array(); $table_file_prefix_base= $file_base.'-db'.$this->whichdb_suffix.'-table-'; if (false !== ($dir_handle = opendir($this->updraft_dir))) { while (false !== ($e = readdir($dir_handle))) { // The 'r' in 'tmpr' indicates that the new scheme is being used. N.B. That does *not* imply that the table has a usable primary key. if (!is_file($this->updraft_dir.'/'.$e)) continue; if (preg_match('#'.$table_file_prefix_base.'.*\.table\.tmpr?(\d+)\.gz$#', $e, $matches)) { // We need to stich them in order $potential_stitch_files[] = $e; } } } else { $updraftplus->log("Error: Failed to open directory for reading"); $updraftplus->log(__("Failed to open directory for reading:", 'updraftplus').' '.$this->updraft_dir, 'error'); } $errors_at_all_tables_start = $updraftplus->error_count(); foreach ($all_tables as $ti) { $table = $ti['name']; $stitch_files[$table] = array(); $table_type = $ti['type']; $errors_at_table_start = $updraftplus->error_count(); $this->many_rows_warning = false; $total_tables++; // Increase script execution time-limit to 15 min for every table. if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. // The table file may already exist if we have produced it on a previous run $table_file_prefix = $file_base.'-db'.$this->whichdb_suffix.'-table-'.$table.'.table'; if ('wp' == $whichdb && (strtolower($this->table_prefix_raw.'options') == strtolower($table) || ($is_multisite && (strtolower($this->table_prefix_raw.'sitemeta') == strtolower($table) || strtolower($this->table_prefix_raw.'1_options') == strtolower($table))))) $found_options_table = true; // Already finished? if (file_exists($this->updraft_dir.'/'.$table_file_prefix.'.gz')) { $stitched = count($stitch_files, COUNT_RECURSIVE); $skip_dblog = (($stitched > 10 && 0 != $stitched % 20) || ($stitched > 100 && 0 != $stitched % 100)); $updraftplus->log("Table $table: corresponding file already exists; moving on", 'notice', false, $skip_dblog); $max_record = false; foreach ($potential_stitch_files as $e) { // The 'r' in 'tmpr' indicates that the new scheme is being used. N.B. That does *not* imply that the table has a usable primary key. if (preg_match('#'.$table_file_prefix.'\.tmpr?(\d+)\.gz$#', $e, $matches)) { // We need to stich them in order $stitch_files[$table][$matches[1]] = $e; if (false === $max_record || $matches[1] > $max_record) $max_record = $matches[1]; } } $stitch_files[$table][$max_record+1] = $table_file_prefix.'.gz'; // Move on to the next table continue; } // === is needed with strpos/stripos, otherwise 'false' matches (i.e. prefix does not match) if (empty($this->table_prefix) || (!$this->duplicate_tables_exist && 0 === stripos($table, $this->table_prefix)) || ($this->duplicate_tables_exist && 0 === strpos($table, $this->table_prefix))) { // Skip table due to filter? if (!apply_filters('updraftplus_backup_table', true, $table, $this->table_prefix, $whichdb, $dbinfo)) { $updraftplus->log("Skipping table (filtered): $table"); if (empty($this->skipped_tables)) $this->skipped_tables = array(); // whichdb could be an int in which case to get the name of the database and the array key use the name from dbinfo $key = ('wp' === $whichdb) ? 'wp' : $dbinfo['name']; if (empty($this->skipped_tables[$key])) $this->skipped_tables[$key] = array(); $this->skipped_tables[$key][] = $table; $total_tables--; continue; } add_filter('updraftplus_backup_table_sql_where', array($this, 'backup_exclude_jobdata'), 3, 10); $updraftplus->jobdata_set('dbcreating_substatus', array('t' => $table, 'i' => $total_tables, 'a' => $how_many_tables)); // .tmp.gz is the current temporary file. When the row limit has been reached, it is moved to .tmp1.gz, .tmp2.gz, etc. (depending on which already exist). When we're all done, then they all get stitched in. $db_temp_file = $this->updraft_dir.'/'.$table_file_prefix.'.tmp.gz'; $updraftplus->check_recent_modification($db_temp_file); // Open file, store the handle if (false === $this->backup_db_open($db_temp_file, true)) return false; $table_status = $this->wpdb_obj->get_row("SHOW TABLE STATUS WHERE Name='$table'"); // Create the preceding SQL statements for the table $this->stow("# " . sprintf('Table: %s', UpdraftPlus_Manipulation_Functions::backquote($table)) . "\n"); // Meaning: false = don't yet know; true = know and have logged it; integer = the expected number $this->expected_rows = false; if (isset($table_status->Rows)) { $this->expected_rows = $table_status->Rows; } // If no check-in last time, then we could in future try the other method (but - any point in retrying slow method on large tables??) // New Jul 2014: This attempt to use bindump instead at a lower threshold is quite conservative - only if the last successful run was exactly two resumptions ago - may be useful to expand $bindump_threshold = (!$updraftplus->something_useful_happened && !empty($updraftplus->current_resumption) && (2 == $updraftplus->current_resumption - $updraftplus->last_successful_resumption)) ? 1000 : 8000; if (isset($table_status->Rows) && ($table_status->Rows > $bindump_threshold || (defined('UPDRAFTPLUS_ALWAYS_TRY_MYSQLDUMP') && UPDRAFTPLUS_ALWAYS_TRY_MYSQLDUMP)) && is_string($binsqldump) && empty($anonymisation_options)) { if (!is_bool($this->expected_rows)) { $this->log_expected_rows($table, $this->expected_rows); $this->expected_rows = true; } $bindump = $this->backup_table_bindump($binsqldump, $table); } else { $bindump = false; } // Means "start of table". N.B. The meaning of an integer depends upon whether the table has a usable primary key or not. $start_record = true; $can_use_primary_key = apply_filters('updraftplus_can_use_primary_key_default', true, $table); foreach ($potential_stitch_files as $e) { // The 'r' in 'tmpr' indicates that the new scheme is being used. N.B. That does *not* imply that the table has a usable primary key. if (preg_match('#'.$table_file_prefix.'\.tmp(r)?(\d+)\.gz$#', $e, $matches)) { $stitch_files[$table][$matches[2]] = $e; if (true === $start_record || $matches[2] > $start_record) $start_record = $matches[2]; // Legacy scheme. The purpose of this is to prevent backups failing if one is in progress during an upgrade to a new version that implements the new scheme if ('r' !== $matches[1]) $can_use_primary_key = false; } } // Legacy file-naming scheme in use if (false === $can_use_primary_key && true !== $start_record) { $start_record = ($start_record + 100) * 1000; } if (true !== $bindump) { while (!is_array($start_record) && !is_wp_error($start_record)) { $start_record = $this->backup_table($table, $table_type, $start_record, $can_use_primary_key); if (is_integer($start_record) || is_array($start_record)) { $this->backup_db_close(); // Add one here in case no records were returned - don't want to over-write the previous file $use_record = is_array($start_record) ? (isset($start_record['next_record']) ? $start_record['next_record']+1 : false) : $start_record; if (!$can_use_primary_key) $use_record = (ceil($use_record/100000)-1) * 100; if (false !== $use_record) { // N.B. Renaming using the *next* record is intentional - it allows UD to know where to resume from. $rename_base = $table_file_prefix.'.tmp'.($can_use_primary_key ? 'r' : '').$use_record.'.gz'; rename($db_temp_file, $this->updraft_dir.'/'.$rename_base); $stitch_files[$table][$use_record] = $rename_base; } elseif (is_array($start_record) && 'view' == strtolower($table_type)) { $rename_base = $table_file_prefix.'-view.tmp.gz'; rename($db_temp_file, $this->updraft_dir.'/'.$rename_base); $stitch_files[$table][] = $rename_base; } UpdraftPlus_Job_Scheduler::something_useful_happened(); if (false === $this->backup_db_open($db_temp_file, true)) return false; } elseif (is_wp_error($start_record)) { $message = "Error (table=$table, type=$table_type) (".$start_record->get_error_code()."): ".$start_record->get_error_message(); $updraftplus->log($message); // If it's a view, then the problem isn't recoverable; but views don't contain actual data except in the definition, which is likely in code, so we should not consider this a fatal error $level = 'error'; if ('view' == strtolower($table_type) && 'table_details_error' == $start_record->get_error_code()) { $level = 'warning'; $this->stow("# $message\n"); } $updraftplus->log(__("Failed to backup database table:", 'updraftplus').' '.$start_record->get_error_message().' ('.$start_record->get_error_code().')', $level); } } } // If we got this far, then there were enough resources; the warning can be removed if (!empty($this->many_rows_warning)) $updraftplus->log_remove_warning('manyrows_'.$this->whichdb_suffix.$table); $this->backup_db_close(); if ($updraftplus->error_count() > $errors_at_table_start) { $updraftplus->log('Errors occurred during backing up the table; therefore the open file will be removed'); @unlink($db_temp_file); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } else { // Renaming the file indicates that writing to it finished rename($db_temp_file, $this->updraft_dir.'/'.$table_file_prefix.'.gz'); UpdraftPlus_Job_Scheduler::something_useful_happened(); $final_stitch_value = empty($stitch_files[$table]) ? 1 : max(array_keys($stitch_files[$table])) + 1; $stitch_files[$table][$final_stitch_value] = $table_file_prefix.'.gz'; $total_db_size = 0; // This is more verbose than it would be if we weren't supporting PHP 5.2 foreach ($stitch_files[$table] as $basename) { $total_db_size += filesize($this->updraft_dir.'/'.$basename); } $updraftplus->log("Table $table: finishing file(s) (".count($stitch_files[$table]).', '.round($total_db_size/1024, 1).' KB)', 'notice', false, false); } } else { $total_tables--; $updraftplus->log("Skipping table (lacks our prefix (".$this->table_prefix.")): $table"); if (empty($this->skipped_tables)) $this->skipped_tables = array(); // whichdb could be an int in which case to get the name of the database and the array key use the name from dbinfo $key = ('wp' === $whichdb) ? 'wp' : $dbinfo['name']; if (empty($this->skipped_tables[$key])) $this->skipped_tables[$key] = array(); $this->skipped_tables[$key][] = $table; } } if ('wp' == $whichdb) { if (!$found_options_table) { if ($is_multisite) { $updraftplus->log(__('The database backup has failed', 'updraftplus').' - '.__('no options or sitemeta table was found', 'updraftplus'), 'warning', 'optstablenotfound'); } else { $updraftplus->log(__('The database backup has failed', 'updraftplus').' - '.__('the options table was not found', 'updraftplus'), 'warning', 'optstablenotfound'); } $time_this_run = time()-$updraftplus->opened_log_time; if ($time_this_run > 2000) { // Have seen this happen; not sure how, but it was apparently deterministic; if the current process had been running for a long time, then apparently all database commands silently failed. // If we have been running that long, then the resumption may be far off; bring it closer UpdraftPlus_Job_Scheduler::reschedule(60); $updraftplus->log("Have been running very long, and it seems the database went away; scheduling a resumption and terminating for now"); UpdraftPlus_Job_Scheduler::record_still_alive(); die; } } else { $updraftplus->log_remove_warning('optstablenotfound'); } } if ($updraftplus->error_count() > $errors_at_all_tables_start) { $updraftplus->log('Errors occurred whilst backing up the tables; will cease and wait for resumption'); die; } // Race detection - with zip files now being resumable, these can more easily occur, with two running side-by-side $backup_final_file_name = $backup_file_base.'-db'.$this->whichdb_suffix.'.gz'; $time_now = time(); $time_mod = (int) @filemtime($backup_final_file_name);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if (file_exists($backup_final_file_name) && $time_mod>100 && ($time_now-$time_mod)<30) { UpdraftPlus_Job_Scheduler::terminate_due_to_activity($backup_final_file_name, $time_now, $time_mod); } if (file_exists($backup_final_file_name)) { $updraftplus->log("The final database file ($backup_final_file_name) exists, but was not modified within the last 30 seconds (time_mod=$time_mod, time_now=$time_now, diff=".($time_now-$time_mod)."). Thus we assume that another UpdraftPlus terminated; thus we will continue."); } // Finally, stitch the files together if (!function_exists('gzopen')) { $updraftplus->log("PHP function is disabled; abort expected: gzopen()"); } $decompress_mode = (defined('UPDRAFTPLUS_DB_STICH_DECOMPRESS') && UPDRAFTPLUS_DB_STICH_DECOMPRESS); if (false === $this->backup_db_open($backup_final_file_name, true)) return false; $this->backup_db_header(); // Re-open in plain binary append mode if (!$decompress_mode) { $this->backup_db_close(); if (false === $this->backup_db_open($backup_final_file_name, false, true)) return false; } // We delay the unlinking because if two runs go concurrently and fail to detect each other (should not happen, but there's no harm in assuming the detection failed) then that would lead to files missing from the db dump $unlink_files = array(); $sind = 1; // Happily they have the same syntax (as far as we need it) // Concatenating gz files produces a valid gz file. So, decompressing is not necessary. We retain the possibility for debugging and the possibility of broken implementations. $open_function = $decompress_mode ? 'gzopen' : 'fopen'; $fgets_function = $decompress_mode ? 'gzgets' : 'fgets'; $close_function = $decompress_mode ? 'gzclose' : 'fclose'; foreach ($stitch_files as $table => $table_stitch_files) { ksort($table_stitch_files); foreach ($table_stitch_files as $table_file) { $updraftplus->log("{$table_file} ($sind/$how_many_tables/$open_function): adding to final database dump"); if (filesize($this->updraft_dir.'/'.$table_file) < 27 && '.gz' == substr($table_file, -3, 3)) { // It's a null gzip file. Don't waste time on gzopen/gzgets/gzclose. This micro-optimisation was added after seeing a site with >3000 files that was running out of time (it could apparently process 30 files/second) $unlink_files[] = $this->updraft_dir.'/'.$table_file; } elseif (!$handle = call_user_func($open_function, $this->updraft_dir.'/'.$table_file, 'r')) { $updraftplus->log("Error: Failed to open database file for reading: {$table_file}"); $updraftplus->log(__("Failed to open database file for reading:", 'updraftplus').' '.$table_file, 'error'); $errors++; } else { while ($line = call_user_func($fgets_function, $handle, 65536)) { $this->stow($line); } call_user_func($close_function, $handle); $unlink_files[] = $this->updraft_dir.'/'.$table_file; } $sind++; // Came across a database with 7600 tables... adding them all took over 500 seconds; and so when the resumption started up, no activity was detected if (0 == $sind % 100) UpdraftPlus_Job_Scheduler::something_useful_happened(); } } // Re-open in gz append mode if (!$decompress_mode) { $this->backup_db_close(); if (false === $this->backup_db_open($backup_final_file_name, true, true)) return false; } // DB triggers if ($this->wpdb_obj->get_results("SHOW TRIGGERS")) { // N.B. DELIMITER is not a valid SQL command; you cannot pass it to the server. It has to be interpreted by the interpreter - e.g. /usr/bin/mysql, or UpdraftPlus, and used to interpret what follows. The effect of this is that using it means that some SQL clients will stumble; but, on the other hand, failure to use it means that others that don't have special support for CREATE TRIGGER may stumble, because they may feed incomplete statements to the SQL server. Since /usr/bin/mysql uses it, we choose to support it too (both reading and writing). // Whatever the delimiter is set to needs to be used in the DROP TRIGGER and CREATE TRIGGER commands in this section further down. $this->stow("DELIMITER ;;\n\n"); foreach ($all_tables as $ti) { $table = $ti['name']; if (!empty($this->skipped_tables)) { if ('wp' == $this->whichdb) { if (in_array($table, $this->skipped_tables['wp'])) continue; } elseif (isset($this->skipped_tables[$this->dbinfo['name']])) { if (in_array($table, $this->skipped_tables[$this->dbinfo['name']])) continue; } } $table_triggers = $this->wpdb_obj->get_results($wpdb->prepare("SHOW TRIGGERS LIKE %s", $table), ARRAY_A); if ($table_triggers) { $this->stow("\n\n# Triggers of ".UpdraftPlus_Manipulation_Functions::backquote($table)."\n\n"); foreach ($table_triggers as $trigger) { $trigger_name = $trigger['Trigger']; $trigger_time = $trigger['Timing']; $trigger_event = $trigger['Event']; $trigger_statement = $trigger['Statement']; // Since trigger name can include backquotes and trigger name is typically enclosed with backquotes as well, the backquote escaping for the trigger name can be done by adding a leading backquote $quoted_escaped_trigger_name = UpdraftPlus_Manipulation_Functions::backquote(str_replace('`', '``', $trigger_name)); $this->stow("DROP TRIGGER IF EXISTS $quoted_escaped_trigger_name;;\n"); $trigger_query = "CREATE TRIGGER $quoted_escaped_trigger_name $trigger_time $trigger_event ON ".UpdraftPlus_Manipulation_Functions::backquote($table)." FOR EACH ROW $trigger_statement;;"; $this->stow("$trigger_query\n\n"); } } } $this->stow("DELIMITER ;\n\n"); } // DB Stored Routines $stored_routines = UpdraftPlus_Database_Utility::get_stored_routines(); if (is_array($stored_routines) && !empty($stored_routines)) { $stored_routines_log = $inaccessible_routines = ''; $stored_routines_delimiter_printed = false; $updraftplus->log("Dumping routines for database {$this->dbinfo['name']}"); foreach ($stored_routines as $routine) { if (empty($routine['Create '.ucfirst(strtolower($routine['Type']))])) { // The value displayed for the Create Procedure or Create Function field is NULL if the WP database user has only CREATE ROUTINE, ALTER ROUTINE, and/or EXECUTE privileges. @see https://dev.mysql.com/doc/refman/8.0/en/show-create-procedure.html $inaccessible_routines = $inaccessible_routines ? $inaccessible_routines.', '.$routine['Name'] : $routine['Name']; continue; } $stored_routines_log = "Dumping routine: {$routine['Name']}"; if (!$stored_routines_delimiter_printed) { $this->stow("\n\n# Dumping routines for database ".UpdraftPlus_Manipulation_Functions::backquote($this->dbinfo['name'])."\n\n"); $this->stow("DELIMITER ;;\n\n"); $stored_routines_delimiter_printed = true; } $routine_name = $routine['Name']; // Since routine name can include backquotes and routine name is typically enclosed with backquotes as well, the backquote escaping for the routine name can be done by adding a leading backquote $quoted_escaped_routine_name = UpdraftPlus_Manipulation_Functions::backquote(str_replace('`', '``', $routine_name)); $this->stow("DROP {$routine['Type']} IF EXISTS $quoted_escaped_routine_name;;\n\n"); $this->stow($routine['Create '.ucfirst(strtolower($routine['Type']))]."\n\n;;\n\n"); $updraftplus->log($stored_routines_log." - (Successful)"); } if ($inaccessible_routines) { $updraftplus->log(__('Dumping routines: ', 'updraftplus') . "({$inaccessible_routines})" . " - (". __('Failed', 'updraftplus') . " - " . __("Your WordPress database user doesn't have sufficient privileges to read these stored routines.", 'updraftplus') . " " .__('To be able to backup the routines, you must be the user named as the routine DEFINER(s), have the SHOW_ROUTINE privilege (for MySQL 8.0.20+ users), have the SELECT privilege at the global level, or have the CREATE ROUTINE, ALTER ROUTINE, or EXECUTE privilege granted at a scope that includes the routines.', 'updraftplus'). ")", 'warning'); } if ($stored_routines_delimiter_printed) $this->stow("DELIMITER ;\n\n"); } elseif (is_wp_error($stored_routines)) { $updraftplus->log($stored_routines->get_error_message()); } $this->stow("/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;\n"); $this->stow("/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;\n"); $this->stow("/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;\n"); $this->stow("/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;\n"); $updraftplus->log($file_base.'-db'.$this->whichdb_suffix.'.gz: finished writing out complete database file ('.round(filesize($backup_final_file_name)/1024, 1).' KB)'); if (!$this->backup_db_close()) { $updraftplus->log('An error occurred whilst closing the final database file'); $updraftplus->log(__('An error occurred whilst closing the final database file', 'updraftplus'), 'error'); $errors++; } foreach ($unlink_files as $unlink_file) { @unlink($unlink_file);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } if ($errors > 0) return false; // We no longer encrypt here - because the operation can take long, we made it resumable and moved it to the upload loop $updraftplus->jobdata_set('jobstatus', 'dbcreated'.$this->whichdb_suffix); $checksums = $updraftplus->which_checksums(); $checksum_description = ''; foreach ($checksums as $checksum) { $cksum = hash_file($checksum, $backup_final_file_name); $updraftplus->jobdata_set($checksum.'-db'.(('wp' == $whichdb) ? '0' : $whichdb.'0'), $cksum); if ($checksum_description) $checksum_description .= ', '; $checksum_description .= "$checksum: $cksum"; } $updraftplus->log("Total database tables backed up: $total_tables (".basename($backup_final_file_name).", size: ".filesize($backup_final_file_name).", $checksum_description)"); return basename($backup_final_file_name); } /** * Log the number of expected rows (both to the backup log, and database backup file) * * @param String $table - table name * @param Integer $expected_rows - number of rows * @param Boolean $via_count - if the expected number comes via a SELECT COUNT() call * @param Boolean $log_in_backup - whether to log in the backup file (not just the backup log file) */ private function log_expected_rows($table, $expected_rows, $via_count = false, $log_in_backup = true) { global $updraftplus; $description = $via_count ? 'via COUNT' : 'approximate'; $updraftplus->log("Table $table: Total expected rows ($description): ".$expected_rows); if ($log_in_backup) $this->stow("# Approximate rows expected in table: $expected_rows\n"); if ($expected_rows > UPDRAFTPLUS_WARN_DB_ROWS) { $this->many_rows_warning = true; $updraftplus->log(sprintf(__("Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup.", 'updraftplus'), $table, $expected_rows).' '.__('If not, you will need to either remove data from this table, or contact your hosting company to request more resources.', 'updraftplus'), 'warning', 'manyrows_'.$this->whichdb_suffix.$table); } } /** * This function will return a SQL WHERE clause to exclude updraft jobdata * * @param array $where - an array of where clauses to add to * @param string $table - the table we want to add a where clause for * * @return array - returns an array of where clauses for the table */ public function backup_exclude_jobdata($where, $table) { // Don't include the job data for any backups - so that when the database is restored, it doesn't continue an apparently incomplete backup global $updraftplus; $table_prefix = $updraftplus->get_table_prefix(false); // or we can just use $this->table_prefix_raw ?? if ('wp' == $this->whichdb && (!empty($table_prefix) && strtolower($table_prefix.'sitemeta') == strtolower($table))) { $where[] = 'meta_key NOT LIKE "updraft_jobdata_%"'; } elseif ('wp' == $this->whichdb && (!empty($table_prefix) && strtolower($table_prefix.'options') == strtolower($table))) { // These might look similar, but the quotes are different if ('win' == strtolower(substr(PHP_OS, 0, 3))) { $updraft_jobdata = "'updraft_jobdata_%'"; $site_transient_update = "'_site_transient_update_%'"; } else { $updraft_jobdata = '"updraft_jobdata_%"'; $site_transient_update = '"_site_transient_update_%"'; } $where[] = 'option_name NOT LIKE '.$updraft_jobdata.' AND option_name NOT LIKE '.$site_transient_update.''; } return $where; } /** * Produce a dump of the table using a mysqldump binary * * @param String $potsql - the path to the mysqldump binary * @param String $table_name - the name of the table being dumped * * @return Boolean - success status */ private function backup_table_bindump($potsql, $table_name) { $microtime = microtime(true); global $updraftplus, $wpdb; // Deal with Windows/old MySQL setups with erroneous table prefixes differing in case // Can't get binary mysqldump to make this transformation // $dump_as_table = ($this->duplicate_tables_exist == false && stripos($table, $this->table_prefix) === 0 && strpos($table, $this->table_prefix) !== 0) ? $this->table_prefix.substr($table, strlen($this->table_prefix)) : $table; $pfile = md5(time().rand()).'.tmp'; file_put_contents($this->updraft_dir.'/'.$pfile, "[mysqldump]\npassword=\"".addslashes($this->dbinfo['pass'])."\"\n"); $where_array = apply_filters('updraftplus_backup_table_sql_where', array(), $table_name, $this); if ('win' === strtolower(substr(PHP_OS, 0, 3))) { // On Windows, the PHP escapeshellarg() replaces % char with white space, so we change the % char to [percent_sign] but change it back later after escapeshellarg finish processing it $where_array = str_replace('%', '[percent_sign]', $where_array); } $where = ''; if (!empty($where_array) && is_array($where_array)) { // N.B. Don't add a WHERE prefix here; most versions of mysqldump silently strip it out, but one was encountered that didn't. $first_loop = true; foreach ($where_array as $condition) { if (!$first_loop) $where .= " AND "; $where .= $condition; $first_loop = false; } } // Note: escapeshellarg() adds quotes around the string if ($where) $where = "--where=".escapeshellarg($where); if ('' !== $where && 'win' === strtolower(substr(PHP_OS, 0, 3))) { // change the [percent_sign] back to % char $where = str_replace('[percent_sign]', '%', $where); } if (strtolower(substr(PHP_OS, 0, 3)) == 'win') { $exec = "cd ".escapeshellarg(str_replace('/', '\\', $this->updraft_dir))." & "; } else { $exec = "cd ".escapeshellarg($this->updraft_dir)."; "; } // Allow --max_allowed_packet to be configured via constant. Experience has shown some customers with complex CMS or pagebuilder setups can have very large postmeta entries. $msqld_max_allowed_packet = (defined('UPDRAFTPLUS_MYSQLDUMP_MAX_ALLOWED_PACKET') && (is_int(UPDRAFTPLUS_MYSQLDUMP_MAX_ALLOWED_PACKET) || is_string(UPDRAFTPLUS_MYSQLDUMP_MAX_ALLOWED_PACKET))) ? UPDRAFTPLUS_MYSQLDUMP_MAX_ALLOWED_PACKET : '12M'; $exec .= "$potsql --defaults-file=$pfile $where --max-allowed-packet=$msqld_max_allowed_packet --quote-names --add-drop-table"; static $mysql_version = null; if (null === $mysql_version) { $mysql_version = $wpdb->get_var('SELECT VERSION()'); if ('' == $mysql_version) $mysql_version = $wpdb->db_version(); } if ($mysql_version && version_compare($mysql_version, '5.1', '>=')) { $exec .= " --no-tablespaces"; } $exec .= " --skip-comments --skip-set-charset --allow-keywords --dump-date --extended-insert --user=".escapeshellarg($this->dbinfo['user'])." "; $host = $this->dbinfo['host']; if (preg_match('#^(.*):(\d+)$#', $host, $matches)) { // The escapeshellarg() on $matches[2] is only to avoid tripping static analysis tools $exec .= "--host=".escapeshellarg($matches[1])." --port=".escapeshellarg($matches[2])." "; } elseif (preg_match('#^(.*):(.*)$#', $host, $matches) && file_exists($matches[2])) { $exec .= "--host=".escapeshellarg($matches[1])." --socket=".escapeshellarg($matches[2])." "; } else { $exec .= "--host=".escapeshellarg($host)." "; } $exec = apply_filters('updraftplus_mysqldump_arguments', $exec, $table_name, $potsql); $exec .= $this->dbinfo['name']." ".escapeshellarg($table_name); $ret = false; $any_output = false; $gtid_found = false; $writes = 0; $write_bytes = 0; $handle = (function_exists('popen') && function_exists('pclose')) ? popen($exec, 'r') : false; if ($handle) { while (!feof($handle)) { $w = fgets($handle, 1048576); if (is_string($w) && $w) { if (preg_match('/^SET @@GLOBAL.GTID_PURGED/i', $w)) $gtid_found = true; if ($gtid_found) { if (false !== strpos($w, ';')) $gtid_found = false; continue; } $this->stow($w); $writes++; $write_bytes += strlen($w); $any_output = true; } } $ret = pclose($handle); // The manual page for pclose() claims that only -1 indicates an error, but this is untrue if (0 != $ret) { $updraftplus->log("Binary mysqldump: error (code: $ret)"); // Keep counter of failures? Change value of binsqldump? $ret = false; } else { if ($any_output) { $updraftplus->log("Table $table_name: binary mysqldump finished (writes: $writes, bytes $write_bytes, return code $ret) in ".sprintf("%.02f", max(microtime(true)-$microtime, 0.00001))." seconds"); $ret = true; } } } else { $updraftplus->log("Binary mysqldump error: bindump popen failed"); } // Clean temporary files @unlink($this->updraft_dir.'/'.$pfile);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. return $ret; } /** * Write out the initial backup information for a table to the currently open file * * @param String $table - Full name of database table to backup * @param String $dump_as_table - Table name to use when writing out * @param String $table_type - Table type - 'VIEW' is supported; otherwise it is treated as an ordinary table * @param Array $table_structure - Table structure as returned by a DESCRIBE command */ private function write_table_backup_beginning($table, $dump_as_table, $table_type, $table_structure) { $this->stow("\n# Delete any existing table ".UpdraftPlus_Manipulation_Functions::backquote($table)."\n\nDROP TABLE IF EXISTS " . UpdraftPlus_Manipulation_Functions::backquote($dump_as_table).";\n"); if ('VIEW' == $table_type) { $this->stow("DROP VIEW IF EXISTS " . UpdraftPlus_Manipulation_Functions::backquote($dump_as_table) . ";\n"); } $description = ('VIEW' == $table_type) ? 'view' : 'table'; $this->stow("\n# Table structure of $description ".UpdraftPlus_Manipulation_Functions::backquote($table)."\n\n"); $create_table = $this->wpdb_obj->get_results("SHOW CREATE TABLE ".UpdraftPlus_Manipulation_Functions::backquote($table), ARRAY_N); if (false === $create_table) { $this->stow("#\n# Error with SHOW CREATE TABLE for $table\n#\n"); } $create_line = UpdraftPlus_Manipulation_Functions::str_lreplace('TYPE=', 'ENGINE=', $create_table[0][1]); // Remove PAGE_CHECKSUM parameter from MyISAM - was internal, undocumented, later removed (so causes errors on import) if (preg_match('/ENGINE=([^\s;]+)/', $create_line, $eng_match)) { $engine = $eng_match[1]; if ('myisam' == strtolower($engine)) { $create_line = preg_replace('/PAGE_CHECKSUM=\d\s?/', '', $create_line, 1); } } if ($dump_as_table !== $table) $create_line = UpdraftPlus_Manipulation_Functions::str_replace_once($table, $dump_as_table, $create_line); $this->stow($create_line.' ;'); if (false === $table_structure) { $this->stow("#\n# Error getting $description structure of $table\n#\n"); } // Add a comment preceding the beginning of the data $this->stow("\n\n# ".sprintf("Data contents of $description %s", UpdraftPlus_Manipulation_Functions::backquote($table))."\n\n"); } /** * Suggest a beginning value for how many rows to fetch in each SELECT statement (before taking into account resumptions) * * @param String $table - the full table name * * @return Integer */ private function get_rows_on_first_fetch($table) { // In future, we could run over the table definition; if it is all non-massive defined lengths, we could base a calculation on that. if ($this->table_prefix_raw.'term_relationships' == $table) { // This table is known to have very small data lengths $rows = 100000; } elseif (preg_match('/meta$/i', $table)) { // Meta-data rows tend to be short *on average*. 10MB / 4000 rows = 2.6KB/row, so this is still quite conservative. $rows = 4000; } else { // The very conservative default $rows = 1000; } return $rows; } /** * Suggest how many rows to fetch in each SELECT statement * * @param String $table - the table being fetched * @param Boolean $allow_further_reductions - whether to enable a second level of reductions (i.e. even less rows) * @param Boolean $is_first_fetch_for_table - whether this is the first fetch on this table * @param Integer|Boolean $expected_rows - if an integer, an estimate of the number of rows * @param Boolean $expected_via_count - if $expected_rows is an integer, then this indicates whether the estimate was made via a SELECT COUNT() statement * * @return Integer */ private function number_of_rows_to_fetch($table, $allow_further_reductions, $is_first_fetch_for_table, $expected_rows = false, $expected_via_count = false) { global $updraftplus; // This used to be fixed at 500; but we (after a long time) saw a case that looked like an out-of-memory even at this level. Now that we have implemented resumptions, the risk of timeouts is much lower (we just need to process enough rows). // October 2020: added further reductions // Listed in increasing order due to the handling below. At the end it gets quite drastic. Note, though, that currently we don't store this in the job-data. // A future improvement could, when things get drastic, grab and log data on the size of what is required, so that we can respond more dynamically. The strategy currently here will run out of road if memory falls short multiple times. See: https://stackoverflow.com/questions/4524019/how-to-get-the-byte-size-of-resultset-in-an-sql-query $fetch_rows_reductions = array(500, 250, 200, 100); $default_on_first_fetch = $this->get_rows_on_first_fetch($table); $known_bigger_than_table = (!is_bool($expected_rows) && $expected_rows && $expected_via_count && $default_on_first_fetch > 2 * $expected_rows); if ($known_bigger_than_table) $allow_further_reductions = true; if ($allow_further_reductions) { // If we're relying on LIMIT with offsets, then we have to be mindful of how that performs $fetch_rows_reductions = array_merge($fetch_rows_reductions, array(50, 20, 5)); } // Remove any that are far out of range if ($known_bigger_than_table) { foreach ($fetch_rows_reductions as $k => $reduce_to) { if ($reduce_to > $expected_rows * 2 && count($fetch_rows_reductions) > 2) { unset($fetch_rows_reductions[$k]); } } } // If this is not the first fetch on a table, then get what was stored last time we set it (if we ever did). On the first fetch, reset back to the starting value (we presume problems are table-specific). // This means that the same value will persist whilst the table is being backed up, both during the current resumption, and subsequent ones $fetch_rows = $is_first_fetch_for_table ? $default_on_first_fetch : $updraftplus->jobdata_get('fetch_rows', $default_on_first_fetch); $fetch_rows_at_start = $fetch_rows; $resumptions_since_last_successful = $updraftplus->current_resumption - $updraftplus->last_successful_resumption; // Do we need to reduce the number of rows we attempt to fetch? // If something useful has happened on this run, then we don't try any reductions (we save them for a resumption after one on which nothing useful happened) if ($known_bigger_than_table || (!$updraftplus->something_useful_happened && !empty($updraftplus->current_resumption) && $resumptions_since_last_successful > 1)) { $break_after = $is_first_fetch_for_table ? max($resumptions_since_last_successful - 1, 1) : 1; foreach ($fetch_rows_reductions as $reduce_to) { if ($fetch_rows > $reduce_to) { // Go down one level $fetch_rows = $reduce_to; $break_after--; if ($break_after < 1) break; } } $log_start = $updraftplus->current_resumption ? "Last successful resumption was $resumptions_since_last_successful runs ago" : "Table is relatively small"; $updraftplus->log("$log_start; fetch_rows will thus be: $fetch_rows (allow_further_reductions=$allow_further_reductions, is_first_fetch=$is_first_fetch_for_table, known_bigger_than_table=$known_bigger_than_table)"); } // If it has changed, then preserve it in the job for the next resumption (of this table) if ($fetch_rows_at_start !== $fetch_rows || $is_first_fetch_for_table) $updraftplus->jobdata_set('fetch_rows', $fetch_rows); return apply_filters('updraftplus_number_of_rows_to_fetch', $fetch_rows, $table, $allow_further_reductions, $is_first_fetch_for_table, $expected_rows, $expected_via_count); } /** * Return a list of primary keys (N.B. the method should not be called unless the caller already knows that the table has a single/simple primary key) for rows that have "over-sized" data. * Currently this only examines the "posts" table and any other table with a longtext type, which are the primary causes of problems. If others are revealed in future, it can be generalised (e.g. examine the whole definition/all cells). * * @param String $table - the full table name * @param Array $structure - the table structure, as from WPDB::get_results("DESCRIBE ..."); * @param String $primary_key - the primary key to use; required if $structure is set (slightly redundant, since it can be derived from structure) * * @return Array - list of IDs */ private function get_oversized_rows($table, $structure = array(), $primary_key = '') { if ($this->table_prefix_raw.'posts' != $table) { if (empty($structure) || '' === $primary_key) return array(); foreach ($structure as $item) { if ('' !== $item->Field && 'longtext' === $item->Type) { $use_field = $item->Field; } } } else { $primary_key = 'id'; $use_field = 'post_content'; } if (!isset($use_field)) return array(); global $updraftplus; // Look for the jobdata_delete() call elsewhere in this class - the key name needs to match $jobdata_key = 'oversized_rows_'.$table; $oversized_list = $updraftplus->jobdata_get($jobdata_key); if (is_array($oversized_list)) return $oversized_list; $oversized_list = array(); // Allow over-ride via a constant $oversized_row_size = defined('UPDRAFTPLUS_OVERSIZED_ROW_SIZE') ? UPDRAFTPLUS_OVERSIZED_ROW_SIZE : 2048576; $sql = $this->wpdb_obj->prepare("SELECT ".UpdraftPlus_Manipulation_Functions::backquote($primary_key)." FROM ".UpdraftPlus_Manipulation_Functions::backquote($table)." WHERE LENGTH(".UpdraftPlus_Manipulation_Functions::backquote($use_field).") > %d ORDER BY ".UpdraftPlus_Manipulation_Functions::backquote($primary_key)." ASC", $oversized_row_size); $oversized_rows = $this->wpdb_obj->get_col($sql); // Upon an error, just return an empty list if (!is_array($oversized_rows)) return array(); $updraftplus->jobdata_set($jobdata_key, $oversized_rows); return $oversized_rows; } /** * Original version taken partially from phpMyAdmin and partially from Alain Wolf, Zurich - Switzerland to use the WordPress $wpdb object * Website: http://restkultur.ch/personal/wolf/scripts/db_backup/ * Modified by Scott Merrill (http://www.skippy.net/) * Subsequently heavily improved and modified * * This method should be called in a loop for a complete table backup (see the information for the returned parameter). The method may implement whatever strategy it likes for deciding when to return (the assumption is that when it does return with some results, the caller should register that something useful happened). * * @param String $table - Full name of database table to backup * @param String $table_type - Table type - 'VIEW' is supported; otherwise it is treated as an ordinary table * @param Integer|Boolean $start_record - Specify the starting record, or true to start at the beginning. Our internal page size is fixed at 1000 (though within that we might actually query in smaller batches). * @param Boolean $can_use_primary_key - Whether it is allowed to perform quicker SELECTS based on the primary key. The intended use case for false is to support backups running during a version upgrade. N.B. This "can" is not absolute; there may be other constraints dealt with within this method. * * @return Integer|Array|WP_Error - a WP_Error to indicate an error; an array indicates that it finished (if it includes 'next_record' that means it finished via producing something); an integer to indicate the next page the case that there are more to do. */ private function backup_table($table, $table_type = 'BASE TABLE', $start_record = true, $can_use_primary_key = true) { $process_pages = 100; // Preserve the passed-in value $original_start_record = $start_record; global $updraftplus; $microtime = microtime(true); $total_rows = 0; // Deal with Windows/old MySQL setups with erroneous table prefixes differing in case $dump_as_table = (false == $this->duplicate_tables_exist && 0 === stripos($table, $this->table_prefix) && 0 !== strpos($table, $this->table_prefix)) ? $this->table_prefix.substr($table, strlen($this->table_prefix)) : $table; $table_structure = $this->wpdb_obj->get_results("DESCRIBE ".UpdraftPlus_Manipulation_Functions::backquote($table)); if (!$table_structure) { // $updraftplus->log(__('Error getting table details', 'updraftplus') . ": $table", 'error'); $error_message = ''; if ($this->wpdb_obj->last_error) $error_message .= ' ('.$this->wpdb_obj->last_error.')'; return new WP_Error('table_details_error', $error_message); } // If at the beginning of the dump for a table, then add the DROP and CREATE statements if (true === $start_record) { $this->write_table_backup_beginning($table, $dump_as_table, $table_type, $table_structure); } // Some tables have optional data, and should be skipped if they do not work $table_sans_prefix = substr($table, strlen($this->table_prefix_raw)); $data_optional_tables = ('wp' == $this->whichdb) ? apply_filters('updraftplus_data_optional_tables', explode(',', UPDRAFTPLUS_DATA_OPTIONAL_TABLES)) : array(); if (in_array($table_sans_prefix, $data_optional_tables)) { if (!$updraftplus->something_useful_happened && !empty($updraftplus->current_resumption) && ($updraftplus->current_resumption - $updraftplus->last_successful_resumption > 2)) { $updraftplus->log("Table $table: Data skipped (previous attempts failed, and table is marked as non-essential)"); return array(); } } $table_data = array(); if ('VIEW' != $table_type) { $fields = array(); $defs = array(); $integer_fields = array(); $binary_fields = array(); $bit_fields = array(); $bit_field_exists = false; // false means "not yet set"; a string means what it was set to; null means that there are multiple (and so not useful to us). If it is not a string, then $primary_key_type is invalid and should not be used. $primary_key = false; $primary_key_type = false; // $table_structure was from "DESCRIBE $table" foreach ($table_structure as $struct) { if (isset($struct->Key) && 'PRI' == $struct->Key && '' != $struct->Field) { $primary_key = (false === $primary_key) ? $struct->Field : null; $primary_key_type = $struct->Type; } if ((0 === strpos($struct->Type, 'tinyint')) || (0 === strpos(strtolower($struct->Type), 'smallint')) || (0 === strpos(strtolower($struct->Type), 'mediumint')) || (0 === strpos(strtolower($struct->Type), 'int')) || (0 === strpos(strtolower($struct->Type), 'bigint')) ) { $defs[strtolower($struct->Field)] = (null === $struct->Default) ? 'NULL' : $struct->Default; $integer_fields[strtolower($struct->Field)] = true; } if ((0 === strpos(strtolower($struct->Type), 'binary')) || (0 === strpos(strtolower($struct->Type), 'varbinary')) || (0 === strpos(strtolower($struct->Type), 'tinyblob')) || (0 === strpos(strtolower($struct->Type), 'mediumblob')) || (0 === strpos(strtolower($struct->Type), 'blob')) || (0 === strpos(strtolower($struct->Type), 'longblob'))) { $binary_fields[strtolower($struct->Field)] = true; } if (preg_match('/^bit(?:\(([0-9]+)\))?$/i', trim($struct->Type), $matches)) { if (!$bit_field_exists) $bit_field_exists = true; $bit_fields[strtolower($struct->Field)] = !empty($matches[1]) ? max(1, (int) $matches[1]) : 1; // the reason why if bit fields are found then the fields need to be cast into binary type is that if mysqli_query function is being used, mysql will convert the bit field value to a decimal number and represent it in a string format whereas, if mysql_query function is being used, mysql will not convert it to a decimal number but instead will keep it retained as it is $struct->Field = "CAST(".UpdraftPlus_Manipulation_Functions::backquote(str_replace('`', '``', $struct->Field))." AS BINARY) AS ".UpdraftPlus_Manipulation_Functions::backquote(str_replace('`', '``', $struct->Field)); $fields[] = $struct->Field; } else { $fields[] = UpdraftPlus_Manipulation_Functions::backquote(str_replace('`', '``', $struct->Field)); } } $expected_via_count = false; // N.B. At this stage this is for optimisation, mainly targets what is used on the core WP tables (bigint(20)); a value can be relied upon, but false is not definitive. N.B. https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/numeric-type-syntax.html (retrieved Aug 2021): "As of MySQL 8.0.17, the display width attribute is deprecated for integer data types; you should expect support for it to be removed in a future version of MySQL." MySQL 8.0.20 is not returning it. $use_primary_key = false; if ($can_use_primary_key && is_string($primary_key) && preg_match('#^(small|medium|big)?int(\(| |$)#i', $primary_key_type)) { $use_primary_key = true; // We don't bother re-counting if it's likely to be so large that we're not going to do anything with the result if (is_bool($this->expected_rows) || $this->expected_rows < 1000) { $expected_rows = $this->wpdb_obj->get_var('SELECT COUNT('.UpdraftPlus_Manipulation_Functions::backquote($primary_key).') FROM '.UpdraftPlus_Manipulation_Functions::backquote($table)); if (!is_bool($expected_rows)) { $this->expected_rows = $expected_rows; $expected_via_count = true; } } $oversized_rows = $this->get_oversized_rows($table, $table_structure, $primary_key); if (preg_match('# unsigned$#i', $primary_key_type)) { if (true === $start_record) $start_record = -1; } else { if (true === $start_record) { $min_value = $this->wpdb_obj->get_var('SELECT MIN('.UpdraftPlus_Manipulation_Functions::backquote($primary_key).') FROM '.UpdraftPlus_Manipulation_Functions::backquote($table)); $start_record = (is_numeric($min_value) && $min_value) ? (int) $min_value - 1 : -1; } } } if (!is_bool($this->expected_rows)) { $log_expected_records = (true === $original_start_record); $this->log_expected_rows($table, $this->expected_rows, $expected_via_count, $log_expected_records); } $search = array("\x00", "\x0a", "\x0d", "\x1a"); $replace = array('\0', '\n', '\r', '\Z'); $where_array = apply_filters('updraftplus_backup_table_sql_where', array(), $table, $this); $where = ''; if (!empty($where_array) && is_array($where_array)) { $where = 'WHERE '.implode(' AND ', $where_array); } // Experimentation here shows that on large tables (we tested with 180,000 rows) on MyISAM, 1000 makes the table dump out 3x faster than the previous value of 100. After that, the benefit diminishes (increasing to 4000 only saved another 12%) $fetch_rows = $this->number_of_rows_to_fetch($table, $use_primary_key || $start_record < 500000, true === $original_start_record, $this->expected_rows, $expected_via_count); if (!is_bool($this->expected_rows)) $this->expected_rows = true; $original_fetch_rows = $fetch_rows; $select = $bit_field_exists ? implode(', ', $fields) : '*'; $enough_for_now = false; $began_writing_at = time(); $enough_data_after = 104857600; $enough_time_after = ($fetch_rows > 250) ? 15 : 9; // Loop which retrieves data do { if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. // Reset back to that which has constructed before the loop began $final_where = $where; if ($use_primary_key) { // The point of this is to leverage the indexing on the private key to make the SELECT much faster than index-less paging $final_where = $where . ($where ? ' AND ' : 'WHERE '); // If it's -1, then we avoid mentioning a negative value, as the value may be unsigned $final_where .= UpdraftPlus_Manipulation_Functions::backquote($primary_key).((-1 === $start_record) ? ' >= 0' : " > $start_record"); $oversized_last_row_id = false; // Remove ones we've gone past foreach ($oversized_rows as $k => $row_id) { if ($start_record >= $row_id) { unset($oversized_rows[$k]); } else { $oversized_last_row_id = $row_id; // At this point we are only willing to fetch a single over-sized row. If this ever changes, we'll need to also keep track of their length. break; } } // Number the keys again from zero $oversized_rows = array_values($oversized_rows); if ($oversized_last_row_id) { $final_where .= " AND ". UpdraftPlus_Manipulation_Functions::backquote($primary_key)." <= $oversized_last_row_id"; } $limit_statement = sprintf('LIMIT %d', $fetch_rows); $order_by = 'ORDER BY '.UpdraftPlus_Manipulation_Functions::backquote($primary_key).' ASC'; } else { $order_by = ''; if (true === $start_record) $start_record = 0; $limit_statement = sprintf('LIMIT %d, %d', $start_record, $fetch_rows); } // $this->wpdb_obj->prepare() not needed (will throw a notice) as there are no parameters (all parts are already sanitised or cast to known-safe types if not sanitised here) $select_sql = "SELECT $select FROM ".UpdraftPlus_Manipulation_Functions::backquote($table)." $final_where $order_by $limit_statement"; if (defined('UPDRAFTPLUS_LOG_BACKUP_SELECTS') && UPDRAFTPLUS_LOG_BACKUP_SELECTS) $updraftplus->log($select_sql); // Allow the data to be filtered (e.g. anonymisation) $table_data = apply_filters('updraftplus_backup_table_results', $this->wpdb_obj->get_results($select_sql, ARRAY_A), $table, $this->table_prefix, $this->whichdb); if (null === $table_data) { $updraftplus->log("Database fetch error (null returned) when running: $select_sql"); } $oversized_changes = false; if (!$table_data) { // Nothing was found - not even the expected over-sized row; this means it was deleted - so don't try to use a limitation based on it again, or we may get an infinite loop. if (isset($oversized_last_row_id) && false !== $oversized_last_row_id) { if (false !== ($key = array_search($oversized_last_row_id, $oversized_rows))) { unset($oversized_rows[$key]); $oversized_changes = true; } } if ($oversized_changes) $updraftplus->jobdata_set('oversized_rows_'.$table, $oversized_rows); continue; } $entries = 'INSERT INTO '.UpdraftPlus_Manipulation_Functions::backquote($dump_as_table).' VALUES '; // \x08\\x09, not required $this_entry = ''; foreach ($table_data as $row) { $total_rows++; if ($this_entry) $this_entry .= ",\n "; $this_entry .= '('; $key_count = 0; foreach ($row as $key => $value) { if ($key_count) $this_entry .= ', '; $key_count++; if ($use_primary_key && strtolower($primary_key) == strtolower($key) && $value > $start_record) { $start_record = $value; foreach ($oversized_rows as $k => $row_id) { if ($start_record >= $row_id) { unset($oversized_rows[$k]); } else { break; } } } if (isset($integer_fields[strtolower($key)])) { // make sure there are no blank spots in the insert syntax, // yet try to avoid quotation marks around integers $value = (null === $value || '' === $value) ? $defs[strtolower($key)] : $value; $value = ('' === $value) ? "''" : $value; $this_entry .= $value; } elseif (isset($binary_fields[strtolower($key)])) { if (null === $value) { $this_entry .= 'NULL'; } elseif ('' === $value) { $this_entry .= "''"; } else { $this_entry .= "0x" . bin2hex(str_repeat("0", floor(strspn($value, "0") / 4)).$value); } } elseif (isset($bit_fields[strtolower($key)])) { if (null === $value) { $this_entry .= 'NULL'; } else { mbstring_binary_safe_encoding(); $val_len = is_string($value) ? strlen($value) : 0; reset_mbstring_encoding(); $hex = ''; for ($i=0; $i<$val_len; $i++) { $hex .= sprintf('%02X', ord($value[$i])); } $this_entry .= "b'".str_pad($this->hex2bin($hex), $bit_fields[strtolower($key)], '0', STR_PAD_LEFT)."'"; } } else { $this_entry .= (null === $value) ? 'NULL' : "'" . str_replace($search, $replace, str_replace('\'', '\\\'', str_replace('\\', '\\\\', $value))) . "'"; } } $this_entry .= ')'; // Flush every 512KB if (strlen($this_entry) > 524288) { $this_entry .= ';'; if (strlen($this_entry) > 10485760) { // This is an attempt to prevent avoidable duplication of long strings in-memory, at the cost of one extra write $this->stow(" \n".$entries); $this->stow($this_entry); } else { $this->stow(" \n".$entries.$this_entry); } $this_entry = ''; // Potentially indicate that enough has been done to loop if ($this->db_current_raw_bytes > $enough_data_after || time() - $began_writing_at > $enough_time_after) { $enough_for_now = true; } } } if ($this_entry) { $this_entry .= ';'; if (strlen($this_entry) > 10485760) { // This is an attempt to prevent avoidable duplication of long strings in-memory, at the cost of one extra write $this->stow(" \n".$entries); $this->stow($this_entry); } else { $this->stow(" \n".$entries.$this_entry); } } // Increment this before any potential changes to $fetch_rows if (!$use_primary_key) { $start_record += $fetch_rows; } // Potentially fetch more rows at once, if performance has been good on a sufficient number of rows // However - testing indicates that this makes very little difference to overall performance; MySQL's performance scales linearly with the number of rows requested. So optimisations here are unlikely to be worthwhile. (Probably better to remove LIMIT and ORDER BY entirely on tables that look small enough to fit into memory in one go) if (!$enough_for_now && $total_rows > 0 && $fetch_rows >= $original_fetch_rows && $fetch_rows < $original_fetch_rows * 8 && $this->db_current_raw_bytes > 10000 && $total_rows > 5000) { $bytes_per_row = $this->db_current_raw_bytes / $total_rows; // Increase the numbers of rows fetched if we still expect it to be less than 5MB, and the rate is acceptable if (2 * $fetch_rows * $bytes_per_row < 5242880) { // N.B. This does not persist across resumptions $fetch_rows = $fetch_rows * 2; $process_pages = $process_pages / 2; } } if ($process_pages > 0) $process_pages--; // The condition involving count($oversized_rows) is for when rows that were in oversized_rows got deleted before being fetched; the "ID < (row)" condition could result in no data being returned, even though the table isn't finished } while (!$enough_for_now && (count($table_data) > 0 || (isset($oversized_rows) && count($oversized_rows) > 0)) && (-1 == $process_pages || $process_pages > 0)); } $fetch_time = max(microtime(true)-$microtime, 0.00001); $updraftplus->log("Table $table: Rows added in this batch (next record: $start_record): $total_rows (uncompressed bytes in this segment=".$this->db_current_raw_bytes.") in ".sprintf('%.02f', $fetch_time).' seconds'); // If all data has been fetched, then write out the closing comment if (-1 == $process_pages || 0 == count($table_data)) { $this->stow("\n# End of data contents of table ".UpdraftPlus_Manipulation_Functions::backquote($table)."\n\n"); // Keep the keyname here in sync with what is in self::get_oversized_rows() $updraftplus->jobdata_delete('oversized_rows_'.$table); return is_numeric($start_record) ? array('next_record' => (int) $start_record) : array(); } return is_numeric($start_record) ? (int) $start_record : $start_record; } /** * Convert hexadecimal (base16) number into binary (base2) and no need to worry about the platform-dependent of 32bit/64bit size limitation * * @param String $hex Hexadecimal number * @return String a base2 format of the given hexadecimal number */ public function hex2bin($hex) { $table = array( '0' => '0000', '1' => '0001', '2' => '0010', '3' => '0011', '4' => '0100', '5' => '0101', '6' => '0110', '7' => '0111', '8' => '1000', '9' => '1001', 'a' => '1010', 'b' => '1011', 'c' => '1100', 'd' => '1101', 'e' => '1110', 'f' => '1111' ); $bin = ''; if (!preg_match('/^[0-9a-f]+$/i', $hex)) return ''; for ($i = 0; $i < strlen($hex); $i++) { $bin .= $table[strtolower(substr($hex, $i, 1))]; } return $bin; } /** * Encrypts the file if the option is set; returns the basename of the file (according to whether it was encrypted or not) * * @param String $file - file to encrypt * * @return array */ public function encrypt_file($file) { global $updraftplus; $encryption = $updraftplus->get_job_option('updraft_encryptionphrase'); if (!is_string($encryption)) $encryption = ''; if (strlen($encryption) > 0) { $updraftplus->log("Attempting to encrypt backup file"); try { $result = apply_filters('updraft_encrypt_file', null, $file, $encryption, $this->whichdb, $this->whichdb_suffix); } catch (Exception $e) { $log_message = 'Exception ('.get_class($e).') occurred during encryption: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); // @codingStandardsIgnoreLine $log_message .= ' Backtrace: '.str_replace(array(ABSPATH, "\n"), array('', ', '), $e->getTraceAsString()); $updraftplus->log($log_message); $updraftplus->log(sprintf(__('A PHP exception (%s) has occurred: %s', 'updraftplus'), get_class($e), $e->getMessage()), 'error'); die(); // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred during encryption. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); // @codingStandardsIgnoreLine $log_message .= ' Backtrace: '.str_replace(array(ABSPATH, "\n"), array('', ', '), $e->getTraceAsString()); $updraftplus->log($log_message); $updraftplus->log(sprintf(__('A PHP fatal error (%s) has occurred: %s', 'updraftplus'), get_class($e), $e->getMessage()), 'error'); die(); } if (null === $result) return basename($file); return $result; } else { return basename($file); } } /** * Close the database file currently being written * * @return Boolean */ private function backup_db_close() { return $this->dbhandle_isgz ? gzclose($this->dbhandle) : fclose($this->dbhandle); } /** * Open a file, store its file handle, and reset the class variable db_current_raw_bytes back to zero. * * @param String $file Full path to the file to open * @param Boolean $allow_gz Use gzopen() if available, instead of fopen() * @param Boolean $append Use append mode for writing * * @return Resource|Boolean - the opened file handle, or false for an error */ public function backup_db_open($file, $allow_gz = true, $append = false) { $mode = $append ? 'ab' : 'w'; if ($allow_gz && function_exists('gzopen')) { $this->dbhandle = gzopen($file, $mode); $this->dbhandle_isgz = true; } else { $this->dbhandle = fopen($file, $mode); $this->dbhandle_isgz = false; } if (false === $this->dbhandle) { global $updraftplus; $updraftplus->log("ERROR: $file: Could not open the backup file for writing (mode: $mode)"); $updraftplus->log($file.": ".__("Could not open the backup file for writing", 'updraftplus'), 'error'); } $this->db_current_raw_bytes = 0; return $this->dbhandle; } /** * Adds a line to the database backup * * @param String $write_line - the line to write * * @return Integer|Boolean - the number of octets written, or false for a failure (as returned by gzwrite() / fwrite) */ private function stow($write_line) { if ('' === $write_line) return 0; $write_function = $this->dbhandle_isgz ? 'gzwrite' : 'fwrite'; if (false == ($ret = call_user_func($write_function, $this->dbhandle, $write_line))) { $this->log_with_db_occasionally("There was an error writing a line to the backup file: $write_line"); } $this->db_current_raw_bytes += strlen($write_line); return $ret; } /** * Stow the database backup header */ private function backup_db_header() { global $updraftplus; $wp_version = $updraftplus->get_wordpress_version(); $mysql_version = $this->wpdb_obj->get_var('SELECT VERSION()'); if ('' == $mysql_version) $mysql_version = $this->wpdb_obj->db_version(); if ('wp' == $this->whichdb) { $wp_upload_dir = wp_upload_dir(); $this->stow("# WordPress MySQL database backup\n"); $this->stow("# Created by UpdraftPlus version ".$updraftplus->version." (https://updraftplus.com)\n"); $this->stow("# WordPress Version: $wp_version, running on PHP ".phpversion()." (".$_SERVER["SERVER_SOFTWARE"]."), MySQL $mysql_version\n"); $this->stow("# Backup of: ".untrailingslashit(site_url())."\n"); $this->stow("# Home URL: ".untrailingslashit(home_url())."\n"); $this->stow("# Content URL: ".untrailingslashit(content_url())."\n"); $this->stow("# Uploads URL: ".untrailingslashit($wp_upload_dir['baseurl'])."\n"); $this->stow("# Table prefix: ".$this->table_prefix_raw."\n"); $this->stow("# Filtered table prefix: ".$this->table_prefix."\n"); $this->stow("# ABSPATH: ".trailingslashit(ABSPATH)."\n"); $this->stow("# UpdraftPlus plugin slug: ".UPDRAFTPLUS_PLUGIN_SLUG."\n"); $this->stow("# Site info: multisite=".(is_multisite() ? '1' : '0')."\n"); if (is_multisite()) { // we're going to use the fallback function wp_get_sites (for older version). if (function_exists('get_sites') && class_exists('WP_Site_Query')) { $network_sites = get_sites(); } elseif (function_exists('wp_get_sites')) { $network_sites = wp_get_sites(); } if ($network_sites) { $multisite_data = array(); foreach ($network_sites as $site) { // get_sites() gives $site in object form whereas wp_get_sites() gives sites in array form. $site = (array) $site; $blog_id = intval($site['blog_id']); $switched = switch_to_blog($blog_id); $wp_upload_dir = wp_upload_dir(); $multisite_data[] = array( 'blog_id' => $blog_id, 'domain' => $site['domain'], 'path' => $site['path'], 'siteurl' => untrailingslashit(site_url()), 'home' => untrailingslashit(home_url()), 'uploads_url' => $wp_upload_dir['baseurl'], ); if ($switched) restore_current_blog(); } $this->stow("# Site info: multisite_data=".json_encode($multisite_data)."\n"); if (function_exists('get_main_site_id')) $this->stow("# Site info: multisite_main_site_id=".intval(get_main_site_id())."\n"); } } $this->stow("# Site info: sql_mode=".$this->wpdb_obj->get_var('SELECT @@SESSION.sql_mode')."\n"); $this->stow("# Site info: end\n"); } else { $this->stow("# MySQL database backup (supplementary database ".$this->whichdb.")\n"); $this->stow("# Created by UpdraftPlus version ".$updraftplus->version." (https://updraftplus.com)\n"); $this->stow("# WordPress Version: $wp_version, running on PHP ".phpversion()." (".$_SERVER["SERVER_SOFTWARE"]."), MySQL $mysql_version\n"); $this->stow("# ".sprintf('External database: (%s)', $this->dbinfo['user'].'@'.$this->dbinfo['host'].'/'.$this->dbinfo['name'])."\n"); $this->stow("# Backup created by: ".untrailingslashit(site_url())."\n"); $this->stow("# Table prefix: ".$this->table_prefix_raw."\n"); $this->stow("# Filtered table prefix: ".$this->table_prefix."\n"); } $label = $updraftplus->jobdata_get('label'); if (!empty($label)) $this->stow("# Label: $label\n"); $this->stow("\n# Generated: ".date("l j. F Y H:i T")."\n"); $this->stow("# Hostname: ".$this->dbinfo['host']."\n"); $this->stow("# Database: ".UpdraftPlus_Manipulation_Functions::backquote($this->dbinfo['name'])."\n"); if (!empty($this->skipped_tables[$this->whichdb])) { if ('wp' == $this->whichdb) { $this->stow("# Skipped tables: " . implode(', ', $this->skipped_tables['wp'])."\n"); } elseif (isset($this->skipped_tables[$this->dbinfo['name']])) { $this->stow("# Skipped tables: " . implode(', ', $this->skipped_tables[$this->dbinfo['name']])."\n"); } } $this->stow("# --------------------------------------------------------\n"); $this->stow("/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;\n"); $this->stow("/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;\n"); $this->stow("/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;\n"); // N.B. Setting this as the mode matches the export behaviour of both mysqldump and phpMyAdmin $this->stow("/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;\n"); $this->stow("/*!40101 SET NAMES ".$updraftplus->get_connection_charset($this->wpdb_obj)." */;\n"); $this->stow("/*!40101 SET foreign_key_checks = 0 */;\n\n"); // This filter allows a user to add their own arbitrary content. if (false !== ($header_append = apply_filters('updraftplus_backup_db_header_append', false))) { $this->stow($header_append); } } /** * This function recursively packs the zip, dereferencing symlinks but packing into a single-parent tree for universal unpacking * * @param String $fullpath Full path * @param String $use_path_when_storing Controls the path to use when storing in the zip file * @param String $original_fullpath Original path * @param Integer $startlevels How deep within the directory structure the recursive operation has gone * @param Array $exclude passed by reference so that we can remove elements as they are matched - saves time checking against already-dealt-with objects] * @return Boolean */ private function makezip_recursive_add($fullpath, $use_path_when_storing, $original_fullpath, $startlevels, &$exclude) { global $updraftplus; // Only BinZip supports symlinks. This means that as a consistent outcome, the only think that can be done with directory symlinks is either a) potentially duplicate the data or b) skip it. Whilst with internal WP entities (e.g. plugins) we definitely want the data, in the case of user-selected directories, we assume the user knew what they were doing when they chose the directory - i.e. we can skip symlink-accessed data that's outside. if (is_link($fullpath) && is_dir($fullpath) && 'more' == $this->whichone) { $updraftplus->log("Directory symlink encounted in more files backup: $use_path_when_storing -> ".readlink($fullpath).": skipping"); return true; } static $updraft_dir_realpath; $updraft_dir_realpath = realpath($this->updraft_dir); // De-reference. Important to do to both, because on Windows only doing it to one can make them non-equal, where they were previously equal - something which we later rely upon $fullpath = realpath($fullpath); $original_fullpath = realpath($original_fullpath); // Is the place we've ended up above the original base? That leads to infinite recursion if (($fullpath !== $original_fullpath && strpos($original_fullpath, $fullpath) === 0) || ($original_fullpath == $fullpath && ((1== $startlevels && strpos($use_path_when_storing, '/') !== false) || (2 == $startlevels && substr_count($use_path_when_storing, '/') >1)))) { $updraftplus->log("Infinite recursion: symlink led us to $fullpath, which is within $original_fullpath"); $updraftplus->log(__("Infinite recursion: consult your log for more information", 'updraftplus'), 'error'); return false; } // This is sufficient for the ones we have exclude options for - uploads, others, wpcore $stripped_storage_path = (1 == $startlevels) ? $use_path_when_storing : substr($use_path_when_storing, strpos($use_path_when_storing, '/') + 1); if (false !== ($fkey = array_search($stripped_storage_path, $exclude))) { $updraftplus->log("Entity excluded by configuration option: $stripped_storage_path"); unset($exclude[$fkey]); return true; } $if_altered_since = $this->makezip_if_altered_since; if (is_file($fullpath)) { if (!empty($this->excluded_extensions) && $this->is_entity_excluded_by_extension($fullpath)) { $updraftplus->log("Entity excluded by configuration option (extension): ".basename($fullpath)); } elseif (!empty($this->excluded_prefixes) && $this->is_entity_excluded_by_prefix($fullpath)) { $updraftplus->log("Entity excluded by configuration option (prefix): ".basename($fullpath)); } elseif (!empty($this->excluded_wildcards) && $this->is_entity_excluded_by_wildcards(basename($fullpath))) { $updraftplus->log("Entity excluded by configuration option (wildcards): ".basename($fullpath)); } elseif (apply_filters('updraftplus_exclude_file', false, $fullpath)) { $updraftplus->log("Entity excluded by filter: ".basename($fullpath)); } elseif (is_readable($fullpath)) { $mtime = filemtime($fullpath); $key = ($fullpath == $original_fullpath) ? ((2 == $startlevels) ? $use_path_when_storing : $this->basename($fullpath)) : $use_path_when_storing.'/'.$this->basename($fullpath); if ($mtime > 0 && $mtime > $if_altered_since) { $this->zipfiles_batched[$fullpath] = $key; $this->makezip_recursive_batchedbytes += @filesize($fullpath);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. // @touch($zipfile); } else { $this->zipfiles_skipped_notaltered[$fullpath] = $key; } } else { $updraftplus->log("$fullpath: unreadable file"); $updraftplus->log(sprintf(__("%s: unreadable file - could not be backed up (check the file permissions and ownership)", 'updraftplus'), $fullpath), 'warning'); } } elseif (is_dir($fullpath)) { if ($fullpath == $updraft_dir_realpath) { $updraftplus->log("Skip directory (UpdraftPlus backup directory): $use_path_when_storing"); return true; } if (apply_filters('updraftplus_exclude_directory', false, $fullpath, $use_path_when_storing)) { $updraftplus->log("Skip filtered directory: $use_path_when_storing"); return true; } if (file_exists($fullpath.'/.donotbackup')) { $updraftplus->log("Skip directory (.donotbackup file found): $use_path_when_storing"); return true; } if (!isset($this->existing_files[$use_path_when_storing])) $this->zipfiles_dirbatched[] = $use_path_when_storing; if (!$dir_handle = @opendir($fullpath)) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $updraftplus->log("Failed to open directory: $fullpath"); $updraftplus->log(sprintf(__("Failed to open directory (check the file permissions and ownership): %s", 'updraftplus'), $fullpath), 'error'); return false; } while (false !== ($e = readdir($dir_handle))) { if ('.' == $e || '..' == $e) continue; if (is_link($fullpath.'/'.$e)) { $deref = realpath($fullpath.'/'.$e); if (false === $deref) { $updraftplus->log("$fullpath/$e: unfollowable link"); $updraftplus->log(sprintf(__("%s: unfollowable link - could not be followed to back up (readlink=%s).", 'updraftplus'), $use_path_when_storing.'/'.$e, readlink($fullpath.'/'.$e)).' '.__("Possible causes include that the link points to an invalid or inaccessible location.", 'updraftplus'), 'warning', "unrlink-$e"); } elseif (is_file($deref)) { $use_stripped = $stripped_storage_path.'/'.$e; if (false !== ($fkey = array_search($use_stripped, $exclude))) { $updraftplus->log("Entity excluded by configuration option: $use_stripped"); unset($exclude[$fkey]); } elseif (!empty($this->excluded_extensions) && $this->is_entity_excluded_by_extension($e)) { $updraftplus->log("Entity excluded by configuration option (extension): $use_stripped"); } elseif (!empty($this->excluded_prefixes) && $this->is_entity_excluded_by_prefix($e)) { $updraftplus->log("Entity excluded by configuration option (prefix): $use_stripped"); } elseif (!empty($this->excluded_wildcards) && $this->is_entity_excluded_by_wildcards($use_stripped)) { $updraftplus->log("Entity excluded by configuration option (wildcards): $use_stripped"); } elseif (apply_filters('updraftplus_exclude_file', false, $deref, $use_stripped)) { $updraftplus->log("Entity excluded by filter: $use_stripped"); } elseif (is_readable($deref)) { $mtime = filemtime($deref); if ($mtime > 0 && $mtime > $if_altered_since) { $this->zipfiles_batched[$deref] = $use_path_when_storing.'/'.$e; $this->makezip_recursive_batchedbytes += @filesize($deref);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. // @touch($zipfile); } else { $this->zipfiles_skipped_notaltered[$deref] = $use_path_when_storing.'/'.$e; } } else { $updraftplus->log("$deref: unreadable file (de-referenced from the link $e in $fullpath)"); $updraftplus->log(sprintf(__("%s: unreadable file - could not be backed up"), $deref), 'warning'); } } elseif (is_dir($deref)) { $this->symlink_reversals[$deref] = $fullpath.'/'.$e; $this->makezip_recursive_add($deref, $use_path_when_storing.'/'.$e, $original_fullpath, $startlevels, $exclude); } } elseif (is_file($fullpath.'/'.$e)) { $use_stripped = $stripped_storage_path.'/'.$e; if (false !== ($fkey = array_search($use_stripped, $exclude))) { $updraftplus->log("Entity excluded by configuration option: $use_stripped"); unset($exclude[$fkey]); } elseif (!empty($this->excluded_extensions) && $this->is_entity_excluded_by_extension($e)) { $updraftplus->log("Entity excluded by configuration option (extension): $use_stripped"); } elseif (!empty($this->excluded_prefixes) && $this->is_entity_excluded_by_prefix($e)) { $updraftplus->log("Entity excluded by configuration option (prefix): $use_stripped"); } elseif (!empty($this->excluded_wildcards) && $this->is_entity_excluded_by_wildcards($use_stripped)) { $updraftplus->log("Entity excluded by configuration option (wildcards): $use_stripped"); } elseif (apply_filters('updraftplus_exclude_file', false, $fullpath.'/'.$e)) { $updraftplus->log("Entity excluded by filter: $use_stripped"); } elseif (is_readable($fullpath.'/'.$e)) { $mtime = filemtime($fullpath.'/'.$e); if ($mtime > 0 && $mtime > $if_altered_since) { $this->zipfiles_batched[$fullpath.'/'.$e] = $use_path_when_storing.'/'.$e; $this->makezip_recursive_batchedbytes += @filesize($fullpath.'/'.$e);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } else { $this->zipfiles_skipped_notaltered[$fullpath.'/'.$e] = $use_path_when_storing.'/'.$e; } } else { $updraftplus->log("$fullpath/$e: unreadable file"); $updraftplus->log(sprintf(__("%s: unreadable file - could not be backed up", 'updraftplus'), $use_path_when_storing.'/'.$e), 'warning', "unrfile-$e"); } } elseif (is_dir($fullpath.'/'.$e)) { $use_stripped = $stripped_storage_path.'/'.$e; if ('wpcore' == $this->whichone && 'updraft' == $e && basename($use_path_when_storing) == 'wp-content' && (!defined('UPDRAFTPLUS_WPCORE_INCLUDE_UPDRAFT_DIRS') || !UPDRAFTPLUS_WPCORE_INCLUDE_UPDRAFT_DIRS)) { // This test, of course, won't catch everything - it just aims to make things better by default $updraftplus->log("Directory excluded for looking like a sub-site's internal UpdraftPlus directory (enable by defining UPDRAFTPLUS_WPCORE_INCLUDE_UPDRAFT_DIRS): ".$use_path_when_storing.'/'.$e); } elseif (!empty($this->excluded_wildcards) && $this->is_entity_excluded_by_wildcards($use_stripped)) { $updraftplus->log("Entity excluded by configuration option (wildcards): $use_stripped"); } else { // no need to add_empty_dir here, as it gets done when we recurse $this->makezip_recursive_add($fullpath.'/'.$e, $use_path_when_storing.'/'.$e, $original_fullpath, $startlevels, $exclude); } } } closedir($dir_handle); } else { $updraftplus->log("Unexpected: path ($use_path_when_storing) fails both is_file() and is_dir()"); } return true; } /** * Get a list of excluded extensions * * @param Array $exclude - settings passed in * * @return Array */ private function get_excluded_extensions($exclude) { if (!is_array($exclude)) $exclude = array(); $exclude_extensions = array(); foreach ($exclude as $ex) { if (preg_match('/^ext:(.+)$/i', $ex, $matches)) { $exclude_extensions[] = strtolower($matches[1]); } } if (defined('UPDRAFTPLUS_EXCLUDE_EXTENSIONS')) { $exclude_from_define = explode(',', UPDRAFTPLUS_EXCLUDE_EXTENSIONS); foreach ($exclude_from_define as $ex) { $exclude_extensions[] = strtolower(trim($ex)); } } return $exclude_extensions; } /** * Get a list of excluded prefixes * * @param Array $exclude - settings passed in * * @return Array - each is listed in lower case */ private function get_excluded_prefixes($exclude) { if (!is_array($exclude)) $exclude = array(); $exclude_prefixes = array(); foreach ($exclude as $pref) { if (preg_match('/^prefix:(.+)$/i', $pref, $matches)) { $exclude_prefixes[] = strtolower($matches[1]); } } return $exclude_prefixes; } /** * List all the wildcard patterns from the given excluded items * * @param Array $exclude the list of excluded items which may contain not just wildcard patterns but also specific file/directory names as well * * $exclude argument may contains data in an array format like below: * [ * "snapshots" // definitely not a wildcard parttern, this could be directories/files named `snapshots` which are located in the root/parent directory * "2021/03/image.jpg", // not a wildcard parttern, this could be files/directories named `image.jpg` which are located in the 2021/03/ directory * "ext:zip", // not a wildcard pattern, this is to exclude all files that end with `zip` extension * "prefix:file-", // not a wildcard pattern, this is to exclude all files that begin with `file-` prefix * "2021/04", // not a wildcard pattern, this is to exclude all files/directories which are located in the 2021/04 directory * "backup*", // wildcard pattern that excludes all files/directories beginning with `backup` in the root/parent directory * "2021/*optimise*", // wildcard pattern that excludes all files/directories that have `optimise` anywhere in their names in the `2021` directory * "2021/04/*.tmp" // wildcard pattern that excludes all files/directories ending with `optimise` anywhere in their names in the `2021/04` directory * ] * * @return Array an array of wildcard patterns * * After the $exclude has gone through the regex parsing step, only excluded items containing valid wildcard patterns got captured and will return them in an array in a format like below: * * [ * [ * "directory_path" => "", * "pattern" => "backup*" * ], * [ * "directory_path" => "2021\", * "pattern" => "*optimise*" * ], * [ * "directory_path" => "2021\04\", * "pattern" => "*.tmp" * ] * ] */ private function get_excluded_wildcards($exclude) { if (!is_array($exclude)) $exclude = array(); $excluded_wildcards = array(); foreach ($exclude as $wch) { // https://regex101.com/r/dMFI0P/1/ if (preg_match('#(.*(? preg_replace(array('/^[\/\s]*/', '/\/\/*/', '/[\/\s]*$/'), array('', '/', ''), $matches[1]), 'pattern' => $matches[2] ); } } return $excluded_wildcards; } /** * Check whether or not the given entity(file/directory) is excluded from the backup by matching it against a set of wildcard patterns * * @param String $entity the file/directory's stripped path * @return Boolean true if the entity is excluded, false otherwise */ private function is_entity_excluded_by_wildcards($entity) { $entity_basename = untrailingslashit($entity); $entity_basename = substr_replace($entity_basename, '', 0, (false === strrpos($entity_basename, '/') ? 0 : strrpos($entity_basename, '/') + 1)); foreach ($this->excluded_wildcards as $wch) { if (!is_array($wch) || empty($wch)) continue; if (substr_replace($entity, '', (int) strrpos($entity, '/'), strlen($entity) - (int) strrpos($entity, '/')) !== $wch['directory_path']) continue; if ('*' == substr($wch['pattern'], -1, 1) && '*' == substr($wch['pattern'], 0, 1) && strlen($wch['pattern']) > 2) { $wch['pattern'] = substr($wch['pattern'], 1, strlen($wch['pattern'])-2); $wch['pattern'] = str_replace('\*', '*', $wch['pattern']); if (strpos($entity_basename, $wch['pattern']) !== false) return true; } elseif ('*' == substr($wch['pattern'], -1, 1) && strlen($wch['pattern']) > 1) { $wch['pattern'] = substr($wch['pattern'], 0, strlen($wch['pattern'])-1); $wch['pattern'] = str_replace('\*', '*', $wch['pattern']); if (substr($entity_basename, 0, strlen($wch['pattern'])) == $wch['pattern']) return true; } elseif ('*' == substr($wch['pattern'], 0, 1) && strlen($wch['pattern']) > 1) { $wch['pattern'] = substr($wch['pattern'], 1); $wch['pattern'] = str_replace('\*', '*', $wch['pattern']); if (strlen($entity_basename) >= strlen($wch['pattern']) && substr($entity_basename, strlen($wch['pattern'])*-1) == $wch['pattern']) return true; } } return false; } private function is_entity_excluded_by_extension($entity) { foreach ($this->excluded_extensions as $ext) { if (!$ext) continue; $eln = strlen($ext); if (strtolower(substr($entity, -$eln, $eln)) == $ext) return true; } return false; } private function is_entity_excluded_by_prefix($entity) { $entity = basename($entity); foreach ($this->excluded_prefixes as $pref) { if (!$pref) continue; $eln = strlen($pref); if (strtolower(substr($entity, 0, $eln)) == $pref) return true; } return false; } private function unserialize_gz_cache_file($file) { if (!$whandle = gzopen($file, 'r')) return false; global $updraftplus; $emptimes = 0; $var = ''; while (!gzeof($whandle)) { $bytes = @gzread($whandle, 1048576);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if (empty($bytes)) { $emptimes++; $updraftplus->log("Got empty gzread ($emptimes times)"); if ($emptimes>2) return false; } else { $var .= $bytes; } } gzclose($whandle); return unserialize($var); } /** * Make Zip File. * * @param Array|String $source Caution: $source is allowed to be an array, not just a filename * @param String $backup_file_basename Name of backup file * @param String $whichone Backup entity type (e.g. 'plugins') * @param Boolean $retry_on_error Set to retry upon error * @return Boolean */ private function make_zipfile($source, $backup_file_basename, $whichone, $retry_on_error = true) { global $updraftplus; $original_index = $this->index; $itext = (empty($this->index)) ? '' : ($this->index+1); $destination_base = $backup_file_basename.'-'.$whichone.$itext.'.zip.tmp'; // $destination is the temporary file (ending in .tmp) $destination = $this->updraft_dir.'/'.$destination_base; // When to prefer PCL: // - We were asked to // - No zip extension present and no relevant method present // The zip extension check is not redundant, because method_exists segfaults some PHP installs, leading to support requests // We need meta-info about $whichone $backupable_entities = $updraftplus->get_backupable_file_entities(true, false); // This is only used by one corner-case in BinZip // $this->make_zipfile_source = (isset($backupable_entities[$whichone])) ? $backupable_entities[$whichone] : $source; $this->make_zipfile_source = (is_array($source) && isset($backupable_entities[$whichone])) ? (('uploads' == $whichone) ? dirname($backupable_entities[$whichone]) : $backupable_entities[$whichone]) : dirname($source); $this->existing_files = array(); // Used for tracking compression ratios $this->existing_files_rawsize = 0; $this->existing_zipfiles_size = 0; // Enumerate existing files // Usually first_linked_index is zero; the exception being with more files, where previous zips' contents are irrelevant for ($j = $this->first_linked_index; $j <= $this->index; $j++) { $jtext = (0 == $j) ? '' : $j+1; // This is, in a non-obvious way, compatible with filenames which indicate increments // $j does not need to start at zero; it should start at the index which the current entity split at. However, this is not directly known, and can only be deduced from examining the filenames. And, for other indexes from before the current increment, the searched-for filename won't exist (even if there is no cloud storage). So, this indirectly results in the desired outcome when we start from $j=0. $examine_zip = $this->updraft_dir.'/'.$backup_file_basename.'-'.$whichone.$jtext.'.zip'.(($j == $this->index) ? '.tmp' : ''); // This comes from https://wordpress.org/support/topic/updraftplus-not-moving-all-files-to-remote-server - where it appears that the jobdata's record of the split was done (i.e. database write), but the *earlier* rename of the .tmp file was not done (i.e. I/O lost). i.e. In theory, this should be impossible; but, the sychnronicity apparently cannot be fully relied upon in some setups. The check for the index being one behind is being conservative - there's no inherent reason why it couldn't be done for other indexes. // Note that in this 'impossible' case, no backup data was being lost - the design still ensures that the on-disk backup is fine. The problem was a gap in the sequence numbering of the zip files, leading to user confusion. // Other examples of this appear to be in HS#1001 and #1047 if ($j != $this->index && !file_exists($examine_zip)) { $alt_examine_zip = $this->updraft_dir.'/'.$backup_file_basename.'-'.$whichone.$jtext.'.zip'.(($j == $this->index - 1) ? '.tmp' : ''); if ($alt_examine_zip != $examine_zip && file_exists($alt_examine_zip) && is_readable($alt_examine_zip) && filesize($alt_examine_zip)>0) { $updraftplus->log("Looked-for zip file not found; but non-zero .tmp zip was, despite not being current index ($j != ".$this->index." - renaming zip (assume previous resumption's IO was lost before kill)"); if (rename($alt_examine_zip, $examine_zip)) { clearstatcache(); } else { $updraftplus->log("Rename failed - backup zips likely to not have sequential numbers (does not affect backup integrity, but can cause user confusion)"); } } } // If the file exists, then we should grab its index of files inside, and sizes // Then, when we come to write a file, we should check if it's already there, and only add if it is not if (file_exists($examine_zip) && is_readable($examine_zip) && filesize($examine_zip) > 0) { // Do not use (which also means do not create) a manifest if the file is still a .tmp file, since this may not be complete. If we are in this place in the code from a resumption, creating a manifest here will mean the manifest becomes out-of-date if further files are added. $this->populate_existing_files_list($examine_zip, substr($examine_zip, -4, 4) === '.zip'); // try_split is true if there have been no check-ins recently - or if it needs to be split anyway if ($j == $this->index) { if ($this->try_split) { if (filesize($examine_zip) > 50*1048576) { // We could, as a future enhancement, save this back to the job data, if we see a case that needs it $this->zip_split_every = max( (int) $this->zip_split_every/2, UPDRAFTPLUS_SPLIT_MIN*1048576, min(filesize($examine_zip)-1048576, $this->zip_split_every) ); $updraftplus->jobdata_set('split_every', (int) ($this->zip_split_every/1048576)); $updraftplus->log("No check-in on last two runs; bumping index and reducing zip split to: ".round($this->zip_split_every/1048576, 1)." MB"); $do_bump_index = true; } unset($this->try_split); } elseif (filesize($examine_zip) > $this->zip_split_every) { $updraftplus->log(sprintf("Zip size is at/near split limit (%s MB / %s MB) - bumping index (from: %d)", filesize($examine_zip), round($this->zip_split_every/1048576, 1), $this->index)); $do_bump_index = true; } } } elseif (file_exists($examine_zip)) { $updraftplus->log("Zip file already exists, but is not readable or was zero-sized; will remove: ".basename($examine_zip)); @unlink($examine_zip);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } elseif ($updraftplus->is_uploaded(basename($examine_zip))) { $this->populate_existing_files_list($examine_zip, true); } } $this->zip_last_ratio = ($this->existing_files_rawsize > 0) ? ($this->existing_zipfiles_size/$this->existing_files_rawsize) : 1; $this->zipfiles_added = 0; $this->zipfiles_added_thisrun = 0; $this->zipfiles_dirbatched = array(); $this->zipfiles_batched = array(); $this->zipfiles_skipped_notaltered = array(); $this->zipfiles_lastwritetime = time(); $this->zip_basename = $this->updraft_dir.'/'.$backup_file_basename.'-'.$whichone; if (!empty($do_bump_index)) $this->bump_index(); $error_occurred = false; // Store this in its original form // $this->source = $source; // Reset. This counter is used only with PcLZip, to decide if it's better to do it all-in-one $this->makezip_recursive_batchedbytes = 0; if (!is_array($source)) $source = array($source); $exclude = $updraftplus->get_exclude($whichone); $files_enumerated_at = $updraftplus->jobdata_get('files_enumerated_at'); if (!is_array($files_enumerated_at)) $files_enumerated_at = array(); $files_enumerated_at[$whichone] = time(); $updraftplus->jobdata_set('files_enumerated_at', $files_enumerated_at); $this->makezip_if_altered_since = is_array($this->altered_since) ? (isset($this->altered_since[$whichone]) ? $this->altered_since[$whichone] : -1) : -1; // Reset $got_uploads_from_cache = false; // Uploads: can/should we get it back from the cache? // || 'others' == $whichone if (('uploads' == $whichone || 'others' == $whichone) && function_exists('gzopen') && function_exists('gzread')) { $use_cache_files = false; $cache_file_base = $this->zip_basename.'-cachelist-'.$this->makezip_if_altered_since; // Cache file suffixes: -zfd.gz.tmp, -zfb.gz.tmp, -info.tmp, (possible)-zfs.gz.tmp if (file_exists($cache_file_base.'-zfd.gz.tmp') && file_exists($cache_file_base.'-zfb.gz.tmp') && file_exists($cache_file_base.'-info.tmp')) { // Cache files exist; shall we use them? $mtime = filemtime($cache_file_base.'-zfd.gz.tmp'); // Require < 30 minutes old if (time() - $mtime < 1800) { $use_cache_files = true; } $any_failures = false; if ($use_cache_files) { $var = $this->unserialize_gz_cache_file($cache_file_base.'-zfd.gz.tmp'); if (is_array($var)) { $this->zipfiles_dirbatched = $var; $var = $this->unserialize_gz_cache_file($cache_file_base.'-zfb.gz.tmp'); if (is_array($var)) { $this->zipfiles_batched = $var; if (file_exists($cache_file_base.'-info.tmp')) { $var = maybe_unserialize(file_get_contents($cache_file_base.'-info.tmp')); if (is_array($var) && isset($var['makezip_recursive_batchedbytes'])) { $this->makezip_recursive_batchedbytes = $var['makezip_recursive_batchedbytes']; if (file_exists($cache_file_base.'-zfs.gz.tmp')) { $var = $this->unserialize_gz_cache_file($cache_file_base.'-zfs.gz.tmp'); if (is_array($var)) { $this->zipfiles_skipped_notaltered = $var; } else { $any_failures = true; } } else { $this->zipfiles_skipped_notaltered = array(); } } else { $any_failures = true; } } } else { $any_failures = true; } } else { $any_failures = true; } if ($any_failures) { $updraftplus->log("Failed to recover file lists from existing cache files"); // Reset it all $this->zipfiles_skipped_notaltered = array(); $this->makezip_recursive_batchedbytes = 0; $this->zipfiles_batched = array(); $this->zipfiles_dirbatched = array(); } else { $updraftplus->log("File lists recovered from cache files; sizes: ".count($this->zipfiles_batched).", ".count($this->zipfiles_batched).", ".count($this->zipfiles_skipped_notaltered).")"); $got_uploads_from_cache = true; } } } } $time_counting_began = time(); $this->excluded_extensions = $this->get_excluded_extensions($exclude); $this->excluded_prefixes = $this->get_excluded_prefixes($exclude); $this->excluded_wildcards = $this->get_excluded_wildcards($exclude); foreach ($source as $element) { // makezip_recursive_add($fullpath, $use_path_when_storing, $original_fullpath, $startlevels = 1, $exclude_array) if ('uploads' == $whichone) { if (empty($got_uploads_from_cache)) { $dirname = dirname($element); $basename = $this->basename($element); $add_them = $this->makezip_recursive_add($element, basename($dirname).'/'.$basename, $element, 2, $exclude); } else { $add_them = true; } } else { if (empty($got_uploads_from_cache)) { $add_them = $this->makezip_recursive_add($element, $this->basename($element), $element, 1, $exclude); } else { $add_them = true; } } if (is_wp_error($add_them) || false === $add_them) $error_occurred = true; } $time_counting_ended = time(); // Cache the file scan, if it looks like it'll be useful // We use gzip to reduce the size as on hosts which limit disk I/O, the caching may make things worse // || 'others' == $whichone if (('uploads' == $whichone || 'others' == $whichone) && !$error_occurred && function_exists('gzopen') && function_exists('gzwrite')) { $cache_file_base = $this->zip_basename.'-cachelist-'.$this->makezip_if_altered_since; // Just approximate - we're trying to avoid an otherwise-unpredictable PHP fatal error. Caching only happens if file enumeration took a long time - so presumably there are very many. $memory_needed_estimate = 0; foreach ($this->zipfiles_batched as $k => $v) { $memory_needed_estimate += strlen($k)+strlen($v)+12; } // We haven't bothered to check if we just fetched the files from cache, as that shouldn't take a long time and so shouldn't trigger this // Let us suppose we need 15% overhead for gzipping $memory_limit = ini_get('memory_limit'); $memory_usage = round(@memory_get_usage(false)/1048576, 1);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $memory_usage2 = round(@memory_get_usage(true)/1048576, 1);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if ($time_counting_ended-$time_counting_began > 20 && $updraftplus->verify_free_memory($memory_needed_estimate*0.15) && $whandle = gzopen($cache_file_base.'-zfb.gz.tmp', 'w')) { $updraftplus->log("File counting took a long time (".($time_counting_ended - $time_counting_began)."s); will attempt to cache results (memory_limit: $memory_limit (used: {$memory_usage}M | {$memory_usage2}M), estimated uncompressed bytes: ".round($memory_needed_estimate/1024, 1)." Kb)"); $buf = 'a:'.count($this->zipfiles_batched).':{'; foreach ($this->zipfiles_batched as $file => $add_as) { $k = addslashes($file); $v = addslashes($add_as); $buf .= 's:'.strlen($k).':"'.$k.'";s:'.strlen($v).':"'.$v.'";'; if (strlen($buf) > 1048576) { gzwrite($whandle, $buf, strlen($buf)); $buf = ''; } } $buf .= '}'; $final = gzwrite($whandle, $buf); unset($buf); if (!$final) { @unlink($cache_file_base.'-zfb.gz.tmp');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. @gzclose($whandle);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } else { gzclose($whandle); if (!empty($this->zipfiles_skipped_notaltered)) { if ($shandle = gzopen($cache_file_base.'-zfs.gz.tmp', 'w')) { if (!gzwrite($shandle, serialize($this->zipfiles_skipped_notaltered))) { $aborted_on_skipped = true; } gzclose($shandle); } else { $aborted_on_skipped = true; } } if (!empty($aborted_on_skipped)) { @unlink($cache_file_base.'-zfs.gz.tmp');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. @unlink($cache_file_base.'-zfb.gz.tmp');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } else { $info_array = array('makezip_recursive_batchedbytes' => $this->makezip_recursive_batchedbytes); if (!file_put_contents($cache_file_base.'-info.tmp', serialize($info_array))) { @unlink($cache_file_base.'-zfs.gz.tmp');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. @unlink($cache_file_base.'-zfb.gz.tmp');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } if ($dhandle = gzopen($cache_file_base.'-zfd.gz.tmp', 'w')) { if (!gzwrite($dhandle, serialize($this->zipfiles_dirbatched))) { $aborted_on_dirbatched = true; } gzclose($dhandle); } else { $aborted_on_dirbatched = true; } if (!empty($aborted_on_dirbatched)) { @unlink($cache_file_base.'-zfs.gz.tmp');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. @unlink($cache_file_base.'-zfd.gz.tmp');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. @unlink($cache_file_base.'-zfb.gz.tmp');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. @unlink($cache_file_base.'-info.tmp');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. // @codingStandardsIgnoreLine } else { // Success. } } } } /* Class variables that get altered: zipfiles_batched makezip_recursive_batchedbytes zipfiles_skipped_notaltered zipfiles_dirbatched Class variables that the result depends upon (other than the state of the filesystem): makezip_if_altered_since existing_files */ } // Any not yet dispatched? Under our present scheme, at this point nothing has yet been despatched. And since the enumerating of all files can take a while, we can at this point do a further modification check to reduce the chance of overlaps. // This relies on us *not* touch()ing the zip file to indicate to any resumption 'behind us' that we're already here. Rather, we're relying on the combined facts that a) if it takes us a while to search the directory tree, then it should do for the one behind us too (though they'll have the benefit of cache, so could catch very fast) and b) we touch *immediately* after finishing the enumeration of the files to add. // $retry_on_error is here being used as a proxy for 'not the second time around, when there might be the remains of the file on the first time around' if ($retry_on_error) $updraftplus->check_recent_modification($destination); // Here we're relying on the fact that both PclZip and ZipArchive will happily operate on an empty file. Note that BinZip *won't* (for that, may need a new strategy - e.g. add the very first file on its own, in order to 'lay down a marker') if (empty($do_bump_index)) touch($destination); if (count($this->zipfiles_dirbatched) > 0 || count($this->zipfiles_batched) > 0) { $updraftplus->log(sprintf("Total entities for the zip file: %d directories, %d files (%d skipped as non-modified), %s MB", count($this->zipfiles_dirbatched), count($this->zipfiles_batched), count($this->zipfiles_skipped_notaltered), round($this->makezip_recursive_batchedbytes/1048576, 1))); // No need to warn if we're going to retry anyway. (And if we get killed, the zip will be rescanned for its contents upon resumption). $warn_on_failures = ($retry_on_error) ? false : true; $add_them = $this->makezip_addfiles($warn_on_failures); if (is_wp_error($add_them)) { foreach ($add_them->get_error_messages() as $msg) { $updraftplus->log("Error returned from makezip_addfiles: ".$msg); } $error_occurred = true; } elseif (false === $add_them) { $updraftplus->log("Error: makezip_addfiles returned false"); $error_occurred = true; } } // Reset these variables because the index may have changed since we began $itext = empty($this->index) ? '' : $this->index+1; $destination_base = $backup_file_basename.'-'.$whichone.$itext.'.zip.tmp'; $destination = $this->updraft_dir.'/'.$destination_base; // ZipArchive::addFile sometimes fails - there's nothing when we expected something. // Did not used to have || $error_occurred here. But it is better to retry, than to simply warn the user to check his logs. if (((file_exists($destination) || $this->index == $original_index) && @filesize($destination) < 90 && 'UpdraftPlus_ZipArchive' == $this->use_zip_object) || ($error_occurred && $retry_on_error)) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. // This can be made more sophisticated if feedback justifies it. Currently we just switch to PclZip. But, it may have been a BinZip failure, so we could then try ZipArchive if that is available. If doing that, make sure that an infinite recursion isn't made possible. $updraftplus->log("makezip_addfiles(".$this->use_zip_object.") apparently failed (file=".basename($destination).", type=$whichone, size=".filesize($destination).") - retrying with PclZip"); $saved_zip_object = $this->use_zip_object; $this->use_zip_object = 'UpdraftPlus_PclZip'; $ret = $this->make_zipfile($source, $backup_file_basename, $whichone, false); $this->use_zip_object = $saved_zip_object; return $ret; } // zipfiles_added > 0 means that $zip->close() has been called. i.e. An attempt was made to add something: something _should_ be there. // Why return true even if $error_occurred may be set? 1) Because in that case, a warning has already been logged. 2) Because returning false causes an error to be logged, which means it'll all be retried again. Also 3) this has been the pattern of the code for a long time, and the algorithm has been proven in the real-world: don't change what's not broken. // (file_exists($destination) || $this->index == $original_index) might be an alternative to $this->zipfiles_added > 0 - ? But, don't change what's not broken. if (false == $error_occurred || $this->zipfiles_added > 0) { return true; } else { $updraftplus->log("makezip failure: zipfiles_added=".$this->zipfiles_added.", error_occurred=".$error_occurred." (method=".$this->use_zip_object.")"); return false; } } /** * This function is an ugly, conservative workaround for https://bugs.php.net/bug.php?id=62119. It does not aim to always work-around, but to ensure that nothing is made worse. * * @param String $element * * @return String */ private function basename($element) { $dirname = dirname($element); $basename_manual = preg_replace('#^[\\/]+#', '', substr($element, strlen($dirname))); $basename = basename($element); if ($basename_manual != $basename) { $locale = setlocale(LC_CTYPE, "0"); if ('C' == $locale) { setlocale(LC_CTYPE, 'en_US.UTF8'); $basename_new = basename($element); if ($basename_new == $basename_manual) $basename = $basename_new; setlocale(LC_CTYPE, $locale); } } return $basename; } /** * Determine if a file should be stored without compression * * @param String $file - the filename * * @return Boolean */ private function file_should_be_stored_without_compression($file) { if (!is_array($this->extensions_to_not_compress)) return false; foreach ($this->extensions_to_not_compress as $ext) { $ext_len = strlen($ext); if (strtolower(substr($file, -$ext_len, $ext_len)) == $ext) return true; } return false; } /** * This method will add a manifest file to the backup zip * * @param String $whichone - the type of backup (e.g. 'plugins', 'themes') * * @return Boolean - success/failure status */ private function updraftplus_include_manifest($whichone) { global $updraftplus; $manifest_name = "updraftplus-manifest.json"; $manifest = trailingslashit($this->updraft_dir).$manifest_name; $updraftplus->log(sprintf("Creating file manifest ($manifest_name) for incremental backup (included: %d, skipped: %d)", count($this->zipfiles_batched), count($this->zipfiles_skipped_notaltered))); if (false === ($handle = fopen($manifest, 'w+'))) return $updraftplus->log("Failed to open manifest file ($manifest_name)"); $this->manifest_path = $manifest; $version = 1; $go_to_levels = array( 'plugins' => 2, 'themes' => 2, 'uploads' => 3, 'others' => 3 ); $go_to_levels = apply_filters('updraftplus_manifest_go_to_level', $go_to_levels, $whichone); $go_to_level = isset($go_to_levels[$whichone]) ? $go_to_levels[$whichone] : 'all'; $directory = ''; if ('more' == $whichone) { foreach ($this->zipfiles_batched as $index => $dir) { $directory = '"directory":"' . dirname($index) . '",'; } } if (false === fwrite($handle, '{"version":'.$version.',"type":"'.$whichone.'",'.$directory.'"listed_levels":"'.$go_to_level.'","contents":{"directories":[')) $updraftplus->log("First write to manifest file failed ($manifest_name)"); // First loop: find out which is the last entry, so that we don't write the comma after it $last_dir_index = false; foreach ($this->zipfiles_dirbatched as $index => $dir) { if ('all' !== $go_to_level && substr_count($dir, '/') > $go_to_level - 1) continue; $last_dir_index = $index; } // Second loop: write out the entry foreach ($this->zipfiles_dirbatched as $index => $dir) { if ('all' !== $go_to_level && substr_count($dir, '/') > $go_to_level - 1) continue; fwrite($handle, json_encode($dir).(($index != $last_dir_index) ? ',' : '')); } // Now do the same for files fwrite($handle, '],"files":['); $last_file_index = false; foreach ($this->zipfiles_batched as $store_as) { if ('all' !== $go_to_level && substr_count($store_as, '/') > $go_to_level - 1) continue; $last_file_index = $store_as; } foreach ($this->zipfiles_skipped_notaltered as $store_as) { if ('all' !== $go_to_level && substr_count($store_as, '/') > $go_to_level - 1) continue; $last_file_index = $store_as; } foreach ($this->zipfiles_batched as $store_as) { if ('all' !== $go_to_level && substr_count($store_as, '/') > $go_to_level - 1) continue; fwrite($handle, json_encode($store_as).(($store_as != $last_file_index) ? ',' : '')); } foreach ($this->zipfiles_skipped_notaltered as $store_as) { if ('all' !== $go_to_level && substr_count($store_as, '/') > $go_to_level - 1) continue; fwrite($handle, json_encode($store_as).(($store_as != $last_file_index) ? ',' : '')); } fwrite($handle, ']}}'); fclose($handle); $this->zipfiles_batched[$manifest] = $manifest_name; $updraftplus->log("Successfully created file manifest (size: ".filesize($manifest).")"); return true; } // Q. Why don't we only open and close the zip file just once? // A. Because apparently PHP doesn't write out until the final close, and it will return an error if anything file has vanished in the meantime. So going directory-by-directory reduces our chances of hitting an error if the filesystem is changing underneath us (which is very possible if dealing with e.g. 1GB of files) /** * We batch up the files, rather than do them one at a time. So we are more efficient than open,one-write,close. * To call into here, the array $this->zipfiles_batched must be populated (keys=paths, values=add-to-zip-as values). It gets reset upon exit from here. * * @param Boolean $warn_on_failures See if it warns on failures or not * * @return Boolean|WP_Error */ private function makezip_addfiles($warn_on_failures) { global $updraftplus; // Used to detect requests to bump the size $bump_index = false; $ret = true; $zipfile = $this->zip_basename.((0 == $this->index) ? '' : ($this->index+1)).'.zip.tmp'; $maxzipbatch = $updraftplus->jobdata_get('maxzipbatch', 26214400); if ((int) $maxzipbatch < 1024) $maxzipbatch = 26214400; // Short-circuit the null case, because we want to detect later if something useful happened if (0 == count($this->zipfiles_dirbatched) && 0 == count($this->zipfiles_batched)) return true; // If on PclZip, then if possible short-circuit to a quicker method (makes a huge time difference - on a folder of 1500 small files, 2.6s instead of 76.6) // This assumes that makezip_addfiles() is only called once so that we know about all needed files (the new style) // This is rather conservative - because it assumes zero compression. But we can't know that in advance. $force_allinone = false; if (0 == $this->index && $this->makezip_recursive_batchedbytes < $this->zip_split_every) { // So far, we only have a processor for this for PclZip; but that check can be removed - need to address the below items // TODO: Is this really what we want? Always go all-in-one for < 500MB???? Should be more conservative? Or, is it always faster to go all-in-one? What about situations where we might want to auto-split because of slowness - check that that is still working. // TODO: Test this new method for PclZip - are we still getting the performance gains? Test for ZipArchive too. if ('UpdraftPlus_PclZip' == $this->use_zip_object && ($this->makezip_recursive_batchedbytes < 512*1048576 || (defined('UPDRAFTPLUS_PCLZIP_FORCEALLINONE') && UPDRAFTPLUS_PCLZIP_FORCEALLINONE == true && 'UpdraftPlus_PclZip' == $this->use_zip_object))) { $updraftplus->log("Only one archive required (".$this->use_zip_object.") - will attempt to do in single operation (data: ".round($this->makezip_recursive_batchedbytes/1024, 1)." KB, split: ".round($this->zip_split_every/1024, 1)." KB)"); // $updraftplus->log("PclZip, and only one archive required - will attempt to do in single operation (data: ".round($this->makezip_recursive_batchedbytes/1024, 1)." KB, split: ".round($this->zip_split_every/1024, 1)." KB)"); $force_allinone = true; // if(!class_exists('PclZip')) require_once(ABSPATH.'/wp-admin/includes/class-pclzip.php'); // $zip = new PclZip($zipfile); // $remove_path = ($this->whichone == 'wpcore') ? untrailingslashit(ABSPATH) : WP_CONTENT_DIR; // $add_path = false; // Remove prefixes // $backupable_entities = $updraftplus->get_backupable_file_entities(true); // if (isset($backupable_entities[$this->whichone])) { // if ('plugins' == $this->whichone || 'themes' == $this->whichone || 'uploads' == $this->whichone) { // $remove_path = dirname($backupable_entities[$this->whichone]); // To normalise instead of removing (which binzip doesn't support, so we don't do it), you'd remove the dirname() in the above line, and uncomment the below one. // #$add_path = $this->whichone; // } else { // $remove_path = $backupable_entities[$this->whichone]; // } // } // if ($add_path) { // $zipcode = $zip->create($this->source, PCLZIP_OPT_REMOVE_PATH, $remove_path, PCLZIP_OPT_ADD_PATH, $add_path); // } else { // $zipcode = $zip->create($this->source, PCLZIP_OPT_REMOVE_PATH, $remove_path); // } // if ($zipcode == 0) { // $updraftplus->log("PclZip Error: ".$zip->errorInfo(true), 'warning'); // return $zip->errorCode(); // } else { // UpdraftPlus_Job_Scheduler::something_useful_happened(); // return true; // } } } // 05-Mar-2013 - added a new check on the total data added; it appears that things fall over if too much data is contained in the cumulative total of files that were addFile'd without a close-open cycle; presumably data is being stored in memory. In the case in question, it was a batch of MP3 files of around 100MB each - 25 of those equals 2.5GB! $data_added_since_reopen = 0; // static $data_added_this_resumption = 0; // $max_data_added_any_resumption = $updraftplus->jobdata_get('max_data_added_any_resumption', 0); // The following array is used only for error reporting if ZipArchive::close fails (since that method itself reports no error messages - we have to track manually what we were attempting to add) $files_zipadded_since_open = array(); $zip = new $this->use_zip_object; if (file_exists($zipfile)) { $original_size = filesize($zipfile); // PHP 8.1 throws a deprecation notice if opening a zero-size file with ZipArchive, so in that situation, we remove and re-create it if ($original_size > 0) { $opencode = $zip->open($zipfile); clearstatcache(); } elseif (0 === $original_size) { unlink($zipfile); } else { $opencode = false; } } else { $original_size = 0; } if (0 === $original_size) { $create_code = (version_compare(PHP_VERSION, '5.2.12', '>') && defined('ZIPARCHIVE::CREATE')) ? ZIPARCHIVE::CREATE : 1; $opencode = $zip->open($zipfile, $create_code); } if (true !== $opencode) return new WP_Error('no_open', sprintf(__('Failed to open the zip file (%s) - %s', 'updraftplus'), $zipfile, $zip->last_error)); if (apply_filters('updraftplus_include_manifest', false, $this->whichone, $this)) { $this->updraftplus_include_manifest($this->whichone); } // Give binzip the help it needs to deal with directory symlinks if (!empty($this->symlink_reversals) && is_callable(array($zip, 'ud_notify_symlink_reversals'))) { $zip->ud_notify_symlink_reversals($this->symlink_reversals); } // Make sure all directories are created before we start creating files while ($dir = array_pop($this->zipfiles_dirbatched)) { $zip->addEmptyDir($dir); } $zipfiles_added_thisbatch = 0; // Go through all those batched files foreach ($this->zipfiles_batched as $file => $add_as) { if (!file_exists($file)) { $updraftplus->log("File has vanished from underneath us; dropping: $add_as"); continue; } $fsize = filesize($file); $large_file_warning_key = 'vlargefile_'.md5($this->whichone.'#'.$add_as); if (defined('UPDRAFTPLUS_SKIP_FILE_OVER_SIZE') && UPDRAFTPLUS_SKIP_FILE_OVER_SIZE && $fsize > UPDRAFTPLUS_SKIP_FILE_OVER_SIZE) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the check. $updraftplus->log("File is larger than the user-configured (UPDRAFTPLUS_SKIP_FILE_OVER_SIZE) maximum (is: ".round($fsize/1024, 1)." KB); will skip: ".$add_as); continue; } elseif ($fsize > UPDRAFTPLUS_WARN_FILE_SIZE) { $log_msg = __('A very large file was encountered: %s (size: %s Mb)', 'updraftplus'); // Was this warned about on a previous run? if ($updraftplus->warning_exists($large_file_warning_key)) { $updraftplus->log_remove_warning($large_file_warning_key); $large_file_warning_key .= '-2'; $log_msg .= ' - '.__('a second attempt is being made (upon further failure it will be skipped)', 'updraftplus'); } elseif ($updraftplus->warning_exists($large_file_warning_key.'-2') || $updraftplus->warning_exists($large_file_warning_key.'-final')) { $updraftplus->log_remove_warning($large_file_warning_key.'-2'); $large_file_warning_key .= '-final'; $log_msg .= ' - '.__('two unsuccessful attempts were made to include it, and it will now be omitted from the backup', 'updraftplus'); } $updraftplus->log(sprintf($log_msg, $add_as, round($fsize/1048576, 1)), 'warning', $large_file_warning_key); if ('-final' == substr($large_file_warning_key, -6, 6)) { continue; } } // Skips files that are already added if (!isset($this->existing_files[$add_as]) || $this->existing_files[$add_as] != $fsize) { @touch($zipfile);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $zip->addFile($file, $add_as); $zipfiles_added_thisbatch++; if (method_exists($zip, 'setCompressionName') && $this->file_should_be_stored_without_compression($add_as) && false == $zip->setCompressionName($add_as, ZipArchive::CM_STORE)) { $updraftplus->log("Zip: setCompressionName failed on: $add_as"); } // N.B., Since makezip_addfiles() can get called more than once if there were errors detected, potentially $zipfiles_added_thisrun can exceed the total number of batched files (if they get processed twice). $this->zipfiles_added_thisrun++; $files_zipadded_since_open[] = array('file' => $file, 'addas' => $add_as); $data_added_since_reopen += $fsize; // $data_added_this_resumption += $fsize; /* Conditions for forcing a write-out and re-open: - more than $maxzipbatch bytes have been batched - more than 2.0 seconds have passed since the last time we wrote - that adding this batch of data is likely already enough to take us over the split limit (and if that happens, then do actually split - to prevent a scenario of progressively tinier writes as we approach but don't actually reach the limit) - more than 500 files batched (should perhaps intelligently lower this as the zip file gets bigger - not yet needed) */ // Add 10% margin. It only really matters when the OS has a file size limit, exceeding which causes failure (e.g. 2GB on 32-bit) // Since we don't test before the file has been created (so that zip_last_ratio has meaningful data), we rely on max_zip_batch being less than zip_split_every - which should always be the case $reaching_split_limit = ($this->zip_last_ratio > 0 && $original_size>0 && ($original_size + 1.1*$data_added_since_reopen*$this->zip_last_ratio) > $this->zip_split_every) ? true : false; if (!$force_allinone && ($zipfiles_added_thisbatch > UPDRAFTPLUS_MAXBATCHFILES || $reaching_split_limit || $data_added_since_reopen > $maxzipbatch || (time() - $this->zipfiles_lastwritetime) > 2)) { // We are coming towards a limit and about to close the zip, check if this is a more file backup and the manifest file has made it into this zip if not add it if (apply_filters('updraftplus_include_manifest', false, $this->whichone, $this)) { $manifest = false; foreach ($files_zipadded_since_open as $info) { if ('updraftplus-manifest.json' == $info['file']) $manifest = true; } if (!$manifest) { @touch($zipfile);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $path = array_search('updraftplus-manifest.json', $this->zipfiles_batched); $zip->addFile($path, 'updraftplus-manifest.json'); $zipfiles_added_thisbatch++; if (method_exists($zip, 'setCompressionName') && $this->file_should_be_stored_without_compression($this->zipfiles_batched[$path])) { if (false == $zip->setCompressionName($this->zipfiles_batched[$path], ZipArchive::CM_STORE)) { $updraftplus->log("Zip: setCompressionName failed on: $this->zipfiles_batched[$path]"); } } // N.B., Since makezip_addfiles() can get called more than once if there were errors detected, potentially $zipfiles_added_thisrun can exceed the total number of batched files (if they get processed twice). $this->zipfiles_added_thisrun++; $files_zipadded_since_open[] = array('file' => $path, 'addas' => 'updraftplus-manifest.json'); $data_added_since_reopen += filesize($path); // $data_added_this_resumption += filesize($path); } } if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $something_useful_sizetest = false; if ($data_added_since_reopen > $maxzipbatch) { $something_useful_sizetest = true; $updraftplus->log("Adding batch to zip file (".$this->use_zip_object."): over ".round($maxzipbatch/1048576, 1)." MB added on this batch (".round($data_added_since_reopen/1048576, 1)." MB, ".count($this->zipfiles_batched)." files batched, $zipfiles_added_thisbatch (".$this->zipfiles_added_thisrun.") added so far); re-opening (prior size: ".round($original_size/1024, 1).' KB)'); } elseif ($zipfiles_added_thisbatch > UPDRAFTPLUS_MAXBATCHFILES) { $updraftplus->log("Adding batch to zip file (".$this->use_zip_object."): over ".UPDRAFTPLUS_MAXBATCHFILES." files added on this batch (".round($data_added_since_reopen/1048576, 1)." MB, ".count($this->zipfiles_batched)." files batched, $zipfiles_added_thisbatch (".$this->zipfiles_added_thisrun.") added so far); re-opening (prior size: ".round($original_size/1024, 1).' KB)'); } elseif (!$reaching_split_limit) { $updraftplus->log("Adding batch to zip file (".$this->use_zip_object."): over 2.0 seconds have passed since the last write (".round($data_added_since_reopen/1048576, 1)." MB, $zipfiles_added_thisbatch (".$this->zipfiles_added_thisrun.") files added so far); re-opening (prior size: ".round($original_size/1024, 1).' KB)'); } else { $updraftplus->log("Adding batch to zip file (".$this->use_zip_object."): possibly approaching split limit (".round($data_added_since_reopen/1048576, 1)." MB, $zipfiles_added_thisbatch (".$this->zipfiles_added_thisrun.") files added so far); last ratio: ".round($this->zip_last_ratio, 4)."; re-opening (prior size: ".round($original_size/1024, 1).' KB)'); } if (!$zip->close()) { // Though we will continue processing the files we've got, the final error code will be false, to allow a second attempt on the failed ones. This also keeps us consistent with a negative result for $zip->close() further down. We don't just retry here, because we have seen cases (with BinZip) where upon failure, the existing zip had actually been deleted. So, to be safe we need to re-scan the existing zips. $ret = false; $this->record_zip_error($files_zipadded_since_open, $zip->last_error, $warn_on_failures); } // if ($data_added_this_resumption > $max_data_added_any_resumption) { // $max_data_added_any_resumption = $data_added_this_resumption; // $updraftplus->jobdata_set('max_data_added_any_resumption', $max_data_added_any_resumption); // } $zipfiles_added_thisbatch = 0; // This triggers a re-open, later unset($zip); $files_zipadded_since_open = array(); // Call here, in case we've got so many big files that we don't complete the whole routine if (filesize($zipfile) > $original_size) { // It is essential that this does not go above 1, even though in reality (and this can happen at the start, if just 1 file is added (e.g. due to >2.0s detection) the 'compressed' zip file may be *bigger* than the files stored in it. When that happens, if the ratio is big enough, it can then fire the "approaching split limit" detection (very) prematurely $this->zip_last_ratio = ($data_added_since_reopen > 0) ? min((filesize($zipfile) - $original_size)/$data_added_since_reopen, 1) : 1; // We need a rolling update of this $original_size = filesize($zipfile); // Move on to next zip? if ($reaching_split_limit || filesize($zipfile) > $this->zip_split_every) { $bump_index = true; // Take the filesize now because later we wanted to know we did clearstatcache() $bumped_at = round(filesize($zipfile)/1048576, 1); } // Need to make sure that something_useful_happened() is always called // How long since the current run began? If it's taken long (and we're in danger of not making it at all), or if that is foreseeable in future because of general slowness, then we should reduce the parameters. if (!$something_useful_sizetest) { UpdraftPlus_Job_Scheduler::something_useful_happened(); } else { // Do this as early as possible UpdraftPlus_Job_Scheduler::something_useful_happened(); $time_since_began = max(microtime(true)- $this->zipfiles_lastwritetime, 0.000001); $normalised_time_since_began = $time_since_began*($maxzipbatch/$data_added_since_reopen); // Don't measure speed until after ZipArchive::close() $rate = round($data_added_since_reopen/$time_since_began, 1); $updraftplus->log(sprintf("A useful amount of data was added after this amount of zip processing: %s s (normalised: %s s, rate: %s KB/s)", round($time_since_began, 1), round($normalised_time_since_began, 1), round($rate/1024, 1))); // We want to detect not only that we need to reduce the size of batches, but also the capability to increase them. This is particularly important because of ZipArchive()'s (understandable, given the tendency of PHP processes being terminated without notice) practice of first creating a temporary zip file via copying before acting on that zip file (so the information is atomic). Unfortunately, once the size of the zip file gets over 100MB, the copy operation beguns to be significant. By the time you've hit 500MB on many web hosts the copy is the majority of the time taken. So we want to do more in between these copies if possible. /* "Could have done more" - detect as: - A batch operation would still leave a "good chunk" of time in a run - "Good chunk" means that the time we took to add the batch is less than 50% of a run time - We can do that on any run after the first (when at least one ceiling on the maximum time is known) - But in the case where a max_execution_time is long (so that resumptions are never needed), and we're always on run 0, we will automatically increase chunk size if the batch took less than 6 seconds. */ // At one stage we had a strategy of not allowing check-ins to have more than 20s between them. However, once the zip file got to a certain size, PHP's habit of copying the entire zip file first meant that it *always* went over 18s, and thence a drop in the max size was inevitable - which was bad, because with the copy time being something that only grew, the outcome was less data being copied every time // Gather the data. We try not to do this unless necessary (may be time-sensitive) if ($updraftplus->current_resumption >= 1) { $time_passed = $updraftplus->jobdata_get('run_times'); if (!is_array($time_passed)) $time_passed = array(); list($max_time, $timings_string, $run_times_known) = UpdraftPlus_Manipulation_Functions::max_time_passed($time_passed, $updraftplus->current_resumption-1, $this->first_run);// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused parameter is present because the method returns an array. } else { // $run_times_known = 0; // $max_time = -1; $run_times_known = 1; $max_time = microtime(true)-$updraftplus->opened_log_time; } if ($normalised_time_since_began < 6 || ($updraftplus->current_resumption >= 1 && $run_times_known >= 1 && $time_since_began < 0.6*$max_time) || (0 == $updraftplus->current_resumption && $max_time > 240)) { // How much can we increase it by? if ($normalised_time_since_began < 6 || 0 == $updraftplus->current_resumption) { if ($run_times_known > 0 && $max_time > 0) { $new_maxzipbatch = min(floor(max($maxzipbatch*6/$normalised_time_since_began, $maxzipbatch*((0.6*$max_time)/$normalised_time_since_began))), $this->zip_batch_ceiling); } else { // Maximum of 200MB in a batch $new_maxzipbatch = min(floor($maxzipbatch*6/$normalised_time_since_began), $this->zip_batch_ceiling); } } else { // Use up to 60% of available time $new_maxzipbatch = min(floor($maxzipbatch*((0.6*$max_time)/$normalised_time_since_began)), $this->zip_batch_ceiling); } // Throttle increases - don't increase by more than 2x in one go - ??? // $new_maxzipbatch = floor(min(2*$maxzipbatch, $new_maxzipbatch)); // Also don't allow anything that is going to be more than 18 seconds - actually, that's harmful because of the basically fixed time taken to copy the file // $new_maxzipbatch = floor(min(18*$rate ,$new_maxzipbatch)); // Don't go above the split amount (though we expect that to be higher anyway, unless sending via email) $new_maxzipbatch = min($new_maxzipbatch, $this->zip_split_every); // Don't raise it above a level that failed on a previous run $maxzipbatch_ceiling = $updraftplus->jobdata_get('maxzipbatch_ceiling'); if (is_numeric($maxzipbatch_ceiling) && $maxzipbatch_ceiling > 20*1048576 && $new_maxzipbatch > $maxzipbatch_ceiling) { $updraftplus->log("Was going to raise maxzipbytes to $new_maxzipbatch, but this is too high: a previous failure led to the ceiling being set at $maxzipbatch_ceiling, which we will use instead"); $new_maxzipbatch = $maxzipbatch_ceiling; } // Final sanity check if ($new_maxzipbatch > 1048576) $updraftplus->jobdata_set('maxzipbatch', $new_maxzipbatch); if ($new_maxzipbatch <= 1048576) { $updraftplus->log("Unexpected new_maxzipbatch value obtained (time=$time_since_began, normalised_time=$normalised_time_since_began, max_time=$max_time, data points known=$run_times_known, old_max_bytes=$maxzipbatch, new_max_bytes=$new_maxzipbatch)"); } elseif ($new_maxzipbatch > $maxzipbatch) { $updraftplus->log("Performance is good - will increase the amount of data we attempt to batch (time=$time_since_began, normalised_time=$normalised_time_since_began, max_time=$max_time, data points known=$run_times_known, old_max_bytes=$maxzipbatch, new_max_bytes=$new_maxzipbatch)"); } elseif ($new_maxzipbatch < $maxzipbatch) { // Ironically, we thought we were speedy... $updraftplus->log("Adjust: Reducing maximum amount of batched data (time=$time_since_began, normalised_time=$normalised_time_since_began, max_time=$max_time, data points known=$run_times_known, new_max_bytes=$new_maxzipbatch, old_max_bytes=$maxzipbatch)"); } else { $updraftplus->log("Performance is good - but we will not increase the amount of data we batch, as we are already at the present limit (time=$time_since_began, normalised_time=$normalised_time_since_began, max_time=$max_time, data points known=$run_times_known, max_bytes=$maxzipbatch)"); } if ($new_maxzipbatch > 1048576) $maxzipbatch = $new_maxzipbatch; } // Detect excessive slowness // Don't do this until we're on at least resumption 7, as we want to allow some time for things to settle down and the maximum time to be accurately known (since reducing the batch size unnecessarily can itself cause extra slowness, due to PHP's usage of temporary zip files) // We use a percentage-based system as much as possible, to avoid the various criteria being in conflict with each other (i.e. a run being both 'slow' and 'fast' at the same time, which is increasingly likely as max_time gets smaller). if (!$updraftplus->something_useful_happened && $updraftplus->current_resumption >= 7) { UpdraftPlus_Job_Scheduler::something_useful_happened(); if ($run_times_known >= 5 && ($time_since_began > 0.8 * $max_time || $time_since_began + 7 > $max_time)) { $new_maxzipbatch = max(floor($maxzipbatch*0.8), 20971520); if ($new_maxzipbatch < $maxzipbatch) { $maxzipbatch = $new_maxzipbatch; $updraftplus->jobdata_set("maxzipbatch", $new_maxzipbatch); $updraftplus->log("We are within a small amount of the expected maximum amount of time available; the zip-writing thresholds will be reduced (time_passed=$time_since_began, normalised_time_passed=$normalised_time_since_began, max_time=$max_time, data points known=$run_times_known, old_max_bytes=$maxzipbatch, new_max_bytes=$new_maxzipbatch)"); } else { $updraftplus->log("We are within a small amount of the expected maximum amount of time available, but the zip-writing threshold is already at its lower limit (20MB), so will not be further reduced (max_time=$max_time, data points known=$run_times_known, max_bytes=$maxzipbatch)"); } } } else { UpdraftPlus_Job_Scheduler::something_useful_happened(); } } $data_added_since_reopen = 0; } else { // ZipArchive::close() can take a very long time, which we want to know about UpdraftPlus_Job_Scheduler::record_still_alive(); } clearstatcache(); $this->zipfiles_lastwritetime = time(); } } elseif (0 == $this->zipfiles_added_thisrun) { // Update lastwritetime, because otherwise the 2.0-second-activity detection can fire prematurely (e.g. if it takes >2.0 seconds to process the previously-written files, then the detector fires after 1 file. This then can have the knock-on effect of having something_useful_happened() called, but then a subsequent attempt to write out a lot of meaningful data fails, and the maximum batch is not then reduced. // Testing shows that calling time() 1000 times takes negligible time $this->zipfiles_lastwritetime = time(); } $this->zipfiles_added++; // Don't call something_useful_happened() here - nothing necessarily happens until close() is called if (0 == $this->zipfiles_added % 100) { $skip_dblog = ($this->zipfiles_added_thisrun > 0 || 0 == $this->zipfiles_added % 1000) ? false : true; $updraftplus->log("Zip: ".basename($zipfile).": ".$this->zipfiles_added." files added (on-disk size: ".round(@filesize($zipfile)/1024, 1)." KB)", 'notice', false, $skip_dblog);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } if ($bump_index) { $updraftplus->log(sprintf("Zip size is at/near split limit (%s MB / %s MB) - bumping index (from: %d)", $bumped_at, round($this->zip_split_every/1048576, 1), $this->index)); $bump_index = false; $this->bump_index(); $zipfile = $this->zip_basename.($this->index+1).'.zip.tmp'; } if (empty($zip)) { $zip = new $this->use_zip_object; // Give binzip the help it needs to deal with directory symlinks if (!empty($this->symlink_reversals) && is_callable(array($zip, 'ud_notify_symlink_reversals'))) { $zip->ud_notify_symlink_reversals($this->symlink_reversals); } if (file_exists($zipfile)) { $original_size = filesize($zipfile); // PHP 8.1 throws a deprecation notice if opening a zero-size file with ZipArchive, so in that situation, we remove and re-create it if ($original_size > 0) { $opencode = $zip->open($zipfile); clearstatcache(); } elseif (0 === $original_size) { unlink($zipfile); } else { $opencode = false; } } else { $original_size = 0; } if (0 === $original_size) { $create_code = (version_compare(PHP_VERSION, '5.2.12', '>') && defined('ZIPARCHIVE::CREATE')) ? ZIPARCHIVE::CREATE : 1; $opencode = $zip->open($zipfile, $create_code); } if (true !== $opencode) return new WP_Error('no_open', sprintf(__('Failed to open the zip file (%s) - %s', 'updraftplus'), $zipfile, $zip->last_error)); } } // Reset array $this->zipfiles_batched = array(); $this->zipfiles_skipped_notaltered = array(); if (false == ($nret = $zip->close())) $this->record_zip_error($files_zipadded_since_open, $zip->last_error, $warn_on_failures); if (apply_filters('updraftplus_include_manifest', false, $this->whichone, $this)) { if (!empty($this->manifest_path) && file_exists($this->manifest_path)) { $updraftplus->log('Removing manifest file: '.basename($this->manifest_path).': '.(@unlink($this->manifest_path) ? 'OK' : 'failed'));// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } } $this->zipfiles_lastwritetime = time(); // May not exist if the last thing we did was bump if (file_exists($zipfile) && filesize($zipfile) > $original_size) UpdraftPlus_Job_Scheduler::something_useful_happened(); // Move on to next archive? if (file_exists($zipfile) && filesize($zipfile) > $this->zip_split_every) { $updraftplus->log(sprintf("Zip size has gone over split limit (%s, %s) - bumping index (%d)", round(filesize($zipfile)/1048576, 1), round($this->zip_split_every/1048576, 1), $this->index)); $this->bump_index(); } $manifest = preg_replace('/\.tmp$/', '.list.tmp', $zipfile); if (!file_exists($manifest)) $this->write_zip_manifest_from_zip($zipfile); clearstatcache(); return (false == $ret) ? false : $nret; } private function record_zip_error($files_zipadded_since_open, $msg, $warn = true) { global $updraftplus; if (!empty($updraftplus->cpanel_quota_readable)) { $hosting_bytes_free = $updraftplus->get_hosting_disk_quota_free(); if (is_array($hosting_bytes_free)) { $perc = round(100*$hosting_bytes_free[1]/(max($hosting_bytes_free[2], 1)), 1); $quota_free_msg = sprintf('Free disk space in account: %s (%s used)', round($hosting_bytes_free[3]/1048576, 1)." MB", "$perc %"); $updraftplus->log($quota_free_msg); if ($hosting_bytes_free[3] < 1048576*50) { $quota_low = true; $quota_free_mb = round($hosting_bytes_free[3]/1048576, 1); $updraftplus->log(sprintf(__('Your free space in your hosting account is very low - only %s Mb remain', 'updraftplus'), $quota_free_mb), 'warning', 'lowaccountspace'.$quota_free_mb); } } } // Always warn of this if (strpos($msg, 'File Size Limit Exceeded') !== false && 'UpdraftPlus_BinZip' == $this->use_zip_object) { $updraftplus->log(sprintf(__('The zip engine returned the message: %s.', 'updraftplus'), 'File Size Limit Exceeded'). __('Go here for more information.', 'updraftplus').' https://updraftplus.com/what-should-i-do-if-i-see-the-message-file-size-limit-exceeded/', 'warning', 'zipcloseerror-filesizelimit'); } elseif ($warn) { $warn_msg = __('A zip error occurred', 'updraftplus').' - '; if (!empty($quota_low)) { $warn_msg = sprintf(__('your web hosting account is full; please see: %s', 'updraftplus'), 'https://updraftplus.com/faqs/how-much-free-disk-space-do-i-need-to-create-a-backup/'); } else { $warn_msg .= __('check your log for more details.', 'updraftplus'); } $updraftplus->log($warn_msg, 'warning', 'zipcloseerror-'.$this->whichone); } $updraftplus->log("The attempt to close the zip file returned an error ($msg). List of files we were trying to add follows (check their permissions)."); foreach ($files_zipadded_since_open as $ffile) { $updraftplus->log("File: ".$ffile['addas']." (exists: ".(int) @file_exists($ffile['file']).", is_readable: ".(int) @is_readable($ffile['file'])." size: ".@filesize($ffile['file']).')', 'notice', false, true);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } } /** * Bump the zip index number. No parameters or returned value, since it is dealing with class variables. */ private function bump_index() { global $updraftplus; $youwhat = $this->whichone; $timetaken = max(microtime(true)-$this->zip_microtime_start, 0.000001); $itext = (0 == $this->index) ? '' : ($this->index+1); $full_path = $this->zip_basename.$itext.'.zip'; $checksums = $updraftplus->which_checksums(); $checksum_description = ''; foreach ($checksums as $checksum) { $cksum = hash_file($checksum, $full_path.'.tmp'); $updraftplus->jobdata_set($checksum.'-'.$youwhat.$this->index, $cksum); if ($checksum_description) $checksum_description .= ', '; $checksum_description .= "$checksum: $cksum"; } $next_full_path = $this->zip_basename.($this->index+2).'.zip'; // We touch the next zip before renaming the temporary file; this indicates that the backup for the entity is not *necessarily* finished touch($next_full_path.'.tmp'); if (file_exists($full_path.'.tmp') && filesize($full_path.'.tmp') > 0) { if (!rename($full_path.'.tmp', $full_path)) { $updraftplus->log("Rename failed for $full_path.tmp"); } else { $manifest = $full_path.'.list.tmp'; if (!file_exists($manifest)) $this->write_zip_manifest_from_zip($full_path); UpdraftPlus_Job_Scheduler::something_useful_happened(); } } $kbsize = filesize($full_path)/1024; $rate = round($kbsize/$timetaken, 1); $updraftplus->log("Created ".$this->whichone." zip (".$this->index.") - ".round($kbsize, 1)." KB in ".round($timetaken, 1)." s ($rate KB/s) (checksums: $checksum_description)"); $this->zip_microtime_start = microtime(true); // No need to add $itext here - we can just delete any temporary files for this zip UpdraftPlus_Filesystem_Functions::clean_temporary_files('_'.$updraftplus->file_nonce."-".$youwhat, 600); $prior_index = $this->index; $this->index++; $this->job_file_entities[$youwhat]['index'] = $this->index; $updraftplus->jobdata_set('job_file_entities', $this->job_file_entities); $this->maybe_cloud_backup(basename($full_path), $this->whichone, $prior_index); } /** * This function will populate $this->existing_files with a list of files found inside the passed in zip * * @param string $zip_path - the zip file name we want to list files for; must end in .tmp * @param boolean $read_from_manifest - a boolean to indicate if we should try to read from the manifest or not * * @return void */ private function populate_existing_files_list($zip_path, $read_from_manifest) { global $updraftplus; // Get the name of the final manifest file if (preg_match('/\.tmp$/', $zip_path)) { $manifest = preg_replace('/\.tmp$/', '.list.tmp', $zip_path); } else { $manifest = $zip_path.'.list.tmp'; } if ($read_from_manifest && file_exists($manifest)) { $manifest_contents = json_decode(file_get_contents($manifest), true); if (empty($manifest_contents)) { $updraftplus->log("Zip manifest file found, but reading failed: ".basename($manifest)); } elseif (!empty($manifest_contents['files'])) { $this->existing_files = array_merge($this->existing_files, $manifest_contents['files'][0]); $updraftplus->log('Successfully read zip manifest file contents ('.basename($manifest).')'); return; } else { $updraftplus->log("Zip manifest file found, but no files contents were found: ".basename($manifest)); } } elseif ($read_from_manifest) { $updraftplus->log("No zip manifest file found; will create one"); } $zip = new $this->use_zip_object; if (true !== $zip->open($zip_path)) { $updraftplus->log("Could not open zip file to examine (".$zip->last_error."); will remove: ".basename($zip_path)); unlink($zip_path); } else { $this->existing_zipfiles_size += filesize($zip_path); // Don't put this in the for loop, or the magic __get() method which accessing the property invokes gets repeatedly called every time the loop goes round $numfiles = $zip->numFiles; if (false === $numfiles) { $updraftplus->log("Could not read any files from the zip (".$zip->last_error."): ".basename($zip_path)); $zip->close(); return; } for ($i=0; $i < $numfiles; $i++) { $si = $zip->statIndex($i); $name = $si['name']; // Exclude folders if ('/' == substr($name, -1)) continue; if (!isset($this->existing_files[$name])) { $this->existing_files[$name] = $si['size']; $this->existing_files_rawsize += $si['size']; } } @$zip->close();// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. $updraftplus->log(basename($zip_path).": Zip file already exists, with ".count($this->existing_files)." files"); // If this is a .tmp file (partial zip) then return we do not want to create an incomplete manifest file if (preg_match('/\.tmp$/', $zip_path)) return; $manifest = $zip_path.'.list-temp.tmp'; $this->write_zip_manifest_from_list($manifest, $this->existing_files); } } /** * This function will get a list of files found inside the passed in zip and call the function to create the zip manifest, returns true on success and false on failure * * @uses self::write_zip_manifest_from_list() * @param string $zip_path - the zip file path; must end in .tmp * * @return boolean - returns true on success and false on failure */ private function write_zip_manifest_from_zip($zip_path) { global $updraftplus; $zip_files = array(); $zip = new $this->use_zip_object; if (true !== $zip->open($zip_path)) { $updraftplus->log("Could not open zip file to examine (".$zip->last_error."); file: ".basename($zip_path)); return false; } else { // Don't put this in the for loop, or the magic __get() method gets repeatedly called every time the loop goes round $numfiles = $zip->numFiles; if (false === $numfiles) $updraftplus->log("write_zip_manifest_from_zip(): Could not read any files from the zip: (".basename($zip_path).") Zip error: (".$zip->last_error.")"); for ($i=0; $i < $numfiles; $i++) { $si = $zip->statIndex($i); $name = $si['name']; // Exclude folders if ('/' == substr($name, -1)) continue; $zip_files[$name] = $si['size']; } @$zip->close();// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } if (empty($zip_files)) { $updraftplus->log("Did not find any files in the zip: ".basename($zip_path)); return false; } if (preg_match('/\.tmp$/', $zip_path)) { $manifest = preg_replace('/\.tmp$/', '.list-temp.tmp', $zip_path); } else { $manifest = $zip_path.'.list-temp.tmp'; } $this->write_zip_manifest_from_list($manifest, $zip_files); return true; } /** * This function will create and write the contents of the zip manifest * * @param string $manifest - path of the manifest file * @param array $zip_files - an array of files and their sizes * * @return boolean - returns false on failure to write */ private function write_zip_manifest_from_list($manifest, $zip_files) { global $updraftplus; $updraftplus->log('Creating zip file manifest ('.basename($manifest).')'); if (false === ($handle = fopen($manifest, 'w+'))) { $updraftplus->log('Failed to open zip manifest file ('.basename($manifest).')'); return false; } $version = 1; if (false === fwrite($handle, '{"version":'.$version.', "files":[{')) { $updraftplus->log('First write to manifest file failed ('.basename($manifest).')'); return false; } $last_dir_index = key(array_slice($zip_files, -1, 1, true)); foreach ($zip_files as $name => $size) { fwrite($handle, json_encode($name).' : '.$size.(($name != $last_dir_index) ? ',' : '')); } fwrite($handle, '}]}'); fclose($handle); $updraftplus->log("Successfully created zip file manifest (size: ".filesize($manifest).")"); $final_manifest = preg_replace('/\.list-temp.tmp$/', '.list.tmp', $manifest); rename($manifest, $final_manifest); } /** * Returns the member of the array with key (int)0, as a new array. This function is used as a callback for array_map(). * * @param Array $a - the array * * @return Array - with keys 'name' and 'type' */ private function cb_get_name_base_type($a) { return array('name' => $a[0], 'type' => 'BASE TABLE'); } /** * Returns the members of the array with keys (int)0 and (int)1, as part of a new array. * * @param Array $a - the array * * @return Array - keys are 'name' and 'type' */ private function cb_get_name_type($a) { return array('name' => $a[0], 'type' => $a[1]); } /** * Returns the member of the array with key (string)'name'. This function is used as a callback for array_map(). * * @param Array $a - the array * * @return Mixed - the value with key (string)'name' */ private function cb_get_name($a) { return $a['name']; } /** * Exclude files from backup * * @param Boolean $filter initial boolean value of whether the given file is excluded or not * @param String $file the full path of the filename to be checked * @return Boolean true if the specified file will be excluded, false otherwise */ public function backup_exclude_file($filter, $file) { foreach ($this->backup_excluded_patterns as $pattern) { if (0 === stripos($file, $pattern['directory']) && preg_match($pattern['regex'], $file)) return true; } return $filter; } } class UpdraftPlus_WPDB_OtherDB extends wpdb { /** * This adjusted bail() does two things: 1) Never dies and 2) logs in the UD log * * @param String $message Error text * @param String $error_code Error code * * @return Boolean */ public function bail($message, $error_code = '500') { global $updraftplus; if ('db_connect_fail' == $error_code) $message = 'Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled.'; $updraftplus->log("WPDB_OtherDB error: $message ($error_code)"); // Now do the things that would have been done anyway if (class_exists('WP_Error')) { $this->error = new WP_Error($error_code, $message); } else { $this->error = $message; } return false; } } js/updraft-admin-restore.js000064400000032001147400355670011741 0ustar00var updraft_restore_screen = true; jQuery(function($) { var job_id = $('#updraftplus_ajax_restore_job_id').val(); var action = $('#updraftplus_ajax_restore_action').val(); var updraft_restore_update_timer; var last_received = 0; var $output = $('#updraftplus_ajax_restore_output'); var $steps_list = $('.updraft_restore_components_list'); var previous_stage; var current_stage; var logged_out = false; var auto_resume_count = 0; var server_500_count = 0; $('#updraft-restore-hidethis').remove(); updraft_restore_command(job_id, action); /** * This function will start the restore over ajax for the passed in job_id. * * @param {string} job_id - the restore job id * @param {string} action - the restore action */ function updraft_restore_command(job_id, action) { var xhttp = new XMLHttpRequest(); var xhttp_data = 'action=' + action + '&updraftplus_ajax_restore=do_ajax_restore&job_id=' + job_id; if ('updraft_ajaxrestore' === action) xhttp_data += '&nonce=' + updraft_credentialtest_nonce; var previous_data_length = 0; var show_alert = true; var debug = $('#updraftplus_ajax_restore_debug').length; xhttp.open("POST", ajaxurl, true); xhttp.onprogress = function(response) { if (response.currentTarget.status >= 200 && response.currentTarget.status < 300) { if (-1 !== response.currentTarget.responseText.indexOf(''+(restore_data.data.fileindex)+'
    ').replace('%s2', ''+restore_data.data.total_files+'')); } if ('db' == restore_data.stage) { if (restore_data.data.hasOwnProperty('stage')) { if ('table' == restore_data.data.stage) { $current.find('.updraft_component--progress').html(' — '+updraftlion.restore_db_table_progress.replace('%s', ''+(restore_data.data.table)+'')); } else if ('stored_routine' == restore_data.data.stage) { $current.find('.updraft_component--progress').html(' — '+updraftlion.restore_db_stored_routine_progress.replace('%s', ''+(restore_data.data.routine_name)+'')); } else if ('finished' == restore_data.data.stage) { $current.find('.updraft_component--progress').html(' — '+updraftlion.finished); } else if ('begun' == restore_data.data.stage) { $current.find('.updraft_component--progress').html(' — '+updraftlion.begun+'...'); } } } if (previous_stage !== current_stage) { if (previous_stage) { var $prev = $steps_list.find('[data-component='+previous_stage+']'); // empty the line's status $prev.find('.updraft_component--progress').html(''); $prev.removeClass('active').addClass('done'); } if ('finished' == current_stage) { $current.addClass('done'); $steps_list.find('[data-component]').each(function(index, el) { $el = $(el); if (!$el.is('.done')) { $el.addClass('error'); } }); if (restore_data.data.hasOwnProperty('actions') && 'object' == typeof restore_data.data.actions) { var pages_found = updraft_restore_get_pages(restore_data.data.urls); if (!$.isEmptyObject(pages_found)) { $('.updraft_restore_result').before(updraftlion.ajax_restore_404_detected); $.each(pages_found, function(index, url) { $('.updraft_missing_pages').append('
  • '+url+'
  • '); }); } $.each(restore_data.data.actions, function(index, item) { $steps_list.after(''+index+''); }); } } else { $current.addClass('active'); } } previous_stage = current_stage; } } } /** * This function will update the time in the front end that we last received data, after 120 seconds call the resume restore notice */ function updraft_restore_update() { var current_time = Math.round(Date.now() / 1000); var last_activity = current_time - last_received; if (60 > last_activity) { $('#updraftplus_ajax_restore_last_activity').html(updraftlion.last_activity.replace('%d', last_activity)); } else { var resume_in = 120 - last_activity; if (0 < resume_in) { $('#updraftplus_ajax_restore_last_activity').html(updraftlion.no_recent_activity.replace('%d', resume_in)); } else { $('#updraftplus_ajax_restore_last_activity').html(''); updraft_restore_resume_notice(); } } } /** * This will move the filesystem form to take all the required space */ function updraft_restore_setup_filesystem_form() { // Hiding things is handled via CSS $('.updraft_restore_main').addClass('show-credentials-form'); if ($('#message').length) { $('.restore-credential-errors .restore-credential-errors--list').appendTo($('#message')); $('.restore-credential-errors .restore-credential-errors--link').appendTo($('#message')); } } /** * This function will make a call to the backend to get the resume restore notice so the user can resume the timed out restore from the same page */ function updraft_restore_resume_notice() { updraft_send_command('get_restore_resume_notice', { job_id: job_id }, function(response) { if (response.hasOwnProperty('status') && 'success' == response.status && response.hasOwnProperty('html')) { if (updraft_restore_update_timer) clearInterval(updraft_restore_update_timer); if ('plugins' != current_stage && 'db' != current_stage && 5 > auto_resume_count) { auto_resume_count++; updraft_restore_command(job_id, 'updraft_ajaxrestore_continue'); } else { $('.updraft_restore_main--components').prepend(response.html); } } else if (response.hasOwnProperty('error_code') && response.hasOwnProperty('error_message')) { if (updraft_restore_update_timer) clearInterval(updraft_restore_update_timer); alert(response.error_code + ': ' + response.error_message); console.log(response.error_code + ': ' + response.error_message); } }, { error_callback: function (response, status, error_code, resp) { if (500 == response.status && 3 > server_500_count) { server_500_count++; updraft_restore_command(job_id, 'updraft_ajaxrestore_continue'); } else { updraft_restore_process_data({stage: 'finished', type: 'state_change'}) var error_message = "updraft_send_command: error: " + status + " (" + error_code + ")"; alert(error_message); console.log(error_message); console.log(response); } } }); } /** * This function will make a call to the passed in urls and check if the response code is a 404 if it is then add it to the array of urls that are not found and return it * * @param {array} urls - the urls we want to test * * @return {array} an array of urls not found */ function updraft_restore_get_pages(urls) { var urls_not_found = []; $.each(urls, function(index, url) { var xhttp = new XMLHttpRequest(); xhttp.open('GET', url, false); xhttp.send(null); if (xhttp.status == 404) urls_not_found.push(url); }); return urls_not_found; } $('#updraftplus_ajax_restore_progress').on('click', '#updraft_restore_resume', function(e) { e.preventDefault(); $("#updraftplus_ajax_restore_progress").slideUp(1000, function () { $(this).remove(); }); updraft_restore_command(job_id, 'updraft_ajaxrestore_continue'); }); $(document).on('heartbeat-tick', function (event, heartbeat_data) { if (!heartbeat_data.hasOwnProperty('wp-auth-check')) return; // check if we are logged out if (!heartbeat_data["wp-auth-check"]) { logged_out = true; return; } // if we were previously logged out but are now logged in retry the restore if (logged_out && heartbeat_data["wp-auth-check"]) { last_received = Math.round(Date.now() / 1000); logged_out = false; } if (!heartbeat_data.hasOwnProperty('updraftplus')) return; var updraftplus_data = heartbeat_data.updraftplus; // if we are logged in, check if theres a new nonce if (updraftplus_data.hasOwnProperty('updraft_credentialtest_nonce')) { updraft_credentialtest_nonce = updraftplus_data.updraft_credentialtest_nonce; last_received = Math.round(Date.now() / 1000); } }); }); js/updraft-admin-restore-1-24-4.min.js000064400000014412147400355670013253 0ustar00var updraft_restore_screen=!0;jQuery(function(p){var o,n,d,l=p("#updraftplus_ajax_restore_job_id").val(),e=p("#updraftplus_ajax_restore_action").val(),u=0,i=p("#updraftplus_ajax_restore_output"),_=p(".updraft_restore_components_list"),r=!1,c=0,f=0;function g(e,t){var r=new XMLHttpRequest,e="action="+t+"&updraftplus_ajax_restore=do_ajax_restore&job_id="+e,o=("updraft_ajaxrestore"===t&&(e+="&nonce="+updraft_credentialtest_nonce),0),n=!0,d=p("#updraftplus_ajax_restore_debug").length;r.open("POST",ajaxurl,!0),r.onprogress=function(e){if(200<=e.currentTarget.status&&e.currentTarget.status<300){if(-1!==e.currentTarget.responseText.indexOf(""+e.data.fileindex+"
    ").replace("%s2",""+e.data.total_files+"")),"db"==e.stage&&e.data.hasOwnProperty("stage")&&("table"==e.data.stage?t.find(".updraft_component--progress").html(" — "+updraftlion.restore_db_table_progress.replace("%s",""+e.data.table+"")):"stored_routine"==e.data.stage?t.find(".updraft_component--progress").html(" — "+updraftlion.restore_db_stored_routine_progress.replace("%s",""+e.data.routine_name+"")):"finished"==e.data.stage?t.find(".updraft_component--progress").html(" — "+updraftlion.finished):"begun"==e.data.stage&&t.find(".updraft_component--progress").html(" — "+updraftlion.begun+"...")),n!==d&&(n&&((a=_.find("[data-component="+n+"]")).find(".updraft_component--progress").html(""),a.removeClass("active").addClass("done")),"finished"==d?(t.addClass("done"),_.find("[data-component]").each(function(e,t){($el=p(t)).is(".done")||$el.addClass("error")}),e.data.hasOwnProperty("actions")&&"object"==typeof e.data.actions&&(a=e.data.urls,s=[],p.each(a,function(e,t){var r=new XMLHttpRequest;r.open("GET",t,!1),r.send(null),404==r.status&&s.push(t)}),r=s,p.isEmptyObject(r)||(p(".updraft_restore_result").before(updraftlion.ajax_restore_404_detected),p.each(r,function(e,t){p(".updraft_missing_pages").append("
  • "+t+"
  • ")})),p.each(e.data.actions,function(e,t){_.after(''+e+"")}))):t.addClass("active")),n=d)}p("#updraft-restore-hidethis").remove(),g(l,e),p("#updraftplus_ajax_restore_progress").on("click","#updraft_restore_resume",function(e){e.preventDefault(),p("#updraftplus_ajax_restore_progress").slideUp(1e3,function(){p(this).remove()}),g(l,"updraft_ajaxrestore_continue")}),p(document).on("heartbeat-tick",function(e,t){t.hasOwnProperty("wp-auth-check")&&(t["wp-auth-check"]?(r&&t["wp-auth-check"]&&(u=Math.round(Date.now()/1e3),r=!1),t.hasOwnProperty("updraftplus")&&(t=t.updraftplus).hasOwnProperty("updraft_credentialtest_nonce")&&(updraft_credentialtest_nonce=t.updraft_credentialtest_nonce,u=Math.round(Date.now()/1e3))):r=!0)})});js/updraft-admin-restore-1-24-6.min.js000064400000014412147400355670013255 0ustar00var updraft_restore_screen=!0;jQuery(function(p){var o,n,d,l=p("#updraftplus_ajax_restore_job_id").val(),e=p("#updraftplus_ajax_restore_action").val(),u=0,i=p("#updraftplus_ajax_restore_output"),_=p(".updraft_restore_components_list"),r=!1,c=0,f=0;function g(e,t){var r=new XMLHttpRequest,e="action="+t+"&updraftplus_ajax_restore=do_ajax_restore&job_id="+e,o=("updraft_ajaxrestore"===t&&(e+="&nonce="+updraft_credentialtest_nonce),0),n=!0,d=p("#updraftplus_ajax_restore_debug").length;r.open("POST",ajaxurl,!0),r.onprogress=function(e){if(200<=e.currentTarget.status&&e.currentTarget.status<300){if(-1!==e.currentTarget.responseText.indexOf(""+e.data.fileindex+"").replace("%s2",""+e.data.total_files+"")),"db"==e.stage&&e.data.hasOwnProperty("stage")&&("table"==e.data.stage?t.find(".updraft_component--progress").html(" — "+updraftlion.restore_db_table_progress.replace("%s",""+e.data.table+"")):"stored_routine"==e.data.stage?t.find(".updraft_component--progress").html(" — "+updraftlion.restore_db_stored_routine_progress.replace("%s",""+e.data.routine_name+"")):"finished"==e.data.stage?t.find(".updraft_component--progress").html(" — "+updraftlion.finished):"begun"==e.data.stage&&t.find(".updraft_component--progress").html(" — "+updraftlion.begun+"...")),n!==d&&(n&&((a=_.find("[data-component="+n+"]")).find(".updraft_component--progress").html(""),a.removeClass("active").addClass("done")),"finished"==d?(t.addClass("done"),_.find("[data-component]").each(function(e,t){($el=p(t)).is(".done")||$el.addClass("error")}),e.data.hasOwnProperty("actions")&&"object"==typeof e.data.actions&&(a=e.data.urls,s=[],p.each(a,function(e,t){var r=new XMLHttpRequest;r.open("GET",t,!1),r.send(null),404==r.status&&s.push(t)}),r=s,p.isEmptyObject(r)||(p(".updraft_restore_result").before(updraftlion.ajax_restore_404_detected),p.each(r,function(e,t){p(".updraft_missing_pages").append("
  • "+t+"
  • ")})),p.each(e.data.actions,function(e,t){_.after(''+e+"")}))):t.addClass("active")),n=d)}p("#updraft-restore-hidethis").remove(),g(l,e),p("#updraftplus_ajax_restore_progress").on("click","#updraft_restore_resume",function(e){e.preventDefault(),p("#updraftplus_ajax_restore_progress").slideUp(1e3,function(){p(this).remove()}),g(l,"updraft_ajaxrestore_continue")}),p(document).on("heartbeat-tick",function(e,t){t.hasOwnProperty("wp-auth-check")&&(t["wp-auth-check"]?(r&&t["wp-auth-check"]&&(u=Math.round(Date.now()/1e3),r=!1),t.hasOwnProperty("updraftplus")&&(t=t.updraftplus).hasOwnProperty("updraft_credentialtest_nonce")&&(updraft_credentialtest_nonce=t.updraft_credentialtest_nonce,u=Math.round(Date.now()/1e3))):r=!0)})});js/tour-1-24-4.min.js000064400000021454147400355670010034 0ustar00!function(a){a(function(){var t,e,n,o;function u(){n.canceled=!0;var t={current_step:this.getCurrentStep().id};"function"==typeof updraft_send_command?updraft_send_command("set_tour_status",t,function(t){console.log("Successfully deactivated tour")},{alert_on_error:!1}):jQuery.ajax({url:ajaxurl,type:"POST",data:{action:"updraft_ajax",subaction:"set_tour_status",nonce:updraftplus_tour_i18n.nonce,current_step:this.getCurrentStep().id}})}a(".updraftplus-welcome .close").on("click",function(t){t.preventDefault(),a(this).closest(".updraftplus-welcome").remove()}),window.Shepherd&&(t="button button-primary",e=window.updraft_plugins_page_tour=new Shepherd.Tour,(n=window.updraft_main_tour=new Shepherd.Tour).options.defaults=e.options.defaults={classes:"shepherd-theme-arrows-plain-buttons shepherd-main-tour",showCancelLink:!0,scrollTo:!1,tetherOptions:{constraints:[{to:"scrollParent",attachment:"together",pin:!1}]}},e.addStep("intro",{title:updraftplus_tour_i18n.plugins_page.title,text:updraftplus_tour_i18n.plugins_page.text,attachTo:".js-updraftplus-settings top",buttons:[{classes:t,text:updraftplus_tour_i18n.plugins_page.button.text,action:function(){window.location=updraftplus_tour_i18n.plugins_page.button.url}}],tetherOptions:{constraints:[{to:"scrollParent",attachment:"together",pin:!1}],offset:"20px 0"},when:{show:function(){a("body").addClass("highlight-udp");var t=a(this.el);a("body, html").animate({scrollTop:t.offset().top-50},500,function(){window.scrollTo(0,t.offset().top-50)})},hide:function(){a("body").removeClass("highlight-udp")}}}),n.addStep("backup_now",{title:updraftplus_tour_i18n.backup_now.title,text:updraftplus_tour_i18n.backup_now.text,attachTo:"#updraft-backupnow-button bottom",buttons:[{classes:"udp-tour-end",text:updraftplus_tour_i18n.end_tour,action:n.cancel},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraft-navtab-settings").trigger("click")}}]}),n.addStep("backup_options",{title:updraftplus_tour_i18n.backup_options.title,text:updraftplus_tour_i18n.backup_options.text,classes:"shepherd-theme-arrows-plain-buttons shepherd-main-tour super-index",attachTo:"#backupnow_includedb left",tetherOptions:{offset:"-15px 25px"},buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){a("#updraft-backupnow-modal").dialog("close")}},{classes:t,text:updraftplus_tour_i18n.next,action:n.next}]}),n.addStep("backup_now_btn",{title:updraftplus_tour_i18n.backup_now_btn.title,text:updraftplus_tour_i18n.backup_now_btn.text,classes:"shepherd-theme-arrows-plain-buttons shepherd-main-tour super-index",attachTo:".js-tour-backup-now-button top",buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.backup_now_btn.btn_text,action:function(){a("#updraft-backupnow-modal").dialog("close"),a("#updraft-navtab-settings").trigger("click")}}]}),n.addStep("backup_now_btn_success",{title:updraftplus_tour_i18n.backup_now_btn_success.title,text:updraftplus_tour_i18n.backup_now_btn_success.text,attachTo:"#updraft_activejobs_table top",buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){a("#updraft-backupnow-button").trigger("click"),n.show("backup_now_btn")}},{classes:t,text:updraftplus_tour_i18n.backup_now_btn_success.btn_text,action:function(){a("#updraft-navtab-settings").trigger("click")}}],when:{show:function(){setTimeout(function(){a(window).trigger("scroll")})}}}),n.addStep("settings_timing",{title:updraftplus_tour_i18n.settings_timing.title,text:updraftplus_tour_i18n.settings_timing.text,attachTo:".retain-files right",buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){a("#updraft-navtab-backups").trigger("click")}},{classes:t,text:updraftplus_tour_i18n.next,action:n.next}],tetherOptions:a.extend({},n.options.defaults.tetherOptions,{offset:"-33px -15px"}),when:{show:function(){o()}}}),n.addStep("settings_remote_storage",{title:updraftplus_tour_i18n.settings_remote_storage.title,text:updraftplus_tour_i18n.settings_remote_storage.text,attachTo:{element:"label[for=updraft_servicecheckbox_updraftvault]",on:"top"},buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraft_servicecheckbox_updraftvault").is(":checked")?n.show("vault_selected"):n.next()}}],when:{show:function(t){a("label[for=updraft_servicecheckbox_updraftvault]").addClass("emphasize"),o()},hide:function(t){a("label[for=updraft_servicecheckbox_updraftvault]").removeClass("emphasize")}}}),n.addStep("settings_more",{title:updraftplus_tour_i18n.settings_more.title,text:updraftplus_tour_i18n.settings_more.text,attachTo:".js-tour-settings-more top",scrollTo:!1,tetherOptions:{},buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:n.next}],when:{show:function(){o()}}}),n.addStep("settings_save",{title:updraftplus_tour_i18n.settings_save.title,text:updraftplus_tour_i18n.settings_save.text,attachTo:"#updraftplus-settings-save top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraftcentral_cloud_connect_container").length?n.show("updraft_central"):a("#updraft-navtab-addons").trigger("click")}}],when:{show:function(){o()}}}),n.addStep("updraft_central",{title:updraftplus_tour_i18n.updraft_central.title,text:updraftplus_tour_i18n.updraft_central.text,attachTo:"#updraftcentral_cloud_connect_container top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraft-navtab-addons").trigger("click")}}],when:{show:function(){o()}}}),n.addStep("premium",{title:updraftplus_tour_i18n.premium.title,text:updraftplus_tour_i18n.premium.text,attachTo:updraftplus_tour_i18n.premium.attach_to,scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.going_somewhere=!0,a("#updraft-navtab-settings").trigger("click"),a("#updraftcentral_cloud_connect_container").length?n.show("updraft_central"):n.show("settings_save"),o()}},{classes:t,text:updraftplus_tour_i18n.premium.button,action:n.cancel}],when:{show:function(){window.scroll(0,0)}}}),n.addStep("vault_selected",{title:updraftplus_tour_i18n.vault_selected.title,text:updraftplus_tour_i18n.vault_selected.text,attachTo:"#updraftvault_settings_cell top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.show("settings_remote_storage")}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){n.show("settings_more")}}],when:{show:function(t){o()}}}),n.addStep("settings_saved",{title:updraftplus_tour_i18n.settings_saved.title,text:updraftplus_tour_i18n.settings_saved.text,attachTo:"#updraftplus-settings-save top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.show("settings_more")}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraftcentral_cloud_connect_container").length?n.show("updraft_central"):a("#updraft-navtab-addons").trigger("click")}}],when:{show:function(){o()}}}),n.steps.forEach(function(t){t.once("show",function(){a(this.el).find("header .shepherd-cancel-link").attr("data-btntext",updraftplus_tour_i18n.close),a(this.el).find(".js--go-to-settings").on("click",function(t){t.preventDefault(),a("#updraft-navtab-settings").trigger("click")})})}),n.on("cancel",u),e.on("cancel",u),o=function(t){n.going_somewhere=!1,t=t||n.getCurrentStep();var e=a(t.el);a(t.tether.target);a("body, html").animate({scrollTop:e.offset().top-50},500,function(){window.scrollTo(0,e.offset().top-50)})},a("#updraft-backupnow-button").length&&(a("#updraft-backupnow-button").on("click",function(t){n.canceled||n.show("backup_options")}),a("#updraft-navtab-backups").on("click",function(t){n.canceled||n.show("backup_now")}),a(document).on("click","label[for=updraft_servicecheckbox_updraftvault]",function(t){n.canceled||a("#updraft_servicecheckbox_updraftvault").is(":checked")||setTimeout(function(){n.show("vault_selected")},200)}),a("#updraft-backupnow-modal").on("dialogclose",function(t,e){n.canceled||n.show("backup_now")}),a(".js-tour-backup-now-button").on("click",function(t){n.canceled||n.show("backup_now_btn_success")}),a("#updraft-navtab-settings").on("click",function(t){n.canceled||n.going_somewhere||n.show("settings_timing")}),a("#updraft-navtab-addons").on("click",function(t){n.canceled||n.show("premium")}),a("#updraft-navtab-migrate, #updraft-navtab-expert").on("click",function(t){n.canceled||n.hide()}),n.start(),(updraftplus_tour_i18n.show_tab_on_load?a(updraftplus_tour_i18n.show_tab_on_load):a("#updraft-navtab-backups")).trigger("click")),a(".js-updraftplus-settings").length)&&e.start()})}(jQuery);js/tour.js000064400000034074147400355670006532 0ustar00(function ($) { $(function() { /* Plugins page splash screen on activation */ $('.updraftplus-welcome .close').on('click', function(e) { e.preventDefault(); $(this).closest('.updraftplus-welcome').remove(); }); /* Updraftplus page tour */ // if Shepherd is undefined, exit. if (!window.Shepherd) return; var button_classes = 'button button-primary'; var plugins_page_tour = window.updraft_plugins_page_tour = new Shepherd.Tour(); var main_tour = window.updraft_main_tour = new Shepherd.Tour(); // Set up the defaults for each step main_tour.options.defaults = plugins_page_tour.options.defaults = { classes: 'shepherd-theme-arrows-plain-buttons shepherd-main-tour', showCancelLink: true, scrollTo: false, tetherOptions: { constraints: [ { to: 'scrollParent', attachment: 'together', pin: false } ] } }; /* Plugins page */ plugins_page_tour.addStep('intro', { title: updraftplus_tour_i18n.plugins_page.title, text: updraftplus_tour_i18n.plugins_page.text, attachTo: '.js-updraftplus-settings top', buttons: [ { classes: button_classes, text: updraftplus_tour_i18n.plugins_page.button.text, action: function() { window.location = updraftplus_tour_i18n.plugins_page.button.url; } } ], tetherOptions: { constraints: [ { to: 'scrollParent', attachment: 'together', pin: false } ], offset: '20px 0' }, when: { show: function() { $('body').addClass('highlight-udp'); var popup = $(this.el); // var target = $(this.tether.target); $('body, html').animate({ scrollTop: popup.offset().top - 50 }, 500, function() { window.scrollTo(0, popup.offset().top - 50); }); }, hide: function() { $('body').removeClass('highlight-udp'); } } }); /* Main Tour steps */ // 1. Your first backup main_tour.addStep('backup_now', { title: updraftplus_tour_i18n.backup_now.title, text: updraftplus_tour_i18n.backup_now.text, attachTo: '#updraft-backupnow-button bottom', buttons: [ { classes: 'udp-tour-end', text: updraftplus_tour_i18n.end_tour, action: main_tour.cancel }, { classes: button_classes, text: updraftplus_tour_i18n.next, action: function() { $('#updraft-navtab-settings').trigger('click'); } } ] }); // Manual backup options main_tour.addStep('backup_options', { title: updraftplus_tour_i18n.backup_options.title, text: updraftplus_tour_i18n.backup_options.text, classes: 'shepherd-theme-arrows-plain-buttons shepherd-main-tour super-index', attachTo: '#backupnow_includedb left', tetherOptions: { offset: '-15px 25px' }, buttons: [ { classes: 'udp-tour-back', text: updraftplus_tour_i18n.back, action: function() { $('#updraft-backupnow-modal').dialog('close'); } }, { classes: button_classes, text: updraftplus_tour_i18n.next, action: main_tour.next } ] }); // Backup Now button main_tour.addStep('backup_now_btn', { title: updraftplus_tour_i18n.backup_now_btn.title, text: updraftplus_tour_i18n.backup_now_btn.text, classes: 'shepherd-theme-arrows-plain-buttons shepherd-main-tour super-index', attachTo: '.js-tour-backup-now-button top', buttons: [ { classes: 'udp-tour-back', text: updraftplus_tour_i18n.back, action: function() { main_tour.back(); } }, { classes: button_classes, text: updraftplus_tour_i18n.backup_now_btn.btn_text, action: function() { $('#updraft-backupnow-modal').dialog('close'); $('#updraft-navtab-settings').trigger('click'); } } ] }); // Congratulations - Shows when a user clicks "backup now" in the modal main_tour.addStep('backup_now_btn_success', { title: updraftplus_tour_i18n.backup_now_btn_success.title, text: updraftplus_tour_i18n.backup_now_btn_success.text, attachTo: '#updraft_activejobs_table top', buttons: [ { classes: 'udp-tour-back', text: updraftplus_tour_i18n.back, action: function() { $('#updraft-backupnow-button').trigger('click'); main_tour.show('backup_now_btn'); } }, { classes: button_classes, text: updraftplus_tour_i18n.backup_now_btn_success.btn_text, action: function() { $('#updraft-navtab-settings').trigger('click'); } } ], when: { show: function() { setTimeout(function() { $(window).trigger('scroll'); }) } } }) // Settings - timing main_tour.addStep('settings_timing', { title: updraftplus_tour_i18n.settings_timing.title, text: updraftplus_tour_i18n.settings_timing.text, attachTo: '.retain-files right', buttons: [ { classes: 'udp-tour-back', text: updraftplus_tour_i18n.back, action: function() { $('#updraft-navtab-backups').trigger('click'); } }, { classes: button_classes, text: updraftplus_tour_i18n.next, action: main_tour.next } ], tetherOptions: $.extend({}, main_tour.options.defaults.tetherOptions, { offset: '-33px -15px' }), when: { show: function() { scroll_to_popup(); } } }); // Settings - Remote storage + vault main_tour.addStep('settings_remote_storage', { title: updraftplus_tour_i18n.settings_remote_storage.title, text: updraftplus_tour_i18n.settings_remote_storage.text, attachTo: { element: 'label[for=updraft_servicecheckbox_updraftvault]', on: 'top' }, buttons: [ { classes: 'udp-tour-back', text: updraftplus_tour_i18n.back, action: function() { main_tour.back(); } }, { classes: button_classes, text: updraftplus_tour_i18n.next, action: function() { if ($('#updraft_servicecheckbox_updraftvault').is(':checked')) { main_tour.show('vault_selected') } else { main_tour.next(); } } } ], when: { show: function(p) { $('label[for=updraft_servicecheckbox_updraftvault]').addClass('emphasize'); scroll_to_popup(); }, hide: function(p) { $('label[for=updraft_servicecheckbox_updraftvault]').removeClass('emphasize'); } } }); // Settings - more + updraftcentral main_tour.addStep('settings_more', { title: updraftplus_tour_i18n.settings_more.title, text: updraftplus_tour_i18n.settings_more.text, attachTo: '.js-tour-settings-more top', scrollTo: false, tetherOptions: {}, buttons: [ { classes: 'udp-tour-back', text: updraftplus_tour_i18n.back, action: function() { main_tour.back(); } }, { classes: button_classes, text: updraftplus_tour_i18n.next, action: main_tour.next } ], when: { show: function() { scroll_to_popup(); } } }); // Save settings main_tour.addStep('settings_save', { title: updraftplus_tour_i18n.settings_save.title, text: updraftplus_tour_i18n.settings_save.text, attachTo: '#updraftplus-settings-save top', scrollTo: false, buttons: [ { classes: 'udp-tour-back', text: updraftplus_tour_i18n.back, action: function() { main_tour.back(); } }, { classes: button_classes, text: updraftplus_tour_i18n.next, action: function() { if ($('#updraftcentral_cloud_connect_container').length) { main_tour.show('updraft_central'); } else { $('#updraft-navtab-addons').trigger('click'); } } } ], when: { show: function() { scroll_to_popup(); } } }); // UDCentral main_tour.addStep('updraft_central', { title: updraftplus_tour_i18n.updraft_central.title, text: updraftplus_tour_i18n.updraft_central.text, attachTo: '#updraftcentral_cloud_connect_container top', scrollTo: false, buttons: [ { classes: 'udp-tour-back', text: updraftplus_tour_i18n.back, action: function() { main_tour.back(); } }, { classes: button_classes, text: updraftplus_tour_i18n.next, action: function() { $('#updraft-navtab-addons').trigger('click'); } } ], when: { show: function() { scroll_to_popup(); } } }); // Premium + addons main_tour.addStep('premium', { title: updraftplus_tour_i18n.premium.title, text: updraftplus_tour_i18n.premium.text, attachTo: updraftplus_tour_i18n.premium.attach_to, scrollTo: false, buttons: [ { classes: 'udp-tour-back', text: updraftplus_tour_i18n.back, action: function() { main_tour.going_somewhere = true; $('#updraft-navtab-settings').trigger('click'); if ($('#updraftcentral_cloud_connect_container').length) { main_tour.show('updraft_central'); } else { main_tour.show('settings_save'); } scroll_to_popup(); } }, { classes: button_classes, text: updraftplus_tour_i18n.premium.button, action: main_tour.cancel } ], when: { show: function() { window.scroll(0, 0) } } }); // EXTRA STEPS // Premium + addons main_tour.addStep('vault_selected', { title: updraftplus_tour_i18n.vault_selected.title, text: updraftplus_tour_i18n.vault_selected.text, attachTo: '#updraftvault_settings_cell top', scrollTo: false, buttons: [ { classes: 'udp-tour-back', text: updraftplus_tour_i18n.back, action: function() { main_tour.show('settings_remote_storage'); } }, { classes: button_classes, text: updraftplus_tour_i18n.next, action: function() { main_tour.show('settings_more'); } } ], when: { show: function(p) { scroll_to_popup(); } } }); // Saved settings main_tour.addStep('settings_saved', { title: updraftplus_tour_i18n.settings_saved.title, text: updraftplus_tour_i18n.settings_saved.text, attachTo: '#updraftplus-settings-save top', scrollTo: false, buttons: [ { classes: 'udp-tour-back', text: updraftplus_tour_i18n.back, action: function() { main_tour.show('settings_more'); } }, { classes: button_classes, text: updraftplus_tour_i18n.next, action: function() { if ($('#updraftcentral_cloud_connect_container').length) { main_tour.show('updraft_central'); } else { $('#updraft-navtab-addons').trigger('click'); } } } ], when: { show: function() { scroll_to_popup(); } } }); main_tour.steps.forEach(function(step) { step.once('show', function() { // Adds a Close label near the (x) var close_btn = $(this.el).find('header .shepherd-cancel-link'); close_btn.attr('data-btntext', updraftplus_tour_i18n.close); // opens the settings tab $(this.el).find('.js--go-to-settings').on('click', function(e) { e.preventDefault(); $('#updraft-navtab-settings').trigger('click'); }); }) }); // on Cancel main_tour.on('cancel', cancel_tour); plugins_page_tour.on('cancel', cancel_tour); /** * Cancel tour */ function cancel_tour() { // The tour is either finished or [x] was clicked main_tour.canceled = true; var data = { current_step: this.getCurrentStep().id }; if ('function' === typeof updraft_send_command) { updraft_send_command( 'set_tour_status', data, function(response) { console.log('Successfully deactivated tour'); }, { alert_on_error: false } ); } else { jQuery.ajax({ url: ajaxurl, type: 'POST', data: { action: 'updraft_ajax', subaction: 'set_tour_status', nonce: updraftplus_tour_i18n.nonce, current_step: this.getCurrentStep().id } }); } }; /** * Scroll to Popup * * @param {Object} step */ var scroll_to_popup = function(step) { main_tour.going_somewhere = false; if (!step) { step = main_tour.getCurrentStep(); } var popup = $(step.el); var target = $(step.tether.target); $('body, html').animate({ scrollTop: popup.offset().top - 50 }, 500, function() { window.scrollTo(0, popup.offset().top - 50); }); } // If $('#updraft-backupnow-button'), start tour if ($('#updraft-backupnow-button').length) { /* Setup other events */ // Backup now $('#updraft-backupnow-button').on('click', function(e) { if (!main_tour.canceled) { main_tour.show('backup_options'); } }); // Click on status tab $('#updraft-navtab-backups').on('click', function(e) { if (!main_tour.canceled) { main_tour.show('backup_now'); } }); $(document).on('click', 'label[for=updraft_servicecheckbox_updraftvault]', function(e) { if (!main_tour.canceled && !$('#updraft_servicecheckbox_updraftvault').is(':checked')) { setTimeout(function() { main_tour.show('vault_selected'); }, 200); } }); // close backup backupnow modal $('#updraft-backupnow-modal').on("dialogclose", function(event, ui) { if (!main_tour.canceled) { main_tour.show('backup_now'); } }); // Backup now - manual backup is starting $('.js-tour-backup-now-button').on('click', function(e) { if (!main_tour.canceled) { main_tour.show('backup_now_btn_success'); } }) // settings tab $('#updraft-navtab-settings').on('click', function(e) { if (!main_tour.canceled && !main_tour.going_somewhere) { main_tour.show('settings_timing'); } }); // addons tab $('#updraft-navtab-addons').on('click', function(e) { if (!main_tour.canceled) { main_tour.show('premium'); } }); // Tabs without guide $('#updraft-navtab-migrate, #updraft-navtab-expert').on('click', function(e) { if (!main_tour.canceled) { main_tour.hide(); } }); // start tour main_tour.start(); // go back to first tab if (updraftplus_tour_i18n.show_tab_on_load) { $(updraftplus_tour_i18n.show_tab_on_load).trigger('click'); } else { $('#updraft-navtab-backups').trigger('click'); } } // start plugins page tour if ($('.js-updraftplus-settings').length) { plugins_page_tour.start(); } }); })(jQuery); js/tour-1-24-6.min.js000064400000021454147400355670010036 0ustar00!function(a){a(function(){var t,e,n,o;function u(){n.canceled=!0;var t={current_step:this.getCurrentStep().id};"function"==typeof updraft_send_command?updraft_send_command("set_tour_status",t,function(t){console.log("Successfully deactivated tour")},{alert_on_error:!1}):jQuery.ajax({url:ajaxurl,type:"POST",data:{action:"updraft_ajax",subaction:"set_tour_status",nonce:updraftplus_tour_i18n.nonce,current_step:this.getCurrentStep().id}})}a(".updraftplus-welcome .close").on("click",function(t){t.preventDefault(),a(this).closest(".updraftplus-welcome").remove()}),window.Shepherd&&(t="button button-primary",e=window.updraft_plugins_page_tour=new Shepherd.Tour,(n=window.updraft_main_tour=new Shepherd.Tour).options.defaults=e.options.defaults={classes:"shepherd-theme-arrows-plain-buttons shepherd-main-tour",showCancelLink:!0,scrollTo:!1,tetherOptions:{constraints:[{to:"scrollParent",attachment:"together",pin:!1}]}},e.addStep("intro",{title:updraftplus_tour_i18n.plugins_page.title,text:updraftplus_tour_i18n.plugins_page.text,attachTo:".js-updraftplus-settings top",buttons:[{classes:t,text:updraftplus_tour_i18n.plugins_page.button.text,action:function(){window.location=updraftplus_tour_i18n.plugins_page.button.url}}],tetherOptions:{constraints:[{to:"scrollParent",attachment:"together",pin:!1}],offset:"20px 0"},when:{show:function(){a("body").addClass("highlight-udp");var t=a(this.el);a("body, html").animate({scrollTop:t.offset().top-50},500,function(){window.scrollTo(0,t.offset().top-50)})},hide:function(){a("body").removeClass("highlight-udp")}}}),n.addStep("backup_now",{title:updraftplus_tour_i18n.backup_now.title,text:updraftplus_tour_i18n.backup_now.text,attachTo:"#updraft-backupnow-button bottom",buttons:[{classes:"udp-tour-end",text:updraftplus_tour_i18n.end_tour,action:n.cancel},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraft-navtab-settings").trigger("click")}}]}),n.addStep("backup_options",{title:updraftplus_tour_i18n.backup_options.title,text:updraftplus_tour_i18n.backup_options.text,classes:"shepherd-theme-arrows-plain-buttons shepherd-main-tour super-index",attachTo:"#backupnow_includedb left",tetherOptions:{offset:"-15px 25px"},buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){a("#updraft-backupnow-modal").dialog("close")}},{classes:t,text:updraftplus_tour_i18n.next,action:n.next}]}),n.addStep("backup_now_btn",{title:updraftplus_tour_i18n.backup_now_btn.title,text:updraftplus_tour_i18n.backup_now_btn.text,classes:"shepherd-theme-arrows-plain-buttons shepherd-main-tour super-index",attachTo:".js-tour-backup-now-button top",buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.backup_now_btn.btn_text,action:function(){a("#updraft-backupnow-modal").dialog("close"),a("#updraft-navtab-settings").trigger("click")}}]}),n.addStep("backup_now_btn_success",{title:updraftplus_tour_i18n.backup_now_btn_success.title,text:updraftplus_tour_i18n.backup_now_btn_success.text,attachTo:"#updraft_activejobs_table top",buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){a("#updraft-backupnow-button").trigger("click"),n.show("backup_now_btn")}},{classes:t,text:updraftplus_tour_i18n.backup_now_btn_success.btn_text,action:function(){a("#updraft-navtab-settings").trigger("click")}}],when:{show:function(){setTimeout(function(){a(window).trigger("scroll")})}}}),n.addStep("settings_timing",{title:updraftplus_tour_i18n.settings_timing.title,text:updraftplus_tour_i18n.settings_timing.text,attachTo:".retain-files right",buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){a("#updraft-navtab-backups").trigger("click")}},{classes:t,text:updraftplus_tour_i18n.next,action:n.next}],tetherOptions:a.extend({},n.options.defaults.tetherOptions,{offset:"-33px -15px"}),when:{show:function(){o()}}}),n.addStep("settings_remote_storage",{title:updraftplus_tour_i18n.settings_remote_storage.title,text:updraftplus_tour_i18n.settings_remote_storage.text,attachTo:{element:"label[for=updraft_servicecheckbox_updraftvault]",on:"top"},buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraft_servicecheckbox_updraftvault").is(":checked")?n.show("vault_selected"):n.next()}}],when:{show:function(t){a("label[for=updraft_servicecheckbox_updraftvault]").addClass("emphasize"),o()},hide:function(t){a("label[for=updraft_servicecheckbox_updraftvault]").removeClass("emphasize")}}}),n.addStep("settings_more",{title:updraftplus_tour_i18n.settings_more.title,text:updraftplus_tour_i18n.settings_more.text,attachTo:".js-tour-settings-more top",scrollTo:!1,tetherOptions:{},buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:n.next}],when:{show:function(){o()}}}),n.addStep("settings_save",{title:updraftplus_tour_i18n.settings_save.title,text:updraftplus_tour_i18n.settings_save.text,attachTo:"#updraftplus-settings-save top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraftcentral_cloud_connect_container").length?n.show("updraft_central"):a("#updraft-navtab-addons").trigger("click")}}],when:{show:function(){o()}}}),n.addStep("updraft_central",{title:updraftplus_tour_i18n.updraft_central.title,text:updraftplus_tour_i18n.updraft_central.text,attachTo:"#updraftcentral_cloud_connect_container top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.back()}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraft-navtab-addons").trigger("click")}}],when:{show:function(){o()}}}),n.addStep("premium",{title:updraftplus_tour_i18n.premium.title,text:updraftplus_tour_i18n.premium.text,attachTo:updraftplus_tour_i18n.premium.attach_to,scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.going_somewhere=!0,a("#updraft-navtab-settings").trigger("click"),a("#updraftcentral_cloud_connect_container").length?n.show("updraft_central"):n.show("settings_save"),o()}},{classes:t,text:updraftplus_tour_i18n.premium.button,action:n.cancel}],when:{show:function(){window.scroll(0,0)}}}),n.addStep("vault_selected",{title:updraftplus_tour_i18n.vault_selected.title,text:updraftplus_tour_i18n.vault_selected.text,attachTo:"#updraftvault_settings_cell top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.show("settings_remote_storage")}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){n.show("settings_more")}}],when:{show:function(t){o()}}}),n.addStep("settings_saved",{title:updraftplus_tour_i18n.settings_saved.title,text:updraftplus_tour_i18n.settings_saved.text,attachTo:"#updraftplus-settings-save top",scrollTo:!1,buttons:[{classes:"udp-tour-back",text:updraftplus_tour_i18n.back,action:function(){n.show("settings_more")}},{classes:t,text:updraftplus_tour_i18n.next,action:function(){a("#updraftcentral_cloud_connect_container").length?n.show("updraft_central"):a("#updraft-navtab-addons").trigger("click")}}],when:{show:function(){o()}}}),n.steps.forEach(function(t){t.once("show",function(){a(this.el).find("header .shepherd-cancel-link").attr("data-btntext",updraftplus_tour_i18n.close),a(this.el).find(".js--go-to-settings").on("click",function(t){t.preventDefault(),a("#updraft-navtab-settings").trigger("click")})})}),n.on("cancel",u),e.on("cancel",u),o=function(t){n.going_somewhere=!1,t=t||n.getCurrentStep();var e=a(t.el);a(t.tether.target);a("body, html").animate({scrollTop:e.offset().top-50},500,function(){window.scrollTo(0,e.offset().top-50)})},a("#updraft-backupnow-button").length&&(a("#updraft-backupnow-button").on("click",function(t){n.canceled||n.show("backup_options")}),a("#updraft-navtab-backups").on("click",function(t){n.canceled||n.show("backup_now")}),a(document).on("click","label[for=updraft_servicecheckbox_updraftvault]",function(t){n.canceled||a("#updraft_servicecheckbox_updraftvault").is(":checked")||setTimeout(function(){n.show("vault_selected")},200)}),a("#updraft-backupnow-modal").on("dialogclose",function(t,e){n.canceled||n.show("backup_now")}),a(".js-tour-backup-now-button").on("click",function(t){n.canceled||n.show("backup_now_btn_success")}),a("#updraft-navtab-settings").on("click",function(t){n.canceled||n.going_somewhere||n.show("settings_timing")}),a("#updraft-navtab-addons").on("click",function(t){n.canceled||n.show("premium")}),a("#updraft-navtab-migrate, #updraft-navtab-expert").on("click",function(t){n.canceled||n.hide()}),n.start(),(updraftplus_tour_i18n.show_tab_on_load?a(updraftplus_tour_i18n.show_tab_on_load):a("#updraft-navtab-backups")).trigger("click")),a(".js-updraftplus-settings").length)&&e.start()})}(jQuery);templates/wp-admin/settings/backupnow-modal.php000064400000006201147400355670015724 0ustar00'.__('All WordPress tables will be backed up.', 'updraftplus').' '. __('With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too.', 'updraftplus').''."\n"; ?>

    get_url('premium').'" target="_blank">UpdraftPlus Premium').''; ?>

    (...)

    (...)

    backup_now_remote_message(); ?>

    templates/wp-admin/settings/upload-backups-modal.php000064400000002302147400355670016643 0ustar00

    :

    just_one($updraftplus->get_canonical_service_list()); foreach ($service as $value) { if ('' == $value) continue; echo '
    '; } ?>

    templates/wp-admin/settings/migrator-no-migrator.php000064400000001644147400355670016727 0ustar00
    include_template('wp-admin/settings/temporary-clone.php'); ?>

    templates/wp-admin/settings/header.php000064400000003434147400355670014076 0ustar00

    plugin_title; ?>

    templates/wp-admin/settings/form-contents.php000064400000052444147400355670015451 0ustar00backups_dir_location(); $really_is_writable = UpdraftPlus_Filesystem_Functions::really_is_writable($updraft_dir); // $options is passed through $default_options = array( 'include_database_decrypter' => true, 'include_adverts' => true, 'include_save_button' => true ); foreach ($default_options as $k => $v) { if (!isset($options[$k])) $options[$k] = $v; } ?>
    :
    ', $selected_interval); ?> '; echo $retain_files_config; ?>
    :
    ', $selected_interval_db); ?> '; echo $retain_dbs_config; ?>
    '.__('To fix the time at which a backup should take place,', 'updraftplus').' ('.__('e.g. if your server is busy at day and you want to run overnight', 'updraftplus').'), '.__('to take incremental backups', 'updraftplus').', '.__('or to configure more complex schedules', 'updraftplus').', '.htmlspecialchars(__('use UpdraftPlus Premium', 'updraftplus')).'

    '); ?>

    '.apply_filters('updraftplus_after_remote_storage_heading_message', ''.__('(tap on an icon to select or unselect)', 'updraftplus').''); ?>:
    just_one($active_service); // Change this to give a class that we can exclude $multi = apply_filters('updraftplus_storage_printoptions_multi', ''); foreach ($updraftplus->backup_methods as $method => $description) { $backup_using = esc_attr(sprintf(__("Backup using %s?", 'updraftplus'), $description)); echo ""; } ?> '; echo '

    '.htmlspecialchars(__('You can send a backup to more than one destination with Premium.', 'updraftplus')).'

    '; } ?>

    : files_selector_widgetry('', true, true); ?>

    '.htmlspecialchars(__('See also the Premium version from our shop.', 'updraftplus')).''); ?>

    : '.__("Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup.", 'updraftplus').' '.__('It can also backup external databases.', 'updraftplus')); ?>
    $value) { if ('wp-optimize' == $value['TextDomain']) { $wp_optimize_file = $key; break; } } if (!$wp_optimize_file) { ?>
    :

    : get_url('premium').'" target="_blank">'.__('For more reporting features, use the Premium version', 'updraftplus').''; ?>

    : -
    do_notice(false, 'bottom'); } ?>
    templates/wp-admin/settings/tab-addons.php000064400000053235147400355670014666 0ustar00get_product('updraftpremium') ? 'data-embed-checkout="'.apply_filters('updraftplus_com_link', $updraftplus_checkout_embed->get_product('updraftpremium', UpdraftPlus_Options::admin_page_url().'?page=updraftplus&tab=addons')).'"' : ''; } ?>

    UpdraftPlus Premium

    >
    >

    ">

    Features comparison

    UpdraftPlus <?php esc_attr_e('UpdraftPlus Premium', 'updraftplus');?>
    >
    <?php esc_attr_e('Remote storage', 'updraftplus');?>

    <?php esc_attr_e('Migrator', 'updraftplus');?>

    <?php esc_attr_e('Anonymisation functions', 'updraftplus');?>

    <?php esc_attr_e('Incremental backups', 'updraftplus');?>

    <?php esc_attr_e('Support', 'updraftplus');?>

    <?php esc_attr_e('Pre-update backups', 'updraftplus');?>

    <?php esc_attr_e('Backup non-WordPress files and databases', 'updraftplus');?>

    <?php esc_attr_e('Network and multisite', 'updraftplus');?>

    <?php esc_attr_e('Backup time and scheduling', 'updraftplus');?>

    <?php esc_attr_e('WP CLI', 'updraftplus');?>

    <?php esc_attr_e('More database options', 'updraftplus');?>

    <?php esc_attr_e('Additional storage', 'updraftplus');?>

    <?php esc_attr_e('Reporting', 'updraftplus');?>

    <?php esc_attr_e('No ads', 'updraftplus');?>

    <?php esc_attr_e('Importer', 'updraftplus');?>

    <?php esc_attr_e('Lock settings', 'updraftplus');?>

    <?php esc_attr_e('UpdraftVault', 'updraftplus');?>

    1 GB

    >

    WP-Optimize

    All In One WP Security & Firewall

    UpdraftCentral

    Easy Updates Manager

    templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php000064400000000447147400355670023257 0ustar00
    templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php000064400000000440147400355670023344 0ustar00

    templates/wp-admin/settings/footer.php000064400000000242147400355670014136 0ustar00
    templates/wp-admin/settings/take-backup.php000064400000010664147400355670015040 0ustar00
    show_admin_warning( htmlspecialchars(__("The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option).", 'updraftplus')), 'error' ); } ?>

    :

    next_scheduled_files_backups_output(); ?>
    next_scheduled_database_backups_output(); ?>
    '.__('Add changed files (incremental backup) ...', ' updraftplus ') . '

    '; echo apply_filters('updraftplus_incremental_backup_link', $link); } ?>
    print_active_jobs(); ?>

    :

    most_recently_modified_log_link(); ?>
    backupnow_modal_contents(); ?>

    UpdraftPlus

    get_url('premium').'" target="_blank">'. __('Please check out UpdraftPlus Premium.', 'updraftplus');?>.

    templates/wp-admin/settings/temporary-clone.php000064400000014515147400355670015770 0ustar00get_product('updraftplus-clone-tokens', UpdraftPlus_Options::admin_page_url().'?page=updraftplus&tab=migrate'); $checkout_clone_token_attributes = 'href="'.esc_attr($checkout_url).'" target="_blank"'; ?>

    UpdraftClone

    '.__('Find out more here.', 'updraftplus').' '.__('Read FAQs here.', 'updraftplus').' '.__("You can buy UpdraftClone tokens from our shop, here.", 'updraftplus').''; ?>

    • :
    • :
    • :
    • :
    • :

    ' . __('Temporary clones of WordPress subdomain multisite installations are not yet supported.', 'updraftplus').' '.__('See our documentation on how to carry out a normal migration here', 'updraftplus') . '.'; ?>

    >

    templates/wp-admin/settings/file-backup-exclude.php000064400000003245147400355670016457 0ustar00
    templates/wp-admin/settings/downloading-and-restoring.php000064400000010602147400355670017720 0ustar00 true, 'include_opera_warning' => false, 'will_immediately_calculate_disk_space' => true, 'include_whitespace_warning' => true, 'include_header' => false, ); foreach ($default_options as $k => $v) { if (!isset($options[$k])) $options[$k] = $v; } // $backup_history is passed in if (false === $backup_history) $backup_history = UpdraftPlus_Backup_History::get_history(); if (!empty($options['include_header'])) echo '

    '.__('Existing backups', 'updraftplus').' ('.count($backup_history).')

    '; ?>
    get_bom_warning_text(); if (!empty($bom_warning)) { ?>

    • | |
    • :
    templates/wp-admin/settings/exclude-modal.php000064400000012535147400355670015373 0ustar00

    :

    templates/wp-admin/settings/existing-backups-table.php000064400000021021147400355670017203 0ustar00 $backup) { $remote_sent = !empty($backup['service']) && ((is_array($backup['service']) && in_array('remotesend', $backup['service'])) || 'remotesend' === $backup['service']); // https://core.trac.wordpress.org/ticket/25331 explains why the following line is wrong // $pretty_date = date_i18n('Y-m-d G:i',$key); // Convert to blog time zone // $pretty_date = get_date_from_gmt(gmdate('Y-m-d H:i:s', (int)$key), 'Y-m-d G:i'); $pretty_date = get_date_from_gmt(gmdate('Y-m-d H:i:s', (int) $key), 'M d, Y G:i'); $esc_pretty_date = esc_attr($pretty_date); $entities = ''; $nonce = $backup['nonce']; $jobdata = isset($backup['jobdata']) ? $backup['jobdata'] : $updraftplus->jobdata_getarray($nonce); $rawbackup = $updraftplus_admin->raw_backup_info($backup_history, $key, $nonce, $jobdata); $delete_button = $updraftplus_admin->delete_button($key, $nonce, $backup); $upload_button = $updraftplus_admin->upload_button($key, $nonce, $backup, $jobdata); $date_label = $updraftplus_admin->date_label($pretty_date, $key, $backup, $jobdata, $nonce); $log_button = $updraftplus_admin->log_button($backup); // Remote backups with no log result in useless empty rows. However, not showing anything messes up the "Existing backups (14)" display, until we tweak that code to count differently // if ($remote_sent && !$log_button) continue; ?>
    " data-timestamp="" data-label="">
    get_wordpress_version(); if (version_compare($wp_version, '3.8.0', '<')) { $image_url = $image_folder_url.'lock.png'; ?> '; } } if (!isset($backup['service'])) $backup['service'] = array(); if (!is_array($backup['service'])) $backup['service'] = array($backup['service']); foreach ($backup['service'] as $service) { if ('none' === $service || '' === $service || (is_array($service) && (empty($service) || array('none') === $service || array('') === $service))) { // Do nothing } else { $image_url = file_exists($image_folder.$service.'.png') ? $image_folder_url.$service.'.png' : $image_folder_url.'folder.png'; $remote_storage = ('remotesend' === $service) ? __('remote site', 'updraftplus') : $updraftplus->backup_methods[$service]; ?>
    '.__('Site', 'updraftplus').': '.htmlspecialchars($backup['remotesend_url']).''; } else { if (empty($backup['meta_foreign']) || !empty($accept[$backup['meta_foreign']]['separatedb'])) { if (isset($backup['db'])) { $entities .= '/db=0/'; // Set a flag according to whether or not $backup['db'] ends in .crypt, then pick this up in the display of the decrypt field. $db = is_array($backup['db']) ? $backup['db'][0] : $backup['db']; if (UpdraftPlus_Encryption::is_file_encrypted($db)) $entities .= '/dbcrypted=1/'; echo $updraftplus_admin->download_db_button('db', $key, $esc_pretty_date, $backup, $accept); } // External databases foreach ($backup as $bkey => $binfo) { if ('db' == $bkey || 'db' != substr($bkey, 0, 2) || '-size' == substr($bkey, -5, 5)) continue; echo $updraftplus_admin->download_db_button($bkey, $key, $esc_pretty_date, $backup); } } else { // Foreign without separate db $entities = '/db=0/meta_foreign=1/'; } if (!empty($backup['meta_foreign']) && !empty($accept[$backup['meta_foreign']]) && !empty($accept[$backup['meta_foreign']]['separatedb'])) { $entities .= '/meta_foreign=2/'; } echo $updraftplus_admin->download_buttons($backup, $key, $accept, $entities, $esc_pretty_date); } ?> restore_button($backup, $key, $pretty_date, $entities); echo $upload_button; echo $delete_button; if (empty($backup['meta_foreign'])) echo $log_button; ?>
    |
    <?php esc_attr_e('UpdraftCentral Cloud', 'updraftplus');?>

    UpdraftCentral -

    .

    templates/wp-admin/settings/tab-bar.php000064400000001026147400355670014151 0ustar00 templates/wp-admin/settings/delete-and-restore-modals.php000064400000015462147400355670017612 0ustar00


    templates/wp-admin/settings/tab-backups.php000064400000011323147400355670015036 0ustar00 true, 'include_opera_warning' => false, 'will_immediately_calculate_disk_space' => true, 'include_whitespace_warning' => true, 'include_header' => false, ); foreach ($default_options as $k => $v) { if (!isset($options[$k])) $options[$k] = $v; } // $backup_history is passed in if (false === $backup_history) $backup_history = UpdraftPlus_Backup_History::get_history(); if (!empty($options['include_header'])) echo '

    '.__('Existing backups', 'updraftplus').' ('.count($backup_history).')

    '; ?>
    get_bom_warning_text(); if (!empty($bom_warning)) { ?>

    take_backup_content(); ?>

    • | |
    • :
    templates/wp-admin/advanced/tools-menu.php000064400000003115147400355670014651 0ustar00
    UpdraftCentral
    templates/wp-admin/advanced/lock-admin.php000064400000001531147400355670014565 0ustar00

    settings_debugrow(__('Web server:', 'updraftplus'), htmlspecialchars($web_server).' ('.htmlspecialchars($uname_info).')'); if (defined('UPDRAFTPLUS_THIS_IS_CLONE')) { $response = wp_remote_get('http://169.254.169.254/metadata/v1/user-data', array('timeout' => 2)); if (!is_wp_error($response) && 200 === wp_remote_retrieve_response_code($response)) { $json_body = wp_remote_retrieve_body($response); $metadata = json_decode($json_body, true); if (isset($metadata['image_id'])) $updraftplus_admin->settings_debugrow(__('UpdraftClone image:', 'updraftplus'), htmlspecialchars($metadata['image_id'])); } } $updraftplus_admin->settings_debugrow('ABSPATH:', htmlspecialchars(ABSPATH)); $updraftplus_admin->settings_debugrow('WP_CONTENT_DIR:', htmlspecialchars(WP_CONTENT_DIR)); $updraftplus_admin->settings_debugrow('WP_PLUGIN_DIR:', htmlspecialchars(WP_PLUGIN_DIR)); $updraftplus_admin->settings_debugrow('Table prefix:', htmlspecialchars($updraftplus->get_table_prefix())); $updraftplus_admin->settings_debugrow(__('Web-server disk space in use by UpdraftPlus', 'updraftplus').':', ''.UpdraftPlus_Filesystem_Functions::get_disk_space_used('updraft').''.__('refresh', 'updraftplus').''); $peak_memory_usage = memory_get_peak_usage(true)/1048576; $memory_usage = memory_get_usage(true)/1048576; $updraftplus_admin->settings_debugrow(__('Peak memory usage', 'updraftplus').':', $peak_memory_usage.' MB'); $updraftplus_admin->settings_debugrow(__('Current memory usage', 'updraftplus').':', $memory_usage.' MB'); $updraftplus_admin->settings_debugrow(__('Memory limit', 'updraftplus').':', htmlspecialchars(ini_get('memory_limit'))); $updraftplus_admin->settings_debugrow(sprintf(__('%s version:', 'updraftplus'), 'PHP'), htmlspecialchars(phpversion()).' - '.__('show PHP information (phpinfo)', 'updraftplus').''); $db_version = $wpdb->get_var('SELECT VERSION()'); // WPDB::db_version() uses mysqli_get_server_info() ; see: https://github.com/joomla/joomla-cms/issues/9062 if ('' == $db_version) $db_version = $wpdb->db_version(); $updraftplus_admin->settings_debugrow(sprintf(__('%s version:', 'updraftplus'), 'MySQL'), htmlspecialchars($db_version)); $mysql_max_packet_size = round($updraftplus->max_packet_size(false, false)/1048576, 1); $updraftplus_admin->settings_debugrow(__('Database maximum packet size:', 'updraftplus'), $mysql_max_packet_size.' MB'); $sql_mode = $wpdb->get_var('SELECT @@GLOBAL.sql_mode'); $sql_mode = !empty($sql_mode) ? htmlspecialchars($sql_mode) : '-'; $updraftplus_admin->settings_debugrow(__('Current SQL mode:', 'updraftplus'), $sql_mode); if (function_exists('curl_version') && function_exists('curl_exec')) { $cv = curl_version(); $cvs = $cv['version'].' / SSL: '.$cv['ssl_version'].' / libz: '.$cv['libz_version']; } else { $cvs = __('Not installed', 'updraftplus').' ('.__('required for some remote storage providers', 'updraftplus').')'; } $updraftplus_admin->settings_debugrow(sprintf(__('%s version:', 'updraftplus'), 'Curl'), htmlspecialchars($cvs)); $updraftplus_admin->settings_debugrow(sprintf(__('%s version:', 'updraftplus'), 'OpenSSL'), defined('OPENSSL_VERSION_TEXT') ? OPENSSL_VERSION_TEXT : '-'); $updraftplus_admin->settings_debugrow('MCrypt:', function_exists('mcrypt_encrypt') ? __('Yes') : __('No')); if (version_compare(PHP_VERSION, '5.2.0', '>=') && extension_loaded('zip')) { $ziparchive_exists = __('Yes', 'updraftplus'); } else { // First do class_exists, because method_exists still sometimes segfaults due to a rare PHP bug $ziparchive_exists = (class_exists('ZipArchive') && method_exists('ZipArchive', 'addFile')) ? __('Yes', 'updraftplus') : __('No', 'updraftplus'); } $updraftplus_admin->settings_debugrow('ZipArchive::addFile:', $ziparchive_exists); $binzip = $updraftplus->find_working_bin_zip(false, false); $updraftplus_admin->settings_debugrow(__('zip executable found:', 'updraftplus'), ((is_string($binzip)) ? __('Yes').': '.$binzip : __('No'))); $hosting_bytes_free = $updraftplus->get_hosting_disk_quota_free(); if (is_array($hosting_bytes_free)) { $perc = round(100*$hosting_bytes_free[1]/(max($hosting_bytes_free[2], 1)), 1); $updraftplus_admin->settings_debugrow(__('Free disk space in account:', 'updraftplus'), sprintf(__('%s (%s used)', 'updraftplus'), round($hosting_bytes_free[3]/1048576, 1)." MB", "$perc %")); } if (function_exists('apache_get_modules')) { $apache_info = ''; $apache_modules = apache_get_modules(); if (is_array($apache_modules)) { sort($apache_modules, SORT_STRING); foreach ($apache_modules as $mod) { if (0 === strpos($mod, 'mod_')) { $apache_info .= ', '.substr($mod, 4); } else { $apache_info .= ', '.$mod; } } } $apache_info = substr($apache_info, 2); $updraftplus_admin->settings_debugrow(__('Apache modules', 'updraftplus').':', $apache_info); } if (empty($options['suppress_plugins_for_debugging'])) { $updraftplus_admin->settings_debugrow(__('Install debugging plugins:', 'updraftplus'), 'WP Crontrol | Query Monitor | SQL Executioner | WP Filemanager'); } $updraftplus_admin->settings_debugrow("HTTP Get: ", ''.__('Fetch', 'updraftplus').''.__('Fetch', 'updraftplus').' (Curl)

    '); $updraftplus_admin->settings_debugrow(__("Call WordPress action:", 'updraftplus'), ''.__('Call', 'updraftplus').'
    '); $updraftplus_admin->settings_debugrow('Site ID:', '(used to identify any Vault connections) '.htmlspecialchars($updraftplus->siteid()).' - '.__('reset', 'updraftplus').""); $updraftplus_admin->settings_debugrow('', ''.__('Show raw backup and file list', 'updraftplus').'
    '.__('Rescan remote storage', 'updraftplus').' - '.__('log results to console', 'updraftplus').''); ?>
    templates/wp-admin/advanced/updraftcentral.php000064400000000506147400355670015566 0ustar00get_plugin_name()) { $updraftcentral_host_plugin->debugtools_dashboard(); } else { do_action('updraftplus_debugtools_dashboard'); } templates/wp-admin/advanced/advanced-tools.php000064400000002277147400355670015462 0ustar00

    include_template('/wp-admin/advanced/tools-menu.php'); ?>
    include_template('/wp-admin/advanced/site-info.php', false, array('options' => $options)); $updraftplus_admin->include_template('/wp-admin/advanced/lock-admin.php'); $updraftplus_admin->include_template('/wp-admin/advanced/updraftcentral.php'); $updraftplus_admin->include_template('/wp-admin/advanced/search-replace.php'); $updraftplus_admin->include_template('/wp-admin/advanced/total-size.php'); $updraftplus_admin->include_template('/wp-admin/advanced/db-size.php'); $updraftplus_admin->include_template('/wp-admin/advanced/export-settings.php'); $updraftplus_admin->include_template('/wp-admin/advanced/wipe-settings.php'); ?>
    templates/wp-admin/advanced/db-size.php000064400000003472147400355670014112 0ustar00

    :

    '.__('Reducing your database size with WP-Optimize helps to maintain a fast, efficient, and user-friendly website.', 'updraftplus').' '.wp_kses_post($install_activate_link_of_wp_optimize_plugin).' '.__('Go here for more information.', 'updraftplus').'

    '; } ?>

    templates/wp-admin/advanced/export-settings.php000064400000002046147400355670015730 0ustar00

    '.__('including any passwords', 'updraftplus').'').' '.__('This tool will export what is currently in the settings tab.', 'updraftplus');?>

    templates/wp-admin/advanced/wipe-settings.php000064400000003216147400355670015353 0ustar00

    templates/wp-admin/advanced/search-replace.php000064400000001022147400355670015420 0ustar00 get_backupable_file_entities(true, true); ?>

    $info) { $sdescrip = preg_replace('/ \(.*\)$/', '', $info['description']); if (strlen($sdescrip) > 20 && isset($info['shortdescription'])) $sdescrip = $info['shortdescription']; $updraftplus_admin->settings_debugrow(ucfirst($sdescrip).':', ''.__('count', 'updraftplus').''); } ?>
    templates/wp-admin/notices/thanks-for-using-main-dash.php000064400000007216147400355670017512 0ustar00

    UpdraftPlus '.__("If you like UpdraftPlus, you'll love UpdraftPlus Premium!").' '.__('Protect your WordPress investment with premium features, or check out our other 5* rated plugins below:', 'updraftplus').'

    '; } else { echo '

    '.__("If you like UpdraftPlus, you'll love our other plugins.", 'updraftplus').' '.__('All 5* rated and actively installed on millions of WordPress websites:', 'updraftplus').'

    '; } if (!file_exists(UPDRAFTPLUS_DIR.'/udaddons')) { ?>

    '.__('UpdraftPlus Premium', 'updraftplus').': '.__(" Upgrade for automatic backups before updates, incremental backups, more remote storage locations, premium support and", 'updraftplus'); echo ' '.__('more', 'updraftplus').''; ?>

    WP-Optimize: '.__('Speed up and optimize your WordPress website.', 'updraftplus').' '.__('Cache your site, clean the database and compress images.', 'updraftplus'); ?>

    '.__('All-In-One Security (AIOS)', 'updraftplus').': '. __("Still on the fence?", 'updraftplus').' '.__("Secure your WordPress website with AIOS.", 'updraftplus').' '.__(" Comprehensive, cost-effective, 5* rated and easy to use.", 'updraftplus'); ?>

    '.__('Internal Link Juicer', 'updraftplus').': '.__('Automate the building of internal links on your WordPress website.', 'updraftplus').' '.__('Save time and boost SEO!', 'updraftplus').' '. __('You don’t need to be an SEO expert to use this plugin.', 'updraftplus'); ?>

    '.__('WP Overnight', 'updraftplus').': '.__("Quality add-ons for WooCommerce.", 'updraftplus').' '.__("Designed to optimize your store, enhance user experience and increase revenue!", 'updraftplus'); ?>

    '.__('More quality plugins', 'updraftplus').' :';?> | '.__('Free two-factor security plugin', 'updraftplus');?>

     

    templates/wp-admin/notices/autobackup-notice.php000064400000002335147400355670016066 0ustar00
    <?php _e('notice image', 'updraftplus');?>

    templates/wp-admin/notices/horizontal-notice.php000064400000007356147400355670016131 0ustar00
    <?php _e('notice image', 'updraftplus');?>

    ' . $discount_code . ''; if (!empty($button_link) && !empty($button_meta)) { ?>

    ' . $discount_code . ''; if (!empty($button_link) && !empty($button_meta)) { ?>

    templates/wp-admin/notices/report.php000064400000001660147400355670013764 0ustar00 : ' . $discount_code . '
    '; // if (isset($text2)) { // echo '

    ' . $text2 . '

    '; // } if (!empty($button_link) && !empty($button_meta)) { ?>

    "replace", "path" => "$path", "value" => $other)); } } return array(); } // Walk associative arrays $src and $dst, returning a list of patches private static function diff_assoc($path, $src, $dst) { $result = array(); if (count($src) == 0 && count($dst) != 0) { $result[] = array("op" => "replace", "path" => "$path", "value" => $dst); } else { foreach (array_keys($src) as $key) { $ekey = self::escape_pointer_part($key); if (!array_key_exists($key, $dst)) { $result[] = array("op" => "remove", "path" => "$path/$ekey"); } else { $result = array_merge($result, self::diff_values("$path/$ekey", $src[$key], $dst[$key])); } } foreach (array_keys($dst) as $key) { if (!array_key_exists($key, $src)) { $ekey = self::escape_pointer_part($key); $result[] = array("op" => "add", "path" => "$path/$ekey", "value" => $dst[$key]); } } } return $result; } // Walk simple arrays $src and $dst, returning a list of patches private static function diff_array($path, $src, $dst) { $result = array(); $lsrc = count($src); $ldst = count($dst); $max = ($lsrc > $ldst) ? $lsrc : $ldst; // Walk backwards through arrays, starting with longest $i = $max - 1; while ($i >= 0) // equivalent for loop didn't work? { if ($i < $lsrc && $i < $ldst && array_key_exists($i, $src) && array_key_exists($i, $dst)) { $result = array_merge($result, self::diff_values("$path/$i", $src[$i], $dst[$i])); } else if ($i < $ldst && array_key_exists($i, $dst)) { $result[] = array("op" => "add", "path" => "$path/$i", "value" => $dst[$i]); } else if ($i < $lsrc && !array_key_exists($i, $dst)) { $result[] = array("op" => "remove", "path" => "$path/$i"); } $i--; } return $result; } // patch support functions // Implements the 'test' op private static function test($doc, $path, $parts, $value, $simplexml_mode) { $found = self::get_helper($doc, $path, $parts, $simplexml_mode); if (!self::considered_equal($found, $value)) { throw new JsonPatchException("test target value different - expected " . json_encode($value) . ", found " . json_encode($found)); } } // Helper for get() and 'copy', 'move', 'test' ops - get a value from a doc. private static function get_helper($doc, $path, $parts, $simplexml_mode) { if (count($parts) == 0) { return $doc; } $part = array_shift($parts); if (!is_array($doc) || !array_key_exists($part, $doc)) { throw new JsonPatchException("Path '$path' not found"); } if ($simplexml_mode && count($parts) > 0 && $parts[0] == '0' && self::is_associative($doc) && !(is_array($doc[$part]) && !self::is_associative($doc[$part]))) { return self::get_helper(array($doc[$part]), $path, $parts, $simplexml_mode); } else { return self::get_helper($doc[$part], $path, $parts, $simplexml_mode); } } // Test whether a php array looks 'associative' - does it have // any non-numeric keys? // // note: is_associative(array()) === false private static function is_associative($a) { if (!is_array($a)) { return false; } foreach (array_keys($a) as $key) { if (is_string($key)) { return true; } } // Also treat php gappy arrays as associative. // (e.g. {"0":"a", "2":"c"}) $len = count($a); for ($i = 0; $i < $len; $i++) { if (!array_key_exists($i, $a)) { return true; } } return false; } // Recursively sort array keys private static function rksort($a) { if (!is_array($a)) { return $a; } foreach (array_keys($a) as $key) { $a[$key] = self::rksort($a[$key]); } // SORT_STRING seems required, as otherwise numeric indices // (e.g. "4") aren't sorted. ksort($a, SORT_STRING); return $a; } // Per http://tools.ietf.org/html/rfc6902#section-4.6 public static function considered_equal($a1, $a2) { return json_encode(self::rksort($a1)) === json_encode(self::rksort($a2)); } // Apply a single op to modify the given document. // // As php arrays are not passed by reference, this function works // recursively, rebuilding complete subarrays that need changing; // the revised subarray is changed in the parent array before // returning it. private static function do_op($doc, $op, $path, $parts, $value, $simplexml_mode) { // Special-case toplevel if (count($parts) == 0) { if ($op == 'add' || $op == 'replace') { return $value; } else if ($op == 'remove') { throw new JsonPatchException("Can't remove whole document"); } else { throw new JsonPatchException("'$op' can't operate on whole document"); } } $part = array_shift($parts); // recur until we get to the target if (count($parts) > 0) { if (!array_key_exists($part, $doc)) { throw new JsonPatchException("Path '$path' not found"); } // recur, adding resulting sub-doc into doc returned to caller // special case for simplexml-style behavior - make singleton // scalar leaves look like 1-length arrays if ($simplexml_mode && count($parts) > 0 && ($parts[0] == '0' || $parts[0] == '1' || $parts[0] == '-') && self::is_associative($doc) && !(is_array($doc[$part]) && !self::is_associative($doc[$part]))) { $doc[$part] = self::do_op(array($doc[$part]), $op, $path, $parts, $value, $simplexml_mode); } else { $doc[$part] = self::do_op($doc[$part], $op, $path, $parts, $value, $simplexml_mode); } return $doc; } // at target if (!is_array($doc)) { throw new JsonPatchException('Target must be array or associative array'); } if (!self::is_associative($doc)) // N.B. returns false for empty arrays { if (count($doc) && !self::is_index($part) && !($part == '-' && ($op == 'add' || $op == 'append'))) { throw new JsonPatchException("Non-array key '$part' used on array"); } else { // check range, if numeric if (self::is_index($part) && ($part < 0 || (($op == 'remove' && $part >= count($doc)) || ($op != 'remove' && $part > count($doc))))) { throw new JsonPatchException("Can't operate outside of array bounds"); } } } if ($op == 'add' || $op == 'append') { if (!self::is_associative($doc) && (self::is_index($part) || $part == '-')) { // If index is '-', use array length $index = ($part == '-') ? count($doc) : $part; if ($op == 'append') { array_splice($doc, $index, 0, $value); } else { array_splice($doc, $index, 0, Array($value)); } } else { $doc[$part] = $value; } } else if ($op == 'replace') { if (!self::is_associative($doc) && self::is_index($part)) { array_splice($doc, $part, 1, Array($value)); } else { if (!array_key_exists($part, $doc)) { throw new JsonPatchException("replace target '$path' not set"); } $doc[$part] = $value; } } else if ($op == 'remove') { if (!self::is_associative($doc) && self::is_index($part)) { array_splice($doc, $part, 1); } else { if (!array_key_exists($part, $doc)) { throw new JsonPatchException("remove target '$path' not set"); } unset($doc[$part]); } } return $doc; } } vendor/mikemccabe/json-patch-php/README.md000064400000004661147400355670014255 0ustar00json-patch-php ================ Produce and apply json-patch objects. Implements IETF JSON-patch (RFC 6902) and JSON-pointer (RFC 6901): http://tools.ietf.org/html/rfc6902 http://tools.ietf.org/html/rfc6901 Using with Composer ------------------- To use this library as a Composer dependency in your project, include the following sections in your project's `composer.json` file: ``` "repositories": [ { "type": "vcs", "url": "https://github.com/mikemccabe/json-patch-php" } ], "require": { "mikemccabe/json-patch-php": "dev-master" } ``` Then, in your project's code, use the `JsonPatch` class definition from the `mikemccabe\JsonPatch` namespace like so: ```php use mikemccabe\JsonPatch\JsonPatch; ``` Entry points ------------ - JsonPatch::get($doc, $pointer) - get a value from a json document - JsonPatch::patch($doc, $patches) - apply patches to $doc and return result - JsonPatch::diff($src, $dst) - return patches to create $dst from $src Arguments are PHP arrays, i.e. the output of json_decode($json_string, 1) (Note that you MUST pass 1 as the second argument to json_decode to get an array. This library does not work with stdClass objects.) All structures are implemented directly as PHP arrays. An array is considered to be 'associative' (e.g. like a JSON 'object') if it contains at least one non-numeric key. Because of this, empty arrays ([]) and empty objects ({}) compare the same, and (for instance) an 'add' of a string key to an empty array will succeed in this implementation where it might fail in others. $simplexml_mode is provided to help with working with arrays produced from XML in the style of simplexml - e.g. repeated XML elements are expressed as arrays. When $simplexml_mode is enabled, leaves with scalar values are implicitly treated as length-1 arrays, so this test will succeed: { "comment": "basic simplexml array promotion", "doc": { "foo":1 }, "patch": [ { "op":"add", "path":"/foo/1", "value":2 } ], "expected": { "foo":[1, 2] } }, Also, when $simplexml_mode is true, 1-length arrays are converted to scalars on return from patch(). Tests ----- Some tests are in a submodule (https://github.com/json-patch/json-patch-tests). Do 'git submodule init' to pull these, then 'php runtests.php' to run them. [![Build Status](https://secure.travis-ci.org/mikemccabe/json-patch-php.png)](http://travis-ci.org/mikemccabe/json-patch-php) vendor/mikemccabe/json-patch-php/run_tests.php000064400000011263147400355670015531 0ustar00getMessage() . "\n"); print_test($test); print("\n"); return false; } else { if ($verbose) { if (array_key_exists('comment', $test)) { print "OK: " . $test['comment'] . "\n"; } print("caught: " . $ex->getMessage() . "\n"); print("expected: " . $test['error'] . "\n\n"); } return true; } } } // Piggyback on patch tests to test diff as well - use 'doc' and // 'expected' from testcases. Generate a diff, apply it, and check // that it matches the target - in both directions. function diff_test($test) { // Skip comment-only or test op tests if (!(isset($test['doc']) && isset($test['expected']))) { return true; } $result = true; try { $doc1 = $test['doc']; // copy, in case sort/patch alters $doc2 = $test['expected']; $patch = JsonPatch::diff($doc1, $doc2); $patched = JsonPatch::patch($doc1, $patch); if (!JsonPatch::considered_equal($patched, $doc2)) { print("diff test failed:\n"); print_test($test); print("from: " . json_encode($doc1) . "\n"); print("diff: " . json_encode($patch) . "\n"); print("found: " . json_encode($patched) . "\n"); print("expected: " . json_encode($doc2) . "\n\n"); $result = false; } // reverse order $doc1 = $test['expected']; // copy, in case sort/patch alters $doc2 = $test['doc']; $patch = JsonPatch::diff($doc1, $doc2); $patched = JsonPatch::patch($doc1, $patch); if (!JsonPatch::considered_equal($patched, $doc2)) { print("reverse diff test failed:\n"); print_test($test); print("from: " . json_encode($doc1) . "\n"); print("diff: " . json_encode($patch) . "\n"); print("found: " . json_encode($patched) . "\n"); print("expected: " . json_encode($doc2) . "\n\n"); $result = false; } } catch (Exception $ex) { print("caught exception ".$ex->getMessage()."\n"); return false; } return $result; } function test_file($filename, $simplexml_mode=false) { $testfile = file_get_contents($filename); if (!$testfile) { throw new Exception("Couldn't find test file $filename"); return false; } $tests = json_decode($testfile, 1); if (is_null($tests)) { throw new Exception("Error json-decoding test file $filename"); } $success = true; foreach ($tests as $test) { if (isset($test['disabled']) && $test['disabled']) { continue; } if (!do_test($test, $simplexml_mode)) { $success = false; } if (!$simplexml_mode && !diff_test($test)) { $success = false; } } return $success; } function main() { $result = true; $testfiles = array( 'local_tests.json', 'json-patch-tests/tests.json', 'json-patch-tests/spec_tests.json' ); foreach ($testfiles as $testfile) { if (!test_file($testfile)) { $result = false; } } if (!test_file('simplexml_tests.json', true)) { $result = false; } return $result; } if (!main()) { exit(1); } else { exit(0); }vendor/autoload.php000064400000001403147400355670010373 0ustar00publicURL)) { $endpoint->setPublicUrl($endpoint->getVersionedUrl($object->publicURL, $supportedServiceVersion, $client)); } if (isset($object->internalURL)) { $endpoint->setPrivateUrl($endpoint->getVersionedUrl($object->internalURL, $supportedServiceVersion, $client)); } if (isset($object->region)) { $endpoint->setRegion($object->region); } return $endpoint; } /** * @param $publicUrl * @return $this */ public function setPublicUrl(Url $publicUrl) { $this->publicUrl = $publicUrl; return $this; } /** * @return Url */ public function getPublicUrl() { return $this->publicUrl; } /** * @param $privateUrl * @return $this */ public function setPrivateUrl(Url $privateUrl) { $this->privateUrl = $privateUrl; return $this; } /** * @return Url */ public function getPrivateUrl() { return $this->privateUrl; } /** * @param $region * @return $this */ public function setRegion($region) { $this->region = $region; return $this; } /** * @return string */ public function getRegion() { return $this->region; } /** * Returns the endpoint URL with a version in it * * @param string $url Endpoint URL * @param string $supportedServiceVersion Service version supported by the SDK * @param OpenCloud\OpenStack $client OpenStack client * @return Guzzle/Http/Url Endpoint URL with version in it */ private function getVersionedUrl($url, $supportedServiceVersion, OpenStack $client) { $versionRegex = '/\/[vV][0-9][0-9\.]*/'; if (1 === preg_match($versionRegex, $url)) { // URL has version in it; use it as-is return Url::factory($url); } // If there is no version in $url but no $supportedServiceVersion // is specified, just return $url as-is but log a warning if (is_null($supportedServiceVersion)) { $client->getLogger()->warning('Service version supported by SDK not specified. Using versionless service URL as-is, without negotiating version.'); return Url::factory($url); } // Make GET request to URL $response = Formatter::decode($client->get($url)->send()); // Attempt to parse response and determine URL for given $version if (!isset($response->versions) || !is_array($response->versions)) { throw new UnsupportedVersionError('Could not negotiate version with service.'); } foreach ($response->versions as $version) { if (($version->status == 'CURRENT' || $version->status == 'SUPPORTED') && $version->id == $supportedServiceVersion) { foreach ($version->links as $link) { if ($link->rel == 'self') { return Url::factory($link->href); } } } } // If we've reached this point, we could not find a versioned // URL in the response; throw an error throw new UnsupportedVersionError(sprintf( 'SDK supports version %s which is not currently provided by service.', $supportedServiceVersion )); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Service/AbstractService.php000064400000012527147400355670023657 0ustar00client = $client; } /** * @return \OpenCloud\Common\Http\Client */ public function getClient() { return $this->client; } /** * @param Endpoint $endpoint */ public function setEndpoint($endpoint) { $this->endpoint = $endpoint; } /** * @return \OpenCloud\Common\Service\Endpoint */ public function getEndpoint() { return $this->endpoint; } /** * Get all associated resources for this service. * * @access public * @return array */ public function getResources() { return $this->resources; } /** * Internal method for accessing child namespace from parent scope. * * @return type */ protected function getCurrentNamespace() { $namespace = get_class($this); return substr($namespace, 0, strrpos($namespace, '\\')); } /** * Resolves FQCN for local resource. * * @param $resourceName * @return string * @throws \OpenCloud\Common\Exceptions\UnrecognizedServiceError */ protected function resolveResourceClass($resourceName) { $className = substr_count($resourceName, '\\') ? $resourceName : $this->getCurrentNamespace() . '\\Resource\\' . ucfirst($resourceName); if (!class_exists($className)) { throw new Exceptions\UnrecognizedServiceError(sprintf( '%s resource does not exist, please try one of the following: %s', $resourceName, implode(', ', $this->getResources()) )); } return $className; } /** * Factory method for instantiating resource objects. * * @param string $resourceName * @param mixed $info (default: null) * @param mixed $parent The parent object * @return object */ public function resource($resourceName, $info = null, $parent = null) { $className = $this->resolveResourceClass($resourceName); $resource = new $className($this); if ($parent) { $resource->setParent($parent); } $resource->populate($info); return $resource; } /** * Factory method for instantiating a resource collection. * * @param string $resourceName * @param string|null $url * @param string|null $parent * @return PaginatedIterator */ public function resourceList($resourceName, $url = null, $parent = null) { $className = $this->resolveResourceClass($resourceName); return $this->collection($className, $url, $parent); } /** * @codeCoverageIgnore */ public function collection($class, $url = null, $parent = null, $data = null) { if (!$parent) { $parent = $this; } if (!$url) { $resource = $this->resolveResourceClass($class); $url = $parent->getUrl($resource::resourceName()); } $options = $this->makeResourceIteratorOptions($this->resolveResourceClass($class)); $options['baseUrl'] = $url; return PaginatedIterator::factory($parent, $options, $data); } /** * @deprecated */ public function namespaces() { return $this->getNamespaces(); } /** * Returns a list of supported namespaces * * @return array */ public function getNamespaces() { return (isset($this->namespaces) && is_array($this->namespaces)) ? $this->namespaces : array(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Service/Catalog.php000064400000003612147400355670022140 0ustar00items[] = CatalogItem::factory($item); } } elseif ($config instanceof Catalog) { $catalog = $config; } else { throw new InvalidArgumentError(sprintf( 'Argument for Catalog::factory must be either an array or an ' . 'instance of %s. You passed in: %s', get_class(), print_r($config, true) )); } return $catalog; } /** * @return array */ public function getItems() { return $this->items; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Service/ServiceInterface.php000064400000001623147400355670024007 0ustar00getUser() && ($defaultRegion = $client->getUser()->getDefaultRegion())) { $region = $defaultRegion; } else { $region = null; } return new $class($client, $type, $name, $region, $urlType); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Service/CatalogItem.php000064400000006664147400355670022771 0ustar00setName($object->name) ->setType($object->type) ->setEndpoints($object->endpoints); return $item; } /** * @param $name * @return $this */ public function setName($name) { $this->name = $name; return $this; } /** * @return string */ public function getName() { return $this->name; } /** * A basic string check. * * @param $string * @return bool */ public function hasName($string) { return !strnatcasecmp($this->name, $string); } /** * @param $type * @return $this */ public function setType($type) { $this->type = $type; return $this; } /** * @return string */ public function getType() { return $this->type; } /** * @param $string * @return bool */ public function hasType($string) { return !strnatcasecmp($this->type, $string); } /** * @param array $endpoints * @return $this */ public function setEndpoints(array $endpoints) { $this->endpoints = $endpoints; return $this; } /** * @return array */ public function getEndpoints() { return $this->endpoints; } /** * Using a standard data object, extract its endpoint. * * @param string $region * @param bool $isRegionless * * @return mixed * @throws \OpenCloud\Common\Exceptions\EndpointError */ public function getEndpointFromRegion($region, $isRegionless = false) { foreach ($this->endpoints as $endpoint) { // Return the endpoint if it is regionless OR if the endpoint's // region matches the $region supplied by the caller. if ($isRegionless || !isset($endpoint->region) || $endpoint->region == $region) { return $endpoint; } } throw new \OpenCloud\Common\Exceptions\EndpointError(sprintf( 'This service [%s] does not have access to the [%s] endpoint.', $this->name, $region )); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Service/NovaService.php000064400000003653147400355670023017 0ustar00collection('OpenCloud\Compute\Resource\Flavor', $this->getUrl($path, $filter)); } /** * Loads the available namespaces from the /extensions resource */ protected function loadNamespaces() { foreach ($this->getExtensions() as $object) { $this->namespaces[] = $object->alias; } if (!empty($this->additionalNamespaces)) { $this->namespaces += $this->additionalNamespaces; } } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Service/CatalogService.php000064400000017520147400355670023464 0ustar00hasLogger()) { $this->setLogger($client->getLogger()); } $this->setClient($client); $this->name = $name ? : static::DEFAULT_NAME; $this->region = $region; $this->region = $region; if ($this->regionless !== true && !$this->region) { throw new Exceptions\ServiceException(sprintf( 'The %s service must have a region set. You can either pass in a region string as an argument param, or' . ' set a default region for your user account by executing User::setDefaultRegion and ::update().', $this->name )); } $this->type = $type ? : static::DEFAULT_TYPE; $this->urlType = $urlType ? : static::DEFAULT_URL_TYPE; $this->setEndpoint($this->findEndpoint()); $this->client->setBaseUrl($this->getBaseUrl()); if ($this instanceof EventSubscriberInterface) { $this->client->getEventDispatcher()->addSubscriber($this); } } /** * @return string */ public function getType() { return $this->type; } /** * @return string */ public function getRegion() { return $this->region; } /** * @return string */ public function getName() { return $this->name; } /** * @return string */ public function getUrlType() { return $this->urlType; } /** * @deprecated */ public function region() { return $this->getRegion(); } /** * @deprecated */ public function name() { return $this->name; } /** * Returns the URL for the Service * * @param string $path URL path segment * @param array $query Array of query pairs * @return Guzzle\Http\Url */ public function getUrl($path = null, array $query = array()) { return Url::factory($this->getBaseUrl()) ->addPath($path) ->setQuery($query); } /** * @deprecated */ public function url($path = null, array $query = array()) { return $this->getUrl($path, $query); } /** * Returns the /extensions for the service * * @api * @return array of objects */ public function getExtensions() { $ext = $this->getMetaUrl('extensions'); return (is_object($ext) && isset($ext->extensions)) ? $ext->extensions : array(); } /** * Returns the limits for the service * * @return array of limits */ public function limits() { $limits = $this->getMetaUrl('limits'); return (is_object($limits)) ? $limits->limits : array(); } /** * Extracts the appropriate endpoint from the service catalog based on the * name and type of a service, and sets for further use. * * @return \OpenCloud\Common\Service\Endpoint * @throws \OpenCloud\Common\Exceptions\EndpointError */ private function findEndpoint() { if (!$this->getClient()->getCatalog()) { $this->getClient()->authenticate(); } $catalog = $this->getClient()->getCatalog(); // Search each service to find The One foreach ($catalog->getItems() as $service) { if ($service->hasType($this->type) && $service->hasName($this->name)) { $endpoint = $service->getEndpointFromRegion($this->region, $this->regionless); return Endpoint::factory($endpoint, static::SUPPORTED_VERSION, $this->getClient()); } } throw new Exceptions\EndpointError(sprintf( 'No endpoints for service type [%s], name [%s], region [%s] and urlType [%s]', $this->type, $this->name, $this->region, $this->urlType )); } /** * Constructs a specified URL from the subresource * * Given a subresource (e.g., "extensions"), this constructs the proper * URL and retrieves the resource. * * @param string $resource The resource requested; should NOT have slashes * at the beginning or end * @return \stdClass object */ private function getMetaUrl($resource) { $url = clone $this->getBaseUrl(); $url->addPath($resource); try { $response = $this->getClient()->get($url)->send(); return Formatter::decode($response); } catch (BadResponseException $e) { // @codeCoverageIgnoreStart return array(); // @codeCoverageIgnoreEnd } } /** * Get the base URL for this service, based on the set URL type. * @return \Guzzle\Http\Url * @throws \OpenCloud\Common\Exceptions\ServiceException */ public function getBaseUrl() { $url = ($this->urlType == 'publicURL') ? $this->endpoint->getPublicUrl() : $this->endpoint->getPrivateUrl(); if ($url === null) { throw new Exceptions\ServiceException(sprintf( 'The base %s could not be found. Perhaps the service ' . 'you are using requires a different URL type, or does ' . 'not support this region.', $this->urlType )); } return $url; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Base.php000064400000032423147400355670020042 0ustar00propertyExists($property) && $prefix == 'get') { return $this->getProperty($property); } // Do setter if ($this->propertyExists($property) && $prefix == 'set') { return $this->setProperty($property, $args[0]); } throw new Exceptions\RuntimeException(sprintf( 'No method %s::%s()', get_class($this), $method )); } /** * We can set a property under three conditions: * * 1. If it has a concrete setter: setProperty() * 2. If the property exists * 3. If the property name's prefix is in an approved list * * @param mixed $property * @param mixed $value * @return mixed */ protected function setProperty($property, $value) { $setter = 'set' . $this->toCamel($property); if (method_exists($this, $setter)) { return call_user_func(array($this, $setter), $value); } elseif (false !== ($propertyVal = $this->propertyExists($property))) { // Are we setting a public or private property? if ($this->isAccessible($propertyVal)) { $this->$propertyVal = $value; } else { $this->properties[$propertyVal] = $value; } return $this; } else { $this->getLogger()->warning( 'Attempted to set {property} with value {value}, but the' . ' property has not been defined. Please define first.', array( 'property' => $property, 'value' => print_r($value, true) ) ); } } /** * Basic check to see whether property exists. * * @param string $property The property name being investigated. * @param bool $allowRetry If set to TRUE, the check will try to format the name in underscores because * there are sometimes discrepancies between camelCaseNames and underscore_names. * @return bool */ protected function propertyExists($property, $allowRetry = true) { if (!property_exists($this, $property) && !$this->checkAttributePrefix($property)) { // Convert to under_score and retry if ($allowRetry) { return $this->propertyExists($this->toUnderscores($property), false); } else { $property = false; } } return $property; } /** * Convert a string to camelCase format. * * @param $string * @param bool $capitalise Optional flag which allows for word capitalization. * @return mixed */ public function toCamel($string, $capitalise = true) { if ($capitalise) { $string = ucfirst($string); } return preg_replace_callback('/_([a-z])/', function ($char) { return strtoupper($char[1]); }, $string); } /** * Convert string to underscore format. * * @param $string * @return mixed */ public function toUnderscores($string) { $string = lcfirst($string); return preg_replace_callback('/([A-Z])/', function ($char) { return "_" . strtolower($char[1]); }, $string); } /** * Does the property exist in the object variable list (i.e. does it have public or protected visibility?) * * @param $property * @return bool */ private function isAccessible($property) { return array_key_exists($property, get_object_vars($this)); } /** * Checks the attribute $property and only permits it if the prefix is * in the specified $prefixes array * * This is to support extension namespaces in some services. * * @param string $property the name of the attribute * @return boolean */ private function checkAttributePrefix($property) { if (!method_exists($this, 'getService')) { return false; } $prefix = strstr($property, ':', true); return in_array($prefix, $this->getService()->namespaces()); } /** * Grab value out of the data array. * * @param string $property * @return mixed */ protected function getProperty($property) { if (array_key_exists($property, $this->properties)) { return $this->properties[$property]; } elseif (array_key_exists($this->toUnderscores($property), $this->properties)) { return $this->properties[$this->toUnderscores($property)]; } elseif (method_exists($this, 'get' . ucfirst($property))) { return call_user_func(array($this, 'get' . ucfirst($property))); } elseif (false !== ($propertyVal = $this->propertyExists($property)) && $this->isAccessible($propertyVal)) { return $this->$propertyVal; } return null; } /** * Sets the logger. * * @param LoggerInterface $logger * * @return $this */ public function setLogger(LoggerInterface $logger = null) { $this->logger = $logger; return $this; } /** * Returns the Logger object. * * @return LoggerInterface */ public function getLogger() { if (null === $this->logger) { $this->setLogger(new Log\Logger); } return $this->logger; } /** * @return bool */ public function hasLogger() { return (null !== $this->logger); } /** * @deprecated */ public function url($path = null, array $query = array()) { return $this->getUrl($path, $query); } /** * Populates the current object based on an unknown data type. * * @param mixed $info * @param bool * @throws Exceptions\InvalidArgumentError */ public function populate($info, $setObjects = true) { if (is_string($info) || is_integer($info)) { $this->setProperty($this->primaryKeyField(), $info); $this->refresh($info); } elseif (is_object($info) || is_array($info)) { foreach ($info as $key => $value) { if ($key == 'metadata' || $key == 'meta') { // Try retrieving existing value if (null === ($metadata = $this->getProperty($key))) { // If none exists, create new object $metadata = new Metadata; } // Set values for metadata $metadata->setArray($value); // Set object property $this->setProperty($key, $metadata); } elseif (!empty($this->associatedResources[$key]) && $setObjects === true) { // Associated resource try { $resource = $this->getService()->resource($this->associatedResources[$key], $value); $resource->setParent($this); $this->setProperty($key, $resource); } catch (Exception\ServiceException $e) { } } elseif (!empty($this->associatedCollections[$key]) && $setObjects === true) { // Associated collection try { $className = $this->associatedCollections[$key]; $options = $this->makeResourceIteratorOptions($className); $iterator = ResourceIterator::factory($this, $options, $value); $this->setProperty($key, $iterator); } catch (Exception\ServiceException $e) { } } elseif (!empty($this->aliases[$key])) { // Sometimes we might want to preserve camelCase // or covert `rax-bandwidth:bandwidth` to `raxBandwidth` $this->setProperty($this->aliases[$key], $value); } else { // Normal key/value pair $this->setProperty($key, $value); } } } elseif (null !== $info) { throw new Exceptions\InvalidArgumentError(sprintf( Lang::translate('Argument for [%s] must be string or object'), get_class() )); } } /** * Checks the most recent JSON operation for errors. * * @throws Exceptions\JsonError * @codeCoverageIgnore */ public static function checkJsonError() { switch (json_last_error()) { case JSON_ERROR_NONE: return; case JSON_ERROR_DEPTH: $jsonError = 'JSON error: The maximum stack depth has been exceeded'; break; case JSON_ERROR_STATE_MISMATCH: $jsonError = 'JSON error: Invalid or malformed JSON'; break; case JSON_ERROR_CTRL_CHAR: $jsonError = 'JSON error: Control character error, possibly incorrectly encoded'; break; case JSON_ERROR_SYNTAX: $jsonError = 'JSON error: Syntax error'; break; case JSON_ERROR_UTF8: $jsonError = 'JSON error: Malformed UTF-8 characters, possibly incorrectly encoded'; break; default: $jsonError = 'Unexpected JSON error'; break; } if (isset($jsonError)) { throw new JsonError(Lang::translate($jsonError)); } } public static function generateUuid() { return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', // 32 bits for "time_low" mt_rand(0, 0xffff), mt_rand(0, 0xffff), // 16 bits for "time_mid" mt_rand(0, 0xffff), // 16 bits for "time_hi_and_version", // four most significant bits holds version number 4 mt_rand(0, 0x0fff) | 0x4000, // 16 bits, 8 bits for "clk_seq_hi_res", // 8 bits for "clk_seq_low", // two most significant bits holds zero and one for variant DCE1.1 mt_rand(0, 0x3fff) | 0x8000, // 48 bits for "node" mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff) ); } public function makeResourceIteratorOptions($resource) { $options = array('resourceClass' => $this->stripNamespace($resource)); if (method_exists($resource, 'jsonCollectionName')) { $options['key.collection'] = $resource::jsonCollectionName(); } if (method_exists($resource, 'jsonCollectionElement')) { $options['key.collectionElement'] = $resource::jsonCollectionElement(); } return $options; } public function stripNamespace($namespace) { $array = explode('\\', $namespace); return end($array); } protected static function getJsonHeader() { return array(HeaderConst::CONTENT_TYPE => MimeConst::JSON); } protected static function getPatchHeaders() { return array(HeaderConst::CONTENT_TYPE => static::PATCH_CONTENT_TYPE); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Collection/ArrayCollection.php000064400000003526147400355670024357 0ustar00setElements($data); } /** * @return int */ public function count() { return count($this->elements); } /** * @param array $data * @return $this */ public function setElements(array $data = array()) { $this->elements = $data; return $this; } /** * Appends a value to the container. * * @param $value */ public function append($value) { $this->elements[] = $value; } /** * Checks to see whether a particular value exists. * * @param $value * @return bool */ public function valueExists($value) { return array_search($value, $this->elements) !== false; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Collection/PaginatedIterator.php000064400000021061147400355670024665 0ustar00 10000, 'limit.page' => 100, // The "links" element key in response 'key.links' => 'links', // JSON structure 'key.collection' => null, 'key.collectionElement' => null, // The property used as the marker 'key.marker' => 'name', // Options for "next page" request 'request.method' => 'GET', 'request.headers' => array(), 'request.body' => null, 'request.curlOptions' => array() ); protected $required = array('resourceClass', 'baseUrl'); /** * Basic factory method to easily instantiate a new ResourceIterator. * * @param $parent The parent object * @param array $options Iterator options * @param array $data Optional data to set initially * @return static */ public static function factory($parent, array $options = array(), array $data = null) { $list = new static(); $list->setOptions($list->parseOptions($options)) ->setResourceParent($parent) ->rewind(); if ($data) { $list->setElements($data); } else { $list->appendNewCollection(); } return $list; } /** * @param Url $url * @return $this */ public function setBaseUrl(Url $url) { $this->baseUrl = $url; return $this; } public function current() { return parent::current(); } public function key() { return parent::key(); } /** * {@inheritDoc} * Also update the current marker. */ public function next() { if (!$this->valid()) { return false; } $current = $this->current(); $this->position++; $this->updateMarkerToCurrent(); return $current; } /** * Update the current marker based on the current element. The marker will be based on a particular property of this * current element, so you must retrieve it first. */ public function updateMarkerToCurrent() { if (!isset($this->elements[$this->position])) { return; } $element = $this->elements[$this->position]; $this->setMarkerFromElement($element); } protected function setMarkerFromElement($element) { $key = $this->getOption('key.marker'); if (isset($element->$key)) { $this->currentMarker = $element->$key; } } /** * {@inheritDoc} * Also reset current marker. */ public function rewind() { parent::rewind(); $this->currentMarker = null; } public function valid() { $totalLimit = $this->getOption('limit.total'); if ($totalLimit !== false && $this->position >= $totalLimit) { return false; } elseif (isset($this->elements[$this->position])) { return true; } elseif ($this->shouldAppend() === true) { $before = $this->count(); $this->appendNewCollection(); return ($this->count() > $before) ? true : false; } return false; } protected function shouldAppend() { return $this->currentMarker && ( $this->nextUrl || $this->position % $this->getOption('limit.page') == 0 ); } /** * Append an array of standard objects to the current collection. * * @param array $elements * @return $this */ public function appendElements(array $elements) { $this->elements = array_merge($this->elements, $elements); return $this; } /** * Retrieve a new page of elements from the API (based on a new request), parse its response, and append them to the * collection. * * @return $this|bool */ public function appendNewCollection() { $request = $this->resourceParent ->getClient() ->createRequest( $this->getOption('request.method'), $this->constructNextUrl(), $this->getOption('request.headers'), $this->getOption('request.body'), $this->getOption('request.curlOptions') ); try { $response = $request->send(); } catch (ClientErrorResponseException $e) { return false; } if (!($body = Formatter::decode($response)) || $response->getStatusCode() == 204) { return false; } $this->nextUrl = $this->extractNextLink($body); return $this->appendElements($this->parseResponseBody($body)); } /** * Based on the response body, extract the explicitly set "link" value if provided. * * @param $body * @return bool */ public function extractNextLink($body) { $key = $this->getOption('key.links'); $value = null; if (isset($body->$key)) { foreach ($body->$key as $link) { if (isset($link->rel) && $link->rel == 'next') { $value = $link->href; break; } } } return $value; } /** * Make the next page URL. * * @return Url|string */ public function constructNextUrl() { if (!$url = $this->nextUrl) { $url = clone $this->getOption('baseUrl'); $query = $url->getQuery(); if (isset($this->currentMarker)) { $query[static::MARKER] = $this->currentMarker; } if (($limit = $this->getOption('limit.page')) && !$query->hasKey(static::LIMIT)) { $query[static::LIMIT] = $limit; } $url->setQuery($query); } return $url; } /** * Based on the response from the API, parse it for the data we need (i.e. an meaningful array of elements). * * @param $body * @return array */ public function parseResponseBody($body) { $collectionKey = $this->getOption('key.collection'); $data = array(); if (is_array($body)) { $data = $body; } elseif (isset($body->$collectionKey)) { if (null !== ($elementKey = $this->getOption('key.collectionElement'))) { // The object has element levels which need to be iterated over foreach ($body->$collectionKey as $item) { $subValues = $item->$elementKey; unset($item->$elementKey); $data[] = array_merge((array) $item, (array) $subValues); } } else { // The object has a top-level collection name only $data = $body->$collectionKey; } } return $data; } /** * Walk the entire collection, populating everything. */ public function populateAll() { while ($this->valid()) { $this->next(); } } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Collection/ResourceIterator.php000064400000014336147400355670024567 0ustar00 1000); /** * @var array Required options */ protected $required = array(); public static function factory($parent, array $options = array(), array $data = array()) { $iterator = new static($data); $iterator->setResourceParent($parent) ->setElements($data) ->setOptions($iterator->parseOptions($options)) ->rewind(); return $iterator; } protected function parseOptions(array $options) { $options = $options + $this->defaults; if ($missing = array_diff($this->required, array_keys($options))) { throw new InvalidArgumentError(sprintf('%s is a required option', implode(',', $missing))); } return $options; } /** * @param $parent * @return $this */ public function setResourceParent($parent) { $this->resourceParent = $parent; return $this; } /** * @param array $options * @return $this */ public function setOptions(array $options) { $this->options = $options; return $this; } /** * @return array Options for the resource iterator. */ public function getOptions() { return $this->options; } /** * Set a particular option. * * @param $key * @param $value * @return $this */ public function setOption($key, $value) { $this->options[$key] = $value; return $this; } /** * @param $key * @return null */ public function getOption($key) { return (isset($this->options[$key])) ? $this->options[$key] : null; } /** * This method is called after self::rewind() and self::next() to check if the current position is valid. * * @return bool */ public function valid() { return $this->offsetExists($this->position) && $this->position < $this->getOption('limit.total'); } /** * Increment the current pointer by 1, and also update the current marker. */ public function next() { $this->position++; return $this->current(); } /** * Reset the pointer and current marker. */ public function rewind() { $this->position = 0; } /** * @return mixed */ public function current() { return $this->constructResource($this->currentElement()); } /** * @return mixed */ public function currentElement() { return $this->offsetGet($this->key()); } /** * Using a standard object, this method populates a resource model with all the object data. It does this using a * whatever method the parent object has for resource creation. * * @param $object Standard object * @return mixed * @throws \OpenCloud\Common\Exceptions\CollectionException */ public function constructResource($object) { $className = $this->getOption('resourceClass'); if (substr_count($className, '\\')) { $array = explode('\\', $className); $className = end($array); } $parent = $this->resourceParent; $getter = sprintf('get%s', ucfirst($className)); if (method_exists($parent, $className)) { // $parent->server($data) return call_user_func(array($parent, $className), $object); } elseif (method_exists($parent, $getter)) { // $parent->getServer($data) return call_user_func(array($parent, $getter), $object); } elseif (method_exists($parent, 'resource')) { // $parent->resource('Server', $data) return $parent->resource($className, $object); } else { return $object; } } /** * Return the current position/internal pointer. * * @return int|mixed */ public function key() { return $this->position; } public function getElement($offset) { return (!$this->offsetExists($offset)) ? false : $this->constructResource($this->offsetGet($offset)); } /** * @deprecated */ public function first() { Logger::newInstance()->warning(Logger::deprecated(__METHOD__, 'getElement')); return $this->getElement(0); } /** * @todo Implement */ public function sort() { } public function search($callback) { $return = false; if (!is_callable($callback)) { throw new InvalidArgumentError('The provided argument must be a valid callback'); } foreach ($this->elements as $element) { $resource = $this->constructResource($element); if (call_user_func($callback, $resource) === true) { $return = $resource; break; } } return $return; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Lang.php000064400000001644147400355670020052 0ustar00setProperty($property, $value); } public function __get($key) { return $this->getProperty($key); } public function propertyExists($property, $allowRetry = true) { return isset($this->metadata[strtolower($property)]) || parent::propertyExists($property, $allowRetry); } public function getProperty($property) { return $this->propertyExists($property) ? $this->metadata[strtolower($property)] : null; } public function setProperty($property, $value) { $this->metadata[strtolower($property)] = $value; } public function __isset($property) { return $this->propertyExists($property); } /** * Returns the list of keys defined * * @return array */ public function keylist() { return $this->metadata; } /** * Sets metadata values from an array, with optional prefix * * If $prefix is provided, then only array keys that match the prefix * are set as metadata values, and $prefix is stripped from the key name. * * @param array $values an array of key/value pairs to set * @param string $prefix if provided, a prefix that is used to identify * metadata values. For example, you can set values from headers * for a Container by using $prefix='X-Container-Meta-'. * @return void */ public function setArray($values, $prefix = null) { if (empty($values)) { return false; } foreach ($values as $key => $value) { if ($prefix && strpos($key, $prefix) === 0) { $key = substr($key, strlen($prefix)); } $this->setProperty($key, $value); } } public function toArray() { return $this->metadata; } public function count() { return count($this->metadata); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/ArrayAccess.php000064400000002303147400355670021362 0ustar00elements = (array) $data; } /** * Sets a value to a particular offset. * * @param mixed $offset * @param mixed $value */ public function offsetSet($offset, $value) { if ($offset === null) { $this->elements[] = $value; } else { $this->elements[$offset] = $value; } } /** * Checks to see whether a particular offset key exists. * * @param mixed $offset * @return bool */ public function offsetExists($offset) { return array_key_exists($offset, $this->elements); } /** * Unset a particular key. * * @param mixed $offset */ public function offsetUnset($offset) { unset($this->elements[$offset]); } /** * Get the value for a particular offset key. * * @param mixed $offset * @return mixed|null */ public function offsetGet($offset) { return $this->offsetExists($offset) ? $this->elements[$offset] : null; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Log/Logger.php000064400000013311147400355670021123 0ustar00 false, 'logFile' => null, 'dateFormat' => 'd/m/y H:I', 'delimeter' => ' - ' ); public function __construct($enabled = false) { $this->enabled = $enabled; } public static function newInstance() { return new static(); } /** * Determines whether a log level needs to be outputted. * * @param string $logLevel * @return bool */ private function outputIsUrgent($logLevel) { return in_array($logLevel, $this->urgentLevels); } /** * Interpolates context values into the message placeholders. * * @param string $message * @param array $context * @return type */ private function interpolate($message, array $context = array()) { // build a replacement array with braces around the context keys $replace = array(); foreach ($context as $key => $val) { $replace['{' . $key . '}'] = $val; } // interpolate replacement values into the message and return return strtr($message, $replace); } /** * Enable or disable the debug class. * * @param bool $enabled * @return self */ public function setEnabled($enabled) { $this->enabled = $enabled; return $this; } /** * Is the debug class enabled? * * @return bool */ public function isEnabled() { return $this->enabled === true; } /** * Set an array of options. * * @param array $options */ public function setOptions(array $options = array()) { foreach ($options as $key => $value) { $this->setOption($key, $value); } return $this; } /** * Get all options. * * @return array */ public function getOptions() { return $this->options; } /** * Set an individual option. * * @param string $key * @param string $value */ public function setOption($key, $value) { if ($this->optionExists($key)) { $this->options[$key] = $value; return $this; } } /** * Get an individual option. * * @param string $key * @return string|null */ public function getOption($key) { if ($this->optionExists($key)) { return $this->options[$key]; } } /** * Check whether an individual option exists. * * @param string $key * @return bool */ private function optionExists($key) { return array_key_exists($key, $this->getOptions()); } /** * Outputs a log message if necessary. * * @param string $logLevel * @param string $message * @param string $context */ public function log($level, $message, array $context = array()) { if ($this->outputIsUrgent($level) || $this->isEnabled()) { $this->dispatch($message, $context); } } /** * Used to format the line outputted in the log file. * * @param string $string * @return string */ private function formatFileLine($string) { $format = $this->getOption('dateFormat') . $this->getOption('delimeter'); return date($format) . $string; } /** * Dispatch a log output message. * * @param string $message * @param array $context * @throws LoggingException */ private function dispatch($message, $context) { $output = $this->interpolate($message, $context) . PHP_EOL; if ($this->getOption('outputToFile') === true) { $file = $this->getOption('logFile'); if (!is_writable($file)) { throw new LoggingException( 'The log file either does not exist or is not writeable' ); } // Output to file file_put_contents($file, $this->formatFileLine($output), FILE_APPEND); } else { echo $output; } } /** * Helper method, use PSR-3 warning function for deprecation warnings * @see http://www.php-fig.org/psr/psr-3/ */ public static function deprecated($method, $new) { return sprintf('The %s method is deprecated, please use %s instead', $method, $new); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Collection.php000064400000026254147400355670021270 0ustar00getLogger()->warning(Logger::deprecated(__METHOD__, 'OpenCloud\Common\Collection\CollectionBuilder')); $this->setService($service); $this->setNextPageClass($class); // If they've supplied a FQCN, only get the last part $class = (false !== ($classNamePos = strrpos($class, '\\'))) ? substr($class, $classNamePos + 1) : $class; $this->setItemClass($class); // Set data $this->setItemList($array); } /** * Set the entire data array. * * @param array $array */ private function setItemList(array $array) { $this->itemList = $array; return $this; } /** * Retrieve the entire data array. * * @return array */ public function getItemList() { return $this->itemList; } /** * Set the service. * * @param Service|PersistentObject $service */ public function setService($service) { $this->service = $service; return $this; } /** * Retrieves the service associated with the Collection * * @return Service */ public function getService() { return $this->service; } /** * Set the resource class name. */ private function setItemClass($itemClass) { $this->itemClass = $itemClass; return $this; } /** * Get item class. */ private function getItemClass() { return $this->itemClass; } /** * Set the key that will be used for sorting. */ private function setSortKey($sortKey) { $this->sortKey = $sortKey; return $this; } /** * Get the key that will be used for sorting. */ private function getSortKey() { return $this->sortKey; } /** * Set next page class. */ private function setNextPageClass($nextPageClass) { $this->nextPageClass = $nextPageClass; return $this; } /** * Get next page class. */ private function getNextPageClass() { return $this->nextPageClass; } /** * for paginated collection, sets the callback function and URL for * the next page * * The callback function should have the signature: * * function Whatever($class, $url, $parent) * * and the `$url` should be the URL of the next page of results * * @param callable $callback the name of the function (or array of * object, function name) * @param string $url the URL of the next page of results * @return void */ public function setNextPageCallback($callback, $url) { $this->nextPageCallback = $callback; $this->nextPageUrl = $url; return $this; } /** * Get next page callback. */ private function getNextPageCallback() { return $this->nextPageCallback; } /** * Get next page URL. */ private function getNextPageUrl() { return $this->nextPageUrl; } /** * Returns the number of items in the collection * * For most services, this is the total number of items. If the Collection * is paginated, however, this only returns the count of items in the * current page of data. * * @return int */ public function count() { return count($this->getItemList()); } /** * Pseudonym for count() * * @codeCoverageIgnore */ public function size() { return $this->count(); } /** * Resets the pointer to the beginning, but does NOT return the first item * * @api * @return void */ public function reset() { $this->pointer = 0; } /** * Resets the collection pointer back to the first item in the page * and returns it * * This is useful if you're only interested in the first item in the page. * * @api * @return Base the first item in the set */ public function first() { $this->reset(); return $this->next(); } /** * Return the item at a particular point of the array. * * @param mixed $offset * @return mixed */ public function getItem($pointer) { return (isset($this->itemList[$pointer])) ? $this->itemList[$pointer] : false; } /** * Add an item to this collection * * @param mixed $item */ public function addItem($item) { $this->itemList[] = $item; } /** * Returns the next item in the page * * @api * @return Base the next item or FALSE if at the end of the page */ public function next() { if ($this->pointer >= $this->count()) { return false; } $data = $this->getItem($this->pointer++); $class = $this->getItemClass(); // Are there specific methods in the parent/service that can be used to // instantiate the resource? Currently supported: getResource(), resource() foreach (array($class, 'get' . ucfirst($class)) as $method) { if (method_exists($this->service, $method)) { return call_user_func(array($this->service, $method), $data); } } // Backup method if (method_exists($this->service, 'resource')) { return $this->service->resource($class, $data); } return false; } /** * sorts the collection on a specified key * * Note: only top-level keys can be used as the sort key. Note that this * only sorts the data in the current page of the Collection (for * multi-page data). * * @api * @param string $keyname the name of the field to use as the sort key * @return void */ public function sort($keyname = 'id') { $this->setSortKey($keyname); usort($this->itemList, array($this, 'sortCompare')); } /** * selects only specified items from the Collection * * This provides a simple form of filtering on Collections. For each item * in the collection, it calls the callback function, passing it the item. * If the callback returns `TRUE`, then the item is retained; if it returns * `FALSE`, then the item is deleted from the collection. * * Note that this should not supersede server-side filtering; the * `Collection::Select()` method requires that *all* of the data for the * Collection be retrieved from the server before the filtering is * performed; this can be very inefficient, especially for large data * sets. This method is mostly useful on smaller-sized sets. * * Example: * * $services = $connection->ServiceList(); * $services->Select(function ($item) { return $item->region=='ORD';}); * // now the $services Collection only has items from the ORD region * * * `Select()` is *destructive*; that is, it actually removes entries from * the collection. For example, if you use `Select()` to find items with * the ID > 10, then use it again to find items that are <= 10, it will * return an empty list. * * @api * @param callable $testfunc a callback function that is passed each item * in turn. Note that `Select()` performs an explicit test for * `FALSE`, so functions like `strpos()` need to be cast into a * boolean value (and not just return the integer). * @returns void * @throws DomainError if callback doesn't return a boolean value */ public function select($testfunc) { foreach ($this->getItemList() as $index => $item) { $test = call_user_func($testfunc, $item); if (!is_bool($test)) { throw new Exceptions\DomainError( Lang::translate('Callback function for Collection::Select() did not return boolean') ); } if ($test === false) { unset($this->itemList[$index]); } } } /** * returns the Collection object for the next page of results, or * FALSE if there are no more pages * * Generally, the structure for a multi-page collection will look like * this: * * $coll = $obj->Collection(); * do { * while ($item = $coll->Next()) { * // do something with the item * } * } while ($coll = $coll->NextPage()); * * @api * @return Collection if there are more pages of results, otherwise FALSE */ public function nextPage() { return ($this->getNextPageUrl() !== null) ? call_user_func($this->getNextPageCallback(), $this->getNextPageClass(), $this->getNextPageUrl()) : false; } /** * Compares two values of sort keys */ private function sortCompare($a, $b) { $key = $this->getSortKey(); // Handle strings if (is_string($a->$key)) { return strcmp($a->$key, $b->$key); } // Handle others with logical comparisons if ($a->$key == $b->$key) { return 0; } elseif ($a->$key < $b->$key) { return -1; } else { return 1; } } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/PersistentObject.php000064400000002054147400355670022454 0ustar00noCreate(); } public function update($params = array()) { return $this->noUpdate(); } public function delete() { return $this->noDelete(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Resource/BaseResource.php000064400000016411147400355670023340 0ustar00setService($service); $this->metadata = new Metadata(); $this->populate($data); } /** * @param \OpenCloud\Common\Service\ServiceInterface $service * @return \OpenCloud\Common\PersistentObject */ public function setService(ServiceInterface $service) { $this->service = $service; return $this; } /** * @return \OpenCloud\Common\Service\ServiceInterface * @throws \OpenCloud\Common\Exceptions\ServiceException */ public function getService() { if (null === $this->service) { throw new ServiceException('No service defined'); } return $this->service; } /** * @param BaseResource $parent * @return self */ public function setParent(BaseResource $parent) { $this->parent = $parent; return $this; } /** * @return mixed */ public function getParent() { if (null === $this->parent) { $this->parent = $this->getService(); } return $this->parent; } /** * Convenience method to return the service's client * * @return \Guzzle\Http\ClientInterface */ public function getClient() { return $this->getService()->getClient(); } /** * @param mixed $metadata * @return $this */ public function setMetadata($data) { if ($data instanceof Metadata) { $metadata = $data; } elseif (is_array($data) || is_object($data)) { $metadata = new Metadata(); $metadata->setArray($data); } else { throw new \InvalidArgumentException(sprintf( 'You must specify either an array/object of parameters, or an ' . 'instance of Metadata. You provided: %s', print_r($data, true) )); } $this->metadata = $metadata; return $this; } /** * @return Metadata */ public function getMetadata() { return $this->metadata; } /** * Get this resource's URL * * @param null $path URI path to add on * @param array $query Query to add on * @return mixed */ public function getUrl($path = null, array $query = array()) { if (!$url = $this->findLink('self')) { // ...otherwise construct a URL from parent and this resource's // "URL name". If no name is set, resourceName() throws an error. $url = $this->getParent()->getUrl($this->resourceName()); // Does it have a primary key? if (null !== ($primaryKey = $this->getProperty($this->primaryKeyField()))) { $url->addPath((string) $primaryKey); } } if (!$url instanceof Url) { $url = Url::factory($url); } return $url->addPath((string) $path)->setQuery($query); } /** * @deprecated */ public function url($path = null, array $query = array()) { return $this->getUrl($path, $query); } /** * Find a resource link based on a type * * @param string $type * @return bool */ public function findLink($type = 'self') { if (empty($this->links)) { return false; } foreach ($this->links as $link) { if ($link->rel == $type) { return $link->href; } } return false; } /** * Returns the primary key field for the object * * @return string */ protected function primaryKeyField() { return 'id'; } /** * Returns the top-level key for the returned response JSON document * * @throws DocumentError */ public static function jsonName() { if (isset(static::$json_name)) { return static::$json_name; } throw new DocumentError('A top-level JSON document key has not been defined for this resource'); } /** * Returns the top-level key for collection responses * * @return string */ public static function jsonCollectionName() { return isset(static::$json_collection_name) ? static::$json_collection_name : static::$json_name . 's'; } /** * Returns the nested keys that could (rarely) prefix collection items. For example: * * { * "keypairs": [ * { * "keypair": { * "fingerprint": "...", * "name": "key1", * "public_key": "..." * } * }, * { * "keypair": { * "fingerprint": "...", * "name": "key2", * "public_key": "..." * } * } * ] * } * * In the above example, "keypairs" would be the $json_collection_name and "keypair" would be the * $json_collection_element * * @return string */ public static function jsonCollectionElement() { if (isset(static::$json_collection_element)) { return static::$json_collection_element; } } /** * Returns the URI path for this resource * * @throws UrlError */ public static function resourceName() { if (isset(static::$url_resource)) { return static::$url_resource; } throw new UrlError('No URL path defined for this resource'); } /** * Parse a HTTP response for the required content * * @param Response $response * @return mixed */ public function parseResponse(Response $response) { $document = Formatter::decode($response); $topLevelKey = $this->jsonName(); return ($topLevelKey && isset($document->$topLevelKey)) ? $document->$topLevelKey : $document; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Resource/NovaResource.php000064400000003143147400355670023367 0ustar00getProperty($this->primaryKeyField())) { throw new \RuntimeException('A primary key is required'); } if (!is_object($object)) { throw new \InvalidArgumentException(sprintf('This method expects an object as its parameter')); } // convert the object to json $json = json_encode($object); $this->checkJsonError(); // get the URL for the POST message $url = clone $this->getUrl(); $url->addPath('action'); // POST the message return $this->getClient()->post($url, self::getJsonHeader(), $json)->send(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Resource/PersistentResource.php000064400000031077147400355670024633 0ustar00populate($params, false); } // construct the JSON $json = json_encode($this->createJson()); $this->checkJsonError(); $createUrl = $this->createUrl(); $response = $this->getClient()->post($createUrl, self::getJsonHeader(), $json)->send(); // We have to try to parse the response body first because it should have precedence over a Location refresh. // I'd like to reverse the order, but Nova instances return ephemeral properties on creation which are not // available when you follow the Location link... if (null !== ($decoded = $this->parseResponse($response))) { $this->populate($decoded); } elseif ($location = $response->getHeader('Location')) { $this->refreshFromLocationUrl($location); } return $response; } /** * Update a resource * * @param array $params * @return \Guzzle\Http\Message\Response */ public function update($params = array()) { // set parameters if (!empty($params)) { $this->populate($params); } // construct the JSON $json = json_encode($this->updateJson($params)); $this->checkJsonError(); // send the request return $this->getClient()->put($this->getUrl(), self::getJsonHeader(), $json)->send(); } /** * Delete this resource * * @return \Guzzle\Http\Message\Response */ public function delete() { return $this->getClient()->delete($this->getUrl())->send(); } /** * Refresh the state of a resource * * @param null $id * @param null $url * @return \Guzzle\Http\Message\Response * @throws IdRequiredError */ public function refresh($id = null, $url = null) { $primaryKey = $this->primaryKeyField(); $primaryKeyVal = $this->getProperty($primaryKey); if (!$url) { if (!$id = $id ?: $primaryKeyVal) { $message = sprintf("This resource cannot be refreshed because it has no %s", $primaryKey); throw new IdRequiredError($message); } if ($primaryKeyVal != $id) { $this->setProperty($primaryKey, $id); } $url = $this->getUrl(); } // reset status, if available if ($this->getProperty('status')) { $this->setProperty('status', null); } $response = $this->getClient()->get($url)->send(); if (null !== ($decoded = $this->parseResponse($response))) { $this->populate($decoded); } return $response; } /** * Causes resource to refresh based on parent's URL */ protected function refreshFromParent() { $url = clone $this->getParent()->getUrl(); $url->addPath($this->resourceName()); $response = $this->getClient()->get($url)->send(); if (null !== ($decoded = $this->parseResponse($response))) { $this->populate($decoded); } } /** * Given a `location` URL, refresh this resource * * @param $url */ public function refreshFromLocationUrl($url) { $fullUrl = Url::factory($url); $response = $this->getClient()->get($fullUrl)->send(); if (null !== ($decoded = $this->parseResponse($response))) { $this->populate($decoded); } } /** * A method to repeatedly poll the API resource, waiting for an eventual state change * * @param null $state The expected state of the resource * @param null $timeout The maximum timeout to wait * @param null $callback The callback to use to check the state * @param null $interval How long between each refresh request */ public function waitFor($state = null, $timeout = null, $callback = null, $interval = null) { $state = $state ?: State::ACTIVE; $timeout = $timeout ?: State::DEFAULT_TIMEOUT; $interval = $interval ?: State::DEFAULT_INTERVAL; // save stats $startTime = time(); $states = array('ERROR', $state); while (true) { $this->refresh($this->getProperty($this->primaryKeyField())); if ($callback) { call_user_func($callback, $this); } if (in_array($this->status(), $states) || (time() - $startTime) > $timeout) { return; } sleep($interval); } } /** * Provides JSON for create request body * * @return object * @throws \RuntimeException */ protected function createJson() { if (!isset($this->createKeys)) { throw new \RuntimeException(sprintf( 'This resource object [%s] must have a visible createKeys array', get_class($this) )); } $element = (object) array(); foreach ($this->createKeys as $key) { if (null !== ($property = $this->getProperty($key))) { $element->{$this->getAlias($key)} = $this->recursivelyAliasPropertyValue($property); } } if (isset($this->metadata) && count($this->metadata)) { $element->metadata = (object) $this->metadata->toArray(); } return (object) array($this->jsonName() => (object) $element); } /** * Returns the alias configured for the given key. If no alias exists * it returns the original key. * * @param string $key * @return string */ protected function getAlias($key) { if (false !== ($alias = array_search($key, $this->aliases))) { return $alias; } return $key; } /** * Returns the given property value's alias, if configured; Else, the * unchanged property value is returned. If the given property value * is an array or an instance of \stdClass, it is aliases recursively. * * @param mixed $propertyValue Array or \stdClass instance to alias * @return mixed Property value, aliased recursively */ protected function recursivelyAliasPropertyValue($propertyValue) { if (is_array($propertyValue)) { foreach ($propertyValue as $key => $subValue) { $aliasedSubValue = $this->recursivelyAliasPropertyValue($subValue); if (is_numeric($key)) { $propertyValue[$key] = $aliasedSubValue; } else { unset($propertyValue[$key]); $propertyValue[$this->getAlias($key)] = $aliasedSubValue; } } } elseif (is_object($propertyValue) && ($propertyValue instanceof \stdClass)) { foreach (get_object_vars($propertyValue) as $key => $subValue) { unset($propertyValue->$key); $propertyValue->{$this->getAlias($key)} = $this->recursivelyAliasPropertyValue($subValue); } } return $propertyValue; } /** * Provides JSON for update request body */ protected function updateJson($params = array()) { if (!isset($this->updateKeys)) { throw new \RuntimeException(sprintf( 'This resource object [%s] must have a visible updateKeys array', get_class($this) )); } $element = (object) array(); foreach ($this->updateKeys as $key) { if (null !== ($property = $this->getProperty($key))) { $element->{$this->getAlias($key)} = $this->recursivelyAliasPropertyValue($property); } } return (object) array($this->jsonName() => (object) $element); } /** * @throws CreateError */ protected function noCreate() { throw new CreateError('This resource does not support the create operation'); } /** * @throws DeleteError */ protected function noDelete() { throw new DeleteError('This resource does not support the delete operation'); } /** * @throws UpdateError */ protected function noUpdate() { throw new UpdateError('This resource does not support the update operation'); } /** * Check whether an extension is valid * * @param mixed $alias The extension name * @return bool * @throws UnsupportedExtensionError */ public function checkExtension($alias) { if (!in_array($alias, $this->getService()->namespaces())) { throw new UnsupportedExtensionError(sprintf("%s extension is not installed", $alias)); } return true; } /** * Returns the object's properties as an array */ protected function getUpdateablePropertiesAsArray() { $properties = get_object_vars($this); $propertiesToKeep = array(); foreach ($this->updateKeys as $key) { if (isset($properties[$key])) { $propertiesToKeep[$key] = $properties[$key]; } } return $propertiesToKeep; } /** * Generates a JSON Patch representation and return its * * @param mixed $updatedProperties Properties of the resource to update * @return String JSON Patch representation for updates */ protected function generateJsonPatch($updatedProperties) { // Normalize current and updated properties into nested arrays $currentProperties = json_decode(json_encode($this->getUpdateablePropertiesAsArray()), true); $updatedProperties = json_decode(json_encode($updatedProperties), true); // Add any properties that haven't changed to generate the correct patch // (otherwise unchanging properties are marked as removed in the patch) foreach ($currentProperties as $key => $value) { if (!array_key_exists($key, $updatedProperties)) { $updatedProperties[$key] = $value; } } // Recursively alias current and updated properties $currentProperties = $this->recursivelyAliasPropertyValue($currentProperties); $updatedProperties = $this->recursivelyAliasPropertyValue($updatedProperties); // Generate JSON Patch representation $json = json_encode(JsonPatch::diff($currentProperties, $updatedProperties)); $this->checkJsonError(); return $json; } /******** DEPRECATED METHODS ********/ /** * @deprecated * @return string * @throws NameError */ public function name() { if (null !== ($name = $this->getProperty('name'))) { return $name; } else { throw new NameError('Name attribute does not exist for this resource'); } } /** * @deprecated * @return mixed */ public function id() { return $this->id; } /** * @deprecated * @return string */ public function status() { return (isset($this->status)) ? $this->status : 'N/A'; } /** * @deprecated * @return mixed */ public function region() { return $this->getService()->region(); } /** * @deprecated * @return \Guzzle\Http\Url */ public function createUrl() { return $this->getParent()->getUrl($this->resourceName()); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Http/Message/Formatter.php000064400000003036147400355670023434 0ustar00getHeader(Header::CONTENT_TYPE), Mime::JSON) !== false) { $string = (string) $response->getBody(); $response = json_decode($string); self::checkJsonError($string); return $response; } } public static function encode($body) { return json_encode($body); } public static function checkJsonError($string = null) { if (json_last_error()) { $error = sprintf('%s', json_last_error_msg()); $message = ($string) ? sprintf('%s trying to decode: %s', $error, $string) : $error; throw new JsonError($message); } } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Http/Message/RequestSubscriber.php000064400000002576147400355670025155 0ustar00 'doCurlProgress' ); } /** * @param $options * @return mixed * @codeCoverageIgnore */ public function doCurlProgress($options) { $curlOptions = $options['request']->getCurlOptions(); if ($curlOptions->hasKey('progressCallback')) { return call_user_func($curlOptions->get('progressCallback')); } } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Http/Client.php000064400000002273147400355670021325 0ustar00userAgent; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/HttpUnauthorizedError.php000064400000001276147400355670025646 0ustar00request = $request; return $this; } /** * Get the request that caused the exception * * @return RequestInterface */ public function getRequest() { return $this->request; } /** * Set the response that caused the exception * * @param Response $response Response to set */ public function setResponse(Response $response) { $this->response = $response; } /** * Get the response that caused the exception * * @return Response */ public function getResponse() { return $this->response; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/DomainError.php000064400000001264147400355670023531 0ustar00getResponse(); $message = sprintf( "This resource you were looking for could not be found; the API returned a %s status code with this message:\n%s", $response->getStatusCode(), (string) $response->getBody() ); $e = new self($message); $e->setResponse($response); $e->setRequest($exception->getRequest()); return $e; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/InvalidTemplateError.php000064400000001275147400355670025406 0ustar00getResponse(); $message = sprintf( "This operation was forbidden; the API returned a %s status code with this message:\n%s", $response->getStatusCode(), (string) $response->getBody() ); $e = new self($message); $e->setResponse($response); $e->setRequest($exception->getRequest()); return $e; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Exceptions/ObjectCopyError.php000064400000001270147400355670024360 0ustar00 * $client = new Rackspace( * 'https://identity.api.rackspacecloud.com/v2.0/', * array( * 'username' => 'FRED', * 'apiKey' => '0900af093093788912388fc09dde090ffee09' * ) * ); * */ class Rackspace extends OpenStack { const US_IDENTITY_ENDPOINT = 'https://identity.api.rackspacecloud.com/v2.0/'; const UK_IDENTITY_ENDPOINT = 'https://lon.identity.api.rackspacecloud.com/v2.0/'; /** * Generates Rackspace API key credentials * {@inheritDoc} */ public function getCredentials() { $secret = $this->getSecret(); if (!empty($secret['username']) && !empty($secret['apiKey'])) { $credentials = array('auth' => array( 'RAX-KSKEY:apiKeyCredentials' => array( 'username' => $secret['username'], 'apiKey' => $secret['apiKey'] ) )); if (!empty($secret['tenantName'])) { $credentials['auth']['tenantName'] = $secret['tenantName']; } elseif (!empty($secret['tenantId'])) { $credentials['auth']['tenantId'] = $secret['tenantId']; } return json_encode($credentials); } else { throw new CredentialError('Unrecognized credential secret'); } } /** * Creates a new Database service. Note: this is a Rackspace-only feature. * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\Database\Service */ public function databaseService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\Database\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new Load Balancer service. Note: this is a Rackspace-only feature. * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\LoadBalancer\Service */ public function loadBalancerService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\LoadBalancer\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new DNS service. Note: this is a Rackspace-only feature. * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return OpenCloud\DNS\Service */ public function dnsService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\DNS\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new CloudMonitoring service. Note: this is a Rackspace-only feature. * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\CloudMonitoring\Service */ public function cloudMonitoringService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\CloudMonitoring\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new CloudQueues service. Note: this is a Rackspace-only feature. * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\Autoscale\Service */ public function autoscaleService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\Autoscale\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new CloudQueues service. Note: this is a Rackspace-only feature. * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\Queues\Service */ public function queuesService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\Queues\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new CDN (Rackspace CDN) service object * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\Cdn\Service * @codeCoverageIgnore */ public function cdnService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\CDN\Service', array( 'name' => $name, 'type' => 'rax:cdn', 'region' => $region, 'urlType' => $urltype )); } } vendor/rackspace/php-opencloud/lib/OpenCloud/CDN/Service.php000064400000012471147400355670017745 0ustar00resource('Service', $id); } /** * Creates a new Service and returns it. * * @see https://github.com/rackspace/php-opencloud/blob/master/docs/userguide/CDN/USERGUIDE.md#create-a-service * @param array $params Service creation parameters. * @return \OpenCloud\CDN\Resource\Service Object representing created service */ public function createService(array $params = array()) { $service = $this->service(); $service->create($params); return $service; } /** * Returns a Service object associated with this CDN service * * @param string $id ID of service to retrieve * @return \OpenCloud\CDN\Resource\Service object */ public function getService($id) { return $this->service($id); } /** * Returns a list of services you created * * @param array $params * @return \OpenCloud\Common\Collection\PaginatedIterator */ public function listServices(array $params = array()) { $params['limit'] = isset($params['limit']) && $params['limit'] <= self::MAX_LIMIT ?: self::MAX_LIMIT; $url = clone $this->getUrl(); $url->addPath(ServiceResource::resourceName())->setQuery($params); return $this->resourceList('Service', $url); } /** * Returns a Flavor object associated with this CDN service * * @param string $id ID of flavor to retrieve * @return \OpenCloud\CDN\Resource\Flavor object */ public function flavor($id = null) { return $this->resource('Flavor', $id); } /** * Creates a new Flavor and returns it. * * @see https://github.com/rackspace/php-opencloud/blob/master/docs/userguide/CDN/USERGUIDE.md#create-a-flavor * @param array $params Flavor creation parameters. * @return \OpenCloud\CDN\Resource\Flavor Object representing created flavor */ public function createFlavor(array $params = array()) { $flavor = $this->flavor(); $flavor->create($params); return $flavor; } /** * Returns a Flavor object associated with this CDN service * * @param string $id ID of flavor to retrieve * @return \OpenCloud\CDN\Resource\Flavor object */ public function getFlavor($id) { return $this->flavor($id); } /** * Returns a list of flavors you created * * @param array $params * @return \OpenCloud\Common\Collection\PaginatedIterator */ public function listFlavors(array $params = array()) { $url = clone $this->getUrl(); $url->addPath(Flavor::resourceName())->setQuery($params); return $this->resourceList('Flavor', $url); } /** * Returns the home document for the CDN service * * @return \stdClass home document response */ public function getHomeDocument() { $url = clone $this->getUrl(); // This hack is necessary otherwise Guzzle will remove the trailing // slash from the URL and the request will fail because the service // expects the trailing slash :( $url->setPath($url->getPath() . '/'); $response = $this->getClient()->get($url)->send(); return Formatter::decode($response); } /** * Returns the ping (status) response for the CDN service * * @return Guzzle\Http\Message\Response */ public function getPing() { $url = clone $this->getUrl(); $url->addPath('ping'); $request = $this->getClient()->get($url); // This is necessary because the response does not include a body // and fails with a 406 Not Acceptable if the default // 'Accept: application/json' header is used in the request. $request->removeHeader('Accept'); return $request->send(); } /** * Return namespaces. * * @return array */ public function namespaces() { return array(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/CDN/Resource/Flavor.php000064400000002557147400355670021371 0ustar00noUpdate(); } protected function createJson() { $createJson = parent::createJson(); return $createJson->{self::$json_name}; } } vendor/rackspace/php-opencloud/lib/OpenCloud/CDN/Resource/Service.php000064400000005577147400355670021545 0ustar00 'flavorId', 'http_host' => 'httpHost', 'request_url' => 'requestUrl' ); protected $createKeys = array( 'name', 'domains', 'origins', 'caching', 'restrictions', 'flavorId' ); protected $updateKeys = array( 'name', 'domains', 'origins', 'caching', 'restrictions', 'flavorId' ); public function purgeAssets($assetUrl = null) { $assetsUrl = $this->assetsUrl(); if (null === $assetUrl) { $assetsUrl->setQuery(array('all' => 'true')); } else { $assetsUrl->setQuery(array('url' => $assetUrl)); } $request = $this->getClient()->delete($assetsUrl); // This is necessary because the response does not include a body // and fails with a 406 Not Acceptable if the default // 'Accept: application/json' header is used in the request. $request->removeHeader('Accept'); return $request->send(); } protected function assetsUrl() { $url = clone $this->getUrl(); $url->addPath('assets'); return $url; } protected function createJson() { $createJson = parent::createJson(); return $createJson->{self::$json_name}; } /** * Update this resource * * @param array $params * @return \Guzzle\Http\Message\Response */ public function update($params = array()) { $json = $this->generateJsonPatch($params); return $this->getClient() ->patch($this->getUrl(), $this->getPatchHeaders(), $json) ->send(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/CDNService.php000064400000004673147400355670022116 0ustar00resourceList('CDNContainer', $this->getUrl(null, $filter), $this); } /** * Return an existing CDN-enabled container. * * @param \stdClass $data Data to initialize container. * @return CDNContainer CDN-enabled Container */ public function cdnContainer($data) { $container = new CDNContainer($this, $data); if (is_object($data)) { $metadata = new ContainerMetadata(); $metadata->setArray(array( 'Streaming-Uri' => $data->cdn_streaming_uri, 'Ios-Uri' => $data->cdn_ios_uri, 'Ssl-Uri' => $data->cdn_ssl_uri, 'Enabled' => $data->cdn_enabled, 'Ttl' => $data->ttl, 'Log-Retention' => $data->log_retention, 'Uri' => $data->cdn_uri, )); $container->setMetadata($metadata); } return $container; } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/AbstractService.php000064400000002345147400355670023247 0ustar00name = $name; return $e; } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Exception/BulkOperationException.php000064400000001772147400355670026561 0ustar00getResponse() ); $e = new self($message); $e->name = $name; $e->response = $exception->getResponse(); $e->request = $exception->getRequest(); return $e; } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Exception/UploadException.php000064400000002074147400355670025223 0ustar00getMessage(), 0, $exception ); $this->state = $state; } public function getState() { return $this->state; } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Service.php000064400000023632147400355670021565 0ustar00cdnService = ServiceBuilder::factory($client, 'OpenCloud\ObjectStore\CDNService', array( 'region' => $region )); } catch (Exceptions\EndpointError $e) { } } /** * Return the CDN version of the ObjectStore service. * * @return CDNService CDN version of the ObjectStore service */ public function getCdnService() { return $this->cdnService; } /** * List all available containers. * * @param array $filter Array of filter options such as: * * * `limit`: number of results to limit the list to. Optional. * * `marker`: name of container after which to start the list. Optional. * * `end_marker`: name of container before which to end the list. Optional. * @return \OpenCloud\Common\Collection\PaginatedIterator Iterator to list of containers */ public function listContainers(array $filter = array()) { $filter['format'] = 'json'; return $this->resourceList('Container', $this->getUrl(null, $filter), $this); } /** * Return a new or existing (if name is specified) container. * * @param \stdClass $data Data to initialize container. Optional. * @return Container Container */ public function getContainer($data = null) { if (is_string($data) || is_numeric($data)) { $this->checkContainerName($data); } return new Container($this, $data); } /** * Create a container for this service. * * @param string $name The name of the container * @param array $metadata Additional (optional) metadata to associate with the container * @return bool|Container Newly-created Container upon success; false, otherwise */ public function createContainer($name, array $metadata = array()) { $this->checkContainerName($name); $containerHeaders = Container::stockHeaders($metadata); $response = $this->getClient() ->put($this->getUrl($name), $containerHeaders) ->send(); if ($response->getStatusCode() == 201) { return Container::fromResponse($response, $this); } return false; } /** * Check the validity of a potential container name. * * @param string $name Name of container * @return bool True if container name is valid * @throws \OpenCloud\Common\Exceptions\InvalidArgumentError if container name is invalid */ public function checkContainerName($name) { if (strlen($name) == 0) { $error = 'Container name cannot be blank'; } if (strpos($name, '/') !== false) { $error = 'Container name cannot contain "/"'; } if (strlen($name) > self::MAX_CONTAINER_NAME_LENGTH) { $error = 'Container name is too long'; } if (isset($error)) { throw new InvalidArgumentError($error); } return true; } /** * Perform a bulk extraction, expanding an archive file. If the $path is an empty string, containers will be * auto-created accordingly, and files in the archive that do not map to any container (files in the base directory) * will be ignored. You can create up to 1,000 new containers per extraction request. Also note that only regular * files will be uploaded. Empty directories, symlinks, and so on, will not be uploaded. * * @param string $path The path to the archive being extracted * @param string|stream $archive The contents of the archive (either string or stream) * @param string $archiveType The type of archive you're using {@see \OpenCloud\ObjectStore\Constants\UrlType} * @return \Guzzle\Http\Message\Response HTTP response from API * @throws \OpenCloud\Common\Exceptions\InvalidArgumentError if specifed `$archiveType` is invalid * @throws Exception\BulkOperationException if there are errors with the bulk extract */ public function bulkExtract($path = '', $archive, $archiveType = UrlType::TAR_GZ) { $entity = EntityBody::factory($archive); $acceptableTypes = array( UrlType::TAR, UrlType::TAR_GZ, UrlType::TAR_BZ2 ); if (!in_array($archiveType, $acceptableTypes)) { throw new InvalidArgumentError(sprintf( 'The archive type must be one of the following: [%s]. You provided [%s].', implode($acceptableTypes, ','), print_r($archiveType, true) )); } $url = $this->getUrl()->addPath($path)->setQuery(array('extract-archive' => $archiveType)); $response = $this->getClient()->put($url, array(Header::CONTENT_TYPE => ''), $entity)->send(); $body = Formatter::decode($response); if (!empty($body->Errors)) { throw new Exception\BulkOperationException((array) $body->Errors); } return $response; } /** * @deprecated Please use {@see batchDelete()} instead. */ public function bulkDelete(array $paths) { $this->getLogger()->warning(Logger::deprecated(__METHOD__, '::batchDelete()')); return $this->executeBatchDeleteRequest($paths); } /** * Batch delete will delete an array of object paths. By default, * the API will only accept a maximum of 10,000 object deletions * per request - so for arrays that exceed this size, it is chunked * and sent as individual requests. * * @param array $paths The objects you want to delete. Each path needs * be formatted as `/{containerName}/{objectName}`. If * you are deleting `object_1` and `object_2` from the * `photos_container`, the array will be: * * array( * '/photos_container/object_1', * '/photos_container/object_2' * ) * * @return array[Guzzle\Http\Message\Response] HTTP responses from the API * @throws Exception\BulkOperationException if the bulk delete operation fails */ public function batchDelete(array $paths) { $chunks = array_chunk($paths, self::BATCH_DELETE_MAX); $responses = array(); foreach ($chunks as $chunk) { $responses[] = $this->executeBatchDeleteRequest($chunk); } return $responses; } /** * Internal method for dispatching single batch delete requests. * * @param array $paths * @return \Guzzle\Http\Message\Response * @throws Exception\BulkOperationException */ private function executeBatchDeleteRequest(array $paths) { $entity = EntityBody::factory(implode(PHP_EOL, $paths)); $url = $this->getUrl()->setQuery(array('bulk-delete' => true)); $response = $this->getClient() ->delete($url, array(Header::CONTENT_TYPE => Mime::TEXT), $entity) ->send(); try { $body = Formatter::decode($response); if (!empty($body->Errors)) { throw new Exception\BulkOperationException((array) $body->Errors); } } catch (Exceptions\JsonError $e) { } return $response; } /** * Allows files to be transferred from one container to another. * * @param Container $old Where you're moving files from * @param Container $new Where you're moving files to * @param array $options Options to configure the migration. Optional. Available options are: * * * `read.batchLimit`: Number of files to read at a time from `$old` container. Optional; default = 1000. * * `write.batchLimit`: Number of files to write at a time to `$new` container. Optional; default = 1000. * * `read.pageLimit`: Number of filenames to read at a time from `$old` container. Optional; default = 10000. * @return array[Guzzle\Http\Message\Response] HTTP responses from the API */ public function migrateContainer(Container $old, Container $new, array $options = array()) { $migration = ContainerMigration::factory($old, $new, $options); return $migration->transfer(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Constants/Header.php000064400000001712147400355670023324 0ustar00 The number of concurrent workers. * * `partSize' The size, in bytes, for the chunk * * `doPartChecksum' Enable or disable MD5 checksum in request (ETag) * * If you are uploading FooBar, its chunks will have the following naming structure: * * FooBar/1 * FooBar/2 * FooBar/3 * * @return \OpenCloud\ObjectStore\Upload\UploadBuilder */ public function setOptions($options) { $this->options = $options; return $this; } /** * @param $key The option name * @param $value The option value * @return $this */ public function setOption($key, $value) { $this->options[$key] = $value; return $this; } /** * @param Container $container * @return $this */ public function setContainer(Container $container) { $this->container = $container; return $this; } /** * @param EntityBody $entityBody * @return $this */ public function setEntityBody(EntityBody $entityBody) { $this->entityBody = $entityBody; return $this; } /** * Build the transfer. * * @return mixed * @throws \OpenCloud\Common\Exceptions\InvalidArgumentError */ public function build() { // Validate properties if (!$this->container || !$this->entityBody || !$this->options['objectName']) { throw new InvalidArgumentError('A container, entity body and object name must be set'); } // Create TransferState object for later use $transferState = TransferState::factory(); // Instantiate Concurrent-/ConsecutiveTransfer $transferClass = isset($this->options['concurrency']) && $this->options['concurrency'] > 1 ? __NAMESPACE__ . '\\ConcurrentTransfer' : __NAMESPACE__ . '\\ConsecutiveTransfer'; return $transferClass::newInstance() ->setClient($this->container->getClient()) ->setEntityBody($this->entityBody) ->setTransferState($transferState) ->setOptions($this->options) ->setOption('containerName', $this->container->getName()) ->setOption('containerUrl', $this->container->getUrl()) ->setup(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/DirectorySync.php000064400000016115147400355670024210 0ustar00setBasePath($path); $transfer->setContainer($container); $transfer->setRemoteFiles($container->objectList()); $transfer->setTargetDir($targetDir); return $transfer; } /** * @param $path * @throws \OpenCloud\Common\Exceptions\InvalidArgumentError */ public function setBasePath($path) { if (!file_exists($path)) { throw new InvalidArgumentError(sprintf('%s does not exist', $path)); } $this->basePath = $path; } /** * @param ResourceIterator $remoteFiles */ public function setRemoteFiles(ResourceIterator $remoteFiles) { $this->remoteFiles = $remoteFiles; } /** * @param Container $container */ public function setContainer(Container $container) { $this->container = $container; } /** * @param string $dir The target path that all files will be nested in. By default, the files will not be nested. */ public function setTargetDir($dir) { $this->targetDir = rtrim($dir, '/'); } /** * Execute the sync process. This will collect all the remote files from the API and do a comparison. There are * four scenarios that need to be dealt with: * * - Exists locally, exists remotely (identical checksum) = no action * - Exists locally, exists remotely (diff checksum) = local overwrites remote * - Exists locally, not exists remotely = local is written to remote * - Not exists locally, exists remotely = remote file is deleted */ public function execute() { $localFiles = $this->traversePath($this->basePath); $this->remoteFiles->rewind(); $this->remoteFiles->populateAll(); $entities = array(); $requests = array(); $deletePaths = array(); // Handle PUT requests (create/update files) foreach ($localFiles as $filename) { $remoteFilename = $this->targetDir ? $this->targetDir . '/' . $filename : $filename; $callback = $this->getCallback($remoteFilename); $filePath = rtrim($this->basePath, '/') . '/' . $filename; if (!is_readable($filePath)) { continue; } $entities[] = $entityBody = EntityBody::factory(fopen($filePath, 'r+')); if (false !== ($remoteFile = $this->remoteFiles->search($callback))) { // if different, upload updated version if ($remoteFile->getEtag() != $entityBody->getContentMd5()) { $requests[] = $this->container->getClient()->put( $remoteFile->getUrl(), $remoteFile->getMetadata()->toArray(), $entityBody ); } } else { // upload new file $url = clone $this->container->getUrl(); $url->addPath($remoteFilename); $requests[] = $this->container->getClient()->put($url, array(), $entityBody); } } // Handle DELETE requests foreach ($this->remoteFiles as $remoteFile) { $remoteName = $remoteFile->getName(); if (!in_array($remoteName, $localFiles)) { $deletePaths[] = sprintf('/%s/%s', $this->container->getName(), $remoteName); } } // send update/create requests if (count($requests)) { $this->container->getClient()->send($requests); } // bulk delete if (count($deletePaths)) { $this->container->getService()->bulkDelete($deletePaths); } // close all streams if (count($entities)) { foreach ($entities as $entity) { $entity->close(); } } } /** * Given a path, traverse it recursively for nested files. * * @param $path * @return array */ private function traversePath($path) { $filenames = array(); $directory = new DirectoryIterator($path); foreach ($directory as $file) { if ($file->isDot()) { continue; } if ($file->isDir()) { $filenames = array_merge($filenames, $this->traversePath($file->getPathname())); } else { $filenames[] = $this->trimFilename($file); } } return $filenames; } /** * Given a path, trim away leading slashes and strip the base path. * * @param $file * @return string */ private function trimFilename($file) { return ltrim(str_replace($this->basePath, '', $file->getPathname()), '/'); } /** * Get the callback used to do a search function on the remote iterator. * * @param $name The name of the file we're looking for. * @return callable */ private function getCallback($name) { $name = trim($name, '/'); return function ($remoteFile) use ($name) { if ($remoteFile->getName() == $name) { return true; } return false; }; } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/ContainerMigration.php000064400000013107147400355670025201 0ustar00 1000, 'read.pageLimit' => 10000, 'write.batchLimit' => 100 ); /** * @param Container $old Source container * @param Container $new Target container * @param array $options Options that configure process * @return ContainerMigration */ public static function factory(Container $old, Container $new, array $options = array()) { $migration = new self(); $migration->setOldContainer($old); $migration->setNewContainer($new); $migration->setOptions($options); $migration->setupReadQueue(); $migration->setupWriteQueue(); return $migration; } /** * @param Container $old */ public function setOldContainer(Container $old) { $this->oldContainer = $old; } /** * @return Container */ public function getOldContainer() { return $this->oldContainer; } /** * @param Container $new */ public function setNewContainer(Container $new) { $this->newContainer = $new; } /** * @return Container */ public function getNewContainer() { return $this->newContainer; } /** * @param array $options */ public function setOptions(array $options) { $this->options = Collection::fromConfig($options, $this->defaults); } /** * @return \Guzzle\Common\Collection */ public function getOptions() { return $this->options; } /** * Set the read queue as a {@see \Guzzle\Batch\Batch} queue using the {@see \Guzzle\Batch\BatchBuilder} */ public function setupReadQueue() { $this->readQueue = BatchBuilder::factory() ->transferRequests($this->options->get('read.batchLimit')) ->build(); } /** * Set the write queue as a {@see \Guzzle\Batch\Batch} queue using the {@see \Guzzle\Batch\BatchBuilder} */ public function setupWriteQueue() { $this->writeQueue = BatchBuilder::factory() ->transferRequests($this->options->get('write.batchLimit')) ->build(); } /** * @return \Guzzle\Http\ClientInterface */ private function getClient() { return $this->newContainer->getService()->getClient(); } /** * Create a collection of files to be migrated and add them to the read queue */ protected function enqueueGetRequests() { $files = $this->oldContainer->objectList(array( 'limit.total' => false, 'limit.page' => $this->options->get('read.pageLimit') )); foreach ($files as $file) { $this->readQueue->add( $this->getClient()->get($file->getUrl()) ); } } /** * Send the read queue (in order to gather more information about individual files) * * @return array Responses */ protected function sendGetRequests() { $this->enqueueGetRequests(); return $this->readQueue->flush(); } /** * Create a tailored PUT request for each file * * @param Response $response * @return \Guzzle\Http\Message\EntityEnclosingRequestInterface */ protected function createPutRequest(Response $response) { $segments = Url::factory($response->getEffectiveUrl())->getPathSegments(); $name = end($segments); // Retrieve content and metadata $file = $this->newContainer->dataObject()->setName($name); $file->setMetadata($response->getHeaders(), true); return $this->getClient()->put( $file->getUrl(), $file::stockHeaders($file->getMetadata()->toArray()), $response->getBody() ); } /** * Initiate the transfer process * * @return array PUT responses */ public function transfer() { $requests = $this->sendGetRequests(); $this->readQueue = null; foreach ($requests as $key => $request) { $this->writeQueue->add( $this->createPutRequest($request->getResponse()) ); unset($requests[$key]); } return $this->writeQueue->flush(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/AbstractTransfer.php000064400000013452147400355670024660 0ustar00 true, 'partSize' => self::DEFAULT_PART_SIZE, 'prefix' => 'segment', 'doPartChecksum' => true ); /** * @return static */ public static function newInstance() { return new static(); } /** * @param Client $client * @return $this */ public function setClient(Client $client) { $this->client = $client; return $this; } /** * @param EntityBody $entityBody * @return $this */ public function setEntityBody(EntityBody $entityBody) { $this->entityBody = $entityBody; return $this; } /** * @param TransferState $transferState * @return $this */ public function setTransferState(TransferState $transferState) { $this->transferState = $transferState; return $this; } /** * @return array */ public function getOptions() { return $this->options; } /** * @param $options * @return $this */ public function setOptions($options) { $this->options = $options; return $this; } /** * @param $option The key being updated * @param $value The option's value * @return $this */ public function setOption($option, $value) { $this->options[$option] = $value; return $this; } public function getPartSize() { return $this->partSize; } /** * @return $this */ public function setup() { $this->options = array_merge($this->defaultOptions, $this->options); $this->partSize = $this->validatePartSize(); return $this; } /** * Make sure the part size falls within a valid range * * @return mixed */ protected function validatePartSize() { $min = min($this->options['partSize'], self::MAX_PART_SIZE); return max($min, self::MIN_PART_SIZE); } /** * Initiates the upload procedure. * * @return \Guzzle\Http\Message\Response * @throws RuntimeException If the transfer is not in a "running" state * @throws UploadException If any errors occur during the upload * @codeCoverageIgnore */ public function upload() { if (!$this->transferState->isRunning()) { throw new RuntimeException('The transfer has been aborted.'); } try { $this->transfer(); $response = $this->createManifest(); } catch (Exception $e) { throw new UploadException($this->transferState, $e); } return $response; } /** * With large uploads, you must create a manifest file. Although each segment or TransferPart remains * individually addressable, the manifest file serves as the unified file (i.e. the 5GB download) which, when * retrieved, streams all the segments concatenated. * * @link http://docs.rackspace.com/files/api/v1/cf-devguide/content/Large_Object_Creation-d1e2019.html * @return \Guzzle\Http\Message\Response * @codeCoverageIgnore */ private function createManifest() { $parts = array(); foreach ($this->transferState as $part) { $parts[] = (object) array( 'path' => $part->getPath(), 'etag' => $part->getETag(), 'size_bytes' => $part->getContentLength() ); } $headers = array( 'Content-Length' => 0, 'X-Object-Manifest' => sprintf('%s/%s/%s/', $this->options['containerName'], $this->options['objectName'], $this->options['prefix'] ) ); $url = clone $this->options['containerUrl']; $url->addPath($this->options['objectName']); return $this->client->put($url, $headers)->send(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/TransferPart.php000064400000010371147400355670024020 0ustar00contentLength = $contentLength; return $this; } /** * @return int */ public function getContentLength() { return $this->contentLength; } /** * @param string $etag * @return $this */ public function setETag($etag) { $this->etag = $etag; return $this; } /** * @return string */ public function getETag() { return $this->etag; } /** * @param int $partNumber * @return $this */ public function setPartNumber($partNumber) { $this->partNumber = $partNumber; return $this; } /** * @return int */ public function getPartNumber() { return $this->partNumber; } /** * @param $path * @return $this */ public function setPath($path) { $this->path = $path; return $this; } /** * @return string */ public function getPath() { return $this->path; } /** * Create the request needed for this upload to the API. * * @param EntityBody $part The entity body being uploaded * @param int $number Its number/position, needed for name * @param OpenStack $client Client responsible for issuing requests * @param array $options Set by the Transfer object * @return OpenCloud\Common\Http\Request */ public static function createRequest($part, $number, $client, $options) { $name = sprintf('%s/%s/%d', $options['objectName'], $options['prefix'], $number); $url = clone $options['containerUrl']; $url->addPath($name); $headers = array( Header::CONTENT_LENGTH => $part->getContentLength(), Header::CONTENT_TYPE => $part->getContentType() ); if ($options['doPartChecksum'] === true) { $headers['ETag'] = $part->getContentMd5(); } $request = $client->put($url, $headers, $part); if (isset($options['progress'])) { $request->getCurlOptions()->add('progress', true); if (is_callable($options['progress'])) { $request->getCurlOptions()->add('progressCallback', $options['progress']); } } return $request; } /** * Construct a TransferPart from a HTTP response delivered by the API. * * @param Response $response * @param int $partNumber * @return TransferPart */ public static function fromResponse(Response $response, $partNumber = 1) { $responseUri = Url::factory($response->getEffectiveUrl()); $object = new self(); $object->setPartNumber($partNumber) ->setContentLength($response->getHeader(Header::CONTENT_LENGTH)) ->setETag($response->getHeader(Header::ETAG)) ->setPath($responseUri->getPath()); return $object; } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/ConsecutiveTransfer.php000064400000004425147400355670025404 0ustar00entityBody->isConsumed()) { if ($this->entityBody->getContentLength() && $this->entityBody->isSeekable()) { // Stream directly from the data $body = new ReadLimitEntityBody($this->entityBody, $this->partSize, $this->entityBody->ftell()); } else { // If not-seekable, read the data into a new, seekable "buffer" $body = EntityBody::factory(); $output = true; while ($body->getContentLength() < $this->partSize && $output !== false) { // Write maximum of 10KB at a time $length = min(10 * Size::KB, $this->partSize - $body->getContentLength()); $output = $body->write($this->entityBody->read($length)); } } if ($body->getContentLength() == 0) { break; } $request = TransferPart::createRequest( $body, $this->transferState->count() + 1, $this->client, $this->options ); $response = $request->send(); $this->transferState->addPart(TransferPart::fromResponse($response)); } } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/ConcurrentTransfer.php000064400000006746147400355670025247 0ustar00entityBody->getContentLength() / $this->partSize); $workers = min($totalParts, $this->options['concurrency']); $parts = $this->collectParts($workers); while ($this->transferState->count() < $totalParts) { $completedParts = $this->transferState->count(); $requests = array(); // Iterate over number of workers until total completed parts is what we need it to be for ($i = 0; $i < $workers && ($completedParts + $i) < $totalParts; $i++) { // Offset is the current pointer multiplied by the standard chunk length $offset = ($completedParts + $i) * $this->partSize; $parts[$i]->setOffset($offset); // If this segment is empty (i.e. buffering a half-full chunk), break the iteration if ($parts[$i]->getContentLength() == 0) { break; } // Add this to the request queue for later processing $requests[] = TransferPart::createRequest( $parts[$i], $this->transferState->count() + $i + 1, $this->client, $this->options ); } // Iterate over our queued requests and process them foreach ($this->client->send($requests) as $response) { // Add this part to the TransferState $this->transferState->addPart(TransferPart::fromResponse($response)); } } } /** * Partitions the entity body into an array - each worker is represented by a key, and the value is a * ReadLimitEntityBody object, whose read limit is fixed based on this object's partSize value. This will always * ensure the chunks are sent correctly. * * @param int The total number of workers * @return array The worker array */ private function collectParts($workers) { $uri = $this->entityBody->getUri(); $array = array(new ReadLimitEntityBody($this->entityBody, $this->partSize)); for ($i = 1; $i < $workers; $i++) { // Need to create a fresh EntityBody, otherwise you'll get weird 408 responses $array[] = new ReadLimitEntityBody(new EntityBody(fopen($uri, 'r')), $this->partSize); } return $array; } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Upload/TransferState.php000064400000003313147400355670024170 0ustar00init(); } /** * @param TransferPart $part */ public function addPart(TransferPart $part) { $this->completedParts[] = $part; } /** * @return int */ public function count() { return count($this->completedParts); } /** * @return bool */ public function isRunning() { return $this->running; } /** * @return $this */ public function init() { $this->running = true; return $this; } /** * @return $this */ public function cancel() { $this->running = false; return $this; } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/ContainerMetadata.php000064400000001315147400355670025331 0ustar00setContainer($container); parent::__construct($container->getService()); // For pseudo-directories, we need to ensure the name is set if (!empty($data->subdir)) { $this->setName($data->subdir)->setDirectory(true); return; } $this->populate($data); } /** * A collection list of DataObjects contains a different data structure than the one returned for the * "Retrieve Object" operation. So we need to stock the values differently. * {@inheritDoc} */ public function populate($info, $setObjects = true) { parent::populate($info, $setObjects); if (isset($info->bytes)) { $this->setContentLength($info->bytes); } if (isset($info->last_modified)) { $this->setLastModified($info->last_modified); } if (isset($info->content_type)) { $this->setContentType($info->content_type); } if (isset($info->hash)) { $this->setEtag($info->hash); } } /** * Takes a response and stocks common values from both the body and the headers. * * @param Response $response * @return $this */ public function populateFromResponse(Response $response) { $this->content = $response->getBody(); $headers = $response->getHeaders(); return $this->setMetadata($headers, true) ->setContentType((string) $headers[HeaderConst::CONTENT_TYPE]) ->setLastModified((string) $headers[HeaderConst::LAST_MODIFIED]) ->setContentLength((string) $headers[HeaderConst::CONTENT_LENGTH]) ->setEtag((string) $headers[HeaderConst::ETAG]) // do not cast to a string to allow for null (i.e. no header) ->setManifest($headers[HeaderConst::X_OBJECT_MANIFEST]); } public function refresh() { $response = $this->getService()->getClient() ->get($this->getUrl()) ->send(); return $this->populateFromResponse($response); } /** * @param Container $container * @return $this */ public function setContainer(Container $container) { $this->container = $container; return $this; } /** * @return Container */ public function getContainer() { return $this->container; } /** * @param $name string * @return $this */ public function setName($name) { $this->name = $name; return $this; } /** * @return string */ public function getName() { return $this->name; } /** * @param $directory bool * @return $this */ public function setDirectory($directory) { $this->directory = $directory; return $this; } /** * @return bool */ public function getDirectory() { return $this->directory; } /** * @return bool Is this data object a pseudo-directory? */ public function isDirectory() { return (bool) $this->directory; } /** * @param mixed $content * @return $this */ public function setContent($content) { $this->etag = null; $this->contentType = null; $this->content = EntityBody::factory($content); return $this; } /** * @return EntityBody */ public function getContent() { return $this->content; } /** * @param string $contentType * @return $this */ public function setContentType($contentType) { $this->contentType = $contentType; return $this; } /** * @return null|string */ public function getContentType() { return $this->contentType ? : $this->content->getContentType(); } /** * @param $contentLength mixed * @return $this */ public function setContentLength($contentLength) { $this->contentLength = $contentLength; return $this; } /** * @return mixed */ public function getContentLength() { return $this->contentLength !== null ? $this->contentLength : $this->content->getContentLength(); } /** * @param $etag * @return $this */ public function setEtag($etag) { $this->etag = $etag; return $this; } /** * @return null|string */ public function getEtag() { return $this->etag ? : $this->content->getContentMd5(); } /** * @param string $manifest Path (`container/object') to set as the value to X-Object-Manifest * @return $this */ protected function setManifest($manifest) { $this->manifest = $manifest; return $this; } /** * @return null|string Path (`container/object') from X-Object-Manifest header or null if the header does not exist */ public function getManifest() { // only make a request if manifest has not been set (is false) return $this->manifest !== false ? $this->manifest : $this->getManifestHeader(); } public function setLastModified($lastModified) { $this->lastModified = $lastModified; return $this; } public function getLastModified() { return $this->lastModified; } public function primaryKeyField() { return 'name'; } public function getUrl($path = null, array $params = array()) { if (!$this->name) { throw new Exceptions\NoNameError(Lang::translate('Object has no name')); } return $this->container->getUrl($this->name); } public function update($params = array()) { $metadata = is_array($this->metadata) ? $this->metadata : $this->metadata->toArray(); $metadata = self::stockHeaders($metadata); // merge specific properties with metadata $metadata += array( HeaderConst::CONTENT_TYPE => $this->contentType, HeaderConst::LAST_MODIFIED => $this->lastModified, HeaderConst::CONTENT_LENGTH => $this->contentLength, HeaderConst::ETAG => $this->etag, HeaderConst::X_OBJECT_MANIFEST => $this->manifest ); return $this->container->uploadObject($this->name, $this->content, $metadata); } /** * @param string $destination Path (`container/object') of new object * @return \Guzzle\Http\Message\Response */ public function copy($destination) { return $this->getService() ->getClient() ->createRequest('COPY', $this->getUrl(), array( 'Destination' => (string) $destination )) ->send(); } public function delete($params = array()) { return $this->getService()->getClient()->delete($this->getUrl())->send(); } /** * Create a symlink to another named object from this object. Requires this object to be empty. * * @param string $destination Path (`container/object') of other object to symlink this object to * @return \Guzzle\Http\Message\Response The response * @throws \OpenCloud\Common\Exceptions\NoNameError if a destination name is not provided * @throws \OpenCloud\ObjectStore\Exception\ObjectNotEmptyException if $this is not an empty object */ public function createSymlinkTo($destination) { if (!$this->name) { throw new Exceptions\NoNameError(Lang::translate('Object has no name')); } if ($this->getContentLength()) { throw new ObjectNotEmptyException($this->getContainer()->getName() . '/' . $this->getName()); } $response = $this->getService() ->getClient() ->createRequest('PUT', $this->getUrl(), array( HeaderConst::X_OBJECT_MANIFEST => (string) $destination )) ->send(); if ($response->getStatusCode() == 201) { $this->setManifest($source); } return $response; } /** * Create a symlink to this object from another named object. Requires the other object to either not exist or be empty. * * @param string $source Path (`container/object') of other object to symlink this object from * @return DataObject The symlinked object * @throws \OpenCloud\Common\Exceptions\NoNameError if a source name is not provided * @throws \OpenCloud\ObjectStore\Exception\ObjectNotEmptyException if object already exists and is not empty */ public function createSymlinkFrom($source) { if (!strlen($source)) { throw new Exceptions\NoNameError(Lang::translate('Object has no name')); } // Use ltrim to remove leading slash from source list($containerName, $resourceName) = explode("/", ltrim($source, '/'), 2); $container = $this->getService()->getContainer($containerName); if ($container->objectExists($resourceName)) { $object = $container->getPartialObject($source); if ($object->getContentLength() > 0) { throw new ObjectNotEmptyException($source); } } return $container->uploadObject($resourceName, 'data', array( HeaderConst::X_OBJECT_MANIFEST => (string) $this->getUrl() )); } /** * Get a temporary URL for this object. * * @link http://docs.rackspace.com/files/api/v1/cf-devguide/content/TempURL-d1a4450.html * * @param int $expires Expiration time in seconds * @param string $method What method can use this URL? (`GET' or `PUT') * @param bool $forcePublicUrl If set to TRUE, a public URL will always be used. The default is to use whatever * URL type the user has set for the main service. * * @return string * * @throws \OpenCloud\Common\Exceptions\InvalidArgumentError * @throws \OpenCloud\Common\Exceptions\ObjectError * */ public function getTemporaryUrl($expires, $method, $forcePublicUrl = false) { $method = strtoupper($method); $expiry = time() + (int) $expires; // check for proper method if ($method != 'GET' && $method != 'PUT') { throw new Exceptions\InvalidArgumentError(sprintf( 'Bad method [%s] for TempUrl; only GET or PUT supported', $method )); } // @codeCoverageIgnoreStart if (!($secret = $this->getService()->getAccount()->getTempUrlSecret())) { throw new Exceptions\ObjectError('Cannot produce temporary URL without an account secret.'); } // @codeCoverageIgnoreEnd $url = $this->getUrl(); if ($forcePublicUrl === true) { $url->setHost($this->getService()->getEndpoint()->getPublicUrl()->getHost()); } $urlPath = urldecode($url->getPath()); $body = sprintf("%s\n%d\n%s", $method, $expiry, $urlPath); $hash = hash_hmac('sha1', $body, $secret); return sprintf('%s?temp_url_sig=%s&temp_url_expires=%d', $url, $hash, $expiry); } /** * Remove this object from the CDN. * * @param null $email * @return mixed */ public function purge($email = null) { if (!$cdn = $this->getContainer()->getCdn()) { return false; } $url = clone $cdn->getUrl(); $url->addPath($this->name); $headers = ($email !== null) ? array('X-Purge-Email' => $email) : array(); return $this->getService() ->getClient() ->delete($url, $headers) ->send(); } /** * @param string $type * @return bool|Url */ public function getPublicUrl($type = UrlType::CDN) { $cdn = $this->container->getCdn(); switch ($type) { case UrlType::CDN: $uri = $cdn->getCdnUri(); break; case UrlType::SSL: $uri = $cdn->getCdnSslUri(); break; case UrlType::STREAMING: $uri = $cdn->getCdnStreamingUri(); break; case UrlType::IOS_STREAMING: $uri = $cdn->getIosStreamingUri(); break; } return (isset($uri)) ? Url::factory($uri)->addPath($this->name) : false; } protected static function headerIsValidMetadata($header) { $pattern = sprintf('#^%s-%s-Meta-#i', self::GLOBAL_METADATA_PREFIX, self::METADATA_LABEL); return preg_match($pattern, $header); } /** * @return null|string */ protected function getManifestHeader() { $response = $this->getService() ->getClient() ->head($this->getUrl()) ->send(); $manifest = $response->getHeader(HeaderConst::X_OBJECT_MANIFEST); $this->setManifest($manifest); return $manifest; } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/AbstractContainer.php000064400000011707147400355670025362 0ustar00service = $service; $this->metadata = new $this->metadataClass; // Populate data if set $this->populate($data); } /** * Return the transaction ID for an HTTP API operation. Useful for debugging. * * @return string Transaction ID */ public function getTransId() { return $this->metadata->getProperty(HeaderConst::TRANS_ID); } /** * Returns whether this container is CDN-enabled or not. * * @return boolean true if this container is CDN-enabled; false, otherwise. */ abstract public function isCdnEnabled(); /** * Returns whether this container has log retention enabled or not. * * @return boolean true if this container has log retention enabled; false, otherwise. */ public function hasLogRetention() { if ($this instanceof CDNContainer) { return $this->metadata->getProperty(HeaderConst::LOG_RETENTION) == 'True'; } else { return $this->metadata->propertyExists(HeaderConst::ACCESS_LOGS); } } /** * For internal use only * * @return string Name of the primary key field for this resource */ public function primaryKeyField() { return 'name'; } /** * For internal use only * * @param string $path Path to add to URL. Optional. * @param array $params Query parameters to add to URL. Optional. * @return Url URL of this container + path + query parameters. */ public function getUrl($path = null, array $params = array()) { if (strlen($this->getName()) == 0) { throw new Exceptions\NoNameError('Container does not have a name'); } $url = $this->getService()->getUrl(); return $url->addPath((string) $this->getName())->addPath((string) $path)->setQuery($params); } protected function createRefreshRequest() { return $this->getClient()->head($this->getUrl(), array('Accept' => '*/*')); } /** * This method will enable your CDN-enabled container to serve out HTML content like a website. * * @param $indexPage The data object name (i.e. a .html file) that will serve as the main index page. * @return \Guzzle\Http\Message\Response The HTTP response for this API operation. */ public function setStaticIndexPage($page) { if ($this instanceof CDNContainer) { $this->getLogger()->warning( 'This method cannot be called on the CDN object - please execute it on the normal Container' ); } $headers = array('X-Container-Meta-Web-Index' => $page); return $this->getClient()->post($this->getUrl(), $headers)->send(); } /** * Set the default error page for your static site. * * @param $name The data object name (i.e. a .html file) that will serve as the main error page. * @return \Guzzle\Http\Message\Response The HTTP response for this operation. */ public function setStaticErrorPage($page) { if ($this instanceof CDNContainer) { $this->getLogger()->warning( 'This method cannot be called on the CDN object - please execute it on the normal Container' ); } $headers = array('X-Container-Meta-Web-Error' => $page); return $this->getClient()->post($this->getUrl(), $headers)->send(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/CDNContainer.php000064400000006013147400355670024215 0ustar00metadata->getProperty('Ssl-Uri'); } /** * @return null|string|int */ public function getCdnUri() { return $this->metadata->getProperty('Uri'); } /** * @return null|string|int */ public function getTtl() { return $this->metadata->getProperty('Ttl'); } /** * @return null|string|int */ public function getCdnStreamingUri() { return $this->metadata->getProperty('Streaming-Uri'); } /** * @return null|string|int */ public function getIosStreamingUri() { return $this->metadata->getProperty('Ios-Uri'); } public function refresh($name = null, $url = null) { $response = $this->createRefreshRequest()->send(); $headers = $response->getHeaders(); $this->setMetadata($headers, true); return $headers; } /** * Turn on access logs, which track all the web traffic that your data objects accrue. * * @return \Guzzle\Http\Message\Response */ public function enableCdnLogging() { $headers = array('X-Log-Retention' => 'True'); return $this->getClient()->put($this->getUrl(), $headers)->send(); } /** * Disable access logs. * * @return \Guzzle\Http\Message\Response */ public function disableCdnLogging() { $headers = array('X-Log-Retention' => 'False'); return $this->getClient()->put($this->getUrl(), $headers)->send(); } public function isCdnEnabled() { return $this->metadata->getProperty(HeaderConst::ENABLED) == 'True'; } /** * Set the TTL. * * @param $ttl The time-to-live in seconds. * @return \Guzzle\Http\Message\Response */ public function setTtl($ttl) { $headers = array('X-Ttl' => $ttl); return $this->getClient()->post($this->getUrl(), $headers)->send(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/Account.php000064400000005216147400355670023346 0ustar00getService()->getUrl(); } /** * Convenience method. * * @return \OpenCloud\Common\Metadata */ public function getDetails() { return $this->retrieveMetadata(); } /** * @return null|string|int */ public function getObjectCount() { return $this->metadata->getProperty('Object-Count'); } /** * @return null|string|int */ public function getContainerCount() { return $this->metadata->getProperty('Container-Count'); } /** * @return null|string|int */ public function getBytesUsed() { return $this->metadata->getProperty('Bytes-Used'); } /** * Sets the secret value for the temporary URL. * * @link http://docs.rackspace.com/files/api/v1/cf-devguide/content/Set_Account_Metadata-d1a4460.html * * @param null $secret The value to set the secret to. If left blank, a random hash is generated. * @return $this */ public function setTempUrlSecret($secret = null) { if (!$secret) { $secret = sha1(rand(1, 99999)); } $this->tempUrlSecret = $secret; $this->saveMetadata($this->appendToMetadata(array('Temp-Url-Key' => $secret))); return $this; } /** * @return null|string */ public function getTempUrlSecret() { if (null === $this->tempUrlSecret) { $this->retrieveMetadata(); $this->tempUrlSecret = $this->metadata->getProperty('Temp-Url-Key'); } return $this->tempUrlSecret; } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/Container.php000064400000052151147400355670023674 0ustar00count)) { $this->metadata->setProperty('Object-Count', $data->count); } if (isset($data->bytes)) { $this->metadata->setProperty('Bytes-Used', $data->bytes); } } /** * Factory method that instantiates an object from a Response object. * * @param Response $response * @param ServiceInterface $service * @return static */ public static function fromResponse(Response $response, ServiceInterface $service) { $self = parent::fromResponse($response, $service); $segments = Url::factory($response->getEffectiveUrl())->getPathSegments(); $self->name = end($segments); return $self; } /** * Get the CDN object. * * @return null|CDNContainer * @throws \OpenCloud\Common\Exceptions\CdnNotAvailableError */ public function getCdn() { if (!$this->isCdnEnabled()) { throw new Exceptions\CdnNotAvailableError( 'Either this container is not CDN-enabled or the CDN is not available' ); } return $this->cdn; } /** * It would be awesome to put these convenience methods (which are identical to the ones in the Account object) in * a trait, but we have to wait for v5.3 EOL first... * * @return null|string|int */ public function getObjectCount() { return $this->metadata->getProperty('Object-Count'); } /** * @return null|string|int */ public function getBytesUsed() { return $this->metadata->getProperty('Bytes-Used'); } /** * @param $value * @return mixed */ public function setCountQuota($value) { $this->metadata->setProperty('Quota-Count', $value); return $this->saveMetadata($this->metadata->toArray()); } /** * @return null|string|int */ public function getCountQuota() { return $this->metadata->getProperty('Quota-Count'); } /** * @param $value * @return mixed */ public function setBytesQuota($value) { $this->metadata->setProperty('Quota-Bytes', $value); return $this->saveMetadata($this->metadata->toArray()); } /** * @return null|string|int */ public function getBytesQuota() { return $this->metadata->getProperty('Quota-Bytes'); } public function delete($deleteObjects = false) { if ($deleteObjects === true) { // Delegate to auxiliary method return $this->deleteWithObjects(); } try { return $this->getClient()->delete($this->getUrl())->send(); } catch (ClientErrorResponseException $e) { if ($e->getResponse()->getStatusCode() == 409) { throw new ContainerException(sprintf( 'The API returned this error: %s. You might have to delete all existing objects before continuing.', (string) $e->getResponse()->getBody() )); } else { throw $e; } } } public function deleteWithObjects($secondsToWait = null) { // If container is empty, just delete it $numObjects = (int) $this->retrieveMetadata()->getProperty('Object-Count'); if (0 === $numObjects) { return $this->delete(); } // If timeout ($secondsToWait) is not specified by caller, // try to estimate it based on number of objects in container if (null === $secondsToWait) { $secondsToWait = round($numObjects / 2); } // Attempt to delete all objects and container $endTime = time() + $secondsToWait; $containerDeleted = false; while ((time() < $endTime) && !$containerDeleted) { $this->deleteAllObjects(); try { $response = $this->delete(); $containerDeleted = true; } catch (ContainerException $e) { // Ignore exception and try again } catch (ClientErrorResponseException $e) { if ($e->getResponse()->getStatusCode() == 404) { // Container has been deleted $containerDeleted = true; } else { throw $e; } } } if (!$containerDeleted) { throw new ContainerException('Container and all its objects could not be deleted.'); } return $response; } /** * Deletes all objects that this container currently contains. Useful when doing operations (like a delete) that * require an empty container first. * * @return mixed */ public function deleteAllObjects() { $paths = array(); $objects = $this->objectList(); foreach ($objects as $object) { $paths[] = sprintf('/%s/%s', $this->getName(), $object->getName()); } return $this->getService()->batchDelete($paths); } /** * Delete an object from the API. * * @param string $name The name of object you want to delete * @throws \Guzzle\Http\Exception\BadResponseException When an error occurred */ public function deleteObject($name) { $this->getClient() ->delete($this->getUrl($name)) ->send(); } /** * Creates a Collection of objects in the container * * @param array $params associative array of parameter values. * * account/tenant - The unique identifier of the account/tenant. * * container- The unique identifier of the container. * * limit (Optional) - The number limit of results. * * marker (Optional) - Value of the marker, that the object names * greater in value than are returned. * * end_marker (Optional) - Value of the marker, that the object names * less in value than are returned. * * prefix (Optional) - Value of the prefix, which the returned object * names begin with. * * format (Optional) - Value of the serialized response format, either * json or xml. * * delimiter (Optional) - Value of the delimiter, that all the object * names nested in the container are returned. * @link http://api.openstack.org for a list of possible parameter * names and values * @return \OpenCloud\Common\Collection * @throws ObjFetchError */ public function objectList(array $params = array()) { $params['format'] = 'json'; return $this->getService()->resourceList('DataObject', $this->getUrl(null, $params), $this); } /** * Turn on access logs, which track all the web traffic that your data objects accrue. * * @return \Guzzle\Http\Message\Response */ public function enableLogging() { return $this->saveMetadata($this->appendToMetadata(array( HeaderConst::ACCESS_LOGS => 'True' ))); } /** * Disable access logs. * * @return \Guzzle\Http\Message\Response */ public function disableLogging() { return $this->saveMetadata($this->appendToMetadata(array( HeaderConst::ACCESS_LOGS => 'False' ))); } /** * Enable this container for public CDN access. * * @param null $ttl */ public function enableCdn($ttl = null) { $headers = array('X-CDN-Enabled' => 'True'); if ($ttl) { $headers['X-TTL'] = (int) $ttl; } $this->getClient()->put($this->getCdnService()->getUrl($this->name), $headers)->send(); $this->refresh(); } /** * Disables the containers CDN function. Note that the container will still * be available on the CDN until its TTL expires. * * @return \Guzzle\Http\Message\Response */ public function disableCdn() { $headers = array('X-CDN-Enabled' => 'False'); return $this->getClient() ->put($this->getCdnService()->getUrl($this->name), $headers) ->send(); } public function refresh($id = null, $url = null) { $headers = $this->createRefreshRequest()->send()->getHeaders(); $this->setMetadata($headers, true); } /** * Get either a fresh data object (no $info), or get an existing one by passing in data for population. * * @param mixed $info * @return DataObject */ public function dataObject($info = null) { return new DataObject($this, $info); } /** * Retrieve an object from the API. Apart from using the name as an * identifier, you can also specify additional headers that will be used * fpr a conditional GET request. These are * * * `If-Match' * * `If-None-Match' * * `If-Modified-Since' * * `If-Unmodified-Since' * * `Range' For example: * bytes=-5 would mean the last 5 bytes of the object * bytes=10-15 would mean 5 bytes after a 10 byte offset * bytes=32- would mean all dat after first 32 bytes * * These are also documented in RFC 2616. * * @param string $name * @param array $headers * @return DataObject */ public function getObject($name, array $headers = array()) { try { $response = $this->getClient() ->get($this->getUrl($name), $headers) ->send(); } catch (BadResponseException $e) { if ($e->getResponse()->getStatusCode() == 404) { throw ObjectNotFoundException::factory($name, $e); } throw $e; } return $this->dataObject() ->populateFromResponse($response) ->setName($name); } /** * Essentially the same as {@see getObject()}, except only the metadata is fetched from the API. * This is useful for cases when the user does not want to fetch the full entity body of the * object, only its metadata. * * @param $name * @param array $headers * @return $this */ public function getPartialObject($name, array $headers = array()) { $response = $this->getClient() ->head($this->getUrl($name), $headers) ->send(); return $this->dataObject() ->populateFromResponse($response) ->setName($name); } /** * Check if an object exists inside a container. Uses {@see getPartialObject()} * to save on bandwidth and time. * * @param $name Object name * @return boolean True, if object exists in this container; false otherwise. */ public function objectExists($name) { try { // Send HEAD request to check resource existence $url = clone $this->getUrl(); $url->addPath((string) $name); $this->getClient()->head($url)->send(); } catch (ClientErrorResponseException $e) { // If a 404 was returned, then the object doesn't exist if ($e->getResponse()->getStatusCode() === 404) { return false; } else { throw $e; } } return true; } /** * Upload a single file to the API. * * @param $name Name that the file will be saved as in your container. * @param $data Either a string or stream representation of the file contents to be uploaded. * @param array $headers Optional headers that will be sent with the request (useful for object metadata). * @return DataObject */ public function uploadObject($name, $data, array $headers = array()) { $entityBody = EntityBody::factory($data); $url = clone $this->getUrl(); $url->addPath($name); // @todo for new major release: Return response rather than populated DataObject $response = $this->getClient()->put($url, $headers, $entityBody)->send(); return $this->dataObject() ->populateFromResponse($response) ->setName($name) ->setContent($entityBody); } /** * Upload an array of objects for upload. This method optimizes the upload procedure by batching requests for * faster execution. This is a very useful procedure when you just have a bunch of unremarkable files to be * uploaded quickly. Each file must be under 5GB. * * @param array $files With the following array structure: * `name' Name that the file will be saved as in your container. Required. * `path' Path to an existing file, OR * `body' Either a string or stream representation of the file contents to be uploaded. * @param array $headers Optional headers that will be sent with the request (useful for object metadata). * @param string $returnType One of OpenCloud\ObjectStore\Enum\ReturnType::RESPONSE_ARRAY (to return an array of * Guzzle\Http\Message\Response objects) or OpenCloud\ObjectStore\Enum\ReturnType::DATA_OBJECT_ARRAY * (to return an array of OpenCloud\ObjectStore\Resource\DataObject objects). * * @throws \OpenCloud\Common\Exceptions\InvalidArgumentError * @return Guzzle\Http\Message\Response[] or OpenCloud\ObjectStore\Resource\DataObject[] depending on $returnType */ public function uploadObjects(array $files, array $commonHeaders = array(), $returnType = ReturnType::RESPONSE_ARRAY) { $requests = $entities = array(); foreach ($files as $entity) { if (empty($entity['name'])) { throw new Exceptions\InvalidArgumentError('You must provide a name.'); } if (!empty($entity['path']) && file_exists($entity['path'])) { $body = fopen($entity['path'], 'r+'); } elseif (!empty($entity['body'])) { $body = $entity['body']; } else { throw new Exceptions\InvalidArgumentError('You must provide either a readable path or a body'); } $entityBody = $entities[] = EntityBody::factory($body); // @codeCoverageIgnoreStart if ($entityBody->getContentLength() >= 5 * Size::GB) { throw new Exceptions\InvalidArgumentError( 'For multiple uploads, you cannot upload more than 5GB per ' . ' file. Use the UploadBuilder for larger files.' ); } // @codeCoverageIgnoreEnd // Allow custom headers and common $headers = (isset($entity['headers'])) ? $entity['headers'] : $commonHeaders; $url = clone $this->getUrl(); $url->addPath($entity['name']); $requests[] = $this->getClient()->put($url, $headers, $entityBody); } $responses = $this->getClient()->send($requests); if (ReturnType::RESPONSE_ARRAY === $returnType) { foreach ($entities as $entity) { $entity->close(); } return $responses; } else { // Convert responses to DataObjects before returning $dataObjects = array(); foreach ($responses as $index => $response) { $dataObjects[] = $this->dataObject() ->populateFromResponse($response) ->setName($files[$index]['name']) ->setContent($entities[$index]); } return $dataObjects; } } /** * When uploading large files (+5GB), you need to upload the file as chunks using multibyte transfer. This method * sets up the transfer, and in order to execute the transfer, you need to call upload() on the returned object. * * @param array Options * @see \OpenCloud\ObjectStore\Upload\UploadBuilder::setOptions for a list of accepted options. * @throws \OpenCloud\Common\Exceptions\InvalidArgumentError * @return mixed */ public function setupObjectTransfer(array $options = array()) { // Name is required if (empty($options['name'])) { throw new Exceptions\InvalidArgumentError('You must provide a name.'); } // As is some form of entity body if (!empty($options['path']) && file_exists($options['path'])) { $body = fopen($options['path'], 'r+'); } elseif (!empty($options['body'])) { $body = $options['body']; } else { throw new Exceptions\InvalidArgumentError('You must provide either a readable path or a body'); } // Build upload $transfer = TransferBuilder::newInstance() ->setOption('objectName', $options['name']) ->setEntityBody(EntityBody::factory($body)) ->setContainer($this); // Add extra options if (!empty($options['metadata'])) { $transfer->setOption('metadata', $options['metadata']); } if (!empty($options['partSize'])) { $transfer->setOption('partSize', $options['partSize']); } if (!empty($options['concurrency'])) { $transfer->setOption('concurrency', $options['concurrency']); } if (!empty($options['progress'])) { $transfer->setOption('progress', $options['progress']); } return $transfer->build(); } /** * Upload the contents of a local directory to a remote container, effectively syncing them. * * @param string $path The local path to the directory. * @param string $targetDir The path (or pseudo-directory) that all files will be nested in. */ public function uploadDirectory($path, $targetDir = null) { $sync = DirectorySync::factory($path, $this, $targetDir); $sync->execute(); } public function isCdnEnabled() { // If CDN object is not already populated, try to populate it. if (null === $this->cdn) { $this->refreshCdnObject(); } return ($this->cdn instanceof CDNContainer) && $this->cdn->isCdnEnabled(); } protected function refreshCdnObject() { try { if (null !== ($cdnService = $this->getService()->getCDNService())) { $cdn = new CDNContainer($cdnService); $cdn->setName($this->name); $response = $cdn->createRefreshRequest()->send(); if ($response->isSuccessful()) { $this->cdn = $cdn; $this->cdn->setMetadata($response->getHeaders(), true); } } else { $this->cdn = null; } } catch (ClientErrorResponseException $e) { } } } vendor/rackspace/php-opencloud/lib/OpenCloud/ObjectStore/Resource/AbstractResource.php000064400000020277147400355670025231 0ustar00service = $service; $this->metadata = new $this->metadataClass; } /** * For internal use only. * * @return Service The ObjectStore service associated with this ObjectStore resource. */ public function getService() { return $this->service; } /** * For internal use only. * * @return Service The CDN version of the ObjectStore service associated with this ObjectStore resource. */ public function getCdnService() { return $this->service->getCDNService(); } /** * For internal use only. * * @return Client The HTTP client associated with the associated ObjectStore service. */ public function getClient() { return $this->service->getClient(); } /** * Factory method that allows for easy instantiation from a Response object. * * For internal use only. * * @param Response $response HTTP response from an API operation. * @param ServiceInterface $service The ObjectStore service to associate with this ObjectStore resource object. * @return AbstractResource A concrete sub-class of `AbstractResource`. */ public static function fromResponse(Response $response, ServiceInterface $service) { $object = new static($service); if (null !== ($headers = $response->getHeaders())) { $object->setMetadata($headers, true); } return $object; } /** * Trim headers of their resource-specific prefixes. * * For internal use only. * * @param array $headers Headers as returned from an HTTP response * @return array Trimmed headers */ public static function trimHeaders($headers) { $output = array(); foreach ($headers as $header => $value) { // Only allow allow X--* headers to pass through after stripping them if (static::headerIsValidMetadata($header) && ($key = self::stripPrefix($header))) { $output[$key] = (string) $value; } } return $output; } protected static function headerIsValidMetadata($header) { $pattern = sprintf('#^%s\-#i', self::GLOBAL_METADATA_PREFIX); return preg_match($pattern, $header); } /** * Strip an individual header name of its resource-specific prefix. * * @param $header * @return mixed */ protected static function stripPrefix($header) { $pattern = '#^' . self::GLOBAL_METADATA_PREFIX . '\-(' . static::METADATA_LABEL . '-)?(Meta-)?#i'; return preg_replace($pattern, '', $header); } /** * Prepend/stock the header names with a resource-specific prefix. * * @param array $headers Headers to use on ObjectStore resource. * @return array Headers returned with appropriate prefix as expected by ObjectStore service. */ public static function stockHeaders(array $headers) { $output = array(); $prefix = null; $corsHeaders = array( 'Access-Control-Allow-Origin', 'Access-Control-Expose-Headers', 'Access-Control-Max-Age', 'Access-Control-Allow-Credentials', 'Access-Control-Allow-Methods', 'Access-Control-Allow-Headers' ); foreach ($headers as $header => $value) { if (!in_array($header, $corsHeaders)) { $prefix = self::GLOBAL_METADATA_PREFIX . '-' . static::METADATA_LABEL . '-Meta-'; } $output[$prefix . $header] = $value; } return $output; } /** * Set the metadata (local-only) for this object. You must call saveMetadata * to actually persist the metadata using the ObjectStore service. * * @param array $data Object/container metadata key/value pair array. * @param bool $constructFromResponse Whether the metadata key/value pairs were obtiained from an HTTP response of an ObjectStore API operation. * @return AbstractResource This object, with metadata set. */ public function setMetadata($data, $constructFromResponse = false) { if ($constructFromResponse) { $metadata = new $this->metadataClass; $metadata->setArray(self::trimHeaders($data)); $data = $metadata; } $this->metadata = $data; return $this; } /** * Returns metadata for this object. * * @return \OpenCloud\Common\Metadata Metadata set on this object. */ public function getMetadata() { return $this->metadata; } /** * Push local metadata to the API, thereby executing a permanent save. * * @param array $metadata The array of values you want to set as metadata * @param bool $stockPrefix Whether to prepend each array key with the metadata-specific prefix. For objects, this * would be X-Object-Meta-Foo => Bar * @return Response HTTP response from API operation. */ public function saveMetadata(array $metadata, $stockPrefix = true) { $headers = ($stockPrefix === true) ? self::stockHeaders($metadata) : $metadata; return $this->getClient()->post($this->getUrl(), $headers)->send(); } /** * Retrieve metadata from the API. This method will then set and return this value. * * @return \OpenCloud\Common\Metadata Metadata returned from the ObjectStore service for this object/container. */ public function retrieveMetadata() { $response = $this->getClient() ->head($this->getUrl()) ->send(); $this->setMetadata($response->getHeaders(), true); return $this->metadata; } /** * To delete or unset a particular metadata item. * * @param $key Metadata key to unset * @return Response HTTP response returned from API operation to unset metadata item. */ public function unsetMetadataItem($key) { $header = sprintf('%s-Remove-%s-Meta-%s', self::GLOBAL_METADATA_PREFIX, static::METADATA_LABEL, $key); $headers = array($header => 'True'); return $this->getClient() ->post($this->getUrl(), $headers) ->send(); } /** * Append a particular array of values to the existing metadata. Analogous * to a merge. You must call to actually persist the metadata using the * ObjectStore service. * * @param array $values The array of values you want to append to metadata. * @return array Metadata, after `$values` are appended. */ public function appendToMetadata(array $values) { return (!empty($this->metadata) && is_array($this->metadata)) ? array_merge($this->metadata, $values) : $values; } } vendor/rackspace/php-opencloud/lib/OpenCloud/OpenStack.php000064400000041115147400355670017625 0ustar00setLogger($options['logger']); } $this->setSecret($secret); $this->setAuthUrl($url); parent::__construct($url, $options); $this->addSubscriber(RequestSubscriber::getInstance()); $this->setDefaultOption('headers/Accept', 'application/json'); } /** * Set the credentials for the client * * @param array $secret * @return $this */ public function setSecret(array $secret = array()) { $this->secret = $secret; return $this; } /** * Get the secret. * * @return array */ public function getSecret() { return $this->secret; } /** * Set the token. If a string is passed in, the SDK assumes you want to set the ID of the full Token object * and sets this property accordingly. For any other data type, it assumes you want to populate the Token object. * This ambiguity arises due to backwards compatibility. * * @param string $token * @return $this */ public function setToken($token) { $identity = IdentityService::factory($this); if (is_string($token)) { if (!$this->token) { $this->setTokenObject($identity->resource('Token')); } $this->token->setId($token); } else { $this->setTokenObject($identity->resource('Token', $token)); } return $this; } /** * Get the token ID for this client. * * @return string */ public function getToken() { return ($this->getTokenObject()) ? $this->getTokenObject()->getId() : null; } /** * Set the full token object */ public function setTokenObject(Token $token) { $this->token = $token; } /** * Get the full token object. */ public function getTokenObject() { return $this->token; } /** * @deprecated */ public function setExpiration($expiration) { $this->getLogger()->warning(Logger::deprecated(__METHOD__, '::getTokenObject()->setExpires()')); if ($this->getTokenObject()) { $this->getTokenObject()->setExpires($expiration); } return $this; } /** * @deprecated */ public function getExpiration() { $this->getLogger()->warning(Logger::deprecated(__METHOD__, '::getTokenObject()->getExpires()')); if ($this->getTokenObject()) { return $this->getTokenObject()->getExpires(); } } /** * Set the tenant. If an integer or string is passed in, the SDK assumes you want to set the ID of the full * Tenant object and sets this property accordingly. For any other data type, it assumes you want to populate * the Tenant object. This ambiguity arises due to backwards compatibility. * * @param mixed $tenant * @return $this */ public function setTenant($tenant) { $identity = IdentityService::factory($this); if (is_numeric($tenant) || is_string($tenant)) { if (!$this->tenant) { $this->setTenantObject($identity->resource('Tenant')); } $this->tenant->setId($tenant); } else { $this->setTenantObject($identity->resource('Tenant', $tenant)); } return $this; } /** * Returns the tenant ID only (backwards compatibility). * * @return string */ public function getTenant() { return ($this->getTenantObject()) ? $this->getTenantObject()->getId() : null; } /** * Set the full Tenant object for this client. * * @param OpenCloud\Identity\Resource\Tenant $tenant */ public function setTenantObject(Tenant $tenant) { $this->tenant = $tenant; } /** * Get the full Tenant object for this client. * * @return OpenCloud\Identity\Resource\Tenant */ public function getTenantObject() { return $this->tenant; } /** * Set the service catalog. * * @param mixed $catalog * @return $this */ public function setCatalog($catalog) { $this->catalog = Catalog::factory($catalog); return $this; } /** * Get the service catalog. * * @return array */ public function getCatalog() { return $this->catalog; } /** * @param LoggerInterface $logger * * @return $this */ public function setLogger(LoggerInterface $logger) { $this->logger = $logger; return $this; } /** * @return LoggerInterface */ public function getLogger() { if (null === $this->logger) { $this->setLogger(new Common\Log\Logger); } return $this->logger; } /** * @return bool */ public function hasLogger() { return (null !== $this->logger); } /** * @deprecated */ public function hasExpired() { $this->getLogger()->warning(Logger::deprecated(__METHOD__, 'getTokenObject()->hasExpired()')); return $this->getTokenObject() && $this->getTokenObject()->hasExpired(); } /** * Formats the credentials array (as a string) for authentication * * @return string * @throws Common\Exceptions\CredentialError */ public function getCredentials() { if (!empty($this->secret['username']) && !empty($this->secret['password'])) { $credentials = array('auth' => array( 'passwordCredentials' => array( 'username' => $this->secret['username'], 'password' => $this->secret['password'] ) )); if (!empty($this->secret['tenantName'])) { $credentials['auth']['tenantName'] = $this->secret['tenantName']; } elseif (!empty($this->secret['tenantId'])) { $credentials['auth']['tenantId'] = $this->secret['tenantId']; } return json_encode($credentials); } else { throw new Exceptions\CredentialError( Lang::translate('Unrecognized credential secret') ); } } /** * @param $url * @return $this */ public function setAuthUrl($url) { $this->authUrl = Url::factory($url); return $this; } /** * @return Url */ public function getAuthUrl() { return $this->authUrl; } /** * Sets the current user based on the generated token. * * @param $data Object of user data */ public function setUser(User $user) { $this->user = $user; } /** * @return \OpenCloud\Identity\Resource\User */ public function getUser() { return $this->user; } /** * Authenticate the tenant using the supplied credentials * * @return void * @throws AuthenticationError */ public function authenticate() { // OpenStack APIs will return a 401 if an expired X-Auth-Token is sent, // so we need to reset the value before authenticating for another one. $this->updateTokenHeader(''); $identity = IdentityService::factory($this); $response = $identity->generateToken($this->getCredentials()); $body = Formatter::decode($response); $this->setCatalog($body->access->serviceCatalog); $this->setTokenObject($identity->resource('Token', $body->access->token)); $this->setUser($identity->resource('User', $body->access->user)); if (isset($body->access->token->tenant)) { $this->setTenantObject($identity->resource('Tenant', $body->access->token->tenant)); } // Set X-Auth-Token HTTP request header $this->updateTokenHeader($this->getToken()); } /** * @deprecated */ public function getUrl() { return $this->getBaseUrl(); } /** * Convenience method for exporting current credentials. Useful for local caching. * @return array */ public function exportCredentials() { if ($this->hasExpired()) { $this->authenticate(); } return array( 'token' => $this->getToken(), 'expiration' => $this->getExpiration(), 'tenant' => $this->getTenant(), 'catalog' => $this->getCatalog() ); } /** * Convenience method for importing credentials. Useful for local caching because it reduces HTTP traffic. * * @param array $values */ public function importCredentials(array $values) { if (!empty($values['token'])) { $this->setToken($values['token']); $this->updateTokenHeader($this->getToken()); } if (!empty($values['expiration'])) { $this->setExpiration($values['expiration']); } if (!empty($values['tenant'])) { $this->setTenant($values['tenant']); } if (!empty($values['catalog'])) { $this->setCatalog($values['catalog']); } } /** * Sets the X-Auth-Token header. If no value is explicitly passed in, the current token is used. * * @param string $token Value of header. * @return void */ private function updateTokenHeader($token) { $this->setDefaultOption('headers/X-Auth-Token', (string) $token); } /** * Creates a new ObjectStore object (Swift/Cloud Files) * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\ObjectStore\Service */ public function objectStoreService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\ObjectStore\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new Compute object (Nova/Cloud Servers) * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\Compute\Service */ public function computeService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\Compute\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new Orchestration (Heat) service object * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\Orchestration\Service * @codeCoverageIgnore */ public function orchestrationService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\Orchestration\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new Volume (Cinder) service object * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\Volume\Service */ public function volumeService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\Volume\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new Rackspace "Cloud Identity" service. * * @return \OpenCloud\Identity\Service */ public function identityService() { $service = IdentityService::factory($this); $this->authenticate(); return $service; } /** * Creates a new Glance service * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return Common\Service\ServiceInterface */ public function imageService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\Image\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new Networking (Neutron) service object * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\Networking\Service * @codeCoverageIgnore */ public function networkingService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\Networking\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } /** * Creates a new CDN (Poppy) service object * * @param string $name The name of the service as it appears in the Catalog * @param string $region The region (DFW, IAD, ORD, LON, SYD) * @param string $urltype The URL type ("publicURL" or "internalURL") * @return \OpenCloud\Cdn\Service * @codeCoverageIgnore */ public function cdnService($name = null, $region = null, $urltype = null) { return ServiceBuilder::factory($this, 'OpenCloud\CDN\Service', array( 'name' => $name, 'region' => $region, 'urlType' => $urltype )); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Version.php000064400000002442147400355670017363 0ustar00get('version'); } /** * @return string Indicate Guzzle's version. */ public static function getGuzzleVersion() { return GuzzleVersion::VERSION; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Identity/Service.php000064400000013472147400355670021134 0ustar00hasLogger()) { $identity->setLogger($client->getLogger()); } $identity->setClient($client); $identity->setEndpoint(clone $client->getAuthUrl()); return $identity; } /** * Get this service's URL, with appended path if necessary. * * @return \Guzzle\Http\Url */ public function getUrl($path = null) { $url = clone $this->getEndpoint(); if ($path) { $url->addPath($path); } return $url; } /** * Get all users for the current tenant. * * @return \OpenCloud\Common\Collection\ResourceIterator */ public function getUsers() { $response = $this->getClient()->get($this->getUrl('users'))->send(); if ($body = Formatter::decode($response)) { return ResourceIterator::factory($this, array( 'resourceClass' => 'User', 'key.collection' => 'users' ), $body->users); } } /** * Used for iterator resource instantation. */ public function user($info = null) { return $this->resource('User', $info); } /** * Get a user based on a particular keyword and a certain search mode. * * @param $search string Keyword * @param $mode string Either 'name', 'userId' or 'email' * @return \OpenCloud\Identity\Resource\User */ public function getUser($search, $mode = UserConst::MODE_NAME) { $url = $this->getUrl('users'); switch ($mode) { default: case UserConst::MODE_NAME: $url->setQuery(array('name' => $search)); break; case UserConst::MODE_ID: $url->addPath($search); break; case UserConst::MODE_EMAIL: $url->setQuery(array('email' => $search)); break; } $user = $this->resource('User'); $user->refreshFromLocationUrl($url); return $user; } /** * Create a new user with provided params. * * @param $params array User data * @return \OpenCloud\Identity\Resource\User */ public function createUser(array $params) { $user = $this->resource('User'); $user->create($params); return $user; } /** * Get all possible roles. * * @return \OpenCloud\Common\Collection\PaginatedIterator */ public function getRoles() { return PaginatedIterator::factory($this, array( 'resourceClass' => 'Role', 'baseUrl' => $this->getUrl()->addPath('OS-KSADM')->addPath('roles'), 'key.marker' => 'id', 'key.collection' => 'roles' )); } /** * Get a specific role. * * @param $roleId string The ID of the role you're looking for * @return \OpenCloud\Identity\Resource\Role */ public function getRole($roleId) { return $this->resource('Role', $roleId); } /** * Generate a new token for a given user. * * @param $json string The JSON data-structure used in the HTTP entity body when POSTing to the API * @headers $headers array Additional headers to send (optional) * @return \Guzzle\Http\Message\Response */ public function generateToken($json, array $headers = array()) { $url = $this->getUrl(); $url->addPath('tokens'); $headers += self::getJsonHeader(); return $this->getClient()->post($url, $headers, $json)->send(); } /** * Revoke a given token based on its ID * * @param $tokenId string Token ID * @return \Guzzle\Http\Message\Response */ public function revokeToken($tokenId) { $token = $this->resource('Token'); $token->setId($tokenId); return $token->delete(); } /** * List over all the tenants for this cloud account. * * @return \OpenCloud\Common\Collection\ResourceIterator */ public function getTenants() { $url = $this->getUrl(); $url->addPath('tenants'); $response = $this->getClient()->get($url)->send(); if ($body = Formatter::decode($response)) { return ResourceIterator::factory($this, array( 'resourceClass' => 'Tenant', 'key.collection' => 'tenants' ), $body->tenants); } } } vendor/rackspace/php-opencloud/lib/OpenCloud/Identity/Constants/User.php000064400000001363147400355670022422 0ustar00 'username', 'RAX-AUTH:defaultRegion' => 'defaultRegion', 'RAX-AUTH:domainId' => 'domainId', 'OS-KSADM:password' => 'password' ); protected static $url_resource = 'users'; protected static $json_name = 'user'; public function createJson() { $json = parent::createJson(); if ($this->getClient() instanceof Rackspace) { $json->user->username = $json->user->name; unset($json->user->name); } return $json; } /** * @param $region Set the default region */ public function setDefaultRegion($region) { $this->defaultRegion = $region; } /** * @return string Get the default region */ public function getDefaultRegion() { return $this->defaultRegion; } /** * @param $domainId Set the domain ID */ public function setDomainId($domainId) { $this->domainId = $domainId; } /** * @return string Get the domain ID */ public function getDomainId() { return $this->domainId; } /** * @param $id Set the ID */ public function setId($id) { $this->id = $id; } /** * @return int Get the ID */ public function getId() { return $this->id; } /** * @param $username Set the username */ public function setUsername($username) { $this->username = $username; } /** * @return string Get the username */ public function getUsername() { return $this->username; } /** * @param $email Sets the email */ public function setEmail($email) { $this->email = $email; } /** * @return string Get the email */ public function getEmail() { return $this->email; } /** * @param $enabled Sets the enabled flag */ public function setEnabled($enabled) { $this->enabled = $enabled; } /** * @return bool Get the enabled flag */ public function getEnabled() { return $this->enabled; } /** * @return bool Check whether this user is enabled or not */ public function isEnabled() { return $this->enabled === true; } /** * @param $password Set the password */ public function setPassword($password) { $this->password = $password; } /** * @return string Get the password */ public function getPassword() { return $this->password; } /** * @return string */ public function primaryKeyField() { return 'id'; } public function updateJson($params = array()) { $array = array(); foreach ($this->updateKeys as $key) { if (isset($this->$key)) { $array[$key] = $this->$key; } } return (object) array('user' => $array); } /** * This operation will set the user's password to a new value. * * @param $newPassword The new password to use for this user * @return \Guzzle\Http\Message\Response */ public function updatePassword($newPassword) { $array = array( 'username' => $this->username, 'OS-KSADM:password' => $newPassword ); $json = json_encode((object) array('user' => $array)); return $this->getClient()->post($this->getUrl(), self::getJsonHeader(), $json)->send(); } /** * This operation lists a user's non-password credentials for all authentication methods available to the user. * * @return array|null */ public function getOtherCredentials() { $url = $this->getUrl(); $url->addPath('OS-KSADM')->addPath('credentials'); $response = $this->getClient()->get($url)->send(); if ($body = Formatter::decode($response)) { return isset($body->credentials) ? $body->credentials : null; } } /** * Get the API key for this user. * * @return string|null */ public function getApiKey() { $url = $this->getUrl(); $url->addPath('OS-KSADM')->addPath('credentials')->addPath('RAX-KSKEY:apiKeyCredentials'); $response = $this->getClient()->get($url)->send(); if ($body = Formatter::decode($response)) { return isset($body->{'RAX-KSKEY:apiKeyCredentials'}->apiKey) ? $body->{'RAX-KSKEY:apiKeyCredentials'}->apiKey : null; } } /** * Reset the API key for this user to a new arbitrary value (which is returned). * * @return string|null */ public function resetApiKey() { $url = $this->getUrl(); $url->addPath('OS-KSADM') ->addPath('credentials') ->addPath('RAX-KSKEY:apiKeyCredentials') ->addPath('RAX-AUTH') ->addPath('reset'); $response = $this->getClient()->post($url)->send(); if ($body = Formatter::decode($response)) { return isset($body->{'RAX-KSKEY:apiKeyCredentials'}->apiKey) ? $body->{'RAX-KSKEY:apiKeyCredentials'}->apiKey : null; } } /** * Add a role, specified by its ID, to a user. * * @param $roleId * @return \Guzzle\Http\Message\Response */ public function addRole($roleId) { $url = $this->getUrl(); $url->addPath('roles')->addPath('OS-KSADM')->addPath($roleId); return $this->getClient()->put($url)->send(); } /** * Remove a role, specified by its ID, from a user. * * @param $roleId * @return \Guzzle\Http\Message\Response */ public function removeRole($roleId) { $url = $this->getUrl(); $url->addPath('roles')->addPath('OS-KSADM')->addPath($roleId); return $this->getClient()->delete($url)->send(); } /** * Get all the roles for which this user is associated with. * * @return \OpenCloud\Common\Collection\PaginatedIterator */ public function getRoles() { $url = $this->getUrl(); $url->addPath('roles'); return PaginatedIterator::factory($this, array( 'baseUrl' => $url, 'resourceClass' => 'Role', 'key.collection' => 'roles', 'key.links' => 'roles_links' )); } public function update($params = array()) { if (!empty($params)) { $this->populate($params); } $json = json_encode($this->updateJson($params)); $this->checkJsonError(); return $this->getClient()->post($this->getUrl(), self::getJsonHeader(), $json)->send(); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Identity/Resource/Token.php000064400000003560147400355670022400 0ustar00id = $id; } /** * @return string Returns the ID */ public function getId() { return $this->id; } /** * @param $expires Set the expiry timestamp */ public function setExpires($expires) { $this->expires = $expires; } /** * @return string Get the expiry timestamp */ public function getExpires() { return $this->expires; } /** * @return bool Check whether this token has expired (i.e. still valid or not) */ public function hasExpired() { return time() >= strtotime($this->expires); } } vendor/rackspace/php-opencloud/lib/OpenCloud/Identity/Resource/Tenant.php000064400000004773147400355670022560 0ustar00id = $id; } /** * @return string Returns the ID */ public function getId() { return $this->id; } /** * @param $name Sets the name */ public function setName($name) { $this->name = $name; } /** * @return string Returns the name */ public function getName() { return $this->name; } /** * @param $description Sets the description */ public function setDescription($description) { $this->description = $description; } /** * @return string Returns the description */ public function getDescription() { return $this->description; } /** * @param $enabled Enables/disables the tenant */ public function setEnabled($enabled) { $this->enabled = $enabled; } /** * @return bool Checks whether this tenant is enabled or not */ public function isEnabled() { return $this->enabled === true; } } vendor/rackspace/php-opencloud/lib/OpenCloud/Identity/Resource/Role.php000064400000004701147400355670022217 0ustar00id = $id; } /** * @return string Returns the ID */ public function getId() { return $this->id; } /** * @param $name Sets the name */ public function setName($name) { $this->name = $name; } /** * @return string Returns the name */ public function getName() { return $this->name; } /** * @param $description Sets the description */ public function setDescription($description) { $this->description = $description; } /** * @return string Returns the description */ public function getDescription() { return $this->description; } } vendor/rackspace/php-opencloud/lib/php-opencloud.php000064400000001220147400355670016614 0ustar00=5.4", "guzzle/guzzle" : "~3.8", "psr/log": "~1.0", "mikemccabe/json-patch-php": "~0.1" }, "require-dev" : { "phpunit/phpunit": "4.3.*", "phpspec/prophecy": "~1.4", "satooshi/php-coveralls": "0.6.*@dev", "jakub-onderka/php-parallel-lint": "0.*", "fabpot/php-cs-fixer": "1.0.*@dev", "apigen/apigen": "~4.0" } } vendor/rackspace/php-opencloud/CODE_OF_CONDUCT.md000064400000004533147400355670015371 0ustar00# Contributor Code of Conduct As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality. Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery * Personal attacks * Trolling or insulting/derogatory comments * Public or private harassment * Publishing other's private information, such as physical or electronic addresses, without explicit permission * Other unethical or unprofessional conduct Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team. This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a project maintainer at sdk-support@rackspace.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to the reporter of an incident. This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.3.0, available at [http://contributor-covenant.org/version/1/3/0/][version] [homepage]: http://contributor-covenant.org [version]: http://contributor-covenant.org/version/1/3/0/ vendor/rackspace/php-opencloud/CONTRIBUTING.md000064400000007554147400355670015031 0ustar00Contributing to php-opencloud ----------------------------- Welcome! If you'd like to work on php-opencloud, we appreciate your efforts. Here are a few general guidelines to follow: 1. Use the `working` branch for your pull requests. Except in the case of an emergency hotfix, we will only update `master` with official releases. 2. All code needs to come with unit tests. If you're introducing new code, you will need to write new test cases; if you're updating existing code, you will need to make sure the methods you're updating are still completely covered. 3. Please abide by [PSR-2 code styling](#ensuring-psr-2-coding-style-compliance). 4. Explaining your pull requests is appreciated. Unless you're fixing a minor typographical error, create a description which explains your changes and, where relevant, references the existing issue you're hoping to fix. 5. If your pull request introduces a large change or addition, please consider creating a work-in-progress (WIP) pull request. This lets us review your changes and provide feedback early and often rather than all at once when the entire pull request is ready. To denote a pull request as WIP, simply add the "PR: Work In Progress" label to it. When you are finished with your work in the pull request and are ready for a final review and merge, please remove the "PR: Work In Progress" label. 6. Document your code! If you submit code, please add your name and email address to the CONTRIBUTORS file. Test Instructions ----------------- ### To run unit tests: ```bash vendor/bin/phpunit ``` ### To run the full suite of acceptance tests: 1. Make sure your [variables-order](http://www.php.net/manual/en/ini.core.php#ini.variables-order) is set to "EGCRS" 2. Set your *PHP_OpenCloud_USERNAME* and *PHP_OpenCloud_API_KEY* variables 3. Run: ```php tests/OpenCloud/Smoke/Runner.php``` ## Conventions * When working on a `Service` class (e.g. [`OpenCloud\Image\Service`](/lib/OpenCloud/Image/Service.php), name methods like so: * Methods that return a single resource, say `Foo`, should be named `getFoo`. For example, [`getImage`](/lib/OpenCloud/Image/Service.php#L67). * Methods that return a collection of resources, say `Foo`, should be named `listFoos`. For example, [`listImages`](/lib/OpenCloud/Image/Service.php#L53). * Methods that create a new resource, say `Foo`, should be named `createFoo`. For example, [`createEntity`](/lib/OpenCloud/CloudMonitoring/Service.php#L105). * When validating arguments to a method, please throw `\InvalidArgumentException` when an invalid argument is found. For example, see [here](/lib/OpenCloud/LoadBalancer/Resource/LoadBalancer.php#L212-L215). ## Ensuring PSR-2 coding style compliance The code in this library is compliant with the [PSR-2 Coding Style Guide](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md). To ensure that any code you contribute is also PSR-2 compliant, please run the following command from the base directory of this project _before_ submitting your contribution: $ vendor/bin/php-cs-fixer fix --level psr2 . Running this command will _change_ your code to become PSR-2 compliant. You will need to _commit_ these changes and make them part of your pull request. ## Releasing a new version of php-opencloud If you are a core contributor to php-opencloud, you have the power to release new versions of it. Here are the steps to follow to ensure a proper release: 1. Update the value of the the [`VERSION` constant](/lib/OpenCloud/Version.php#L30). 2. Merge the `working` branch into the `master` branch. 3. [Run the smoke tests](#to-run-the-full-suite-of-acceptance-tests). If they fail, make necessary changes and go to step 2. 4. [Create new release notes](https://github.com/rackspace/php-opencloud/releases/new). 5. Publish release notes. 6. Announce release via appropriate channels. 7. Party :tada: :balloon:vendor/rackspace/php-opencloud/apigen.neon000064400000000061147400355670014706 0ustar00templateTheme: bootstrap accessLevels: [public] vendor/rackspace/php-opencloud/README.md000064400000006502147400355670014047 0ustar00**php-opencloud** ============= PHP SDK for OpenStack/Rackspace APIs [![Latest Stable Version](https://poser.pugx.org/rackspace/php-opencloud/v/stable.png)](https://packagist.org/packages/rackspace/php-opencloud) [![Travis CI](https://secure.travis-ci.org/rackspace/php-opencloud.png)](https://travis-ci.org/rackspace/php-opencloud) [![Total Downloads](https://poser.pugx.org/rackspace/php-opencloud/downloads.png)](https://packagist.org/packages/rackspace/php-opencloud) Our official documentation is now available on http://docs.php-opencloud.com. For SDKs in different languages, see http://developer.rackspace.com. The PHP SDK should work with most OpenStack-based cloud deployments, though it specifically targets the Rackspace public cloud. In general, whenever a Rackspace deployment is substantially different than a pure OpenStack one, a separate Rackspace subclass is provided so that you can still use the SDK with a pure OpenStack instance (for example, see the `OpenStack` class (for OpenStack) and the `Rackspace` subclass). Requirements ------------ * PHP >=5.4 * cURL extension for PHP **Note**: Since PHP 5.3 has reached [end of life](http://php.net/eol.php) and is no longer officially supported, we are moving to 5.4 as a minimum requirement. If upgrading is not an option and you still need a stable version of the SDK for 5.3, please follow [this guide](http://docs.php-opencloud.com/en/latest/using-php-5.3.html). Installation ------------ You must install this library through Composer: ```bash # Install Composer curl -sS https://getcomposer.org/installer | php # Require php-opencloud as a dependency php composer.phar require rackspace/php-opencloud ``` Once you have installed the library, you will need to load Composer's autoloader (which registers all the required namespaces). To do this, place the following line of PHP code at the top of your application's PHP files: ```php require 'vendor/autoload.php'; ``` **Note**: this assumes your application's PHP files are located in the same folder as `vendor/`. If your files are located elsewhere, please supply the path to `vendor/autoload.php` in the `require` statement above. And you're ready to go! You can also check out the [Getting Started guide](docs/getting-started.md) for a quick tutorial. - - - Alternatively, if you would like to fork or clone the repository into a directory (to work and submit pull requests), you will need to execute: ```bash php composer.phar install ``` Instead of the `require` command. You can also specify the `--no-dev` option if you do not want to install phpDocumentor (which has lots of vendor folders). Support and Feedback -------------------- Your feedback is appreciated! If you have specific problems or bugs with this SDK, please file an issue on Github. We also have a [mailing list](https://groups.google.com/forum/#!forum/php-opencloud), so feel free to join to keep up to date with all the latest changes and announcements to the library. For general feedback and support requests, contact us at https://developer.rackspace.com/support/ You can also find assistance via IRC on #rackspace at freenode.net. Contributing ------------ If you'd like to contribute to the project, or require help running the unit/acceptance tests, please view the [contributing guidelines](https://github.com/rackspace/php-opencloud/blob/master/CONTRIBUTING.md). vendor/rackspace/php-opencloud/phpunit.xml.dist000064400000002430147400355670015737 0ustar00 ./tests/OpenCloud/Tests ./lib/OpenCloud ./lib/OpenCloud/CloudMonitoring/Exception ./lib/OpenCloud/Common/Exceptions ./lib/OpenCloud/Common/Exceptions ./lib/OpenCloud/Compute/Exception ./lib/OpenCloud/ObjectStore/Exception ./lib/OpenCloud/Queues/Exception vendor/guzzle/guzzle/LICENSE000064400000002127147400355670011723 0ustar00Copyright (c) 2011 Michael Dowling, https://github.com/mtdowling Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor/guzzle/guzzle/build.xml000064400000003344147400355670012541 0ustar00 vendor/guzzle/guzzle/CHANGELOG.md000064400000136351147400355670012536 0ustar00# CHANGELOG ## 3.9.3 - 2015-03-18 * Ensuring Content-Length is not stripped from a request when it is `0`. * Added more information to stream wrapper exceptions. * Message parser will no longer throw warnings for malformed messages. * Giving a valid cache TTL when max-age is 0. ## 3.9.2 - 2014-09-10 * Retrying "Connection died, retrying a fresh connect" curl errors. * Automatically extracting the cacert from the phar in client constructor. * Added EntityBody support for OPTIONS requests. ## 3.9.1 - 2014-05-07 * Added a fix to ReadLimitEntityBody to ensure it doesn't infinitely loop. * Added a fix to the stream checksum function so that when the first read returns a falsey value, it still continues to consume the stream until EOF. ## 3.9.0 - 2014-04-23 * `null`, `false`, and `"_guzzle_blank_"` all now serialize as an empty value with no trailing "=". See dc1d824277. * No longer performing an MD5 check on the cacert each time the phar is used, but rather copying the cacert to the temp directory. * `"0"` can now be added as a URL path * Deleting cookies that are set to empty * If-Modified-Since is no longer unnecessarily added to the CachePlugin * Cookie path matching now follows RFC 6265 s5.1.4 * Updated service descriptions are now added to a service client's composite factory. * MockPlugin now throws an exception if the queue is empty. * Properly parsing URLs that start with "http" but are not absolute * Added the ability to configure the curl_multi_select timeout setting * OAuth parameters are now sorted using lexicographical byte value ordering * Fixing invalid usage of an out of range PHP feature in the ErrorResponsePlugin ## 3.8.1 -2014-01-28 * Bug: Always using GET requests when redirecting from a 303 response * Bug: CURLOPT_SSL_VERIFYHOST is now correctly set to false when setting `$certificateAuthority` to false in `Guzzle\Http\ClientInterface::setSslVerification()` * Bug: RedirectPlugin now uses strict RFC 3986 compliance when combining a base URL with a relative URL * Bug: The body of a request can now be set to `"0"` * Sending PHP stream requests no longer forces `HTTP/1.0` * Adding more information to ExceptionCollection exceptions so that users have more context, including a stack trace of each sub-exception * Updated the `$ref` attribute in service descriptions to merge over any existing parameters of a schema (rather than clobbering everything). * Merging URLs will now use the query string object from the relative URL (thus allowing custom query aggregators) * Query strings are now parsed in a way that they do no convert empty keys with no value to have a dangling `=`. For example `foo&bar=baz` is now correctly parsed and recognized as `foo&bar=baz` rather than `foo=&bar=baz`. * Now properly escaping the regular expression delimiter when matching Cookie domains. * Network access is now disabled when loading XML documents ## 3.8.0 - 2013-12-05 * Added the ability to define a POST name for a file * JSON response parsing now properly walks additionalProperties * cURL error code 18 is now retried automatically in the BackoffPlugin * Fixed a cURL error when URLs contain fragments * Fixed an issue in the BackoffPlugin retry event where it was trying to access all exceptions as if they were CurlExceptions * CURLOPT_PROGRESS function fix for PHP 5.5 (69fcc1e) * Added the ability for Guzzle to work with older versions of cURL that do not support `CURLOPT_TIMEOUT_MS` * Fixed a bug that was encountered when parsing empty header parameters * UriTemplate now has a `setRegex()` method to match the docs * The `debug` request parameter now checks if it is truthy rather than if it exists * Setting the `debug` request parameter to true shows verbose cURL output instead of using the LogPlugin * Added the ability to combine URLs using strict RFC 3986 compliance * Command objects can now return the validation errors encountered by the command * Various fixes to cache revalidation (#437 and 29797e5) * Various fixes to the AsyncPlugin * Cleaned up build scripts ## 3.7.4 - 2013-10-02 * Bug fix: 0 is now an allowed value in a description parameter that has a default value (#430) * Bug fix: SchemaFormatter now returns an integer when formatting to a Unix timestamp (see https://github.com/aws/aws-sdk-php/issues/147) * Bug fix: Cleaned up and fixed URL dot segment removal to properly resolve internal dots * Minimum PHP version is now properly specified as 5.3.3 (up from 5.3.2) (#420) * Updated the bundled cacert.pem (#419) * OauthPlugin now supports adding authentication to headers or query string (#425) ## 3.7.3 - 2013-09-08 * Added the ability to get the exception associated with a request/command when using `MultiTransferException` and `CommandTransferException`. * Setting `additionalParameters` of a response to false is now honored when parsing responses with a service description * Schemas are only injected into response models when explicitly configured. * No longer guessing Content-Type based on the path of a request. Content-Type is now only guessed based on the path of an EntityBody. * Bug fix: ChunkedIterator can now properly chunk a \Traversable as well as an \Iterator. * Bug fix: FilterIterator now relies on `\Iterator` instead of `\Traversable`. * Bug fix: Gracefully handling malformed responses in RequestMediator::writeResponseBody() * Bug fix: Replaced call to canCache with canCacheRequest in the CallbackCanCacheStrategy of the CachePlugin * Bug fix: Visiting XML attributes first before visting XML children when serializing requests * Bug fix: Properly parsing headers that contain commas contained in quotes * Bug fix: mimetype guessing based on a filename is now case-insensitive ## 3.7.2 - 2013-08-02 * Bug fix: Properly URL encoding paths when using the PHP-only version of the UriTemplate expander See https://github.com/guzzle/guzzle/issues/371 * Bug fix: Cookie domains are now matched correctly according to RFC 6265 See https://github.com/guzzle/guzzle/issues/377 * Bug fix: GET parameters are now used when calculating an OAuth signature * Bug fix: Fixed an issue with cache revalidation where the If-None-Match header was being double quoted * `Guzzle\Common\AbstractHasDispatcher::dispatch()` now returns the event that was dispatched * `Guzzle\Http\QueryString::factory()` now guesses the most appropriate query aggregator to used based on the input. See https://github.com/guzzle/guzzle/issues/379 * Added a way to add custom domain objects to service description parsing using the `operation.parse_class` event. See https://github.com/guzzle/guzzle/pull/380 * cURL multi cleanup and optimizations ## 3.7.1 - 2013-07-05 * Bug fix: Setting default options on a client now works * Bug fix: Setting options on HEAD requests now works. See #352 * Bug fix: Moving stream factory before send event to before building the stream. See #353 * Bug fix: Cookies no longer match on IP addresses per RFC 6265 * Bug fix: Correctly parsing header parameters that are in `<>` and quotes * Added `cert` and `ssl_key` as request options * `Host` header can now diverge from the host part of a URL if the header is set manually * `Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor` was rewritten to change from using SimpleXML to XMLWriter * OAuth parameters are only added via the plugin if they aren't already set * Exceptions are now thrown when a URL cannot be parsed * Returning `false` if `Guzzle\Http\EntityBody::getContentMd5()` fails * Not setting a `Content-MD5` on a command if calculating the Content-MD5 fails via the CommandContentMd5Plugin ## 3.7.0 - 2013-06-10 * See UPGRADING.md for more information on how to upgrade. * Requests now support the ability to specify an array of $options when creating a request to more easily modify a request. You can pass a 'request.options' configuration setting to a client to apply default request options to every request created by a client (e.g. default query string variables, headers, curl options, etc). * Added a static facade class that allows you to use Guzzle with static methods and mount the class to `\Guzzle`. See `Guzzle\Http\StaticClient::mount`. * Added `command.request_options` to `Guzzle\Service\Command\AbstractCommand` to pass request options to requests created by a command (e.g. custom headers, query string variables, timeout settings, etc). * Stream size in `Guzzle\Stream\PhpStreamRequestFactory` will now be set if Content-Length is returned in the headers of a response * Added `Guzzle\Common\Collection::setPath($path, $value)` to set a value into an array using a nested key (e.g. `$collection->setPath('foo/baz/bar', 'test'); echo $collection['foo']['bar']['bar'];`) * ServiceBuilders now support storing and retrieving arbitrary data * CachePlugin can now purge all resources for a given URI * CachePlugin can automatically purge matching cached items when a non-idempotent request is sent to a resource * CachePlugin now uses the Vary header to determine if a resource is a cache hit * `Guzzle\Http\Message\Response` now implements `\Serializable` * Added `Guzzle\Cache\CacheAdapterFactory::fromCache()` to more easily create cache adapters * `Guzzle\Service\ClientInterface::execute()` now accepts an array, single command, or Traversable * Fixed a bug in `Guzzle\Http\Message\Header\Link::addLink()` * Better handling of calculating the size of a stream in `Guzzle\Stream\Stream` using fstat() and caching the size * `Guzzle\Common\Exception\ExceptionCollection` now creates a more readable exception message * Fixing BC break: Added back the MonologLogAdapter implementation rather than extending from PsrLog so that older Symfony users can still use the old version of Monolog. * Fixing BC break: Added the implementation back in for `Guzzle\Http\Message\AbstractMessage::getTokenizedHeader()`. Now triggering an E_USER_DEPRECATED warning when used. Use `$message->getHeader()->parseParams()`. * Several performance improvements to `Guzzle\Common\Collection` * Added an `$options` argument to the end of the following methods of `Guzzle\Http\ClientInterface`: createRequest, head, delete, put, patch, post, options, prepareRequest * Added an `$options` argument to the end of `Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()` * Added an `applyOptions()` method to `Guzzle\Http\Message\Request\RequestFactoryInterface` * Changed `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null)` to `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $options = array())`. You can still pass in a resource, string, or EntityBody into the $options parameter to specify the download location of the response. * Changed `Guzzle\Common\Collection::__construct($data)` to no longer accepts a null value for `$data` but a default `array()` * Added `Guzzle\Stream\StreamInterface::isRepeatable` * Removed `Guzzle\Http\ClientInterface::setDefaultHeaders(). Use $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or $client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))`. * Removed `Guzzle\Http\ClientInterface::getDefaultHeaders(). Use $client->getConfig()->getPath('request.options/headers')`. * Removed `Guzzle\Http\ClientInterface::expandTemplate()` * Removed `Guzzle\Http\ClientInterface::setRequestFactory()` * Removed `Guzzle\Http\ClientInterface::getCurlMulti()` * Removed `Guzzle\Http\Message\RequestInterface::canCache` * Removed `Guzzle\Http\Message\RequestInterface::setIsRedirect` * Removed `Guzzle\Http\Message\RequestInterface::isRedirect` * Made `Guzzle\Http\Client::expandTemplate` and `getUriTemplate` protected methods. * You can now enable E_USER_DEPRECATED warnings to see if you are using a deprecated method by setting `Guzzle\Common\Version::$emitWarnings` to true. * Marked `Guzzle\Http\Message\Request::isResponseBodyRepeatable()` as deprecated. Use `$request->getResponseBody()->isRepeatable()` instead. * Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. * Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. * Marked `Guzzle\Http\Message\Request::setIsRedirect()` as deprecated. Use the HistoryPlugin instead. * Marked `Guzzle\Http\Message\Request::isRedirect()` as deprecated. Use the HistoryPlugin instead. * Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated * Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand. These will work through Guzzle 4.0 * Marked 'request.params' for `Guzzle\Http\Client` as deprecated. Use [request.options][params]. * Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client. * Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use $client->getConfig()->getPath('request.options/headers')`. * Marked `Guzzle\Service\Client::setDefaultHeaders()` as deprecated. Use $client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. * Marked `Guzzle\Parser\Url\UrlParser` as deprecated. Just use PHP's `parse_url()` and percent encode your UTF-8. * Marked `Guzzle\Common\Collection::inject()` as deprecated. * Marked `Guzzle\Plugin\CurlAuth\CurlAuthPlugin` as deprecated. Use `$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest');` * CacheKeyProviderInterface and DefaultCacheKeyProvider are no longer used. All of this logic is handled in a CacheStorageInterface. These two objects and interface will be removed in a future version. * Always setting X-cache headers on cached responses * Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin * `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface $request, Response $response);` * `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);` * `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);` * Added `CacheStorageInterface::purge($url)` * `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin $plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache, CanCacheStrategyInterface $canCache = null)` * Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)` ## 3.6.0 - 2013-05-29 * ServiceDescription now implements ToArrayInterface * Added command.hidden_params to blacklist certain headers from being treated as additionalParameters * Guzzle can now correctly parse incomplete URLs * Mixed casing of headers are now forced to be a single consistent casing across all values for that header. * Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution * Removed the whole changedHeader() function system of messages because all header changes now go through addHeader(). * Specific header implementations can be created for complex headers. When a message creates a header, it uses a HeaderFactory which can map specific headers to specific header classes. There is now a Link header and CacheControl header implementation. * Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate * Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti() * Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in Guzzle\Http\Curl\RequestMediator * Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string. * Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface * Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders() * Removed Guzzle\Parser\ParserRegister::get(). Use getParser() * Removed Guzzle\Parser\ParserRegister::set(). Use registerParser(). * All response header helper functions return a string rather than mixing Header objects and strings inconsistently * Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc are managed by Guzzle directly via interfaces * Removed the injecting of a request object onto a response object. The methods to get and set a request still exist but are a no-op until removed. * Most classes that used to require a ``Guzzle\Service\Command\CommandInterface` typehint now request a `Guzzle\Service\Command\ArrayCommandInterface`. * Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response on a request while the request is still being transferred * The ability to case-insensitively search for header values * Guzzle\Http\Message\Header::hasExactHeader * Guzzle\Http\Message\Header::raw. Use getAll() * Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object instead. * `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess * Added the ability to cast Model objects to a string to view debug information. ## 3.5.0 - 2013-05-13 * Bug: Fixed a regression so that request responses are parsed only once per oncomplete event rather than multiple times * Bug: Better cleanup of one-time events accross the board (when an event is meant to fire once, it will now remove itself from the EventDispatcher) * Bug: `Guzzle\Log\MessageFormatter` now properly writes "total_time" and "connect_time" values * Bug: Cloning an EntityEnclosingRequest now clones the EntityBody too * Bug: Fixed an undefined index error when parsing nested JSON responses with a sentAs parameter that reference a non-existent key * Bug: All __call() method arguments are now required (helps with mocking frameworks) * Deprecating Response::getRequest() and now using a shallow clone of a request object to remove a circular reference to help with refcount based garbage collection of resources created by sending a request * Deprecating ZF1 cache and log adapters. These will be removed in the next major version. * Deprecating `Response::getPreviousResponse()` (method signature still exists, but it'sdeprecated). Use the HistoryPlugin for a history. * Added a `responseBody` alias for the `response_body` location * Refactored internals to no longer rely on Response::getRequest() * HistoryPlugin can now be cast to a string * HistoryPlugin now logs transactions rather than requests and responses to more accurately keep track of the requests and responses that are sent over the wire * Added `getEffectiveUrl()` and `getRedirectCount()` to Response objects ## 3.4.3 - 2013-04-30 * Bug fix: Fixing bug introduced in 3.4.2 where redirect responses are duplicated on the final redirected response * Added a check to re-extract the temp cacert bundle from the phar before sending each request ## 3.4.2 - 2013-04-29 * Bug fix: Stream objects now work correctly with "a" and "a+" modes * Bug fix: Removing `Transfer-Encoding: chunked` header when a Content-Length is present * Bug fix: AsyncPlugin no longer forces HEAD requests * Bug fix: DateTime timezones are now properly handled when using the service description schema formatter * Bug fix: CachePlugin now properly handles stale-if-error directives when a request to the origin server fails * Setting a response on a request will write to the custom request body from the response body if one is specified * LogPlugin now writes to php://output when STDERR is undefined * Added the ability to set multiple POST files for the same key in a single call * application/x-www-form-urlencoded POSTs now use the utf-8 charset by default * Added the ability to queue CurlExceptions to the MockPlugin * Cleaned up how manual responses are queued on requests (removed "queued_response" and now using request.before_send) * Configuration loading now allows remote files ## 3.4.1 - 2013-04-16 * Large refactoring to how CurlMulti handles work. There is now a proxy that sits in front of a pool of CurlMulti handles. This greatly simplifies the implementation, fixes a couple bugs, and provides a small performance boost. * Exceptions are now properly grouped when sending requests in parallel * Redirects are now properly aggregated when a multi transaction fails * Redirects now set the response on the original object even in the event of a failure * Bug fix: Model names are now properly set even when using $refs * Added support for PHP 5.5's CurlFile to prevent warnings with the deprecated @ syntax * Added support for oauth_callback in OAuth signatures * Added support for oauth_verifier in OAuth signatures * Added support to attempt to retrieve a command first literally, then ucfirst, the with inflection ## 3.4.0 - 2013-04-11 * Bug fix: URLs are now resolved correctly based on http://tools.ietf.org/html/rfc3986#section-5.2. #289 * Bug fix: Absolute URLs with a path in a service description will now properly override the base URL. #289 * Bug fix: Parsing a query string with a single PHP array value will now result in an array. #263 * Bug fix: Better normalization of the User-Agent header to prevent duplicate headers. #264. * Bug fix: Added `number` type to service descriptions. * Bug fix: empty parameters are removed from an OAuth signature * Bug fix: Revalidating a cache entry prefers the Last-Modified over the Date header * Bug fix: Fixed "array to string" error when validating a union of types in a service description * Bug fix: Removed code that attempted to determine the size of a stream when data is written to the stream * Bug fix: Not including an `oauth_token` if the value is null in the OauthPlugin. * Bug fix: Now correctly aggregating successful requests and failed requests in CurlMulti when a redirect occurs. * The new default CURLOPT_TIMEOUT setting has been increased to 150 seconds so that Guzzle works on poor connections. * Added a feature to EntityEnclosingRequest::setBody() that will automatically set the Content-Type of the request if the Content-Type can be determined based on the entity body or the path of the request. * Added the ability to overwrite configuration settings in a client when grabbing a throwaway client from a builder. * Added support for a PSR-3 LogAdapter. * Added a `command.after_prepare` event * Added `oauth_callback` parameter to the OauthPlugin * Added the ability to create a custom stream class when using a stream factory * Added a CachingEntityBody decorator * Added support for `additionalParameters` in service descriptions to define how custom parameters are serialized. * The bundled SSL certificate is now provided in the phar file and extracted when running Guzzle from a phar. * You can now send any EntityEnclosingRequest with POST fields or POST files and cURL will handle creating bodies * POST requests using a custom entity body are now treated exactly like PUT requests but with a custom cURL method. This means that the redirect behavior of POST requests with custom bodies will not be the same as POST requests that use POST fields or files (the latter is only used when emulating a form POST in the browser). * Lots of cleanup to CurlHandle::factory and RequestFactory::createRequest ## 3.3.1 - 2013-03-10 * Added the ability to create PHP streaming responses from HTTP requests * Bug fix: Running any filters when parsing response headers with service descriptions * Bug fix: OauthPlugin fixes to allow for multi-dimensional array signing, and sorting parameters before signing * Bug fix: Removed the adding of default empty arrays and false Booleans to responses in order to be consistent across response location visitors. * Bug fix: Removed the possibility of creating configuration files with circular dependencies * RequestFactory::create() now uses the key of a POST file when setting the POST file name * Added xmlAllowEmpty to serialize an XML body even if no XML specific parameters are set ## 3.3.0 - 2013-03-03 * A large number of performance optimizations have been made * Bug fix: Added 'wb' as a valid write mode for streams * Bug fix: `Guzzle\Http\Message\Response::json()` now allows scalar values to be returned * Bug fix: Fixed bug in `Guzzle\Http\Message\Response` where wrapping quotes were stripped from `getEtag()` * BC: Removed `Guzzle\Http\Utils` class * BC: Setting a service description on a client will no longer modify the client's command factories. * BC: Emitting IO events from a RequestMediator is now a parameter that must be set in a request's curl options using the 'emit_io' key. This was previously set under a request's parameters using 'curl.emit_io' * BC: `Guzzle\Stream\Stream::getWrapper()` and `Guzzle\Stream\Stream::getSteamType()` are no longer converted to lowercase * Operation parameter objects are now lazy loaded internally * Added ErrorResponsePlugin that can throw errors for responses defined in service description operations' errorResponses * Added support for instantiating responseType=class responseClass classes. Classes must implement `Guzzle\Service\Command\ResponseClassInterface` * Added support for additionalProperties for top-level parameters in responseType=model responseClasses. These additional properties also support locations and can be used to parse JSON responses where the outermost part of the JSON is an array * Added support for nested renaming of JSON models (rename sentAs to name) * CachePlugin * Added support for stale-if-error so that the CachePlugin can now serve stale content from the cache on error * Debug headers can now added to cached response in the CachePlugin ## 3.2.0 - 2013-02-14 * CurlMulti is no longer reused globally. A new multi object is created per-client. This helps to isolate clients. * URLs with no path no longer contain a "/" by default * Guzzle\Http\QueryString does no longer manages the leading "?". This is now handled in Guzzle\Http\Url. * BadResponseException no longer includes the full request and response message * Adding setData() to Guzzle\Service\Description\ServiceDescriptionInterface * Adding getResponseBody() to Guzzle\Http\Message\RequestInterface * Various updates to classes to use ServiceDescriptionInterface type hints rather than ServiceDescription * Header values can now be normalized into distinct values when multiple headers are combined with a comma separated list * xmlEncoding can now be customized for the XML declaration of a XML service description operation * Guzzle\Http\QueryString now uses Guzzle\Http\QueryAggregator\QueryAggregatorInterface objects to add custom value aggregation and no longer uses callbacks * The URL encoding implementation of Guzzle\Http\QueryString can now be customized * Bug fix: Filters were not always invoked for array service description parameters * Bug fix: Redirects now use a target response body rather than a temporary response body * Bug fix: The default exponential backoff BackoffPlugin was not giving when the request threshold was exceeded * Bug fix: Guzzle now takes the first found value when grabbing Cache-Control directives ## 3.1.2 - 2013-01-27 * Refactored how operation responses are parsed. Visitors now include a before() method responsible for parsing the response body. For example, the XmlVisitor now parses the XML response into an array in the before() method. * Fixed an issue where cURL would not automatically decompress responses when the Accept-Encoding header was sent * CURLOPT_SSL_VERIFYHOST is never set to 1 because it is deprecated (see 5e0ff2ef20f839e19d1eeb298f90ba3598784444) * Fixed a bug where redirect responses were not chained correctly using getPreviousResponse() * Setting default headers on a client after setting the user-agent will not erase the user-agent setting ## 3.1.1 - 2013-01-20 * Adding wildcard support to Guzzle\Common\Collection::getPath() * Adding alias support to ServiceBuilder configs * Adding Guzzle\Service\Resource\CompositeResourceIteratorFactory and cleaning up factory interface ## 3.1.0 - 2013-01-12 * BC: CurlException now extends from RequestException rather than BadResponseException * BC: Renamed Guzzle\Plugin\Cache\CanCacheStrategyInterface::canCache() to canCacheRequest() and added CanCacheResponse() * Added getData to ServiceDescriptionInterface * Added context array to RequestInterface::setState() * Bug: Removing hard dependency on the BackoffPlugin from Guzzle\Http * Bug: Adding required content-type when JSON request visitor adds JSON to a command * Bug: Fixing the serialization of a service description with custom data * Made it easier to deal with exceptions thrown when transferring commands or requests in parallel by providing an array of successful and failed responses * Moved getPath from Guzzle\Service\Resource\Model to Guzzle\Common\Collection * Added Guzzle\Http\IoEmittingEntityBody * Moved command filtration from validators to location visitors * Added `extends` attributes to service description parameters * Added getModels to ServiceDescriptionInterface ## 3.0.7 - 2012-12-19 * Fixing phar detection when forcing a cacert to system if null or true * Allowing filename to be passed to `Guzzle\Http\Message\Request::setResponseBody()` * Cleaning up `Guzzle\Common\Collection::inject` method * Adding a response_body location to service descriptions ## 3.0.6 - 2012-12-09 * CurlMulti performance improvements * Adding setErrorResponses() to Operation * composer.json tweaks ## 3.0.5 - 2012-11-18 * Bug: Fixing an infinite recursion bug caused from revalidating with the CachePlugin * Bug: Response body can now be a string containing "0" * Bug: Using Guzzle inside of a phar uses system by default but now allows for a custom cacert * Bug: QueryString::fromString now properly parses query string parameters that contain equal signs * Added support for XML attributes in service description responses * DefaultRequestSerializer now supports array URI parameter values for URI template expansion * Added better mimetype guessing to requests and post files ## 3.0.4 - 2012-11-11 * Bug: Fixed a bug when adding multiple cookies to a request to use the correct glue value * Bug: Cookies can now be added that have a name, domain, or value set to "0" * Bug: Using the system cacert bundle when using the Phar * Added json and xml methods to Response to make it easier to parse JSON and XML response data into data structures * Enhanced cookie jar de-duplication * Added the ability to enable strict cookie jars that throw exceptions when invalid cookies are added * Added setStream to StreamInterface to actually make it possible to implement custom rewind behavior for entity bodies * Added the ability to create any sort of hash for a stream rather than just an MD5 hash ## 3.0.3 - 2012-11-04 * Implementing redirects in PHP rather than cURL * Added PECL URI template extension and using as default parser if available * Bug: Fixed Content-Length parsing of Response factory * Adding rewind() method to entity bodies and streams. Allows for custom rewinding of non-repeatable streams. * Adding ToArrayInterface throughout library * Fixing OauthPlugin to create unique nonce values per request ## 3.0.2 - 2012-10-25 * Magic methods are enabled by default on clients * Magic methods return the result of a command * Service clients no longer require a base_url option in the factory * Bug: Fixed an issue with URI templates where null template variables were being expanded ## 3.0.1 - 2012-10-22 * Models can now be used like regular collection objects by calling filter, map, etc * Models no longer require a Parameter structure or initial data in the constructor * Added a custom AppendIterator to get around a PHP bug with the `\AppendIterator` ## 3.0.0 - 2012-10-15 * Rewrote service description format to be based on Swagger * Now based on JSON schema * Added nested input structures and nested response models * Support for JSON and XML input and output models * Renamed `commands` to `operations` * Removed dot class notation * Removed custom types * Broke the project into smaller top-level namespaces to be more component friendly * Removed support for XML configs and descriptions. Use arrays or JSON files. * Removed the Validation component and Inspector * Moved all cookie code to Guzzle\Plugin\Cookie * Magic methods on a Guzzle\Service\Client now return the command un-executed. * Calling getResult() or getResponse() on a command will lazily execute the command if needed. * Now shipping with cURL's CA certs and using it by default * Added previousResponse() method to response objects * No longer sending Accept and Accept-Encoding headers on every request * Only sending an Expect header by default when a payload is greater than 1MB * Added/moved client options: * curl.blacklist to curl.option.blacklist * Added ssl.certificate_authority * Added a Guzzle\Iterator component * Moved plugins from Guzzle\Http\Plugin to Guzzle\Plugin * Added a more robust backoff retry strategy (replaced the ExponentialBackoffPlugin) * Added a more robust caching plugin * Added setBody to response objects * Updating LogPlugin to use a more flexible MessageFormatter * Added a completely revamped build process * Cleaning up Collection class and removing default values from the get method * Fixed ZF2 cache adapters ## 2.8.8 - 2012-10-15 * Bug: Fixed a cookie issue that caused dot prefixed domains to not match where popular browsers did ## 2.8.7 - 2012-09-30 * Bug: Fixed config file aliases for JSON includes * Bug: Fixed cookie bug on a request object by using CookieParser to parse cookies on requests * Bug: Removing the path to a file when sending a Content-Disposition header on a POST upload * Bug: Hardening request and response parsing to account for missing parts * Bug: Fixed PEAR packaging * Bug: Fixed Request::getInfo * Bug: Fixed cases where CURLM_CALL_MULTI_PERFORM return codes were causing curl transactions to fail * Adding the ability for the namespace Iterator factory to look in multiple directories * Added more getters/setters/removers from service descriptions * Added the ability to remove POST fields from OAuth signatures * OAuth plugin now supports 2-legged OAuth ## 2.8.6 - 2012-09-05 * Added the ability to modify and build service descriptions * Added the use of visitors to apply parameters to locations in service descriptions using the dynamic command * Added a `json` parameter location * Now allowing dot notation for classes in the CacheAdapterFactory * Using the union of two arrays rather than an array_merge when extending service builder services and service params * Ensuring that a service is a string before doing strpos() checks on it when substituting services for references in service builder config files. * Services defined in two different config files that include one another will by default replace the previously defined service, but you can now create services that extend themselves and merge their settings over the previous * The JsonLoader now supports aliasing filenames with different filenames. This allows you to alias something like '_default' with a default JSON configuration file. ## 2.8.5 - 2012-08-29 * Bug: Suppressed empty arrays from URI templates * Bug: Added the missing $options argument from ServiceDescription::factory to enable caching * Added support for HTTP responses that do not contain a reason phrase in the start-line * AbstractCommand commands are now invokable * Added a way to get the data used when signing an Oauth request before a request is sent ## 2.8.4 - 2012-08-15 * Bug: Custom delay time calculations are no longer ignored in the ExponentialBackoffPlugin * Added the ability to transfer entity bodies as a string rather than streamed. This gets around curl error 65. Set `body_as_string` in a request's curl options to enable. * Added a StreamInterface, EntityBodyInterface, and added ftell() to Guzzle\Common\Stream * Added an AbstractEntityBodyDecorator and a ReadLimitEntityBody decorator to transfer only a subset of a decorated stream * Stream and EntityBody objects will now return the file position to the previous position after a read required operation (e.g. getContentMd5()) * Added additional response status codes * Removed SSL information from the default User-Agent header * DELETE requests can now send an entity body * Added an EventDispatcher to the ExponentialBackoffPlugin and added an ExponentialBackoffLogger to log backoff retries * Added the ability of the MockPlugin to consume mocked request bodies * LogPlugin now exposes request and response objects in the extras array ## 2.8.3 - 2012-07-30 * Bug: Fixed a case where empty POST requests were sent as GET requests * Bug: Fixed a bug in ExponentialBackoffPlugin that caused fatal errors when retrying an EntityEnclosingRequest that does not have a body * Bug: Setting the response body of a request to null after completing a request, not when setting the state of a request to new * Added multiple inheritance to service description commands * Added an ApiCommandInterface and added ``getParamNames()`` and ``hasParam()`` * Removed the default 2mb size cutoff from the Md5ValidatorPlugin so that it now defaults to validating everything * Changed CurlMulti::perform to pass a smaller timeout to CurlMulti::executeHandles ## 2.8.2 - 2012-07-24 * Bug: Query string values set to 0 are no longer dropped from the query string * Bug: A Collection object is no longer created each time a call is made to ``Guzzle\Service\Command\AbstractCommand::getRequestHeaders()`` * Bug: ``+`` is now treated as an encoded space when parsing query strings * QueryString and Collection performance improvements * Allowing dot notation for class paths in filters attribute of a service descriptions ## 2.8.1 - 2012-07-16 * Loosening Event Dispatcher dependency * POST redirects can now be customized using CURLOPT_POSTREDIR ## 2.8.0 - 2012-07-15 * BC: Guzzle\Http\Query * Query strings with empty variables will always show an equal sign unless the variable is set to QueryString::BLANK (e.g. ?acl= vs ?acl) * Changed isEncodingValues() and isEncodingFields() to isUrlEncoding() * Changed setEncodeValues(bool) and setEncodeFields(bool) to useUrlEncoding(bool) * Changed the aggregation functions of QueryString to be static methods * Can now use fromString() with querystrings that have a leading ? * cURL configuration values can be specified in service descriptions using ``curl.`` prefixed parameters * Content-Length is set to 0 before emitting the request.before_send event when sending an empty request body * Cookies are no longer URL decoded by default * Bug: URI template variables set to null are no longer expanded ## 2.7.2 - 2012-07-02 * BC: Moving things to get ready for subtree splits. Moving Inflection into Common. Moving Guzzle\Http\Parser to Guzzle\Parser. * BC: Removing Guzzle\Common\Batch\Batch::count() and replacing it with isEmpty() * CachePlugin now allows for a custom request parameter function to check if a request can be cached * Bug fix: CachePlugin now only caches GET and HEAD requests by default * Bug fix: Using header glue when transferring headers over the wire * Allowing deeply nested arrays for composite variables in URI templates * Batch divisors can now return iterators or arrays ## 2.7.1 - 2012-06-26 * Minor patch to update version number in UA string * Updating build process ## 2.7.0 - 2012-06-25 * BC: Inflection classes moved to Guzzle\Inflection. No longer static methods. Can now inject custom inflectors into classes. * BC: Removed magic setX methods from commands * BC: Magic methods mapped to service description commands are now inflected in the command factory rather than the client __call() method * Verbose cURL options are no longer enabled by default. Set curl.debug to true on a client to enable. * Bug: Now allowing colons in a response start-line (e.g. HTTP/1.1 503 Service Unavailable: Back-end server is at capacity) * Guzzle\Service\Resource\ResourceIteratorApplyBatched now internally uses the Guzzle\Common\Batch namespace * Added Guzzle\Service\Plugin namespace and a PluginCollectionPlugin * Added the ability to set POST fields and files in a service description * Guzzle\Http\EntityBody::factory() now accepts objects with a __toString() method * Adding a command.before_prepare event to clients * Added BatchClosureTransfer and BatchClosureDivisor * BatchTransferException now includes references to the batch divisor and transfer strategies * Fixed some tests so that they pass more reliably * Added Guzzle\Common\Log\ArrayLogAdapter ## 2.6.6 - 2012-06-10 * BC: Removing Guzzle\Http\Plugin\BatchQueuePlugin * BC: Removing Guzzle\Service\Command\CommandSet * Adding generic batching system (replaces the batch queue plugin and command set) * Updating ZF cache and log adapters and now using ZF's composer repository * Bug: Setting the name of each ApiParam when creating through an ApiCommand * Adding result_type, result_doc, deprecated, and doc_url to service descriptions * Bug: Changed the default cookie header casing back to 'Cookie' ## 2.6.5 - 2012-06-03 * BC: Renaming Guzzle\Http\Message\RequestInterface::getResourceUri() to getResource() * BC: Removing unused AUTH_BASIC and AUTH_DIGEST constants from * BC: Guzzle\Http\Cookie is now used to manage Set-Cookie data, not Cookie data * BC: Renaming methods in the CookieJarInterface * Moving almost all cookie logic out of the CookiePlugin and into the Cookie or CookieJar implementations * Making the default glue for HTTP headers ';' instead of ',' * Adding a removeValue to Guzzle\Http\Message\Header * Adding getCookies() to request interface. * Making it easier to add event subscribers to HasDispatcherInterface classes. Can now directly call addSubscriber() ## 2.6.4 - 2012-05-30 * BC: Cleaning up how POST files are stored in EntityEnclosingRequest objects. Adding PostFile class. * BC: Moving ApiCommand specific functionality from the Inspector and on to the ApiCommand * Bug: Fixing magic method command calls on clients * Bug: Email constraint only validates strings * Bug: Aggregate POST fields when POST files are present in curl handle * Bug: Fixing default User-Agent header * Bug: Only appending or prepending parameters in commands if they are specified * Bug: Not requiring response reason phrases or status codes to match a predefined list of codes * Allowing the use of dot notation for class namespaces when using instance_of constraint * Added any_match validation constraint * Added an AsyncPlugin * Passing request object to the calculateWait method of the ExponentialBackoffPlugin * Allowing the result of a command object to be changed * Parsing location and type sub values when instantiating a service description rather than over and over at runtime ## 2.6.3 - 2012-05-23 * [BC] Guzzle\Common\FromConfigInterface no longer requires any config options. * [BC] Refactoring how POST files are stored on an EntityEnclosingRequest. They are now separate from POST fields. * You can now use an array of data when creating PUT request bodies in the request factory. * Removing the requirement that HTTPS requests needed a Cache-Control: public directive to be cacheable. * [Http] Adding support for Content-Type in multipart POST uploads per upload * [Http] Added support for uploading multiple files using the same name (foo[0], foo[1]) * Adding more POST data operations for easier manipulation of POST data. * You can now set empty POST fields. * The body of a request is only shown on EntityEnclosingRequest objects that do not use POST files. * Split the Guzzle\Service\Inspector::validateConfig method into two methods. One to initialize when a command is created, and one to validate. * CS updates ## 2.6.2 - 2012-05-19 * [Http] Better handling of nested scope requests in CurlMulti. Requests are now always prepares in the send() method rather than the addRequest() method. ## 2.6.1 - 2012-05-19 * [BC] Removing 'path' support in service descriptions. Use 'uri'. * [BC] Guzzle\Service\Inspector::parseDocBlock is now protected. Adding getApiParamsForClass() with cache. * [BC] Removing Guzzle\Common\NullObject. Use https://github.com/mtdowling/NullObject if you need it. * [BC] Removing Guzzle\Common\XmlElement. * All commands, both dynamic and concrete, have ApiCommand objects. * Adding a fix for CurlMulti so that if all of the connections encounter some sort of curl error, then the loop exits. * Adding checks to EntityEnclosingRequest so that empty POST files and fields are ignored. * Making the method signature of Guzzle\Service\Builder\ServiceBuilder::factory more flexible. ## 2.6.0 - 2012-05-15 * [BC] Moving Guzzle\Service\Builder to Guzzle\Service\Builder\ServiceBuilder * [BC] Executing a Command returns the result of the command rather than the command * [BC] Moving all HTTP parsing logic to Guzzle\Http\Parsers. Allows for faster C implementations if needed. * [BC] Changing the Guzzle\Http\Message\Response::setProtocol() method to accept a protocol and version in separate args. * [BC] Moving ResourceIterator* to Guzzle\Service\Resource * [BC] Completely refactored ResourceIterators to iterate over a cloned command object * [BC] Moved Guzzle\Http\UriTemplate to Guzzle\Http\Parser\UriTemplate\UriTemplate * [BC] Guzzle\Guzzle is now deprecated * Moving Guzzle\Common\Guzzle::inject to Guzzle\Common\Collection::inject * Adding Guzzle\Version class to give version information about Guzzle * Adding Guzzle\Http\Utils class to provide getDefaultUserAgent() and getHttpDate() * Adding Guzzle\Curl\CurlVersion to manage caching curl_version() data * ServiceDescription and ServiceBuilder are now cacheable using similar configs * Changing the format of XML and JSON service builder configs. Backwards compatible. * Cleaned up Cookie parsing * Trimming the default Guzzle User-Agent header * Adding a setOnComplete() method to Commands that is called when a command completes * Keeping track of requests that were mocked in the MockPlugin * Fixed a caching bug in the CacheAdapterFactory * Inspector objects can be injected into a Command object * Refactoring a lot of code and tests to be case insensitive when dealing with headers * Adding Guzzle\Http\Message\HeaderComparison for easy comparison of HTTP headers using a DSL * Adding the ability to set global option overrides to service builder configs * Adding the ability to include other service builder config files from within XML and JSON files * Moving the parseQuery method out of Url and on to QueryString::fromString() as a static factory method. ## 2.5.0 - 2012-05-08 * Major performance improvements * [BC] Simplifying Guzzle\Common\Collection. Please check to see if you are using features that are now deprecated. * [BC] Using a custom validation system that allows a flyweight implementation for much faster validation. No longer using Symfony2 Validation component. * [BC] No longer supporting "{{ }}" for injecting into command or UriTemplates. Use "{}" * Added the ability to passed parameters to all requests created by a client * Added callback functionality to the ExponentialBackoffPlugin * Using microtime in ExponentialBackoffPlugin to allow more granular backoff strategies. * Rewinding request stream bodies when retrying requests * Exception is thrown when JSON response body cannot be decoded * Added configurable magic method calls to clients and commands. This is off by default. * Fixed a defect that added a hash to every parsed URL part * Fixed duplicate none generation for OauthPlugin. * Emitting an event each time a client is generated by a ServiceBuilder * Using an ApiParams object instead of a Collection for parameters of an ApiCommand * cache.* request parameters should be renamed to params.cache.* * Added the ability to set arbitrary curl options on requests (disable_wire, progress, etc). See CurlHandle. * Added the ability to disable type validation of service descriptions * ServiceDescriptions and ServiceBuilders are now Serializable vendor/guzzle/guzzle/composer.json000064400000004701147400355670013440 0ustar00{ "name": "guzzle/guzzle", "type": "library", "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", "keywords": ["framework", "http", "rest", "web service", "curl", "client", "HTTP client"], "homepage": "http://guzzlephp.org/", "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" }, { "name": "Guzzle Community", "homepage": "https://github.com/guzzle/guzzle/contributors" } ], "replace": { "guzzle/batch": "self.version", "guzzle/cache": "self.version", "guzzle/common": "self.version", "guzzle/http": "self.version", "guzzle/inflection": "self.version", "guzzle/iterator": "self.version", "guzzle/log": "self.version", "guzzle/parser": "self.version", "guzzle/plugin": "self.version", "guzzle/plugin-async": "self.version", "guzzle/plugin-backoff": "self.version", "guzzle/plugin-cache": "self.version", "guzzle/plugin-cookie": "self.version", "guzzle/plugin-curlauth": "self.version", "guzzle/plugin-error-response": "self.version", "guzzle/plugin-history": "self.version", "guzzle/plugin-log": "self.version", "guzzle/plugin-md5": "self.version", "guzzle/plugin-mock": "self.version", "guzzle/plugin-oauth": "self.version", "guzzle/service": "self.version", "guzzle/stream": "self.version" }, "require": { "php": ">=5.3.3", "ext-curl": "*", "symfony/event-dispatcher": "~2.1" }, "autoload": { "psr-0": { "Guzzle": "src/", "Guzzle\\Tests": "tests/" } }, "suggest": { "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." }, "scripts": { "test": "phpunit" }, "require-dev": { "doctrine/cache": "~1.3", "symfony/class-loader": "~2.1", "monolog/monolog": "~1.0", "psr/log": "~1.0", "zendframework/zend-cache": "2.*,<2.3", "zendframework/zend-log": "2.*,<2.3", "phpunit/phpunit": "3.7.*" }, "extra": { "branch-alias": { "dev-master": "3.9-dev" } } } vendor/guzzle/guzzle/UPGRADING.md000064400000052026147400355670012563 0ustar00Guzzle Upgrade Guide ==================== 3.6 to 3.7 ---------- ### Deprecations - You can now enable E_USER_DEPRECATED warnings to see if you are using any deprecated methods.: ```php \Guzzle\Common\Version::$emitWarnings = true; ``` The following APIs and options have been marked as deprecated: - Marked `Guzzle\Http\Message\Request::isResponseBodyRepeatable()` as deprecated. Use `$request->getResponseBody()->isRepeatable()` instead. - Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. - Marked `Guzzle\Http\Message\Request::canCache()` as deprecated. Use `Guzzle\Plugin\Cache\DefaultCanCacheStrategy->canCacheRequest()` instead. - Marked `Guzzle\Http\Message\Request::setIsRedirect()` as deprecated. Use the HistoryPlugin instead. - Marked `Guzzle\Http\Message\Request::isRedirect()` as deprecated. Use the HistoryPlugin instead. - Marked `Guzzle\Cache\CacheAdapterFactory::factory()` as deprecated - Marked `Guzzle\Service\Client::enableMagicMethods()` as deprecated. Magic methods can no longer be disabled on a Guzzle\Service\Client. - Marked `Guzzle\Parser\Url\UrlParser` as deprecated. Just use PHP's `parse_url()` and percent encode your UTF-8. - Marked `Guzzle\Common\Collection::inject()` as deprecated. - Marked `Guzzle\Plugin\CurlAuth\CurlAuthPlugin` as deprecated. Use `$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest|NTLM|Any'));` or `$client->setDefaultOption('auth', array('user', 'pass', 'Basic|Digest|NTLM|Any'));` 3.7 introduces `request.options` as a parameter for a client configuration and as an optional argument to all creational request methods. When paired with a client's configuration settings, these options allow you to specify default settings for various aspects of a request. Because these options make other previous configuration options redundant, several configuration options and methods of a client and AbstractCommand have been deprecated. - Marked `Guzzle\Service\Client::getDefaultHeaders()` as deprecated. Use `$client->getDefaultOption('headers')`. - Marked `Guzzle\Service\Client::setDefaultHeaders()` as deprecated. Use `$client->setDefaultOption('headers/{header_name}', 'value')`. - Marked 'request.params' for `Guzzle\Http\Client` as deprecated. Use `$client->setDefaultOption('params/{param_name}', 'value')` - Marked 'command.headers', 'command.response_body' and 'command.on_complete' as deprecated for AbstractCommand. These will work through Guzzle 4.0 $command = $client->getCommand('foo', array( 'command.headers' => array('Test' => '123'), 'command.response_body' => '/path/to/file' )); // Should be changed to: $command = $client->getCommand('foo', array( 'command.request_options' => array( 'headers' => array('Test' => '123'), 'save_as' => '/path/to/file' ) )); ### Interface changes Additions and changes (you will need to update any implementations or subclasses you may have created): - Added an `$options` argument to the end of the following methods of `Guzzle\Http\ClientInterface`: createRequest, head, delete, put, patch, post, options, prepareRequest - Added an `$options` argument to the end of `Guzzle\Http\Message\Request\RequestFactoryInterface::createRequest()` - Added an `applyOptions()` method to `Guzzle\Http\Message\Request\RequestFactoryInterface` - Changed `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $body = null)` to `Guzzle\Http\ClientInterface::get($uri = null, $headers = null, $options = array())`. You can still pass in a resource, string, or EntityBody into the $options parameter to specify the download location of the response. - Changed `Guzzle\Common\Collection::__construct($data)` to no longer accepts a null value for `$data` but a default `array()` - Added `Guzzle\Stream\StreamInterface::isRepeatable` - Made `Guzzle\Http\Client::expandTemplate` and `getUriTemplate` protected methods. The following methods were removed from interfaces. All of these methods are still available in the concrete classes that implement them, but you should update your code to use alternative methods: - Removed `Guzzle\Http\ClientInterface::setDefaultHeaders(). Use `$client->getConfig()->setPath('request.options/headers/{header_name}', 'value')`. or `$client->getConfig()->setPath('request.options/headers', array('header_name' => 'value'))` or `$client->setDefaultOption('headers/{header_name}', 'value')`. or `$client->setDefaultOption('headers', array('header_name' => 'value'))`. - Removed `Guzzle\Http\ClientInterface::getDefaultHeaders(). Use `$client->getConfig()->getPath('request.options/headers')`. - Removed `Guzzle\Http\ClientInterface::expandTemplate()`. This is an implementation detail. - Removed `Guzzle\Http\ClientInterface::setRequestFactory()`. This is an implementation detail. - Removed `Guzzle\Http\ClientInterface::getCurlMulti()`. This is a very specific implementation detail. - Removed `Guzzle\Http\Message\RequestInterface::canCache`. Use the CachePlugin. - Removed `Guzzle\Http\Message\RequestInterface::setIsRedirect`. Use the HistoryPlugin. - Removed `Guzzle\Http\Message\RequestInterface::isRedirect`. Use the HistoryPlugin. ### Cache plugin breaking changes - CacheKeyProviderInterface and DefaultCacheKeyProvider are no longer used. All of this logic is handled in a CacheStorageInterface. These two objects and interface will be removed in a future version. - Always setting X-cache headers on cached responses - Default cache TTLs are now handled by the CacheStorageInterface of a CachePlugin - `CacheStorageInterface::cache($key, Response $response, $ttl = null)` has changed to `cache(RequestInterface $request, Response $response);` - `CacheStorageInterface::fetch($key)` has changed to `fetch(RequestInterface $request);` - `CacheStorageInterface::delete($key)` has changed to `delete(RequestInterface $request);` - Added `CacheStorageInterface::purge($url)` - `DefaultRevalidation::__construct(CacheKeyProviderInterface $cacheKey, CacheStorageInterface $cache, CachePlugin $plugin)` has changed to `DefaultRevalidation::__construct(CacheStorageInterface $cache, CanCacheStrategyInterface $canCache = null)` - Added `RevalidationInterface::shouldRevalidate(RequestInterface $request, Response $response)` 3.5 to 3.6 ---------- * Mixed casing of headers are now forced to be a single consistent casing across all values for that header. * Messages internally use a HeaderCollection object to delegate handling case-insensitive header resolution * Removed the whole changedHeader() function system of messages because all header changes now go through addHeader(). For example, setHeader() first removes the header using unset on a HeaderCollection and then calls addHeader(). Keeping the Host header and URL host in sync is now handled by overriding the addHeader method in Request. * Specific header implementations can be created for complex headers. When a message creates a header, it uses a HeaderFactory which can map specific headers to specific header classes. There is now a Link header and CacheControl header implementation. * Moved getLinks() from Response to just be used on a Link header object. If you previously relied on Guzzle\Http\Message\Header::raw(), then you will need to update your code to use the HeaderInterface (e.g. toArray(), getAll(), etc). ### Interface changes * Removed from interface: Guzzle\Http\ClientInterface::setUriTemplate * Removed from interface: Guzzle\Http\ClientInterface::setCurlMulti() * Removed Guzzle\Http\Message\Request::receivedRequestHeader() and implemented this functionality in Guzzle\Http\Curl\RequestMediator * Removed the optional $asString parameter from MessageInterface::getHeader(). Just cast the header to a string. * Removed the optional $tryChunkedTransfer option from Guzzle\Http\Message\EntityEnclosingRequestInterface * Removed the $asObjects argument from Guzzle\Http\Message\MessageInterface::getHeaders() ### Removed deprecated functions * Removed Guzzle\Parser\ParserRegister::get(). Use getParser() * Removed Guzzle\Parser\ParserRegister::set(). Use registerParser(). ### Deprecations * The ability to case-insensitively search for header values * Guzzle\Http\Message\Header::hasExactHeader * Guzzle\Http\Message\Header::raw. Use getAll() * Deprecated cache control specific methods on Guzzle\Http\Message\AbstractMessage. Use the CacheControl header object instead. ### Other changes * All response header helper functions return a string rather than mixing Header objects and strings inconsistently * Removed cURL blacklist support. This is no longer necessary now that Expect, Accept, etc are managed by Guzzle directly via interfaces * Removed the injecting of a request object onto a response object. The methods to get and set a request still exist but are a no-op until removed. * Most classes that used to require a ``Guzzle\Service\Command\CommandInterface` typehint now request a `Guzzle\Service\Command\ArrayCommandInterface`. * Added `Guzzle\Http\Message\RequestInterface::startResponse()` to the RequestInterface to handle injecting a response on a request while the request is still being transferred * `Guzzle\Service\Command\CommandInterface` now extends from ToArrayInterface and ArrayAccess 3.3 to 3.4 ---------- Base URLs of a client now follow the rules of http://tools.ietf.org/html/rfc3986#section-5.2.2 when merging URLs. 3.2 to 3.3 ---------- ### Response::getEtag() quote stripping removed `Guzzle\Http\Message\Response::getEtag()` no longer strips quotes around the ETag response header ### Removed `Guzzle\Http\Utils` The `Guzzle\Http\Utils` class was removed. This class was only used for testing. ### Stream wrapper and type `Guzzle\Stream\Stream::getWrapper()` and `Guzzle\Stream\Stream::getSteamType()` are no longer converted to lowercase. ### curl.emit_io became emit_io Emitting IO events from a RequestMediator is now a parameter that must be set in a request's curl options using the 'emit_io' key. This was previously set under a request's parameters using 'curl.emit_io' 3.1 to 3.2 ---------- ### CurlMulti is no longer reused globally Before 3.2, the same CurlMulti object was reused globally for each client. This can cause issue where plugins added to a single client can pollute requests dispatched from other clients. If you still wish to reuse the same CurlMulti object with each client, then you can add a listener to the ServiceBuilder's `service_builder.create_client` event to inject a custom CurlMulti object into each client as it is created. ```php $multi = new Guzzle\Http\Curl\CurlMulti(); $builder = Guzzle\Service\Builder\ServiceBuilder::factory('/path/to/config.json'); $builder->addListener('service_builder.create_client', function ($event) use ($multi) { $event['client']->setCurlMulti($multi); } }); ``` ### No default path URLs no longer have a default path value of '/' if no path was specified. Before: ```php $request = $client->get('http://www.foo.com'); echo $request->getUrl(); // >> http://www.foo.com/ ``` After: ```php $request = $client->get('http://www.foo.com'); echo $request->getUrl(); // >> http://www.foo.com ``` ### Less verbose BadResponseException The exception message for `Guzzle\Http\Exception\BadResponseException` no longer contains the full HTTP request and response information. You can, however, get access to the request and response object by calling `getRequest()` or `getResponse()` on the exception object. ### Query parameter aggregation Multi-valued query parameters are no longer aggregated using a callback function. `Guzzle\Http\Query` now has a setAggregator() method that accepts a `Guzzle\Http\QueryAggregator\QueryAggregatorInterface` object. This object is responsible for handling the aggregation of multi-valued query string variables into a flattened hash. 2.8 to 3.x ---------- ### Guzzle\Service\Inspector Change `\Guzzle\Service\Inspector::fromConfig` to `\Guzzle\Common\Collection::fromConfig` **Before** ```php use Guzzle\Service\Inspector; class YourClient extends \Guzzle\Service\Client { public static function factory($config = array()) { $default = array(); $required = array('base_url', 'username', 'api_key'); $config = Inspector::fromConfig($config, $default, $required); $client = new self( $config->get('base_url'), $config->get('username'), $config->get('api_key') ); $client->setConfig($config); $client->setDescription(ServiceDescription::factory(__DIR__ . DIRECTORY_SEPARATOR . 'client.json')); return $client; } ``` **After** ```php use Guzzle\Common\Collection; class YourClient extends \Guzzle\Service\Client { public static function factory($config = array()) { $default = array(); $required = array('base_url', 'username', 'api_key'); $config = Collection::fromConfig($config, $default, $required); $client = new self( $config->get('base_url'), $config->get('username'), $config->get('api_key') ); $client->setConfig($config); $client->setDescription(ServiceDescription::factory(__DIR__ . DIRECTORY_SEPARATOR . 'client.json')); return $client; } ``` ### Convert XML Service Descriptions to JSON **Before** ```xml Get a list of groups Uses a search query to get a list of groups Create a group Delete a group by ID Update a group ``` **After** ```json { "name": "Zendesk REST API v2", "apiVersion": "2012-12-31", "description":"Provides access to Zendesk views, groups, tickets, ticket fields, and users", "operations": { "list_groups": { "httpMethod":"GET", "uri": "groups.json", "summary": "Get a list of groups" }, "search_groups":{ "httpMethod":"GET", "uri": "search.json?query=\"{query} type:group\"", "summary": "Uses a search query to get a list of groups", "parameters":{ "query":{ "location": "uri", "description":"Zendesk Search Query", "type": "string", "required": true } } }, "create_group": { "httpMethod":"POST", "uri": "groups.json", "summary": "Create a group", "parameters":{ "data": { "type": "array", "location": "body", "description":"Group JSON", "filters": "json_encode", "required": true }, "Content-Type":{ "type": "string", "location":"header", "static": "application/json" } } }, "delete_group": { "httpMethod":"DELETE", "uri": "groups/{id}.json", "summary": "Delete a group", "parameters":{ "id":{ "location": "uri", "description":"Group to delete by ID", "type": "integer", "required": true } } }, "get_group": { "httpMethod":"GET", "uri": "groups/{id}.json", "summary": "Get a ticket", "parameters":{ "id":{ "location": "uri", "description":"Group to get by ID", "type": "integer", "required": true } } }, "update_group": { "httpMethod":"PUT", "uri": "groups/{id}.json", "summary": "Update a group", "parameters":{ "id": { "location": "uri", "description":"Group to update by ID", "type": "integer", "required": true }, "data": { "type": "array", "location": "body", "description":"Group JSON", "filters": "json_encode", "required": true }, "Content-Type":{ "type": "string", "location":"header", "static": "application/json" } } } } ``` ### Guzzle\Service\Description\ServiceDescription Commands are now called Operations **Before** ```php use Guzzle\Service\Description\ServiceDescription; $sd = new ServiceDescription(); $sd->getCommands(); // @returns ApiCommandInterface[] $sd->hasCommand($name); $sd->getCommand($name); // @returns ApiCommandInterface|null $sd->addCommand($command); // @param ApiCommandInterface $command ``` **After** ```php use Guzzle\Service\Description\ServiceDescription; $sd = new ServiceDescription(); $sd->getOperations(); // @returns OperationInterface[] $sd->hasOperation($name); $sd->getOperation($name); // @returns OperationInterface|null $sd->addOperation($operation); // @param OperationInterface $operation ``` ### Guzzle\Common\Inflection\Inflector Namespace is now `Guzzle\Inflection\Inflector` ### Guzzle\Http\Plugin Namespace is now `Guzzle\Plugin`. Many other changes occur within this namespace and are detailed in their own sections below. ### Guzzle\Http\Plugin\LogPlugin and Guzzle\Common\Log Now `Guzzle\Plugin\Log\LogPlugin` and `Guzzle\Log` respectively. **Before** ```php use Guzzle\Common\Log\ClosureLogAdapter; use Guzzle\Http\Plugin\LogPlugin; /** @var \Guzzle\Http\Client */ $client; // $verbosity is an integer indicating desired message verbosity level $client->addSubscriber(new LogPlugin(new ClosureLogAdapter(function($m) { echo $m; }, $verbosity = LogPlugin::LOG_VERBOSE); ``` **After** ```php use Guzzle\Log\ClosureLogAdapter; use Guzzle\Log\MessageFormatter; use Guzzle\Plugin\Log\LogPlugin; /** @var \Guzzle\Http\Client */ $client; // $format is a string indicating desired message format -- @see MessageFormatter $client->addSubscriber(new LogPlugin(new ClosureLogAdapter(function($m) { echo $m; }, $format = MessageFormatter::DEBUG_FORMAT); ``` ### Guzzle\Http\Plugin\CurlAuthPlugin Now `Guzzle\Plugin\CurlAuth\CurlAuthPlugin`. ### Guzzle\Http\Plugin\ExponentialBackoffPlugin Now `Guzzle\Plugin\Backoff\BackoffPlugin`, and other changes. **Before** ```php use Guzzle\Http\Plugin\ExponentialBackoffPlugin; $backoffPlugin = new ExponentialBackoffPlugin($maxRetries, array_merge( ExponentialBackoffPlugin::getDefaultFailureCodes(), array(429) )); $client->addSubscriber($backoffPlugin); ``` **After** ```php use Guzzle\Plugin\Backoff\BackoffPlugin; use Guzzle\Plugin\Backoff\HttpBackoffStrategy; // Use convenient factory method instead -- see implementation for ideas of what // you can do with chaining backoff strategies $backoffPlugin = BackoffPlugin::getExponentialBackoff($maxRetries, array_merge( HttpBackoffStrategy::getDefaultFailureCodes(), array(429) )); $client->addSubscriber($backoffPlugin); ``` ### Known Issues #### [BUG] Accept-Encoding header behavior changed unintentionally. (See #217) (Fixed in 09daeb8c666fb44499a0646d655a8ae36456575e) In version 2.8 setting the `Accept-Encoding` header would set the CURLOPT_ENCODING option, which permitted cURL to properly handle gzip/deflate compressed responses from the server. In versions affected by this bug this does not happen. See issue #217 for a workaround, or use a version containing the fix. vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/composer.json000064400000001262147400355670020473 0ustar00{ "name": "guzzle/plugin-curlauth", "description": "Guzzle cURL authorization plugin", "homepage": "http://guzzlephp.org/", "keywords": ["plugin", "curl", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/http": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin\\CurlAuth": "" } }, "target-dir": "Guzzle/Plugin/CurlAuth", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/CurlAuth/CurlAuthPlugin.php000064400000002554147400355670021375 0ustar00getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest'); */ class CurlAuthPlugin implements EventSubscriberInterface { private $username; private $password; private $scheme; /** * @param string $username HTTP basic auth username * @param string $password Password * @param int $scheme Curl auth scheme */ public function __construct($username, $password, $scheme=CURLAUTH_BASIC) { Version::warn(__CLASS__ . " is deprecated. Use \$client->getConfig()->setPath('request.options/auth', array('user', 'pass', 'Basic|Digest');"); $this->username = $username; $this->password = $password; $this->scheme = $scheme; } public static function getSubscribedEvents() { return array('client.create_request' => array('onRequestCreate', 255)); } /** * Add basic auth * * @param Event $event */ public function onRequestCreate(Event $event) { $event['request']->setAuth($this->username, $this->password, $this->scheme); } } vendor/guzzle/guzzle/src/Guzzle/Plugin/composer.json000064400000002524147400355670016746 0ustar00{ "name": "guzzle/plugin", "description": "Guzzle plugin component containing all Guzzle HTTP plugins", "homepage": "http://guzzlephp.org/", "keywords": ["http", "client", "plugin", "extension", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/http": "self.version" }, "suggest": { "guzzle/cache": "self.version", "guzzle/log": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin": "" } }, "target-dir": "Guzzle/Plugin", "replace": { "guzzle/plugin-async": "self.version", "guzzle/plugin-backoff": "self.version", "guzzle/plugin-cache": "self.version", "guzzle/plugin-cookie": "self.version", "guzzle/plugin-curlauth": "self.version", "guzzle/plugin-error-response": "self.version", "guzzle/plugin-history": "self.version", "guzzle/plugin-log": "self.version", "guzzle/plugin-md5": "self.version", "guzzle/plugin-mock": "self.version", "guzzle/plugin-oauth": "self.version" }, "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CallbackCanCacheStrategy.php000064400000003203147400355670022520 0ustar00requestCallback = $requestCallback; $this->responseCallback = $responseCallback; } public function canCacheRequest(RequestInterface $request) { return $this->requestCallback ? call_user_func($this->requestCallback, $request) : parent::canCacheRequest($request); } public function canCacheResponse(Response $response) { return $this->responseCallback ? call_user_func($this->responseCallback, $response) : parent::canCacheResponse($response); } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/composer.json000064400000001301147400355670017741 0ustar00{ "name": "guzzle/plugin-cache", "description": "Guzzle HTTP cache plugin", "homepage": "http://guzzlephp.org/", "keywords": ["plugin", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/http": "self.version", "guzzle/cache": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin\\Cache": "" } }, "target-dir": "Guzzle/Plugin/Cache", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/CanCacheStrategyInterface.php000064400000001211147400355670022721 0ustar00cache = CacheAdapterFactory::fromCache($cache); $this->defaultTtl = $defaultTtl; $this->keyPrefix = $keyPrefix; } public function cache(RequestInterface $request, Response $response) { $currentTime = time(); $overrideTtl = $request->getParams()->get('cache.override_ttl'); if ($overrideTtl) { $ttl = $overrideTtl; } else { $maxAge = $response->getMaxAge(); if ($maxAge !== null) { $ttl = $maxAge; } else { $ttl = $this->defaultTtl; } } if ($cacheControl = $response->getHeader('Cache-Control')) { $stale = $cacheControl->getDirective('stale-if-error'); if ($stale === true) { $ttl += $ttl; } else if (is_numeric($stale)) { $ttl += $stale; } } // Determine which manifest key should be used $key = $this->getCacheKey($request); $persistedRequest = $this->persistHeaders($request); $entries = array(); if ($manifest = $this->cache->fetch($key)) { // Determine which cache entries should still be in the cache $vary = $response->getVary(); foreach (unserialize($manifest) as $entry) { // Check if the entry is expired if ($entry[4] < $currentTime) { continue; } $entry[1]['vary'] = isset($entry[1]['vary']) ? $entry[1]['vary'] : ''; if ($vary != $entry[1]['vary'] || !$this->requestsMatch($vary, $entry[0], $persistedRequest)) { $entries[] = $entry; } } } // Persist the response body if needed $bodyDigest = null; if ($response->getBody() && $response->getBody()->getContentLength() > 0) { $bodyDigest = $this->getBodyKey($request->getUrl(), $response->getBody()); $this->cache->save($bodyDigest, (string) $response->getBody(), $ttl); } array_unshift($entries, array( $persistedRequest, $this->persistHeaders($response), $response->getStatusCode(), $bodyDigest, $currentTime + $ttl )); $this->cache->save($key, serialize($entries)); } public function delete(RequestInterface $request) { $key = $this->getCacheKey($request); if ($entries = $this->cache->fetch($key)) { // Delete each cached body foreach (unserialize($entries) as $entry) { if ($entry[3]) { $this->cache->delete($entry[3]); } } $this->cache->delete($key); } } public function purge($url) { foreach (array('GET', 'HEAD', 'POST', 'PUT', 'DELETE') as $method) { $this->delete(new Request($method, $url)); } } public function fetch(RequestInterface $request) { $key = $this->getCacheKey($request); if (!($entries = $this->cache->fetch($key))) { return null; } $match = null; $headers = $this->persistHeaders($request); $entries = unserialize($entries); foreach ($entries as $index => $entry) { if ($this->requestsMatch(isset($entry[1]['vary']) ? $entry[1]['vary'] : '', $headers, $entry[0])) { $match = $entry; break; } } if (!$match) { return null; } // Ensure that the response is not expired $response = null; if ($match[4] < time()) { $response = -1; } else { $response = new Response($match[2], $match[1]); if ($match[3]) { if ($body = $this->cache->fetch($match[3])) { $response->setBody($body); } else { // The response is not valid because the body was somehow deleted $response = -1; } } } if ($response === -1) { // Remove the entry from the metadata and update the cache unset($entries[$index]); if ($entries) { $this->cache->save($key, serialize($entries)); } else { $this->cache->delete($key); } return null; } return $response; } /** * Hash a request URL into a string that returns cache metadata * * @param RequestInterface $request * * @return string */ protected function getCacheKey(RequestInterface $request) { // Allow cache.key_filter to trim down the URL cache key by removing generate query string values (e.g. auth) if ($filter = $request->getParams()->get('cache.key_filter')) { $url = $request->getUrl(true); foreach (explode(',', $filter) as $remove) { $url->getQuery()->remove(trim($remove)); } } else { $url = $request->getUrl(); } return $this->keyPrefix . md5($request->getMethod() . ' ' . $url); } /** * Create a cache key for a response's body * * @param string $url URL of the entry * @param EntityBodyInterface $body Response body * * @return string */ protected function getBodyKey($url, EntityBodyInterface $body) { return $this->keyPrefix . md5($url) . $body->getContentMd5(); } /** * Determines whether two Request HTTP header sets are non-varying * * @param string $vary Response vary header * @param array $r1 HTTP header array * @param array $r2 HTTP header array * * @return bool */ private function requestsMatch($vary, $r1, $r2) { if ($vary) { foreach (explode(',', $vary) as $header) { $key = trim(strtolower($header)); $v1 = isset($r1[$key]) ? $r1[$key] : null; $v2 = isset($r2[$key]) ? $r2[$key] : null; if ($v1 !== $v2) { return false; } } } return true; } /** * Creates an array of cacheable and normalized message headers * * @param MessageInterface $message * * @return array */ private function persistHeaders(MessageInterface $message) { // Headers are excluded from the caching (see RFC 2616:13.5.1) static $noCache = array( 'age' => true, 'connection' => true, 'keep-alive' => true, 'proxy-authenticate' => true, 'proxy-authorization' => true, 'te' => true, 'trailers' => true, 'transfer-encoding' => true, 'upgrade' => true, 'set-cookie' => true, 'set-cookie2' => true ); // Clone the response to not destroy any necessary headers when caching $headers = $message->getHeaders()->getAll(); $headers = array_diff_key($headers, $noCache); // Cast the headers to a string $headers = array_map(function ($h) { return (string) $h; }, $headers); return $headers; } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/SkipRevalidation.php000064400000000626147400355670021211 0ustar00getParams()->get(self::CACHE_KEY); if (!$key) { $cloned = clone $request; $cloned->removeHeader('Cache-Control'); // Check to see how and if the key should be filtered foreach (explode(';', $request->getParams()->get(self::CACHE_KEY_FILTER)) as $part) { $pieces = array_map('trim', explode('=', $part)); if (isset($pieces[1])) { foreach (array_map('trim', explode(',', $pieces[1])) as $remove) { if ($pieces[0] == 'header') { $cloned->removeHeader($remove); } elseif ($pieces[0] == 'query') { $cloned->getQuery()->remove($remove); } } } } $raw = (string) $cloned; $key = 'GZ' . md5($raw); $request->getParams()->set(self::CACHE_KEY, $key)->set(self::CACHE_KEY_RAW, $raw); } return $key; } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultCanCacheStrategy.php000064400000001614147400355670022414 0ustar00getMethod() != RequestInterface::GET && $request->getMethod() != RequestInterface::HEAD) { return false; } // Never cache requests when using no-store if ($request->hasHeader('Cache-Control') && $request->getHeader('Cache-Control')->hasDirective('no-store')) { return false; } return true; } public function canCacheResponse(Response $response) { return $response->isSuccessful() && $response->canCache(); } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/DefaultRevalidation.php000064400000014321147400355670021664 0ustar00storage = $cache; $this->canCache = $canCache ?: new DefaultCanCacheStrategy(); } public function revalidate(RequestInterface $request, Response $response) { try { $revalidate = $this->createRevalidationRequest($request, $response); $validateResponse = $revalidate->send(); if ($validateResponse->getStatusCode() == 200) { return $this->handle200Response($request, $validateResponse); } elseif ($validateResponse->getStatusCode() == 304) { return $this->handle304Response($request, $validateResponse, $response); } } catch (BadResponseException $e) { $this->handleBadResponse($e); } // Other exceptions encountered in the revalidation request are ignored // in hopes that sending a request to the origin server will fix it return false; } public function shouldRevalidate(RequestInterface $request, Response $response) { if ($request->getMethod() != RequestInterface::GET) { return false; } $reqCache = $request->getHeader('Cache-Control'); $resCache = $response->getHeader('Cache-Control'); $revalidate = $request->getHeader('Pragma') == 'no-cache' || ($reqCache && ($reqCache->hasDirective('no-cache') || $reqCache->hasDirective('must-revalidate'))) || ($resCache && ($resCache->hasDirective('no-cache') || $resCache->hasDirective('must-revalidate'))); // Use the strong ETag validator if available and the response contains no Cache-Control directive if (!$revalidate && !$resCache && $response->hasHeader('ETag')) { $revalidate = true; } return $revalidate; } /** * Handles a bad response when attempting to revalidate * * @param BadResponseException $e Exception encountered * * @throws BadResponseException */ protected function handleBadResponse(BadResponseException $e) { // 404 errors mean the resource no longer exists, so remove from // cache, and prevent an additional request by throwing the exception if ($e->getResponse()->getStatusCode() == 404) { $this->storage->delete($e->getRequest()); throw $e; } } /** * Creates a request to use for revalidation * * @param RequestInterface $request Request * @param Response $response Response to revalidate * * @return RequestInterface returns a revalidation request */ protected function createRevalidationRequest(RequestInterface $request, Response $response) { $revalidate = clone $request; $revalidate->removeHeader('Pragma')->removeHeader('Cache-Control'); if ($response->getLastModified()) { $revalidate->setHeader('If-Modified-Since', $response->getLastModified()); } if ($response->getEtag()) { $revalidate->setHeader('If-None-Match', $response->getEtag()); } // Remove any cache plugins that might be on the request to prevent infinite recursive revalidations $dispatcher = $revalidate->getEventDispatcher(); foreach ($dispatcher->getListeners() as $eventName => $listeners) { foreach ($listeners as $listener) { if (is_array($listener) && $listener[0] instanceof CachePlugin) { $dispatcher->removeListener($eventName, $listener); } } } return $revalidate; } /** * Handles a 200 response response from revalidating. The server does not support validation, so use this response. * * @param RequestInterface $request Request that was sent * @param Response $validateResponse Response received * * @return bool Returns true if valid, false if invalid */ protected function handle200Response(RequestInterface $request, Response $validateResponse) { $request->setResponse($validateResponse); if ($this->canCache->canCacheResponse($validateResponse)) { $this->storage->cache($request, $validateResponse); } return false; } /** * Handle a 304 response and ensure that it is still valid * * @param RequestInterface $request Request that was sent * @param Response $validateResponse Response received * @param Response $response Original cached response * * @return bool Returns true if valid, false if invalid */ protected function handle304Response(RequestInterface $request, Response $validateResponse, Response $response) { static $replaceHeaders = array('Date', 'Expires', 'Cache-Control', 'ETag', 'Last-Modified'); // Make sure that this response has the same ETag if ($validateResponse->getEtag() != $response->getEtag()) { return false; } // Replace cached headers with any of these headers from the // origin server that might be more up to date $modified = false; foreach ($replaceHeaders as $name) { if ($validateResponse->hasHeader($name)) { $modified = true; $response->setHeader($name, $validateResponse->getHeader($name)); } } // Store the updated response in cache if ($modified && $this->canCache->canCacheResponse($response)) { $this->storage->cache($request, $response); } return true; } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cache/RevalidationInterface.php000064400000001516147400355670022202 0ustar00 new DefaultCacheStorage($options)); } elseif ($options instanceof CacheStorageInterface) { $options = array('storage' => $options); } elseif ($options) { $options = array('storage' => new DefaultCacheStorage(CacheAdapterFactory::fromCache($options))); } elseif (!class_exists('Doctrine\Common\Cache\ArrayCache')) { // @codeCoverageIgnoreStart throw new InvalidArgumentException('No cache was provided and Doctrine is not installed'); // @codeCoverageIgnoreEnd } } $this->autoPurge = isset($options['auto_purge']) ? $options['auto_purge'] : false; // Add a cache storage if a cache adapter was provided $this->storage = isset($options['storage']) ? $options['storage'] : new DefaultCacheStorage(new DoctrineCacheAdapter(new ArrayCache())); if (!isset($options['can_cache'])) { $this->canCache = new DefaultCanCacheStrategy(); } else { $this->canCache = is_callable($options['can_cache']) ? new CallbackCanCacheStrategy($options['can_cache']) : $options['can_cache']; } // Use the provided revalidation strategy or the default $this->revalidation = isset($options['revalidation']) ? $options['revalidation'] : new DefaultRevalidation($this->storage, $this->canCache); } public static function getSubscribedEvents() { return array( 'request.before_send' => array('onRequestBeforeSend', -255), 'request.sent' => array('onRequestSent', 255), 'request.error' => array('onRequestError', 0), 'request.exception' => array('onRequestException', 0), ); } /** * Check if a response in cache will satisfy the request before sending * * @param Event $event */ public function onRequestBeforeSend(Event $event) { $request = $event['request']; $request->addHeader('Via', sprintf('%s GuzzleCache/%s', $request->getProtocolVersion(), Version::VERSION)); if (!$this->canCache->canCacheRequest($request)) { switch ($request->getMethod()) { case 'PURGE': $this->purge($request); $request->setResponse(new Response(200, array(), 'purged')); break; case 'PUT': case 'POST': case 'DELETE': case 'PATCH': if ($this->autoPurge) { $this->purge($request); } } return; } if ($response = $this->storage->fetch($request)) { $params = $request->getParams(); $params['cache.lookup'] = true; $response->setHeader( 'Age', time() - strtotime($response->getDate() ? : $response->getLastModified() ?: 'now') ); // Validate that the response satisfies the request if ($this->canResponseSatisfyRequest($request, $response)) { if (!isset($params['cache.hit'])) { $params['cache.hit'] = true; } $request->setResponse($response); } } } /** * If possible, store a response in cache after sending * * @param Event $event */ public function onRequestSent(Event $event) { $request = $event['request']; $response = $event['response']; if ($request->getParams()->get('cache.hit') === null && $this->canCache->canCacheRequest($request) && $this->canCache->canCacheResponse($response) ) { $this->storage->cache($request, $response); } $this->addResponseHeaders($request, $response); } /** * If possible, return a cache response on an error * * @param Event $event */ public function onRequestError(Event $event) { $request = $event['request']; if (!$this->canCache->canCacheRequest($request)) { return; } if ($response = $this->storage->fetch($request)) { $response->setHeader( 'Age', time() - strtotime($response->getLastModified() ? : $response->getDate() ?: 'now') ); if ($this->canResponseSatisfyFailedRequest($request, $response)) { $request->getParams()->set('cache.hit', 'error'); $this->addResponseHeaders($request, $response); $event['response'] = $response; $event->stopPropagation(); } } } /** * If possible, set a cache response on a cURL exception * * @param Event $event * * @return null */ public function onRequestException(Event $event) { if (!$event['exception'] instanceof CurlException) { return; } $request = $event['request']; if (!$this->canCache->canCacheRequest($request)) { return; } if ($response = $this->storage->fetch($request)) { $response->setHeader('Age', time() - strtotime($response->getDate() ? : 'now')); if (!$this->canResponseSatisfyFailedRequest($request, $response)) { return; } $request->getParams()->set('cache.hit', 'error'); $request->setResponse($response); $this->addResponseHeaders($request, $response); $event->stopPropagation(); } } /** * Check if a cache response satisfies a request's caching constraints * * @param RequestInterface $request Request to validate * @param Response $response Response to validate * * @return bool */ public function canResponseSatisfyRequest(RequestInterface $request, Response $response) { $responseAge = $response->calculateAge(); $reqc = $request->getHeader('Cache-Control'); $resc = $response->getHeader('Cache-Control'); // Check the request's max-age header against the age of the response if ($reqc && $reqc->hasDirective('max-age') && $responseAge > $reqc->getDirective('max-age')) { return false; } // Check the response's max-age header if ($response->isFresh() === false) { $maxStale = $reqc ? $reqc->getDirective('max-stale') : null; if (null !== $maxStale) { if ($maxStale !== true && $response->getFreshness() < (-1 * $maxStale)) { return false; } } elseif ($resc && $resc->hasDirective('max-age') && $responseAge > $resc->getDirective('max-age') ) { return false; } } if ($this->revalidation->shouldRevalidate($request, $response)) { try { return $this->revalidation->revalidate($request, $response); } catch (CurlException $e) { $request->getParams()->set('cache.hit', 'error'); return $this->canResponseSatisfyFailedRequest($request, $response); } } return true; } /** * Check if a cache response satisfies a failed request's caching constraints * * @param RequestInterface $request Request to validate * @param Response $response Response to validate * * @return bool */ public function canResponseSatisfyFailedRequest(RequestInterface $request, Response $response) { $reqc = $request->getHeader('Cache-Control'); $resc = $response->getHeader('Cache-Control'); $requestStaleIfError = $reqc ? $reqc->getDirective('stale-if-error') : null; $responseStaleIfError = $resc ? $resc->getDirective('stale-if-error') : null; if (!$requestStaleIfError && !$responseStaleIfError) { return false; } if (is_numeric($requestStaleIfError) && $response->getAge() - $response->getMaxAge() > $requestStaleIfError) { return false; } if (is_numeric($responseStaleIfError) && $response->getAge() - $response->getMaxAge() > $responseStaleIfError) { return false; } return true; } /** * Purge all cache entries for a given URL * * @param string $url URL to purge */ public function purge($url) { // BC compatibility with previous version that accepted a Request object $url = $url instanceof RequestInterface ? $url->getUrl() : $url; $this->storage->purge($url); } /** * Add the plugin's headers to a response * * @param RequestInterface $request Request * @param Response $response Response to add headers to */ protected function addResponseHeaders(RequestInterface $request, Response $response) { $params = $request->getParams(); $response->setHeader('Via', sprintf('%s GuzzleCache/%s', $request->getProtocolVersion(), Version::VERSION)); $lookup = ($params['cache.lookup'] === true ? 'HIT' : 'MISS') . ' from GuzzleCache'; if ($header = $response->getHeader('X-Cache-Lookup')) { // Don't add duplicates $values = $header->toArray(); $values[] = $lookup; $response->setHeader('X-Cache-Lookup', array_unique($values)); } else { $response->setHeader('X-Cache-Lookup', $lookup); } if ($params['cache.hit'] === true) { $xcache = 'HIT from GuzzleCache'; } elseif ($params['cache.hit'] == 'error') { $xcache = 'HIT_ERROR from GuzzleCache'; } else { $xcache = 'MISS from GuzzleCache'; } if ($header = $response->getHeader('X-Cache')) { // Don't add duplicates $values = $header->toArray(); $values[] = $xcache; $response->setHeader('X-Cache', array_unique($values)); } else { $response->setHeader('X-Cache', $xcache); } if ($response->isFresh() === false) { $response->addHeader('Warning', sprintf('110 GuzzleCache/%s "Response is stale"', Version::VERSION)); if ($params['cache.hit'] === 'error') { $response->addHeader('Warning', sprintf('111 GuzzleCache/%s "Revalidation failed"', Version::VERSION)); } } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/composer.json000064400000001230147400355670017630 0ustar00{ "name": "guzzle/plugin-mock", "description": "Guzzle Mock plugin", "homepage": "http://guzzlephp.org/", "keywords": ["mock", "plugin", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/http": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin\\Mock": "" } }, "target-dir": "Guzzle/Plugin/Mock", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Mock/MockPlugin.php000064400000015516147400355670017703 0ustar00readBodies = $readBodies; $this->temporary = $temporary; if ($items) { foreach ($items as $item) { if ($item instanceof \Exception) { $this->addException($item); } else { $this->addResponse($item); } } } } public static function getSubscribedEvents() { // Use a number lower than the CachePlugin return array('request.before_send' => array('onRequestBeforeSend', -999)); } public static function getAllEvents() { return array('mock.request'); } /** * Get a mock response from a file * * @param string $path File to retrieve a mock response from * * @return Response * @throws InvalidArgumentException if the file is not found */ public static function getMockFile($path) { if (!file_exists($path)) { throw new InvalidArgumentException('Unable to open mock file: ' . $path); } return Response::fromMessage(file_get_contents($path)); } /** * Set whether or not to consume the entity body of a request when a mock * response is used * * @param bool $readBodies Set to true to read and consume entity bodies * * @return self */ public function readBodies($readBodies) { $this->readBodies = $readBodies; return $this; } /** * Returns the number of remaining mock responses * * @return int */ public function count() { return count($this->queue); } /** * Add a response to the end of the queue * * @param string|Response $response Response object or path to response file * * @return MockPlugin * @throws InvalidArgumentException if a string or Response is not passed */ public function addResponse($response) { if (!($response instanceof Response)) { if (!is_string($response)) { throw new InvalidArgumentException('Invalid response'); } $response = self::getMockFile($response); } $this->queue[] = $response; return $this; } /** * Add an exception to the end of the queue * * @param CurlException $e Exception to throw when the request is executed * * @return MockPlugin */ public function addException(CurlException $e) { $this->queue[] = $e; return $this; } /** * Clear the queue * * @return MockPlugin */ public function clearQueue() { $this->queue = array(); return $this; } /** * Returns an array of mock responses remaining in the queue * * @return array */ public function getQueue() { return $this->queue; } /** * Check if this is a temporary plugin * * @return bool */ public function isTemporary() { return $this->temporary; } /** * Get a response from the front of the list and add it to a request * * @param RequestInterface $request Request to mock * * @return self * @throws CurlException When request.send is called and an exception is queued */ public function dequeue(RequestInterface $request) { $this->dispatch('mock.request', array('plugin' => $this, 'request' => $request)); $item = array_shift($this->queue); if ($item instanceof Response) { if ($this->readBodies && $request instanceof EntityEnclosingRequestInterface) { $request->getEventDispatcher()->addListener('request.sent', $f = function (Event $event) use (&$f) { while ($data = $event['request']->getBody()->read(8096)); // Remove the listener after one-time use $event['request']->getEventDispatcher()->removeListener('request.sent', $f); }); } $request->setResponse($item); } elseif ($item instanceof CurlException) { // Emulates exceptions encountered while transferring requests $item->setRequest($request); $state = $request->setState(RequestInterface::STATE_ERROR, array('exception' => $item)); // Only throw if the exception wasn't handled if ($state == RequestInterface::STATE_ERROR) { throw $item; } } return $this; } /** * Clear the array of received requests */ public function flush() { $this->received = array(); } /** * Get an array of requests that were mocked by this plugin * * @return array */ public function getReceivedRequests() { return $this->received; } /** * Called when a request is about to be sent * * @param Event $event * @throws \OutOfBoundsException When queue is empty */ public function onRequestBeforeSend(Event $event) { if (!$this->queue) { throw new \OutOfBoundsException('Mock queue is empty'); } $request = $event['request']; $this->received[] = $request; // Detach the filter from the client so it's a one-time use if ($this->temporary && count($this->queue) == 1 && $request->getClient()) { $request->getClient()->getEventDispatcher()->removeSubscriber($this); } $this->dequeue($request); } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php000064400000002025147400355670024633 0ustar00errorCodes = array_fill_keys($codes ?: static::$defaultErrorCodes, 1); $this->next = $next; } /** * Get the default failure codes to retry * * @return array */ public static function getDefaultFailureCodes() { return static::$defaultErrorCodes; } public function makesDecision() { return true; } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffLogger.php000064400000004421147400355670020761 0ustar00logger = $logger; $this->formatter = $formatter ?: new MessageFormatter(self::DEFAULT_FORMAT); } public static function getSubscribedEvents() { return array(BackoffPlugin::RETRY_EVENT => 'onRequestRetry'); } /** * Set the template to use for logging * * @param string $template Log message template * * @return self */ public function setTemplate($template) { $this->formatter->setTemplate($template); return $this; } /** * Called when a request is being retried * * @param Event $event Event emitted */ public function onRequestRetry(Event $event) { $this->logger->log($this->formatter->format( $event['request'], $event['response'], $event['handle'], array( 'retries' => $event['retries'], 'delay' => $event['delay'] ) )); } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/composer.json000064400000001311147400355670020272 0ustar00{ "name": "guzzle/plugin-backoff", "description": "Guzzle backoff retry plugins", "homepage": "http://guzzlephp.org/", "keywords": ["plugin", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/http": "self.version", "guzzle/log": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin\\Backoff": "" } }, "target-dir": "Guzzle/Plugin/Backoff", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ReasonPhraseBackoffStrategy.php000064400000001256147400355670023662 0ustar00errorCodes[$response->getReasonPhrase()]) ? true : null; } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ExponentialBackoffStrategy.php000064400000001216147400355670023552 0ustar00strategy = $strategy; } /** * Retrieve a basic truncated exponential backoff plugin that will retry HTTP errors and cURL errors * * @param int $maxRetries Maximum number of retries * @param array $httpCodes HTTP response codes to retry * @param array $curlCodes cURL error codes to retry * * @return self */ public static function getExponentialBackoff( $maxRetries = 3, array $httpCodes = null, array $curlCodes = null ) { return new self(new TruncatedBackoffStrategy($maxRetries, new HttpBackoffStrategy($httpCodes, new CurlBackoffStrategy($curlCodes, new ExponentialBackoffStrategy() ) ) )); } public static function getAllEvents() { return array(self::RETRY_EVENT); } public static function getSubscribedEvents() { return array( 'request.sent' => 'onRequestSent', 'request.exception' => 'onRequestSent', CurlMultiInterface::POLLING_REQUEST => 'onRequestPoll' ); } /** * Called when a request has been sent and isn't finished processing * * @param Event $event */ public function onRequestSent(Event $event) { $request = $event['request']; $response = $event['response']; $exception = $event['exception']; $params = $request->getParams(); $retries = (int) $params->get(self::RETRY_PARAM); $delay = $this->strategy->getBackoffPeriod($retries, $request, $response, $exception); if ($delay !== false) { // Calculate how long to wait until the request should be retried $params->set(self::RETRY_PARAM, ++$retries) ->set(self::DELAY_PARAM, microtime(true) + $delay); // Send the request again $request->setState(RequestInterface::STATE_TRANSFER); $this->dispatch(self::RETRY_EVENT, array( 'request' => $request, 'response' => $response, 'handle' => ($exception && $exception instanceof CurlException) ? $exception->getCurlHandle() : null, 'retries' => $retries, 'delay' => $delay )); } } /** * Called when a request is polling in the curl multi object * * @param Event $event */ public function onRequestPoll(Event $event) { $request = $event['request']; $delay = $request->getParams()->get(self::DELAY_PARAM); // If the duration of the delay has passed, retry the request using the pool if (null !== $delay && microtime(true) >= $delay) { // Remove the request from the pool and then add it back again. This is required for cURL to know that we // want to retry sending the easy handle. $request->getParams()->remove(self::DELAY_PARAM); // Rewind the request body if possible if ($request instanceof EntityEnclosingRequestInterface && $request->getBody()) { $request->getBody()->seek(0); } $multi = $event['curl_multi']; $multi->remove($request); $multi->add($request); } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/ConstantBackoffStrategy.php000064400000001607147400355670023061 0ustar00delay = $delay; } public function makesDecision() { return false; } protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null) { return $this->delay; } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/LinearBackoffStrategy.php000064400000001615147400355670022501 0ustar00step = $step; } public function makesDecision() { return false; } protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null) { return $retries * $this->step; } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/CurlBackoffStrategy.php000064400000001737147400355670022201 0ustar00errorCodes[$e->getErrorNo()]) ? true : null; } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/HttpBackoffStrategy.php000064400000001606147400355670022206 0ustar00isSuccessful()) { return false; } else { return isset($this->errorCodes[$response->getStatusCode()]) ? true : null; } } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractBackoffStrategy.php000064400000006111147400355670023026 0ustar00next = $next; } /** * Get the next backoff strategy in the chain * * @return AbstractBackoffStrategy|null */ public function getNext() { return $this->next; } public function getBackoffPeriod( $retries, RequestInterface $request, Response $response = null, HttpException $e = null ) { $delay = $this->getDelay($retries, $request, $response, $e); if ($delay === false) { // The strategy knows that this must not be retried return false; } elseif ($delay === null) { // If the strategy is deferring a decision and the next strategy will not make a decision then return false return !$this->next || !$this->next->makesDecision() ? false : $this->next->getBackoffPeriod($retries, $request, $response, $e); } elseif ($delay === true) { // if the strategy knows that it must retry but is deferring to the next to determine the delay if (!$this->next) { return 0; } else { $next = $this->next; while ($next->makesDecision() && $next->getNext()) { $next = $next->getNext(); } return !$next->makesDecision() ? $next->getBackoffPeriod($retries, $request, $response, $e) : 0; } } else { return $delay; } } /** * Check if the strategy does filtering and makes decisions on whether or not to retry. * * Strategies that return false will never retry if all of the previous strategies in a chain defer on a backoff * decision. * * @return bool */ abstract public function makesDecision(); /** * Implement the concrete strategy * * @param int $retries Number of retries of the request * @param RequestInterface $request Request that was sent * @param Response $response Response that was received. Note that there may not be a response * @param HttpException $e Exception that was encountered if any * * @return bool|int|null Returns false to not retry or the number of seconds to delay between retries. Return true * or null to defer to the next strategy if available, and if not, return 0. */ abstract protected function getDelay( $retries, RequestInterface $request, Response $response = null, HttpException $e = null ); } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/TruncatedBackoffStrategy.php000064400000001717147400355670023223 0ustar00max = $maxRetries; $this->next = $next; } public function makesDecision() { return true; } protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null) { return $retries < $this->max ? null : false; } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/CallbackBackoffStrategy.php000064400000002764147400355670022771 0ustar00callback = $callback; $this->decision = (bool) $decision; $this->next = $next; } public function makesDecision() { return $this->decision; } protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null) { return call_user_func($this->callback, $retries, $request, $response, $e); } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/BackoffStrategyInterface.php000064400000001743147400355670023171 0ustar00=5.3.2", "guzzle/http": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin\\Oauth": "" } }, "target-dir": "Guzzle/Plugin/Oauth", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Oauth/OauthPlugin.php000064400000024050147400355670020252 0ustar00config = Collection::fromConfig($config, array( 'version' => '1.0', 'request_method' => self::REQUEST_METHOD_HEADER, 'consumer_key' => 'anonymous', 'consumer_secret' => 'anonymous', 'signature_method' => 'HMAC-SHA1', 'signature_callback' => function($stringToSign, $key) { return hash_hmac('sha1', $stringToSign, $key, true); } ), array( 'signature_method', 'signature_callback', 'version', 'consumer_key', 'consumer_secret' )); } public static function getSubscribedEvents() { return array( 'request.before_send' => array('onRequestBeforeSend', -1000) ); } /** * Request before-send event handler * * @param Event $event Event received * @return array * @throws \InvalidArgumentException */ public function onRequestBeforeSend(Event $event) { $timestamp = $this->getTimestamp($event); $request = $event['request']; $nonce = $this->generateNonce($request); $authorizationParams = $this->getOauthParams($timestamp, $nonce); $authorizationParams['oauth_signature'] = $this->getSignature($request, $timestamp, $nonce); switch ($this->config['request_method']) { case self::REQUEST_METHOD_HEADER: $request->setHeader( 'Authorization', $this->buildAuthorizationHeader($authorizationParams) ); break; case self::REQUEST_METHOD_QUERY: foreach ($authorizationParams as $key => $value) { $request->getQuery()->set($key, $value); } break; default: throw new \InvalidArgumentException(sprintf( 'Invalid consumer method "%s"', $this->config['request_method'] )); } return $authorizationParams; } /** * Builds the Authorization header for a request * * @param array $authorizationParams Associative array of authorization parameters * * @return string */ private function buildAuthorizationHeader($authorizationParams) { $authorizationString = 'OAuth '; foreach ($authorizationParams as $key => $val) { if ($val) { $authorizationString .= $key . '="' . urlencode($val) . '", '; } } return substr($authorizationString, 0, -2); } /** * Calculate signature for request * * @param RequestInterface $request Request to generate a signature for * @param integer $timestamp Timestamp to use for nonce * @param string $nonce * * @return string */ public function getSignature(RequestInterface $request, $timestamp, $nonce) { $string = $this->getStringToSign($request, $timestamp, $nonce); $key = urlencode($this->config['consumer_secret']) . '&' . urlencode($this->config['token_secret']); return base64_encode(call_user_func($this->config['signature_callback'], $string, $key)); } /** * Calculate string to sign * * @param RequestInterface $request Request to generate a signature for * @param int $timestamp Timestamp to use for nonce * @param string $nonce * * @return string */ public function getStringToSign(RequestInterface $request, $timestamp, $nonce) { $params = $this->getParamsToSign($request, $timestamp, $nonce); // Convert booleans to strings. $params = $this->prepareParameters($params); // Build signing string from combined params $parameterString = clone $request->getQuery(); $parameterString->replace($params); $url = Url::factory($request->getUrl())->setQuery('')->setFragment(null); return strtoupper($request->getMethod()) . '&' . rawurlencode($url) . '&' . rawurlencode((string) $parameterString); } /** * Get the oauth parameters as named by the oauth spec * * @param $timestamp * @param $nonce * @return Collection */ protected function getOauthParams($timestamp, $nonce) { $params = new Collection(array( 'oauth_consumer_key' => $this->config['consumer_key'], 'oauth_nonce' => $nonce, 'oauth_signature_method' => $this->config['signature_method'], 'oauth_timestamp' => $timestamp, )); // Optional parameters should not be set if they have not been set in the config as // the parameter may be considered invalid by the Oauth service. $optionalParams = array( 'callback' => 'oauth_callback', 'token' => 'oauth_token', 'verifier' => 'oauth_verifier', 'version' => 'oauth_version' ); foreach ($optionalParams as $optionName => $oauthName) { if (isset($this->config[$optionName]) == true) { $params[$oauthName] = $this->config[$optionName]; } } return $params; } /** * Get all of the parameters required to sign a request including: * * The oauth params * * The request GET params * * The params passed in the POST body (with a content-type of application/x-www-form-urlencoded) * * @param RequestInterface $request Request to generate a signature for * @param integer $timestamp Timestamp to use for nonce * @param string $nonce * * @return array */ public function getParamsToSign(RequestInterface $request, $timestamp, $nonce) { $params = $this->getOauthParams($timestamp, $nonce); // Add query string parameters $params->merge($request->getQuery()); // Add POST fields to signing string if required if ($this->shouldPostFieldsBeSigned($request)) { $params->merge($request->getPostFields()); } // Sort params $params = $params->toArray(); uksort($params, 'strcmp'); return $params; } /** * Decide whether the post fields should be added to the base string that Oauth signs. * This implementation is correct. Non-conformant APIs may require that this method be * overwritten e.g. the Flickr API incorrectly adds the post fields when the Content-Type * is 'application/x-www-form-urlencoded' * * @param $request * @return bool Whether the post fields should be signed or not */ public function shouldPostFieldsBeSigned($request) { if (!$this->config->get('disable_post_params') && $request instanceof EntityEnclosingRequestInterface && false !== strpos($request->getHeader('Content-Type'), 'application/x-www-form-urlencoded')) { return true; } return false; } /** * Returns a Nonce Based on the unique id and URL. This will allow for multiple requests in parallel with the same * exact timestamp to use separate nonce's. * * @param RequestInterface $request Request to generate a nonce for * * @return string */ public function generateNonce(RequestInterface $request) { return sha1(uniqid('', true) . $request->getUrl()); } /** * Gets timestamp from event or create new timestamp * * @param Event $event Event containing contextual information * * @return int */ public function getTimestamp(Event $event) { return $event['timestamp'] ?: time(); } /** * Convert booleans to strings, removed unset parameters, and sorts the array * * @param array $data Data array * * @return array */ protected function prepareParameters($data) { ksort($data); foreach ($data as $key => &$value) { switch (gettype($value)) { case 'NULL': unset($data[$key]); break; case 'array': $data[$key] = self::prepareParameters($value); break; case 'boolean': $data[$key] = $value ? 'true' : 'false'; break; } } return $data; } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/composer.json000064400000001230147400355670020150 0ustar00{ "name": "guzzle/plugin-cookie", "description": "Guzzle cookie plugin", "homepage": "http://guzzlephp.org/", "keywords": ["plugin", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/http": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin\\Cookie": "" } }, "target-dir": "Guzzle/Plugin/Cookie", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/CookieJarInterface.php000064400000005552147400355670023507 0ustar00strictMode = $strictMode; } /** * Enable or disable strict mode on the cookie jar * * @param bool $strictMode Set to true to throw exceptions when invalid cookies are added. False to ignore them. * * @return self */ public function setStrictMode($strictMode) { $this->strictMode = $strictMode; } public function remove($domain = null, $path = null, $name = null) { $cookies = $this->all($domain, $path, $name, false, false); $this->cookies = array_filter($this->cookies, function (Cookie $cookie) use ($cookies) { return !in_array($cookie, $cookies, true); }); return $this; } public function removeTemporary() { $this->cookies = array_filter($this->cookies, function (Cookie $cookie) { return !$cookie->getDiscard() && $cookie->getExpires(); }); return $this; } public function removeExpired() { $currentTime = time(); $this->cookies = array_filter($this->cookies, function (Cookie $cookie) use ($currentTime) { return !$cookie->getExpires() || $currentTime < $cookie->getExpires(); }); return $this; } public function all($domain = null, $path = null, $name = null, $skipDiscardable = false, $skipExpired = true) { return array_values(array_filter($this->cookies, function (Cookie $cookie) use ( $domain, $path, $name, $skipDiscardable, $skipExpired ) { return false === (($name && $cookie->getName() != $name) || ($skipExpired && $cookie->isExpired()) || ($skipDiscardable && ($cookie->getDiscard() || !$cookie->getExpires())) || ($path && !$cookie->matchesPath($path)) || ($domain && !$cookie->matchesDomain($domain))); })); } public function add(Cookie $cookie) { // Only allow cookies with set and valid domain, name, value $result = $cookie->validate(); if ($result !== true) { if ($this->strictMode) { throw new InvalidCookieException($result); } else { $this->removeCookieIfEmpty($cookie); return false; } } // Resolve conflicts with previously set cookies foreach ($this->cookies as $i => $c) { // Two cookies are identical, when their path, domain, port and name are identical if ($c->getPath() != $cookie->getPath() || $c->getDomain() != $cookie->getDomain() || $c->getPorts() != $cookie->getPorts() || $c->getName() != $cookie->getName() ) { continue; } // The previously set cookie is a discard cookie and this one is not so allow the new cookie to be set if (!$cookie->getDiscard() && $c->getDiscard()) { unset($this->cookies[$i]); continue; } // If the new cookie's expiration is further into the future, then replace the old cookie if ($cookie->getExpires() > $c->getExpires()) { unset($this->cookies[$i]); continue; } // If the value has changed, we better change it if ($cookie->getValue() !== $c->getValue()) { unset($this->cookies[$i]); continue; } // The cookie exists, so no need to continue return false; } $this->cookies[] = $cookie; return true; } /** * Serializes the cookie cookieJar * * @return string */ public function serialize() { // Only serialize long term cookies and unexpired cookies return json_encode(array_map(function (Cookie $cookie) { return $cookie->toArray(); }, $this->all(null, null, null, true, true))); } /** * Unserializes the cookie cookieJar */ public function unserialize($data) { $data = json_decode($data, true); if (empty($data)) { $this->cookies = array(); } else { $this->cookies = array_map(function (array $cookie) { return new Cookie($cookie); }, $data); } } /** * Returns the total number of stored cookies * * @return int */ public function count() { return count($this->cookies); } /** * Returns an iterator * * @return \ArrayIterator */ public function getIterator() { return new \ArrayIterator($this->cookies); } public function addCookiesFromResponse(Response $response, RequestInterface $request = null) { if ($cookieHeader = $response->getHeader('Set-Cookie')) { $parser = ParserRegistry::getInstance()->getParser('cookie'); foreach ($cookieHeader as $cookie) { if ($parsed = $request ? $parser->parseCookie($cookie, $request->getHost(), $request->getPath()) : $parser->parseCookie($cookie) ) { // Break up cookie v2 into multiple cookies foreach ($parsed['cookies'] as $key => $value) { $row = $parsed; $row['name'] = $key; $row['value'] = $value; unset($row['cookies']); $this->add(new Cookie($row)); } } } } } public function getMatchingCookies(RequestInterface $request) { // Find cookies that match this request $cookies = $this->all($request->getHost(), $request->getPath()); // Remove ineligible cookies foreach ($cookies as $index => $cookie) { if (!$cookie->matchesPort($request->getPort()) || ($cookie->getSecure() && $request->getScheme() != 'https')) { unset($cookies[$index]); } }; return $cookies; } /** * If a cookie already exists and the server asks to set it again with a null value, the * cookie must be deleted. * * @param \Guzzle\Plugin\Cookie\Cookie $cookie */ private function removeCookieIfEmpty(Cookie $cookie) { $cookieValue = $cookie->getValue(); if ($cookieValue === null || $cookieValue === '') { $this->remove($cookie->getDomain(), $cookie->getPath(), $cookie->getName()); } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookieJar/FileCookieJar.php000064400000003206147400355670022460 0ustar00filename = $cookieFile; $this->load(); } /** * Saves the file when shutting down */ public function __destruct() { $this->persist(); } /** * Save the contents of the data array to the file * * @throws RuntimeException if the file cannot be found or created */ protected function persist() { if (false === file_put_contents($this->filename, $this->serialize())) { // @codeCoverageIgnoreStart throw new RuntimeException('Unable to open file ' . $this->filename); // @codeCoverageIgnoreEnd } } /** * Load the contents of the json formatted file into the data array and discard any unsaved state */ protected function load() { $json = file_get_contents($this->filename); if (false === $json) { // @codeCoverageIgnoreStart throw new RuntimeException('Unable to open file ' . $this->filename); // @codeCoverageIgnoreEnd } $this->unserialize($json); $this->cookies = $this->cookies ?: array(); } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/Exception/InvalidCookieException.php000064400000000252147400355670024477 0ustar00 '', 'value' => '', 'domain' => '', 'path' => '/', 'expires' => null, 'max_age' => 0, 'comment' => null, 'comment_url' => null, 'port' => array(), 'version' => null, 'secure' => false, 'discard' => false, 'http_only' => false ); $this->data = array_merge($defaults, $data); // Extract the expires value and turn it into a UNIX timestamp if needed if (!$this->getExpires() && $this->getMaxAge()) { // Calculate the expires date $this->setExpires(time() + (int) $this->getMaxAge()); } elseif ($this->getExpires() && !is_numeric($this->getExpires())) { $this->setExpires(strtotime($this->getExpires())); } } /** * Get the cookie as an array * * @return array */ public function toArray() { return $this->data; } /** * Get the cookie name * * @return string */ public function getName() { return $this->data['name']; } /** * Set the cookie name * * @param string $name Cookie name * * @return Cookie */ public function setName($name) { return $this->setData('name', $name); } /** * Get the cookie value * * @return string */ public function getValue() { return $this->data['value']; } /** * Set the cookie value * * @param string $value Cookie value * * @return Cookie */ public function setValue($value) { return $this->setData('value', $value); } /** * Get the domain * * @return string|null */ public function getDomain() { return $this->data['domain']; } /** * Set the domain of the cookie * * @param string $domain * * @return Cookie */ public function setDomain($domain) { return $this->setData('domain', $domain); } /** * Get the path * * @return string */ public function getPath() { return $this->data['path']; } /** * Set the path of the cookie * * @param string $path Path of the cookie * * @return Cookie */ public function setPath($path) { return $this->setData('path', $path); } /** * Maximum lifetime of the cookie in seconds * * @return int|null */ public function getMaxAge() { return $this->data['max_age']; } /** * Set the max-age of the cookie * * @param int $maxAge Max age of the cookie in seconds * * @return Cookie */ public function setMaxAge($maxAge) { return $this->setData('max_age', $maxAge); } /** * The UNIX timestamp when the cookie expires * * @return mixed */ public function getExpires() { return $this->data['expires']; } /** * Set the unix timestamp for which the cookie will expire * * @param int $timestamp Unix timestamp * * @return Cookie */ public function setExpires($timestamp) { return $this->setData('expires', $timestamp); } /** * Version of the cookie specification. RFC 2965 is 1 * * @return mixed */ public function getVersion() { return $this->data['version']; } /** * Set the cookie version * * @param string|int $version Version to set * * @return Cookie */ public function setVersion($version) { return $this->setData('version', $version); } /** * Get whether or not this is a secure cookie * * @return null|bool */ public function getSecure() { return $this->data['secure']; } /** * Set whether or not the cookie is secure * * @param bool $secure Set to true or false if secure * * @return Cookie */ public function setSecure($secure) { return $this->setData('secure', (bool) $secure); } /** * Get whether or not this is a session cookie * * @return null|bool */ public function getDiscard() { return $this->data['discard']; } /** * Set whether or not this is a session cookie * * @param bool $discard Set to true or false if this is a session cookie * * @return Cookie */ public function setDiscard($discard) { return $this->setData('discard', $discard); } /** * Get the comment * * @return string|null */ public function getComment() { return $this->data['comment']; } /** * Set the comment of the cookie * * @param string $comment Cookie comment * * @return Cookie */ public function setComment($comment) { return $this->setData('comment', $comment); } /** * Get the comment URL of the cookie * * @return string|null */ public function getCommentUrl() { return $this->data['comment_url']; } /** * Set the comment URL of the cookie * * @param string $commentUrl Cookie comment URL for more information * * @return Cookie */ public function setCommentUrl($commentUrl) { return $this->setData('comment_url', $commentUrl); } /** * Get an array of acceptable ports this cookie can be used with * * @return array */ public function getPorts() { return $this->data['port']; } /** * Set a list of acceptable ports this cookie can be used with * * @param array $ports Array of acceptable ports * * @return Cookie */ public function setPorts(array $ports) { return $this->setData('port', $ports); } /** * Get whether or not this is an HTTP only cookie * * @return bool */ public function getHttpOnly() { return $this->data['http_only']; } /** * Set whether or not this is an HTTP only cookie * * @param bool $httpOnly Set to true or false if this is HTTP only * * @return Cookie */ public function setHttpOnly($httpOnly) { return $this->setData('http_only', $httpOnly); } /** * Get an array of extra cookie data * * @return array */ public function getAttributes() { return $this->data['data']; } /** * Get a specific data point from the extra cookie data * * @param string $name Name of the data point to retrieve * * @return null|string */ public function getAttribute($name) { return array_key_exists($name, $this->data['data']) ? $this->data['data'][$name] : null; } /** * Set a cookie data attribute * * @param string $name Name of the attribute to set * @param string $value Value to set * * @return Cookie */ public function setAttribute($name, $value) { $this->data['data'][$name] = $value; return $this; } /** * Check if the cookie matches a path value * * @param string $path Path to check against * * @return bool */ public function matchesPath($path) { // RFC6265 http://tools.ietf.org/search/rfc6265#section-5.1.4 // A request-path path-matches a given cookie-path if at least one of // the following conditions holds: // o The cookie-path and the request-path are identical. if ($path == $this->getPath()) { return true; } $pos = stripos($path, $this->getPath()); if ($pos === 0) { // o The cookie-path is a prefix of the request-path, and the last // character of the cookie-path is %x2F ("/"). if (substr($this->getPath(), -1, 1) === "/") { return true; } // o The cookie-path is a prefix of the request-path, and the first // character of the request-path that is not included in the cookie- // path is a %x2F ("/") character. if (substr($path, strlen($this->getPath()), 1) === "/") { return true; } } return false; } /** * Check if the cookie matches a domain value * * @param string $domain Domain to check against * * @return bool */ public function matchesDomain($domain) { // Remove the leading '.' as per spec in RFC 6265: http://tools.ietf.org/html/rfc6265#section-5.2.3 $cookieDomain = ltrim($this->getDomain(), '.'); // Domain not set or exact match. if (!$cookieDomain || !strcasecmp($domain, $cookieDomain)) { return true; } // Matching the subdomain according to RFC 6265: http://tools.ietf.org/html/rfc6265#section-5.1.3 if (filter_var($domain, FILTER_VALIDATE_IP)) { return false; } return (bool) preg_match('/\.' . preg_quote($cookieDomain, '/') . '$/i', $domain); } /** * Check if the cookie is compatible with a specific port * * @param int $port Port to check * * @return bool */ public function matchesPort($port) { return count($this->getPorts()) == 0 || in_array($port, $this->getPorts()); } /** * Check if the cookie is expired * * @return bool */ public function isExpired() { return $this->getExpires() && time() > $this->getExpires(); } /** * Check if the cookie is valid according to RFC 6265 * * @return bool|string Returns true if valid or an error message if invalid */ public function validate() { // Names must not be empty, but can be 0 $name = $this->getName(); if (empty($name) && !is_numeric($name)) { return 'The cookie name must not be empty'; } // Check if any of the invalid characters are present in the cookie name if (strpbrk($name, self::getInvalidCharacters()) !== false) { return 'The cookie name must not contain invalid characters: ' . $name; } // Value must not be empty, but can be 0 $value = $this->getValue(); if (empty($value) && !is_numeric($value)) { return 'The cookie value must not be empty'; } // Domains must not be empty, but can be 0 // A "0" is not a valid internet domain, but may be used as server name in a private network $domain = $this->getDomain(); if (empty($domain) && !is_numeric($domain)) { return 'The cookie domain must not be empty'; } return true; } /** * Set a value and return the cookie object * * @param string $key Key to set * @param string $value Value to set * * @return Cookie */ private function setData($key, $value) { $this->data[$key] = $value; return $this; } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Cookie/CookiePlugin.php000064400000003611147400355670020534 0ustar00cookieJar = $cookieJar ?: new ArrayCookieJar(); } public static function getSubscribedEvents() { return array( 'request.before_send' => array('onRequestBeforeSend', 125), 'request.sent' => array('onRequestSent', 125) ); } /** * Get the cookie cookieJar * * @return CookieJarInterface */ public function getCookieJar() { return $this->cookieJar; } /** * Add cookies before a request is sent * * @param Event $event */ public function onRequestBeforeSend(Event $event) { $request = $event['request']; if (!$request->getParams()->get('cookies.disable')) { $request->removeHeader('Cookie'); // Find cookies that match this request foreach ($this->cookieJar->getMatchingCookies($request) as $cookie) { $request->addCookie($cookie->getName(), $cookie->getValue()); } } } /** * Extract cookies from a sent request * * @param Event $event */ public function onRequestSent(Event $event) { $this->cookieJar->addCookiesFromResponse($event['response'], $event['request']); } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/composer.json000064400000001215147400355670017367 0ustar00{ "name": "guzzle/plugin-md5", "description": "Guzzle MD5 plugins", "homepage": "http://guzzlephp.org/", "keywords": ["plugin", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/http": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin\\Md5": "" } }, "target-dir": "Guzzle/Plugin/Md5", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/Md5ValidatorPlugin.php000064400000006565147400355670021045 0ustar00contentLengthCutoff = $contentLengthCutoff; $this->contentEncoded = $contentEncoded; } public static function getSubscribedEvents() { return array('request.complete' => array('onRequestComplete', 255)); } /** * {@inheritdoc} * @throws UnexpectedValueException */ public function onRequestComplete(Event $event) { $response = $event['response']; if (!$contentMd5 = $response->getContentMd5()) { return; } $contentEncoding = $response->getContentEncoding(); if ($contentEncoding && !$this->contentEncoded) { return false; } // Make sure that the size of the request is under the cutoff size if ($this->contentLengthCutoff) { $size = $response->getContentLength() ?: $response->getBody()->getSize(); if (!$size || $size > $this->contentLengthCutoff) { return; } } if (!$contentEncoding) { $hash = $response->getBody()->getContentMd5(); } elseif ($contentEncoding == 'gzip') { $response->getBody()->compress('zlib.deflate'); $hash = $response->getBody()->getContentMd5(); $response->getBody()->uncompress(); } elseif ($contentEncoding == 'compress') { $response->getBody()->compress('bzip2.compress'); $hash = $response->getBody()->getContentMd5(); $response->getBody()->uncompress(); } else { return; } if ($contentMd5 !== $hash) { throw new UnexpectedValueException( "The response entity body may have been modified over the wire. The Content-MD5 " . "received ({$contentMd5}) did not match the calculated MD5 hash ({$hash})." ); } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Md5/CommandContentMd5Plugin.php000064400000004235147400355670022021 0ustar00contentMd5Param = $contentMd5Param; $this->validateMd5Param = $validateMd5Param; } public static function getSubscribedEvents() { return array('command.before_send' => array('onCommandBeforeSend', -255)); } public function onCommandBeforeSend(Event $event) { $command = $event['command']; $request = $command->getRequest(); // Only add an MD5 is there is a MD5 option on the operation and it has a payload if ($request instanceof EntityEnclosingRequestInterface && $request->getBody() && $command->getOperation()->hasParam($this->contentMd5Param)) { // Check if an MD5 checksum value should be passed along to the request if ($command[$this->contentMd5Param] === true) { if (false !== ($md5 = $request->getBody()->getContentMd5(true, true))) { $request->setHeader('Content-MD5', $md5); } } } // Check if MD5 validation should be used with the response if ($command[$this->validateMd5Param] === true) { $request->addSubscriber(new Md5ValidatorPlugin(true, false)); } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/composer.json000064400000001323147400355670017463 0ustar00{ "name": "guzzle/plugin-log", "description": "Guzzle log plugin for over the wire logging", "homepage": "http://guzzlephp.org/", "keywords": ["plugin", "log", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/http": "self.version", "guzzle/log": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin\\Log": "" } }, "target-dir": "Guzzle/Plugin/Log", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Log/LogPlugin.php000064400000013375147400355670017364 0ustar00logAdapter = $logAdapter; $this->formatter = $formatter instanceof MessageFormatter ? $formatter : new MessageFormatter($formatter); $this->wireBodies = $wireBodies; } /** * Get a log plugin that outputs full request, response, and curl error information to stderr * * @param bool $wireBodies Set to false to disable request/response body output when they use are not repeatable * @param resource $stream Stream to write to when logging. Defaults to STDERR when it is available * * @return self */ public static function getDebugPlugin($wireBodies = true, $stream = null) { if ($stream === null) { if (defined('STDERR')) { $stream = STDERR; } else { $stream = fopen('php://output', 'w'); } } return new self(new ClosureLogAdapter(function ($m) use ($stream) { fwrite($stream, $m . PHP_EOL); }), "# Request:\n{request}\n\n# Response:\n{response}\n\n# Errors: {curl_code} {curl_error}", $wireBodies); } public static function getSubscribedEvents() { return array( 'curl.callback.write' => array('onCurlWrite', 255), 'curl.callback.read' => array('onCurlRead', 255), 'request.before_send' => array('onRequestBeforeSend', 255), 'request.sent' => array('onRequestSent', 255) ); } /** * Event triggered when curl data is read from a request * * @param Event $event */ public function onCurlRead(Event $event) { // Stream the request body to the log if the body is not repeatable if ($wire = $event['request']->getParams()->get('request_wire')) { $wire->write($event['read']); } } /** * Event triggered when curl data is written to a response * * @param Event $event */ public function onCurlWrite(Event $event) { // Stream the response body to the log if the body is not repeatable if ($wire = $event['request']->getParams()->get('response_wire')) { $wire->write($event['write']); } } /** * Called before a request is sent * * @param Event $event */ public function onRequestBeforeSend(Event $event) { if ($this->wireBodies) { $request = $event['request']; // Ensure that curl IO events are emitted $request->getCurlOptions()->set('emit_io', true); // We need to make special handling for content wiring and non-repeatable streams. if ($request instanceof EntityEnclosingRequestInterface && $request->getBody() && (!$request->getBody()->isSeekable() || !$request->getBody()->isReadable()) ) { // The body of the request cannot be recalled so logging the body will require us to buffer it $request->getParams()->set('request_wire', EntityBody::factory()); } if (!$request->getResponseBody()->isRepeatable()) { // The body of the response cannot be recalled so logging the body will require us to buffer it $request->getParams()->set('response_wire', EntityBody::factory()); } } } /** * Triggers the actual log write when a request completes * * @param Event $event */ public function onRequestSent(Event $event) { $request = $event['request']; $response = $event['response']; $handle = $event['handle']; if ($wire = $request->getParams()->get('request_wire')) { $request = clone $request; $request->setBody($wire); } if ($wire = $request->getParams()->get('response_wire')) { $response = clone $response; $response->setBody($wire); } // Send the log message to the adapter, adding a category and host $priority = $response && $response->isError() ? LOG_ERR : LOG_DEBUG; $message = $this->formatter->format($request, $response, $handle); $this->logAdapter->log($message, $priority, array( 'request' => $request, 'response' => $response, 'handle' => $handle )); } } vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/composer.json000064400000001365147400355670021560 0ustar00{ "name": "guzzle/plugin-error-response", "description": "Guzzle errorResponse plugin for creating error exceptions based on a service description", "homepage": "http://guzzlephp.org/", "keywords": ["plugin", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/service": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin\\ErrorResponse": "" } }, "target-dir": "Guzzle/Plugin/ErrorResponse", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/ErrorResponse/Exception/ErrorResponseException.php000064400000000241147400355670026164 0ustar00 array('onCommandBeforeSend', -1)); } /** * Adds a listener to requests before they sent from a command * * @param Event $event Event emitted */ public function onCommandBeforeSend(Event $event) { $command = $event['command']; if ($operation = $command->getOperation()) { if ($operation->getErrorResponses()) { $request = $command->getRequest(); $request->getEventDispatcher() ->addListener('request.complete', $this->getErrorClosure($request, $command, $operation)); } } } /** * @param RequestInterface $request Request that received an error * @param CommandInterface $command Command that created the request * @param Operation $operation Operation that defines the request and errors * * @return \Closure Returns a closure * @throws ErrorResponseException */ protected function getErrorClosure(RequestInterface $request, CommandInterface $command, Operation $operation) { return function (Event $event) use ($request, $command, $operation) { $response = $event['response']; foreach ($operation->getErrorResponses() as $error) { if (!isset($error['class'])) { continue; } if (isset($error['code']) && $response->getStatusCode() != $error['code']) { continue; } if (isset($error['reason']) && $response->getReasonPhrase() != $error['reason']) { continue; } $className = $error['class']; $errorClassInterface = __NAMESPACE__ . '\\ErrorResponseExceptionInterface'; if (!class_exists($className)) { throw new ErrorResponseException("{$className} does not exist"); } elseif (!(in_array($errorClassInterface, class_implements($className)))) { throw new ErrorResponseException("{$className} must implement {$errorClassInterface}"); } throw $className::fromCommand($command, $response); } }; } } vendor/guzzle/guzzle/src/Guzzle/Plugin/History/composer.json000064400000001234147400355670020404 0ustar00{ "name": "guzzle/plugin-history", "description": "Guzzle history plugin", "homepage": "http://guzzlephp.org/", "keywords": ["plugin", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/http": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin\\History": "" } }, "target-dir": "Guzzle/Plugin/History", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/History/HistoryPlugin.php000064400000007521147400355670021220 0ustar00 array('onRequestSent', 9999)); } /** * Convert to a string that contains all request and response headers * * @return string */ public function __toString() { $lines = array(); foreach ($this->transactions as $entry) { $response = isset($entry['response']) ? $entry['response'] : ''; $lines[] = '> ' . trim($entry['request']) . "\n\n< " . trim($response) . "\n"; } return implode("\n", $lines); } /** * Add a request to the history * * @param RequestInterface $request Request to add * @param Response $response Response of the request * * @return HistoryPlugin */ public function add(RequestInterface $request, Response $response = null) { if (!$response && $request->getResponse()) { $response = $request->getResponse(); } $this->transactions[] = array('request' => $request, 'response' => $response); if (count($this->transactions) > $this->getlimit()) { array_shift($this->transactions); } return $this; } /** * Set the max number of requests to store * * @param int $limit Limit * * @return HistoryPlugin */ public function setLimit($limit) { $this->limit = (int) $limit; return $this; } /** * Get the request limit * * @return int */ public function getLimit() { return $this->limit; } /** * Get all of the raw transactions in the form of an array of associative arrays containing * 'request' and 'response' keys. * * @return array */ public function getAll() { return $this->transactions; } /** * Get the requests in the history * * @return \ArrayIterator */ public function getIterator() { // Return an iterator just like the old iteration of the HistoryPlugin for BC compatibility (use getAll()) return new \ArrayIterator(array_map(function ($entry) { $entry['request']->getParams()->set('actual_response', $entry['response']); return $entry['request']; }, $this->transactions)); } /** * Get the number of requests in the history * * @return int */ public function count() { return count($this->transactions); } /** * Get the last request sent * * @return RequestInterface */ public function getLastRequest() { $last = end($this->transactions); return $last['request']; } /** * Get the last response in the history * * @return Response|null */ public function getLastResponse() { $last = end($this->transactions); return isset($last['response']) ? $last['response'] : null; } /** * Clears the history * * @return HistoryPlugin */ public function clear() { $this->transactions = array(); return $this; } public function onRequestSent(Event $event) { $this->add($event['request'], $event['response']); } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/composer.json000064400000001234147400355670020020 0ustar00{ "name": "guzzle/plugin-async", "description": "Guzzle async request plugin", "homepage": "http://guzzlephp.org/", "keywords": ["plugin", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/http": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Plugin\\Async": "" } }, "target-dir": "Guzzle/Plugin/Async", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Plugin/Async/AsyncPlugin.php000064400000005631147400355670020250 0ustar00 'onBeforeSend', 'request.exception' => 'onRequestTimeout', 'request.sent' => 'onRequestSent', 'curl.callback.progress' => 'onCurlProgress' ); } /** * Event used to ensure that progress callback are emitted from the curl handle's request mediator. * * @param Event $event */ public function onBeforeSend(Event $event) { // Ensure that progress callbacks are dispatched $event['request']->getCurlOptions()->set('progress', true); } /** * Event emitted when a curl progress function is called. When the amount of data uploaded == the amount of data to * upload OR any bytes have been downloaded, then time the request out after 1ms because we're done with * transmitting the request, and tell curl not download a body. * * @param Event $event */ public function onCurlProgress(Event $event) { if ($event['handle'] && ($event['downloaded'] || (isset($event['uploaded']) && $event['upload_size'] === $event['uploaded'])) ) { // Timeout after 1ms curl_setopt($event['handle'], CURLOPT_TIMEOUT_MS, 1); // Even if the response is quick, tell curl not to download the body. // - Note that we can only perform this shortcut if the request transmitted a body so as to ensure that the // request method is not converted to a HEAD request before the request was sent via curl. if ($event['uploaded']) { curl_setopt($event['handle'], CURLOPT_NOBODY, true); } } } /** * Event emitted when a curl exception occurs. Ignore the exception and set a mock response. * * @param Event $event */ public function onRequestTimeout(Event $event) { if ($event['exception'] instanceof CurlException) { $event['request']->setResponse(new Response(200, array( 'X-Guzzle-Async' => 'Did not wait for the response' ))); } } /** * Event emitted when a request completes because it took less than 1ms. Add an X-Guzzle-Async header to notify the * caller that there is no body in the message. * * @param Event $event */ public function onRequestSent(Event $event) { // Let the caller know this was meant to be async $event['request']->getResponse()->setHeader('X-Guzzle-Async', 'Did not wait for the response'); } } vendor/guzzle/guzzle/src/Guzzle/Common/composer.json000064400000000767147400355670016747 0ustar00{ "name": "guzzle/common", "homepage": "http://guzzlephp.org/", "description": "Common libraries used by Guzzle", "keywords": ["common", "event", "exception", "collection"], "license": "MIT", "require": { "php": ">=5.3.2", "symfony/event-dispatcher": ">=2.1" }, "autoload": { "psr-0": { "Guzzle\\Common": "" } }, "target-dir": "Guzzle/Common", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Common/HasDispatcherInterface.php000064400000002516147400355670021273 0ustar00shortMessage = $message; } /** * Set all of the exceptions * * @param array $exceptions Array of exceptions * * @return self */ public function setExceptions(array $exceptions) { $this->exceptions = array(); foreach ($exceptions as $exception) { $this->add($exception); } return $this; } /** * Add exceptions to the collection * * @param ExceptionCollection|\Exception $e Exception to add * * @return ExceptionCollection; */ public function add($e) { $this->exceptions[] = $e; if ($this->message) { $this->message .= "\n"; } $this->message .= $this->getExceptionMessage($e, 0); return $this; } /** * Get the total number of request exceptions * * @return int */ public function count() { return count($this->exceptions); } /** * Allows array-like iteration over the request exceptions * * @return \ArrayIterator */ public function getIterator() { return new \ArrayIterator($this->exceptions); } /** * Get the first exception in the collection * * @return \Exception */ public function getFirst() { return $this->exceptions ? $this->exceptions[0] : null; } private function getExceptionMessage(\Exception $e, $depth = 0) { static $sp = ' '; $prefix = $depth ? str_repeat($sp, $depth) : ''; $message = "{$prefix}(" . get_class($e) . ') ' . $e->getFile() . ' line ' . $e->getLine() . "\n"; if ($e instanceof self) { if ($e->shortMessage) { $message .= "\n{$prefix}{$sp}" . str_replace("\n", "\n{$prefix}{$sp}", $e->shortMessage) . "\n"; } foreach ($e as $ee) { $message .= "\n" . $this->getExceptionMessage($ee, $depth + 1); } } else { $message .= "\n{$prefix}{$sp}" . str_replace("\n", "\n{$prefix}{$sp}", $e->getMessage()) . "\n"; $message .= "\n{$prefix}{$sp}" . str_replace("\n", "\n{$prefix}{$sp}", $e->getTraceAsString()) . "\n"; } return str_replace(getcwd(), '.', $message); } } vendor/guzzle/guzzle/src/Guzzle/Common/Exception/InvalidArgumentException.php000064400000000212147400355670023625 0ustar00eventDispatcher = $eventDispatcher; return $this; } public function getEventDispatcher() { if (!$this->eventDispatcher) { $this->eventDispatcher = new EventDispatcher(); } return $this->eventDispatcher; } public function dispatch($eventName, array $context = array()) { return $this->getEventDispatcher()->dispatch($eventName, new Event($context)); } public function addSubscriber(EventSubscriberInterface $subscriber) { $this->getEventDispatcher()->addSubscriber($subscriber); return $this; } } vendor/guzzle/guzzle/src/Guzzle/Common/FromConfigInterface.php000064400000000747147400355670020606 0ustar00data = $data; } /** * Create a new collection from an array, validate the keys, and add default values where missing * * @param array $config Configuration values to apply. * @param array $defaults Default parameters * @param array $required Required parameter names * * @return self * @throws InvalidArgumentException if a parameter is missing */ public static function fromConfig(array $config = array(), array $defaults = array(), array $required = array()) { $data = $config + $defaults; if ($missing = array_diff($required, array_keys($data))) { throw new InvalidArgumentException('Config is missing the following keys: ' . implode(', ', $missing)); } return new self($data); } public function count() { return count($this->data); } public function getIterator() { return new \ArrayIterator($this->data); } public function toArray() { return $this->data; } /** * Removes all key value pairs * * @return Collection */ public function clear() { $this->data = array(); return $this; } /** * Get all or a subset of matching key value pairs * * @param array $keys Pass an array of keys to retrieve only a subset of key value pairs * * @return array Returns an array of all matching key value pairs */ public function getAll(array $keys = null) { return $keys ? array_intersect_key($this->data, array_flip($keys)) : $this->data; } /** * Get a specific key value. * * @param string $key Key to retrieve. * * @return mixed|null Value of the key or NULL */ public function get($key) { return isset($this->data[$key]) ? $this->data[$key] : null; } /** * Set a key value pair * * @param string $key Key to set * @param mixed $value Value to set * * @return Collection Returns a reference to the object */ public function set($key, $value) { $this->data[$key] = $value; return $this; } /** * Add a value to a key. If a key of the same name has already been added, the key value will be converted into an * array and the new value will be pushed to the end of the array. * * @param string $key Key to add * @param mixed $value Value to add to the key * * @return Collection Returns a reference to the object. */ public function add($key, $value) { if (!array_key_exists($key, $this->data)) { $this->data[$key] = $value; } elseif (is_array($this->data[$key])) { $this->data[$key][] = $value; } else { $this->data[$key] = array($this->data[$key], $value); } return $this; } /** * Remove a specific key value pair * * @param string $key A key to remove * * @return Collection */ public function remove($key) { unset($this->data[$key]); return $this; } /** * Get all keys in the collection * * @return array */ public function getKeys() { return array_keys($this->data); } /** * Returns whether or not the specified key is present. * * @param string $key The key for which to check the existence. * * @return bool */ public function hasKey($key) { return array_key_exists($key, $this->data); } /** * Case insensitive search the keys in the collection * * @param string $key Key to search for * * @return bool|string Returns false if not found, otherwise returns the key */ public function keySearch($key) { foreach (array_keys($this->data) as $k) { if (!strcasecmp($k, $key)) { return $k; } } return false; } /** * Checks if any keys contains a certain value * * @param string $value Value to search for * * @return mixed Returns the key if the value was found FALSE if the value was not found. */ public function hasValue($value) { return array_search($value, $this->data); } /** * Replace the data of the object with the value of an array * * @param array $data Associative array of data * * @return Collection Returns a reference to the object */ public function replace(array $data) { $this->data = $data; return $this; } /** * Add and merge in a Collection or array of key value pair data. * * @param Collection|array $data Associative array of key value pair data * * @return Collection Returns a reference to the object. */ public function merge($data) { foreach ($data as $key => $value) { $this->add($key, $value); } return $this; } /** * Over write key value pairs in this collection with all of the data from an array or collection. * * @param array|\Traversable $data Values to override over this config * * @return self */ public function overwriteWith($data) { if (is_array($data)) { $this->data = $data + $this->data; } elseif ($data instanceof Collection) { $this->data = $data->toArray() + $this->data; } else { foreach ($data as $key => $value) { $this->data[$key] = $value; } } return $this; } /** * Returns a Collection containing all the elements of the collection after applying the callback function to each * one. The Closure should accept three parameters: (string) $key, (string) $value, (array) $context and return a * modified value * * @param \Closure $closure Closure to apply * @param array $context Context to pass to the closure * @param bool $static Set to TRUE to use the same class as the return rather than returning a Collection * * @return Collection */ public function map(\Closure $closure, array $context = array(), $static = true) { $collection = $static ? new static() : new self(); foreach ($this as $key => $value) { $collection->add($key, $closure($key, $value, $context)); } return $collection; } /** * Iterates over each key value pair in the collection passing them to the Closure. If the Closure function returns * true, the current value from input is returned into the result Collection. The Closure must accept three * parameters: (string) $key, (string) $value and return Boolean TRUE or FALSE for each value. * * @param \Closure $closure Closure evaluation function * @param bool $static Set to TRUE to use the same class as the return rather than returning a Collection * * @return Collection */ public function filter(\Closure $closure, $static = true) { $collection = ($static) ? new static() : new self(); foreach ($this->data as $key => $value) { if ($closure($key, $value)) { $collection->add($key, $value); } } return $collection; } public function offsetExists($offset) { return isset($this->data[$offset]); } public function offsetGet($offset) { return isset($this->data[$offset]) ? $this->data[$offset] : null; } public function offsetSet($offset, $value) { $this->data[$offset] = $value; } public function offsetUnset($offset) { unset($this->data[$offset]); } /** * Set a value into a nested array key. Keys will be created as needed to set the value. * * @param string $path Path to set * @param mixed $value Value to set at the key * * @return self * @throws RuntimeException when trying to setPath using a nested path that travels through a scalar value */ public function setPath($path, $value) { $current =& $this->data; $queue = explode('/', $path); while (null !== ($key = array_shift($queue))) { if (!is_array($current)) { throw new RuntimeException("Trying to setPath {$path}, but {$key} is set and is not an array"); } elseif (!$queue) { $current[$key] = $value; } elseif (isset($current[$key])) { $current =& $current[$key]; } else { $current[$key] = array(); $current =& $current[$key]; } } return $this; } /** * Gets a value from the collection using an array path (e.g. foo/baz/bar would retrieve bar from two nested arrays) * Allows for wildcard searches which recursively combine matches up to the level at which the wildcard occurs. This * can be useful for accepting any key of a sub-array and combining matching keys from each diverging path. * * @param string $path Path to traverse and retrieve a value from * @param string $separator Character used to add depth to the search * @param mixed $data Optional data to descend into (used when wildcards are encountered) * * @return mixed|null */ public function getPath($path, $separator = '/', $data = null) { if ($data === null) { $data =& $this->data; } $path = is_array($path) ? $path : explode($separator, $path); while (null !== ($part = array_shift($path))) { if (!is_array($data)) { return null; } elseif (isset($data[$part])) { $data =& $data[$part]; } elseif ($part != '*') { return null; } else { // Perform a wildcard search by diverging and merging paths $result = array(); foreach ($data as $value) { if (!$path) { $result = array_merge_recursive($result, (array) $value); } elseif (null !== ($test = $this->getPath($path, $separator, $value))) { $result = array_merge_recursive($result, (array) $test); } } return $result; } } return $data; } /** * Inject configuration settings into an input string * * @param string $input Input to inject * * @return string * @deprecated */ public function inject($input) { Version::warn(__METHOD__ . ' is deprecated'); $replace = array(); foreach ($this->data as $key => $val) { $replace['{' . $key . '}'] = $val; } return strtr($input, $replace); } } vendor/guzzle/guzzle/src/Guzzle/Common/Version.php000064400000001201147400355670016343 0ustar00context = $context; } public function getIterator() { return new \ArrayIterator($this->context); } public function offsetGet($offset) { return isset($this->context[$offset]) ? $this->context[$offset] : null; } public function offsetSet($offset, $value) { $this->context[$offset] = $value; } public function offsetExists($offset) { return isset($this->context[$offset]); } public function offsetUnset($offset) { unset($this->context[$offset]); } public function toArray() { return $this->context; } } vendor/guzzle/guzzle/src/Guzzle/Common/ToArrayInterface.php000064400000000365147400355670020132 0ustar00parseMessage($message); // Parse the protocol and protocol version if (isset($parts['start_line'][2])) { $startParts = explode('/', $parts['start_line'][2]); $protocol = strtoupper($startParts[0]); $version = isset($startParts[1]) ? $startParts[1] : '1.1'; } else { $protocol = 'HTTP'; $version = '1.1'; } $parsed = array( 'method' => strtoupper($parts['start_line'][0]), 'protocol' => $protocol, 'version' => $version, 'headers' => $parts['headers'], 'body' => $parts['body'] ); $parsed['request_url'] = $this->getUrlPartsFromMessage(isset($parts['start_line'][1]) ? $parts['start_line'][1] : '' , $parsed); return $parsed; } public function parseResponse($message) { if (!$message) { return false; } $parts = $this->parseMessage($message); list($protocol, $version) = explode('/', trim($parts['start_line'][0])); return array( 'protocol' => $protocol, 'version' => $version, 'code' => $parts['start_line'][1], 'reason_phrase' => isset($parts['start_line'][2]) ? $parts['start_line'][2] : '', 'headers' => $parts['headers'], 'body' => $parts['body'] ); } /** * Parse a message into parts * * @param string $message Message to parse * * @return array */ protected function parseMessage($message) { $startLine = null; $headers = array(); $body = ''; // Iterate over each line in the message, accounting for line endings $lines = preg_split('/(\\r?\\n)/', $message, -1, PREG_SPLIT_DELIM_CAPTURE); for ($i = 0, $totalLines = count($lines); $i < $totalLines; $i += 2) { $line = $lines[$i]; // If two line breaks were encountered, then this is the end of body if (empty($line)) { if ($i < $totalLines - 1) { $body = implode('', array_slice($lines, $i + 2)); } break; } // Parse message headers if (!$startLine) { $startLine = explode(' ', $line, 3); } elseif (strpos($line, ':')) { $parts = explode(':', $line, 2); $key = trim($parts[0]); $value = isset($parts[1]) ? trim($parts[1]) : ''; if (!isset($headers[$key])) { $headers[$key] = $value; } elseif (!is_array($headers[$key])) { $headers[$key] = array($headers[$key], $value); } else { $headers[$key][] = $value; } } } return array( 'start_line' => $startLine, 'headers' => $headers, 'body' => $body ); } } vendor/guzzle/guzzle/src/Guzzle/Parser/Message/AbstractMessageParser.php000064400000003214147400355670022541 0ustar00 $requestUrl, 'scheme' => 'http' ); // Check for the Host header if (isset($parts['headers']['Host'])) { $urlParts['host'] = $parts['headers']['Host']; } elseif (isset($parts['headers']['host'])) { $urlParts['host'] = $parts['headers']['host']; } else { $urlParts['host'] = null; } if (false === strpos($urlParts['host'], ':')) { $urlParts['port'] = ''; } else { $hostParts = explode(':', $urlParts['host']); $urlParts['host'] = trim($hostParts[0]); $urlParts['port'] = (int) trim($hostParts[1]); if ($urlParts['port'] == 443) { $urlParts['scheme'] = 'https'; } } // Check if a query is present $path = $urlParts['path']; $qpos = strpos($path, '?'); if ($qpos) { $urlParts['query'] = substr($path, $qpos + 1); $urlParts['path'] = substr($path, 0, $qpos); } else { $urlParts['query'] = ''; } return $urlParts; } } vendor/guzzle/guzzle/src/Guzzle/Parser/Message/MessageParserInterface.php000064400000001267147400355670022704 0ustar00 $parts->requestMethod, 'protocol' => 'HTTP', 'version' => number_format($parts->httpVersion, 1), 'headers' => $parts->headers, 'body' => $parts->body ); $parsed['request_url'] = $this->getUrlPartsFromMessage($parts->requestUrl, $parsed); return $parsed; } public function parseResponse($message) { if (!$message) { return false; } $parts = http_parse_message($message); return array( 'protocol' => 'HTTP', 'version' => number_format($parts->httpVersion, 1), 'code' => $parts->responseCode, 'reason_phrase' => $parts->responseStatus, 'headers' => $parts->headers, 'body' => $parts->body ); } } vendor/guzzle/guzzle/src/Guzzle/Parser/composer.json000064400000000727147400355670016747 0ustar00{ "name": "guzzle/parser", "homepage": "http://guzzlephp.org/", "description": "Interchangeable parsers used by Guzzle", "keywords": ["HTTP", "message", "cookie", "URL", "URI Template"], "license": "MIT", "require": { "php": ">=5.3.2" }, "autoload": { "psr-0": { "Guzzle\\Parser": "" } }, "target-dir": "Guzzle/Parser", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Parser/Url/UrlParser.php000064400000002624147400355670017415 0ustar00utf8 = $utf8; } public function parseUrl($url) { Version::warn(__CLASS__ . ' is deprecated. Just use parse_url()'); static $defaults = array('scheme' => null, 'host' => null, 'path' => null, 'port' => null, 'query' => null, 'user' => null, 'pass' => null, 'fragment' => null); $parts = parse_url($url); // Need to handle query parsing specially for UTF-8 requirements if ($this->utf8 && isset($parts['query'])) { $queryPos = strpos($url, '?'); if (isset($parts['fragment'])) { $parts['query'] = substr($url, $queryPos + 1, strpos($url, '#') - $queryPos - 1); } else { $parts['query'] = substr($url, $queryPos + 1); } } return $parts + $defaults; } } vendor/guzzle/guzzle/src/Guzzle/Parser/Url/UrlParserInterface.php000064400000001024147400355670021227 0ustar00 'Guzzle\\Parser\\Message\\MessageParser', 'cookie' => 'Guzzle\\Parser\\Cookie\\CookieParser', 'url' => 'Guzzle\\Parser\\Url\\UrlParser', 'uri_template' => 'Guzzle\\Parser\\UriTemplate\\UriTemplate', ); /** * @return self * @codeCoverageIgnore */ public static function getInstance() { if (!self::$instance) { self::$instance = new static; } return self::$instance; } public function __construct() { // Use the PECL URI template parser if available if (extension_loaded('uri_template')) { $this->mapping['uri_template'] = 'Guzzle\\Parser\\UriTemplate\\PeclUriTemplate'; } } /** * Get a parser by name from an instance * * @param string $name Name of the parser to retrieve * * @return mixed|null */ public function getParser($name) { if (!isset($this->instances[$name])) { if (!isset($this->mapping[$name])) { return null; } $class = $this->mapping[$name]; $this->instances[$name] = new $class(); } return $this->instances[$name]; } /** * Register a custom parser by name with the register * * @param string $name Name or handle of the parser to register * @param mixed $parser Instantiated parser to register */ public function registerParser($name, $parser) { $this->instances[$name] = $parser; } } vendor/guzzle/guzzle/src/Guzzle/Parser/Cookie/CookieParserInterface.php000064400000002714147400355670022354 0ustar00 'Domain', 'path' => 'Path', 'max_age' => 'Max-Age', 'expires' => 'Expires', 'version' => 'Version', 'secure' => 'Secure', 'port' => 'Port', 'discard' => 'Discard', 'comment' => 'Comment', 'comment_url' => 'Comment-Url', 'http_only' => 'HttpOnly' ); public function parseCookie($cookie, $host = null, $path = null, $decode = false) { // Explode the cookie string using a series of semicolons $pieces = array_filter(array_map('trim', explode(';', $cookie))); // The name of the cookie (first kvp) must include an equal sign. if (empty($pieces) || !strpos($pieces[0], '=')) { return false; } // Create the default return array $data = array_merge(array_fill_keys(array_keys(self::$cookieParts), null), array( 'cookies' => array(), 'data' => array(), 'path' => null, 'http_only' => false, 'discard' => false, 'domain' => $host )); $foundNonCookies = 0; // Add the cookie pieces into the parsed data array foreach ($pieces as $part) { $cookieParts = explode('=', $part, 2); $key = trim($cookieParts[0]); if (count($cookieParts) == 1) { // Can be a single value (e.g. secure, httpOnly) $value = true; } else { // Be sure to strip wrapping quotes $value = trim($cookieParts[1], " \n\r\t\0\x0B\""); if ($decode) { $value = urldecode($value); } } // Only check for non-cookies when cookies have been found if (!empty($data['cookies'])) { foreach (self::$cookieParts as $mapValue => $search) { if (!strcasecmp($search, $key)) { $data[$mapValue] = $mapValue == 'port' ? array_map('trim', explode(',', $value)) : $value; $foundNonCookies++; continue 2; } } } // If cookies have not yet been retrieved, or this value was not found in the pieces array, treat it as a // cookie. IF non-cookies have been parsed, then this isn't a cookie, it's cookie data. Cookies then data. $data[$foundNonCookies ? 'data' : 'cookies'][$key] = $value; } // Calculate the expires date if (!$data['expires'] && $data['max_age']) { $data['expires'] = time() + (int) $data['max_age']; } // Check path attribute according RFC6265 http://tools.ietf.org/search/rfc6265#section-5.2.4 // "If the attribute-value is empty or if the first character of the // attribute-value is not %x2F ("/"): // Let cookie-path be the default-path. // Otherwise: // Let cookie-path be the attribute-value." if (!$data['path'] || substr($data['path'], 0, 1) !== '/') { $data['path'] = $this->getDefaultPath($path); } return $data; } /** * Get default cookie path according to RFC 6265 * http://tools.ietf.org/search/rfc6265#section-5.1.4 Paths and Path-Match * * @param string $path Request uri-path * * @return string */ protected function getDefaultPath($path) { // "The user agent MUST use an algorithm equivalent to the following algorithm // to compute the default-path of a cookie:" // "2. If the uri-path is empty or if the first character of the uri-path is not // a %x2F ("/") character, output %x2F ("/") and skip the remaining steps. if (empty($path) || substr($path, 0, 1) !== '/') { return '/'; } // "3. If the uri-path contains no more than one %x2F ("/") character, output // %x2F ("/") and skip the remaining step." if ($path === "/") { return $path; } $rightSlashPos = strrpos($path, '/'); if ($rightSlashPos === 0) { return "/"; } // "4. Output the characters of the uri-path from the first character up to, // but not including, the right-most %x2F ("/")." return substr($path, 0, $rightSlashPos); } } vendor/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/PeclUriTemplate.php000064400000001264147400355670022225 0ustar00 true, '#' => true, '.' => true, '/' => true, ';' => true, '?' => true, '&' => true ); /** @var array Delimiters */ private static $delims = array( ':', '/', '?', '#', '[', ']', '@', '!', '$', '&', '\'', '(', ')', '*', '+', ',', ';', '=' ); /** @var array Percent encoded delimiters */ private static $delimsPct = array( '%3A', '%2F', '%3F', '%23', '%5B', '%5D', '%40', '%21', '%24', '%26', '%27', '%28', '%29', '%2A', '%2B', '%2C', '%3B', '%3D' ); public function expand($template, array $variables) { if ($this->regex == self::DEFAULT_PATTERN && false === strpos($template, '{')) { return $template; } $this->template = $template; $this->variables = $variables; return preg_replace_callback($this->regex, array($this, 'expandMatch'), $this->template); } /** * Set the regex patten used to expand URI templates * * @param string $regexPattern */ public function setRegex($regexPattern) { $this->regex = $regexPattern; } /** * Parse an expression into parts * * @param string $expression Expression to parse * * @return array Returns an associative array of parts */ private function parseExpression($expression) { // Check for URI operators $operator = ''; if (isset(self::$operatorHash[$expression[0]])) { $operator = $expression[0]; $expression = substr($expression, 1); } $values = explode(',', $expression); foreach ($values as &$value) { $value = trim($value); $varspec = array(); $substrPos = strpos($value, ':'); if ($substrPos) { $varspec['value'] = substr($value, 0, $substrPos); $varspec['modifier'] = ':'; $varspec['position'] = (int) substr($value, $substrPos + 1); } elseif (substr($value, -1) == '*') { $varspec['modifier'] = '*'; $varspec['value'] = substr($value, 0, -1); } else { $varspec['value'] = (string) $value; $varspec['modifier'] = ''; } $value = $varspec; } return array( 'operator' => $operator, 'values' => $values ); } /** * Process an expansion * * @param array $matches Matches met in the preg_replace_callback * * @return string Returns the replacement string */ private function expandMatch(array $matches) { static $rfc1738to3986 = array( '+' => '%20', '%7e' => '~' ); $parsed = self::parseExpression($matches[1]); $replacements = array(); $prefix = $parsed['operator']; $joiner = $parsed['operator']; $useQueryString = false; if ($parsed['operator'] == '?') { $joiner = '&'; $useQueryString = true; } elseif ($parsed['operator'] == '&') { $useQueryString = true; } elseif ($parsed['operator'] == '#') { $joiner = ','; } elseif ($parsed['operator'] == ';') { $useQueryString = true; } elseif ($parsed['operator'] == '' || $parsed['operator'] == '+') { $joiner = ','; $prefix = ''; } foreach ($parsed['values'] as $value) { if (!array_key_exists($value['value'], $this->variables) || $this->variables[$value['value']] === null) { continue; } $variable = $this->variables[$value['value']]; $actuallyUseQueryString = $useQueryString; $expanded = ''; if (is_array($variable)) { $isAssoc = $this->isAssoc($variable); $kvp = array(); foreach ($variable as $key => $var) { if ($isAssoc) { $key = rawurlencode($key); $isNestedArray = is_array($var); } else { $isNestedArray = false; } if (!$isNestedArray) { $var = rawurlencode($var); if ($parsed['operator'] == '+' || $parsed['operator'] == '#') { $var = $this->decodeReserved($var); } } if ($value['modifier'] == '*') { if ($isAssoc) { if ($isNestedArray) { // Nested arrays must allow for deeply nested structures $var = strtr(http_build_query(array($key => $var)), $rfc1738to3986); } else { $var = $key . '=' . $var; } } elseif ($key > 0 && $actuallyUseQueryString) { $var = $value['value'] . '=' . $var; } } $kvp[$key] = $var; } if (empty($variable)) { $actuallyUseQueryString = false; } elseif ($value['modifier'] == '*') { $expanded = implode($joiner, $kvp); if ($isAssoc) { // Don't prepend the value name when using the explode modifier with an associative array $actuallyUseQueryString = false; } } else { if ($isAssoc) { // When an associative array is encountered and the explode modifier is not set, then the // result must be a comma separated list of keys followed by their respective values. foreach ($kvp as $k => &$v) { $v = $k . ',' . $v; } } $expanded = implode(',', $kvp); } } else { if ($value['modifier'] == ':') { $variable = substr($variable, 0, $value['position']); } $expanded = rawurlencode($variable); if ($parsed['operator'] == '+' || $parsed['operator'] == '#') { $expanded = $this->decodeReserved($expanded); } } if ($actuallyUseQueryString) { if (!$expanded && $joiner != '&') { $expanded = $value['value']; } else { $expanded = $value['value'] . '=' . $expanded; } } $replacements[] = $expanded; } $ret = implode($joiner, $replacements); if ($ret && $prefix) { return $prefix . $ret; } return $ret; } /** * Determines if an array is associative * * @param array $array Array to check * * @return bool */ private function isAssoc(array $array) { return (bool) count(array_filter(array_keys($array), 'is_string')); } /** * Removes percent encoding on reserved characters (used with + and # modifiers) * * @param string $string String to fix * * @return string */ private function decodeReserved($string) { return str_replace(self::$delimsPct, self::$delims, $string); } } vendor/guzzle/guzzle/src/Guzzle/Parser/UriTemplate/UriTemplateInterface.php000064400000000776147400355670023251 0ustar00=5.3.2", "guzzle/common": "self.version" }, "suggest": { "guzzle/http": "To convert Guzzle request objects to PHP streams" }, "autoload": { "psr-0": { "Guzzle\\Stream": "" } }, "target-dir": "Guzzle/Stream", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Stream/StreamInterface.php000064400000011070147400355670020002 0ustar00contextOptions = stream_context_get_options($context); $this->context = $context; } elseif (is_array($context) || !$context) { $this->contextOptions = $context; $this->createContext($params); } elseif ($context) { throw new InvalidArgumentException('$context must be an array or resource'); } // Dispatch the before send event $request->dispatch('request.before_send', array( 'request' => $request, 'context' => $this->context, 'context_options' => $this->contextOptions )); $this->setUrl($request); $this->addDefaultContextOptions($request); $this->addSslOptions($request); $this->addBodyOptions($request); $this->addProxyOptions($request); // Create the file handle but silence errors return $this->createStream($params) ->setCustomData('request', $request) ->setCustomData('response_headers', $this->getLastResponseHeaders()); } /** * Set an option on the context and the internal options array * * @param string $wrapper Stream wrapper name of http * @param string $name Context name * @param mixed $value Context value * @param bool $overwrite Set to true to overwrite an existing value */ protected function setContextValue($wrapper, $name, $value, $overwrite = false) { if (!isset($this->contextOptions[$wrapper])) { $this->contextOptions[$wrapper] = array($name => $value); } elseif (!$overwrite && isset($this->contextOptions[$wrapper][$name])) { return; } $this->contextOptions[$wrapper][$name] = $value; stream_context_set_option($this->context, $wrapper, $name, $value); } /** * Create a stream context * * @param array $params Parameter array */ protected function createContext(array $params) { $options = $this->contextOptions; $this->context = $this->createResource(function () use ($params, $options) { return stream_context_create($options, $params); }); } /** * Get the last response headers received by the HTTP request * * @return array */ public function getLastResponseHeaders() { return $this->lastResponseHeaders; } /** * Adds the default context options to the stream context options * * @param RequestInterface $request Request */ protected function addDefaultContextOptions(RequestInterface $request) { $this->setContextValue('http', 'method', $request->getMethod()); $headers = $request->getHeaderLines(); // "Connection: close" is required to get streams to work in HTTP 1.1 if (!$request->hasHeader('Connection')) { $headers[] = 'Connection: close'; } $this->setContextValue('http', 'header', $headers); $this->setContextValue('http', 'protocol_version', $request->getProtocolVersion()); $this->setContextValue('http', 'ignore_errors', true); } /** * Set the URL to use with the factory * * @param RequestInterface $request Request that owns the URL */ protected function setUrl(RequestInterface $request) { $this->url = $request->getUrl(true); // Check for basic Auth username if ($request->getUsername()) { $this->url->setUsername($request->getUsername()); } // Check for basic Auth password if ($request->getPassword()) { $this->url->setPassword($request->getPassword()); } } /** * Add SSL options to the stream context * * @param RequestInterface $request Request */ protected function addSslOptions(RequestInterface $request) { if ($request->getCurlOptions()->get(CURLOPT_SSL_VERIFYPEER)) { $this->setContextValue('ssl', 'verify_peer', true, true); if ($cafile = $request->getCurlOptions()->get(CURLOPT_CAINFO)) { $this->setContextValue('ssl', 'cafile', $cafile, true); } } else { $this->setContextValue('ssl', 'verify_peer', false, true); } } /** * Add body (content) specific options to the context options * * @param RequestInterface $request */ protected function addBodyOptions(RequestInterface $request) { // Add the content for the request if needed if (!($request instanceof EntityEnclosingRequestInterface)) { return; } if (count($request->getPostFields())) { $this->setContextValue('http', 'content', (string) $request->getPostFields(), true); } elseif ($request->getBody()) { $this->setContextValue('http', 'content', (string) $request->getBody(), true); } // Always ensure a content-length header is sent if (isset($this->contextOptions['http']['content'])) { $headers = isset($this->contextOptions['http']['header']) ? $this->contextOptions['http']['header'] : array(); $headers[] = 'Content-Length: ' . strlen($this->contextOptions['http']['content']); $this->setContextValue('http', 'header', $headers, true); } } /** * Add proxy parameters to the context if needed * * @param RequestInterface $request Request */ protected function addProxyOptions(RequestInterface $request) { if ($proxy = $request->getCurlOptions()->get(CURLOPT_PROXY)) { $this->setContextValue('http', 'proxy', $proxy); } } /** * Create the stream for the request with the context options * * @param array $params Parameters of the stream * * @return StreamInterface */ protected function createStream(array $params) { $http_response_header = null; $url = $this->url; $context = $this->context; $fp = $this->createResource(function () use ($context, $url, &$http_response_header) { return fopen((string) $url, 'r', false, $context); }); // Determine the class to instantiate $className = isset($params['stream_class']) ? $params['stream_class'] : __NAMESPACE__ . '\\Stream'; /** @var $stream StreamInterface */ $stream = new $className($fp); // Track the response headers of the request if (isset($http_response_header)) { $this->lastResponseHeaders = $http_response_header; $this->processResponseHeaders($stream); } return $stream; } /** * Process response headers * * @param StreamInterface $stream */ protected function processResponseHeaders(StreamInterface $stream) { // Set the size on the stream if it was returned in the response foreach ($this->lastResponseHeaders as $header) { if ((stripos($header, 'Content-Length:')) === 0) { $stream->setSize(trim(substr($header, 15))); } } } /** * Create a resource and check to ensure it was created successfully * * @param callable $callback Closure to invoke that must return a valid resource * * @return resource * @throws RuntimeException on error */ protected function createResource($callback) { $errors = null; set_error_handler(function ($_, $msg, $file, $line) use (&$errors) { $errors[] = array( 'message' => $msg, 'file' => $file, 'line' => $line ); return true; }); $resource = call_user_func($callback); restore_error_handler(); if (!$resource) { $message = 'Error creating resource. '; foreach ($errors as $err) { foreach ($err as $key => $value) { $message .= "[$key] $value" . PHP_EOL; } } throw new RuntimeException(trim($message)); } return $resource; } } vendor/guzzle/guzzle/src/Guzzle/Stream/Stream.php000064400000016435147400355670016173 0ustar00 array( 'r' => true, 'w+' => true, 'r+' => true, 'x+' => true, 'c+' => true, 'rb' => true, 'w+b' => true, 'r+b' => true, 'x+b' => true, 'c+b' => true, 'rt' => true, 'w+t' => true, 'r+t' => true, 'x+t' => true, 'c+t' => true, 'a+' => true ), 'write' => array( 'w' => true, 'w+' => true, 'rw' => true, 'r+' => true, 'x+' => true, 'c+' => true, 'wb' => true, 'w+b' => true, 'r+b' => true, 'x+b' => true, 'c+b' => true, 'w+t' => true, 'r+t' => true, 'x+t' => true, 'c+t' => true, 'a' => true, 'a+' => true ) ); /** * @param resource $stream Stream resource to wrap * @param int $size Size of the stream in bytes. Only pass if the size cannot be obtained from the stream. * * @throws InvalidArgumentException if the stream is not a stream resource */ public function __construct($stream, $size = null) { $this->setStream($stream, $size); } /** * Closes the stream when the helper is destructed */ public function __destruct() { $this->close(); } public function __toString() { if (!$this->isReadable() || (!$this->isSeekable() && $this->isConsumed())) { return ''; } $originalPos = $this->ftell(); $body = stream_get_contents($this->stream, -1, 0); $this->seek($originalPos); return $body; } public function close() { if (is_resource($this->stream)) { fclose($this->stream); } $this->cache[self::IS_READABLE] = false; $this->cache[self::IS_WRITABLE] = false; } /** * Calculate a hash of a Stream * * @param StreamInterface $stream Stream to calculate the hash for * @param string $algo Hash algorithm (e.g. md5, crc32, etc) * @param bool $rawOutput Whether or not to use raw output * * @return bool|string Returns false on failure or a hash string on success */ public static function getHash(StreamInterface $stream, $algo, $rawOutput = false) { $pos = $stream->ftell(); if (!$stream->seek(0)) { return false; } $ctx = hash_init($algo); while (!$stream->feof()) { hash_update($ctx, $stream->read(8192)); } $out = hash_final($ctx, (bool) $rawOutput); $stream->seek($pos); return $out; } public function getMetaData($key = null) { $meta = stream_get_meta_data($this->stream); return !$key ? $meta : (array_key_exists($key, $meta) ? $meta[$key] : null); } public function getStream() { return $this->stream; } public function setStream($stream, $size = null) { if (!is_resource($stream)) { throw new InvalidArgumentException('Stream must be a resource'); } $this->size = $size; $this->stream = $stream; $this->rebuildCache(); return $this; } public function detachStream() { $this->stream = null; return $this; } public function getWrapper() { return $this->cache[self::WRAPPER_TYPE]; } public function getWrapperData() { return $this->getMetaData('wrapper_data') ?: array(); } public function getStreamType() { return $this->cache[self::STREAM_TYPE]; } public function getUri() { return $this->cache['uri']; } public function getSize() { if ($this->size !== null) { return $this->size; } // If the stream is a file based stream and local, then use fstat clearstatcache(true, $this->cache['uri']); $stats = fstat($this->stream); if (isset($stats['size'])) { $this->size = $stats['size']; return $this->size; } elseif ($this->cache[self::IS_READABLE] && $this->cache[self::SEEKABLE]) { // Only get the size based on the content if the the stream is readable and seekable $pos = $this->ftell(); $this->size = strlen((string) $this); $this->seek($pos); return $this->size; } return false; } public function isReadable() { return $this->cache[self::IS_READABLE]; } public function isRepeatable() { return $this->cache[self::IS_READABLE] && $this->cache[self::SEEKABLE]; } public function isWritable() { return $this->cache[self::IS_WRITABLE]; } public function isConsumed() { return feof($this->stream); } public function feof() { return $this->isConsumed(); } public function isLocal() { return $this->cache[self::IS_LOCAL]; } public function isSeekable() { return $this->cache[self::SEEKABLE]; } public function setSize($size) { $this->size = $size; return $this; } public function seek($offset, $whence = SEEK_SET) { return $this->cache[self::SEEKABLE] ? fseek($this->stream, $offset, $whence) === 0 : false; } public function read($length) { return fread($this->stream, $length); } public function write($string) { // We can't know the size after writing anything $this->size = null; return fwrite($this->stream, $string); } public function ftell() { return ftell($this->stream); } public function rewind() { return $this->seek(0); } public function readLine($maxLength = null) { if (!$this->cache[self::IS_READABLE]) { return false; } else { return $maxLength ? fgets($this->getStream(), $maxLength) : fgets($this->getStream()); } } public function setCustomData($key, $value) { $this->customData[$key] = $value; return $this; } public function getCustomData($key) { return isset($this->customData[$key]) ? $this->customData[$key] : null; } /** * Reprocess stream metadata */ protected function rebuildCache() { $this->cache = stream_get_meta_data($this->stream); $this->cache[self::IS_LOCAL] = stream_is_local($this->stream); $this->cache[self::IS_READABLE] = isset(self::$readWriteHash['read'][$this->cache['mode']]); $this->cache[self::IS_WRITABLE] = isset(self::$readWriteHash['write'][$this->cache['mode']]); } } vendor/guzzle/guzzle/src/Guzzle/Stream/StreamRequestFactoryInterface.php000064400000001533147400355670022706 0ustar00=5.3.2", "guzzle/cache": "self.version", "guzzle/http": "self.version", "guzzle/inflection": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Service": "" } }, "target-dir": "Guzzle/Service", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php000064400000005223147400355670020135 0ustar00loader = $loader; $this->cache = $cache; } public function load($config, array $options = array()) { if (!is_string($config)) { $key = false; } else { $key = 'loader_' . crc32($config); if ($result = $this->cache->fetch($key)) { return $result; } } $result = $this->loader->load($config, $options); if ($key) { $this->cache->save($key, $result); } return $result; } } vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilderLoader.php000064400000006504147400355670022525 0ustar00 &$service) { $service['params'] = isset($service['params']) ? $service['params'] : array(); // Check if this client builder extends another client if (!empty($service['extends'])) { // Make sure that the service it's extending has been defined if (!isset($services[$service['extends']])) { throw new ServiceNotFoundException( "{$name} is trying to extend a non-existent service: {$service['extends']}" ); } $extended = &$services[$service['extends']]; // Use the correct class attribute if (empty($service['class'])) { $service['class'] = isset($extended['class']) ? $extended['class'] : ''; } if ($extendsParams = isset($extended['params']) ? $extended['params'] : false) { $service['params'] = $service['params'] + $extendsParams; } } // Overwrite default values with global parameter values if (!empty($options)) { $service['params'] = $options + $service['params']; } $service['class'] = isset($service['class']) ? $service['class'] : ''; } return new $class($services); } protected function mergeData(array $a, array $b) { $result = $b + $a; // Merge services using a recursive union of arrays if (isset($a['services']) && $b['services']) { // Get a union of the services of the two arrays $result['services'] = $b['services'] + $a['services']; // Merge each service in using a union of the two arrays foreach ($result['services'] as $name => &$service) { // By default, services completely override a previously defined service unless it extends itself if (isset($a['services'][$name]['extends']) && isset($b['services'][$name]['extends']) && $b['services'][$name]['extends'] == $name ) { $service += $a['services'][$name]; // Use the `extends` attribute of the parent $service['extends'] = $a['services'][$name]['extends']; // Merge parameters using a union if both have parameters if (isset($a['services'][$name]['params'])) { $service['params'] += $a['services'][$name]['params']; } } } } return $result; } } vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilder.php000064400000013431147400355670021373 0ustar00load($config, $globalParameters); } /** * @param array $serviceBuilderConfig Service configuration settings: * - name: Name of the service * - class: Client class to instantiate using a factory method * - params: array of key value pair configuration settings for the builder */ public function __construct(array $serviceBuilderConfig = array()) { $this->builderConfig = $serviceBuilderConfig; } public static function getAllEvents() { return array('service_builder.create_client'); } public function unserialize($serialized) { $this->builderConfig = json_decode($serialized, true); } public function serialize() { return json_encode($this->builderConfig); } /** * Attach a plugin to every client created by the builder * * @param EventSubscriberInterface $plugin Plugin to attach to each client * * @return self */ public function addGlobalPlugin(EventSubscriberInterface $plugin) { $this->plugins[] = $plugin; return $this; } /** * Get data from the service builder without triggering the building of a service * * @param string $name Name of the service to retrieve * * @return array|null */ public function getData($name) { return isset($this->builderConfig[$name]) ? $this->builderConfig[$name] : null; } public function get($name, $throwAway = false) { if (!isset($this->builderConfig[$name])) { // Check to see if arbitrary data is being referenced if (isset($this->clients[$name])) { return $this->clients[$name]; } // Check aliases and return a match if found foreach ($this->builderConfig as $actualName => $config) { if (isset($config['alias']) && $config['alias'] == $name) { return $this->get($actualName, $throwAway); } } throw new ServiceNotFoundException('No service is registered as ' . $name); } if (!$throwAway && isset($this->clients[$name])) { return $this->clients[$name]; } $builder =& $this->builderConfig[$name]; // Convert references to the actual client foreach ($builder['params'] as &$v) { if (is_string($v) && substr($v, 0, 1) == '{' && substr($v, -1) == '}') { $v = $this->get(trim($v, '{} ')); } } // Get the configured parameters and merge in any parameters provided for throw-away clients $config = $builder['params']; if (is_array($throwAway)) { $config = $throwAway + $config; } $client = $builder['class']::factory($config); if (!$throwAway) { $this->clients[$name] = $client; } if ($client instanceof ClientInterface) { foreach ($this->plugins as $plugin) { $client->addSubscriber($plugin); } // Dispatch an event letting listeners know a client was created $this->dispatch('service_builder.create_client', array('client' => $client)); } return $client; } public function set($key, $service) { if (is_array($service) && isset($service['class']) && isset($service['params'])) { $this->builderConfig[$key] = $service; } else { $this->clients[$key] = $service; } return $this; } public function offsetSet($offset, $value) { $this->set($offset, $value); } public function offsetUnset($offset) { unset($this->builderConfig[$offset]); unset($this->clients[$offset]); } public function offsetExists($offset) { return isset($this->builderConfig[$offset]) || isset($this->clients[$offset]); } public function offsetGet($offset) { return $this->get($offset); } } vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilderInterface.php000064400000003706147400355670023220 0ustar00invalidCommands = $commands; parent::__construct( 'Encountered commands in a batch transfer that use inconsistent clients. The batching ' . 'strategy you use with a command transfer must divide command batches by client.' ); } /** * Get the invalid commands * * @return array */ public function getCommands() { return $this->invalidCommands; } } vendor/guzzle/guzzle/src/Guzzle/Service/Exception/ResponseClassException.php000064400000000225147400355670023474 0ustar00errors = $errors; } /** * Get any validation errors * * @return array */ public function getErrors() { return $this->errors; } } vendor/guzzle/guzzle/src/Guzzle/Service/Exception/CommandTransferException.php000064400000005705147400355670024003 0ustar00getMessage(), $e->getCode(), $e->getPrevious()); $ce->setSuccessfulRequests($e->getSuccessfulRequests()); $alreadyAddedExceptions = array(); foreach ($e->getFailedRequests() as $request) { if ($re = $e->getExceptionForFailedRequest($request)) { $alreadyAddedExceptions[] = $re; $ce->addFailedRequestWithException($request, $re); } else { $ce->addFailedRequest($request); } } // Add any exceptions that did not map to a request if (count($alreadyAddedExceptions) < count($e)) { foreach ($e as $ex) { if (!in_array($ex, $alreadyAddedExceptions)) { $ce->add($ex); } } } return $ce; } /** * Get all of the commands in the transfer * * @return array */ public function getAllCommands() { return array_merge($this->successfulCommands, $this->failedCommands); } /** * Add to the array of successful commands * * @param CommandInterface $command Successful command * * @return self */ public function addSuccessfulCommand(CommandInterface $command) { $this->successfulCommands[] = $command; return $this; } /** * Add to the array of failed commands * * @param CommandInterface $command Failed command * * @return self */ public function addFailedCommand(CommandInterface $command) { $this->failedCommands[] = $command; return $this; } /** * Get an array of successful commands * * @return array */ public function getSuccessfulCommands() { return $this->successfulCommands; } /** * Get an array of failed commands * * @return array */ public function getFailedCommands() { return $this->failedCommands; } /** * Get the Exception that caused the given $command to fail * * @param CommandInterface $command Failed command * * @return \Exception|null */ public function getExceptionForFailedCommand(CommandInterface $command) { return $this->getExceptionForFailedRequest($command->getRequest()); } } vendor/guzzle/guzzle/src/Guzzle/Service/Exception/DescriptionBuilderException.php000064400000000231147400355670024477 0ustar00getCommand($method, isset($args[0]) ? $args[0] : array())->getResult(); } public function getCommand($name, array $args = array()) { // Add global client options to the command if ($options = $this->getConfig(self::COMMAND_PARAMS)) { $args += $options; } if (!($command = $this->getCommandFactory()->factory($name, $args))) { throw new InvalidArgumentException("Command was not found matching {$name}"); } $command->setClient($this); $this->dispatch('client.command.create', array('client' => $this, 'command' => $command)); return $command; } /** * Set the command factory used to create commands by name * * @param CommandFactoryInterface $factory Command factory * * @return self */ public function setCommandFactory(CommandFactoryInterface $factory) { $this->commandFactory = $factory; return $this; } /** * Set the resource iterator factory associated with the client * * @param ResourceIteratorFactoryInterface $factory Resource iterator factory * * @return self */ public function setResourceIteratorFactory(ResourceIteratorFactoryInterface $factory) { $this->resourceIteratorFactory = $factory; return $this; } public function getIterator($command, array $commandOptions = null, array $iteratorOptions = array()) { if (!($command instanceof CommandInterface)) { $command = $this->getCommand($command, $commandOptions ?: array()); } return $this->getResourceIteratorFactory()->build($command, $iteratorOptions); } public function execute($command) { if ($command instanceof CommandInterface) { $this->send($this->prepareCommand($command)); $this->dispatch('command.after_send', array('command' => $command)); return $command->getResult(); } elseif (is_array($command) || $command instanceof \Traversable) { return $this->executeMultiple($command); } else { throw new InvalidArgumentException('Command must be a command or array of commands'); } } public function setDescription(ServiceDescriptionInterface $service) { $this->serviceDescription = $service; if ($this->getCommandFactory() && $this->getCommandFactory() instanceof CompositeFactory) { $this->commandFactory->add(new Command\Factory\ServiceDescriptionFactory($service)); } // If a baseUrl was set on the description, then update the client if ($baseUrl = $service->getBaseUrl()) { $this->setBaseUrl($baseUrl); } return $this; } public function getDescription() { return $this->serviceDescription; } /** * Set the inflector used with the client * * @param InflectorInterface $inflector Inflection object * * @return self */ public function setInflector(InflectorInterface $inflector) { $this->inflector = $inflector; return $this; } /** * Get the inflector used with the client * * @return self */ public function getInflector() { if (!$this->inflector) { $this->inflector = Inflector::getDefault(); } return $this->inflector; } /** * Prepare a command for sending and get the RequestInterface object created by the command * * @param CommandInterface $command Command to prepare * * @return RequestInterface */ protected function prepareCommand(CommandInterface $command) { // Set the client and prepare the command $request = $command->setClient($this)->prepare(); // Set the state to new if the command was previously executed $request->setState(RequestInterface::STATE_NEW); $this->dispatch('command.before_send', array('command' => $command)); return $request; } /** * Execute multiple commands in parallel * * @param array|Traversable $commands Array of CommandInterface objects to execute * * @return array Returns an array of the executed commands * @throws Exception\CommandTransferException */ protected function executeMultiple($commands) { $requests = array(); $commandRequests = new \SplObjectStorage(); foreach ($commands as $command) { $request = $this->prepareCommand($command); $commandRequests[$request] = $command; $requests[] = $request; } try { $this->send($requests); foreach ($commands as $command) { $this->dispatch('command.after_send', array('command' => $command)); } return $commands; } catch (MultiTransferException $failureException) { // Throw a CommandTransferException using the successful and failed commands $e = CommandTransferException::fromMultiTransferException($failureException); // Remove failed requests from the successful requests array and add to the failures array foreach ($failureException->getFailedRequests() as $request) { if (isset($commandRequests[$request])) { $e->addFailedCommand($commandRequests[$request]); unset($commandRequests[$request]); } } // Always emit the command after_send events for successful commands foreach ($commandRequests as $success) { $e->addSuccessfulCommand($commandRequests[$success]); $this->dispatch('command.after_send', array('command' => $commandRequests[$success])); } throw $e; } } protected function getResourceIteratorFactory() { if (!$this->resourceIteratorFactory) { // Build the default resource iterator factory if one is not set $clientClass = get_class($this); $prefix = substr($clientClass, 0, strrpos($clientClass, '\\')); $this->resourceIteratorFactory = new ResourceIteratorClassFactory(array( "{$prefix}\\Iterator", "{$prefix}\\Model" )); } return $this->resourceIteratorFactory; } /** * Get the command factory associated with the client * * @return CommandFactoryInterface */ protected function getCommandFactory() { if (!$this->commandFactory) { $this->commandFactory = CompositeFactory::getDefaultChain($this); } return $this->commandFactory; } /** * @deprecated * @codeCoverageIgnore */ public function enableMagicMethods($isEnabled) { Version::warn(__METHOD__ . ' is deprecated'); } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/CommandInterface.php000064400000006705147400355670021661 0ustar00operation = $operation ?: $this->createOperation(); foreach ($this->operation->getParams() as $name => $arg) { $currentValue = $this[$name]; $configValue = $arg->getValue($currentValue); // If default or static values are set, then this should always be updated on the config object if ($currentValue !== $configValue) { $this[$name] = $configValue; } } $headers = $this[self::HEADERS_OPTION]; if (!$headers instanceof Collection) { $this[self::HEADERS_OPTION] = new Collection((array) $headers); } // You can set a command.on_complete option in your parameters to set an onComplete callback if ($onComplete = $this['command.on_complete']) { unset($this['command.on_complete']); $this->setOnComplete($onComplete); } // Set the hidden additional parameters if (!$this[self::HIDDEN_PARAMS]) { $this[self::HIDDEN_PARAMS] = array( self::HEADERS_OPTION, self::RESPONSE_PROCESSING, self::HIDDEN_PARAMS, self::REQUEST_OPTIONS ); } $this->init(); } /** * Custom clone behavior */ public function __clone() { $this->request = null; $this->result = null; } /** * Execute the command in the same manner as calling a function * * @return mixed Returns the result of {@see AbstractCommand::execute} */ public function __invoke() { return $this->execute(); } public function getName() { return $this->operation->getName(); } /** * Get the API command information about the command * * @return OperationInterface */ public function getOperation() { return $this->operation; } public function setOnComplete($callable) { if (!is_callable($callable)) { throw new InvalidArgumentException('The onComplete function must be callable'); } $this->onComplete = $callable; return $this; } public function execute() { if (!$this->client) { throw new CommandException('A client must be associated with the command before it can be executed.'); } return $this->client->execute($this); } public function getClient() { return $this->client; } public function setClient(ClientInterface $client) { $this->client = $client; return $this; } public function getRequest() { if (!$this->request) { throw new CommandException('The command must be prepared before retrieving the request'); } return $this->request; } public function getResponse() { if (!$this->isExecuted()) { $this->execute(); } return $this->request->getResponse(); } public function getResult() { if (!$this->isExecuted()) { $this->execute(); } if (null === $this->result) { $this->process(); // Call the onComplete method if one is set if ($this->onComplete) { call_user_func($this->onComplete, $this); } } return $this->result; } public function setResult($result) { $this->result = $result; return $this; } public function isPrepared() { return $this->request !== null; } public function isExecuted() { return $this->request !== null && $this->request->getState() == 'complete'; } public function prepare() { if (!$this->isPrepared()) { if (!$this->client) { throw new CommandException('A client must be associated with the command before it can be prepared.'); } // If no response processing value was specified, then attempt to use the highest level of processing if (!isset($this[self::RESPONSE_PROCESSING])) { $this[self::RESPONSE_PROCESSING] = self::TYPE_MODEL; } // Notify subscribers of the client that the command is being prepared $this->client->dispatch('command.before_prepare', array('command' => $this)); // Fail on missing required arguments, and change parameters via filters $this->validate(); // Delegate to the subclass that implements the build method $this->build(); // Add custom request headers set on the command if ($headers = $this[self::HEADERS_OPTION]) { foreach ($headers as $key => $value) { $this->request->setHeader($key, $value); } } // Add any curl options to the request if ($options = $this[Client::CURL_OPTIONS]) { $this->request->getCurlOptions()->overwriteWith(CurlHandle::parseCurlConfig($options)); } // Set a custom response body if ($responseBody = $this[self::RESPONSE_BODY]) { $this->request->setResponseBody($responseBody); } $this->client->dispatch('command.after_prepare', array('command' => $this)); } return $this->request; } /** * Set the validator used to validate and prepare command parameters and nested JSON schemas. If no validator is * set, then the command will validate using the default {@see SchemaValidator}. * * @param ValidatorInterface $validator Validator used to prepare and validate properties against a JSON schema * * @return self */ public function setValidator(ValidatorInterface $validator) { $this->validator = $validator; return $this; } public function getRequestHeaders() { return $this[self::HEADERS_OPTION]; } /** * Initialize the command (hook that can be implemented in subclasses) */ protected function init() {} /** * Create the request object that will carry out the command */ abstract protected function build(); /** * Hook used to create an operation for concrete commands that are not associated with a service description * * @return OperationInterface */ protected function createOperation() { return new Operation(array('name' => get_class($this))); } /** * Create the result of the command after the request has been completed. * Override this method in subclasses to customize this behavior */ protected function process() { $this->result = $this[self::RESPONSE_PROCESSING] != self::TYPE_RAW ? DefaultResponseParser::getInstance()->parse($this) : $this->request->getResponse(); } /** * Validate and prepare the command based on the schema and rules defined by the command's Operation object * * @throws ValidationException when validation errors occur */ protected function validate() { // Do not perform request validation/transformation if it is disable if ($this[self::DISABLE_VALIDATION]) { return; } $errors = array(); $validator = $this->getValidator(); foreach ($this->operation->getParams() as $name => $schema) { $value = $this[$name]; if (!$validator->validate($schema, $value)) { $errors = array_merge($errors, $validator->getErrors()); } elseif ($value !== $this[$name]) { // Update the config value if it changed and no validation errors were encountered $this->data[$name] = $value; } } // Validate additional parameters $hidden = $this[self::HIDDEN_PARAMS]; if ($properties = $this->operation->getAdditionalParameters()) { foreach ($this->toArray() as $name => $value) { // It's only additional if it isn't defined in the schema if (!$this->operation->hasParam($name) && !in_array($name, $hidden)) { // Always set the name so that error messages are useful $properties->setName($name); if (!$validator->validate($properties, $value)) { $errors = array_merge($errors, $validator->getErrors()); } elseif ($value !== $this[$name]) { $this->data[$name] = $value; } } } } if (!empty($errors)) { $e = new ValidationException('Validation errors: ' . implode("\n", $errors)); $e->setErrors($errors); throw $e; } } /** * Get the validator used to prepare and validate properties. If no validator has been set on the command, then * the default {@see SchemaValidator} will be used. * * @return ValidatorInterface */ protected function getValidator() { if (!$this->validator) { $this->validator = SchemaValidator::getInstance(); } return $this->validator; } /** * Get array of any validation errors * If no validator has been set then return false */ public function getValidationErrors() { if (!$this->validator) { return false; } return $this->validator->getErrors(); } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/ClosureCommand.php000064400000002435147400355670021371 0ustar00request = $closure($this, $this->operation); if (!$this->request || !$this->request instanceof RequestInterface) { throw new UnexpectedValueException('Closure command did not return a RequestInterface object'); } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/ResponseClassInterface.php000064400000000673147400355670023065 0ustar00stopPropagation(); } /** * Get the created object * * @return mixed */ public function getResult() { return $this['result']; } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/OperationResponseParser.php000064400000016321147400355670023311 0ustar00factory = $factory; $this->schemaInModels = $schemaInModels; } /** * Add a location visitor to the command * * @param string $location Location to associate with the visitor * @param ResponseVisitorInterface $visitor Visitor to attach * * @return self */ public function addVisitor($location, ResponseVisitorInterface $visitor) { $this->factory->addResponseVisitor($location, $visitor); return $this; } protected function handleParsing(CommandInterface $command, Response $response, $contentType) { $operation = $command->getOperation(); $type = $operation->getResponseType(); $model = null; if ($type == OperationInterface::TYPE_MODEL) { $model = $operation->getServiceDescription()->getModel($operation->getResponseClass()); } elseif ($type == OperationInterface::TYPE_CLASS) { return $this->parseClass($command); } if (!$model) { // Return basic processing if the responseType is not model or the model cannot be found return parent::handleParsing($command, $response, $contentType); } elseif ($command[AbstractCommand::RESPONSE_PROCESSING] != AbstractCommand::TYPE_MODEL) { // Returns a model with no visiting if the command response processing is not model return new Model(parent::handleParsing($command, $response, $contentType)); } else { // Only inject the schema into the model if "schemaInModel" is true return new Model($this->visitResult($model, $command, $response), $this->schemaInModels ? $model : null); } } /** * Parse a class object * * @param CommandInterface $command Command to parse into an object * * @return mixed * @throws ResponseClassException */ protected function parseClass(CommandInterface $command) { // Emit the operation.parse_class event. If a listener injects a 'result' property, then that will be the result $event = new CreateResponseClassEvent(array('command' => $command)); $command->getClient()->getEventDispatcher()->dispatch('command.parse_response', $event); if ($result = $event->getResult()) { return $result; } $className = $command->getOperation()->getResponseClass(); if (!method_exists($className, 'fromCommand')) { throw new ResponseClassException("{$className} must exist and implement a static fromCommand() method"); } return $className::fromCommand($command); } /** * Perform transformations on the result array * * @param Parameter $model Model that defines the structure * @param CommandInterface $command Command that performed the operation * @param Response $response Response received * * @return array Returns the array of result data */ protected function visitResult(Parameter $model, CommandInterface $command, Response $response) { $foundVisitors = $result = $knownProps = array(); $props = $model->getProperties(); foreach ($props as $schema) { if ($location = $schema->getLocation()) { // Trigger the before method on the first found visitor of this type if (!isset($foundVisitors[$location])) { $foundVisitors[$location] = $this->factory->getResponseVisitor($location); $foundVisitors[$location]->before($command, $result); } } } // Visit additional properties when it is an actual schema if (($additional = $model->getAdditionalProperties()) instanceof Parameter) { $this->visitAdditionalProperties($model, $command, $response, $additional, $result, $foundVisitors); } // Apply the parameter value with the location visitor foreach ($props as $schema) { $knownProps[$schema->getName()] = 1; if ($location = $schema->getLocation()) { $foundVisitors[$location]->visit($command, $response, $schema, $result); } } // Remove any unknown and potentially unsafe top-level properties if ($additional === false) { $result = array_intersect_key($result, $knownProps); } // Call the after() method of each found visitor foreach ($foundVisitors as $visitor) { $visitor->after($command); } return $result; } protected function visitAdditionalProperties( Parameter $model, CommandInterface $command, Response $response, Parameter $additional, &$result, array &$foundVisitors ) { // Only visit when a location is specified if ($location = $additional->getLocation()) { if (!isset($foundVisitors[$location])) { $foundVisitors[$location] = $this->factory->getResponseVisitor($location); $foundVisitors[$location]->before($command, $result); } // Only traverse if an array was parsed from the before() visitors if (is_array($result)) { // Find each additional property foreach (array_keys($result) as $key) { // Check if the model actually knows this property. If so, then it is not additional if (!$model->getProperty($key)) { // Set the name to the key so that we can parse it with each visitor $additional->setName($key); $foundVisitors[$location]->visit($command, $response, $additional, $result); } } // Reset the additionalProperties name to null $additional->setName(null); } } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/OperationCommand.php000064400000004733147400355670021720 0ustar00responseParser = $parser; return $this; } /** * Set the request serializer used with the command * * @param RequestSerializerInterface $serializer Request serializer * * @return self */ public function setRequestSerializer(RequestSerializerInterface $serializer) { $this->requestSerializer = $serializer; return $this; } /** * Get the request serializer used with the command * * @return RequestSerializerInterface */ public function getRequestSerializer() { if (!$this->requestSerializer) { // Use the default request serializer if none was found $this->requestSerializer = DefaultRequestSerializer::getInstance(); } return $this->requestSerializer; } /** * Get the response parser used for the operation * * @return ResponseParserInterface */ public function getResponseParser() { if (!$this->responseParser) { // Use the default response parser if none was found $this->responseParser = OperationResponseParser::getInstance(); } return $this->responseParser; } protected function build() { // Prepare and serialize the request $this->request = $this->getRequestSerializer()->prepare($this); } protected function process() { // Do not process the response if 'command.response_processing' is set to 'raw' $this->result = $this[self::RESPONSE_PROCESSING] == self::TYPE_RAW ? $this->request->getResponse() : $this->getResponseParser()->parse($this); } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/RequestSerializerInterface.php000064400000000746147400355670023764 0ustar00factory = $factory; } /** * Add a location visitor to the serializer * * @param string $location Location to associate with the visitor * @param RequestVisitorInterface $visitor Visitor to attach * * @return self */ public function addVisitor($location, RequestVisitorInterface $visitor) { $this->factory->addRequestVisitor($location, $visitor); return $this; } public function prepare(CommandInterface $command) { $request = $this->createRequest($command); // Keep an array of visitors found in the operation $foundVisitors = array(); $operation = $command->getOperation(); // Add arguments to the request using the location attribute foreach ($operation->getParams() as $name => $arg) { /** @var $arg \Guzzle\Service\Description\Parameter */ $location = $arg->getLocation(); // Skip 'uri' locations because they've already been processed if ($location && $location != 'uri') { // Instantiate visitors as they are detected in the properties if (!isset($foundVisitors[$location])) { $foundVisitors[$location] = $this->factory->getRequestVisitor($location); } // Ensure that a value has been set for this parameter $value = $command[$name]; if ($value !== null) { // Apply the parameter value with the location visitor $foundVisitors[$location]->visit($command, $request, $arg, $value); } } } // Serialize additional parameters if ($additional = $operation->getAdditionalParameters()) { if ($visitor = $this->prepareAdditionalParameters($operation, $command, $request, $additional)) { $foundVisitors[$additional->getLocation()] = $visitor; } } // Call the after method on each visitor found in the operation foreach ($foundVisitors as $visitor) { $visitor->after($command, $request); } return $request; } /** * Serialize additional parameters * * @param OperationInterface $operation Operation that owns the command * @param CommandInterface $command Command to prepare * @param RequestInterface $request Request to serialize * @param Parameter $additional Additional parameters * * @return null|RequestVisitorInterface */ protected function prepareAdditionalParameters( OperationInterface $operation, CommandInterface $command, RequestInterface $request, Parameter $additional ) { if (!($location = $additional->getLocation())) { return; } $visitor = $this->factory->getRequestVisitor($location); $hidden = $command[$command::HIDDEN_PARAMS]; foreach ($command->toArray() as $key => $value) { // Ignore values that are null or built-in command options if ($value !== null && !in_array($key, $hidden) && !$operation->hasParam($key) ) { $additional->setName($key); $visitor->visit($command, $request, $additional, $value); } } return $visitor; } /** * Create a request for the command and operation * * @param CommandInterface $command Command to create a request for * * @return RequestInterface */ protected function createRequest(CommandInterface $command) { $operation = $command->getOperation(); $client = $command->getClient(); $options = $command[AbstractCommand::REQUEST_OPTIONS] ?: array(); // If the command does not specify a template, then assume the base URL of the client if (!($uri = $operation->getUri())) { return $client->createRequest($operation->getHttpMethod(), $client->getBaseUrl(), null, null, $options); } // Get the path values and use the client config settings $variables = array(); foreach ($operation->getParams() as $name => $arg) { if ($arg->getLocation() == 'uri') { if (isset($command[$name])) { $variables[$name] = $arg->filter($command[$name]); if (!is_array($variables[$name])) { $variables[$name] = (string) $variables[$name]; } } } } return $client->createRequest($operation->getHttpMethod(), array($uri, $variables), null, null, $options); } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/ResponseParserInterface.php000064400000000753147400355670023253 0ustar00getRequest()->getResponse(); // Account for hard coded content-type values specified in service descriptions if ($contentType = $command['command.expects']) { $response->setHeader('Content-Type', $contentType); } else { $contentType = (string) $response->getHeader('Content-Type'); } return $this->handleParsing($command, $response, $contentType); } protected function handleParsing(CommandInterface $command, Response $response, $contentType) { $result = $response; if ($result->getBody()) { if (stripos($contentType, 'json') !== false) { $result = $result->json(); } elseif (stripos($contentType, 'xml') !== false) { $result = $result->xml(); } } return $result; } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/VisitorFlyweight.php000064400000011323147400355670025124 0ustar00 'Guzzle\Service\Command\LocationVisitor\Request\BodyVisitor', 'request.header' => 'Guzzle\Service\Command\LocationVisitor\Request\HeaderVisitor', 'request.json' => 'Guzzle\Service\Command\LocationVisitor\Request\JsonVisitor', 'request.postField' => 'Guzzle\Service\Command\LocationVisitor\Request\PostFieldVisitor', 'request.postFile' => 'Guzzle\Service\Command\LocationVisitor\Request\PostFileVisitor', 'request.query' => 'Guzzle\Service\Command\LocationVisitor\Request\QueryVisitor', 'request.response_body' => 'Guzzle\Service\Command\LocationVisitor\Request\ResponseBodyVisitor', 'request.responseBody' => 'Guzzle\Service\Command\LocationVisitor\Request\ResponseBodyVisitor', 'request.xml' => 'Guzzle\Service\Command\LocationVisitor\Request\XmlVisitor', 'response.body' => 'Guzzle\Service\Command\LocationVisitor\Response\BodyVisitor', 'response.header' => 'Guzzle\Service\Command\LocationVisitor\Response\HeaderVisitor', 'response.json' => 'Guzzle\Service\Command\LocationVisitor\Response\JsonVisitor', 'response.reasonPhrase' => 'Guzzle\Service\Command\LocationVisitor\Response\ReasonPhraseVisitor', 'response.statusCode' => 'Guzzle\Service\Command\LocationVisitor\Response\StatusCodeVisitor', 'response.xml' => 'Guzzle\Service\Command\LocationVisitor\Response\XmlVisitor' ); /** @var array Array of mappings of location names to classes */ protected $mappings; /** @var array Cache of instantiated visitors */ protected $cache = array(); /** * @return self * @codeCoverageIgnore */ public static function getInstance() { if (!self::$instance) { self::$instance = new self(); } return self::$instance; } /** * @param array $mappings Array mapping request.name and response.name to location visitor classes. Leave null to * use the default values. */ public function __construct(array $mappings = null) { $this->mappings = $mappings === null ? self::$defaultMappings : $mappings; } /** * Get an instance of a request visitor by location name * * @param string $visitor Visitor name * * @return RequestVisitorInterface */ public function getRequestVisitor($visitor) { return $this->getKey('request.' . $visitor); } /** * Get an instance of a response visitor by location name * * @param string $visitor Visitor name * * @return ResponseVisitorInterface */ public function getResponseVisitor($visitor) { return $this->getKey('response.' . $visitor); } /** * Add a response visitor to the factory by name * * @param string $name Name of the visitor * @param RequestVisitorInterface $visitor Visitor to add * * @return self */ public function addRequestVisitor($name, RequestVisitorInterface $visitor) { $this->cache['request.' . $name] = $visitor; return $this; } /** * Add a response visitor to the factory by name * * @param string $name Name of the visitor * @param ResponseVisitorInterface $visitor Visitor to add * * @return self */ public function addResponseVisitor($name, ResponseVisitorInterface $visitor) { $this->cache['response.' . $name] = $visitor; return $this; } /** * Get a visitor by key value name * * @param string $key Key name to retrieve * * @return mixed * @throws InvalidArgumentException */ private function getKey($key) { if (!isset($this->cache[$key])) { if (!isset($this->mappings[$key])) { list($type, $name) = explode('.', $key); throw new InvalidArgumentException("No {$type} visitor has been mapped for {$name}"); } $this->cache[$key] = new $this->mappings[$key]; } return $this->cache[$key]; } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/HeaderVisitor.php000064400000002771147400355670026011 0ustar00filter($value); if ($param->getType() == 'object' && $param->getAdditionalProperties() instanceof Parameter) { $this->addPrefixedHeaders($request, $param, $value); } else { $request->setHeader($param->getWireName(), $value); } } /** * Add a prefixed array of headers to the request * * @param RequestInterface $request Request to update * @param Parameter $param Parameter object * @param array $value Header array to add * * @throws InvalidArgumentException */ protected function addPrefixedHeaders(RequestInterface $request, Parameter $param, $value) { if (!is_array($value)) { throw new InvalidArgumentException('An array of mapped headers expected, but received a single value'); } $prefix = $param->getSentAs(); foreach ($value as $headerName => $headerValue) { $request->setHeader($prefix . $headerName, $headerValue); } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/XmlVisitor.php000064400000017643147400355670025365 0ustar00data = new \SplObjectStorage(); } /** * Change the content-type header that is added when XML is found * * @param string $header Header to set when XML is found * * @return self */ public function setContentTypeHeader($header) { $this->contentType = $header; return $this; } public function visit(CommandInterface $command, RequestInterface $request, Parameter $param, $value) { $xml = isset($this->data[$command]) ? $this->data[$command] : $this->createRootElement($param->getParent()); $this->addXml($xml, $param, $value); $this->data[$command] = $xml; } public function after(CommandInterface $command, RequestInterface $request) { $xml = null; // If data was found that needs to be serialized, then do so if (isset($this->data[$command])) { $xml = $this->finishDocument($this->data[$command]); unset($this->data[$command]); } else { // Check if XML should always be sent for the command $operation = $command->getOperation(); if ($operation->getData('xmlAllowEmpty')) { $xmlWriter = $this->createRootElement($operation); $xml = $this->finishDocument($xmlWriter); } } if ($xml) { // Don't overwrite the Content-Type if one is set if ($this->contentType && !$request->hasHeader('Content-Type')) { $request->setHeader('Content-Type', $this->contentType); } $request->setBody($xml); } } /** * Create the root XML element to use with a request * * @param Operation $operation Operation object * * @return \XMLWriter */ protected function createRootElement(Operation $operation) { static $defaultRoot = array('name' => 'Request'); // If no root element was specified, then just wrap the XML in 'Request' $root = $operation->getData('xmlRoot') ?: $defaultRoot; // Allow the XML declaration to be customized with xmlEncoding $encoding = $operation->getData('xmlEncoding'); $xmlWriter = $this->startDocument($encoding); $xmlWriter->startElement($root['name']); // Create the wrapping element with no namespaces if no namespaces were present if (!empty($root['namespaces'])) { // Create the wrapping element with an array of one or more namespaces foreach ((array) $root['namespaces'] as $prefix => $uri) { $nsLabel = 'xmlns'; if (!is_numeric($prefix)) { $nsLabel .= ':'.$prefix; } $xmlWriter->writeAttribute($nsLabel, $uri); } } return $xmlWriter; } /** * Recursively build the XML body * * @param \XMLWriter $xmlWriter XML to modify * @param Parameter $param API Parameter * @param mixed $value Value to add */ protected function addXml(\XMLWriter $xmlWriter, Parameter $param, $value) { if ($value === null) { return; } $value = $param->filter($value); $type = $param->getType(); $name = $param->getWireName(); $prefix = null; $namespace = $param->getData('xmlNamespace'); if (false !== strpos($name, ':')) { list($prefix, $name) = explode(':', $name, 2); } if ($type == 'object' || $type == 'array') { if (!$param->getData('xmlFlattened')) { $xmlWriter->startElementNS(null, $name, $namespace); } if ($param->getType() == 'array') { $this->addXmlArray($xmlWriter, $param, $value); } elseif ($param->getType() == 'object') { $this->addXmlObject($xmlWriter, $param, $value); } if (!$param->getData('xmlFlattened')) { $xmlWriter->endElement(); } return; } if ($param->getData('xmlAttribute')) { $this->writeAttribute($xmlWriter, $prefix, $name, $namespace, $value); } else { $this->writeElement($xmlWriter, $prefix, $name, $namespace, $value); } } /** * Write an attribute with namespace if used * * @param \XMLWriter $xmlWriter XMLWriter instance * @param string $prefix Namespace prefix if any * @param string $name Attribute name * @param string $namespace The uri of the namespace * @param string $value The attribute content */ protected function writeAttribute($xmlWriter, $prefix, $name, $namespace, $value) { if (empty($namespace)) { $xmlWriter->writeAttribute($name, $value); } else { $xmlWriter->writeAttributeNS($prefix, $name, $namespace, $value); } } /** * Write an element with namespace if used * * @param \XMLWriter $xmlWriter XML writer resource * @param string $prefix Namespace prefix if any * @param string $name Element name * @param string $namespace The uri of the namespace * @param string $value The element content */ protected function writeElement(\XMLWriter $xmlWriter, $prefix, $name, $namespace, $value) { $xmlWriter->startElementNS($prefix, $name, $namespace); if (strpbrk($value, '<>&')) { $xmlWriter->writeCData($value); } else { $xmlWriter->writeRaw($value); } $xmlWriter->endElement(); } /** * Create a new xml writer and start a document * * @param string $encoding document encoding * * @return \XMLWriter the writer resource */ protected function startDocument($encoding) { $xmlWriter = new \XMLWriter(); $xmlWriter->openMemory(); $xmlWriter->startDocument('1.0', $encoding); return $xmlWriter; } /** * End the document and return the output * * @param \XMLWriter $xmlWriter * * @return \string the writer resource */ protected function finishDocument($xmlWriter) { $xmlWriter->endDocument(); return $xmlWriter->outputMemory(); } /** * Add an array to the XML */ protected function addXmlArray(\XMLWriter $xmlWriter, Parameter $param, &$value) { if ($items = $param->getItems()) { foreach ($value as $v) { $this->addXml($xmlWriter, $items, $v); } } } /** * Add an object to the XML */ protected function addXmlObject(\XMLWriter $xmlWriter, Parameter $param, &$value) { $noAttributes = array(); // add values which have attributes foreach ($value as $name => $v) { if ($property = $param->getProperty($name)) { if ($property->getData('xmlAttribute')) { $this->addXml($xmlWriter, $property, $v); } else { $noAttributes[] = array('value' => $v, 'property' => $property); } } } // now add values with no attributes foreach ($noAttributes as $element) { $this->addXml($xmlWriter, $element['property'], $element['value']); } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/BodyVisitor.php000064400000004657147400355670025523 0ustar00filter($value); $entityBody = EntityBody::factory($value); $request->setBody($entityBody); $this->addExpectHeader($request, $entityBody, $param->getData('expect_header')); // Add the Content-Encoding header if one is set on the EntityBody if ($encoding = $entityBody->getContentEncoding()) { $request->setHeader('Content-Encoding', $encoding); } } /** * Add the appropriate expect header to a request * * @param EntityEnclosingRequestInterface $request Request to update * @param EntityBodyInterface $body Entity body of the request * @param string|int $expect Expect header setting */ protected function addExpectHeader(EntityEnclosingRequestInterface $request, EntityBodyInterface $body, $expect) { // Allow the `expect` data parameter to be set to remove the Expect header from the request if ($expect === false) { $request->removeHeader('Expect'); } elseif ($expect !== true) { // Default to using a MB as the point in which to start using the expect header $expect = $expect ?: 1048576; // If the expect_header value is numeric then only add if the size is greater than the cutoff if (is_numeric($expect) && $body->getSize()) { if ($body->getSize() < $expect) { $request->removeHeader('Expect'); } else { $request->setHeader('Expect', '100-Continue'); } } } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/JsonVisitor.php000064400000003750147400355670025530 0ustar00data = new \SplObjectStorage(); } /** * Set the Content-Type header to add to the request if JSON is added to the body. This visitor does not add a * Content-Type header unless you specify one here. * * @param string $header Header to set when JSON is added (e.g. application/json) * * @return self */ public function setContentTypeHeader($header = 'application/json') { $this->jsonContentType = $header; return $this; } public function visit(CommandInterface $command, RequestInterface $request, Parameter $param, $value) { if (isset($this->data[$command])) { $json = $this->data[$command]; } else { $json = array(); } $json[$param->getWireName()] = $this->prepareValue($value, $param); $this->data[$command] = $json; } public function after(CommandInterface $command, RequestInterface $request) { if (isset($this->data[$command])) { // Don't overwrite the Content-Type if one is set if ($this->jsonContentType && !$request->hasHeader('Content-Type')) { $request->setHeader('Content-Type', $this->jsonContentType); } $request->setBody(json_encode($this->data[$command])); unset($this->data[$command]); } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/RequestVisitorInterface.php000064400000002067147400355670030070 0ustar00filter($value); if ($value instanceof PostFileInterface) { $request->addPostFile($value); } else { $request->addPostFile($param->getWireName(), $value); } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/PostFieldVisitor.php000064400000001015147400355670026500 0ustar00setPostField($param->getWireName(), $this->prepareValue($value, $param)); } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/ResponseBodyVisitor.php000064400000000763147400355670027234 0ustar00setResponseBody($value); } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/QueryVisitor.php000064400000001030147400355670025711 0ustar00getQuery()->set($param->getWireName(), $this->prepareValue($value, $param)); } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Request/AbstractRequestVisitor.php000064400000004376147400355670027740 0ustar00resolveRecursively($value, $param) : $param->filter($value); } /** * Map nested parameters into the location_key based parameters * * @param array $value Value to map * @param Parameter $param Parameter that holds information about the current key * * @return array Returns the mapped array */ protected function resolveRecursively(array $value, Parameter $param) { foreach ($value as $name => &$v) { switch ($param->getType()) { case 'object': if ($subParam = $param->getProperty($name)) { $key = $subParam->getWireName(); $value[$key] = $this->prepareValue($v, $subParam); if ($name != $key) { unset($value[$name]); } } elseif ($param->getAdditionalProperties() instanceof Parameter) { $v = $this->prepareValue($v, $param->getAdditionalProperties()); } break; case 'array': if ($items = $param->getItems()) { $v = $this->prepareValue($v, $items); } break; } } return $param->filter($value); } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/HeaderVisitor.php000064400000003426147400355670026155 0ustar00getType() == 'object' && $param->getAdditionalProperties() instanceof Parameter) { $this->processPrefixedHeaders($response, $param, $value); } else { $value[$param->getName()] = $param->filter((string) $response->getHeader($param->getWireName())); } } /** * Process a prefixed header array * * @param Response $response Response that contains the headers * @param Parameter $param Parameter object * @param array $value Value response array to modify */ protected function processPrefixedHeaders(Response $response, Parameter $param, &$value) { // Grab prefixed headers that should be placed into an array with the prefix stripped if ($prefix = $param->getSentAs()) { $container = $param->getName(); $len = strlen($prefix); // Find all matching headers and place them into the containing element foreach ($response->getHeaders()->toArray() as $key => $header) { if (stripos($key, $prefix) === 0) { // Account for multi-value headers $value[$container][substr($key, $len)] = count($header) == 1 ? end($header) : $header; } } } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/XmlVisitor.php000064400000012720147400355670025522 0ustar00getResponse()->xml()), true); } public function visit( CommandInterface $command, Response $response, Parameter $param, &$value, $context = null ) { $sentAs = $param->getWireName(); $name = $param->getName(); if (isset($value[$sentAs])) { $this->recursiveProcess($param, $value[$sentAs]); if ($name != $sentAs) { $value[$name] = $value[$sentAs]; unset($value[$sentAs]); } } } /** * Recursively process a parameter while applying filters * * @param Parameter $param API parameter being processed * @param mixed $value Value to validate and process. The value may change during this process. */ protected function recursiveProcess(Parameter $param, &$value) { $type = $param->getType(); if (!is_array($value)) { if ($type == 'array') { // Cast to an array if the value was a string, but should be an array $this->recursiveProcess($param->getItems(), $value); $value = array($value); } } elseif ($type == 'object') { $this->processObject($param, $value); } elseif ($type == 'array') { $this->processArray($param, $value); } elseif ($type == 'string' && gettype($value) == 'array') { $value = ''; } if ($value !== null) { $value = $param->filter($value); } } /** * Process an array * * @param Parameter $param API parameter being parsed * @param mixed $value Value to process */ protected function processArray(Parameter $param, &$value) { // Convert the node if it was meant to be an array if (!isset($value[0])) { // Collections fo nodes are sometimes wrapped in an additional array. For example: // 12 should become: // array('Items' => array(array('a' => 1), array('a' => 2)) // Some nodes are not wrapped. For example: 12 // should become array('Foo' => array(array('a' => 1), array('a' => 2)) if ($param->getItems() && isset($value[$param->getItems()->getWireName()])) { // Account for the case of a collection wrapping wrapped nodes: Items => Item[] $value = $value[$param->getItems()->getWireName()]; // If the wrapped node only had one value, then make it an array of nodes if (!isset($value[0]) || !is_array($value)) { $value = array($value); } } elseif (!empty($value)) { // Account for repeated nodes that must be an array: Foo => Baz, Foo => Baz, but only if the // value is set and not empty $value = array($value); } } foreach ($value as &$item) { $this->recursiveProcess($param->getItems(), $item); } } /** * Process an object * * @param Parameter $param API parameter being parsed * @param mixed $value Value to process */ protected function processObject(Parameter $param, &$value) { // Ensure that the array is associative and not numerically indexed if (!isset($value[0]) && ($properties = $param->getProperties())) { $knownProperties = array(); foreach ($properties as $property) { $name = $property->getName(); $sentAs = $property->getWireName(); $knownProperties[$name] = 1; if ($property->getData('xmlAttribute')) { $this->processXmlAttribute($property, $value); } elseif (isset($value[$sentAs])) { $this->recursiveProcess($property, $value[$sentAs]); if ($name != $sentAs) { $value[$name] = $value[$sentAs]; unset($value[$sentAs]); } } } // Remove any unknown and potentially unsafe properties if ($param->getAdditionalProperties() === false) { $value = array_intersect_key($value, $knownProperties); } } } /** * Process an XML attribute property * * @param Parameter $property Property to process * @param array $value Value to process and update */ protected function processXmlAttribute(Parameter $property, array &$value) { $sentAs = $property->getWireName(); if (isset($value['@attributes'][$sentAs])) { $value[$property->getName()] = $value['@attributes'][$sentAs]; unset($value['@attributes'][$sentAs]); if (empty($value['@attributes'])) { unset($value['@attributes']); } } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/BodyVisitor.php000064400000001063147400355670025655 0ustar00getName()] = $param->filter($response->getBody()); } } guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ResponseVisitorInterface.php000064400000003062147400355670030321 0ustar00vendorgetName()] = $response->getStatusCode(); } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/ReasonPhraseVisitor.php000064400000001110147400355670027343 0ustar00getName()] = $response->getReasonPhrase(); } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/JsonVisitor.php000064400000006672147400355670025704 0ustar00getResponse()->json(); } public function visit( CommandInterface $command, Response $response, Parameter $param, &$value, $context = null ) { $name = $param->getName(); $key = $param->getWireName(); if (isset($value[$key])) { $this->recursiveProcess($param, $value[$key]); if ($key != $name) { $value[$name] = $value[$key]; unset($value[$key]); } } } /** * Recursively process a parameter while applying filters * * @param Parameter $param API parameter being validated * @param mixed $value Value to validate and process. The value may change during this process. */ protected function recursiveProcess(Parameter $param, &$value) { if ($value === null) { return; } if (is_array($value)) { $type = $param->getType(); if ($type == 'array') { foreach ($value as &$item) { $this->recursiveProcess($param->getItems(), $item); } } elseif ($type == 'object' && !isset($value[0])) { // On the above line, we ensure that the array is associative and not numerically indexed $knownProperties = array(); if ($properties = $param->getProperties()) { foreach ($properties as $property) { $name = $property->getName(); $key = $property->getWireName(); $knownProperties[$name] = 1; if (isset($value[$key])) { $this->recursiveProcess($property, $value[$key]); if ($key != $name) { $value[$name] = $value[$key]; unset($value[$key]); } } } } // Remove any unknown and potentially unsafe properties if ($param->getAdditionalProperties() === false) { $value = array_intersect_key($value, $knownProperties); } elseif (($additional = $param->getAdditionalProperties()) !== true) { // Validate and filter additional properties foreach ($value as &$v) { $this->recursiveProcess($additional, $v); } } } } $value = $param->filter($value); } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/LocationVisitor/Response/AbstractResponseVisitor.php000064400000001146147400355670030244 0ustar00setServiceDescription($description); $this->inflector = $inflector; } /** * Change the service description used with the factory * * @param ServiceDescriptionInterface $description Service description to use * * @return FactoryInterface */ public function setServiceDescription(ServiceDescriptionInterface $description) { $this->description = $description; return $this; } /** * Returns the service description * * @return ServiceDescriptionInterface */ public function getServiceDescription() { return $this->description; } public function factory($name, array $args = array()) { $command = $this->description->getOperation($name); // If a command wasn't found, then try to uppercase the first letter and try again if (!$command) { $command = $this->description->getOperation(ucfirst($name)); // If an inflector was passed, then attempt to get the command using snake_case inflection if (!$command && $this->inflector) { $command = $this->description->getOperation($this->inflector->snake($name)); } } if ($command) { $class = $command->getClass(); return new $class($args, $command, $this->description); } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/ConcreteClassFactory.php000064400000003105147400355670024140 0ustar00client = $client; $this->inflector = $inflector ?: Inflector::getDefault(); } public function factory($name, array $args = array()) { // Determine the class to instantiate based on the namespace of the current client and the default directory $prefix = $this->client->getConfig('command.prefix'); if (!$prefix) { // The prefix can be specified in a factory method and is cached $prefix = implode('\\', array_slice(explode('\\', get_class($this->client)), 0, -1)) . '\\Command\\'; $this->client->getConfig()->set('command.prefix', $prefix); } $class = $prefix . str_replace(' ', '\\', ucwords(str_replace('.', ' ', $this->inflector->camel($name)))); // Create the concrete command if it exists if (class_exists($class)) { return new $class($args); } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/MapFactory.php000064400000001177147400355670022134 0ustar00map = $map; } public function factory($name, array $args = array()) { if (isset($this->map[$name])) { $class = $this->map[$name]; return new $class($args); } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/AliasFactory.php000064400000002140147400355670022437 0ustar00client = $client; $this->aliases = $aliases; } public function factory($name, array $args = array()) { if (isset($this->aliases[$name])) { try { return $this->client->getCommand($this->aliases[$name], $args); } catch (InvalidArgumentException $e) { return null; } } } } vendor/guzzle/guzzle/src/Guzzle/Service/Command/Factory/CompositeFactory.php000064400000010034147400355670023351 0ustar00getDescription()) { $factories[] = new ServiceDescriptionFactory($description); } $factories[] = new ConcreteClassFactory($client); return new static($factories); } /** * @param array $factories Array of command factories */ public function __construct(array $factories = array()) { $this->factories = $factories; } /** * Add a command factory to the chain * * @param FactoryInterface $factory Factory to add * @param string|FactoryInterface $before Insert the new command factory before a command factory class or object * matching a class name. * @return CompositeFactory */ public function add(FactoryInterface $factory, $before = null) { $pos = null; if ($before) { foreach ($this->factories as $i => $f) { if ($before instanceof FactoryInterface) { if ($f === $before) { $pos = $i; break; } } elseif (is_string($before)) { if ($f instanceof $before) { $pos = $i; break; } } } } if ($pos === null) { $this->factories[] = $factory; } else { array_splice($this->factories, $i, 0, array($factory)); } return $this; } /** * Check if the chain contains a specific command factory * * @param FactoryInterface|string $factory Factory to check * * @return bool */ public function has($factory) { return (bool) $this->find($factory); } /** * Remove a specific command factory from the chain * * @param string|FactoryInterface $factory Factory to remove by name or instance * * @return CompositeFactory */ public function remove($factory = null) { if (!($factory instanceof FactoryInterface)) { $factory = $this->find($factory); } $this->factories = array_values(array_filter($this->factories, function($f) use ($factory) { return $f !== $factory; })); return $this; } /** * Get a command factory by class name * * @param string|FactoryInterface $factory Command factory class or instance * * @return null|FactoryInterface */ public function find($factory) { foreach ($this->factories as $f) { if ($factory === $f || (is_string($factory) && $f instanceof $factory)) { return $f; } } } /** * Create a command using the associated command factories * * @param string $name Name of the command * @param array $args Command arguments * * @return CommandInterface */ public function factory($name, array $args = array()) { foreach ($this->factories as $factory) { $command = $factory->factory($name, $args); if ($command) { return $command; } } } public function count() { return count($this->factories); } public function getIterator() { return new \ArrayIterator($this->factories); } } vendor/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescriptionLoader.php000064400000004747147400355670024326 0ustar00 $op) { $name = $op['name'] = isset($op['name']) ? $op['name'] : $name; // Extend other operations if (!empty($op['extends'])) { $this->resolveExtension($name, $op, $operations); } $op['parameters'] = isset($op['parameters']) ? $op['parameters'] : array(); $operations[$name] = $op; } } return new ServiceDescription(array( 'apiVersion' => isset($config['apiVersion']) ? $config['apiVersion'] : null, 'baseUrl' => isset($config['baseUrl']) ? $config['baseUrl'] : null, 'description' => isset($config['description']) ? $config['description'] : null, 'operations' => $operations, 'models' => isset($config['models']) ? $config['models'] : null ) + $config); } /** * @param string $name Name of the operation * @param array $op Operation value array * @param array $operations Currently loaded operations * @throws DescriptionBuilderException when extending a non-existent operation */ protected function resolveExtension($name, array &$op, array &$operations) { $resolved = array(); $original = empty($op['parameters']) ? false: $op['parameters']; $hasClass = !empty($op['class']); foreach ((array) $op['extends'] as $extendedCommand) { if (empty($operations[$extendedCommand])) { throw new DescriptionBuilderException("{$name} extends missing operation {$extendedCommand}"); } $toArray = $operations[$extendedCommand]; $resolved = empty($resolved) ? $toArray['parameters'] : array_merge($resolved, $toArray['parameters']); $op = $op + $toArray; if (!$hasClass && isset($toArray['class'])) { $op['class'] = $toArray['class']; } } $op['parameters'] = $original ? array_merge($resolved, $original) : $resolved; } } vendor/guzzle/guzzle/src/Guzzle/Service/Description/ServiceDescription.php000064400000016214147400355670023167 0ustar00load($config, $options); } /** * @param array $config Array of configuration data */ public function __construct(array $config = array()) { $this->fromArray($config); } public function serialize() { return json_encode($this->toArray()); } public function unserialize($json) { $this->operations = array(); $this->fromArray(json_decode($json, true)); } public function toArray() { $result = array( 'name' => $this->name, 'apiVersion' => $this->apiVersion, 'baseUrl' => $this->baseUrl, 'description' => $this->description ) + $this->extraData; $result['operations'] = array(); foreach ($this->getOperations() as $name => $operation) { $result['operations'][$operation->getName() ?: $name] = $operation->toArray(); } if (!empty($this->models)) { $result['models'] = array(); foreach ($this->models as $id => $model) { $result['models'][$id] = $model instanceof Parameter ? $model->toArray(): $model; } } return array_filter($result); } public function getBaseUrl() { return $this->baseUrl; } /** * Set the baseUrl of the description * * @param string $baseUrl Base URL of each operation * * @return self */ public function setBaseUrl($baseUrl) { $this->baseUrl = $baseUrl; return $this; } public function getOperations() { foreach (array_keys($this->operations) as $name) { $this->getOperation($name); } return $this->operations; } public function hasOperation($name) { return isset($this->operations[$name]); } public function getOperation($name) { // Lazily retrieve and build operations if (!isset($this->operations[$name])) { return null; } if (!($this->operations[$name] instanceof Operation)) { $this->operations[$name] = new Operation($this->operations[$name], $this); } return $this->operations[$name]; } /** * Add a operation to the service description * * @param OperationInterface $operation Operation to add * * @return self */ public function addOperation(OperationInterface $operation) { $this->operations[$operation->getName()] = $operation->setServiceDescription($this); return $this; } public function getModel($id) { if (!isset($this->models[$id])) { return null; } if (!($this->models[$id] instanceof Parameter)) { $this->models[$id] = new Parameter($this->models[$id] + array('name' => $id), $this); } return $this->models[$id]; } public function getModels() { // Ensure all models are converted into parameter objects foreach (array_keys($this->models) as $id) { $this->getModel($id); } return $this->models; } public function hasModel($id) { return isset($this->models[$id]); } /** * Add a model to the service description * * @param Parameter $model Model to add * * @return self */ public function addModel(Parameter $model) { $this->models[$model->getName()] = $model; return $this; } public function getApiVersion() { return $this->apiVersion; } public function getName() { return $this->name; } public function getDescription() { return $this->description; } public function getData($key) { return isset($this->extraData[$key]) ? $this->extraData[$key] : null; } public function setData($key, $value) { $this->extraData[$key] = $value; return $this; } /** * Initialize the state from an array * * @param array $config Configuration data * @throws InvalidArgumentException */ protected function fromArray(array $config) { // Keep a list of default keys used in service descriptions that is later used to determine extra data keys static $defaultKeys = array('name', 'models', 'apiVersion', 'baseUrl', 'description'); // Pull in the default configuration values foreach ($defaultKeys as $key) { if (isset($config[$key])) { $this->{$key} = $config[$key]; } } // Account for the Swagger name for Guzzle's baseUrl if (isset($config['basePath'])) { $this->baseUrl = $config['basePath']; } // Ensure that the models and operations properties are always arrays $this->models = (array) $this->models; $this->operations = (array) $this->operations; // We want to add operations differently than adding the other properties $defaultKeys[] = 'operations'; // Create operations for each operation if (isset($config['operations'])) { foreach ($config['operations'] as $name => $operation) { if (!($operation instanceof Operation) && !is_array($operation)) { throw new InvalidArgumentException('Invalid operation in service description: ' . gettype($operation)); } $this->operations[$name] = $operation; } } // Get all of the additional properties of the service description and store them in a data array foreach (array_diff(array_keys($config), $defaultKeys) as $key) { $this->extraData[$key] = $config[$key]; } } } vendor/guzzle/guzzle/src/Guzzle/Service/Description/Operation.php000064400000036566147400355670021337 0ustar00 true, 'httpMethod' => true, 'uri' => true, 'class' => true, 'responseClass' => true, 'responseType' => true, 'responseNotes' => true, 'notes' => true, 'summary' => true, 'documentationUrl' => true, 'deprecated' => true, 'data' => true, 'parameters' => true, 'additionalParameters' => true, 'errorResponses' => true ); /** @var array Parameters */ protected $parameters = array(); /** @var Parameter Additional parameters schema */ protected $additionalParameters; /** @var string Name of the command */ protected $name; /** @var string HTTP method */ protected $httpMethod; /** @var string This is a short summary of what the operation does */ protected $summary; /** @var string A longer text field to explain the behavior of the operation. */ protected $notes; /** @var string Reference URL providing more information about the operation */ protected $documentationUrl; /** @var string HTTP URI of the command */ protected $uri; /** @var string Class of the command object */ protected $class; /** @var string This is what is returned from the method */ protected $responseClass; /** @var string Type information about the response */ protected $responseType; /** @var string Information about the response returned by the operation */ protected $responseNotes; /** @var bool Whether or not the command is deprecated */ protected $deprecated; /** @var array Array of errors that could occur when running the command */ protected $errorResponses; /** @var ServiceDescriptionInterface */ protected $description; /** @var array Extra operation information */ protected $data; /** * Builds an Operation object using an array of configuration data: * - name: (string) Name of the command * - httpMethod: (string) HTTP method of the operation * - uri: (string) URI template that can create a relative or absolute URL * - class: (string) Concrete class that implements this command * - parameters: (array) Associative array of parameters for the command. {@see Parameter} for information. * - summary: (string) This is a short summary of what the operation does * - notes: (string) A longer text field to explain the behavior of the operation. * - documentationUrl: (string) Reference URL providing more information about the operation * - responseClass: (string) This is what is returned from the method. Can be a primitive, PSR-0 compliant * class name, or model. * - responseNotes: (string) Information about the response returned by the operation * - responseType: (string) One of 'primitive', 'class', 'model', or 'documentation'. If not specified, this * value will be automatically inferred based on whether or not there is a model matching the * name, if a matching PSR-0 compliant class name is found, or set to 'primitive' by default. * - deprecated: (bool) Set to true if this is a deprecated command * - errorResponses: (array) Errors that could occur when executing the command. Array of hashes, each with a * 'code' (the HTTP response code), 'reason' (response reason phrase or description of the * error), and 'class' (a custom exception class that would be thrown if the error is * encountered). * - data: (array) Any extra data that might be used to help build or serialize the operation * - additionalParameters: (null|array) Parameter schema to use when an option is passed to the operation that is * not in the schema * * @param array $config Array of configuration data * @param ServiceDescriptionInterface $description Service description used to resolve models if $ref tags are found */ public function __construct(array $config = array(), ServiceDescriptionInterface $description = null) { $this->description = $description; // Get the intersection of the available properties and properties set on the operation foreach (array_intersect_key($config, self::$properties) as $key => $value) { $this->{$key} = $value; } $this->class = $this->class ?: self::DEFAULT_COMMAND_CLASS; $this->deprecated = (bool) $this->deprecated; $this->errorResponses = $this->errorResponses ?: array(); $this->data = $this->data ?: array(); if (!$this->responseClass) { $this->responseClass = 'array'; $this->responseType = 'primitive'; } elseif ($this->responseType) { // Set the response type to perform validation $this->setResponseType($this->responseType); } else { // A response class was set and no response type was set, so guess what the type is $this->inferResponseType(); } // Parameters need special handling when adding if ($this->parameters) { foreach ($this->parameters as $name => $param) { if ($param instanceof Parameter) { $param->setName($name)->setParent($this); } elseif (is_array($param)) { $param['name'] = $name; $this->addParam(new Parameter($param, $this->description)); } } } if ($this->additionalParameters) { if ($this->additionalParameters instanceof Parameter) { $this->additionalParameters->setParent($this); } elseif (is_array($this->additionalParameters)) { $this->setadditionalParameters(new Parameter($this->additionalParameters, $this->description)); } } } public function toArray() { $result = array(); // Grab valid properties and filter out values that weren't set foreach (array_keys(self::$properties) as $check) { if ($value = $this->{$check}) { $result[$check] = $value; } } // Remove the name property unset($result['name']); // Parameters need to be converted to arrays $result['parameters'] = array(); foreach ($this->parameters as $key => $param) { $result['parameters'][$key] = $param->toArray(); } // Additional parameters need to be cast to an array if ($this->additionalParameters instanceof Parameter) { $result['additionalParameters'] = $this->additionalParameters->toArray(); } return $result; } public function getServiceDescription() { return $this->description; } public function setServiceDescription(ServiceDescriptionInterface $description) { $this->description = $description; return $this; } public function getParams() { return $this->parameters; } public function getParamNames() { return array_keys($this->parameters); } public function hasParam($name) { return isset($this->parameters[$name]); } public function getParam($param) { return isset($this->parameters[$param]) ? $this->parameters[$param] : null; } /** * Add a parameter to the command * * @param Parameter $param Parameter to add * * @return self */ public function addParam(Parameter $param) { $this->parameters[$param->getName()] = $param; $param->setParent($this); return $this; } /** * Remove a parameter from the command * * @param string $name Name of the parameter to remove * * @return self */ public function removeParam($name) { unset($this->parameters[$name]); return $this; } public function getHttpMethod() { return $this->httpMethod; } /** * Set the HTTP method of the command * * @param string $httpMethod Method to set * * @return self */ public function setHttpMethod($httpMethod) { $this->httpMethod = $httpMethod; return $this; } public function getClass() { return $this->class; } /** * Set the concrete class of the command * * @param string $className Concrete class name * * @return self */ public function setClass($className) { $this->class = $className; return $this; } public function getName() { return $this->name; } /** * Set the name of the command * * @param string $name Name of the command * * @return self */ public function setName($name) { $this->name = $name; return $this; } public function getSummary() { return $this->summary; } /** * Set a short summary of what the operation does * * @param string $summary Short summary of the operation * * @return self */ public function setSummary($summary) { $this->summary = $summary; return $this; } public function getNotes() { return $this->notes; } /** * Set a longer text field to explain the behavior of the operation. * * @param string $notes Notes on the operation * * @return self */ public function setNotes($notes) { $this->notes = $notes; return $this; } public function getDocumentationUrl() { return $this->documentationUrl; } /** * Set the URL pointing to additional documentation on the command * * @param string $docUrl Documentation URL * * @return self */ public function setDocumentationUrl($docUrl) { $this->documentationUrl = $docUrl; return $this; } public function getResponseClass() { return $this->responseClass; } /** * Set what is returned from the method. Can be a primitive, class name, or model. For example: 'array', * 'Guzzle\\Foo\\Baz', or 'MyModelName' (to reference a model by ID). * * @param string $responseClass Type of response * * @return self */ public function setResponseClass($responseClass) { $this->responseClass = $responseClass; $this->inferResponseType(); return $this; } public function getResponseType() { return $this->responseType; } /** * Set qualifying information about the responseClass. One of 'primitive', 'class', 'model', or 'documentation' * * @param string $responseType Response type information * * @return self * @throws InvalidArgumentException */ public function setResponseType($responseType) { static $types = array( self::TYPE_PRIMITIVE => true, self::TYPE_CLASS => true, self::TYPE_MODEL => true, self::TYPE_DOCUMENTATION => true ); if (!isset($types[$responseType])) { throw new InvalidArgumentException('responseType must be one of ' . implode(', ', array_keys($types))); } $this->responseType = $responseType; return $this; } public function getResponseNotes() { return $this->responseNotes; } /** * Set notes about the response of the operation * * @param string $notes Response notes * * @return self */ public function setResponseNotes($notes) { $this->responseNotes = $notes; return $this; } public function getDeprecated() { return $this->deprecated; } /** * Set whether or not the command is deprecated * * @param bool $isDeprecated Set to true to mark as deprecated * * @return self */ public function setDeprecated($isDeprecated) { $this->deprecated = $isDeprecated; return $this; } public function getUri() { return $this->uri; } /** * Set the URI template of the command * * @param string $uri URI template to set * * @return self */ public function setUri($uri) { $this->uri = $uri; return $this; } public function getErrorResponses() { return $this->errorResponses; } /** * Add an error to the command * * @param string $code HTTP response code * @param string $reason HTTP response reason phrase or information about the error * @param string $class Exception class associated with the error * * @return self */ public function addErrorResponse($code, $reason, $class) { $this->errorResponses[] = array('code' => $code, 'reason' => $reason, 'class' => $class); return $this; } /** * Set all of the error responses of the operation * * @param array $errorResponses Hash of error name to a hash containing a code, reason, class * * @return self */ public function setErrorResponses(array $errorResponses) { $this->errorResponses = $errorResponses; return $this; } public function getData($name) { return isset($this->data[$name]) ? $this->data[$name] : null; } /** * Set a particular data point on the operation * * @param string $name Name of the data value * @param mixed $value Value to set * * @return self */ public function setData($name, $value) { $this->data[$name] = $value; return $this; } /** * Get the additionalParameters of the operation * * @return Parameter|null */ public function getAdditionalParameters() { return $this->additionalParameters; } /** * Set the additionalParameters of the operation * * @param Parameter|null $parameter Parameter to set * * @return self */ public function setAdditionalParameters($parameter) { if ($this->additionalParameters = $parameter) { $this->additionalParameters->setParent($this); } return $this; } /** * Infer the response type from the responseClass value */ protected function inferResponseType() { static $primitives = array('array' => 1, 'boolean' => 1, 'string' => 1, 'integer' => 1, '' => 1); if (isset($primitives[$this->responseClass])) { $this->responseType = self::TYPE_PRIMITIVE; } elseif ($this->description && $this->description->hasModel($this->responseClass)) { $this->responseType = self::TYPE_MODEL; } else { $this->responseType = self::TYPE_CLASS; } } } vendor/guzzle/guzzle/src/Guzzle/Service/Description/ValidatorInterface.php000064400000001721147400355670023126 0ustar00setTimezone(self::getUtcTimeZone())->format($format); } throw new InvalidArgumentException('Date/Time values must be either a string, integer, or DateTime object'); } } vendor/guzzle/guzzle/src/Guzzle/Service/Description/OperationInterface.php000064400000007211147400355670023141 0ustar00castIntegerToStringType = $castIntegerToStringType; } public function validate(Parameter $param, &$value) { $this->errors = array(); $this->recursiveProcess($param, $value); if (empty($this->errors)) { return true; } else { sort($this->errors); return false; } } /** * Get the errors encountered while validating * * @return array */ public function getErrors() { return $this->errors ?: array(); } /** * Recursively validate a parameter * * @param Parameter $param API parameter being validated * @param mixed $value Value to validate and validate. The value may change during this validate. * @param string $path Current validation path (used for error reporting) * @param int $depth Current depth in the validation validate * * @return bool Returns true if valid, or false if invalid */ protected function recursiveProcess(Parameter $param, &$value, $path = '', $depth = 0) { // Update the value by adding default or static values $value = $param->getValue($value); $required = $param->getRequired(); // if the value is null and the parameter is not required or is static, then skip any further recursion if ((null === $value && !$required) || $param->getStatic()) { return true; } $type = $param->getType(); // Attempt to limit the number of times is_array is called by tracking if the value is an array $valueIsArray = is_array($value); // If a name is set then update the path so that validation messages are more helpful if ($name = $param->getName()) { $path .= "[{$name}]"; } if ($type == 'object') { // Objects are either associative arrays, ToArrayInterface, or some other object if ($param->getInstanceOf()) { $instance = $param->getInstanceOf(); if (!($value instanceof $instance)) { $this->errors[] = "{$path} must be an instance of {$instance}"; return false; } } // Determine whether or not this "value" has properties and should be traversed $traverse = $temporaryValue = false; // Convert the value to an array if (!$valueIsArray && $value instanceof ToArrayInterface) { $value = $value->toArray(); } if ($valueIsArray) { // Ensure that the array is associative and not numerically indexed if (isset($value[0])) { $this->errors[] = "{$path} must be an array of properties. Got a numerically indexed array."; return false; } $traverse = true; } elseif ($value === null) { // Attempt to let the contents be built up by default values if possible $value = array(); $temporaryValue = $valueIsArray = $traverse = true; } if ($traverse) { if ($properties = $param->getProperties()) { // if properties were found, the validate each property of the value foreach ($properties as $property) { $name = $property->getName(); if (isset($value[$name])) { $this->recursiveProcess($property, $value[$name], $path, $depth + 1); } else { $current = null; $this->recursiveProcess($property, $current, $path, $depth + 1); // Only set the value if it was populated with something if (null !== $current) { $value[$name] = $current; } } } } $additional = $param->getAdditionalProperties(); if ($additional !== true) { // If additional properties were found, then validate each against the additionalProperties attr. $keys = array_keys($value); // Determine the keys that were specified that were not listed in the properties of the schema $diff = array_diff($keys, array_keys($properties)); if (!empty($diff)) { // Determine which keys are not in the properties if ($additional instanceOf Parameter) { foreach ($diff as $key) { $this->recursiveProcess($additional, $value[$key], "{$path}[{$key}]", $depth); } } else { // if additionalProperties is set to false and there are additionalProperties in the values, then fail foreach ($diff as $prop) { $this->errors[] = sprintf('%s[%s] is not an allowed property', $path, $prop); } } } } // A temporary value will be used to traverse elements that have no corresponding input value. // This allows nested required parameters with default values to bubble up into the input. // Here we check if we used a temp value and nothing bubbled up, then we need to remote the value. if ($temporaryValue && empty($value)) { $value = null; $valueIsArray = false; } } } elseif ($type == 'array' && $valueIsArray && $param->getItems()) { foreach ($value as $i => &$item) { // Validate each item in an array against the items attribute of the schema $this->recursiveProcess($param->getItems(), $item, $path . "[{$i}]", $depth + 1); } } // If the value is required and the type is not null, then there is an error if the value is not set if ($required && $value === null && $type != 'null') { $message = "{$path} is " . ($param->getType() ? ('a required ' . implode(' or ', (array) $param->getType())) : 'required'); if ($param->getDescription()) { $message .= ': ' . $param->getDescription(); } $this->errors[] = $message; return false; } // Validate that the type is correct. If the type is string but an integer was passed, the class can be // instructed to cast the integer to a string to pass validation. This is the default behavior. if ($type && (!$type = $this->determineType($type, $value))) { if ($this->castIntegerToStringType && $param->getType() == 'string' && is_integer($value)) { $value = (string) $value; } else { $this->errors[] = "{$path} must be of type " . implode(' or ', (array) $param->getType()); } } // Perform type specific validation for strings, arrays, and integers if ($type == 'string') { // Strings can have enums which are a list of predefined values if (($enum = $param->getEnum()) && !in_array($value, $enum)) { $this->errors[] = "{$path} must be one of " . implode(' or ', array_map(function ($s) { return '"' . addslashes($s) . '"'; }, $enum)); } // Strings can have a regex pattern that the value must match if (($pattern = $param->getPattern()) && !preg_match($pattern, $value)) { $this->errors[] = "{$path} must match the following regular expression: {$pattern}"; } $strLen = null; if ($min = $param->getMinLength()) { $strLen = strlen($value); if ($strLen < $min) { $this->errors[] = "{$path} length must be greater than or equal to {$min}"; } } if ($max = $param->getMaxLength()) { if (($strLen ?: strlen($value)) > $max) { $this->errors[] = "{$path} length must be less than or equal to {$max}"; } } } elseif ($type == 'array') { $size = null; if ($min = $param->getMinItems()) { $size = count($value); if ($size < $min) { $this->errors[] = "{$path} must contain {$min} or more elements"; } } if ($max = $param->getMaxItems()) { if (($size ?: count($value)) > $max) { $this->errors[] = "{$path} must contain {$max} or fewer elements"; } } } elseif ($type == 'integer' || $type == 'number' || $type == 'numeric') { if (($min = $param->getMinimum()) && $value < $min) { $this->errors[] = "{$path} must be greater than or equal to {$min}"; } if (($max = $param->getMaximum()) && $value > $max) { $this->errors[] = "{$path} must be less than or equal to {$max}"; } } return empty($this->errors); } /** * From the allowable types, determine the type that the variable matches * * @param string $type Parameter type * @param mixed $value Value to determine the type * * @return string|bool Returns the matching type on */ protected function determineType($type, $value) { foreach ((array) $type as $t) { if ($t == 'string' && (is_string($value) || (is_object($value) && method_exists($value, '__toString')))) { return 'string'; } elseif ($t == 'object' && (is_array($value) || is_object($value))) { return 'object'; } elseif ($t == 'array' && is_array($value)) { return 'array'; } elseif ($t == 'integer' && is_integer($value)) { return 'integer'; } elseif ($t == 'boolean' && is_bool($value)) { return 'boolean'; } elseif ($t == 'number' && is_numeric($value)) { return 'number'; } elseif ($t == 'numeric' && is_numeric($value)) { return 'numeric'; } elseif ($t == 'null' && !$value) { return 'null'; } elseif ($t == 'any') { return 'any'; } } return false; } } vendor/guzzle/guzzle/src/Guzzle/Service/Description/Parameter.php000064400000060737147400355670021314 0ustar00getModel($data['$ref'])) { $data = $model->toArray() + $data; } } elseif (isset($data['extends'])) { // If this parameter extends from another parameter then start with the actual data // union in the parent's data (e.g. actual supersedes parent) if ($extends = $description->getModel($data['extends'])) { $data += $extends->toArray(); } } } // Pull configuration data into the parameter foreach ($data as $key => $value) { $this->{$key} = $value; } $this->serviceDescription = $description; $this->required = (bool) $this->required; $this->data = (array) $this->data; if ($this->filters) { $this->setFilters((array) $this->filters); } if ($this->type == 'object' && $this->additionalProperties === null) { $this->additionalProperties = true; } } /** * Convert the object to an array * * @return array */ public function toArray() { static $checks = array('required', 'description', 'static', 'type', 'format', 'instanceOf', 'location', 'sentAs', 'pattern', 'minimum', 'maximum', 'minItems', 'maxItems', 'minLength', 'maxLength', 'data', 'enum', 'filters'); $result = array(); // Anything that is in the `Items` attribute of an array *must* include it's name if available if ($this->parent instanceof self && $this->parent->getType() == 'array' && isset($this->name)) { $result['name'] = $this->name; } foreach ($checks as $c) { if ($value = $this->{$c}) { $result[$c] = $value; } } if ($this->default !== null) { $result['default'] = $this->default; } if ($this->items !== null) { $result['items'] = $this->getItems()->toArray(); } if ($this->additionalProperties !== null) { $result['additionalProperties'] = $this->getAdditionalProperties(); if ($result['additionalProperties'] instanceof self) { $result['additionalProperties'] = $result['additionalProperties']->toArray(); } } if ($this->type == 'object' && $this->properties) { $result['properties'] = array(); foreach ($this->getProperties() as $name => $property) { $result['properties'][$name] = $property->toArray(); } } return $result; } /** * Get the default or static value of the command based on a value * * @param string $value Value that is currently set * * @return mixed Returns the value, a static value if one is present, or a default value */ public function getValue($value) { if ($this->static || ($this->default !== null && $value === null)) { return $this->default; } return $value; } /** * Run a value through the filters OR format attribute associated with the parameter * * @param mixed $value Value to filter * * @return mixed Returns the filtered value */ public function filter($value) { // Formats are applied exclusively and supersed filters if ($this->format) { return SchemaFormatter::format($this->format, $value); } // Convert Boolean values if ($this->type == 'boolean' && !is_bool($value)) { $value = filter_var($value, FILTER_VALIDATE_BOOLEAN); } // Apply filters to the value if ($this->filters) { foreach ($this->filters as $filter) { if (is_array($filter)) { // Convert complex filters that hold value place holders foreach ($filter['args'] as &$data) { if ($data == '@value') { $data = $value; } elseif ($data == '@api') { $data = $this; } } $value = call_user_func_array($filter['method'], $filter['args']); } else { $value = call_user_func($filter, $value); } } } return $value; } /** * Get the name of the parameter * * @return string */ public function getName() { return $this->name; } /** * Get the key of the parameter, where sentAs will supersede name if it is set * * @return string */ public function getWireName() { return $this->sentAs ?: $this->name; } /** * Set the name of the parameter * * @param string $name Name to set * * @return self */ public function setName($name) { $this->name = $name; return $this; } /** * Get the type(s) of the parameter * * @return string|array */ public function getType() { return $this->type; } /** * Set the type(s) of the parameter * * @param string|array $type Type of parameter or array of simple types used in a union * * @return self */ public function setType($type) { $this->type = $type; return $this; } /** * Get if the parameter is required * * @return bool */ public function getRequired() { return $this->required; } /** * Set if the parameter is required * * @param bool $isRequired Whether or not the parameter is required * * @return self */ public function setRequired($isRequired) { $this->required = (bool) $isRequired; return $this; } /** * Get the default value of the parameter * * @return string|null */ public function getDefault() { return $this->default; } /** * Set the default value of the parameter * * @param string|null $default Default value to set * * @return self */ public function setDefault($default) { $this->default = $default; return $this; } /** * Get the description of the parameter * * @return string|null */ public function getDescription() { return $this->description; } /** * Set the description of the parameter * * @param string $description Description * * @return self */ public function setDescription($description) { $this->description = $description; return $this; } /** * Get the minimum acceptable value for an integer * * @return int|null */ public function getMinimum() { return $this->minimum; } /** * Set the minimum acceptable value for an integer * * @param int|null $min Minimum * * @return self */ public function setMinimum($min) { $this->minimum = $min; return $this; } /** * Get the maximum acceptable value for an integer * * @return int|null */ public function getMaximum() { return $this->maximum; } /** * Set the maximum acceptable value for an integer * * @param int $max Maximum * * @return self */ public function setMaximum($max) { $this->maximum = $max; return $this; } /** * Get the minimum allowed length of a string value * * @return int */ public function getMinLength() { return $this->minLength; } /** * Set the minimum allowed length of a string value * * @param int|null $min Minimum * * @return self */ public function setMinLength($min) { $this->minLength = $min; return $this; } /** * Get the maximum allowed length of a string value * * @return int|null */ public function getMaxLength() { return $this->maxLength; } /** * Set the maximum allowed length of a string value * * @param int $max Maximum length * * @return self */ public function setMaxLength($max) { $this->maxLength = $max; return $this; } /** * Get the maximum allowed number of items in an array value * * @return int|null */ public function getMaxItems() { return $this->maxItems; } /** * Set the maximum allowed number of items in an array value * * @param int $max Maximum * * @return self */ public function setMaxItems($max) { $this->maxItems = $max; return $this; } /** * Get the minimum allowed number of items in an array value * * @return int */ public function getMinItems() { return $this->minItems; } /** * Set the minimum allowed number of items in an array value * * @param int|null $min Minimum * * @return self */ public function setMinItems($min) { $this->minItems = $min; return $this; } /** * Get the location of the parameter * * @return string|null */ public function getLocation() { return $this->location; } /** * Set the location of the parameter * * @param string|null $location Location of the parameter * * @return self */ public function setLocation($location) { $this->location = $location; return $this; } /** * Get the sentAs attribute of the parameter that used with locations to sentAs an attribute when it is being * applied to a location. * * @return string|null */ public function getSentAs() { return $this->sentAs; } /** * Set the sentAs attribute * * @param string|null $name Name of the value as it is sent over the wire * * @return self */ public function setSentAs($name) { $this->sentAs = $name; return $this; } /** * Retrieve a known property from the parameter by name or a data property by name. When not specific name value * is specified, all data properties will be returned. * * @param string|null $name Specify a particular property name to retrieve * * @return array|mixed|null */ public function getData($name = null) { if (!$name) { return $this->data; } if (isset($this->data[$name])) { return $this->data[$name]; } elseif (isset($this->{$name})) { return $this->{$name}; } return null; } /** * Set the extra data properties of the parameter or set a specific extra property * * @param string|array|null $nameOrData The name of a specific extra to set or an array of extras to set * @param mixed|null $data When setting a specific extra property, specify the data to set for it * * @return self */ public function setData($nameOrData, $data = null) { if (is_array($nameOrData)) { $this->data = $nameOrData; } else { $this->data[$nameOrData] = $data; } return $this; } /** * Get whether or not the default value can be changed * * @return mixed|null */ public function getStatic() { return $this->static; } /** * Set to true if the default value cannot be changed * * @param bool $static True or false * * @return self */ public function setStatic($static) { $this->static = (bool) $static; return $this; } /** * Get an array of filters used by the parameter * * @return array */ public function getFilters() { return $this->filters ?: array(); } /** * Set the array of filters used by the parameter * * @param array $filters Array of functions to use as filters * * @return self */ public function setFilters(array $filters) { $this->filters = array(); foreach ($filters as $filter) { $this->addFilter($filter); } return $this; } /** * Add a filter to the parameter * * @param string|array $filter Method to filter the value through * * @return self * @throws InvalidArgumentException */ public function addFilter($filter) { if (is_array($filter)) { if (!isset($filter['method'])) { throw new InvalidArgumentException('A [method] value must be specified for each complex filter'); } } if (!$this->filters) { $this->filters = array($filter); } else { $this->filters[] = $filter; } return $this; } /** * Get the parent object (an {@see OperationInterface} or {@see Parameter} * * @return OperationInterface|Parameter|null */ public function getParent() { return $this->parent; } /** * Set the parent object of the parameter * * @param OperationInterface|Parameter|null $parent Parent container of the parameter * * @return self */ public function setParent($parent) { $this->parent = $parent; return $this; } /** * Get the properties of the parameter * * @return array */ public function getProperties() { if (!$this->propertiesCache) { $this->propertiesCache = array(); foreach (array_keys($this->properties) as $name) { $this->propertiesCache[$name] = $this->getProperty($name); } } return $this->propertiesCache; } /** * Get a specific property from the parameter * * @param string $name Name of the property to retrieve * * @return null|Parameter */ public function getProperty($name) { if (!isset($this->properties[$name])) { return null; } if (!($this->properties[$name] instanceof self)) { $this->properties[$name]['name'] = $name; $this->properties[$name] = new static($this->properties[$name], $this->serviceDescription); $this->properties[$name]->setParent($this); } return $this->properties[$name]; } /** * Remove a property from the parameter * * @param string $name Name of the property to remove * * @return self */ public function removeProperty($name) { unset($this->properties[$name]); $this->propertiesCache = null; return $this; } /** * Add a property to the parameter * * @param Parameter $property Properties to set * * @return self */ public function addProperty(Parameter $property) { $this->properties[$property->getName()] = $property; $property->setParent($this); $this->propertiesCache = null; return $this; } /** * Get the additionalProperties value of the parameter * * @return bool|Parameter|null */ public function getAdditionalProperties() { if (is_array($this->additionalProperties)) { $this->additionalProperties = new static($this->additionalProperties, $this->serviceDescription); $this->additionalProperties->setParent($this); } return $this->additionalProperties; } /** * Set the additionalProperties value of the parameter * * @param bool|Parameter|null $additional Boolean to allow any, an Parameter to specify a schema, or false to disallow * * @return self */ public function setAdditionalProperties($additional) { $this->additionalProperties = $additional; return $this; } /** * Set the items data of the parameter * * @param Parameter|null $items Items to set * * @return self */ public function setItems(Parameter $items = null) { if ($this->items = $items) { $this->items->setParent($this); } return $this; } /** * Get the item data of the parameter * * @return Parameter|null */ public function getItems() { if (is_array($this->items)) { $this->items = new static($this->items, $this->serviceDescription); $this->items->setParent($this); } return $this->items; } /** * Get the class that the parameter must implement * * @return null|string */ public function getInstanceOf() { return $this->instanceOf; } /** * Set the class that the parameter must be an instance of * * @param string|null $instanceOf Class or interface name * * @return self */ public function setInstanceOf($instanceOf) { $this->instanceOf = $instanceOf; return $this; } /** * Get the enum of strings that are valid for the parameter * * @return array|null */ public function getEnum() { return $this->enum; } /** * Set the enum of strings that are valid for the parameter * * @param array|null $enum Array of strings or null * * @return self */ public function setEnum(array $enum = null) { $this->enum = $enum; return $this; } /** * Get the regex pattern that must match a value when the value is a string * * @return string */ public function getPattern() { return $this->pattern; } /** * Set the regex pattern that must match a value when the value is a string * * @param string $pattern Regex pattern * * @return self */ public function setPattern($pattern) { $this->pattern = $pattern; return $this; } /** * Get the format attribute of the schema * * @return string */ public function getFormat() { return $this->format; } /** * Set the format attribute of the schema * * @param string $format Format to set (e.g. date, date-time, timestamp, time, date-time-http) * * @return self */ public function setFormat($format) { $this->format = $format; return $this; } } vendor/guzzle/guzzle/src/Guzzle/Service/ConfigLoaderInterface.php000064400000001273147400355670021254 0ustar00iterator = $iterator; $this->callback = $callback; Version::warn(__CLASS__ . ' is deprecated'); } /** * Apply the callback to the contents of the resource iterator * * @param int $perBatch The number of records to group per batch transfer * * @return int Returns the number of iterated resources */ public function apply($perBatch = 50) { $this->iterated = $this->batches = $batches = 0; $that = $this; $it = $this->iterator; $callback = $this->callback; $batch = BatchBuilder::factory() ->createBatchesWith(new BatchSizeDivisor($perBatch)) ->transferWith(new BatchClosureTransfer(function (array $batch) use ($that, $callback, &$batches, $it) { $batches++; $that->dispatch('iterator_batch.before_batch', array('iterator' => $it, 'batch' => $batch)); call_user_func_array($callback, array($it, $batch)); $that->dispatch('iterator_batch.after_batch', array('iterator' => $it, 'batch' => $batch)); })) ->autoFlushAt($perBatch) ->build(); $this->dispatch('iterator_batch.created_batch', array('batch' => $batch)); foreach ($this->iterator as $resource) { $this->iterated++; $batch->add($resource); } $batch->flush(); $this->batches = $batches; return $this->iterated; } /** * Get the total number of batches sent * * @return int */ public function getBatchCount() { return $this->batches; } /** * Get the total number of iterated resources * * @return int */ public function getIteratedCount() { return $this->iterated; } } vendor/guzzle/guzzle/src/Guzzle/Service/Resource/CompositeResourceIteratorFactory.php000064400000003357147400355670025407 0ustar00factories = $factories; } public function build(CommandInterface $command, array $options = array()) { if (!($factory = $this->getFactory($command))) { throw new InvalidArgumentException('Iterator was not found for ' . $command->getName()); } return $factory->build($command, $options); } public function canBuild(CommandInterface $command) { return $this->getFactory($command) !== false; } /** * Add a factory to the composite factory * * @param ResourceIteratorFactoryInterface $factory Factory to add * * @return self */ public function addFactory(ResourceIteratorFactoryInterface $factory) { $this->factories[] = $factory; return $this; } /** * Get the factory that matches the command object * * @param CommandInterface $command Command retrieving the iterator for * * @return ResourceIteratorFactoryInterface|bool */ protected function getFactory(CommandInterface $command) { foreach ($this->factories as $factory) { if ($factory->canBuild($command)) { return $factory; } } return false; } } vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorInterface.php000064400000003403147400355670024005 0ustar00originalCommand = $command; // Parse options from the array of options $this->data = $data; $this->limit = array_key_exists('limit', $data) ? $data['limit'] : 0; $this->pageSize = array_key_exists('page_size', $data) ? $data['page_size'] : false; } /** * Get all of the resources as an array (Warning: this could issue a large number of requests) * * @return array */ public function toArray() { return iterator_to_array($this, false); } public function setLimit($limit) { $this->limit = $limit; $this->resetState(); return $this; } public function setPageSize($pageSize) { $this->pageSize = $pageSize; $this->resetState(); return $this; } /** * Get an option from the iterator * * @param string $key Key of the option to retrieve * * @return mixed|null Returns NULL if not set or the value if set */ public function get($key) { return array_key_exists($key, $this->data) ? $this->data[$key] : null; } /** * Set an option on the iterator * * @param string $key Key of the option to set * @param mixed $value Value to set for the option * * @return ResourceIterator */ public function set($key, $value) { $this->data[$key] = $value; return $this; } public function current() { return $this->resources ? current($this->resources) : false; } public function key() { return max(0, $this->iteratedCount - 1); } public function count() { return $this->retrievedCount; } /** * Get the total number of requests sent * * @return int */ public function getRequestCount() { return $this->requestCount; } /** * Rewind the Iterator to the first element and send the original command */ public function rewind() { // Use the original command $this->command = clone $this->originalCommand; $this->resetState(); $this->next(); } public function valid() { return !$this->invalid && (!$this->resources || $this->current() || $this->nextToken) && (!$this->limit || $this->iteratedCount < $this->limit + 1); } public function next() { $this->iteratedCount++; // Check if a new set of resources needs to be retrieved $sendRequest = false; if (!$this->resources) { $sendRequest = true; } else { // iterate over the internal array $current = next($this->resources); $sendRequest = $current === false && $this->nextToken && (!$this->limit || $this->iteratedCount < $this->limit + 1); } if ($sendRequest) { $this->dispatch('resource_iterator.before_send', array( 'iterator' => $this, 'resources' => $this->resources )); // Get a new command object from the original command $this->command = clone $this->originalCommand; // Send a request and retrieve the newly loaded resources $this->resources = $this->sendRequest(); $this->requestCount++; // If no resources were found, then the last request was not needed // and iteration must stop if (empty($this->resources)) { $this->invalid = true; } else { // Add to the number of retrieved resources $this->retrievedCount += count($this->resources); // Ensure that we rewind to the beginning of the array reset($this->resources); } $this->dispatch('resource_iterator.after_send', array( 'iterator' => $this, 'resources' => $this->resources )); } } /** * Retrieve the NextToken that can be used in other iterators. * * @return string Returns a NextToken */ public function getNextToken() { return $this->nextToken; } /** * Returns the value that should be specified for the page size for a request that will maintain any hard limits, * but still honor the specified pageSize if the number of items retrieved + pageSize < hard limit * * @return int Returns the page size of the next request. */ protected function calculatePageSize() { if ($this->limit && $this->iteratedCount + $this->pageSize > $this->limit) { return 1 + ($this->limit - $this->iteratedCount); } return (int) $this->pageSize; } /** * Reset the internal state of the iterator without triggering a rewind() */ protected function resetState() { $this->iteratedCount = 0; $this->retrievedCount = 0; $this->nextToken = false; $this->resources = null; $this->invalid = false; } /** * Send a request to retrieve the next page of results. Hook for subclasses to implement. * * @return array Returns the newly loaded resources */ abstract protected function sendRequest(); } vendor/guzzle/guzzle/src/Guzzle/Service/Resource/AbstractResourceIteratorFactory.php000064400000002025147400355670025177 0ustar00canBuild($command)) { throw new InvalidArgumentException('Iterator was not found for ' . $command->getName()); } $className = $this->getClassName($command); return new $className($command, $options); } public function canBuild(CommandInterface $command) { return (bool) $this->getClassName($command); } /** * Get the name of the class to instantiate for the command * * @param CommandInterface $command Command that is associated with the iterator * * @return string */ abstract protected function getClassName(CommandInterface $command); } vendor/guzzle/guzzle/src/Guzzle/Service/Resource/ResourceIteratorClassFactory.php000064400000003710147400355670024503 0ustar00 AbcFoo). */ class ResourceIteratorClassFactory extends AbstractResourceIteratorFactory { /** @var array List of namespaces used to look for classes */ protected $namespaces; /** @var InflectorInterface Inflector used to determine class names */ protected $inflector; /** * @param string|array $namespaces List of namespaces for iterator objects * @param InflectorInterface $inflector Inflector used to resolve class names */ public function __construct($namespaces = array(), InflectorInterface $inflector = null) { $this->namespaces = (array) $namespaces; $this->inflector = $inflector ?: Inflector::getDefault(); } /** * Registers a namespace to check for Iterators * * @param string $namespace Namespace which contains Iterator classes * * @return self */ public function registerNamespace($namespace) { array_unshift($this->namespaces, $namespace); return $this; } protected function getClassName(CommandInterface $command) { $iteratorName = $this->inflector->camel($command->getName()) . 'Iterator'; // Determine the name of the class to load foreach ($this->namespaces as $namespace) { $potentialClassName = $namespace . '\\' . $iteratorName; if (class_exists($potentialClassName)) { return $potentialClassName; } } return false; } } vendor/guzzle/guzzle/src/Guzzle/Service/Resource/Model.php000064400000004016147400355670017724 0ustar00data = $data; $this->structure = $structure; } /** * Get the structure of the model * * @return Parameter */ public function getStructure() { return $this->structure ?: new Parameter(); } /** * Provides debug information about the model object * * @return string */ public function __toString() { $output = 'Debug output of '; if ($this->structure) { $output .= $this->structure->getName() . ' '; } $output .= 'model'; $output = str_repeat('=', strlen($output)) . "\n" . $output . "\n" . str_repeat('=', strlen($output)) . "\n\n"; $output .= "Model data\n-----------\n\n"; $output .= "This data can be retrieved from the model object using the get() method of the model " . "(e.g. \$model->get(\$key)) or accessing the model like an associative array (e.g. \$model['key']).\n\n"; $lines = array_slice(explode("\n", trim(print_r($this->toArray(), true))), 2, -1); $output .= implode("\n", $lines); if ($this->structure) { $output .= "\n\nModel structure\n---------------\n\n"; $output .= "The following JSON document defines how the model was parsed from an HTTP response into the " . "associative array structure you see above.\n\n"; $output .= ' ' . json_encode($this->structure->toArray()) . "\n\n"; } return $output . "\n"; } } vendor/guzzle/guzzle/src/Guzzle/Service/Resource/MapResourceIteratorFactory.php000064400000001610147400355670024150 0ustar00map = $map; } public function getClassName(CommandInterface $command) { $className = $command->getName(); if (isset($this->map[$className])) { return $this->map[$className]; } elseif (isset($this->map['*'])) { // If a wildcard was added, then always use that return $this->map['*']; } return null; } } vendor/guzzle/guzzle/src/Guzzle/Service/AbstractConfigLoader.php000064400000013561147400355670021122 0ustar00 'JSON_ERROR_NONE - No errors', JSON_ERROR_DEPTH => 'JSON_ERROR_DEPTH - Maximum stack depth exceeded', JSON_ERROR_STATE_MISMATCH => 'JSON_ERROR_STATE_MISMATCH - Underflow or the modes mismatch', JSON_ERROR_CTRL_CHAR => 'JSON_ERROR_CTRL_CHAR - Unexpected control character found', JSON_ERROR_SYNTAX => 'JSON_ERROR_SYNTAX - Syntax error, malformed JSON', JSON_ERROR_UTF8 => 'JSON_ERROR_UTF8 - Malformed UTF-8 characters, possibly incorrectly encoded' ); public function load($config, array $options = array()) { // Reset the array of loaded files because this is a new config $this->loadedFiles = array(); if (is_string($config)) { $config = $this->loadFile($config); } elseif (!is_array($config)) { throw new InvalidArgumentException('Unknown type passed to configuration loader: ' . gettype($config)); } else { $this->mergeIncludes($config); } return $this->build($config, $options); } /** * Add an include alias to the loader * * @param string $filename Filename to alias (e.g. _foo) * @param string $alias Actual file to use (e.g. /path/to/foo.json) * * @return self */ public function addAlias($filename, $alias) { $this->aliases[$filename] = $alias; return $this; } /** * Remove an alias from the loader * * @param string $alias Alias to remove * * @return self */ public function removeAlias($alias) { unset($this->aliases[$alias]); return $this; } /** * Perform the parsing of a config file and create the end result * * @param array $config Configuration data * @param array $options Options to use when building * * @return mixed */ protected abstract function build($config, array $options); /** * Load a configuration file (can load JSON or PHP files that return an array when included) * * @param string $filename File to load * * @return array * @throws InvalidArgumentException * @throws RuntimeException when the JSON cannot be parsed */ protected function loadFile($filename) { if (isset($this->aliases[$filename])) { $filename = $this->aliases[$filename]; } switch (pathinfo($filename, PATHINFO_EXTENSION)) { case 'js': case 'json': $level = error_reporting(0); $json = file_get_contents($filename); error_reporting($level); if ($json === false) { $err = error_get_last(); throw new InvalidArgumentException("Unable to open {$filename}: " . $err['message']); } $config = json_decode($json, true); // Throw an exception if there was an error loading the file if ($error = json_last_error()) { $message = isset(self::$jsonErrors[$error]) ? self::$jsonErrors[$error] : 'Unknown error'; throw new RuntimeException("Error loading JSON data from {$filename}: ({$error}) - {$message}"); } break; case 'php': if (!is_readable($filename)) { throw new InvalidArgumentException("Unable to open {$filename} for reading"); } $config = require $filename; if (!is_array($config)) { throw new InvalidArgumentException('PHP files must return an array of configuration data'); } break; default: throw new InvalidArgumentException('Unknown file extension: ' . $filename); } // Keep track of this file being loaded to prevent infinite recursion $this->loadedFiles[$filename] = true; // Merge include files into the configuration array $this->mergeIncludes($config, dirname($filename)); return $config; } /** * Merges in all include files * * @param array $config Config data that contains includes * @param string $basePath Base path to use when a relative path is encountered * * @return array Returns the merged and included data */ protected function mergeIncludes(&$config, $basePath = null) { if (!empty($config['includes'])) { foreach ($config['includes'] as &$path) { // Account for relative paths if ($path[0] != DIRECTORY_SEPARATOR && !isset($this->aliases[$path]) && $basePath) { $path = "{$basePath}/{$path}"; } // Don't load the same files more than once if (!isset($this->loadedFiles[$path])) { $this->loadedFiles[$path] = true; $config = $this->mergeData($this->loadFile($path), $config); } } } } /** * Default implementation for merging two arrays of data (uses array_merge_recursive) * * @param array $a Original data * @param array $b Data to merge into the original and overwrite existing values * * @return array */ protected function mergeData(array $a, array $b) { return array_merge_recursive($a, $b); } } vendor/guzzle/guzzle/src/Guzzle/Inflection/InflectorInterface.php000064400000001076147400355670021340 0ustar00=5.3.2" }, "autoload": { "psr-0": { "Guzzle\\Inflection": "" } }, "target-dir": "Guzzle/Inflection", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Inflection/MemoizingInflector.php000064400000003655147400355670021403 0ustar00 array(), 'camel' => array() ); /** @var int Max entries per cache */ protected $maxCacheSize; /** @var InflectorInterface Decorated inflector */ protected $decoratedInflector; /** * @param InflectorInterface $inflector Inflector being decorated * @param int $maxCacheSize Maximum number of cached items to hold per cache */ public function __construct(InflectorInterface $inflector, $maxCacheSize = 500) { $this->decoratedInflector = $inflector; $this->maxCacheSize = $maxCacheSize; } public function snake($word) { if (!isset($this->cache['snake'][$word])) { $this->pruneCache('snake'); $this->cache['snake'][$word] = $this->decoratedInflector->snake($word); } return $this->cache['snake'][$word]; } /** * Converts strings from snake_case to upper CamelCase * * @param string $word Value to convert into upper CamelCase * * @return string */ public function camel($word) { if (!isset($this->cache['camel'][$word])) { $this->pruneCache('camel'); $this->cache['camel'][$word] = $this->decoratedInflector->camel($word); } return $this->cache['camel'][$word]; } /** * Prune one of the named caches by removing 20% of the cache if it is full * * @param string $cache Type of cache to prune */ protected function pruneCache($cache) { if (count($this->cache[$cache]) == $this->maxCacheSize) { $this->cache[$cache] = array_slice($this->cache[$cache], $this->maxCacheSize * 0.2); } } } vendor/guzzle/guzzle/src/Guzzle/Inflection/PreComputedInflector.php000064400000003353147400355670021667 0ustar00 array(), 'camel' => array() ); /** @var InflectorInterface Decorated inflector */ protected $decoratedInflector; /** * @param InflectorInterface $inflector Inflector being decorated * @param array $snake Hash of pre-computed camel to snake * @param array $camel Hash of pre-computed snake to camel * @param bool $mirror Mirror snake and camel reflections */ public function __construct(InflectorInterface $inflector, array $snake = array(), array $camel = array(), $mirror = false) { if ($mirror) { $camel = array_merge(array_flip($snake), $camel); $snake = array_merge(array_flip($camel), $snake); } $this->decoratedInflector = $inflector; $this->mapping = array( 'snake' => $snake, 'camel' => $camel ); } public function snake($word) { return isset($this->mapping['snake'][$word]) ? $this->mapping['snake'][$word] : $this->decoratedInflector->snake($word); } /** * Converts strings from snake_case to upper CamelCase * * @param string $word Value to convert into upper CamelCase * * @return string */ public function camel($word) { return isset($this->mapping['camel'][$word]) ? $this->mapping['camel'][$word] : $this->decoratedInflector->camel($word); } } vendor/guzzle/guzzle/src/Guzzle/Inflection/Inflector.php000064400000001523147400355670017514 0ustar00cache = $cache; } public function contains($id, array $options = null) { return $this->cache->hasItem($id); } public function delete($id, array $options = null) { return $this->cache->removeItem($id); } public function fetch($id, array $options = null) { return $this->cache->getItem($id); } public function save($id, $data, $lifeTime = false, array $options = null) { return $this->cache->setItem($id, $data); } } vendor/guzzle/guzzle/src/Guzzle/Cache/composer.json000064400000001247147400355670016514 0ustar00{ "name": "guzzle/cache", "description": "Guzzle cache adapter component", "homepage": "http://guzzlephp.org/", "keywords": ["cache", "adapter", "zf", "doctrine", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/common": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Cache": "" } }, "target-dir": "Guzzle/Cache", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterInterface.php000064400000003353147400355670020630 0ustar00cache = $cache; } public function contains($id, array $options = null) { return $this->cache->contains($id); } public function delete($id, array $options = null) { return $this->cache->delete($id); } public function fetch($id, array $options = null) { return $this->cache->fetch($id); } public function save($id, $data, $lifeTime = false, array $options = null) { return $this->cache->save($id, $data, $lifeTime !== false ? $lifeTime : 0); } } vendor/guzzle/guzzle/src/Guzzle/Cache/Zf1CacheAdapter.php000064400000001772147400355670017373 0ustar00cache = $cache; } public function contains($id, array $options = null) { return $this->cache->test($id); } public function delete($id, array $options = null) { return $this->cache->remove($id); } public function fetch($id, array $options = null) { return $this->cache->load($id); } public function save($id, $data, $lifeTime = false, array $options = null) { return $this->cache->save($data, $id, array(), $lifeTime); } } vendor/guzzle/guzzle/src/Guzzle/Cache/CacheAdapterFactory.php000064400000010215147400355670020332 0ustar00newInstanceArgs($args); } } catch (\Exception $e) { throw new RuntimeException($e->getMessage(), $e->getCode(), $e); } } } vendor/guzzle/guzzle/src/Guzzle/Cache/AbstractCacheAdapter.php000064400000000507147400355670020471 0ustar00cache; } } vendor/guzzle/guzzle/src/Guzzle/Cache/ClosureCacheAdapter.php000064400000003536147400355670020347 0ustar00callables = $callables; } public function contains($id, array $options = null) { return call_user_func($this->callables['contains'], $id, $options); } public function delete($id, array $options = null) { return call_user_func($this->callables['delete'], $id, $options); } public function fetch($id, array $options = null) { return call_user_func($this->callables['fetch'], $id, $options); } public function save($id, $data, $lifeTime = false, array $options = null) { return call_user_func($this->callables['save'], $id, $data, $lifeTime, $options); } } vendor/guzzle/guzzle/src/Guzzle/Batch/BatchInterface.php000064400000001115147400355670017355 0ustar00callable = $callable; $this->context = $context; } public function transfer(array $batch) { return empty($batch) ? null : call_user_func($this->callable, $batch, $this->context); } } vendor/guzzle/guzzle/src/Guzzle/Batch/composer.json000064400000001457147400355670016535 0ustar00{ "name": "guzzle/batch", "description": "Guzzle batch component for batching requests, commands, or custom transfers", "homepage": "http://guzzlephp.org/", "keywords": ["batch", "HTTP", "REST", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/common": "self.version" }, "autoload": { "psr-0": { "Guzzle\\Batch": "" } }, "suggest": { "guzzle/http": "self.version", "guzzle/service": "self.version" }, "target-dir": "Guzzle/Batch", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Batch/BatchRequestTransfer.php000064400000003602147400355670020615 0ustar00batchSize = $batchSize; } /** * Creates batches of requests by grouping requests by their associated curl multi object. * {@inheritdoc} */ public function createBatches(\SplQueue $queue) { // Create batches by client objects $groups = new \SplObjectStorage(); foreach ($queue as $item) { if (!$item instanceof RequestInterface) { throw new InvalidArgumentException('All items must implement Guzzle\Http\Message\RequestInterface'); } $client = $item->getClient(); if (!$groups->contains($client)) { $groups->attach($client, array($item)); } else { $current = $groups[$client]; $current[] = $item; $groups[$client] = $current; } } $batches = array(); foreach ($groups as $batch) { $batches = array_merge($batches, array_chunk($groups[$batch], $this->batchSize)); } return $batches; } public function transfer(array $batch) { if ($batch) { reset($batch)->getClient()->send($batch); } } } vendor/guzzle/guzzle/src/Guzzle/Batch/ExceptionBufferingBatch.php000064400000002327147400355670021251 0ustar00decoratedBatch->isEmpty()) { try { $transferredItems = $this->decoratedBatch->flush(); } catch (BatchTransferException $e) { $this->exceptions[] = $e; $transferredItems = $e->getTransferredItems(); } $items = array_merge($items, $transferredItems); } return $items; } /** * Get the buffered exceptions * * @return array Array of BatchTransferException objects */ public function getExceptions() { return $this->exceptions; } /** * Clear the buffered exceptions */ public function clearExceptions() { $this->exceptions = array(); } } vendor/guzzle/guzzle/src/Guzzle/Batch/BatchDivisorInterface.php000064400000000776147400355670020731 0ustar00 'Guzzle\Batch\BatchRequestTransfer', 'command' => 'Guzzle\Batch\BatchCommandTransfer' ); /** * Create a new instance of the BatchBuilder * * @return BatchBuilder */ public static function factory() { return new self(); } /** * Automatically flush the batch when the size of the queue reaches a certain threshold. Adds {@see FlushingBatch}. * * @param $threshold Number of items to allow in the queue before a flush * * @return BatchBuilder */ public function autoFlushAt($threshold) { $this->autoFlush = $threshold; return $this; } /** * Maintain a history of all items that have been transferred using the batch. Adds {@see HistoryBatch}. * * @return BatchBuilder */ public function keepHistory() { $this->history = true; return $this; } /** * Buffer exceptions thrown during transfer so that you can transfer as much as possible, and after a transfer * completes, inspect each exception that was thrown. Enables the {@see ExceptionBufferingBatch} decorator. * * @return BatchBuilder */ public function bufferExceptions() { $this->exceptionBuffering = true; return $this; } /** * Notify a callable each time a batch flush completes. Enables the {@see NotifyingBatch} decorator. * * @param mixed $callable Callable function to notify * * @return BatchBuilder * @throws InvalidArgumentException if the argument is not callable */ public function notify($callable) { $this->afterFlush = $callable; return $this; } /** * Configures the batch to transfer batches of requests. Associates a {@see \Guzzle\Http\BatchRequestTransfer} * object as both the transfer and divisor strategy. * * @param int $batchSize Batch size for each batch of requests * * @return BatchBuilder */ public function transferRequests($batchSize = 50) { $className = self::$mapping['request']; $this->transferStrategy = new $className($batchSize); $this->divisorStrategy = $this->transferStrategy; return $this; } /** * Configures the batch to transfer batches commands. Associates as * {@see \Guzzle\Service\Command\BatchCommandTransfer} as both the transfer and divisor strategy. * * @param int $batchSize Batch size for each batch of commands * * @return BatchBuilder */ public function transferCommands($batchSize = 50) { $className = self::$mapping['command']; $this->transferStrategy = new $className($batchSize); $this->divisorStrategy = $this->transferStrategy; return $this; } /** * Specify the strategy used to divide the queue into an array of batches * * @param BatchDivisorInterface $divisorStrategy Strategy used to divide a batch queue into batches * * @return BatchBuilder */ public function createBatchesWith(BatchDivisorInterface $divisorStrategy) { $this->divisorStrategy = $divisorStrategy; return $this; } /** * Specify the strategy used to transport the items when flush is called * * @param BatchTransferInterface $transferStrategy How items are transferred * * @return BatchBuilder */ public function transferWith(BatchTransferInterface $transferStrategy) { $this->transferStrategy = $transferStrategy; return $this; } /** * Create and return the instantiated batch * * @return BatchInterface * @throws RuntimeException if no transfer strategy has been specified */ public function build() { if (!$this->transferStrategy) { throw new RuntimeException('No transfer strategy has been specified'); } if (!$this->divisorStrategy) { throw new RuntimeException('No divisor strategy has been specified'); } $batch = new Batch($this->transferStrategy, $this->divisorStrategy); if ($this->exceptionBuffering) { $batch = new ExceptionBufferingBatch($batch); } if ($this->afterFlush) { $batch = new NotifyingBatch($batch, $this->afterFlush); } if ($this->autoFlush) { $batch = new FlushingBatch($batch, $this->autoFlush); } if ($this->history) { $batch = new HistoryBatch($batch); } return $batch; } } vendor/guzzle/guzzle/src/Guzzle/Batch/Exception/BatchTransferException.php000064400000005213147400355670023061 0ustar00batch = $batch; $this->transferredItems = $transferredItems; $this->transferStrategy = $transferStrategy; $this->divisorStrategy = $divisorStrategy; parent::__construct( 'Exception encountered while transferring batch: ' . $exception->getMessage(), $exception->getCode(), $exception ); } /** * Get the batch that we being sent when the exception occurred * * @return array */ public function getBatch() { return $this->batch; } /** * Get the items transferred at the point in which the exception was encountered * * @return array */ public function getTransferredItems() { return $this->transferredItems; } /** * Get the transfer strategy * * @return TransferStrategy */ public function getTransferStrategy() { return $this->transferStrategy; } /** * Get the divisor strategy * * @return DivisorStrategy */ public function getDivisorStrategy() { return $this->divisorStrategy; } } vendor/guzzle/guzzle/src/Guzzle/Batch/NotifyingBatch.php000064400000001675147400355670017436 0ustar00callable = $callable; parent::__construct($decoratedBatch); } public function flush() { $items = $this->decoratedBatch->flush(); call_user_func($this->callable, $items); return $items; } } vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php000064400000002164147400355670020436 0ustar00callable = $callable; $this->context = $context; } public function createBatches(\SplQueue $queue) { return call_user_func($this->callable, $queue, $this->context); } } vendor/guzzle/guzzle/src/Guzzle/Batch/HistoryBatch.php000064400000001366147400355670017126 0ustar00history[] = $item; $this->decoratedBatch->add($item); return $this; } /** * Get the batch history * * @return array */ public function getHistory() { return $this->history; } /** * Clear the batch history */ public function clearHistory() { $this->history = array(); } } vendor/guzzle/guzzle/src/Guzzle/Batch/FlushingBatch.php000064400000002677147400355670017252 0ustar00threshold = $threshold; parent::__construct($decoratedBatch); } /** * Set the auto-flush threshold * * @param int $threshold The auto-flush threshold * * @return FlushingBatch */ public function setThreshold($threshold) { $this->threshold = $threshold; return $this; } /** * Get the auto-flush threshold * * @return int */ public function getThreshold() { return $this->threshold; } public function add($item) { $this->decoratedBatch->add($item); if (++$this->currentTotal >= $this->threshold) { $this->currentTotal = 0; $this->decoratedBatch->flush(); } return $this; } } vendor/guzzle/guzzle/src/Guzzle/Batch/BatchSizeDivisor.php000064400000001553147400355670017735 0ustar00size = $size; } /** * Set the size of each batch * * @param int $size Size of each batch * * @return BatchSizeDivisor */ public function setSize($size) { $this->size = $size; return $this; } /** * Get the size of each batch * * @return int */ public function getSize() { return $this->size; } public function createBatches(\SplQueue $queue) { return array_chunk(iterator_to_array($queue, false), $this->size); } } vendor/guzzle/guzzle/src/Guzzle/Batch/BatchCommandTransfer.php000064400000004256147400355670020551 0ustar00batchSize = $batchSize; } /** * Creates batches by grouping commands by their associated client * {@inheritdoc} */ public function createBatches(\SplQueue $queue) { $groups = new \SplObjectStorage(); foreach ($queue as $item) { if (!$item instanceof CommandInterface) { throw new InvalidArgumentException('All items must implement Guzzle\Service\Command\CommandInterface'); } $client = $item->getClient(); if (!$groups->contains($client)) { $groups->attach($client, new \ArrayObject(array($item))); } else { $groups[$client]->append($item); } } $batches = array(); foreach ($groups as $batch) { $batches = array_merge($batches, array_chunk($groups[$batch]->getArrayCopy(), $this->batchSize)); } return $batches; } public function transfer(array $batch) { if (empty($batch)) { return; } // Get the client of the first found command $client = reset($batch)->getClient(); // Keep a list of all commands with invalid clients $invalid = array_filter($batch, function ($command) use ($client) { return $command->getClient() !== $client; }); if (!empty($invalid)) { throw new InconsistentClientTransferException($invalid); } $client->execute($batch); } } vendor/guzzle/guzzle/src/Guzzle/Batch/AbstractBatchDecorator.php000064400000002737147400355670021076 0ustar00decoratedBatch = $decoratedBatch; } /** * Allow decorators to implement custom methods * * @param string $method Missing method name * @param array $args Method arguments * * @return mixed * @codeCoverageIgnore */ public function __call($method, array $args) { return call_user_func_array(array($this->decoratedBatch, $method), $args); } public function add($item) { $this->decoratedBatch->add($item); return $this; } public function flush() { return $this->decoratedBatch->flush(); } public function isEmpty() { return $this->decoratedBatch->isEmpty(); } /** * Trace the decorators associated with the batch * * @return array */ public function getDecorators() { $found = array($this); if (method_exists($this->decoratedBatch, 'getDecorators')) { $found = array_merge($found, $this->decoratedBatch->getDecorators()); } return $found; } } vendor/guzzle/guzzle/src/Guzzle/Batch/Batch.php000064400000005723147400355670015545 0ustar00transferStrategy = $transferStrategy; $this->divisionStrategy = $divisionStrategy; $this->queue = new \SplQueue(); $this->queue->setIteratorMode(\SplQueue::IT_MODE_DELETE); $this->dividedBatches = array(); } public function add($item) { $this->queue->enqueue($item); return $this; } public function flush() { $this->createBatches(); $items = array(); foreach ($this->dividedBatches as $batchIndex => $dividedBatch) { while ($dividedBatch->valid()) { $batch = $dividedBatch->current(); $dividedBatch->next(); try { $this->transferStrategy->transfer($batch); $items = array_merge($items, $batch); } catch (\Exception $e) { throw new BatchTransferException($batch, $items, $e, $this->transferStrategy, $this->divisionStrategy); } } // Keep the divided batch down to a minimum in case of a later exception unset($this->dividedBatches[$batchIndex]); } return $items; } public function isEmpty() { return count($this->queue) == 0 && count($this->dividedBatches) == 0; } /** * Create batches for any queued items */ protected function createBatches() { if (count($this->queue)) { if ($batches = $this->divisionStrategy->createBatches($this->queue)) { // Convert arrays into iterators if (is_array($batches)) { $batches = new \ArrayIterator($batches); } $this->dividedBatches[] = $batches; } } } } vendor/guzzle/guzzle/src/Guzzle/Iterator/composer.json000064400000001246147400355670017301 0ustar00{ "name": "guzzle/iterator", "description": "Provides helpful iterators and iterator decorators", "keywords": ["iterator", "guzzle"], "homepage": "http://guzzlephp.org/", "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/common": ">=2.8.0" }, "autoload": { "psr-0": { "Guzzle\\Iterator": "/" } }, "target-dir": "Guzzle/Iterator", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Iterator/FilterIterator.php000064400000001732147400355670020227 0ustar00callback = $callback; } public function accept() { return call_user_func($this->callback, $this->current()); } } vendor/guzzle/guzzle/src/Guzzle/Iterator/MapIterator.php000064400000001524147400355670017516 0ustar00callback = $callback; } public function current() { return call_user_func($this->callback, parent::current()); } } vendor/guzzle/guzzle/src/Guzzle/Iterator/AppendIterator.php000064400000000674147400355670020215 0ustar00getArrayIterator()->append($iterator); } } vendor/guzzle/guzzle/src/Guzzle/Iterator/ChunkedIterator.php000064400000002426147400355670020364 0ustar00chunkSize = $chunkSize; } public function rewind() { parent::rewind(); $this->next(); } public function next() { $this->chunk = array(); for ($i = 0; $i < $this->chunkSize && parent::valid(); $i++) { $this->chunk[] = parent::current(); parent::next(); } } public function current() { return $this->chunk; } public function valid() { return (bool) $this->chunk; } } vendor/guzzle/guzzle/src/Guzzle/Iterator/README.md000064400000001232147400355670016031 0ustar00Guzzle Iterator =============== Provides useful Iterators and Iterator decorators - ChunkedIterator: Pulls out chunks from an inner iterator and yields the chunks as arrays - FilterIterator: Used when PHP 5.4's CallbackFilterIterator is not available - MapIterator: Maps values before yielding - MethodProxyIterator: Proxies missing method calls to the innermost iterator ### Installing via Composer ```bash # Install Composer curl -sS https://getcomposer.org/installer | php # Add Guzzle as a dependency php composer.phar require guzzle/iterator:~3.0 ``` After installing, you need to require Composer's autoloader: ```php require 'vendor/autoload.php'; ``` vendor/guzzle/guzzle/src/Guzzle/Iterator/MethodProxyIterator.php000064400000001142147400355670021257 0ustar00getInnerIterator(); while ($i instanceof \OuterIterator) { $i = $i->getInnerIterator(); } return call_user_func_array(array($i, $name), $args); } } vendor/guzzle/guzzle/src/Guzzle/Log/composer.json000064400000001240147400355670016223 0ustar00{ "name": "guzzle/log", "description": "Guzzle log adapter component", "homepage": "http://guzzlephp.org/", "keywords": ["log", "adapter", "guzzle"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2" }, "autoload": { "psr-0": { "Guzzle\\Log": "" } }, "suggest": { "guzzle/http": "self.version" }, "target-dir": "Guzzle/Log", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Log/LogAdapterInterface.php000064400000000753147400355670020065 0ustar00log; } } vendor/guzzle/guzzle/src/Guzzle/Log/MessageFormatter.php000064400000015717147400355670017500 0ustar00>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{curl_stderr}"; const SHORT_FORMAT = '[{ts}] "{method} {resource} {protocol}/{version}" {code}'; /** * @var string Template used to format log messages */ protected $template; /** * @param string $template Log message template */ public function __construct($template = self::DEFAULT_FORMAT) { $this->template = $template ?: self::DEFAULT_FORMAT; } /** * Set the template to use for logging * * @param string $template Log message template * * @return self */ public function setTemplate($template) { $this->template = $template; return $this; } /** * Returns a formatted message * * @param RequestInterface $request Request that was sent * @param Response $response Response that was received * @param CurlHandle $handle Curl handle associated with the message * @param array $customData Associative array of custom template data * * @return string */ public function format( RequestInterface $request, Response $response = null, CurlHandle $handle = null, array $customData = array() ) { $cache = $customData; return preg_replace_callback( '/{\s*([A-Za-z_\-\.0-9]+)\s*}/', function (array $matches) use ($request, $response, $handle, &$cache) { if (array_key_exists($matches[1], $cache)) { return $cache[$matches[1]]; } $result = ''; switch ($matches[1]) { case 'request': $result = (string) $request; break; case 'response': $result = (string) $response; break; case 'req_body': $result = $request instanceof EntityEnclosingRequestInterface ? (string) $request->getBody() : ''; break; case 'res_body': $result = $response ? $response->getBody(true) : ''; break; case 'ts': $result = gmdate('c'); break; case 'method': $result = $request->getMethod(); break; case 'url': $result = (string) $request->getUrl(); break; case 'resource': $result = $request->getResource(); break; case 'protocol': $result = 'HTTP'; break; case 'version': $result = $request->getProtocolVersion(); break; case 'host': $result = $request->getHost(); break; case 'hostname': $result = gethostname(); break; case 'port': $result = $request->getPort(); break; case 'code': $result = $response ? $response->getStatusCode() : ''; break; case 'phrase': $result = $response ? $response->getReasonPhrase() : ''; break; case 'connect_time': $result = $handle && $handle->getInfo(CURLINFO_CONNECT_TIME) ? $handle->getInfo(CURLINFO_CONNECT_TIME) : ($response ? $response->getInfo('connect_time') : ''); break; case 'total_time': $result = $handle && $handle->getInfo(CURLINFO_TOTAL_TIME) ? $handle->getInfo(CURLINFO_TOTAL_TIME) : ($response ? $response->getInfo('total_time') : ''); break; case 'curl_error': $result = $handle ? $handle->getError() : ''; break; case 'curl_code': $result = $handle ? $handle->getErrorNo() : ''; break; case 'curl_stderr': $result = $handle ? $handle->getStderr() : ''; break; default: if (strpos($matches[1], 'req_header_') === 0) { $result = $request->getHeader(substr($matches[1], 11)); } elseif ($response && strpos($matches[1], 'res_header_') === 0) { $result = $response->getHeader(substr($matches[1], 11)); } } $cache[$matches[1]] = $result; return $result; }, $this->template ); } } vendor/guzzle/guzzle/src/Guzzle/Log/ArrayLogAdapter.php000064400000001147147400355670017241 0ustar00logs[] = array('message' => $message, 'priority' => $priority, 'extras' => $extras); } /** * Get logged entries * * @return array */ public function getLogs() { return $this->logs; } /** * Clears logged entries */ public function clearLogs() { $this->logs = array(); } } vendor/guzzle/guzzle/src/Guzzle/Log/Zf2LogAdapter.php000064400000000611147400355670016617 0ustar00log = $logObject; } public function log($message, $priority = LOG_INFO, $extras = array()) { $this->log->log($priority, $message, $extras); } } vendor/guzzle/guzzle/src/Guzzle/Log/Zf1LogAdapter.php000064400000000755147400355670016627 0ustar00log = $logObject; Version::warn(__CLASS__ . ' is deprecated'); } public function log($message, $priority = LOG_INFO, $extras = array()) { $this->log->log($message, $priority, $extras); } } vendor/guzzle/guzzle/src/Guzzle/Log/PsrLogAdapter.php000064400000001536147400355670016731 0ustar00 LogLevel::DEBUG, LOG_INFO => LogLevel::INFO, LOG_WARNING => LogLevel::WARNING, LOG_ERR => LogLevel::ERROR, LOG_CRIT => LogLevel::CRITICAL, LOG_ALERT => LogLevel::ALERT ); public function __construct(LoggerInterface $logObject) { $this->log = $logObject; } public function log($message, $priority = LOG_INFO, $extras = array()) { $this->log->log(self::$mapping[$priority], $message, $extras); } } vendor/guzzle/guzzle/src/Guzzle/Log/MonologLogAdapter.php000064400000001343147400355670017573 0ustar00 Logger::DEBUG, LOG_INFO => Logger::INFO, LOG_WARNING => Logger::WARNING, LOG_ERR => Logger::ERROR, LOG_CRIT => Logger::CRITICAL, LOG_ALERT => Logger::ALERT ); public function __construct(Logger $logObject) { $this->log = $logObject; } public function log($message, $priority = LOG_INFO, $extras = array()) { $this->log->addRecord(self::$mapping[$priority], $message, $extras); } } vendor/guzzle/guzzle/src/Guzzle/Log/ClosureLogAdapter.php000064400000001107147400355670017573 0ustar00log = $logObject; } public function log($message, $priority = LOG_INFO, $extras = array()) { call_user_func($this->log, $message, $priority, $extras); } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header.php000064400000010364147400355670017173 0ustar00header = trim($header); $this->glue = $glue; foreach ((array) $values as $value) { foreach ((array) $value as $v) { $this->values[] = $v; } } } public function __toString() { return implode($this->glue . ' ', $this->toArray()); } public function add($value) { $this->values[] = $value; return $this; } public function getName() { return $this->header; } public function setName($name) { $this->header = $name; return $this; } public function setGlue($glue) { $this->glue = $glue; return $this; } public function getGlue() { return $this->glue; } /** * Normalize the header to be a single header with an array of values. * * If any values of the header contains the glue string value (e.g. ","), then the value will be exploded into * multiple entries in the header. * * @return self */ public function normalize() { $values = $this->toArray(); for ($i = 0, $total = count($values); $i < $total; $i++) { if (strpos($values[$i], $this->glue) !== false) { // Explode on glue when the glue is not inside of a comma foreach (preg_split('/' . preg_quote($this->glue) . '(?=([^"]*"[^"]*")*[^"]*$)/', $values[$i]) as $v) { $values[] = trim($v); } unset($values[$i]); } } $this->values = array_values($values); return $this; } public function hasValue($searchValue) { return in_array($searchValue, $this->toArray()); } public function removeValue($searchValue) { $this->values = array_values(array_filter($this->values, function ($value) use ($searchValue) { return $value != $searchValue; })); return $this; } public function toArray() { return $this->values; } public function count() { return count($this->toArray()); } public function getIterator() { return new \ArrayIterator($this->toArray()); } public function parseParams() { $params = $matches = array(); $callback = array($this, 'trimHeader'); // Normalize the header into a single array and iterate over all values foreach ($this->normalize()->toArray() as $val) { $part = array(); foreach (preg_split('/;(?=([^"]*"[^"]*")*[^"]*$)/', $val) as $kvp) { if (!preg_match_all('/<[^>]+>|[^=]+/', $kvp, $matches)) { continue; } $pieces = array_map($callback, $matches[0]); $part[$pieces[0]] = isset($pieces[1]) ? $pieces[1] : ''; } if ($part) { $params[] = $part; } } return $params; } /** * @deprecated * @codeCoverageIgnore */ public function hasExactHeader($header) { Version::warn(__METHOD__ . ' is deprecated'); return $this->header == $header; } /** * @deprecated * @codeCoverageIgnore */ public function raw() { Version::warn(__METHOD__ . ' is deprecated. Use toArray()'); return $this->toArray(); } /** * Trim a header by removing excess spaces and wrapping quotes * * @param $str * * @return string */ protected function trimHeader($str) { static $trimmed = "\"' \n\t"; return trim($str, $trimmed); } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/MessageInterface.php000064400000004420147400355670021204 0ustar00method = strtoupper($method); $this->curlOptions = new Collection(); $this->setUrl($url); if ($headers) { // Special handling for multi-value headers foreach ($headers as $key => $value) { // Deal with collisions with Host and Authorization if ($key == 'host' || $key == 'Host') { $this->setHeader($key, $value); } elseif ($value instanceof HeaderInterface) { $this->addHeader($key, $value); } else { foreach ((array) $value as $v) { $this->addHeader($key, $v); } } } } $this->setState(self::STATE_NEW); } public function __clone() { if ($this->eventDispatcher) { $this->eventDispatcher = clone $this->eventDispatcher; } $this->curlOptions = clone $this->curlOptions; $this->params = clone $this->params; $this->url = clone $this->url; $this->response = $this->responseBody = null; $this->headers = clone $this->headers; $this->setState(RequestInterface::STATE_NEW); $this->dispatch('request.clone', array('request' => $this)); } /** * Get the HTTP request as a string * * @return string */ public function __toString() { return $this->getRawHeaders() . "\r\n\r\n"; } /** * Default method that will throw exceptions if an unsuccessful response is received. * * @param Event $event Received * @throws BadResponseException if the response is not successful */ public static function onRequestError(Event $event) { $e = BadResponseException::factory($event['request'], $event['response']); $event['request']->setState(self::STATE_ERROR, array('exception' => $e) + $event->toArray()); throw $e; } public function setClient(ClientInterface $client) { $this->client = $client; return $this; } public function getClient() { return $this->client; } public function getRawHeaders() { $protocolVersion = $this->protocolVersion ?: '1.1'; return trim($this->method . ' ' . $this->getResource()) . ' ' . strtoupper(str_replace('https', 'http', $this->url->getScheme())) . '/' . $protocolVersion . "\r\n" . implode("\r\n", $this->getHeaderLines()); } public function setUrl($url) { if ($url instanceof Url) { $this->url = $url; } else { $this->url = Url::factory($url); } // Update the port and host header $this->setPort($this->url->getPort()); if ($this->url->getUsername() || $this->url->getPassword()) { $this->setAuth($this->url->getUsername(), $this->url->getPassword()); // Remove the auth info from the URL $this->url->setUsername(null); $this->url->setPassword(null); } return $this; } public function send() { if (!$this->client) { throw new RuntimeException('A client must be set on the request'); } return $this->client->send($this); } public function getResponse() { return $this->response; } public function getQuery($asString = false) { return $asString ? (string) $this->url->getQuery() : $this->url->getQuery(); } public function getMethod() { return $this->method; } public function getScheme() { return $this->url->getScheme(); } public function setScheme($scheme) { $this->url->setScheme($scheme); return $this; } public function getHost() { return $this->url->getHost(); } public function setHost($host) { $this->url->setHost($host); $this->setPort($this->url->getPort()); return $this; } public function getProtocolVersion() { return $this->protocolVersion; } public function setProtocolVersion($protocol) { $this->protocolVersion = $protocol; return $this; } public function getPath() { return '/' . ltrim($this->url->getPath(), '/'); } public function setPath($path) { $this->url->setPath($path); return $this; } public function getPort() { return $this->url->getPort(); } public function setPort($port) { $this->url->setPort($port); // Include the port in the Host header if it is not the default port for the scheme of the URL $scheme = $this->url->getScheme(); if ($port && (($scheme == 'http' && $port != 80) || ($scheme == 'https' && $port != 443))) { $this->headers['host'] = $this->headerFactory->createHeader('Host', $this->url->getHost() . ':' . $port); } else { $this->headers['host'] = $this->headerFactory->createHeader('Host', $this->url->getHost()); } return $this; } public function getUsername() { return $this->username; } public function getPassword() { return $this->password; } public function setAuth($user, $password = '', $scheme = CURLAUTH_BASIC) { static $authMap = array( 'basic' => CURLAUTH_BASIC, 'digest' => CURLAUTH_DIGEST, 'ntlm' => CURLAUTH_NTLM, 'any' => CURLAUTH_ANY ); // If we got false or null, disable authentication if (!$user) { $this->password = $this->username = null; $this->removeHeader('Authorization'); $this->getCurlOptions()->remove(CURLOPT_HTTPAUTH); return $this; } if (!is_numeric($scheme)) { $scheme = strtolower($scheme); if (!isset($authMap[$scheme])) { throw new InvalidArgumentException($scheme . ' is not a valid authentication type'); } $scheme = $authMap[$scheme]; } $this->username = $user; $this->password = $password; // Bypass CURL when using basic auth to promote connection reuse if ($scheme == CURLAUTH_BASIC) { $this->getCurlOptions()->remove(CURLOPT_HTTPAUTH); $this->setHeader('Authorization', 'Basic ' . base64_encode($this->username . ':' . $this->password)); } else { $this->getCurlOptions() ->set(CURLOPT_HTTPAUTH, $scheme) ->set(CURLOPT_USERPWD, $this->username . ':' . $this->password); } return $this; } public function getResource() { $resource = $this->getPath(); if ($query = (string) $this->url->getQuery()) { $resource .= '?' . $query; } return $resource; } public function getUrl($asObject = false) { return $asObject ? clone $this->url : (string) $this->url; } public function getState() { return $this->state; } public function setState($state, array $context = array()) { $oldState = $this->state; $this->state = $state; switch ($state) { case self::STATE_NEW: $this->response = null; break; case self::STATE_TRANSFER: if ($oldState !== $state) { // Fix Content-Length and Transfer-Encoding collisions if ($this->hasHeader('Transfer-Encoding') && $this->hasHeader('Content-Length')) { $this->removeHeader('Transfer-Encoding'); } $this->dispatch('request.before_send', array('request' => $this)); } break; case self::STATE_COMPLETE: if ($oldState !== $state) { $this->processResponse($context); $this->responseBody = null; } break; case self::STATE_ERROR: if (isset($context['exception'])) { $this->dispatch('request.exception', array( 'request' => $this, 'response' => isset($context['response']) ? $context['response'] : $this->response, 'exception' => isset($context['exception']) ? $context['exception'] : null )); } } return $this->state; } public function getCurlOptions() { return $this->curlOptions; } public function startResponse(Response $response) { $this->state = self::STATE_TRANSFER; $response->setEffectiveUrl((string) $this->getUrl()); $this->response = $response; return $this; } public function setResponse(Response $response, $queued = false) { $response->setEffectiveUrl((string) $this->url); if ($queued) { $ed = $this->getEventDispatcher(); $ed->addListener('request.before_send', $f = function ($e) use ($response, &$f, $ed) { $e['request']->setResponse($response); $ed->removeListener('request.before_send', $f); }, -9999); } else { $this->response = $response; // If a specific response body is specified, then use it instead of the response's body if ($this->responseBody && !$this->responseBody->getCustomData('default') && !$response->isRedirect()) { $this->getResponseBody()->write((string) $this->response->getBody()); } else { $this->responseBody = $this->response->getBody(); } $this->setState(self::STATE_COMPLETE); } return $this; } public function setResponseBody($body) { // Attempt to open a file for writing if a string was passed if (is_string($body)) { // @codeCoverageIgnoreStart if (!($body = fopen($body, 'w+'))) { throw new InvalidArgumentException('Could not open ' . $body . ' for writing'); } // @codeCoverageIgnoreEnd } $this->responseBody = EntityBody::factory($body); return $this; } public function getResponseBody() { if ($this->responseBody === null) { $this->responseBody = EntityBody::factory()->setCustomData('default', true); } return $this->responseBody; } /** * Determine if the response body is repeatable (readable + seekable) * * @return bool * @deprecated Use getResponseBody()->isSeekable() * @codeCoverageIgnore */ public function isResponseBodyRepeatable() { Version::warn(__METHOD__ . ' is deprecated. Use $request->getResponseBody()->isRepeatable()'); return !$this->responseBody ? true : $this->responseBody->isRepeatable(); } public function getCookies() { if ($cookie = $this->getHeader('Cookie')) { $data = ParserRegistry::getInstance()->getParser('cookie')->parseCookie($cookie); return $data['cookies']; } return array(); } public function getCookie($name) { $cookies = $this->getCookies(); return isset($cookies[$name]) ? $cookies[$name] : null; } public function addCookie($name, $value) { if (!$this->hasHeader('Cookie')) { $this->setHeader('Cookie', "{$name}={$value}"); } else { $this->getHeader('Cookie')->add("{$name}={$value}"); } // Always use semicolons to separate multiple cookie headers $this->getHeader('Cookie')->setGlue(';'); return $this; } public function removeCookie($name) { if ($cookie = $this->getHeader('Cookie')) { foreach ($cookie as $cookieValue) { if (strpos($cookieValue, $name . '=') === 0) { $cookie->removeValue($cookieValue); } } } return $this; } public function setEventDispatcher(EventDispatcherInterface $eventDispatcher) { $this->eventDispatcher = $eventDispatcher; $this->eventDispatcher->addListener('request.error', array(__CLASS__, 'onRequestError'), -255); return $this; } public function getEventDispatcher() { if (!$this->eventDispatcher) { $this->setEventDispatcher(new EventDispatcher()); } return $this->eventDispatcher; } public function dispatch($eventName, array $context = array()) { $context['request'] = $this; return $this->getEventDispatcher()->dispatch($eventName, new Event($context)); } public function addSubscriber(EventSubscriberInterface $subscriber) { $this->getEventDispatcher()->addSubscriber($subscriber); return $this; } /** * Get an array containing the request and response for event notifications * * @return array */ protected function getEventArray() { return array( 'request' => $this, 'response' => $this->response ); } /** * Process a received response * * @param array $context Contextual information * @throws RequestException|BadResponseException on unsuccessful responses */ protected function processResponse(array $context = array()) { if (!$this->response) { // If no response, then processResponse shouldn't have been called $e = new RequestException('Error completing request'); $e->setRequest($this); throw $e; } $this->state = self::STATE_COMPLETE; // A request was sent, but we don't know if we'll send more or if the final response will be successful $this->dispatch('request.sent', $this->getEventArray() + $context); // Some response processors will remove the response or reset the state (example: ExponentialBackoffPlugin) if ($this->state == RequestInterface::STATE_COMPLETE) { // The request completed, so the HTTP transaction is complete $this->dispatch('request.complete', $this->getEventArray()); // If the response is bad, allow listeners to modify it or throw exceptions. You can change the response by // modifying the Event object in your listeners or calling setResponse() on the request if ($this->response->isError()) { $event = new Event($this->getEventArray()); $this->getEventDispatcher()->dispatch('request.error', $event); // Allow events of request.error to quietly change the response if ($event['response'] !== $this->response) { $this->response = $event['response']; } } // If a successful response was received, dispatch an event if ($this->response->isSuccessful()) { $this->dispatch('request.success', $this->getEventArray()); } } } /** * @deprecated Use Guzzle\Plugin\Cache\DefaultCanCacheStrategy * @codeCoverageIgnore */ public function canCache() { Version::warn(__METHOD__ . ' is deprecated. Use Guzzle\Plugin\Cache\DefaultCanCacheStrategy.'); if (class_exists('Guzzle\Plugin\Cache\DefaultCanCacheStrategy')) { $canCache = new \Guzzle\Plugin\Cache\DefaultCanCacheStrategy(); return $canCache->canCacheRequest($this); } else { return false; } } /** * @deprecated Use the history plugin (not emitting a warning as this is built-into the RedirectPlugin for now) * @codeCoverageIgnore */ public function setIsRedirect($isRedirect) { $this->isRedirect = $isRedirect; return $this; } /** * @deprecated Use the history plugin * @codeCoverageIgnore */ public function isRedirect() { Version::warn(__METHOD__ . ' is deprecated. Use the HistoryPlugin to track this.'); return $this->isRedirect; } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/PostFile.php000064400000005662147400355670017535 0ustar00fieldName = $fieldName; $this->setFilename($filename); $this->postname = $postname ? $postname : basename($filename); $this->contentType = $contentType ?: $this->guessContentType(); } public function setFieldName($name) { $this->fieldName = $name; return $this; } public function getFieldName() { return $this->fieldName; } public function setFilename($filename) { // Remove leading @ symbol if (strpos($filename, '@') === 0) { $filename = substr($filename, 1); } if (!is_readable($filename)) { throw new InvalidArgumentException("Unable to open {$filename} for reading"); } $this->filename = $filename; return $this; } public function setPostname($postname) { $this->postname = $postname; return $this; } public function getFilename() { return $this->filename; } public function getPostname() { return $this->postname; } public function setContentType($type) { $this->contentType = $type; return $this; } public function getContentType() { return $this->contentType; } public function getCurlValue() { // PHP 5.5 introduced a CurlFile object that deprecates the old @filename syntax // See: https://wiki.php.net/rfc/curl-file-upload if (function_exists('curl_file_create')) { return curl_file_create($this->filename, $this->contentType, $this->postname); } // Use the old style if using an older version of PHP $value = "@{$this->filename};filename=" . $this->postname; if ($this->contentType) { $value .= ';type=' . $this->contentType; } return $value; } /** * @deprecated * @codeCoverageIgnore */ public function getCurlString() { Version::warn(__METHOD__ . ' is deprecated. Use getCurlValue()'); return $this->getCurlValue(); } /** * Determine the Content-Type of the file */ protected function guessContentType() { return Mimetypes::getInstance()->fromFilename($this->filename) ?: 'application/octet-stream'; } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/AbstractMessage.php000064400000013043147400355670021050 0ustar00params = new Collection(); $this->headerFactory = new HeaderFactory(); $this->headers = new HeaderCollection(); } /** * Set the header factory to use to create headers * * @param HeaderFactoryInterface $factory * * @return self */ public function setHeaderFactory(HeaderFactoryInterface $factory) { $this->headerFactory = $factory; return $this; } public function getParams() { return $this->params; } public function addHeader($header, $value) { if (isset($this->headers[$header])) { $this->headers[$header]->add($value); } elseif ($value instanceof HeaderInterface) { $this->headers[$header] = $value; } else { $this->headers[$header] = $this->headerFactory->createHeader($header, $value); } return $this; } public function addHeaders(array $headers) { foreach ($headers as $key => $value) { $this->addHeader($key, $value); } return $this; } public function getHeader($header) { return $this->headers[$header]; } public function getHeaders() { return $this->headers; } public function getHeaderLines() { $headers = array(); foreach ($this->headers as $value) { $headers[] = $value->getName() . ': ' . $value; } return $headers; } public function setHeader($header, $value) { unset($this->headers[$header]); $this->addHeader($header, $value); return $this; } public function setHeaders(array $headers) { $this->headers->clear(); foreach ($headers as $key => $value) { $this->addHeader($key, $value); } return $this; } public function hasHeader($header) { return isset($this->headers[$header]); } public function removeHeader($header) { unset($this->headers[$header]); return $this; } /** * @deprecated Use $message->getHeader()->parseParams() * @codeCoverageIgnore */ public function getTokenizedHeader($header, $token = ';') { Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader()->parseParams()'); if ($this->hasHeader($header)) { $data = new Collection(); foreach ($this->getHeader($header)->parseParams() as $values) { foreach ($values as $key => $value) { if ($value === '') { $data->set($data->count(), $key); } else { $data->add($key, $value); } } } return $data; } } /** * @deprecated * @codeCoverageIgnore */ public function setTokenizedHeader($header, $data, $token = ';') { Version::warn(__METHOD__ . ' is deprecated.'); return $this; } /** * @deprecated * @codeCoverageIgnore */ public function getCacheControlDirective($directive) { Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->getDirective()'); if (!($header = $this->getHeader('Cache-Control'))) { return null; } return $header->getDirective($directive); } /** * @deprecated * @codeCoverageIgnore */ public function hasCacheControlDirective($directive) { Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->hasDirective()'); if ($header = $this->getHeader('Cache-Control')) { return $header->hasDirective($directive); } else { return false; } } /** * @deprecated * @codeCoverageIgnore */ public function addCacheControlDirective($directive, $value = true) { Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->addDirective()'); if (!($header = $this->getHeader('Cache-Control'))) { $this->addHeader('Cache-Control', ''); $header = $this->getHeader('Cache-Control'); } $header->addDirective($directive, $value); return $this; } /** * @deprecated * @codeCoverageIgnore */ public function removeCacheControlDirective($directive) { Version::warn(__METHOD__ . ' is deprecated. Use $message->getHeader(\'Cache-Control\')->removeDirective()'); if ($header = $this->getHeader('Cache-Control')) { $header->removeDirective($directive); } return $this; } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/Response.php000064400000063435147400355670017610 0ustar00 'Continue', 101 => 'Switching Protocols', 102 => 'Processing', 200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content', 207 => 'Multi-Status', 208 => 'Already Reported', 226 => 'IM Used', 300 => 'Multiple Choices', 301 => 'Moved Permanently', 302 => 'Found', 303 => 'See Other', 304 => 'Not Modified', 305 => 'Use Proxy', 307 => 'Temporary Redirect', 308 => 'Permanent Redirect', 400 => 'Bad Request', 401 => 'Unauthorized', 402 => 'Payment Required', 403 => 'Forbidden', 404 => 'Not Found', 405 => 'Method Not Allowed', 406 => 'Not Acceptable', 407 => 'Proxy Authentication Required', 408 => 'Request Timeout', 409 => 'Conflict', 410 => 'Gone', 411 => 'Length Required', 412 => 'Precondition Failed', 413 => 'Request Entity Too Large', 414 => 'Request-URI Too Long', 415 => 'Unsupported Media Type', 416 => 'Requested Range Not Satisfiable', 417 => 'Expectation Failed', 422 => 'Unprocessable Entity', 423 => 'Locked', 424 => 'Failed Dependency', 425 => 'Reserved for WebDAV advanced collections expired proposal', 426 => 'Upgrade required', 428 => 'Precondition Required', 429 => 'Too Many Requests', 431 => 'Request Header Fields Too Large', 500 => 'Internal Server Error', 501 => 'Not Implemented', 502 => 'Bad Gateway', 503 => 'Service Unavailable', 504 => 'Gateway Timeout', 505 => 'HTTP Version Not Supported', 506 => 'Variant Also Negotiates (Experimental)', 507 => 'Insufficient Storage', 508 => 'Loop Detected', 510 => 'Not Extended', 511 => 'Network Authentication Required', ); /** @var EntityBodyInterface The response body */ protected $body; /** @var string The reason phrase of the response (human readable code) */ protected $reasonPhrase; /** @var string The status code of the response */ protected $statusCode; /** @var array Information about the request */ protected $info = array(); /** @var string The effective URL that returned this response */ protected $effectiveUrl; /** @var array Cacheable response codes (see RFC 2616:13.4) */ protected static $cacheResponseCodes = array(200, 203, 206, 300, 301, 410); /** * Create a new Response based on a raw response message * * @param string $message Response message * * @return self|bool Returns false on error */ public static function fromMessage($message) { $data = ParserRegistry::getInstance()->getParser('message')->parseResponse($message); if (!$data) { return false; } $response = new static($data['code'], $data['headers'], $data['body']); $response->setProtocol($data['protocol'], $data['version']) ->setStatus($data['code'], $data['reason_phrase']); // Set the appropriate Content-Length if the one set is inaccurate (e.g. setting to X) $contentLength = (string) $response->getHeader('Content-Length'); $actualLength = strlen($data['body']); if (strlen($data['body']) > 0 && $contentLength != $actualLength) { $response->setHeader('Content-Length', $actualLength); } return $response; } /** * Construct the response * * @param string $statusCode The response status code (e.g. 200, 404, etc) * @param ToArrayInterface|array $headers The response headers * @param string|resource|EntityBodyInterface $body The body of the response * * @throws BadResponseException if an invalid response code is given */ public function __construct($statusCode, $headers = null, $body = null) { parent::__construct(); $this->setStatus($statusCode); $this->body = EntityBody::factory($body !== null ? $body : ''); if ($headers) { if (is_array($headers)) { $this->setHeaders($headers); } elseif ($headers instanceof ToArrayInterface) { $this->setHeaders($headers->toArray()); } else { throw new BadResponseException('Invalid headers argument received'); } } } /** * @return string */ public function __toString() { return $this->getMessage(); } public function serialize() { return json_encode(array( 'status' => $this->statusCode, 'body' => (string) $this->body, 'headers' => $this->headers->toArray() )); } public function unserialize($serialize) { $data = json_decode($serialize, true); $this->__construct($data['status'], $data['headers'], $data['body']); } /** * Get the response entity body * * @param bool $asString Set to TRUE to return a string of the body rather than a full body object * * @return EntityBodyInterface|string */ public function getBody($asString = false) { return $asString ? (string) $this->body : $this->body; } /** * Set the response entity body * * @param EntityBodyInterface|string $body Body to set * * @return self */ public function setBody($body) { $this->body = EntityBody::factory($body); return $this; } /** * Set the protocol and protocol version of the response * * @param string $protocol Response protocol * @param string $version Protocol version * * @return self */ public function setProtocol($protocol, $version) { $this->protocol = $protocol; $this->protocolVersion = $version; return $this; } /** * Get the protocol used for the response (e.g. HTTP) * * @return string */ public function getProtocol() { return $this->protocol; } /** * Get the HTTP protocol version * * @return string */ public function getProtocolVersion() { return $this->protocolVersion; } /** * Get a cURL transfer information * * @param string $key A single statistic to check * * @return array|string|null Returns all stats if no key is set, a single stat if a key is set, or null if a key * is set and not found * @link http://www.php.net/manual/en/function.curl-getinfo.php */ public function getInfo($key = null) { if ($key === null) { return $this->info; } elseif (array_key_exists($key, $this->info)) { return $this->info[$key]; } else { return null; } } /** * Set the transfer information * * @param array $info Array of cURL transfer stats * * @return self */ public function setInfo(array $info) { $this->info = $info; return $this; } /** * Set the response status * * @param int $statusCode Response status code to set * @param string $reasonPhrase Response reason phrase * * @return self * @throws BadResponseException when an invalid response code is received */ public function setStatus($statusCode, $reasonPhrase = '') { $this->statusCode = (int) $statusCode; if (!$reasonPhrase && isset(self::$statusTexts[$this->statusCode])) { $this->reasonPhrase = self::$statusTexts[$this->statusCode]; } else { $this->reasonPhrase = $reasonPhrase; } return $this; } /** * Get the response status code * * @return integer */ public function getStatusCode() { return $this->statusCode; } /** * Get the entire response as a string * * @return string */ public function getMessage() { $message = $this->getRawHeaders(); // Only include the body in the message if the size is < 2MB $size = $this->body->getSize(); if ($size < 2097152) { $message .= (string) $this->body; } return $message; } /** * Get the the raw message headers as a string * * @return string */ public function getRawHeaders() { $headers = 'HTTP/1.1 ' . $this->statusCode . ' ' . $this->reasonPhrase . "\r\n"; $lines = $this->getHeaderLines(); if (!empty($lines)) { $headers .= implode("\r\n", $lines) . "\r\n"; } return $headers . "\r\n"; } /** * Get the response reason phrase- a human readable version of the numeric * status code * * @return string */ public function getReasonPhrase() { return $this->reasonPhrase; } /** * Get the Accept-Ranges HTTP header * * @return string Returns what partial content range types this server supports. */ public function getAcceptRanges() { return (string) $this->getHeader('Accept-Ranges'); } /** * Calculate the age of the response * * @return integer */ public function calculateAge() { $age = $this->getHeader('Age'); if ($age === null && $this->getDate()) { $age = time() - strtotime($this->getDate()); } return $age === null ? null : (int) (string) $age; } /** * Get the Age HTTP header * * @return integer|null Returns the age the object has been in a proxy cache in seconds. */ public function getAge() { return (string) $this->getHeader('Age'); } /** * Get the Allow HTTP header * * @return string|null Returns valid actions for a specified resource. To be used for a 405 Method not allowed. */ public function getAllow() { return (string) $this->getHeader('Allow'); } /** * Check if an HTTP method is allowed by checking the Allow response header * * @param string $method Method to check * * @return bool */ public function isMethodAllowed($method) { $allow = $this->getHeader('Allow'); if ($allow) { foreach (explode(',', $allow) as $allowable) { if (!strcasecmp(trim($allowable), $method)) { return true; } } } return false; } /** * Get the Cache-Control HTTP header * * @return string */ public function getCacheControl() { return (string) $this->getHeader('Cache-Control'); } /** * Get the Connection HTTP header * * @return string */ public function getConnection() { return (string) $this->getHeader('Connection'); } /** * Get the Content-Encoding HTTP header * * @return string|null */ public function getContentEncoding() { return (string) $this->getHeader('Content-Encoding'); } /** * Get the Content-Language HTTP header * * @return string|null Returns the language the content is in. */ public function getContentLanguage() { return (string) $this->getHeader('Content-Language'); } /** * Get the Content-Length HTTP header * * @return integer Returns the length of the response body in bytes */ public function getContentLength() { return (int) (string) $this->getHeader('Content-Length'); } /** * Get the Content-Location HTTP header * * @return string|null Returns an alternate location for the returned data (e.g /index.htm) */ public function getContentLocation() { return (string) $this->getHeader('Content-Location'); } /** * Get the Content-Disposition HTTP header * * @return string|null Returns the Content-Disposition header */ public function getContentDisposition() { return (string) $this->getHeader('Content-Disposition'); } /** * Get the Content-MD5 HTTP header * * @return string|null Returns a Base64-encoded binary MD5 sum of the content of the response. */ public function getContentMd5() { return (string) $this->getHeader('Content-MD5'); } /** * Get the Content-Range HTTP header * * @return string Returns where in a full body message this partial message belongs (e.g. bytes 21010-47021/47022). */ public function getContentRange() { return (string) $this->getHeader('Content-Range'); } /** * Get the Content-Type HTTP header * * @return string Returns the mime type of this content. */ public function getContentType() { return (string) $this->getHeader('Content-Type'); } /** * Checks if the Content-Type is of a certain type. This is useful if the * Content-Type header contains charset information and you need to know if * the Content-Type matches a particular type. * * @param string $type Content type to check against * * @return bool */ public function isContentType($type) { return stripos($this->getHeader('Content-Type'), $type) !== false; } /** * Get the Date HTTP header * * @return string|null Returns the date and time that the message was sent. */ public function getDate() { return (string) $this->getHeader('Date'); } /** * Get the ETag HTTP header * * @return string|null Returns an identifier for a specific version of a resource, often a Message digest. */ public function getEtag() { return (string) $this->getHeader('ETag'); } /** * Get the Expires HTTP header * * @return string|null Returns the date/time after which the response is considered stale. */ public function getExpires() { return (string) $this->getHeader('Expires'); } /** * Get the Last-Modified HTTP header * * @return string|null Returns the last modified date for the requested object, in RFC 2822 format * (e.g. Tue, 15 Nov 1994 12:45:26 GMT) */ public function getLastModified() { return (string) $this->getHeader('Last-Modified'); } /** * Get the Location HTTP header * * @return string|null Used in redirection, or when a new resource has been created. */ public function getLocation() { return (string) $this->getHeader('Location'); } /** * Get the Pragma HTTP header * * @return Header|null Returns the implementation-specific headers that may have various effects anywhere along * the request-response chain. */ public function getPragma() { return (string) $this->getHeader('Pragma'); } /** * Get the Proxy-Authenticate HTTP header * * @return string|null Authentication to access the proxy (e.g. Basic) */ public function getProxyAuthenticate() { return (string) $this->getHeader('Proxy-Authenticate'); } /** * Get the Retry-After HTTP header * * @return int|null If an entity is temporarily unavailable, this instructs the client to try again after a * specified period of time. */ public function getRetryAfter() { return (string) $this->getHeader('Retry-After'); } /** * Get the Server HTTP header * * @return string|null A name for the server */ public function getServer() { return (string) $this->getHeader('Server'); } /** * Get the Set-Cookie HTTP header * * @return string|null An HTTP cookie. */ public function getSetCookie() { return (string) $this->getHeader('Set-Cookie'); } /** * Get the Trailer HTTP header * * @return string|null The Trailer general field value indicates that the given set of header fields is present in * the trailer of a message encoded with chunked transfer-coding. */ public function getTrailer() { return (string) $this->getHeader('Trailer'); } /** * Get the Transfer-Encoding HTTP header * * @return string|null The form of encoding used to safely transfer the entity to the user */ public function getTransferEncoding() { return (string) $this->getHeader('Transfer-Encoding'); } /** * Get the Vary HTTP header * * @return string|null Tells downstream proxies how to match future request headers to decide whether the cached * response can be used rather than requesting a fresh one from the origin server. */ public function getVary() { return (string) $this->getHeader('Vary'); } /** * Get the Via HTTP header * * @return string|null Informs the client of proxies through which the response was sent. */ public function getVia() { return (string) $this->getHeader('Via'); } /** * Get the Warning HTTP header * * @return string|null A general warning about possible problems with the entity body */ public function getWarning() { return (string) $this->getHeader('Warning'); } /** * Get the WWW-Authenticate HTTP header * * @return string|null Indicates the authentication scheme that should be used to access the requested entity */ public function getWwwAuthenticate() { return (string) $this->getHeader('WWW-Authenticate'); } /** * Checks if HTTP Status code is a Client Error (4xx) * * @return bool */ public function isClientError() { return $this->statusCode >= 400 && $this->statusCode < 500; } /** * Checks if HTTP Status code is Server OR Client Error (4xx or 5xx) * * @return boolean */ public function isError() { return $this->isClientError() || $this->isServerError(); } /** * Checks if HTTP Status code is Information (1xx) * * @return bool */ public function isInformational() { return $this->statusCode < 200; } /** * Checks if HTTP Status code is a Redirect (3xx) * * @return bool */ public function isRedirect() { return $this->statusCode >= 300 && $this->statusCode < 400; } /** * Checks if HTTP Status code is Server Error (5xx) * * @return bool */ public function isServerError() { return $this->statusCode >= 500 && $this->statusCode < 600; } /** * Checks if HTTP Status code is Successful (2xx | 304) * * @return bool */ public function isSuccessful() { return ($this->statusCode >= 200 && $this->statusCode < 300) || $this->statusCode == 304; } /** * Check if the response can be cached based on the response headers * * @return bool Returns TRUE if the response can be cached or false if not */ public function canCache() { // Check if the response is cacheable based on the code if (!in_array((int) $this->getStatusCode(), self::$cacheResponseCodes)) { return false; } // Make sure a valid body was returned and can be cached if ((!$this->getBody()->isReadable() || !$this->getBody()->isSeekable()) && ($this->getContentLength() > 0 || $this->getTransferEncoding() == 'chunked')) { return false; } // Never cache no-store resources (this is a private cache, so private // can be cached) if ($this->getHeader('Cache-Control') && $this->getHeader('Cache-Control')->hasDirective('no-store')) { return false; } return $this->isFresh() || $this->getFreshness() === null || $this->canValidate(); } /** * Gets the number of seconds from the current time in which this response is still considered fresh * * @return int|null Returns the number of seconds */ public function getMaxAge() { if ($header = $this->getHeader('Cache-Control')) { // s-max-age, then max-age, then Expires if ($age = $header->getDirective('s-maxage')) { return $age; } if ($age = $header->getDirective('max-age')) { return $age; } } if ($this->getHeader('Expires')) { return strtotime($this->getExpires()) - time(); } return null; } /** * Check if the response is considered fresh. * * A response is considered fresh when its age is less than or equal to the freshness lifetime (maximum age) of the * response. * * @return bool|null */ public function isFresh() { $fresh = $this->getFreshness(); return $fresh === null ? null : $fresh >= 0; } /** * Check if the response can be validated against the origin server using a conditional GET request. * * @return bool */ public function canValidate() { return $this->getEtag() || $this->getLastModified(); } /** * Get the freshness of the response by returning the difference of the maximum lifetime of the response and the * age of the response (max-age - age). * * Freshness values less than 0 mean that the response is no longer fresh and is ABS(freshness) seconds expired. * Freshness values of greater than zero is the number of seconds until the response is no longer fresh. A NULL * result means that no freshness information is available. * * @return int */ public function getFreshness() { $maxAge = $this->getMaxAge(); $age = $this->calculateAge(); return $maxAge && $age ? ($maxAge - $age) : null; } /** * Parse the JSON response body and return an array * * @return array|string|int|bool|float * @throws RuntimeException if the response body is not in JSON format */ public function json() { $data = json_decode((string) $this->body, true); if (JSON_ERROR_NONE !== json_last_error()) { throw new RuntimeException('Unable to parse response body into JSON: ' . json_last_error()); } return $data === null ? array() : $data; } /** * Parse the XML response body and return a \SimpleXMLElement. * * In order to prevent XXE attacks, this method disables loading external * entities. If you rely on external entities, then you must parse the * XML response manually by accessing the response body directly. * * @return \SimpleXMLElement * @throws RuntimeException if the response body is not in XML format * @link http://websec.io/2012/08/27/Preventing-XXE-in-PHP.html */ public function xml() { $errorMessage = null; $internalErrors = libxml_use_internal_errors(true); if (\PHP_VERSION_ID < 80000) $disableEntities = libxml_disable_entity_loader(true); libxml_clear_errors(); try { $xml = new \SimpleXMLElement((string) $this->body ?: '', LIBXML_NONET); if ($error = libxml_get_last_error()) { $errorMessage = $error->message; } } catch (\Exception $e) { $errorMessage = $e->getMessage(); } libxml_clear_errors(); libxml_use_internal_errors($internalErrors); if (\PHP_VERSION_ID < 80000) libxml_disable_entity_loader($disableEntities); if ($errorMessage) { throw new RuntimeException('Unable to parse response body into XML: ' . $errorMessage); } return $xml; } /** * Get the redirect count of this response * * @return int */ public function getRedirectCount() { return (int) $this->params->get(RedirectPlugin::REDIRECT_COUNT); } /** * Set the effective URL that resulted in this response (e.g. the last redirect URL) * * @param string $url The effective URL * * @return self */ public function setEffectiveUrl($url) { $this->effectiveUrl = $url; return $this; } /** * Get the effective URL that resulted in this response (e.g. the last redirect URL) * * @return string */ public function getEffectiveUrl() { return $this->effectiveUrl; } /** * @deprecated * @codeCoverageIgnore */ public function getPreviousResponse() { Version::warn(__METHOD__ . ' is deprecated. Use the HistoryPlugin.'); return null; } /** * @deprecated * @codeCoverageIgnore */ public function setRequest($request) { Version::warn(__METHOD__ . ' is deprecated'); return $this; } /** * @deprecated * @codeCoverageIgnore */ public function getRequest() { Version::warn(__METHOD__ . ' is deprecated'); return null; } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php000064400000012570147400355670022605 0ustar00postFields = new QueryString(); parent::__construct($method, $url, $headers); } /** * @return string */ public function __toString() { // Only attempt to include the POST data if it's only fields if (count($this->postFields) && empty($this->postFiles)) { return parent::__toString() . (string) $this->postFields; } return parent::__toString() . $this->body; } public function setState($state, array $context = array()) { parent::setState($state, $context); if ($state == self::STATE_TRANSFER && !$this->body && !count($this->postFields) && !count($this->postFiles)) { $this->setHeader('Content-Length', 0)->removeHeader('Transfer-Encoding'); } return $this->state; } public function setBody($body, $contentType = null) { $this->body = EntityBody::factory($body); // Auto detect the Content-Type from the path of the request if possible if ($contentType === null && !$this->hasHeader('Content-Type')) { $contentType = $this->body->getContentType(); } if ($contentType) { $this->setHeader('Content-Type', $contentType); } // Always add the Expect 100-Continue header if the body cannot be rewound. This helps with redirects. if (!$this->body->isSeekable() && $this->expectCutoff !== false) { $this->setHeader('Expect', '100-Continue'); } // Set the Content-Length header if it can be determined $size = $this->body->getContentLength(); if ($size !== null && $size !== false) { $this->setHeader('Content-Length', $size); if ($size > $this->expectCutoff) { $this->setHeader('Expect', '100-Continue'); } } elseif (!$this->hasHeader('Content-Length')) { if ('1.1' == $this->protocolVersion) { $this->setHeader('Transfer-Encoding', 'chunked'); } else { throw new RequestException( 'Cannot determine Content-Length and cannot use chunked Transfer-Encoding when using HTTP/1.0' ); } } return $this; } public function getBody() { return $this->body; } /** * Set the size that the entity body of the request must exceed before adding the Expect: 100-Continue header. * * @param int|bool $size Cutoff in bytes. Set to false to never send the expect header (even with non-seekable data) * * @return self */ public function setExpectHeaderCutoff($size) { $this->expectCutoff = $size; if ($size === false || !$this->body) { $this->removeHeader('Expect'); } elseif ($this->body && $this->body->getSize() && $this->body->getSize() > $size) { $this->setHeader('Expect', '100-Continue'); } return $this; } public function configureRedirects($strict = false, $maxRedirects = 5) { $this->getParams()->set(RedirectPlugin::STRICT_REDIRECTS, $strict); if ($maxRedirects == 0) { $this->getParams()->set(RedirectPlugin::DISABLE, true); } else { $this->getParams()->set(RedirectPlugin::MAX_REDIRECTS, $maxRedirects); } return $this; } public function getPostField($field) { return $this->postFields->get($field); } public function getPostFields() { return $this->postFields; } public function setPostField($key, $value) { $this->postFields->set($key, $value); $this->processPostFields(); return $this; } public function addPostFields($fields) { $this->postFields->merge($fields); $this->processPostFields(); return $this; } public function removePostField($field) { $this->postFields->remove($field); $this->processPostFields(); return $this; } public function getPostFiles() { return $this->postFiles; } public function getPostFile($fieldName) { return isset($this->postFiles[$fieldName]) ? $this->postFiles[$fieldName] : null; } public function removePostFile($fieldName) { unset($this->postFiles[$fieldName]); $this->processPostFields(); return $this; } public function addPostFile($field, $filename = null, $contentType = null, $postname = null) { $data = null; if ($field instanceof PostFileInterface) { $data = $field; } elseif (is_array($filename)) { // Allow multiple values to be set in a single key foreach ($filename as $file) { $this->addPostFile($field, $file, $contentType); } return $this; } elseif (!is_string($filename)) { throw new RequestException('The path to a file must be a string'); } elseif (!empty($filename)) { // Adding an empty file will cause cURL to error out $data = new PostFile($field, $filename, $contentType, $postname); } if ($data) { if (!isset($this->postFiles[$data->getFieldName()])) { $this->postFiles[$data->getFieldName()] = array($data); } else { $this->postFiles[$data->getFieldName()][] = $data; } $this->processPostFields(); } return $this; } public function addPostFiles(array $files) { foreach ($files as $key => $file) { if ($file instanceof PostFileInterface) { $this->addPostFile($file, null, null, false); } elseif (is_string($file)) { // Convert non-associative array keys into 'file' if (is_numeric($key)) { $key = 'file'; } $this->addPostFile($key, $file, null, false); } else { throw new RequestException('File must be a string or instance of PostFileInterface'); } } return $this; } /** * Determine what type of request should be sent based on post fields */ protected function processPostFields() { if (!$this->postFiles) { $this->removeHeader('Expect')->setHeader('Content-Type', self::URL_ENCODED); } else { $this->setHeader('Content-Type', self::MULTIPART); if ($this->expectCutoff !== false) { $this->setHeader('Expect', '100-Continue'); } } } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php000064400000031304147400355670020760 0ustar00methods = array_flip(get_class_methods(__CLASS__)); } public function fromMessage($message) { $parsed = ParserRegistry::getInstance()->getParser('message')->parseRequest($message); if (!$parsed) { return false; } $request = $this->fromParts($parsed['method'], $parsed['request_url'], $parsed['headers'], $parsed['body'], $parsed['protocol'], $parsed['version']); // EntityEnclosingRequest adds an "Expect: 100-Continue" header when using a raw request body for PUT or POST // requests. This factory method should accurately reflect the message, so here we are removing the Expect // header if one was not supplied in the message. if (!isset($parsed['headers']['Expect']) && !isset($parsed['headers']['expect'])) { $request->removeHeader('Expect'); } return $request; } public function fromParts( $method, array $urlParts, $headers = null, $body = null, $protocol = 'HTTP', $protocolVersion = '1.1' ) { return $this->create($method, Url::buildUrl($urlParts), $headers, $body) ->setProtocolVersion($protocolVersion); } public function create($method, $url, $headers = null, $body = null, array $options = array()) { $method = strtoupper($method); if ($method == 'GET' || $method == 'HEAD' || $method == 'TRACE') { // Handle non-entity-enclosing request methods $request = new $this->requestClass($method, $url, $headers); if ($body) { // The body is where the response body will be stored $type = gettype($body); if ($type == 'string' || $type == 'resource' || $type == 'object') { $request->setResponseBody($body); } } } else { // Create an entity enclosing request by default $request = new $this->entityEnclosingRequestClass($method, $url, $headers); if ($body || $body === '0') { // Add POST fields and files to an entity enclosing request if an array is used if (is_array($body) || $body instanceof Collection) { // Normalize PHP style cURL uploads with a leading '@' symbol foreach ($body as $key => $value) { if (is_string($value) && substr($value, 0, 1) == '@') { $request->addPostFile($key, $value); unset($body[$key]); } } // Add the fields if they are still present and not all files $request->addPostFields($body); } else { // Add a raw entity body body to the request $request->setBody($body, (string) $request->getHeader('Content-Type')); if ((string) $request->getHeader('Transfer-Encoding') == 'chunked') { $request->removeHeader('Content-Length'); } } } } if ($options) { $this->applyOptions($request, $options); } return $request; } /** * Clone a request while changing the method. Emulates the behavior of * {@see Guzzle\Http\Message\Request::clone}, but can change the HTTP method. * * @param RequestInterface $request Request to clone * @param string $method Method to set * * @return RequestInterface */ public function cloneRequestWithMethod(RequestInterface $request, $method) { // Create the request with the same client if possible if ($request->getClient()) { $cloned = $request->getClient()->createRequest($method, $request->getUrl(), $request->getHeaders()); } else { $cloned = $this->create($method, $request->getUrl(), $request->getHeaders()); } $cloned->getCurlOptions()->replace($request->getCurlOptions()->toArray()); $cloned->setEventDispatcher(clone $request->getEventDispatcher()); // Ensure that that the Content-Length header is not copied if changing to GET or HEAD if (!($cloned instanceof EntityEnclosingRequestInterface)) { $cloned->removeHeader('Content-Length'); } elseif ($request instanceof EntityEnclosingRequestInterface) { $cloned->setBody($request->getBody()); } $cloned->getParams()->replace($request->getParams()->toArray()); $cloned->dispatch('request.clone', array('request' => $cloned)); return $cloned; } public function applyOptions(RequestInterface $request, array $options = array(), $flags = self::OPTIONS_NONE) { // Iterate over each key value pair and attempt to apply a config using function visitors foreach ($options as $key => $value) { $method = "visit_{$key}"; if (isset($this->methods[$method])) { $this->{$method}($request, $value, $flags); } } } protected function visit_headers(RequestInterface $request, $value, $flags) { if (!is_array($value)) { throw new InvalidArgumentException('headers value must be an array'); } if ($flags & self::OPTIONS_AS_DEFAULTS) { // Merge headers in but do not overwrite existing values foreach ($value as $key => $header) { if (!$request->hasHeader($key)) { $request->setHeader($key, $header); } } } else { $request->addHeaders($value); } } protected function visit_body(RequestInterface $request, $value, $flags) { if ($request instanceof EntityEnclosingRequestInterface) { $request->setBody($value); } else { throw new InvalidArgumentException('Attempting to set a body on a non-entity-enclosing request'); } } protected function visit_allow_redirects(RequestInterface $request, $value, $flags) { if ($value === false) { $request->getParams()->set(RedirectPlugin::DISABLE, true); } } protected function visit_auth(RequestInterface $request, $value, $flags) { if (!is_array($value)) { throw new InvalidArgumentException('auth value must be an array'); } $request->setAuth($value[0], isset($value[1]) ? $value[1] : null, isset($value[2]) ? $value[2] : 'basic'); } protected function visit_query(RequestInterface $request, $value, $flags) { if (!is_array($value)) { throw new InvalidArgumentException('query value must be an array'); } if ($flags & self::OPTIONS_AS_DEFAULTS) { // Merge query string values in but do not overwrite existing values $query = $request->getQuery(); $query->overwriteWith(array_diff_key($value, $query->toArray())); } else { $request->getQuery()->overwriteWith($value); } } protected function visit_cookies(RequestInterface $request, $value, $flags) { if (!is_array($value)) { throw new InvalidArgumentException('cookies value must be an array'); } foreach ($value as $name => $v) { $request->addCookie($name, $v); } } protected function visit_events(RequestInterface $request, $value, $flags) { if (!is_array($value)) { throw new InvalidArgumentException('events value must be an array'); } foreach ($value as $name => $method) { if (is_array($method)) { $request->getEventDispatcher()->addListener($name, $method[0], $method[1]); } else { $request->getEventDispatcher()->addListener($name, $method); } } } protected function visit_plugins(RequestInterface $request, $value, $flags) { if (!is_array($value)) { throw new InvalidArgumentException('plugins value must be an array'); } foreach ($value as $plugin) { $request->addSubscriber($plugin); } } protected function visit_exceptions(RequestInterface $request, $value, $flags) { if ($value === false || $value === 0) { $dispatcher = $request->getEventDispatcher(); foreach ($dispatcher->getListeners('request.error') as $listener) { if (is_array($listener) && $listener[0] == 'Guzzle\Http\Message\Request' && $listener[1] = 'onRequestError') { $dispatcher->removeListener('request.error', $listener); break; } } } } protected function visit_save_to(RequestInterface $request, $value, $flags) { $request->setResponseBody($value); } protected function visit_params(RequestInterface $request, $value, $flags) { if (!is_array($value)) { throw new InvalidArgumentException('params value must be an array'); } $request->getParams()->overwriteWith($value); } protected function visit_timeout(RequestInterface $request, $value, $flags) { if (defined('CURLOPT_TIMEOUT_MS')) { $request->getCurlOptions()->set(CURLOPT_TIMEOUT_MS, $value * 1000); } else { $request->getCurlOptions()->set(CURLOPT_TIMEOUT, $value); } } protected function visit_connect_timeout(RequestInterface $request, $value, $flags) { if (defined('CURLOPT_CONNECTTIMEOUT_MS')) { $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT_MS, $value * 1000); } else { $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT, $value); } } protected function visit_debug(RequestInterface $request, $value, $flags) { if ($value) { $request->getCurlOptions()->set(CURLOPT_VERBOSE, true); } } protected function visit_verify(RequestInterface $request, $value, $flags) { $curl = $request->getCurlOptions(); if ($value === true || is_string($value)) { $curl[CURLOPT_SSL_VERIFYHOST] = 2; $curl[CURLOPT_SSL_VERIFYPEER] = true; if ($value !== true) { $curl[CURLOPT_CAINFO] = $value; } } elseif ($value === false) { unset($curl[CURLOPT_CAINFO]); $curl[CURLOPT_SSL_VERIFYHOST] = 0; $curl[CURLOPT_SSL_VERIFYPEER] = false; } } protected function visit_proxy(RequestInterface $request, $value, $flags) { $request->getCurlOptions()->set(CURLOPT_PROXY, $value, $flags); } protected function visit_cert(RequestInterface $request, $value, $flags) { if (is_array($value)) { $request->getCurlOptions()->set(CURLOPT_SSLCERT, $value[0]); $request->getCurlOptions()->set(CURLOPT_SSLCERTPASSWD, $value[1]); } else { $request->getCurlOptions()->set(CURLOPT_SSLCERT, $value); } } protected function visit_ssl_key(RequestInterface $request, $value, $flags) { if (is_array($value)) { $request->getCurlOptions()->set(CURLOPT_SSLKEY, $value[0]); $request->getCurlOptions()->set(CURLOPT_SSLKEYPASSWD, $value[1]); } else { $request->getCurlOptions()->set(CURLOPT_SSLKEY, $value); } } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/EntityEnclosingRequestInterface.php000064400000010353147400355670024311 0ustar00 filenames where filename can be a string or PostFileInterface * * @return self */ public function addPostFiles(array $files); /** * Configure how redirects are handled for the request * * @param bool $strict Set to true to follow strict RFC compliance when redirecting POST requests. Most * browsers with follow a 301-302 redirect for a POST request with a GET request. This is * the default behavior of Guzzle. Enable strict redirects to redirect these responses * with a POST rather than a GET request. * @param int $maxRedirects Specify the maximum number of allowed redirects. Set to 0 to disable redirects. * * @return self */ public function configureRedirects($strict = false, $maxRedirects = 5); } vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactory.php000064400000001206147400355670021706 0ustar00 'Guzzle\Http\Message\Header\CacheControl', 'link' => 'Guzzle\Http\Message\Header\Link', ); public function createHeader($header, $value = null) { $lowercase = strtolower($header); return isset($this->mapping[$lowercase]) ? new $this->mapping[$lowercase]($header, $value) : new Header($header, $value); } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/CacheControl.php000064400000005366147400355670021545 0ustar00directives = null; } public function removeValue($searchValue) { parent::removeValue($searchValue); $this->directives = null; } /** * Check if a specific cache control directive exists * * @param string $param Directive to retrieve * * @return bool */ public function hasDirective($param) { $directives = $this->getDirectives(); return isset($directives[$param]); } /** * Get a specific cache control directive * * @param string $param Directive to retrieve * * @return string|bool|null */ public function getDirective($param) { $directives = $this->getDirectives(); return isset($directives[$param]) ? $directives[$param] : null; } /** * Add a cache control directive * * @param string $param Directive to add * @param string $value Value to set * * @return self */ public function addDirective($param, $value) { $directives = $this->getDirectives(); $directives[$param] = $value; $this->updateFromDirectives($directives); return $this; } /** * Remove a cache control directive by name * * @param string $param Directive to remove * * @return self */ public function removeDirective($param) { $directives = $this->getDirectives(); unset($directives[$param]); $this->updateFromDirectives($directives); return $this; } /** * Get an associative array of cache control directives * * @return array */ public function getDirectives() { if ($this->directives === null) { $this->directives = array(); foreach ($this->parseParams() as $collection) { foreach ($collection as $key => $value) { $this->directives[$key] = $value === '' ? true : $value; } } } return $this->directives; } /** * Updates the header value based on the parsed directives * * @param array $directives Array of cache control directives */ protected function updateFromDirectives(array $directives) { $this->directives = $directives; $this->values = array(); foreach ($directives as $key => $value) { $this->values[] = $value === true ? $key : "{$key}={$value}"; } } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderCollection.php000064400000004040147400355670022371 0ustar00headers = $headers; } public function __clone() { foreach ($this->headers as &$header) { $header = clone $header; } } /** * Clears the header collection */ public function clear() { $this->headers = array(); } /** * Set a header on the collection * * @param HeaderInterface $header Header to add * * @return self */ public function add(HeaderInterface $header) { $this->headers[strtolower($header->getName())] = $header; return $this; } /** * Get an array of header objects * * @return array */ public function getAll() { return $this->headers; } /** * Alias of offsetGet */ public function get($key) { return $this->offsetGet($key); } public function count() { return count($this->headers); } public function offsetExists($offset) { return isset($this->headers[strtolower($offset)]); } public function offsetGet($offset) { $l = strtolower($offset); return isset($this->headers[$l]) ? $this->headers[$l] : null; } public function offsetSet($offset, $value) { $this->add($value); } public function offsetUnset($offset) { unset($this->headers[strtolower($offset)]); } public function getIterator() { return new \ArrayIterator($this->headers); } public function toArray() { $result = array(); foreach ($this->headers as $header) { $result[$header->getName()] = $header->toArray(); } return $result; } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderFactoryInterface.php000064400000000643147400355670023533 0ustar00", "rel=\"{$rel}\""); foreach ($params as $k => $v) { $values[] = "{$k}=\"{$v}\""; } return $this->add(implode('; ', $values)); } /** * Check if a specific link exists for a given rel attribute * * @param string $rel rel value * * @return bool */ public function hasLink($rel) { return $this->getLink($rel) !== null; } /** * Get a specific link for a given rel attribute * * @param string $rel Rel value * * @return array|null */ public function getLink($rel) { foreach ($this->getLinks() as $link) { if (isset($link['rel']) && $link['rel'] == $rel) { return $link; } } return null; } /** * Get an associative array of links * * For example: * Link: ; rel=front; type="image/jpeg", ; rel=back; type="image/jpeg" * * * var_export($response->getLinks()); * array( * array( * 'url' => 'http:/.../front.jpeg', * 'rel' => 'back', * 'type' => 'image/jpeg', * ) * ) * * * @return array */ public function getLinks() { $links = $this->parseParams(); foreach ($links as &$link) { $key = key($link); unset($link[$key]); $link['url'] = trim($key, '<> '); } return $links; } } vendor/guzzle/guzzle/src/Guzzle/Http/Message/Header/HeaderInterface.php000064400000003520147400355670022200 0ustar00 'text/vnd.in3d.3dml', '3g2' => 'video/3gpp2', '3gp' => 'video/3gpp', '7z' => 'application/x-7z-compressed', 'aab' => 'application/x-authorware-bin', 'aac' => 'audio/x-aac', 'aam' => 'application/x-authorware-map', 'aas' => 'application/x-authorware-seg', 'abw' => 'application/x-abiword', 'ac' => 'application/pkix-attr-cert', 'acc' => 'application/vnd.americandynamics.acc', 'ace' => 'application/x-ace-compressed', 'acu' => 'application/vnd.acucobol', 'acutc' => 'application/vnd.acucorp', 'adp' => 'audio/adpcm', 'aep' => 'application/vnd.audiograph', 'afm' => 'application/x-font-type1', 'afp' => 'application/vnd.ibm.modcap', 'ahead' => 'application/vnd.ahead.space', 'ai' => 'application/postscript', 'aif' => 'audio/x-aiff', 'aifc' => 'audio/x-aiff', 'aiff' => 'audio/x-aiff', 'air' => 'application/vnd.adobe.air-application-installer-package+zip', 'ait' => 'application/vnd.dvb.ait', 'ami' => 'application/vnd.amiga.ami', 'apk' => 'application/vnd.android.package-archive', 'application' => 'application/x-ms-application', 'apr' => 'application/vnd.lotus-approach', 'asa' => 'text/plain', 'asax' => 'application/octet-stream', 'asc' => 'application/pgp-signature', 'ascx' => 'text/plain', 'asf' => 'video/x-ms-asf', 'ashx' => 'text/plain', 'asm' => 'text/x-asm', 'asmx' => 'text/plain', 'aso' => 'application/vnd.accpac.simply.aso', 'asp' => 'text/plain', 'aspx' => 'text/plain', 'asx' => 'video/x-ms-asf', 'atc' => 'application/vnd.acucorp', 'atom' => 'application/atom+xml', 'atomcat' => 'application/atomcat+xml', 'atomsvc' => 'application/atomsvc+xml', 'atx' => 'application/vnd.antix.game-component', 'au' => 'audio/basic', 'avi' => 'video/x-msvideo', 'aw' => 'application/applixware', 'axd' => 'text/plain', 'azf' => 'application/vnd.airzip.filesecure.azf', 'azs' => 'application/vnd.airzip.filesecure.azs', 'azw' => 'application/vnd.amazon.ebook', 'bat' => 'application/x-msdownload', 'bcpio' => 'application/x-bcpio', 'bdf' => 'application/x-font-bdf', 'bdm' => 'application/vnd.syncml.dm+wbxml', 'bed' => 'application/vnd.realvnc.bed', 'bh2' => 'application/vnd.fujitsu.oasysprs', 'bin' => 'application/octet-stream', 'bmi' => 'application/vnd.bmi', 'bmp' => 'image/bmp', 'book' => 'application/vnd.framemaker', 'box' => 'application/vnd.previewsystems.box', 'boz' => 'application/x-bzip2', 'bpk' => 'application/octet-stream', 'btif' => 'image/prs.btif', 'bz' => 'application/x-bzip', 'bz2' => 'application/x-bzip2', 'c' => 'text/x-c', 'c11amc' => 'application/vnd.cluetrust.cartomobile-config', 'c11amz' => 'application/vnd.cluetrust.cartomobile-config-pkg', 'c4d' => 'application/vnd.clonk.c4group', 'c4f' => 'application/vnd.clonk.c4group', 'c4g' => 'application/vnd.clonk.c4group', 'c4p' => 'application/vnd.clonk.c4group', 'c4u' => 'application/vnd.clonk.c4group', 'cab' => 'application/vnd.ms-cab-compressed', 'car' => 'application/vnd.curl.car', 'cat' => 'application/vnd.ms-pki.seccat', 'cc' => 'text/x-c', 'cct' => 'application/x-director', 'ccxml' => 'application/ccxml+xml', 'cdbcmsg' => 'application/vnd.contact.cmsg', 'cdf' => 'application/x-netcdf', 'cdkey' => 'application/vnd.mediastation.cdkey', 'cdmia' => 'application/cdmi-capability', 'cdmic' => 'application/cdmi-container', 'cdmid' => 'application/cdmi-domain', 'cdmio' => 'application/cdmi-object', 'cdmiq' => 'application/cdmi-queue', 'cdx' => 'chemical/x-cdx', 'cdxml' => 'application/vnd.chemdraw+xml', 'cdy' => 'application/vnd.cinderella', 'cer' => 'application/pkix-cert', 'cfc' => 'application/x-coldfusion', 'cfm' => 'application/x-coldfusion', 'cgm' => 'image/cgm', 'chat' => 'application/x-chat', 'chm' => 'application/vnd.ms-htmlhelp', 'chrt' => 'application/vnd.kde.kchart', 'cif' => 'chemical/x-cif', 'cii' => 'application/vnd.anser-web-certificate-issue-initiation', 'cil' => 'application/vnd.ms-artgalry', 'cla' => 'application/vnd.claymore', 'class' => 'application/java-vm', 'clkk' => 'application/vnd.crick.clicker.keyboard', 'clkp' => 'application/vnd.crick.clicker.palette', 'clkt' => 'application/vnd.crick.clicker.template', 'clkw' => 'application/vnd.crick.clicker.wordbank', 'clkx' => 'application/vnd.crick.clicker', 'clp' => 'application/x-msclip', 'cmc' => 'application/vnd.cosmocaller', 'cmdf' => 'chemical/x-cmdf', 'cml' => 'chemical/x-cml', 'cmp' => 'application/vnd.yellowriver-custom-menu', 'cmx' => 'image/x-cmx', 'cod' => 'application/vnd.rim.cod', 'com' => 'application/x-msdownload', 'conf' => 'text/plain', 'cpio' => 'application/x-cpio', 'cpp' => 'text/x-c', 'cpt' => 'application/mac-compactpro', 'crd' => 'application/x-mscardfile', 'crl' => 'application/pkix-crl', 'crt' => 'application/x-x509-ca-cert', 'cryptonote' => 'application/vnd.rig.cryptonote', 'cs' => 'text/plain', 'csh' => 'application/x-csh', 'csml' => 'chemical/x-csml', 'csp' => 'application/vnd.commonspace', 'css' => 'text/css', 'cst' => 'application/x-director', 'csv' => 'text/csv', 'cu' => 'application/cu-seeme', 'curl' => 'text/vnd.curl', 'cww' => 'application/prs.cww', 'cxt' => 'application/x-director', 'cxx' => 'text/x-c', 'dae' => 'model/vnd.collada+xml', 'daf' => 'application/vnd.mobius.daf', 'dataless' => 'application/vnd.fdsn.seed', 'davmount' => 'application/davmount+xml', 'dcr' => 'application/x-director', 'dcurl' => 'text/vnd.curl.dcurl', 'dd2' => 'application/vnd.oma.dd2+xml', 'ddd' => 'application/vnd.fujixerox.ddd', 'deb' => 'application/x-debian-package', 'def' => 'text/plain', 'deploy' => 'application/octet-stream', 'der' => 'application/x-x509-ca-cert', 'dfac' => 'application/vnd.dreamfactory', 'dic' => 'text/x-c', 'dir' => 'application/x-director', 'dis' => 'application/vnd.mobius.dis', 'dist' => 'application/octet-stream', 'distz' => 'application/octet-stream', 'djv' => 'image/vnd.djvu', 'djvu' => 'image/vnd.djvu', 'dll' => 'application/x-msdownload', 'dmg' => 'application/octet-stream', 'dms' => 'application/octet-stream', 'dna' => 'application/vnd.dna', 'doc' => 'application/msword', 'docm' => 'application/vnd.ms-word.document.macroenabled.12', 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'dot' => 'application/msword', 'dotm' => 'application/vnd.ms-word.template.macroenabled.12', 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'dp' => 'application/vnd.osgi.dp', 'dpg' => 'application/vnd.dpgraph', 'dra' => 'audio/vnd.dra', 'dsc' => 'text/prs.lines.tag', 'dssc' => 'application/dssc+der', 'dtb' => 'application/x-dtbook+xml', 'dtd' => 'application/xml-dtd', 'dts' => 'audio/vnd.dts', 'dtshd' => 'audio/vnd.dts.hd', 'dump' => 'application/octet-stream', 'dvi' => 'application/x-dvi', 'dwf' => 'model/vnd.dwf', 'dwg' => 'image/vnd.dwg', 'dxf' => 'image/vnd.dxf', 'dxp' => 'application/vnd.spotfire.dxp', 'dxr' => 'application/x-director', 'ecelp4800' => 'audio/vnd.nuera.ecelp4800', 'ecelp7470' => 'audio/vnd.nuera.ecelp7470', 'ecelp9600' => 'audio/vnd.nuera.ecelp9600', 'ecma' => 'application/ecmascript', 'edm' => 'application/vnd.novadigm.edm', 'edx' => 'application/vnd.novadigm.edx', 'efif' => 'application/vnd.picsel', 'ei6' => 'application/vnd.pg.osasli', 'elc' => 'application/octet-stream', 'eml' => 'message/rfc822', 'emma' => 'application/emma+xml', 'eol' => 'audio/vnd.digital-winds', 'eot' => 'application/vnd.ms-fontobject', 'eps' => 'application/postscript', 'epub' => 'application/epub+zip', 'es3' => 'application/vnd.eszigno3+xml', 'esf' => 'application/vnd.epson.esf', 'et3' => 'application/vnd.eszigno3+xml', 'etx' => 'text/x-setext', 'exe' => 'application/x-msdownload', 'exi' => 'application/exi', 'ext' => 'application/vnd.novadigm.ext', 'ez' => 'application/andrew-inset', 'ez2' => 'application/vnd.ezpix-album', 'ez3' => 'application/vnd.ezpix-package', 'f' => 'text/x-fortran', 'f4v' => 'video/x-f4v', 'f77' => 'text/x-fortran', 'f90' => 'text/x-fortran', 'fbs' => 'image/vnd.fastbidsheet', 'fcs' => 'application/vnd.isac.fcs', 'fdf' => 'application/vnd.fdf', 'fe_launch' => 'application/vnd.denovo.fcselayout-link', 'fg5' => 'application/vnd.fujitsu.oasysgp', 'fgd' => 'application/x-director', 'fh' => 'image/x-freehand', 'fh4' => 'image/x-freehand', 'fh5' => 'image/x-freehand', 'fh7' => 'image/x-freehand', 'fhc' => 'image/x-freehand', 'fig' => 'application/x-xfig', 'fli' => 'video/x-fli', 'flo' => 'application/vnd.micrografx.flo', 'flv' => 'video/x-flv', 'flw' => 'application/vnd.kde.kivio', 'flx' => 'text/vnd.fmi.flexstor', 'fly' => 'text/vnd.fly', 'fm' => 'application/vnd.framemaker', 'fnc' => 'application/vnd.frogans.fnc', 'for' => 'text/x-fortran', 'fpx' => 'image/vnd.fpx', 'frame' => 'application/vnd.framemaker', 'fsc' => 'application/vnd.fsc.weblaunch', 'fst' => 'image/vnd.fst', 'ftc' => 'application/vnd.fluxtime.clip', 'fti' => 'application/vnd.anser-web-funds-transfer-initiation', 'fvt' => 'video/vnd.fvt', 'fxp' => 'application/vnd.adobe.fxp', 'fxpl' => 'application/vnd.adobe.fxp', 'fzs' => 'application/vnd.fuzzysheet', 'g2w' => 'application/vnd.geoplan', 'g3' => 'image/g3fax', 'g3w' => 'application/vnd.geospace', 'gac' => 'application/vnd.groove-account', 'gdl' => 'model/vnd.gdl', 'geo' => 'application/vnd.dynageo', 'gex' => 'application/vnd.geometry-explorer', 'ggb' => 'application/vnd.geogebra.file', 'ggt' => 'application/vnd.geogebra.tool', 'ghf' => 'application/vnd.groove-help', 'gif' => 'image/gif', 'gim' => 'application/vnd.groove-identity-message', 'gmx' => 'application/vnd.gmx', 'gnumeric' => 'application/x-gnumeric', 'gph' => 'application/vnd.flographit', 'gqf' => 'application/vnd.grafeq', 'gqs' => 'application/vnd.grafeq', 'gram' => 'application/srgs', 'gre' => 'application/vnd.geometry-explorer', 'grv' => 'application/vnd.groove-injector', 'grxml' => 'application/srgs+xml', 'gsf' => 'application/x-font-ghostscript', 'gtar' => 'application/x-gtar', 'gtm' => 'application/vnd.groove-tool-message', 'gtw' => 'model/vnd.gtw', 'gv' => 'text/vnd.graphviz', 'gxt' => 'application/vnd.geonext', 'h' => 'text/x-c', 'h261' => 'video/h261', 'h263' => 'video/h263', 'h264' => 'video/h264', 'hal' => 'application/vnd.hal+xml', 'hbci' => 'application/vnd.hbci', 'hdf' => 'application/x-hdf', 'hh' => 'text/x-c', 'hlp' => 'application/winhlp', 'hpgl' => 'application/vnd.hp-hpgl', 'hpid' => 'application/vnd.hp-hpid', 'hps' => 'application/vnd.hp-hps', 'hqx' => 'application/mac-binhex40', 'hta' => 'application/octet-stream', 'htc' => 'text/html', 'htke' => 'application/vnd.kenameaapp', 'htm' => 'text/html', 'html' => 'text/html', 'hvd' => 'application/vnd.yamaha.hv-dic', 'hvp' => 'application/vnd.yamaha.hv-voice', 'hvs' => 'application/vnd.yamaha.hv-script', 'i2g' => 'application/vnd.intergeo', 'icc' => 'application/vnd.iccprofile', 'ice' => 'x-conference/x-cooltalk', 'icm' => 'application/vnd.iccprofile', 'ico' => 'image/x-icon', 'ics' => 'text/calendar', 'ief' => 'image/ief', 'ifb' => 'text/calendar', 'ifm' => 'application/vnd.shana.informed.formdata', 'iges' => 'model/iges', 'igl' => 'application/vnd.igloader', 'igm' => 'application/vnd.insors.igm', 'igs' => 'model/iges', 'igx' => 'application/vnd.micrografx.igx', 'iif' => 'application/vnd.shana.informed.interchange', 'imp' => 'application/vnd.accpac.simply.imp', 'ims' => 'application/vnd.ms-ims', 'in' => 'text/plain', 'ini' => 'text/plain', 'ipfix' => 'application/ipfix', 'ipk' => 'application/vnd.shana.informed.package', 'irm' => 'application/vnd.ibm.rights-management', 'irp' => 'application/vnd.irepository.package+xml', 'iso' => 'application/octet-stream', 'itp' => 'application/vnd.shana.informed.formtemplate', 'ivp' => 'application/vnd.immervision-ivp', 'ivu' => 'application/vnd.immervision-ivu', 'jad' => 'text/vnd.sun.j2me.app-descriptor', 'jam' => 'application/vnd.jam', 'jar' => 'application/java-archive', 'java' => 'text/x-java-source', 'jisp' => 'application/vnd.jisp', 'jlt' => 'application/vnd.hp-jlyt', 'jnlp' => 'application/x-java-jnlp-file', 'joda' => 'application/vnd.joost.joda-archive', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'jpgm' => 'video/jpm', 'jpgv' => 'video/jpeg', 'jpm' => 'video/jpm', 'js' => 'text/javascript', 'json' => 'application/json', 'kar' => 'audio/midi', 'karbon' => 'application/vnd.kde.karbon', 'kfo' => 'application/vnd.kde.kformula', 'kia' => 'application/vnd.kidspiration', 'kml' => 'application/vnd.google-earth.kml+xml', 'kmz' => 'application/vnd.google-earth.kmz', 'kne' => 'application/vnd.kinar', 'knp' => 'application/vnd.kinar', 'kon' => 'application/vnd.kde.kontour', 'kpr' => 'application/vnd.kde.kpresenter', 'kpt' => 'application/vnd.kde.kpresenter', 'ksp' => 'application/vnd.kde.kspread', 'ktr' => 'application/vnd.kahootz', 'ktx' => 'image/ktx', 'ktz' => 'application/vnd.kahootz', 'kwd' => 'application/vnd.kde.kword', 'kwt' => 'application/vnd.kde.kword', 'lasxml' => 'application/vnd.las.las+xml', 'latex' => 'application/x-latex', 'lbd' => 'application/vnd.llamagraphics.life-balance.desktop', 'lbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml', 'les' => 'application/vnd.hhe.lesson-player', 'lha' => 'application/octet-stream', 'link66' => 'application/vnd.route66.link66+xml', 'list' => 'text/plain', 'list3820' => 'application/vnd.ibm.modcap', 'listafp' => 'application/vnd.ibm.modcap', 'log' => 'text/plain', 'lostxml' => 'application/lost+xml', 'lrf' => 'application/octet-stream', 'lrm' => 'application/vnd.ms-lrm', 'ltf' => 'application/vnd.frogans.ltf', 'lvp' => 'audio/vnd.lucent.voice', 'lwp' => 'application/vnd.lotus-wordpro', 'lzh' => 'application/octet-stream', 'm13' => 'application/x-msmediaview', 'm14' => 'application/x-msmediaview', 'm1v' => 'video/mpeg', 'm21' => 'application/mp21', 'm2a' => 'audio/mpeg', 'm2v' => 'video/mpeg', 'm3a' => 'audio/mpeg', 'm3u' => 'audio/x-mpegurl', 'm3u8' => 'application/vnd.apple.mpegurl', 'm4a' => 'audio/mp4', 'm4u' => 'video/vnd.mpegurl', 'm4v' => 'video/mp4', 'ma' => 'application/mathematica', 'mads' => 'application/mads+xml', 'mag' => 'application/vnd.ecowin.chart', 'maker' => 'application/vnd.framemaker', 'man' => 'text/troff', 'mathml' => 'application/mathml+xml', 'mb' => 'application/mathematica', 'mbk' => 'application/vnd.mobius.mbk', 'mbox' => 'application/mbox', 'mc1' => 'application/vnd.medcalcdata', 'mcd' => 'application/vnd.mcd', 'mcurl' => 'text/vnd.curl.mcurl', 'mdb' => 'application/x-msaccess', 'mdi' => 'image/vnd.ms-modi', 'me' => 'text/troff', 'mesh' => 'model/mesh', 'meta4' => 'application/metalink4+xml', 'mets' => 'application/mets+xml', 'mfm' => 'application/vnd.mfmp', 'mgp' => 'application/vnd.osgeo.mapguide.package', 'mgz' => 'application/vnd.proteus.magazine', 'mid' => 'audio/midi', 'midi' => 'audio/midi', 'mif' => 'application/vnd.mif', 'mime' => 'message/rfc822', 'mj2' => 'video/mj2', 'mjp2' => 'video/mj2', 'mlp' => 'application/vnd.dolby.mlp', 'mmd' => 'application/vnd.chipnuts.karaoke-mmd', 'mmf' => 'application/vnd.smaf', 'mmr' => 'image/vnd.fujixerox.edmics-mmr', 'mny' => 'application/x-msmoney', 'mobi' => 'application/x-mobipocket-ebook', 'mods' => 'application/mods+xml', 'mov' => 'video/quicktime', 'movie' => 'video/x-sgi-movie', 'mp2' => 'audio/mpeg', 'mp21' => 'application/mp21', 'mp2a' => 'audio/mpeg', 'mp3' => 'audio/mpeg', 'mp4' => 'video/mp4', 'mp4a' => 'audio/mp4', 'mp4s' => 'application/mp4', 'mp4v' => 'video/mp4', 'mpc' => 'application/vnd.mophun.certificate', 'mpe' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'mpg' => 'video/mpeg', 'mpg4' => 'video/mp4', 'mpga' => 'audio/mpeg', 'mpkg' => 'application/vnd.apple.installer+xml', 'mpm' => 'application/vnd.blueice.multipass', 'mpn' => 'application/vnd.mophun.application', 'mpp' => 'application/vnd.ms-project', 'mpt' => 'application/vnd.ms-project', 'mpy' => 'application/vnd.ibm.minipay', 'mqy' => 'application/vnd.mobius.mqy', 'mrc' => 'application/marc', 'mrcx' => 'application/marcxml+xml', 'ms' => 'text/troff', 'mscml' => 'application/mediaservercontrol+xml', 'mseed' => 'application/vnd.fdsn.mseed', 'mseq' => 'application/vnd.mseq', 'msf' => 'application/vnd.epson.msf', 'msh' => 'model/mesh', 'msi' => 'application/x-msdownload', 'msl' => 'application/vnd.mobius.msl', 'msty' => 'application/vnd.muvee.style', 'mts' => 'model/vnd.mts', 'mus' => 'application/vnd.musician', 'musicxml' => 'application/vnd.recordare.musicxml+xml', 'mvb' => 'application/x-msmediaview', 'mwf' => 'application/vnd.mfer', 'mxf' => 'application/mxf', 'mxl' => 'application/vnd.recordare.musicxml', 'mxml' => 'application/xv+xml', 'mxs' => 'application/vnd.triscape.mxs', 'mxu' => 'video/vnd.mpegurl', 'n-gage' => 'application/vnd.nokia.n-gage.symbian.install', 'n3' => 'text/n3', 'nb' => 'application/mathematica', 'nbp' => 'application/vnd.wolfram.player', 'nc' => 'application/x-netcdf', 'ncx' => 'application/x-dtbncx+xml', 'ngdat' => 'application/vnd.nokia.n-gage.data', 'nlu' => 'application/vnd.neurolanguage.nlu', 'nml' => 'application/vnd.enliven', 'nnd' => 'application/vnd.noblenet-directory', 'nns' => 'application/vnd.noblenet-sealer', 'nnw' => 'application/vnd.noblenet-web', 'npx' => 'image/vnd.net-fpx', 'nsf' => 'application/vnd.lotus-notes', 'oa2' => 'application/vnd.fujitsu.oasys2', 'oa3' => 'application/vnd.fujitsu.oasys3', 'oas' => 'application/vnd.fujitsu.oasys', 'obd' => 'application/x-msbinder', 'oda' => 'application/oda', 'odb' => 'application/vnd.oasis.opendocument.database', 'odc' => 'application/vnd.oasis.opendocument.chart', 'odf' => 'application/vnd.oasis.opendocument.formula', 'odft' => 'application/vnd.oasis.opendocument.formula-template', 'odg' => 'application/vnd.oasis.opendocument.graphics', 'odi' => 'application/vnd.oasis.opendocument.image', 'odm' => 'application/vnd.oasis.opendocument.text-master', 'odp' => 'application/vnd.oasis.opendocument.presentation', 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', 'odt' => 'application/vnd.oasis.opendocument.text', 'oga' => 'audio/ogg', 'ogg' => 'audio/ogg', 'ogv' => 'video/ogg', 'ogx' => 'application/ogg', 'onepkg' => 'application/onenote', 'onetmp' => 'application/onenote', 'onetoc' => 'application/onenote', 'onetoc2' => 'application/onenote', 'opf' => 'application/oebps-package+xml', 'oprc' => 'application/vnd.palm', 'org' => 'application/vnd.lotus-organizer', 'osf' => 'application/vnd.yamaha.openscoreformat', 'osfpvg' => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', 'otc' => 'application/vnd.oasis.opendocument.chart-template', 'otf' => 'application/x-font-otf', 'otg' => 'application/vnd.oasis.opendocument.graphics-template', 'oth' => 'application/vnd.oasis.opendocument.text-web', 'oti' => 'application/vnd.oasis.opendocument.image-template', 'otp' => 'application/vnd.oasis.opendocument.presentation-template', 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', 'ott' => 'application/vnd.oasis.opendocument.text-template', 'oxt' => 'application/vnd.openofficeorg.extension', 'p' => 'text/x-pascal', 'p10' => 'application/pkcs10', 'p12' => 'application/x-pkcs12', 'p7b' => 'application/x-pkcs7-certificates', 'p7c' => 'application/pkcs7-mime', 'p7m' => 'application/pkcs7-mime', 'p7r' => 'application/x-pkcs7-certreqresp', 'p7s' => 'application/pkcs7-signature', 'p8' => 'application/pkcs8', 'pas' => 'text/x-pascal', 'paw' => 'application/vnd.pawaafile', 'pbd' => 'application/vnd.powerbuilder6', 'pbm' => 'image/x-portable-bitmap', 'pcf' => 'application/x-font-pcf', 'pcl' => 'application/vnd.hp-pcl', 'pclxl' => 'application/vnd.hp-pclxl', 'pct' => 'image/x-pict', 'pcurl' => 'application/vnd.curl.pcurl', 'pcx' => 'image/x-pcx', 'pdb' => 'application/vnd.palm', 'pdf' => 'application/pdf', 'pfa' => 'application/x-font-type1', 'pfb' => 'application/x-font-type1', 'pfm' => 'application/x-font-type1', 'pfr' => 'application/font-tdpfr', 'pfx' => 'application/x-pkcs12', 'pgm' => 'image/x-portable-graymap', 'pgn' => 'application/x-chess-pgn', 'pgp' => 'application/pgp-encrypted', 'php' => 'text/x-php', 'phps' => 'application/x-httpd-phps', 'pic' => 'image/x-pict', 'pkg' => 'application/octet-stream', 'pki' => 'application/pkixcmp', 'pkipath' => 'application/pkix-pkipath', 'plb' => 'application/vnd.3gpp.pic-bw-large', 'plc' => 'application/vnd.mobius.plc', 'plf' => 'application/vnd.pocketlearn', 'pls' => 'application/pls+xml', 'pml' => 'application/vnd.ctc-posml', 'png' => 'image/png', 'pnm' => 'image/x-portable-anymap', 'portpkg' => 'application/vnd.macports.portpkg', 'pot' => 'application/vnd.ms-powerpoint', 'potm' => 'application/vnd.ms-powerpoint.template.macroenabled.12', 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', 'ppam' => 'application/vnd.ms-powerpoint.addin.macroenabled.12', 'ppd' => 'application/vnd.cups-ppd', 'ppm' => 'image/x-portable-pixmap', 'pps' => 'application/vnd.ms-powerpoint', 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroenabled.12', 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'ppt' => 'application/vnd.ms-powerpoint', 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroenabled.12', 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'pqa' => 'application/vnd.palm', 'prc' => 'application/x-mobipocket-ebook', 'pre' => 'application/vnd.lotus-freelance', 'prf' => 'application/pics-rules', 'ps' => 'application/postscript', 'psb' => 'application/vnd.3gpp.pic-bw-small', 'psd' => 'image/vnd.adobe.photoshop', 'psf' => 'application/x-font-linux-psf', 'pskcxml' => 'application/pskc+xml', 'ptid' => 'application/vnd.pvi.ptid1', 'pub' => 'application/x-mspublisher', 'pvb' => 'application/vnd.3gpp.pic-bw-var', 'pwn' => 'application/vnd.3m.post-it-notes', 'pya' => 'audio/vnd.ms-playready.media.pya', 'pyv' => 'video/vnd.ms-playready.media.pyv', 'qam' => 'application/vnd.epson.quickanime', 'qbo' => 'application/vnd.intu.qbo', 'qfx' => 'application/vnd.intu.qfx', 'qps' => 'application/vnd.publishare-delta-tree', 'qt' => 'video/quicktime', 'qwd' => 'application/vnd.quark.quarkxpress', 'qwt' => 'application/vnd.quark.quarkxpress', 'qxb' => 'application/vnd.quark.quarkxpress', 'qxd' => 'application/vnd.quark.quarkxpress', 'qxl' => 'application/vnd.quark.quarkxpress', 'qxt' => 'application/vnd.quark.quarkxpress', 'ra' => 'audio/x-pn-realaudio', 'ram' => 'audio/x-pn-realaudio', 'rar' => 'application/x-rar-compressed', 'ras' => 'image/x-cmu-raster', 'rb' => 'text/plain', 'rcprofile' => 'application/vnd.ipunplugged.rcprofile', 'rdf' => 'application/rdf+xml', 'rdz' => 'application/vnd.data-vision.rdz', 'rep' => 'application/vnd.businessobjects', 'res' => 'application/x-dtbresource+xml', 'resx' => 'text/xml', 'rgb' => 'image/x-rgb', 'rif' => 'application/reginfo+xml', 'rip' => 'audio/vnd.rip', 'rl' => 'application/resource-lists+xml', 'rlc' => 'image/vnd.fujixerox.edmics-rlc', 'rld' => 'application/resource-lists-diff+xml', 'rm' => 'application/vnd.rn-realmedia', 'rmi' => 'audio/midi', 'rmp' => 'audio/x-pn-realaudio-plugin', 'rms' => 'application/vnd.jcp.javame.midlet-rms', 'rnc' => 'application/relax-ng-compact-syntax', 'roff' => 'text/troff', 'rp9' => 'application/vnd.cloanto.rp9', 'rpss' => 'application/vnd.nokia.radio-presets', 'rpst' => 'application/vnd.nokia.radio-preset', 'rq' => 'application/sparql-query', 'rs' => 'application/rls-services+xml', 'rsd' => 'application/rsd+xml', 'rss' => 'application/rss+xml', 'rtf' => 'application/rtf', 'rtx' => 'text/richtext', 's' => 'text/x-asm', 'saf' => 'application/vnd.yamaha.smaf-audio', 'sbml' => 'application/sbml+xml', 'sc' => 'application/vnd.ibm.secure-container', 'scd' => 'application/x-msschedule', 'scm' => 'application/vnd.lotus-screencam', 'scq' => 'application/scvp-cv-request', 'scs' => 'application/scvp-cv-response', 'scurl' => 'text/vnd.curl.scurl', 'sda' => 'application/vnd.stardivision.draw', 'sdc' => 'application/vnd.stardivision.calc', 'sdd' => 'application/vnd.stardivision.impress', 'sdkd' => 'application/vnd.solent.sdkm+xml', 'sdkm' => 'application/vnd.solent.sdkm+xml', 'sdp' => 'application/sdp', 'sdw' => 'application/vnd.stardivision.writer', 'see' => 'application/vnd.seemail', 'seed' => 'application/vnd.fdsn.seed', 'sema' => 'application/vnd.sema', 'semd' => 'application/vnd.semd', 'semf' => 'application/vnd.semf', 'ser' => 'application/java-serialized-object', 'setpay' => 'application/set-payment-initiation', 'setreg' => 'application/set-registration-initiation', 'sfd-hdstx' => 'application/vnd.hydrostatix.sof-data', 'sfs' => 'application/vnd.spotfire.sfs', 'sgl' => 'application/vnd.stardivision.writer-global', 'sgm' => 'text/sgml', 'sgml' => 'text/sgml', 'sh' => 'application/x-sh', 'shar' => 'application/x-shar', 'shf' => 'application/shf+xml', 'sig' => 'application/pgp-signature', 'silo' => 'model/mesh', 'sis' => 'application/vnd.symbian.install', 'sisx' => 'application/vnd.symbian.install', 'sit' => 'application/x-stuffit', 'sitx' => 'application/x-stuffitx', 'skd' => 'application/vnd.koan', 'skm' => 'application/vnd.koan', 'skp' => 'application/vnd.koan', 'skt' => 'application/vnd.koan', 'sldm' => 'application/vnd.ms-powerpoint.slide.macroenabled.12', 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', 'slt' => 'application/vnd.epson.salt', 'sm' => 'application/vnd.stepmania.stepchart', 'smf' => 'application/vnd.stardivision.math', 'smi' => 'application/smil+xml', 'smil' => 'application/smil+xml', 'snd' => 'audio/basic', 'snf' => 'application/x-font-snf', 'so' => 'application/octet-stream', 'spc' => 'application/x-pkcs7-certificates', 'spf' => 'application/vnd.yamaha.smaf-phrase', 'spl' => 'application/x-futuresplash', 'spot' => 'text/vnd.in3d.spot', 'spp' => 'application/scvp-vp-response', 'spq' => 'application/scvp-vp-request', 'spx' => 'audio/ogg', 'src' => 'application/x-wais-source', 'sru' => 'application/sru+xml', 'srx' => 'application/sparql-results+xml', 'sse' => 'application/vnd.kodak-descriptor', 'ssf' => 'application/vnd.epson.ssf', 'ssml' => 'application/ssml+xml', 'st' => 'application/vnd.sailingtracker.track', 'stc' => 'application/vnd.sun.xml.calc.template', 'std' => 'application/vnd.sun.xml.draw.template', 'stf' => 'application/vnd.wt.stf', 'sti' => 'application/vnd.sun.xml.impress.template', 'stk' => 'application/hyperstudio', 'stl' => 'application/vnd.ms-pki.stl', 'str' => 'application/vnd.pg.format', 'stw' => 'application/vnd.sun.xml.writer.template', 'sub' => 'image/vnd.dvb.subtitle', 'sus' => 'application/vnd.sus-calendar', 'susp' => 'application/vnd.sus-calendar', 'sv4cpio' => 'application/x-sv4cpio', 'sv4crc' => 'application/x-sv4crc', 'svc' => 'application/vnd.dvb.service', 'svd' => 'application/vnd.svd', 'svg' => 'image/svg+xml', 'svgz' => 'image/svg+xml', 'swa' => 'application/x-director', 'swf' => 'application/x-shockwave-flash', 'swi' => 'application/vnd.aristanetworks.swi', 'sxc' => 'application/vnd.sun.xml.calc', 'sxd' => 'application/vnd.sun.xml.draw', 'sxg' => 'application/vnd.sun.xml.writer.global', 'sxi' => 'application/vnd.sun.xml.impress', 'sxm' => 'application/vnd.sun.xml.math', 'sxw' => 'application/vnd.sun.xml.writer', 't' => 'text/troff', 'tao' => 'application/vnd.tao.intent-module-archive', 'tar' => 'application/x-tar', 'tcap' => 'application/vnd.3gpp2.tcap', 'tcl' => 'application/x-tcl', 'teacher' => 'application/vnd.smart.teacher', 'tei' => 'application/tei+xml', 'teicorpus' => 'application/tei+xml', 'tex' => 'application/x-tex', 'texi' => 'application/x-texinfo', 'texinfo' => 'application/x-texinfo', 'text' => 'text/plain', 'tfi' => 'application/thraud+xml', 'tfm' => 'application/x-tex-tfm', 'thmx' => 'application/vnd.ms-officetheme', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'tmo' => 'application/vnd.tmobile-livetv', 'torrent' => 'application/x-bittorrent', 'tpl' => 'application/vnd.groove-tool-template', 'tpt' => 'application/vnd.trid.tpt', 'tr' => 'text/troff', 'tra' => 'application/vnd.trueapp', 'trm' => 'application/x-msterminal', 'tsd' => 'application/timestamped-data', 'tsv' => 'text/tab-separated-values', 'ttc' => 'application/x-font-ttf', 'ttf' => 'application/x-font-ttf', 'ttl' => 'text/turtle', 'twd' => 'application/vnd.simtech-mindmapper', 'twds' => 'application/vnd.simtech-mindmapper', 'txd' => 'application/vnd.genomatix.tuxedo', 'txf' => 'application/vnd.mobius.txf', 'txt' => 'text/plain', 'u32' => 'application/x-authorware-bin', 'udeb' => 'application/x-debian-package', 'ufd' => 'application/vnd.ufdl', 'ufdl' => 'application/vnd.ufdl', 'umj' => 'application/vnd.umajin', 'unityweb' => 'application/vnd.unity', 'uoml' => 'application/vnd.uoml+xml', 'uri' => 'text/uri-list', 'uris' => 'text/uri-list', 'urls' => 'text/uri-list', 'ustar' => 'application/x-ustar', 'utz' => 'application/vnd.uiq.theme', 'uu' => 'text/x-uuencode', 'uva' => 'audio/vnd.dece.audio', 'uvd' => 'application/vnd.dece.data', 'uvf' => 'application/vnd.dece.data', 'uvg' => 'image/vnd.dece.graphic', 'uvh' => 'video/vnd.dece.hd', 'uvi' => 'image/vnd.dece.graphic', 'uvm' => 'video/vnd.dece.mobile', 'uvp' => 'video/vnd.dece.pd', 'uvs' => 'video/vnd.dece.sd', 'uvt' => 'application/vnd.dece.ttml+xml', 'uvu' => 'video/vnd.uvvu.mp4', 'uvv' => 'video/vnd.dece.video', 'uvva' => 'audio/vnd.dece.audio', 'uvvd' => 'application/vnd.dece.data', 'uvvf' => 'application/vnd.dece.data', 'uvvg' => 'image/vnd.dece.graphic', 'uvvh' => 'video/vnd.dece.hd', 'uvvi' => 'image/vnd.dece.graphic', 'uvvm' => 'video/vnd.dece.mobile', 'uvvp' => 'video/vnd.dece.pd', 'uvvs' => 'video/vnd.dece.sd', 'uvvt' => 'application/vnd.dece.ttml+xml', 'uvvu' => 'video/vnd.uvvu.mp4', 'uvvv' => 'video/vnd.dece.video', 'uvvx' => 'application/vnd.dece.unspecified', 'uvx' => 'application/vnd.dece.unspecified', 'vcd' => 'application/x-cdlink', 'vcf' => 'text/x-vcard', 'vcg' => 'application/vnd.groove-vcard', 'vcs' => 'text/x-vcalendar', 'vcx' => 'application/vnd.vcx', 'vis' => 'application/vnd.visionary', 'viv' => 'video/vnd.vivo', 'vor' => 'application/vnd.stardivision.writer', 'vox' => 'application/x-authorware-bin', 'vrml' => 'model/vrml', 'vsd' => 'application/vnd.visio', 'vsf' => 'application/vnd.vsf', 'vss' => 'application/vnd.visio', 'vst' => 'application/vnd.visio', 'vsw' => 'application/vnd.visio', 'vtu' => 'model/vnd.vtu', 'vxml' => 'application/voicexml+xml', 'w3d' => 'application/x-director', 'wad' => 'application/x-doom', 'wav' => 'audio/x-wav', 'wax' => 'audio/x-ms-wax', 'wbmp' => 'image/vnd.wap.wbmp', 'wbs' => 'application/vnd.criticaltools.wbs+xml', 'wbxml' => 'application/vnd.wap.wbxml', 'wcm' => 'application/vnd.ms-works', 'wdb' => 'application/vnd.ms-works', 'weba' => 'audio/webm', 'webm' => 'video/webm', 'webp' => 'image/webp', 'wg' => 'application/vnd.pmi.widget', 'wgt' => 'application/widget', 'wks' => 'application/vnd.ms-works', 'wm' => 'video/x-ms-wm', 'wma' => 'audio/x-ms-wma', 'wmd' => 'application/x-ms-wmd', 'wmf' => 'application/x-msmetafile', 'wml' => 'text/vnd.wap.wml', 'wmlc' => 'application/vnd.wap.wmlc', 'wmls' => 'text/vnd.wap.wmlscript', 'wmlsc' => 'application/vnd.wap.wmlscriptc', 'wmv' => 'video/x-ms-wmv', 'wmx' => 'video/x-ms-wmx', 'wmz' => 'application/x-ms-wmz', 'woff' => 'application/x-font-woff', 'wpd' => 'application/vnd.wordperfect', 'wpl' => 'application/vnd.ms-wpl', 'wps' => 'application/vnd.ms-works', 'wqd' => 'application/vnd.wqd', 'wri' => 'application/x-mswrite', 'wrl' => 'model/vrml', 'wsdl' => 'application/wsdl+xml', 'wspolicy' => 'application/wspolicy+xml', 'wtb' => 'application/vnd.webturbo', 'wvx' => 'video/x-ms-wvx', 'x32' => 'application/x-authorware-bin', 'x3d' => 'application/vnd.hzn-3d-crossword', 'xap' => 'application/x-silverlight-app', 'xar' => 'application/vnd.xara', 'xbap' => 'application/x-ms-xbap', 'xbd' => 'application/vnd.fujixerox.docuworks.binder', 'xbm' => 'image/x-xbitmap', 'xdf' => 'application/xcap-diff+xml', 'xdm' => 'application/vnd.syncml.dm+xml', 'xdp' => 'application/vnd.adobe.xdp+xml', 'xdssc' => 'application/dssc+xml', 'xdw' => 'application/vnd.fujixerox.docuworks', 'xenc' => 'application/xenc+xml', 'xer' => 'application/patch-ops-error+xml', 'xfdf' => 'application/vnd.adobe.xfdf', 'xfdl' => 'application/vnd.xfdl', 'xht' => 'application/xhtml+xml', 'xhtml' => 'application/xhtml+xml', 'xhvml' => 'application/xv+xml', 'xif' => 'image/vnd.xiff', 'xla' => 'application/vnd.ms-excel', 'xlam' => 'application/vnd.ms-excel.addin.macroenabled.12', 'xlc' => 'application/vnd.ms-excel', 'xlm' => 'application/vnd.ms-excel', 'xls' => 'application/vnd.ms-excel', 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroenabled.12', 'xlsm' => 'application/vnd.ms-excel.sheet.macroenabled.12', 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlt' => 'application/vnd.ms-excel', 'xltm' => 'application/vnd.ms-excel.template.macroenabled.12', 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'xlw' => 'application/vnd.ms-excel', 'xml' => 'application/xml', 'xo' => 'application/vnd.olpc-sugar', 'xop' => 'application/xop+xml', 'xpi' => 'application/x-xpinstall', 'xpm' => 'image/x-xpixmap', 'xpr' => 'application/vnd.is-xpr', 'xps' => 'application/vnd.ms-xpsdocument', 'xpw' => 'application/vnd.intercon.formnet', 'xpx' => 'application/vnd.intercon.formnet', 'xsl' => 'application/xml', 'xslt' => 'application/xslt+xml', 'xsm' => 'application/vnd.syncml+xml', 'xspf' => 'application/xspf+xml', 'xul' => 'application/vnd.mozilla.xul+xml', 'xvm' => 'application/xv+xml', 'xvml' => 'application/xv+xml', 'xwd' => 'image/x-xwindowdump', 'xyz' => 'chemical/x-xyz', 'yaml' => 'text/yaml', 'yang' => 'application/yang', 'yin' => 'application/yin+xml', 'yml' => 'text/yaml', 'zaz' => 'application/vnd.zzazz.deck+xml', 'zip' => 'application/zip', 'zir' => 'application/vnd.zul', 'zirz' => 'application/vnd.zul', 'zmm' => 'application/vnd.handheld-entertainment+xml' ); /** * Get a singleton instance of the class * * @return self * @codeCoverageIgnore */ public static function getInstance() { if (!self::$instance) { self::$instance = new self(); } return self::$instance; } /** * Get a mimetype value from a file extension * * @param string $extension File extension * * @return string|null * */ public function fromExtension($extension) { $extension = strtolower($extension); return isset($this->mimetypes[$extension]) ? $this->mimetypes[$extension] : null; } /** * Get a mimetype from a filename * * @param string $filename Filename to generate a mimetype from * * @return string|null */ public function fromFilename($filename) { return $this->fromExtension(pathinfo($filename, PATHINFO_EXTENSION)); } } vendor/guzzle/guzzle/src/Guzzle/Http/composer.json000064400000001450147400355670016424 0ustar00{ "name": "guzzle/http", "description": "HTTP libraries used by Guzzle", "homepage": "http://guzzlephp.org/", "keywords": ["http client", "http", "client", "Guzzle", "curl"], "license": "MIT", "authors": [ { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" } ], "require": { "php": ">=5.3.2", "guzzle/common": "self.version", "guzzle/parser": "self.version", "guzzle/stream": "self.version" }, "suggest": { "ext-curl": "*" }, "autoload": { "psr-0": { "Guzzle\\Http": "" } }, "target-dir": "Guzzle/Http", "extra": { "branch-alias": { "dev-master": "3.7-dev" } } } vendor/guzzle/guzzle/src/Guzzle/Http/Curl/RequestMediator.php000064400000010741147400355670020440 0ustar00request = $request; $this->emitIo = $emitIo; } /** * Receive a response header from curl * * @param resource $curl Curl handle * @param string $header Received header * * @return int */ public function receiveResponseHeader($curl, $header) { static $normalize = array("\r", "\n"); $length = strlen($header); $header = str_replace($normalize, '', $header); if (strpos($header, 'HTTP/') === 0) { $startLine = explode(' ', $header, 3); list($protocol, $version) = explode('/', trim($startLine[0])); $code = $startLine[1]; $status = isset($startLine[2]) ? $startLine[2] : ''; // Only download the body of the response to the specified response // body when a successful response is received. if ($code >= 200 && $code < 300) { $body = $this->request->getResponseBody(); } else { $body = EntityBody::factory(); } $response = new Response($code, null, $body); $response->setProtocol($protocol, $version); $response->setStatus($code, $status); $this->request->startResponse($response); $this->request->dispatch('request.receive.status_line', array( 'request' => $this, 'line' => $header, 'status_code' => $code, 'reason_phrase' => $status )); } elseif ($pos = strpos($header, ':')) { $this->request->getResponse()->addHeader( trim(substr($header, 0, $pos)), trim(substr($header, $pos + 1)) ); } return $length; } /** * Received a progress notification * * @param int $downloadSize Total download size * @param int $downloaded Amount of bytes downloaded * @param int $uploadSize Total upload size * @param int $uploaded Amount of bytes uploaded * @param resource $handle CurlHandle object */ public function progress($downloadSize, $downloaded, $uploadSize, $uploaded, $handle = null) { $this->request->dispatch('curl.callback.progress', array( 'request' => $this->request, 'handle' => $handle, 'download_size' => $downloadSize, 'downloaded' => $downloaded, 'upload_size' => $uploadSize, 'uploaded' => $uploaded )); } /** * Write data to the response body of a request * * @param resource $curl Curl handle * @param string $write Data that was received * * @return int */ public function writeResponseBody($curl, $write) { if ($this->emitIo) { $this->request->dispatch('curl.callback.write', array( 'request' => $this->request, 'write' => $write )); } if ($response = $this->request->getResponse()) { return $response->getBody()->write($write); } else { // Unexpected data received before response headers - abort transfer return 0; } } /** * Read data from the request body and send it to curl * * @param resource $ch Curl handle * @param resource $fd File descriptor * @param int $length Amount of data to read * * @return string */ public function readRequestBody($ch, $fd, $length) { if (!($body = $this->request->getBody())) { return ''; } $read = (string) $body->read($length); if ($this->emitIo) { $this->request->dispatch('curl.callback.read', array('request' => $this->request, 'read' => $read)); } return $read; } } vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php000064400000034306147400355670017246 0ustar00 array('CURLM_BAD_HANDLE', 'The passed-in handle is not a valid CURLM handle.'), CURLM_BAD_EASY_HANDLE => array('CURLM_BAD_EASY_HANDLE', "An easy handle was not good/valid. It could mean that it isn't an easy handle at all, or possibly that the handle already is in used by this or another multi handle."), CURLM_OUT_OF_MEMORY => array('CURLM_OUT_OF_MEMORY', 'You are doomed.'), CURLM_INTERNAL_ERROR => array('CURLM_INTERNAL_ERROR', 'This can only be returned if libcurl bugs. Please report it to us!') ); /** @var float */ protected $selectTimeout; public function __construct($selectTimeout = 1.0) { $this->selectTimeout = $selectTimeout; $this->multiHandle = curl_multi_init(); // @codeCoverageIgnoreStart if ($this->multiHandle === false) { throw new CurlException('Unable to create multi handle'); } // @codeCoverageIgnoreEnd $this->reset(); } public function __destruct() { if (false !== $this->multiHandle) { curl_multi_close($this->multiHandle); } } public function add(RequestInterface $request) { $this->requests[] = $request; // If requests are currently transferring and this is async, then the // request must be prepared now as the send() method is not called. $this->beforeSend($request); $this->dispatch(self::ADD_REQUEST, array('request' => $request)); return $this; } public function all() { return $this->requests; } public function remove(RequestInterface $request) { $this->removeHandle($request); if (($index = array_search($request, $this->requests, true)) !== false) { $request = $this->requests[$index]; unset($this->requests[$index]); $this->requests = array_values($this->requests); $this->dispatch(self::REMOVE_REQUEST, array('request' => $request)); return true; } return false; } public function reset($hard = false) { // Remove each request if ($this->requests) { foreach ($this->requests as $request) { $this->remove($request); } } $this->handles = new \SplObjectStorage(); $this->requests = $this->resourceHash = $this->exceptions = $this->successful = array(); } public function send() { $this->perform(); $exceptions = $this->exceptions; $successful = $this->successful; $this->reset(); if ($exceptions) { $this->throwMultiException($exceptions, $successful); } } public function count() { return count($this->requests); } /** * Build and throw a MultiTransferException * * @param array $exceptions Exceptions encountered * @param array $successful Successful requests * @throws MultiTransferException */ protected function throwMultiException(array $exceptions, array $successful) { $multiException = new MultiTransferException('Errors during multi transfer'); while ($e = array_shift($exceptions)) { $multiException->addFailedRequestWithException($e['request'], $e['exception']); } // Add successful requests foreach ($successful as $request) { if (!$multiException->containsRequest($request)) { $multiException->addSuccessfulRequest($request); } } throw $multiException; } /** * Prepare for sending * * @param RequestInterface $request Request to prepare * @throws \Exception on error preparing the request */ protected function beforeSend(RequestInterface $request) { try { $state = $request->setState(RequestInterface::STATE_TRANSFER); if ($state == RequestInterface::STATE_TRANSFER) { $this->addHandle($request); } else { // Requests might decide they don't need to be sent just before // transfer (e.g. CachePlugin) $this->remove($request); if ($state == RequestInterface::STATE_COMPLETE) { $this->successful[] = $request; } } } catch (\Exception $e) { // Queue the exception to be thrown when sent $this->removeErroredRequest($request, $e); } } private function addHandle(RequestInterface $request) { $handle = $this->createCurlHandle($request)->getHandle(); $this->checkCurlResult( curl_multi_add_handle($this->multiHandle, $handle) ); } /** * Create a curl handle for a request * * @param RequestInterface $request Request * * @return CurlHandle */ protected function createCurlHandle(RequestInterface $request) { $wrapper = CurlHandle::factory($request); $this->handles[$request] = $wrapper; $this->resourceHash[(int) $wrapper->getHandle()] = $request; return $wrapper; } /** * Get the data from the multi handle */ protected function perform() { $event = new Event(array('curl_multi' => $this)); while ($this->requests) { // Notify each request as polling $blocking = $total = 0; foreach ($this->requests as $request) { ++$total; $event['request'] = $request; $request->getEventDispatcher()->dispatch(self::POLLING_REQUEST, $event); // The blocking variable just has to be non-falsey to block the loop if ($request->getParams()->hasKey(self::BLOCKING)) { ++$blocking; } } if ($blocking == $total) { // Sleep to prevent eating CPU because no requests are actually pending a select call usleep(500); } else { $this->executeHandles(); } } } /** * Execute and select curl handles */ private function executeHandles() { // The first curl_multi_select often times out no matter what, but is usually required for fast transfers $selectTimeout = 0.001; $active = false; do { while (($mrc = curl_multi_exec($this->multiHandle, $active)) == CURLM_CALL_MULTI_PERFORM); $this->checkCurlResult($mrc); $this->processMessages(); if ($active && curl_multi_select($this->multiHandle, $selectTimeout) === -1) { // Perform a usleep if a select returns -1: https://bugs.php.net/bug.php?id=61141 usleep(150); } $selectTimeout = $this->selectTimeout; } while ($active); } /** * Process any received curl multi messages */ private function processMessages() { while ($done = curl_multi_info_read($this->multiHandle)) { $request = $this->resourceHash[(int) $done['handle']]; try { $this->processResponse($request, $this->handles[$request], $done); $this->successful[] = $request; } catch (\Exception $e) { $this->removeErroredRequest($request, $e); } } } /** * Remove a request that encountered an exception * * @param RequestInterface $request Request to remove * @param \Exception $e Exception encountered */ protected function removeErroredRequest(RequestInterface $request, \Exception $e = null) { $this->exceptions[] = array('request' => $request, 'exception' => $e); $this->remove($request); $this->dispatch(self::MULTI_EXCEPTION, array('exception' => $e, 'all_exceptions' => $this->exceptions)); } /** * Check for errors and fix headers of a request based on a curl response * * @param RequestInterface $request Request to process * @param CurlHandle $handle Curl handle object * @param array $curl Array returned from curl_multi_info_read * * @throws CurlException on Curl error */ protected function processResponse(RequestInterface $request, CurlHandle $handle, array $curl) { // Set the transfer stats on the response $handle->updateRequestFromTransfer($request); // Check if a cURL exception occurred, and if so, notify things $curlException = $this->isCurlException($request, $handle, $curl); // Always remove completed curl handles. They can be added back again // via events if needed (e.g. ExponentialBackoffPlugin) $this->removeHandle($request); if (!$curlException) { if ($this->validateResponseWasSet($request)) { $state = $request->setState( RequestInterface::STATE_COMPLETE, array('handle' => $handle) ); // Only remove the request if it wasn't resent as a result of // the state change if ($state != RequestInterface::STATE_TRANSFER) { $this->remove($request); } } return; } // Set the state of the request to an error $state = $request->setState(RequestInterface::STATE_ERROR, array('exception' => $curlException)); // Allow things to ignore the error if possible if ($state != RequestInterface::STATE_TRANSFER) { $this->remove($request); } // The error was not handled, so fail if ($state == RequestInterface::STATE_ERROR) { /** @var CurlException $curlException */ throw $curlException; } } /** * Remove a curl handle from the curl multi object * * @param RequestInterface $request Request that owns the handle */ protected function removeHandle(RequestInterface $request) { if (isset($this->handles[$request])) { $handle = $this->handles[$request]; curl_multi_remove_handle($this->multiHandle, $handle->getHandle()); unset($this->handles[$request]); unset($this->resourceHash[(int) $handle->getHandle()]); $handle->close(); } } /** * Check if a cURL transfer resulted in what should be an exception * * @param RequestInterface $request Request to check * @param CurlHandle $handle Curl handle object * @param array $curl Array returned from curl_multi_info_read * * @return CurlException|bool */ private function isCurlException(RequestInterface $request, CurlHandle $handle, array $curl) { if (CURLM_OK == $curl['result'] || CURLM_CALL_MULTI_PERFORM == $curl['result']) { return false; } $handle->setErrorNo($curl['result']); $e = new CurlException(sprintf('[curl] %s: %s [url] %s', $handle->getErrorNo(), $handle->getError(), $handle->getUrl())); $e->setCurlHandle($handle) ->setRequest($request) ->setCurlInfo($handle->getInfo()) ->setError($handle->getError(), $handle->getErrorNo()); return $e; } /** * Throw an exception for a cURL multi response if needed * * @param int $code Curl response code * @throws CurlException */ private function checkCurlResult($code) { if ($code != CURLM_OK && $code != CURLM_CALL_MULTI_PERFORM) { throw new CurlException(isset($this->multiErrors[$code]) ? "cURL error: {$code} ({$this->multiErrors[$code][0]}): cURL message: {$this->multiErrors[$code][1]}" : 'Unexpected cURL error: ' . $code ); } } /** * @link https://github.com/guzzle/guzzle/issues/710 */ private function validateResponseWasSet(RequestInterface $request) { if ($request->getResponse()) { return true; } $body = $request instanceof EntityEnclosingRequestInterface ? $request->getBody() : null; if (!$body) { $rex = new RequestException( 'No response was received for a request with no body. This' . ' could mean that you are saturating your network.' ); $rex->setRequest($request); $this->removeErroredRequest($request, $rex); } elseif (!$body->isSeekable() || !$body->seek(0)) { // Nothing we can do with this. Sorry! $rex = new RequestException( 'The connection was unexpectedly closed. The request would' . ' have been retried, but attempting to rewind the' . ' request body failed.' ); $rex->setRequest($request); $this->removeErroredRequest($request, $rex); } else { $this->remove($request); // Add the request back to the batch to retry automatically. $this->requests[] = $request; $this->addHandle($request); } return false; } } vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiProxy.php000064400000010401147400355670020276 0ustar00maxHandles = $maxHandles; $this->selectTimeout = $selectTimeout; // You can get some weird "Too many open files" errors when sending a large amount of requests in parallel. // These two statements autoload classes before a system runs out of file descriptors so that you can get back // valuable error messages if you run out. class_exists('Guzzle\Http\Message\Response'); class_exists('Guzzle\Http\Exception\CurlException'); } public function add(RequestInterface $request) { $this->queued[] = $request; return $this; } public function all() { $requests = $this->queued; foreach ($this->handles as $handle) { $requests = array_merge($requests, $handle->all()); } return $requests; } public function remove(RequestInterface $request) { foreach ($this->queued as $i => $r) { if ($request === $r) { unset($this->queued[$i]); return true; } } foreach ($this->handles as $handle) { if ($handle->remove($request)) { return true; } } return false; } public function reset($hard = false) { $this->queued = array(); $this->groups = array(); foreach ($this->handles as $handle) { $handle->reset(); } if ($hard) { $this->handles = array(); } return $this; } public function send() { if ($this->queued) { $group = $this->getAvailableHandle(); // Add this handle to a list of handles than is claimed $this->groups[] = $group; while ($request = array_shift($this->queued)) { $group->add($request); } try { $group->send(); array_pop($this->groups); $this->cleanupHandles(); } catch (\Exception $e) { // Remove the group and cleanup if an exception was encountered and no more requests in group if (!$group->count()) { array_pop($this->groups); $this->cleanupHandles(); } throw $e; } } } public function count() { return count($this->all()); } /** * Get an existing available CurlMulti handle or create a new one * * @return CurlMulti */ protected function getAvailableHandle() { // Grab a handle that is not claimed foreach ($this->handles as $h) { if (!in_array($h, $this->groups, true)) { return $h; } } // All are claimed, so create one $handle = new CurlMulti($this->selectTimeout); $handle->setEventDispatcher($this->getEventDispatcher()); $this->handles[] = $handle; return $handle; } /** * Trims down unused CurlMulti handles to limit the number of open connections */ protected function cleanupHandles() { if ($diff = max(0, count($this->handles) - $this->maxHandles)) { for ($i = count($this->handles) - 1; $i > 0 && $diff > 0; $i--) { if (!count($this->handles[$i])) { unset($this->handles[$i]); $diff--; } } $this->handles = array_values($this->handles); } } } vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlVersion.php000064400000003267147400355670017603 0ustar00version) { $this->version = curl_version(); } return $this->version; } /** * Get a specific type of curl information * * @param string $type Version information to retrieve. This value is one of: * - version_number: cURL 24 bit version number * - version: cURL version number, as a string * - ssl_version_number: OpenSSL 24 bit version number * - ssl_version: OpenSSL version number, as a string * - libz_version: zlib version number, as a string * - host: Information about the host where cURL was built * - features: A bitmask of the CURL_VERSION_XXX constants * - protocols: An array of protocols names supported by cURL * * @return string|float|bool if the $type is found, and false if not found */ public function get($type) { $version = $this->getAll(); return isset($version[$type]) ? $version[$type] : false; } } vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiInterface.php000064400000003075147400355670021066 0ustar00getCurlOptions(); $mediator = new RequestMediator($request, $requestCurlOptions->get('emit_io')); $tempContentLength = null; $method = $request->getMethod(); $bodyAsString = $requestCurlOptions->get(self::BODY_AS_STRING); // Prepare url $url = (string)$request->getUrl(); if(($pos = strpos($url, '#')) !== false ){ // strip fragment from url $url = substr($url, 0, $pos); } // Array of default cURL options. $curlOptions = array( CURLOPT_URL => $url, CURLOPT_CONNECTTIMEOUT => 150, CURLOPT_RETURNTRANSFER => false, CURLOPT_HEADER => false, CURLOPT_PORT => $request->getPort(), CURLOPT_HTTPHEADER => array(), CURLOPT_WRITEFUNCTION => array($mediator, 'writeResponseBody'), CURLOPT_HEADERFUNCTION => array($mediator, 'receiveResponseHeader'), CURLOPT_HTTP_VERSION => $request->getProtocolVersion() === '1.0' ? CURL_HTTP_VERSION_1_0 : CURL_HTTP_VERSION_1_1, // Verifies the authenticity of the peer's certificate CURLOPT_SSL_VERIFYPEER => 1, // Certificate must indicate that the server is the server to which you meant to connect CURLOPT_SSL_VERIFYHOST => 2 ); if (defined('CURLOPT_PROTOCOLS')) { // Allow only HTTP and HTTPS protocols $curlOptions[CURLOPT_PROTOCOLS] = CURLPROTO_HTTP | CURLPROTO_HTTPS; } // Add CURLOPT_ENCODING if Accept-Encoding header is provided if ($acceptEncodingHeader = $request->getHeader('Accept-Encoding')) { $curlOptions[CURLOPT_ENCODING] = (string) $acceptEncodingHeader; // Let cURL set the Accept-Encoding header, prevents duplicate values $request->removeHeader('Accept-Encoding'); } // Enable curl debug information if the 'debug' param was set if ($requestCurlOptions->get('debug')) { $curlOptions[CURLOPT_STDERR] = fopen('php://temp', 'r+'); // @codeCoverageIgnoreStart if (false === $curlOptions[CURLOPT_STDERR]) { throw new RuntimeException('Unable to create a stream for CURLOPT_STDERR'); } // @codeCoverageIgnoreEnd $curlOptions[CURLOPT_VERBOSE] = true; } // Specify settings according to the HTTP method if ($method == 'GET') { $curlOptions[CURLOPT_HTTPGET] = true; } elseif ($method == 'HEAD') { $curlOptions[CURLOPT_NOBODY] = true; // HEAD requests do not use a write function unset($curlOptions[CURLOPT_WRITEFUNCTION]); } elseif (!($request instanceof EntityEnclosingRequest)) { $curlOptions[CURLOPT_CUSTOMREQUEST] = $method; } else { $curlOptions[CURLOPT_CUSTOMREQUEST] = $method; // Handle sending raw bodies in a request if ($request->getBody()) { // You can send the body as a string using curl's CURLOPT_POSTFIELDS if ($bodyAsString) { $curlOptions[CURLOPT_POSTFIELDS] = (string) $request->getBody(); // Allow curl to add the Content-Length for us to account for the times when // POST redirects are followed by GET requests if ($tempContentLength = $request->getHeader('Content-Length')) { $tempContentLength = (int) (string) $tempContentLength; } // Remove the curl generated Content-Type header if none was set manually if (!$request->hasHeader('Content-Type')) { $curlOptions[CURLOPT_HTTPHEADER][] = 'Content-Type:'; } } else { $curlOptions[CURLOPT_UPLOAD] = true; // Let cURL handle setting the Content-Length header if ($tempContentLength = $request->getHeader('Content-Length')) { $tempContentLength = (int) (string) $tempContentLength; $curlOptions[CURLOPT_INFILESIZE] = $tempContentLength; } // Add a callback for curl to read data to send with the request only if a body was specified $curlOptions[CURLOPT_READFUNCTION] = array($mediator, 'readRequestBody'); // Attempt to seek to the start of the stream $request->getBody()->seek(0); } } else { // Special handling for POST specific fields and files $postFields = false; if (count($request->getPostFiles())) { $postFields = $request->getPostFields()->useUrlEncoding(false)->urlEncode(); foreach ($request->getPostFiles() as $key => $data) { $prefixKeys = count($data) > 1; foreach ($data as $index => $file) { // Allow multiple files in the same key $fieldKey = $prefixKeys ? "{$key}[{$index}]" : $key; $postFields[$fieldKey] = $file->getCurlValue(); } } } elseif (count($request->getPostFields())) { $postFields = (string) $request->getPostFields()->useUrlEncoding(true); } if ($postFields !== false) { if ($method == 'POST') { unset($curlOptions[CURLOPT_CUSTOMREQUEST]); $curlOptions[CURLOPT_POST] = true; } $curlOptions[CURLOPT_POSTFIELDS] = $postFields; $request->removeHeader('Content-Length'); } } // If the Expect header is not present, prevent curl from adding it if (!$request->hasHeader('Expect')) { $curlOptions[CURLOPT_HTTPHEADER][] = 'Expect:'; } } // If a Content-Length header was specified but we want to allow curl to set one for us if (null !== $tempContentLength) { $request->removeHeader('Content-Length'); } // Set custom cURL options foreach ($requestCurlOptions->toArray() as $key => $value) { if (is_numeric($key)) { $curlOptions[$key] = $value; } } // Do not set an Accept header by default if (!isset($curlOptions[CURLOPT_ENCODING])) { $curlOptions[CURLOPT_HTTPHEADER][] = 'Accept:'; } // Add any custom headers to the request. Empty headers will cause curl to not send the header at all. foreach ($request->getHeaderLines() as $line) { $curlOptions[CURLOPT_HTTPHEADER][] = $line; } // Add the content-length header back if it was temporarily removed if (null !== $tempContentLength) { $request->setHeader('Content-Length', $tempContentLength); } // Apply the options to a new cURL handle. $handle = curl_init(); // Enable the progress function if the 'progress' param was set if ($requestCurlOptions->get('progress')) { // Wrap the function in a function that provides the curl handle to the mediator's progress function // Using this rather than injecting the handle into the mediator prevents a circular reference $curlOptions[CURLOPT_PROGRESSFUNCTION] = function () use ($mediator, $handle) { $args = func_get_args(); $args[] = $handle; // PHP 5.5 pushed the handle onto the start of the args if (false !== $args[0]) { array_shift($args); } call_user_func_array(array($mediator, 'progress'), $args); }; $curlOptions[CURLOPT_NOPROGRESS] = false; } curl_setopt_array($handle, $curlOptions); return new static($handle, $curlOptions); } /** * Construct a new CurlHandle object that wraps a cURL handle * * @param resource $handle Configured cURL handle resource * @param Collection|array $options Curl options to use with the handle * * @throws InvalidArgumentException */ public function __construct($handle, $options) { if (false === $handle) { throw new InvalidArgumentException('Invalid handle provided'); } if (is_array($options)) { $this->options = new Collection($options); } elseif ($options instanceof Collection) { $this->options = $options; } else { throw new InvalidArgumentException('Expected array or Collection'); } $this->handle = $handle; } /** * Destructor */ public function __destruct() { $this->close(); } /** * Close the curl handle */ public function close() { if (false !== $this->handle && null !== $this->handle) { curl_close($this->handle); unset($this->handle); } $this->handle = null; } /** * Check if the handle is available and still OK * * @return bool */ public function isAvailable() { return false !== $this->handle; } /** * Get the last error that occurred on the cURL handle * * @return string */ public function getError() { return $this->isAvailable() ? curl_error($this->handle) : ''; } /** * Get the last error number that occurred on the cURL handle * * @return int */ public function getErrorNo() { if ($this->errorNo) { return $this->errorNo; } return $this->isAvailable() ? curl_errno($this->handle) : CURLE_OK; } /** * Set the curl error number * * @param int $error Error number to set * * @return CurlHandle */ public function setErrorNo($error) { $this->errorNo = $error; return $this; } /** * Get cURL curl_getinfo data * * @param int $option Option to retrieve. Pass null to retrieve all data as an array. * * @return array|mixed */ public function getInfo($option = null) { if (false === $this->handle) { return null; } if (null !== $option) { return curl_getinfo($this->handle, $option) ?: null; } return curl_getinfo($this->handle) ?: array(); } /** * Get the stderr output * * @param bool $asResource Set to TRUE to get an fopen resource * * @return string|resource|null */ public function getStderr($asResource = false) { $stderr = $this->getOptions()->get(CURLOPT_STDERR); if (!$stderr) { return null; } if ($asResource) { return $stderr; } fseek($stderr, 0); $e = stream_get_contents($stderr); fseek($stderr, 0, SEEK_END); return $e; } /** * Get the URL that this handle is connecting to * * @return Url */ public function getUrl() { return Url::factory($this->options->get(CURLOPT_URL)); } /** * Get the wrapped curl handle * * @return resource|null Returns the cURL handle or null if it was closed */ public function getHandle() { return $this->isAvailable() ? $this->handle : null; } /** * Get the cURL setopt options of the handle. Changing values in the return object will have no effect on the curl * handle after it is created. * * @return Collection */ public function getOptions() { return $this->options; } /** * Update a request based on the log messages of the CurlHandle * * @param RequestInterface $request Request to update */ public function updateRequestFromTransfer(RequestInterface $request) { if (!$request->getResponse()) { return; } // Update the transfer stats of the response $request->getResponse()->setInfo($this->getInfo()); if (!$log = $this->getStderr(true)) { return; } // Parse the cURL stderr output for outgoing requests $headers = ''; fseek($log, 0); while (($line = fgets($log)) !== false) { if ($line && $line[0] == '>') { $headers = substr(trim($line), 2) . "\r\n"; while (($line = fgets($log)) !== false) { if ($line[0] == '*' || $line[0] == '<') { break; } else { $headers .= trim($line) . "\r\n"; } } } } // Add request headers to the request exactly as they were sent if ($headers) { $parsed = ParserRegistry::getInstance()->getParser('message')->parseRequest($headers); if (!empty($parsed['headers'])) { $request->setHeaders(array()); foreach ($parsed['headers'] as $name => $value) { $request->setHeader($name, $value); } } if (!empty($parsed['version'])) { $request->setProtocolVersion($parsed['version']); } } } /** * Parse the config and replace curl.* configurators into the constant based values so it can be used elsewhere * * @param array|Collection $config The configuration we want to parse * * @return array */ public static function parseCurlConfig($config) { $curlOptions = array(); foreach ($config as $key => $value) { if (is_string($key) && defined($key)) { // Convert constants represented as string to constant int values $key = constant($key); } if (is_string($value) && defined($value)) { $value = constant($value); } $curlOptions[$key] = $value; } return $curlOptions; } } vendor/guzzle/guzzle/src/Guzzle/Http/IoEmittingEntityBody.php000064400000003760147400355670020504 0ustar00eventDispatcher = $eventDispatcher; return $this; } public function getEventDispatcher() { if (!$this->eventDispatcher) { $this->eventDispatcher = new EventDispatcher(); } return $this->eventDispatcher; } public function dispatch($eventName, array $context = array()) { return $this->getEventDispatcher()->dispatch($eventName, new Event($context)); } /** * {@inheritdoc} * @codeCoverageIgnore */ public function addSubscriber(EventSubscriberInterface $subscriber) { $this->getEventDispatcher()->addSubscriber($subscriber); return $this; } public function read($length) { $event = array( 'body' => $this, 'length' => $length, 'read' => $this->body->read($length) ); $this->dispatch('body.read', $event); return $event['read']; } public function write($string) { $event = array( 'body' => $this, 'write' => $string, 'result' => $this->body->write($string) ); $this->dispatch('body.write', $event); return $event['result']; } } vendor/guzzle/guzzle/src/Guzzle/Http/ClientInterface.php000064400000023301147400355670017451 0ustar00rewindFunction = $callable; return $this; } public function rewind() { return $this->rewindFunction ? call_user_func($this->rewindFunction, $this) : parent::rewind(); } /** * Create a new EntityBody from a string * * @param string $string String of data * * @return EntityBody */ public static function fromString($string) { $stream = fopen('php://temp', 'r+'); if ($string !== '') { fwrite($stream, $string); rewind($stream); } return new static($stream); } public function compress($filter = 'zlib.deflate') { $result = $this->handleCompression($filter); $this->contentEncoding = $result ? $filter : false; return $result; } public function uncompress($filter = 'zlib.inflate') { $offsetStart = 0; // When inflating gzipped data, the first 10 bytes must be stripped // if a gzip header is present if ($filter == 'zlib.inflate') { // @codeCoverageIgnoreStart if (!$this->isReadable() || ($this->isConsumed() && !$this->isSeekable())) { return false; } // @codeCoverageIgnoreEnd if (stream_get_contents($this->stream, 3, 0) === "\x1f\x8b\x08") { $offsetStart = 10; } } $this->contentEncoding = false; return $this->handleCompression($filter, $offsetStart); } public function getContentLength() { return $this->getSize(); } public function getContentType() { return $this->getUri() ? Mimetypes::getInstance()->fromFilename($this->getUri()) : null; } public function getContentMd5($rawOutput = false, $base64Encode = false) { if ($hash = self::getHash($this, 'md5', $rawOutput)) { return $hash && $base64Encode ? base64_encode($hash) : $hash; } else { return false; } } /** * Calculate the MD5 hash of an entity body * * @param EntityBodyInterface $body Entity body to calculate the hash for * @param bool $rawOutput Whether or not to use raw output * @param bool $base64Encode Whether or not to base64 encode raw output (only if raw output is true) * * @return bool|string Returns an MD5 string on success or FALSE on failure * @deprecated This will be deprecated soon * @codeCoverageIgnore */ public static function calculateMd5(EntityBodyInterface $body, $rawOutput = false, $base64Encode = false) { Version::warn(__CLASS__ . ' is deprecated. Use getContentMd5()'); return $body->getContentMd5($rawOutput, $base64Encode); } public function setStreamFilterContentEncoding($streamFilterContentEncoding) { $this->contentEncoding = $streamFilterContentEncoding; return $this; } public function getContentEncoding() { return strtr($this->contentEncoding, array( 'zlib.deflate' => 'gzip', 'bzip2.compress' => 'compress' )) ?: false; } protected function handleCompression($filter, $offsetStart = 0) { // @codeCoverageIgnoreStart if (!$this->isReadable() || ($this->isConsumed() && !$this->isSeekable())) { return false; } // @codeCoverageIgnoreEnd $handle = fopen('php://temp', 'r+'); $filter = @stream_filter_append($handle, $filter, STREAM_FILTER_WRITE); if (!$filter) { return false; } // Seek to the offset start if possible $this->seek($offsetStart); while ($data = fread($this->stream, 8096)) { fwrite($handle, $data); } fclose($this->stream); $this->stream = $handle; stream_filter_remove($filter); $stat = fstat($this->stream); $this->size = $stat['size']; $this->rebuildCache(); $this->seek(0); // Remove any existing rewind function as the underlying stream has been replaced $this->rewindFunction = null; return true; } } vendor/guzzle/guzzle/src/Guzzle/Http/QueryString.php000064400000021052147400355670016707 0ustar00add($key, $value); $foundDuplicates = true; } elseif ($paramIsPhpStyleArray) { $q[$key] = array($value); } else { $q[$key] = $value; } } else { // Uses false by default to represent keys with no trailing "=" sign. $q->add($key, false); } } // Use the duplicate aggregator if duplicates were found and not using PHP style arrays if ($foundDuplicates && !$foundPhpStyle) { $q->setAggregator(new DuplicateAggregator()); } return $q; } /** * Convert the query string parameters to a query string string * * @return string * @throws RuntimeException */ public function __toString() { if (!$this->data) { return ''; } $queryList = array(); foreach ($this->prepareData($this->data) as $name => $value) { $queryList[] = $this->convertKvp($name, $value); } return implode($this->fieldSeparator, $queryList); } /** * Get the query string field separator * * @return string */ public function getFieldSeparator() { return $this->fieldSeparator; } /** * Get the query string value separator * * @return string */ public function getValueSeparator() { return $this->valueSeparator; } /** * Returns the type of URL encoding used by the query string * * One of: false, "RFC 3986", or "application/x-www-form-urlencoded" * * @return bool|string */ public function getUrlEncoding() { return $this->urlEncode; } /** * Returns true or false if using URL encoding * * @return bool */ public function isUrlEncoding() { return $this->urlEncode !== false; } /** * Provide a function for combining multi-valued query string parameters into a single or multiple fields * * @param null|QueryAggregatorInterface $aggregator Pass in a QueryAggregatorInterface object to handle converting * deeply nested query string variables into a flattened array. * Pass null to use the default PHP style aggregator. For legacy * reasons, this function accepts a callable that must accepts a * $key, $value, and query object. * @return self * @see \Guzzle\Http\QueryString::aggregateUsingComma() */ public function setAggregator(QueryAggregatorInterface $aggregator = null) { // Use the default aggregator if none was set if (!$aggregator) { if (!self::$defaultAggregator) { self::$defaultAggregator = new PhpAggregator(); } $aggregator = self::$defaultAggregator; } $this->aggregator = $aggregator; return $this; } /** * Set whether or not field names and values should be rawurlencoded * * @param bool|string $encode Set to TRUE to use RFC 3986 encoding (rawurlencode), false to disable encoding, or * form_urlencoding to use application/x-www-form-urlencoded encoding (urlencode) * @return self */ public function useUrlEncoding($encode) { $this->urlEncode = ($encode === true) ? self::RFC_3986 : $encode; return $this; } /** * Set the query string separator * * @param string $separator The query string separator that will separate fields * * @return self */ public function setFieldSeparator($separator) { $this->fieldSeparator = $separator; return $this; } /** * Set the query string value separator * * @param string $separator The query string separator that will separate values from fields * * @return self */ public function setValueSeparator($separator) { $this->valueSeparator = $separator; return $this; } /** * Returns an array of url encoded field names and values * * @return array */ public function urlEncode() { return $this->prepareData($this->data); } /** * URL encodes a value based on the url encoding type of the query string object * * @param string $value Value to encode * * @return string */ public function encodeValue($value) { if ($this->urlEncode == self::RFC_3986) { return rawurlencode($value); } elseif ($this->urlEncode == self::FORM_URLENCODED) { return urlencode($value); } else { return (string) $value; } } /** * Url encode parameter data and convert nested query strings into a flattened hash. * * @param array $data The data to encode * * @return array Returns an array of encoded values and keys */ protected function prepareData(array $data) { // If no aggregator is present then set the default if (!$this->aggregator) { $this->setAggregator(null); } $temp = array(); foreach ($data as $key => $value) { if ($value === false || $value === null) { // False and null will not include the "=". Use an empty string to include the "=". $temp[$this->encodeValue($key)] = $value; } elseif (is_array($value)) { $temp = array_merge($temp, $this->aggregator->aggregate($key, $value, $this)); } else { $temp[$this->encodeValue($key)] = $this->encodeValue($value); } } return $temp; } /** * Converts a key value pair that can contain strings, nulls, false, or arrays * into a single string. * * @param string $name Name of the field * @param mixed $value Value of the field * @return string */ private function convertKvp($name, $value) { if ($value === self::BLANK || $value === null || $value === false) { return $name; } elseif (!is_array($value)) { return $name . $this->valueSeparator . $value; } $result = ''; foreach ($value as $v) { $result .= $this->convertKvp($name, $v) . $this->fieldSeparator; } return rtrim($result, $this->fieldSeparator); } } vendor/guzzle/guzzle/src/Guzzle/Http/Exception/HttpException.php000064400000000256147400355670021152 0ustar00successfulRequests, $this->failedRequests); } /** * Add to the array of successful requests * * @param RequestInterface $request Successful request * * @return self */ public function addSuccessfulRequest(RequestInterface $request) { $this->successfulRequests[] = $request; return $this; } /** * Add to the array of failed requests * * @param RequestInterface $request Failed request * * @return self */ public function addFailedRequest(RequestInterface $request) { $this->failedRequests[] = $request; return $this; } /** * Add to the array of failed requests and associate with exceptions * * @param RequestInterface $request Failed request * @param \Exception $exception Exception to add and associate with * * @return self */ public function addFailedRequestWithException(RequestInterface $request, \Exception $exception) { $this->add($exception) ->addFailedRequest($request) ->exceptionForRequest[spl_object_hash($request)] = $exception; return $this; } /** * Get the Exception that caused the given $request to fail * * @param RequestInterface $request Failed command * * @return \Exception|null */ public function getExceptionForFailedRequest(RequestInterface $request) { $oid = spl_object_hash($request); return isset($this->exceptionForRequest[$oid]) ? $this->exceptionForRequest[$oid] : null; } /** * Set all of the successful requests * * @param array Array of requests * * @return self */ public function setSuccessfulRequests(array $requests) { $this->successfulRequests = $requests; return $this; } /** * Set all of the failed requests * * @param array Array of requests * * @return self */ public function setFailedRequests(array $requests) { $this->failedRequests = $requests; return $this; } /** * Get an array of successful requests sent in the multi transfer * * @return array */ public function getSuccessfulRequests() { return $this->successfulRequests; } /** * Get an array of failed requests sent in the multi transfer * * @return array */ public function getFailedRequests() { return $this->failedRequests; } /** * Check if the exception object contains a request * * @param RequestInterface $request Request to check * * @return bool */ public function containsRequest(RequestInterface $request) { return in_array($request, $this->failedRequests, true) || in_array($request, $this->successfulRequests, true); } } vendor/guzzle/guzzle/src/Guzzle/Http/Exception/BadResponseException.php000064400000003464147400355670022444 0ustar00isClientError()) { $label = 'Client error response'; $class = __NAMESPACE__ . '\\ClientErrorResponseException'; } elseif ($response->isServerError()) { $label = 'Server error response'; $class = __NAMESPACE__ . '\\ServerErrorResponseException'; } else { $label = 'Unsuccessful response'; $class = __CLASS__; } $message = $label . PHP_EOL . implode(PHP_EOL, array( '[status code] ' . $response->getStatusCode(), '[reason phrase] ' . $response->getReasonPhrase(), '[url] ' . $request->getUrl(), )); $e = new $class($message); $e->setResponse($response); $e->setRequest($request); return $e; } /** * Set the response that caused the exception * * @param Response $response Response to set */ public function setResponse(Response $response) { $this->response = $response; } /** * Get the response that caused the exception * * @return Response */ public function getResponse() { return $this->response; } } vendor/guzzle/guzzle/src/Guzzle/Http/Exception/ClientErrorResponseException.php000064400000000260147400355670024175 0ustar00request = $request; return $this; } /** * Get the request that caused the exception * * @return RequestInterface */ public function getRequest() { return $this->request; } } vendor/guzzle/guzzle/src/Guzzle/Http/Exception/ServerErrorResponseException.php000064400000000260147400355670024225 0ustar00curlError = $error; $this->curlErrorNo = $number; return $this; } /** * Set the associated curl handle * * @param CurlHandle $handle Curl handle * * @return self */ public function setCurlHandle(CurlHandle $handle) { $this->handle = $handle; return $this; } /** * Get the associated cURL handle * * @return CurlHandle|null */ public function getCurlHandle() { return $this->handle; } /** * Get the associated cURL error message * * @return string|null */ public function getError() { return $this->curlError; } /** * Get the associated cURL error number * * @return int|null */ public function getErrorNo() { return $this->curlErrorNo; } /** * Returns curl information about the transfer * * @return array */ public function getCurlInfo() { return $this->curlInfo; } /** * Set curl transfer information * * @param array $info Array of curl transfer information * * @return self * @link http://php.net/manual/en/function.curl-getinfo.php */ public function setCurlInfo(array $info) { $this->curlInfo = $info; return $this; } } vendor/guzzle/guzzle/src/Guzzle/Http/Resources/cacert.pem000064400000751032147400355670017630 0ustar00## ## Bundle of CA Root Certificates ## ## Certificate data from Mozilla downloaded on: Wed Aug 13 21:49:32 2014 ## ## This is a bundle of X.509 certificates of public Certificate Authorities ## (CA). These were automatically extracted from Mozilla's root certificates ## file (certdata.txt). This file can be found in the mozilla source tree: ## http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt ## ## It contains the certificates in PEM format and therefore ## can be directly used with curl / libcurl / php_curl, or with ## an Apache+mod_ssl webserver for SSL client authentication. ## Just configure this file as the SSLCACertificateFile. ## ## Conversion done with mk-ca-bundle.pl verison 1.22. ## SHA1: bf2c15b3019e696660321d2227d942936dc50aa7 ## GTE CyberTrust Global Root ========================== -----BEGIN CERTIFICATE----- MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0 IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ -----END CERTIFICATE----- Thawte Server CA ================ -----BEGIN CERTIFICATE----- MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0 ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl /Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7 1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc= -----END CERTIFICATE----- Thawte Premium Server CA ======================== -----BEGIN CERTIFICATE----- MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2 aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2 aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/ qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf 8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t UCemDaYj+bvLpgcUQg== -----END CERTIFICATE----- Equifax Secure CA ================= -----BEGIN CERTIFICATE----- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW 8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961 zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95 70+sB3c4 -----END CERTIFICATE----- Verisign Class 3 Public Primary Certification Authority ======================================================= -----BEGIN CERTIFICATE----- MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf Tqj/ZA1k -----END CERTIFICATE----- Verisign Class 3 Public Primary Certification Authority - G2 ============================================================ -----BEGIN CERTIFICATE----- MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71 lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT 1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9 -----END CERTIFICATE----- GlobalSign Root CA ================== -----BEGIN CERTIFICATE----- MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE----- GlobalSign Root CA - R2 ======================= -----BEGIN CERTIFICATE----- MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp 9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu 01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== -----END CERTIFICATE----- ValiCert Class 1 VA =================== -----BEGIN CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP Orf1LXLI -----END CERTIFICATE----- ValiCert Class 2 VA =================== -----BEGIN CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8 W9ViH0Pd -----END CERTIFICATE----- RSA Root Certificate 1 ====================== -----BEGIN CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td 3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs 3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r on+jjBXu -----END CERTIFICATE----- Verisign Class 3 Public Primary Certification Authority - G3 ============================================================ -----BEGIN CERTIFICATE----- MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj 055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC /Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== -----END CERTIFICATE----- Verisign Class 4 Public Primary Certification Authority - G3 ============================================================ -----BEGIN CERTIFICATE----- MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM 8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== -----END CERTIFICATE----- Entrust.net Secure Server CA ============================ -----BEGIN CERTIFICATE----- MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0 aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5 gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9 n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= -----END CERTIFICATE----- Entrust.net Premium 2048 Secure Server CA ========================================= -----BEGIN CERTIFICATE----- MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE= -----END CERTIFICATE----- Baltimore CyberTrust Root ========================= -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp -----END CERTIFICATE----- Equifax Secure Global eBusiness CA ================================== -----BEGIN CERTIFICATE----- MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV -----END CERTIFICATE----- Equifax Secure eBusiness CA 1 ============================= -----BEGIN CERTIFICATE----- MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ 1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5 lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+ KpYrtWKmpj29f5JZzVoqgrI3eQ== -----END CERTIFICATE----- AddTrust Low-Value Services Root ================================ -----BEGIN CERTIFICATE----- MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6 54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1 Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= -----END CERTIFICATE----- AddTrust External Root ====================== -----BEGIN CERTIFICATE----- MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 +iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy 2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= -----END CERTIFICATE----- AddTrust Public Services Root ============================= -----BEGIN CERTIFICATE----- MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB /zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4 JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL +YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9 Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H EufOX1362KqxMy3ZdvJOOjMMK7MtkAY= -----END CERTIFICATE----- AddTrust Qualified Certificates Root ==================================== -----BEGIN CERTIFICATE----- MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx 64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3 KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/ BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE= -----END CERTIFICATE----- Entrust Root Certification Authority ==================================== -----BEGIN CERTIFICATE----- MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 -----END CERTIFICATE----- RSA Security 2048 v3 ==================== -----BEGIN CERTIFICATE----- MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7 Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP +Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj 0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395 nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA pKnXwiJPZ9d37CAFYd4= -----END CERTIFICATE----- GeoTrust Global CA ================== -----BEGIN CERTIFICATE----- MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet 8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm Mw== -----END CERTIFICATE----- GeoTrust Global CA 2 ==================== -----BEGIN CERTIFICATE----- MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/ NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7 srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF H4z1Ir+rzoPz4iIprn2DQKi6bA== -----END CERTIFICATE----- GeoTrust Universal CA ===================== -----BEGIN CERTIFICATE----- MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs 7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d 8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI P/rmMuGNG2+k5o7Y+SlIis5z/iw= -----END CERTIFICATE----- GeoTrust Universal CA 2 ======================= -----BEGIN CERTIFICATE----- MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP 20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG 8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 +/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ 4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS -----END CERTIFICATE----- America Online Root Certification Authority 1 ============================================= -----BEGIN CERTIFICATE----- MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP 8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft 3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7 -----END CERTIFICATE----- America Online Root Certification Authority 2 ============================================= -----BEGIN CERTIFICATE----- MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8 f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0 gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn 6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6 Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p +DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh 1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk= -----END CERTIFICATE----- Visa eCommerce Root =================== -----BEGIN CERTIFICATE----- MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2 WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0 TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI /k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt 398znM/jra6O1I7mT1GvFpLgXPYHDw== -----END CERTIFICATE----- Certum Root CA ============== -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ 89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+ GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/ 0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw== -----END CERTIFICATE----- Comodo AAA Services root ======================== -----BEGIN CERTIFICATE----- MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm 7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z 8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C 12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== -----END CERTIFICATE----- Comodo Secure Services root =========================== -----BEGIN CERTIFICATE----- MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP 9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm 4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H RR3B7Hzs/Sk= -----END CERTIFICATE----- Comodo Trusted Services root ============================ -----BEGIN CERTIFICATE----- MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7 3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y /9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6 juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB /zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O 9y5Xt5hwXsjEeLBi -----END CERTIFICATE----- QuoVadis Root CA ================ -----BEGIN CERTIFICATE----- MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi 5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi 5nrQNiOKSnQ2+Q== -----END CERTIFICATE----- QuoVadis Root CA 2 ================== -----BEGIN CERTIFICATE----- MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt 66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK +JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II 4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u -----END CERTIFICATE----- QuoVadis Root CA 3 ================== -----BEGIN CERTIFICATE----- MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp 8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= -----END CERTIFICATE----- Security Communication Root CA ============================== -----BEGIN CERTIFICATE----- MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw 8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX 5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g 0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ 6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi FL39vmwLAw== -----END CERTIFICATE----- Sonera Class 2 Root CA ====================== -----BEGIN CERTIFICATE----- MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 /Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt 0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH llpwrN9M -----END CERTIFICATE----- Staat der Nederlanden Root CA ============================= -----BEGIN CERTIFICATE----- MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6 22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw== -----END CERTIFICATE----- TDC Internet Root CA ==================== -----BEGIN CERTIFICATE----- MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc 5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6 otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+ 2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l -----END CERTIFICATE----- UTN DATACorp SGC Root CA ======================== -----BEGIN CERTIFICATE----- MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA 9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv 33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9 BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3 DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0 I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI -----END CERTIFICATE----- UTN USERFirst Hardware Root CA ============================== -----BEGIN CERTIFICATE----- MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0 eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8 i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2 lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67 nfhmqA== -----END CERTIFICATE----- Camerfirma Chambers of Commerce Root ==================================== -----BEGIN CERTIFICATE----- MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1 erfutGWaIZDgqtCYvDi1czyL+Nw= -----END CERTIFICATE----- Camerfirma Global Chambersign Root ================================== -----BEGIN CERTIFICATE----- MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J 1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl 6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c 8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/ BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4 IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== -----END CERTIFICATE----- NetLock Notary (Class A) Root ============================= -----BEGIN CERTIFICATE----- MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC /tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7 tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6 4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0 ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5 ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM 8CgHrTwXZoi1/baI -----END CERTIFICATE----- NetLock Business (Class B) Root =============================== -----BEGIN CERTIFICATE----- MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr 1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0 ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2 YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM 43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI -----END CERTIFICATE----- NetLock Express (Class C) Root ============================== -----BEGIN CERTIFICATE----- MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63 euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0 ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2 xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A== -----END CERTIFICATE----- XRamp Global CA Root ==================== -----BEGIN CERTIFICATE----- MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc /Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz 8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= -----END CERTIFICATE----- Go Daddy Class 2 CA =================== -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv 2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b vZ8= -----END CERTIFICATE----- Starfield Class 2 CA ==================== -----BEGIN CERTIFICATE----- MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 QBFGmh95DmK/D5fs4C8fF5Q= -----END CERTIFICATE----- StartCom Certification Authority ================================ -----BEGIN CERTIFICATE----- MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt 2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z 6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT 37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0 Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5 LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh 3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3 fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl 1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/ lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro g14= -----END CERTIFICATE----- Taiwan GRCA =========== -----BEGIN CERTIFICATE----- MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O 1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk 7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy +fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS -----END CERTIFICATE----- Swisscom Root CA 1 ================== -----BEGIN CERTIFICATE----- MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4 MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn 7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5 haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9 MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3 1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW NY6E0F/6MBr1mmz0DlP5OlvRHA== -----END CERTIFICATE----- DigiCert Assured ID Root CA =========================== -----BEGIN CERTIFICATE----- MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO 9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW /lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF 66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i 8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== -----END CERTIFICATE----- DigiCert Global Root CA ======================= -----BEGIN CERTIFICATE----- MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H 4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y 7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm 8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= -----END CERTIFICATE----- DigiCert High Assurance EV Root CA ================================== -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K -----END CERTIFICATE----- Certplus Class 2 Primary CA =========================== -----BEGIN CERTIFICATE----- MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR 5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ 7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW //1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 l7+ijrRU -----END CERTIFICATE----- DST Root CA X3 ============== -----BEGIN CERTIFICATE----- MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ -----END CERTIFICATE----- DST ACES CA X6 ============== -----BEGIN CERTIFICATE----- MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2 5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3 oKfN5XozNmr6mis= -----END CERTIFICATE----- TURKTRUST Certificate Services Provider Root 1 ============================================== -----BEGIN CERTIFICATE----- MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0 acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ 8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4 W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46 sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H -----END CERTIFICATE----- TURKTRUST Certificate Services Provider Root 2 ============================================== -----BEGIN CERTIFICATE----- MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr 5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4 Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+ hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P 9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5 UrbnBEI= -----END CERTIFICATE----- SwissSign Gold CA - G2 ====================== -----BEGIN CERTIFICATE----- MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR 7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm 5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr 44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ -----END CERTIFICATE----- SwissSign Silver CA - G2 ======================== -----BEGIN CERTIFICATE----- MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG 9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm +/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH 6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P 4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L 3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx /uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u -----END CERTIFICATE----- GeoTrust Primary Certification Authority ======================================== -----BEGIN CERTIFICATE----- MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG 1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= -----END CERTIFICATE----- thawte Primary Root CA ====================== -----BEGIN CERTIFICATE----- MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ 1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== -----END CERTIFICATE----- VeriSign Class 3 Public Primary Certification Authority - G5 ============================================================ -----BEGIN CERTIFICATE----- MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq -----END CERTIFICATE----- SecureTrust CA ============== -----BEGIN CERTIFICATE----- MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b 01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR 3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= -----END CERTIFICATE----- Secure Global CA ================ -----BEGIN CERTIFICATE----- MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g 8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi 0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW -----END CERTIFICATE----- COMODO Certification Authority ============================== -----BEGIN CERTIFICATE----- MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH +7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV 4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA 1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== -----END CERTIFICATE----- Network Solutions Certificate Authority ======================================= -----BEGIN CERTIFICATE----- MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc /Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q 4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey -----END CERTIFICATE----- WellsSecure Public Root Certificate Authority ============================================= -----BEGIN CERTIFICATE----- MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1 iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13 i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8 bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0 bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ tylv2G0xffX8oRAHh84vWdw+WNs= -----END CERTIFICATE----- COMODO ECC Certification Authority ================================== -----BEGIN CERTIFICATE----- MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X 4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= -----END CERTIFICATE----- IGC/A ===== -----BEGIN CERTIFICATE----- MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2 TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF 0mBWWg== -----END CERTIFICATE----- Security Communication EV RootCA1 ================================= -----BEGIN CERTIFICATE----- MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO /VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4 bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK 9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490 -----END CERTIFICATE----- OISTE WISeKey Global Root GA CA =============================== -----BEGIN CERTIFICATE----- MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ /yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 +vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= -----END CERTIFICATE----- Microsec e-Szigno Root CA ========================= -----BEGIN CERTIFICATE----- MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0 MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3 LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA 4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6 Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a 86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU= -----END CERTIFICATE----- Certigna ======== -----BEGIN CERTIFICATE----- MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY 1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== -----END CERTIFICATE----- AC Ra\xC3\xADz Certic\xC3\xA1mara S.A. ====================================== -----BEGIN CERTIFICATE----- MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYT AkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwg LSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4w HhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+ U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJh IFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCN yu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU 2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU3 4ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP 2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm 8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhf HjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCa Mh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK 5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1b czwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0g ADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEF BQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2Ug cHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEf AygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuX EpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v /zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3 MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR4 3NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wk eZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f /RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5h RqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecU Iw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ== -----END CERTIFICATE----- TC TrustCenter Class 2 CA II ============================ -----BEGIN CERTIFICATE----- MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2 xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB 7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk vQ== -----END CERTIFICATE----- TC TrustCenter Class 3 CA II ============================ -----BEGIN CERTIFICATE----- MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo 6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk 2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB 7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8 yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9 IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal 092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc 5A== -----END CERTIFICATE----- TC TrustCenter Universal CA I ============================= -----BEGIN CERTIFICATE----- MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG 1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3 ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a 7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY -----END CERTIFICATE----- Deutsche Telekom Root CA 2 ========================== -----BEGIN CERTIFICATE----- MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5 MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5 bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8 rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU Cm26OWMohpLzGITY+9HPBVZkVw== -----END CERTIFICATE----- ComSign Secured CA ================== -----BEGIN CERTIFICATE----- MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs 49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH 7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1 9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP 51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw== -----END CERTIFICATE----- Cybertrust Global Root ====================== -----BEGIN CERTIFICATE----- MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW 0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin 89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT 8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi 5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW WL1WMRJOEcgh4LMRkWXbtKaIOM5V -----END CERTIFICATE----- ePKI Root Certification Authority ================================= -----BEGIN CERTIFICATE----- MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX 12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= -----END CERTIFICATE----- T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3 ============================================================================================================================= -----BEGIN CERTIFICATE----- MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4 MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1 xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR 6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4 N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI= -----END CERTIFICATE----- Buypass Class 2 CA 1 ==================== -----BEGIN CERTIFICATE----- MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2 MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83 0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4 0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV 1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt 7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2 fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho -----END CERTIFICATE----- Buypass Class 3 CA 1 ==================== -----BEGIN CERTIFICATE----- MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1 MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0 n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c 1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7 pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5 htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915 -----END CERTIFICATE----- EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 ========================================================================== -----BEGIN CERTIFICATE----- MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VCRyBF bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg QmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAe Fw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25p ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt IFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIiMA0GCSqG SIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h4fuXd7hxlugTlkaDT7by X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b gmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfr eYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZ TqNGFav4c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGy Y5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1Zn uqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJI qkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vm ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0 Nokb+Clsi7n2l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB /wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wW Z5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t FcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgm zJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64k XPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqT bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU RT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4QDgZxGhBM/nV+/x5XOULK 1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt 2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ Y9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9 AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT -----END CERTIFICATE----- certSIGN ROOT CA ================ -----BEGIN CERTIFICATE----- MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD 0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD -----END CERTIFICATE----- CNNIC ROOT ========== -----BEGIN CERTIFICATE----- MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5 Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8 BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2 G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m mxE= -----END CERTIFICATE----- ApplicationCA - Japanese Government =================================== -----BEGIN CERTIFICATE----- MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4 fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g /DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL rosot4LKGAfmt1t06SAZf7IbiVQ= -----END CERTIFICATE----- GeoTrust Primary Certification Authority - G3 ============================================= -----BEGIN CERTIFICATE----- MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr 2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt -----END CERTIFICATE----- thawte Primary Root CA - G2 =========================== -----BEGIN CERTIFICATE----- MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== -----END CERTIFICATE----- thawte Primary Root CA - G3 =========================== -----BEGIN CERTIFICATE----- MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC +BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY 7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC 8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= -----END CERTIFICATE----- GeoTrust Primary Certification Authority - G2 ============================================= -----BEGIN CERTIFICATE----- MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 npaqBA+K -----END CERTIFICATE----- VeriSign Universal Root Certification Authority =============================================== -----BEGIN CERTIFICATE----- MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj 1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 mJO37M2CYfE45k+XmCpajQ== -----END CERTIFICATE----- VeriSign Class 3 Public Primary Certification Authority - G4 ============================================================ -----BEGIN CERTIFICATE----- MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB /zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== -----END CERTIFICATE----- NetLock Arany (Class Gold) Főtanúsítvány ============================================ -----BEGIN CERTIFICATE----- MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu 0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw /HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= -----END CERTIFICATE----- Staat der Nederlanden Root CA - G2 ================================== -----BEGIN CERTIFICATE----- MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ 5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65 48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737 qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz +51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm 66+KAQ== -----END CERTIFICATE----- CA Disig ======== -----BEGIN CERTIFICATE----- MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3 mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/ CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA 4Z7CRneC9VkGjCFMhwnN5ag= -----END CERTIFICATE----- Juur-SK ======= -----BEGIN CERTIFICATE----- MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC +Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678 IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2 yyqcjg== -----END CERTIFICATE----- Hongkong Post Root CA 1 ======================= -----BEGIN CERTIFICATE----- MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== -----END CERTIFICATE----- SecureSign RootCA11 =================== -----BEGIN CERTIFICATE----- MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= -----END CERTIFICATE----- ACEDICOM Root ============= -----BEGIN CERTIFICATE----- MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4 MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2 3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9 2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz 4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU 9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1 ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA== -----END CERTIFICATE----- Verisign Class 3 Public Primary Certification Authority ======================================================= -----BEGIN CERTIFICATE----- MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/ D/xwzoiQ -----END CERTIFICATE----- Microsec e-Szigno Root CA 2009 ============================== -----BEGIN CERTIFICATE----- MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG 0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm 1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi LXpUq3DDfSJlgnCW -----END CERTIFICATE----- E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi =================================================== -----BEGIN CERTIFICATE----- MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3 MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0 cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY 8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk 9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4 Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX -----END CERTIFICATE----- GlobalSign Root CA - R3 ======================= -----BEGIN CERTIFICATE----- MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ 0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r kpeDMdmztcpHWD9f -----END CERTIFICATE----- Autoridad de Certificacion Firmaprofesional CIF A62634068 ========================================================= -----BEGIN CERTIFICATE----- MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY 7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx 51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi 6Et8Vcad+qMUu2WFbm5PEn4KPJ2V -----END CERTIFICATE----- Izenpe.com ========== -----BEGIN CERTIFICATE----- MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ 03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU +zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK 0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+ 0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+ SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5 aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5 nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== -----END CERTIFICATE----- Chambers of Commerce Root - 2008 ================================ -----BEGIN CERTIFICATE----- MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ 0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH 3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF 9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ -----END CERTIFICATE----- Global Chambersign Root - 2008 ============================== -----BEGIN CERTIFICATE----- MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB /gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp 1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG /5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg 9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z 09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B -----END CERTIFICATE----- Go Daddy Root Certificate Authority - G2 ======================================== -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq 9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD +qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r 5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 -----END CERTIFICATE----- Starfield Root Certificate Authority - G2 ========================================= -----BEGIN CERTIFICATE----- MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx 4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 -----END CERTIFICATE----- Starfield Services Root Certificate Authority - G2 ================================================== -----BEGIN CERTIFICATE----- MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 -----END CERTIFICATE----- AffirmTrust Commercial ====================== -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv 0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= -----END CERTIFICATE----- AffirmTrust Networking ====================== -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 /PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 /ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= -----END CERTIFICATE----- AffirmTrust Premium =================== -----BEGIN CERTIFICATE----- MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV 5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs +7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 /bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo +Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC 6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK +4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== -----END CERTIFICATE----- AffirmTrust Premium ECC ======================= -----BEGIN CERTIFICATE----- MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X 57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM eQ== -----END CERTIFICATE----- Certum Trusted Network CA ========================= -----BEGIN CERTIFICATE----- MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI 03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= -----END CERTIFICATE----- Certinomis - Autorité Racine ============================= -----BEGIN CERTIFICATE----- MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw 2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g 530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna 4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40 nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/ vgt2Fl43N+bYdJeimUV5 -----END CERTIFICATE----- Root CA Generalitat Valenciana ============================== -----BEGIN CERTIFICATE----- MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290 IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3 WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2 F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0 dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63 NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt +GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM= -----END CERTIFICATE----- A-Trust-nQual-03 ================ -----BEGIN CERTIFICATE----- MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0 ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1 c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4 iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40 ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6 ahq97BvIxYSazQ== -----END CERTIFICATE----- TWCA Root Certification Authority ================================= -----BEGIN CERTIFICATE----- MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP 4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG 9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== -----END CERTIFICATE----- Security Communication RootCA2 ============================== -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ +T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R 3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk 3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 -----END CERTIFICATE----- EC-ACC ====== -----BEGIN CERTIFICATE----- MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw 0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D 5EI= -----END CERTIFICATE----- Hellenic Academic and Research Institutions RootCA 2011 ======================================================= -----BEGIN CERTIFICATE----- MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI 1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa 71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u 8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH 3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD /md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N 7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 -----END CERTIFICATE----- Actalis Authentication Root CA ============================== -----BEGIN CERTIFICATE----- MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6 zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2 oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7 hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8 EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5 jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0 JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+ Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC 4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo 2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9 vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== -----END CERTIFICATE----- Trustis FPS Root CA =================== -----BEGIN CERTIFICATE----- MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290 IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P 8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl iB6XzCGcKQENZetX2fNXlrtIzYE= -----END CERTIFICATE----- StartCom Certification Authority ================================ -----BEGIN CERTIFICATE----- MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt 2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z 6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT 37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0 dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0 aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0 aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5 fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA 2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8= -----END CERTIFICATE----- StartCom Certification Authority G2 =================================== -----BEGIN CERTIFICATE----- MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG 4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K 2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+ JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG /+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm 7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm obp573PYtlNXLfbQ4ddI -----END CERTIFICATE----- Buypass Class 2 Root CA ======================= -----BEGIN CERTIFICATE----- MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn 9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b /+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN rJgWVqA= -----END CERTIFICATE----- Buypass Class 3 Root CA ======================= -----BEGIN CERTIFICATE----- MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR 5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh 7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH 2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV /afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz 6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi Cp/HuZc= -----END CERTIFICATE----- T-TeleSec GlobalRoot Class 3 ============================ -----BEGIN CERTIFICATE----- MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK 9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W 0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== -----END CERTIFICATE----- EE Certification Centre Root CA =============================== -----BEGIN CERTIFICATE----- MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2 rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw 93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU 3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM dcGWxZ0= -----END CERTIFICATE----- TURKTRUST Certificate Services Provider Root 2007 ================================================= -----BEGIN CERTIFICATE----- MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK poRq0Tl9 -----END CERTIFICATE----- D-TRUST Root Class 3 CA 2 2009 ============================== -----BEGIN CERTIFICATE----- MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ 4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm 2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= -----END CERTIFICATE----- D-TRUST Root Class 3 CA 2 EV 2009 ================================= -----BEGIN CERTIFICATE----- MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T 7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv w9y4AyHqnxbxLFS1 -----END CERTIFICATE----- PSCProcert ========== -----BEGIN CERTIFICATE----- MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA 3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2 0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH 0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/ AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG 9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52 ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1 n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo 5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq 3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5 poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km -----END CERTIFICATE----- China Internet Network Information Center EV Certificates Root ============================================================== -----BEGIN CERTIFICATE----- MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV 98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23 KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC 7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5 0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM 7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0 5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8= -----END CERTIFICATE----- Swisscom Root CA 2 ================== -----BEGIN CERTIFICATE----- MIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQG EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMjAeFw0xMTA2MjQwODM4MTRaFw0zMTA2 MjUwNzM4MTRaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAyMIIC IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlUJOhJ1R5tMJ6HJaI2nbeHCOFvErjw0DzpPM LgAIe6szjPTpQOYXTKueuEcUMncy3SgM3hhLX3af+Dk7/E6J2HzFZ++r0rk0X2s682Q2zsKwzxNo ysjL67XiPS4h3+os1OD5cJZM/2pYmLcX5BtS5X4HAB1f2uY+lQS3aYg5oUFgJWFLlTloYhyxCwWJ wDaCFCE/rtuh/bxvHGCGtlOUSbkrRsVPACu/obvLP+DHVxxX6NZp+MEkUp2IVd3Chy50I9AU/SpH Wrumnf2U5NGKpV+GY3aFy6//SSj8gO1MedK75MDvAe5QQQg1I3ArqRa0jG6F6bYRzzHdUyYb3y1a SgJA/MTAtukxGggo5WDDH8SQjhBiYEQN7Aq+VRhxLKX0srwVYv8c474d2h5Xszx+zYIdkeNL6yxS NLCK/RJOlrDrcH+eOfdmQrGrrFLadkBXeyq96G4DsguAhYidDMfCd7Camlf0uPoTXGiTOmekl9Ab mbeGMktg2M7v0Ax/lZ9vh0+Hio5fCHyqW/xavqGRn1V9TrALacywlKinh/LTSlDcX3KwFnUey7QY Ypqwpzmqm59m2I2mbJYV4+by+PGDYmy7Velhk6M99bFXi08jsJvllGov34zflVEpYKELKeRcVVi3 qPyZ7iVNTA6z00yPhOgpD/0QVAKFyPnlw4vP5w8CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw HQYDVR0hBBYwFDASBgdghXQBUwIBBgdghXQBUwIBMBIGA1UdEwEB/wQIMAYBAf8CAQcwHQYDVR0O BBYEFE0mICKJS9PVpAqhb97iEoHF8TwuMB8GA1UdIwQYMBaAFE0mICKJS9PVpAqhb97iEoHF8Twu MA0GCSqGSIb3DQEBCwUAA4ICAQAyCrKkG8t9voJXiblqf/P0wS4RfbgZPnm3qKhyN2abGu2sEzsO v2LwnN+ee6FTSA5BesogpxcbtnjsQJHzQq0Qw1zv/2BZf82Fo4s9SBwlAjxnffUy6S8w5X2lejjQ 82YqZh6NM4OKb3xuqFp1mrjX2lhIREeoTPpMSQpKwhI3qEAMw8jh0FcNlzKVxzqfl9NX+Ave5XLz o9v/tdhZsnPdTSpxsrpJ9csc1fV5yJmz/MFMdOO0vSk3FQQoHt5FRnDsr7p4DooqzgB53MBfGWcs a0vvaGgLQ+OswWIJ76bdZWGgr4RVSJFSHMYlkSrQwSIjYVmvRRGFHQEkNI/Ps/8XciATwoCqISxx OQ7Qj1zB09GOInJGTB2Wrk9xseEFKZZZ9LuedT3PDTcNYtsmjGOpI99nBjx8Oto0QuFmtEYE3saW mA9LSHokMnWRn6z3aOkquVVlzl1h0ydw2Df+n7mvoC5Wt6NlUe07qxS/TFED6F+KBZvuim6c779o +sjaC+NCydAXFJy3SuCvkychVSa1ZC+N8f+mQAWFBVzKBxlcCxMoTFh/wqXvRdpg065lYZ1Tg3TC rvJcwhbtkj6EPnNgiLx29CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX 5OfNeOI5wSsSnqaeG8XmDtkx2Q== -----END CERTIFICATE----- Swisscom Root EV CA 2 ===================== -----BEGIN CERTIFICATE----- MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE BhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdpdGFsIENlcnRpZmljYXRlIFNl cnZpY2VzMR4wHAYDVQQDExVTd2lzc2NvbSBSb290IEVWIENBIDIwHhcNMTEwNjI0MDk0NTA4WhcN MzEwNjI1MDg0NTA4WjBnMQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsT HERpZ2l0YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxHjAcBgNVBAMTFVN3aXNzY29tIFJvb3QgRVYg Q0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMT3HS9X6lds93BdY7BxUglgRCgz o3pOCvrY6myLURYaVa5UJsTMRQdBTxB5f3HSek4/OE6zAMaVylvNwSqD1ycfMQ4jFrclyxy0uYAy Xhqdk/HoPGAsp15XGVhRXrwsVgu42O+LgrQ8uMIkqBPHoCE2G3pXKSinLr9xJZDzRINpUKTk4Rti GZQJo/PDvO/0vezbE53PnUgJUmfANykRHvvSEaeFGHR55E+FFOtSN+KxRdjMDUN/rhPSays/p8Li qG12W0OfvrSdsyaGOx9/5fLoZigWJdBLlzin5M8J0TbDC77aO0RYjb7xnglrPvMyxyuHxuxenPaH Za0zKcQvidm5y8kDnftslFGXEBuGCxobP/YCfnvUxVFkKJ3106yDgYjTdLRZncHrYTNaRdHLOdAG alNgHa/2+2m8atwBz735j9m9W8E6X47aD0upm50qKGsaCnw8qyIL5XctcfaCNYGu+HuB5ur+rPQa m3Rc6I8k9l2dRsQs0h4rIWqDJ2dVSqTjyDKXZpBy2uPUZC5f46Fq9mDU5zXNysRojddxyNMkM3Ox bPlq4SjbX8Y96L5V5jcb7STZDxmPX2MYWFCBUWVv8p9+agTnNCRxunZLWB4ZvRVgRaoMEkABnRDi xzgHcgplwLa7JSnaFp6LNYth7eVxV4O1PHGf40+/fh6Bn0GXAgMBAAGjgYYwgYMwDgYDVR0PAQH/ BAQDAgGGMB0GA1UdIQQWMBQwEgYHYIV0AVMCAgYHYIV0AVMCAjASBgNVHRMBAf8ECDAGAQH/AgED MB0GA1UdDgQWBBRF2aWBbj2ITY1x0kbBbkUe88SAnTAfBgNVHSMEGDAWgBRF2aWBbj2ITY1x0kbB bkUe88SAnTANBgkqhkiG9w0BAQsFAAOCAgEAlDpzBp9SSzBc1P6xXCX5145v9Ydkn+0UjrgEjihL j6p7jjm02Vj2e6E1CqGdivdj5eu9OYLU43otb98TPLr+flaYC/NUn81ETm484T4VvwYmneTwkLbU wp4wLh/vx3rEUMfqe9pQy3omywC0Wqu1kx+AiYQElY2NfwmTv9SoqORjbdlk5LgpWgi/UOGED1V7 XwgiG/W9mR4U9s70WBCCswo9GcG/W6uqmdjyMb3lOGbcWAXH7WMaLgqXfIeTK7KK4/HsGOV1timH 59yLGn602MnTihdsfSlEvoqq9X46Lmgxk7lq2prg2+kupYTNHAq4Sgj5nPFhJpiTt3tm7JFe3VE/ 23MPrQRYCd0EApUKPtN236YQHoA96M2kZNEzx5LH4k5E4wnJTsJdhw4Snr8PyQUQ3nqjsTzyP6Wq J3mtMX0f/fwZacXduT98zca0wjAefm6S139hdlqP65VNvBFuIXxZN5nQBrz5Bm0yFqXZaajh3DyA HmBR3NdUIR7KYndP+tiPsys6DXhyyWhBWkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/gi uMod89a2GQ+fYWVq6nTIfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuW l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc= -----END CERTIFICATE----- CA Disig Root R1 ================ -----BEGIN CERTIFICATE----- MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy 3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8 u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2 m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6 vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ 04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85 YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ a7+h89n07eLw4+1knj0vllJPgFOL -----END CERTIFICATE----- CA Disig Root R2 ================ -----BEGIN CERTIFICATE----- MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa 5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV 7+ZtsH8tZ/3zbBt1RqPlShfppNcL -----END CERTIFICATE----- ACCVRAIZ1 ========= -----BEGIN CERTIFICATE----- MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ 0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR 5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J 9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd 3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p EfbRD0tVNEYqi4Y7 -----END CERTIFICATE----- TWCA Global Root CA =================== -----BEGIN CERTIFICATE----- MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M 8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg /eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= -----END CERTIFICATE----- TeliaSonera Root CA v1 ====================== -----BEGIN CERTIFICATE----- MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ 6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA 3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx 0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= -----END CERTIFICATE----- E-Tugra Certification Authority =============================== -----BEGIN CERTIFICATE----- MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0 E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5 dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB /wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807 VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0 8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G C7TbO6Orb1wdtn7os4I07QZcJA== -----END CERTIFICATE----- T-TeleSec GlobalRoot Class 2 ============================ -----BEGIN CERTIFICATE----- MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR 3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN 9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== -----END CERTIFICATE----- Atos TrustedRoot 2011 ===================== -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr 54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G 3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed -----END CERTIFICATE----- vendor/guzzle/guzzle/src/Guzzle/Http/CachingEntityBody.php000064400000014172147400355670017767 0ustar00remoteStream = $body; $this->body = new EntityBody(fopen('php://temp', 'r+')); } /** * Will give the contents of the buffer followed by the exhausted remote stream. * * Warning: Loads the entire stream into memory * * @return string */ public function __toString() { $pos = $this->ftell(); $this->rewind(); $str = ''; while (!$this->isConsumed()) { $str .= $this->read(16384); } $this->seek($pos); return $str; } public function getSize() { return max($this->body->getSize(), $this->remoteStream->getSize()); } /** * {@inheritdoc} * @throws RuntimeException When seeking with SEEK_END or when seeking past the total size of the buffer stream */ public function seek($offset, $whence = SEEK_SET) { if ($whence == SEEK_SET) { $byte = $offset; } elseif ($whence == SEEK_CUR) { $byte = $offset + $this->ftell(); } else { throw new RuntimeException(__CLASS__ . ' supports only SEEK_SET and SEEK_CUR seek operations'); } // You cannot skip ahead past where you've read from the remote stream if ($byte > $this->body->getSize()) { throw new RuntimeException( "Cannot seek to byte {$byte} when the buffered stream only contains {$this->body->getSize()} bytes" ); } return $this->body->seek($byte); } public function rewind() { return $this->seek(0); } /** * Does not support custom rewind functions * * @throws RuntimeException */ public function setRewindFunction($callable) { throw new RuntimeException(__CLASS__ . ' does not support custom stream rewind functions'); } public function read($length) { // Perform a regular read on any previously read data from the buffer $data = $this->body->read($length); $remaining = $length - strlen($data); // More data was requested so read from the remote stream if ($remaining) { // If data was written to the buffer in a position that would have been filled from the remote stream, // then we must skip bytes on the remote stream to emulate overwriting bytes from that position. This // mimics the behavior of other PHP stream wrappers. $remoteData = $this->remoteStream->read($remaining + $this->skipReadBytes); if ($this->skipReadBytes) { $len = strlen($remoteData); $remoteData = substr($remoteData, $this->skipReadBytes); $this->skipReadBytes = max(0, $this->skipReadBytes - $len); } $data .= $remoteData; $this->body->write($remoteData); } return $data; } public function write($string) { // When appending to the end of the currently read stream, you'll want to skip bytes from being read from // the remote stream to emulate other stream wrappers. Basically replacing bytes of data of a fixed length. $overflow = (strlen($string) + $this->ftell()) - $this->remoteStream->ftell(); if ($overflow > 0) { $this->skipReadBytes += $overflow; } return $this->body->write($string); } /** * {@inheritdoc} * @link http://php.net/manual/en/function.fgets.php */ public function readLine($maxLength = null) { $buffer = ''; $size = 0; while (!$this->isConsumed()) { $byte = $this->read(1); $buffer .= $byte; // Break when a new line is found or the max length - 1 is reached if ($byte == PHP_EOL || ++$size == $maxLength - 1) { break; } } return $buffer; } public function isConsumed() { return $this->body->isConsumed() && $this->remoteStream->isConsumed(); } /** * Close both the remote stream and buffer stream */ public function close() { return $this->remoteStream->close() && $this->body->close(); } public function setStream($stream, $size = 0) { $this->remoteStream->setStream($stream, $size); } public function getContentType() { return $this->remoteStream->getContentType(); } public function getContentEncoding() { return $this->remoteStream->getContentEncoding(); } public function getMetaData($key = null) { return $this->remoteStream->getMetaData($key); } public function getStream() { return $this->remoteStream->getStream(); } public function getWrapper() { return $this->remoteStream->getWrapper(); } public function getWrapperData() { return $this->remoteStream->getWrapperData(); } public function getStreamType() { return $this->remoteStream->getStreamType(); } public function getUri() { return $this->remoteStream->getUri(); } /** * Always retrieve custom data from the remote stream * {@inheritdoc} */ public function getCustomData($key) { return $this->remoteStream->getCustomData($key); } /** * Always set custom data on the remote stream * {@inheritdoc} */ public function setCustomData($key, $value) { $this->remoteStream->setCustomData($key, $value); return $this; } } vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/DuplicateAggregator.php000064400000001074147400355670023442 0ustar00isUrlEncoding()) { return array($query->encodeValue($key) => array_map(array($query, 'encodeValue'), $value)); } else { return array($key => $value); } } } vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/QueryAggregatorInterface.php000064400000001236147400355670024456 0ustar00 $v) { $k = "{$key}[{$k}]"; if (is_array($v)) { $ret = array_merge($ret, self::aggregate($k, $v, $query)); } else { $ret[$query->encodeValue($k)] = $query->encodeValue($v); } } return $ret; } } vendor/guzzle/guzzle/src/Guzzle/Http/QueryAggregator/CommaAggregator.php000064400000001010147400355670022552 0ustar00isUrlEncoding()) { return array($query->encodeValue($key) => implode(',', array_map(array($query, 'encodeValue'), $value))); } else { return array($key => implode(',', $value)); } } } vendor/guzzle/guzzle/src/Guzzle/Http/Client.php000064400000040776147400355670015647 0ustar00setConfig($config ?: new Collection()); $this->initSsl(); $this->setBaseUrl($baseUrl); $this->defaultHeaders = new Collection(); $this->setRequestFactory(RequestFactory::getInstance()); $this->userAgent = $this->getDefaultUserAgent(); if (!$this->config[self::DISABLE_REDIRECTS]) { $this->addSubscriber(new RedirectPlugin()); } } final public function setConfig($config) { if ($config instanceof Collection) { $this->config = $config; } elseif (is_array($config)) { $this->config = new Collection($config); } else { throw new InvalidArgumentException('Config must be an array or Collection'); } return $this; } final public function getConfig($key = false) { return $key ? $this->config[$key] : $this->config; } /** * Set a default request option on the client that will be used as a default for each request * * @param string $keyOrPath request.options key (e.g. allow_redirects) or path to a nested key (e.g. headers/foo) * @param mixed $value Value to set * * @return $this */ public function setDefaultOption($keyOrPath, $value) { $keyOrPath = self::REQUEST_OPTIONS . '/' . $keyOrPath; $this->config->setPath($keyOrPath, $value); return $this; } /** * Retrieve a default request option from the client * * @param string $keyOrPath request.options key (e.g. allow_redirects) or path to a nested key (e.g. headers/foo) * * @return mixed|null */ public function getDefaultOption($keyOrPath) { $keyOrPath = self::REQUEST_OPTIONS . '/' . $keyOrPath; return $this->config->getPath($keyOrPath); } final public function setSslVerification($certificateAuthority = true, $verifyPeer = true, $verifyHost = 2) { $opts = $this->config[self::CURL_OPTIONS] ?: array(); if ($certificateAuthority === true) { // use bundled CA bundle, set secure defaults $opts[CURLOPT_CAINFO] = __DIR__ . '/Resources/cacert.pem'; $opts[CURLOPT_SSL_VERIFYPEER] = true; $opts[CURLOPT_SSL_VERIFYHOST] = 2; } elseif ($certificateAuthority === false) { unset($opts[CURLOPT_CAINFO]); $opts[CURLOPT_SSL_VERIFYPEER] = false; $opts[CURLOPT_SSL_VERIFYHOST] = 0; } elseif ($verifyPeer !== true && $verifyPeer !== false && $verifyPeer !== 1 && $verifyPeer !== 0) { throw new InvalidArgumentException('verifyPeer must be 1, 0 or boolean'); } elseif ($verifyHost !== 0 && $verifyHost !== 1 && $verifyHost !== 2) { throw new InvalidArgumentException('verifyHost must be 0, 1 or 2'); } else { $opts[CURLOPT_SSL_VERIFYPEER] = $verifyPeer; $opts[CURLOPT_SSL_VERIFYHOST] = $verifyHost; if (is_file($certificateAuthority)) { unset($opts[CURLOPT_CAPATH]); $opts[CURLOPT_CAINFO] = $certificateAuthority; } elseif (is_dir($certificateAuthority)) { unset($opts[CURLOPT_CAINFO]); $opts[CURLOPT_CAPATH] = $certificateAuthority; } else { throw new RuntimeException( 'Invalid option passed to ' . self::SSL_CERT_AUTHORITY . ': ' . $certificateAuthority ); } } $this->config->set(self::CURL_OPTIONS, $opts); return $this; } public function createRequest($method = 'GET', $uri = null, $headers = null, $body = null, array $options = array()) { if (!$uri) { $url = $this->getBaseUrl(); } else { if (!is_array($uri)) { $templateVars = null; } else { list($uri, $templateVars) = $uri; } if (strpos($uri, '://')) { // Use absolute URLs as-is $url = $this->expandTemplate($uri, $templateVars); } else { $url = Url::factory($this->getBaseUrl())->combine($this->expandTemplate($uri, $templateVars)); } } // If default headers are provided, then merge them under any explicitly provided headers for the request if (count($this->defaultHeaders)) { if (!$headers) { $headers = $this->defaultHeaders->toArray(); } elseif (is_array($headers)) { $headers += $this->defaultHeaders->toArray(); } elseif ($headers instanceof Collection) { $headers = $headers->toArray() + $this->defaultHeaders->toArray(); } } return $this->prepareRequest($this->requestFactory->create($method, (string) $url, $headers, $body), $options); } public function getBaseUrl($expand = true) { return $expand ? $this->expandTemplate($this->baseUrl) : $this->baseUrl; } public function setBaseUrl($url) { $this->baseUrl = $url; return $this; } public function setUserAgent($userAgent, $includeDefault = false) { if ($includeDefault) { $userAgent .= ' ' . $this->getDefaultUserAgent(); } $this->userAgent = $userAgent; return $this; } /** * Get the default User-Agent string to use with Guzzle * * @return string */ public function getDefaultUserAgent() { return 'Guzzle/' . Version::VERSION . ' curl/' . CurlVersion::getInstance()->get('version') . ' PHP/' . PHP_VERSION; } public function get($uri = null, $headers = null, $options = array()) { // BC compat: $options can be a string, resource, etc to specify where the response body is downloaded return is_array($options) ? $this->createRequest('GET', $uri, $headers, null, $options) : $this->createRequest('GET', $uri, $headers, $options); } public function head($uri = null, $headers = null, array $options = array()) { return $this->createRequest('HEAD', $uri, $headers, null, $options); } public function delete($uri = null, $headers = null, $body = null, array $options = array()) { return $this->createRequest('DELETE', $uri, $headers, $body, $options); } public function put($uri = null, $headers = null, $body = null, array $options = array()) { return $this->createRequest('PUT', $uri, $headers, $body, $options); } public function patch($uri = null, $headers = null, $body = null, array $options = array()) { return $this->createRequest('PATCH', $uri, $headers, $body, $options); } public function post($uri = null, $headers = null, $postBody = null, array $options = array()) { return $this->createRequest('POST', $uri, $headers, $postBody, $options); } public function options($uri = null, array $options = array()) { return $this->createRequest('OPTIONS', $uri, $options); } public function send($requests) { if (!($requests instanceof RequestInterface)) { return $this->sendMultiple($requests); } try { /** @var $requests RequestInterface */ $this->getCurlMulti()->add($requests)->send(); return $requests->getResponse(); } catch (ExceptionCollection $e) { throw $e->getFirst(); } } /** * Set a curl multi object to be used internally by the client for transferring requests. * * @param CurlMultiInterface $curlMulti Multi object * * @return self */ public function setCurlMulti(CurlMultiInterface $curlMulti) { $this->curlMulti = $curlMulti; return $this; } /** * @return CurlMultiInterface|CurlMultiProxy */ public function getCurlMulti() { if (!$this->curlMulti) { $this->curlMulti = new CurlMultiProxy( self::MAX_HANDLES, $this->getConfig('select_timeout') ?: self::DEFAULT_SELECT_TIMEOUT ); } return $this->curlMulti; } public function setRequestFactory(RequestFactoryInterface $factory) { $this->requestFactory = $factory; return $this; } /** * Set the URI template expander to use with the client * * @param UriTemplateInterface $uriTemplate URI template expander * * @return self */ public function setUriTemplate(UriTemplateInterface $uriTemplate) { $this->uriTemplate = $uriTemplate; return $this; } /** * Expand a URI template while merging client config settings into the template variables * * @param string $template Template to expand * @param array $variables Variables to inject * * @return string */ protected function expandTemplate($template, array $variables = null) { $expansionVars = $this->getConfig()->toArray(); if ($variables) { $expansionVars = $variables + $expansionVars; } return $this->getUriTemplate()->expand($template, $expansionVars); } /** * Get the URI template expander used by the client * * @return UriTemplateInterface */ protected function getUriTemplate() { if (!$this->uriTemplate) { $this->uriTemplate = ParserRegistry::getInstance()->getParser('uri_template'); } return $this->uriTemplate; } /** * Send multiple requests in parallel * * @param array $requests Array of RequestInterface objects * * @return array Returns an array of Response objects */ protected function sendMultiple(array $requests) { $curlMulti = $this->getCurlMulti(); foreach ($requests as $request) { $curlMulti->add($request); } $curlMulti->send(); /** @var $request RequestInterface */ $result = array(); foreach ($requests as $request) { $result[] = $request->getResponse(); } return $result; } /** * Prepare a request to be sent from the Client by adding client specific behaviors and properties to the request. * * @param RequestInterface $request Request to prepare for the client * @param array $options Options to apply to the request * * @return RequestInterface */ protected function prepareRequest(RequestInterface $request, array $options = array()) { $request->setClient($this)->setEventDispatcher(clone $this->getEventDispatcher()); if ($curl = $this->config[self::CURL_OPTIONS]) { $request->getCurlOptions()->overwriteWith(CurlHandle::parseCurlConfig($curl)); } if ($params = $this->config[self::REQUEST_PARAMS]) { Version::warn('request.params is deprecated. Use request.options to add default request options.'); $request->getParams()->overwriteWith($params); } if ($this->userAgent && !$request->hasHeader('User-Agent')) { $request->setHeader('User-Agent', $this->userAgent); } if ($defaults = $this->config[self::REQUEST_OPTIONS]) { $this->requestFactory->applyOptions($request, $defaults, RequestFactoryInterface::OPTIONS_AS_DEFAULTS); } if ($options) { $this->requestFactory->applyOptions($request, $options); } $this->dispatch('client.create_request', array('client' => $this, 'request' => $request)); return $request; } /** * Initializes SSL settings */ protected function initSsl() { $authority = $this->config[self::SSL_CERT_AUTHORITY]; if ($authority === 'system') { return; } if ($authority === null) { $authority = true; } if ($authority === true && substr(__FILE__, 0, 7) == 'phar://') { $authority = self::extractPharCacert(__DIR__ . '/Resources/cacert.pem'); } $this->setSslVerification($authority); } /** * @deprecated */ public function getDefaultHeaders() { Version::warn(__METHOD__ . ' is deprecated. Use the request.options array to retrieve default request options'); return $this->defaultHeaders; } /** * @deprecated */ public function setDefaultHeaders($headers) { Version::warn(__METHOD__ . ' is deprecated. Use the request.options array to specify default request options'); if ($headers instanceof Collection) { $this->defaultHeaders = $headers; } elseif (is_array($headers)) { $this->defaultHeaders = new Collection($headers); } else { throw new InvalidArgumentException('Headers must be an array or Collection'); } return $this; } /** * @deprecated */ public function preparePharCacert($md5Check = true) { return sys_get_temp_dir() . '/guzzle-cacert.pem'; } /** * Copies the phar cacert from a phar into the temp directory. * * @param string $pharCacertPath Path to the phar cacert. For example: * 'phar://aws.phar/Guzzle/Http/Resources/cacert.pem' * * @return string Returns the path to the extracted cacert file. * @throws \RuntimeException Throws if the phar cacert cannot be found or * the file cannot be copied to the temp dir. */ public static function extractPharCacert($pharCacertPath) { // Copy the cacert.pem file from the phar if it is not in the temp // folder. $certFile = sys_get_temp_dir() . '/guzzle-cacert.pem'; if (!file_exists($pharCacertPath)) { throw new \RuntimeException("Could not find $pharCacertPath"); } if (!file_exists($certFile) || filesize($certFile) != filesize($pharCacertPath) ) { if (!copy($pharCacertPath, $certFile)) { throw new \RuntimeException( "Could not copy {$pharCacertPath} to {$certFile}: " . var_export(error_get_last(), true) ); } } return $certFile; } } vendor/guzzle/guzzle/src/Guzzle/Http/AbstractEntityBodyDecorator.php000064400000010273147400355670022037 0ustar00body = $body; } public function __toString() { return (string) $this->body; } /** * Allow decorators to implement custom methods * * @param string $method Missing method name * @param array $args Method arguments * * @return mixed */ public function __call($method, array $args) { return call_user_func_array(array($this->body, $method), $args); } public function close() { return $this->body->close(); } public function setRewindFunction($callable) { $this->body->setRewindFunction($callable); return $this; } public function rewind() { return $this->body->rewind(); } public function compress($filter = 'zlib.deflate') { return $this->body->compress($filter); } public function uncompress($filter = 'zlib.inflate') { return $this->body->uncompress($filter); } public function getContentLength() { return $this->getSize(); } public function getContentType() { return $this->body->getContentType(); } public function getContentMd5($rawOutput = false, $base64Encode = false) { $hash = Stream::getHash($this, 'md5', $rawOutput); return $hash && $base64Encode ? base64_encode($hash) : $hash; } public function getContentEncoding() { return $this->body->getContentEncoding(); } public function getMetaData($key = null) { return $this->body->getMetaData($key); } public function getStream() { return $this->body->getStream(); } public function setStream($stream, $size = 0) { $this->body->setStream($stream, $size); return $this; } public function detachStream() { $this->body->detachStream(); return $this; } public function getWrapper() { return $this->body->getWrapper(); } public function getWrapperData() { return $this->body->getWrapperData(); } public function getStreamType() { return $this->body->getStreamType(); } public function getUri() { return $this->body->getUri(); } public function getSize() { return $this->body->getSize(); } public function isReadable() { return $this->body->isReadable(); } public function isRepeatable() { return $this->isSeekable() && $this->isReadable(); } public function isWritable() { return $this->body->isWritable(); } public function isConsumed() { return $this->body->isConsumed(); } /** * Alias of isConsumed() * {@inheritdoc} */ public function feof() { return $this->isConsumed(); } public function isLocal() { return $this->body->isLocal(); } public function isSeekable() { return $this->body->isSeekable(); } public function setSize($size) { $this->body->setSize($size); return $this; } public function seek($offset, $whence = SEEK_SET) { return $this->body->seek($offset, $whence); } public function read($length) { return $this->body->read($length); } public function write($string) { return $this->body->write($string); } public function readLine($maxLength = null) { return $this->body->readLine($maxLength); } public function ftell() { return $this->body->ftell(); } public function getCustomData($key) { return $this->body->getCustomData($key); } public function setCustomData($key, $value) { $this->body->setCustomData($key, $value); return $this; } } vendor/guzzle/guzzle/src/Guzzle/Http/StaticClient.php000064400000011047147400355670017004 0ustar00createRequest($method, $url, null, null, $options); if (isset($options['stream'])) { if ($options['stream'] instanceof StreamRequestFactoryInterface) { return $options['stream']->fromRequest($request); } elseif ($options['stream'] == true) { $streamFactory = new PhpStreamRequestFactory(); return $streamFactory->fromRequest($request); } } return $request->send(); } /** * Send a GET request * * @param string $url URL of the request * @param array $options Array of request options * * @return \Guzzle\Http\Message\Response * @see Guzzle::request for a list of available options */ public static function get($url, $options = array()) { return self::request('GET', $url, $options); } /** * Send a HEAD request * * @param string $url URL of the request * @param array $options Array of request options * * @return \Guzzle\Http\Message\Response * @see Guzzle::request for a list of available options */ public static function head($url, $options = array()) { return self::request('HEAD', $url, $options); } /** * Send a DELETE request * * @param string $url URL of the request * @param array $options Array of request options * * @return \Guzzle\Http\Message\Response * @see Guzzle::request for a list of available options */ public static function delete($url, $options = array()) { return self::request('DELETE', $url, $options); } /** * Send a POST request * * @param string $url URL of the request * @param array $options Array of request options * * @return \Guzzle\Http\Message\Response * @see Guzzle::request for a list of available options */ public static function post($url, $options = array()) { return self::request('POST', $url, $options); } /** * Send a PUT request * * @param string $url URL of the request * @param array $options Array of request options * * @return \Guzzle\Http\Message\Response * @see Guzzle::request for a list of available options */ public static function put($url, $options = array()) { return self::request('PUT', $url, $options); } /** * Send a PATCH request * * @param string $url URL of the request * @param array $options Array of request options * * @return \Guzzle\Http\Message\Response * @see Guzzle::request for a list of available options */ public static function patch($url, $options = array()) { return self::request('PATCH', $url, $options); } /** * Send an OPTIONS request * * @param string $url URL of the request * @param array $options Array of request options * * @return \Guzzle\Http\Message\Response * @see Guzzle::request for a list of available options */ public static function options($url, $options = array()) { return self::request('OPTIONS', $url, $options); } } vendor/guzzle/guzzle/src/Guzzle/Http/Url.php000064400000034442147400355670015164 0ustar00 null, 'host' => null, 'path' => null, 'port' => null, 'query' => null, 'user' => null, 'pass' => null, 'fragment' => null); if (false === ($parts = parse_url($url))) { throw new InvalidArgumentException('Was unable to parse malformed url: ' . $url); } $parts += $defaults; // Convert the query string into a QueryString object if ($parts['query'] || 0 !== strlen($parts['query'])) { $parts['query'] = QueryString::fromString($parts['query']); } return new static($parts['scheme'], $parts['host'], $parts['user'], $parts['pass'], $parts['port'], $parts['path'], $parts['query'], $parts['fragment']); } /** * Build a URL from parse_url parts. The generated URL will be a relative URL if a scheme or host are not provided. * * @param array $parts Array of parse_url parts * * @return string */ public static function buildUrl(array $parts) { $url = $scheme = ''; if (isset($parts['scheme'])) { $scheme = $parts['scheme']; $url .= $scheme . ':'; } if (isset($parts['host'])) { $url .= '//'; if (isset($parts['user'])) { $url .= $parts['user']; if (isset($parts['pass'])) { $url .= ':' . $parts['pass']; } $url .= '@'; } $url .= $parts['host']; // Only include the port if it is not the default port of the scheme if (isset($parts['port']) && !(($scheme == 'http' && $parts['port'] == 80) || ($scheme == 'https' && $parts['port'] == 443)) ) { $url .= ':' . $parts['port']; } } // Add the path component if present if (isset($parts['path']) && 0 !== strlen($parts['path'])) { // Always ensure that the path begins with '/' if set and something is before the path if ($url && $parts['path'][0] != '/' && substr($url, -1) != '/') { $url .= '/'; } $url .= $parts['path']; } // Add the query string if present if (isset($parts['query'])) { $url .= '?' . $parts['query']; } // Ensure that # is only added to the url if fragment contains anything. if (isset($parts['fragment'])) { $url .= '#' . $parts['fragment']; } return $url; } /** * Create a new URL from URL parts * * @param string $scheme Scheme of the URL * @param string $host Host of the URL * @param string $username Username of the URL * @param string $password Password of the URL * @param int $port Port of the URL * @param string $path Path of the URL * @param QueryString|array|string $query Query string of the URL * @param string $fragment Fragment of the URL */ public function __construct($scheme, $host, $username = null, $password = null, $port = null, $path = null, QueryString $query = null, $fragment = null) { $this->scheme = $scheme; $this->host = $host; $this->port = $port; $this->username = $username; $this->password = $password; $this->fragment = $fragment; if (!$query) { $this->query = new QueryString(); } else { $this->setQuery($query); } $this->setPath($path); } /** * Clone the URL */ public function __clone() { $this->query = clone $this->query; } /** * Returns the URL as a URL string * * @return string */ public function __toString() { return self::buildUrl($this->getParts()); } /** * Get the parts of the URL as an array * * @return array */ public function getParts() { $query = (string) $this->query; return array( 'scheme' => $this->scheme, 'user' => $this->username, 'pass' => $this->password, 'host' => $this->host, 'port' => $this->port, 'path' => $this->getPath(), 'query' => $query !== '' ? $query : null, 'fragment' => $this->fragment, ); } /** * Set the host of the request. * * @param string $host Host to set (e.g. www.yahoo.com, yahoo.com) * * @return Url */ public function setHost($host) { if (strpos($host, ':') === false) { $this->host = $host; } else { list($host, $port) = explode(':', $host); $this->host = $host; $this->setPort($port); } return $this; } /** * Get the host part of the URL * * @return string */ public function getHost() { return $this->host; } /** * Set the scheme part of the URL (http, https, ftp, etc) * * @param string $scheme Scheme to set * * @return Url */ public function setScheme($scheme) { if ($this->scheme == 'http' && $this->port == 80) { $this->port = null; } elseif ($this->scheme == 'https' && $this->port == 443) { $this->port = null; } $this->scheme = $scheme; return $this; } /** * Get the scheme part of the URL * * @return string */ public function getScheme() { return $this->scheme; } /** * Set the port part of the URL * * @param int $port Port to set * * @return Url */ public function setPort($port) { $this->port = $port; return $this; } /** * Get the port part of the URl. Will return the default port for a given scheme if no port has been set. * * @return int|null */ public function getPort() { if ($this->port) { return $this->port; } elseif ($this->scheme == 'http') { return 80; } elseif ($this->scheme == 'https') { return 443; } return null; } /** * Set the path part of the URL * * @param array|string $path Path string or array of path segments * * @return Url */ public function setPath($path) { static $pathReplace = array(' ' => '%20', '?' => '%3F'); if (is_array($path)) { $path = '/' . implode('/', $path); } $this->path = strtr($path, $pathReplace); return $this; } /** * Normalize the URL so that double slashes and relative paths are removed * * @return Url */ public function normalizePath() { if (!$this->path || $this->path == '/' || $this->path == '*') { return $this; } $results = array(); $segments = $this->getPathSegments(); foreach ($segments as $segment) { if ($segment == '..') { array_pop($results); } elseif ($segment != '.' && $segment != '') { $results[] = $segment; } } // Combine the normalized parts and add the leading slash if needed $this->path = ($this->path[0] == '/' ? '/' : '') . implode('/', $results); // Add the trailing slash if necessary if ($this->path != '/' && end($segments) == '') { $this->path .= '/'; } return $this; } /** * Add a relative path to the currently set path. * * @param string $relativePath Relative path to add * * @return Url */ public function addPath($relativePath) { if ($relativePath != '/' && is_string($relativePath) && strlen($relativePath) > 0) { // Add a leading slash if needed if ($relativePath[0] != '/') { $relativePath = '/' . $relativePath; } $this->setPath(str_replace('//', '/', $this->path . $relativePath)); } return $this; } /** * Get the path part of the URL * * @return string */ public function getPath() { return $this->path; } /** * Get the path segments of the URL as an array * * @return array */ public function getPathSegments() { return array_slice(explode('/', $this->getPath()), 1); } /** * Set the password part of the URL * * @param string $password Password to set * * @return Url */ public function setPassword($password) { $this->password = $password; return $this; } /** * Get the password part of the URL * * @return null|string */ public function getPassword() { return $this->password; } /** * Set the username part of the URL * * @param string $username Username to set * * @return Url */ public function setUsername($username) { $this->username = $username; return $this; } /** * Get the username part of the URl * * @return null|string */ public function getUsername() { return $this->username; } /** * Get the query part of the URL as a QueryString object * * @return QueryString */ public function getQuery() { return $this->query; } /** * Set the query part of the URL * * @param QueryString|string|array $query Query to set * * @return Url */ public function setQuery($query) { if (is_string($query)) { $output = null; parse_str($query, $output); $this->query = new QueryString($output); } elseif (is_array($query)) { $this->query = new QueryString($query); } elseif ($query instanceof QueryString) { $this->query = $query; } return $this; } /** * Get the fragment part of the URL * * @return null|string */ public function getFragment() { return $this->fragment; } /** * Set the fragment part of the URL * * @param string $fragment Fragment to set * * @return Url */ public function setFragment($fragment) { $this->fragment = $fragment; return $this; } /** * Check if this is an absolute URL * * @return bool */ public function isAbsolute() { return $this->scheme && $this->host; } /** * Combine the URL with another URL. Follows the rules specific in RFC 3986 section 5.4. * * @param string $url Relative URL to combine with * @param bool $strictRfc3986 Set to true to use strict RFC 3986 compliance when merging paths. When first * released, Guzzle used an incorrect algorithm for combining relative URL paths. In * order to not break users, we introduced this flag to allow the merging of URLs based * on strict RFC 3986 section 5.4.1. This means that "http://a.com/foo/baz" merged with * "bar" would become "http://a.com/foo/bar". When this value is set to false, it would * become "http://a.com/foo/baz/bar". * @return Url * @throws InvalidArgumentException * @link http://tools.ietf.org/html/rfc3986#section-5.4 */ public function combine($url, $strictRfc3986 = false) { $url = self::factory($url); // Use the more absolute URL as the base URL if (!$this->isAbsolute() && $url->isAbsolute()) { $url = $url->combine($this); } // Passing a URL with a scheme overrides everything if ($buffer = $url->getScheme()) { $this->scheme = $buffer; $this->host = $url->getHost(); $this->port = $url->getPort(); $this->username = $url->getUsername(); $this->password = $url->getPassword(); $this->path = $url->getPath(); $this->query = $url->getQuery(); $this->fragment = $url->getFragment(); return $this; } // Setting a host overrides the entire rest of the URL if ($buffer = $url->getHost()) { $this->host = $buffer; $this->port = $url->getPort(); $this->username = $url->getUsername(); $this->password = $url->getPassword(); $this->path = $url->getPath(); $this->query = $url->getQuery(); $this->fragment = $url->getFragment(); return $this; } $path = $url->getPath(); $query = $url->getQuery(); if (!$path) { if (count($query)) { $this->addQuery($query, $strictRfc3986); } } else { if ($path[0] == '/') { $this->path = $path; } elseif ($strictRfc3986) { $this->path .= '/../' . $path; } else { $this->path .= '/' . $path; } $this->normalizePath(); $this->addQuery($query, $strictRfc3986); } $this->fragment = $url->getFragment(); return $this; } private function addQuery(QueryString $new, $strictRfc386) { if (!$strictRfc386) { $new->merge($this->query); } $this->query = $new; } } vendor/guzzle/guzzle/src/Guzzle/Http/RedirectPlugin.php000064400000023573147400355670017345 0ustar00 array('onRequestSent', 100), 'request.clone' => 'cleanupRequest', 'request.before_send' => 'cleanupRequest' ); } /** * Clean up the parameters of a request when it is cloned * * @param Event $event Event emitted */ public function cleanupRequest(Event $event) { $params = $event['request']->getParams(); unset($params[self::REDIRECT_COUNT]); unset($params[self::PARENT_REQUEST]); } /** * Called when a request receives a redirect response * * @param Event $event Event emitted */ public function onRequestSent(Event $event) { $response = $event['response']; $request = $event['request']; // Only act on redirect requests with Location headers if (!$response || $request->getParams()->get(self::DISABLE)) { return; } // Trace the original request based on parameter history $original = $this->getOriginalRequest($request); // Terminating condition to set the effective response on the original request if (!$response->isRedirect() || !$response->hasHeader('Location')) { if ($request !== $original) { // This is a terminating redirect response, so set it on the original request $response->getParams()->set(self::REDIRECT_COUNT, $original->getParams()->get(self::REDIRECT_COUNT)); $original->setResponse($response); $response->setEffectiveUrl($request->getUrl()); } return; } $this->sendRedirectRequest($original, $request, $response); } /** * Get the original request that initiated a series of redirects * * @param RequestInterface $request Request to get the original request from * * @return RequestInterface */ protected function getOriginalRequest(RequestInterface $request) { $original = $request; // The number of redirects is held on the original request, so determine which request that is while ($parent = $original->getParams()->get(self::PARENT_REQUEST)) { $original = $parent; } return $original; } /** * Create a redirect request for a specific request object * * Takes into account strict RFC compliant redirection (e.g. redirect POST with POST) vs doing what most clients do * (e.g. redirect POST with GET). * * @param RequestInterface $request Request being redirected * @param RequestInterface $original Original request * @param int $statusCode Status code of the redirect * @param string $location Location header of the redirect * * @return RequestInterface Returns a new redirect request * @throws CouldNotRewindStreamException If the body needs to be rewound but cannot */ protected function createRedirectRequest( RequestInterface $request, $statusCode, $location, RequestInterface $original ) { $redirectRequest = null; $strict = $original->getParams()->get(self::STRICT_REDIRECTS); // Switch method to GET for 303 redirects. 301 and 302 redirects also switch to GET unless we are forcing RFC // compliance to emulate what most browsers do. NOTE: IE only switches methods on 301/302 when coming from a POST. if ($request instanceof EntityEnclosingRequestInterface && ($statusCode == 303 || (!$strict && $statusCode <= 302))) { $redirectRequest = RequestFactory::getInstance()->cloneRequestWithMethod($request, 'GET'); } else { $redirectRequest = clone $request; } $redirectRequest->setIsRedirect(true); // Always use the same response body when redirecting $redirectRequest->setResponseBody($request->getResponseBody()); $location = Url::factory($location); // If the location is not absolute, then combine it with the original URL if (!$location->isAbsolute()) { $originalUrl = $redirectRequest->getUrl(true); // Remove query string parameters and just take what is present on the redirect Location header $originalUrl->getQuery()->clear(); $location = $originalUrl->combine((string) $location, true); } $redirectRequest->setUrl($location); // Add the parent request to the request before it sends (make sure it's before the onRequestClone event too) $redirectRequest->getEventDispatcher()->addListener( 'request.before_send', $func = function ($e) use (&$func, $request, $redirectRequest) { $redirectRequest->getEventDispatcher()->removeListener('request.before_send', $func); $e['request']->getParams()->set(RedirectPlugin::PARENT_REQUEST, $request); } ); // Rewind the entity body of the request if needed if ($redirectRequest instanceof EntityEnclosingRequestInterface && $redirectRequest->getBody()) { $body = $redirectRequest->getBody(); // Only rewind the body if some of it has been read already, and throw an exception if the rewind fails if ($body->ftell() && !$body->rewind()) { throw new CouldNotRewindStreamException( 'Unable to rewind the non-seekable entity body of the request after redirecting. cURL probably ' . 'sent part of body before the redirect occurred. Try adding acustom rewind function using on the ' . 'entity body of the request using setRewindFunction().' ); } } return $redirectRequest; } /** * Prepare the request for redirection and enforce the maximum number of allowed redirects per client * * @param RequestInterface $original Original request * @param RequestInterface $request Request to prepare and validate * @param Response $response The current response * * @return RequestInterface */ protected function prepareRedirection(RequestInterface $original, RequestInterface $request, Response $response) { $params = $original->getParams(); // This is a new redirect, so increment the redirect counter $current = $params[self::REDIRECT_COUNT] + 1; $params[self::REDIRECT_COUNT] = $current; // Use a provided maximum value or default to a max redirect count of 5 $max = isset($params[self::MAX_REDIRECTS]) ? $params[self::MAX_REDIRECTS] : $this->defaultMaxRedirects; // Throw an exception if the redirect count is exceeded if ($current > $max) { $this->throwTooManyRedirectsException($original, $max); return false; } else { // Create a redirect request based on the redirect rules set on the request return $this->createRedirectRequest( $request, $response->getStatusCode(), trim($response->getLocation()), $original ); } } /** * Send a redirect request and handle any errors * * @param RequestInterface $original The originating request * @param RequestInterface $request The current request being redirected * @param Response $response The response of the current request * * @throws BadResponseException|\Exception */ protected function sendRedirectRequest(RequestInterface $original, RequestInterface $request, Response $response) { // Validate and create a redirect request based on the original request and current response if ($redirectRequest = $this->prepareRedirection($original, $request, $response)) { try { $redirectRequest->send(); } catch (BadResponseException $e) { $e->getResponse(); if (!$e->getResponse()) { throw $e; } } } } /** * Throw a too many redirects exception for a request * * @param RequestInterface $original Request * @param int $max Max allowed redirects * * @throws TooManyRedirectsException when too many redirects have been issued */ protected function throwTooManyRedirectsException(RequestInterface $original, $max) { $original->getEventDispatcher()->addListener( 'request.complete', $func = function ($e) use (&$func, $original, $max) { $original->getEventDispatcher()->removeListener('request.complete', $func); $str = "{$max} redirects were issued for this request:\n" . $e['request']->getRawHeaders(); throw new TooManyRedirectsException($str); } ); } } vendor/guzzle/guzzle/src/Guzzle/Http/EntityBodyInterface.php000064400000004563147400355670020336 0ustar00setLimit($limit)->setOffset($offset); } /** * Returns only a subset of the decorated entity body when cast as a string * {@inheritdoc} */ public function __toString() { if (!$this->body->isReadable() || (!$this->body->isSeekable() && $this->body->isConsumed()) ) { return ''; } $originalPos = $this->body->ftell(); $this->body->seek($this->offset); $data = ''; while (!$this->feof()) { $data .= $this->read(1048576); } $this->body->seek($originalPos); return (string) $data ?: ''; } public function isConsumed() { return $this->body->isConsumed() || ($this->body->ftell() >= $this->offset + $this->limit); } /** * Returns the Content-Length of the limited subset of data * {@inheritdoc} */ public function getContentLength() { $length = $this->body->getContentLength(); return $length === false ? $this->limit : min($this->limit, min($length, $this->offset + $this->limit) - $this->offset); } /** * Allow for a bounded seek on the read limited entity body * {@inheritdoc} */ public function seek($offset, $whence = SEEK_SET) { return $whence === SEEK_SET ? $this->body->seek(max($this->offset, min($this->offset + $this->limit, $offset))) : false; } /** * Set the offset to start limiting from * * @param int $offset Offset to seek to and begin byte limiting from * * @return self */ public function setOffset($offset) { $this->body->seek($offset); $this->offset = $offset; return $this; } /** * Set the limit of bytes that the decorator allows to be read from the stream * * @param int $limit Total number of bytes to allow to be read from the stream * * @return self */ public function setLimit($limit) { $this->limit = $limit; return $this; } public function read($length) { // Check if the current position is less than the total allowed bytes + original offset $remaining = ($this->offset + $this->limit) - $this->body->ftell(); if ($remaining > 0) { // Only return the amount of requested data, ensuring that the byte limit is not exceeded return $this->body->read(min($remaining, $length)); } else { return false; } } } vendor/guzzle/guzzle/README.md000064400000004347147400355670012203 0ustar00Guzzle, PHP HTTP client and webservice framework ================================================ # This is an old version of Guzzle This repository is for Guzzle 3.x. Guzzle 5.x, the new version of Guzzle, has been released and is available at [https://github.com/guzzle/guzzle](https://github.com/guzzle/guzzle). The documentation for Guzzle version 5+ can be found at [http://guzzlephp.org](http://guzzlephp.org). Guzzle 3 is no longer maintained and is now end of life. ### About Guzzle 3 [![Composer Downloads](https://poser.pugx.org/guzzle/guzzle/d/total.png)](https://packagist.org/packages/guzzle/guzzle) [![Build Status](https://secure.travis-ci.org/guzzle/guzzle3.png?branch=master)](http://travis-ci.org/guzzle/guzzle3) - Extremely powerful API provides all the power of cURL with a simple interface. - Truly take advantage of HTTP/1.1 with persistent connections, connection pooling, and parallel requests. - Service description DSL allows you build awesome web service clients faster. - Symfony2 event-based plugin system allows you to completely modify the behavior of a request. ### Installing via Composer The recommended way to install Guzzle is through [Composer](http://getcomposer.org). ```bash # Install Composer curl -sS https://getcomposer.org/installer | php # Add Guzzle as a dependency php composer.phar require guzzle/guzzle:~3.9 ``` After installing, you need to require Composer's autoloader: ```php require 'vendor/autoload.php'; ``` ## Known Issues 1. Problem following a specific redirect: https://github.com/guzzle/guzzle/issues/385. This has been fixed in Guzzle 4/5. 2. Root XML attributes not serialized in a service description: https://github.com/guzzle/guzzle3/issues/5. This has been fixed in Guzzle 4/5. 3. Accept-Encoding not preserved when following redirect: https://github.com/guzzle/guzzle3/issues/9 Fixed in Guzzle 4/5. 4. String "Array" Transmitted w/ PostFiles and Duplicate Aggregator: https://github.com/guzzle/guzzle3/issues/10 Fixed in Guzzle 4/5. 5. Recursive model references with array items: https://github.com/guzzle/guzzle3/issues/13 Fixed in Guzzle 4/5 6. String "Array" Transmitted w/ PostFiles and Duplicate Aggregator: https://github.com/guzzle/guzzle3/issues/10 Fixed in Guzzle 4/5. vendor/guzzle/guzzle/phpunit.xml.dist000064400000004512147400355670014071 0ustar00 ./tests/Guzzle/Tests ./src/Guzzle ./src/Guzzle ./src/Guzzle/Common/Exception/GuzzleException.php ./src/Guzzle/Http/Exception/HttpException.php ./src/Guzzle/Http/Exception/ServerErrorResponseException.php ./src/Guzzle/Http/Exception/ClientErrorResponseException.php ./src/Guzzle/Http/Exception/TooManyRedirectsException.php ./src/Guzzle/Http/Exception/CouldNotRewindStreamException.php ./src/Guzzle/Common/Exception/BadMethodCallException.php ./src/Guzzle/Common/Exception/InvalidArgumentException.php ./src/Guzzle/Common/Exception/RuntimeException.php ./src/Guzzle/Common/Exception/UnexpectedValueException.php ./src/Guzzle/Service/Exception/ClientNotFoundException.php ./src/Guzzle/Service/Exception/CommandException.php ./src/Guzzle/Service/Exception/DescriptionBuilderException.php ./src/Guzzle/Service/Exception/ServiceBuilderException.php ./src/Guzzle/Service/Exception/ServiceNotFoundException.php ./src/Guzzle/Service/Exception/ValidationException.php ./src/Guzzle/Service/Exception/JsonException.php vendor/guzzle/guzzle/phar-stub.php000064400000001121147400355670013325 0ustar00registerNamespaces(array( 'Guzzle' => 'phar://guzzle.phar/src', 'Symfony\\Component\\EventDispatcher' => 'phar://guzzle.phar/vendor/symfony/event-dispatcher', 'Doctrine' => 'phar://guzzle.phar/vendor/doctrine/common/lib', 'Monolog' => 'phar://guzzle.phar/vendor/monolog/monolog/src' )); $classLoader->register(); __HALT_COMPILER(); vendor/psr/log/LICENSE000064400000002075147400355670010452 0ustar00Copyright (c) 2012 PHP Framework Interoperability Group Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor/psr/log/composer.json000064400000001062147400355670012162 0ustar00{ "name": "psr/log", "description": "Common interface for logging libraries", "keywords": ["psr", "psr-3", "log"], "homepage": "https://github.com/php-fig/log", "license": "MIT", "authors": [ { "name": "PHP-FIG", "homepage": "https://www.php-fig.org/" } ], "require": { "php": ">=5.3.0" }, "autoload": { "psr-4": { "Psr\\Log\\": "Psr/Log/" } }, "extra": { "branch-alias": { "dev-master": "1.1.x-dev" } } } vendor/psr/log/Psr/Log/LoggerAwareTrait.php000064400000000622147400355670014642 0ustar00logger = $logger; } } vendor/psr/log/Psr/Log/LogLevel.php000064400000000520147400355670013145 0ustar00log(LogLevel::EMERGENCY, $message, $context); } /** * Action must be taken immediately. * * Example: Entire website down, database unavailable, etc. This should * trigger the SMS alerts and wake you up. * * @param string $message * @param array $context * * @return void */ public function alert($message, array $context = array()) { $this->log(LogLevel::ALERT, $message, $context); } /** * Critical conditions. * * Example: Application component unavailable, unexpected exception. * * @param string $message * @param array $context * * @return void */ public function critical($message, array $context = array()) { $this->log(LogLevel::CRITICAL, $message, $context); } /** * Runtime errors that do not require immediate action but should typically * be logged and monitored. * * @param string $message * @param array $context * * @return void */ public function error($message, array $context = array()) { $this->log(LogLevel::ERROR, $message, $context); } /** * Exceptional occurrences that are not errors. * * Example: Use of deprecated APIs, poor use of an API, undesirable things * that are not necessarily wrong. * * @param string $message * @param array $context * * @return void */ public function warning($message, array $context = array()) { $this->log(LogLevel::WARNING, $message, $context); } /** * Normal but significant events. * * @param string $message * @param array $context * * @return void */ public function notice($message, array $context = array()) { $this->log(LogLevel::NOTICE, $message, $context); } /** * Interesting events. * * Example: User logs in, SQL logs. * * @param string $message * @param array $context * * @return void */ public function info($message, array $context = array()) { $this->log(LogLevel::INFO, $message, $context); } /** * Detailed debug information. * * @param string $message * @param array $context * * @return void */ public function debug($message, array $context = array()) { $this->log(LogLevel::DEBUG, $message, $context); } /** * Logs with an arbitrary level. * * @param mixed $level * @param string $message * @param array $context * * @return void * * @throws \Psr\Log\InvalidArgumentException */ abstract public function log($level, $message, array $context = array()); } vendor/psr/log/Psr/Log/InvalidArgumentException.php000064400000000140147400355670016402 0ustar00 ". * * Example ->error('Foo') would yield "error Foo". * * @return string[] */ abstract public function getLogs(); public function testImplements() { $this->assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger()); } /** * @dataProvider provideLevelsAndMessages */ public function testLogsAtAllLevels($level, $message) { $logger = $this->getLogger(); $logger->{$level}($message, array('user' => 'Bob')); $logger->log($level, $message, array('user' => 'Bob')); $expected = array( $level.' message of level '.$level.' with context: Bob', $level.' message of level '.$level.' with context: Bob', ); $this->assertEquals($expected, $this->getLogs()); } public function provideLevelsAndMessages() { return array( LogLevel::EMERGENCY => array(LogLevel::EMERGENCY, 'message of level emergency with context: {user}'), LogLevel::ALERT => array(LogLevel::ALERT, 'message of level alert with context: {user}'), LogLevel::CRITICAL => array(LogLevel::CRITICAL, 'message of level critical with context: {user}'), LogLevel::ERROR => array(LogLevel::ERROR, 'message of level error with context: {user}'), LogLevel::WARNING => array(LogLevel::WARNING, 'message of level warning with context: {user}'), LogLevel::NOTICE => array(LogLevel::NOTICE, 'message of level notice with context: {user}'), LogLevel::INFO => array(LogLevel::INFO, 'message of level info with context: {user}'), LogLevel::DEBUG => array(LogLevel::DEBUG, 'message of level debug with context: {user}'), ); } /** * @expectedException \Psr\Log\InvalidArgumentException */ public function testThrowsOnInvalidLevel() { $logger = $this->getLogger(); $logger->log('invalid level', 'Foo'); } public function testContextReplacement() { $logger = $this->getLogger(); $logger->info('{Message {nothing} {user} {foo.bar} a}', array('user' => 'Bob', 'foo.bar' => 'Bar')); $expected = array('info {Message {nothing} Bob Bar a}'); $this->assertEquals($expected, $this->getLogs()); } public function testObjectCastToString() { if (method_exists($this, 'createPartialMock')) { $dummy = $this->createPartialMock('Psr\Log\Test\DummyTest', array('__toString')); } else { $dummy = $this->getMock('Psr\Log\Test\DummyTest', array('__toString')); } $dummy->expects($this->once()) ->method('__toString') ->will($this->returnValue('DUMMY')); $this->getLogger()->warning($dummy); $expected = array('warning DUMMY'); $this->assertEquals($expected, $this->getLogs()); } public function testContextCanContainAnything() { $closed = fopen('php://memory', 'r'); fclose($closed); $context = array( 'bool' => true, 'null' => null, 'string' => 'Foo', 'int' => 0, 'float' => 0.5, 'nested' => array('with object' => new DummyTest), 'object' => new \DateTime, 'resource' => fopen('php://memory', 'r'), 'closed' => $closed, ); $this->getLogger()->warning('Crazy context data', $context); $expected = array('warning Crazy context data'); $this->assertEquals($expected, $this->getLogs()); } public function testContextExceptionKeyCanBeExceptionOrOtherValues() { $logger = $this->getLogger(); $logger->warning('Random message', array('exception' => 'oops')); $logger->critical('Uncaught Exception!', array('exception' => new \LogicException('Fail'))); $expected = array( 'warning Random message', 'critical Uncaught Exception!' ); $this->assertEquals($expected, $this->getLogs()); } } vendor/psr/log/Psr/Log/Test/DummyTest.php000064400000000373147400355670014314 0ustar00 $level, 'message' => $message, 'context' => $context, ]; $this->recordsByLevel[$record['level']][] = $record; $this->records[] = $record; } public function hasRecords($level) { return isset($this->recordsByLevel[$level]); } public function hasRecord($record, $level) { if (is_string($record)) { $record = ['message' => $record]; } return $this->hasRecordThatPasses(function ($rec) use ($record) { if ($rec['message'] !== $record['message']) { return false; } if (isset($record['context']) && $rec['context'] !== $record['context']) { return false; } return true; }, $level); } public function hasRecordThatContains($message, $level) { return $this->hasRecordThatPasses(function ($rec) use ($message) { return strpos($rec['message'], $message) !== false; }, $level); } public function hasRecordThatMatches($regex, $level) { return $this->hasRecordThatPasses(function ($rec) use ($regex) { return preg_match($regex, $rec['message']) > 0; }, $level); } public function hasRecordThatPasses(callable $predicate, $level) { if (!isset($this->recordsByLevel[$level])) { return false; } foreach ($this->recordsByLevel[$level] as $i => $rec) { if (call_user_func($predicate, $rec, $i)) { return true; } } return false; } public function __call($method, $args) { if (preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) { $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3]; $level = strtolower($matches[2]); if (method_exists($this, $genericMethod)) { $args[] = $level; return call_user_func_array([$this, $genericMethod], $args); } } throw new \BadMethodCallException('Call to undefined method ' . get_class($this) . '::' . $method . '()'); } public function reset() { $this->records = []; $this->recordsByLevel = []; } } vendor/psr/log/Psr/Log/AbstractLogger.php000064400000006040147400355670014342 0ustar00log(LogLevel::EMERGENCY, $message, $context); } /** * Action must be taken immediately. * * Example: Entire website down, database unavailable, etc. This should * trigger the SMS alerts and wake you up. * * @param string $message * @param mixed[] $context * * @return void */ public function alert($message, array $context = array()) { $this->log(LogLevel::ALERT, $message, $context); } /** * Critical conditions. * * Example: Application component unavailable, unexpected exception. * * @param string $message * @param mixed[] $context * * @return void */ public function critical($message, array $context = array()) { $this->log(LogLevel::CRITICAL, $message, $context); } /** * Runtime errors that do not require immediate action but should typically * be logged and monitored. * * @param string $message * @param mixed[] $context * * @return void */ public function error($message, array $context = array()) { $this->log(LogLevel::ERROR, $message, $context); } /** * Exceptional occurrences that are not errors. * * Example: Use of deprecated APIs, poor use of an API, undesirable things * that are not necessarily wrong. * * @param string $message * @param mixed[] $context * * @return void */ public function warning($message, array $context = array()) { $this->log(LogLevel::WARNING, $message, $context); } /** * Normal but significant events. * * @param string $message * @param mixed[] $context * * @return void */ public function notice($message, array $context = array()) { $this->log(LogLevel::NOTICE, $message, $context); } /** * Interesting events. * * Example: User logs in, SQL logs. * * @param string $message * @param mixed[] $context * * @return void */ public function info($message, array $context = array()) { $this->log(LogLevel::INFO, $message, $context); } /** * Detailed debug information. * * @param string $message * @param mixed[] $context * * @return void */ public function debug($message, array $context = array()) { $this->log(LogLevel::DEBUG, $message, $context); } } vendor/psr/log/Psr/Log/NullLogger.php000064400000001303147400355670013506 0ustar00logger) { }` * blocks. */ class NullLogger extends AbstractLogger { /** * Logs with an arbitrary level. * * @param mixed $level * @param string $message * @param array $context * * @return void * * @throws \Psr\Log\InvalidArgumentException */ public function log($level, $message, array $context = array()) { // noop } } vendor/psr/log/Psr/Log/LoggerInterface.php000064400000006052147400355670014502 0ustar00logger = $logger; } public function doSomething() { if ($this->logger) { $this->logger->info('Doing work'); } try { $this->doSomethingElse(); } catch (Exception $exception) { $this->logger->error('Oh no!', array('exception' => $exception)); } // do something useful } } ``` You can then pick one of the implementations of the interface to get a logger. If you want to implement the interface, you can require this package and implement `Psr\Log\LoggerInterface` in your code. Please read the [specification text](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md) for details. vendor/psr/http-message/LICENSE000064400000002075147400355670012272 0ustar00Copyright (c) 2014 PHP Framework Interoperability Group Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor/psr/http-message/CHANGELOG.md000064400000002063147400355670013073 0ustar00# Changelog All notable changes to this project will be documented in this file, in reverse chronological order by release. ## 1.0.1 - 2016-08-06 ### Added - Nothing. ### Deprecated - Nothing. ### Removed - Nothing. ### Fixed - Updated all `@return self` annotation references in interfaces to use `@return static`, which more closelly follows the semantics of the specification. - Updated the `MessageInterface::getHeaders()` return annotation to use the value `string[][]`, indicating the format is a nested array of strings. - Updated the `@link` annotation for `RequestInterface::withRequestTarget()` to point to the correct section of RFC 7230. - Updated the `ServerRequestInterface::withUploadedFiles()` parameter annotation to add the parameter name (`$uploadedFiles`). - Updated a `@throws` annotation for the `UploadedFileInterface::moveTo()` method to correctly reference the method parameter (it was referencing an incorrect parameter name previously). ## 1.0.0 - 2016-05-18 Initial stable release; reflects accepted PSR-7 specification. vendor/psr/http-message/composer.json000064400000001162147400355670014003 0ustar00{ "name": "psr/http-message", "description": "Common interface for HTTP messages", "keywords": ["psr", "psr-7", "http", "http-message", "request", "response"], "homepage": "https://github.com/php-fig/http-message", "license": "MIT", "authors": [ { "name": "PHP-FIG", "homepage": "http://www.php-fig.org/" } ], "require": { "php": "^7.2 || ^8.0" }, "autoload": { "psr-4": { "Psr\\Http\\Message\\": "src/" } }, "extra": { "branch-alias": { "dev-master": "1.1.x-dev" } } } vendor/psr/http-message/docs/PSR7-Interfaces.md000064400000022514147400355670015353 0ustar00# Interfaces The purpose of this list is to help in finding the methods when working with PSR-7. This can be considered as a cheatsheet for PSR-7 interfaces. The interfaces defined in PSR-7 are the following: | Class Name | Description | |---|---| | [Psr\Http\Message\MessageInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessagemessageinterface) | Representation of a HTTP message | | [Psr\Http\Message\RequestInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessagerequestinterface) | Representation of an outgoing, client-side request. | | [Psr\Http\Message\ServerRequestInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessageserverrequestinterface) | Representation of an incoming, server-side HTTP request. | | [Psr\Http\Message\ResponseInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessageresponseinterface) | Representation of an outgoing, server-side response. | | [Psr\Http\Message\StreamInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessagestreaminterface) | Describes a data stream | | [Psr\Http\Message\UriInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessageuriinterface) | Value object representing a URI. | | [Psr\Http\Message\UploadedFileInterface](http://www.php-fig.org/psr/psr-7/#psrhttpmessageuploadedfileinterface) | Value object representing a file uploaded through an HTTP request. | ## `Psr\Http\Message\MessageInterface` Methods | Method Name | Description | Notes | |------------------------------------| ----------- | ----- | | `getProtocolVersion()` | Retrieve HTTP protocol version | 1.0 or 1.1 | | `withProtocolVersion($version)` | Returns new message instance with given HTTP protocol version | | | `getHeaders()` | Retrieve all HTTP Headers | [Request Header List](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Request_fields), [Response Header List](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Response_fields) | | `hasHeader($name)` | Checks if HTTP Header with given name exists | | | `getHeader($name)` | Retrieves a array with the values for a single header | | | `getHeaderLine($name)` | Retrieves a comma-separated string of the values for a single header | | | `withHeader($name, $value)` | Returns new message instance with given HTTP Header | if the header existed in the original instance, replaces the header value from the original message with the value provided when creating the new instance. | | `withAddedHeader($name, $value)` | Returns new message instance with appended value to given header | If header already exists value will be appended, if not a new header will be created | | `withoutHeader($name)` | Removes HTTP Header with given name| | | `getBody()` | Retrieves the HTTP Message Body | Returns object implementing `StreamInterface`| | `withBody(StreamInterface $body)` | Returns new message instance with given HTTP Message Body | | ## `Psr\Http\Message\RequestInterface` Methods Same methods as `Psr\Http\Message\MessageInterface` + the following methods: | Method Name | Description | Notes | |------------------------------------| ----------- | ----- | | `getRequestTarget()` | Retrieves the message's request target | origin-form, absolute-form, authority-form, asterisk-form ([RFC7230](https://www.rfc-editor.org/rfc/rfc7230.txt)) | | `withRequestTarget($requestTarget)` | Return a new message instance with the specific request-target | | | `getMethod()` | Retrieves the HTTP method of the request. | GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE (defined in [RFC7231](https://tools.ietf.org/html/rfc7231)), PATCH (defined in [RFC5789](https://tools.ietf.org/html/rfc5789)) | | `withMethod($method)` | Returns a new message instance with the provided HTTP method | | | `getUri()` | Retrieves the URI instance | | | `withUri(UriInterface $uri, $preserveHost = false)` | Returns a new message instance with the provided URI | | ## `Psr\Http\Message\ServerRequestInterface` Methods Same methods as `Psr\Http\Message\RequestInterface` + the following methods: | Method Name | Description | Notes | |------------------------------------| ----------- | ----- | | `getServerParams() ` | Retrieve server parameters | Typically derived from `$_SERVER` | | `getCookieParams()` | Retrieves cookies sent by the client to the server. | Typically derived from `$_COOKIES` | | `withCookieParams(array $cookies)` | Returns a new request instance with the specified cookies | | | `withQueryParams(array $query)` | Returns a new request instance with the specified query string arguments | | | `getUploadedFiles()` | Retrieve normalized file upload data | | | `withUploadedFiles(array $uploadedFiles)` | Returns a new request instance with the specified uploaded files | | | `getParsedBody()` | Retrieve any parameters provided in the request body | | | `withParsedBody($data)` | Returns a new request instance with the specified body parameters | | | `getAttributes()` | Retrieve attributes derived from the request | | | `getAttribute($name, $default = null)` | Retrieve a single derived request attribute | | | `withAttribute($name, $value)` | Returns a new request instance with the specified derived request attribute | | | `withoutAttribute($name)` | Returns a new request instance that without the specified derived request attribute | | ## `Psr\Http\Message\ResponseInterface` Methods: Same methods as `Psr\Http\Message\MessageInterface` + the following methods: | Method Name | Description | Notes | |------------------------------------| ----------- | ----- | | `getStatusCode()` | Gets the response status code. | | | `withStatus($code, $reasonPhrase = '')` | Returns a new response instance with the specified status code and, optionally, reason phrase. | | | `getReasonPhrase()` | Gets the response reason phrase associated with the status code. | | ## `Psr\Http\Message\StreamInterface` Methods | Method Name | Description | Notes | |------------------------------------| ----------- | ----- | | `__toString()` | Reads all data from the stream into a string, from the beginning to end. | | | `close()` | Closes the stream and any underlying resources. | | | `detach()` | Separates any underlying resources from the stream. | | | `getSize()` | Get the size of the stream if known. | | | `eof()` | Returns true if the stream is at the end of the stream.| | | `isSeekable()` | Returns whether or not the stream is seekable. | | | `seek($offset, $whence = SEEK_SET)` | Seek to a position in the stream. | | | `rewind()` | Seek to the beginning of the stream. | | | `isWritable()` | Returns whether or not the stream is writable. | | | `write($string)` | Write data to the stream. | | | `isReadable()` | Returns whether or not the stream is readable. | | | `read($length)` | Read data from the stream. | | | `getContents()` | Returns the remaining contents in a string | | | `getMetadata($key = null)()` | Get stream metadata as an associative array or retrieve a specific key. | | ## `Psr\Http\Message\UriInterface` Methods | Method Name | Description | Notes | |------------------------------------| ----------- | ----- | | `getScheme()` | Retrieve the scheme component of the URI. | | | `getAuthority()` | Retrieve the authority component of the URI. | | | `getUserInfo()` | Retrieve the user information component of the URI. | | | `getHost()` | Retrieve the host component of the URI. | | | `getPort()` | Retrieve the port component of the URI. | | | `getPath()` | Retrieve the path component of the URI. | | | `getQuery()` | Retrieve the query string of the URI. | | | `getFragment()` | Retrieve the fragment component of the URI. | | | `withScheme($scheme)` | Return an instance with the specified scheme. | | | `withUserInfo($user, $password = null)` | Return an instance with the specified user information. | | | `withHost($host)` | Return an instance with the specified host. | | | `withPort($port)` | Return an instance with the specified port. | | | `withPath($path)` | Return an instance with the specified path. | | | `withQuery($query)` | Return an instance with the specified query string. | | | `withFragment($fragment)` | Return an instance with the specified URI fragment. | | | `__toString()` | Return the string representation as a URI reference. | | ## `Psr\Http\Message\UploadedFileInterface` Methods | Method Name | Description | Notes | |------------------------------------| ----------- | ----- | | `getStream()` | Retrieve a stream representing the uploaded file. | | | `moveTo($targetPath)` | Move the uploaded file to a new location. | | | `getSize()` | Retrieve the file size. | | | `getError()` | Retrieve the error associated with the uploaded file. | | | `getClientFilename()` | Retrieve the filename sent by the client. | | | `getClientMediaType()` | Retrieve the media type sent by the client. | | > `RequestInterface`, `ServerRequestInterface`, `ResponseInterface` extend `MessageInterface` because the `Request` and the `Response` are `HTTP Messages`. > When using `ServerRequestInterface`, both `RequestInterface` and `Psr\Http\Message\MessageInterface` methods are considered. vendor/psr/http-message/docs/PSR7-Usage.md000064400000012564147400355670014340 0ustar00### PSR-7 Usage All PSR-7 applications comply with these interfaces They were created to establish a standard between middleware implementations. > `RequestInterface`, `ServerRequestInterface`, `ResponseInterface` extend `MessageInterface` because the `Request` and the `Response` are `HTTP Messages`. > When using `ServerRequestInterface`, both `RequestInterface` and `Psr\Http\Message\MessageInterface` methods are considered. The following examples will illustrate how basic operations are done in PSR-7. ##### Examples For this examples to work (at least) a PSR-7 implementation package is required. (eg: zendframework/zend-diactoros, guzzlehttp/psr7, slim/slim, etc) All PSR-7 implementations should have the same behaviour. The following will be assumed: `$request` is an object of `Psr\Http\Message\RequestInterface` and `$response` is an object implementing `Psr\Http\Message\RequestInterface` ### Working with HTTP Headers #### Adding headers to response: ```php $response->withHeader('My-Custom-Header', 'My Custom Message'); ``` #### Appending values to headers ```php $response->withAddedHeader('My-Custom-Header', 'The second message'); ``` #### Checking if header exists: ```php $request->hasHeader('My-Custom-Header'); // will return false $response->hasHeader('My-Custom-Header'); // will return true ``` > Note: My-Custom-Header was only added in the Response #### Getting comma-separated values from a header (also applies to request) ```php // getting value from request headers $request->getHeaderLine('Content-Type'); // will return: "text/html; charset=UTF-8" // getting value from response headers $response->getHeaderLine('My-Custom-Header'); // will return: "My Custom Message; The second message" ``` #### Getting array of value from a header (also applies to request) ```php // getting value from request headers $request->getHeader('Content-Type'); // will return: ["text/html", "charset=UTF-8"] // getting value from response headers $response->getHeader('My-Custom-Header'); // will return: ["My Custom Message", "The second message"] ``` #### Removing headers from HTTP Messages ```php // removing a header from Request, removing deprecated "Content-MD5" header $request->withoutHeader('Content-MD5'); // removing a header from Response // effect: the browser won't know the size of the stream // the browser will download the stream till it ends $response->withoutHeader('Content-Length'); ``` ### Working with HTTP Message Body When working with the PSR-7 there are two methods of implementation: #### 1. Getting the body separately > This method makes the body handling easier to understand and is useful when repeatedly calling body methods. (You only call `getBody()` once). Using this method mistakes like `$response->write()` are also prevented. ```php $body = $response->getBody(); // operations on body, eg. read, write, seek // ... // replacing the old body $response->withBody($body); // this last statement is optional as we working with objects // in this case the "new" body is same with the "old" one // the $body variable has the same value as the one in $request, only the reference is passed ``` #### 2. Working directly on response > This method is useful when only performing few operations as the `$request->getBody()` statement fragment is required ```php $response->getBody()->write('hello'); ``` ### Getting the body contents The following snippet gets the contents of a stream contents. > Note: Streams must be rewinded, if content was written into streams, it will be ignored when calling `getContents()` because the stream pointer is set to the last character, which is `\0` - meaning end of stream. ```php $body = $response->getBody(); $body->rewind(); // or $body->seek(0); $bodyText = $body->getContents(); ``` > Note: If `$body->seek(1)` is called before `$body->getContents()`, the first character will be ommited as the starting pointer is set to `1`, not `0`. This is why using `$body->rewind()` is recommended. ### Append to body ```php $response->getBody()->write('Hello'); // writing directly $body = $request->getBody(); // which is a `StreamInterface` $body->write('xxxxx'); ``` ### Prepend to body Prepending is different when it comes to streams. The content must be copied before writing the content to be prepended. The following example will explain the behaviour of streams. ```php // assuming our response is initially empty $body = $repsonse->getBody(); // writing the string "abcd" $body->write('abcd'); // seeking to start of stream $body->seek(0); // writing 'ef' $body->write('ef'); // at this point the stream contains "efcd" ``` #### Prepending by rewriting separately ```php // assuming our response body stream only contains: "abcd" $body = $response->getBody(); $body->rewind(); $contents = $body->getContents(); // abcd // seeking the stream to beginning $body->rewind(); $body->write('ef'); // stream contains "efcd" $body->write($contents); // stream contains "efabcd" ``` > Note: `getContents()` seeks the stream while reading it, therefore if the second `rewind()` method call was not present the stream would have resulted in `abcdefabcd` because the `write()` method appends to stream if not preceeded by `rewind()` or `seek(0)`. #### Prepending by using contents as a string ```php $body = $response->getBody(); $body->rewind(); $contents = $body->getContents(); // efabcd $contents = 'ef'.$contents; $body->rewind(); $body->write($contents); ``` vendor/psr/http-message/src/UriInterface.php000064400000030621147400355670015143 0ustar00 * [user-info@]host[:port] * * * If the port component is not set or is the standard port for the current * scheme, it SHOULD NOT be included. * * @see https://tools.ietf.org/html/rfc3986#section-3.2 * @return string The URI authority, in "[user-info@]host[:port]" format. */ public function getAuthority(); /** * Retrieve the user information component of the URI. * * If no user information is present, this method MUST return an empty * string. * * If a user is present in the URI, this will return that value; * additionally, if the password is also present, it will be appended to the * user value, with a colon (":") separating the values. * * The trailing "@" character is not part of the user information and MUST * NOT be added. * * @return string The URI user information, in "username[:password]" format. */ public function getUserInfo(); /** * Retrieve the host component of the URI. * * If no host is present, this method MUST return an empty string. * * The value returned MUST be normalized to lowercase, per RFC 3986 * Section 3.2.2. * * @see http://tools.ietf.org/html/rfc3986#section-3.2.2 * @return string The URI host. */ public function getHost(); /** * Retrieve the port component of the URI. * * If a port is present, and it is non-standard for the current scheme, * this method MUST return it as an integer. If the port is the standard port * used with the current scheme, this method SHOULD return null. * * If no port is present, and no scheme is present, this method MUST return * a null value. * * If no port is present, but a scheme is present, this method MAY return * the standard port for that scheme, but SHOULD return null. * * @return null|int The URI port. */ public function getPort(); /** * Retrieve the path component of the URI. * * The path can either be empty or absolute (starting with a slash) or * rootless (not starting with a slash). Implementations MUST support all * three syntaxes. * * Normally, the empty path "" and absolute path "/" are considered equal as * defined in RFC 7230 Section 2.7.3. But this method MUST NOT automatically * do this normalization because in contexts with a trimmed base path, e.g. * the front controller, this difference becomes significant. It's the task * of the user to handle both "" and "/". * * The value returned MUST be percent-encoded, but MUST NOT double-encode * any characters. To determine what characters to encode, please refer to * RFC 3986, Sections 2 and 3.3. * * As an example, if the value should include a slash ("/") not intended as * delimiter between path segments, that value MUST be passed in encoded * form (e.g., "%2F") to the instance. * * @see https://tools.ietf.org/html/rfc3986#section-2 * @see https://tools.ietf.org/html/rfc3986#section-3.3 * @return string The URI path. */ public function getPath(); /** * Retrieve the query string of the URI. * * If no query string is present, this method MUST return an empty string. * * The leading "?" character is not part of the query and MUST NOT be * added. * * The value returned MUST be percent-encoded, but MUST NOT double-encode * any characters. To determine what characters to encode, please refer to * RFC 3986, Sections 2 and 3.4. * * As an example, if a value in a key/value pair of the query string should * include an ampersand ("&") not intended as a delimiter between values, * that value MUST be passed in encoded form (e.g., "%26") to the instance. * * @see https://tools.ietf.org/html/rfc3986#section-2 * @see https://tools.ietf.org/html/rfc3986#section-3.4 * @return string The URI query string. */ public function getQuery(); /** * Retrieve the fragment component of the URI. * * If no fragment is present, this method MUST return an empty string. * * The leading "#" character is not part of the fragment and MUST NOT be * added. * * The value returned MUST be percent-encoded, but MUST NOT double-encode * any characters. To determine what characters to encode, please refer to * RFC 3986, Sections 2 and 3.5. * * @see https://tools.ietf.org/html/rfc3986#section-2 * @see https://tools.ietf.org/html/rfc3986#section-3.5 * @return string The URI fragment. */ public function getFragment(); /** * Return an instance with the specified scheme. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified scheme. * * Implementations MUST support the schemes "http" and "https" case * insensitively, and MAY accommodate other schemes if required. * * An empty scheme is equivalent to removing the scheme. * * @param string $scheme The scheme to use with the new instance. * @return static A new instance with the specified scheme. * @throws \InvalidArgumentException for invalid or unsupported schemes. */ public function withScheme(string $scheme); /** * Return an instance with the specified user information. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified user information. * * Password is optional, but the user information MUST include the * user; an empty string for the user is equivalent to removing user * information. * * @param string $user The user name to use for authority. * @param null|string $password The password associated with $user. * @return static A new instance with the specified user information. */ public function withUserInfo(string $user, ?string $password = null); /** * Return an instance with the specified host. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified host. * * An empty host value is equivalent to removing the host. * * @param string $host The hostname to use with the new instance. * @return static A new instance with the specified host. * @throws \InvalidArgumentException for invalid hostnames. */ public function withHost(string $host); /** * Return an instance with the specified port. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified port. * * Implementations MUST raise an exception for ports outside the * established TCP and UDP port ranges. * * A null value provided for the port is equivalent to removing the port * information. * * @param null|int $port The port to use with the new instance; a null value * removes the port information. * @return static A new instance with the specified port. * @throws \InvalidArgumentException for invalid ports. */ public function withPort(?int $port); /** * Return an instance with the specified path. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified path. * * The path can either be empty or absolute (starting with a slash) or * rootless (not starting with a slash). Implementations MUST support all * three syntaxes. * * If the path is intended to be domain-relative rather than path relative then * it must begin with a slash ("/"). Paths not starting with a slash ("/") * are assumed to be relative to some base path known to the application or * consumer. * * Users can provide both encoded and decoded path characters. * Implementations ensure the correct encoding as outlined in getPath(). * * @param string $path The path to use with the new instance. * @return static A new instance with the specified path. * @throws \InvalidArgumentException for invalid paths. */ public function withPath(string $path); /** * Return an instance with the specified query string. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified query string. * * Users can provide both encoded and decoded query characters. * Implementations ensure the correct encoding as outlined in getQuery(). * * An empty query string value is equivalent to removing the query string. * * @param string $query The query string to use with the new instance. * @return static A new instance with the specified query string. * @throws \InvalidArgumentException for invalid query strings. */ public function withQuery(string $query); /** * Return an instance with the specified URI fragment. * * This method MUST retain the state of the current instance, and return * an instance that contains the specified URI fragment. * * Users can provide both encoded and decoded fragment characters. * Implementations ensure the correct encoding as outlined in getFragment(). * * An empty fragment value is equivalent to removing the fragment. * * @param string $fragment The fragment to use with the new instance. * @return static A new instance with the specified fragment. */ public function withFragment(string $fragment); /** * Return the string representation as a URI reference. * * Depending on which components of the URI are present, the resulting * string is either a full URI or relative reference according to RFC 3986, * Section 4.1. The method concatenates the various components of the URI, * using the appropriate delimiters: * * - If a scheme is present, it MUST be suffixed by ":". * - If an authority is present, it MUST be prefixed by "//". * - The path can be concatenated without delimiters. But there are two * cases where the path has to be adjusted to make the URI reference * valid as PHP does not allow to throw an exception in __toString(): * - If the path is rootless and an authority is present, the path MUST * be prefixed by "/". * - If the path is starting with more than one "/" and no authority is * present, the starting slashes MUST be reduced to one. * - If a query is present, it MUST be prefixed by "?". * - If a fragment is present, it MUST be prefixed by "#". * * @see http://tools.ietf.org/html/rfc3986#section-4.1 * @return string */ public function __toString(); } vendor/psr/http-message/src/MessageInterface.php000064400000015511147400355670015771 0ustar00getHeaders() as $name => $values) { * echo $name . ": " . implode(", ", $values); * } * * // Emit headers iteratively: * foreach ($message->getHeaders() as $name => $values) { * foreach ($values as $value) { * header(sprintf('%s: %s', $name, $value), false); * } * } * * While header names are not case-sensitive, getHeaders() will preserve the * exact case in which headers were originally specified. * * @return string[][] Returns an associative array of the message's headers. Each * key MUST be a header name, and each value MUST be an array of strings * for that header. */ public function getHeaders(); /** * Checks if a header exists by the given case-insensitive name. * * @param string $name Case-insensitive header field name. * @return bool Returns true if any header names match the given header * name using a case-insensitive string comparison. Returns false if * no matching header name is found in the message. */ public function hasHeader(string $name); /** * Retrieves a message header value by the given case-insensitive name. * * This method returns an array of all the header values of the given * case-insensitive header name. * * If the header does not appear in the message, this method MUST return an * empty array. * * @param string $name Case-insensitive header field name. * @return string[] An array of string values as provided for the given * header. If the header does not appear in the message, this method MUST * return an empty array. */ public function getHeader(string $name); /** * Retrieves a comma-separated string of the values for a single header. * * This method returns all of the header values of the given * case-insensitive header name as a string concatenated together using * a comma. * * NOTE: Not all header values may be appropriately represented using * comma concatenation. For such headers, use getHeader() instead * and supply your own delimiter when concatenating. * * If the header does not appear in the message, this method MUST return * an empty string. * * @param string $name Case-insensitive header field name. * @return string A string of values as provided for the given header * concatenated together using a comma. If the header does not appear in * the message, this method MUST return an empty string. */ public function getHeaderLine(string $name); /** * Return an instance with the provided value replacing the specified header. * * While header names are case-insensitive, the casing of the header will * be preserved by this function, and returned from getHeaders(). * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * new and/or updated header and value. * * @param string $name Case-insensitive header field name. * @param string|string[] $value Header value(s). * @return static * @throws \InvalidArgumentException for invalid header names or values. */ public function withHeader(string $name, $value); /** * Return an instance with the specified header appended with the given value. * * Existing values for the specified header will be maintained. The new * value(s) will be appended to the existing list. If the header did not * exist previously, it will be added. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * new header and/or value. * * @param string $name Case-insensitive header field name to add. * @param string|string[] $value Header value(s). * @return static * @throws \InvalidArgumentException for invalid header names or values. */ public function withAddedHeader(string $name, $value); /** * Return an instance without the specified header. * * Header resolution MUST be done without case-sensitivity. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that removes * the named header. * * @param string $name Case-insensitive header field name to remove. * @return static */ public function withoutHeader(string $name); /** * Gets the body of the message. * * @return StreamInterface Returns the body as a stream. */ public function getBody(); /** * Return an instance with the specified message body. * * The body MUST be a StreamInterface object. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return a new instance that has the * new body stream. * * @param StreamInterface $body Body. * @return static * @throws \InvalidArgumentException When the body is not valid. */ public function withBody(StreamInterface $body); } vendor/psr/http-message/src/UploadedFileInterface.php000064400000011162147400355670016740 0ustar00getQuery()` * or from the `QUERY_STRING` server param. * * @return array */ public function getQueryParams(); /** * Return an instance with the specified query string arguments. * * These values SHOULD remain immutable over the course of the incoming * request. They MAY be injected during instantiation, such as from PHP's * $_GET superglobal, or MAY be derived from some other value such as the * URI. In cases where the arguments are parsed from the URI, the data * MUST be compatible with what PHP's parse_str() would return for * purposes of how duplicate query parameters are handled, and how nested * sets are handled. * * Setting query string arguments MUST NOT change the URI stored by the * request, nor the values in the server params. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * updated query string arguments. * * @param array $query Array of query string arguments, typically from * $_GET. * @return static */ public function withQueryParams(array $query); /** * Retrieve normalized file upload data. * * This method returns upload metadata in a normalized tree, with each leaf * an instance of Psr\Http\Message\UploadedFileInterface. * * These values MAY be prepared from $_FILES or the message body during * instantiation, or MAY be injected via withUploadedFiles(). * * @return array An array tree of UploadedFileInterface instances; an empty * array MUST be returned if no data is present. */ public function getUploadedFiles(); /** * Create a new instance with the specified uploaded files. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * updated body parameters. * * @param array $uploadedFiles An array tree of UploadedFileInterface instances. * @return static * @throws \InvalidArgumentException if an invalid structure is provided. */ public function withUploadedFiles(array $uploadedFiles); /** * Retrieve any parameters provided in the request body. * * If the request Content-Type is either application/x-www-form-urlencoded * or multipart/form-data, and the request method is POST, this method MUST * return the contents of $_POST. * * Otherwise, this method may return any results of deserializing * the request body content; as parsing returns structured content, the * potential types MUST be arrays or objects only. A null value indicates * the absence of body content. * * @return null|array|object The deserialized body parameters, if any. * These will typically be an array or object. */ public function getParsedBody(); /** * Return an instance with the specified body parameters. * * These MAY be injected during instantiation. * * If the request Content-Type is either application/x-www-form-urlencoded * or multipart/form-data, and the request method is POST, use this method * ONLY to inject the contents of $_POST. * * The data IS NOT REQUIRED to come from $_POST, but MUST be the results of * deserializing the request body content. Deserialization/parsing returns * structured data, and, as such, this method ONLY accepts arrays or objects, * or a null value if nothing was available to parse. * * As an example, if content negotiation determines that the request data * is a JSON payload, this method could be used to create a request * instance with the deserialized parameters. * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * updated body parameters. * * @param null|array|object $data The deserialized body data. This will * typically be in an array or object. * @return static * @throws \InvalidArgumentException if an unsupported argument type is * provided. */ public function withParsedBody($data); /** * Retrieve attributes derived from the request. * * The request "attributes" may be used to allow injection of any * parameters derived from the request: e.g., the results of path * match operations; the results of decrypting cookies; the results of * deserializing non-form-encoded message bodies; etc. Attributes * will be application and request specific, and CAN be mutable. * * @return array Attributes derived from the request. */ public function getAttributes(); /** * Retrieve a single derived request attribute. * * Retrieves a single derived request attribute as described in * getAttributes(). If the attribute has not been previously set, returns * the default value as provided. * * This method obviates the need for a hasAttribute() method, as it allows * specifying a default value to return if the attribute is not found. * * @see getAttributes() * @param string $name The attribute name. * @param mixed $default Default value to return if the attribute does not exist. * @return mixed */ public function getAttribute(string $name, $default = null); /** * Return an instance with the specified derived request attribute. * * This method allows setting a single derived request attribute as * described in getAttributes(). * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that has the * updated attribute. * * @see getAttributes() * @param string $name The attribute name. * @param mixed $value The value of the attribute. * @return static */ public function withAttribute(string $name, $value); /** * Return an instance that removes the specified derived request attribute. * * This method allows removing a single derived request attribute as * described in getAttributes(). * * This method MUST be implemented in such a way as to retain the * immutability of the message, and MUST return an instance that removes * the attribute. * * @see getAttributes() * @param string $name The attribute name. * @return static */ public function withoutAttribute(string $name); } vendor/psr/http-message/README.md000064400000000774147400355670012550 0ustar00PSR Http Message ================ This repository holds all interfaces/classes/traits related to [PSR-7](http://www.php-fig.org/psr/psr-7/). Note that this is not a HTTP message implementation of its own. It is merely an interface that describes a HTTP message. See the specification for more details. Usage ----- Before reading the usage guide we recommend reading the PSR-7 interfaces method list: * [`PSR-7 Interfaces Method List`](docs/PSR7-Interfaces.md) * [`PSR-7 Usage Guide`](docs/PSR7-Usage.md)vendor/symfony/event-dispatcher/LICENSE000064400000002051147400355670014030 0ustar00Copyright (c) 2004-2018 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php000064400000004176147400355670020476 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher; /** * A read-only proxy for an event dispatcher. * * @author Bernhard Schussek */ class ImmutableEventDispatcher implements EventDispatcherInterface { private $dispatcher; public function __construct(EventDispatcherInterface $dispatcher) { $this->dispatcher = $dispatcher; } /** * {@inheritdoc} */ public function dispatch($eventName, Event $event = null) { return $this->dispatcher->dispatch($eventName, $event); } /** * {@inheritdoc} */ public function addListener($eventName, $listener, $priority = 0) { throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); } /** * {@inheritdoc} */ public function addSubscriber(EventSubscriberInterface $subscriber) { throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); } /** * {@inheritdoc} */ public function removeListener($eventName, $listener) { throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); } /** * {@inheritdoc} */ public function removeSubscriber(EventSubscriberInterface $subscriber) { throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); } /** * {@inheritdoc} */ public function getListeners($eventName = null) { return $this->dispatcher->getListeners($eventName); } /** * {@inheritdoc} */ public function getListenerPriority($eventName, $listener) { return $this->dispatcher->getListenerPriority($eventName, $listener); } /** * {@inheritdoc} */ public function hasListeners($eventName = null) { return $this->dispatcher->hasListeners($eventName); } } vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php000064400000026111147400355670021460 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher\Debug; use Psr\Log\LoggerInterface; use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\Stopwatch\Stopwatch; /** * Collects some data about event listeners. * * This event dispatcher delegates the dispatching to another one. * * @author Fabien Potencier */ class TraceableEventDispatcher implements TraceableEventDispatcherInterface { protected $logger; protected $stopwatch; private $called; private $dispatcher; private $wrappedListeners; public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $stopwatch, LoggerInterface $logger = null) { $this->dispatcher = $dispatcher; $this->stopwatch = $stopwatch; $this->logger = $logger; $this->called = array(); $this->wrappedListeners = array(); } /** * {@inheritdoc} */ public function addListener($eventName, $listener, $priority = 0) { $this->dispatcher->addListener($eventName, $listener, $priority); } /** * {@inheritdoc} */ public function addSubscriber(EventSubscriberInterface $subscriber) { $this->dispatcher->addSubscriber($subscriber); } /** * {@inheritdoc} */ public function removeListener($eventName, $listener) { if (isset($this->wrappedListeners[$eventName])) { foreach ($this->wrappedListeners[$eventName] as $index => $wrappedListener) { if ($wrappedListener->getWrappedListener() === $listener) { $listener = $wrappedListener; unset($this->wrappedListeners[$eventName][$index]); break; } } } return $this->dispatcher->removeListener($eventName, $listener); } /** * {@inheritdoc} */ public function removeSubscriber(EventSubscriberInterface $subscriber) { return $this->dispatcher->removeSubscriber($subscriber); } /** * {@inheritdoc} */ public function getListeners($eventName = null) { return $this->dispatcher->getListeners($eventName); } /** * {@inheritdoc} */ public function getListenerPriority($eventName, $listener) { if (!method_exists($this->dispatcher, 'getListenerPriority')) { return 0; } return $this->dispatcher->getListenerPriority($eventName, $listener); } /** * {@inheritdoc} */ public function hasListeners($eventName = null) { return $this->dispatcher->hasListeners($eventName); } /** * {@inheritdoc} */ public function dispatch($eventName, Event $event = null) { if (null === $event) { $event = new Event(); } if (null !== $this->logger && $event->isPropagationStopped()) { $this->logger->debug(sprintf('The "%s" event is already stopped. No listeners have been called.', $eventName)); } $this->preProcess($eventName); $this->preDispatch($eventName, $event); $e = $this->stopwatch->start($eventName, 'section'); $this->dispatcher->dispatch($eventName, $event); if ($e->isStarted()) { $e->stop(); } $this->postDispatch($eventName, $event); $this->postProcess($eventName); return $event; } /** * {@inheritdoc} */ public function getCalledListeners() { $called = array(); foreach ($this->called as $eventName => $listeners) { foreach ($listeners as $listener) { $info = $this->getListenerInfo($listener->getWrappedListener(), $eventName); $called[$eventName.'.'.$info['pretty']] = $info; } } return $called; } /** * {@inheritdoc} */ public function getNotCalledListeners() { try { $allListeners = $this->getListeners(); } catch (\Exception $e) { if (null !== $this->logger) { $this->logger->info('An exception was thrown while getting the uncalled listeners.', array('exception' => $e)); } // unable to retrieve the uncalled listeners return array(); } $notCalled = array(); foreach ($allListeners as $eventName => $listeners) { foreach ($listeners as $listener) { $called = false; if (isset($this->called[$eventName])) { foreach ($this->called[$eventName] as $l) { if ($l->getWrappedListener() === $listener) { $called = true; break; } } } if (!$called) { $info = $this->getListenerInfo($listener, $eventName); $notCalled[$eventName.'.'.$info['pretty']] = $info; } } } uasort($notCalled, array($this, 'sortListenersByPriority')); return $notCalled; } /** * Proxies all method calls to the original event dispatcher. * * @param string $method The method name * @param array $arguments The method arguments * * @return mixed */ public function __call($method, $arguments) { return \call_user_func_array(array($this->dispatcher, $method), $arguments); } /** * Called before dispatching the event. * * @param string $eventName The event name * @param Event $event The event */ protected function preDispatch($eventName, Event $event) { } /** * Called after dispatching the event. * * @param string $eventName The event name * @param Event $event The event */ protected function postDispatch($eventName, Event $event) { } private function preProcess($eventName) { foreach ($this->dispatcher->getListeners($eventName) as $listener) { $info = $this->getListenerInfo($listener, $eventName); $name = isset($info['class']) ? $info['class'] : $info['type']; $wrappedListener = new WrappedListener($listener, $name, $this->stopwatch, $this); $this->wrappedListeners[$eventName][] = $wrappedListener; $this->dispatcher->removeListener($eventName, $listener); $this->dispatcher->addListener($eventName, $wrappedListener, $info['priority']); } } private function postProcess($eventName) { unset($this->wrappedListeners[$eventName]); $skipped = false; foreach ($this->dispatcher->getListeners($eventName) as $listener) { if (!$listener instanceof WrappedListener) { // #12845: a new listener was added during dispatch. continue; } // Unwrap listener $priority = $this->getListenerPriority($eventName, $listener); $this->dispatcher->removeListener($eventName, $listener); $this->dispatcher->addListener($eventName, $listener->getWrappedListener(), $priority); $info = $this->getListenerInfo($listener->getWrappedListener(), $eventName); if ($listener->wasCalled()) { if (null !== $this->logger) { $this->logger->debug(sprintf('Notified event "%s" to listener "%s".', $eventName, $info['pretty'])); } if (!isset($this->called[$eventName])) { $this->called[$eventName] = new \SplObjectStorage(); } $this->called[$eventName]->attach($listener); } if (null !== $this->logger && $skipped) { $this->logger->debug(sprintf('Listener "%s" was not called for event "%s".', $info['pretty'], $eventName)); } if ($listener->stoppedPropagation()) { if (null !== $this->logger) { $this->logger->debug(sprintf('Listener "%s" stopped propagation of the event "%s".', $info['pretty'], $eventName)); } $skipped = true; } } } /** * Returns information about the listener. * * @param object $listener The listener * @param string $eventName The event name * * @return array Information about the listener */ private function getListenerInfo($listener, $eventName) { $info = array( 'event' => $eventName, 'priority' => $this->getListenerPriority($eventName, $listener), ); // unwrap for correct listener info if ($listener instanceof WrappedListener) { $listener = $listener->getWrappedListener(); } if ($listener instanceof \Closure) { $info += array( 'type' => 'Closure', 'pretty' => 'closure', ); } elseif (\is_string($listener)) { try { $r = new \ReflectionFunction($listener); $file = $r->getFileName(); $line = $r->getStartLine(); } catch (\ReflectionException $e) { $file = null; $line = null; } $info += array( 'type' => 'Function', 'function' => $listener, 'file' => $file, 'line' => $line, 'pretty' => $listener, ); } elseif (\is_array($listener) || (\is_object($listener) && \is_callable($listener))) { if (!\is_array($listener)) { $listener = array($listener, '__invoke'); } $class = \is_object($listener[0]) ? \get_class($listener[0]) : $listener[0]; try { $r = new \ReflectionMethod($class, $listener[1]); $file = $r->getFileName(); $line = $r->getStartLine(); } catch (\ReflectionException $e) { $file = null; $line = null; } $info += array( 'type' => 'Method', 'class' => $class, 'method' => $listener[1], 'file' => $file, 'line' => $line, 'pretty' => $class.'::'.$listener[1], ); } return $info; } private function sortListenersByPriority($a, $b) { if (\is_int($a['priority']) && !\is_int($b['priority'])) { return 1; } if (!\is_int($a['priority']) && \is_int($b['priority'])) { return -1; } if ($a['priority'] === $b['priority']) { return 0; } if ($a['priority'] > $b['priority']) { return -1; } return 1; } } vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php000064400000001443147400355670023302 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher\Debug; use Symfony\Component\EventDispatcher\EventDispatcherInterface; /** * @author Fabien Potencier */ interface TraceableEventDispatcherInterface extends EventDispatcherInterface { /** * Gets the called listeners. * * @return array An array of called listeners */ public function getCalledListeners(); /** * Gets the not called listeners. * * @return array An array of not called listeners */ public function getNotCalledListeners(); } vendor/symfony/event-dispatcher/Debug/WrappedListener.php000064400000003326147400355670017700 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher\Debug; use Symfony\Component\EventDispatcher\Event; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\Stopwatch\Stopwatch; /** * @author Fabien Potencier */ class WrappedListener { private $listener; private $name; private $called; private $stoppedPropagation; private $stopwatch; private $dispatcher; public function __construct($listener, $name, Stopwatch $stopwatch, EventDispatcherInterface $dispatcher = null) { $this->listener = $listener; $this->name = $name; $this->stopwatch = $stopwatch; $this->dispatcher = $dispatcher; $this->called = false; $this->stoppedPropagation = false; } public function getWrappedListener() { return $this->listener; } public function wasCalled() { return $this->called; } public function stoppedPropagation() { return $this->stoppedPropagation; } public function __invoke(Event $event, $eventName, EventDispatcherInterface $dispatcher) { $this->called = true; $e = $this->stopwatch->start($this->name, 'event_listener'); \call_user_func($this->listener, $event, $eventName, $this->dispatcher ?: $dispatcher); if ($e->isStarted()) { $e->stop(); } if ($event->isPropagationStopped()) { $this->stoppedPropagation = true; } } } vendor/symfony/event-dispatcher/CHANGELOG.md000064400000001270147400355670014636 0ustar00CHANGELOG ========= 2.5.0 ----- * added Debug\TraceableEventDispatcher (originally in HttpKernel) * changed Debug\TraceableEventDispatcherInterface to extend EventDispatcherInterface * added RegisterListenersPass (originally in HttpKernel) 2.1.0 ----- * added TraceableEventDispatcherInterface * added ContainerAwareEventDispatcher * added a reference to the EventDispatcher on the Event * added a reference to the Event name on the event * added fluid interface to the dispatch() method which now returns the Event object * added GenericEvent event class * added the possibility for subscribers to subscribe several times for the same event * added ImmutableEventDispatcher vendor/symfony/event-dispatcher/composer.json000064400000002157147400355670015554 0ustar00{ "name": "symfony/event-dispatcher", "type": "library", "description": "Symfony EventDispatcher Component", "keywords": [], "homepage": "https://symfony.com", "license": "MIT", "authors": [ { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "require": { "php": ">=5.3.9" }, "require-dev": { "symfony/dependency-injection": "~2.6|~3.0.0", "symfony/expression-language": "~2.6|~3.0.0", "symfony/config": "^2.0.5|~3.0.0", "symfony/stopwatch": "~2.3|~3.0.0", "psr/log": "~1.0" }, "suggest": { "symfony/dependency-injection": "", "symfony/http-kernel": "" }, "autoload": { "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" }, "exclude-from-classmap": [ "/Tests/" ] }, "minimum-stability": "dev", "extra": { "branch-alias": { "dev-master": "2.8-dev" } } } vendor/symfony/event-dispatcher/EventDispatcher.php000064400000013433147400355670016632 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher; /** * The EventDispatcherInterface is the central point of Symfony's event listener system. * * Listeners are registered on the manager and events are dispatched through the * manager. * * @author Guilherme Blanco * @author Jonathan Wage * @author Roman Borschel * @author Bernhard Schussek * @author Fabien Potencier * @author Jordi Boggiano * @author Jordan Alliot */ class EventDispatcher implements EventDispatcherInterface { private $listeners = array(); private $sorted = array(); /** * {@inheritdoc} */ public function dispatch($eventName, Event $event = null) { if (null === $event) { $event = new Event(); } $event->setDispatcher($this); $event->setName($eventName); if ($listeners = $this->getListeners($eventName)) { $this->doDispatch($listeners, $eventName, $event); } return $event; } /** * {@inheritdoc} */ public function getListeners($eventName = null) { if (null !== $eventName) { if (!isset($this->listeners[$eventName])) { return array(); } if (!isset($this->sorted[$eventName])) { $this->sortListeners($eventName); } return $this->sorted[$eventName]; } foreach ($this->listeners as $eventName => $eventListeners) { if (!isset($this->sorted[$eventName])) { $this->sortListeners($eventName); } } return array_filter($this->sorted); } /** * Gets the listener priority for a specific event. * * Returns null if the event or the listener does not exist. * * @param string $eventName The name of the event * @param callable $listener The listener * * @return int|null The event listener priority */ public function getListenerPriority($eventName, $listener) { if (!isset($this->listeners[$eventName])) { return; } foreach ($this->listeners[$eventName] as $priority => $listeners) { if (false !== \in_array($listener, $listeners, true)) { return $priority; } } } /** * {@inheritdoc} */ public function hasListeners($eventName = null) { return (bool) $this->getListeners($eventName); } /** * {@inheritdoc} */ public function addListener($eventName, $listener, $priority = 0) { $this->listeners[$eventName][$priority][] = $listener; unset($this->sorted[$eventName]); } /** * {@inheritdoc} */ public function removeListener($eventName, $listener) { if (!isset($this->listeners[$eventName])) { return; } foreach ($this->listeners[$eventName] as $priority => $listeners) { if (false !== ($key = array_search($listener, $listeners, true))) { unset($this->listeners[$eventName][$priority][$key], $this->sorted[$eventName]); } } } /** * {@inheritdoc} */ public function addSubscriber(EventSubscriberInterface $subscriber) { foreach ($subscriber->getSubscribedEvents() as $eventName => $params) { if (\is_string($params)) { $this->addListener($eventName, array($subscriber, $params)); } elseif (\is_string($params[0])) { $this->addListener($eventName, array($subscriber, $params[0]), isset($params[1]) ? $params[1] : 0); } else { foreach ($params as $listener) { $this->addListener($eventName, array($subscriber, $listener[0]), isset($listener[1]) ? $listener[1] : 0); } } } } /** * {@inheritdoc} */ public function removeSubscriber(EventSubscriberInterface $subscriber) { foreach ($subscriber->getSubscribedEvents() as $eventName => $params) { if (\is_array($params) && \is_array($params[0])) { foreach ($params as $listener) { $this->removeListener($eventName, array($subscriber, $listener[0])); } } else { $this->removeListener($eventName, array($subscriber, \is_string($params) ? $params : $params[0])); } } } /** * Triggers the listeners of an event. * * This method can be overridden to add functionality that is executed * for each listener. * * @param callable[] $listeners The event listeners * @param string $eventName The name of the event to dispatch * @param Event $event The event object to pass to the event handlers/listeners */ protected function doDispatch($listeners, $eventName, Event $event) { foreach ($listeners as $listener) { if ($event->isPropagationStopped()) { break; } \call_user_func($listener, $event, $eventName, $this); } } /** * Sorts the internal list of listeners for the given event by priority. * * @param string $eventName The name of the event */ private function sortListeners($eventName) { krsort($this->listeners[$eventName]); $this->sorted[$eventName] = \call_user_func_array('array_merge', $this->listeners[$eventName]); } } vendor/symfony/event-dispatcher/EventDispatcherInterface.php000064400000005310147400355670020446 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher; /** * The EventDispatcherInterface is the central point of Symfony's event listener system. * Listeners are registered on the manager and events are dispatched through the * manager. * * @author Bernhard Schussek */ interface EventDispatcherInterface { /** * Dispatches an event to all registered listeners. * * @param string $eventName The name of the event to dispatch. The name of * the event is the name of the method that is * invoked on listeners. * @param Event $event The event to pass to the event handlers/listeners * If not supplied, an empty Event instance is created * * @return Event */ public function dispatch($eventName, Event $event = null); /** * Adds an event listener that listens on the specified events. * * @param string $eventName The event to listen on * @param callable $listener The listener * @param int $priority The higher this value, the earlier an event * listener will be triggered in the chain (defaults to 0) */ public function addListener($eventName, $listener, $priority = 0); /** * Adds an event subscriber. * * The subscriber is asked for all the events he is * interested in and added as a listener for these events. */ public function addSubscriber(EventSubscriberInterface $subscriber); /** * Removes an event listener from the specified events. * * @param string $eventName The event to remove a listener from * @param callable $listener The listener to remove */ public function removeListener($eventName, $listener); public function removeSubscriber(EventSubscriberInterface $subscriber); /** * Gets the listeners of a specific event or all listeners sorted by descending priority. * * @param string $eventName The name of the event * * @return array The event listeners for the specified event, or all event listeners by event name */ public function getListeners($eventName = null); /** * Checks whether an event has any registered listeners. * * @param string $eventName The name of the event * * @return bool true if the specified event has any listeners, false otherwise */ public function hasListeners($eventName = null); } vendor/symfony/event-dispatcher/README.md000064400000001142147400355670014302 0ustar00EventDispatcher Component ========================= The EventDispatcher component provides tools that allow your application components to communicate with each other by dispatching events and listening to them. Resources --------- * [Documentation](https://symfony.com/doc/current/components/event_dispatcher/index.html) * [Contributing](https://symfony.com/doc/current/contributing/index.html) * [Report issues](https://github.com/symfony/symfony/issues) and [send Pull Requests](https://github.com/symfony/symfony/pulls) in the [main Symfony repository](https://github.com/symfony/symfony) vendor/symfony/event-dispatcher/Event.php000064400000006644147400355670014631 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher; /** * Event is the base class for classes containing event data. * * This class contains no event data. It is used by events that do not pass * state information to an event handler when an event is raised. * * You can call the method stopPropagation() to abort the execution of * further listeners in your event listener. * * @author Guilherme Blanco * @author Jonathan Wage * @author Roman Borschel * @author Bernhard Schussek */ class Event { /** * @var bool Whether no further event listeners should be triggered */ private $propagationStopped = false; /** * @var EventDispatcherInterface Dispatcher that dispatched this event */ private $dispatcher; /** * @var string This event's name */ private $name; /** * Returns whether further event listeners should be triggered. * * @see Event::stopPropagation() * * @return bool Whether propagation was already stopped for this event */ public function isPropagationStopped() { return $this->propagationStopped; } /** * Stops the propagation of the event to further event listeners. * * If multiple event listeners are connected to the same event, no * further event listener will be triggered once any trigger calls * stopPropagation(). */ public function stopPropagation() { $this->propagationStopped = true; } /** * Stores the EventDispatcher that dispatches this Event. * * @param EventDispatcherInterface $dispatcher * * @deprecated since version 2.4, to be removed in 3.0. The event dispatcher is passed to the listener call. */ public function setDispatcher(EventDispatcherInterface $dispatcher) { $this->dispatcher = $dispatcher; } /** * Returns the EventDispatcher that dispatches this Event. * * @return EventDispatcherInterface * * @deprecated since version 2.4, to be removed in 3.0. The event dispatcher is passed to the listener call. */ public function getDispatcher() { @trigger_error('The '.__METHOD__.' method is deprecated since Symfony 2.4 and will be removed in 3.0. The event dispatcher instance can be received in the listener call instead.', E_USER_DEPRECATED); return $this->dispatcher; } /** * Gets the event's name. * * @return string * * @deprecated since version 2.4, to be removed in 3.0. The event name is passed to the listener call. */ public function getName() { @trigger_error('The '.__METHOD__.' method is deprecated since Symfony 2.4 and will be removed in 3.0. The event name can be received in the listener call instead.', E_USER_DEPRECATED); return $this->name; } /** * Sets the event's name property. * * @param string $name The event name * * @deprecated since version 2.4, to be removed in 3.0. The event name is passed to the listener call. */ public function setName($name) { $this->name = $name; } } vendor/symfony/event-dispatcher/GenericEvent.php000064400000007173147400355670016124 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher; /** * Event encapsulation class. * * Encapsulates events thus decoupling the observer from the subject they encapsulate. * * @author Drak */ class GenericEvent extends Event implements \ArrayAccess, \IteratorAggregate { protected $subject; protected $arguments; /** * Encapsulate an event with $subject and $args. * * @param mixed $subject The subject of the event, usually an object or a callable * @param array $arguments Arguments to store in the event */ public function __construct($subject = null, array $arguments = array()) { $this->subject = $subject; $this->arguments = $arguments; } /** * Getter for subject property. * * @return mixed The observer subject */ public function getSubject() { return $this->subject; } /** * Get argument by key. * * @param string $key Key * * @return mixed Contents of array key * * @throws \InvalidArgumentException if key is not found */ public function getArgument($key) { if ($this->hasArgument($key)) { return $this->arguments[$key]; } throw new \InvalidArgumentException(sprintf('Argument "%s" not found.', $key)); } /** * Add argument to event. * * @param string $key Argument name * @param mixed $value Value * * @return $this */ public function setArgument($key, $value) { $this->arguments[$key] = $value; return $this; } /** * Getter for all arguments. * * @return array */ public function getArguments() { return $this->arguments; } /** * Set args property. * * @param array $args Arguments * * @return $this */ public function setArguments(array $args = array()) { $this->arguments = $args; return $this; } /** * Has argument. * * @param string $key Key of arguments array * * @return bool */ public function hasArgument($key) { return array_key_exists($key, $this->arguments); } /** * ArrayAccess for argument getter. * * @param string $key Array key * * @return mixed * * @throws \InvalidArgumentException if key does not exist in $this->args */ public function offsetGet($key) { return $this->getArgument($key); } /** * ArrayAccess for argument setter. * * @param string $key Array key to set * @param mixed $value Value */ public function offsetSet($key, $value) { $this->setArgument($key, $value); } /** * ArrayAccess for unset argument. * * @param string $key Array key */ public function offsetUnset($key) { if ($this->hasArgument($key)) { unset($this->arguments[$key]); } } /** * ArrayAccess has argument. * * @param string $key Array key * * @return bool */ public function offsetExists($key) { return $this->hasArgument($key); } /** * IteratorAggregate for iterating over the object like an array. * * @return \ArrayIterator */ public function getIterator() { return new \ArrayIterator($this->arguments); } } vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php000064400000013657147400355670021465 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher; use Symfony\Component\DependencyInjection\ContainerInterface; /** * Lazily loads listeners and subscribers from the dependency injection * container. * * @author Fabien Potencier * @author Bernhard Schussek * @author Jordan Alliot */ class ContainerAwareEventDispatcher extends EventDispatcher { private $container; /** * The service IDs of the event listeners and subscribers. */ private $listenerIds = array(); /** * The services registered as listeners. */ private $listeners = array(); public function __construct(ContainerInterface $container) { $this->container = $container; } /** * Adds a service as event listener. * * @param string $eventName Event for which the listener is added * @param array $callback The service ID of the listener service & the method * name that has to be called * @param int $priority The higher this value, the earlier an event listener * will be triggered in the chain. * Defaults to 0. * * @throws \InvalidArgumentException */ public function addListenerService($eventName, $callback, $priority = 0) { if (!\is_array($callback) || 2 !== \count($callback)) { throw new \InvalidArgumentException('Expected an array("service", "method") argument'); } $this->listenerIds[$eventName][] = array($callback[0], $callback[1], $priority); } public function removeListener($eventName, $listener) { $this->lazyLoad($eventName); if (isset($this->listenerIds[$eventName])) { foreach ($this->listenerIds[$eventName] as $i => $args) { list($serviceId, $method) = $args; $key = $serviceId.'.'.$method; if (isset($this->listeners[$eventName][$key]) && $listener === array($this->listeners[$eventName][$key], $method)) { unset($this->listeners[$eventName][$key]); if (empty($this->listeners[$eventName])) { unset($this->listeners[$eventName]); } unset($this->listenerIds[$eventName][$i]); if (empty($this->listenerIds[$eventName])) { unset($this->listenerIds[$eventName]); } } } } parent::removeListener($eventName, $listener); } /** * {@inheritdoc} */ public function hasListeners($eventName = null) { if (null === $eventName) { return $this->listenerIds || $this->listeners || parent::hasListeners(); } if (isset($this->listenerIds[$eventName])) { return true; } return parent::hasListeners($eventName); } /** * {@inheritdoc} */ public function getListeners($eventName = null) { if (null === $eventName) { foreach ($this->listenerIds as $serviceEventName => $args) { $this->lazyLoad($serviceEventName); } } else { $this->lazyLoad($eventName); } return parent::getListeners($eventName); } /** * {@inheritdoc} */ public function getListenerPriority($eventName, $listener) { $this->lazyLoad($eventName); return parent::getListenerPriority($eventName, $listener); } /** * Adds a service as event subscriber. * * @param string $serviceId The service ID of the subscriber service * @param string $class The service's class name (which must implement EventSubscriberInterface) */ public function addSubscriberService($serviceId, $class) { foreach ($class::getSubscribedEvents() as $eventName => $params) { if (\is_string($params)) { $this->listenerIds[$eventName][] = array($serviceId, $params, 0); } elseif (\is_string($params[0])) { $this->listenerIds[$eventName][] = array($serviceId, $params[0], isset($params[1]) ? $params[1] : 0); } else { foreach ($params as $listener) { $this->listenerIds[$eventName][] = array($serviceId, $listener[0], isset($listener[1]) ? $listener[1] : 0); } } } } public function getContainer() { return $this->container; } /** * Lazily loads listeners for this event from the dependency injection * container. * * @param string $eventName The name of the event to dispatch. The name of * the event is the name of the method that is * invoked on listeners. */ protected function lazyLoad($eventName) { if (isset($this->listenerIds[$eventName])) { foreach ($this->listenerIds[$eventName] as $args) { list($serviceId, $method, $priority) = $args; $listener = $this->container->get($serviceId); $key = $serviceId.'.'.$method; if (!isset($this->listeners[$eventName][$key])) { $this->addListener($eventName, array($listener, $method), $priority); } elseif ($this->listeners[$eventName][$key] !== $listener) { parent::removeListener($eventName, array($this->listeners[$eventName][$key], $method)); $this->addListener($eventName, array($listener, $method), $priority); } $this->listeners[$eventName][$key] = $listener; } } } } vendor/symfony/event-dispatcher/EventSubscriberInterface.php000064400000003020147400355670020457 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher; /** * An EventSubscriber knows himself what events he is interested in. * If an EventSubscriber is added to an EventDispatcherInterface, the manager invokes * {@link getSubscribedEvents} and registers the subscriber as a listener for all * returned events. * * @author Guilherme Blanco * @author Jonathan Wage * @author Roman Borschel * @author Bernhard Schussek */ interface EventSubscriberInterface { /** * Returns an array of event names this subscriber wants to listen to. * * The array keys are event names and the value can be: * * * The method name to call (priority defaults to 0) * * An array composed of the method name to call and the priority * * An array of arrays composed of the method names to call and respective * priorities, or 0 if unset * * For instance: * * * array('eventName' => 'methodName') * * array('eventName' => array('methodName', $priority)) * * array('eventName' => array(array('methodName1', $priority), array('methodName2'))) * * @return array The event names to listen to */ public static function getSubscribedEvents(); } vendor/symfony/event-dispatcher/phpunit.xml.dist000064400000001575147400355670016210 0ustar00 ./Tests/ ./ ./Resources ./Tests ./vendor vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php000064400000010322147400355670023761 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\EventDispatcher\DependencyInjection; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; /** * Compiler pass to register tagged services for an event dispatcher. */ class RegisterListenersPass implements CompilerPassInterface { protected $dispatcherService; protected $listenerTag; protected $subscriberTag; /** * @param string $dispatcherService Service name of the event dispatcher in processed container * @param string $listenerTag Tag name used for listener * @param string $subscriberTag Tag name used for subscribers */ public function __construct($dispatcherService = 'event_dispatcher', $listenerTag = 'kernel.event_listener', $subscriberTag = 'kernel.event_subscriber') { $this->dispatcherService = $dispatcherService; $this->listenerTag = $listenerTag; $this->subscriberTag = $subscriberTag; } public function process(ContainerBuilder $container) { if (!$container->hasDefinition($this->dispatcherService) && !$container->hasAlias($this->dispatcherService)) { return; } $definition = $container->findDefinition($this->dispatcherService); foreach ($container->findTaggedServiceIds($this->listenerTag) as $id => $events) { $def = $container->getDefinition($id); if (!$def->isPublic()) { throw new \InvalidArgumentException(sprintf('The service "%s" must be public as event listeners are lazy-loaded.', $id)); } if ($def->isAbstract()) { throw new \InvalidArgumentException(sprintf('The service "%s" must not be abstract as event listeners are lazy-loaded.', $id)); } foreach ($events as $event) { $priority = isset($event['priority']) ? $event['priority'] : 0; if (!isset($event['event'])) { throw new \InvalidArgumentException(sprintf('Service "%s" must define the "event" attribute on "%s" tags.', $id, $this->listenerTag)); } if (!isset($event['method'])) { $event['method'] = 'on'.preg_replace_callback(array( '/(?<=\b)[a-z]/i', '/[^a-z0-9]/i', ), function ($matches) { return strtoupper($matches[0]); }, $event['event']); $event['method'] = preg_replace('/[^a-z0-9]/i', '', $event['method']); } $definition->addMethodCall('addListenerService', array($event['event'], array($id, $event['method']), $priority)); } } foreach ($container->findTaggedServiceIds($this->subscriberTag) as $id => $attributes) { $def = $container->getDefinition($id); if (!$def->isPublic()) { throw new \InvalidArgumentException(sprintf('The service "%s" must be public as event subscribers are lazy-loaded.', $id)); } if ($def->isAbstract()) { throw new \InvalidArgumentException(sprintf('The service "%s" must not be abstract as event subscribers are lazy-loaded.', $id)); } // We must assume that the class value has been correctly filled, even if the service is created by a factory $class = $container->getParameterBag()->resolveValue($def->getClass()); $interface = 'Symfony\Component\EventDispatcher\EventSubscriberInterface'; if (!is_subclass_of($class, $interface)) { if (!class_exists($class, false)) { throw new \InvalidArgumentException(sprintf('Class "%s" used for service "%s" cannot be found.', $class, $id)); } throw new \InvalidArgumentException(sprintf('Service "%s" must implement interface "%s".', $id, $interface)); } $definition->addMethodCall('addSubscriberService', array($id, $class)); } } } vendor/symfony/polyfill-intl-normalizer/LICENSE000064400000002051147400355670015541 0ustar00Copyright (c) 2015-2019 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor/symfony/polyfill-intl-normalizer/composer.json000064400000002105147400355670017256 0ustar00{ "name": "symfony/polyfill-intl-normalizer", "type": "library", "description": "Symfony polyfill for intl's Normalizer class and related functions", "keywords": ["polyfill", "shim", "compatibility", "portable", "intl", "normalizer"], "homepage": "https://symfony.com", "license": "MIT", "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "require": { "php": ">=5.3.3" }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, "files": [ "bootstrap.php" ], "classmap": [ "Resources/stubs" ] }, "suggest": { "ext-intl": "For best performance" }, "minimum-stability": "dev", "extra": { "branch-alias": { "dev-main": "1.19-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } } } vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php000064400000202557147400355670026267 0ustar00 ' ', '¨' => ' ̈', 'ª' => 'a', '¯' => ' ̄', '²' => '2', '³' => '3', '´' => ' ́', 'µ' => 'μ', '¸' => ' ̧', '¹' => '1', 'º' => 'o', '¼' => '1⁄4', '½' => '1⁄2', '¾' => '3⁄4', 'IJ' => 'IJ', 'ij' => 'ij', 'Ŀ' => 'L·', 'ŀ' => 'l·', 'ʼn' => 'ʼn', 'ſ' => 's', 'DŽ' => 'DŽ', 'Dž' => 'Dž', 'dž' => 'dž', 'LJ' => 'LJ', 'Lj' => 'Lj', 'lj' => 'lj', 'NJ' => 'NJ', 'Nj' => 'Nj', 'nj' => 'nj', 'DZ' => 'DZ', 'Dz' => 'Dz', 'dz' => 'dz', 'ʰ' => 'h', 'ʱ' => 'ɦ', 'ʲ' => 'j', 'ʳ' => 'r', 'ʴ' => 'ɹ', 'ʵ' => 'ɻ', 'ʶ' => 'ʁ', 'ʷ' => 'w', 'ʸ' => 'y', '˘' => ' ̆', '˙' => ' ̇', '˚' => ' ̊', '˛' => ' ̨', '˜' => ' ̃', '˝' => ' ̋', 'ˠ' => 'ɣ', 'ˡ' => 'l', 'ˢ' => 's', 'ˣ' => 'x', 'ˤ' => 'ʕ', 'ͺ' => ' ͅ', '΄' => ' ́', '΅' => ' ̈́', 'ϐ' => 'β', 'ϑ' => 'θ', 'ϒ' => 'Υ', 'ϓ' => 'Ύ', 'ϔ' => 'Ϋ', 'ϕ' => 'φ', 'ϖ' => 'π', 'ϰ' => 'κ', 'ϱ' => 'ρ', 'ϲ' => 'ς', 'ϴ' => 'Θ', 'ϵ' => 'ε', 'Ϲ' => 'Σ', 'և' => 'եւ', 'ٵ' => 'اٴ', 'ٶ' => 'وٴ', 'ٷ' => 'ۇٴ', 'ٸ' => 'يٴ', 'ำ' => 'ํา', 'ຳ' => 'ໍາ', 'ໜ' => 'ຫນ', 'ໝ' => 'ຫມ', '༌' => '་', 'ཷ' => 'ྲཱྀ', 'ཹ' => 'ླཱྀ', 'ჼ' => 'ნ', 'ᴬ' => 'A', 'ᴭ' => 'Æ', 'ᴮ' => 'B', 'ᴰ' => 'D', 'ᴱ' => 'E', 'ᴲ' => 'Ǝ', 'ᴳ' => 'G', 'ᴴ' => 'H', 'ᴵ' => 'I', 'ᴶ' => 'J', 'ᴷ' => 'K', 'ᴸ' => 'L', 'ᴹ' => 'M', 'ᴺ' => 'N', 'ᴼ' => 'O', 'ᴽ' => 'Ȣ', 'ᴾ' => 'P', 'ᴿ' => 'R', 'ᵀ' => 'T', 'ᵁ' => 'U', 'ᵂ' => 'W', 'ᵃ' => 'a', 'ᵄ' => 'ɐ', 'ᵅ' => 'ɑ', 'ᵆ' => 'ᴂ', 'ᵇ' => 'b', 'ᵈ' => 'd', 'ᵉ' => 'e', 'ᵊ' => 'ə', 'ᵋ' => 'ɛ', 'ᵌ' => 'ɜ', 'ᵍ' => 'g', 'ᵏ' => 'k', 'ᵐ' => 'm', 'ᵑ' => 'ŋ', 'ᵒ' => 'o', 'ᵓ' => 'ɔ', 'ᵔ' => 'ᴖ', 'ᵕ' => 'ᴗ', 'ᵖ' => 'p', 'ᵗ' => 't', 'ᵘ' => 'u', 'ᵙ' => 'ᴝ', 'ᵚ' => 'ɯ', 'ᵛ' => 'v', 'ᵜ' => 'ᴥ', 'ᵝ' => 'β', 'ᵞ' => 'γ', 'ᵟ' => 'δ', 'ᵠ' => 'φ', 'ᵡ' => 'χ', 'ᵢ' => 'i', 'ᵣ' => 'r', 'ᵤ' => 'u', 'ᵥ' => 'v', 'ᵦ' => 'β', 'ᵧ' => 'γ', 'ᵨ' => 'ρ', 'ᵩ' => 'φ', 'ᵪ' => 'χ', 'ᵸ' => 'н', 'ᶛ' => 'ɒ', 'ᶜ' => 'c', 'ᶝ' => 'ɕ', 'ᶞ' => 'ð', 'ᶟ' => 'ɜ', 'ᶠ' => 'f', 'ᶡ' => 'ɟ', 'ᶢ' => 'ɡ', 'ᶣ' => 'ɥ', 'ᶤ' => 'ɨ', 'ᶥ' => 'ɩ', 'ᶦ' => 'ɪ', 'ᶧ' => 'ᵻ', 'ᶨ' => 'ʝ', 'ᶩ' => 'ɭ', 'ᶪ' => 'ᶅ', 'ᶫ' => 'ʟ', 'ᶬ' => 'ɱ', 'ᶭ' => 'ɰ', 'ᶮ' => 'ɲ', 'ᶯ' => 'ɳ', 'ᶰ' => 'ɴ', 'ᶱ' => 'ɵ', 'ᶲ' => 'ɸ', 'ᶳ' => 'ʂ', 'ᶴ' => 'ʃ', 'ᶵ' => 'ƫ', 'ᶶ' => 'ʉ', 'ᶷ' => 'ʊ', 'ᶸ' => 'ᴜ', 'ᶹ' => 'ʋ', 'ᶺ' => 'ʌ', 'ᶻ' => 'z', 'ᶼ' => 'ʐ', 'ᶽ' => 'ʑ', 'ᶾ' => 'ʒ', 'ᶿ' => 'θ', 'ẚ' => 'aʾ', 'ẛ' => 'ṡ', '᾽' => ' ̓', '᾿' => ' ̓', '῀' => ' ͂', '῁' => ' ̈͂', '῍' => ' ̓̀', '῎' => ' ̓́', '῏' => ' ̓͂', '῝' => ' ̔̀', '῞' => ' ̔́', '῟' => ' ̔͂', '῭' => ' ̈̀', '΅' => ' ̈́', '´' => ' ́', '῾' => ' ̔', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', ' ' => ' ', '‑' => '‐', '‗' => ' ̳', '․' => '.', '‥' => '..', '…' => '...', ' ' => ' ', '″' => '′′', '‴' => '′′′', '‶' => '‵‵', '‷' => '‵‵‵', '‼' => '!!', '‾' => ' ̅', '⁇' => '??', '⁈' => '?!', '⁉' => '!?', '⁗' => '′′′′', ' ' => ' ', '⁰' => '0', 'ⁱ' => 'i', '⁴' => '4', '⁵' => '5', '⁶' => '6', '⁷' => '7', '⁸' => '8', '⁹' => '9', '⁺' => '+', '⁻' => '−', '⁼' => '=', '⁽' => '(', '⁾' => ')', 'ⁿ' => 'n', '₀' => '0', '₁' => '1', '₂' => '2', '₃' => '3', '₄' => '4', '₅' => '5', '₆' => '6', '₇' => '7', '₈' => '8', '₉' => '9', '₊' => '+', '₋' => '−', '₌' => '=', '₍' => '(', '₎' => ')', 'ₐ' => 'a', 'ₑ' => 'e', 'ₒ' => 'o', 'ₓ' => 'x', 'ₔ' => 'ə', 'ₕ' => 'h', 'ₖ' => 'k', 'ₗ' => 'l', 'ₘ' => 'm', 'ₙ' => 'n', 'ₚ' => 'p', 'ₛ' => 's', 'ₜ' => 't', '₨' => 'Rs', '℀' => 'a/c', '℁' => 'a/s', 'ℂ' => 'C', '℃' => '°C', '℅' => 'c/o', '℆' => 'c/u', 'ℇ' => 'Ɛ', '℉' => '°F', 'ℊ' => 'g', 'ℋ' => 'H', 'ℌ' => 'H', 'ℍ' => 'H', 'ℎ' => 'h', 'ℏ' => 'ħ', 'ℐ' => 'I', 'ℑ' => 'I', 'ℒ' => 'L', 'ℓ' => 'l', 'ℕ' => 'N', '№' => 'No', 'ℙ' => 'P', 'ℚ' => 'Q', 'ℛ' => 'R', 'ℜ' => 'R', 'ℝ' => 'R', '℠' => 'SM', '℡' => 'TEL', '™' => 'TM', 'ℤ' => 'Z', 'ℨ' => 'Z', 'ℬ' => 'B', 'ℭ' => 'C', 'ℯ' => 'e', 'ℰ' => 'E', 'ℱ' => 'F', 'ℳ' => 'M', 'ℴ' => 'o', 'ℵ' => 'א', 'ℶ' => 'ב', 'ℷ' => 'ג', 'ℸ' => 'ד', 'ℹ' => 'i', '℻' => 'FAX', 'ℼ' => 'π', 'ℽ' => 'γ', 'ℾ' => 'Γ', 'ℿ' => 'Π', '⅀' => '∑', 'ⅅ' => 'D', 'ⅆ' => 'd', 'ⅇ' => 'e', 'ⅈ' => 'i', 'ⅉ' => 'j', '⅐' => '1⁄7', '⅑' => '1⁄9', '⅒' => '1⁄10', '⅓' => '1⁄3', '⅔' => '2⁄3', '⅕' => '1⁄5', '⅖' => '2⁄5', '⅗' => '3⁄5', '⅘' => '4⁄5', '⅙' => '1⁄6', '⅚' => '5⁄6', '⅛' => '1⁄8', '⅜' => '3⁄8', '⅝' => '5⁄8', '⅞' => '7⁄8', '⅟' => '1⁄', 'Ⅰ' => 'I', 'Ⅱ' => 'II', 'Ⅲ' => 'III', 'Ⅳ' => 'IV', 'Ⅴ' => 'V', 'Ⅵ' => 'VI', 'Ⅶ' => 'VII', 'Ⅷ' => 'VIII', 'Ⅸ' => 'IX', 'Ⅹ' => 'X', 'Ⅺ' => 'XI', 'Ⅻ' => 'XII', 'Ⅼ' => 'L', 'Ⅽ' => 'C', 'Ⅾ' => 'D', 'Ⅿ' => 'M', 'ⅰ' => 'i', 'ⅱ' => 'ii', 'ⅲ' => 'iii', 'ⅳ' => 'iv', 'ⅴ' => 'v', 'ⅵ' => 'vi', 'ⅶ' => 'vii', 'ⅷ' => 'viii', 'ⅸ' => 'ix', 'ⅹ' => 'x', 'ⅺ' => 'xi', 'ⅻ' => 'xii', 'ⅼ' => 'l', 'ⅽ' => 'c', 'ⅾ' => 'd', 'ⅿ' => 'm', '↉' => '0⁄3', '∬' => '∫∫', '∭' => '∫∫∫', '∯' => '∮∮', '∰' => '∮∮∮', '①' => '1', '②' => '2', '③' => '3', '④' => '4', '⑤' => '5', '⑥' => '6', '⑦' => '7', '⑧' => '8', '⑨' => '9', '⑩' => '10', '⑪' => '11', '⑫' => '12', '⑬' => '13', '⑭' => '14', '⑮' => '15', '⑯' => '16', '⑰' => '17', '⑱' => '18', '⑲' => '19', '⑳' => '20', '⑴' => '(1)', '⑵' => '(2)', '⑶' => '(3)', '⑷' => '(4)', '⑸' => '(5)', '⑹' => '(6)', '⑺' => '(7)', '⑻' => '(8)', '⑼' => '(9)', '⑽' => '(10)', '⑾' => '(11)', '⑿' => '(12)', '⒀' => '(13)', '⒁' => '(14)', '⒂' => '(15)', '⒃' => '(16)', '⒄' => '(17)', '⒅' => '(18)', '⒆' => '(19)', '⒇' => '(20)', '⒈' => '1.', '⒉' => '2.', '⒊' => '3.', '⒋' => '4.', '⒌' => '5.', '⒍' => '6.', '⒎' => '7.', '⒏' => '8.', '⒐' => '9.', '⒑' => '10.', '⒒' => '11.', '⒓' => '12.', '⒔' => '13.', '⒕' => '14.', '⒖' => '15.', '⒗' => '16.', '⒘' => '17.', '⒙' => '18.', '⒚' => '19.', '⒛' => '20.', '⒜' => '(a)', '⒝' => '(b)', '⒞' => '(c)', '⒟' => '(d)', '⒠' => '(e)', '⒡' => '(f)', '⒢' => '(g)', '⒣' => '(h)', '⒤' => '(i)', '⒥' => '(j)', '⒦' => '(k)', '⒧' => '(l)', '⒨' => '(m)', '⒩' => '(n)', '⒪' => '(o)', '⒫' => '(p)', '⒬' => '(q)', '⒭' => '(r)', '⒮' => '(s)', '⒯' => '(t)', '⒰' => '(u)', '⒱' => '(v)', '⒲' => '(w)', '⒳' => '(x)', '⒴' => '(y)', '⒵' => '(z)', 'Ⓐ' => 'A', 'Ⓑ' => 'B', 'Ⓒ' => 'C', 'Ⓓ' => 'D', 'Ⓔ' => 'E', 'Ⓕ' => 'F', 'Ⓖ' => 'G', 'Ⓗ' => 'H', 'Ⓘ' => 'I', 'Ⓙ' => 'J', 'Ⓚ' => 'K', 'Ⓛ' => 'L', 'Ⓜ' => 'M', 'Ⓝ' => 'N', 'Ⓞ' => 'O', 'Ⓟ' => 'P', 'Ⓠ' => 'Q', 'Ⓡ' => 'R', 'Ⓢ' => 'S', 'Ⓣ' => 'T', 'Ⓤ' => 'U', 'Ⓥ' => 'V', 'Ⓦ' => 'W', 'Ⓧ' => 'X', 'Ⓨ' => 'Y', 'Ⓩ' => 'Z', 'ⓐ' => 'a', 'ⓑ' => 'b', 'ⓒ' => 'c', 'ⓓ' => 'd', 'ⓔ' => 'e', 'ⓕ' => 'f', 'ⓖ' => 'g', 'ⓗ' => 'h', 'ⓘ' => 'i', 'ⓙ' => 'j', 'ⓚ' => 'k', 'ⓛ' => 'l', 'ⓜ' => 'm', 'ⓝ' => 'n', 'ⓞ' => 'o', 'ⓟ' => 'p', 'ⓠ' => 'q', 'ⓡ' => 'r', 'ⓢ' => 's', 'ⓣ' => 't', 'ⓤ' => 'u', 'ⓥ' => 'v', 'ⓦ' => 'w', 'ⓧ' => 'x', 'ⓨ' => 'y', 'ⓩ' => 'z', '⓪' => '0', '⨌' => '∫∫∫∫', '⩴' => '::=', '⩵' => '==', '⩶' => '===', 'ⱼ' => 'j', 'ⱽ' => 'V', 'ⵯ' => 'ⵡ', '⺟' => '母', '⻳' => '龟', '⼀' => '一', '⼁' => '丨', '⼂' => '丶', '⼃' => '丿', '⼄' => '乙', '⼅' => '亅', '⼆' => '二', '⼇' => '亠', '⼈' => '人', '⼉' => '儿', '⼊' => '入', '⼋' => '八', '⼌' => '冂', '⼍' => '冖', '⼎' => '冫', '⼏' => '几', '⼐' => '凵', '⼑' => '刀', '⼒' => '力', '⼓' => '勹', '⼔' => '匕', '⼕' => '匚', '⼖' => '匸', '⼗' => '十', '⼘' => '卜', '⼙' => '卩', '⼚' => '厂', '⼛' => '厶', '⼜' => '又', '⼝' => '口', '⼞' => '囗', '⼟' => '土', '⼠' => '士', '⼡' => '夂', '⼢' => '夊', '⼣' => '夕', '⼤' => '大', '⼥' => '女', '⼦' => '子', '⼧' => '宀', '⼨' => '寸', '⼩' => '小', '⼪' => '尢', '⼫' => '尸', '⼬' => '屮', '⼭' => '山', '⼮' => '巛', '⼯' => '工', '⼰' => '己', '⼱' => '巾', '⼲' => '干', '⼳' => '幺', '⼴' => '广', '⼵' => '廴', '⼶' => '廾', '⼷' => '弋', '⼸' => '弓', '⼹' => '彐', '⼺' => '彡', '⼻' => '彳', '⼼' => '心', '⼽' => '戈', '⼾' => '戶', '⼿' => '手', '⽀' => '支', '⽁' => '攴', '⽂' => '文', '⽃' => '斗', '⽄' => '斤', '⽅' => '方', '⽆' => '无', '⽇' => '日', '⽈' => '曰', '⽉' => '月', '⽊' => '木', '⽋' => '欠', '⽌' => '止', '⽍' => '歹', '⽎' => '殳', '⽏' => '毋', '⽐' => '比', '⽑' => '毛', '⽒' => '氏', '⽓' => '气', '⽔' => '水', '⽕' => '火', '⽖' => '爪', '⽗' => '父', '⽘' => '爻', '⽙' => '爿', '⽚' => '片', '⽛' => '牙', '⽜' => '牛', '⽝' => '犬', '⽞' => '玄', '⽟' => '玉', '⽠' => '瓜', '⽡' => '瓦', '⽢' => '甘', '⽣' => '生', '⽤' => '用', '⽥' => '田', '⽦' => '疋', '⽧' => '疒', '⽨' => '癶', '⽩' => '白', '⽪' => '皮', '⽫' => '皿', '⽬' => '目', '⽭' => '矛', '⽮' => '矢', '⽯' => '石', '⽰' => '示', '⽱' => '禸', '⽲' => '禾', '⽳' => '穴', '⽴' => '立', '⽵' => '竹', '⽶' => '米', '⽷' => '糸', '⽸' => '缶', '⽹' => '网', '⽺' => '羊', '⽻' => '羽', '⽼' => '老', '⽽' => '而', '⽾' => '耒', '⽿' => '耳', '⾀' => '聿', '⾁' => '肉', '⾂' => '臣', '⾃' => '自', '⾄' => '至', '⾅' => '臼', '⾆' => '舌', '⾇' => '舛', '⾈' => '舟', '⾉' => '艮', '⾊' => '色', '⾋' => '艸', '⾌' => '虍', '⾍' => '虫', '⾎' => '血', '⾏' => '行', '⾐' => '衣', '⾑' => '襾', '⾒' => '見', '⾓' => '角', '⾔' => '言', '⾕' => '谷', '⾖' => '豆', '⾗' => '豕', '⾘' => '豸', '⾙' => '貝', '⾚' => '赤', '⾛' => '走', '⾜' => '足', '⾝' => '身', '⾞' => '車', '⾟' => '辛', '⾠' => '辰', '⾡' => '辵', '⾢' => '邑', '⾣' => '酉', '⾤' => '釆', '⾥' => '里', '⾦' => '金', '⾧' => '長', '⾨' => '門', '⾩' => '阜', '⾪' => '隶', '⾫' => '隹', '⾬' => '雨', '⾭' => '靑', '⾮' => '非', '⾯' => '面', '⾰' => '革', '⾱' => '韋', '⾲' => '韭', '⾳' => '音', '⾴' => '頁', '⾵' => '風', '⾶' => '飛', '⾷' => '食', '⾸' => '首', '⾹' => '香', '⾺' => '馬', '⾻' => '骨', '⾼' => '高', '⾽' => '髟', '⾾' => '鬥', '⾿' => '鬯', '⿀' => '鬲', '⿁' => '鬼', '⿂' => '魚', '⿃' => '鳥', '⿄' => '鹵', '⿅' => '鹿', '⿆' => '麥', '⿇' => '麻', '⿈' => '黃', '⿉' => '黍', '⿊' => '黑', '⿋' => '黹', '⿌' => '黽', '⿍' => '鼎', '⿎' => '鼓', '⿏' => '鼠', '⿐' => '鼻', '⿑' => '齊', '⿒' => '齒', '⿓' => '龍', '⿔' => '龜', '⿕' => '龠', ' ' => ' ', '〶' => '〒', '〸' => '十', '〹' => '卄', '〺' => '卅', '゛' => ' ゙', '゜' => ' ゚', 'ゟ' => 'より', 'ヿ' => 'コト', 'ㄱ' => 'ᄀ', 'ㄲ' => 'ᄁ', 'ㄳ' => 'ᆪ', 'ㄴ' => 'ᄂ', 'ㄵ' => 'ᆬ', 'ㄶ' => 'ᆭ', 'ㄷ' => 'ᄃ', 'ㄸ' => 'ᄄ', 'ㄹ' => 'ᄅ', 'ㄺ' => 'ᆰ', 'ㄻ' => 'ᆱ', 'ㄼ' => 'ᆲ', 'ㄽ' => 'ᆳ', 'ㄾ' => 'ᆴ', 'ㄿ' => 'ᆵ', 'ㅀ' => 'ᄚ', 'ㅁ' => 'ᄆ', 'ㅂ' => 'ᄇ', 'ㅃ' => 'ᄈ', 'ㅄ' => 'ᄡ', 'ㅅ' => 'ᄉ', 'ㅆ' => 'ᄊ', 'ㅇ' => 'ᄋ', 'ㅈ' => 'ᄌ', 'ㅉ' => 'ᄍ', 'ㅊ' => 'ᄎ', 'ㅋ' => 'ᄏ', 'ㅌ' => 'ᄐ', 'ㅍ' => 'ᄑ', 'ㅎ' => 'ᄒ', 'ㅏ' => 'ᅡ', 'ㅐ' => 'ᅢ', 'ㅑ' => 'ᅣ', 'ㅒ' => 'ᅤ', 'ㅓ' => 'ᅥ', 'ㅔ' => 'ᅦ', 'ㅕ' => 'ᅧ', 'ㅖ' => 'ᅨ', 'ㅗ' => 'ᅩ', 'ㅘ' => 'ᅪ', 'ㅙ' => 'ᅫ', 'ㅚ' => 'ᅬ', 'ㅛ' => 'ᅭ', 'ㅜ' => 'ᅮ', 'ㅝ' => 'ᅯ', 'ㅞ' => 'ᅰ', 'ㅟ' => 'ᅱ', 'ㅠ' => 'ᅲ', 'ㅡ' => 'ᅳ', 'ㅢ' => 'ᅴ', 'ㅣ' => 'ᅵ', 'ㅤ' => 'ᅠ', 'ㅥ' => 'ᄔ', 'ㅦ' => 'ᄕ', 'ㅧ' => 'ᇇ', 'ㅨ' => 'ᇈ', 'ㅩ' => 'ᇌ', 'ㅪ' => 'ᇎ', 'ㅫ' => 'ᇓ', 'ㅬ' => 'ᇗ', 'ㅭ' => 'ᇙ', 'ㅮ' => 'ᄜ', 'ㅯ' => 'ᇝ', 'ㅰ' => 'ᇟ', 'ㅱ' => 'ᄝ', 'ㅲ' => 'ᄞ', 'ㅳ' => 'ᄠ', 'ㅴ' => 'ᄢ', 'ㅵ' => 'ᄣ', 'ㅶ' => 'ᄧ', 'ㅷ' => 'ᄩ', 'ㅸ' => 'ᄫ', 'ㅹ' => 'ᄬ', 'ㅺ' => 'ᄭ', 'ㅻ' => 'ᄮ', 'ㅼ' => 'ᄯ', 'ㅽ' => 'ᄲ', 'ㅾ' => 'ᄶ', 'ㅿ' => 'ᅀ', 'ㆀ' => 'ᅇ', 'ㆁ' => 'ᅌ', 'ㆂ' => 'ᇱ', 'ㆃ' => 'ᇲ', 'ㆄ' => 'ᅗ', 'ㆅ' => 'ᅘ', 'ㆆ' => 'ᅙ', 'ㆇ' => 'ᆄ', 'ㆈ' => 'ᆅ', 'ㆉ' => 'ᆈ', 'ㆊ' => 'ᆑ', 'ㆋ' => 'ᆒ', 'ㆌ' => 'ᆔ', 'ㆍ' => 'ᆞ', 'ㆎ' => 'ᆡ', '㆒' => '一', '㆓' => '二', '㆔' => '三', '㆕' => '四', '㆖' => '上', '㆗' => '中', '㆘' => '下', '㆙' => '甲', '㆚' => '乙', '㆛' => '丙', '㆜' => '丁', '㆝' => '天', '㆞' => '地', '㆟' => '人', '㈀' => '(ᄀ)', '㈁' => '(ᄂ)', '㈂' => '(ᄃ)', '㈃' => '(ᄅ)', '㈄' => '(ᄆ)', '㈅' => '(ᄇ)', '㈆' => '(ᄉ)', '㈇' => '(ᄋ)', '㈈' => '(ᄌ)', '㈉' => '(ᄎ)', '㈊' => '(ᄏ)', '㈋' => '(ᄐ)', '㈌' => '(ᄑ)', '㈍' => '(ᄒ)', '㈎' => '(가)', '㈏' => '(나)', '㈐' => '(다)', '㈑' => '(라)', '㈒' => '(마)', '㈓' => '(바)', '㈔' => '(사)', '㈕' => '(아)', '㈖' => '(자)', '㈗' => '(차)', '㈘' => '(카)', '㈙' => '(타)', '㈚' => '(파)', '㈛' => '(하)', '㈜' => '(주)', '㈝' => '(오전)', '㈞' => '(오후)', '㈠' => '(一)', '㈡' => '(二)', '㈢' => '(三)', '㈣' => '(四)', '㈤' => '(五)', '㈥' => '(六)', '㈦' => '(七)', '㈧' => '(八)', '㈨' => '(九)', '㈩' => '(十)', '㈪' => '(月)', '㈫' => '(火)', '㈬' => '(水)', '㈭' => '(木)', '㈮' => '(金)', '㈯' => '(土)', '㈰' => '(日)', '㈱' => '(株)', '㈲' => '(有)', '㈳' => '(社)', '㈴' => '(名)', '㈵' => '(特)', '㈶' => '(財)', '㈷' => '(祝)', '㈸' => '(労)', '㈹' => '(代)', '㈺' => '(呼)', '㈻' => '(学)', '㈼' => '(監)', '㈽' => '(企)', '㈾' => '(資)', '㈿' => '(協)', '㉀' => '(祭)', '㉁' => '(休)', '㉂' => '(自)', '㉃' => '(至)', '㉄' => '問', '㉅' => '幼', '㉆' => '文', '㉇' => '箏', '㉐' => 'PTE', '㉑' => '21', '㉒' => '22', '㉓' => '23', '㉔' => '24', '㉕' => '25', '㉖' => '26', '㉗' => '27', '㉘' => '28', '㉙' => '29', '㉚' => '30', '㉛' => '31', '㉜' => '32', '㉝' => '33', '㉞' => '34', '㉟' => '35', '㉠' => 'ᄀ', '㉡' => 'ᄂ', '㉢' => 'ᄃ', '㉣' => 'ᄅ', '㉤' => 'ᄆ', '㉥' => 'ᄇ', '㉦' => 'ᄉ', '㉧' => 'ᄋ', '㉨' => 'ᄌ', '㉩' => 'ᄎ', '㉪' => 'ᄏ', '㉫' => 'ᄐ', '㉬' => 'ᄑ', '㉭' => 'ᄒ', '㉮' => '가', '㉯' => '나', '㉰' => '다', '㉱' => '라', '㉲' => '마', '㉳' => '바', '㉴' => '사', '㉵' => '아', '㉶' => '자', '㉷' => '차', '㉸' => '카', '㉹' => '타', '㉺' => '파', '㉻' => '하', '㉼' => '참고', '㉽' => '주의', '㉾' => '우', '㊀' => '一', '㊁' => '二', '㊂' => '三', '㊃' => '四', '㊄' => '五', '㊅' => '六', '㊆' => '七', '㊇' => '八', '㊈' => '九', '㊉' => '十', '㊊' => '月', '㊋' => '火', '㊌' => '水', '㊍' => '木', '㊎' => '金', '㊏' => '土', '㊐' => '日', '㊑' => '株', '㊒' => '有', '㊓' => '社', '㊔' => '名', '㊕' => '特', '㊖' => '財', '㊗' => '祝', '㊘' => '労', '㊙' => '秘', '㊚' => '男', '㊛' => '女', '㊜' => '適', '㊝' => '優', '㊞' => '印', '㊟' => '注', '㊠' => '項', '㊡' => '休', '㊢' => '写', '㊣' => '正', '㊤' => '上', '㊥' => '中', '㊦' => '下', '㊧' => '左', '㊨' => '右', '㊩' => '医', '㊪' => '宗', '㊫' => '学', '㊬' => '監', '㊭' => '企', '㊮' => '資', '㊯' => '協', '㊰' => '夜', '㊱' => '36', '㊲' => '37', '㊳' => '38', '㊴' => '39', '㊵' => '40', '㊶' => '41', '㊷' => '42', '㊸' => '43', '㊹' => '44', '㊺' => '45', '㊻' => '46', '㊼' => '47', '㊽' => '48', '㊾' => '49', '㊿' => '50', '㋀' => '1月', '㋁' => '2月', '㋂' => '3月', '㋃' => '4月', '㋄' => '5月', '㋅' => '6月', '㋆' => '7月', '㋇' => '8月', '㋈' => '9月', '㋉' => '10月', '㋊' => '11月', '㋋' => '12月', '㋌' => 'Hg', '㋍' => 'erg', '㋎' => 'eV', '㋏' => 'LTD', '㋐' => 'ア', '㋑' => 'イ', '㋒' => 'ウ', '㋓' => 'エ', '㋔' => 'オ', '㋕' => 'カ', '㋖' => 'キ', '㋗' => 'ク', '㋘' => 'ケ', '㋙' => 'コ', '㋚' => 'サ', '㋛' => 'シ', '㋜' => 'ス', '㋝' => 'セ', '㋞' => 'ソ', '㋟' => 'タ', '㋠' => 'チ', '㋡' => 'ツ', '㋢' => 'テ', '㋣' => 'ト', '㋤' => 'ナ', '㋥' => 'ニ', '㋦' => 'ヌ', '㋧' => 'ネ', '㋨' => 'ノ', '㋩' => 'ハ', '㋪' => 'ヒ', '㋫' => 'フ', '㋬' => 'ヘ', '㋭' => 'ホ', '㋮' => 'マ', '㋯' => 'ミ', '㋰' => 'ム', '㋱' => 'メ', '㋲' => 'モ', '㋳' => 'ヤ', '㋴' => 'ユ', '㋵' => 'ヨ', '㋶' => 'ラ', '㋷' => 'リ', '㋸' => 'ル', '㋹' => 'レ', '㋺' => 'ロ', '㋻' => 'ワ', '㋼' => 'ヰ', '㋽' => 'ヱ', '㋾' => 'ヲ', '㋿' => '令和', '㌀' => 'アパート', '㌁' => 'アルファ', '㌂' => 'アンペア', '㌃' => 'アール', '㌄' => 'イニング', '㌅' => 'インチ', '㌆' => 'ウォン', '㌇' => 'エスクード', '㌈' => 'エーカー', '㌉' => 'オンス', '㌊' => 'オーム', '㌋' => 'カイリ', '㌌' => 'カラット', '㌍' => 'カロリー', '㌎' => 'ガロン', '㌏' => 'ガンマ', '㌐' => 'ギガ', '㌑' => 'ギニー', '㌒' => 'キュリー', '㌓' => 'ギルダー', '㌔' => 'キロ', '㌕' => 'キログラム', '㌖' => 'キロメートル', '㌗' => 'キロワット', '㌘' => 'グラム', '㌙' => 'グラムトン', '㌚' => 'クルゼイロ', '㌛' => 'クローネ', '㌜' => 'ケース', '㌝' => 'コルナ', '㌞' => 'コーポ', '㌟' => 'サイクル', '㌠' => 'サンチーム', '㌡' => 'シリング', '㌢' => 'センチ', '㌣' => 'セント', '㌤' => 'ダース', '㌥' => 'デシ', '㌦' => 'ドル', '㌧' => 'トン', '㌨' => 'ナノ', '㌩' => 'ノット', '㌪' => 'ハイツ', '㌫' => 'パーセント', '㌬' => 'パーツ', '㌭' => 'バーレル', '㌮' => 'ピアストル', '㌯' => 'ピクル', '㌰' => 'ピコ', '㌱' => 'ビル', '㌲' => 'ファラッド', '㌳' => 'フィート', '㌴' => 'ブッシェル', '㌵' => 'フラン', '㌶' => 'ヘクタール', '㌷' => 'ペソ', '㌸' => 'ペニヒ', '㌹' => 'ヘルツ', '㌺' => 'ペンス', '㌻' => 'ページ', '㌼' => 'ベータ', '㌽' => 'ポイント', '㌾' => 'ボルト', '㌿' => 'ホン', '㍀' => 'ポンド', '㍁' => 'ホール', '㍂' => 'ホーン', '㍃' => 'マイクロ', '㍄' => 'マイル', '㍅' => 'マッハ', '㍆' => 'マルク', '㍇' => 'マンション', '㍈' => 'ミクロン', '㍉' => 'ミリ', '㍊' => 'ミリバール', '㍋' => 'メガ', '㍌' => 'メガトン', '㍍' => 'メートル', '㍎' => 'ヤード', '㍏' => 'ヤール', '㍐' => 'ユアン', '㍑' => 'リットル', '㍒' => 'リラ', '㍓' => 'ルピー', '㍔' => 'ルーブル', '㍕' => 'レム', '㍖' => 'レントゲン', '㍗' => 'ワット', '㍘' => '0点', '㍙' => '1点', '㍚' => '2点', '㍛' => '3点', '㍜' => '4点', '㍝' => '5点', '㍞' => '6点', '㍟' => '7点', '㍠' => '8点', '㍡' => '9点', '㍢' => '10点', '㍣' => '11点', '㍤' => '12点', '㍥' => '13点', '㍦' => '14点', '㍧' => '15点', '㍨' => '16点', '㍩' => '17点', '㍪' => '18点', '㍫' => '19点', '㍬' => '20点', '㍭' => '21点', '㍮' => '22点', '㍯' => '23点', '㍰' => '24点', '㍱' => 'hPa', '㍲' => 'da', '㍳' => 'AU', '㍴' => 'bar', '㍵' => 'oV', '㍶' => 'pc', '㍷' => 'dm', '㍸' => 'dm2', '㍹' => 'dm3', '㍺' => 'IU', '㍻' => '平成', '㍼' => '昭和', '㍽' => '大正', '㍾' => '明治', '㍿' => '株式会社', '㎀' => 'pA', '㎁' => 'nA', '㎂' => 'μA', '㎃' => 'mA', '㎄' => 'kA', '㎅' => 'KB', '㎆' => 'MB', '㎇' => 'GB', '㎈' => 'cal', '㎉' => 'kcal', '㎊' => 'pF', '㎋' => 'nF', '㎌' => 'μF', '㎍' => 'μg', '㎎' => 'mg', '㎏' => 'kg', '㎐' => 'Hz', '㎑' => 'kHz', '㎒' => 'MHz', '㎓' => 'GHz', '㎔' => 'THz', '㎕' => 'μl', '㎖' => 'ml', '㎗' => 'dl', '㎘' => 'kl', '㎙' => 'fm', '㎚' => 'nm', '㎛' => 'μm', '㎜' => 'mm', '㎝' => 'cm', '㎞' => 'km', '㎟' => 'mm2', '㎠' => 'cm2', '㎡' => 'm2', '㎢' => 'km2', '㎣' => 'mm3', '㎤' => 'cm3', '㎥' => 'm3', '㎦' => 'km3', '㎧' => 'm∕s', '㎨' => 'm∕s2', '㎩' => 'Pa', '㎪' => 'kPa', '㎫' => 'MPa', '㎬' => 'GPa', '㎭' => 'rad', '㎮' => 'rad∕s', '㎯' => 'rad∕s2', '㎰' => 'ps', '㎱' => 'ns', '㎲' => 'μs', '㎳' => 'ms', '㎴' => 'pV', '㎵' => 'nV', '㎶' => 'μV', '㎷' => 'mV', '㎸' => 'kV', '㎹' => 'MV', '㎺' => 'pW', '㎻' => 'nW', '㎼' => 'μW', '㎽' => 'mW', '㎾' => 'kW', '㎿' => 'MW', '㏀' => 'kΩ', '㏁' => 'MΩ', '㏂' => 'a.m.', '㏃' => 'Bq', '㏄' => 'cc', '㏅' => 'cd', '㏆' => 'C∕kg', '㏇' => 'Co.', '㏈' => 'dB', '㏉' => 'Gy', '㏊' => 'ha', '㏋' => 'HP', '㏌' => 'in', '㏍' => 'KK', '㏎' => 'KM', '㏏' => 'kt', '㏐' => 'lm', '㏑' => 'ln', '㏒' => 'log', '㏓' => 'lx', '㏔' => 'mb', '㏕' => 'mil', '㏖' => 'mol', '㏗' => 'PH', '㏘' => 'p.m.', '㏙' => 'PPM', '㏚' => 'PR', '㏛' => 'sr', '㏜' => 'Sv', '㏝' => 'Wb', '㏞' => 'V∕m', '㏟' => 'A∕m', '㏠' => '1日', '㏡' => '2日', '㏢' => '3日', '㏣' => '4日', '㏤' => '5日', '㏥' => '6日', '㏦' => '7日', '㏧' => '8日', '㏨' => '9日', '㏩' => '10日', '㏪' => '11日', '㏫' => '12日', '㏬' => '13日', '㏭' => '14日', '㏮' => '15日', '㏯' => '16日', '㏰' => '17日', '㏱' => '18日', '㏲' => '19日', '㏳' => '20日', '㏴' => '21日', '㏵' => '22日', '㏶' => '23日', '㏷' => '24日', '㏸' => '25日', '㏹' => '26日', '㏺' => '27日', '㏻' => '28日', '㏼' => '29日', '㏽' => '30日', '㏾' => '31日', '㏿' => 'gal', 'ꚜ' => 'ъ', 'ꚝ' => 'ь', 'ꝰ' => 'ꝯ', 'ꟸ' => 'Ħ', 'ꟹ' => 'œ', 'ꭜ' => 'ꜧ', 'ꭝ' => 'ꬷ', 'ꭞ' => 'ɫ', 'ꭟ' => 'ꭒ', 'ꭩ' => 'ʍ', 'ff' => 'ff', 'fi' => 'fi', 'fl' => 'fl', 'ffi' => 'ffi', 'ffl' => 'ffl', 'ſt' => 'st', 'st' => 'st', 'ﬓ' => 'մն', 'ﬔ' => 'մե', 'ﬕ' => 'մի', 'ﬖ' => 'վն', 'ﬗ' => 'մխ', 'ﬠ' => 'ע', 'ﬡ' => 'א', 'ﬢ' => 'ד', 'ﬣ' => 'ה', 'ﬤ' => 'כ', 'ﬥ' => 'ל', 'ﬦ' => 'ם', 'ﬧ' => 'ר', 'ﬨ' => 'ת', '﬩' => '+', 'ﭏ' => 'אל', 'ﭐ' => 'ٱ', 'ﭑ' => 'ٱ', 'ﭒ' => 'ٻ', 'ﭓ' => 'ٻ', 'ﭔ' => 'ٻ', 'ﭕ' => 'ٻ', 'ﭖ' => 'پ', 'ﭗ' => 'پ', 'ﭘ' => 'پ', 'ﭙ' => 'پ', 'ﭚ' => 'ڀ', 'ﭛ' => 'ڀ', 'ﭜ' => 'ڀ', 'ﭝ' => 'ڀ', 'ﭞ' => 'ٺ', 'ﭟ' => 'ٺ', 'ﭠ' => 'ٺ', 'ﭡ' => 'ٺ', 'ﭢ' => 'ٿ', 'ﭣ' => 'ٿ', 'ﭤ' => 'ٿ', 'ﭥ' => 'ٿ', 'ﭦ' => 'ٹ', 'ﭧ' => 'ٹ', 'ﭨ' => 'ٹ', 'ﭩ' => 'ٹ', 'ﭪ' => 'ڤ', 'ﭫ' => 'ڤ', 'ﭬ' => 'ڤ', 'ﭭ' => 'ڤ', 'ﭮ' => 'ڦ', 'ﭯ' => 'ڦ', 'ﭰ' => 'ڦ', 'ﭱ' => 'ڦ', 'ﭲ' => 'ڄ', 'ﭳ' => 'ڄ', 'ﭴ' => 'ڄ', 'ﭵ' => 'ڄ', 'ﭶ' => 'ڃ', 'ﭷ' => 'ڃ', 'ﭸ' => 'ڃ', 'ﭹ' => 'ڃ', 'ﭺ' => 'چ', 'ﭻ' => 'چ', 'ﭼ' => 'چ', 'ﭽ' => 'چ', 'ﭾ' => 'ڇ', 'ﭿ' => 'ڇ', 'ﮀ' => 'ڇ', 'ﮁ' => 'ڇ', 'ﮂ' => 'ڍ', 'ﮃ' => 'ڍ', 'ﮄ' => 'ڌ', 'ﮅ' => 'ڌ', 'ﮆ' => 'ڎ', 'ﮇ' => 'ڎ', 'ﮈ' => 'ڈ', 'ﮉ' => 'ڈ', 'ﮊ' => 'ژ', 'ﮋ' => 'ژ', 'ﮌ' => 'ڑ', 'ﮍ' => 'ڑ', 'ﮎ' => 'ک', 'ﮏ' => 'ک', 'ﮐ' => 'ک', 'ﮑ' => 'ک', 'ﮒ' => 'گ', 'ﮓ' => 'گ', 'ﮔ' => 'گ', 'ﮕ' => 'گ', 'ﮖ' => 'ڳ', 'ﮗ' => 'ڳ', 'ﮘ' => 'ڳ', 'ﮙ' => 'ڳ', 'ﮚ' => 'ڱ', 'ﮛ' => 'ڱ', 'ﮜ' => 'ڱ', 'ﮝ' => 'ڱ', 'ﮞ' => 'ں', 'ﮟ' => 'ں', 'ﮠ' => 'ڻ', 'ﮡ' => 'ڻ', 'ﮢ' => 'ڻ', 'ﮣ' => 'ڻ', 'ﮤ' => 'ۀ', 'ﮥ' => 'ۀ', 'ﮦ' => 'ہ', 'ﮧ' => 'ہ', 'ﮨ' => 'ہ', 'ﮩ' => 'ہ', 'ﮪ' => 'ھ', 'ﮫ' => 'ھ', 'ﮬ' => 'ھ', 'ﮭ' => 'ھ', 'ﮮ' => 'ے', 'ﮯ' => 'ے', 'ﮰ' => 'ۓ', 'ﮱ' => 'ۓ', 'ﯓ' => 'ڭ', 'ﯔ' => 'ڭ', 'ﯕ' => 'ڭ', 'ﯖ' => 'ڭ', 'ﯗ' => 'ۇ', 'ﯘ' => 'ۇ', 'ﯙ' => 'ۆ', 'ﯚ' => 'ۆ', 'ﯛ' => 'ۈ', 'ﯜ' => 'ۈ', 'ﯝ' => 'ۇٴ', 'ﯞ' => 'ۋ', 'ﯟ' => 'ۋ', 'ﯠ' => 'ۅ', 'ﯡ' => 'ۅ', 'ﯢ' => 'ۉ', 'ﯣ' => 'ۉ', 'ﯤ' => 'ې', 'ﯥ' => 'ې', 'ﯦ' => 'ې', 'ﯧ' => 'ې', 'ﯨ' => 'ى', 'ﯩ' => 'ى', 'ﯪ' => 'ئا', 'ﯫ' => 'ئا', 'ﯬ' => 'ئە', 'ﯭ' => 'ئە', 'ﯮ' => 'ئو', 'ﯯ' => 'ئو', 'ﯰ' => 'ئۇ', 'ﯱ' => 'ئۇ', 'ﯲ' => 'ئۆ', 'ﯳ' => 'ئۆ', 'ﯴ' => 'ئۈ', 'ﯵ' => 'ئۈ', 'ﯶ' => 'ئې', 'ﯷ' => 'ئې', 'ﯸ' => 'ئې', 'ﯹ' => 'ئى', 'ﯺ' => 'ئى', 'ﯻ' => 'ئى', 'ﯼ' => 'ی', 'ﯽ' => 'ی', 'ﯾ' => 'ی', 'ﯿ' => 'ی', 'ﰀ' => 'ئج', 'ﰁ' => 'ئح', 'ﰂ' => 'ئم', 'ﰃ' => 'ئى', 'ﰄ' => 'ئي', 'ﰅ' => 'بج', 'ﰆ' => 'بح', 'ﰇ' => 'بخ', 'ﰈ' => 'بم', 'ﰉ' => 'بى', 'ﰊ' => 'بي', 'ﰋ' => 'تج', 'ﰌ' => 'تح', 'ﰍ' => 'تخ', 'ﰎ' => 'تم', 'ﰏ' => 'تى', 'ﰐ' => 'تي', 'ﰑ' => 'ثج', 'ﰒ' => 'ثم', 'ﰓ' => 'ثى', 'ﰔ' => 'ثي', 'ﰕ' => 'جح', 'ﰖ' => 'جم', 'ﰗ' => 'حج', 'ﰘ' => 'حم', 'ﰙ' => 'خج', 'ﰚ' => 'خح', 'ﰛ' => 'خم', 'ﰜ' => 'سج', 'ﰝ' => 'سح', 'ﰞ' => 'سخ', 'ﰟ' => 'سم', 'ﰠ' => 'صح', 'ﰡ' => 'صم', 'ﰢ' => 'ضج', 'ﰣ' => 'ضح', 'ﰤ' => 'ضخ', 'ﰥ' => 'ضم', 'ﰦ' => 'طح', 'ﰧ' => 'طم', 'ﰨ' => 'ظم', 'ﰩ' => 'عج', 'ﰪ' => 'عم', 'ﰫ' => 'غج', 'ﰬ' => 'غم', 'ﰭ' => 'فج', 'ﰮ' => 'فح', 'ﰯ' => 'فخ', 'ﰰ' => 'فم', 'ﰱ' => 'فى', 'ﰲ' => 'في', 'ﰳ' => 'قح', 'ﰴ' => 'قم', 'ﰵ' => 'قى', 'ﰶ' => 'قي', 'ﰷ' => 'كا', 'ﰸ' => 'كج', 'ﰹ' => 'كح', 'ﰺ' => 'كخ', 'ﰻ' => 'كل', 'ﰼ' => 'كم', 'ﰽ' => 'كى', 'ﰾ' => 'كي', 'ﰿ' => 'لج', 'ﱀ' => 'لح', 'ﱁ' => 'لخ', 'ﱂ' => 'لم', 'ﱃ' => 'لى', 'ﱄ' => 'لي', 'ﱅ' => 'مج', 'ﱆ' => 'مح', 'ﱇ' => 'مخ', 'ﱈ' => 'مم', 'ﱉ' => 'مى', 'ﱊ' => 'مي', 'ﱋ' => 'نج', 'ﱌ' => 'نح', 'ﱍ' => 'نخ', 'ﱎ' => 'نم', 'ﱏ' => 'نى', 'ﱐ' => 'ني', 'ﱑ' => 'هج', 'ﱒ' => 'هم', 'ﱓ' => 'هى', 'ﱔ' => 'هي', 'ﱕ' => 'يج', 'ﱖ' => 'يح', 'ﱗ' => 'يخ', 'ﱘ' => 'يم', 'ﱙ' => 'يى', 'ﱚ' => 'يي', 'ﱛ' => 'ذٰ', 'ﱜ' => 'رٰ', 'ﱝ' => 'ىٰ', 'ﱞ' => ' ٌّ', 'ﱟ' => ' ٍّ', 'ﱠ' => ' َّ', 'ﱡ' => ' ُّ', 'ﱢ' => ' ِّ', 'ﱣ' => ' ّٰ', 'ﱤ' => 'ئر', 'ﱥ' => 'ئز', 'ﱦ' => 'ئم', 'ﱧ' => 'ئن', 'ﱨ' => 'ئى', 'ﱩ' => 'ئي', 'ﱪ' => 'بر', 'ﱫ' => 'بز', 'ﱬ' => 'بم', 'ﱭ' => 'بن', 'ﱮ' => 'بى', 'ﱯ' => 'بي', 'ﱰ' => 'تر', 'ﱱ' => 'تز', 'ﱲ' => 'تم', 'ﱳ' => 'تن', 'ﱴ' => 'تى', 'ﱵ' => 'تي', 'ﱶ' => 'ثر', 'ﱷ' => 'ثز', 'ﱸ' => 'ثم', 'ﱹ' => 'ثن', 'ﱺ' => 'ثى', 'ﱻ' => 'ثي', 'ﱼ' => 'فى', 'ﱽ' => 'في', 'ﱾ' => 'قى', 'ﱿ' => 'قي', 'ﲀ' => 'كا', 'ﲁ' => 'كل', 'ﲂ' => 'كم', 'ﲃ' => 'كى', 'ﲄ' => 'كي', 'ﲅ' => 'لم', 'ﲆ' => 'لى', 'ﲇ' => 'لي', 'ﲈ' => 'ما', 'ﲉ' => 'مم', 'ﲊ' => 'نر', 'ﲋ' => 'نز', 'ﲌ' => 'نم', 'ﲍ' => 'نن', 'ﲎ' => 'نى', 'ﲏ' => 'ني', 'ﲐ' => 'ىٰ', 'ﲑ' => 'ير', 'ﲒ' => 'يز', 'ﲓ' => 'يم', 'ﲔ' => 'ين', 'ﲕ' => 'يى', 'ﲖ' => 'يي', 'ﲗ' => 'ئج', 'ﲘ' => 'ئح', 'ﲙ' => 'ئخ', 'ﲚ' => 'ئم', 'ﲛ' => 'ئه', 'ﲜ' => 'بج', 'ﲝ' => 'بح', 'ﲞ' => 'بخ', 'ﲟ' => 'بم', 'ﲠ' => 'به', 'ﲡ' => 'تج', 'ﲢ' => 'تح', 'ﲣ' => 'تخ', 'ﲤ' => 'تم', 'ﲥ' => 'ته', 'ﲦ' => 'ثم', 'ﲧ' => 'جح', 'ﲨ' => 'جم', 'ﲩ' => 'حج', 'ﲪ' => 'حم', 'ﲫ' => 'خج', 'ﲬ' => 'خم', 'ﲭ' => 'سج', 'ﲮ' => 'سح', 'ﲯ' => 'سخ', 'ﲰ' => 'سم', 'ﲱ' => 'صح', 'ﲲ' => 'صخ', 'ﲳ' => 'صم', 'ﲴ' => 'ضج', 'ﲵ' => 'ضح', 'ﲶ' => 'ضخ', 'ﲷ' => 'ضم', 'ﲸ' => 'طح', 'ﲹ' => 'ظم', 'ﲺ' => 'عج', 'ﲻ' => 'عم', 'ﲼ' => 'غج', 'ﲽ' => 'غم', 'ﲾ' => 'فج', 'ﲿ' => 'فح', 'ﳀ' => 'فخ', 'ﳁ' => 'فم', 'ﳂ' => 'قح', 'ﳃ' => 'قم', 'ﳄ' => 'كج', 'ﳅ' => 'كح', 'ﳆ' => 'كخ', 'ﳇ' => 'كل', 'ﳈ' => 'كم', 'ﳉ' => 'لج', 'ﳊ' => 'لح', 'ﳋ' => 'لخ', 'ﳌ' => 'لم', 'ﳍ' => 'له', 'ﳎ' => 'مج', 'ﳏ' => 'مح', 'ﳐ' => 'مخ', 'ﳑ' => 'مم', 'ﳒ' => 'نج', 'ﳓ' => 'نح', 'ﳔ' => 'نخ', 'ﳕ' => 'نم', 'ﳖ' => 'نه', 'ﳗ' => 'هج', 'ﳘ' => 'هم', 'ﳙ' => 'هٰ', 'ﳚ' => 'يج', 'ﳛ' => 'يح', 'ﳜ' => 'يخ', 'ﳝ' => 'يم', 'ﳞ' => 'يه', 'ﳟ' => 'ئم', 'ﳠ' => 'ئه', 'ﳡ' => 'بم', 'ﳢ' => 'به', 'ﳣ' => 'تم', 'ﳤ' => 'ته', 'ﳥ' => 'ثم', 'ﳦ' => 'ثه', 'ﳧ' => 'سم', 'ﳨ' => 'سه', 'ﳩ' => 'شم', 'ﳪ' => 'شه', 'ﳫ' => 'كل', 'ﳬ' => 'كم', 'ﳭ' => 'لم', 'ﳮ' => 'نم', 'ﳯ' => 'نه', 'ﳰ' => 'يم', 'ﳱ' => 'يه', 'ﳲ' => 'ـَّ', 'ﳳ' => 'ـُّ', 'ﳴ' => 'ـِّ', 'ﳵ' => 'طى', 'ﳶ' => 'طي', 'ﳷ' => 'عى', 'ﳸ' => 'عي', 'ﳹ' => 'غى', 'ﳺ' => 'غي', 'ﳻ' => 'سى', 'ﳼ' => 'سي', 'ﳽ' => 'شى', 'ﳾ' => 'شي', 'ﳿ' => 'حى', 'ﴀ' => 'حي', 'ﴁ' => 'جى', 'ﴂ' => 'جي', 'ﴃ' => 'خى', 'ﴄ' => 'خي', 'ﴅ' => 'صى', 'ﴆ' => 'صي', 'ﴇ' => 'ضى', 'ﴈ' => 'ضي', 'ﴉ' => 'شج', 'ﴊ' => 'شح', 'ﴋ' => 'شخ', 'ﴌ' => 'شم', 'ﴍ' => 'شر', 'ﴎ' => 'سر', 'ﴏ' => 'صر', 'ﴐ' => 'ضر', 'ﴑ' => 'طى', 'ﴒ' => 'طي', 'ﴓ' => 'عى', 'ﴔ' => 'عي', 'ﴕ' => 'غى', 'ﴖ' => 'غي', 'ﴗ' => 'سى', 'ﴘ' => 'سي', 'ﴙ' => 'شى', 'ﴚ' => 'شي', 'ﴛ' => 'حى', 'ﴜ' => 'حي', 'ﴝ' => 'جى', 'ﴞ' => 'جي', 'ﴟ' => 'خى', 'ﴠ' => 'خي', 'ﴡ' => 'صى', 'ﴢ' => 'صي', 'ﴣ' => 'ضى', 'ﴤ' => 'ضي', 'ﴥ' => 'شج', 'ﴦ' => 'شح', 'ﴧ' => 'شخ', 'ﴨ' => 'شم', 'ﴩ' => 'شر', 'ﴪ' => 'سر', 'ﴫ' => 'صر', 'ﴬ' => 'ضر', 'ﴭ' => 'شج', 'ﴮ' => 'شح', 'ﴯ' => 'شخ', 'ﴰ' => 'شم', 'ﴱ' => 'سه', 'ﴲ' => 'شه', 'ﴳ' => 'طم', 'ﴴ' => 'سج', 'ﴵ' => 'سح', 'ﴶ' => 'سخ', 'ﴷ' => 'شج', 'ﴸ' => 'شح', 'ﴹ' => 'شخ', 'ﴺ' => 'طم', 'ﴻ' => 'ظم', 'ﴼ' => 'اً', 'ﴽ' => 'اً', 'ﵐ' => 'تجم', 'ﵑ' => 'تحج', 'ﵒ' => 'تحج', 'ﵓ' => 'تحم', 'ﵔ' => 'تخم', 'ﵕ' => 'تمج', 'ﵖ' => 'تمح', 'ﵗ' => 'تمخ', 'ﵘ' => 'جمح', 'ﵙ' => 'جمح', 'ﵚ' => 'حمي', 'ﵛ' => 'حمى', 'ﵜ' => 'سحج', 'ﵝ' => 'سجح', 'ﵞ' => 'سجى', 'ﵟ' => 'سمح', 'ﵠ' => 'سمح', 'ﵡ' => 'سمج', 'ﵢ' => 'سمم', 'ﵣ' => 'سمم', 'ﵤ' => 'صحح', 'ﵥ' => 'صحح', 'ﵦ' => 'صمم', 'ﵧ' => 'شحم', 'ﵨ' => 'شحم', 'ﵩ' => 'شجي', 'ﵪ' => 'شمخ', 'ﵫ' => 'شمخ', 'ﵬ' => 'شمم', 'ﵭ' => 'شمم', 'ﵮ' => 'ضحى', 'ﵯ' => 'ضخم', 'ﵰ' => 'ضخم', 'ﵱ' => 'طمح', 'ﵲ' => 'طمح', 'ﵳ' => 'طمم', 'ﵴ' => 'طمي', 'ﵵ' => 'عجم', 'ﵶ' => 'عمم', 'ﵷ' => 'عمم', 'ﵸ' => 'عمى', 'ﵹ' => 'غمم', 'ﵺ' => 'غمي', 'ﵻ' => 'غمى', 'ﵼ' => 'فخم', 'ﵽ' => 'فخم', 'ﵾ' => 'قمح', 'ﵿ' => 'قمم', 'ﶀ' => 'لحم', 'ﶁ' => 'لحي', 'ﶂ' => 'لحى', 'ﶃ' => 'لجج', 'ﶄ' => 'لجج', 'ﶅ' => 'لخم', 'ﶆ' => 'لخم', 'ﶇ' => 'لمح', 'ﶈ' => 'لمح', 'ﶉ' => 'محج', 'ﶊ' => 'محم', 'ﶋ' => 'محي', 'ﶌ' => 'مجح', 'ﶍ' => 'مجم', 'ﶎ' => 'مخج', 'ﶏ' => 'مخم', 'ﶒ' => 'مجخ', 'ﶓ' => 'همج', 'ﶔ' => 'همم', 'ﶕ' => 'نحم', 'ﶖ' => 'نحى', 'ﶗ' => 'نجم', 'ﶘ' => 'نجم', 'ﶙ' => 'نجى', 'ﶚ' => 'نمي', 'ﶛ' => 'نمى', 'ﶜ' => 'يمم', 'ﶝ' => 'يمم', 'ﶞ' => 'بخي', 'ﶟ' => 'تجي', 'ﶠ' => 'تجى', 'ﶡ' => 'تخي', 'ﶢ' => 'تخى', 'ﶣ' => 'تمي', 'ﶤ' => 'تمى', 'ﶥ' => 'جمي', 'ﶦ' => 'جحى', 'ﶧ' => 'جمى', 'ﶨ' => 'سخى', 'ﶩ' => 'صحي', 'ﶪ' => 'شحي', 'ﶫ' => 'ضحي', 'ﶬ' => 'لجي', 'ﶭ' => 'لمي', 'ﶮ' => 'يحي', 'ﶯ' => 'يجي', 'ﶰ' => 'يمي', 'ﶱ' => 'ممي', 'ﶲ' => 'قمي', 'ﶳ' => 'نحي', 'ﶴ' => 'قمح', 'ﶵ' => 'لحم', 'ﶶ' => 'عمي', 'ﶷ' => 'كمي', 'ﶸ' => 'نجح', 'ﶹ' => 'مخي', 'ﶺ' => 'لجم', 'ﶻ' => 'كمم', 'ﶼ' => 'لجم', 'ﶽ' => 'نجح', 'ﶾ' => 'جحي', 'ﶿ' => 'حجي', 'ﷀ' => 'مجي', 'ﷁ' => 'فمي', 'ﷂ' => 'بحي', 'ﷃ' => 'كمم', 'ﷄ' => 'عجم', 'ﷅ' => 'صمم', 'ﷆ' => 'سخي', 'ﷇ' => 'نجي', 'ﷰ' => 'صلے', 'ﷱ' => 'قلے', 'ﷲ' => 'الله', 'ﷳ' => 'اكبر', 'ﷴ' => 'محمد', 'ﷵ' => 'صلعم', 'ﷶ' => 'رسول', 'ﷷ' => 'عليه', 'ﷸ' => 'وسلم', 'ﷹ' => 'صلى', 'ﷺ' => 'صلى الله عليه وسلم', 'ﷻ' => 'جل جلاله', '﷼' => 'ریال', '︐' => ',', '︑' => '、', '︒' => '。', '︓' => ':', '︔' => ';', '︕' => '!', '︖' => '?', '︗' => '〖', '︘' => '〗', '︙' => '...', '︰' => '..', '︱' => '—', '︲' => '–', '︳' => '_', '︴' => '_', '︵' => '(', '︶' => ')', '︷' => '{', '︸' => '}', '︹' => '〔', '︺' => '〕', '︻' => '【', '︼' => '】', '︽' => '《', '︾' => '》', '︿' => '〈', '﹀' => '〉', '﹁' => '「', '﹂' => '」', '﹃' => '『', '﹄' => '』', '﹇' => '[', '﹈' => ']', '﹉' => ' ̅', '﹊' => ' ̅', '﹋' => ' ̅', '﹌' => ' ̅', '﹍' => '_', '﹎' => '_', '﹏' => '_', '﹐' => ',', '﹑' => '、', '﹒' => '.', '﹔' => ';', '﹕' => ':', '﹖' => '?', '﹗' => '!', '﹘' => '—', '﹙' => '(', '﹚' => ')', '﹛' => '{', '﹜' => '}', '﹝' => '〔', '﹞' => '〕', '﹟' => '#', '﹠' => '&', '﹡' => '*', '﹢' => '+', '﹣' => '-', '﹤' => '<', '﹥' => '>', '﹦' => '=', '﹨' => '\\', '﹩' => '$', '﹪' => '%', '﹫' => '@', 'ﹰ' => ' ً', 'ﹱ' => 'ـً', 'ﹲ' => ' ٌ', 'ﹴ' => ' ٍ', 'ﹶ' => ' َ', 'ﹷ' => 'ـَ', 'ﹸ' => ' ُ', 'ﹹ' => 'ـُ', 'ﹺ' => ' ِ', 'ﹻ' => 'ـِ', 'ﹼ' => ' ّ', 'ﹽ' => 'ـّ', 'ﹾ' => ' ْ', 'ﹿ' => 'ـْ', 'ﺀ' => 'ء', 'ﺁ' => 'آ', 'ﺂ' => 'آ', 'ﺃ' => 'أ', 'ﺄ' => 'أ', 'ﺅ' => 'ؤ', 'ﺆ' => 'ؤ', 'ﺇ' => 'إ', 'ﺈ' => 'إ', 'ﺉ' => 'ئ', 'ﺊ' => 'ئ', 'ﺋ' => 'ئ', 'ﺌ' => 'ئ', 'ﺍ' => 'ا', 'ﺎ' => 'ا', 'ﺏ' => 'ب', 'ﺐ' => 'ب', 'ﺑ' => 'ب', 'ﺒ' => 'ب', 'ﺓ' => 'ة', 'ﺔ' => 'ة', 'ﺕ' => 'ت', 'ﺖ' => 'ت', 'ﺗ' => 'ت', 'ﺘ' => 'ت', 'ﺙ' => 'ث', 'ﺚ' => 'ث', 'ﺛ' => 'ث', 'ﺜ' => 'ث', 'ﺝ' => 'ج', 'ﺞ' => 'ج', 'ﺟ' => 'ج', 'ﺠ' => 'ج', 'ﺡ' => 'ح', 'ﺢ' => 'ح', 'ﺣ' => 'ح', 'ﺤ' => 'ح', 'ﺥ' => 'خ', 'ﺦ' => 'خ', 'ﺧ' => 'خ', 'ﺨ' => 'خ', 'ﺩ' => 'د', 'ﺪ' => 'د', 'ﺫ' => 'ذ', 'ﺬ' => 'ذ', 'ﺭ' => 'ر', 'ﺮ' => 'ر', 'ﺯ' => 'ز', 'ﺰ' => 'ز', 'ﺱ' => 'س', 'ﺲ' => 'س', 'ﺳ' => 'س', 'ﺴ' => 'س', 'ﺵ' => 'ش', 'ﺶ' => 'ش', 'ﺷ' => 'ش', 'ﺸ' => 'ش', 'ﺹ' => 'ص', 'ﺺ' => 'ص', 'ﺻ' => 'ص', 'ﺼ' => 'ص', 'ﺽ' => 'ض', 'ﺾ' => 'ض', 'ﺿ' => 'ض', 'ﻀ' => 'ض', 'ﻁ' => 'ط', 'ﻂ' => 'ط', 'ﻃ' => 'ط', 'ﻄ' => 'ط', 'ﻅ' => 'ظ', 'ﻆ' => 'ظ', 'ﻇ' => 'ظ', 'ﻈ' => 'ظ', 'ﻉ' => 'ع', 'ﻊ' => 'ع', 'ﻋ' => 'ع', 'ﻌ' => 'ع', 'ﻍ' => 'غ', 'ﻎ' => 'غ', 'ﻏ' => 'غ', 'ﻐ' => 'غ', 'ﻑ' => 'ف', 'ﻒ' => 'ف', 'ﻓ' => 'ف', 'ﻔ' => 'ف', 'ﻕ' => 'ق', 'ﻖ' => 'ق', 'ﻗ' => 'ق', 'ﻘ' => 'ق', 'ﻙ' => 'ك', 'ﻚ' => 'ك', 'ﻛ' => 'ك', 'ﻜ' => 'ك', 'ﻝ' => 'ل', 'ﻞ' => 'ل', 'ﻟ' => 'ل', 'ﻠ' => 'ل', 'ﻡ' => 'م', 'ﻢ' => 'م', 'ﻣ' => 'م', 'ﻤ' => 'م', 'ﻥ' => 'ن', 'ﻦ' => 'ن', 'ﻧ' => 'ن', 'ﻨ' => 'ن', 'ﻩ' => 'ه', 'ﻪ' => 'ه', 'ﻫ' => 'ه', 'ﻬ' => 'ه', 'ﻭ' => 'و', 'ﻮ' => 'و', 'ﻯ' => 'ى', 'ﻰ' => 'ى', 'ﻱ' => 'ي', 'ﻲ' => 'ي', 'ﻳ' => 'ي', 'ﻴ' => 'ي', 'ﻵ' => 'لآ', 'ﻶ' => 'لآ', 'ﻷ' => 'لأ', 'ﻸ' => 'لأ', 'ﻹ' => 'لإ', 'ﻺ' => 'لإ', 'ﻻ' => 'لا', 'ﻼ' => 'لا', '!' => '!', '"' => '"', '#' => '#', '$' => '$', '%' => '%', '&' => '&', ''' => '\'', '(' => '(', ')' => ')', '*' => '*', '+' => '+', ',' => ',', '-' => '-', '.' => '.', '/' => '/', '0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', ':' => ':', ';' => ';', '<' => '<', '=' => '=', '>' => '>', '?' => '?', '@' => '@', 'A' => 'A', 'B' => 'B', 'C' => 'C', 'D' => 'D', 'E' => 'E', 'F' => 'F', 'G' => 'G', 'H' => 'H', 'I' => 'I', 'J' => 'J', 'K' => 'K', 'L' => 'L', 'M' => 'M', 'N' => 'N', 'O' => 'O', 'P' => 'P', 'Q' => 'Q', 'R' => 'R', 'S' => 'S', 'T' => 'T', 'U' => 'U', 'V' => 'V', 'W' => 'W', 'X' => 'X', 'Y' => 'Y', 'Z' => 'Z', '[' => '[', '\' => '\\', ']' => ']', '^' => '^', '_' => '_', '`' => '`', 'a' => 'a', 'b' => 'b', 'c' => 'c', 'd' => 'd', 'e' => 'e', 'f' => 'f', 'g' => 'g', 'h' => 'h', 'i' => 'i', 'j' => 'j', 'k' => 'k', 'l' => 'l', 'm' => 'm', 'n' => 'n', 'o' => 'o', 'p' => 'p', 'q' => 'q', 'r' => 'r', 's' => 's', 't' => 't', 'u' => 'u', 'v' => 'v', 'w' => 'w', 'x' => 'x', 'y' => 'y', 'z' => 'z', '{' => '{', '|' => '|', '}' => '}', '~' => '~', '⦅' => '⦅', '⦆' => '⦆', '。' => '。', '「' => '「', '」' => '」', '、' => '、', '・' => '・', 'ヲ' => 'ヲ', 'ァ' => 'ァ', 'ィ' => 'ィ', 'ゥ' => 'ゥ', 'ェ' => 'ェ', 'ォ' => 'ォ', 'ャ' => 'ャ', 'ュ' => 'ュ', 'ョ' => 'ョ', 'ッ' => 'ッ', 'ー' => 'ー', 'ア' => 'ア', 'イ' => 'イ', 'ウ' => 'ウ', 'エ' => 'エ', 'オ' => 'オ', 'カ' => 'カ', 'キ' => 'キ', 'ク' => 'ク', 'ケ' => 'ケ', 'コ' => 'コ', 'サ' => 'サ', 'シ' => 'シ', 'ス' => 'ス', 'セ' => 'セ', 'ソ' => 'ソ', 'タ' => 'タ', 'チ' => 'チ', 'ツ' => 'ツ', 'テ' => 'テ', 'ト' => 'ト', 'ナ' => 'ナ', 'ニ' => 'ニ', 'ヌ' => 'ヌ', 'ネ' => 'ネ', 'ノ' => 'ノ', 'ハ' => 'ハ', 'ヒ' => 'ヒ', 'フ' => 'フ', 'ヘ' => 'ヘ', 'ホ' => 'ホ', 'マ' => 'マ', 'ミ' => 'ミ', 'ム' => 'ム', 'メ' => 'メ', 'モ' => 'モ', 'ヤ' => 'ヤ', 'ユ' => 'ユ', 'ヨ' => 'ヨ', 'ラ' => 'ラ', 'リ' => 'リ', 'ル' => 'ル', 'レ' => 'レ', 'ロ' => 'ロ', 'ワ' => 'ワ', 'ン' => 'ン', '゙' => '゙', '゚' => '゚', 'ᅠ' => 'ᅠ', 'ᄀ' => 'ᄀ', 'ᄁ' => 'ᄁ', 'ᆪ' => 'ᆪ', 'ᄂ' => 'ᄂ', 'ᆬ' => 'ᆬ', 'ᆭ' => 'ᆭ', 'ᄃ' => 'ᄃ', 'ᄄ' => 'ᄄ', 'ᄅ' => 'ᄅ', 'ᆰ' => 'ᆰ', 'ᆱ' => 'ᆱ', 'ᆲ' => 'ᆲ', 'ᆳ' => 'ᆳ', 'ᆴ' => 'ᆴ', 'ᆵ' => 'ᆵ', 'ᄚ' => 'ᄚ', 'ᄆ' => 'ᄆ', 'ᄇ' => 'ᄇ', 'ᄈ' => 'ᄈ', 'ᄡ' => 'ᄡ', 'ᄉ' => 'ᄉ', 'ᄊ' => 'ᄊ', 'ᄋ' => 'ᄋ', 'ᄌ' => 'ᄌ', 'ᄍ' => 'ᄍ', 'ᄎ' => 'ᄎ', 'ᄏ' => 'ᄏ', 'ᄐ' => 'ᄐ', 'ᄑ' => 'ᄑ', 'ᄒ' => 'ᄒ', 'ᅡ' => 'ᅡ', 'ᅢ' => 'ᅢ', 'ᅣ' => 'ᅣ', 'ᅤ' => 'ᅤ', 'ᅥ' => 'ᅥ', 'ᅦ' => 'ᅦ', 'ᅧ' => 'ᅧ', 'ᅨ' => 'ᅨ', 'ᅩ' => 'ᅩ', 'ᅪ' => 'ᅪ', 'ᅫ' => 'ᅫ', 'ᅬ' => 'ᅬ', 'ᅭ' => 'ᅭ', 'ᅮ' => 'ᅮ', 'ᅯ' => 'ᅯ', 'ᅰ' => 'ᅰ', 'ᅱ' => 'ᅱ', 'ᅲ' => 'ᅲ', 'ᅳ' => 'ᅳ', 'ᅴ' => 'ᅴ', 'ᅵ' => 'ᅵ', '¢' => '¢', '£' => '£', '¬' => '¬', ' ̄' => ' ̄', '¦' => '¦', '¥' => '¥', '₩' => '₩', '│' => '│', '←' => '←', '↑' => '↑', '→' => '→', '↓' => '↓', '■' => '■', '○' => '○', '𝐀' => 'A', '𝐁' => 'B', '𝐂' => 'C', '𝐃' => 'D', '𝐄' => 'E', '𝐅' => 'F', '𝐆' => 'G', '𝐇' => 'H', '𝐈' => 'I', '𝐉' => 'J', '𝐊' => 'K', '𝐋' => 'L', '𝐌' => 'M', '𝐍' => 'N', '𝐎' => 'O', '𝐏' => 'P', '𝐐' => 'Q', '𝐑' => 'R', '𝐒' => 'S', '𝐓' => 'T', '𝐔' => 'U', '𝐕' => 'V', '𝐖' => 'W', '𝐗' => 'X', '𝐘' => 'Y', '𝐙' => 'Z', '𝐚' => 'a', '𝐛' => 'b', '𝐜' => 'c', '𝐝' => 'd', '𝐞' => 'e', '𝐟' => 'f', '𝐠' => 'g', '𝐡' => 'h', '𝐢' => 'i', '𝐣' => 'j', '𝐤' => 'k', '𝐥' => 'l', '𝐦' => 'm', '𝐧' => 'n', '𝐨' => 'o', '𝐩' => 'p', '𝐪' => 'q', '𝐫' => 'r', '𝐬' => 's', '𝐭' => 't', '𝐮' => 'u', '𝐯' => 'v', '𝐰' => 'w', '𝐱' => 'x', '𝐲' => 'y', '𝐳' => 'z', '𝐴' => 'A', '𝐵' => 'B', '𝐶' => 'C', '𝐷' => 'D', '𝐸' => 'E', '𝐹' => 'F', '𝐺' => 'G', '𝐻' => 'H', '𝐼' => 'I', '𝐽' => 'J', '𝐾' => 'K', '𝐿' => 'L', '𝑀' => 'M', '𝑁' => 'N', '𝑂' => 'O', '𝑃' => 'P', '𝑄' => 'Q', '𝑅' => 'R', '𝑆' => 'S', '𝑇' => 'T', '𝑈' => 'U', '𝑉' => 'V', '𝑊' => 'W', '𝑋' => 'X', '𝑌' => 'Y', '𝑍' => 'Z', '𝑎' => 'a', '𝑏' => 'b', '𝑐' => 'c', '𝑑' => 'd', '𝑒' => 'e', '𝑓' => 'f', '𝑔' => 'g', '𝑖' => 'i', '𝑗' => 'j', '𝑘' => 'k', '𝑙' => 'l', '𝑚' => 'm', '𝑛' => 'n', '𝑜' => 'o', '𝑝' => 'p', '𝑞' => 'q', '𝑟' => 'r', '𝑠' => 's', '𝑡' => 't', '𝑢' => 'u', '𝑣' => 'v', '𝑤' => 'w', '𝑥' => 'x', '𝑦' => 'y', '𝑧' => 'z', '𝑨' => 'A', '𝑩' => 'B', '𝑪' => 'C', '𝑫' => 'D', '𝑬' => 'E', '𝑭' => 'F', '𝑮' => 'G', '𝑯' => 'H', '𝑰' => 'I', '𝑱' => 'J', '𝑲' => 'K', '𝑳' => 'L', '𝑴' => 'M', '𝑵' => 'N', '𝑶' => 'O', '𝑷' => 'P', '𝑸' => 'Q', '𝑹' => 'R', '𝑺' => 'S', '𝑻' => 'T', '𝑼' => 'U', '𝑽' => 'V', '𝑾' => 'W', '𝑿' => 'X', '𝒀' => 'Y', '𝒁' => 'Z', '𝒂' => 'a', '𝒃' => 'b', '𝒄' => 'c', '𝒅' => 'd', '𝒆' => 'e', '𝒇' => 'f', '𝒈' => 'g', '𝒉' => 'h', '𝒊' => 'i', '𝒋' => 'j', '𝒌' => 'k', '𝒍' => 'l', '𝒎' => 'm', '𝒏' => 'n', '𝒐' => 'o', '𝒑' => 'p', '𝒒' => 'q', '𝒓' => 'r', '𝒔' => 's', '𝒕' => 't', '𝒖' => 'u', '𝒗' => 'v', '𝒘' => 'w', '𝒙' => 'x', '𝒚' => 'y', '𝒛' => 'z', '𝒜' => 'A', '𝒞' => 'C', '𝒟' => 'D', '𝒢' => 'G', '𝒥' => 'J', '𝒦' => 'K', '𝒩' => 'N', '𝒪' => 'O', '𝒫' => 'P', '𝒬' => 'Q', '𝒮' => 'S', '𝒯' => 'T', '𝒰' => 'U', '𝒱' => 'V', '𝒲' => 'W', '𝒳' => 'X', '𝒴' => 'Y', '𝒵' => 'Z', '𝒶' => 'a', '𝒷' => 'b', '𝒸' => 'c', '𝒹' => 'd', '𝒻' => 'f', '𝒽' => 'h', '𝒾' => 'i', '𝒿' => 'j', '𝓀' => 'k', '𝓁' => 'l', '𝓂' => 'm', '𝓃' => 'n', '𝓅' => 'p', '𝓆' => 'q', '𝓇' => 'r', '𝓈' => 's', '𝓉' => 't', '𝓊' => 'u', '𝓋' => 'v', '𝓌' => 'w', '𝓍' => 'x', '𝓎' => 'y', '𝓏' => 'z', '𝓐' => 'A', '𝓑' => 'B', '𝓒' => 'C', '𝓓' => 'D', '𝓔' => 'E', '𝓕' => 'F', '𝓖' => 'G', '𝓗' => 'H', '𝓘' => 'I', '𝓙' => 'J', '𝓚' => 'K', '𝓛' => 'L', '𝓜' => 'M', '𝓝' => 'N', '𝓞' => 'O', '𝓟' => 'P', '𝓠' => 'Q', '𝓡' => 'R', '𝓢' => 'S', '𝓣' => 'T', '𝓤' => 'U', '𝓥' => 'V', '𝓦' => 'W', '𝓧' => 'X', '𝓨' => 'Y', '𝓩' => 'Z', '𝓪' => 'a', '𝓫' => 'b', '𝓬' => 'c', '𝓭' => 'd', '𝓮' => 'e', '𝓯' => 'f', '𝓰' => 'g', '𝓱' => 'h', '𝓲' => 'i', '𝓳' => 'j', '𝓴' => 'k', '𝓵' => 'l', '𝓶' => 'm', '𝓷' => 'n', '𝓸' => 'o', '𝓹' => 'p', '𝓺' => 'q', '𝓻' => 'r', '𝓼' => 's', '𝓽' => 't', '𝓾' => 'u', '𝓿' => 'v', '𝔀' => 'w', '𝔁' => 'x', '𝔂' => 'y', '𝔃' => 'z', '𝔄' => 'A', '𝔅' => 'B', '𝔇' => 'D', '𝔈' => 'E', '𝔉' => 'F', '𝔊' => 'G', '𝔍' => 'J', '𝔎' => 'K', '𝔏' => 'L', '𝔐' => 'M', '𝔑' => 'N', '𝔒' => 'O', '𝔓' => 'P', '𝔔' => 'Q', '𝔖' => 'S', '𝔗' => 'T', '𝔘' => 'U', '𝔙' => 'V', '𝔚' => 'W', '𝔛' => 'X', '𝔜' => 'Y', '𝔞' => 'a', '𝔟' => 'b', '𝔠' => 'c', '𝔡' => 'd', '𝔢' => 'e', '𝔣' => 'f', '𝔤' => 'g', '𝔥' => 'h', '𝔦' => 'i', '𝔧' => 'j', '𝔨' => 'k', '𝔩' => 'l', '𝔪' => 'm', '𝔫' => 'n', '𝔬' => 'o', '𝔭' => 'p', '𝔮' => 'q', '𝔯' => 'r', '𝔰' => 's', '𝔱' => 't', '𝔲' => 'u', '𝔳' => 'v', '𝔴' => 'w', '𝔵' => 'x', '𝔶' => 'y', '𝔷' => 'z', '𝔸' => 'A', '𝔹' => 'B', '𝔻' => 'D', '𝔼' => 'E', '𝔽' => 'F', '𝔾' => 'G', '𝕀' => 'I', '𝕁' => 'J', '𝕂' => 'K', '𝕃' => 'L', '𝕄' => 'M', '𝕆' => 'O', '𝕊' => 'S', '𝕋' => 'T', '𝕌' => 'U', '𝕍' => 'V', '𝕎' => 'W', '𝕏' => 'X', '𝕐' => 'Y', '𝕒' => 'a', '𝕓' => 'b', '𝕔' => 'c', '𝕕' => 'd', '𝕖' => 'e', '𝕗' => 'f', '𝕘' => 'g', '𝕙' => 'h', '𝕚' => 'i', '𝕛' => 'j', '𝕜' => 'k', '𝕝' => 'l', '𝕞' => 'm', '𝕟' => 'n', '𝕠' => 'o', '𝕡' => 'p', '𝕢' => 'q', '𝕣' => 'r', '𝕤' => 's', '𝕥' => 't', '𝕦' => 'u', '𝕧' => 'v', '𝕨' => 'w', '𝕩' => 'x', '𝕪' => 'y', '𝕫' => 'z', '𝕬' => 'A', '𝕭' => 'B', '𝕮' => 'C', '𝕯' => 'D', '𝕰' => 'E', '𝕱' => 'F', '𝕲' => 'G', '𝕳' => 'H', '𝕴' => 'I', '𝕵' => 'J', '𝕶' => 'K', '𝕷' => 'L', '𝕸' => 'M', '𝕹' => 'N', '𝕺' => 'O', '𝕻' => 'P', '𝕼' => 'Q', '𝕽' => 'R', '𝕾' => 'S', '𝕿' => 'T', '𝖀' => 'U', '𝖁' => 'V', '𝖂' => 'W', '𝖃' => 'X', '𝖄' => 'Y', '𝖅' => 'Z', '𝖆' => 'a', '𝖇' => 'b', '𝖈' => 'c', '𝖉' => 'd', '𝖊' => 'e', '𝖋' => 'f', '𝖌' => 'g', '𝖍' => 'h', '𝖎' => 'i', '𝖏' => 'j', '𝖐' => 'k', '𝖑' => 'l', '𝖒' => 'm', '𝖓' => 'n', '𝖔' => 'o', '𝖕' => 'p', '𝖖' => 'q', '𝖗' => 'r', '𝖘' => 's', '𝖙' => 't', '𝖚' => 'u', '𝖛' => 'v', '𝖜' => 'w', '𝖝' => 'x', '𝖞' => 'y', '𝖟' => 'z', '𝖠' => 'A', '𝖡' => 'B', '𝖢' => 'C', '𝖣' => 'D', '𝖤' => 'E', '𝖥' => 'F', '𝖦' => 'G', '𝖧' => 'H', '𝖨' => 'I', '𝖩' => 'J', '𝖪' => 'K', '𝖫' => 'L', '𝖬' => 'M', '𝖭' => 'N', '𝖮' => 'O', '𝖯' => 'P', '𝖰' => 'Q', '𝖱' => 'R', '𝖲' => 'S', '𝖳' => 'T', '𝖴' => 'U', '𝖵' => 'V', '𝖶' => 'W', '𝖷' => 'X', '𝖸' => 'Y', '𝖹' => 'Z', '𝖺' => 'a', '𝖻' => 'b', '𝖼' => 'c', '𝖽' => 'd', '𝖾' => 'e', '𝖿' => 'f', '𝗀' => 'g', '𝗁' => 'h', '𝗂' => 'i', '𝗃' => 'j', '𝗄' => 'k', '𝗅' => 'l', '𝗆' => 'm', '𝗇' => 'n', '𝗈' => 'o', '𝗉' => 'p', '𝗊' => 'q', '𝗋' => 'r', '𝗌' => 's', '𝗍' => 't', '𝗎' => 'u', '𝗏' => 'v', '𝗐' => 'w', '𝗑' => 'x', '𝗒' => 'y', '𝗓' => 'z', '𝗔' => 'A', '𝗕' => 'B', '𝗖' => 'C', '𝗗' => 'D', '𝗘' => 'E', '𝗙' => 'F', '𝗚' => 'G', '𝗛' => 'H', '𝗜' => 'I', '𝗝' => 'J', '𝗞' => 'K', '𝗟' => 'L', '𝗠' => 'M', '𝗡' => 'N', '𝗢' => 'O', '𝗣' => 'P', '𝗤' => 'Q', '𝗥' => 'R', '𝗦' => 'S', '𝗧' => 'T', '𝗨' => 'U', '𝗩' => 'V', '𝗪' => 'W', '𝗫' => 'X', '𝗬' => 'Y', '𝗭' => 'Z', '𝗮' => 'a', '𝗯' => 'b', '𝗰' => 'c', '𝗱' => 'd', '𝗲' => 'e', '𝗳' => 'f', '𝗴' => 'g', '𝗵' => 'h', '𝗶' => 'i', '𝗷' => 'j', '𝗸' => 'k', '𝗹' => 'l', '𝗺' => 'm', '𝗻' => 'n', '𝗼' => 'o', '𝗽' => 'p', '𝗾' => 'q', '𝗿' => 'r', '𝘀' => 's', '𝘁' => 't', '𝘂' => 'u', '𝘃' => 'v', '𝘄' => 'w', '𝘅' => 'x', '𝘆' => 'y', '𝘇' => 'z', '𝘈' => 'A', '𝘉' => 'B', '𝘊' => 'C', '𝘋' => 'D', '𝘌' => 'E', '𝘍' => 'F', '𝘎' => 'G', '𝘏' => 'H', '𝘐' => 'I', '𝘑' => 'J', '𝘒' => 'K', '𝘓' => 'L', '𝘔' => 'M', '𝘕' => 'N', '𝘖' => 'O', '𝘗' => 'P', '𝘘' => 'Q', '𝘙' => 'R', '𝘚' => 'S', '𝘛' => 'T', '𝘜' => 'U', '𝘝' => 'V', '𝘞' => 'W', '𝘟' => 'X', '𝘠' => 'Y', '𝘡' => 'Z', '𝘢' => 'a', '𝘣' => 'b', '𝘤' => 'c', '𝘥' => 'd', '𝘦' => 'e', '𝘧' => 'f', '𝘨' => 'g', '𝘩' => 'h', '𝘪' => 'i', '𝘫' => 'j', '𝘬' => 'k', '𝘭' => 'l', '𝘮' => 'm', '𝘯' => 'n', '𝘰' => 'o', '𝘱' => 'p', '𝘲' => 'q', '𝘳' => 'r', '𝘴' => 's', '𝘵' => 't', '𝘶' => 'u', '𝘷' => 'v', '𝘸' => 'w', '𝘹' => 'x', '𝘺' => 'y', '𝘻' => 'z', '𝘼' => 'A', '𝘽' => 'B', '𝘾' => 'C', '𝘿' => 'D', '𝙀' => 'E', '𝙁' => 'F', '𝙂' => 'G', '𝙃' => 'H', '𝙄' => 'I', '𝙅' => 'J', '𝙆' => 'K', '𝙇' => 'L', '𝙈' => 'M', '𝙉' => 'N', '𝙊' => 'O', '𝙋' => 'P', '𝙌' => 'Q', '𝙍' => 'R', '𝙎' => 'S', '𝙏' => 'T', '𝙐' => 'U', '𝙑' => 'V', '𝙒' => 'W', '𝙓' => 'X', '𝙔' => 'Y', '𝙕' => 'Z', '𝙖' => 'a', '𝙗' => 'b', '𝙘' => 'c', '𝙙' => 'd', '𝙚' => 'e', '𝙛' => 'f', '𝙜' => 'g', '𝙝' => 'h', '𝙞' => 'i', '𝙟' => 'j', '𝙠' => 'k', '𝙡' => 'l', '𝙢' => 'm', '𝙣' => 'n', '𝙤' => 'o', '𝙥' => 'p', '𝙦' => 'q', '𝙧' => 'r', '𝙨' => 's', '𝙩' => 't', '𝙪' => 'u', '𝙫' => 'v', '𝙬' => 'w', '𝙭' => 'x', '𝙮' => 'y', '𝙯' => 'z', '𝙰' => 'A', '𝙱' => 'B', '𝙲' => 'C', '𝙳' => 'D', '𝙴' => 'E', '𝙵' => 'F', '𝙶' => 'G', '𝙷' => 'H', '𝙸' => 'I', '𝙹' => 'J', '𝙺' => 'K', '𝙻' => 'L', '𝙼' => 'M', '𝙽' => 'N', '𝙾' => 'O', '𝙿' => 'P', '𝚀' => 'Q', '𝚁' => 'R', '𝚂' => 'S', '𝚃' => 'T', '𝚄' => 'U', '𝚅' => 'V', '𝚆' => 'W', '𝚇' => 'X', '𝚈' => 'Y', '𝚉' => 'Z', '𝚊' => 'a', '𝚋' => 'b', '𝚌' => 'c', '𝚍' => 'd', '𝚎' => 'e', '𝚏' => 'f', '𝚐' => 'g', '𝚑' => 'h', '𝚒' => 'i', '𝚓' => 'j', '𝚔' => 'k', '𝚕' => 'l', '𝚖' => 'm', '𝚗' => 'n', '𝚘' => 'o', '𝚙' => 'p', '𝚚' => 'q', '𝚛' => 'r', '𝚜' => 's', '𝚝' => 't', '𝚞' => 'u', '𝚟' => 'v', '𝚠' => 'w', '𝚡' => 'x', '𝚢' => 'y', '𝚣' => 'z', '𝚤' => 'ı', '𝚥' => 'ȷ', '𝚨' => 'Α', '𝚩' => 'Β', '𝚪' => 'Γ', '𝚫' => 'Δ', '𝚬' => 'Ε', '𝚭' => 'Ζ', '𝚮' => 'Η', '𝚯' => 'Θ', '𝚰' => 'Ι', '𝚱' => 'Κ', '𝚲' => 'Λ', '𝚳' => 'Μ', '𝚴' => 'Ν', '𝚵' => 'Ξ', '𝚶' => 'Ο', '𝚷' => 'Π', '𝚸' => 'Ρ', '𝚹' => 'Θ', '𝚺' => 'Σ', '𝚻' => 'Τ', '𝚼' => 'Υ', '𝚽' => 'Φ', '𝚾' => 'Χ', '𝚿' => 'Ψ', '𝛀' => 'Ω', '𝛁' => '∇', '𝛂' => 'α', '𝛃' => 'β', '𝛄' => 'γ', '𝛅' => 'δ', '𝛆' => 'ε', '𝛇' => 'ζ', '𝛈' => 'η', '𝛉' => 'θ', '𝛊' => 'ι', '𝛋' => 'κ', '𝛌' => 'λ', '𝛍' => 'μ', '𝛎' => 'ν', '𝛏' => 'ξ', '𝛐' => 'ο', '𝛑' => 'π', '𝛒' => 'ρ', '𝛓' => 'ς', '𝛔' => 'σ', '𝛕' => 'τ', '𝛖' => 'υ', '𝛗' => 'φ', '𝛘' => 'χ', '𝛙' => 'ψ', '𝛚' => 'ω', '𝛛' => '∂', '𝛜' => 'ε', '𝛝' => 'θ', '𝛞' => 'κ', '𝛟' => 'φ', '𝛠' => 'ρ', '𝛡' => 'π', '𝛢' => 'Α', '𝛣' => 'Β', '𝛤' => 'Γ', '𝛥' => 'Δ', '𝛦' => 'Ε', '𝛧' => 'Ζ', '𝛨' => 'Η', '𝛩' => 'Θ', '𝛪' => 'Ι', '𝛫' => 'Κ', '𝛬' => 'Λ', '𝛭' => 'Μ', '𝛮' => 'Ν', '𝛯' => 'Ξ', '𝛰' => 'Ο', '𝛱' => 'Π', '𝛲' => 'Ρ', '𝛳' => 'Θ', '𝛴' => 'Σ', '𝛵' => 'Τ', '𝛶' => 'Υ', '𝛷' => 'Φ', '𝛸' => 'Χ', '𝛹' => 'Ψ', '𝛺' => 'Ω', '𝛻' => '∇', '𝛼' => 'α', '𝛽' => 'β', '𝛾' => 'γ', '𝛿' => 'δ', '𝜀' => 'ε', '𝜁' => 'ζ', '𝜂' => 'η', '𝜃' => 'θ', '𝜄' => 'ι', '𝜅' => 'κ', '𝜆' => 'λ', '𝜇' => 'μ', '𝜈' => 'ν', '𝜉' => 'ξ', '𝜊' => 'ο', '𝜋' => 'π', '𝜌' => 'ρ', '𝜍' => 'ς', '𝜎' => 'σ', '𝜏' => 'τ', '𝜐' => 'υ', '𝜑' => 'φ', '𝜒' => 'χ', '𝜓' => 'ψ', '𝜔' => 'ω', '𝜕' => '∂', '𝜖' => 'ε', '𝜗' => 'θ', '𝜘' => 'κ', '𝜙' => 'φ', '𝜚' => 'ρ', '𝜛' => 'π', '𝜜' => 'Α', '𝜝' => 'Β', '𝜞' => 'Γ', '𝜟' => 'Δ', '𝜠' => 'Ε', '𝜡' => 'Ζ', '𝜢' => 'Η', '𝜣' => 'Θ', '𝜤' => 'Ι', '𝜥' => 'Κ', '𝜦' => 'Λ', '𝜧' => 'Μ', '𝜨' => 'Ν', '𝜩' => 'Ξ', '𝜪' => 'Ο', '𝜫' => 'Π', '𝜬' => 'Ρ', '𝜭' => 'Θ', '𝜮' => 'Σ', '𝜯' => 'Τ', '𝜰' => 'Υ', '𝜱' => 'Φ', '𝜲' => 'Χ', '𝜳' => 'Ψ', '𝜴' => 'Ω', '𝜵' => '∇', '𝜶' => 'α', '𝜷' => 'β', '𝜸' => 'γ', '𝜹' => 'δ', '𝜺' => 'ε', '𝜻' => 'ζ', '𝜼' => 'η', '𝜽' => 'θ', '𝜾' => 'ι', '𝜿' => 'κ', '𝝀' => 'λ', '𝝁' => 'μ', '𝝂' => 'ν', '𝝃' => 'ξ', '𝝄' => 'ο', '𝝅' => 'π', '𝝆' => 'ρ', '𝝇' => 'ς', '𝝈' => 'σ', '𝝉' => 'τ', '𝝊' => 'υ', '𝝋' => 'φ', '𝝌' => 'χ', '𝝍' => 'ψ', '𝝎' => 'ω', '𝝏' => '∂', '𝝐' => 'ε', '𝝑' => 'θ', '𝝒' => 'κ', '𝝓' => 'φ', '𝝔' => 'ρ', '𝝕' => 'π', '𝝖' => 'Α', '𝝗' => 'Β', '𝝘' => 'Γ', '𝝙' => 'Δ', '𝝚' => 'Ε', '𝝛' => 'Ζ', '𝝜' => 'Η', '𝝝' => 'Θ', '𝝞' => 'Ι', '𝝟' => 'Κ', '𝝠' => 'Λ', '𝝡' => 'Μ', '𝝢' => 'Ν', '𝝣' => 'Ξ', '𝝤' => 'Ο', '𝝥' => 'Π', '𝝦' => 'Ρ', '𝝧' => 'Θ', '𝝨' => 'Σ', '𝝩' => 'Τ', '𝝪' => 'Υ', '𝝫' => 'Φ', '𝝬' => 'Χ', '𝝭' => 'Ψ', '𝝮' => 'Ω', '𝝯' => '∇', '𝝰' => 'α', '𝝱' => 'β', '𝝲' => 'γ', '𝝳' => 'δ', '𝝴' => 'ε', '𝝵' => 'ζ', '𝝶' => 'η', '𝝷' => 'θ', '𝝸' => 'ι', '𝝹' => 'κ', '𝝺' => 'λ', '𝝻' => 'μ', '𝝼' => 'ν', '𝝽' => 'ξ', '𝝾' => 'ο', '𝝿' => 'π', '𝞀' => 'ρ', '𝞁' => 'ς', '𝞂' => 'σ', '𝞃' => 'τ', '𝞄' => 'υ', '𝞅' => 'φ', '𝞆' => 'χ', '𝞇' => 'ψ', '𝞈' => 'ω', '𝞉' => '∂', '𝞊' => 'ε', '𝞋' => 'θ', '𝞌' => 'κ', '𝞍' => 'φ', '𝞎' => 'ρ', '𝞏' => 'π', '𝞐' => 'Α', '𝞑' => 'Β', '𝞒' => 'Γ', '𝞓' => 'Δ', '𝞔' => 'Ε', '𝞕' => 'Ζ', '𝞖' => 'Η', '𝞗' => 'Θ', '𝞘' => 'Ι', '𝞙' => 'Κ', '𝞚' => 'Λ', '𝞛' => 'Μ', '𝞜' => 'Ν', '𝞝' => 'Ξ', '𝞞' => 'Ο', '𝞟' => 'Π', '𝞠' => 'Ρ', '𝞡' => 'Θ', '𝞢' => 'Σ', '𝞣' => 'Τ', '𝞤' => 'Υ', '𝞥' => 'Φ', '𝞦' => 'Χ', '𝞧' => 'Ψ', '𝞨' => 'Ω', '𝞩' => '∇', '𝞪' => 'α', '𝞫' => 'β', '𝞬' => 'γ', '𝞭' => 'δ', '𝞮' => 'ε', '𝞯' => 'ζ', '𝞰' => 'η', '𝞱' => 'θ', '𝞲' => 'ι', '𝞳' => 'κ', '𝞴' => 'λ', '𝞵' => 'μ', '𝞶' => 'ν', '𝞷' => 'ξ', '𝞸' => 'ο', '𝞹' => 'π', '𝞺' => 'ρ', '𝞻' => 'ς', '𝞼' => 'σ', '𝞽' => 'τ', '𝞾' => 'υ', '𝞿' => 'φ', '𝟀' => 'χ', '𝟁' => 'ψ', '𝟂' => 'ω', '𝟃' => '∂', '𝟄' => 'ε', '𝟅' => 'θ', '𝟆' => 'κ', '𝟇' => 'φ', '𝟈' => 'ρ', '𝟉' => 'π', '𝟊' => 'Ϝ', '𝟋' => 'ϝ', '𝟎' => '0', '𝟏' => '1', '𝟐' => '2', '𝟑' => '3', '𝟒' => '4', '𝟓' => '5', '𝟔' => '6', '𝟕' => '7', '𝟖' => '8', '𝟗' => '9', '𝟘' => '0', '𝟙' => '1', '𝟚' => '2', '𝟛' => '3', '𝟜' => '4', '𝟝' => '5', '𝟞' => '6', '𝟟' => '7', '𝟠' => '8', '𝟡' => '9', '𝟢' => '0', '𝟣' => '1', '𝟤' => '2', '𝟥' => '3', '𝟦' => '4', '𝟧' => '5', '𝟨' => '6', '𝟩' => '7', '𝟪' => '8', '𝟫' => '9', '𝟬' => '0', '𝟭' => '1', '𝟮' => '2', '𝟯' => '3', '𝟰' => '4', '𝟱' => '5', '𝟲' => '6', '𝟳' => '7', '𝟴' => '8', '𝟵' => '9', '𝟶' => '0', '𝟷' => '1', '𝟸' => '2', '𝟹' => '3', '𝟺' => '4', '𝟻' => '5', '𝟼' => '6', '𝟽' => '7', '𝟾' => '8', '𝟿' => '9', '𞸀' => 'ا', '𞸁' => 'ب', '𞸂' => 'ج', '𞸃' => 'د', '𞸅' => 'و', '𞸆' => 'ز', '𞸇' => 'ح', '𞸈' => 'ط', '𞸉' => 'ي', '𞸊' => 'ك', '𞸋' => 'ل', '𞸌' => 'م', '𞸍' => 'ن', '𞸎' => 'س', '𞸏' => 'ع', '𞸐' => 'ف', '𞸑' => 'ص', '𞸒' => 'ق', '𞸓' => 'ر', '𞸔' => 'ش', '𞸕' => 'ت', '𞸖' => 'ث', '𞸗' => 'خ', '𞸘' => 'ذ', '𞸙' => 'ض', '𞸚' => 'ظ', '𞸛' => 'غ', '𞸜' => 'ٮ', '𞸝' => 'ں', '𞸞' => 'ڡ', '𞸟' => 'ٯ', '𞸡' => 'ب', '𞸢' => 'ج', '𞸤' => 'ه', '𞸧' => 'ح', '𞸩' => 'ي', '𞸪' => 'ك', '𞸫' => 'ل', '𞸬' => 'م', '𞸭' => 'ن', '𞸮' => 'س', '𞸯' => 'ع', '𞸰' => 'ف', '𞸱' => 'ص', '𞸲' => 'ق', '𞸴' => 'ش', '𞸵' => 'ت', '𞸶' => 'ث', '𞸷' => 'خ', '𞸹' => 'ض', '𞸻' => 'غ', '𞹂' => 'ج', '𞹇' => 'ح', '𞹉' => 'ي', '𞹋' => 'ل', '𞹍' => 'ن', '𞹎' => 'س', '𞹏' => 'ع', '𞹑' => 'ص', '𞹒' => 'ق', '𞹔' => 'ش', '𞹗' => 'خ', '𞹙' => 'ض', '𞹛' => 'غ', '𞹝' => 'ں', '𞹟' => 'ٯ', '𞹡' => 'ب', '𞹢' => 'ج', '𞹤' => 'ه', '𞹧' => 'ح', '𞹨' => 'ط', '𞹩' => 'ي', '𞹪' => 'ك', '𞹬' => 'م', '𞹭' => 'ن', '𞹮' => 'س', '𞹯' => 'ع', '𞹰' => 'ف', '𞹱' => 'ص', '𞹲' => 'ق', '𞹴' => 'ش', '𞹵' => 'ت', '𞹶' => 'ث', '𞹷' => 'خ', '𞹹' => 'ض', '𞹺' => 'ظ', '𞹻' => 'غ', '𞹼' => 'ٮ', '𞹾' => 'ڡ', '𞺀' => 'ا', '𞺁' => 'ب', '𞺂' => 'ج', '𞺃' => 'د', '𞺄' => 'ه', '𞺅' => 'و', '𞺆' => 'ز', '𞺇' => 'ح', '𞺈' => 'ط', '𞺉' => 'ي', '𞺋' => 'ل', '𞺌' => 'م', '𞺍' => 'ن', '𞺎' => 'س', '𞺏' => 'ع', '𞺐' => 'ف', '𞺑' => 'ص', '𞺒' => 'ق', '𞺓' => 'ر', '𞺔' => 'ش', '𞺕' => 'ت', '𞺖' => 'ث', '𞺗' => 'خ', '𞺘' => 'ذ', '𞺙' => 'ض', '𞺚' => 'ظ', '𞺛' => 'غ', '𞺡' => 'ب', '𞺢' => 'ج', '𞺣' => 'د', '𞺥' => 'و', '𞺦' => 'ز', '𞺧' => 'ح', '𞺨' => 'ط', '𞺩' => 'ي', '𞺫' => 'ل', '𞺬' => 'م', '𞺭' => 'ن', '𞺮' => 'س', '𞺯' => 'ع', '𞺰' => 'ف', '𞺱' => 'ص', '𞺲' => 'ق', '𞺳' => 'ر', '𞺴' => 'ش', '𞺵' => 'ت', '𞺶' => 'ث', '𞺷' => 'خ', '𞺸' => 'ذ', '𞺹' => 'ض', '𞺺' => 'ظ', '𞺻' => 'غ', '🄀' => '0.', '🄁' => '0,', '🄂' => '1,', '🄃' => '2,', '🄄' => '3,', '🄅' => '4,', '🄆' => '5,', '🄇' => '6,', '🄈' => '7,', '🄉' => '8,', '🄊' => '9,', '🄐' => '(A)', '🄑' => '(B)', '🄒' => '(C)', '🄓' => '(D)', '🄔' => '(E)', '🄕' => '(F)', '🄖' => '(G)', '🄗' => '(H)', '🄘' => '(I)', '🄙' => '(J)', '🄚' => '(K)', '🄛' => '(L)', '🄜' => '(M)', '🄝' => '(N)', '🄞' => '(O)', '🄟' => '(P)', '🄠' => '(Q)', '🄡' => '(R)', '🄢' => '(S)', '🄣' => '(T)', '🄤' => '(U)', '🄥' => '(V)', '🄦' => '(W)', '🄧' => '(X)', '🄨' => '(Y)', '🄩' => '(Z)', '🄪' => '〔S〕', '🄫' => 'C', '🄬' => 'R', '🄭' => 'CD', '🄮' => 'WZ', '🄰' => 'A', '🄱' => 'B', '🄲' => 'C', '🄳' => 'D', '🄴' => 'E', '🄵' => 'F', '🄶' => 'G', '🄷' => 'H', '🄸' => 'I', '🄹' => 'J', '🄺' => 'K', '🄻' => 'L', '🄼' => 'M', '🄽' => 'N', '🄾' => 'O', '🄿' => 'P', '🅀' => 'Q', '🅁' => 'R', '🅂' => 'S', '🅃' => 'T', '🅄' => 'U', '🅅' => 'V', '🅆' => 'W', '🅇' => 'X', '🅈' => 'Y', '🅉' => 'Z', '🅊' => 'HV', '🅋' => 'MV', '🅌' => 'SD', '🅍' => 'SS', '🅎' => 'PPV', '🅏' => 'WC', '🅪' => 'MC', '🅫' => 'MD', '🅬' => 'MR', '🆐' => 'DJ', '🈀' => 'ほか', '🈁' => 'ココ', '🈂' => 'サ', '🈐' => '手', '🈑' => '字', '🈒' => '双', '🈓' => 'デ', '🈔' => '二', '🈕' => '多', '🈖' => '解', '🈗' => '天', '🈘' => '交', '🈙' => '映', '🈚' => '無', '🈛' => '料', '🈜' => '前', '🈝' => '後', '🈞' => '再', '🈟' => '新', '🈠' => '初', '🈡' => '終', '🈢' => '生', '🈣' => '販', '🈤' => '声', '🈥' => '吹', '🈦' => '演', '🈧' => '投', '🈨' => '捕', '🈩' => '一', '🈪' => '三', '🈫' => '遊', '🈬' => '左', '🈭' => '中', '🈮' => '右', '🈯' => '指', '🈰' => '走', '🈱' => '打', '🈲' => '禁', '🈳' => '空', '🈴' => '合', '🈵' => '満', '🈶' => '有', '🈷' => '月', '🈸' => '申', '🈹' => '割', '🈺' => '営', '🈻' => '配', '🉀' => '〔本〕', '🉁' => '〔三〕', '🉂' => '〔二〕', '🉃' => '〔安〕', '🉄' => '〔点〕', '🉅' => '〔打〕', '🉆' => '〔盗〕', '🉇' => '〔勝〕', '🉈' => '〔敗〕', '🉐' => '得', '🉑' => '可', '🯰' => '0', '🯱' => '1', '🯲' => '2', '🯳' => '3', '🯴' => '4', '🯵' => '5', '🯶' => '6', '🯷' => '7', '🯸' => '8', '🯹' => '9', ); vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php000064400000032504147400355670023605 0ustar00 230, '́' => 230, '̂' => 230, '̃' => 230, '̄' => 230, '̅' => 230, '̆' => 230, '̇' => 230, '̈' => 230, '̉' => 230, '̊' => 230, '̋' => 230, '̌' => 230, '̍' => 230, '̎' => 230, '̏' => 230, '̐' => 230, '̑' => 230, '̒' => 230, '̓' => 230, '̔' => 230, '̕' => 232, '̖' => 220, '̗' => 220, '̘' => 220, '̙' => 220, '̚' => 232, '̛' => 216, '̜' => 220, '̝' => 220, '̞' => 220, '̟' => 220, '̠' => 220, '̡' => 202, '̢' => 202, '̣' => 220, '̤' => 220, '̥' => 220, '̦' => 220, '̧' => 202, '̨' => 202, '̩' => 220, '̪' => 220, '̫' => 220, '̬' => 220, '̭' => 220, '̮' => 220, '̯' => 220, '̰' => 220, '̱' => 220, '̲' => 220, '̳' => 220, '̴' => 1, '̵' => 1, '̶' => 1, '̷' => 1, '̸' => 1, '̹' => 220, '̺' => 220, '̻' => 220, '̼' => 220, '̽' => 230, '̾' => 230, '̿' => 230, '̀' => 230, '́' => 230, '͂' => 230, '̓' => 230, '̈́' => 230, 'ͅ' => 240, '͆' => 230, '͇' => 220, '͈' => 220, '͉' => 220, '͊' => 230, '͋' => 230, '͌' => 230, '͍' => 220, '͎' => 220, '͐' => 230, '͑' => 230, '͒' => 230, '͓' => 220, '͔' => 220, '͕' => 220, '͖' => 220, '͗' => 230, '͘' => 232, '͙' => 220, '͚' => 220, '͛' => 230, '͜' => 233, '͝' => 234, '͞' => 234, '͟' => 233, '͠' => 234, '͡' => 234, '͢' => 233, 'ͣ' => 230, 'ͤ' => 230, 'ͥ' => 230, 'ͦ' => 230, 'ͧ' => 230, 'ͨ' => 230, 'ͩ' => 230, 'ͪ' => 230, 'ͫ' => 230, 'ͬ' => 230, 'ͭ' => 230, 'ͮ' => 230, 'ͯ' => 230, '҃' => 230, '҄' => 230, '҅' => 230, '҆' => 230, '҇' => 230, '֑' => 220, '֒' => 230, '֓' => 230, '֔' => 230, '֕' => 230, '֖' => 220, '֗' => 230, '֘' => 230, '֙' => 230, '֚' => 222, '֛' => 220, '֜' => 230, '֝' => 230, '֞' => 230, '֟' => 230, '֠' => 230, '֡' => 230, '֢' => 220, '֣' => 220, '֤' => 220, '֥' => 220, '֦' => 220, '֧' => 220, '֨' => 230, '֩' => 230, '֪' => 220, '֫' => 230, '֬' => 230, '֭' => 222, '֮' => 228, '֯' => 230, 'ְ' => 10, 'ֱ' => 11, 'ֲ' => 12, 'ֳ' => 13, 'ִ' => 14, 'ֵ' => 15, 'ֶ' => 16, 'ַ' => 17, 'ָ' => 18, 'ֹ' => 19, 'ֺ' => 19, 'ֻ' => 20, 'ּ' => 21, 'ֽ' => 22, 'ֿ' => 23, 'ׁ' => 24, 'ׂ' => 25, 'ׄ' => 230, 'ׅ' => 220, 'ׇ' => 18, 'ؐ' => 230, 'ؑ' => 230, 'ؒ' => 230, 'ؓ' => 230, 'ؔ' => 230, 'ؕ' => 230, 'ؖ' => 230, 'ؗ' => 230, 'ؘ' => 30, 'ؙ' => 31, 'ؚ' => 32, 'ً' => 27, 'ٌ' => 28, 'ٍ' => 29, 'َ' => 30, 'ُ' => 31, 'ِ' => 32, 'ّ' => 33, 'ْ' => 34, 'ٓ' => 230, 'ٔ' => 230, 'ٕ' => 220, 'ٖ' => 220, 'ٗ' => 230, '٘' => 230, 'ٙ' => 230, 'ٚ' => 230, 'ٛ' => 230, 'ٜ' => 220, 'ٝ' => 230, 'ٞ' => 230, 'ٟ' => 220, 'ٰ' => 35, 'ۖ' => 230, 'ۗ' => 230, 'ۘ' => 230, 'ۙ' => 230, 'ۚ' => 230, 'ۛ' => 230, 'ۜ' => 230, '۟' => 230, '۠' => 230, 'ۡ' => 230, 'ۢ' => 230, 'ۣ' => 220, 'ۤ' => 230, 'ۧ' => 230, 'ۨ' => 230, '۪' => 220, '۫' => 230, '۬' => 230, 'ۭ' => 220, 'ܑ' => 36, 'ܰ' => 230, 'ܱ' => 220, 'ܲ' => 230, 'ܳ' => 230, 'ܴ' => 220, 'ܵ' => 230, 'ܶ' => 230, 'ܷ' => 220, 'ܸ' => 220, 'ܹ' => 220, 'ܺ' => 230, 'ܻ' => 220, 'ܼ' => 220, 'ܽ' => 230, 'ܾ' => 220, 'ܿ' => 230, '݀' => 230, '݁' => 230, '݂' => 220, '݃' => 230, '݄' => 220, '݅' => 230, '݆' => 220, '݇' => 230, '݈' => 220, '݉' => 230, '݊' => 230, '߫' => 230, '߬' => 230, '߭' => 230, '߮' => 230, '߯' => 230, '߰' => 230, '߱' => 230, '߲' => 220, '߳' => 230, '߽' => 220, 'ࠖ' => 230, 'ࠗ' => 230, '࠘' => 230, '࠙' => 230, 'ࠛ' => 230, 'ࠜ' => 230, 'ࠝ' => 230, 'ࠞ' => 230, 'ࠟ' => 230, 'ࠠ' => 230, 'ࠡ' => 230, 'ࠢ' => 230, 'ࠣ' => 230, 'ࠥ' => 230, 'ࠦ' => 230, 'ࠧ' => 230, 'ࠩ' => 230, 'ࠪ' => 230, 'ࠫ' => 230, 'ࠬ' => 230, '࠭' => 230, '࡙' => 220, '࡚' => 220, '࡛' => 220, '࣓' => 220, 'ࣔ' => 230, 'ࣕ' => 230, 'ࣖ' => 230, 'ࣗ' => 230, 'ࣘ' => 230, 'ࣙ' => 230, 'ࣚ' => 230, 'ࣛ' => 230, 'ࣜ' => 230, 'ࣝ' => 230, 'ࣞ' => 230, 'ࣟ' => 230, '࣠' => 230, '࣡' => 230, 'ࣣ' => 220, 'ࣤ' => 230, 'ࣥ' => 230, 'ࣦ' => 220, 'ࣧ' => 230, 'ࣨ' => 230, 'ࣩ' => 220, '࣪' => 230, '࣫' => 230, '࣬' => 230, '࣭' => 220, '࣮' => 220, '࣯' => 220, 'ࣰ' => 27, 'ࣱ' => 28, 'ࣲ' => 29, 'ࣳ' => 230, 'ࣴ' => 230, 'ࣵ' => 230, 'ࣶ' => 220, 'ࣷ' => 230, 'ࣸ' => 230, 'ࣹ' => 220, 'ࣺ' => 220, 'ࣻ' => 230, 'ࣼ' => 230, 'ࣽ' => 230, 'ࣾ' => 230, 'ࣿ' => 230, '़' => 7, '्' => 9, '॑' => 230, '॒' => 220, '॓' => 230, '॔' => 230, '়' => 7, '্' => 9, '৾' => 230, '਼' => 7, '੍' => 9, '઼' => 7, '્' => 9, '଼' => 7, '୍' => 9, '்' => 9, '్' => 9, 'ౕ' => 84, 'ౖ' => 91, '಼' => 7, '್' => 9, '഻' => 9, '഼' => 9, '്' => 9, '්' => 9, 'ุ' => 103, 'ู' => 103, 'ฺ' => 9, '่' => 107, '้' => 107, '๊' => 107, '๋' => 107, 'ຸ' => 118, 'ູ' => 118, '຺' => 9, '່' => 122, '້' => 122, '໊' => 122, '໋' => 122, '༘' => 220, '༙' => 220, '༵' => 220, '༷' => 220, '༹' => 216, 'ཱ' => 129, 'ི' => 130, 'ུ' => 132, 'ེ' => 130, 'ཻ' => 130, 'ོ' => 130, 'ཽ' => 130, 'ྀ' => 130, 'ྂ' => 230, 'ྃ' => 230, '྄' => 9, '྆' => 230, '྇' => 230, '࿆' => 220, '့' => 7, '္' => 9, '်' => 9, 'ႍ' => 220, '፝' => 230, '፞' => 230, '፟' => 230, '᜔' => 9, '᜴' => 9, '្' => 9, '៝' => 230, 'ᢩ' => 228, '᤹' => 222, '᤺' => 230, '᤻' => 220, 'ᨗ' => 230, 'ᨘ' => 220, '᩠' => 9, '᩵' => 230, '᩶' => 230, '᩷' => 230, '᩸' => 230, '᩹' => 230, '᩺' => 230, '᩻' => 230, '᩼' => 230, '᩿' => 220, '᪰' => 230, '᪱' => 230, '᪲' => 230, '᪳' => 230, '᪴' => 230, '᪵' => 220, '᪶' => 220, '᪷' => 220, '᪸' => 220, '᪹' => 220, '᪺' => 220, '᪻' => 230, '᪼' => 230, '᪽' => 220, 'ᪿ' => 220, 'ᫀ' => 220, '᬴' => 7, '᭄' => 9, '᭫' => 230, '᭬' => 220, '᭭' => 230, '᭮' => 230, '᭯' => 230, '᭰' => 230, '᭱' => 230, '᭲' => 230, '᭳' => 230, '᮪' => 9, '᮫' => 9, '᯦' => 7, '᯲' => 9, '᯳' => 9, '᰷' => 7, '᳐' => 230, '᳑' => 230, '᳒' => 230, '᳔' => 1, '᳕' => 220, '᳖' => 220, '᳗' => 220, '᳘' => 220, '᳙' => 220, '᳚' => 230, '᳛' => 230, '᳜' => 220, '᳝' => 220, '᳞' => 220, '᳟' => 220, '᳠' => 230, '᳢' => 1, '᳣' => 1, '᳤' => 1, '᳥' => 1, '᳦' => 1, '᳧' => 1, '᳨' => 1, '᳭' => 220, '᳴' => 230, '᳸' => 230, '᳹' => 230, '᷀' => 230, '᷁' => 230, '᷂' => 220, '᷃' => 230, '᷄' => 230, '᷅' => 230, '᷆' => 230, '᷇' => 230, '᷈' => 230, '᷉' => 230, '᷊' => 220, '᷋' => 230, '᷌' => 230, '᷍' => 234, '᷎' => 214, '᷏' => 220, '᷐' => 202, '᷑' => 230, '᷒' => 230, 'ᷓ' => 230, 'ᷔ' => 230, 'ᷕ' => 230, 'ᷖ' => 230, 'ᷗ' => 230, 'ᷘ' => 230, 'ᷙ' => 230, 'ᷚ' => 230, 'ᷛ' => 230, 'ᷜ' => 230, 'ᷝ' => 230, 'ᷞ' => 230, 'ᷟ' => 230, 'ᷠ' => 230, 'ᷡ' => 230, 'ᷢ' => 230, 'ᷣ' => 230, 'ᷤ' => 230, 'ᷥ' => 230, 'ᷦ' => 230, 'ᷧ' => 230, 'ᷨ' => 230, 'ᷩ' => 230, 'ᷪ' => 230, 'ᷫ' => 230, 'ᷬ' => 230, 'ᷭ' => 230, 'ᷮ' => 230, 'ᷯ' => 230, 'ᷰ' => 230, 'ᷱ' => 230, 'ᷲ' => 230, 'ᷳ' => 230, 'ᷴ' => 230, '᷵' => 230, '᷶' => 232, '᷷' => 228, '᷸' => 228, '᷹' => 220, '᷻' => 230, '᷼' => 233, '᷽' => 220, '᷾' => 230, '᷿' => 220, '⃐' => 230, '⃑' => 230, '⃒' => 1, '⃓' => 1, '⃔' => 230, '⃕' => 230, '⃖' => 230, '⃗' => 230, '⃘' => 1, '⃙' => 1, '⃚' => 1, '⃛' => 230, '⃜' => 230, '⃡' => 230, '⃥' => 1, '⃦' => 1, '⃧' => 230, '⃨' => 220, '⃩' => 230, '⃪' => 1, '⃫' => 1, '⃬' => 220, '⃭' => 220, '⃮' => 220, '⃯' => 220, '⃰' => 230, '⳯' => 230, '⳰' => 230, '⳱' => 230, '⵿' => 9, 'ⷠ' => 230, 'ⷡ' => 230, 'ⷢ' => 230, 'ⷣ' => 230, 'ⷤ' => 230, 'ⷥ' => 230, 'ⷦ' => 230, 'ⷧ' => 230, 'ⷨ' => 230, 'ⷩ' => 230, 'ⷪ' => 230, 'ⷫ' => 230, 'ⷬ' => 230, 'ⷭ' => 230, 'ⷮ' => 230, 'ⷯ' => 230, 'ⷰ' => 230, 'ⷱ' => 230, 'ⷲ' => 230, 'ⷳ' => 230, 'ⷴ' => 230, 'ⷵ' => 230, 'ⷶ' => 230, 'ⷷ' => 230, 'ⷸ' => 230, 'ⷹ' => 230, 'ⷺ' => 230, 'ⷻ' => 230, 'ⷼ' => 230, 'ⷽ' => 230, 'ⷾ' => 230, 'ⷿ' => 230, '〪' => 218, '〫' => 228, '〬' => 232, '〭' => 222, '〮' => 224, '〯' => 224, '゙' => 8, '゚' => 8, '꙯' => 230, 'ꙴ' => 230, 'ꙵ' => 230, 'ꙶ' => 230, 'ꙷ' => 230, 'ꙸ' => 230, 'ꙹ' => 230, 'ꙺ' => 230, 'ꙻ' => 230, '꙼' => 230, '꙽' => 230, 'ꚞ' => 230, 'ꚟ' => 230, '꛰' => 230, '꛱' => 230, '꠆' => 9, '꠬' => 9, '꣄' => 9, '꣠' => 230, '꣡' => 230, '꣢' => 230, '꣣' => 230, '꣤' => 230, '꣥' => 230, '꣦' => 230, '꣧' => 230, '꣨' => 230, '꣩' => 230, '꣪' => 230, '꣫' => 230, '꣬' => 230, '꣭' => 230, '꣮' => 230, '꣯' => 230, '꣰' => 230, '꣱' => 230, '꤫' => 220, '꤬' => 220, '꤭' => 220, '꥓' => 9, '꦳' => 7, '꧀' => 9, 'ꪰ' => 230, 'ꪲ' => 230, 'ꪳ' => 230, 'ꪴ' => 220, 'ꪷ' => 230, 'ꪸ' => 230, 'ꪾ' => 230, '꪿' => 230, '꫁' => 230, '꫶' => 9, '꯭' => 9, 'ﬞ' => 26, '︠' => 230, '︡' => 230, '︢' => 230, '︣' => 230, '︤' => 230, '︥' => 230, '︦' => 230, '︧' => 220, '︨' => 220, '︩' => 220, '︪' => 220, '︫' => 220, '︬' => 220, '︭' => 220, '︮' => 230, '︯' => 230, '𐇽' => 220, '𐋠' => 220, '𐍶' => 230, '𐍷' => 230, '𐍸' => 230, '𐍹' => 230, '𐍺' => 230, '𐨍' => 220, '𐨏' => 230, '𐨸' => 230, '𐨹' => 1, '𐨺' => 220, '𐨿' => 9, '𐫥' => 230, '𐫦' => 220, '𐴤' => 230, '𐴥' => 230, '𐴦' => 230, '𐴧' => 230, '𐺫' => 230, '𐺬' => 230, '𐽆' => 220, '𐽇' => 220, '𐽈' => 230, '𐽉' => 230, '𐽊' => 230, '𐽋' => 220, '𐽌' => 230, '𐽍' => 220, '𐽎' => 220, '𐽏' => 220, '𐽐' => 220, '𑁆' => 9, '𑁿' => 9, '𑂹' => 9, '𑂺' => 7, '𑄀' => 230, '𑄁' => 230, '𑄂' => 230, '𑄳' => 9, '𑄴' => 9, '𑅳' => 7, '𑇀' => 9, '𑇊' => 7, '𑈵' => 9, '𑈶' => 7, '𑋩' => 7, '𑋪' => 9, '𑌻' => 7, '𑌼' => 7, '𑍍' => 9, '𑍦' => 230, '𑍧' => 230, '𑍨' => 230, '𑍩' => 230, '𑍪' => 230, '𑍫' => 230, '𑍬' => 230, '𑍰' => 230, '𑍱' => 230, '𑍲' => 230, '𑍳' => 230, '𑍴' => 230, '𑑂' => 9, '𑑆' => 7, '𑑞' => 230, '𑓂' => 9, '𑓃' => 7, '𑖿' => 9, '𑗀' => 7, '𑘿' => 9, '𑚶' => 9, '𑚷' => 7, '𑜫' => 9, '𑠹' => 9, '𑠺' => 7, '𑤽' => 9, '𑤾' => 9, '𑥃' => 7, '𑧠' => 9, '𑨴' => 9, '𑩇' => 9, '𑪙' => 9, '𑰿' => 9, '𑵂' => 7, '𑵄' => 9, '𑵅' => 9, '𑶗' => 9, '𖫰' => 1, '𖫱' => 1, '𖫲' => 1, '𖫳' => 1, '𖫴' => 1, '𖬰' => 230, '𖬱' => 230, '𖬲' => 230, '𖬳' => 230, '𖬴' => 230, '𖬵' => 230, '𖬶' => 230, '𖿰' => 6, '𖿱' => 6, '𛲞' => 1, '𝅥' => 216, '𝅦' => 216, '𝅧' => 1, '𝅨' => 1, '𝅩' => 1, '𝅭' => 226, '𝅮' => 216, '𝅯' => 216, '𝅰' => 216, '𝅱' => 216, '𝅲' => 216, '𝅻' => 220, '𝅼' => 220, '𝅽' => 220, '𝅾' => 220, '𝅿' => 220, '𝆀' => 220, '𝆁' => 220, '𝆂' => 220, '𝆅' => 230, '𝆆' => 230, '𝆇' => 230, '𝆈' => 230, '𝆉' => 230, '𝆊' => 220, '𝆋' => 220, '𝆪' => 230, '𝆫' => 230, '𝆬' => 230, '𝆭' => 230, '𝉂' => 230, '𝉃' => 230, '𝉄' => 230, '𞀀' => 230, '𞀁' => 230, '𞀂' => 230, '𞀃' => 230, '𞀄' => 230, '𞀅' => 230, '𞀆' => 230, '𞀈' => 230, '𞀉' => 230, '𞀊' => 230, '𞀋' => 230, '𞀌' => 230, '𞀍' => 230, '𞀎' => 230, '𞀏' => 230, '𞀐' => 230, '𞀑' => 230, '𞀒' => 230, '𞀓' => 230, '𞀔' => 230, '𞀕' => 230, '𞀖' => 230, '𞀗' => 230, '𞀘' => 230, '𞀛' => 230, '𞀜' => 230, '𞀝' => 230, '𞀞' => 230, '𞀟' => 230, '𞀠' => 230, '𞀡' => 230, '𞀣' => 230, '𞀤' => 230, '𞀦' => 230, '𞀧' => 230, '𞀨' => 230, '𞀩' => 230, '𞀪' => 230, '𞄰' => 230, '𞄱' => 230, '𞄲' => 230, '𞄳' => 230, '𞄴' => 230, '𞄵' => 230, '𞄶' => 230, '𞋬' => 230, '𞋭' => 230, '𞋮' => 230, '𞋯' => 230, '𞣐' => 220, '𞣑' => 220, '𞣒' => 220, '𞣓' => 220, '𞣔' => 220, '𞣕' => 220, '𞣖' => 220, '𞥄' => 230, '𞥅' => 230, '𞥆' => 230, '𞥇' => 230, '𞥈' => 230, '𞥉' => 230, '𞥊' => 7, ); vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php000064400000042343147400355670025027 0ustar00 'À', 'Á' => 'Á', 'Â' => 'Â', 'Ã' => 'Ã', 'Ä' => 'Ä', 'Å' => 'Å', 'Ç' => 'Ç', 'È' => 'È', 'É' => 'É', 'Ê' => 'Ê', 'Ë' => 'Ë', 'Ì' => 'Ì', 'Í' => 'Í', 'Î' => 'Î', 'Ï' => 'Ï', 'Ñ' => 'Ñ', 'Ò' => 'Ò', 'Ó' => 'Ó', 'Ô' => 'Ô', 'Õ' => 'Õ', 'Ö' => 'Ö', 'Ù' => 'Ù', 'Ú' => 'Ú', 'Û' => 'Û', 'Ü' => 'Ü', 'Ý' => 'Ý', 'à' => 'à', 'á' => 'á', 'â' => 'â', 'ã' => 'ã', 'ä' => 'ä', 'å' => 'å', 'ç' => 'ç', 'è' => 'è', 'é' => 'é', 'ê' => 'ê', 'ë' => 'ë', 'ì' => 'ì', 'í' => 'í', 'î' => 'î', 'ï' => 'ï', 'ñ' => 'ñ', 'ò' => 'ò', 'ó' => 'ó', 'ô' => 'ô', 'õ' => 'õ', 'ö' => 'ö', 'ù' => 'ù', 'ú' => 'ú', 'û' => 'û', 'ü' => 'ü', 'ý' => 'ý', 'ÿ' => 'ÿ', 'Ā' => 'Ā', 'ā' => 'ā', 'Ă' => 'Ă', 'ă' => 'ă', 'Ą' => 'Ą', 'ą' => 'ą', 'Ć' => 'Ć', 'ć' => 'ć', 'Ĉ' => 'Ĉ', 'ĉ' => 'ĉ', 'Ċ' => 'Ċ', 'ċ' => 'ċ', 'Č' => 'Č', 'č' => 'č', 'Ď' => 'Ď', 'ď' => 'ď', 'Ē' => 'Ē', 'ē' => 'ē', 'Ĕ' => 'Ĕ', 'ĕ' => 'ĕ', 'Ė' => 'Ė', 'ė' => 'ė', 'Ę' => 'Ę', 'ę' => 'ę', 'Ě' => 'Ě', 'ě' => 'ě', 'Ĝ' => 'Ĝ', 'ĝ' => 'ĝ', 'Ğ' => 'Ğ', 'ğ' => 'ğ', 'Ġ' => 'Ġ', 'ġ' => 'ġ', 'Ģ' => 'Ģ', 'ģ' => 'ģ', 'Ĥ' => 'Ĥ', 'ĥ' => 'ĥ', 'Ĩ' => 'Ĩ', 'ĩ' => 'ĩ', 'Ī' => 'Ī', 'ī' => 'ī', 'Ĭ' => 'Ĭ', 'ĭ' => 'ĭ', 'Į' => 'Į', 'į' => 'į', 'İ' => 'İ', 'Ĵ' => 'Ĵ', 'ĵ' => 'ĵ', 'Ķ' => 'Ķ', 'ķ' => 'ķ', 'Ĺ' => 'Ĺ', 'ĺ' => 'ĺ', 'Ļ' => 'Ļ', 'ļ' => 'ļ', 'Ľ' => 'Ľ', 'ľ' => 'ľ', 'Ń' => 'Ń', 'ń' => 'ń', 'Ņ' => 'Ņ', 'ņ' => 'ņ', 'Ň' => 'Ň', 'ň' => 'ň', 'Ō' => 'Ō', 'ō' => 'ō', 'Ŏ' => 'Ŏ', 'ŏ' => 'ŏ', 'Ő' => 'Ő', 'ő' => 'ő', 'Ŕ' => 'Ŕ', 'ŕ' => 'ŕ', 'Ŗ' => 'Ŗ', 'ŗ' => 'ŗ', 'Ř' => 'Ř', 'ř' => 'ř', 'Ś' => 'Ś', 'ś' => 'ś', 'Ŝ' => 'Ŝ', 'ŝ' => 'ŝ', 'Ş' => 'Ş', 'ş' => 'ş', 'Š' => 'Š', 'š' => 'š', 'Ţ' => 'Ţ', 'ţ' => 'ţ', 'Ť' => 'Ť', 'ť' => 'ť', 'Ũ' => 'Ũ', 'ũ' => 'ũ', 'Ū' => 'Ū', 'ū' => 'ū', 'Ŭ' => 'Ŭ', 'ŭ' => 'ŭ', 'Ů' => 'Ů', 'ů' => 'ů', 'Ű' => 'Ű', 'ű' => 'ű', 'Ų' => 'Ų', 'ų' => 'ų', 'Ŵ' => 'Ŵ', 'ŵ' => 'ŵ', 'Ŷ' => 'Ŷ', 'ŷ' => 'ŷ', 'Ÿ' => 'Ÿ', 'Ź' => 'Ź', 'ź' => 'ź', 'Ż' => 'Ż', 'ż' => 'ż', 'Ž' => 'Ž', 'ž' => 'ž', 'Ơ' => 'Ơ', 'ơ' => 'ơ', 'Ư' => 'Ư', 'ư' => 'ư', 'Ǎ' => 'Ǎ', 'ǎ' => 'ǎ', 'Ǐ' => 'Ǐ', 'ǐ' => 'ǐ', 'Ǒ' => 'Ǒ', 'ǒ' => 'ǒ', 'Ǔ' => 'Ǔ', 'ǔ' => 'ǔ', 'Ǖ' => 'Ǖ', 'ǖ' => 'ǖ', 'Ǘ' => 'Ǘ', 'ǘ' => 'ǘ', 'Ǚ' => 'Ǚ', 'ǚ' => 'ǚ', 'Ǜ' => 'Ǜ', 'ǜ' => 'ǜ', 'Ǟ' => 'Ǟ', 'ǟ' => 'ǟ', 'Ǡ' => 'Ǡ', 'ǡ' => 'ǡ', 'Ǣ' => 'Ǣ', 'ǣ' => 'ǣ', 'Ǧ' => 'Ǧ', 'ǧ' => 'ǧ', 'Ǩ' => 'Ǩ', 'ǩ' => 'ǩ', 'Ǫ' => 'Ǫ', 'ǫ' => 'ǫ', 'Ǭ' => 'Ǭ', 'ǭ' => 'ǭ', 'Ǯ' => 'Ǯ', 'ǯ' => 'ǯ', 'ǰ' => 'ǰ', 'Ǵ' => 'Ǵ', 'ǵ' => 'ǵ', 'Ǹ' => 'Ǹ', 'ǹ' => 'ǹ', 'Ǻ' => 'Ǻ', 'ǻ' => 'ǻ', 'Ǽ' => 'Ǽ', 'ǽ' => 'ǽ', 'Ǿ' => 'Ǿ', 'ǿ' => 'ǿ', 'Ȁ' => 'Ȁ', 'ȁ' => 'ȁ', 'Ȃ' => 'Ȃ', 'ȃ' => 'ȃ', 'Ȅ' => 'Ȅ', 'ȅ' => 'ȅ', 'Ȇ' => 'Ȇ', 'ȇ' => 'ȇ', 'Ȉ' => 'Ȉ', 'ȉ' => 'ȉ', 'Ȋ' => 'Ȋ', 'ȋ' => 'ȋ', 'Ȍ' => 'Ȍ', 'ȍ' => 'ȍ', 'Ȏ' => 'Ȏ', 'ȏ' => 'ȏ', 'Ȑ' => 'Ȑ', 'ȑ' => 'ȑ', 'Ȓ' => 'Ȓ', 'ȓ' => 'ȓ', 'Ȕ' => 'Ȕ', 'ȕ' => 'ȕ', 'Ȗ' => 'Ȗ', 'ȗ' => 'ȗ', 'Ș' => 'Ș', 'ș' => 'ș', 'Ț' => 'Ț', 'ț' => 'ț', 'Ȟ' => 'Ȟ', 'ȟ' => 'ȟ', 'Ȧ' => 'Ȧ', 'ȧ' => 'ȧ', 'Ȩ' => 'Ȩ', 'ȩ' => 'ȩ', 'Ȫ' => 'Ȫ', 'ȫ' => 'ȫ', 'Ȭ' => 'Ȭ', 'ȭ' => 'ȭ', 'Ȯ' => 'Ȯ', 'ȯ' => 'ȯ', 'Ȱ' => 'Ȱ', 'ȱ' => 'ȱ', 'Ȳ' => 'Ȳ', 'ȳ' => 'ȳ', '΅' => '΅', 'Ά' => 'Ά', 'Έ' => 'Έ', 'Ή' => 'Ή', 'Ί' => 'Ί', 'Ό' => 'Ό', 'Ύ' => 'Ύ', 'Ώ' => 'Ώ', 'ΐ' => 'ΐ', 'Ϊ' => 'Ϊ', 'Ϋ' => 'Ϋ', 'ά' => 'ά', 'έ' => 'έ', 'ή' => 'ή', 'ί' => 'ί', 'ΰ' => 'ΰ', 'ϊ' => 'ϊ', 'ϋ' => 'ϋ', 'ό' => 'ό', 'ύ' => 'ύ', 'ώ' => 'ώ', 'ϓ' => 'ϓ', 'ϔ' => 'ϔ', 'Ѐ' => 'Ѐ', 'Ё' => 'Ё', 'Ѓ' => 'Ѓ', 'Ї' => 'Ї', 'Ќ' => 'Ќ', 'Ѝ' => 'Ѝ', 'Ў' => 'Ў', 'Й' => 'Й', 'й' => 'й', 'ѐ' => 'ѐ', 'ё' => 'ё', 'ѓ' => 'ѓ', 'ї' => 'ї', 'ќ' => 'ќ', 'ѝ' => 'ѝ', 'ў' => 'ў', 'Ѷ' => 'Ѷ', 'ѷ' => 'ѷ', 'Ӂ' => 'Ӂ', 'ӂ' => 'ӂ', 'Ӑ' => 'Ӑ', 'ӑ' => 'ӑ', 'Ӓ' => 'Ӓ', 'ӓ' => 'ӓ', 'Ӗ' => 'Ӗ', 'ӗ' => 'ӗ', 'Ӛ' => 'Ӛ', 'ӛ' => 'ӛ', 'Ӝ' => 'Ӝ', 'ӝ' => 'ӝ', 'Ӟ' => 'Ӟ', 'ӟ' => 'ӟ', 'Ӣ' => 'Ӣ', 'ӣ' => 'ӣ', 'Ӥ' => 'Ӥ', 'ӥ' => 'ӥ', 'Ӧ' => 'Ӧ', 'ӧ' => 'ӧ', 'Ӫ' => 'Ӫ', 'ӫ' => 'ӫ', 'Ӭ' => 'Ӭ', 'ӭ' => 'ӭ', 'Ӯ' => 'Ӯ', 'ӯ' => 'ӯ', 'Ӱ' => 'Ӱ', 'ӱ' => 'ӱ', 'Ӳ' => 'Ӳ', 'ӳ' => 'ӳ', 'Ӵ' => 'Ӵ', 'ӵ' => 'ӵ', 'Ӹ' => 'Ӹ', 'ӹ' => 'ӹ', 'آ' => 'آ', 'أ' => 'أ', 'ؤ' => 'ؤ', 'إ' => 'إ', 'ئ' => 'ئ', 'ۀ' => 'ۀ', 'ۂ' => 'ۂ', 'ۓ' => 'ۓ', 'ऩ' => 'ऩ', 'ऱ' => 'ऱ', 'ऴ' => 'ऴ', 'ো' => 'ো', 'ৌ' => 'ৌ', 'ୈ' => 'ୈ', 'ୋ' => 'ୋ', 'ୌ' => 'ୌ', 'ஔ' => 'ஔ', 'ொ' => 'ொ', 'ோ' => 'ோ', 'ௌ' => 'ௌ', 'ై' => 'ై', 'ೀ' => 'ೀ', 'ೇ' => 'ೇ', 'ೈ' => 'ೈ', 'ೊ' => 'ೊ', 'ೋ' => 'ೋ', 'ൊ' => 'ൊ', 'ോ' => 'ോ', 'ൌ' => 'ൌ', 'ේ' => 'ේ', 'ො' => 'ො', 'ෝ' => 'ෝ', 'ෞ' => 'ෞ', 'ဦ' => 'ဦ', 'ᬆ' => 'ᬆ', 'ᬈ' => 'ᬈ', 'ᬊ' => 'ᬊ', 'ᬌ' => 'ᬌ', 'ᬎ' => 'ᬎ', 'ᬒ' => 'ᬒ', 'ᬻ' => 'ᬻ', 'ᬽ' => 'ᬽ', 'ᭀ' => 'ᭀ', 'ᭁ' => 'ᭁ', 'ᭃ' => 'ᭃ', 'Ḁ' => 'Ḁ', 'ḁ' => 'ḁ', 'Ḃ' => 'Ḃ', 'ḃ' => 'ḃ', 'Ḅ' => 'Ḅ', 'ḅ' => 'ḅ', 'Ḇ' => 'Ḇ', 'ḇ' => 'ḇ', 'Ḉ' => 'Ḉ', 'ḉ' => 'ḉ', 'Ḋ' => 'Ḋ', 'ḋ' => 'ḋ', 'Ḍ' => 'Ḍ', 'ḍ' => 'ḍ', 'Ḏ' => 'Ḏ', 'ḏ' => 'ḏ', 'Ḑ' => 'Ḑ', 'ḑ' => 'ḑ', 'Ḓ' => 'Ḓ', 'ḓ' => 'ḓ', 'Ḕ' => 'Ḕ', 'ḕ' => 'ḕ', 'Ḗ' => 'Ḗ', 'ḗ' => 'ḗ', 'Ḙ' => 'Ḙ', 'ḙ' => 'ḙ', 'Ḛ' => 'Ḛ', 'ḛ' => 'ḛ', 'Ḝ' => 'Ḝ', 'ḝ' => 'ḝ', 'Ḟ' => 'Ḟ', 'ḟ' => 'ḟ', 'Ḡ' => 'Ḡ', 'ḡ' => 'ḡ', 'Ḣ' => 'Ḣ', 'ḣ' => 'ḣ', 'Ḥ' => 'Ḥ', 'ḥ' => 'ḥ', 'Ḧ' => 'Ḧ', 'ḧ' => 'ḧ', 'Ḩ' => 'Ḩ', 'ḩ' => 'ḩ', 'Ḫ' => 'Ḫ', 'ḫ' => 'ḫ', 'Ḭ' => 'Ḭ', 'ḭ' => 'ḭ', 'Ḯ' => 'Ḯ', 'ḯ' => 'ḯ', 'Ḱ' => 'Ḱ', 'ḱ' => 'ḱ', 'Ḳ' => 'Ḳ', 'ḳ' => 'ḳ', 'Ḵ' => 'Ḵ', 'ḵ' => 'ḵ', 'Ḷ' => 'Ḷ', 'ḷ' => 'ḷ', 'Ḹ' => 'Ḹ', 'ḹ' => 'ḹ', 'Ḻ' => 'Ḻ', 'ḻ' => 'ḻ', 'Ḽ' => 'Ḽ', 'ḽ' => 'ḽ', 'Ḿ' => 'Ḿ', 'ḿ' => 'ḿ', 'Ṁ' => 'Ṁ', 'ṁ' => 'ṁ', 'Ṃ' => 'Ṃ', 'ṃ' => 'ṃ', 'Ṅ' => 'Ṅ', 'ṅ' => 'ṅ', 'Ṇ' => 'Ṇ', 'ṇ' => 'ṇ', 'Ṉ' => 'Ṉ', 'ṉ' => 'ṉ', 'Ṋ' => 'Ṋ', 'ṋ' => 'ṋ', 'Ṍ' => 'Ṍ', 'ṍ' => 'ṍ', 'Ṏ' => 'Ṏ', 'ṏ' => 'ṏ', 'Ṑ' => 'Ṑ', 'ṑ' => 'ṑ', 'Ṓ' => 'Ṓ', 'ṓ' => 'ṓ', 'Ṕ' => 'Ṕ', 'ṕ' => 'ṕ', 'Ṗ' => 'Ṗ', 'ṗ' => 'ṗ', 'Ṙ' => 'Ṙ', 'ṙ' => 'ṙ', 'Ṛ' => 'Ṛ', 'ṛ' => 'ṛ', 'Ṝ' => 'Ṝ', 'ṝ' => 'ṝ', 'Ṟ' => 'Ṟ', 'ṟ' => 'ṟ', 'Ṡ' => 'Ṡ', 'ṡ' => 'ṡ', 'Ṣ' => 'Ṣ', 'ṣ' => 'ṣ', 'Ṥ' => 'Ṥ', 'ṥ' => 'ṥ', 'Ṧ' => 'Ṧ', 'ṧ' => 'ṧ', 'Ṩ' => 'Ṩ', 'ṩ' => 'ṩ', 'Ṫ' => 'Ṫ', 'ṫ' => 'ṫ', 'Ṭ' => 'Ṭ', 'ṭ' => 'ṭ', 'Ṯ' => 'Ṯ', 'ṯ' => 'ṯ', 'Ṱ' => 'Ṱ', 'ṱ' => 'ṱ', 'Ṳ' => 'Ṳ', 'ṳ' => 'ṳ', 'Ṵ' => 'Ṵ', 'ṵ' => 'ṵ', 'Ṷ' => 'Ṷ', 'ṷ' => 'ṷ', 'Ṹ' => 'Ṹ', 'ṹ' => 'ṹ', 'Ṻ' => 'Ṻ', 'ṻ' => 'ṻ', 'Ṽ' => 'Ṽ', 'ṽ' => 'ṽ', 'Ṿ' => 'Ṿ', 'ṿ' => 'ṿ', 'Ẁ' => 'Ẁ', 'ẁ' => 'ẁ', 'Ẃ' => 'Ẃ', 'ẃ' => 'ẃ', 'Ẅ' => 'Ẅ', 'ẅ' => 'ẅ', 'Ẇ' => 'Ẇ', 'ẇ' => 'ẇ', 'Ẉ' => 'Ẉ', 'ẉ' => 'ẉ', 'Ẋ' => 'Ẋ', 'ẋ' => 'ẋ', 'Ẍ' => 'Ẍ', 'ẍ' => 'ẍ', 'Ẏ' => 'Ẏ', 'ẏ' => 'ẏ', 'Ẑ' => 'Ẑ', 'ẑ' => 'ẑ', 'Ẓ' => 'Ẓ', 'ẓ' => 'ẓ', 'Ẕ' => 'Ẕ', 'ẕ' => 'ẕ', 'ẖ' => 'ẖ', 'ẗ' => 'ẗ', 'ẘ' => 'ẘ', 'ẙ' => 'ẙ', 'ẛ' => 'ẛ', 'Ạ' => 'Ạ', 'ạ' => 'ạ', 'Ả' => 'Ả', 'ả' => 'ả', 'Ấ' => 'Ấ', 'ấ' => 'ấ', 'Ầ' => 'Ầ', 'ầ' => 'ầ', 'Ẩ' => 'Ẩ', 'ẩ' => 'ẩ', 'Ẫ' => 'Ẫ', 'ẫ' => 'ẫ', 'Ậ' => 'Ậ', 'ậ' => 'ậ', 'Ắ' => 'Ắ', 'ắ' => 'ắ', 'Ằ' => 'Ằ', 'ằ' => 'ằ', 'Ẳ' => 'Ẳ', 'ẳ' => 'ẳ', 'Ẵ' => 'Ẵ', 'ẵ' => 'ẵ', 'Ặ' => 'Ặ', 'ặ' => 'ặ', 'Ẹ' => 'Ẹ', 'ẹ' => 'ẹ', 'Ẻ' => 'Ẻ', 'ẻ' => 'ẻ', 'Ẽ' => 'Ẽ', 'ẽ' => 'ẽ', 'Ế' => 'Ế', 'ế' => 'ế', 'Ề' => 'Ề', 'ề' => 'ề', 'Ể' => 'Ể', 'ể' => 'ể', 'Ễ' => 'Ễ', 'ễ' => 'ễ', 'Ệ' => 'Ệ', 'ệ' => 'ệ', 'Ỉ' => 'Ỉ', 'ỉ' => 'ỉ', 'Ị' => 'Ị', 'ị' => 'ị', 'Ọ' => 'Ọ', 'ọ' => 'ọ', 'Ỏ' => 'Ỏ', 'ỏ' => 'ỏ', 'Ố' => 'Ố', 'ố' => 'ố', 'Ồ' => 'Ồ', 'ồ' => 'ồ', 'Ổ' => 'Ổ', 'ổ' => 'ổ', 'Ỗ' => 'Ỗ', 'ỗ' => 'ỗ', 'Ộ' => 'Ộ', 'ộ' => 'ộ', 'Ớ' => 'Ớ', 'ớ' => 'ớ', 'Ờ' => 'Ờ', 'ờ' => 'ờ', 'Ở' => 'Ở', 'ở' => 'ở', 'Ỡ' => 'Ỡ', 'ỡ' => 'ỡ', 'Ợ' => 'Ợ', 'ợ' => 'ợ', 'Ụ' => 'Ụ', 'ụ' => 'ụ', 'Ủ' => 'Ủ', 'ủ' => 'ủ', 'Ứ' => 'Ứ', 'ứ' => 'ứ', 'Ừ' => 'Ừ', 'ừ' => 'ừ', 'Ử' => 'Ử', 'ử' => 'ử', 'Ữ' => 'Ữ', 'ữ' => 'ữ', 'Ự' => 'Ự', 'ự' => 'ự', 'Ỳ' => 'Ỳ', 'ỳ' => 'ỳ', 'Ỵ' => 'Ỵ', 'ỵ' => 'ỵ', 'Ỷ' => 'Ỷ', 'ỷ' => 'ỷ', 'Ỹ' => 'Ỹ', 'ỹ' => 'ỹ', 'ἀ' => 'ἀ', 'ἁ' => 'ἁ', 'ἂ' => 'ἂ', 'ἃ' => 'ἃ', 'ἄ' => 'ἄ', 'ἅ' => 'ἅ', 'ἆ' => 'ἆ', 'ἇ' => 'ἇ', 'Ἀ' => 'Ἀ', 'Ἁ' => 'Ἁ', 'Ἂ' => 'Ἂ', 'Ἃ' => 'Ἃ', 'Ἄ' => 'Ἄ', 'Ἅ' => 'Ἅ', 'Ἆ' => 'Ἆ', 'Ἇ' => 'Ἇ', 'ἐ' => 'ἐ', 'ἑ' => 'ἑ', 'ἒ' => 'ἒ', 'ἓ' => 'ἓ', 'ἔ' => 'ἔ', 'ἕ' => 'ἕ', 'Ἐ' => 'Ἐ', 'Ἑ' => 'Ἑ', 'Ἒ' => 'Ἒ', 'Ἓ' => 'Ἓ', 'Ἔ' => 'Ἔ', 'Ἕ' => 'Ἕ', 'ἠ' => 'ἠ', 'ἡ' => 'ἡ', 'ἢ' => 'ἢ', 'ἣ' => 'ἣ', 'ἤ' => 'ἤ', 'ἥ' => 'ἥ', 'ἦ' => 'ἦ', 'ἧ' => 'ἧ', 'Ἠ' => 'Ἠ', 'Ἡ' => 'Ἡ', 'Ἢ' => 'Ἢ', 'Ἣ' => 'Ἣ', 'Ἤ' => 'Ἤ', 'Ἥ' => 'Ἥ', 'Ἦ' => 'Ἦ', 'Ἧ' => 'Ἧ', 'ἰ' => 'ἰ', 'ἱ' => 'ἱ', 'ἲ' => 'ἲ', 'ἳ' => 'ἳ', 'ἴ' => 'ἴ', 'ἵ' => 'ἵ', 'ἶ' => 'ἶ', 'ἷ' => 'ἷ', 'Ἰ' => 'Ἰ', 'Ἱ' => 'Ἱ', 'Ἲ' => 'Ἲ', 'Ἳ' => 'Ἳ', 'Ἴ' => 'Ἴ', 'Ἵ' => 'Ἵ', 'Ἶ' => 'Ἶ', 'Ἷ' => 'Ἷ', 'ὀ' => 'ὀ', 'ὁ' => 'ὁ', 'ὂ' => 'ὂ', 'ὃ' => 'ὃ', 'ὄ' => 'ὄ', 'ὅ' => 'ὅ', 'Ὀ' => 'Ὀ', 'Ὁ' => 'Ὁ', 'Ὂ' => 'Ὂ', 'Ὃ' => 'Ὃ', 'Ὄ' => 'Ὄ', 'Ὅ' => 'Ὅ', 'ὐ' => 'ὐ', 'ὑ' => 'ὑ', 'ὒ' => 'ὒ', 'ὓ' => 'ὓ', 'ὔ' => 'ὔ', 'ὕ' => 'ὕ', 'ὖ' => 'ὖ', 'ὗ' => 'ὗ', 'Ὑ' => 'Ὑ', 'Ὓ' => 'Ὓ', 'Ὕ' => 'Ὕ', 'Ὗ' => 'Ὗ', 'ὠ' => 'ὠ', 'ὡ' => 'ὡ', 'ὢ' => 'ὢ', 'ὣ' => 'ὣ', 'ὤ' => 'ὤ', 'ὥ' => 'ὥ', 'ὦ' => 'ὦ', 'ὧ' => 'ὧ', 'Ὠ' => 'Ὠ', 'Ὡ' => 'Ὡ', 'Ὢ' => 'Ὢ', 'Ὣ' => 'Ὣ', 'Ὤ' => 'Ὤ', 'Ὥ' => 'Ὥ', 'Ὦ' => 'Ὦ', 'Ὧ' => 'Ὧ', 'ὰ' => 'ὰ', 'ὲ' => 'ὲ', 'ὴ' => 'ὴ', 'ὶ' => 'ὶ', 'ὸ' => 'ὸ', 'ὺ' => 'ὺ', 'ὼ' => 'ὼ', 'ᾀ' => 'ᾀ', 'ᾁ' => 'ᾁ', 'ᾂ' => 'ᾂ', 'ᾃ' => 'ᾃ', 'ᾄ' => 'ᾄ', 'ᾅ' => 'ᾅ', 'ᾆ' => 'ᾆ', 'ᾇ' => 'ᾇ', 'ᾈ' => 'ᾈ', 'ᾉ' => 'ᾉ', 'ᾊ' => 'ᾊ', 'ᾋ' => 'ᾋ', 'ᾌ' => 'ᾌ', 'ᾍ' => 'ᾍ', 'ᾎ' => 'ᾎ', 'ᾏ' => 'ᾏ', 'ᾐ' => 'ᾐ', 'ᾑ' => 'ᾑ', 'ᾒ' => 'ᾒ', 'ᾓ' => 'ᾓ', 'ᾔ' => 'ᾔ', 'ᾕ' => 'ᾕ', 'ᾖ' => 'ᾖ', 'ᾗ' => 'ᾗ', 'ᾘ' => 'ᾘ', 'ᾙ' => 'ᾙ', 'ᾚ' => 'ᾚ', 'ᾛ' => 'ᾛ', 'ᾜ' => 'ᾜ', 'ᾝ' => 'ᾝ', 'ᾞ' => 'ᾞ', 'ᾟ' => 'ᾟ', 'ᾠ' => 'ᾠ', 'ᾡ' => 'ᾡ', 'ᾢ' => 'ᾢ', 'ᾣ' => 'ᾣ', 'ᾤ' => 'ᾤ', 'ᾥ' => 'ᾥ', 'ᾦ' => 'ᾦ', 'ᾧ' => 'ᾧ', 'ᾨ' => 'ᾨ', 'ᾩ' => 'ᾩ', 'ᾪ' => 'ᾪ', 'ᾫ' => 'ᾫ', 'ᾬ' => 'ᾬ', 'ᾭ' => 'ᾭ', 'ᾮ' => 'ᾮ', 'ᾯ' => 'ᾯ', 'ᾰ' => 'ᾰ', 'ᾱ' => 'ᾱ', 'ᾲ' => 'ᾲ', 'ᾳ' => 'ᾳ', 'ᾴ' => 'ᾴ', 'ᾶ' => 'ᾶ', 'ᾷ' => 'ᾷ', 'Ᾰ' => 'Ᾰ', 'Ᾱ' => 'Ᾱ', 'Ὰ' => 'Ὰ', 'ᾼ' => 'ᾼ', '῁' => '῁', 'ῂ' => 'ῂ', 'ῃ' => 'ῃ', 'ῄ' => 'ῄ', 'ῆ' => 'ῆ', 'ῇ' => 'ῇ', 'Ὲ' => 'Ὲ', 'Ὴ' => 'Ὴ', 'ῌ' => 'ῌ', '῍' => '῍', '῎' => '῎', '῏' => '῏', 'ῐ' => 'ῐ', 'ῑ' => 'ῑ', 'ῒ' => 'ῒ', 'ῖ' => 'ῖ', 'ῗ' => 'ῗ', 'Ῐ' => 'Ῐ', 'Ῑ' => 'Ῑ', 'Ὶ' => 'Ὶ', '῝' => '῝', '῞' => '῞', '῟' => '῟', 'ῠ' => 'ῠ', 'ῡ' => 'ῡ', 'ῢ' => 'ῢ', 'ῤ' => 'ῤ', 'ῥ' => 'ῥ', 'ῦ' => 'ῦ', 'ῧ' => 'ῧ', 'Ῠ' => 'Ῠ', 'Ῡ' => 'Ῡ', 'Ὺ' => 'Ὺ', 'Ῥ' => 'Ῥ', '῭' => '῭', 'ῲ' => 'ῲ', 'ῳ' => 'ῳ', 'ῴ' => 'ῴ', 'ῶ' => 'ῶ', 'ῷ' => 'ῷ', 'Ὸ' => 'Ὸ', 'Ὼ' => 'Ὼ', 'ῼ' => 'ῼ', '↚' => '↚', '↛' => '↛', '↮' => '↮', '⇍' => '⇍', '⇎' => '⇎', '⇏' => '⇏', '∄' => '∄', '∉' => '∉', '∌' => '∌', '∤' => '∤', '∦' => '∦', '≁' => '≁', '≄' => '≄', '≇' => '≇', '≉' => '≉', '≠' => '≠', '≢' => '≢', '≭' => '≭', '≮' => '≮', '≯' => '≯', '≰' => '≰', '≱' => '≱', '≴' => '≴', '≵' => '≵', '≸' => '≸', '≹' => '≹', '⊀' => '⊀', '⊁' => '⊁', '⊄' => '⊄', '⊅' => '⊅', '⊈' => '⊈', '⊉' => '⊉', '⊬' => '⊬', '⊭' => '⊭', '⊮' => '⊮', '⊯' => '⊯', '⋠' => '⋠', '⋡' => '⋡', '⋢' => '⋢', '⋣' => '⋣', '⋪' => '⋪', '⋫' => '⋫', '⋬' => '⋬', '⋭' => '⋭', 'が' => 'が', 'ぎ' => 'ぎ', 'ぐ' => 'ぐ', 'げ' => 'げ', 'ご' => 'ご', 'ざ' => 'ざ', 'じ' => 'じ', 'ず' => 'ず', 'ぜ' => 'ぜ', 'ぞ' => 'ぞ', 'だ' => 'だ', 'ぢ' => 'ぢ', 'づ' => 'づ', 'で' => 'で', 'ど' => 'ど', 'ば' => 'ば', 'ぱ' => 'ぱ', 'び' => 'び', 'ぴ' => 'ぴ', 'ぶ' => 'ぶ', 'ぷ' => 'ぷ', 'べ' => 'べ', 'ぺ' => 'ぺ', 'ぼ' => 'ぼ', 'ぽ' => 'ぽ', 'ゔ' => 'ゔ', 'ゞ' => 'ゞ', 'ガ' => 'ガ', 'ギ' => 'ギ', 'グ' => 'グ', 'ゲ' => 'ゲ', 'ゴ' => 'ゴ', 'ザ' => 'ザ', 'ジ' => 'ジ', 'ズ' => 'ズ', 'ゼ' => 'ゼ', 'ゾ' => 'ゾ', 'ダ' => 'ダ', 'ヂ' => 'ヂ', 'ヅ' => 'ヅ', 'デ' => 'デ', 'ド' => 'ド', 'バ' => 'バ', 'パ' => 'パ', 'ビ' => 'ビ', 'ピ' => 'ピ', 'ブ' => 'ブ', 'プ' => 'プ', 'ベ' => 'ベ', 'ペ' => 'ペ', 'ボ' => 'ボ', 'ポ' => 'ポ', 'ヴ' => 'ヴ', 'ヷ' => 'ヷ', 'ヸ' => 'ヸ', 'ヹ' => 'ヹ', 'ヺ' => 'ヺ', 'ヾ' => 'ヾ', '𑂚' => '𑂚', '𑂜' => '𑂜', '𑂫' => '𑂫', '𑄮' => '𑄮', '𑄯' => '𑄯', '𑍋' => '𑍋', '𑍌' => '𑍌', '𑒻' => '𑒻', '𑒼' => '𑒼', '𑒾' => '𑒾', '𑖺' => '𑖺', '𑖻' => '𑖻', '𑤸' => '𑤸', ); vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php000064400000114173147400355670025341 0ustar00 'À', 'Á' => 'Á', 'Â' => 'Â', 'Ã' => 'Ã', 'Ä' => 'Ä', 'Å' => 'Å', 'Ç' => 'Ç', 'È' => 'È', 'É' => 'É', 'Ê' => 'Ê', 'Ë' => 'Ë', 'Ì' => 'Ì', 'Í' => 'Í', 'Î' => 'Î', 'Ï' => 'Ï', 'Ñ' => 'Ñ', 'Ò' => 'Ò', 'Ó' => 'Ó', 'Ô' => 'Ô', 'Õ' => 'Õ', 'Ö' => 'Ö', 'Ù' => 'Ù', 'Ú' => 'Ú', 'Û' => 'Û', 'Ü' => 'Ü', 'Ý' => 'Ý', 'à' => 'à', 'á' => 'á', 'â' => 'â', 'ã' => 'ã', 'ä' => 'ä', 'å' => 'å', 'ç' => 'ç', 'è' => 'è', 'é' => 'é', 'ê' => 'ê', 'ë' => 'ë', 'ì' => 'ì', 'í' => 'í', 'î' => 'î', 'ï' => 'ï', 'ñ' => 'ñ', 'ò' => 'ò', 'ó' => 'ó', 'ô' => 'ô', 'õ' => 'õ', 'ö' => 'ö', 'ù' => 'ù', 'ú' => 'ú', 'û' => 'û', 'ü' => 'ü', 'ý' => 'ý', 'ÿ' => 'ÿ', 'Ā' => 'Ā', 'ā' => 'ā', 'Ă' => 'Ă', 'ă' => 'ă', 'Ą' => 'Ą', 'ą' => 'ą', 'Ć' => 'Ć', 'ć' => 'ć', 'Ĉ' => 'Ĉ', 'ĉ' => 'ĉ', 'Ċ' => 'Ċ', 'ċ' => 'ċ', 'Č' => 'Č', 'č' => 'č', 'Ď' => 'Ď', 'ď' => 'ď', 'Ē' => 'Ē', 'ē' => 'ē', 'Ĕ' => 'Ĕ', 'ĕ' => 'ĕ', 'Ė' => 'Ė', 'ė' => 'ė', 'Ę' => 'Ę', 'ę' => 'ę', 'Ě' => 'Ě', 'ě' => 'ě', 'Ĝ' => 'Ĝ', 'ĝ' => 'ĝ', 'Ğ' => 'Ğ', 'ğ' => 'ğ', 'Ġ' => 'Ġ', 'ġ' => 'ġ', 'Ģ' => 'Ģ', 'ģ' => 'ģ', 'Ĥ' => 'Ĥ', 'ĥ' => 'ĥ', 'Ĩ' => 'Ĩ', 'ĩ' => 'ĩ', 'Ī' => 'Ī', 'ī' => 'ī', 'Ĭ' => 'Ĭ', 'ĭ' => 'ĭ', 'Į' => 'Į', 'į' => 'į', 'İ' => 'İ', 'Ĵ' => 'Ĵ', 'ĵ' => 'ĵ', 'Ķ' => 'Ķ', 'ķ' => 'ķ', 'Ĺ' => 'Ĺ', 'ĺ' => 'ĺ', 'Ļ' => 'Ļ', 'ļ' => 'ļ', 'Ľ' => 'Ľ', 'ľ' => 'ľ', 'Ń' => 'Ń', 'ń' => 'ń', 'Ņ' => 'Ņ', 'ņ' => 'ņ', 'Ň' => 'Ň', 'ň' => 'ň', 'Ō' => 'Ō', 'ō' => 'ō', 'Ŏ' => 'Ŏ', 'ŏ' => 'ŏ', 'Ő' => 'Ő', 'ő' => 'ő', 'Ŕ' => 'Ŕ', 'ŕ' => 'ŕ', 'Ŗ' => 'Ŗ', 'ŗ' => 'ŗ', 'Ř' => 'Ř', 'ř' => 'ř', 'Ś' => 'Ś', 'ś' => 'ś', 'Ŝ' => 'Ŝ', 'ŝ' => 'ŝ', 'Ş' => 'Ş', 'ş' => 'ş', 'Š' => 'Š', 'š' => 'š', 'Ţ' => 'Ţ', 'ţ' => 'ţ', 'Ť' => 'Ť', 'ť' => 'ť', 'Ũ' => 'Ũ', 'ũ' => 'ũ', 'Ū' => 'Ū', 'ū' => 'ū', 'Ŭ' => 'Ŭ', 'ŭ' => 'ŭ', 'Ů' => 'Ů', 'ů' => 'ů', 'Ű' => 'Ű', 'ű' => 'ű', 'Ų' => 'Ų', 'ų' => 'ų', 'Ŵ' => 'Ŵ', 'ŵ' => 'ŵ', 'Ŷ' => 'Ŷ', 'ŷ' => 'ŷ', 'Ÿ' => 'Ÿ', 'Ź' => 'Ź', 'ź' => 'ź', 'Ż' => 'Ż', 'ż' => 'ż', 'Ž' => 'Ž', 'ž' => 'ž', 'Ơ' => 'Ơ', 'ơ' => 'ơ', 'Ư' => 'Ư', 'ư' => 'ư', 'Ǎ' => 'Ǎ', 'ǎ' => 'ǎ', 'Ǐ' => 'Ǐ', 'ǐ' => 'ǐ', 'Ǒ' => 'Ǒ', 'ǒ' => 'ǒ', 'Ǔ' => 'Ǔ', 'ǔ' => 'ǔ', 'Ǖ' => 'Ǖ', 'ǖ' => 'ǖ', 'Ǘ' => 'Ǘ', 'ǘ' => 'ǘ', 'Ǚ' => 'Ǚ', 'ǚ' => 'ǚ', 'Ǜ' => 'Ǜ', 'ǜ' => 'ǜ', 'Ǟ' => 'Ǟ', 'ǟ' => 'ǟ', 'Ǡ' => 'Ǡ', 'ǡ' => 'ǡ', 'Ǣ' => 'Ǣ', 'ǣ' => 'ǣ', 'Ǧ' => 'Ǧ', 'ǧ' => 'ǧ', 'Ǩ' => 'Ǩ', 'ǩ' => 'ǩ', 'Ǫ' => 'Ǫ', 'ǫ' => 'ǫ', 'Ǭ' => 'Ǭ', 'ǭ' => 'ǭ', 'Ǯ' => 'Ǯ', 'ǯ' => 'ǯ', 'ǰ' => 'ǰ', 'Ǵ' => 'Ǵ', 'ǵ' => 'ǵ', 'Ǹ' => 'Ǹ', 'ǹ' => 'ǹ', 'Ǻ' => 'Ǻ', 'ǻ' => 'ǻ', 'Ǽ' => 'Ǽ', 'ǽ' => 'ǽ', 'Ǿ' => 'Ǿ', 'ǿ' => 'ǿ', 'Ȁ' => 'Ȁ', 'ȁ' => 'ȁ', 'Ȃ' => 'Ȃ', 'ȃ' => 'ȃ', 'Ȅ' => 'Ȅ', 'ȅ' => 'ȅ', 'Ȇ' => 'Ȇ', 'ȇ' => 'ȇ', 'Ȉ' => 'Ȉ', 'ȉ' => 'ȉ', 'Ȋ' => 'Ȋ', 'ȋ' => 'ȋ', 'Ȍ' => 'Ȍ', 'ȍ' => 'ȍ', 'Ȏ' => 'Ȏ', 'ȏ' => 'ȏ', 'Ȑ' => 'Ȑ', 'ȑ' => 'ȑ', 'Ȓ' => 'Ȓ', 'ȓ' => 'ȓ', 'Ȕ' => 'Ȕ', 'ȕ' => 'ȕ', 'Ȗ' => 'Ȗ', 'ȗ' => 'ȗ', 'Ș' => 'Ș', 'ș' => 'ș', 'Ț' => 'Ț', 'ț' => 'ț', 'Ȟ' => 'Ȟ', 'ȟ' => 'ȟ', 'Ȧ' => 'Ȧ', 'ȧ' => 'ȧ', 'Ȩ' => 'Ȩ', 'ȩ' => 'ȩ', 'Ȫ' => 'Ȫ', 'ȫ' => 'ȫ', 'Ȭ' => 'Ȭ', 'ȭ' => 'ȭ', 'Ȯ' => 'Ȯ', 'ȯ' => 'ȯ', 'Ȱ' => 'Ȱ', 'ȱ' => 'ȱ', 'Ȳ' => 'Ȳ', 'ȳ' => 'ȳ', '̀' => '̀', '́' => '́', '̓' => '̓', '̈́' => '̈́', 'ʹ' => 'ʹ', ';' => ';', '΅' => '΅', 'Ά' => 'Ά', '·' => '·', 'Έ' => 'Έ', 'Ή' => 'Ή', 'Ί' => 'Ί', 'Ό' => 'Ό', 'Ύ' => 'Ύ', 'Ώ' => 'Ώ', 'ΐ' => 'ΐ', 'Ϊ' => 'Ϊ', 'Ϋ' => 'Ϋ', 'ά' => 'ά', 'έ' => 'έ', 'ή' => 'ή', 'ί' => 'ί', 'ΰ' => 'ΰ', 'ϊ' => 'ϊ', 'ϋ' => 'ϋ', 'ό' => 'ό', 'ύ' => 'ύ', 'ώ' => 'ώ', 'ϓ' => 'ϓ', 'ϔ' => 'ϔ', 'Ѐ' => 'Ѐ', 'Ё' => 'Ё', 'Ѓ' => 'Ѓ', 'Ї' => 'Ї', 'Ќ' => 'Ќ', 'Ѝ' => 'Ѝ', 'Ў' => 'Ў', 'Й' => 'Й', 'й' => 'й', 'ѐ' => 'ѐ', 'ё' => 'ё', 'ѓ' => 'ѓ', 'ї' => 'ї', 'ќ' => 'ќ', 'ѝ' => 'ѝ', 'ў' => 'ў', 'Ѷ' => 'Ѷ', 'ѷ' => 'ѷ', 'Ӂ' => 'Ӂ', 'ӂ' => 'ӂ', 'Ӑ' => 'Ӑ', 'ӑ' => 'ӑ', 'Ӓ' => 'Ӓ', 'ӓ' => 'ӓ', 'Ӗ' => 'Ӗ', 'ӗ' => 'ӗ', 'Ӛ' => 'Ӛ', 'ӛ' => 'ӛ', 'Ӝ' => 'Ӝ', 'ӝ' => 'ӝ', 'Ӟ' => 'Ӟ', 'ӟ' => 'ӟ', 'Ӣ' => 'Ӣ', 'ӣ' => 'ӣ', 'Ӥ' => 'Ӥ', 'ӥ' => 'ӥ', 'Ӧ' => 'Ӧ', 'ӧ' => 'ӧ', 'Ӫ' => 'Ӫ', 'ӫ' => 'ӫ', 'Ӭ' => 'Ӭ', 'ӭ' => 'ӭ', 'Ӯ' => 'Ӯ', 'ӯ' => 'ӯ', 'Ӱ' => 'Ӱ', 'ӱ' => 'ӱ', 'Ӳ' => 'Ӳ', 'ӳ' => 'ӳ', 'Ӵ' => 'Ӵ', 'ӵ' => 'ӵ', 'Ӹ' => 'Ӹ', 'ӹ' => 'ӹ', 'آ' => 'آ', 'أ' => 'أ', 'ؤ' => 'ؤ', 'إ' => 'إ', 'ئ' => 'ئ', 'ۀ' => 'ۀ', 'ۂ' => 'ۂ', 'ۓ' => 'ۓ', 'ऩ' => 'ऩ', 'ऱ' => 'ऱ', 'ऴ' => 'ऴ', 'क़' => 'क़', 'ख़' => 'ख़', 'ग़' => 'ग़', 'ज़' => 'ज़', 'ड़' => 'ड़', 'ढ़' => 'ढ़', 'फ़' => 'फ़', 'य़' => 'य़', 'ো' => 'ো', 'ৌ' => 'ৌ', 'ড়' => 'ড়', 'ঢ়' => 'ঢ়', 'য়' => 'য়', 'ਲ਼' => 'ਲ਼', 'ਸ਼' => 'ਸ਼', 'ਖ਼' => 'ਖ਼', 'ਗ਼' => 'ਗ਼', 'ਜ਼' => 'ਜ਼', 'ਫ਼' => 'ਫ਼', 'ୈ' => 'ୈ', 'ୋ' => 'ୋ', 'ୌ' => 'ୌ', 'ଡ଼' => 'ଡ଼', 'ଢ଼' => 'ଢ଼', 'ஔ' => 'ஔ', 'ொ' => 'ொ', 'ோ' => 'ோ', 'ௌ' => 'ௌ', 'ై' => 'ై', 'ೀ' => 'ೀ', 'ೇ' => 'ೇ', 'ೈ' => 'ೈ', 'ೊ' => 'ೊ', 'ೋ' => 'ೋ', 'ൊ' => 'ൊ', 'ോ' => 'ോ', 'ൌ' => 'ൌ', 'ේ' => 'ේ', 'ො' => 'ො', 'ෝ' => 'ෝ', 'ෞ' => 'ෞ', 'གྷ' => 'གྷ', 'ཌྷ' => 'ཌྷ', 'དྷ' => 'དྷ', 'བྷ' => 'བྷ', 'ཛྷ' => 'ཛྷ', 'ཀྵ' => 'ཀྵ', 'ཱི' => 'ཱི', 'ཱུ' => 'ཱུ', 'ྲྀ' => 'ྲྀ', 'ླྀ' => 'ླྀ', 'ཱྀ' => 'ཱྀ', 'ྒྷ' => 'ྒྷ', 'ྜྷ' => 'ྜྷ', 'ྡྷ' => 'ྡྷ', 'ྦྷ' => 'ྦྷ', 'ྫྷ' => 'ྫྷ', 'ྐྵ' => 'ྐྵ', 'ဦ' => 'ဦ', 'ᬆ' => 'ᬆ', 'ᬈ' => 'ᬈ', 'ᬊ' => 'ᬊ', 'ᬌ' => 'ᬌ', 'ᬎ' => 'ᬎ', 'ᬒ' => 'ᬒ', 'ᬻ' => 'ᬻ', 'ᬽ' => 'ᬽ', 'ᭀ' => 'ᭀ', 'ᭁ' => 'ᭁ', 'ᭃ' => 'ᭃ', 'Ḁ' => 'Ḁ', 'ḁ' => 'ḁ', 'Ḃ' => 'Ḃ', 'ḃ' => 'ḃ', 'Ḅ' => 'Ḅ', 'ḅ' => 'ḅ', 'Ḇ' => 'Ḇ', 'ḇ' => 'ḇ', 'Ḉ' => 'Ḉ', 'ḉ' => 'ḉ', 'Ḋ' => 'Ḋ', 'ḋ' => 'ḋ', 'Ḍ' => 'Ḍ', 'ḍ' => 'ḍ', 'Ḏ' => 'Ḏ', 'ḏ' => 'ḏ', 'Ḑ' => 'Ḑ', 'ḑ' => 'ḑ', 'Ḓ' => 'Ḓ', 'ḓ' => 'ḓ', 'Ḕ' => 'Ḕ', 'ḕ' => 'ḕ', 'Ḗ' => 'Ḗ', 'ḗ' => 'ḗ', 'Ḙ' => 'Ḙ', 'ḙ' => 'ḙ', 'Ḛ' => 'Ḛ', 'ḛ' => 'ḛ', 'Ḝ' => 'Ḝ', 'ḝ' => 'ḝ', 'Ḟ' => 'Ḟ', 'ḟ' => 'ḟ', 'Ḡ' => 'Ḡ', 'ḡ' => 'ḡ', 'Ḣ' => 'Ḣ', 'ḣ' => 'ḣ', 'Ḥ' => 'Ḥ', 'ḥ' => 'ḥ', 'Ḧ' => 'Ḧ', 'ḧ' => 'ḧ', 'Ḩ' => 'Ḩ', 'ḩ' => 'ḩ', 'Ḫ' => 'Ḫ', 'ḫ' => 'ḫ', 'Ḭ' => 'Ḭ', 'ḭ' => 'ḭ', 'Ḯ' => 'Ḯ', 'ḯ' => 'ḯ', 'Ḱ' => 'Ḱ', 'ḱ' => 'ḱ', 'Ḳ' => 'Ḳ', 'ḳ' => 'ḳ', 'Ḵ' => 'Ḵ', 'ḵ' => 'ḵ', 'Ḷ' => 'Ḷ', 'ḷ' => 'ḷ', 'Ḹ' => 'Ḹ', 'ḹ' => 'ḹ', 'Ḻ' => 'Ḻ', 'ḻ' => 'ḻ', 'Ḽ' => 'Ḽ', 'ḽ' => 'ḽ', 'Ḿ' => 'Ḿ', 'ḿ' => 'ḿ', 'Ṁ' => 'Ṁ', 'ṁ' => 'ṁ', 'Ṃ' => 'Ṃ', 'ṃ' => 'ṃ', 'Ṅ' => 'Ṅ', 'ṅ' => 'ṅ', 'Ṇ' => 'Ṇ', 'ṇ' => 'ṇ', 'Ṉ' => 'Ṉ', 'ṉ' => 'ṉ', 'Ṋ' => 'Ṋ', 'ṋ' => 'ṋ', 'Ṍ' => 'Ṍ', 'ṍ' => 'ṍ', 'Ṏ' => 'Ṏ', 'ṏ' => 'ṏ', 'Ṑ' => 'Ṑ', 'ṑ' => 'ṑ', 'Ṓ' => 'Ṓ', 'ṓ' => 'ṓ', 'Ṕ' => 'Ṕ', 'ṕ' => 'ṕ', 'Ṗ' => 'Ṗ', 'ṗ' => 'ṗ', 'Ṙ' => 'Ṙ', 'ṙ' => 'ṙ', 'Ṛ' => 'Ṛ', 'ṛ' => 'ṛ', 'Ṝ' => 'Ṝ', 'ṝ' => 'ṝ', 'Ṟ' => 'Ṟ', 'ṟ' => 'ṟ', 'Ṡ' => 'Ṡ', 'ṡ' => 'ṡ', 'Ṣ' => 'Ṣ', 'ṣ' => 'ṣ', 'Ṥ' => 'Ṥ', 'ṥ' => 'ṥ', 'Ṧ' => 'Ṧ', 'ṧ' => 'ṧ', 'Ṩ' => 'Ṩ', 'ṩ' => 'ṩ', 'Ṫ' => 'Ṫ', 'ṫ' => 'ṫ', 'Ṭ' => 'Ṭ', 'ṭ' => 'ṭ', 'Ṯ' => 'Ṯ', 'ṯ' => 'ṯ', 'Ṱ' => 'Ṱ', 'ṱ' => 'ṱ', 'Ṳ' => 'Ṳ', 'ṳ' => 'ṳ', 'Ṵ' => 'Ṵ', 'ṵ' => 'ṵ', 'Ṷ' => 'Ṷ', 'ṷ' => 'ṷ', 'Ṹ' => 'Ṹ', 'ṹ' => 'ṹ', 'Ṻ' => 'Ṻ', 'ṻ' => 'ṻ', 'Ṽ' => 'Ṽ', 'ṽ' => 'ṽ', 'Ṿ' => 'Ṿ', 'ṿ' => 'ṿ', 'Ẁ' => 'Ẁ', 'ẁ' => 'ẁ', 'Ẃ' => 'Ẃ', 'ẃ' => 'ẃ', 'Ẅ' => 'Ẅ', 'ẅ' => 'ẅ', 'Ẇ' => 'Ẇ', 'ẇ' => 'ẇ', 'Ẉ' => 'Ẉ', 'ẉ' => 'ẉ', 'Ẋ' => 'Ẋ', 'ẋ' => 'ẋ', 'Ẍ' => 'Ẍ', 'ẍ' => 'ẍ', 'Ẏ' => 'Ẏ', 'ẏ' => 'ẏ', 'Ẑ' => 'Ẑ', 'ẑ' => 'ẑ', 'Ẓ' => 'Ẓ', 'ẓ' => 'ẓ', 'Ẕ' => 'Ẕ', 'ẕ' => 'ẕ', 'ẖ' => 'ẖ', 'ẗ' => 'ẗ', 'ẘ' => 'ẘ', 'ẙ' => 'ẙ', 'ẛ' => 'ẛ', 'Ạ' => 'Ạ', 'ạ' => 'ạ', 'Ả' => 'Ả', 'ả' => 'ả', 'Ấ' => 'Ấ', 'ấ' => 'ấ', 'Ầ' => 'Ầ', 'ầ' => 'ầ', 'Ẩ' => 'Ẩ', 'ẩ' => 'ẩ', 'Ẫ' => 'Ẫ', 'ẫ' => 'ẫ', 'Ậ' => 'Ậ', 'ậ' => 'ậ', 'Ắ' => 'Ắ', 'ắ' => 'ắ', 'Ằ' => 'Ằ', 'ằ' => 'ằ', 'Ẳ' => 'Ẳ', 'ẳ' => 'ẳ', 'Ẵ' => 'Ẵ', 'ẵ' => 'ẵ', 'Ặ' => 'Ặ', 'ặ' => 'ặ', 'Ẹ' => 'Ẹ', 'ẹ' => 'ẹ', 'Ẻ' => 'Ẻ', 'ẻ' => 'ẻ', 'Ẽ' => 'Ẽ', 'ẽ' => 'ẽ', 'Ế' => 'Ế', 'ế' => 'ế', 'Ề' => 'Ề', 'ề' => 'ề', 'Ể' => 'Ể', 'ể' => 'ể', 'Ễ' => 'Ễ', 'ễ' => 'ễ', 'Ệ' => 'Ệ', 'ệ' => 'ệ', 'Ỉ' => 'Ỉ', 'ỉ' => 'ỉ', 'Ị' => 'Ị', 'ị' => 'ị', 'Ọ' => 'Ọ', 'ọ' => 'ọ', 'Ỏ' => 'Ỏ', 'ỏ' => 'ỏ', 'Ố' => 'Ố', 'ố' => 'ố', 'Ồ' => 'Ồ', 'ồ' => 'ồ', 'Ổ' => 'Ổ', 'ổ' => 'ổ', 'Ỗ' => 'Ỗ', 'ỗ' => 'ỗ', 'Ộ' => 'Ộ', 'ộ' => 'ộ', 'Ớ' => 'Ớ', 'ớ' => 'ớ', 'Ờ' => 'Ờ', 'ờ' => 'ờ', 'Ở' => 'Ở', 'ở' => 'ở', 'Ỡ' => 'Ỡ', 'ỡ' => 'ỡ', 'Ợ' => 'Ợ', 'ợ' => 'ợ', 'Ụ' => 'Ụ', 'ụ' => 'ụ', 'Ủ' => 'Ủ', 'ủ' => 'ủ', 'Ứ' => 'Ứ', 'ứ' => 'ứ', 'Ừ' => 'Ừ', 'ừ' => 'ừ', 'Ử' => 'Ử', 'ử' => 'ử', 'Ữ' => 'Ữ', 'ữ' => 'ữ', 'Ự' => 'Ự', 'ự' => 'ự', 'Ỳ' => 'Ỳ', 'ỳ' => 'ỳ', 'Ỵ' => 'Ỵ', 'ỵ' => 'ỵ', 'Ỷ' => 'Ỷ', 'ỷ' => 'ỷ', 'Ỹ' => 'Ỹ', 'ỹ' => 'ỹ', 'ἀ' => 'ἀ', 'ἁ' => 'ἁ', 'ἂ' => 'ἂ', 'ἃ' => 'ἃ', 'ἄ' => 'ἄ', 'ἅ' => 'ἅ', 'ἆ' => 'ἆ', 'ἇ' => 'ἇ', 'Ἀ' => 'Ἀ', 'Ἁ' => 'Ἁ', 'Ἂ' => 'Ἂ', 'Ἃ' => 'Ἃ', 'Ἄ' => 'Ἄ', 'Ἅ' => 'Ἅ', 'Ἆ' => 'Ἆ', 'Ἇ' => 'Ἇ', 'ἐ' => 'ἐ', 'ἑ' => 'ἑ', 'ἒ' => 'ἒ', 'ἓ' => 'ἓ', 'ἔ' => 'ἔ', 'ἕ' => 'ἕ', 'Ἐ' => 'Ἐ', 'Ἑ' => 'Ἑ', 'Ἒ' => 'Ἒ', 'Ἓ' => 'Ἓ', 'Ἔ' => 'Ἔ', 'Ἕ' => 'Ἕ', 'ἠ' => 'ἠ', 'ἡ' => 'ἡ', 'ἢ' => 'ἢ', 'ἣ' => 'ἣ', 'ἤ' => 'ἤ', 'ἥ' => 'ἥ', 'ἦ' => 'ἦ', 'ἧ' => 'ἧ', 'Ἠ' => 'Ἠ', 'Ἡ' => 'Ἡ', 'Ἢ' => 'Ἢ', 'Ἣ' => 'Ἣ', 'Ἤ' => 'Ἤ', 'Ἥ' => 'Ἥ', 'Ἦ' => 'Ἦ', 'Ἧ' => 'Ἧ', 'ἰ' => 'ἰ', 'ἱ' => 'ἱ', 'ἲ' => 'ἲ', 'ἳ' => 'ἳ', 'ἴ' => 'ἴ', 'ἵ' => 'ἵ', 'ἶ' => 'ἶ', 'ἷ' => 'ἷ', 'Ἰ' => 'Ἰ', 'Ἱ' => 'Ἱ', 'Ἲ' => 'Ἲ', 'Ἳ' => 'Ἳ', 'Ἴ' => 'Ἴ', 'Ἵ' => 'Ἵ', 'Ἶ' => 'Ἶ', 'Ἷ' => 'Ἷ', 'ὀ' => 'ὀ', 'ὁ' => 'ὁ', 'ὂ' => 'ὂ', 'ὃ' => 'ὃ', 'ὄ' => 'ὄ', 'ὅ' => 'ὅ', 'Ὀ' => 'Ὀ', 'Ὁ' => 'Ὁ', 'Ὂ' => 'Ὂ', 'Ὃ' => 'Ὃ', 'Ὄ' => 'Ὄ', 'Ὅ' => 'Ὅ', 'ὐ' => 'ὐ', 'ὑ' => 'ὑ', 'ὒ' => 'ὒ', 'ὓ' => 'ὓ', 'ὔ' => 'ὔ', 'ὕ' => 'ὕ', 'ὖ' => 'ὖ', 'ὗ' => 'ὗ', 'Ὑ' => 'Ὑ', 'Ὓ' => 'Ὓ', 'Ὕ' => 'Ὕ', 'Ὗ' => 'Ὗ', 'ὠ' => 'ὠ', 'ὡ' => 'ὡ', 'ὢ' => 'ὢ', 'ὣ' => 'ὣ', 'ὤ' => 'ὤ', 'ὥ' => 'ὥ', 'ὦ' => 'ὦ', 'ὧ' => 'ὧ', 'Ὠ' => 'Ὠ', 'Ὡ' => 'Ὡ', 'Ὢ' => 'Ὢ', 'Ὣ' => 'Ὣ', 'Ὤ' => 'Ὤ', 'Ὥ' => 'Ὥ', 'Ὦ' => 'Ὦ', 'Ὧ' => 'Ὧ', 'ὰ' => 'ὰ', 'ά' => 'ά', 'ὲ' => 'ὲ', 'έ' => 'έ', 'ὴ' => 'ὴ', 'ή' => 'ή', 'ὶ' => 'ὶ', 'ί' => 'ί', 'ὸ' => 'ὸ', 'ό' => 'ό', 'ὺ' => 'ὺ', 'ύ' => 'ύ', 'ὼ' => 'ὼ', 'ώ' => 'ώ', 'ᾀ' => 'ᾀ', 'ᾁ' => 'ᾁ', 'ᾂ' => 'ᾂ', 'ᾃ' => 'ᾃ', 'ᾄ' => 'ᾄ', 'ᾅ' => 'ᾅ', 'ᾆ' => 'ᾆ', 'ᾇ' => 'ᾇ', 'ᾈ' => 'ᾈ', 'ᾉ' => 'ᾉ', 'ᾊ' => 'ᾊ', 'ᾋ' => 'ᾋ', 'ᾌ' => 'ᾌ', 'ᾍ' => 'ᾍ', 'ᾎ' => 'ᾎ', 'ᾏ' => 'ᾏ', 'ᾐ' => 'ᾐ', 'ᾑ' => 'ᾑ', 'ᾒ' => 'ᾒ', 'ᾓ' => 'ᾓ', 'ᾔ' => 'ᾔ', 'ᾕ' => 'ᾕ', 'ᾖ' => 'ᾖ', 'ᾗ' => 'ᾗ', 'ᾘ' => 'ᾘ', 'ᾙ' => 'ᾙ', 'ᾚ' => 'ᾚ', 'ᾛ' => 'ᾛ', 'ᾜ' => 'ᾜ', 'ᾝ' => 'ᾝ', 'ᾞ' => 'ᾞ', 'ᾟ' => 'ᾟ', 'ᾠ' => 'ᾠ', 'ᾡ' => 'ᾡ', 'ᾢ' => 'ᾢ', 'ᾣ' => 'ᾣ', 'ᾤ' => 'ᾤ', 'ᾥ' => 'ᾥ', 'ᾦ' => 'ᾦ', 'ᾧ' => 'ᾧ', 'ᾨ' => 'ᾨ', 'ᾩ' => 'ᾩ', 'ᾪ' => 'ᾪ', 'ᾫ' => 'ᾫ', 'ᾬ' => 'ᾬ', 'ᾭ' => 'ᾭ', 'ᾮ' => 'ᾮ', 'ᾯ' => 'ᾯ', 'ᾰ' => 'ᾰ', 'ᾱ' => 'ᾱ', 'ᾲ' => 'ᾲ', 'ᾳ' => 'ᾳ', 'ᾴ' => 'ᾴ', 'ᾶ' => 'ᾶ', 'ᾷ' => 'ᾷ', 'Ᾰ' => 'Ᾰ', 'Ᾱ' => 'Ᾱ', 'Ὰ' => 'Ὰ', 'Ά' => 'Ά', 'ᾼ' => 'ᾼ', 'ι' => 'ι', '῁' => '῁', 'ῂ' => 'ῂ', 'ῃ' => 'ῃ', 'ῄ' => 'ῄ', 'ῆ' => 'ῆ', 'ῇ' => 'ῇ', 'Ὲ' => 'Ὲ', 'Έ' => 'Έ', 'Ὴ' => 'Ὴ', 'Ή' => 'Ή', 'ῌ' => 'ῌ', '῍' => '῍', '῎' => '῎', '῏' => '῏', 'ῐ' => 'ῐ', 'ῑ' => 'ῑ', 'ῒ' => 'ῒ', 'ΐ' => 'ΐ', 'ῖ' => 'ῖ', 'ῗ' => 'ῗ', 'Ῐ' => 'Ῐ', 'Ῑ' => 'Ῑ', 'Ὶ' => 'Ὶ', 'Ί' => 'Ί', '῝' => '῝', '῞' => '῞', '῟' => '῟', 'ῠ' => 'ῠ', 'ῡ' => 'ῡ', 'ῢ' => 'ῢ', 'ΰ' => 'ΰ', 'ῤ' => 'ῤ', 'ῥ' => 'ῥ', 'ῦ' => 'ῦ', 'ῧ' => 'ῧ', 'Ῠ' => 'Ῠ', 'Ῡ' => 'Ῡ', 'Ὺ' => 'Ὺ', 'Ύ' => 'Ύ', 'Ῥ' => 'Ῥ', '῭' => '῭', '΅' => '΅', '`' => '`', 'ῲ' => 'ῲ', 'ῳ' => 'ῳ', 'ῴ' => 'ῴ', 'ῶ' => 'ῶ', 'ῷ' => 'ῷ', 'Ὸ' => 'Ὸ', 'Ό' => 'Ό', 'Ὼ' => 'Ὼ', 'Ώ' => 'Ώ', 'ῼ' => 'ῼ', '´' => '´', ' ' => ' ', ' ' => ' ', 'Ω' => 'Ω', 'K' => 'K', 'Å' => 'Å', '↚' => '↚', '↛' => '↛', '↮' => '↮', '⇍' => '⇍', '⇎' => '⇎', '⇏' => '⇏', '∄' => '∄', '∉' => '∉', '∌' => '∌', '∤' => '∤', '∦' => '∦', '≁' => '≁', '≄' => '≄', '≇' => '≇', '≉' => '≉', '≠' => '≠', '≢' => '≢', '≭' => '≭', '≮' => '≮', '≯' => '≯', '≰' => '≰', '≱' => '≱', '≴' => '≴', '≵' => '≵', '≸' => '≸', '≹' => '≹', '⊀' => '⊀', '⊁' => '⊁', '⊄' => '⊄', '⊅' => '⊅', '⊈' => '⊈', '⊉' => '⊉', '⊬' => '⊬', '⊭' => '⊭', '⊮' => '⊮', '⊯' => '⊯', '⋠' => '⋠', '⋡' => '⋡', '⋢' => '⋢', '⋣' => '⋣', '⋪' => '⋪', '⋫' => '⋫', '⋬' => '⋬', '⋭' => '⋭', '〈' => '〈', '〉' => '〉', '⫝̸' => '⫝̸', 'が' => 'が', 'ぎ' => 'ぎ', 'ぐ' => 'ぐ', 'げ' => 'げ', 'ご' => 'ご', 'ざ' => 'ざ', 'じ' => 'じ', 'ず' => 'ず', 'ぜ' => 'ぜ', 'ぞ' => 'ぞ', 'だ' => 'だ', 'ぢ' => 'ぢ', 'づ' => 'づ', 'で' => 'で', 'ど' => 'ど', 'ば' => 'ば', 'ぱ' => 'ぱ', 'び' => 'び', 'ぴ' => 'ぴ', 'ぶ' => 'ぶ', 'ぷ' => 'ぷ', 'べ' => 'べ', 'ぺ' => 'ぺ', 'ぼ' => 'ぼ', 'ぽ' => 'ぽ', 'ゔ' => 'ゔ', 'ゞ' => 'ゞ', 'ガ' => 'ガ', 'ギ' => 'ギ', 'グ' => 'グ', 'ゲ' => 'ゲ', 'ゴ' => 'ゴ', 'ザ' => 'ザ', 'ジ' => 'ジ', 'ズ' => 'ズ', 'ゼ' => 'ゼ', 'ゾ' => 'ゾ', 'ダ' => 'ダ', 'ヂ' => 'ヂ', 'ヅ' => 'ヅ', 'デ' => 'デ', 'ド' => 'ド', 'バ' => 'バ', 'パ' => 'パ', 'ビ' => 'ビ', 'ピ' => 'ピ', 'ブ' => 'ブ', 'プ' => 'プ', 'ベ' => 'ベ', 'ペ' => 'ペ', 'ボ' => 'ボ', 'ポ' => 'ポ', 'ヴ' => 'ヴ', 'ヷ' => 'ヷ', 'ヸ' => 'ヸ', 'ヹ' => 'ヹ', 'ヺ' => 'ヺ', 'ヾ' => 'ヾ', '豈' => '豈', '更' => '更', '車' => '車', '賈' => '賈', '滑' => '滑', '串' => '串', '句' => '句', '龜' => '龜', '龜' => '龜', '契' => '契', '金' => '金', '喇' => '喇', '奈' => '奈', '懶' => '懶', '癩' => '癩', '羅' => '羅', '蘿' => '蘿', '螺' => '螺', '裸' => '裸', '邏' => '邏', '樂' => '樂', '洛' => '洛', '烙' => '烙', '珞' => '珞', '落' => '落', '酪' => '酪', '駱' => '駱', '亂' => '亂', '卵' => '卵', '欄' => '欄', '爛' => '爛', '蘭' => '蘭', '鸞' => '鸞', '嵐' => '嵐', '濫' => '濫', '藍' => '藍', '襤' => '襤', '拉' => '拉', '臘' => '臘', '蠟' => '蠟', '廊' => '廊', '朗' => '朗', '浪' => '浪', '狼' => '狼', '郎' => '郎', '來' => '來', '冷' => '冷', '勞' => '勞', '擄' => '擄', '櫓' => '櫓', '爐' => '爐', '盧' => '盧', '老' => '老', '蘆' => '蘆', '虜' => '虜', '路' => '路', '露' => '露', '魯' => '魯', '鷺' => '鷺', '碌' => '碌', '祿' => '祿', '綠' => '綠', '菉' => '菉', '錄' => '錄', '鹿' => '鹿', '論' => '論', '壟' => '壟', '弄' => '弄', '籠' => '籠', '聾' => '聾', '牢' => '牢', '磊' => '磊', '賂' => '賂', '雷' => '雷', '壘' => '壘', '屢' => '屢', '樓' => '樓', '淚' => '淚', '漏' => '漏', '累' => '累', '縷' => '縷', '陋' => '陋', '勒' => '勒', '肋' => '肋', '凜' => '凜', '凌' => '凌', '稜' => '稜', '綾' => '綾', '菱' => '菱', '陵' => '陵', '讀' => '讀', '拏' => '拏', '樂' => '樂', '諾' => '諾', '丹' => '丹', '寧' => '寧', '怒' => '怒', '率' => '率', '異' => '異', '北' => '北', '磻' => '磻', '便' => '便', '復' => '復', '不' => '不', '泌' => '泌', '數' => '數', '索' => '索', '參' => '參', '塞' => '塞', '省' => '省', '葉' => '葉', '說' => '說', '殺' => '殺', '辰' => '辰', '沈' => '沈', '拾' => '拾', '若' => '若', '掠' => '掠', '略' => '略', '亮' => '亮', '兩' => '兩', '凉' => '凉', '梁' => '梁', '糧' => '糧', '良' => '良', '諒' => '諒', '量' => '量', '勵' => '勵', '呂' => '呂', '女' => '女', '廬' => '廬', '旅' => '旅', '濾' => '濾', '礪' => '礪', '閭' => '閭', '驪' => '驪', '麗' => '麗', '黎' => '黎', '力' => '力', '曆' => '曆', '歷' => '歷', '轢' => '轢', '年' => '年', '憐' => '憐', '戀' => '戀', '撚' => '撚', '漣' => '漣', '煉' => '煉', '璉' => '璉', '秊' => '秊', '練' => '練', '聯' => '聯', '輦' => '輦', '蓮' => '蓮', '連' => '連', '鍊' => '鍊', '列' => '列', '劣' => '劣', '咽' => '咽', '烈' => '烈', '裂' => '裂', '說' => '說', '廉' => '廉', '念' => '念', '捻' => '捻', '殮' => '殮', '簾' => '簾', '獵' => '獵', '令' => '令', '囹' => '囹', '寧' => '寧', '嶺' => '嶺', '怜' => '怜', '玲' => '玲', '瑩' => '瑩', '羚' => '羚', '聆' => '聆', '鈴' => '鈴', '零' => '零', '靈' => '靈', '領' => '領', '例' => '例', '禮' => '禮', '醴' => '醴', '隸' => '隸', '惡' => '惡', '了' => '了', '僚' => '僚', '寮' => '寮', '尿' => '尿', '料' => '料', '樂' => '樂', '燎' => '燎', '療' => '療', '蓼' => '蓼', '遼' => '遼', '龍' => '龍', '暈' => '暈', '阮' => '阮', '劉' => '劉', '杻' => '杻', '柳' => '柳', '流' => '流', '溜' => '溜', '琉' => '琉', '留' => '留', '硫' => '硫', '紐' => '紐', '類' => '類', '六' => '六', '戮' => '戮', '陸' => '陸', '倫' => '倫', '崙' => '崙', '淪' => '淪', '輪' => '輪', '律' => '律', '慄' => '慄', '栗' => '栗', '率' => '率', '隆' => '隆', '利' => '利', '吏' => '吏', '履' => '履', '易' => '易', '李' => '李', '梨' => '梨', '泥' => '泥', '理' => '理', '痢' => '痢', '罹' => '罹', '裏' => '裏', '裡' => '裡', '里' => '里', '離' => '離', '匿' => '匿', '溺' => '溺', '吝' => '吝', '燐' => '燐', '璘' => '璘', '藺' => '藺', '隣' => '隣', '鱗' => '鱗', '麟' => '麟', '林' => '林', '淋' => '淋', '臨' => '臨', '立' => '立', '笠' => '笠', '粒' => '粒', '狀' => '狀', '炙' => '炙', '識' => '識', '什' => '什', '茶' => '茶', '刺' => '刺', '切' => '切', '度' => '度', '拓' => '拓', '糖' => '糖', '宅' => '宅', '洞' => '洞', '暴' => '暴', '輻' => '輻', '行' => '行', '降' => '降', '見' => '見', '廓' => '廓', '兀' => '兀', '嗀' => '嗀', '塚' => '塚', '晴' => '晴', '凞' => '凞', '猪' => '猪', '益' => '益', '礼' => '礼', '神' => '神', '祥' => '祥', '福' => '福', '靖' => '靖', '精' => '精', '羽' => '羽', '蘒' => '蘒', '諸' => '諸', '逸' => '逸', '都' => '都', '飯' => '飯', '飼' => '飼', '館' => '館', '鶴' => '鶴', '郞' => '郞', '隷' => '隷', '侮' => '侮', '僧' => '僧', '免' => '免', '勉' => '勉', '勤' => '勤', '卑' => '卑', '喝' => '喝', '嘆' => '嘆', '器' => '器', '塀' => '塀', '墨' => '墨', '層' => '層', '屮' => '屮', '悔' => '悔', '慨' => '慨', '憎' => '憎', '懲' => '懲', '敏' => '敏', '既' => '既', '暑' => '暑', '梅' => '梅', '海' => '海', '渚' => '渚', '漢' => '漢', '煮' => '煮', '爫' => '爫', '琢' => '琢', '碑' => '碑', '社' => '社', '祉' => '祉', '祈' => '祈', '祐' => '祐', '祖' => '祖', '祝' => '祝', '禍' => '禍', '禎' => '禎', '穀' => '穀', '突' => '突', '節' => '節', '練' => '練', '縉' => '縉', '繁' => '繁', '署' => '署', '者' => '者', '臭' => '臭', '艹' => '艹', '艹' => '艹', '著' => '著', '褐' => '褐', '視' => '視', '謁' => '謁', '謹' => '謹', '賓' => '賓', '贈' => '贈', '辶' => '辶', '逸' => '逸', '難' => '難', '響' => '響', '頻' => '頻', '恵' => '恵', '𤋮' => '𤋮', '舘' => '舘', '並' => '並', '况' => '况', '全' => '全', '侀' => '侀', '充' => '充', '冀' => '冀', '勇' => '勇', '勺' => '勺', '喝' => '喝', '啕' => '啕', '喙' => '喙', '嗢' => '嗢', '塚' => '塚', '墳' => '墳', '奄' => '奄', '奔' => '奔', '婢' => '婢', '嬨' => '嬨', '廒' => '廒', '廙' => '廙', '彩' => '彩', '徭' => '徭', '惘' => '惘', '慎' => '慎', '愈' => '愈', '憎' => '憎', '慠' => '慠', '懲' => '懲', '戴' => '戴', '揄' => '揄', '搜' => '搜', '摒' => '摒', '敖' => '敖', '晴' => '晴', '朗' => '朗', '望' => '望', '杖' => '杖', '歹' => '歹', '殺' => '殺', '流' => '流', '滛' => '滛', '滋' => '滋', '漢' => '漢', '瀞' => '瀞', '煮' => '煮', '瞧' => '瞧', '爵' => '爵', '犯' => '犯', '猪' => '猪', '瑱' => '瑱', '甆' => '甆', '画' => '画', '瘝' => '瘝', '瘟' => '瘟', '益' => '益', '盛' => '盛', '直' => '直', '睊' => '睊', '着' => '着', '磌' => '磌', '窱' => '窱', '節' => '節', '类' => '类', '絛' => '絛', '練' => '練', '缾' => '缾', '者' => '者', '荒' => '荒', '華' => '華', '蝹' => '蝹', '襁' => '襁', '覆' => '覆', '視' => '視', '調' => '調', '諸' => '諸', '請' => '請', '謁' => '謁', '諾' => '諾', '諭' => '諭', '謹' => '謹', '變' => '變', '贈' => '贈', '輸' => '輸', '遲' => '遲', '醙' => '醙', '鉶' => '鉶', '陼' => '陼', '難' => '難', '靖' => '靖', '韛' => '韛', '響' => '響', '頋' => '頋', '頻' => '頻', '鬒' => '鬒', '龜' => '龜', '𢡊' => '𢡊', '𢡄' => '𢡄', '𣏕' => '𣏕', '㮝' => '㮝', '䀘' => '䀘', '䀹' => '䀹', '𥉉' => '𥉉', '𥳐' => '𥳐', '𧻓' => '𧻓', '齃' => '齃', '龎' => '龎', 'יִ' => 'יִ', 'ײַ' => 'ײַ', 'שׁ' => 'שׁ', 'שׂ' => 'שׂ', 'שּׁ' => 'שּׁ', 'שּׂ' => 'שּׂ', 'אַ' => 'אַ', 'אָ' => 'אָ', 'אּ' => 'אּ', 'בּ' => 'בּ', 'גּ' => 'גּ', 'דּ' => 'דּ', 'הּ' => 'הּ', 'וּ' => 'וּ', 'זּ' => 'זּ', 'טּ' => 'טּ', 'יּ' => 'יּ', 'ךּ' => 'ךּ', 'כּ' => 'כּ', 'לּ' => 'לּ', 'מּ' => 'מּ', 'נּ' => 'נּ', 'סּ' => 'סּ', 'ףּ' => 'ףּ', 'פּ' => 'פּ', 'צּ' => 'צּ', 'קּ' => 'קּ', 'רּ' => 'רּ', 'שּ' => 'שּ', 'תּ' => 'תּ', 'וֹ' => 'וֹ', 'בֿ' => 'בֿ', 'כֿ' => 'כֿ', 'פֿ' => 'פֿ', '𑂚' => '𑂚', '𑂜' => '𑂜', '𑂫' => '𑂫', '𑄮' => '𑄮', '𑄯' => '𑄯', '𑍋' => '𑍋', '𑍌' => '𑍌', '𑒻' => '𑒻', '𑒼' => '𑒼', '𑒾' => '𑒾', '𑖺' => '𑖺', '𑖻' => '𑖻', '𑤸' => '𑤸', '𝅗𝅥' => '𝅗𝅥', '𝅘𝅥' => '𝅘𝅥', '𝅘𝅥𝅮' => '𝅘𝅥𝅮', '𝅘𝅥𝅯' => '𝅘𝅥𝅯', '𝅘𝅥𝅰' => '𝅘𝅥𝅰', '𝅘𝅥𝅱' => '𝅘𝅥𝅱', '𝅘𝅥𝅲' => '𝅘𝅥𝅲', '𝆹𝅥' => '𝆹𝅥', '𝆺𝅥' => '𝆺𝅥', '𝆹𝅥𝅮' => '𝆹𝅥𝅮', '𝆺𝅥𝅮' => '𝆺𝅥𝅮', '𝆹𝅥𝅯' => '𝆹𝅥𝅯', '𝆺𝅥𝅯' => '𝆺𝅥𝅯', '丽' => '丽', '丸' => '丸', '乁' => '乁', '𠄢' => '𠄢', '你' => '你', '侮' => '侮', '侻' => '侻', '倂' => '倂', '偺' => '偺', '備' => '備', '僧' => '僧', '像' => '像', '㒞' => '㒞', '𠘺' => '𠘺', '免' => '免', '兔' => '兔', '兤' => '兤', '具' => '具', '𠔜' => '𠔜', '㒹' => '㒹', '內' => '內', '再' => '再', '𠕋' => '𠕋', '冗' => '冗', '冤' => '冤', '仌' => '仌', '冬' => '冬', '况' => '况', '𩇟' => '𩇟', '凵' => '凵', '刃' => '刃', '㓟' => '㓟', '刻' => '刻', '剆' => '剆', '割' => '割', '剷' => '剷', '㔕' => '㔕', '勇' => '勇', '勉' => '勉', '勤' => '勤', '勺' => '勺', '包' => '包', '匆' => '匆', '北' => '北', '卉' => '卉', '卑' => '卑', '博' => '博', '即' => '即', '卽' => '卽', '卿' => '卿', '卿' => '卿', '卿' => '卿', '𠨬' => '𠨬', '灰' => '灰', '及' => '及', '叟' => '叟', '𠭣' => '𠭣', '叫' => '叫', '叱' => '叱', '吆' => '吆', '咞' => '咞', '吸' => '吸', '呈' => '呈', '周' => '周', '咢' => '咢', '哶' => '哶', '唐' => '唐', '啓' => '啓', '啣' => '啣', '善' => '善', '善' => '善', '喙' => '喙', '喫' => '喫', '喳' => '喳', '嗂' => '嗂', '圖' => '圖', '嘆' => '嘆', '圗' => '圗', '噑' => '噑', '噴' => '噴', '切' => '切', '壮' => '壮', '城' => '城', '埴' => '埴', '堍' => '堍', '型' => '型', '堲' => '堲', '報' => '報', '墬' => '墬', '𡓤' => '𡓤', '売' => '売', '壷' => '壷', '夆' => '夆', '多' => '多', '夢' => '夢', '奢' => '奢', '𡚨' => '𡚨', '𡛪' => '𡛪', '姬' => '姬', '娛' => '娛', '娧' => '娧', '姘' => '姘', '婦' => '婦', '㛮' => '㛮', '㛼' => '㛼', '嬈' => '嬈', '嬾' => '嬾', '嬾' => '嬾', '𡧈' => '𡧈', '寃' => '寃', '寘' => '寘', '寧' => '寧', '寳' => '寳', '𡬘' => '𡬘', '寿' => '寿', '将' => '将', '当' => '当', '尢' => '尢', '㞁' => '㞁', '屠' => '屠', '屮' => '屮', '峀' => '峀', '岍' => '岍', '𡷤' => '𡷤', '嵃' => '嵃', '𡷦' => '𡷦', '嵮' => '嵮', '嵫' => '嵫', '嵼' => '嵼', '巡' => '巡', '巢' => '巢', '㠯' => '㠯', '巽' => '巽', '帨' => '帨', '帽' => '帽', '幩' => '幩', '㡢' => '㡢', '𢆃' => '𢆃', '㡼' => '㡼', '庰' => '庰', '庳' => '庳', '庶' => '庶', '廊' => '廊', '𪎒' => '𪎒', '廾' => '廾', '𢌱' => '𢌱', '𢌱' => '𢌱', '舁' => '舁', '弢' => '弢', '弢' => '弢', '㣇' => '㣇', '𣊸' => '𣊸', '𦇚' => '𦇚', '形' => '形', '彫' => '彫', '㣣' => '㣣', '徚' => '徚', '忍' => '忍', '志' => '志', '忹' => '忹', '悁' => '悁', '㤺' => '㤺', '㤜' => '㤜', '悔' => '悔', '𢛔' => '𢛔', '惇' => '惇', '慈' => '慈', '慌' => '慌', '慎' => '慎', '慌' => '慌', '慺' => '慺', '憎' => '憎', '憲' => '憲', '憤' => '憤', '憯' => '憯', '懞' => '懞', '懲' => '懲', '懶' => '懶', '成' => '成', '戛' => '戛', '扝' => '扝', '抱' => '抱', '拔' => '拔', '捐' => '捐', '𢬌' => '𢬌', '挽' => '挽', '拼' => '拼', '捨' => '捨', '掃' => '掃', '揤' => '揤', '𢯱' => '𢯱', '搢' => '搢', '揅' => '揅', '掩' => '掩', '㨮' => '㨮', '摩' => '摩', '摾' => '摾', '撝' => '撝', '摷' => '摷', '㩬' => '㩬', '敏' => '敏', '敬' => '敬', '𣀊' => '𣀊', '旣' => '旣', '書' => '書', '晉' => '晉', '㬙' => '㬙', '暑' => '暑', '㬈' => '㬈', '㫤' => '㫤', '冒' => '冒', '冕' => '冕', '最' => '最', '暜' => '暜', '肭' => '肭', '䏙' => '䏙', '朗' => '朗', '望' => '望', '朡' => '朡', '杞' => '杞', '杓' => '杓', '𣏃' => '𣏃', '㭉' => '㭉', '柺' => '柺', '枅' => '枅', '桒' => '桒', '梅' => '梅', '𣑭' => '𣑭', '梎' => '梎', '栟' => '栟', '椔' => '椔', '㮝' => '㮝', '楂' => '楂', '榣' => '榣', '槪' => '槪', '檨' => '檨', '𣚣' => '𣚣', '櫛' => '櫛', '㰘' => '㰘', '次' => '次', '𣢧' => '𣢧', '歔' => '歔', '㱎' => '㱎', '歲' => '歲', '殟' => '殟', '殺' => '殺', '殻' => '殻', '𣪍' => '𣪍', '𡴋' => '𡴋', '𣫺' => '𣫺', '汎' => '汎', '𣲼' => '𣲼', '沿' => '沿', '泍' => '泍', '汧' => '汧', '洖' => '洖', '派' => '派', '海' => '海', '流' => '流', '浩' => '浩', '浸' => '浸', '涅' => '涅', '𣴞' => '𣴞', '洴' => '洴', '港' => '港', '湮' => '湮', '㴳' => '㴳', '滋' => '滋', '滇' => '滇', '𣻑' => '𣻑', '淹' => '淹', '潮' => '潮', '𣽞' => '𣽞', '𣾎' => '𣾎', '濆' => '濆', '瀹' => '瀹', '瀞' => '瀞', '瀛' => '瀛', '㶖' => '㶖', '灊' => '灊', '災' => '災', '灷' => '灷', '炭' => '炭', '𠔥' => '𠔥', '煅' => '煅', '𤉣' => '𤉣', '熜' => '熜', '𤎫' => '𤎫', '爨' => '爨', '爵' => '爵', '牐' => '牐', '𤘈' => '𤘈', '犀' => '犀', '犕' => '犕', '𤜵' => '𤜵', '𤠔' => '𤠔', '獺' => '獺', '王' => '王', '㺬' => '㺬', '玥' => '玥', '㺸' => '㺸', '㺸' => '㺸', '瑇' => '瑇', '瑜' => '瑜', '瑱' => '瑱', '璅' => '璅', '瓊' => '瓊', '㼛' => '㼛', '甤' => '甤', '𤰶' => '𤰶', '甾' => '甾', '𤲒' => '𤲒', '異' => '異', '𢆟' => '𢆟', '瘐' => '瘐', '𤾡' => '𤾡', '𤾸' => '𤾸', '𥁄' => '𥁄', '㿼' => '㿼', '䀈' => '䀈', '直' => '直', '𥃳' => '𥃳', '𥃲' => '𥃲', '𥄙' => '𥄙', '𥄳' => '𥄳', '眞' => '眞', '真' => '真', '真' => '真', '睊' => '睊', '䀹' => '䀹', '瞋' => '瞋', '䁆' => '䁆', '䂖' => '䂖', '𥐝' => '𥐝', '硎' => '硎', '碌' => '碌', '磌' => '磌', '䃣' => '䃣', '𥘦' => '𥘦', '祖' => '祖', '𥚚' => '𥚚', '𥛅' => '𥛅', '福' => '福', '秫' => '秫', '䄯' => '䄯', '穀' => '穀', '穊' => '穊', '穏' => '穏', '𥥼' => '𥥼', '𥪧' => '𥪧', '𥪧' => '𥪧', '竮' => '竮', '䈂' => '䈂', '𥮫' => '𥮫', '篆' => '篆', '築' => '築', '䈧' => '䈧', '𥲀' => '𥲀', '糒' => '糒', '䊠' => '䊠', '糨' => '糨', '糣' => '糣', '紀' => '紀', '𥾆' => '𥾆', '絣' => '絣', '䌁' => '䌁', '緇' => '緇', '縂' => '縂', '繅' => '繅', '䌴' => '䌴', '𦈨' => '𦈨', '𦉇' => '𦉇', '䍙' => '䍙', '𦋙' => '𦋙', '罺' => '罺', '𦌾' => '𦌾', '羕' => '羕', '翺' => '翺', '者' => '者', '𦓚' => '𦓚', '𦔣' => '𦔣', '聠' => '聠', '𦖨' => '𦖨', '聰' => '聰', '𣍟' => '𣍟', '䏕' => '䏕', '育' => '育', '脃' => '脃', '䐋' => '䐋', '脾' => '脾', '媵' => '媵', '𦞧' => '𦞧', '𦞵' => '𦞵', '𣎓' => '𣎓', '𣎜' => '𣎜', '舁' => '舁', '舄' => '舄', '辞' => '辞', '䑫' => '䑫', '芑' => '芑', '芋' => '芋', '芝' => '芝', '劳' => '劳', '花' => '花', '芳' => '芳', '芽' => '芽', '苦' => '苦', '𦬼' => '𦬼', '若' => '若', '茝' => '茝', '荣' => '荣', '莭' => '莭', '茣' => '茣', '莽' => '莽', '菧' => '菧', '著' => '著', '荓' => '荓', '菊' => '菊', '菌' => '菌', '菜' => '菜', '𦰶' => '𦰶', '𦵫' => '𦵫', '𦳕' => '𦳕', '䔫' => '䔫', '蓱' => '蓱', '蓳' => '蓳', '蔖' => '蔖', '𧏊' => '𧏊', '蕤' => '蕤', '𦼬' => '𦼬', '䕝' => '䕝', '䕡' => '䕡', '𦾱' => '𦾱', '𧃒' => '𧃒', '䕫' => '䕫', '虐' => '虐', '虜' => '虜', '虧' => '虧', '虩' => '虩', '蚩' => '蚩', '蚈' => '蚈', '蜎' => '蜎', '蛢' => '蛢', '蝹' => '蝹', '蜨' => '蜨', '蝫' => '蝫', '螆' => '螆', '䗗' => '䗗', '蟡' => '蟡', '蠁' => '蠁', '䗹' => '䗹', '衠' => '衠', '衣' => '衣', '𧙧' => '𧙧', '裗' => '裗', '裞' => '裞', '䘵' => '䘵', '裺' => '裺', '㒻' => '㒻', '𧢮' => '𧢮', '𧥦' => '𧥦', '䚾' => '䚾', '䛇' => '䛇', '誠' => '誠', '諭' => '諭', '變' => '變', '豕' => '豕', '𧲨' => '𧲨', '貫' => '貫', '賁' => '賁', '贛' => '贛', '起' => '起', '𧼯' => '𧼯', '𠠄' => '𠠄', '跋' => '跋', '趼' => '趼', '跰' => '跰', '𠣞' => '𠣞', '軔' => '軔', '輸' => '輸', '𨗒' => '𨗒', '𨗭' => '𨗭', '邔' => '邔', '郱' => '郱', '鄑' => '鄑', '𨜮' => '𨜮', '鄛' => '鄛', '鈸' => '鈸', '鋗' => '鋗', '鋘' => '鋘', '鉼' => '鉼', '鏹' => '鏹', '鐕' => '鐕', '𨯺' => '𨯺', '開' => '開', '䦕' => '䦕', '閷' => '閷', '𨵷' => '𨵷', '䧦' => '䧦', '雃' => '雃', '嶲' => '嶲', '霣' => '霣', '𩅅' => '𩅅', '𩈚' => '𩈚', '䩮' => '䩮', '䩶' => '䩶', '韠' => '韠', '𩐊' => '𩐊', '䪲' => '䪲', '𩒖' => '𩒖', '頋' => '頋', '頋' => '頋', '頩' => '頩', '𩖶' => '𩖶', '飢' => '飢', '䬳' => '䬳', '餩' => '餩', '馧' => '馧', '駂' => '駂', '駾' => '駾', '䯎' => '䯎', '𩬰' => '𩬰', '鬒' => '鬒', '鱀' => '鱀', '鳽' => '鳽', '䳎' => '䳎', '䳭' => '䳭', '鵧' => '鵧', '𪃎' => '𪃎', '䳸' => '䳸', '𪄅' => '𪄅', '𪈎' => '𪈎', '𪊑' => '𪊑', '麻' => '麻', '䵖' => '䵖', '黹' => '黹', '黾' => '黾', '鼅' => '鼅', '鼏' => '鼏', '鼖' => '鼖', '鼻' => '鼻', '𪘀' => '𪘀', ); vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php000064400000000521147400355670022501 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ use Symfony\Polyfill\Intl\Normalizer as p; if (!function_exists('normalizer_is_normalized')) { function normalizer_is_normalized($input, $form = p\Normalizer::NFC) { return p\Normalizer::isNormalized($input, $form); } } if (!function_exists('normalizer_normalize')) { function normalizer_normalize($input, $form = p\Normalizer::NFC) { return p\Normalizer::normalize($input, $form); } } vendor/symfony/polyfill-intl-normalizer/README.md000064400000000662147400355670016021 0ustar00Symfony Polyfill / Intl: Normalizer =================================== This component provides a fallback implementation for the [`Normalizer`](https://php.net/Normalizer) class provided by the [Intl](https://php.net/intl) extension. More information can be found in the [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). License ======= This library is released under the [MIT license](LICENSE). vendor/symfony/polyfill-intl-normalizer/Normalizer.php000064400000022351147400355670017374 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Polyfill\Intl\Normalizer; /** * Normalizer is a PHP fallback implementation of the Normalizer class provided by the intl extension. * * It has been validated with Unicode 6.3 Normalization Conformance Test. * See http://www.unicode.org/reports/tr15/ for detailed info about Unicode normalizations. * * @author Nicolas Grekas * * @internal */ class Normalizer { const FORM_D = \Normalizer::FORM_D; const FORM_KD = \Normalizer::FORM_KD; const FORM_C = \Normalizer::FORM_C; const FORM_KC = \Normalizer::FORM_KC; const NFD = \Normalizer::NFD; const NFKD = \Normalizer::NFKD; const NFC = \Normalizer::NFC; const NFKC = \Normalizer::NFKC; private static $C; private static $D; private static $KD; private static $cC; private static $ulenMask = array("\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4); private static $ASCII = "\x20\x65\x69\x61\x73\x6E\x74\x72\x6F\x6C\x75\x64\x5D\x5B\x63\x6D\x70\x27\x0A\x67\x7C\x68\x76\x2E\x66\x62\x2C\x3A\x3D\x2D\x71\x31\x30\x43\x32\x2A\x79\x78\x29\x28\x4C\x39\x41\x53\x2F\x50\x22\x45\x6A\x4D\x49\x6B\x33\x3E\x35\x54\x3C\x44\x34\x7D\x42\x7B\x38\x46\x77\x52\x36\x37\x55\x47\x4E\x3B\x4A\x7A\x56\x23\x48\x4F\x57\x5F\x26\x21\x4B\x3F\x58\x51\x25\x59\x5C\x09\x5A\x2B\x7E\x5E\x24\x40\x60\x7F\x00\x01\x02\x03\x04\x05\x06\x07\x08\x0B\x0C\x0D\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F"; public static function isNormalized($s, $form = self::NFC) { if (!\in_array($form, array(self::NFD, self::NFKD, self::NFC, self::NFKC))) { return false; } $s = (string) $s; if (!isset($s[strspn($s, self::$ASCII)])) { return true; } if (self::NFC == $form && preg_match('//u', $s) && !preg_match('/[^\x00-\x{2FF}]/u', $s)) { return true; } return self::normalize($s, $form) === $s; } public static function normalize($s, $form = self::NFC) { $s = (string) $s; if (!preg_match('//u', $s)) { return false; } switch ($form) { case self::NFC: $C = true; $K = false; break; case self::NFD: $C = false; $K = false; break; case self::NFKC: $C = true; $K = true; break; case self::NFKD: $C = false; $K = true; break; default: if (\defined('Normalizer::NONE') && \Normalizer::NONE == $form) { return $s; } return false; } if ('' === $s) { return ''; } if ($K && null === self::$KD) { self::$KD = self::getData('compatibilityDecomposition'); } if (null === self::$D) { self::$D = self::getData('canonicalDecomposition'); self::$cC = self::getData('combiningClass'); } if (null !== $mbEncoding = (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) ? mb_internal_encoding() : null) { mb_internal_encoding('8bit'); } $r = self::decompose($s, $K); if ($C) { if (null === self::$C) { self::$C = self::getData('canonicalComposition'); } $r = self::recompose($r); } if (null !== $mbEncoding) { mb_internal_encoding($mbEncoding); } return $r; } private static function recompose($s) { $ASCII = self::$ASCII; $compMap = self::$C; $combClass = self::$cC; $ulenMask = self::$ulenMask; $result = $tail = ''; $i = $s[0] < "\x80" ? 1 : $ulenMask[$s[0] & "\xF0"]; $len = \strlen($s); $lastUchr = substr($s, 0, $i); $lastUcls = isset($combClass[$lastUchr]) ? 256 : 0; while ($i < $len) { if ($s[$i] < "\x80") { // ASCII chars if ($tail) { $lastUchr .= $tail; $tail = ''; } if ($j = strspn($s, $ASCII, $i + 1)) { $lastUchr .= substr($s, $i, $j); $i += $j; } $result .= $lastUchr; $lastUchr = $s[$i]; $lastUcls = 0; ++$i; continue; } $ulen = $ulenMask[$s[$i] & "\xF0"]; $uchr = substr($s, $i, $ulen); if ($lastUchr < "\xE1\x84\x80" || "\xE1\x84\x92" < $lastUchr || $uchr < "\xE1\x85\xA1" || "\xE1\x85\xB5" < $uchr || $lastUcls) { // Table lookup and combining chars composition $ucls = isset($combClass[$uchr]) ? $combClass[$uchr] : 0; if (isset($compMap[$lastUchr.$uchr]) && (!$lastUcls || $lastUcls < $ucls)) { $lastUchr = $compMap[$lastUchr.$uchr]; } elseif ($lastUcls = $ucls) { $tail .= $uchr; } else { if ($tail) { $lastUchr .= $tail; $tail = ''; } $result .= $lastUchr; $lastUchr = $uchr; } } else { // Hangul chars $L = \ord($lastUchr[2]) - 0x80; $V = \ord($uchr[2]) - 0xA1; $T = 0; $uchr = substr($s, $i + $ulen, 3); if ("\xE1\x86\xA7" <= $uchr && $uchr <= "\xE1\x87\x82") { $T = \ord($uchr[2]) - 0xA7; 0 > $T && $T += 0x40; $ulen += 3; } $L = 0xAC00 + ($L * 21 + $V) * 28 + $T; $lastUchr = \chr(0xE0 | $L >> 12).\chr(0x80 | $L >> 6 & 0x3F).\chr(0x80 | $L & 0x3F); } $i += $ulen; } return $result.$lastUchr.$tail; } private static function decompose($s, $c) { $result = ''; $ASCII = self::$ASCII; $decompMap = self::$D; $combClass = self::$cC; $ulenMask = self::$ulenMask; if ($c) { $compatMap = self::$KD; } $c = array(); $i = 0; $len = \strlen($s); while ($i < $len) { if ($s[$i] < "\x80") { // ASCII chars if ($c) { ksort($c); $result .= implode('', $c); $c = array(); } $j = 1 + strspn($s, $ASCII, $i + 1); $result .= substr($s, $i, $j); $i += $j; continue; } $ulen = $ulenMask[$s[$i] & "\xF0"]; $uchr = substr($s, $i, $ulen); $i += $ulen; if ($uchr < "\xEA\xB0\x80" || "\xED\x9E\xA3" < $uchr) { // Table lookup if ($uchr !== $j = isset($compatMap[$uchr]) ? $compatMap[$uchr] : (isset($decompMap[$uchr]) ? $decompMap[$uchr] : $uchr)) { $uchr = $j; $j = \strlen($uchr); $ulen = $uchr[0] < "\x80" ? 1 : $ulenMask[$uchr[0] & "\xF0"]; if ($ulen != $j) { // Put trailing chars in $s $j -= $ulen; $i -= $j; if (0 > $i) { $s = str_repeat(' ', -$i).$s; $len -= $i; $i = 0; } while ($j--) { $s[$i + $j] = $uchr[$ulen + $j]; } $uchr = substr($uchr, 0, $ulen); } } if (isset($combClass[$uchr])) { // Combining chars, for sorting if (!isset($c[$combClass[$uchr]])) { $c[$combClass[$uchr]] = ''; } $c[$combClass[$uchr]] .= $uchr; continue; } } else { // Hangul chars $uchr = unpack('C*', $uchr); $j = (($uchr[1] - 224) << 12) + (($uchr[2] - 128) << 6) + $uchr[3] - 0xAC80; $uchr = "\xE1\x84".\chr(0x80 + (int) ($j / 588)) ."\xE1\x85".\chr(0xA1 + (int) (($j % 588) / 28)); if ($j %= 28) { $uchr .= $j < 25 ? ("\xE1\x86".\chr(0xA7 + $j)) : ("\xE1\x87".\chr(0x67 + $j)); } } if ($c) { ksort($c); $result .= implode('', $c); $c = array(); } $result .= $uchr; } if ($c) { ksort($c); $result .= implode('', $c); } return $result; } private static function getData($file) { if (file_exists($file = __DIR__.'/Resources/unidata/'.$file.'.php')) { return require $file; } return false; } } vendor/symfony/polyfill-php72/LICENSE000064400000002051147400355670013353 0ustar00Copyright (c) 2015-2019 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor/symfony/polyfill-php72/composer.json000064400000001663147400355670015100 0ustar00{ "name": "symfony/polyfill-php72", "type": "library", "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "keywords": ["polyfill", "shim", "compatibility", "portable"], "homepage": "https://symfony.com", "license": "MIT", "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "require": { "php": ">=5.3.3" }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Php72\\": "" }, "files": [ "bootstrap.php" ] }, "minimum-stability": "dev", "extra": { "branch-alias": { "dev-main": "1.19-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } } } vendor/symfony/polyfill-php72/Php72.php000064400000015027147400355670013766 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Polyfill\Php72; /** * @author Nicolas Grekas * @author Dariusz Rumiński * * @internal */ final class Php72 { private static $hashMask; public static function utf8_encode($s) { $s .= $s; $len = \strlen($s); for ($i = $len >> 1, $j = 0; $i < $len; ++$i, ++$j) { switch (true) { case $s[$i] < "\x80": $s[$j] = $s[$i]; break; case $s[$i] < "\xC0": $s[$j] = "\xC2"; $s[++$j] = $s[$i]; break; default: $s[$j] = "\xC3"; $s[++$j] = \chr(\ord($s[$i]) - 64); break; } } return substr($s, 0, $j); } public static function utf8_decode($s) { $s = (string) $s; $len = \strlen($s); for ($i = 0, $j = 0; $i < $len; ++$i, ++$j) { switch ($s[$i] & "\xF0") { case "\xC0": case "\xD0": $c = (\ord($s[$i] & "\x1F") << 6) | \ord($s[++$i] & "\x3F"); $s[$j] = $c < 256 ? \chr($c) : '?'; break; case "\xF0": ++$i; // no break case "\xE0": $s[$j] = '?'; $i += 2; break; default: $s[$j] = $s[$i]; } } return substr($s, 0, $j); } public static function php_os_family() { if ('\\' === \DIRECTORY_SEPARATOR) { return 'Windows'; } $map = array( 'Darwin' => 'Darwin', 'DragonFly' => 'BSD', 'FreeBSD' => 'BSD', 'NetBSD' => 'BSD', 'OpenBSD' => 'BSD', 'Linux' => 'Linux', 'SunOS' => 'Solaris', ); return isset($map[PHP_OS]) ? $map[PHP_OS] : 'Unknown'; } public static function spl_object_id($object) { if (null === self::$hashMask) { self::initHashMask(); } if (null === $hash = spl_object_hash($object)) { return; } // On 32-bit systems, PHP_INT_SIZE is 4, return self::$hashMask ^ hexdec(substr($hash, 16 - (\PHP_INT_SIZE * 2 - 1), (\PHP_INT_SIZE * 2 - 1))); } public static function sapi_windows_vt100_support($stream, $enable = null) { if (!\is_resource($stream)) { trigger_error('sapi_windows_vt100_support() expects parameter 1 to be resource, '.\gettype($stream).' given', E_USER_WARNING); return false; } $meta = stream_get_meta_data($stream); if ('STDIO' !== $meta['stream_type']) { trigger_error('sapi_windows_vt100_support() was not able to analyze the specified stream', E_USER_WARNING); return false; } // We cannot actually disable vt100 support if it is set if (false === $enable || !self::stream_isatty($stream)) { return false; } // The native function does not apply to stdin $meta = array_map('strtolower', $meta); $stdin = 'php://stdin' === $meta['uri'] || 'php://fd/0' === $meta['uri']; return !$stdin && (false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI') || 'xterm' === getenv('TERM') || 'Hyper' === getenv('TERM_PROGRAM')); } public static function stream_isatty($stream) { if (!\is_resource($stream)) { trigger_error('stream_isatty() expects parameter 1 to be resource, '.\gettype($stream).' given', E_USER_WARNING); return false; } if ('\\' === \DIRECTORY_SEPARATOR) { $stat = @fstat($stream); // Check if formatted mode is S_IFCHR return $stat ? 0020000 === ($stat['mode'] & 0170000) : false; } return \function_exists('posix_isatty') && @posix_isatty($stream); } private static function initHashMask() { $obj = (object) array(); self::$hashMask = -1; // check if we are nested in an output buffering handler to prevent a fatal error with ob_start() below $obFuncs = array('ob_clean', 'ob_end_clean', 'ob_flush', 'ob_end_flush', 'ob_get_contents', 'ob_get_flush'); foreach (debug_backtrace(\PHP_VERSION_ID >= 50400 ? DEBUG_BACKTRACE_IGNORE_ARGS : false) as $frame) { if (isset($frame['function'][0]) && !isset($frame['class']) && 'o' === $frame['function'][0] && \in_array($frame['function'], $obFuncs)) { $frame['line'] = 0; break; } } if (!empty($frame['line'])) { ob_start(); debug_zval_dump($obj); self::$hashMask = (int) substr(ob_get_clean(), 17); } self::$hashMask ^= hexdec(substr(spl_object_hash($obj), 16 - (\PHP_INT_SIZE * 2 - 1), (\PHP_INT_SIZE * 2 - 1))); } public static function mb_chr($code, $encoding = null) { if (0x80 > $code %= 0x200000) { $s = \chr($code); } elseif (0x800 > $code) { $s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F); } elseif (0x10000 > $code) { $s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); } else { $s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); } if ('UTF-8' !== $encoding) { $s = mb_convert_encoding($s, $encoding, 'UTF-8'); } return $s; } public static function mb_ord($s, $encoding = null) { if (null === $encoding) { $s = mb_convert_encoding($s, 'UTF-8'); } elseif ('UTF-8' !== $encoding) { $s = mb_convert_encoding($s, 'UTF-8', $encoding); } if (1 === \strlen($s)) { return \ord($s); } $code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0; if (0xF0 <= $code) { return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80; } if (0xE0 <= $code) { return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80; } if (0xC0 <= $code) { return (($code - 0xC0) << 6) + $s[2] - 0x80; } return $code; } } vendor/symfony/polyfill-php72/bootstrap.php000064400000003613147400355670015101 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ use Symfony\Polyfill\Php72 as p; if (PHP_VERSION_ID >= 70200) { return; } if (!defined('PHP_FLOAT_DIG')) { define('PHP_FLOAT_DIG', 15); } if (!defined('PHP_FLOAT_EPSILON')) { define('PHP_FLOAT_EPSILON', 2.2204460492503E-16); } if (!defined('PHP_FLOAT_MIN')) { define('PHP_FLOAT_MIN', 2.2250738585072E-308); } if (!defined('PHP_FLOAT_MAX')) { define('PHP_FLOAT_MAX', 1.7976931348623157E+308); } if (!defined('PHP_OS_FAMILY')) { define('PHP_OS_FAMILY', p\Php72::php_os_family()); } if ('\\' === DIRECTORY_SEPARATOR && !function_exists('sapi_windows_vt100_support')) { function sapi_windows_vt100_support($stream, $enable = null) { return p\Php72::sapi_windows_vt100_support($stream, $enable); } } if (!function_exists('stream_isatty')) { function stream_isatty($stream) { return p\Php72::stream_isatty($stream); } } if (!function_exists('utf8_encode')) { function utf8_encode($string) { return p\Php72::utf8_encode($string); } } if (!function_exists('utf8_decode')) { function utf8_decode($string) { return p\Php72::utf8_decode($string); } } if (!function_exists('spl_object_id')) { function spl_object_id($object) { return p\Php72::spl_object_id($object); } } if (!function_exists('mb_ord')) { function mb_ord($string, $encoding = null) { return p\Php72::mb_ord($string, $encoding); } } if (!function_exists('mb_chr')) { function mb_chr($codepoint, $encoding = null) { return p\Php72::mb_chr($codepoint, $encoding); } } if (!function_exists('mb_scrub')) { function mb_scrub($string, $encoding = null) { $encoding = null === $encoding ? mb_internal_encoding() : $encoding; return mb_convert_encoding($string, $encoding, $encoding); } } vendor/symfony/polyfill-php72/README.md000064400000001551147400355670013631 0ustar00Symfony Polyfill / Php72 ======================== This component provides functions added to PHP 7.2 core: - [`spl_object_id`](https://php.net/spl_object_id) - [`stream_isatty`](https://php.net/stream_isatty) On Windows only: - [`sapi_windows_vt100_support`](https://php.net/sapi_windows_vt100_support) Moved to core since 7.2 (was in the optional XML extension earlier): - [`utf8_encode`](https://php.net/utf8_encode) - [`utf8_decode`](https://php.net/utf8_decode) Also, it provides constants added to PHP 7.2: - [`PHP_FLOAT_*`](https://php.net/reserved.constants#constant.php-float-dig) - [`PHP_OS_FAMILY`](https://php.net/reserved.constants#constant.php-os-family) More information can be found in the [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). License ======= This library is released under the [MIT license](LICENSE). vendor/symfony/polyfill-mbstring/LICENSE000064400000002051147400355670014240 0ustar00Copyright (c) 2015-2019 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor/symfony/polyfill-mbstring/composer.json000064400000001756147400355670015770 0ustar00{ "name": "symfony/polyfill-mbstring", "type": "library", "description": "Symfony polyfill for the Mbstring extension", "keywords": ["polyfill", "shim", "compatibility", "portable", "mbstring"], "homepage": "https://symfony.com", "license": "MIT", "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "require": { "php": ">=5.3.3" }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" }, "files": [ "bootstrap.php" ] }, "suggest": { "ext-mbstring": "For best performance" }, "minimum-stability": "dev", "extra": { "branch-alias": { "dev-main": "1.19-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } } } vendor/symfony/polyfill-mbstring/Mbstring.php000064400000067003147400355670015541 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Polyfill\Mbstring; /** * Partial mbstring implementation in PHP, iconv based, UTF-8 centric. * * Implemented: * - mb_chr - Returns a specific character from its Unicode code point * - mb_convert_encoding - Convert character encoding * - mb_convert_variables - Convert character code in variable(s) * - mb_decode_mimeheader - Decode string in MIME header field * - mb_encode_mimeheader - Encode string for MIME header XXX NATIVE IMPLEMENTATION IS REALLY BUGGED * - mb_decode_numericentity - Decode HTML numeric string reference to character * - mb_encode_numericentity - Encode character to HTML numeric string reference * - mb_convert_case - Perform case folding on a string * - mb_detect_encoding - Detect character encoding * - mb_get_info - Get internal settings of mbstring * - mb_http_input - Detect HTTP input character encoding * - mb_http_output - Set/Get HTTP output character encoding * - mb_internal_encoding - Set/Get internal character encoding * - mb_list_encodings - Returns an array of all supported encodings * - mb_ord - Returns the Unicode code point of a character * - mb_output_handler - Callback function converts character encoding in output buffer * - mb_scrub - Replaces ill-formed byte sequences with substitute characters * - mb_strlen - Get string length * - mb_strpos - Find position of first occurrence of string in a string * - mb_strrpos - Find position of last occurrence of a string in a string * - mb_str_split - Convert a string to an array * - mb_strtolower - Make a string lowercase * - mb_strtoupper - Make a string uppercase * - mb_substitute_character - Set/Get substitution character * - mb_substr - Get part of string * - mb_stripos - Finds position of first occurrence of a string within another, case insensitive * - mb_stristr - Finds first occurrence of a string within another, case insensitive * - mb_strrchr - Finds the last occurrence of a character in a string within another * - mb_strrichr - Finds the last occurrence of a character in a string within another, case insensitive * - mb_strripos - Finds position of last occurrence of a string within another, case insensitive * - mb_strstr - Finds first occurrence of a string within another * - mb_strwidth - Return width of string * - mb_substr_count - Count the number of substring occurrences * * Not implemented: * - mb_convert_kana - Convert "kana" one from another ("zen-kaku", "han-kaku" and more) * - mb_ereg_* - Regular expression with multibyte support * - mb_parse_str - Parse GET/POST/COOKIE data and set global variable * - mb_preferred_mime_name - Get MIME charset string * - mb_regex_encoding - Returns current encoding for multibyte regex as string * - mb_regex_set_options - Set/Get the default options for mbregex functions * - mb_send_mail - Send encoded mail * - mb_split - Split multibyte string using regular expression * - mb_strcut - Get part of string * - mb_strimwidth - Get truncated string with specified width * * @author Nicolas Grekas * * @internal */ final class Mbstring { const MB_CASE_FOLD = PHP_INT_MAX; private static $encodingList = array('ASCII', 'UTF-8'); private static $language = 'neutral'; private static $internalEncoding = 'UTF-8'; private static $caseFold = array( array('µ', 'ſ', "\xCD\x85", 'ς', "\xCF\x90", "\xCF\x91", "\xCF\x95", "\xCF\x96", "\xCF\xB0", "\xCF\xB1", "\xCF\xB5", "\xE1\xBA\x9B", "\xE1\xBE\xBE"), array('μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', "\xE1\xB9\xA1", 'ι'), ); public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null) { if (\is_array($fromEncoding) || false !== strpos($fromEncoding, ',')) { $fromEncoding = self::mb_detect_encoding($s, $fromEncoding); } else { $fromEncoding = self::getEncoding($fromEncoding); } $toEncoding = self::getEncoding($toEncoding); if ('BASE64' === $fromEncoding) { $s = base64_decode($s); $fromEncoding = $toEncoding; } if ('BASE64' === $toEncoding) { return base64_encode($s); } if ('HTML-ENTITIES' === $toEncoding || 'HTML' === $toEncoding) { if ('HTML-ENTITIES' === $fromEncoding || 'HTML' === $fromEncoding) { $fromEncoding = 'Windows-1252'; } if ('UTF-8' !== $fromEncoding) { $s = iconv($fromEncoding, 'UTF-8//IGNORE', $s); } return preg_replace_callback('/[\x80-\xFF]+/', array(__CLASS__, 'html_encoding_callback'), $s); } if ('HTML-ENTITIES' === $fromEncoding) { $s = html_entity_decode($s, ENT_COMPAT, 'UTF-8'); $fromEncoding = 'UTF-8'; } return iconv($fromEncoding, $toEncoding.'//IGNORE', $s); } public static function mb_convert_variables($toEncoding, $fromEncoding, &$a = null, &$b = null, &$c = null, &$d = null, &$e = null, &$f = null) { $vars = array(&$a, &$b, &$c, &$d, &$e, &$f); $ok = true; array_walk_recursive($vars, function (&$v) use (&$ok, $toEncoding, $fromEncoding) { if (false === $v = Mbstring::mb_convert_encoding($v, $toEncoding, $fromEncoding)) { $ok = false; } }); return $ok ? $fromEncoding : false; } public static function mb_decode_mimeheader($s) { return iconv_mime_decode($s, 2, self::$internalEncoding); } public static function mb_encode_mimeheader($s, $charset = null, $transferEncoding = null, $linefeed = null, $indent = null) { trigger_error('mb_encode_mimeheader() is bugged. Please use iconv_mime_encode() instead', E_USER_WARNING); } public static function mb_decode_numericentity($s, $convmap, $encoding = null) { if (null !== $s && !\is_scalar($s) && !(\is_object($s) && \method_exists($s, '__toString'))) { trigger_error('mb_decode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', E_USER_WARNING); return null; } if (!\is_array($convmap) || !$convmap) { return false; } if (null !== $encoding && !\is_scalar($encoding)) { trigger_error('mb_decode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', E_USER_WARNING); return ''; // Instead of null (cf. mb_encode_numericentity). } $s = (string) $s; if ('' === $s) { return ''; } $encoding = self::getEncoding($encoding); if ('UTF-8' === $encoding) { $encoding = null; if (!preg_match('//u', $s)) { $s = @iconv('UTF-8', 'UTF-8//IGNORE', $s); } } else { $s = iconv($encoding, 'UTF-8//IGNORE', $s); } $cnt = floor(\count($convmap) / 4) * 4; for ($i = 0; $i < $cnt; $i += 4) { // collector_decode_htmlnumericentity ignores $convmap[$i + 3] $convmap[$i] += $convmap[$i + 2]; $convmap[$i + 1] += $convmap[$i + 2]; } $s = preg_replace_callback('/&#(?:0*([0-9]+)|x0*([0-9a-fA-F]+))(?!&);?/', function (array $m) use ($cnt, $convmap) { $c = isset($m[2]) ? (int) hexdec($m[2]) : $m[1]; for ($i = 0; $i < $cnt; $i += 4) { if ($c >= $convmap[$i] && $c <= $convmap[$i + 1]) { return Mbstring::mb_chr($c - $convmap[$i + 2]); } } return $m[0]; }, $s); if (null === $encoding) { return $s; } return iconv('UTF-8', $encoding.'//IGNORE', $s); } public static function mb_encode_numericentity($s, $convmap, $encoding = null, $is_hex = false) { if (null !== $s && !\is_scalar($s) && !(\is_object($s) && \method_exists($s, '__toString'))) { trigger_error('mb_encode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', E_USER_WARNING); return null; } if (!\is_array($convmap) || !$convmap) { return false; } if (null !== $encoding && !\is_scalar($encoding)) { trigger_error('mb_encode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', E_USER_WARNING); return null; // Instead of '' (cf. mb_decode_numericentity). } if (null !== $is_hex && !\is_scalar($is_hex)) { trigger_error('mb_encode_numericentity() expects parameter 4 to be boolean, '.\gettype($s).' given', E_USER_WARNING); return null; } $s = (string) $s; if ('' === $s) { return ''; } $encoding = self::getEncoding($encoding); if ('UTF-8' === $encoding) { $encoding = null; if (!preg_match('//u', $s)) { $s = @iconv('UTF-8', 'UTF-8//IGNORE', $s); } } else { $s = iconv($encoding, 'UTF-8//IGNORE', $s); } static $ulenMask = array("\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4); $cnt = floor(\count($convmap) / 4) * 4; $i = 0; $len = \strlen($s); $result = ''; while ($i < $len) { $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"]; $uchr = substr($s, $i, $ulen); $i += $ulen; $c = self::mb_ord($uchr); for ($j = 0; $j < $cnt; $j += 4) { if ($c >= $convmap[$j] && $c <= $convmap[$j + 1]) { $cOffset = ($c + $convmap[$j + 2]) & $convmap[$j + 3]; $result .= $is_hex ? sprintf('&#x%X;', $cOffset) : '&#'.$cOffset.';'; continue 2; } } $result .= $uchr; } if (null === $encoding) { return $result; } return iconv('UTF-8', $encoding.'//IGNORE', $result); } public static function mb_convert_case($s, $mode, $encoding = null) { $s = (string) $s; if ('' === $s) { return ''; } $encoding = self::getEncoding($encoding); if ('UTF-8' === $encoding) { $encoding = null; if (!preg_match('//u', $s)) { $s = @iconv('UTF-8', 'UTF-8//IGNORE', $s); } } else { $s = iconv($encoding, 'UTF-8//IGNORE', $s); } if (MB_CASE_TITLE == $mode) { static $titleRegexp = null; if (null === $titleRegexp) { $titleRegexp = self::getData('titleCaseRegexp'); } $s = preg_replace_callback($titleRegexp, array(__CLASS__, 'title_case'), $s); } else { if (MB_CASE_UPPER == $mode) { static $upper = null; if (null === $upper) { $upper = self::getData('upperCase'); } $map = $upper; } else { if (self::MB_CASE_FOLD === $mode) { $s = str_replace(self::$caseFold[0], self::$caseFold[1], $s); } static $lower = null; if (null === $lower) { $lower = self::getData('lowerCase'); } $map = $lower; } static $ulenMask = array("\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4); $i = 0; $len = \strlen($s); while ($i < $len) { $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"]; $uchr = substr($s, $i, $ulen); $i += $ulen; if (isset($map[$uchr])) { $uchr = $map[$uchr]; $nlen = \strlen($uchr); if ($nlen == $ulen) { $nlen = $i; do { $s[--$nlen] = $uchr[--$ulen]; } while ($ulen); } else { $s = substr_replace($s, $uchr, $i - $ulen, $ulen); $len += $nlen - $ulen; $i += $nlen - $ulen; } } } } if (null === $encoding) { return $s; } return iconv('UTF-8', $encoding.'//IGNORE', $s); } public static function mb_internal_encoding($encoding = null) { if (null === $encoding) { return self::$internalEncoding; } $encoding = self::getEncoding($encoding); if ('UTF-8' === $encoding || false !== @iconv($encoding, $encoding, ' ')) { self::$internalEncoding = $encoding; return true; } return false; } public static function mb_language($lang = null) { if (null === $lang) { return self::$language; } switch ($lang = strtolower($lang)) { case 'uni': case 'neutral': self::$language = $lang; return true; } return false; } public static function mb_list_encodings() { return array('UTF-8'); } public static function mb_encoding_aliases($encoding) { switch (strtoupper($encoding)) { case 'UTF8': case 'UTF-8': return array('utf8'); } return false; } public static function mb_check_encoding($var = null, $encoding = null) { if (null === $encoding) { if (null === $var) { return false; } $encoding = self::$internalEncoding; } return self::mb_detect_encoding($var, array($encoding)) || false !== @iconv($encoding, $encoding, $var); } public static function mb_detect_encoding($str, $encodingList = null, $strict = false) { if (null === $encodingList) { $encodingList = self::$encodingList; } else { if (!\is_array($encodingList)) { $encodingList = array_map('trim', explode(',', $encodingList)); } $encodingList = array_map('strtoupper', $encodingList); } foreach ($encodingList as $enc) { switch ($enc) { case 'ASCII': if (!preg_match('/[\x80-\xFF]/', $str)) { return $enc; } break; case 'UTF8': case 'UTF-8': if (preg_match('//u', $str)) { return 'UTF-8'; } break; default: if (0 === strncmp($enc, 'ISO-8859-', 9)) { return $enc; } } } return false; } public static function mb_detect_order($encodingList = null) { if (null === $encodingList) { return self::$encodingList; } if (!\is_array($encodingList)) { $encodingList = array_map('trim', explode(',', $encodingList)); } $encodingList = array_map('strtoupper', $encodingList); foreach ($encodingList as $enc) { switch ($enc) { default: if (strncmp($enc, 'ISO-8859-', 9)) { return false; } // no break case 'ASCII': case 'UTF8': case 'UTF-8': } } self::$encodingList = $encodingList; return true; } public static function mb_strlen($s, $encoding = null) { $encoding = self::getEncoding($encoding); if ('CP850' === $encoding || 'ASCII' === $encoding) { return \strlen($s); } return @iconv_strlen($s, $encoding); } public static function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) { $encoding = self::getEncoding($encoding); if ('CP850' === $encoding || 'ASCII' === $encoding) { return strpos($haystack, $needle, $offset); } $needle = (string) $needle; if ('' === $needle) { trigger_error(__METHOD__.': Empty delimiter', E_USER_WARNING); return false; } return iconv_strpos($haystack, $needle, $offset, $encoding); } public static function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null) { $encoding = self::getEncoding($encoding); if ('CP850' === $encoding || 'ASCII' === $encoding) { return strrpos($haystack, $needle, $offset); } if ($offset != (int) $offset) { $offset = 0; } elseif ($offset = (int) $offset) { if ($offset < 0) { if (0 > $offset += self::mb_strlen($needle)) { $haystack = self::mb_substr($haystack, 0, $offset, $encoding); } $offset = 0; } else { $haystack = self::mb_substr($haystack, $offset, 2147483647, $encoding); } } $pos = iconv_strrpos($haystack, $needle, $encoding); return false !== $pos ? $offset + $pos : false; } public static function mb_str_split($string, $split_length = 1, $encoding = null) { if (null !== $string && !\is_scalar($string) && !(\is_object($string) && \method_exists($string, '__toString'))) { trigger_error('mb_str_split() expects parameter 1 to be string, '.\gettype($string).' given', E_USER_WARNING); return null; } if (1 > $split_length = (int) $split_length) { trigger_error('The length of each segment must be greater than zero', E_USER_WARNING); return false; } if (null === $encoding) { $encoding = mb_internal_encoding(); } if ('UTF-8' === $encoding = self::getEncoding($encoding)) { $rx = '/('; while (65535 < $split_length) { $rx .= '.{65535}'; $split_length -= 65535; } $rx .= '.{'.$split_length.'})/us'; return preg_split($rx, $string, null, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); } $result = array(); $length = mb_strlen($string, $encoding); for ($i = 0; $i < $length; $i += $split_length) { $result[] = mb_substr($string, $i, $split_length, $encoding); } return $result; } public static function mb_strtolower($s, $encoding = null) { return self::mb_convert_case($s, MB_CASE_LOWER, $encoding); } public static function mb_strtoupper($s, $encoding = null) { return self::mb_convert_case($s, MB_CASE_UPPER, $encoding); } public static function mb_substitute_character($c = null) { if (0 === strcasecmp($c, 'none')) { return true; } return null !== $c ? false : 'none'; } public static function mb_substr($s, $start, $length = null, $encoding = null) { $encoding = self::getEncoding($encoding); if ('CP850' === $encoding || 'ASCII' === $encoding) { return (string) substr($s, $start, null === $length ? 2147483647 : $length); } if ($start < 0) { $start = iconv_strlen($s, $encoding) + $start; if ($start < 0) { $start = 0; } } if (null === $length) { $length = 2147483647; } elseif ($length < 0) { $length = iconv_strlen($s, $encoding) + $length - $start; if ($length < 0) { return ''; } } return (string) iconv_substr($s, $start, $length, $encoding); } public static function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) { $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding); $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding); return self::mb_strpos($haystack, $needle, $offset, $encoding); } public static function mb_stristr($haystack, $needle, $part = false, $encoding = null) { $pos = self::mb_stripos($haystack, $needle, 0, $encoding); return self::getSubpart($pos, $part, $haystack, $encoding); } public static function mb_strrchr($haystack, $needle, $part = false, $encoding = null) { $encoding = self::getEncoding($encoding); if ('CP850' === $encoding || 'ASCII' === $encoding) { $pos = strrpos($haystack, $needle); } else { $needle = self::mb_substr($needle, 0, 1, $encoding); $pos = iconv_strrpos($haystack, $needle, $encoding); } return self::getSubpart($pos, $part, $haystack, $encoding); } public static function mb_strrichr($haystack, $needle, $part = false, $encoding = null) { $needle = self::mb_substr($needle, 0, 1, $encoding); $pos = self::mb_strripos($haystack, $needle, $encoding); return self::getSubpart($pos, $part, $haystack, $encoding); } public static function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) { $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding); $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding); return self::mb_strrpos($haystack, $needle, $offset, $encoding); } public static function mb_strstr($haystack, $needle, $part = false, $encoding = null) { $pos = strpos($haystack, $needle); if (false === $pos) { return false; } if ($part) { return substr($haystack, 0, $pos); } return substr($haystack, $pos); } public static function mb_get_info($type = 'all') { $info = array( 'internal_encoding' => self::$internalEncoding, 'http_output' => 'pass', 'http_output_conv_mimetypes' => '^(text/|application/xhtml\+xml)', 'func_overload' => 0, 'func_overload_list' => 'no overload', 'mail_charset' => 'UTF-8', 'mail_header_encoding' => 'BASE64', 'mail_body_encoding' => 'BASE64', 'illegal_chars' => 0, 'encoding_translation' => 'Off', 'language' => self::$language, 'detect_order' => self::$encodingList, 'substitute_character' => 'none', 'strict_detection' => 'Off', ); if ('all' === $type) { return $info; } if (isset($info[$type])) { return $info[$type]; } return false; } public static function mb_http_input($type = '') { return false; } public static function mb_http_output($encoding = null) { return null !== $encoding ? 'pass' === $encoding : 'pass'; } public static function mb_strwidth($s, $encoding = null) { $encoding = self::getEncoding($encoding); if ('UTF-8' !== $encoding) { $s = iconv($encoding, 'UTF-8//IGNORE', $s); } $s = preg_replace('/[\x{1100}-\x{115F}\x{2329}\x{232A}\x{2E80}-\x{303E}\x{3040}-\x{A4CF}\x{AC00}-\x{D7A3}\x{F900}-\x{FAFF}\x{FE10}-\x{FE19}\x{FE30}-\x{FE6F}\x{FF00}-\x{FF60}\x{FFE0}-\x{FFE6}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}]/u', '', $s, -1, $wide); return ($wide << 1) + iconv_strlen($s, 'UTF-8'); } public static function mb_substr_count($haystack, $needle, $encoding = null) { return substr_count($haystack, $needle); } public static function mb_output_handler($contents, $status) { return $contents; } public static function mb_chr($code, $encoding = null) { if (0x80 > $code %= 0x200000) { $s = \chr($code); } elseif (0x800 > $code) { $s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F); } elseif (0x10000 > $code) { $s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); } else { $s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); } if ('UTF-8' !== $encoding = self::getEncoding($encoding)) { $s = mb_convert_encoding($s, $encoding, 'UTF-8'); } return $s; } public static function mb_ord($s, $encoding = null) { if ('UTF-8' !== $encoding = self::getEncoding($encoding)) { $s = mb_convert_encoding($s, 'UTF-8', $encoding); } if (1 === \strlen($s)) { return \ord($s); } $code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0; if (0xF0 <= $code) { return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80; } if (0xE0 <= $code) { return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80; } if (0xC0 <= $code) { return (($code - 0xC0) << 6) + $s[2] - 0x80; } return $code; } private static function getSubpart($pos, $part, $haystack, $encoding) { if (false === $pos) { return false; } if ($part) { return self::mb_substr($haystack, 0, $pos, $encoding); } return self::mb_substr($haystack, $pos, null, $encoding); } private static function html_encoding_callback(array $m) { $i = 1; $entities = ''; $m = unpack('C*', htmlentities($m[0], ENT_COMPAT, 'UTF-8')); while (isset($m[$i])) { if (0x80 > $m[$i]) { $entities .= \chr($m[$i++]); continue; } if (0xF0 <= $m[$i]) { $c = (($m[$i++] - 0xF0) << 18) + (($m[$i++] - 0x80) << 12) + (($m[$i++] - 0x80) << 6) + $m[$i++] - 0x80; } elseif (0xE0 <= $m[$i]) { $c = (($m[$i++] - 0xE0) << 12) + (($m[$i++] - 0x80) << 6) + $m[$i++] - 0x80; } else { $c = (($m[$i++] - 0xC0) << 6) + $m[$i++] - 0x80; } $entities .= '&#'.$c.';'; } return $entities; } private static function title_case(array $s) { return self::mb_convert_case($s[1], MB_CASE_UPPER, 'UTF-8').self::mb_convert_case($s[2], MB_CASE_LOWER, 'UTF-8'); } private static function getData($file) { if (file_exists($file = __DIR__.'/Resources/unidata/'.$file.'.php')) { return require $file; } return false; } private static function getEncoding($encoding) { if (null === $encoding) { return self::$internalEncoding; } if ('UTF-8' === $encoding) { return 'UTF-8'; } $encoding = strtoupper($encoding); if ('8BIT' === $encoding || 'BINARY' === $encoding) { return 'CP850'; } if ('UTF8' === $encoding) { return 'UTF-8'; } return $encoding; } } vendor/symfony/polyfill-mbstring/Resources/mb_convert_variables.php8000064400000001477147400355670022207 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ use Symfony\Polyfill\Mbstring as p; if (!function_exists('mb_convert_variables')) { /** * Convert character code in variable(s) */ function mb_convert_variables($to_encoding, $from_encoding, &$var, &...$vars) { $vars = [&$var, ...$vars]; $ok = true; array_walk_recursive($vars, function (&$v) use (&$ok, $to_encoding, $from_encoding) { if (false === $v = p\Mbstring::mb_convert_encoding($v, $to_encoding, $from_encoding)) { $ok = false; } }); return $ok ? $from_encoding : false; } } vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php000064400000057731147400355670021306 0ustar00 'a', 'B' => 'b', 'C' => 'c', 'D' => 'd', 'E' => 'e', 'F' => 'f', 'G' => 'g', 'H' => 'h', 'I' => 'i', 'J' => 'j', 'K' => 'k', 'L' => 'l', 'M' => 'm', 'N' => 'n', 'O' => 'o', 'P' => 'p', 'Q' => 'q', 'R' => 'r', 'S' => 's', 'T' => 't', 'U' => 'u', 'V' => 'v', 'W' => 'w', 'X' => 'x', 'Y' => 'y', 'Z' => 'z', 'À' => 'à', 'Á' => 'á', 'Â' => 'â', 'Ã' => 'ã', 'Ä' => 'ä', 'Å' => 'å', 'Æ' => 'æ', 'Ç' => 'ç', 'È' => 'è', 'É' => 'é', 'Ê' => 'ê', 'Ë' => 'ë', 'Ì' => 'ì', 'Í' => 'í', 'Î' => 'î', 'Ï' => 'ï', 'Ð' => 'ð', 'Ñ' => 'ñ', 'Ò' => 'ò', 'Ó' => 'ó', 'Ô' => 'ô', 'Õ' => 'õ', 'Ö' => 'ö', 'Ø' => 'ø', 'Ù' => 'ù', 'Ú' => 'ú', 'Û' => 'û', 'Ü' => 'ü', 'Ý' => 'ý', 'Þ' => 'þ', 'Ā' => 'ā', 'Ă' => 'ă', 'Ą' => 'ą', 'Ć' => 'ć', 'Ĉ' => 'ĉ', 'Ċ' => 'ċ', 'Č' => 'č', 'Ď' => 'ď', 'Đ' => 'đ', 'Ē' => 'ē', 'Ĕ' => 'ĕ', 'Ė' => 'ė', 'Ę' => 'ę', 'Ě' => 'ě', 'Ĝ' => 'ĝ', 'Ğ' => 'ğ', 'Ġ' => 'ġ', 'Ģ' => 'ģ', 'Ĥ' => 'ĥ', 'Ħ' => 'ħ', 'Ĩ' => 'ĩ', 'Ī' => 'ī', 'Ĭ' => 'ĭ', 'Į' => 'į', 'İ' => 'i', 'IJ' => 'ij', 'Ĵ' => 'ĵ', 'Ķ' => 'ķ', 'Ĺ' => 'ĺ', 'Ļ' => 'ļ', 'Ľ' => 'ľ', 'Ŀ' => 'ŀ', 'Ł' => 'ł', 'Ń' => 'ń', 'Ņ' => 'ņ', 'Ň' => 'ň', 'Ŋ' => 'ŋ', 'Ō' => 'ō', 'Ŏ' => 'ŏ', 'Ő' => 'ő', 'Œ' => 'œ', 'Ŕ' => 'ŕ', 'Ŗ' => 'ŗ', 'Ř' => 'ř', 'Ś' => 'ś', 'Ŝ' => 'ŝ', 'Ş' => 'ş', 'Š' => 'š', 'Ţ' => 'ţ', 'Ť' => 'ť', 'Ŧ' => 'ŧ', 'Ũ' => 'ũ', 'Ū' => 'ū', 'Ŭ' => 'ŭ', 'Ů' => 'ů', 'Ű' => 'ű', 'Ų' => 'ų', 'Ŵ' => 'ŵ', 'Ŷ' => 'ŷ', 'Ÿ' => 'ÿ', 'Ź' => 'ź', 'Ż' => 'ż', 'Ž' => 'ž', 'Ɓ' => 'ɓ', 'Ƃ' => 'ƃ', 'Ƅ' => 'ƅ', 'Ɔ' => 'ɔ', 'Ƈ' => 'ƈ', 'Ɖ' => 'ɖ', 'Ɗ' => 'ɗ', 'Ƌ' => 'ƌ', 'Ǝ' => 'ǝ', 'Ə' => 'ə', 'Ɛ' => 'ɛ', 'Ƒ' => 'ƒ', 'Ɠ' => 'ɠ', 'Ɣ' => 'ɣ', 'Ɩ' => 'ɩ', 'Ɨ' => 'ɨ', 'Ƙ' => 'ƙ', 'Ɯ' => 'ɯ', 'Ɲ' => 'ɲ', 'Ɵ' => 'ɵ', 'Ơ' => 'ơ', 'Ƣ' => 'ƣ', 'Ƥ' => 'ƥ', 'Ʀ' => 'ʀ', 'Ƨ' => 'ƨ', 'Ʃ' => 'ʃ', 'Ƭ' => 'ƭ', 'Ʈ' => 'ʈ', 'Ư' => 'ư', 'Ʊ' => 'ʊ', 'Ʋ' => 'ʋ', 'Ƴ' => 'ƴ', 'Ƶ' => 'ƶ', 'Ʒ' => 'ʒ', 'Ƹ' => 'ƹ', 'Ƽ' => 'ƽ', 'DŽ' => 'dž', 'Dž' => 'dž', 'LJ' => 'lj', 'Lj' => 'lj', 'NJ' => 'nj', 'Nj' => 'nj', 'Ǎ' => 'ǎ', 'Ǐ' => 'ǐ', 'Ǒ' => 'ǒ', 'Ǔ' => 'ǔ', 'Ǖ' => 'ǖ', 'Ǘ' => 'ǘ', 'Ǚ' => 'ǚ', 'Ǜ' => 'ǜ', 'Ǟ' => 'ǟ', 'Ǡ' => 'ǡ', 'Ǣ' => 'ǣ', 'Ǥ' => 'ǥ', 'Ǧ' => 'ǧ', 'Ǩ' => 'ǩ', 'Ǫ' => 'ǫ', 'Ǭ' => 'ǭ', 'Ǯ' => 'ǯ', 'DZ' => 'dz', 'Dz' => 'dz', 'Ǵ' => 'ǵ', 'Ƕ' => 'ƕ', 'Ƿ' => 'ƿ', 'Ǹ' => 'ǹ', 'Ǻ' => 'ǻ', 'Ǽ' => 'ǽ', 'Ǿ' => 'ǿ', 'Ȁ' => 'ȁ', 'Ȃ' => 'ȃ', 'Ȅ' => 'ȅ', 'Ȇ' => 'ȇ', 'Ȉ' => 'ȉ', 'Ȋ' => 'ȋ', 'Ȍ' => 'ȍ', 'Ȏ' => 'ȏ', 'Ȑ' => 'ȑ', 'Ȓ' => 'ȓ', 'Ȕ' => 'ȕ', 'Ȗ' => 'ȗ', 'Ș' => 'ș', 'Ț' => 'ț', 'Ȝ' => 'ȝ', 'Ȟ' => 'ȟ', 'Ƞ' => 'ƞ', 'Ȣ' => 'ȣ', 'Ȥ' => 'ȥ', 'Ȧ' => 'ȧ', 'Ȩ' => 'ȩ', 'Ȫ' => 'ȫ', 'Ȭ' => 'ȭ', 'Ȯ' => 'ȯ', 'Ȱ' => 'ȱ', 'Ȳ' => 'ȳ', 'Ⱥ' => 'ⱥ', 'Ȼ' => 'ȼ', 'Ƚ' => 'ƚ', 'Ⱦ' => 'ⱦ', 'Ɂ' => 'ɂ', 'Ƀ' => 'ƀ', 'Ʉ' => 'ʉ', 'Ʌ' => 'ʌ', 'Ɇ' => 'ɇ', 'Ɉ' => 'ɉ', 'Ɋ' => 'ɋ', 'Ɍ' => 'ɍ', 'Ɏ' => 'ɏ', 'Ͱ' => 'ͱ', 'Ͳ' => 'ͳ', 'Ͷ' => 'ͷ', 'Ϳ' => 'ϳ', 'Ά' => 'ά', 'Έ' => 'έ', 'Ή' => 'ή', 'Ί' => 'ί', 'Ό' => 'ό', 'Ύ' => 'ύ', 'Ώ' => 'ώ', 'Α' => 'α', 'Β' => 'β', 'Γ' => 'γ', 'Δ' => 'δ', 'Ε' => 'ε', 'Ζ' => 'ζ', 'Η' => 'η', 'Θ' => 'θ', 'Ι' => 'ι', 'Κ' => 'κ', 'Λ' => 'λ', 'Μ' => 'μ', 'Ν' => 'ν', 'Ξ' => 'ξ', 'Ο' => 'ο', 'Π' => 'π', 'Ρ' => 'ρ', 'Σ' => 'σ', 'Τ' => 'τ', 'Υ' => 'υ', 'Φ' => 'φ', 'Χ' => 'χ', 'Ψ' => 'ψ', 'Ω' => 'ω', 'Ϊ' => 'ϊ', 'Ϋ' => 'ϋ', 'Ϗ' => 'ϗ', 'Ϙ' => 'ϙ', 'Ϛ' => 'ϛ', 'Ϝ' => 'ϝ', 'Ϟ' => 'ϟ', 'Ϡ' => 'ϡ', 'Ϣ' => 'ϣ', 'Ϥ' => 'ϥ', 'Ϧ' => 'ϧ', 'Ϩ' => 'ϩ', 'Ϫ' => 'ϫ', 'Ϭ' => 'ϭ', 'Ϯ' => 'ϯ', 'ϴ' => 'θ', 'Ϸ' => 'ϸ', 'Ϲ' => 'ϲ', 'Ϻ' => 'ϻ', 'Ͻ' => 'ͻ', 'Ͼ' => 'ͼ', 'Ͽ' => 'ͽ', 'Ѐ' => 'ѐ', 'Ё' => 'ё', 'Ђ' => 'ђ', 'Ѓ' => 'ѓ', 'Є' => 'є', 'Ѕ' => 'ѕ', 'І' => 'і', 'Ї' => 'ї', 'Ј' => 'ј', 'Љ' => 'љ', 'Њ' => 'њ', 'Ћ' => 'ћ', 'Ќ' => 'ќ', 'Ѝ' => 'ѝ', 'Ў' => 'ў', 'Џ' => 'џ', 'А' => 'а', 'Б' => 'б', 'В' => 'в', 'Г' => 'г', 'Д' => 'д', 'Е' => 'е', 'Ж' => 'ж', 'З' => 'з', 'И' => 'и', 'Й' => 'й', 'К' => 'к', 'Л' => 'л', 'М' => 'м', 'Н' => 'н', 'О' => 'о', 'П' => 'п', 'Р' => 'р', 'С' => 'с', 'Т' => 'т', 'У' => 'у', 'Ф' => 'ф', 'Х' => 'х', 'Ц' => 'ц', 'Ч' => 'ч', 'Ш' => 'ш', 'Щ' => 'щ', 'Ъ' => 'ъ', 'Ы' => 'ы', 'Ь' => 'ь', 'Э' => 'э', 'Ю' => 'ю', 'Я' => 'я', 'Ѡ' => 'ѡ', 'Ѣ' => 'ѣ', 'Ѥ' => 'ѥ', 'Ѧ' => 'ѧ', 'Ѩ' => 'ѩ', 'Ѫ' => 'ѫ', 'Ѭ' => 'ѭ', 'Ѯ' => 'ѯ', 'Ѱ' => 'ѱ', 'Ѳ' => 'ѳ', 'Ѵ' => 'ѵ', 'Ѷ' => 'ѷ', 'Ѹ' => 'ѹ', 'Ѻ' => 'ѻ', 'Ѽ' => 'ѽ', 'Ѿ' => 'ѿ', 'Ҁ' => 'ҁ', 'Ҋ' => 'ҋ', 'Ҍ' => 'ҍ', 'Ҏ' => 'ҏ', 'Ґ' => 'ґ', 'Ғ' => 'ғ', 'Ҕ' => 'ҕ', 'Җ' => 'җ', 'Ҙ' => 'ҙ', 'Қ' => 'қ', 'Ҝ' => 'ҝ', 'Ҟ' => 'ҟ', 'Ҡ' => 'ҡ', 'Ң' => 'ң', 'Ҥ' => 'ҥ', 'Ҧ' => 'ҧ', 'Ҩ' => 'ҩ', 'Ҫ' => 'ҫ', 'Ҭ' => 'ҭ', 'Ү' => 'ү', 'Ұ' => 'ұ', 'Ҳ' => 'ҳ', 'Ҵ' => 'ҵ', 'Ҷ' => 'ҷ', 'Ҹ' => 'ҹ', 'Һ' => 'һ', 'Ҽ' => 'ҽ', 'Ҿ' => 'ҿ', 'Ӏ' => 'ӏ', 'Ӂ' => 'ӂ', 'Ӄ' => 'ӄ', 'Ӆ' => 'ӆ', 'Ӈ' => 'ӈ', 'Ӊ' => 'ӊ', 'Ӌ' => 'ӌ', 'Ӎ' => 'ӎ', 'Ӑ' => 'ӑ', 'Ӓ' => 'ӓ', 'Ӕ' => 'ӕ', 'Ӗ' => 'ӗ', 'Ә' => 'ә', 'Ӛ' => 'ӛ', 'Ӝ' => 'ӝ', 'Ӟ' => 'ӟ', 'Ӡ' => 'ӡ', 'Ӣ' => 'ӣ', 'Ӥ' => 'ӥ', 'Ӧ' => 'ӧ', 'Ө' => 'ө', 'Ӫ' => 'ӫ', 'Ӭ' => 'ӭ', 'Ӯ' => 'ӯ', 'Ӱ' => 'ӱ', 'Ӳ' => 'ӳ', 'Ӵ' => 'ӵ', 'Ӷ' => 'ӷ', 'Ӹ' => 'ӹ', 'Ӻ' => 'ӻ', 'Ӽ' => 'ӽ', 'Ӿ' => 'ӿ', 'Ԁ' => 'ԁ', 'Ԃ' => 'ԃ', 'Ԅ' => 'ԅ', 'Ԇ' => 'ԇ', 'Ԉ' => 'ԉ', 'Ԋ' => 'ԋ', 'Ԍ' => 'ԍ', 'Ԏ' => 'ԏ', 'Ԑ' => 'ԑ', 'Ԓ' => 'ԓ', 'Ԕ' => 'ԕ', 'Ԗ' => 'ԗ', 'Ԙ' => 'ԙ', 'Ԛ' => 'ԛ', 'Ԝ' => 'ԝ', 'Ԟ' => 'ԟ', 'Ԡ' => 'ԡ', 'Ԣ' => 'ԣ', 'Ԥ' => 'ԥ', 'Ԧ' => 'ԧ', 'Ԩ' => 'ԩ', 'Ԫ' => 'ԫ', 'Ԭ' => 'ԭ', 'Ԯ' => 'ԯ', 'Ա' => 'ա', 'Բ' => 'բ', 'Գ' => 'գ', 'Դ' => 'դ', 'Ե' => 'ե', 'Զ' => 'զ', 'Է' => 'է', 'Ը' => 'ը', 'Թ' => 'թ', 'Ժ' => 'ժ', 'Ի' => 'ի', 'Լ' => 'լ', 'Խ' => 'խ', 'Ծ' => 'ծ', 'Կ' => 'կ', 'Հ' => 'հ', 'Ձ' => 'ձ', 'Ղ' => 'ղ', 'Ճ' => 'ճ', 'Մ' => 'մ', 'Յ' => 'յ', 'Ն' => 'ն', 'Շ' => 'շ', 'Ո' => 'ո', 'Չ' => 'չ', 'Պ' => 'պ', 'Ջ' => 'ջ', 'Ռ' => 'ռ', 'Ս' => 'ս', 'Վ' => 'վ', 'Տ' => 'տ', 'Ր' => 'ր', 'Ց' => 'ց', 'Ւ' => 'ւ', 'Փ' => 'փ', 'Ք' => 'ք', 'Օ' => 'օ', 'Ֆ' => 'ֆ', 'Ⴀ' => 'ⴀ', 'Ⴁ' => 'ⴁ', 'Ⴂ' => 'ⴂ', 'Ⴃ' => 'ⴃ', 'Ⴄ' => 'ⴄ', 'Ⴅ' => 'ⴅ', 'Ⴆ' => 'ⴆ', 'Ⴇ' => 'ⴇ', 'Ⴈ' => 'ⴈ', 'Ⴉ' => 'ⴉ', 'Ⴊ' => 'ⴊ', 'Ⴋ' => 'ⴋ', 'Ⴌ' => 'ⴌ', 'Ⴍ' => 'ⴍ', 'Ⴎ' => 'ⴎ', 'Ⴏ' => 'ⴏ', 'Ⴐ' => 'ⴐ', 'Ⴑ' => 'ⴑ', 'Ⴒ' => 'ⴒ', 'Ⴓ' => 'ⴓ', 'Ⴔ' => 'ⴔ', 'Ⴕ' => 'ⴕ', 'Ⴖ' => 'ⴖ', 'Ⴗ' => 'ⴗ', 'Ⴘ' => 'ⴘ', 'Ⴙ' => 'ⴙ', 'Ⴚ' => 'ⴚ', 'Ⴛ' => 'ⴛ', 'Ⴜ' => 'ⴜ', 'Ⴝ' => 'ⴝ', 'Ⴞ' => 'ⴞ', 'Ⴟ' => 'ⴟ', 'Ⴠ' => 'ⴠ', 'Ⴡ' => 'ⴡ', 'Ⴢ' => 'ⴢ', 'Ⴣ' => 'ⴣ', 'Ⴤ' => 'ⴤ', 'Ⴥ' => 'ⴥ', 'Ⴧ' => 'ⴧ', 'Ⴭ' => 'ⴭ', 'Ꭰ' => 'ꭰ', 'Ꭱ' => 'ꭱ', 'Ꭲ' => 'ꭲ', 'Ꭳ' => 'ꭳ', 'Ꭴ' => 'ꭴ', 'Ꭵ' => 'ꭵ', 'Ꭶ' => 'ꭶ', 'Ꭷ' => 'ꭷ', 'Ꭸ' => 'ꭸ', 'Ꭹ' => 'ꭹ', 'Ꭺ' => 'ꭺ', 'Ꭻ' => 'ꭻ', 'Ꭼ' => 'ꭼ', 'Ꭽ' => 'ꭽ', 'Ꭾ' => 'ꭾ', 'Ꭿ' => 'ꭿ', 'Ꮀ' => 'ꮀ', 'Ꮁ' => 'ꮁ', 'Ꮂ' => 'ꮂ', 'Ꮃ' => 'ꮃ', 'Ꮄ' => 'ꮄ', 'Ꮅ' => 'ꮅ', 'Ꮆ' => 'ꮆ', 'Ꮇ' => 'ꮇ', 'Ꮈ' => 'ꮈ', 'Ꮉ' => 'ꮉ', 'Ꮊ' => 'ꮊ', 'Ꮋ' => 'ꮋ', 'Ꮌ' => 'ꮌ', 'Ꮍ' => 'ꮍ', 'Ꮎ' => 'ꮎ', 'Ꮏ' => 'ꮏ', 'Ꮐ' => 'ꮐ', 'Ꮑ' => 'ꮑ', 'Ꮒ' => 'ꮒ', 'Ꮓ' => 'ꮓ', 'Ꮔ' => 'ꮔ', 'Ꮕ' => 'ꮕ', 'Ꮖ' => 'ꮖ', 'Ꮗ' => 'ꮗ', 'Ꮘ' => 'ꮘ', 'Ꮙ' => 'ꮙ', 'Ꮚ' => 'ꮚ', 'Ꮛ' => 'ꮛ', 'Ꮜ' => 'ꮜ', 'Ꮝ' => 'ꮝ', 'Ꮞ' => 'ꮞ', 'Ꮟ' => 'ꮟ', 'Ꮠ' => 'ꮠ', 'Ꮡ' => 'ꮡ', 'Ꮢ' => 'ꮢ', 'Ꮣ' => 'ꮣ', 'Ꮤ' => 'ꮤ', 'Ꮥ' => 'ꮥ', 'Ꮦ' => 'ꮦ', 'Ꮧ' => 'ꮧ', 'Ꮨ' => 'ꮨ', 'Ꮩ' => 'ꮩ', 'Ꮪ' => 'ꮪ', 'Ꮫ' => 'ꮫ', 'Ꮬ' => 'ꮬ', 'Ꮭ' => 'ꮭ', 'Ꮮ' => 'ꮮ', 'Ꮯ' => 'ꮯ', 'Ꮰ' => 'ꮰ', 'Ꮱ' => 'ꮱ', 'Ꮲ' => 'ꮲ', 'Ꮳ' => 'ꮳ', 'Ꮴ' => 'ꮴ', 'Ꮵ' => 'ꮵ', 'Ꮶ' => 'ꮶ', 'Ꮷ' => 'ꮷ', 'Ꮸ' => 'ꮸ', 'Ꮹ' => 'ꮹ', 'Ꮺ' => 'ꮺ', 'Ꮻ' => 'ꮻ', 'Ꮼ' => 'ꮼ', 'Ꮽ' => 'ꮽ', 'Ꮾ' => 'ꮾ', 'Ꮿ' => 'ꮿ', 'Ᏸ' => 'ᏸ', 'Ᏹ' => 'ᏹ', 'Ᏺ' => 'ᏺ', 'Ᏻ' => 'ᏻ', 'Ᏼ' => 'ᏼ', 'Ᏽ' => 'ᏽ', 'Ა' => 'ა', 'Ბ' => 'ბ', 'Გ' => 'გ', 'Დ' => 'დ', 'Ე' => 'ე', 'Ვ' => 'ვ', 'Ზ' => 'ზ', 'Თ' => 'თ', 'Ი' => 'ი', 'Კ' => 'კ', 'Ლ' => 'ლ', 'Მ' => 'მ', 'Ნ' => 'ნ', 'Ო' => 'ო', 'Პ' => 'პ', 'Ჟ' => 'ჟ', 'Რ' => 'რ', 'Ს' => 'ს', 'Ტ' => 'ტ', 'Უ' => 'უ', 'Ფ' => 'ფ', 'Ქ' => 'ქ', 'Ღ' => 'ღ', 'Ყ' => 'ყ', 'Შ' => 'შ', 'Ჩ' => 'ჩ', 'Ც' => 'ც', 'Ძ' => 'ძ', 'Წ' => 'წ', 'Ჭ' => 'ჭ', 'Ხ' => 'ხ', 'Ჯ' => 'ჯ', 'Ჰ' => 'ჰ', 'Ჱ' => 'ჱ', 'Ჲ' => 'ჲ', 'Ჳ' => 'ჳ', 'Ჴ' => 'ჴ', 'Ჵ' => 'ჵ', 'Ჶ' => 'ჶ', 'Ჷ' => 'ჷ', 'Ჸ' => 'ჸ', 'Ჹ' => 'ჹ', 'Ჺ' => 'ჺ', 'Ჽ' => 'ჽ', 'Ჾ' => 'ჾ', 'Ჿ' => 'ჿ', 'Ḁ' => 'ḁ', 'Ḃ' => 'ḃ', 'Ḅ' => 'ḅ', 'Ḇ' => 'ḇ', 'Ḉ' => 'ḉ', 'Ḋ' => 'ḋ', 'Ḍ' => 'ḍ', 'Ḏ' => 'ḏ', 'Ḑ' => 'ḑ', 'Ḓ' => 'ḓ', 'Ḕ' => 'ḕ', 'Ḗ' => 'ḗ', 'Ḙ' => 'ḙ', 'Ḛ' => 'ḛ', 'Ḝ' => 'ḝ', 'Ḟ' => 'ḟ', 'Ḡ' => 'ḡ', 'Ḣ' => 'ḣ', 'Ḥ' => 'ḥ', 'Ḧ' => 'ḧ', 'Ḩ' => 'ḩ', 'Ḫ' => 'ḫ', 'Ḭ' => 'ḭ', 'Ḯ' => 'ḯ', 'Ḱ' => 'ḱ', 'Ḳ' => 'ḳ', 'Ḵ' => 'ḵ', 'Ḷ' => 'ḷ', 'Ḹ' => 'ḹ', 'Ḻ' => 'ḻ', 'Ḽ' => 'ḽ', 'Ḿ' => 'ḿ', 'Ṁ' => 'ṁ', 'Ṃ' => 'ṃ', 'Ṅ' => 'ṅ', 'Ṇ' => 'ṇ', 'Ṉ' => 'ṉ', 'Ṋ' => 'ṋ', 'Ṍ' => 'ṍ', 'Ṏ' => 'ṏ', 'Ṑ' => 'ṑ', 'Ṓ' => 'ṓ', 'Ṕ' => 'ṕ', 'Ṗ' => 'ṗ', 'Ṙ' => 'ṙ', 'Ṛ' => 'ṛ', 'Ṝ' => 'ṝ', 'Ṟ' => 'ṟ', 'Ṡ' => 'ṡ', 'Ṣ' => 'ṣ', 'Ṥ' => 'ṥ', 'Ṧ' => 'ṧ', 'Ṩ' => 'ṩ', 'Ṫ' => 'ṫ', 'Ṭ' => 'ṭ', 'Ṯ' => 'ṯ', 'Ṱ' => 'ṱ', 'Ṳ' => 'ṳ', 'Ṵ' => 'ṵ', 'Ṷ' => 'ṷ', 'Ṹ' => 'ṹ', 'Ṻ' => 'ṻ', 'Ṽ' => 'ṽ', 'Ṿ' => 'ṿ', 'Ẁ' => 'ẁ', 'Ẃ' => 'ẃ', 'Ẅ' => 'ẅ', 'Ẇ' => 'ẇ', 'Ẉ' => 'ẉ', 'Ẋ' => 'ẋ', 'Ẍ' => 'ẍ', 'Ẏ' => 'ẏ', 'Ẑ' => 'ẑ', 'Ẓ' => 'ẓ', 'Ẕ' => 'ẕ', 'ẞ' => 'ß', 'Ạ' => 'ạ', 'Ả' => 'ả', 'Ấ' => 'ấ', 'Ầ' => 'ầ', 'Ẩ' => 'ẩ', 'Ẫ' => 'ẫ', 'Ậ' => 'ậ', 'Ắ' => 'ắ', 'Ằ' => 'ằ', 'Ẳ' => 'ẳ', 'Ẵ' => 'ẵ', 'Ặ' => 'ặ', 'Ẹ' => 'ẹ', 'Ẻ' => 'ẻ', 'Ẽ' => 'ẽ', 'Ế' => 'ế', 'Ề' => 'ề', 'Ể' => 'ể', 'Ễ' => 'ễ', 'Ệ' => 'ệ', 'Ỉ' => 'ỉ', 'Ị' => 'ị', 'Ọ' => 'ọ', 'Ỏ' => 'ỏ', 'Ố' => 'ố', 'Ồ' => 'ồ', 'Ổ' => 'ổ', 'Ỗ' => 'ỗ', 'Ộ' => 'ộ', 'Ớ' => 'ớ', 'Ờ' => 'ờ', 'Ở' => 'ở', 'Ỡ' => 'ỡ', 'Ợ' => 'ợ', 'Ụ' => 'ụ', 'Ủ' => 'ủ', 'Ứ' => 'ứ', 'Ừ' => 'ừ', 'Ử' => 'ử', 'Ữ' => 'ữ', 'Ự' => 'ự', 'Ỳ' => 'ỳ', 'Ỵ' => 'ỵ', 'Ỷ' => 'ỷ', 'Ỹ' => 'ỹ', 'Ỻ' => 'ỻ', 'Ỽ' => 'ỽ', 'Ỿ' => 'ỿ', 'Ἀ' => 'ἀ', 'Ἁ' => 'ἁ', 'Ἂ' => 'ἂ', 'Ἃ' => 'ἃ', 'Ἄ' => 'ἄ', 'Ἅ' => 'ἅ', 'Ἆ' => 'ἆ', 'Ἇ' => 'ἇ', 'Ἐ' => 'ἐ', 'Ἑ' => 'ἑ', 'Ἒ' => 'ἒ', 'Ἓ' => 'ἓ', 'Ἔ' => 'ἔ', 'Ἕ' => 'ἕ', 'Ἠ' => 'ἠ', 'Ἡ' => 'ἡ', 'Ἢ' => 'ἢ', 'Ἣ' => 'ἣ', 'Ἤ' => 'ἤ', 'Ἥ' => 'ἥ', 'Ἦ' => 'ἦ', 'Ἧ' => 'ἧ', 'Ἰ' => 'ἰ', 'Ἱ' => 'ἱ', 'Ἲ' => 'ἲ', 'Ἳ' => 'ἳ', 'Ἴ' => 'ἴ', 'Ἵ' => 'ἵ', 'Ἶ' => 'ἶ', 'Ἷ' => 'ἷ', 'Ὀ' => 'ὀ', 'Ὁ' => 'ὁ', 'Ὂ' => 'ὂ', 'Ὃ' => 'ὃ', 'Ὄ' => 'ὄ', 'Ὅ' => 'ὅ', 'Ὑ' => 'ὑ', 'Ὓ' => 'ὓ', 'Ὕ' => 'ὕ', 'Ὗ' => 'ὗ', 'Ὠ' => 'ὠ', 'Ὡ' => 'ὡ', 'Ὢ' => 'ὢ', 'Ὣ' => 'ὣ', 'Ὤ' => 'ὤ', 'Ὥ' => 'ὥ', 'Ὦ' => 'ὦ', 'Ὧ' => 'ὧ', 'ᾈ' => 'ᾀ', 'ᾉ' => 'ᾁ', 'ᾊ' => 'ᾂ', 'ᾋ' => 'ᾃ', 'ᾌ' => 'ᾄ', 'ᾍ' => 'ᾅ', 'ᾎ' => 'ᾆ', 'ᾏ' => 'ᾇ', 'ᾘ' => 'ᾐ', 'ᾙ' => 'ᾑ', 'ᾚ' => 'ᾒ', 'ᾛ' => 'ᾓ', 'ᾜ' => 'ᾔ', 'ᾝ' => 'ᾕ', 'ᾞ' => 'ᾖ', 'ᾟ' => 'ᾗ', 'ᾨ' => 'ᾠ', 'ᾩ' => 'ᾡ', 'ᾪ' => 'ᾢ', 'ᾫ' => 'ᾣ', 'ᾬ' => 'ᾤ', 'ᾭ' => 'ᾥ', 'ᾮ' => 'ᾦ', 'ᾯ' => 'ᾧ', 'Ᾰ' => 'ᾰ', 'Ᾱ' => 'ᾱ', 'Ὰ' => 'ὰ', 'Ά' => 'ά', 'ᾼ' => 'ᾳ', 'Ὲ' => 'ὲ', 'Έ' => 'έ', 'Ὴ' => 'ὴ', 'Ή' => 'ή', 'ῌ' => 'ῃ', 'Ῐ' => 'ῐ', 'Ῑ' => 'ῑ', 'Ὶ' => 'ὶ', 'Ί' => 'ί', 'Ῠ' => 'ῠ', 'Ῡ' => 'ῡ', 'Ὺ' => 'ὺ', 'Ύ' => 'ύ', 'Ῥ' => 'ῥ', 'Ὸ' => 'ὸ', 'Ό' => 'ό', 'Ὼ' => 'ὼ', 'Ώ' => 'ώ', 'ῼ' => 'ῳ', 'Ω' => 'ω', 'K' => 'k', 'Å' => 'å', 'Ⅎ' => 'ⅎ', 'Ⅰ' => 'ⅰ', 'Ⅱ' => 'ⅱ', 'Ⅲ' => 'ⅲ', 'Ⅳ' => 'ⅳ', 'Ⅴ' => 'ⅴ', 'Ⅵ' => 'ⅵ', 'Ⅶ' => 'ⅶ', 'Ⅷ' => 'ⅷ', 'Ⅸ' => 'ⅸ', 'Ⅹ' => 'ⅹ', 'Ⅺ' => 'ⅺ', 'Ⅻ' => 'ⅻ', 'Ⅼ' => 'ⅼ', 'Ⅽ' => 'ⅽ', 'Ⅾ' => 'ⅾ', 'Ⅿ' => 'ⅿ', 'Ↄ' => 'ↄ', 'Ⓐ' => 'ⓐ', 'Ⓑ' => 'ⓑ', 'Ⓒ' => 'ⓒ', 'Ⓓ' => 'ⓓ', 'Ⓔ' => 'ⓔ', 'Ⓕ' => 'ⓕ', 'Ⓖ' => 'ⓖ', 'Ⓗ' => 'ⓗ', 'Ⓘ' => 'ⓘ', 'Ⓙ' => 'ⓙ', 'Ⓚ' => 'ⓚ', 'Ⓛ' => 'ⓛ', 'Ⓜ' => 'ⓜ', 'Ⓝ' => 'ⓝ', 'Ⓞ' => 'ⓞ', 'Ⓟ' => 'ⓟ', 'Ⓠ' => 'ⓠ', 'Ⓡ' => 'ⓡ', 'Ⓢ' => 'ⓢ', 'Ⓣ' => 'ⓣ', 'Ⓤ' => 'ⓤ', 'Ⓥ' => 'ⓥ', 'Ⓦ' => 'ⓦ', 'Ⓧ' => 'ⓧ', 'Ⓨ' => 'ⓨ', 'Ⓩ' => 'ⓩ', 'Ⰰ' => 'ⰰ', 'Ⰱ' => 'ⰱ', 'Ⰲ' => 'ⰲ', 'Ⰳ' => 'ⰳ', 'Ⰴ' => 'ⰴ', 'Ⰵ' => 'ⰵ', 'Ⰶ' => 'ⰶ', 'Ⰷ' => 'ⰷ', 'Ⰸ' => 'ⰸ', 'Ⰹ' => 'ⰹ', 'Ⰺ' => 'ⰺ', 'Ⰻ' => 'ⰻ', 'Ⰼ' => 'ⰼ', 'Ⰽ' => 'ⰽ', 'Ⰾ' => 'ⰾ', 'Ⰿ' => 'ⰿ', 'Ⱀ' => 'ⱀ', 'Ⱁ' => 'ⱁ', 'Ⱂ' => 'ⱂ', 'Ⱃ' => 'ⱃ', 'Ⱄ' => 'ⱄ', 'Ⱅ' => 'ⱅ', 'Ⱆ' => 'ⱆ', 'Ⱇ' => 'ⱇ', 'Ⱈ' => 'ⱈ', 'Ⱉ' => 'ⱉ', 'Ⱊ' => 'ⱊ', 'Ⱋ' => 'ⱋ', 'Ⱌ' => 'ⱌ', 'Ⱍ' => 'ⱍ', 'Ⱎ' => 'ⱎ', 'Ⱏ' => 'ⱏ', 'Ⱐ' => 'ⱐ', 'Ⱑ' => 'ⱑ', 'Ⱒ' => 'ⱒ', 'Ⱓ' => 'ⱓ', 'Ⱔ' => 'ⱔ', 'Ⱕ' => 'ⱕ', 'Ⱖ' => 'ⱖ', 'Ⱗ' => 'ⱗ', 'Ⱘ' => 'ⱘ', 'Ⱙ' => 'ⱙ', 'Ⱚ' => 'ⱚ', 'Ⱛ' => 'ⱛ', 'Ⱜ' => 'ⱜ', 'Ⱝ' => 'ⱝ', 'Ⱞ' => 'ⱞ', 'Ⱡ' => 'ⱡ', 'Ɫ' => 'ɫ', 'Ᵽ' => 'ᵽ', 'Ɽ' => 'ɽ', 'Ⱨ' => 'ⱨ', 'Ⱪ' => 'ⱪ', 'Ⱬ' => 'ⱬ', 'Ɑ' => 'ɑ', 'Ɱ' => 'ɱ', 'Ɐ' => 'ɐ', 'Ɒ' => 'ɒ', 'Ⱳ' => 'ⱳ', 'Ⱶ' => 'ⱶ', 'Ȿ' => 'ȿ', 'Ɀ' => 'ɀ', 'Ⲁ' => 'ⲁ', 'Ⲃ' => 'ⲃ', 'Ⲅ' => 'ⲅ', 'Ⲇ' => 'ⲇ', 'Ⲉ' => 'ⲉ', 'Ⲋ' => 'ⲋ', 'Ⲍ' => 'ⲍ', 'Ⲏ' => 'ⲏ', 'Ⲑ' => 'ⲑ', 'Ⲓ' => 'ⲓ', 'Ⲕ' => 'ⲕ', 'Ⲗ' => 'ⲗ', 'Ⲙ' => 'ⲙ', 'Ⲛ' => 'ⲛ', 'Ⲝ' => 'ⲝ', 'Ⲟ' => 'ⲟ', 'Ⲡ' => 'ⲡ', 'Ⲣ' => 'ⲣ', 'Ⲥ' => 'ⲥ', 'Ⲧ' => 'ⲧ', 'Ⲩ' => 'ⲩ', 'Ⲫ' => 'ⲫ', 'Ⲭ' => 'ⲭ', 'Ⲯ' => 'ⲯ', 'Ⲱ' => 'ⲱ', 'Ⲳ' => 'ⲳ', 'Ⲵ' => 'ⲵ', 'Ⲷ' => 'ⲷ', 'Ⲹ' => 'ⲹ', 'Ⲻ' => 'ⲻ', 'Ⲽ' => 'ⲽ', 'Ⲿ' => 'ⲿ', 'Ⳁ' => 'ⳁ', 'Ⳃ' => 'ⳃ', 'Ⳅ' => 'ⳅ', 'Ⳇ' => 'ⳇ', 'Ⳉ' => 'ⳉ', 'Ⳋ' => 'ⳋ', 'Ⳍ' => 'ⳍ', 'Ⳏ' => 'ⳏ', 'Ⳑ' => 'ⳑ', 'Ⳓ' => 'ⳓ', 'Ⳕ' => 'ⳕ', 'Ⳗ' => 'ⳗ', 'Ⳙ' => 'ⳙ', 'Ⳛ' => 'ⳛ', 'Ⳝ' => 'ⳝ', 'Ⳟ' => 'ⳟ', 'Ⳡ' => 'ⳡ', 'Ⳣ' => 'ⳣ', 'Ⳬ' => 'ⳬ', 'Ⳮ' => 'ⳮ', 'Ⳳ' => 'ⳳ', 'Ꙁ' => 'ꙁ', 'Ꙃ' => 'ꙃ', 'Ꙅ' => 'ꙅ', 'Ꙇ' => 'ꙇ', 'Ꙉ' => 'ꙉ', 'Ꙋ' => 'ꙋ', 'Ꙍ' => 'ꙍ', 'Ꙏ' => 'ꙏ', 'Ꙑ' => 'ꙑ', 'Ꙓ' => 'ꙓ', 'Ꙕ' => 'ꙕ', 'Ꙗ' => 'ꙗ', 'Ꙙ' => 'ꙙ', 'Ꙛ' => 'ꙛ', 'Ꙝ' => 'ꙝ', 'Ꙟ' => 'ꙟ', 'Ꙡ' => 'ꙡ', 'Ꙣ' => 'ꙣ', 'Ꙥ' => 'ꙥ', 'Ꙧ' => 'ꙧ', 'Ꙩ' => 'ꙩ', 'Ꙫ' => 'ꙫ', 'Ꙭ' => 'ꙭ', 'Ꚁ' => 'ꚁ', 'Ꚃ' => 'ꚃ', 'Ꚅ' => 'ꚅ', 'Ꚇ' => 'ꚇ', 'Ꚉ' => 'ꚉ', 'Ꚋ' => 'ꚋ', 'Ꚍ' => 'ꚍ', 'Ꚏ' => 'ꚏ', 'Ꚑ' => 'ꚑ', 'Ꚓ' => 'ꚓ', 'Ꚕ' => 'ꚕ', 'Ꚗ' => 'ꚗ', 'Ꚙ' => 'ꚙ', 'Ꚛ' => 'ꚛ', 'Ꜣ' => 'ꜣ', 'Ꜥ' => 'ꜥ', 'Ꜧ' => 'ꜧ', 'Ꜩ' => 'ꜩ', 'Ꜫ' => 'ꜫ', 'Ꜭ' => 'ꜭ', 'Ꜯ' => 'ꜯ', 'Ꜳ' => 'ꜳ', 'Ꜵ' => 'ꜵ', 'Ꜷ' => 'ꜷ', 'Ꜹ' => 'ꜹ', 'Ꜻ' => 'ꜻ', 'Ꜽ' => 'ꜽ', 'Ꜿ' => 'ꜿ', 'Ꝁ' => 'ꝁ', 'Ꝃ' => 'ꝃ', 'Ꝅ' => 'ꝅ', 'Ꝇ' => 'ꝇ', 'Ꝉ' => 'ꝉ', 'Ꝋ' => 'ꝋ', 'Ꝍ' => 'ꝍ', 'Ꝏ' => 'ꝏ', 'Ꝑ' => 'ꝑ', 'Ꝓ' => 'ꝓ', 'Ꝕ' => 'ꝕ', 'Ꝗ' => 'ꝗ', 'Ꝙ' => 'ꝙ', 'Ꝛ' => 'ꝛ', 'Ꝝ' => 'ꝝ', 'Ꝟ' => 'ꝟ', 'Ꝡ' => 'ꝡ', 'Ꝣ' => 'ꝣ', 'Ꝥ' => 'ꝥ', 'Ꝧ' => 'ꝧ', 'Ꝩ' => 'ꝩ', 'Ꝫ' => 'ꝫ', 'Ꝭ' => 'ꝭ', 'Ꝯ' => 'ꝯ', 'Ꝺ' => 'ꝺ', 'Ꝼ' => 'ꝼ', 'Ᵹ' => 'ᵹ', 'Ꝿ' => 'ꝿ', 'Ꞁ' => 'ꞁ', 'Ꞃ' => 'ꞃ', 'Ꞅ' => 'ꞅ', 'Ꞇ' => 'ꞇ', 'Ꞌ' => 'ꞌ', 'Ɥ' => 'ɥ', 'Ꞑ' => 'ꞑ', 'Ꞓ' => 'ꞓ', 'Ꞗ' => 'ꞗ', 'Ꞙ' => 'ꞙ', 'Ꞛ' => 'ꞛ', 'Ꞝ' => 'ꞝ', 'Ꞟ' => 'ꞟ', 'Ꞡ' => 'ꞡ', 'Ꞣ' => 'ꞣ', 'Ꞥ' => 'ꞥ', 'Ꞧ' => 'ꞧ', 'Ꞩ' => 'ꞩ', 'Ɦ' => 'ɦ', 'Ɜ' => 'ɜ', 'Ɡ' => 'ɡ', 'Ɬ' => 'ɬ', 'Ɪ' => 'ɪ', 'Ʞ' => 'ʞ', 'Ʇ' => 'ʇ', 'Ʝ' => 'ʝ', 'Ꭓ' => 'ꭓ', 'Ꞵ' => 'ꞵ', 'Ꞷ' => 'ꞷ', 'Ꞹ' => 'ꞹ', 'Ꞻ' => 'ꞻ', 'Ꞽ' => 'ꞽ', 'Ꞿ' => 'ꞿ', 'Ꟃ' => 'ꟃ', 'Ꞔ' => 'ꞔ', 'Ʂ' => 'ʂ', 'Ᶎ' => 'ᶎ', 'Ꟈ' => 'ꟈ', 'Ꟊ' => 'ꟊ', 'Ꟶ' => 'ꟶ', 'A' => 'a', 'B' => 'b', 'C' => 'c', 'D' => 'd', 'E' => 'e', 'F' => 'f', 'G' => 'g', 'H' => 'h', 'I' => 'i', 'J' => 'j', 'K' => 'k', 'L' => 'l', 'M' => 'm', 'N' => 'n', 'O' => 'o', 'P' => 'p', 'Q' => 'q', 'R' => 'r', 'S' => 's', 'T' => 't', 'U' => 'u', 'V' => 'v', 'W' => 'w', 'X' => 'x', 'Y' => 'y', 'Z' => 'z', '𐐀' => '𐐨', '𐐁' => '𐐩', '𐐂' => '𐐪', '𐐃' => '𐐫', '𐐄' => '𐐬', '𐐅' => '𐐭', '𐐆' => '𐐮', '𐐇' => '𐐯', '𐐈' => '𐐰', '𐐉' => '𐐱', '𐐊' => '𐐲', '𐐋' => '𐐳', '𐐌' => '𐐴', '𐐍' => '𐐵', '𐐎' => '𐐶', '𐐏' => '𐐷', '𐐐' => '𐐸', '𐐑' => '𐐹', '𐐒' => '𐐺', '𐐓' => '𐐻', '𐐔' => '𐐼', '𐐕' => '𐐽', '𐐖' => '𐐾', '𐐗' => '𐐿', '𐐘' => '𐑀', '𐐙' => '𐑁', '𐐚' => '𐑂', '𐐛' => '𐑃', '𐐜' => '𐑄', '𐐝' => '𐑅', '𐐞' => '𐑆', '𐐟' => '𐑇', '𐐠' => '𐑈', '𐐡' => '𐑉', '𐐢' => '𐑊', '𐐣' => '𐑋', '𐐤' => '𐑌', '𐐥' => '𐑍', '𐐦' => '𐑎', '𐐧' => '𐑏', '𐒰' => '𐓘', '𐒱' => '𐓙', '𐒲' => '𐓚', '𐒳' => '𐓛', '𐒴' => '𐓜', '𐒵' => '𐓝', '𐒶' => '𐓞', '𐒷' => '𐓟', '𐒸' => '𐓠', '𐒹' => '𐓡', '𐒺' => '𐓢', '𐒻' => '𐓣', '𐒼' => '𐓤', '𐒽' => '𐓥', '𐒾' => '𐓦', '𐒿' => '𐓧', '𐓀' => '𐓨', '𐓁' => '𐓩', '𐓂' => '𐓪', '𐓃' => '𐓫', '𐓄' => '𐓬', '𐓅' => '𐓭', '𐓆' => '𐓮', '𐓇' => '𐓯', '𐓈' => '𐓰', '𐓉' => '𐓱', '𐓊' => '𐓲', '𐓋' => '𐓳', '𐓌' => '𐓴', '𐓍' => '𐓵', '𐓎' => '𐓶', '𐓏' => '𐓷', '𐓐' => '𐓸', '𐓑' => '𐓹', '𐓒' => '𐓺', '𐓓' => '𐓻', '𐲀' => '𐳀', '𐲁' => '𐳁', '𐲂' => '𐳂', '𐲃' => '𐳃', '𐲄' => '𐳄', '𐲅' => '𐳅', '𐲆' => '𐳆', '𐲇' => '𐳇', '𐲈' => '𐳈', '𐲉' => '𐳉', '𐲊' => '𐳊', '𐲋' => '𐳋', '𐲌' => '𐳌', '𐲍' => '𐳍', '𐲎' => '𐳎', '𐲏' => '𐳏', '𐲐' => '𐳐', '𐲑' => '𐳑', '𐲒' => '𐳒', '𐲓' => '𐳓', '𐲔' => '𐳔', '𐲕' => '𐳕', '𐲖' => '𐳖', '𐲗' => '𐳗', '𐲘' => '𐳘', '𐲙' => '𐳙', '𐲚' => '𐳚', '𐲛' => '𐳛', '𐲜' => '𐳜', '𐲝' => '𐳝', '𐲞' => '𐳞', '𐲟' => '𐳟', '𐲠' => '𐳠', '𐲡' => '𐳡', '𐲢' => '𐳢', '𐲣' => '𐳣', '𐲤' => '𐳤', '𐲥' => '𐳥', '𐲦' => '𐳦', '𐲧' => '𐳧', '𐲨' => '𐳨', '𐲩' => '𐳩', '𐲪' => '𐳪', '𐲫' => '𐳫', '𐲬' => '𐳬', '𐲭' => '𐳭', '𐲮' => '𐳮', '𐲯' => '𐳯', '𐲰' => '𐳰', '𐲱' => '𐳱', '𐲲' => '𐳲', '𑢠' => '𑣀', '𑢡' => '𑣁', '𑢢' => '𑣂', '𑢣' => '𑣃', '𑢤' => '𑣄', '𑢥' => '𑣅', '𑢦' => '𑣆', '𑢧' => '𑣇', '𑢨' => '𑣈', '𑢩' => '𑣉', '𑢪' => '𑣊', '𑢫' => '𑣋', '𑢬' => '𑣌', '𑢭' => '𑣍', '𑢮' => '𑣎', '𑢯' => '𑣏', '𑢰' => '𑣐', '𑢱' => '𑣑', '𑢲' => '𑣒', '𑢳' => '𑣓', '𑢴' => '𑣔', '𑢵' => '𑣕', '𑢶' => '𑣖', '𑢷' => '𑣗', '𑢸' => '𑣘', '𑢹' => '𑣙', '𑢺' => '𑣚', '𑢻' => '𑣛', '𑢼' => '𑣜', '𑢽' => '𑣝', '𑢾' => '𑣞', '𑢿' => '𑣟', '𖹀' => '𖹠', '𖹁' => '𖹡', '𖹂' => '𖹢', '𖹃' => '𖹣', '𖹄' => '𖹤', '𖹅' => '𖹥', '𖹆' => '𖹦', '𖹇' => '𖹧', '𖹈' => '𖹨', '𖹉' => '𖹩', '𖹊' => '𖹪', '𖹋' => '𖹫', '𖹌' => '𖹬', '𖹍' => '𖹭', '𖹎' => '𖹮', '𖹏' => '𖹯', '𖹐' => '𖹰', '𖹑' => '𖹱', '𖹒' => '𖹲', '𖹓' => '𖹳', '𖹔' => '𖹴', '𖹕' => '𖹵', '𖹖' => '𖹶', '𖹗' => '𖹷', '𖹘' => '𖹸', '𖹙' => '𖹹', '𖹚' => '𖹺', '𖹛' => '𖹻', '𖹜' => '𖹼', '𖹝' => '𖹽', '𖹞' => '𖹾', '𖹟' => '𖹿', '𞤀' => '𞤢', '𞤁' => '𞤣', '𞤂' => '𞤤', '𞤃' => '𞤥', '𞤄' => '𞤦', '𞤅' => '𞤧', '𞤆' => '𞤨', '𞤇' => '𞤩', '𞤈' => '𞤪', '𞤉' => '𞤫', '𞤊' => '𞤬', '𞤋' => '𞤭', '𞤌' => '𞤮', '𞤍' => '𞤯', '𞤎' => '𞤰', '𞤏' => '𞤱', '𞤐' => '𞤲', '𞤑' => '𞤳', '𞤒' => '𞤴', '𞤓' => '𞤵', '𞤔' => '𞤶', '𞤕' => '𞤷', '𞤖' => '𞤸', '𞤗' => '𞤹', '𞤘' => '𞤺', '𞤙' => '𞤻', '𞤚' => '𞤼', '𞤛' => '𞤽', '𞤜' => '𞤾', '𞤝' => '𞤿', '𞤞' => '𞥀', '𞤟' => '𞥁', '𞤠' => '𞥂', '𞤡' => '𞥃', ); vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php000064400000014071147400355670022440 0ustar00 'A', 'b' => 'B', 'c' => 'C', 'd' => 'D', 'e' => 'E', 'f' => 'F', 'g' => 'G', 'h' => 'H', 'i' => 'I', 'j' => 'J', 'k' => 'K', 'l' => 'L', 'm' => 'M', 'n' => 'N', 'o' => 'O', 'p' => 'P', 'q' => 'Q', 'r' => 'R', 's' => 'S', 't' => 'T', 'u' => 'U', 'v' => 'V', 'w' => 'W', 'x' => 'X', 'y' => 'Y', 'z' => 'Z', 'µ' => 'Μ', 'à' => 'À', 'á' => 'Á', 'â' => 'Â', 'ã' => 'Ã', 'ä' => 'Ä', 'å' => 'Å', 'æ' => 'Æ', 'ç' => 'Ç', 'è' => 'È', 'é' => 'É', 'ê' => 'Ê', 'ë' => 'Ë', 'ì' => 'Ì', 'í' => 'Í', 'î' => 'Î', 'ï' => 'Ï', 'ð' => 'Ð', 'ñ' => 'Ñ', 'ò' => 'Ò', 'ó' => 'Ó', 'ô' => 'Ô', 'õ' => 'Õ', 'ö' => 'Ö', 'ø' => 'Ø', 'ù' => 'Ù', 'ú' => 'Ú', 'û' => 'Û', 'ü' => 'Ü', 'ý' => 'Ý', 'þ' => 'Þ', 'ÿ' => 'Ÿ', 'ā' => 'Ā', 'ă' => 'Ă', 'ą' => 'Ą', 'ć' => 'Ć', 'ĉ' => 'Ĉ', 'ċ' => 'Ċ', 'č' => 'Č', 'ď' => 'Ď', 'đ' => 'Đ', 'ē' => 'Ē', 'ĕ' => 'Ĕ', 'ė' => 'Ė', 'ę' => 'Ę', 'ě' => 'Ě', 'ĝ' => 'Ĝ', 'ğ' => 'Ğ', 'ġ' => 'Ġ', 'ģ' => 'Ģ', 'ĥ' => 'Ĥ', 'ħ' => 'Ħ', 'ĩ' => 'Ĩ', 'ī' => 'Ī', 'ĭ' => 'Ĭ', 'į' => 'Į', 'ı' => 'I', 'ij' => 'IJ', 'ĵ' => 'Ĵ', 'ķ' => 'Ķ', 'ĺ' => 'Ĺ', 'ļ' => 'Ļ', 'ľ' => 'Ľ', 'ŀ' => 'Ŀ', 'ł' => 'Ł', 'ń' => 'Ń', 'ņ' => 'Ņ', 'ň' => 'Ň', 'ŋ' => 'Ŋ', 'ō' => 'Ō', 'ŏ' => 'Ŏ', 'ő' => 'Ő', 'œ' => 'Œ', 'ŕ' => 'Ŕ', 'ŗ' => 'Ŗ', 'ř' => 'Ř', 'ś' => 'Ś', 'ŝ' => 'Ŝ', 'ş' => 'Ş', 'š' => 'Š', 'ţ' => 'Ţ', 'ť' => 'Ť', 'ŧ' => 'Ŧ', 'ũ' => 'Ũ', 'ū' => 'Ū', 'ŭ' => 'Ŭ', 'ů' => 'Ů', 'ű' => 'Ű', 'ų' => 'Ų', 'ŵ' => 'Ŵ', 'ŷ' => 'Ŷ', 'ź' => 'Ź', 'ż' => 'Ż', 'ž' => 'Ž', 'ſ' => 'S', 'ƀ' => 'Ƀ', 'ƃ' => 'Ƃ', 'ƅ' => 'Ƅ', 'ƈ' => 'Ƈ', 'ƌ' => 'Ƌ', 'ƒ' => 'Ƒ', 'ƕ' => 'Ƕ', 'ƙ' => 'Ƙ', 'ƚ' => 'Ƚ', 'ƞ' => 'Ƞ', 'ơ' => 'Ơ', 'ƣ' => 'Ƣ', 'ƥ' => 'Ƥ', 'ƨ' => 'Ƨ', 'ƭ' => 'Ƭ', 'ư' => 'Ư', 'ƴ' => 'Ƴ', 'ƶ' => 'Ƶ', 'ƹ' => 'Ƹ', 'ƽ' => 'Ƽ', 'ƿ' => 'Ƿ', 'Dž' => 'DŽ', 'dž' => 'DŽ', 'Lj' => 'LJ', 'lj' => 'LJ', 'Nj' => 'NJ', 'nj' => 'NJ', 'ǎ' => 'Ǎ', 'ǐ' => 'Ǐ', 'ǒ' => 'Ǒ', 'ǔ' => 'Ǔ', 'ǖ' => 'Ǖ', 'ǘ' => 'Ǘ', 'ǚ' => 'Ǚ', 'ǜ' => 'Ǜ', 'ǝ' => 'Ǝ', 'ǟ' => 'Ǟ', 'ǡ' => 'Ǡ', 'ǣ' => 'Ǣ', 'ǥ' => 'Ǥ', 'ǧ' => 'Ǧ', 'ǩ' => 'Ǩ', 'ǫ' => 'Ǫ', 'ǭ' => 'Ǭ', 'ǯ' => 'Ǯ', 'Dz' => 'DZ', 'dz' => 'DZ', 'ǵ' => 'Ǵ', 'ǹ' => 'Ǹ', 'ǻ' => 'Ǻ', 'ǽ' => 'Ǽ', 'ǿ' => 'Ǿ', 'ȁ' => 'Ȁ', 'ȃ' => 'Ȃ', 'ȅ' => 'Ȅ', 'ȇ' => 'Ȇ', 'ȉ' => 'Ȉ', 'ȋ' => 'Ȋ', 'ȍ' => 'Ȍ', 'ȏ' => 'Ȏ', 'ȑ' => 'Ȑ', 'ȓ' => 'Ȓ', 'ȕ' => 'Ȕ', 'ȗ' => 'Ȗ', 'ș' => 'Ș', 'ț' => 'Ț', 'ȝ' => 'Ȝ', 'ȟ' => 'Ȟ', 'ȣ' => 'Ȣ', 'ȥ' => 'Ȥ', 'ȧ' => 'Ȧ', 'ȩ' => 'Ȩ', 'ȫ' => 'Ȫ', 'ȭ' => 'Ȭ', 'ȯ' => 'Ȯ', 'ȱ' => 'Ȱ', 'ȳ' => 'Ȳ', 'ȼ' => 'Ȼ', 'ȿ' => 'Ȿ', 'ɀ' => 'Ɀ', 'ɂ' => 'Ɂ', 'ɇ' => 'Ɇ', 'ɉ' => 'Ɉ', 'ɋ' => 'Ɋ', 'ɍ' => 'Ɍ', 'ɏ' => 'Ɏ', 'ɐ' => 'Ɐ', 'ɑ' => 'Ɑ', 'ɒ' => 'Ɒ', 'ɓ' => 'Ɓ', 'ɔ' => 'Ɔ', 'ɖ' => 'Ɖ', 'ɗ' => 'Ɗ', 'ə' => 'Ə', 'ɛ' => 'Ɛ', 'ɜ' => 'Ɜ', 'ɠ' => 'Ɠ', 'ɡ' => 'Ɡ', 'ɣ' => 'Ɣ', 'ɥ' => 'Ɥ', 'ɦ' => 'Ɦ', 'ɨ' => 'Ɨ', 'ɩ' => 'Ɩ', 'ɪ' => 'Ɪ', 'ɫ' => 'Ɫ', 'ɬ' => 'Ɬ', 'ɯ' => 'Ɯ', 'ɱ' => 'Ɱ', 'ɲ' => 'Ɲ', 'ɵ' => 'Ɵ', 'ɽ' => 'Ɽ', 'ʀ' => 'Ʀ', 'ʂ' => 'Ʂ', 'ʃ' => 'Ʃ', 'ʇ' => 'Ʇ', 'ʈ' => 'Ʈ', 'ʉ' => 'Ʉ', 'ʊ' => 'Ʊ', 'ʋ' => 'Ʋ', 'ʌ' => 'Ʌ', 'ʒ' => 'Ʒ', 'ʝ' => 'Ʝ', 'ʞ' => 'Ʞ', 'ͅ' => 'Ι', 'ͱ' => 'Ͱ', 'ͳ' => 'Ͳ', 'ͷ' => 'Ͷ', 'ͻ' => 'Ͻ', 'ͼ' => 'Ͼ', 'ͽ' => 'Ͽ', 'ά' => 'Ά', 'έ' => 'Έ', 'ή' => 'Ή', 'ί' => 'Ί', 'α' => 'Α', 'β' => 'Β', 'γ' => 'Γ', 'δ' => 'Δ', 'ε' => 'Ε', 'ζ' => 'Ζ', 'η' => 'Η', 'θ' => 'Θ', 'ι' => 'Ι', 'κ' => 'Κ', 'λ' => 'Λ', 'μ' => 'Μ', 'ν' => 'Ν', 'ξ' => 'Ξ', 'ο' => 'Ο', 'π' => 'Π', 'ρ' => 'Ρ', 'ς' => 'Σ', 'σ' => 'Σ', 'τ' => 'Τ', 'υ' => 'Υ', 'φ' => 'Φ', 'χ' => 'Χ', 'ψ' => 'Ψ', 'ω' => 'Ω', 'ϊ' => 'Ϊ', 'ϋ' => 'Ϋ', 'ό' => 'Ό', 'ύ' => 'Ύ', 'ώ' => 'Ώ', 'ϐ' => 'Β', 'ϑ' => 'Θ', 'ϕ' => 'Φ', 'ϖ' => 'Π', 'ϗ' => 'Ϗ', 'ϙ' => 'Ϙ', 'ϛ' => 'Ϛ', 'ϝ' => 'Ϝ', 'ϟ' => 'Ϟ', 'ϡ' => 'Ϡ', 'ϣ' => 'Ϣ', 'ϥ' => 'Ϥ', 'ϧ' => 'Ϧ', 'ϩ' => 'Ϩ', 'ϫ' => 'Ϫ', 'ϭ' => 'Ϭ', 'ϯ' => 'Ϯ', 'ϰ' => 'Κ', 'ϱ' => 'Ρ', 'ϲ' => 'Ϲ', 'ϳ' => 'Ϳ', 'ϵ' => 'Ε', 'ϸ' => 'Ϸ', 'ϻ' => 'Ϻ', 'а' => 'А', 'б' => 'Б', 'в' => 'В', 'г' => 'Г', 'д' => 'Д', 'е' => 'Е', 'ж' => 'Ж', 'з' => 'З', 'и' => 'И', 'й' => 'Й', 'к' => 'К', 'л' => 'Л', 'м' => 'М', 'н' => 'Н', 'о' => 'О', 'п' => 'П', 'р' => 'Р', 'с' => 'С', 'т' => 'Т', 'у' => 'У', 'ф' => 'Ф', 'х' => 'Х', 'ц' => 'Ц', 'ч' => 'Ч', 'ш' => 'Ш', 'щ' => 'Щ', 'ъ' => 'Ъ', 'ы' => 'Ы', 'ь' => 'Ь', 'э' => 'Э', 'ю' => 'Ю', 'я' => 'Я', 'ѐ' => 'Ѐ', 'ё' => 'Ё', 'ђ' => 'Ђ', 'ѓ' => 'Ѓ', 'є' => 'Є', 'ѕ' => 'Ѕ', 'і' => 'І', 'ї' => 'Ї', 'ј' => 'Ј', 'љ' => 'Љ', 'њ' => 'Њ', 'ћ' => 'Ћ', 'ќ' => 'Ќ', 'ѝ' => 'Ѝ', 'ў' => 'Ў', 'џ' => 'Џ', 'ѡ' => 'Ѡ', 'ѣ' => 'Ѣ', 'ѥ' => 'Ѥ', 'ѧ' => 'Ѧ', 'ѩ' => 'Ѩ', 'ѫ' => 'Ѫ', 'ѭ' => 'Ѭ', 'ѯ' => 'Ѯ', 'ѱ' => 'Ѱ', 'ѳ' => 'Ѳ', 'ѵ' => 'Ѵ', 'ѷ' => 'Ѷ', 'ѹ' => 'Ѹ', 'ѻ' => 'Ѻ', 'ѽ' => 'Ѽ', 'ѿ' => 'Ѿ', 'ҁ' => 'Ҁ', 'ҋ' => 'Ҋ', 'ҍ' => 'Ҍ', 'ҏ' => 'Ҏ', 'ґ' => 'Ґ', 'ғ' => 'Ғ', 'ҕ' => 'Ҕ', 'җ' => 'Җ', 'ҙ' => 'Ҙ', 'қ' => 'Қ', 'ҝ' => 'Ҝ', 'ҟ' => 'Ҟ', 'ҡ' => 'Ҡ', 'ң' => 'Ң', 'ҥ' => 'Ҥ', 'ҧ' => 'Ҧ', 'ҩ' => 'Ҩ', 'ҫ' => 'Ҫ', 'ҭ' => 'Ҭ', 'ү' => 'Ү', 'ұ' => 'Ұ', 'ҳ' => 'Ҳ', 'ҵ' => 'Ҵ', 'ҷ' => 'Ҷ', 'ҹ' => 'Ҹ', 'һ' => 'Һ', 'ҽ' => 'Ҽ', 'ҿ' => 'Ҿ', 'ӂ' => 'Ӂ', 'ӄ' => 'Ӄ', 'ӆ' => 'Ӆ', 'ӈ' => 'Ӈ', 'ӊ' => 'Ӊ', 'ӌ' => 'Ӌ', 'ӎ' => 'Ӎ', 'ӏ' => 'Ӏ', 'ӑ' => 'Ӑ', 'ӓ' => 'Ӓ', 'ӕ' => 'Ӕ', 'ӗ' => 'Ӗ', 'ә' => 'Ә', 'ӛ' => 'Ӛ', 'ӝ' => 'Ӝ', 'ӟ' => 'Ӟ', 'ӡ' => 'Ӡ', 'ӣ' => 'Ӣ', 'ӥ' => 'Ӥ', 'ӧ' => 'Ӧ', 'ө' => 'Ө', 'ӫ' => 'Ӫ', 'ӭ' => 'Ӭ', 'ӯ' => 'Ӯ', 'ӱ' => 'Ӱ', 'ӳ' => 'Ӳ', 'ӵ' => 'Ӵ', 'ӷ' => 'Ӷ', 'ӹ' => 'Ӹ', 'ӻ' => 'Ӻ', 'ӽ' => 'Ӽ', 'ӿ' => 'Ӿ', 'ԁ' => 'Ԁ', 'ԃ' => 'Ԃ', 'ԅ' => 'Ԅ', 'ԇ' => 'Ԇ', 'ԉ' => 'Ԉ', 'ԋ' => 'Ԋ', 'ԍ' => 'Ԍ', 'ԏ' => 'Ԏ', 'ԑ' => 'Ԑ', 'ԓ' => 'Ԓ', 'ԕ' => 'Ԕ', 'ԗ' => 'Ԗ', 'ԙ' => 'Ԙ', 'ԛ' => 'Ԛ', 'ԝ' => 'Ԝ', 'ԟ' => 'Ԟ', 'ԡ' => 'Ԡ', 'ԣ' => 'Ԣ', 'ԥ' => 'Ԥ', 'ԧ' => 'Ԧ', 'ԩ' => 'Ԩ', 'ԫ' => 'Ԫ', 'ԭ' => 'Ԭ', 'ԯ' => 'Ԯ', 'ա' => 'Ա', 'բ' => 'Բ', 'գ' => 'Գ', 'դ' => 'Դ', 'ե' => 'Ե', 'զ' => 'Զ', 'է' => 'Է', 'ը' => 'Ը', 'թ' => 'Թ', 'ժ' => 'Ժ', 'ի' => 'Ի', 'լ' => 'Լ', 'խ' => 'Խ', 'ծ' => 'Ծ', 'կ' => 'Կ', 'հ' => 'Հ', 'ձ' => 'Ձ', 'ղ' => 'Ղ', 'ճ' => 'Ճ', 'մ' => 'Մ', 'յ' => 'Յ', 'ն' => 'Ն', 'շ' => 'Շ', 'ո' => 'Ո', 'չ' => 'Չ', 'պ' => 'Պ', 'ջ' => 'Ջ', 'ռ' => 'Ռ', 'ս' => 'Ս', 'վ' => 'Վ', 'տ' => 'Տ', 'ր' => 'Ր', 'ց' => 'Ց', 'ւ' => 'Ւ', 'փ' => 'Փ', 'ք' => 'Ք', 'օ' => 'Օ', 'ֆ' => 'Ֆ', 'ა' => 'Ა', 'ბ' => 'Ბ', 'გ' => 'Გ', 'დ' => 'Დ', 'ე' => 'Ე', 'ვ' => 'Ვ', 'ზ' => 'Ზ', 'თ' => 'Თ', 'ი' => 'Ი', 'კ' => 'Კ', 'ლ' => 'Ლ', 'მ' => 'Მ', 'ნ' => 'Ნ', 'ო' => 'Ო', 'პ' => 'Პ', 'ჟ' => 'Ჟ', 'რ' => 'Რ', 'ს' => 'Ს', 'ტ' => 'Ტ', 'უ' => 'Უ', 'ფ' => 'Ფ', 'ქ' => 'Ქ', 'ღ' => 'Ღ', 'ყ' => 'Ყ', 'შ' => 'Შ', 'ჩ' => 'Ჩ', 'ც' => 'Ც', 'ძ' => 'Ძ', 'წ' => 'Წ', 'ჭ' => 'Ჭ', 'ხ' => 'Ხ', 'ჯ' => 'Ჯ', 'ჰ' => 'Ჰ', 'ჱ' => 'Ჱ', 'ჲ' => 'Ჲ', 'ჳ' => 'Ჳ', 'ჴ' => 'Ჴ', 'ჵ' => 'Ჵ', 'ჶ' => 'Ჶ', 'ჷ' => 'Ჷ', 'ჸ' => 'Ჸ', 'ჹ' => 'Ჹ', 'ჺ' => 'Ჺ', 'ჽ' => 'Ჽ', 'ჾ' => 'Ჾ', 'ჿ' => 'Ჿ', 'ᏸ' => 'Ᏸ', 'ᏹ' => 'Ᏹ', 'ᏺ' => 'Ᏺ', 'ᏻ' => 'Ᏻ', 'ᏼ' => 'Ᏼ', 'ᏽ' => 'Ᏽ', 'ᲀ' => 'В', 'ᲁ' => 'Д', 'ᲂ' => 'О', 'ᲃ' => 'С', 'ᲄ' => 'Т', 'ᲅ' => 'Т', 'ᲆ' => 'Ъ', 'ᲇ' => 'Ѣ', 'ᲈ' => 'Ꙋ', 'ᵹ' => 'Ᵹ', 'ᵽ' => 'Ᵽ', 'ᶎ' => 'Ᶎ', 'ḁ' => 'Ḁ', 'ḃ' => 'Ḃ', 'ḅ' => 'Ḅ', 'ḇ' => 'Ḇ', 'ḉ' => 'Ḉ', 'ḋ' => 'Ḋ', 'ḍ' => 'Ḍ', 'ḏ' => 'Ḏ', 'ḑ' => 'Ḑ', 'ḓ' => 'Ḓ', 'ḕ' => 'Ḕ', 'ḗ' => 'Ḗ', 'ḙ' => 'Ḙ', 'ḛ' => 'Ḛ', 'ḝ' => 'Ḝ', 'ḟ' => 'Ḟ', 'ḡ' => 'Ḡ', 'ḣ' => 'Ḣ', 'ḥ' => 'Ḥ', 'ḧ' => 'Ḧ', 'ḩ' => 'Ḩ', 'ḫ' => 'Ḫ', 'ḭ' => 'Ḭ', 'ḯ' => 'Ḯ', 'ḱ' => 'Ḱ', 'ḳ' => 'Ḳ', 'ḵ' => 'Ḵ', 'ḷ' => 'Ḷ', 'ḹ' => 'Ḹ', 'ḻ' => 'Ḻ', 'ḽ' => 'Ḽ', 'ḿ' => 'Ḿ', 'ṁ' => 'Ṁ', 'ṃ' => 'Ṃ', 'ṅ' => 'Ṅ', 'ṇ' => 'Ṇ', 'ṉ' => 'Ṉ', 'ṋ' => 'Ṋ', 'ṍ' => 'Ṍ', 'ṏ' => 'Ṏ', 'ṑ' => 'Ṑ', 'ṓ' => 'Ṓ', 'ṕ' => 'Ṕ', 'ṗ' => 'Ṗ', 'ṙ' => 'Ṙ', 'ṛ' => 'Ṛ', 'ṝ' => 'Ṝ', 'ṟ' => 'Ṟ', 'ṡ' => 'Ṡ', 'ṣ' => 'Ṣ', 'ṥ' => 'Ṥ', 'ṧ' => 'Ṧ', 'ṩ' => 'Ṩ', 'ṫ' => 'Ṫ', 'ṭ' => 'Ṭ', 'ṯ' => 'Ṯ', 'ṱ' => 'Ṱ', 'ṳ' => 'Ṳ', 'ṵ' => 'Ṵ', 'ṷ' => 'Ṷ', 'ṹ' => 'Ṹ', 'ṻ' => 'Ṻ', 'ṽ' => 'Ṽ', 'ṿ' => 'Ṿ', 'ẁ' => 'Ẁ', 'ẃ' => 'Ẃ', 'ẅ' => 'Ẅ', 'ẇ' => 'Ẇ', 'ẉ' => 'Ẉ', 'ẋ' => 'Ẋ', 'ẍ' => 'Ẍ', 'ẏ' => 'Ẏ', 'ẑ' => 'Ẑ', 'ẓ' => 'Ẓ', 'ẕ' => 'Ẕ', 'ẛ' => 'Ṡ', 'ạ' => 'Ạ', 'ả' => 'Ả', 'ấ' => 'Ấ', 'ầ' => 'Ầ', 'ẩ' => 'Ẩ', 'ẫ' => 'Ẫ', 'ậ' => 'Ậ', 'ắ' => 'Ắ', 'ằ' => 'Ằ', 'ẳ' => 'Ẳ', 'ẵ' => 'Ẵ', 'ặ' => 'Ặ', 'ẹ' => 'Ẹ', 'ẻ' => 'Ẻ', 'ẽ' => 'Ẽ', 'ế' => 'Ế', 'ề' => 'Ề', 'ể' => 'Ể', 'ễ' => 'Ễ', 'ệ' => 'Ệ', 'ỉ' => 'Ỉ', 'ị' => 'Ị', 'ọ' => 'Ọ', 'ỏ' => 'Ỏ', 'ố' => 'Ố', 'ồ' => 'Ồ', 'ổ' => 'Ổ', 'ỗ' => 'Ỗ', 'ộ' => 'Ộ', 'ớ' => 'Ớ', 'ờ' => 'Ờ', 'ở' => 'Ở', 'ỡ' => 'Ỡ', 'ợ' => 'Ợ', 'ụ' => 'Ụ', 'ủ' => 'Ủ', 'ứ' => 'Ứ', 'ừ' => 'Ừ', 'ử' => 'Ử', 'ữ' => 'Ữ', 'ự' => 'Ự', 'ỳ' => 'Ỳ', 'ỵ' => 'Ỵ', 'ỷ' => 'Ỷ', 'ỹ' => 'Ỹ', 'ỻ' => 'Ỻ', 'ỽ' => 'Ỽ', 'ỿ' => 'Ỿ', 'ἀ' => 'Ἀ', 'ἁ' => 'Ἁ', 'ἂ' => 'Ἂ', 'ἃ' => 'Ἃ', 'ἄ' => 'Ἄ', 'ἅ' => 'Ἅ', 'ἆ' => 'Ἆ', 'ἇ' => 'Ἇ', 'ἐ' => 'Ἐ', 'ἑ' => 'Ἑ', 'ἒ' => 'Ἒ', 'ἓ' => 'Ἓ', 'ἔ' => 'Ἔ', 'ἕ' => 'Ἕ', 'ἠ' => 'Ἠ', 'ἡ' => 'Ἡ', 'ἢ' => 'Ἢ', 'ἣ' => 'Ἣ', 'ἤ' => 'Ἤ', 'ἥ' => 'Ἥ', 'ἦ' => 'Ἦ', 'ἧ' => 'Ἧ', 'ἰ' => 'Ἰ', 'ἱ' => 'Ἱ', 'ἲ' => 'Ἲ', 'ἳ' => 'Ἳ', 'ἴ' => 'Ἴ', 'ἵ' => 'Ἵ', 'ἶ' => 'Ἶ', 'ἷ' => 'Ἷ', 'ὀ' => 'Ὀ', 'ὁ' => 'Ὁ', 'ὂ' => 'Ὂ', 'ὃ' => 'Ὃ', 'ὄ' => 'Ὄ', 'ὅ' => 'Ὅ', 'ὑ' => 'Ὑ', 'ὓ' => 'Ὓ', 'ὕ' => 'Ὕ', 'ὗ' => 'Ὗ', 'ὠ' => 'Ὠ', 'ὡ' => 'Ὡ', 'ὢ' => 'Ὢ', 'ὣ' => 'Ὣ', 'ὤ' => 'Ὤ', 'ὥ' => 'Ὥ', 'ὦ' => 'Ὦ', 'ὧ' => 'Ὧ', 'ὰ' => 'Ὰ', 'ά' => 'Ά', 'ὲ' => 'Ὲ', 'έ' => 'Έ', 'ὴ' => 'Ὴ', 'ή' => 'Ή', 'ὶ' => 'Ὶ', 'ί' => 'Ί', 'ὸ' => 'Ὸ', 'ό' => 'Ό', 'ὺ' => 'Ὺ', 'ύ' => 'Ύ', 'ὼ' => 'Ὼ', 'ώ' => 'Ώ', 'ᾀ' => 'ᾈ', 'ᾁ' => 'ᾉ', 'ᾂ' => 'ᾊ', 'ᾃ' => 'ᾋ', 'ᾄ' => 'ᾌ', 'ᾅ' => 'ᾍ', 'ᾆ' => 'ᾎ', 'ᾇ' => 'ᾏ', 'ᾐ' => 'ᾘ', 'ᾑ' => 'ᾙ', 'ᾒ' => 'ᾚ', 'ᾓ' => 'ᾛ', 'ᾔ' => 'ᾜ', 'ᾕ' => 'ᾝ', 'ᾖ' => 'ᾞ', 'ᾗ' => 'ᾟ', 'ᾠ' => 'ᾨ', 'ᾡ' => 'ᾩ', 'ᾢ' => 'ᾪ', 'ᾣ' => 'ᾫ', 'ᾤ' => 'ᾬ', 'ᾥ' => 'ᾭ', 'ᾦ' => 'ᾮ', 'ᾧ' => 'ᾯ', 'ᾰ' => 'Ᾰ', 'ᾱ' => 'Ᾱ', 'ᾳ' => 'ᾼ', 'ι' => 'Ι', 'ῃ' => 'ῌ', 'ῐ' => 'Ῐ', 'ῑ' => 'Ῑ', 'ῠ' => 'Ῠ', 'ῡ' => 'Ῡ', 'ῥ' => 'Ῥ', 'ῳ' => 'ῼ', 'ⅎ' => 'Ⅎ', 'ⅰ' => 'Ⅰ', 'ⅱ' => 'Ⅱ', 'ⅲ' => 'Ⅲ', 'ⅳ' => 'Ⅳ', 'ⅴ' => 'Ⅴ', 'ⅵ' => 'Ⅵ', 'ⅶ' => 'Ⅶ', 'ⅷ' => 'Ⅷ', 'ⅸ' => 'Ⅸ', 'ⅹ' => 'Ⅹ', 'ⅺ' => 'Ⅺ', 'ⅻ' => 'Ⅻ', 'ⅼ' => 'Ⅼ', 'ⅽ' => 'Ⅽ', 'ⅾ' => 'Ⅾ', 'ⅿ' => 'Ⅿ', 'ↄ' => 'Ↄ', 'ⓐ' => 'Ⓐ', 'ⓑ' => 'Ⓑ', 'ⓒ' => 'Ⓒ', 'ⓓ' => 'Ⓓ', 'ⓔ' => 'Ⓔ', 'ⓕ' => 'Ⓕ', 'ⓖ' => 'Ⓖ', 'ⓗ' => 'Ⓗ', 'ⓘ' => 'Ⓘ', 'ⓙ' => 'Ⓙ', 'ⓚ' => 'Ⓚ', 'ⓛ' => 'Ⓛ', 'ⓜ' => 'Ⓜ', 'ⓝ' => 'Ⓝ', 'ⓞ' => 'Ⓞ', 'ⓟ' => 'Ⓟ', 'ⓠ' => 'Ⓠ', 'ⓡ' => 'Ⓡ', 'ⓢ' => 'Ⓢ', 'ⓣ' => 'Ⓣ', 'ⓤ' => 'Ⓤ', 'ⓥ' => 'Ⓥ', 'ⓦ' => 'Ⓦ', 'ⓧ' => 'Ⓧ', 'ⓨ' => 'Ⓨ', 'ⓩ' => 'Ⓩ', 'ⰰ' => 'Ⰰ', 'ⰱ' => 'Ⰱ', 'ⰲ' => 'Ⰲ', 'ⰳ' => 'Ⰳ', 'ⰴ' => 'Ⰴ', 'ⰵ' => 'Ⰵ', 'ⰶ' => 'Ⰶ', 'ⰷ' => 'Ⰷ', 'ⰸ' => 'Ⰸ', 'ⰹ' => 'Ⰹ', 'ⰺ' => 'Ⰺ', 'ⰻ' => 'Ⰻ', 'ⰼ' => 'Ⰼ', 'ⰽ' => 'Ⰽ', 'ⰾ' => 'Ⰾ', 'ⰿ' => 'Ⰿ', 'ⱀ' => 'Ⱀ', 'ⱁ' => 'Ⱁ', 'ⱂ' => 'Ⱂ', 'ⱃ' => 'Ⱃ', 'ⱄ' => 'Ⱄ', 'ⱅ' => 'Ⱅ', 'ⱆ' => 'Ⱆ', 'ⱇ' => 'Ⱇ', 'ⱈ' => 'Ⱈ', 'ⱉ' => 'Ⱉ', 'ⱊ' => 'Ⱊ', 'ⱋ' => 'Ⱋ', 'ⱌ' => 'Ⱌ', 'ⱍ' => 'Ⱍ', 'ⱎ' => 'Ⱎ', 'ⱏ' => 'Ⱏ', 'ⱐ' => 'Ⱐ', 'ⱑ' => 'Ⱑ', 'ⱒ' => 'Ⱒ', 'ⱓ' => 'Ⱓ', 'ⱔ' => 'Ⱔ', 'ⱕ' => 'Ⱕ', 'ⱖ' => 'Ⱖ', 'ⱗ' => 'Ⱗ', 'ⱘ' => 'Ⱘ', 'ⱙ' => 'Ⱙ', 'ⱚ' => 'Ⱚ', 'ⱛ' => 'Ⱛ', 'ⱜ' => 'Ⱜ', 'ⱝ' => 'Ⱝ', 'ⱞ' => 'Ⱞ', 'ⱡ' => 'Ⱡ', 'ⱥ' => 'Ⱥ', 'ⱦ' => 'Ⱦ', 'ⱨ' => 'Ⱨ', 'ⱪ' => 'Ⱪ', 'ⱬ' => 'Ⱬ', 'ⱳ' => 'Ⱳ', 'ⱶ' => 'Ⱶ', 'ⲁ' => 'Ⲁ', 'ⲃ' => 'Ⲃ', 'ⲅ' => 'Ⲅ', 'ⲇ' => 'Ⲇ', 'ⲉ' => 'Ⲉ', 'ⲋ' => 'Ⲋ', 'ⲍ' => 'Ⲍ', 'ⲏ' => 'Ⲏ', 'ⲑ' => 'Ⲑ', 'ⲓ' => 'Ⲓ', 'ⲕ' => 'Ⲕ', 'ⲗ' => 'Ⲗ', 'ⲙ' => 'Ⲙ', 'ⲛ' => 'Ⲛ', 'ⲝ' => 'Ⲝ', 'ⲟ' => 'Ⲟ', 'ⲡ' => 'Ⲡ', 'ⲣ' => 'Ⲣ', 'ⲥ' => 'Ⲥ', 'ⲧ' => 'Ⲧ', 'ⲩ' => 'Ⲩ', 'ⲫ' => 'Ⲫ', 'ⲭ' => 'Ⲭ', 'ⲯ' => 'Ⲯ', 'ⲱ' => 'Ⲱ', 'ⲳ' => 'Ⲳ', 'ⲵ' => 'Ⲵ', 'ⲷ' => 'Ⲷ', 'ⲹ' => 'Ⲹ', 'ⲻ' => 'Ⲻ', 'ⲽ' => 'Ⲽ', 'ⲿ' => 'Ⲿ', 'ⳁ' => 'Ⳁ', 'ⳃ' => 'Ⳃ', 'ⳅ' => 'Ⳅ', 'ⳇ' => 'Ⳇ', 'ⳉ' => 'Ⳉ', 'ⳋ' => 'Ⳋ', 'ⳍ' => 'Ⳍ', 'ⳏ' => 'Ⳏ', 'ⳑ' => 'Ⳑ', 'ⳓ' => 'Ⳓ', 'ⳕ' => 'Ⳕ', 'ⳗ' => 'Ⳗ', 'ⳙ' => 'Ⳙ', 'ⳛ' => 'Ⳛ', 'ⳝ' => 'Ⳝ', 'ⳟ' => 'Ⳟ', 'ⳡ' => 'Ⳡ', 'ⳣ' => 'Ⳣ', 'ⳬ' => 'Ⳬ', 'ⳮ' => 'Ⳮ', 'ⳳ' => 'Ⳳ', 'ⴀ' => 'Ⴀ', 'ⴁ' => 'Ⴁ', 'ⴂ' => 'Ⴂ', 'ⴃ' => 'Ⴃ', 'ⴄ' => 'Ⴄ', 'ⴅ' => 'Ⴅ', 'ⴆ' => 'Ⴆ', 'ⴇ' => 'Ⴇ', 'ⴈ' => 'Ⴈ', 'ⴉ' => 'Ⴉ', 'ⴊ' => 'Ⴊ', 'ⴋ' => 'Ⴋ', 'ⴌ' => 'Ⴌ', 'ⴍ' => 'Ⴍ', 'ⴎ' => 'Ⴎ', 'ⴏ' => 'Ⴏ', 'ⴐ' => 'Ⴐ', 'ⴑ' => 'Ⴑ', 'ⴒ' => 'Ⴒ', 'ⴓ' => 'Ⴓ', 'ⴔ' => 'Ⴔ', 'ⴕ' => 'Ⴕ', 'ⴖ' => 'Ⴖ', 'ⴗ' => 'Ⴗ', 'ⴘ' => 'Ⴘ', 'ⴙ' => 'Ⴙ', 'ⴚ' => 'Ⴚ', 'ⴛ' => 'Ⴛ', 'ⴜ' => 'Ⴜ', 'ⴝ' => 'Ⴝ', 'ⴞ' => 'Ⴞ', 'ⴟ' => 'Ⴟ', 'ⴠ' => 'Ⴠ', 'ⴡ' => 'Ⴡ', 'ⴢ' => 'Ⴢ', 'ⴣ' => 'Ⴣ', 'ⴤ' => 'Ⴤ', 'ⴥ' => 'Ⴥ', 'ⴧ' => 'Ⴧ', 'ⴭ' => 'Ⴭ', 'ꙁ' => 'Ꙁ', 'ꙃ' => 'Ꙃ', 'ꙅ' => 'Ꙅ', 'ꙇ' => 'Ꙇ', 'ꙉ' => 'Ꙉ', 'ꙋ' => 'Ꙋ', 'ꙍ' => 'Ꙍ', 'ꙏ' => 'Ꙏ', 'ꙑ' => 'Ꙑ', 'ꙓ' => 'Ꙓ', 'ꙕ' => 'Ꙕ', 'ꙗ' => 'Ꙗ', 'ꙙ' => 'Ꙙ', 'ꙛ' => 'Ꙛ', 'ꙝ' => 'Ꙝ', 'ꙟ' => 'Ꙟ', 'ꙡ' => 'Ꙡ', 'ꙣ' => 'Ꙣ', 'ꙥ' => 'Ꙥ', 'ꙧ' => 'Ꙧ', 'ꙩ' => 'Ꙩ', 'ꙫ' => 'Ꙫ', 'ꙭ' => 'Ꙭ', 'ꚁ' => 'Ꚁ', 'ꚃ' => 'Ꚃ', 'ꚅ' => 'Ꚅ', 'ꚇ' => 'Ꚇ', 'ꚉ' => 'Ꚉ', 'ꚋ' => 'Ꚋ', 'ꚍ' => 'Ꚍ', 'ꚏ' => 'Ꚏ', 'ꚑ' => 'Ꚑ', 'ꚓ' => 'Ꚓ', 'ꚕ' => 'Ꚕ', 'ꚗ' => 'Ꚗ', 'ꚙ' => 'Ꚙ', 'ꚛ' => 'Ꚛ', 'ꜣ' => 'Ꜣ', 'ꜥ' => 'Ꜥ', 'ꜧ' => 'Ꜧ', 'ꜩ' => 'Ꜩ', 'ꜫ' => 'Ꜫ', 'ꜭ' => 'Ꜭ', 'ꜯ' => 'Ꜯ', 'ꜳ' => 'Ꜳ', 'ꜵ' => 'Ꜵ', 'ꜷ' => 'Ꜷ', 'ꜹ' => 'Ꜹ', 'ꜻ' => 'Ꜻ', 'ꜽ' => 'Ꜽ', 'ꜿ' => 'Ꜿ', 'ꝁ' => 'Ꝁ', 'ꝃ' => 'Ꝃ', 'ꝅ' => 'Ꝅ', 'ꝇ' => 'Ꝇ', 'ꝉ' => 'Ꝉ', 'ꝋ' => 'Ꝋ', 'ꝍ' => 'Ꝍ', 'ꝏ' => 'Ꝏ', 'ꝑ' => 'Ꝑ', 'ꝓ' => 'Ꝓ', 'ꝕ' => 'Ꝕ', 'ꝗ' => 'Ꝗ', 'ꝙ' => 'Ꝙ', 'ꝛ' => 'Ꝛ', 'ꝝ' => 'Ꝝ', 'ꝟ' => 'Ꝟ', 'ꝡ' => 'Ꝡ', 'ꝣ' => 'Ꝣ', 'ꝥ' => 'Ꝥ', 'ꝧ' => 'Ꝧ', 'ꝩ' => 'Ꝩ', 'ꝫ' => 'Ꝫ', 'ꝭ' => 'Ꝭ', 'ꝯ' => 'Ꝯ', 'ꝺ' => 'Ꝺ', 'ꝼ' => 'Ꝼ', 'ꝿ' => 'Ꝿ', 'ꞁ' => 'Ꞁ', 'ꞃ' => 'Ꞃ', 'ꞅ' => 'Ꞅ', 'ꞇ' => 'Ꞇ', 'ꞌ' => 'Ꞌ', 'ꞑ' => 'Ꞑ', 'ꞓ' => 'Ꞓ', 'ꞔ' => 'Ꞔ', 'ꞗ' => 'Ꞗ', 'ꞙ' => 'Ꞙ', 'ꞛ' => 'Ꞛ', 'ꞝ' => 'Ꞝ', 'ꞟ' => 'Ꞟ', 'ꞡ' => 'Ꞡ', 'ꞣ' => 'Ꞣ', 'ꞥ' => 'Ꞥ', 'ꞧ' => 'Ꞧ', 'ꞩ' => 'Ꞩ', 'ꞵ' => 'Ꞵ', 'ꞷ' => 'Ꞷ', 'ꞹ' => 'Ꞹ', 'ꞻ' => 'Ꞻ', 'ꞽ' => 'Ꞽ', 'ꞿ' => 'Ꞿ', 'ꟃ' => 'Ꟃ', 'ꟈ' => 'Ꟈ', 'ꟊ' => 'Ꟊ', 'ꟶ' => 'Ꟶ', 'ꭓ' => 'Ꭓ', 'ꭰ' => 'Ꭰ', 'ꭱ' => 'Ꭱ', 'ꭲ' => 'Ꭲ', 'ꭳ' => 'Ꭳ', 'ꭴ' => 'Ꭴ', 'ꭵ' => 'Ꭵ', 'ꭶ' => 'Ꭶ', 'ꭷ' => 'Ꭷ', 'ꭸ' => 'Ꭸ', 'ꭹ' => 'Ꭹ', 'ꭺ' => 'Ꭺ', 'ꭻ' => 'Ꭻ', 'ꭼ' => 'Ꭼ', 'ꭽ' => 'Ꭽ', 'ꭾ' => 'Ꭾ', 'ꭿ' => 'Ꭿ', 'ꮀ' => 'Ꮀ', 'ꮁ' => 'Ꮁ', 'ꮂ' => 'Ꮂ', 'ꮃ' => 'Ꮃ', 'ꮄ' => 'Ꮄ', 'ꮅ' => 'Ꮅ', 'ꮆ' => 'Ꮆ', 'ꮇ' => 'Ꮇ', 'ꮈ' => 'Ꮈ', 'ꮉ' => 'Ꮉ', 'ꮊ' => 'Ꮊ', 'ꮋ' => 'Ꮋ', 'ꮌ' => 'Ꮌ', 'ꮍ' => 'Ꮍ', 'ꮎ' => 'Ꮎ', 'ꮏ' => 'Ꮏ', 'ꮐ' => 'Ꮐ', 'ꮑ' => 'Ꮑ', 'ꮒ' => 'Ꮒ', 'ꮓ' => 'Ꮓ', 'ꮔ' => 'Ꮔ', 'ꮕ' => 'Ꮕ', 'ꮖ' => 'Ꮖ', 'ꮗ' => 'Ꮗ', 'ꮘ' => 'Ꮘ', 'ꮙ' => 'Ꮙ', 'ꮚ' => 'Ꮚ', 'ꮛ' => 'Ꮛ', 'ꮜ' => 'Ꮜ', 'ꮝ' => 'Ꮝ', 'ꮞ' => 'Ꮞ', 'ꮟ' => 'Ꮟ', 'ꮠ' => 'Ꮠ', 'ꮡ' => 'Ꮡ', 'ꮢ' => 'Ꮢ', 'ꮣ' => 'Ꮣ', 'ꮤ' => 'Ꮤ', 'ꮥ' => 'Ꮥ', 'ꮦ' => 'Ꮦ', 'ꮧ' => 'Ꮧ', 'ꮨ' => 'Ꮨ', 'ꮩ' => 'Ꮩ', 'ꮪ' => 'Ꮪ', 'ꮫ' => 'Ꮫ', 'ꮬ' => 'Ꮬ', 'ꮭ' => 'Ꮭ', 'ꮮ' => 'Ꮮ', 'ꮯ' => 'Ꮯ', 'ꮰ' => 'Ꮰ', 'ꮱ' => 'Ꮱ', 'ꮲ' => 'Ꮲ', 'ꮳ' => 'Ꮳ', 'ꮴ' => 'Ꮴ', 'ꮵ' => 'Ꮵ', 'ꮶ' => 'Ꮶ', 'ꮷ' => 'Ꮷ', 'ꮸ' => 'Ꮸ', 'ꮹ' => 'Ꮹ', 'ꮺ' => 'Ꮺ', 'ꮻ' => 'Ꮻ', 'ꮼ' => 'Ꮼ', 'ꮽ' => 'Ꮽ', 'ꮾ' => 'Ꮾ', 'ꮿ' => 'Ꮿ', 'a' => 'A', 'b' => 'B', 'c' => 'C', 'd' => 'D', 'e' => 'E', 'f' => 'F', 'g' => 'G', 'h' => 'H', 'i' => 'I', 'j' => 'J', 'k' => 'K', 'l' => 'L', 'm' => 'M', 'n' => 'N', 'o' => 'O', 'p' => 'P', 'q' => 'Q', 'r' => 'R', 's' => 'S', 't' => 'T', 'u' => 'U', 'v' => 'V', 'w' => 'W', 'x' => 'X', 'y' => 'Y', 'z' => 'Z', '𐐨' => '𐐀', '𐐩' => '𐐁', '𐐪' => '𐐂', '𐐫' => '𐐃', '𐐬' => '𐐄', '𐐭' => '𐐅', '𐐮' => '𐐆', '𐐯' => '𐐇', '𐐰' => '𐐈', '𐐱' => '𐐉', '𐐲' => '𐐊', '𐐳' => '𐐋', '𐐴' => '𐐌', '𐐵' => '𐐍', '𐐶' => '𐐎', '𐐷' => '𐐏', '𐐸' => '𐐐', '𐐹' => '𐐑', '𐐺' => '𐐒', '𐐻' => '𐐓', '𐐼' => '𐐔', '𐐽' => '𐐕', '𐐾' => '𐐖', '𐐿' => '𐐗', '𐑀' => '𐐘', '𐑁' => '𐐙', '𐑂' => '𐐚', '𐑃' => '𐐛', '𐑄' => '𐐜', '𐑅' => '𐐝', '𐑆' => '𐐞', '𐑇' => '𐐟', '𐑈' => '𐐠', '𐑉' => '𐐡', '𐑊' => '𐐢', '𐑋' => '𐐣', '𐑌' => '𐐤', '𐑍' => '𐐥', '𐑎' => '𐐦', '𐑏' => '𐐧', '𐓘' => '𐒰', '𐓙' => '𐒱', '𐓚' => '𐒲', '𐓛' => '𐒳', '𐓜' => '𐒴', '𐓝' => '𐒵', '𐓞' => '𐒶', '𐓟' => '𐒷', '𐓠' => '𐒸', '𐓡' => '𐒹', '𐓢' => '𐒺', '𐓣' => '𐒻', '𐓤' => '𐒼', '𐓥' => '𐒽', '𐓦' => '𐒾', '𐓧' => '𐒿', '𐓨' => '𐓀', '𐓩' => '𐓁', '𐓪' => '𐓂', '𐓫' => '𐓃', '𐓬' => '𐓄', '𐓭' => '𐓅', '𐓮' => '𐓆', '𐓯' => '𐓇', '𐓰' => '𐓈', '𐓱' => '𐓉', '𐓲' => '𐓊', '𐓳' => '𐓋', '𐓴' => '𐓌', '𐓵' => '𐓍', '𐓶' => '𐓎', '𐓷' => '𐓏', '𐓸' => '𐓐', '𐓹' => '𐓑', '𐓺' => '𐓒', '𐓻' => '𐓓', '𐳀' => '𐲀', '𐳁' => '𐲁', '𐳂' => '𐲂', '𐳃' => '𐲃', '𐳄' => '𐲄', '𐳅' => '𐲅', '𐳆' => '𐲆', '𐳇' => '𐲇', '𐳈' => '𐲈', '𐳉' => '𐲉', '𐳊' => '𐲊', '𐳋' => '𐲋', '𐳌' => '𐲌', '𐳍' => '𐲍', '𐳎' => '𐲎', '𐳏' => '𐲏', '𐳐' => '𐲐', '𐳑' => '𐲑', '𐳒' => '𐲒', '𐳓' => '𐲓', '𐳔' => '𐲔', '𐳕' => '𐲕', '𐳖' => '𐲖', '𐳗' => '𐲗', '𐳘' => '𐲘', '𐳙' => '𐲙', '𐳚' => '𐲚', '𐳛' => '𐲛', '𐳜' => '𐲜', '𐳝' => '𐲝', '𐳞' => '𐲞', '𐳟' => '𐲟', '𐳠' => '𐲠', '𐳡' => '𐲡', '𐳢' => '𐲢', '𐳣' => '𐲣', '𐳤' => '𐲤', '𐳥' => '𐲥', '𐳦' => '𐲦', '𐳧' => '𐲧', '𐳨' => '𐲨', '𐳩' => '𐲩', '𐳪' => '𐲪', '𐳫' => '𐲫', '𐳬' => '𐲬', '𐳭' => '𐲭', '𐳮' => '𐲮', '𐳯' => '𐲯', '𐳰' => '𐲰', '𐳱' => '𐲱', '𐳲' => '𐲲', '𑣀' => '𑢠', '𑣁' => '𑢡', '𑣂' => '𑢢', '𑣃' => '𑢣', '𑣄' => '𑢤', '𑣅' => '𑢥', '𑣆' => '𑢦', '𑣇' => '𑢧', '𑣈' => '𑢨', '𑣉' => '𑢩', '𑣊' => '𑢪', '𑣋' => '𑢫', '𑣌' => '𑢬', '𑣍' => '𑢭', '𑣎' => '𑢮', '𑣏' => '𑢯', '𑣐' => '𑢰', '𑣑' => '𑢱', '𑣒' => '𑢲', '𑣓' => '𑢳', '𑣔' => '𑢴', '𑣕' => '𑢵', '𑣖' => '𑢶', '𑣗' => '𑢷', '𑣘' => '𑢸', '𑣙' => '𑢹', '𑣚' => '𑢺', '𑣛' => '𑢻', '𑣜' => '𑢼', '𑣝' => '𑢽', '𑣞' => '𑢾', '𑣟' => '𑢿', '𖹠' => '𖹀', '𖹡' => '𖹁', '𖹢' => '𖹂', '𖹣' => '𖹃', '𖹤' => '𖹄', '𖹥' => '𖹅', '𖹦' => '𖹆', '𖹧' => '𖹇', '𖹨' => '𖹈', '𖹩' => '𖹉', '𖹪' => '𖹊', '𖹫' => '𖹋', '𖹬' => '𖹌', '𖹭' => '𖹍', '𖹮' => '𖹎', '𖹯' => '𖹏', '𖹰' => '𖹐', '𖹱' => '𖹑', '𖹲' => '𖹒', '𖹳' => '𖹓', '𖹴' => '𖹔', '𖹵' => '𖹕', '𖹶' => '𖹖', '𖹷' => '𖹗', '𖹸' => '𖹘', '𖹹' => '𖹙', '𖹺' => '𖹚', '𖹻' => '𖹛', '𖹼' => '𖹜', '𖹽' => '𖹝', '𖹾' => '𖹞', '𖹿' => '𖹟', '𞤢' => '𞤀', '𞤣' => '𞤁', '𞤤' => '𞤂', '𞤥' => '𞤃', '𞤦' => '𞤄', '𞤧' => '𞤅', '𞤨' => '𞤆', '𞤩' => '𞤇', '𞤪' => '𞤈', '𞤫' => '𞤉', '𞤬' => '𞤊', '𞤭' => '𞤋', '𞤮' => '𞤌', '𞤯' => '𞤍', '𞤰' => '𞤎', '𞤱' => '𞤏', '𞤲' => '𞤐', '𞤳' => '𞤑', '𞤴' => '𞤒', '𞤵' => '𞤓', '𞤶' => '𞤔', '𞤷' => '𞤕', '𞤸' => '𞤖', '𞤹' => '𞤗', '𞤺' => '𞤘', '𞤻' => '𞤙', '𞤼' => '𞤚', '𞤽' => '𞤛', '𞤾' => '𞤜', '𞤿' => '𞤝', '𞥀' => '𞤞', '𞥁' => '𞤟', '𞥂' => '𞤠', '𞥃' => '𞤡', ); vendor/symfony/polyfill-mbstring/bootstrap.php000064400000016215147400355670015770 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ use Symfony\Polyfill\Mbstring as p; if (!function_exists('mb_convert_encoding')) { function mb_convert_encoding($string, $to_encoding, $from_encoding = null) { return p\Mbstring::mb_convert_encoding($string, $to_encoding, $from_encoding); } } if (!function_exists('mb_decode_mimeheader')) { function mb_decode_mimeheader($string) { return p\Mbstring::mb_decode_mimeheader($string); } } if (!function_exists('mb_encode_mimeheader')) { function mb_encode_mimeheader($string, $charset = null, $transfer_encoding = null, $newline = null, $indent = null) { return p\Mbstring::mb_encode_mimeheader($string, $charset, $transfer_encoding, $newline, $indent); } } if (!function_exists('mb_decode_numericentity')) { function mb_decode_numericentity($string, $map, $encoding = null) { return p\Mbstring::mb_decode_numericentity($string, $map, $encoding); } } if (!function_exists('mb_encode_numericentity')) { function mb_encode_numericentity($string, $map, $encoding = null, $hex = false) { return p\Mbstring::mb_encode_numericentity($string, $map, $encoding, $hex); } } if (!function_exists('mb_convert_case')) { function mb_convert_case($string, $mode, $encoding = null) { return p\Mbstring::mb_convert_case($string, $mode, $encoding); } } if (!function_exists('mb_internal_encoding')) { function mb_internal_encoding($encoding = null) { return p\Mbstring::mb_internal_encoding($encoding); } } if (!function_exists('mb_language')) { function mb_language($language = null) { return p\Mbstring::mb_language($language); } } if (!function_exists('mb_list_encodings')) { function mb_list_encodings() { return p\Mbstring::mb_list_encodings(); } } if (!function_exists('mb_encoding_aliases')) { function mb_encoding_aliases($encoding) { return p\Mbstring::mb_encoding_aliases($encoding); } } if (!function_exists('mb_check_encoding')) { function mb_check_encoding($value = null, $encoding = null) { return p\Mbstring::mb_check_encoding($value, $encoding); } } if (!function_exists('mb_detect_encoding')) { function mb_detect_encoding($string, $encodings = null, $strict = false) { return p\Mbstring::mb_detect_encoding($string, $encodings, $strict); } } if (!function_exists('mb_detect_order')) { function mb_detect_order($encoding = null) { return p\Mbstring::mb_detect_order($encoding); } } if (!function_exists('mb_parse_str')) { function mb_parse_str($string, &$result = array()) { parse_str($string, $result); } } if (!function_exists('mb_strlen')) { function mb_strlen($string, $encoding = null) { return p\Mbstring::mb_strlen($string, $encoding); } } if (!function_exists('mb_strpos')) { function mb_strpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strpos($haystack, $needle, $offset, $encoding); } } if (!function_exists('mb_strtolower')) { function mb_strtolower($string, $encoding = null) { return p\Mbstring::mb_strtolower($string, $encoding); } } if (!function_exists('mb_strtoupper')) { function mb_strtoupper($string, $encoding = null) { return p\Mbstring::mb_strtoupper($string, $encoding); } } if (!function_exists('mb_substitute_character')) { function mb_substitute_character($substitute_character = null) { return p\Mbstring::mb_substitute_character($substitute_character); } } if (!function_exists('mb_substr')) { function mb_substr($string, $start, $length = 2147483647, $encoding = null) { return p\Mbstring::mb_substr($string, $start, $length, $encoding); } } if (!function_exists('mb_stripos')) { function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_stripos($haystack, $needle, $offset, $encoding); } } if (!function_exists('mb_stristr')) { function mb_stristr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_stristr($haystack, $needle, $before_needle, $encoding); } } if (!function_exists('mb_strrchr')) { function mb_strrchr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strrchr($haystack, $needle, $before_needle, $encoding); } } if (!function_exists('mb_strrichr')) { function mb_strrichr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strrichr($haystack, $needle, $before_needle, $encoding); } } if (!function_exists('mb_strripos')) { function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strripos($haystack, $needle, $offset, $encoding); } } if (!function_exists('mb_strrpos')) { function mb_strrpos($haystack, $needle, $offset = 0, $encoding = null) { return p\Mbstring::mb_strrpos($haystack, $needle, $offset, $encoding); } } if (!function_exists('mb_strstr')) { function mb_strstr($haystack, $needle, $before_needle = false, $encoding = null) { return p\Mbstring::mb_strstr($haystack, $needle, $before_needle, $encoding); } } if (!function_exists('mb_get_info')) { function mb_get_info($type = 'all') { return p\Mbstring::mb_get_info($type); } } if (!function_exists('mb_http_output')) { function mb_http_output($encoding = null) { return p\Mbstring::mb_http_output($encoding); } } if (!function_exists('mb_strwidth')) { function mb_strwidth($string, $encoding = null) { return p\Mbstring::mb_strwidth($string, $encoding); } } if (!function_exists('mb_substr_count')) { function mb_substr_count($haystack, $needle, $encoding = null) { return p\Mbstring::mb_substr_count($haystack, $needle, $encoding); } } if (!function_exists('mb_output_handler')) { function mb_output_handler($string, $status) { return p\Mbstring::mb_output_handler($string, $status); } } if (!function_exists('mb_http_input')) { function mb_http_input($type = '') { return p\Mbstring::mb_http_input($type); } } if (PHP_VERSION_ID >= 80000) { require_once __DIR__.'/Resources/mb_convert_variables.php8'; } elseif (!function_exists('mb_convert_variables')) { function mb_convert_variables($toEncoding, $fromEncoding, &$a = null, &$b = null, &$c = null, &$d = null, &$e = null, &$f = null) { return p\Mbstring::mb_convert_variables($toEncoding, $fromEncoding, $a, $b, $c, $d, $e, $f); } } if (!function_exists('mb_ord')) { function mb_ord($string, $encoding = null) { return p\Mbstring::mb_ord($string, $encoding); } } if (!function_exists('mb_chr')) { function mb_chr($codepoint, $encoding = null) { return p\Mbstring::mb_chr($codepoint, $encoding); } } if (!function_exists('mb_scrub')) { function mb_scrub($string, $encoding = null) { $encoding = null === $encoding ? mb_internal_encoding() : $encoding; return mb_convert_encoding($string, $encoding, $encoding); } } if (!function_exists('mb_str_split')) { function mb_str_split($string, $length = 1, $encoding = null) { return p\Mbstring::mb_str_split($string, $length, $encoding); } } if (extension_loaded('mbstring')) { return; } if (!defined('MB_CASE_UPPER')) { define('MB_CASE_UPPER', 0); } if (!defined('MB_CASE_LOWER')) { define('MB_CASE_LOWER', 1); } if (!defined('MB_CASE_TITLE')) { define('MB_CASE_TITLE', 2); } vendor/symfony/polyfill-mbstring/README.md000064400000000564147400355670014521 0ustar00Symfony Polyfill / Mbstring =========================== This component provides a partial, native PHP implementation for the [Mbstring](https://php.net/mbstring) extension. More information can be found in the [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). License ======= This library is released under the [MIT license](LICENSE). vendor/symfony/polyfill-php70/LICENSE000064400000002051147400355670013351 0ustar00Copyright (c) 2015-2019 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor/symfony/polyfill-php70/composer.json000064400000002024147400355670015066 0ustar00{ "name": "symfony/polyfill-php70", "type": "library", "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", "keywords": ["polyfill", "shim", "compatibility", "portable"], "homepage": "https://symfony.com", "license": "MIT", "authors": [ { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "require": { "php": ">=5.3.3", "paragonie/random_compat": "~1.0|~2.0|~9.99" }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Php70\\": "" }, "files": [ "bootstrap.php" ], "classmap": [ "Resources/stubs" ] }, "minimum-stability": "dev", "extra": { "branch-alias": { "dev-main": "1.19-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } } } vendor/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php000064400000000057147400355670021276 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Polyfill\Php70; /** * @author Nicolas Grekas * * @internal */ final class Php70 { public static function intdiv($dividend, $divisor) { $dividend = self::intArg($dividend, __FUNCTION__, 1); $divisor = self::intArg($divisor, __FUNCTION__, 2); if (0 === $divisor) { throw new \DivisionByZeroError('Division by zero'); } if (-1 === $divisor && ~PHP_INT_MAX === $dividend) { throw new \ArithmeticError('Division of PHP_INT_MIN by -1 is not an integer'); } return ($dividend - ($dividend % $divisor)) / $divisor; } public static function preg_replace_callback_array(array $patterns, $subject, $limit = -1, &$count = 0) { $count = 0; $result = (string) $subject; if (0 === $limit = self::intArg($limit, __FUNCTION__, 3)) { return $result; } foreach ($patterns as $pattern => $callback) { $result = preg_replace_callback($pattern, $callback, $result, $limit, $c); $count += $c; } return $result; } public static function error_clear_last() { static $handler; if (!$handler) { $handler = function () { return false; }; } set_error_handler($handler); @trigger_error(''); restore_error_handler(); } private static function intArg($value, $caller, $pos) { if (\is_int($value)) { return $value; } if (!\is_numeric($value) || PHP_INT_MAX <= ($value += 0) || ~PHP_INT_MAX >= $value) { throw new \TypeError(sprintf('%s() expects parameter %d to be integer, %s given', $caller, $pos, \gettype($value))); } return (int) $value; } } vendor/symfony/polyfill-php70/bootstrap.php000064400000001551147400355670015076 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ use Symfony\Polyfill\Php70 as p; if (PHP_VERSION_ID >= 70000) { return; } if (!defined('PHP_INT_MIN')) { define('PHP_INT_MIN', ~PHP_INT_MAX); } if (!function_exists('intdiv')) { function intdiv($num1, $num2) { return p\Php70::intdiv($num1, $num2); } } if (!function_exists('preg_replace_callback_array')) { function preg_replace_callback_array(array $pattern, $subject, $limit = -1, &$count = 0, $flags = null) { return p\Php70::preg_replace_callback_array($pattern, $subject, $limit, $count); } } if (!function_exists('error_clear_last')) { function error_clear_last() { return p\Php70::error_clear_last(); } } vendor/symfony/polyfill-php70/README.md000064400000002122147400355670013622 0ustar00Symfony Polyfill / Php70 ======================== This component provides features unavailable in releases prior to PHP 7.0: - [`intdiv`](https://php.net/intdiv) - [`preg_replace_callback_array`](https://php.net/preg_replace_callback_array) - [`error_clear_last`](https://php.net/error_clear_last) - `random_bytes` and `random_int` (from [paragonie/random_compat](https://github.com/paragonie/random_compat)) - [`*Error` throwable classes](https://php.net/Error) - [`PHP_INT_MIN`](https://php.net/reserved.constants#constant.php-int-min) - `SessionUpdateTimestampHandlerInterface` More information can be found in the [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). Compatibility notes =================== To write portable code between PHP5 and PHP7, some care must be taken: - `\*Error` exceptions must be caught before `\Exception`; - after calling `error_clear_last()`, the result of `$e = error_get_last()` must be verified using `isset($e['message'][0])` instead of `null !== $e`. License ======= This library is released under the [MIT license](LICENSE). vendor/symfony/polyfill-intl-idn/LICENSE000064400000002127147400355670014135 0ustar00Copyright (c) 2018-2019 Fabien Potencier and Trevor Rowbotham Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor/symfony/polyfill-intl-idn/composer.json000064400000002401147400355670015645 0ustar00{ "name": "symfony/polyfill-intl-idn", "type": "library", "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", "keywords": ["polyfill", "shim", "compatibility", "portable", "intl", "idn"], "homepage": "https://symfony.com", "license": "MIT", "authors": [ { "name": "Laurent Bassin", "email": "laurent@bassin.info" }, { "name": "Trevor Rowbotham", "email": "trevor.rowbotham@pm.me" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], "require": { "php": ">=5.3.3", "symfony/polyfill-intl-normalizer": "^1.10", "symfony/polyfill-php70": "^1.10", "symfony/polyfill-php72": "^1.10" }, "autoload": { "psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" }, "files": [ "bootstrap.php" ] }, "suggest": { "ext-intl": "For best performance" }, "minimum-stability": "dev", "extra": { "branch-alias": { "dev-main": "1.19-dev" }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" } } } vendor/symfony/polyfill-intl-idn/Idn.php000064400000073010147400355670014352 0ustar00 and Trevor Rowbotham * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Polyfill\Intl\Idn; use Exception; use Normalizer; use Symfony\Polyfill\Intl\Idn\Resources\unidata\DisallowedRanges; use Symfony\Polyfill\Intl\Idn\Resources\unidata\Regex; /** * @see https://www.unicode.org/reports/tr46/ * * @internal */ final class Idn { const ERROR_EMPTY_LABEL = 1; const ERROR_LABEL_TOO_LONG = 2; const ERROR_DOMAIN_NAME_TOO_LONG = 4; const ERROR_LEADING_HYPHEN = 8; const ERROR_TRAILING_HYPHEN = 0x10; const ERROR_HYPHEN_3_4 = 0x20; const ERROR_LEADING_COMBINING_MARK = 0x40; const ERROR_DISALLOWED = 0x80; const ERROR_PUNYCODE = 0x100; const ERROR_LABEL_HAS_DOT = 0x200; const ERROR_INVALID_ACE_LABEL = 0x400; const ERROR_BIDI = 0x800; const ERROR_CONTEXTJ = 0x1000; const ERROR_CONTEXTO_PUNCTUATION = 0x2000; const ERROR_CONTEXTO_DIGITS = 0x4000; const INTL_IDNA_VARIANT_2003 = 0; const INTL_IDNA_VARIANT_UTS46 = 1; const IDNA_DEFAULT = 0; const IDNA_ALLOW_UNASSIGNED = 1; const IDNA_USE_STD3_RULES = 2; const IDNA_CHECK_BIDI = 4; const IDNA_CHECK_CONTEXTJ = 8; const IDNA_NONTRANSITIONAL_TO_ASCII = 16; const IDNA_NONTRANSITIONAL_TO_UNICODE = 32; const MAX_DOMAIN_SIZE = 253; const MAX_LABEL_SIZE = 63; const BASE = 36; const TMIN = 1; const TMAX = 26; const SKEW = 38; const DAMP = 700; const INITIAL_BIAS = 72; const INITIAL_N = 128; const DELIMITER = '-'; const MAX_INT = 2147483647; /** * Contains the numeric value of a basic code point (for use in representing integers) in the * range 0 to BASE-1, or -1 if b is does not represent a value. * * @var array */ private static $basicToDigit = array( -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ); /** * @var array */ private static $virama; /** * @var array */ private static $mapped; /** * @var array */ private static $ignored; /** * @var array */ private static $deviation; /** * @var array */ private static $disallowed; /** * @var array */ private static $disallowed_STD3_mapped; /** * @var array */ private static $disallowed_STD3_valid; /** * @var bool */ private static $mappingTableLoaded = false; /** * @see https://www.unicode.org/reports/tr46/#ToASCII * * @param string $domainName * @param int $options * @param int $variant * @param array $idna_info * * @return string|false */ public static function idn_to_ascii($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = array()) { if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) { @trigger_error('idn_to_ascii(): INTL_IDNA_VARIANT_2003 is deprecated', E_USER_DEPRECATED); } $options = array( 'CheckHyphens' => true, 'CheckBidi' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 !== ($options & self::IDNA_CHECK_BIDI), 'CheckJoiners' => self::INTL_IDNA_VARIANT_UTS46 === $variant && 0 !== ($options & self::IDNA_CHECK_CONTEXTJ), 'UseSTD3ASCIIRules' => 0 !== ($options & self::IDNA_USE_STD3_RULES), 'Transitional_Processing' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 === ($options & self::IDNA_NONTRANSITIONAL_TO_ASCII), 'VerifyDnsLength' => true, ); $info = new Info(); $labels = self::process((string) $domainName, $options, $info); foreach ($labels as $i => $label) { // Only convert labels to punycode that contain non-ASCII code points if (1 === preg_match('/[^\x00-\x7F]/', $label)) { try { $label = 'xn--'.self::punycodeEncode($label); } catch (Exception $e) { $info->errors |= self::ERROR_PUNYCODE; } $labels[$i] = $label; } } if ($options['VerifyDnsLength']) { self::validateDomainAndLabelLength($labels, $info); } $idna_info = array( 'result' => implode('.', $labels), 'isTransitionalDifferent' => $info->transitionalDifferent, 'errors' => $info->errors, ); return 0 === $info->errors ? $idna_info['result'] : false; } /** * @see https://www.unicode.org/reports/tr46/#ToUnicode * * @param string $domainName * @param int $options * @param int $variant * @param array $idna_info * * @return string|false */ public static function idn_to_utf8($domainName, $options = self::IDNA_DEFAULT, $variant = self::INTL_IDNA_VARIANT_UTS46, &$idna_info = array()) { if (\PHP_VERSION_ID >= 70200 && self::INTL_IDNA_VARIANT_2003 === $variant) { @trigger_error('idn_to_utf8(): INTL_IDNA_VARIANT_2003 is deprecated', E_USER_DEPRECATED); } $info = new Info(); $labels = self::process((string) $domainName, array( 'CheckHyphens' => true, 'CheckBidi' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 !== ($options & self::IDNA_CHECK_BIDI), 'CheckJoiners' => self::INTL_IDNA_VARIANT_UTS46 === $variant && 0 !== ($options & self::IDNA_CHECK_CONTEXTJ), 'UseSTD3ASCIIRules' => 0 !== ($options & self::IDNA_USE_STD3_RULES), 'Transitional_Processing' => self::INTL_IDNA_VARIANT_2003 === $variant || 0 === ($options & self::IDNA_NONTRANSITIONAL_TO_UNICODE), ), $info); $idna_info = array( 'result' => implode('.', $labels), 'isTransitionalDifferent' => $info->transitionalDifferent, 'errors' => $info->errors, ); return 0 === $info->errors ? $idna_info['result'] : false; } /** * @param string $label * * @return bool */ private static function isValidContextJ(array $codePoints, $label) { if (!isset(self::$virama)) { self::$virama = require __DIR__.\DIRECTORY_SEPARATOR.'Resources'.\DIRECTORY_SEPARATOR.'unidata'.\DIRECTORY_SEPARATOR.'virama.php'; } $offset = 0; foreach ($codePoints as $i => $codePoint) { if (0x200C !== $codePoint && 0x200D !== $codePoint) { continue; } if (!isset($codePoints[$i - 1])) { return false; } // If Canonical_Combining_Class(Before(cp)) .eq. Virama Then True; if (isset(self::$virama[$codePoints[$i - 1]])) { continue; } // If RegExpMatch((Joining_Type:{L,D})(Joining_Type:T)*\u200C(Joining_Type:T)*(Joining_Type:{R,D})) Then // True; // Generated RegExp = ([Joining_Type:{L,D}][Joining_Type:T]*\u200C[Joining_Type:T]*)[Joining_Type:{R,D}] if (0x200C === $codePoint && 1 === preg_match(Regex::ZWNJ, $label, $matches, PREG_OFFSET_CAPTURE, $offset)) { $offset += \strlen($matches[1][0]); continue; } return false; } return true; } /** * @see https://www.unicode.org/reports/tr46/#ProcessingStepMap * * @param string $input * @param array $options * * @return string */ private static function mapCodePoints($input, array $options, Info $info) { $str = ''; $useSTD3ASCIIRules = $options['UseSTD3ASCIIRules']; $transitional = $options['Transitional_Processing']; foreach (self::utf8Decode($input) as $codePoint) { $data = self::lookupCodePointStatus($codePoint, $useSTD3ASCIIRules); switch ($data['status']) { case 'disallowed': $info->errors |= self::ERROR_DISALLOWED; // no break. case 'valid': $str .= mb_chr($codePoint, 'utf-8'); break; case 'ignored': // Do nothing. break; case 'mapped': $str .= $data['mapping']; break; case 'deviation': $info->transitionalDifferent = true; $str .= ($transitional ? $data['mapping'] : mb_chr($codePoint, 'utf-8')); break; } } return $str; } /** * @see https://www.unicode.org/reports/tr46/#Processing * * @param string $domain * @param array $options * * @return array */ private static function process($domain, array $options, Info $info) { // If VerifyDnsLength is not set, we are doing ToUnicode otherwise we are doing ToASCII and // we need to respect the VerifyDnsLength option. $checkForEmptyLabels = !isset($options['VerifyDnsLength']) || $options['VerifyDnsLength']; if ($checkForEmptyLabels && '' === $domain) { $info->errors |= self::ERROR_EMPTY_LABEL; return array($domain); } // Step 1. Map each code point in the domain name string $domain = self::mapCodePoints($domain, $options, $info); // Step 2. Normalize the domain name string to Unicode Normalization Form C. if (!Normalizer::isNormalized($domain, Normalizer::FORM_C)) { $domain = Normalizer::normalize($domain, Normalizer::FORM_C); } // Step 3. Break the string into labels at U+002E (.) FULL STOP. $labels = explode('.', $domain); $lastLabelIndex = \count($labels) - 1; // Step 4. Convert and validate each label in the domain name string. foreach ($labels as $i => $label) { $validationOptions = $options; if ('xn--' === substr($label, 0, 4)) { try { $label = self::punycodeDecode(substr($label, 4)); } catch (Exception $e) { $info->errors |= self::ERROR_PUNYCODE; continue; } $validationOptions['Transitional_Processing'] = false; $labels[$i] = $label; } self::validateLabel($label, $info, $validationOptions, $i > 0 && $i === $lastLabelIndex); } if ($info->bidiDomain && !$info->validBidiDomain) { $info->errors |= self::ERROR_BIDI; } // Any input domain name string that does not record an error has been successfully // processed according to this specification. Conversely, if an input domain_name string // causes an error, then the processing of the input domain_name string fails. Determining // what to do with error input is up to the caller, and not in the scope of this document. return $labels; } /** * @see https://tools.ietf.org/html/rfc5893#section-2 * * @param string $label */ private static function validateBidiLabel($label, Info $info) { if (1 === preg_match(Regex::RTL_LABEL, $label)) { $info->bidiDomain = true; // Step 1. The first character must be a character with Bidi property L, R, or AL. // If it has the R or AL property, it is an RTL label if (1 !== preg_match(Regex::BIDI_STEP_1_RTL, $label)) { $info->validBidiDomain = false; return; } // Step 2. In an RTL label, only characters with the Bidi properties R, AL, AN, EN, ES, // CS, ET, ON, BN, or NSM are allowed. if (1 === preg_match(Regex::BIDI_STEP_2, $label)) { $info->validBidiDomain = false; return; } // Step 3. In an RTL label, the end of the label must be a character with Bidi property // R, AL, EN, or AN, followed by zero or more characters with Bidi property NSM. if (1 !== preg_match(Regex::BIDI_STEP_3, $label)) { $info->validBidiDomain = false; return; } // Step 4. In an RTL label, if an EN is present, no AN may be present, and vice versa. if (1 === preg_match(Regex::BIDI_STEP_4_AN, $label) && 1 === preg_match(Regex::BIDI_STEP_4_EN, $label)) { $info->validBidiDomain = false; return; } return; } // We are a LTR label // Step 1. The first character must be a character with Bidi property L, R, or AL. // If it has the L property, it is an LTR label. if (1 !== preg_match(Regex::BIDI_STEP_1_LTR, $label)) { $info->validBidiDomain = false; return; } // Step 5. In an LTR label, only characters with the Bidi properties L, EN, // ES, CS, ET, ON, BN, or NSM are allowed. if (1 === preg_match(Regex::BIDI_STEP_5, $label)) { $info->validBidiDomain = false; return; } // Step 6.In an LTR label, the end of the label must be a character with Bidi property L or // EN, followed by zero or more characters with Bidi property NSM. if (1 !== preg_match(Regex::BIDI_STEP_6, $label)) { $info->validBidiDomain = false; return; } } /** * @param array $labels */ private static function validateDomainAndLabelLength(array $labels, Info $info) { $maxDomainSize = self::MAX_DOMAIN_SIZE; $length = \count($labels); // Number of "." delimiters. $domainLength = $length - 1; // If the last label is empty and it is not the first label, then it is the root label. // Increase the max size by 1, making it 254, to account for the root label's "." // delimiter. This also means we don't need to check the last label's length for being too // long. if ($length > 1 && '' === $labels[$length - 1]) { ++$maxDomainSize; --$length; } for ($i = 0; $i < $length; ++$i) { $bytes = \strlen($labels[$i]); $domainLength += $bytes; if ($bytes > self::MAX_LABEL_SIZE) { $info->errors |= self::ERROR_LABEL_TOO_LONG; } } if ($domainLength > $maxDomainSize) { $info->errors |= self::ERROR_DOMAIN_NAME_TOO_LONG; } } /** * @see https://www.unicode.org/reports/tr46/#Validity_Criteria * * @param string $label * @param array $options * @param bool $canBeEmpty */ private static function validateLabel($label, Info $info, array $options, $canBeEmpty) { if ('' === $label) { if (!$canBeEmpty && (!isset($options['VerifyDnsLength']) || $options['VerifyDnsLength'])) { $info->errors |= self::ERROR_EMPTY_LABEL; } return; } // Step 1. The label must be in Unicode Normalization Form C. if (!Normalizer::isNormalized($label, Normalizer::FORM_C)) { $info->errors |= self::ERROR_INVALID_ACE_LABEL; } $codePoints = self::utf8Decode($label); if ($options['CheckHyphens']) { // Step 2. If CheckHyphens, the label must not contain a U+002D HYPHEN-MINUS character // in both the thrid and fourth positions. if (isset($codePoints[2], $codePoints[3]) && 0x002D === $codePoints[2] && 0x002D === $codePoints[3]) { $info->errors |= self::ERROR_HYPHEN_3_4; } // Step 3. If CheckHyphens, the label must neither begin nor end with a U+002D // HYPHEN-MINUS character. if ('-' === substr($label, 0, 1)) { $info->errors |= self::ERROR_LEADING_HYPHEN; } if ('-' === substr($label, -1, 1)) { $info->errors |= self::ERROR_TRAILING_HYPHEN; } } // Step 4. The label must not contain a U+002E (.) FULL STOP. if (false !== strpos($label, '.')) { $info->errors |= self::ERROR_LABEL_HAS_DOT; } // Step 5. The label must not begin with a combining mark, that is: General_Category=Mark. if (1 === preg_match(Regex::COMBINING_MARK, $label)) { $info->errors |= self::ERROR_LEADING_COMBINING_MARK; } // Step 6. Each code point in the label must only have certain status values according to // Section 5, IDNA Mapping Table: $transitional = $options['Transitional_Processing']; $useSTD3ASCIIRules = $options['UseSTD3ASCIIRules']; foreach ($codePoints as $codePoint) { $data = self::lookupCodePointStatus($codePoint, $useSTD3ASCIIRules); $status = $data['status']; if ('valid' === $status || (!$transitional && 'deviation' === $status)) { continue; } $info->errors |= self::ERROR_DISALLOWED; break; } // Step 7. If CheckJoiners, the label must satisify the ContextJ rules from Appendix A, in // The Unicode Code Points and Internationalized Domain Names for Applications (IDNA) // [IDNA2008]. if ($options['CheckJoiners'] && !self::isValidContextJ($codePoints, $label)) { $info->errors |= self::ERROR_CONTEXTJ; } // Step 8. If CheckBidi, and if the domain name is a Bidi domain name, then the label must // satisfy all six of the numbered conditions in [IDNA2008] RFC 5893, Section 2. if ($options['CheckBidi'] && (!$info->bidiDomain || $info->validBidiDomain)) { self::validateBidiLabel($label, $info); } } /** * @see https://tools.ietf.org/html/rfc3492#section-6.2 * * @param string $input * * @return string */ private static function punycodeDecode($input) { $n = self::INITIAL_N; $out = 0; $i = 0; $bias = self::INITIAL_BIAS; $lastDelimIndex = strrpos($input, self::DELIMITER); $b = false === $lastDelimIndex ? 0 : $lastDelimIndex; $inputLength = \strlen($input); $output = array(); $bytes = array_map('ord', str_split($input)); for ($j = 0; $j < $b; ++$j) { if ($bytes[$j] > 0x7F) { throw new Exception('Invalid input'); } $output[$out++] = $input[$j]; } if ($b > 0) { ++$b; } for ($in = $b; $in < $inputLength; ++$out) { $oldi = $i; $w = 1; for ($k = self::BASE; /* no condition */; $k += self::BASE) { if ($in >= $inputLength) { throw new Exception('Invalid input'); } $digit = self::$basicToDigit[$bytes[$in++] & 0xFF]; if ($digit < 0) { throw new Exception('Invalid input'); } if ($digit > intdiv(self::MAX_INT - $i, $w)) { throw new Exception('Integer overflow'); } $i += $digit * $w; if ($k <= $bias) { $t = self::TMIN; } elseif ($k >= $bias + self::TMAX) { $t = self::TMAX; } else { $t = $k - $bias; } if ($digit < $t) { break; } $baseMinusT = self::BASE - $t; if ($w > intdiv(self::MAX_INT, $baseMinusT)) { throw new Exception('Integer overflow'); } $w *= $baseMinusT; } $outPlusOne = $out + 1; $bias = self::adaptBias($i - $oldi, $outPlusOne, 0 === $oldi); if (intdiv($i, $outPlusOne) > self::MAX_INT - $n) { throw new Exception('Integer overflow'); } $n += intdiv($i, $outPlusOne); $i %= $outPlusOne; array_splice($output, $i++, 0, array(mb_chr($n, 'utf-8'))); } return implode('', $output); } /** * @see https://tools.ietf.org/html/rfc3492#section-6.3 * * @param string $input * * @return string */ private static function punycodeEncode($input) { $n = self::INITIAL_N; $delta = 0; $out = 0; $bias = self::INITIAL_BIAS; $inputLength = 0; $output = ''; $iter = self::utf8Decode($input); foreach ($iter as $codePoint) { ++$inputLength; if ($codePoint < 0x80) { $output .= \chr($codePoint); ++$out; } } $h = $out; $b = $out; if ($b > 0) { $output .= self::DELIMITER; ++$out; } while ($h < $inputLength) { $m = self::MAX_INT; foreach ($iter as $codePoint) { if ($codePoint >= $n && $codePoint < $m) { $m = $codePoint; } } if ($m - $n > intdiv(self::MAX_INT - $delta, $h + 1)) { throw new Exception('Integer overflow'); } $delta += ($m - $n) * ($h + 1); $n = $m; foreach ($iter as $codePoint) { if ($codePoint < $n && 0 === ++$delta) { throw new Exception('Integer overflow'); } elseif ($codePoint === $n) { $q = $delta; for ($k = self::BASE; /* no condition */; $k += self::BASE) { if ($k <= $bias) { $t = self::TMIN; } elseif ($k >= $bias + self::TMAX) { $t = self::TMAX; } else { $t = $k - $bias; } if ($q < $t) { break; } $qMinusT = $q - $t; $baseMinusT = self::BASE - $t; $output .= self::encodeDigit($t + ($qMinusT) % ($baseMinusT), false); ++$out; $q = intdiv($qMinusT, $baseMinusT); } $output .= self::encodeDigit($q, false); ++$out; $bias = self::adaptBias($delta, $h + 1, $h === $b); $delta = 0; ++$h; } } ++$delta; ++$n; } return $output; } /** * @see https://tools.ietf.org/html/rfc3492#section-6.1 * * @param int $delta * @param int $numPoints * @param bool $firstTime * * @return int */ private static function adaptBias($delta, $numPoints, $firstTime) { // xxx >> 1 is a faster way of doing intdiv(xxx, 2) $delta = $firstTime ? intdiv($delta, self::DAMP) : $delta >> 1; $delta += intdiv($delta, $numPoints); $k = 0; while ($delta > ((self::BASE - self::TMIN) * self::TMAX) >> 1) { $delta = intdiv($delta, self::BASE - self::TMIN); $k += self::BASE; } return $k + intdiv((self::BASE - self::TMIN + 1) * $delta, $delta + self::SKEW); } /** * @param int $d * @param bool $flag * * @return string */ private static function encodeDigit($d, $flag) { return \chr($d + 22 + 75 * ($d < 26 ? 1 : 0) - (($flag ? 1 : 0) << 5)); } /** * Takes a UTF-8 encoded string and converts it into a series of integer code points. Any * invalid byte sequences will be replaced by a U+FFFD replacement code point. * * @see https://encoding.spec.whatwg.org/#utf-8-decoder * * @param string $input * * @return array */ private static function utf8Decode($input) { $bytesSeen = 0; $bytesNeeded = 0; $lowerBoundary = 0x80; $upperBoundary = 0xBF; $codePoint = 0; $codePoints = array(); $length = \strlen($input); for ($i = 0; $i < $length; ++$i) { $byte = \ord($input[$i]); if (0 === $bytesNeeded) { if ($byte >= 0x00 && $byte <= 0x7F) { $codePoints[] = $byte; continue; } if ($byte >= 0xC2 && $byte <= 0xDF) { $bytesNeeded = 1; $codePoint = $byte & 0x1F; } elseif ($byte >= 0xE0 && $byte <= 0xEF) { if (0xE0 === $byte) { $lowerBoundary = 0xA0; } elseif (0xED === $byte) { $upperBoundary = 0x9F; } $bytesNeeded = 2; $codePoint = $byte & 0xF; } elseif ($byte >= 0xF0 && $byte <= 0xF4) { if (0xF0 === $byte) { $lowerBoundary = 0x90; } elseif (0xF4 === $byte) { $upperBoundary = 0x8F; } $bytesNeeded = 3; $codePoint = $byte & 0x7; } else { $codePoints[] = 0xFFFD; } continue; } if ($byte < $lowerBoundary || $byte > $upperBoundary) { $codePoint = 0; $bytesNeeded = 0; $bytesSeen = 0; $lowerBoundary = 0x80; $upperBoundary = 0xBF; --$i; $codePoints[] = 0xFFFD; continue; } $lowerBoundary = 0x80; $upperBoundary = 0xBF; $codePoint = ($codePoint << 6) | ($byte & 0x3F); if (++$bytesSeen !== $bytesNeeded) { continue; } $codePoints[] = $codePoint; $codePoint = 0; $bytesNeeded = 0; $bytesSeen = 0; } // String unexpectedly ended, so append a U+FFFD code point. if (0 !== $bytesNeeded) { $codePoints[] = 0xFFFD; } return $codePoints; } /** * @param int $codePoint * @param bool $useSTD3ASCIIRules * * @return array{status: string, mapping?: string} */ private static function lookupCodePointStatus($codePoint, $useSTD3ASCIIRules) { if (!self::$mappingTableLoaded) { self::$mappingTableLoaded = true; self::$mapped = require __DIR__.'/Resources/unidata/mapped.php'; self::$ignored = require __DIR__.'/Resources/unidata/ignored.php'; self::$deviation = require __DIR__.'/Resources/unidata/deviation.php'; self::$disallowed = require __DIR__.'/Resources/unidata/disallowed.php'; self::$disallowed_STD3_mapped = require __DIR__.'/Resources/unidata/disallowed_STD3_mapped.php'; self::$disallowed_STD3_valid = require __DIR__.'/Resources/unidata/disallowed_STD3_valid.php'; } if (isset(self::$mapped[$codePoint])) { return array('status' => 'mapped', 'mapping' => self::$mapped[$codePoint]); } if (isset(self::$ignored[$codePoint])) { return array('status' => 'ignored'); } if (isset(self::$deviation[$codePoint])) { return array('status' => 'deviation', 'mapping' => self::$deviation[$codePoint]); } if (isset(self::$disallowed[$codePoint]) || DisallowedRanges::inRange($codePoint)) { return array('status' => 'disallowed'); } $isDisallowedMapped = isset(self::$disallowed_STD3_mapped[$codePoint]); if ($isDisallowedMapped || isset(self::$disallowed_STD3_valid[$codePoint])) { $status = 'disallowed'; if (!$useSTD3ASCIIRules) { $status = $isDisallowedMapped ? 'mapped' : 'valid'; } if ($isDisallowedMapped) { return array('status' => $status, 'mapping' => self::$disallowed_STD3_mapped[$codePoint]); } return array('status' => $status); } return array('status' => 'valid'); } } vendor/symfony/polyfill-intl-idn/Resources/unidata/DisallowedRanges.php000064400000021003147400355670022461 0ustar00= 128 && $codePoint <= 159) { return true; } if ($codePoint >= 2155 && $codePoint <= 2207) { return true; } if ($codePoint >= 3676 && $codePoint <= 3712) { return true; } if ($codePoint >= 3808 && $codePoint <= 3839) { return true; } if ($codePoint >= 4059 && $codePoint <= 4095) { return true; } if ($codePoint >= 4256 && $codePoint <= 4293) { return true; } if ($codePoint >= 6849 && $codePoint <= 6911) { return true; } if ($codePoint >= 11859 && $codePoint <= 11903) { return true; } if ($codePoint >= 42955 && $codePoint <= 42996) { return true; } if ($codePoint >= 55296 && $codePoint <= 57343) { return true; } if ($codePoint >= 57344 && $codePoint <= 63743) { return true; } if ($codePoint >= 64218 && $codePoint <= 64255) { return true; } if ($codePoint >= 64976 && $codePoint <= 65007) { return true; } if ($codePoint >= 65630 && $codePoint <= 65663) { return true; } if ($codePoint >= 65953 && $codePoint <= 65999) { return true; } if ($codePoint >= 66046 && $codePoint <= 66175) { return true; } if ($codePoint >= 66518 && $codePoint <= 66559) { return true; } if ($codePoint >= 66928 && $codePoint <= 67071) { return true; } if ($codePoint >= 67432 && $codePoint <= 67583) { return true; } if ($codePoint >= 67760 && $codePoint <= 67807) { return true; } if ($codePoint >= 67904 && $codePoint <= 67967) { return true; } if ($codePoint >= 68256 && $codePoint <= 68287) { return true; } if ($codePoint >= 68528 && $codePoint <= 68607) { return true; } if ($codePoint >= 68681 && $codePoint <= 68735) { return true; } if ($codePoint >= 68922 && $codePoint <= 69215) { return true; } if ($codePoint >= 69298 && $codePoint <= 69375) { return true; } if ($codePoint >= 69466 && $codePoint <= 69551) { return true; } if ($codePoint >= 70207 && $codePoint <= 70271) { return true; } if ($codePoint >= 70517 && $codePoint <= 70655) { return true; } if ($codePoint >= 70874 && $codePoint <= 71039) { return true; } if ($codePoint >= 71134 && $codePoint <= 71167) { return true; } if ($codePoint >= 71370 && $codePoint <= 71423) { return true; } if ($codePoint >= 71488 && $codePoint <= 71679) { return true; } if ($codePoint >= 71740 && $codePoint <= 71839) { return true; } if ($codePoint >= 72026 && $codePoint <= 72095) { return true; } if ($codePoint >= 72441 && $codePoint <= 72703) { return true; } if ($codePoint >= 72887 && $codePoint <= 72959) { return true; } if ($codePoint >= 73130 && $codePoint <= 73439) { return true; } if ($codePoint >= 73465 && $codePoint <= 73647) { return true; } if ($codePoint >= 74650 && $codePoint <= 74751) { return true; } if ($codePoint >= 75076 && $codePoint <= 77823) { return true; } if ($codePoint >= 78905 && $codePoint <= 82943) { return true; } if ($codePoint >= 83527 && $codePoint <= 92159) { return true; } if ($codePoint >= 92784 && $codePoint <= 92879) { return true; } if ($codePoint >= 93072 && $codePoint <= 93759) { return true; } if ($codePoint >= 93851 && $codePoint <= 93951) { return true; } if ($codePoint >= 94112 && $codePoint <= 94175) { return true; } if ($codePoint >= 101590 && $codePoint <= 101631) { return true; } if ($codePoint >= 101641 && $codePoint <= 110591) { return true; } if ($codePoint >= 110879 && $codePoint <= 110927) { return true; } if ($codePoint >= 111356 && $codePoint <= 113663) { return true; } if ($codePoint >= 113828 && $codePoint <= 118783) { return true; } if ($codePoint >= 119366 && $codePoint <= 119519) { return true; } if ($codePoint >= 119673 && $codePoint <= 119807) { return true; } if ($codePoint >= 121520 && $codePoint <= 122879) { return true; } if ($codePoint >= 122923 && $codePoint <= 123135) { return true; } if ($codePoint >= 123216 && $codePoint <= 123583) { return true; } if ($codePoint >= 123648 && $codePoint <= 124927) { return true; } if ($codePoint >= 125143 && $codePoint <= 125183) { return true; } if ($codePoint >= 125280 && $codePoint <= 126064) { return true; } if ($codePoint >= 126133 && $codePoint <= 126208) { return true; } if ($codePoint >= 126270 && $codePoint <= 126463) { return true; } if ($codePoint >= 126652 && $codePoint <= 126703) { return true; } if ($codePoint >= 126706 && $codePoint <= 126975) { return true; } if ($codePoint >= 127406 && $codePoint <= 127461) { return true; } if ($codePoint >= 127590 && $codePoint <= 127743) { return true; } if ($codePoint >= 129202 && $codePoint <= 129279) { return true; } if ($codePoint >= 129751 && $codePoint <= 129791) { return true; } if ($codePoint >= 129995 && $codePoint <= 130031) { return true; } if ($codePoint >= 130042 && $codePoint <= 131069) { return true; } if ($codePoint >= 173790 && $codePoint <= 173823) { return true; } if ($codePoint >= 191457 && $codePoint <= 194559) { return true; } if ($codePoint >= 195102 && $codePoint <= 196605) { return true; } if ($codePoint >= 201547 && $codePoint <= 262141) { return true; } if ($codePoint >= 262144 && $codePoint <= 327677) { return true; } if ($codePoint >= 327680 && $codePoint <= 393213) { return true; } if ($codePoint >= 393216 && $codePoint <= 458749) { return true; } if ($codePoint >= 458752 && $codePoint <= 524285) { return true; } if ($codePoint >= 524288 && $codePoint <= 589821) { return true; } if ($codePoint >= 589824 && $codePoint <= 655357) { return true; } if ($codePoint >= 655360 && $codePoint <= 720893) { return true; } if ($codePoint >= 720896 && $codePoint <= 786429) { return true; } if ($codePoint >= 786432 && $codePoint <= 851965) { return true; } if ($codePoint >= 851968 && $codePoint <= 917501) { return true; } if ($codePoint >= 917536 && $codePoint <= 917631) { return true; } if ($codePoint >= 917632 && $codePoint <= 917759) { return true; } if ($codePoint >= 918000 && $codePoint <= 983037) { return true; } if ($codePoint >= 983040 && $codePoint <= 1048573) { return true; } if ($codePoint >= 1048576 && $codePoint <= 1114109) { return true; } return false; } } vendor/symfony/polyfill-intl-idn/Resources/unidata/ignored.php000064400000011340147400355670020664 0ustar00 true, 847 => true, 6155 => true, 6156 => true, 6157 => true, 8203 => true, 8288 => true, 8292 => true, 65024 => true, 65025 => true, 65026 => true, 65027 => true, 65028 => true, 65029 => true, 65030 => true, 65031 => true, 65032 => true, 65033 => true, 65034 => true, 65035 => true, 65036 => true, 65037 => true, 65038 => true, 65039 => true, 65279 => true, 113824 => true, 113825 => true, 113826 => true, 113827 => true, 917760 => true, 917761 => true, 917762 => true, 917763 => true, 917764 => true, 917765 => true, 917766 => true, 917767 => true, 917768 => true, 917769 => true, 917770 => true, 917771 => true, 917772 => true, 917773 => true, 917774 => true, 917775 => true, 917776 => true, 917777 => true, 917778 => true, 917779 => true, 917780 => true, 917781 => true, 917782 => true, 917783 => true, 917784 => true, 917785 => true, 917786 => true, 917787 => true, 917788 => true, 917789 => true, 917790 => true, 917791 => true, 917792 => true, 917793 => true, 917794 => true, 917795 => true, 917796 => true, 917797 => true, 917798 => true, 917799 => true, 917800 => true, 917801 => true, 917802 => true, 917803 => true, 917804 => true, 917805 => true, 917806 => true, 917807 => true, 917808 => true, 917809 => true, 917810 => true, 917811 => true, 917812 => true, 917813 => true, 917814 => true, 917815 => true, 917816 => true, 917817 => true, 917818 => true, 917819 => true, 917820 => true, 917821 => true, 917822 => true, 917823 => true, 917824 => true, 917825 => true, 917826 => true, 917827 => true, 917828 => true, 917829 => true, 917830 => true, 917831 => true, 917832 => true, 917833 => true, 917834 => true, 917835 => true, 917836 => true, 917837 => true, 917838 => true, 917839 => true, 917840 => true, 917841 => true, 917842 => true, 917843 => true, 917844 => true, 917845 => true, 917846 => true, 917847 => true, 917848 => true, 917849 => true, 917850 => true, 917851 => true, 917852 => true, 917853 => true, 917854 => true, 917855 => true, 917856 => true, 917857 => true, 917858 => true, 917859 => true, 917860 => true, 917861 => true, 917862 => true, 917863 => true, 917864 => true, 917865 => true, 917866 => true, 917867 => true, 917868 => true, 917869 => true, 917870 => true, 917871 => true, 917872 => true, 917873 => true, 917874 => true, 917875 => true, 917876 => true, 917877 => true, 917878 => true, 917879 => true, 917880 => true, 917881 => true, 917882 => true, 917883 => true, 917884 => true, 917885 => true, 917886 => true, 917887 => true, 917888 => true, 917889 => true, 917890 => true, 917891 => true, 917892 => true, 917893 => true, 917894 => true, 917895 => true, 917896 => true, 917897 => true, 917898 => true, 917899 => true, 917900 => true, 917901 => true, 917902 => true, 917903 => true, 917904 => true, 917905 => true, 917906 => true, 917907 => true, 917908 => true, 917909 => true, 917910 => true, 917911 => true, 917912 => true, 917913 => true, 917914 => true, 917915 => true, 917916 => true, 917917 => true, 917918 => true, 917919 => true, 917920 => true, 917921 => true, 917922 => true, 917923 => true, 917924 => true, 917925 => true, 917926 => true, 917927 => true, 917928 => true, 917929 => true, 917930 => true, 917931 => true, 917932 => true, 917933 => true, 917934 => true, 917935 => true, 917936 => true, 917937 => true, 917938 => true, 917939 => true, 917940 => true, 917941 => true, 917942 => true, 917943 => true, 917944 => true, 917945 => true, 917946 => true, 917947 => true, 917948 => true, 917949 => true, 917950 => true, 917951 => true, 917952 => true, 917953 => true, 917954 => true, 917955 => true, 917956 => true, 917957 => true, 917958 => true, 917959 => true, 917960 => true, 917961 => true, 917962 => true, 917963 => true, 917964 => true, 917965 => true, 917966 => true, 917967 => true, 917968 => true, 917969 => true, 917970 => true, 917971 => true, 917972 => true, 917973 => true, 917974 => true, 917975 => true, 917976 => true, 917977 => true, 917978 => true, 917979 => true, 917980 => true, 917981 => true, 917982 => true, 917983 => true, 917984 => true, 917985 => true, 917986 => true, 917987 => true, 917988 => true, 917989 => true, 917990 => true, 917991 => true, 917992 => true, 917993 => true, 917994 => true, 917995 => true, 917996 => true, 917997 => true, 917998 => true, 917999 => true, ); vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed_STD3_valid.php000064400000001704147400355670023343 0ustar00 true, 1 => true, 2 => true, 3 => true, 4 => true, 5 => true, 6 => true, 7 => true, 8 => true, 9 => true, 10 => true, 11 => true, 12 => true, 13 => true, 14 => true, 15 => true, 16 => true, 17 => true, 18 => true, 19 => true, 20 => true, 21 => true, 22 => true, 23 => true, 24 => true, 25 => true, 26 => true, 27 => true, 28 => true, 29 => true, 30 => true, 31 => true, 32 => true, 33 => true, 34 => true, 35 => true, 36 => true, 37 => true, 38 => true, 39 => true, 40 => true, 41 => true, 42 => true, 43 => true, 44 => true, 47 => true, 58 => true, 59 => true, 60 => true, 61 => true, 62 => true, 63 => true, 64 => true, 91 => true, 92 => true, 93 => true, 94 => true, 95 => true, 96 => true, 123 => true, 124 => true, 125 => true, 126 => true, 127 => true, 8800 => true, 8814 => true, 8815 => true, ); vendor/symfony/polyfill-intl-idn/Resources/unidata/virama.php000064400000001525147400355670020520 0ustar00 9, 2509 => 9, 2637 => 9, 2765 => 9, 2893 => 9, 3021 => 9, 3149 => 9, 3277 => 9, 3387 => 9, 3388 => 9, 3405 => 9, 3530 => 9, 3642 => 9, 3770 => 9, 3972 => 9, 4153 => 9, 4154 => 9, 5908 => 9, 5940 => 9, 6098 => 9, 6752 => 9, 6980 => 9, 7082 => 9, 7083 => 9, 7154 => 9, 7155 => 9, 11647 => 9, 43014 => 9, 43052 => 9, 43204 => 9, 43347 => 9, 43456 => 9, 43766 => 9, 44013 => 9, 68159 => 9, 69702 => 9, 69759 => 9, 69817 => 9, 69939 => 9, 69940 => 9, 70080 => 9, 70197 => 9, 70378 => 9, 70477 => 9, 70722 => 9, 70850 => 9, 71103 => 9, 71231 => 9, 71350 => 9, 71467 => 9, 71737 => 9, 71997 => 9, 71998 => 9, 72160 => 9, 72244 => 9, 72263 => 9, 72345 => 9, 72767 => 9, 73028 => 9, 73029 => 9, 73111 => 9, ); vendor/symfony/polyfill-intl-idn/Resources/unidata/disallowed.php000064400000126714147400355670021400 0ustar00 true, 889 => true, 896 => true, 897 => true, 898 => true, 899 => true, 907 => true, 909 => true, 930 => true, 1216 => true, 1328 => true, 1367 => true, 1368 => true, 1419 => true, 1420 => true, 1424 => true, 1480 => true, 1481 => true, 1482 => true, 1483 => true, 1484 => true, 1485 => true, 1486 => true, 1487 => true, 1515 => true, 1516 => true, 1517 => true, 1518 => true, 1525 => true, 1526 => true, 1527 => true, 1528 => true, 1529 => true, 1530 => true, 1531 => true, 1532 => true, 1533 => true, 1534 => true, 1535 => true, 1536 => true, 1537 => true, 1538 => true, 1539 => true, 1540 => true, 1541 => true, 1564 => true, 1565 => true, 1757 => true, 1806 => true, 1807 => true, 1867 => true, 1868 => true, 1970 => true, 1971 => true, 1972 => true, 1973 => true, 1974 => true, 1975 => true, 1976 => true, 1977 => true, 1978 => true, 1979 => true, 1980 => true, 1981 => true, 1982 => true, 1983 => true, 2043 => true, 2044 => true, 2094 => true, 2095 => true, 2111 => true, 2140 => true, 2141 => true, 2143 => true, 2229 => true, 2248 => true, 2249 => true, 2250 => true, 2251 => true, 2252 => true, 2253 => true, 2254 => true, 2255 => true, 2256 => true, 2257 => true, 2258 => true, 2274 => true, 2436 => true, 2445 => true, 2446 => true, 2449 => true, 2450 => true, 2473 => true, 2481 => true, 2483 => true, 2484 => true, 2485 => true, 2490 => true, 2491 => true, 2501 => true, 2502 => true, 2505 => true, 2506 => true, 2511 => true, 2512 => true, 2513 => true, 2514 => true, 2515 => true, 2516 => true, 2517 => true, 2518 => true, 2520 => true, 2521 => true, 2522 => true, 2523 => true, 2526 => true, 2532 => true, 2533 => true, 2559 => true, 2560 => true, 2564 => true, 2571 => true, 2572 => true, 2573 => true, 2574 => true, 2577 => true, 2578 => true, 2601 => true, 2609 => true, 2612 => true, 2615 => true, 2618 => true, 2619 => true, 2621 => true, 2627 => true, 2628 => true, 2629 => true, 2630 => true, 2633 => true, 2634 => true, 2638 => true, 2639 => true, 2640 => true, 2642 => true, 2643 => true, 2644 => true, 2645 => true, 2646 => true, 2647 => true, 2648 => true, 2653 => true, 2655 => true, 2656 => true, 2657 => true, 2658 => true, 2659 => true, 2660 => true, 2661 => true, 2679 => true, 2680 => true, 2681 => true, 2682 => true, 2683 => true, 2684 => true, 2685 => true, 2686 => true, 2687 => true, 2688 => true, 2692 => true, 2702 => true, 2706 => true, 2729 => true, 2737 => true, 2740 => true, 2746 => true, 2747 => true, 2758 => true, 2762 => true, 2766 => true, 2767 => true, 2769 => true, 2770 => true, 2771 => true, 2772 => true, 2773 => true, 2774 => true, 2775 => true, 2776 => true, 2777 => true, 2778 => true, 2779 => true, 2780 => true, 2781 => true, 2782 => true, 2783 => true, 2788 => true, 2789 => true, 2802 => true, 2803 => true, 2804 => true, 2805 => true, 2806 => true, 2807 => true, 2808 => true, 2816 => true, 2820 => true, 2829 => true, 2830 => true, 2833 => true, 2834 => true, 2857 => true, 2865 => true, 2868 => true, 2874 => true, 2875 => true, 2885 => true, 2886 => true, 2889 => true, 2890 => true, 2894 => true, 2895 => true, 2896 => true, 2897 => true, 2898 => true, 2899 => true, 2900 => true, 2904 => true, 2905 => true, 2906 => true, 2907 => true, 2910 => true, 2916 => true, 2917 => true, 2936 => true, 2937 => true, 2938 => true, 2939 => true, 2940 => true, 2941 => true, 2942 => true, 2943 => true, 2944 => true, 2945 => true, 2948 => true, 2955 => true, 2956 => true, 2957 => true, 2961 => true, 2966 => true, 2967 => true, 2968 => true, 2971 => true, 2973 => true, 2976 => true, 2977 => true, 2978 => true, 2981 => true, 2982 => true, 2983 => true, 2987 => true, 2988 => true, 2989 => true, 3002 => true, 3003 => true, 3004 => true, 3005 => true, 3011 => true, 3012 => true, 3013 => true, 3017 => true, 3022 => true, 3023 => true, 3025 => true, 3026 => true, 3027 => true, 3028 => true, 3029 => true, 3030 => true, 3032 => true, 3033 => true, 3034 => true, 3035 => true, 3036 => true, 3037 => true, 3038 => true, 3039 => true, 3040 => true, 3041 => true, 3042 => true, 3043 => true, 3044 => true, 3045 => true, 3067 => true, 3068 => true, 3069 => true, 3070 => true, 3071 => true, 3085 => true, 3089 => true, 3113 => true, 3130 => true, 3131 => true, 3132 => true, 3141 => true, 3145 => true, 3150 => true, 3151 => true, 3152 => true, 3153 => true, 3154 => true, 3155 => true, 3156 => true, 3159 => true, 3163 => true, 3164 => true, 3165 => true, 3166 => true, 3167 => true, 3172 => true, 3173 => true, 3184 => true, 3185 => true, 3186 => true, 3187 => true, 3188 => true, 3189 => true, 3190 => true, 3213 => true, 3217 => true, 3241 => true, 3252 => true, 3258 => true, 3259 => true, 3269 => true, 3273 => true, 3278 => true, 3279 => true, 3280 => true, 3281 => true, 3282 => true, 3283 => true, 3284 => true, 3287 => true, 3288 => true, 3289 => true, 3290 => true, 3291 => true, 3292 => true, 3293 => true, 3295 => true, 3300 => true, 3301 => true, 3312 => true, 3315 => true, 3316 => true, 3317 => true, 3318 => true, 3319 => true, 3320 => true, 3321 => true, 3322 => true, 3323 => true, 3324 => true, 3325 => true, 3326 => true, 3327 => true, 3341 => true, 3345 => true, 3397 => true, 3401 => true, 3408 => true, 3409 => true, 3410 => true, 3411 => true, 3428 => true, 3429 => true, 3456 => true, 3460 => true, 3479 => true, 3480 => true, 3481 => true, 3506 => true, 3516 => true, 3518 => true, 3519 => true, 3527 => true, 3528 => true, 3529 => true, 3531 => true, 3532 => true, 3533 => true, 3534 => true, 3541 => true, 3543 => true, 3552 => true, 3553 => true, 3554 => true, 3555 => true, 3556 => true, 3557 => true, 3568 => true, 3569 => true, 3573 => true, 3574 => true, 3575 => true, 3576 => true, 3577 => true, 3578 => true, 3579 => true, 3580 => true, 3581 => true, 3582 => true, 3583 => true, 3584 => true, 3643 => true, 3644 => true, 3645 => true, 3646 => true, 3715 => true, 3717 => true, 3723 => true, 3748 => true, 3750 => true, 3774 => true, 3775 => true, 3781 => true, 3783 => true, 3790 => true, 3791 => true, 3802 => true, 3803 => true, 3912 => true, 3949 => true, 3950 => true, 3951 => true, 3952 => true, 3992 => true, 4029 => true, 4045 => true, 4294 => true, 4296 => true, 4297 => true, 4298 => true, 4299 => true, 4300 => true, 4302 => true, 4303 => true, 4447 => true, 4448 => true, 4681 => true, 4686 => true, 4687 => true, 4695 => true, 4697 => true, 4702 => true, 4703 => true, 4745 => true, 4750 => true, 4751 => true, 4785 => true, 4790 => true, 4791 => true, 4799 => true, 4801 => true, 4806 => true, 4807 => true, 4823 => true, 4881 => true, 4886 => true, 4887 => true, 4955 => true, 4956 => true, 4989 => true, 4990 => true, 4991 => true, 5018 => true, 5019 => true, 5020 => true, 5021 => true, 5022 => true, 5023 => true, 5110 => true, 5111 => true, 5118 => true, 5119 => true, 5760 => true, 5789 => true, 5790 => true, 5791 => true, 5881 => true, 5882 => true, 5883 => true, 5884 => true, 5885 => true, 5886 => true, 5887 => true, 5901 => true, 5909 => true, 5910 => true, 5911 => true, 5912 => true, 5913 => true, 5914 => true, 5915 => true, 5916 => true, 5917 => true, 5918 => true, 5919 => true, 5943 => true, 5944 => true, 5945 => true, 5946 => true, 5947 => true, 5948 => true, 5949 => true, 5950 => true, 5951 => true, 5972 => true, 5973 => true, 5974 => true, 5975 => true, 5976 => true, 5977 => true, 5978 => true, 5979 => true, 5980 => true, 5981 => true, 5982 => true, 5983 => true, 5997 => true, 6001 => true, 6004 => true, 6005 => true, 6006 => true, 6007 => true, 6008 => true, 6009 => true, 6010 => true, 6011 => true, 6012 => true, 6013 => true, 6014 => true, 6015 => true, 6068 => true, 6069 => true, 6110 => true, 6111 => true, 6122 => true, 6123 => true, 6124 => true, 6125 => true, 6126 => true, 6127 => true, 6138 => true, 6139 => true, 6140 => true, 6141 => true, 6142 => true, 6143 => true, 6150 => true, 6158 => true, 6159 => true, 6170 => true, 6171 => true, 6172 => true, 6173 => true, 6174 => true, 6175 => true, 6265 => true, 6266 => true, 6267 => true, 6268 => true, 6269 => true, 6270 => true, 6271 => true, 6315 => true, 6316 => true, 6317 => true, 6318 => true, 6319 => true, 6390 => true, 6391 => true, 6392 => true, 6393 => true, 6394 => true, 6395 => true, 6396 => true, 6397 => true, 6398 => true, 6399 => true, 6431 => true, 6444 => true, 6445 => true, 6446 => true, 6447 => true, 6460 => true, 6461 => true, 6462 => true, 6463 => true, 6465 => true, 6466 => true, 6467 => true, 6510 => true, 6511 => true, 6517 => true, 6518 => true, 6519 => true, 6520 => true, 6521 => true, 6522 => true, 6523 => true, 6524 => true, 6525 => true, 6526 => true, 6527 => true, 6572 => true, 6573 => true, 6574 => true, 6575 => true, 6602 => true, 6603 => true, 6604 => true, 6605 => true, 6606 => true, 6607 => true, 6619 => true, 6620 => true, 6621 => true, 6684 => true, 6685 => true, 6751 => true, 6781 => true, 6782 => true, 6794 => true, 6795 => true, 6796 => true, 6797 => true, 6798 => true, 6799 => true, 6810 => true, 6811 => true, 6812 => true, 6813 => true, 6814 => true, 6815 => true, 6830 => true, 6831 => true, 6988 => true, 6989 => true, 6990 => true, 6991 => true, 7037 => true, 7038 => true, 7039 => true, 7156 => true, 7157 => true, 7158 => true, 7159 => true, 7160 => true, 7161 => true, 7162 => true, 7163 => true, 7224 => true, 7225 => true, 7226 => true, 7242 => true, 7243 => true, 7244 => true, 7305 => true, 7306 => true, 7307 => true, 7308 => true, 7309 => true, 7310 => true, 7311 => true, 7355 => true, 7356 => true, 7368 => true, 7369 => true, 7370 => true, 7371 => true, 7372 => true, 7373 => true, 7374 => true, 7375 => true, 7419 => true, 7420 => true, 7421 => true, 7422 => true, 7423 => true, 7674 => true, 7958 => true, 7959 => true, 7966 => true, 7967 => true, 8006 => true, 8007 => true, 8014 => true, 8015 => true, 8024 => true, 8026 => true, 8028 => true, 8030 => true, 8062 => true, 8063 => true, 8117 => true, 8133 => true, 8148 => true, 8149 => true, 8156 => true, 8176 => true, 8177 => true, 8181 => true, 8191 => true, 8206 => true, 8207 => true, 8228 => true, 8229 => true, 8230 => true, 8232 => true, 8233 => true, 8234 => true, 8235 => true, 8236 => true, 8237 => true, 8238 => true, 8289 => true, 8290 => true, 8291 => true, 8293 => true, 8294 => true, 8295 => true, 8296 => true, 8297 => true, 8298 => true, 8299 => true, 8300 => true, 8301 => true, 8302 => true, 8303 => true, 8306 => true, 8307 => true, 8335 => true, 8349 => true, 8350 => true, 8351 => true, 8384 => true, 8385 => true, 8386 => true, 8387 => true, 8388 => true, 8389 => true, 8390 => true, 8391 => true, 8392 => true, 8393 => true, 8394 => true, 8395 => true, 8396 => true, 8397 => true, 8398 => true, 8399 => true, 8433 => true, 8434 => true, 8435 => true, 8436 => true, 8437 => true, 8438 => true, 8439 => true, 8440 => true, 8441 => true, 8442 => true, 8443 => true, 8444 => true, 8445 => true, 8446 => true, 8447 => true, 8498 => true, 8579 => true, 8588 => true, 8589 => true, 8590 => true, 8591 => true, 9255 => true, 9256 => true, 9257 => true, 9258 => true, 9259 => true, 9260 => true, 9261 => true, 9262 => true, 9263 => true, 9264 => true, 9265 => true, 9266 => true, 9267 => true, 9268 => true, 9269 => true, 9270 => true, 9271 => true, 9272 => true, 9273 => true, 9274 => true, 9275 => true, 9276 => true, 9277 => true, 9278 => true, 9279 => true, 9291 => true, 9292 => true, 9293 => true, 9294 => true, 9295 => true, 9296 => true, 9297 => true, 9298 => true, 9299 => true, 9300 => true, 9301 => true, 9302 => true, 9303 => true, 9304 => true, 9305 => true, 9306 => true, 9307 => true, 9308 => true, 9309 => true, 9310 => true, 9311 => true, 9352 => true, 9353 => true, 9354 => true, 9355 => true, 9356 => true, 9357 => true, 9358 => true, 9359 => true, 9360 => true, 9361 => true, 9362 => true, 9363 => true, 9364 => true, 9365 => true, 9366 => true, 9367 => true, 9368 => true, 9369 => true, 9370 => true, 9371 => true, 11124 => true, 11125 => true, 11158 => true, 11311 => true, 11359 => true, 11508 => true, 11509 => true, 11510 => true, 11511 => true, 11512 => true, 11558 => true, 11560 => true, 11561 => true, 11562 => true, 11563 => true, 11564 => true, 11566 => true, 11567 => true, 11624 => true, 11625 => true, 11626 => true, 11627 => true, 11628 => true, 11629 => true, 11630 => true, 11633 => true, 11634 => true, 11635 => true, 11636 => true, 11637 => true, 11638 => true, 11639 => true, 11640 => true, 11641 => true, 11642 => true, 11643 => true, 11644 => true, 11645 => true, 11646 => true, 11671 => true, 11672 => true, 11673 => true, 11674 => true, 11675 => true, 11676 => true, 11677 => true, 11678 => true, 11679 => true, 11687 => true, 11695 => true, 11703 => true, 11711 => true, 11719 => true, 11727 => true, 11735 => true, 11743 => true, 11930 => true, 12020 => true, 12021 => true, 12022 => true, 12023 => true, 12024 => true, 12025 => true, 12026 => true, 12027 => true, 12028 => true, 12029 => true, 12030 => true, 12031 => true, 12246 => true, 12247 => true, 12248 => true, 12249 => true, 12250 => true, 12251 => true, 12252 => true, 12253 => true, 12254 => true, 12255 => true, 12256 => true, 12257 => true, 12258 => true, 12259 => true, 12260 => true, 12261 => true, 12262 => true, 12263 => true, 12264 => true, 12265 => true, 12266 => true, 12267 => true, 12268 => true, 12269 => true, 12270 => true, 12271 => true, 12272 => true, 12273 => true, 12274 => true, 12275 => true, 12276 => true, 12277 => true, 12278 => true, 12279 => true, 12280 => true, 12281 => true, 12282 => true, 12283 => true, 12284 => true, 12285 => true, 12286 => true, 12287 => true, 12352 => true, 12439 => true, 12440 => true, 12544 => true, 12545 => true, 12546 => true, 12547 => true, 12548 => true, 12592 => true, 12644 => true, 12687 => true, 12772 => true, 12773 => true, 12774 => true, 12775 => true, 12776 => true, 12777 => true, 12778 => true, 12779 => true, 12780 => true, 12781 => true, 12782 => true, 12783 => true, 12831 => true, 13250 => true, 13255 => true, 13272 => true, 40957 => true, 40958 => true, 40959 => true, 42125 => true, 42126 => true, 42127 => true, 42183 => true, 42184 => true, 42185 => true, 42186 => true, 42187 => true, 42188 => true, 42189 => true, 42190 => true, 42191 => true, 42540 => true, 42541 => true, 42542 => true, 42543 => true, 42544 => true, 42545 => true, 42546 => true, 42547 => true, 42548 => true, 42549 => true, 42550 => true, 42551 => true, 42552 => true, 42553 => true, 42554 => true, 42555 => true, 42556 => true, 42557 => true, 42558 => true, 42559 => true, 42744 => true, 42745 => true, 42746 => true, 42747 => true, 42748 => true, 42749 => true, 42750 => true, 42751 => true, 42944 => true, 42945 => true, 43053 => true, 43054 => true, 43055 => true, 43066 => true, 43067 => true, 43068 => true, 43069 => true, 43070 => true, 43071 => true, 43128 => true, 43129 => true, 43130 => true, 43131 => true, 43132 => true, 43133 => true, 43134 => true, 43135 => true, 43206 => true, 43207 => true, 43208 => true, 43209 => true, 43210 => true, 43211 => true, 43212 => true, 43213 => true, 43226 => true, 43227 => true, 43228 => true, 43229 => true, 43230 => true, 43231 => true, 43348 => true, 43349 => true, 43350 => true, 43351 => true, 43352 => true, 43353 => true, 43354 => true, 43355 => true, 43356 => true, 43357 => true, 43358 => true, 43389 => true, 43390 => true, 43391 => true, 43470 => true, 43482 => true, 43483 => true, 43484 => true, 43485 => true, 43519 => true, 43575 => true, 43576 => true, 43577 => true, 43578 => true, 43579 => true, 43580 => true, 43581 => true, 43582 => true, 43583 => true, 43598 => true, 43599 => true, 43610 => true, 43611 => true, 43715 => true, 43716 => true, 43717 => true, 43718 => true, 43719 => true, 43720 => true, 43721 => true, 43722 => true, 43723 => true, 43724 => true, 43725 => true, 43726 => true, 43727 => true, 43728 => true, 43729 => true, 43730 => true, 43731 => true, 43732 => true, 43733 => true, 43734 => true, 43735 => true, 43736 => true, 43737 => true, 43738 => true, 43767 => true, 43768 => true, 43769 => true, 43770 => true, 43771 => true, 43772 => true, 43773 => true, 43774 => true, 43775 => true, 43776 => true, 43783 => true, 43784 => true, 43791 => true, 43792 => true, 43799 => true, 43800 => true, 43801 => true, 43802 => true, 43803 => true, 43804 => true, 43805 => true, 43806 => true, 43807 => true, 43815 => true, 43823 => true, 43884 => true, 43885 => true, 43886 => true, 43887 => true, 44014 => true, 44015 => true, 44026 => true, 44027 => true, 44028 => true, 44029 => true, 44030 => true, 44031 => true, 55204 => true, 55205 => true, 55206 => true, 55207 => true, 55208 => true, 55209 => true, 55210 => true, 55211 => true, 55212 => true, 55213 => true, 55214 => true, 55215 => true, 55239 => true, 55240 => true, 55241 => true, 55242 => true, 55292 => true, 55293 => true, 55294 => true, 55295 => true, 64110 => true, 64111 => true, 64263 => true, 64264 => true, 64265 => true, 64266 => true, 64267 => true, 64268 => true, 64269 => true, 64270 => true, 64271 => true, 64272 => true, 64273 => true, 64274 => true, 64280 => true, 64281 => true, 64282 => true, 64283 => true, 64284 => true, 64311 => true, 64317 => true, 64319 => true, 64322 => true, 64325 => true, 64450 => true, 64451 => true, 64452 => true, 64453 => true, 64454 => true, 64455 => true, 64456 => true, 64457 => true, 64458 => true, 64459 => true, 64460 => true, 64461 => true, 64462 => true, 64463 => true, 64464 => true, 64465 => true, 64466 => true, 64832 => true, 64833 => true, 64834 => true, 64835 => true, 64836 => true, 64837 => true, 64838 => true, 64839 => true, 64840 => true, 64841 => true, 64842 => true, 64843 => true, 64844 => true, 64845 => true, 64846 => true, 64847 => true, 64912 => true, 64913 => true, 64968 => true, 64969 => true, 64970 => true, 64971 => true, 64972 => true, 64973 => true, 64974 => true, 64975 => true, 65022 => true, 65023 => true, 65042 => true, 65049 => true, 65050 => true, 65051 => true, 65052 => true, 65053 => true, 65054 => true, 65055 => true, 65072 => true, 65106 => true, 65107 => true, 65127 => true, 65132 => true, 65133 => true, 65134 => true, 65135 => true, 65141 => true, 65277 => true, 65278 => true, 65280 => true, 65440 => true, 65471 => true, 65472 => true, 65473 => true, 65480 => true, 65481 => true, 65488 => true, 65489 => true, 65496 => true, 65497 => true, 65501 => true, 65502 => true, 65503 => true, 65511 => true, 65519 => true, 65520 => true, 65521 => true, 65522 => true, 65523 => true, 65524 => true, 65525 => true, 65526 => true, 65527 => true, 65528 => true, 65529 => true, 65530 => true, 65531 => true, 65532 => true, 65533 => true, 65534 => true, 65535 => true, 65548 => true, 65575 => true, 65595 => true, 65598 => true, 65614 => true, 65615 => true, 65787 => true, 65788 => true, 65789 => true, 65790 => true, 65791 => true, 65795 => true, 65796 => true, 65797 => true, 65798 => true, 65844 => true, 65845 => true, 65846 => true, 65935 => true, 65949 => true, 65950 => true, 65951 => true, 66205 => true, 66206 => true, 66207 => true, 66257 => true, 66258 => true, 66259 => true, 66260 => true, 66261 => true, 66262 => true, 66263 => true, 66264 => true, 66265 => true, 66266 => true, 66267 => true, 66268 => true, 66269 => true, 66270 => true, 66271 => true, 66300 => true, 66301 => true, 66302 => true, 66303 => true, 66340 => true, 66341 => true, 66342 => true, 66343 => true, 66344 => true, 66345 => true, 66346 => true, 66347 => true, 66348 => true, 66379 => true, 66380 => true, 66381 => true, 66382 => true, 66383 => true, 66427 => true, 66428 => true, 66429 => true, 66430 => true, 66431 => true, 66462 => true, 66500 => true, 66501 => true, 66502 => true, 66503 => true, 66718 => true, 66719 => true, 66730 => true, 66731 => true, 66732 => true, 66733 => true, 66734 => true, 66735 => true, 66772 => true, 66773 => true, 66774 => true, 66775 => true, 66812 => true, 66813 => true, 66814 => true, 66815 => true, 66856 => true, 66857 => true, 66858 => true, 66859 => true, 66860 => true, 66861 => true, 66862 => true, 66863 => true, 66916 => true, 66917 => true, 66918 => true, 66919 => true, 66920 => true, 66921 => true, 66922 => true, 66923 => true, 66924 => true, 66925 => true, 66926 => true, 67383 => true, 67384 => true, 67385 => true, 67386 => true, 67387 => true, 67388 => true, 67389 => true, 67390 => true, 67391 => true, 67414 => true, 67415 => true, 67416 => true, 67417 => true, 67418 => true, 67419 => true, 67420 => true, 67421 => true, 67422 => true, 67423 => true, 67590 => true, 67591 => true, 67593 => true, 67638 => true, 67641 => true, 67642 => true, 67643 => true, 67645 => true, 67646 => true, 67670 => true, 67743 => true, 67744 => true, 67745 => true, 67746 => true, 67747 => true, 67748 => true, 67749 => true, 67750 => true, 67827 => true, 67830 => true, 67831 => true, 67832 => true, 67833 => true, 67834 => true, 67868 => true, 67869 => true, 67870 => true, 67898 => true, 67899 => true, 67900 => true, 67901 => true, 67902 => true, 68024 => true, 68025 => true, 68026 => true, 68027 => true, 68048 => true, 68049 => true, 68100 => true, 68103 => true, 68104 => true, 68105 => true, 68106 => true, 68107 => true, 68116 => true, 68120 => true, 68150 => true, 68151 => true, 68155 => true, 68156 => true, 68157 => true, 68158 => true, 68169 => true, 68170 => true, 68171 => true, 68172 => true, 68173 => true, 68174 => true, 68175 => true, 68185 => true, 68186 => true, 68187 => true, 68188 => true, 68189 => true, 68190 => true, 68191 => true, 68327 => true, 68328 => true, 68329 => true, 68330 => true, 68343 => true, 68344 => true, 68345 => true, 68346 => true, 68347 => true, 68348 => true, 68349 => true, 68350 => true, 68351 => true, 68406 => true, 68407 => true, 68408 => true, 68438 => true, 68439 => true, 68467 => true, 68468 => true, 68469 => true, 68470 => true, 68471 => true, 68498 => true, 68499 => true, 68500 => true, 68501 => true, 68502 => true, 68503 => true, 68504 => true, 68509 => true, 68510 => true, 68511 => true, 68512 => true, 68513 => true, 68514 => true, 68515 => true, 68516 => true, 68517 => true, 68518 => true, 68519 => true, 68520 => true, 68787 => true, 68788 => true, 68789 => true, 68790 => true, 68791 => true, 68792 => true, 68793 => true, 68794 => true, 68795 => true, 68796 => true, 68797 => true, 68798 => true, 68799 => true, 68851 => true, 68852 => true, 68853 => true, 68854 => true, 68855 => true, 68856 => true, 68857 => true, 68904 => true, 68905 => true, 68906 => true, 68907 => true, 68908 => true, 68909 => true, 68910 => true, 68911 => true, 69247 => true, 69290 => true, 69294 => true, 69295 => true, 69416 => true, 69417 => true, 69418 => true, 69419 => true, 69420 => true, 69421 => true, 69422 => true, 69423 => true, 69580 => true, 69581 => true, 69582 => true, 69583 => true, 69584 => true, 69585 => true, 69586 => true, 69587 => true, 69588 => true, 69589 => true, 69590 => true, 69591 => true, 69592 => true, 69593 => true, 69594 => true, 69595 => true, 69596 => true, 69597 => true, 69598 => true, 69599 => true, 69623 => true, 69624 => true, 69625 => true, 69626 => true, 69627 => true, 69628 => true, 69629 => true, 69630 => true, 69631 => true, 69710 => true, 69711 => true, 69712 => true, 69713 => true, 69744 => true, 69745 => true, 69746 => true, 69747 => true, 69748 => true, 69749 => true, 69750 => true, 69751 => true, 69752 => true, 69753 => true, 69754 => true, 69755 => true, 69756 => true, 69757 => true, 69758 => true, 69821 => true, 69826 => true, 69827 => true, 69828 => true, 69829 => true, 69830 => true, 69831 => true, 69832 => true, 69833 => true, 69834 => true, 69835 => true, 69836 => true, 69837 => true, 69838 => true, 69839 => true, 69865 => true, 69866 => true, 69867 => true, 69868 => true, 69869 => true, 69870 => true, 69871 => true, 69882 => true, 69883 => true, 69884 => true, 69885 => true, 69886 => true, 69887 => true, 69941 => true, 69960 => true, 69961 => true, 69962 => true, 69963 => true, 69964 => true, 69965 => true, 69966 => true, 69967 => true, 70007 => true, 70008 => true, 70009 => true, 70010 => true, 70011 => true, 70012 => true, 70013 => true, 70014 => true, 70015 => true, 70112 => true, 70133 => true, 70134 => true, 70135 => true, 70136 => true, 70137 => true, 70138 => true, 70139 => true, 70140 => true, 70141 => true, 70142 => true, 70143 => true, 70162 => true, 70279 => true, 70281 => true, 70286 => true, 70302 => true, 70314 => true, 70315 => true, 70316 => true, 70317 => true, 70318 => true, 70319 => true, 70379 => true, 70380 => true, 70381 => true, 70382 => true, 70383 => true, 70394 => true, 70395 => true, 70396 => true, 70397 => true, 70398 => true, 70399 => true, 70404 => true, 70413 => true, 70414 => true, 70417 => true, 70418 => true, 70441 => true, 70449 => true, 70452 => true, 70458 => true, 70469 => true, 70470 => true, 70473 => true, 70474 => true, 70478 => true, 70479 => true, 70481 => true, 70482 => true, 70483 => true, 70484 => true, 70485 => true, 70486 => true, 70488 => true, 70489 => true, 70490 => true, 70491 => true, 70492 => true, 70500 => true, 70501 => true, 70509 => true, 70510 => true, 70511 => true, 70748 => true, 70754 => true, 70755 => true, 70756 => true, 70757 => true, 70758 => true, 70759 => true, 70760 => true, 70761 => true, 70762 => true, 70763 => true, 70764 => true, 70765 => true, 70766 => true, 70767 => true, 70768 => true, 70769 => true, 70770 => true, 70771 => true, 70772 => true, 70773 => true, 70774 => true, 70775 => true, 70776 => true, 70777 => true, 70778 => true, 70779 => true, 70780 => true, 70781 => true, 70782 => true, 70783 => true, 70856 => true, 70857 => true, 70858 => true, 70859 => true, 70860 => true, 70861 => true, 70862 => true, 70863 => true, 71094 => true, 71095 => true, 71237 => true, 71238 => true, 71239 => true, 71240 => true, 71241 => true, 71242 => true, 71243 => true, 71244 => true, 71245 => true, 71246 => true, 71247 => true, 71258 => true, 71259 => true, 71260 => true, 71261 => true, 71262 => true, 71263 => true, 71277 => true, 71278 => true, 71279 => true, 71280 => true, 71281 => true, 71282 => true, 71283 => true, 71284 => true, 71285 => true, 71286 => true, 71287 => true, 71288 => true, 71289 => true, 71290 => true, 71291 => true, 71292 => true, 71293 => true, 71294 => true, 71295 => true, 71353 => true, 71354 => true, 71355 => true, 71356 => true, 71357 => true, 71358 => true, 71359 => true, 71451 => true, 71452 => true, 71468 => true, 71469 => true, 71470 => true, 71471 => true, 71923 => true, 71924 => true, 71925 => true, 71926 => true, 71927 => true, 71928 => true, 71929 => true, 71930 => true, 71931 => true, 71932 => true, 71933 => true, 71934 => true, 71943 => true, 71944 => true, 71946 => true, 71947 => true, 71956 => true, 71959 => true, 71990 => true, 71993 => true, 71994 => true, 72007 => true, 72008 => true, 72009 => true, 72010 => true, 72011 => true, 72012 => true, 72013 => true, 72014 => true, 72015 => true, 72104 => true, 72105 => true, 72152 => true, 72153 => true, 72165 => true, 72166 => true, 72167 => true, 72168 => true, 72169 => true, 72170 => true, 72171 => true, 72172 => true, 72173 => true, 72174 => true, 72175 => true, 72176 => true, 72177 => true, 72178 => true, 72179 => true, 72180 => true, 72181 => true, 72182 => true, 72183 => true, 72184 => true, 72185 => true, 72186 => true, 72187 => true, 72188 => true, 72189 => true, 72190 => true, 72191 => true, 72264 => true, 72265 => true, 72266 => true, 72267 => true, 72268 => true, 72269 => true, 72270 => true, 72271 => true, 72355 => true, 72356 => true, 72357 => true, 72358 => true, 72359 => true, 72360 => true, 72361 => true, 72362 => true, 72363 => true, 72364 => true, 72365 => true, 72366 => true, 72367 => true, 72368 => true, 72369 => true, 72370 => true, 72371 => true, 72372 => true, 72373 => true, 72374 => true, 72375 => true, 72376 => true, 72377 => true, 72378 => true, 72379 => true, 72380 => true, 72381 => true, 72382 => true, 72383 => true, 72713 => true, 72759 => true, 72774 => true, 72775 => true, 72776 => true, 72777 => true, 72778 => true, 72779 => true, 72780 => true, 72781 => true, 72782 => true, 72783 => true, 72813 => true, 72814 => true, 72815 => true, 72848 => true, 72849 => true, 72872 => true, 72967 => true, 72970 => true, 73015 => true, 73016 => true, 73017 => true, 73019 => true, 73022 => true, 73032 => true, 73033 => true, 73034 => true, 73035 => true, 73036 => true, 73037 => true, 73038 => true, 73039 => true, 73050 => true, 73051 => true, 73052 => true, 73053 => true, 73054 => true, 73055 => true, 73062 => true, 73065 => true, 73103 => true, 73106 => true, 73113 => true, 73114 => true, 73115 => true, 73116 => true, 73117 => true, 73118 => true, 73119 => true, 73649 => true, 73650 => true, 73651 => true, 73652 => true, 73653 => true, 73654 => true, 73655 => true, 73656 => true, 73657 => true, 73658 => true, 73659 => true, 73660 => true, 73661 => true, 73662 => true, 73663 => true, 73714 => true, 73715 => true, 73716 => true, 73717 => true, 73718 => true, 73719 => true, 73720 => true, 73721 => true, 73722 => true, 73723 => true, 73724 => true, 73725 => true, 73726 => true, 74863 => true, 74869 => true, 74870 => true, 74871 => true, 74872 => true, 74873 => true, 74874 => true, 74875 => true, 74876 => true, 74877 => true, 74878 => true, 74879 => true, 78895 => true, 78896 => true, 78897 => true, 78898 => true, 78899 => true, 78900 => true, 78901 => true, 78902 => true, 78903 => true, 78904 => true, 92729 => true, 92730 => true, 92731 => true, 92732 => true, 92733 => true, 92734 => true, 92735 => true, 92767 => true, 92778 => true, 92779 => true, 92780 => true, 92781 => true, 92910 => true, 92911 => true, 92918 => true, 92919 => true, 92920 => true, 92921 => true, 92922 => true, 92923 => true, 92924 => true, 92925 => true, 92926 => true, 92927 => true, 92998 => true, 92999 => true, 93000 => true, 93001 => true, 93002 => true, 93003 => true, 93004 => true, 93005 => true, 93006 => true, 93007 => true, 93018 => true, 93026 => true, 93048 => true, 93049 => true, 93050 => true, 93051 => true, 93052 => true, 94027 => true, 94028 => true, 94029 => true, 94030 => true, 94088 => true, 94089 => true, 94090 => true, 94091 => true, 94092 => true, 94093 => true, 94094 => true, 94181 => true, 94182 => true, 94183 => true, 94184 => true, 94185 => true, 94186 => true, 94187 => true, 94188 => true, 94189 => true, 94190 => true, 94191 => true, 94194 => true, 94195 => true, 94196 => true, 94197 => true, 94198 => true, 94199 => true, 94200 => true, 94201 => true, 94202 => true, 94203 => true, 94204 => true, 94205 => true, 94206 => true, 94207 => true, 100344 => true, 100345 => true, 100346 => true, 100347 => true, 100348 => true, 100349 => true, 100350 => true, 100351 => true, 110931 => true, 110932 => true, 110933 => true, 110934 => true, 110935 => true, 110936 => true, 110937 => true, 110938 => true, 110939 => true, 110940 => true, 110941 => true, 110942 => true, 110943 => true, 110944 => true, 110945 => true, 110946 => true, 110947 => true, 110952 => true, 110953 => true, 110954 => true, 110955 => true, 110956 => true, 110957 => true, 110958 => true, 110959 => true, 113771 => true, 113772 => true, 113773 => true, 113774 => true, 113775 => true, 113789 => true, 113790 => true, 113791 => true, 113801 => true, 113802 => true, 113803 => true, 113804 => true, 113805 => true, 113806 => true, 113807 => true, 113818 => true, 113819 => true, 119030 => true, 119031 => true, 119032 => true, 119033 => true, 119034 => true, 119035 => true, 119036 => true, 119037 => true, 119038 => true, 119039 => true, 119079 => true, 119080 => true, 119155 => true, 119156 => true, 119157 => true, 119158 => true, 119159 => true, 119160 => true, 119161 => true, 119162 => true, 119273 => true, 119274 => true, 119275 => true, 119276 => true, 119277 => true, 119278 => true, 119279 => true, 119280 => true, 119281 => true, 119282 => true, 119283 => true, 119284 => true, 119285 => true, 119286 => true, 119287 => true, 119288 => true, 119289 => true, 119290 => true, 119291 => true, 119292 => true, 119293 => true, 119294 => true, 119295 => true, 119540 => true, 119541 => true, 119542 => true, 119543 => true, 119544 => true, 119545 => true, 119546 => true, 119547 => true, 119548 => true, 119549 => true, 119550 => true, 119551 => true, 119639 => true, 119640 => true, 119641 => true, 119642 => true, 119643 => true, 119644 => true, 119645 => true, 119646 => true, 119647 => true, 119893 => true, 119965 => true, 119968 => true, 119969 => true, 119971 => true, 119972 => true, 119975 => true, 119976 => true, 119981 => true, 119994 => true, 119996 => true, 120004 => true, 120070 => true, 120075 => true, 120076 => true, 120085 => true, 120093 => true, 120122 => true, 120127 => true, 120133 => true, 120135 => true, 120136 => true, 120137 => true, 120145 => true, 120486 => true, 120487 => true, 120780 => true, 120781 => true, 121484 => true, 121485 => true, 121486 => true, 121487 => true, 121488 => true, 121489 => true, 121490 => true, 121491 => true, 121492 => true, 121493 => true, 121494 => true, 121495 => true, 121496 => true, 121497 => true, 121498 => true, 121504 => true, 122887 => true, 122905 => true, 122906 => true, 122914 => true, 122917 => true, 123181 => true, 123182 => true, 123183 => true, 123198 => true, 123199 => true, 123210 => true, 123211 => true, 123212 => true, 123213 => true, 123642 => true, 123643 => true, 123644 => true, 123645 => true, 123646 => true, 125125 => true, 125126 => true, 125260 => true, 125261 => true, 125262 => true, 125263 => true, 125274 => true, 125275 => true, 125276 => true, 125277 => true, 126468 => true, 126496 => true, 126499 => true, 126501 => true, 126502 => true, 126504 => true, 126515 => true, 126520 => true, 126522 => true, 126524 => true, 126525 => true, 126526 => true, 126527 => true, 126528 => true, 126529 => true, 126531 => true, 126532 => true, 126533 => true, 126534 => true, 126536 => true, 126538 => true, 126540 => true, 126544 => true, 126547 => true, 126549 => true, 126550 => true, 126552 => true, 126554 => true, 126556 => true, 126558 => true, 126560 => true, 126563 => true, 126565 => true, 126566 => true, 126571 => true, 126579 => true, 126584 => true, 126589 => true, 126591 => true, 126602 => true, 126620 => true, 126621 => true, 126622 => true, 126623 => true, 126624 => true, 126628 => true, 126634 => true, 127020 => true, 127021 => true, 127022 => true, 127023 => true, 127124 => true, 127125 => true, 127126 => true, 127127 => true, 127128 => true, 127129 => true, 127130 => true, 127131 => true, 127132 => true, 127133 => true, 127134 => true, 127135 => true, 127151 => true, 127152 => true, 127168 => true, 127184 => true, 127222 => true, 127223 => true, 127224 => true, 127225 => true, 127226 => true, 127227 => true, 127228 => true, 127229 => true, 127230 => true, 127231 => true, 127232 => true, 127491 => true, 127492 => true, 127493 => true, 127494 => true, 127495 => true, 127496 => true, 127497 => true, 127498 => true, 127499 => true, 127500 => true, 127501 => true, 127502 => true, 127503 => true, 127548 => true, 127549 => true, 127550 => true, 127551 => true, 127561 => true, 127562 => true, 127563 => true, 127564 => true, 127565 => true, 127566 => true, 127567 => true, 127570 => true, 127571 => true, 127572 => true, 127573 => true, 127574 => true, 127575 => true, 127576 => true, 127577 => true, 127578 => true, 127579 => true, 127580 => true, 127581 => true, 127582 => true, 127583 => true, 128728 => true, 128729 => true, 128730 => true, 128731 => true, 128732 => true, 128733 => true, 128734 => true, 128735 => true, 128749 => true, 128750 => true, 128751 => true, 128765 => true, 128766 => true, 128767 => true, 128884 => true, 128885 => true, 128886 => true, 128887 => true, 128888 => true, 128889 => true, 128890 => true, 128891 => true, 128892 => true, 128893 => true, 128894 => true, 128895 => true, 128985 => true, 128986 => true, 128987 => true, 128988 => true, 128989 => true, 128990 => true, 128991 => true, 129004 => true, 129005 => true, 129006 => true, 129007 => true, 129008 => true, 129009 => true, 129010 => true, 129011 => true, 129012 => true, 129013 => true, 129014 => true, 129015 => true, 129016 => true, 129017 => true, 129018 => true, 129019 => true, 129020 => true, 129021 => true, 129022 => true, 129023 => true, 129036 => true, 129037 => true, 129038 => true, 129039 => true, 129096 => true, 129097 => true, 129098 => true, 129099 => true, 129100 => true, 129101 => true, 129102 => true, 129103 => true, 129114 => true, 129115 => true, 129116 => true, 129117 => true, 129118 => true, 129119 => true, 129160 => true, 129161 => true, 129162 => true, 129163 => true, 129164 => true, 129165 => true, 129166 => true, 129167 => true, 129198 => true, 129199 => true, 129401 => true, 129484 => true, 129620 => true, 129621 => true, 129622 => true, 129623 => true, 129624 => true, 129625 => true, 129626 => true, 129627 => true, 129628 => true, 129629 => true, 129630 => true, 129631 => true, 129646 => true, 129647 => true, 129653 => true, 129654 => true, 129655 => true, 129659 => true, 129660 => true, 129661 => true, 129662 => true, 129663 => true, 129671 => true, 129672 => true, 129673 => true, 129674 => true, 129675 => true, 129676 => true, 129677 => true, 129678 => true, 129679 => true, 129705 => true, 129706 => true, 129707 => true, 129708 => true, 129709 => true, 129710 => true, 129711 => true, 129719 => true, 129720 => true, 129721 => true, 129722 => true, 129723 => true, 129724 => true, 129725 => true, 129726 => true, 129727 => true, 129731 => true, 129732 => true, 129733 => true, 129734 => true, 129735 => true, 129736 => true, 129737 => true, 129738 => true, 129739 => true, 129740 => true, 129741 => true, 129742 => true, 129743 => true, 129939 => true, 131070 => true, 131071 => true, 177973 => true, 177974 => true, 177975 => true, 177976 => true, 177977 => true, 177978 => true, 177979 => true, 177980 => true, 177981 => true, 177982 => true, 177983 => true, 178206 => true, 178207 => true, 183970 => true, 183971 => true, 183972 => true, 183973 => true, 183974 => true, 183975 => true, 183976 => true, 183977 => true, 183978 => true, 183979 => true, 183980 => true, 183981 => true, 183982 => true, 183983 => true, 194664 => true, 194676 => true, 194847 => true, 194911 => true, 195007 => true, 196606 => true, 196607 => true, 262142 => true, 262143 => true, 327678 => true, 327679 => true, 393214 => true, 393215 => true, 458750 => true, 458751 => true, 524286 => true, 524287 => true, 589822 => true, 589823 => true, 655358 => true, 655359 => true, 720894 => true, 720895 => true, 786430 => true, 786431 => true, 851966 => true, 851967 => true, 917502 => true, 917503 => true, 917504 => true, 917505 => true, 917506 => true, 917507 => true, 917508 => true, 917509 => true, 917510 => true, 917511 => true, 917512 => true, 917513 => true, 917514 => true, 917515 => true, 917516 => true, 917517 => true, 917518 => true, 917519 => true, 917520 => true, 917521 => true, 917522 => true, 917523 => true, 917524 => true, 917525 => true, 917526 => true, 917527 => true, 917528 => true, 917529 => true, 917530 => true, 917531 => true, 917532 => true, 917533 => true, 917534 => true, 917535 => true, 983038 => true, 983039 => true, 1048574 => true, 1048575 => true, 1114110 => true, 1114111 => true, ); vendor/symfony/polyfill-intl-idn/Resources/unidata/Regex.php000064400000304012147400355670020310 0ustar00 ' ', 168 => ' ̈', 175 => ' ̄', 180 => ' ́', 184 => ' ̧', 728 => ' ̆', 729 => ' ̇', 730 => ' ̊', 731 => ' ̨', 732 => ' ̃', 733 => ' ̋', 890 => ' ι', 894 => ';', 900 => ' ́', 901 => ' ̈́', 8125 => ' ̓', 8127 => ' ̓', 8128 => ' ͂', 8129 => ' ̈͂', 8141 => ' ̓̀', 8142 => ' ̓́', 8143 => ' ̓͂', 8157 => ' ̔̀', 8158 => ' ̔́', 8159 => ' ̔͂', 8173 => ' ̈̀', 8174 => ' ̈́', 8175 => '`', 8189 => ' ́', 8190 => ' ̔', 8192 => ' ', 8193 => ' ', 8194 => ' ', 8195 => ' ', 8196 => ' ', 8197 => ' ', 8198 => ' ', 8199 => ' ', 8200 => ' ', 8201 => ' ', 8202 => ' ', 8215 => ' ̳', 8239 => ' ', 8252 => '!!', 8254 => ' ̅', 8263 => '??', 8264 => '?!', 8265 => '!?', 8287 => ' ', 8314 => '+', 8316 => '=', 8317 => '(', 8318 => ')', 8330 => '+', 8332 => '=', 8333 => '(', 8334 => ')', 8448 => 'a/c', 8449 => 'a/s', 8453 => 'c/o', 8454 => 'c/u', 9332 => '(1)', 9333 => '(2)', 9334 => '(3)', 9335 => '(4)', 9336 => '(5)', 9337 => '(6)', 9338 => '(7)', 9339 => '(8)', 9340 => '(9)', 9341 => '(10)', 9342 => '(11)', 9343 => '(12)', 9344 => '(13)', 9345 => '(14)', 9346 => '(15)', 9347 => '(16)', 9348 => '(17)', 9349 => '(18)', 9350 => '(19)', 9351 => '(20)', 9372 => '(a)', 9373 => '(b)', 9374 => '(c)', 9375 => '(d)', 9376 => '(e)', 9377 => '(f)', 9378 => '(g)', 9379 => '(h)', 9380 => '(i)', 9381 => '(j)', 9382 => '(k)', 9383 => '(l)', 9384 => '(m)', 9385 => '(n)', 9386 => '(o)', 9387 => '(p)', 9388 => '(q)', 9389 => '(r)', 9390 => '(s)', 9391 => '(t)', 9392 => '(u)', 9393 => '(v)', 9394 => '(w)', 9395 => '(x)', 9396 => '(y)', 9397 => '(z)', 10868 => '::=', 10869 => '==', 10870 => '===', 12288 => ' ', 12443 => ' ゙', 12444 => ' ゚', 12800 => '(ᄀ)', 12801 => '(ᄂ)', 12802 => '(ᄃ)', 12803 => '(ᄅ)', 12804 => '(ᄆ)', 12805 => '(ᄇ)', 12806 => '(ᄉ)', 12807 => '(ᄋ)', 12808 => '(ᄌ)', 12809 => '(ᄎ)', 12810 => '(ᄏ)', 12811 => '(ᄐ)', 12812 => '(ᄑ)', 12813 => '(ᄒ)', 12814 => '(가)', 12815 => '(나)', 12816 => '(다)', 12817 => '(라)', 12818 => '(마)', 12819 => '(바)', 12820 => '(사)', 12821 => '(아)', 12822 => '(자)', 12823 => '(차)', 12824 => '(카)', 12825 => '(타)', 12826 => '(파)', 12827 => '(하)', 12828 => '(주)', 12829 => '(오전)', 12830 => '(오후)', 12832 => '(一)', 12833 => '(二)', 12834 => '(三)', 12835 => '(四)', 12836 => '(五)', 12837 => '(六)', 12838 => '(七)', 12839 => '(八)', 12840 => '(九)', 12841 => '(十)', 12842 => '(月)', 12843 => '(火)', 12844 => '(水)', 12845 => '(木)', 12846 => '(金)', 12847 => '(土)', 12848 => '(日)', 12849 => '(株)', 12850 => '(有)', 12851 => '(社)', 12852 => '(名)', 12853 => '(特)', 12854 => '(財)', 12855 => '(祝)', 12856 => '(労)', 12857 => '(代)', 12858 => '(呼)', 12859 => '(学)', 12860 => '(監)', 12861 => '(企)', 12862 => '(資)', 12863 => '(協)', 12864 => '(祭)', 12865 => '(休)', 12866 => '(自)', 12867 => '(至)', 64297 => '+', 64606 => ' ٌّ', 64607 => ' ٍّ', 64608 => ' َّ', 64609 => ' ُّ', 64610 => ' ِّ', 64611 => ' ّٰ', 65018 => 'صلى الله عليه وسلم', 65019 => 'جل جلاله', 65040 => ',', 65043 => ':', 65044 => ';', 65045 => '!', 65046 => '?', 65075 => '_', 65076 => '_', 65077 => '(', 65078 => ')', 65079 => '{', 65080 => '}', 65095 => '[', 65096 => ']', 65097 => ' ̅', 65098 => ' ̅', 65099 => ' ̅', 65100 => ' ̅', 65101 => '_', 65102 => '_', 65103 => '_', 65104 => ',', 65108 => ';', 65109 => ':', 65110 => '?', 65111 => '!', 65113 => '(', 65114 => ')', 65115 => '{', 65116 => '}', 65119 => '#', 65120 => '&', 65121 => '*', 65122 => '+', 65124 => '<', 65125 => '>', 65126 => '=', 65128 => '\\', 65129 => '$', 65130 => '%', 65131 => '@', 65136 => ' ً', 65138 => ' ٌ', 65140 => ' ٍ', 65142 => ' َ', 65144 => ' ُ', 65146 => ' ِ', 65148 => ' ّ', 65150 => ' ْ', 65281 => '!', 65282 => '"', 65283 => '#', 65284 => '$', 65285 => '%', 65286 => '&', 65287 => '\'', 65288 => '(', 65289 => ')', 65290 => '*', 65291 => '+', 65292 => ',', 65295 => '/', 65306 => ':', 65307 => ';', 65308 => '<', 65309 => '=', 65310 => '>', 65311 => '?', 65312 => '@', 65339 => '[', 65340 => '\\', 65341 => ']', 65342 => '^', 65343 => '_', 65344 => '`', 65371 => '{', 65372 => '|', 65373 => '}', 65374 => '~', 65507 => ' ̄', 127233 => '0,', 127234 => '1,', 127235 => '2,', 127236 => '3,', 127237 => '4,', 127238 => '5,', 127239 => '6,', 127240 => '7,', 127241 => '8,', 127242 => '9,', 127248 => '(a)', 127249 => '(b)', 127250 => '(c)', 127251 => '(d)', 127252 => '(e)', 127253 => '(f)', 127254 => '(g)', 127255 => '(h)', 127256 => '(i)', 127257 => '(j)', 127258 => '(k)', 127259 => '(l)', 127260 => '(m)', 127261 => '(n)', 127262 => '(o)', 127263 => '(p)', 127264 => '(q)', 127265 => '(r)', 127266 => '(s)', 127267 => '(t)', 127268 => '(u)', 127269 => '(v)', 127270 => '(w)', 127271 => '(x)', 127272 => '(y)', 127273 => '(z)', ); vendor/symfony/polyfill-intl-idn/Resources/unidata/deviation.php000064400000000123147400355670021214 0ustar00 'ss', 962 => 'σ', 8204 => '', 8205 => '', ); vendor/symfony/polyfill-intl-idn/Resources/unidata/mapped.php000064400000311513147400355670020510 0ustar00 'a', 66 => 'b', 67 => 'c', 68 => 'd', 69 => 'e', 70 => 'f', 71 => 'g', 72 => 'h', 73 => 'i', 74 => 'j', 75 => 'k', 76 => 'l', 77 => 'm', 78 => 'n', 79 => 'o', 80 => 'p', 81 => 'q', 82 => 'r', 83 => 's', 84 => 't', 85 => 'u', 86 => 'v', 87 => 'w', 88 => 'x', 89 => 'y', 90 => 'z', 170 => 'a', 178 => '2', 179 => '3', 181 => 'μ', 185 => '1', 186 => 'o', 188 => '1⁄4', 189 => '1⁄2', 190 => '3⁄4', 192 => 'à', 193 => 'á', 194 => 'â', 195 => 'ã', 196 => 'ä', 197 => 'å', 198 => 'æ', 199 => 'ç', 200 => 'è', 201 => 'é', 202 => 'ê', 203 => 'ë', 204 => 'ì', 205 => 'í', 206 => 'î', 207 => 'ï', 208 => 'ð', 209 => 'ñ', 210 => 'ò', 211 => 'ó', 212 => 'ô', 213 => 'õ', 214 => 'ö', 216 => 'ø', 217 => 'ù', 218 => 'ú', 219 => 'û', 220 => 'ü', 221 => 'ý', 222 => 'þ', 256 => 'ā', 258 => 'ă', 260 => 'ą', 262 => 'ć', 264 => 'ĉ', 266 => 'ċ', 268 => 'č', 270 => 'ď', 272 => 'đ', 274 => 'ē', 276 => 'ĕ', 278 => 'ė', 280 => 'ę', 282 => 'ě', 284 => 'ĝ', 286 => 'ğ', 288 => 'ġ', 290 => 'ģ', 292 => 'ĥ', 294 => 'ħ', 296 => 'ĩ', 298 => 'ī', 300 => 'ĭ', 302 => 'į', 304 => 'i̇', 306 => 'ij', 307 => 'ij', 308 => 'ĵ', 310 => 'ķ', 313 => 'ĺ', 315 => 'ļ', 317 => 'ľ', 319 => 'l·', 320 => 'l·', 321 => 'ł', 323 => 'ń', 325 => 'ņ', 327 => 'ň', 329 => 'ʼn', 330 => 'ŋ', 332 => 'ō', 334 => 'ŏ', 336 => 'ő', 338 => 'œ', 340 => 'ŕ', 342 => 'ŗ', 344 => 'ř', 346 => 'ś', 348 => 'ŝ', 350 => 'ş', 352 => 'š', 354 => 'ţ', 356 => 'ť', 358 => 'ŧ', 360 => 'ũ', 362 => 'ū', 364 => 'ŭ', 366 => 'ů', 368 => 'ű', 370 => 'ų', 372 => 'ŵ', 374 => 'ŷ', 376 => 'ÿ', 377 => 'ź', 379 => 'ż', 381 => 'ž', 383 => 's', 385 => 'ɓ', 386 => 'ƃ', 388 => 'ƅ', 390 => 'ɔ', 391 => 'ƈ', 393 => 'ɖ', 394 => 'ɗ', 395 => 'ƌ', 398 => 'ǝ', 399 => 'ə', 400 => 'ɛ', 401 => 'ƒ', 403 => 'ɠ', 404 => 'ɣ', 406 => 'ɩ', 407 => 'ɨ', 408 => 'ƙ', 412 => 'ɯ', 413 => 'ɲ', 415 => 'ɵ', 416 => 'ơ', 418 => 'ƣ', 420 => 'ƥ', 422 => 'ʀ', 423 => 'ƨ', 425 => 'ʃ', 428 => 'ƭ', 430 => 'ʈ', 431 => 'ư', 433 => 'ʊ', 434 => 'ʋ', 435 => 'ƴ', 437 => 'ƶ', 439 => 'ʒ', 440 => 'ƹ', 444 => 'ƽ', 452 => 'dž', 453 => 'dž', 454 => 'dž', 455 => 'lj', 456 => 'lj', 457 => 'lj', 458 => 'nj', 459 => 'nj', 460 => 'nj', 461 => 'ǎ', 463 => 'ǐ', 465 => 'ǒ', 467 => 'ǔ', 469 => 'ǖ', 471 => 'ǘ', 473 => 'ǚ', 475 => 'ǜ', 478 => 'ǟ', 480 => 'ǡ', 482 => 'ǣ', 484 => 'ǥ', 486 => 'ǧ', 488 => 'ǩ', 490 => 'ǫ', 492 => 'ǭ', 494 => 'ǯ', 497 => 'dz', 498 => 'dz', 499 => 'dz', 500 => 'ǵ', 502 => 'ƕ', 503 => 'ƿ', 504 => 'ǹ', 506 => 'ǻ', 508 => 'ǽ', 510 => 'ǿ', 512 => 'ȁ', 514 => 'ȃ', 516 => 'ȅ', 518 => 'ȇ', 520 => 'ȉ', 522 => 'ȋ', 524 => 'ȍ', 526 => 'ȏ', 528 => 'ȑ', 530 => 'ȓ', 532 => 'ȕ', 534 => 'ȗ', 536 => 'ș', 538 => 'ț', 540 => 'ȝ', 542 => 'ȟ', 544 => 'ƞ', 546 => 'ȣ', 548 => 'ȥ', 550 => 'ȧ', 552 => 'ȩ', 554 => 'ȫ', 556 => 'ȭ', 558 => 'ȯ', 560 => 'ȱ', 562 => 'ȳ', 570 => 'ⱥ', 571 => 'ȼ', 573 => 'ƚ', 574 => 'ⱦ', 577 => 'ɂ', 579 => 'ƀ', 580 => 'ʉ', 581 => 'ʌ', 582 => 'ɇ', 584 => 'ɉ', 586 => 'ɋ', 588 => 'ɍ', 590 => 'ɏ', 688 => 'h', 689 => 'ɦ', 690 => 'j', 691 => 'r', 692 => 'ɹ', 693 => 'ɻ', 694 => 'ʁ', 695 => 'w', 696 => 'y', 736 => 'ɣ', 737 => 'l', 738 => 's', 739 => 'x', 740 => 'ʕ', 832 => '̀', 833 => '́', 835 => '̓', 836 => '̈́', 837 => 'ι', 880 => 'ͱ', 882 => 'ͳ', 884 => 'ʹ', 886 => 'ͷ', 895 => 'ϳ', 902 => 'ά', 903 => '·', 904 => 'έ', 905 => 'ή', 906 => 'ί', 908 => 'ό', 910 => 'ύ', 911 => 'ώ', 913 => 'α', 914 => 'β', 915 => 'γ', 916 => 'δ', 917 => 'ε', 918 => 'ζ', 919 => 'η', 920 => 'θ', 921 => 'ι', 922 => 'κ', 923 => 'λ', 924 => 'μ', 925 => 'ν', 926 => 'ξ', 927 => 'ο', 928 => 'π', 929 => 'ρ', 931 => 'σ', 932 => 'τ', 933 => 'υ', 934 => 'φ', 935 => 'χ', 936 => 'ψ', 937 => 'ω', 938 => 'ϊ', 939 => 'ϋ', 975 => 'ϗ', 976 => 'β', 977 => 'θ', 978 => 'υ', 979 => 'ύ', 980 => 'ϋ', 981 => 'φ', 982 => 'π', 984 => 'ϙ', 986 => 'ϛ', 988 => 'ϝ', 990 => 'ϟ', 992 => 'ϡ', 994 => 'ϣ', 996 => 'ϥ', 998 => 'ϧ', 1000 => 'ϩ', 1002 => 'ϫ', 1004 => 'ϭ', 1006 => 'ϯ', 1008 => 'κ', 1009 => 'ρ', 1010 => 'σ', 1012 => 'θ', 1013 => 'ε', 1015 => 'ϸ', 1017 => 'σ', 1018 => 'ϻ', 1021 => 'ͻ', 1022 => 'ͼ', 1023 => 'ͽ', 1024 => 'ѐ', 1025 => 'ё', 1026 => 'ђ', 1027 => 'ѓ', 1028 => 'є', 1029 => 'ѕ', 1030 => 'і', 1031 => 'ї', 1032 => 'ј', 1033 => 'љ', 1034 => 'њ', 1035 => 'ћ', 1036 => 'ќ', 1037 => 'ѝ', 1038 => 'ў', 1039 => 'џ', 1040 => 'а', 1041 => 'б', 1042 => 'в', 1043 => 'г', 1044 => 'д', 1045 => 'е', 1046 => 'ж', 1047 => 'з', 1048 => 'и', 1049 => 'й', 1050 => 'к', 1051 => 'л', 1052 => 'м', 1053 => 'н', 1054 => 'о', 1055 => 'п', 1056 => 'р', 1057 => 'с', 1058 => 'т', 1059 => 'у', 1060 => 'ф', 1061 => 'х', 1062 => 'ц', 1063 => 'ч', 1064 => 'ш', 1065 => 'щ', 1066 => 'ъ', 1067 => 'ы', 1068 => 'ь', 1069 => 'э', 1070 => 'ю', 1071 => 'я', 1120 => 'ѡ', 1122 => 'ѣ', 1124 => 'ѥ', 1126 => 'ѧ', 1128 => 'ѩ', 1130 => 'ѫ', 1132 => 'ѭ', 1134 => 'ѯ', 1136 => 'ѱ', 1138 => 'ѳ', 1140 => 'ѵ', 1142 => 'ѷ', 1144 => 'ѹ', 1146 => 'ѻ', 1148 => 'ѽ', 1150 => 'ѿ', 1152 => 'ҁ', 1162 => 'ҋ', 1164 => 'ҍ', 1166 => 'ҏ', 1168 => 'ґ', 1170 => 'ғ', 1172 => 'ҕ', 1174 => 'җ', 1176 => 'ҙ', 1178 => 'қ', 1180 => 'ҝ', 1182 => 'ҟ', 1184 => 'ҡ', 1186 => 'ң', 1188 => 'ҥ', 1190 => 'ҧ', 1192 => 'ҩ', 1194 => 'ҫ', 1196 => 'ҭ', 1198 => 'ү', 1200 => 'ұ', 1202 => 'ҳ', 1204 => 'ҵ', 1206 => 'ҷ', 1208 => 'ҹ', 1210 => 'һ', 1212 => 'ҽ', 1214 => 'ҿ', 1217 => 'ӂ', 1219 => 'ӄ', 1221 => 'ӆ', 1223 => 'ӈ', 1225 => 'ӊ', 1227 => 'ӌ', 1229 => 'ӎ', 1232 => 'ӑ', 1234 => 'ӓ', 1236 => 'ӕ', 1238 => 'ӗ', 1240 => 'ә', 1242 => 'ӛ', 1244 => 'ӝ', 1246 => 'ӟ', 1248 => 'ӡ', 1250 => 'ӣ', 1252 => 'ӥ', 1254 => 'ӧ', 1256 => 'ө', 1258 => 'ӫ', 1260 => 'ӭ', 1262 => 'ӯ', 1264 => 'ӱ', 1266 => 'ӳ', 1268 => 'ӵ', 1270 => 'ӷ', 1272 => 'ӹ', 1274 => 'ӻ', 1276 => 'ӽ', 1278 => 'ӿ', 1280 => 'ԁ', 1282 => 'ԃ', 1284 => 'ԅ', 1286 => 'ԇ', 1288 => 'ԉ', 1290 => 'ԋ', 1292 => 'ԍ', 1294 => 'ԏ', 1296 => 'ԑ', 1298 => 'ԓ', 1300 => 'ԕ', 1302 => 'ԗ', 1304 => 'ԙ', 1306 => 'ԛ', 1308 => 'ԝ', 1310 => 'ԟ', 1312 => 'ԡ', 1314 => 'ԣ', 1316 => 'ԥ', 1318 => 'ԧ', 1320 => 'ԩ', 1322 => 'ԫ', 1324 => 'ԭ', 1326 => 'ԯ', 1329 => 'ա', 1330 => 'բ', 1331 => 'գ', 1332 => 'դ', 1333 => 'ե', 1334 => 'զ', 1335 => 'է', 1336 => 'ը', 1337 => 'թ', 1338 => 'ժ', 1339 => 'ի', 1340 => 'լ', 1341 => 'խ', 1342 => 'ծ', 1343 => 'կ', 1344 => 'հ', 1345 => 'ձ', 1346 => 'ղ', 1347 => 'ճ', 1348 => 'մ', 1349 => 'յ', 1350 => 'ն', 1351 => 'շ', 1352 => 'ո', 1353 => 'չ', 1354 => 'պ', 1355 => 'ջ', 1356 => 'ռ', 1357 => 'ս', 1358 => 'վ', 1359 => 'տ', 1360 => 'ր', 1361 => 'ց', 1362 => 'ւ', 1363 => 'փ', 1364 => 'ք', 1365 => 'օ', 1366 => 'ֆ', 1415 => 'եւ', 1653 => 'اٴ', 1654 => 'وٴ', 1655 => 'ۇٴ', 1656 => 'يٴ', 2392 => 'क़', 2393 => 'ख़', 2394 => 'ग़', 2395 => 'ज़', 2396 => 'ड़', 2397 => 'ढ़', 2398 => 'फ़', 2399 => 'य़', 2524 => 'ড়', 2525 => 'ঢ়', 2527 => 'য়', 2611 => 'ਲ਼', 2614 => 'ਸ਼', 2649 => 'ਖ਼', 2650 => 'ਗ਼', 2651 => 'ਜ਼', 2654 => 'ਫ਼', 2908 => 'ଡ଼', 2909 => 'ଢ଼', 3635 => 'ํา', 3763 => 'ໍາ', 3804 => 'ຫນ', 3805 => 'ຫມ', 3852 => '་', 3907 => 'གྷ', 3917 => 'ཌྷ', 3922 => 'དྷ', 3927 => 'བྷ', 3932 => 'ཛྷ', 3945 => 'ཀྵ', 3955 => 'ཱི', 3957 => 'ཱུ', 3958 => 'ྲྀ', 3959 => 'ྲཱྀ', 3960 => 'ླྀ', 3961 => 'ླཱྀ', 3969 => 'ཱྀ', 3987 => 'ྒྷ', 3997 => 'ྜྷ', 4002 => 'ྡྷ', 4007 => 'ྦྷ', 4012 => 'ྫྷ', 4025 => 'ྐྵ', 4295 => 'ⴧ', 4301 => 'ⴭ', 4348 => 'ნ', 5112 => 'Ᏸ', 5113 => 'Ᏹ', 5114 => 'Ᏺ', 5115 => 'Ᏻ', 5116 => 'Ᏼ', 5117 => 'Ᏽ', 7296 => 'в', 7297 => 'д', 7298 => 'о', 7299 => 'с', 7300 => 'т', 7301 => 'т', 7302 => 'ъ', 7303 => 'ѣ', 7304 => 'ꙋ', 7312 => 'ა', 7313 => 'ბ', 7314 => 'გ', 7315 => 'დ', 7316 => 'ე', 7317 => 'ვ', 7318 => 'ზ', 7319 => 'თ', 7320 => 'ი', 7321 => 'კ', 7322 => 'ლ', 7323 => 'მ', 7324 => 'ნ', 7325 => 'ო', 7326 => 'პ', 7327 => 'ჟ', 7328 => 'რ', 7329 => 'ს', 7330 => 'ტ', 7331 => 'უ', 7332 => 'ფ', 7333 => 'ქ', 7334 => 'ღ', 7335 => 'ყ', 7336 => 'შ', 7337 => 'ჩ', 7338 => 'ც', 7339 => 'ძ', 7340 => 'წ', 7341 => 'ჭ', 7342 => 'ხ', 7343 => 'ჯ', 7344 => 'ჰ', 7345 => 'ჱ', 7346 => 'ჲ', 7347 => 'ჳ', 7348 => 'ჴ', 7349 => 'ჵ', 7350 => 'ჶ', 7351 => 'ჷ', 7352 => 'ჸ', 7353 => 'ჹ', 7354 => 'ჺ', 7357 => 'ჽ', 7358 => 'ჾ', 7359 => 'ჿ', 7468 => 'a', 7469 => 'æ', 7470 => 'b', 7472 => 'd', 7473 => 'e', 7474 => 'ǝ', 7475 => 'g', 7476 => 'h', 7477 => 'i', 7478 => 'j', 7479 => 'k', 7480 => 'l', 7481 => 'm', 7482 => 'n', 7484 => 'o', 7485 => 'ȣ', 7486 => 'p', 7487 => 'r', 7488 => 't', 7489 => 'u', 7490 => 'w', 7491 => 'a', 7492 => 'ɐ', 7493 => 'ɑ', 7494 => 'ᴂ', 7495 => 'b', 7496 => 'd', 7497 => 'e', 7498 => 'ə', 7499 => 'ɛ', 7500 => 'ɜ', 7501 => 'g', 7503 => 'k', 7504 => 'm', 7505 => 'ŋ', 7506 => 'o', 7507 => 'ɔ', 7508 => 'ᴖ', 7509 => 'ᴗ', 7510 => 'p', 7511 => 't', 7512 => 'u', 7513 => 'ᴝ', 7514 => 'ɯ', 7515 => 'v', 7516 => 'ᴥ', 7517 => 'β', 7518 => 'γ', 7519 => 'δ', 7520 => 'φ', 7521 => 'χ', 7522 => 'i', 7523 => 'r', 7524 => 'u', 7525 => 'v', 7526 => 'β', 7527 => 'γ', 7528 => 'ρ', 7529 => 'φ', 7530 => 'χ', 7544 => 'н', 7579 => 'ɒ', 7580 => 'c', 7581 => 'ɕ', 7582 => 'ð', 7583 => 'ɜ', 7584 => 'f', 7585 => 'ɟ', 7586 => 'ɡ', 7587 => 'ɥ', 7588 => 'ɨ', 7589 => 'ɩ', 7590 => 'ɪ', 7591 => 'ᵻ', 7592 => 'ʝ', 7593 => 'ɭ', 7594 => 'ᶅ', 7595 => 'ʟ', 7596 => 'ɱ', 7597 => 'ɰ', 7598 => 'ɲ', 7599 => 'ɳ', 7600 => 'ɴ', 7601 => 'ɵ', 7602 => 'ɸ', 7603 => 'ʂ', 7604 => 'ʃ', 7605 => 'ƫ', 7606 => 'ʉ', 7607 => 'ʊ', 7608 => 'ᴜ', 7609 => 'ʋ', 7610 => 'ʌ', 7611 => 'z', 7612 => 'ʐ', 7613 => 'ʑ', 7614 => 'ʒ', 7615 => 'θ', 7680 => 'ḁ', 7682 => 'ḃ', 7684 => 'ḅ', 7686 => 'ḇ', 7688 => 'ḉ', 7690 => 'ḋ', 7692 => 'ḍ', 7694 => 'ḏ', 7696 => 'ḑ', 7698 => 'ḓ', 7700 => 'ḕ', 7702 => 'ḗ', 7704 => 'ḙ', 7706 => 'ḛ', 7708 => 'ḝ', 7710 => 'ḟ', 7712 => 'ḡ', 7714 => 'ḣ', 7716 => 'ḥ', 7718 => 'ḧ', 7720 => 'ḩ', 7722 => 'ḫ', 7724 => 'ḭ', 7726 => 'ḯ', 7728 => 'ḱ', 7730 => 'ḳ', 7732 => 'ḵ', 7734 => 'ḷ', 7736 => 'ḹ', 7738 => 'ḻ', 7740 => 'ḽ', 7742 => 'ḿ', 7744 => 'ṁ', 7746 => 'ṃ', 7748 => 'ṅ', 7750 => 'ṇ', 7752 => 'ṉ', 7754 => 'ṋ', 7756 => 'ṍ', 7758 => 'ṏ', 7760 => 'ṑ', 7762 => 'ṓ', 7764 => 'ṕ', 7766 => 'ṗ', 7768 => 'ṙ', 7770 => 'ṛ', 7772 => 'ṝ', 7774 => 'ṟ', 7776 => 'ṡ', 7778 => 'ṣ', 7780 => 'ṥ', 7782 => 'ṧ', 7784 => 'ṩ', 7786 => 'ṫ', 7788 => 'ṭ', 7790 => 'ṯ', 7792 => 'ṱ', 7794 => 'ṳ', 7796 => 'ṵ', 7798 => 'ṷ', 7800 => 'ṹ', 7802 => 'ṻ', 7804 => 'ṽ', 7806 => 'ṿ', 7808 => 'ẁ', 7810 => 'ẃ', 7812 => 'ẅ', 7814 => 'ẇ', 7816 => 'ẉ', 7818 => 'ẋ', 7820 => 'ẍ', 7822 => 'ẏ', 7824 => 'ẑ', 7826 => 'ẓ', 7828 => 'ẕ', 7834 => 'aʾ', 7835 => 'ṡ', 7838 => 'ss', 7840 => 'ạ', 7842 => 'ả', 7844 => 'ấ', 7846 => 'ầ', 7848 => 'ẩ', 7850 => 'ẫ', 7852 => 'ậ', 7854 => 'ắ', 7856 => 'ằ', 7858 => 'ẳ', 7860 => 'ẵ', 7862 => 'ặ', 7864 => 'ẹ', 7866 => 'ẻ', 7868 => 'ẽ', 7870 => 'ế', 7872 => 'ề', 7874 => 'ể', 7876 => 'ễ', 7878 => 'ệ', 7880 => 'ỉ', 7882 => 'ị', 7884 => 'ọ', 7886 => 'ỏ', 7888 => 'ố', 7890 => 'ồ', 7892 => 'ổ', 7894 => 'ỗ', 7896 => 'ộ', 7898 => 'ớ', 7900 => 'ờ', 7902 => 'ở', 7904 => 'ỡ', 7906 => 'ợ', 7908 => 'ụ', 7910 => 'ủ', 7912 => 'ứ', 7914 => 'ừ', 7916 => 'ử', 7918 => 'ữ', 7920 => 'ự', 7922 => 'ỳ', 7924 => 'ỵ', 7926 => 'ỷ', 7928 => 'ỹ', 7930 => 'ỻ', 7932 => 'ỽ', 7934 => 'ỿ', 7944 => 'ἀ', 7945 => 'ἁ', 7946 => 'ἂ', 7947 => 'ἃ', 7948 => 'ἄ', 7949 => 'ἅ', 7950 => 'ἆ', 7951 => 'ἇ', 7960 => 'ἐ', 7961 => 'ἑ', 7962 => 'ἒ', 7963 => 'ἓ', 7964 => 'ἔ', 7965 => 'ἕ', 7976 => 'ἠ', 7977 => 'ἡ', 7978 => 'ἢ', 7979 => 'ἣ', 7980 => 'ἤ', 7981 => 'ἥ', 7982 => 'ἦ', 7983 => 'ἧ', 7992 => 'ἰ', 7993 => 'ἱ', 7994 => 'ἲ', 7995 => 'ἳ', 7996 => 'ἴ', 7997 => 'ἵ', 7998 => 'ἶ', 7999 => 'ἷ', 8008 => 'ὀ', 8009 => 'ὁ', 8010 => 'ὂ', 8011 => 'ὃ', 8012 => 'ὄ', 8013 => 'ὅ', 8025 => 'ὑ', 8027 => 'ὓ', 8029 => 'ὕ', 8031 => 'ὗ', 8040 => 'ὠ', 8041 => 'ὡ', 8042 => 'ὢ', 8043 => 'ὣ', 8044 => 'ὤ', 8045 => 'ὥ', 8046 => 'ὦ', 8047 => 'ὧ', 8049 => 'ά', 8051 => 'έ', 8053 => 'ή', 8055 => 'ί', 8057 => 'ό', 8059 => 'ύ', 8061 => 'ώ', 8064 => 'ἀι', 8065 => 'ἁι', 8066 => 'ἂι', 8067 => 'ἃι', 8068 => 'ἄι', 8069 => 'ἅι', 8070 => 'ἆι', 8071 => 'ἇι', 8072 => 'ἀι', 8073 => 'ἁι', 8074 => 'ἂι', 8075 => 'ἃι', 8076 => 'ἄι', 8077 => 'ἅι', 8078 => 'ἆι', 8079 => 'ἇι', 8080 => 'ἠι', 8081 => 'ἡι', 8082 => 'ἢι', 8083 => 'ἣι', 8084 => 'ἤι', 8085 => 'ἥι', 8086 => 'ἦι', 8087 => 'ἧι', 8088 => 'ἠι', 8089 => 'ἡι', 8090 => 'ἢι', 8091 => 'ἣι', 8092 => 'ἤι', 8093 => 'ἥι', 8094 => 'ἦι', 8095 => 'ἧι', 8096 => 'ὠι', 8097 => 'ὡι', 8098 => 'ὢι', 8099 => 'ὣι', 8100 => 'ὤι', 8101 => 'ὥι', 8102 => 'ὦι', 8103 => 'ὧι', 8104 => 'ὠι', 8105 => 'ὡι', 8106 => 'ὢι', 8107 => 'ὣι', 8108 => 'ὤι', 8109 => 'ὥι', 8110 => 'ὦι', 8111 => 'ὧι', 8114 => 'ὰι', 8115 => 'αι', 8116 => 'άι', 8119 => 'ᾶι', 8120 => 'ᾰ', 8121 => 'ᾱ', 8122 => 'ὰ', 8123 => 'ά', 8124 => 'αι', 8126 => 'ι', 8130 => 'ὴι', 8131 => 'ηι', 8132 => 'ήι', 8135 => 'ῆι', 8136 => 'ὲ', 8137 => 'έ', 8138 => 'ὴ', 8139 => 'ή', 8140 => 'ηι', 8147 => 'ΐ', 8152 => 'ῐ', 8153 => 'ῑ', 8154 => 'ὶ', 8155 => 'ί', 8163 => 'ΰ', 8168 => 'ῠ', 8169 => 'ῡ', 8170 => 'ὺ', 8171 => 'ύ', 8172 => 'ῥ', 8178 => 'ὼι', 8179 => 'ωι', 8180 => 'ώι', 8183 => 'ῶι', 8184 => 'ὸ', 8185 => 'ό', 8186 => 'ὼ', 8187 => 'ώ', 8188 => 'ωι', 8209 => '‐', 8243 => '′′', 8244 => '′′′', 8246 => '‵‵', 8247 => '‵‵‵', 8279 => '′′′′', 8304 => '0', 8305 => 'i', 8308 => '4', 8309 => '5', 8310 => '6', 8311 => '7', 8312 => '8', 8313 => '9', 8315 => '−', 8319 => 'n', 8320 => '0', 8321 => '1', 8322 => '2', 8323 => '3', 8324 => '4', 8325 => '5', 8326 => '6', 8327 => '7', 8328 => '8', 8329 => '9', 8331 => '−', 8336 => 'a', 8337 => 'e', 8338 => 'o', 8339 => 'x', 8340 => 'ə', 8341 => 'h', 8342 => 'k', 8343 => 'l', 8344 => 'm', 8345 => 'n', 8346 => 'p', 8347 => 's', 8348 => 't', 8360 => 'rs', 8450 => 'c', 8451 => '°c', 8455 => 'ɛ', 8457 => '°f', 8458 => 'g', 8459 => 'h', 8460 => 'h', 8461 => 'h', 8462 => 'h', 8463 => 'ħ', 8464 => 'i', 8465 => 'i', 8466 => 'l', 8467 => 'l', 8469 => 'n', 8470 => 'no', 8473 => 'p', 8474 => 'q', 8475 => 'r', 8476 => 'r', 8477 => 'r', 8480 => 'sm', 8481 => 'tel', 8482 => 'tm', 8484 => 'z', 8486 => 'ω', 8488 => 'z', 8490 => 'k', 8491 => 'å', 8492 => 'b', 8493 => 'c', 8495 => 'e', 8496 => 'e', 8497 => 'f', 8499 => 'm', 8500 => 'o', 8501 => 'א', 8502 => 'ב', 8503 => 'ג', 8504 => 'ד', 8505 => 'i', 8507 => 'fax', 8508 => 'π', 8509 => 'γ', 8510 => 'γ', 8511 => 'π', 8512 => '∑', 8517 => 'd', 8518 => 'd', 8519 => 'e', 8520 => 'i', 8521 => 'j', 8528 => '1⁄7', 8529 => '1⁄9', 8530 => '1⁄10', 8531 => '1⁄3', 8532 => '2⁄3', 8533 => '1⁄5', 8534 => '2⁄5', 8535 => '3⁄5', 8536 => '4⁄5', 8537 => '1⁄6', 8538 => '5⁄6', 8539 => '1⁄8', 8540 => '3⁄8', 8541 => '5⁄8', 8542 => '7⁄8', 8543 => '1⁄', 8544 => 'i', 8545 => 'ii', 8546 => 'iii', 8547 => 'iv', 8548 => 'v', 8549 => 'vi', 8550 => 'vii', 8551 => 'viii', 8552 => 'ix', 8553 => 'x', 8554 => 'xi', 8555 => 'xii', 8556 => 'l', 8557 => 'c', 8558 => 'd', 8559 => 'm', 8560 => 'i', 8561 => 'ii', 8562 => 'iii', 8563 => 'iv', 8564 => 'v', 8565 => 'vi', 8566 => 'vii', 8567 => 'viii', 8568 => 'ix', 8569 => 'x', 8570 => 'xi', 8571 => 'xii', 8572 => 'l', 8573 => 'c', 8574 => 'd', 8575 => 'm', 8585 => '0⁄3', 8748 => '∫∫', 8749 => '∫∫∫', 8751 => '∮∮', 8752 => '∮∮∮', 9001 => '〈', 9002 => '〉', 9312 => '1', 9313 => '2', 9314 => '3', 9315 => '4', 9316 => '5', 9317 => '6', 9318 => '7', 9319 => '8', 9320 => '9', 9321 => '10', 9322 => '11', 9323 => '12', 9324 => '13', 9325 => '14', 9326 => '15', 9327 => '16', 9328 => '17', 9329 => '18', 9330 => '19', 9331 => '20', 9398 => 'a', 9399 => 'b', 9400 => 'c', 9401 => 'd', 9402 => 'e', 9403 => 'f', 9404 => 'g', 9405 => 'h', 9406 => 'i', 9407 => 'j', 9408 => 'k', 9409 => 'l', 9410 => 'm', 9411 => 'n', 9412 => 'o', 9413 => 'p', 9414 => 'q', 9415 => 'r', 9416 => 's', 9417 => 't', 9418 => 'u', 9419 => 'v', 9420 => 'w', 9421 => 'x', 9422 => 'y', 9423 => 'z', 9424 => 'a', 9425 => 'b', 9426 => 'c', 9427 => 'd', 9428 => 'e', 9429 => 'f', 9430 => 'g', 9431 => 'h', 9432 => 'i', 9433 => 'j', 9434 => 'k', 9435 => 'l', 9436 => 'm', 9437 => 'n', 9438 => 'o', 9439 => 'p', 9440 => 'q', 9441 => 'r', 9442 => 's', 9443 => 't', 9444 => 'u', 9445 => 'v', 9446 => 'w', 9447 => 'x', 9448 => 'y', 9449 => 'z', 9450 => '0', 10764 => '∫∫∫∫', 10972 => '⫝̸', 11264 => 'ⰰ', 11265 => 'ⰱ', 11266 => 'ⰲ', 11267 => 'ⰳ', 11268 => 'ⰴ', 11269 => 'ⰵ', 11270 => 'ⰶ', 11271 => 'ⰷ', 11272 => 'ⰸ', 11273 => 'ⰹ', 11274 => 'ⰺ', 11275 => 'ⰻ', 11276 => 'ⰼ', 11277 => 'ⰽ', 11278 => 'ⰾ', 11279 => 'ⰿ', 11280 => 'ⱀ', 11281 => 'ⱁ', 11282 => 'ⱂ', 11283 => 'ⱃ', 11284 => 'ⱄ', 11285 => 'ⱅ', 11286 => 'ⱆ', 11287 => 'ⱇ', 11288 => 'ⱈ', 11289 => 'ⱉ', 11290 => 'ⱊ', 11291 => 'ⱋ', 11292 => 'ⱌ', 11293 => 'ⱍ', 11294 => 'ⱎ', 11295 => 'ⱏ', 11296 => 'ⱐ', 11297 => 'ⱑ', 11298 => 'ⱒ', 11299 => 'ⱓ', 11300 => 'ⱔ', 11301 => 'ⱕ', 11302 => 'ⱖ', 11303 => 'ⱗ', 11304 => 'ⱘ', 11305 => 'ⱙ', 11306 => 'ⱚ', 11307 => 'ⱛ', 11308 => 'ⱜ', 11309 => 'ⱝ', 11310 => 'ⱞ', 11360 => 'ⱡ', 11362 => 'ɫ', 11363 => 'ᵽ', 11364 => 'ɽ', 11367 => 'ⱨ', 11369 => 'ⱪ', 11371 => 'ⱬ', 11373 => 'ɑ', 11374 => 'ɱ', 11375 => 'ɐ', 11376 => 'ɒ', 11378 => 'ⱳ', 11381 => 'ⱶ', 11388 => 'j', 11389 => 'v', 11390 => 'ȿ', 11391 => 'ɀ', 11392 => 'ⲁ', 11394 => 'ⲃ', 11396 => 'ⲅ', 11398 => 'ⲇ', 11400 => 'ⲉ', 11402 => 'ⲋ', 11404 => 'ⲍ', 11406 => 'ⲏ', 11408 => 'ⲑ', 11410 => 'ⲓ', 11412 => 'ⲕ', 11414 => 'ⲗ', 11416 => 'ⲙ', 11418 => 'ⲛ', 11420 => 'ⲝ', 11422 => 'ⲟ', 11424 => 'ⲡ', 11426 => 'ⲣ', 11428 => 'ⲥ', 11430 => 'ⲧ', 11432 => 'ⲩ', 11434 => 'ⲫ', 11436 => 'ⲭ', 11438 => 'ⲯ', 11440 => 'ⲱ', 11442 => 'ⲳ', 11444 => 'ⲵ', 11446 => 'ⲷ', 11448 => 'ⲹ', 11450 => 'ⲻ', 11452 => 'ⲽ', 11454 => 'ⲿ', 11456 => 'ⳁ', 11458 => 'ⳃ', 11460 => 'ⳅ', 11462 => 'ⳇ', 11464 => 'ⳉ', 11466 => 'ⳋ', 11468 => 'ⳍ', 11470 => 'ⳏ', 11472 => 'ⳑ', 11474 => 'ⳓ', 11476 => 'ⳕ', 11478 => 'ⳗ', 11480 => 'ⳙ', 11482 => 'ⳛ', 11484 => 'ⳝ', 11486 => 'ⳟ', 11488 => 'ⳡ', 11490 => 'ⳣ', 11499 => 'ⳬ', 11501 => 'ⳮ', 11506 => 'ⳳ', 11631 => 'ⵡ', 11935 => '母', 12019 => '龟', 12032 => '一', 12033 => '丨', 12034 => '丶', 12035 => '丿', 12036 => '乙', 12037 => '亅', 12038 => '二', 12039 => '亠', 12040 => '人', 12041 => '儿', 12042 => '入', 12043 => '八', 12044 => '冂', 12045 => '冖', 12046 => '冫', 12047 => '几', 12048 => '凵', 12049 => '刀', 12050 => '力', 12051 => '勹', 12052 => '匕', 12053 => '匚', 12054 => '匸', 12055 => '十', 12056 => '卜', 12057 => '卩', 12058 => '厂', 12059 => '厶', 12060 => '又', 12061 => '口', 12062 => '囗', 12063 => '土', 12064 => '士', 12065 => '夂', 12066 => '夊', 12067 => '夕', 12068 => '大', 12069 => '女', 12070 => '子', 12071 => '宀', 12072 => '寸', 12073 => '小', 12074 => '尢', 12075 => '尸', 12076 => '屮', 12077 => '山', 12078 => '巛', 12079 => '工', 12080 => '己', 12081 => '巾', 12082 => '干', 12083 => '幺', 12084 => '广', 12085 => '廴', 12086 => '廾', 12087 => '弋', 12088 => '弓', 12089 => '彐', 12090 => '彡', 12091 => '彳', 12092 => '心', 12093 => '戈', 12094 => '戶', 12095 => '手', 12096 => '支', 12097 => '攴', 12098 => '文', 12099 => '斗', 12100 => '斤', 12101 => '方', 12102 => '无', 12103 => '日', 12104 => '曰', 12105 => '月', 12106 => '木', 12107 => '欠', 12108 => '止', 12109 => '歹', 12110 => '殳', 12111 => '毋', 12112 => '比', 12113 => '毛', 12114 => '氏', 12115 => '气', 12116 => '水', 12117 => '火', 12118 => '爪', 12119 => '父', 12120 => '爻', 12121 => '爿', 12122 => '片', 12123 => '牙', 12124 => '牛', 12125 => '犬', 12126 => '玄', 12127 => '玉', 12128 => '瓜', 12129 => '瓦', 12130 => '甘', 12131 => '生', 12132 => '用', 12133 => '田', 12134 => '疋', 12135 => '疒', 12136 => '癶', 12137 => '白', 12138 => '皮', 12139 => '皿', 12140 => '目', 12141 => '矛', 12142 => '矢', 12143 => '石', 12144 => '示', 12145 => '禸', 12146 => '禾', 12147 => '穴', 12148 => '立', 12149 => '竹', 12150 => '米', 12151 => '糸', 12152 => '缶', 12153 => '网', 12154 => '羊', 12155 => '羽', 12156 => '老', 12157 => '而', 12158 => '耒', 12159 => '耳', 12160 => '聿', 12161 => '肉', 12162 => '臣', 12163 => '自', 12164 => '至', 12165 => '臼', 12166 => '舌', 12167 => '舛', 12168 => '舟', 12169 => '艮', 12170 => '色', 12171 => '艸', 12172 => '虍', 12173 => '虫', 12174 => '血', 12175 => '行', 12176 => '衣', 12177 => '襾', 12178 => '見', 12179 => '角', 12180 => '言', 12181 => '谷', 12182 => '豆', 12183 => '豕', 12184 => '豸', 12185 => '貝', 12186 => '赤', 12187 => '走', 12188 => '足', 12189 => '身', 12190 => '車', 12191 => '辛', 12192 => '辰', 12193 => '辵', 12194 => '邑', 12195 => '酉', 12196 => '釆', 12197 => '里', 12198 => '金', 12199 => '長', 12200 => '門', 12201 => '阜', 12202 => '隶', 12203 => '隹', 12204 => '雨', 12205 => '靑', 12206 => '非', 12207 => '面', 12208 => '革', 12209 => '韋', 12210 => '韭', 12211 => '音', 12212 => '頁', 12213 => '風', 12214 => '飛', 12215 => '食', 12216 => '首', 12217 => '香', 12218 => '馬', 12219 => '骨', 12220 => '高', 12221 => '髟', 12222 => '鬥', 12223 => '鬯', 12224 => '鬲', 12225 => '鬼', 12226 => '魚', 12227 => '鳥', 12228 => '鹵', 12229 => '鹿', 12230 => '麥', 12231 => '麻', 12232 => '黃', 12233 => '黍', 12234 => '黑', 12235 => '黹', 12236 => '黽', 12237 => '鼎', 12238 => '鼓', 12239 => '鼠', 12240 => '鼻', 12241 => '齊', 12242 => '齒', 12243 => '龍', 12244 => '龜', 12245 => '龠', 12290 => '.', 12342 => '〒', 12344 => '十', 12345 => '卄', 12346 => '卅', 12447 => 'より', 12543 => 'コト', 12593 => 'ᄀ', 12594 => 'ᄁ', 12595 => 'ᆪ', 12596 => 'ᄂ', 12597 => 'ᆬ', 12598 => 'ᆭ', 12599 => 'ᄃ', 12600 => 'ᄄ', 12601 => 'ᄅ', 12602 => 'ᆰ', 12603 => 'ᆱ', 12604 => 'ᆲ', 12605 => 'ᆳ', 12606 => 'ᆴ', 12607 => 'ᆵ', 12608 => 'ᄚ', 12609 => 'ᄆ', 12610 => 'ᄇ', 12611 => 'ᄈ', 12612 => 'ᄡ', 12613 => 'ᄉ', 12614 => 'ᄊ', 12615 => 'ᄋ', 12616 => 'ᄌ', 12617 => 'ᄍ', 12618 => 'ᄎ', 12619 => 'ᄏ', 12620 => 'ᄐ', 12621 => 'ᄑ', 12622 => 'ᄒ', 12623 => 'ᅡ', 12624 => 'ᅢ', 12625 => 'ᅣ', 12626 => 'ᅤ', 12627 => 'ᅥ', 12628 => 'ᅦ', 12629 => 'ᅧ', 12630 => 'ᅨ', 12631 => 'ᅩ', 12632 => 'ᅪ', 12633 => 'ᅫ', 12634 => 'ᅬ', 12635 => 'ᅭ', 12636 => 'ᅮ', 12637 => 'ᅯ', 12638 => 'ᅰ', 12639 => 'ᅱ', 12640 => 'ᅲ', 12641 => 'ᅳ', 12642 => 'ᅴ', 12643 => 'ᅵ', 12645 => 'ᄔ', 12646 => 'ᄕ', 12647 => 'ᇇ', 12648 => 'ᇈ', 12649 => 'ᇌ', 12650 => 'ᇎ', 12651 => 'ᇓ', 12652 => 'ᇗ', 12653 => 'ᇙ', 12654 => 'ᄜ', 12655 => 'ᇝ', 12656 => 'ᇟ', 12657 => 'ᄝ', 12658 => 'ᄞ', 12659 => 'ᄠ', 12660 => 'ᄢ', 12661 => 'ᄣ', 12662 => 'ᄧ', 12663 => 'ᄩ', 12664 => 'ᄫ', 12665 => 'ᄬ', 12666 => 'ᄭ', 12667 => 'ᄮ', 12668 => 'ᄯ', 12669 => 'ᄲ', 12670 => 'ᄶ', 12671 => 'ᅀ', 12672 => 'ᅇ', 12673 => 'ᅌ', 12674 => 'ᇱ', 12675 => 'ᇲ', 12676 => 'ᅗ', 12677 => 'ᅘ', 12678 => 'ᅙ', 12679 => 'ᆄ', 12680 => 'ᆅ', 12681 => 'ᆈ', 12682 => 'ᆑ', 12683 => 'ᆒ', 12684 => 'ᆔ', 12685 => 'ᆞ', 12686 => 'ᆡ', 12690 => '一', 12691 => '二', 12692 => '三', 12693 => '四', 12694 => '上', 12695 => '中', 12696 => '下', 12697 => '甲', 12698 => '乙', 12699 => '丙', 12700 => '丁', 12701 => '天', 12702 => '地', 12703 => '人', 12868 => '問', 12869 => '幼', 12870 => '文', 12871 => '箏', 12880 => 'pte', 12881 => '21', 12882 => '22', 12883 => '23', 12884 => '24', 12885 => '25', 12886 => '26', 12887 => '27', 12888 => '28', 12889 => '29', 12890 => '30', 12891 => '31', 12892 => '32', 12893 => '33', 12894 => '34', 12895 => '35', 12896 => 'ᄀ', 12897 => 'ᄂ', 12898 => 'ᄃ', 12899 => 'ᄅ', 12900 => 'ᄆ', 12901 => 'ᄇ', 12902 => 'ᄉ', 12903 => 'ᄋ', 12904 => 'ᄌ', 12905 => 'ᄎ', 12906 => 'ᄏ', 12907 => 'ᄐ', 12908 => 'ᄑ', 12909 => 'ᄒ', 12910 => '가', 12911 => '나', 12912 => '다', 12913 => '라', 12914 => '마', 12915 => '바', 12916 => '사', 12917 => '아', 12918 => '자', 12919 => '차', 12920 => '카', 12921 => '타', 12922 => '파', 12923 => '하', 12924 => '참고', 12925 => '주의', 12926 => '우', 12928 => '一', 12929 => '二', 12930 => '三', 12931 => '四', 12932 => '五', 12933 => '六', 12934 => '七', 12935 => '八', 12936 => '九', 12937 => '十', 12938 => '月', 12939 => '火', 12940 => '水', 12941 => '木', 12942 => '金', 12943 => '土', 12944 => '日', 12945 => '株', 12946 => '有', 12947 => '社', 12948 => '名', 12949 => '特', 12950 => '財', 12951 => '祝', 12952 => '労', 12953 => '秘', 12954 => '男', 12955 => '女', 12956 => '適', 12957 => '優', 12958 => '印', 12959 => '注', 12960 => '項', 12961 => '休', 12962 => '写', 12963 => '正', 12964 => '上', 12965 => '中', 12966 => '下', 12967 => '左', 12968 => '右', 12969 => '医', 12970 => '宗', 12971 => '学', 12972 => '監', 12973 => '企', 12974 => '資', 12975 => '協', 12976 => '夜', 12977 => '36', 12978 => '37', 12979 => '38', 12980 => '39', 12981 => '40', 12982 => '41', 12983 => '42', 12984 => '43', 12985 => '44', 12986 => '45', 12987 => '46', 12988 => '47', 12989 => '48', 12990 => '49', 12991 => '50', 12992 => '1月', 12993 => '2月', 12994 => '3月', 12995 => '4月', 12996 => '5月', 12997 => '6月', 12998 => '7月', 12999 => '8月', 13000 => '9月', 13001 => '10月', 13002 => '11月', 13003 => '12月', 13004 => 'hg', 13005 => 'erg', 13006 => 'ev', 13007 => 'ltd', 13008 => 'ア', 13009 => 'イ', 13010 => 'ウ', 13011 => 'エ', 13012 => 'オ', 13013 => 'カ', 13014 => 'キ', 13015 => 'ク', 13016 => 'ケ', 13017 => 'コ', 13018 => 'サ', 13019 => 'シ', 13020 => 'ス', 13021 => 'セ', 13022 => 'ソ', 13023 => 'タ', 13024 => 'チ', 13025 => 'ツ', 13026 => 'テ', 13027 => 'ト', 13028 => 'ナ', 13029 => 'ニ', 13030 => 'ヌ', 13031 => 'ネ', 13032 => 'ノ', 13033 => 'ハ', 13034 => 'ヒ', 13035 => 'フ', 13036 => 'ヘ', 13037 => 'ホ', 13038 => 'マ', 13039 => 'ミ', 13040 => 'ム', 13041 => 'メ', 13042 => 'モ', 13043 => 'ヤ', 13044 => 'ユ', 13045 => 'ヨ', 13046 => 'ラ', 13047 => 'リ', 13048 => 'ル', 13049 => 'レ', 13050 => 'ロ', 13051 => 'ワ', 13052 => 'ヰ', 13053 => 'ヱ', 13054 => 'ヲ', 13055 => '令和', 13056 => 'アパート', 13057 => 'アルファ', 13058 => 'アンペア', 13059 => 'アール', 13060 => 'イニング', 13061 => 'インチ', 13062 => 'ウォン', 13063 => 'エスクード', 13064 => 'エーカー', 13065 => 'オンス', 13066 => 'オーム', 13067 => 'カイリ', 13068 => 'カラット', 13069 => 'カロリー', 13070 => 'ガロン', 13071 => 'ガンマ', 13072 => 'ギガ', 13073 => 'ギニー', 13074 => 'キュリー', 13075 => 'ギルダー', 13076 => 'キロ', 13077 => 'キログラム', 13078 => 'キロメートル', 13079 => 'キロワット', 13080 => 'グラム', 13081 => 'グラムトン', 13082 => 'クルゼイロ', 13083 => 'クローネ', 13084 => 'ケース', 13085 => 'コルナ', 13086 => 'コーポ', 13087 => 'サイクル', 13088 => 'サンチーム', 13089 => 'シリング', 13090 => 'センチ', 13091 => 'セント', 13092 => 'ダース', 13093 => 'デシ', 13094 => 'ドル', 13095 => 'トン', 13096 => 'ナノ', 13097 => 'ノット', 13098 => 'ハイツ', 13099 => 'パーセント', 13100 => 'パーツ', 13101 => 'バーレル', 13102 => 'ピアストル', 13103 => 'ピクル', 13104 => 'ピコ', 13105 => 'ビル', 13106 => 'ファラッド', 13107 => 'フィート', 13108 => 'ブッシェル', 13109 => 'フラン', 13110 => 'ヘクタール', 13111 => 'ペソ', 13112 => 'ペニヒ', 13113 => 'ヘルツ', 13114 => 'ペンス', 13115 => 'ページ', 13116 => 'ベータ', 13117 => 'ポイント', 13118 => 'ボルト', 13119 => 'ホン', 13120 => 'ポンド', 13121 => 'ホール', 13122 => 'ホーン', 13123 => 'マイクロ', 13124 => 'マイル', 13125 => 'マッハ', 13126 => 'マルク', 13127 => 'マンション', 13128 => 'ミクロン', 13129 => 'ミリ', 13130 => 'ミリバール', 13131 => 'メガ', 13132 => 'メガトン', 13133 => 'メートル', 13134 => 'ヤード', 13135 => 'ヤール', 13136 => 'ユアン', 13137 => 'リットル', 13138 => 'リラ', 13139 => 'ルピー', 13140 => 'ルーブル', 13141 => 'レム', 13142 => 'レントゲン', 13143 => 'ワット', 13144 => '0点', 13145 => '1点', 13146 => '2点', 13147 => '3点', 13148 => '4点', 13149 => '5点', 13150 => '6点', 13151 => '7点', 13152 => '8点', 13153 => '9点', 13154 => '10点', 13155 => '11点', 13156 => '12点', 13157 => '13点', 13158 => '14点', 13159 => '15点', 13160 => '16点', 13161 => '17点', 13162 => '18点', 13163 => '19点', 13164 => '20点', 13165 => '21点', 13166 => '22点', 13167 => '23点', 13168 => '24点', 13169 => 'hpa', 13170 => 'da', 13171 => 'au', 13172 => 'bar', 13173 => 'ov', 13174 => 'pc', 13175 => 'dm', 13176 => 'dm2', 13177 => 'dm3', 13178 => 'iu', 13179 => '平成', 13180 => '昭和', 13181 => '大正', 13182 => '明治', 13183 => '株式会社', 13184 => 'pa', 13185 => 'na', 13186 => 'μa', 13187 => 'ma', 13188 => 'ka', 13189 => 'kb', 13190 => 'mb', 13191 => 'gb', 13192 => 'cal', 13193 => 'kcal', 13194 => 'pf', 13195 => 'nf', 13196 => 'μf', 13197 => 'μg', 13198 => 'mg', 13199 => 'kg', 13200 => 'hz', 13201 => 'khz', 13202 => 'mhz', 13203 => 'ghz', 13204 => 'thz', 13205 => 'μl', 13206 => 'ml', 13207 => 'dl', 13208 => 'kl', 13209 => 'fm', 13210 => 'nm', 13211 => 'μm', 13212 => 'mm', 13213 => 'cm', 13214 => 'km', 13215 => 'mm2', 13216 => 'cm2', 13217 => 'm2', 13218 => 'km2', 13219 => 'mm3', 13220 => 'cm3', 13221 => 'm3', 13222 => 'km3', 13223 => 'm∕s', 13224 => 'm∕s2', 13225 => 'pa', 13226 => 'kpa', 13227 => 'mpa', 13228 => 'gpa', 13229 => 'rad', 13230 => 'rad∕s', 13231 => 'rad∕s2', 13232 => 'ps', 13233 => 'ns', 13234 => 'μs', 13235 => 'ms', 13236 => 'pv', 13237 => 'nv', 13238 => 'μv', 13239 => 'mv', 13240 => 'kv', 13241 => 'mv', 13242 => 'pw', 13243 => 'nw', 13244 => 'μw', 13245 => 'mw', 13246 => 'kw', 13247 => 'mw', 13248 => 'kω', 13249 => 'mω', 13251 => 'bq', 13252 => 'cc', 13253 => 'cd', 13254 => 'c∕kg', 13256 => 'db', 13257 => 'gy', 13258 => 'ha', 13259 => 'hp', 13260 => 'in', 13261 => 'kk', 13262 => 'km', 13263 => 'kt', 13264 => 'lm', 13265 => 'ln', 13266 => 'log', 13267 => 'lx', 13268 => 'mb', 13269 => 'mil', 13270 => 'mol', 13271 => 'ph', 13273 => 'ppm', 13274 => 'pr', 13275 => 'sr', 13276 => 'sv', 13277 => 'wb', 13278 => 'v∕m', 13279 => 'a∕m', 13280 => '1日', 13281 => '2日', 13282 => '3日', 13283 => '4日', 13284 => '5日', 13285 => '6日', 13286 => '7日', 13287 => '8日', 13288 => '9日', 13289 => '10日', 13290 => '11日', 13291 => '12日', 13292 => '13日', 13293 => '14日', 13294 => '15日', 13295 => '16日', 13296 => '17日', 13297 => '18日', 13298 => '19日', 13299 => '20日', 13300 => '21日', 13301 => '22日', 13302 => '23日', 13303 => '24日', 13304 => '25日', 13305 => '26日', 13306 => '27日', 13307 => '28日', 13308 => '29日', 13309 => '30日', 13310 => '31日', 13311 => 'gal', 42560 => 'ꙁ', 42562 => 'ꙃ', 42564 => 'ꙅ', 42566 => 'ꙇ', 42568 => 'ꙉ', 42570 => 'ꙋ', 42572 => 'ꙍ', 42574 => 'ꙏ', 42576 => 'ꙑ', 42578 => 'ꙓ', 42580 => 'ꙕ', 42582 => 'ꙗ', 42584 => 'ꙙ', 42586 => 'ꙛ', 42588 => 'ꙝ', 42590 => 'ꙟ', 42592 => 'ꙡ', 42594 => 'ꙣ', 42596 => 'ꙥ', 42598 => 'ꙧ', 42600 => 'ꙩ', 42602 => 'ꙫ', 42604 => 'ꙭ', 42624 => 'ꚁ', 42626 => 'ꚃ', 42628 => 'ꚅ', 42630 => 'ꚇ', 42632 => 'ꚉ', 42634 => 'ꚋ', 42636 => 'ꚍ', 42638 => 'ꚏ', 42640 => 'ꚑ', 42642 => 'ꚓ', 42644 => 'ꚕ', 42646 => 'ꚗ', 42648 => 'ꚙ', 42650 => 'ꚛ', 42652 => 'ъ', 42653 => 'ь', 42786 => 'ꜣ', 42788 => 'ꜥ', 42790 => 'ꜧ', 42792 => 'ꜩ', 42794 => 'ꜫ', 42796 => 'ꜭ', 42798 => 'ꜯ', 42802 => 'ꜳ', 42804 => 'ꜵ', 42806 => 'ꜷ', 42808 => 'ꜹ', 42810 => 'ꜻ', 42812 => 'ꜽ', 42814 => 'ꜿ', 42816 => 'ꝁ', 42818 => 'ꝃ', 42820 => 'ꝅ', 42822 => 'ꝇ', 42824 => 'ꝉ', 42826 => 'ꝋ', 42828 => 'ꝍ', 42830 => 'ꝏ', 42832 => 'ꝑ', 42834 => 'ꝓ', 42836 => 'ꝕ', 42838 => 'ꝗ', 42840 => 'ꝙ', 42842 => 'ꝛ', 42844 => 'ꝝ', 42846 => 'ꝟ', 42848 => 'ꝡ', 42850 => 'ꝣ', 42852 => 'ꝥ', 42854 => 'ꝧ', 42856 => 'ꝩ', 42858 => 'ꝫ', 42860 => 'ꝭ', 42862 => 'ꝯ', 42864 => 'ꝯ', 42873 => 'ꝺ', 42875 => 'ꝼ', 42877 => 'ᵹ', 42878 => 'ꝿ', 42880 => 'ꞁ', 42882 => 'ꞃ', 42884 => 'ꞅ', 42886 => 'ꞇ', 42891 => 'ꞌ', 42893 => 'ɥ', 42896 => 'ꞑ', 42898 => 'ꞓ', 42902 => 'ꞗ', 42904 => 'ꞙ', 42906 => 'ꞛ', 42908 => 'ꞝ', 42910 => 'ꞟ', 42912 => 'ꞡ', 42914 => 'ꞣ', 42916 => 'ꞥ', 42918 => 'ꞧ', 42920 => 'ꞩ', 42922 => 'ɦ', 42923 => 'ɜ', 42924 => 'ɡ', 42925 => 'ɬ', 42926 => 'ɪ', 42928 => 'ʞ', 42929 => 'ʇ', 42930 => 'ʝ', 42931 => 'ꭓ', 42932 => 'ꞵ', 42934 => 'ꞷ', 42936 => 'ꞹ', 42938 => 'ꞻ', 42940 => 'ꞽ', 42942 => 'ꞿ', 42946 => 'ꟃ', 42948 => 'ꞔ', 42949 => 'ʂ', 42950 => 'ᶎ', 42951 => 'ꟈ', 42953 => 'ꟊ', 42997 => 'ꟶ', 43000 => 'ħ', 43001 => 'œ', 43868 => 'ꜧ', 43869 => 'ꬷ', 43870 => 'ɫ', 43871 => 'ꭒ', 43881 => 'ʍ', 43888 => 'Ꭰ', 43889 => 'Ꭱ', 43890 => 'Ꭲ', 43891 => 'Ꭳ', 43892 => 'Ꭴ', 43893 => 'Ꭵ', 43894 => 'Ꭶ', 43895 => 'Ꭷ', 43896 => 'Ꭸ', 43897 => 'Ꭹ', 43898 => 'Ꭺ', 43899 => 'Ꭻ', 43900 => 'Ꭼ', 43901 => 'Ꭽ', 43902 => 'Ꭾ', 43903 => 'Ꭿ', 43904 => 'Ꮀ', 43905 => 'Ꮁ', 43906 => 'Ꮂ', 43907 => 'Ꮃ', 43908 => 'Ꮄ', 43909 => 'Ꮅ', 43910 => 'Ꮆ', 43911 => 'Ꮇ', 43912 => 'Ꮈ', 43913 => 'Ꮉ', 43914 => 'Ꮊ', 43915 => 'Ꮋ', 43916 => 'Ꮌ', 43917 => 'Ꮍ', 43918 => 'Ꮎ', 43919 => 'Ꮏ', 43920 => 'Ꮐ', 43921 => 'Ꮑ', 43922 => 'Ꮒ', 43923 => 'Ꮓ', 43924 => 'Ꮔ', 43925 => 'Ꮕ', 43926 => 'Ꮖ', 43927 => 'Ꮗ', 43928 => 'Ꮘ', 43929 => 'Ꮙ', 43930 => 'Ꮚ', 43931 => 'Ꮛ', 43932 => 'Ꮜ', 43933 => 'Ꮝ', 43934 => 'Ꮞ', 43935 => 'Ꮟ', 43936 => 'Ꮠ', 43937 => 'Ꮡ', 43938 => 'Ꮢ', 43939 => 'Ꮣ', 43940 => 'Ꮤ', 43941 => 'Ꮥ', 43942 => 'Ꮦ', 43943 => 'Ꮧ', 43944 => 'Ꮨ', 43945 => 'Ꮩ', 43946 => 'Ꮪ', 43947 => 'Ꮫ', 43948 => 'Ꮬ', 43949 => 'Ꮭ', 43950 => 'Ꮮ', 43951 => 'Ꮯ', 43952 => 'Ꮰ', 43953 => 'Ꮱ', 43954 => 'Ꮲ', 43955 => 'Ꮳ', 43956 => 'Ꮴ', 43957 => 'Ꮵ', 43958 => 'Ꮶ', 43959 => 'Ꮷ', 43960 => 'Ꮸ', 43961 => 'Ꮹ', 43962 => 'Ꮺ', 43963 => 'Ꮻ', 43964 => 'Ꮼ', 43965 => 'Ꮽ', 43966 => 'Ꮾ', 43967 => 'Ꮿ', 63744 => '豈', 63745 => '更', 63746 => '車', 63747 => '賈', 63748 => '滑', 63749 => '串', 63750 => '句', 63751 => '龜', 63752 => '龜', 63753 => '契', 63754 => '金', 63755 => '喇', 63756 => '奈', 63757 => '懶', 63758 => '癩', 63759 => '羅', 63760 => '蘿', 63761 => '螺', 63762 => '裸', 63763 => '邏', 63764 => '樂', 63765 => '洛', 63766 => '烙', 63767 => '珞', 63768 => '落', 63769 => '酪', 63770 => '駱', 63771 => '亂', 63772 => '卵', 63773 => '欄', 63774 => '爛', 63775 => '蘭', 63776 => '鸞', 63777 => '嵐', 63778 => '濫', 63779 => '藍', 63780 => '襤', 63781 => '拉', 63782 => '臘', 63783 => '蠟', 63784 => '廊', 63785 => '朗', 63786 => '浪', 63787 => '狼', 63788 => '郎', 63789 => '來', 63790 => '冷', 63791 => '勞', 63792 => '擄', 63793 => '櫓', 63794 => '爐', 63795 => '盧', 63796 => '老', 63797 => '蘆', 63798 => '虜', 63799 => '路', 63800 => '露', 63801 => '魯', 63802 => '鷺', 63803 => '碌', 63804 => '祿', 63805 => '綠', 63806 => '菉', 63807 => '錄', 63808 => '鹿', 63809 => '論', 63810 => '壟', 63811 => '弄', 63812 => '籠', 63813 => '聾', 63814 => '牢', 63815 => '磊', 63816 => '賂', 63817 => '雷', 63818 => '壘', 63819 => '屢', 63820 => '樓', 63821 => '淚', 63822 => '漏', 63823 => '累', 63824 => '縷', 63825 => '陋', 63826 => '勒', 63827 => '肋', 63828 => '凜', 63829 => '凌', 63830 => '稜', 63831 => '綾', 63832 => '菱', 63833 => '陵', 63834 => '讀', 63835 => '拏', 63836 => '樂', 63837 => '諾', 63838 => '丹', 63839 => '寧', 63840 => '怒', 63841 => '率', 63842 => '異', 63843 => '北', 63844 => '磻', 63845 => '便', 63846 => '復', 63847 => '不', 63848 => '泌', 63849 => '數', 63850 => '索', 63851 => '參', 63852 => '塞', 63853 => '省', 63854 => '葉', 63855 => '說', 63856 => '殺', 63857 => '辰', 63858 => '沈', 63859 => '拾', 63860 => '若', 63861 => '掠', 63862 => '略', 63863 => '亮', 63864 => '兩', 63865 => '凉', 63866 => '梁', 63867 => '糧', 63868 => '良', 63869 => '諒', 63870 => '量', 63871 => '勵', 63872 => '呂', 63873 => '女', 63874 => '廬', 63875 => '旅', 63876 => '濾', 63877 => '礪', 63878 => '閭', 63879 => '驪', 63880 => '麗', 63881 => '黎', 63882 => '力', 63883 => '曆', 63884 => '歷', 63885 => '轢', 63886 => '年', 63887 => '憐', 63888 => '戀', 63889 => '撚', 63890 => '漣', 63891 => '煉', 63892 => '璉', 63893 => '秊', 63894 => '練', 63895 => '聯', 63896 => '輦', 63897 => '蓮', 63898 => '連', 63899 => '鍊', 63900 => '列', 63901 => '劣', 63902 => '咽', 63903 => '烈', 63904 => '裂', 63905 => '說', 63906 => '廉', 63907 => '念', 63908 => '捻', 63909 => '殮', 63910 => '簾', 63911 => '獵', 63912 => '令', 63913 => '囹', 63914 => '寧', 63915 => '嶺', 63916 => '怜', 63917 => '玲', 63918 => '瑩', 63919 => '羚', 63920 => '聆', 63921 => '鈴', 63922 => '零', 63923 => '靈', 63924 => '領', 63925 => '例', 63926 => '禮', 63927 => '醴', 63928 => '隸', 63929 => '惡', 63930 => '了', 63931 => '僚', 63932 => '寮', 63933 => '尿', 63934 => '料', 63935 => '樂', 63936 => '燎', 63937 => '療', 63938 => '蓼', 63939 => '遼', 63940 => '龍', 63941 => '暈', 63942 => '阮', 63943 => '劉', 63944 => '杻', 63945 => '柳', 63946 => '流', 63947 => '溜', 63948 => '琉', 63949 => '留', 63950 => '硫', 63951 => '紐', 63952 => '類', 63953 => '六', 63954 => '戮', 63955 => '陸', 63956 => '倫', 63957 => '崙', 63958 => '淪', 63959 => '輪', 63960 => '律', 63961 => '慄', 63962 => '栗', 63963 => '率', 63964 => '隆', 63965 => '利', 63966 => '吏', 63967 => '履', 63968 => '易', 63969 => '李', 63970 => '梨', 63971 => '泥', 63972 => '理', 63973 => '痢', 63974 => '罹', 63975 => '裏', 63976 => '裡', 63977 => '里', 63978 => '離', 63979 => '匿', 63980 => '溺', 63981 => '吝', 63982 => '燐', 63983 => '璘', 63984 => '藺', 63985 => '隣', 63986 => '鱗', 63987 => '麟', 63988 => '林', 63989 => '淋', 63990 => '臨', 63991 => '立', 63992 => '笠', 63993 => '粒', 63994 => '狀', 63995 => '炙', 63996 => '識', 63997 => '什', 63998 => '茶', 63999 => '刺', 64000 => '切', 64001 => '度', 64002 => '拓', 64003 => '糖', 64004 => '宅', 64005 => '洞', 64006 => '暴', 64007 => '輻', 64008 => '行', 64009 => '降', 64010 => '見', 64011 => '廓', 64012 => '兀', 64013 => '嗀', 64016 => '塚', 64018 => '晴', 64021 => '凞', 64022 => '猪', 64023 => '益', 64024 => '礼', 64025 => '神', 64026 => '祥', 64027 => '福', 64028 => '靖', 64029 => '精', 64030 => '羽', 64032 => '蘒', 64034 => '諸', 64037 => '逸', 64038 => '都', 64042 => '飯', 64043 => '飼', 64044 => '館', 64045 => '鶴', 64046 => '郞', 64047 => '隷', 64048 => '侮', 64049 => '僧', 64050 => '免', 64051 => '勉', 64052 => '勤', 64053 => '卑', 64054 => '喝', 64055 => '嘆', 64056 => '器', 64057 => '塀', 64058 => '墨', 64059 => '層', 64060 => '屮', 64061 => '悔', 64062 => '慨', 64063 => '憎', 64064 => '懲', 64065 => '敏', 64066 => '既', 64067 => '暑', 64068 => '梅', 64069 => '海', 64070 => '渚', 64071 => '漢', 64072 => '煮', 64073 => '爫', 64074 => '琢', 64075 => '碑', 64076 => '社', 64077 => '祉', 64078 => '祈', 64079 => '祐', 64080 => '祖', 64081 => '祝', 64082 => '禍', 64083 => '禎', 64084 => '穀', 64085 => '突', 64086 => '節', 64087 => '練', 64088 => '縉', 64089 => '繁', 64090 => '署', 64091 => '者', 64092 => '臭', 64093 => '艹', 64094 => '艹', 64095 => '著', 64096 => '褐', 64097 => '視', 64098 => '謁', 64099 => '謹', 64100 => '賓', 64101 => '贈', 64102 => '辶', 64103 => '逸', 64104 => '難', 64105 => '響', 64106 => '頻', 64107 => '恵', 64108 => '𤋮', 64109 => '舘', 64112 => '並', 64113 => '况', 64114 => '全', 64115 => '侀', 64116 => '充', 64117 => '冀', 64118 => '勇', 64119 => '勺', 64120 => '喝', 64121 => '啕', 64122 => '喙', 64123 => '嗢', 64124 => '塚', 64125 => '墳', 64126 => '奄', 64127 => '奔', 64128 => '婢', 64129 => '嬨', 64130 => '廒', 64131 => '廙', 64132 => '彩', 64133 => '徭', 64134 => '惘', 64135 => '慎', 64136 => '愈', 64137 => '憎', 64138 => '慠', 64139 => '懲', 64140 => '戴', 64141 => '揄', 64142 => '搜', 64143 => '摒', 64144 => '敖', 64145 => '晴', 64146 => '朗', 64147 => '望', 64148 => '杖', 64149 => '歹', 64150 => '殺', 64151 => '流', 64152 => '滛', 64153 => '滋', 64154 => '漢', 64155 => '瀞', 64156 => '煮', 64157 => '瞧', 64158 => '爵', 64159 => '犯', 64160 => '猪', 64161 => '瑱', 64162 => '甆', 64163 => '画', 64164 => '瘝', 64165 => '瘟', 64166 => '益', 64167 => '盛', 64168 => '直', 64169 => '睊', 64170 => '着', 64171 => '磌', 64172 => '窱', 64173 => '節', 64174 => '类', 64175 => '絛', 64176 => '練', 64177 => '缾', 64178 => '者', 64179 => '荒', 64180 => '華', 64181 => '蝹', 64182 => '襁', 64183 => '覆', 64184 => '視', 64185 => '調', 64186 => '諸', 64187 => '請', 64188 => '謁', 64189 => '諾', 64190 => '諭', 64191 => '謹', 64192 => '變', 64193 => '贈', 64194 => '輸', 64195 => '遲', 64196 => '醙', 64197 => '鉶', 64198 => '陼', 64199 => '難', 64200 => '靖', 64201 => '韛', 64202 => '響', 64203 => '頋', 64204 => '頻', 64205 => '鬒', 64206 => '龜', 64207 => '𢡊', 64208 => '𢡄', 64209 => '𣏕', 64210 => '㮝', 64211 => '䀘', 64212 => '䀹', 64213 => '𥉉', 64214 => '𥳐', 64215 => '𧻓', 64216 => '齃', 64217 => '龎', 64256 => 'ff', 64257 => 'fi', 64258 => 'fl', 64259 => 'ffi', 64260 => 'ffl', 64261 => 'st', 64262 => 'st', 64275 => 'մն', 64276 => 'մե', 64277 => 'մի', 64278 => 'վն', 64279 => 'մխ', 64285 => 'יִ', 64287 => 'ײַ', 64288 => 'ע', 64289 => 'א', 64290 => 'ד', 64291 => 'ה', 64292 => 'כ', 64293 => 'ל', 64294 => 'ם', 64295 => 'ר', 64296 => 'ת', 64298 => 'שׁ', 64299 => 'שׂ', 64300 => 'שּׁ', 64301 => 'שּׂ', 64302 => 'אַ', 64303 => 'אָ', 64304 => 'אּ', 64305 => 'בּ', 64306 => 'גּ', 64307 => 'דּ', 64308 => 'הּ', 64309 => 'וּ', 64310 => 'זּ', 64312 => 'טּ', 64313 => 'יּ', 64314 => 'ךּ', 64315 => 'כּ', 64316 => 'לּ', 64318 => 'מּ', 64320 => 'נּ', 64321 => 'סּ', 64323 => 'ףּ', 64324 => 'פּ', 64326 => 'צּ', 64327 => 'קּ', 64328 => 'רּ', 64329 => 'שּ', 64330 => 'תּ', 64331 => 'וֹ', 64332 => 'בֿ', 64333 => 'כֿ', 64334 => 'פֿ', 64335 => 'אל', 64336 => 'ٱ', 64337 => 'ٱ', 64338 => 'ٻ', 64339 => 'ٻ', 64340 => 'ٻ', 64341 => 'ٻ', 64342 => 'پ', 64343 => 'پ', 64344 => 'پ', 64345 => 'پ', 64346 => 'ڀ', 64347 => 'ڀ', 64348 => 'ڀ', 64349 => 'ڀ', 64350 => 'ٺ', 64351 => 'ٺ', 64352 => 'ٺ', 64353 => 'ٺ', 64354 => 'ٿ', 64355 => 'ٿ', 64356 => 'ٿ', 64357 => 'ٿ', 64358 => 'ٹ', 64359 => 'ٹ', 64360 => 'ٹ', 64361 => 'ٹ', 64362 => 'ڤ', 64363 => 'ڤ', 64364 => 'ڤ', 64365 => 'ڤ', 64366 => 'ڦ', 64367 => 'ڦ', 64368 => 'ڦ', 64369 => 'ڦ', 64370 => 'ڄ', 64371 => 'ڄ', 64372 => 'ڄ', 64373 => 'ڄ', 64374 => 'ڃ', 64375 => 'ڃ', 64376 => 'ڃ', 64377 => 'ڃ', 64378 => 'چ', 64379 => 'چ', 64380 => 'چ', 64381 => 'چ', 64382 => 'ڇ', 64383 => 'ڇ', 64384 => 'ڇ', 64385 => 'ڇ', 64386 => 'ڍ', 64387 => 'ڍ', 64388 => 'ڌ', 64389 => 'ڌ', 64390 => 'ڎ', 64391 => 'ڎ', 64392 => 'ڈ', 64393 => 'ڈ', 64394 => 'ژ', 64395 => 'ژ', 64396 => 'ڑ', 64397 => 'ڑ', 64398 => 'ک', 64399 => 'ک', 64400 => 'ک', 64401 => 'ک', 64402 => 'گ', 64403 => 'گ', 64404 => 'گ', 64405 => 'گ', 64406 => 'ڳ', 64407 => 'ڳ', 64408 => 'ڳ', 64409 => 'ڳ', 64410 => 'ڱ', 64411 => 'ڱ', 64412 => 'ڱ', 64413 => 'ڱ', 64414 => 'ں', 64415 => 'ں', 64416 => 'ڻ', 64417 => 'ڻ', 64418 => 'ڻ', 64419 => 'ڻ', 64420 => 'ۀ', 64421 => 'ۀ', 64422 => 'ہ', 64423 => 'ہ', 64424 => 'ہ', 64425 => 'ہ', 64426 => 'ھ', 64427 => 'ھ', 64428 => 'ھ', 64429 => 'ھ', 64430 => 'ے', 64431 => 'ے', 64432 => 'ۓ', 64433 => 'ۓ', 64467 => 'ڭ', 64468 => 'ڭ', 64469 => 'ڭ', 64470 => 'ڭ', 64471 => 'ۇ', 64472 => 'ۇ', 64473 => 'ۆ', 64474 => 'ۆ', 64475 => 'ۈ', 64476 => 'ۈ', 64477 => 'ۇٴ', 64478 => 'ۋ', 64479 => 'ۋ', 64480 => 'ۅ', 64481 => 'ۅ', 64482 => 'ۉ', 64483 => 'ۉ', 64484 => 'ې', 64485 => 'ې', 64486 => 'ې', 64487 => 'ې', 64488 => 'ى', 64489 => 'ى', 64490 => 'ئا', 64491 => 'ئا', 64492 => 'ئە', 64493 => 'ئە', 64494 => 'ئو', 64495 => 'ئو', 64496 => 'ئۇ', 64497 => 'ئۇ', 64498 => 'ئۆ', 64499 => 'ئۆ', 64500 => 'ئۈ', 64501 => 'ئۈ', 64502 => 'ئې', 64503 => 'ئې', 64504 => 'ئې', 64505 => 'ئى', 64506 => 'ئى', 64507 => 'ئى', 64508 => 'ی', 64509 => 'ی', 64510 => 'ی', 64511 => 'ی', 64512 => 'ئج', 64513 => 'ئح', 64514 => 'ئم', 64515 => 'ئى', 64516 => 'ئي', 64517 => 'بج', 64518 => 'بح', 64519 => 'بخ', 64520 => 'بم', 64521 => 'بى', 64522 => 'بي', 64523 => 'تج', 64524 => 'تح', 64525 => 'تخ', 64526 => 'تم', 64527 => 'تى', 64528 => 'تي', 64529 => 'ثج', 64530 => 'ثم', 64531 => 'ثى', 64532 => 'ثي', 64533 => 'جح', 64534 => 'جم', 64535 => 'حج', 64536 => 'حم', 64537 => 'خج', 64538 => 'خح', 64539 => 'خم', 64540 => 'سج', 64541 => 'سح', 64542 => 'سخ', 64543 => 'سم', 64544 => 'صح', 64545 => 'صم', 64546 => 'ضج', 64547 => 'ضح', 64548 => 'ضخ', 64549 => 'ضم', 64550 => 'طح', 64551 => 'طم', 64552 => 'ظم', 64553 => 'عج', 64554 => 'عم', 64555 => 'غج', 64556 => 'غم', 64557 => 'فج', 64558 => 'فح', 64559 => 'فخ', 64560 => 'فم', 64561 => 'فى', 64562 => 'في', 64563 => 'قح', 64564 => 'قم', 64565 => 'قى', 64566 => 'قي', 64567 => 'كا', 64568 => 'كج', 64569 => 'كح', 64570 => 'كخ', 64571 => 'كل', 64572 => 'كم', 64573 => 'كى', 64574 => 'كي', 64575 => 'لج', 64576 => 'لح', 64577 => 'لخ', 64578 => 'لم', 64579 => 'لى', 64580 => 'لي', 64581 => 'مج', 64582 => 'مح', 64583 => 'مخ', 64584 => 'مم', 64585 => 'مى', 64586 => 'مي', 64587 => 'نج', 64588 => 'نح', 64589 => 'نخ', 64590 => 'نم', 64591 => 'نى', 64592 => 'ني', 64593 => 'هج', 64594 => 'هم', 64595 => 'هى', 64596 => 'هي', 64597 => 'يج', 64598 => 'يح', 64599 => 'يخ', 64600 => 'يم', 64601 => 'يى', 64602 => 'يي', 64603 => 'ذٰ', 64604 => 'رٰ', 64605 => 'ىٰ', 64612 => 'ئر', 64613 => 'ئز', 64614 => 'ئم', 64615 => 'ئن', 64616 => 'ئى', 64617 => 'ئي', 64618 => 'بر', 64619 => 'بز', 64620 => 'بم', 64621 => 'بن', 64622 => 'بى', 64623 => 'بي', 64624 => 'تر', 64625 => 'تز', 64626 => 'تم', 64627 => 'تن', 64628 => 'تى', 64629 => 'تي', 64630 => 'ثر', 64631 => 'ثز', 64632 => 'ثم', 64633 => 'ثن', 64634 => 'ثى', 64635 => 'ثي', 64636 => 'فى', 64637 => 'في', 64638 => 'قى', 64639 => 'قي', 64640 => 'كا', 64641 => 'كل', 64642 => 'كم', 64643 => 'كى', 64644 => 'كي', 64645 => 'لم', 64646 => 'لى', 64647 => 'لي', 64648 => 'ما', 64649 => 'مم', 64650 => 'نر', 64651 => 'نز', 64652 => 'نم', 64653 => 'نن', 64654 => 'نى', 64655 => 'ني', 64656 => 'ىٰ', 64657 => 'ير', 64658 => 'يز', 64659 => 'يم', 64660 => 'ين', 64661 => 'يى', 64662 => 'يي', 64663 => 'ئج', 64664 => 'ئح', 64665 => 'ئخ', 64666 => 'ئم', 64667 => 'ئه', 64668 => 'بج', 64669 => 'بح', 64670 => 'بخ', 64671 => 'بم', 64672 => 'به', 64673 => 'تج', 64674 => 'تح', 64675 => 'تخ', 64676 => 'تم', 64677 => 'ته', 64678 => 'ثم', 64679 => 'جح', 64680 => 'جم', 64681 => 'حج', 64682 => 'حم', 64683 => 'خج', 64684 => 'خم', 64685 => 'سج', 64686 => 'سح', 64687 => 'سخ', 64688 => 'سم', 64689 => 'صح', 64690 => 'صخ', 64691 => 'صم', 64692 => 'ضج', 64693 => 'ضح', 64694 => 'ضخ', 64695 => 'ضم', 64696 => 'طح', 64697 => 'ظم', 64698 => 'عج', 64699 => 'عم', 64700 => 'غج', 64701 => 'غم', 64702 => 'فج', 64703 => 'فح', 64704 => 'فخ', 64705 => 'فم', 64706 => 'قح', 64707 => 'قم', 64708 => 'كج', 64709 => 'كح', 64710 => 'كخ', 64711 => 'كل', 64712 => 'كم', 64713 => 'لج', 64714 => 'لح', 64715 => 'لخ', 64716 => 'لم', 64717 => 'له', 64718 => 'مج', 64719 => 'مح', 64720 => 'مخ', 64721 => 'مم', 64722 => 'نج', 64723 => 'نح', 64724 => 'نخ', 64725 => 'نم', 64726 => 'نه', 64727 => 'هج', 64728 => 'هم', 64729 => 'هٰ', 64730 => 'يج', 64731 => 'يح', 64732 => 'يخ', 64733 => 'يم', 64734 => 'يه', 64735 => 'ئم', 64736 => 'ئه', 64737 => 'بم', 64738 => 'به', 64739 => 'تم', 64740 => 'ته', 64741 => 'ثم', 64742 => 'ثه', 64743 => 'سم', 64744 => 'سه', 64745 => 'شم', 64746 => 'شه', 64747 => 'كل', 64748 => 'كم', 64749 => 'لم', 64750 => 'نم', 64751 => 'نه', 64752 => 'يم', 64753 => 'يه', 64754 => 'ـَّ', 64755 => 'ـُّ', 64756 => 'ـِّ', 64757 => 'طى', 64758 => 'طي', 64759 => 'عى', 64760 => 'عي', 64761 => 'غى', 64762 => 'غي', 64763 => 'سى', 64764 => 'سي', 64765 => 'شى', 64766 => 'شي', 64767 => 'حى', 64768 => 'حي', 64769 => 'جى', 64770 => 'جي', 64771 => 'خى', 64772 => 'خي', 64773 => 'صى', 64774 => 'صي', 64775 => 'ضى', 64776 => 'ضي', 64777 => 'شج', 64778 => 'شح', 64779 => 'شخ', 64780 => 'شم', 64781 => 'شر', 64782 => 'سر', 64783 => 'صر', 64784 => 'ضر', 64785 => 'طى', 64786 => 'طي', 64787 => 'عى', 64788 => 'عي', 64789 => 'غى', 64790 => 'غي', 64791 => 'سى', 64792 => 'سي', 64793 => 'شى', 64794 => 'شي', 64795 => 'حى', 64796 => 'حي', 64797 => 'جى', 64798 => 'جي', 64799 => 'خى', 64800 => 'خي', 64801 => 'صى', 64802 => 'صي', 64803 => 'ضى', 64804 => 'ضي', 64805 => 'شج', 64806 => 'شح', 64807 => 'شخ', 64808 => 'شم', 64809 => 'شر', 64810 => 'سر', 64811 => 'صر', 64812 => 'ضر', 64813 => 'شج', 64814 => 'شح', 64815 => 'شخ', 64816 => 'شم', 64817 => 'سه', 64818 => 'شه', 64819 => 'طم', 64820 => 'سج', 64821 => 'سح', 64822 => 'سخ', 64823 => 'شج', 64824 => 'شح', 64825 => 'شخ', 64826 => 'طم', 64827 => 'ظم', 64828 => 'اً', 64829 => 'اً', 64848 => 'تجم', 64849 => 'تحج', 64850 => 'تحج', 64851 => 'تحم', 64852 => 'تخم', 64853 => 'تمج', 64854 => 'تمح', 64855 => 'تمخ', 64856 => 'جمح', 64857 => 'جمح', 64858 => 'حمي', 64859 => 'حمى', 64860 => 'سحج', 64861 => 'سجح', 64862 => 'سجى', 64863 => 'سمح', 64864 => 'سمح', 64865 => 'سمج', 64866 => 'سمم', 64867 => 'سمم', 64868 => 'صحح', 64869 => 'صحح', 64870 => 'صمم', 64871 => 'شحم', 64872 => 'شحم', 64873 => 'شجي', 64874 => 'شمخ', 64875 => 'شمخ', 64876 => 'شمم', 64877 => 'شمم', 64878 => 'ضحى', 64879 => 'ضخم', 64880 => 'ضخم', 64881 => 'طمح', 64882 => 'طمح', 64883 => 'طمم', 64884 => 'طمي', 64885 => 'عجم', 64886 => 'عمم', 64887 => 'عمم', 64888 => 'عمى', 64889 => 'غمم', 64890 => 'غمي', 64891 => 'غمى', 64892 => 'فخم', 64893 => 'فخم', 64894 => 'قمح', 64895 => 'قمم', 64896 => 'لحم', 64897 => 'لحي', 64898 => 'لحى', 64899 => 'لجج', 64900 => 'لجج', 64901 => 'لخم', 64902 => 'لخم', 64903 => 'لمح', 64904 => 'لمح', 64905 => 'محج', 64906 => 'محم', 64907 => 'محي', 64908 => 'مجح', 64909 => 'مجم', 64910 => 'مخج', 64911 => 'مخم', 64914 => 'مجخ', 64915 => 'همج', 64916 => 'همم', 64917 => 'نحم', 64918 => 'نحى', 64919 => 'نجم', 64920 => 'نجم', 64921 => 'نجى', 64922 => 'نمي', 64923 => 'نمى', 64924 => 'يمم', 64925 => 'يمم', 64926 => 'بخي', 64927 => 'تجي', 64928 => 'تجى', 64929 => 'تخي', 64930 => 'تخى', 64931 => 'تمي', 64932 => 'تمى', 64933 => 'جمي', 64934 => 'جحى', 64935 => 'جمى', 64936 => 'سخى', 64937 => 'صحي', 64938 => 'شحي', 64939 => 'ضحي', 64940 => 'لجي', 64941 => 'لمي', 64942 => 'يحي', 64943 => 'يجي', 64944 => 'يمي', 64945 => 'ممي', 64946 => 'قمي', 64947 => 'نحي', 64948 => 'قمح', 64949 => 'لحم', 64950 => 'عمي', 64951 => 'كمي', 64952 => 'نجح', 64953 => 'مخي', 64954 => 'لجم', 64955 => 'كمم', 64956 => 'لجم', 64957 => 'نجح', 64958 => 'جحي', 64959 => 'حجي', 64960 => 'مجي', 64961 => 'فمي', 64962 => 'بحي', 64963 => 'كمم', 64964 => 'عجم', 64965 => 'صمم', 64966 => 'سخي', 64967 => 'نجي', 65008 => 'صلے', 65009 => 'قلے', 65010 => 'الله', 65011 => 'اكبر', 65012 => 'محمد', 65013 => 'صلعم', 65014 => 'رسول', 65015 => 'عليه', 65016 => 'وسلم', 65017 => 'صلى', 65020 => 'ریال', 65041 => '、', 65047 => '〖', 65048 => '〗', 65073 => '—', 65074 => '–', 65081 => '〔', 65082 => '〕', 65083 => '【', 65084 => '】', 65085 => '《', 65086 => '》', 65087 => '〈', 65088 => '〉', 65089 => '「', 65090 => '」', 65091 => '『', 65092 => '』', 65105 => '、', 65112 => '—', 65117 => '〔', 65118 => '〕', 65123 => '-', 65137 => 'ـً', 65143 => 'ـَ', 65145 => 'ـُ', 65147 => 'ـِ', 65149 => 'ـّ', 65151 => 'ـْ', 65152 => 'ء', 65153 => 'آ', 65154 => 'آ', 65155 => 'أ', 65156 => 'أ', 65157 => 'ؤ', 65158 => 'ؤ', 65159 => 'إ', 65160 => 'إ', 65161 => 'ئ', 65162 => 'ئ', 65163 => 'ئ', 65164 => 'ئ', 65165 => 'ا', 65166 => 'ا', 65167 => 'ب', 65168 => 'ب', 65169 => 'ب', 65170 => 'ب', 65171 => 'ة', 65172 => 'ة', 65173 => 'ت', 65174 => 'ت', 65175 => 'ت', 65176 => 'ت', 65177 => 'ث', 65178 => 'ث', 65179 => 'ث', 65180 => 'ث', 65181 => 'ج', 65182 => 'ج', 65183 => 'ج', 65184 => 'ج', 65185 => 'ح', 65186 => 'ح', 65187 => 'ح', 65188 => 'ح', 65189 => 'خ', 65190 => 'خ', 65191 => 'خ', 65192 => 'خ', 65193 => 'د', 65194 => 'د', 65195 => 'ذ', 65196 => 'ذ', 65197 => 'ر', 65198 => 'ر', 65199 => 'ز', 65200 => 'ز', 65201 => 'س', 65202 => 'س', 65203 => 'س', 65204 => 'س', 65205 => 'ش', 65206 => 'ش', 65207 => 'ش', 65208 => 'ش', 65209 => 'ص', 65210 => 'ص', 65211 => 'ص', 65212 => 'ص', 65213 => 'ض', 65214 => 'ض', 65215 => 'ض', 65216 => 'ض', 65217 => 'ط', 65218 => 'ط', 65219 => 'ط', 65220 => 'ط', 65221 => 'ظ', 65222 => 'ظ', 65223 => 'ظ', 65224 => 'ظ', 65225 => 'ع', 65226 => 'ع', 65227 => 'ع', 65228 => 'ع', 65229 => 'غ', 65230 => 'غ', 65231 => 'غ', 65232 => 'غ', 65233 => 'ف', 65234 => 'ف', 65235 => 'ف', 65236 => 'ف', 65237 => 'ق', 65238 => 'ق', 65239 => 'ق', 65240 => 'ق', 65241 => 'ك', 65242 => 'ك', 65243 => 'ك', 65244 => 'ك', 65245 => 'ل', 65246 => 'ل', 65247 => 'ل', 65248 => 'ل', 65249 => 'م', 65250 => 'م', 65251 => 'م', 65252 => 'م', 65253 => 'ن', 65254 => 'ن', 65255 => 'ن', 65256 => 'ن', 65257 => 'ه', 65258 => 'ه', 65259 => 'ه', 65260 => 'ه', 65261 => 'و', 65262 => 'و', 65263 => 'ى', 65264 => 'ى', 65265 => 'ي', 65266 => 'ي', 65267 => 'ي', 65268 => 'ي', 65269 => 'لآ', 65270 => 'لآ', 65271 => 'لأ', 65272 => 'لأ', 65273 => 'لإ', 65274 => 'لإ', 65275 => 'لا', 65276 => 'لا', 65293 => '-', 65294 => '.', 65296 => '0', 65297 => '1', 65298 => '2', 65299 => '3', 65300 => '4', 65301 => '5', 65302 => '6', 65303 => '7', 65304 => '8', 65305 => '9', 65313 => 'a', 65314 => 'b', 65315 => 'c', 65316 => 'd', 65317 => 'e', 65318 => 'f', 65319 => 'g', 65320 => 'h', 65321 => 'i', 65322 => 'j', 65323 => 'k', 65324 => 'l', 65325 => 'm', 65326 => 'n', 65327 => 'o', 65328 => 'p', 65329 => 'q', 65330 => 'r', 65331 => 's', 65332 => 't', 65333 => 'u', 65334 => 'v', 65335 => 'w', 65336 => 'x', 65337 => 'y', 65338 => 'z', 65345 => 'a', 65346 => 'b', 65347 => 'c', 65348 => 'd', 65349 => 'e', 65350 => 'f', 65351 => 'g', 65352 => 'h', 65353 => 'i', 65354 => 'j', 65355 => 'k', 65356 => 'l', 65357 => 'm', 65358 => 'n', 65359 => 'o', 65360 => 'p', 65361 => 'q', 65362 => 'r', 65363 => 's', 65364 => 't', 65365 => 'u', 65366 => 'v', 65367 => 'w', 65368 => 'x', 65369 => 'y', 65370 => 'z', 65375 => '⦅', 65376 => '⦆', 65377 => '.', 65378 => '「', 65379 => '」', 65380 => '、', 65381 => '・', 65382 => 'ヲ', 65383 => 'ァ', 65384 => 'ィ', 65385 => 'ゥ', 65386 => 'ェ', 65387 => 'ォ', 65388 => 'ャ', 65389 => 'ュ', 65390 => 'ョ', 65391 => 'ッ', 65392 => 'ー', 65393 => 'ア', 65394 => 'イ', 65395 => 'ウ', 65396 => 'エ', 65397 => 'オ', 65398 => 'カ', 65399 => 'キ', 65400 => 'ク', 65401 => 'ケ', 65402 => 'コ', 65403 => 'サ', 65404 => 'シ', 65405 => 'ス', 65406 => 'セ', 65407 => 'ソ', 65408 => 'タ', 65409 => 'チ', 65410 => 'ツ', 65411 => 'テ', 65412 => 'ト', 65413 => 'ナ', 65414 => 'ニ', 65415 => 'ヌ', 65416 => 'ネ', 65417 => 'ノ', 65418 => 'ハ', 65419 => 'ヒ', 65420 => 'フ', 65421 => 'ヘ', 65422 => 'ホ', 65423 => 'マ', 65424 => 'ミ', 65425 => 'ム', 65426 => 'メ', 65427 => 'モ', 65428 => 'ヤ', 65429 => 'ユ', 65430 => 'ヨ', 65431 => 'ラ', 65432 => 'リ', 65433 => 'ル', 65434 => 'レ', 65435 => 'ロ', 65436 => 'ワ', 65437 => 'ン', 65438 => '゙', 65439 => '゚', 65441 => 'ᄀ', 65442 => 'ᄁ', 65443 => 'ᆪ', 65444 => 'ᄂ', 65445 => 'ᆬ', 65446 => 'ᆭ', 65447 => 'ᄃ', 65448 => 'ᄄ', 65449 => 'ᄅ', 65450 => 'ᆰ', 65451 => 'ᆱ', 65452 => 'ᆲ', 65453 => 'ᆳ', 65454 => 'ᆴ', 65455 => 'ᆵ', 65456 => 'ᄚ', 65457 => 'ᄆ', 65458 => 'ᄇ', 65459 => 'ᄈ', 65460 => 'ᄡ', 65461 => 'ᄉ', 65462 => 'ᄊ', 65463 => 'ᄋ', 65464 => 'ᄌ', 65465 => 'ᄍ', 65466 => 'ᄎ', 65467 => 'ᄏ', 65468 => 'ᄐ', 65469 => 'ᄑ', 65470 => 'ᄒ', 65474 => 'ᅡ', 65475 => 'ᅢ', 65476 => 'ᅣ', 65477 => 'ᅤ', 65478 => 'ᅥ', 65479 => 'ᅦ', 65482 => 'ᅧ', 65483 => 'ᅨ', 65484 => 'ᅩ', 65485 => 'ᅪ', 65486 => 'ᅫ', 65487 => 'ᅬ', 65490 => 'ᅭ', 65491 => 'ᅮ', 65492 => 'ᅯ', 65493 => 'ᅰ', 65494 => 'ᅱ', 65495 => 'ᅲ', 65498 => 'ᅳ', 65499 => 'ᅴ', 65500 => 'ᅵ', 65504 => '¢', 65505 => '£', 65506 => '¬', 65508 => '¦', 65509 => '¥', 65510 => '₩', 65512 => '│', 65513 => '←', 65514 => '↑', 65515 => '→', 65516 => '↓', 65517 => '■', 65518 => '○', 66560 => '𐐨', 66561 => '𐐩', 66562 => '𐐪', 66563 => '𐐫', 66564 => '𐐬', 66565 => '𐐭', 66566 => '𐐮', 66567 => '𐐯', 66568 => '𐐰', 66569 => '𐐱', 66570 => '𐐲', 66571 => '𐐳', 66572 => '𐐴', 66573 => '𐐵', 66574 => '𐐶', 66575 => '𐐷', 66576 => '𐐸', 66577 => '𐐹', 66578 => '𐐺', 66579 => '𐐻', 66580 => '𐐼', 66581 => '𐐽', 66582 => '𐐾', 66583 => '𐐿', 66584 => '𐑀', 66585 => '𐑁', 66586 => '𐑂', 66587 => '𐑃', 66588 => '𐑄', 66589 => '𐑅', 66590 => '𐑆', 66591 => '𐑇', 66592 => '𐑈', 66593 => '𐑉', 66594 => '𐑊', 66595 => '𐑋', 66596 => '𐑌', 66597 => '𐑍', 66598 => '𐑎', 66599 => '𐑏', 66736 => '𐓘', 66737 => '𐓙', 66738 => '𐓚', 66739 => '𐓛', 66740 => '𐓜', 66741 => '𐓝', 66742 => '𐓞', 66743 => '𐓟', 66744 => '𐓠', 66745 => '𐓡', 66746 => '𐓢', 66747 => '𐓣', 66748 => '𐓤', 66749 => '𐓥', 66750 => '𐓦', 66751 => '𐓧', 66752 => '𐓨', 66753 => '𐓩', 66754 => '𐓪', 66755 => '𐓫', 66756 => '𐓬', 66757 => '𐓭', 66758 => '𐓮', 66759 => '𐓯', 66760 => '𐓰', 66761 => '𐓱', 66762 => '𐓲', 66763 => '𐓳', 66764 => '𐓴', 66765 => '𐓵', 66766 => '𐓶', 66767 => '𐓷', 66768 => '𐓸', 66769 => '𐓹', 66770 => '𐓺', 66771 => '𐓻', 68736 => '𐳀', 68737 => '𐳁', 68738 => '𐳂', 68739 => '𐳃', 68740 => '𐳄', 68741 => '𐳅', 68742 => '𐳆', 68743 => '𐳇', 68744 => '𐳈', 68745 => '𐳉', 68746 => '𐳊', 68747 => '𐳋', 68748 => '𐳌', 68749 => '𐳍', 68750 => '𐳎', 68751 => '𐳏', 68752 => '𐳐', 68753 => '𐳑', 68754 => '𐳒', 68755 => '𐳓', 68756 => '𐳔', 68757 => '𐳕', 68758 => '𐳖', 68759 => '𐳗', 68760 => '𐳘', 68761 => '𐳙', 68762 => '𐳚', 68763 => '𐳛', 68764 => '𐳜', 68765 => '𐳝', 68766 => '𐳞', 68767 => '𐳟', 68768 => '𐳠', 68769 => '𐳡', 68770 => '𐳢', 68771 => '𐳣', 68772 => '𐳤', 68773 => '𐳥', 68774 => '𐳦', 68775 => '𐳧', 68776 => '𐳨', 68777 => '𐳩', 68778 => '𐳪', 68779 => '𐳫', 68780 => '𐳬', 68781 => '𐳭', 68782 => '𐳮', 68783 => '𐳯', 68784 => '𐳰', 68785 => '𐳱', 68786 => '𐳲', 71840 => '𑣀', 71841 => '𑣁', 71842 => '𑣂', 71843 => '𑣃', 71844 => '𑣄', 71845 => '𑣅', 71846 => '𑣆', 71847 => '𑣇', 71848 => '𑣈', 71849 => '𑣉', 71850 => '𑣊', 71851 => '𑣋', 71852 => '𑣌', 71853 => '𑣍', 71854 => '𑣎', 71855 => '𑣏', 71856 => '𑣐', 71857 => '𑣑', 71858 => '𑣒', 71859 => '𑣓', 71860 => '𑣔', 71861 => '𑣕', 71862 => '𑣖', 71863 => '𑣗', 71864 => '𑣘', 71865 => '𑣙', 71866 => '𑣚', 71867 => '𑣛', 71868 => '𑣜', 71869 => '𑣝', 71870 => '𑣞', 71871 => '𑣟', 93760 => '𖹠', 93761 => '𖹡', 93762 => '𖹢', 93763 => '𖹣', 93764 => '𖹤', 93765 => '𖹥', 93766 => '𖹦', 93767 => '𖹧', 93768 => '𖹨', 93769 => '𖹩', 93770 => '𖹪', 93771 => '𖹫', 93772 => '𖹬', 93773 => '𖹭', 93774 => '𖹮', 93775 => '𖹯', 93776 => '𖹰', 93777 => '𖹱', 93778 => '𖹲', 93779 => '𖹳', 93780 => '𖹴', 93781 => '𖹵', 93782 => '𖹶', 93783 => '𖹷', 93784 => '𖹸', 93785 => '𖹹', 93786 => '𖹺', 93787 => '𖹻', 93788 => '𖹼', 93789 => '𖹽', 93790 => '𖹾', 93791 => '𖹿', 119134 => '𝅗𝅥', 119135 => '𝅘𝅥', 119136 => '𝅘𝅥𝅮', 119137 => '𝅘𝅥𝅯', 119138 => '𝅘𝅥𝅰', 119139 => '𝅘𝅥𝅱', 119140 => '𝅘𝅥𝅲', 119227 => '𝆹𝅥', 119228 => '𝆺𝅥', 119229 => '𝆹𝅥𝅮', 119230 => '𝆺𝅥𝅮', 119231 => '𝆹𝅥𝅯', 119232 => '𝆺𝅥𝅯', 119808 => 'a', 119809 => 'b', 119810 => 'c', 119811 => 'd', 119812 => 'e', 119813 => 'f', 119814 => 'g', 119815 => 'h', 119816 => 'i', 119817 => 'j', 119818 => 'k', 119819 => 'l', 119820 => 'm', 119821 => 'n', 119822 => 'o', 119823 => 'p', 119824 => 'q', 119825 => 'r', 119826 => 's', 119827 => 't', 119828 => 'u', 119829 => 'v', 119830 => 'w', 119831 => 'x', 119832 => 'y', 119833 => 'z', 119834 => 'a', 119835 => 'b', 119836 => 'c', 119837 => 'd', 119838 => 'e', 119839 => 'f', 119840 => 'g', 119841 => 'h', 119842 => 'i', 119843 => 'j', 119844 => 'k', 119845 => 'l', 119846 => 'm', 119847 => 'n', 119848 => 'o', 119849 => 'p', 119850 => 'q', 119851 => 'r', 119852 => 's', 119853 => 't', 119854 => 'u', 119855 => 'v', 119856 => 'w', 119857 => 'x', 119858 => 'y', 119859 => 'z', 119860 => 'a', 119861 => 'b', 119862 => 'c', 119863 => 'd', 119864 => 'e', 119865 => 'f', 119866 => 'g', 119867 => 'h', 119868 => 'i', 119869 => 'j', 119870 => 'k', 119871 => 'l', 119872 => 'm', 119873 => 'n', 119874 => 'o', 119875 => 'p', 119876 => 'q', 119877 => 'r', 119878 => 's', 119879 => 't', 119880 => 'u', 119881 => 'v', 119882 => 'w', 119883 => 'x', 119884 => 'y', 119885 => 'z', 119886 => 'a', 119887 => 'b', 119888 => 'c', 119889 => 'd', 119890 => 'e', 119891 => 'f', 119892 => 'g', 119894 => 'i', 119895 => 'j', 119896 => 'k', 119897 => 'l', 119898 => 'm', 119899 => 'n', 119900 => 'o', 119901 => 'p', 119902 => 'q', 119903 => 'r', 119904 => 's', 119905 => 't', 119906 => 'u', 119907 => 'v', 119908 => 'w', 119909 => 'x', 119910 => 'y', 119911 => 'z', 119912 => 'a', 119913 => 'b', 119914 => 'c', 119915 => 'd', 119916 => 'e', 119917 => 'f', 119918 => 'g', 119919 => 'h', 119920 => 'i', 119921 => 'j', 119922 => 'k', 119923 => 'l', 119924 => 'm', 119925 => 'n', 119926 => 'o', 119927 => 'p', 119928 => 'q', 119929 => 'r', 119930 => 's', 119931 => 't', 119932 => 'u', 119933 => 'v', 119934 => 'w', 119935 => 'x', 119936 => 'y', 119937 => 'z', 119938 => 'a', 119939 => 'b', 119940 => 'c', 119941 => 'd', 119942 => 'e', 119943 => 'f', 119944 => 'g', 119945 => 'h', 119946 => 'i', 119947 => 'j', 119948 => 'k', 119949 => 'l', 119950 => 'm', 119951 => 'n', 119952 => 'o', 119953 => 'p', 119954 => 'q', 119955 => 'r', 119956 => 's', 119957 => 't', 119958 => 'u', 119959 => 'v', 119960 => 'w', 119961 => 'x', 119962 => 'y', 119963 => 'z', 119964 => 'a', 119966 => 'c', 119967 => 'd', 119970 => 'g', 119973 => 'j', 119974 => 'k', 119977 => 'n', 119978 => 'o', 119979 => 'p', 119980 => 'q', 119982 => 's', 119983 => 't', 119984 => 'u', 119985 => 'v', 119986 => 'w', 119987 => 'x', 119988 => 'y', 119989 => 'z', 119990 => 'a', 119991 => 'b', 119992 => 'c', 119993 => 'd', 119995 => 'f', 119997 => 'h', 119998 => 'i', 119999 => 'j', 120000 => 'k', 120001 => 'l', 120002 => 'm', 120003 => 'n', 120005 => 'p', 120006 => 'q', 120007 => 'r', 120008 => 's', 120009 => 't', 120010 => 'u', 120011 => 'v', 120012 => 'w', 120013 => 'x', 120014 => 'y', 120015 => 'z', 120016 => 'a', 120017 => 'b', 120018 => 'c', 120019 => 'd', 120020 => 'e', 120021 => 'f', 120022 => 'g', 120023 => 'h', 120024 => 'i', 120025 => 'j', 120026 => 'k', 120027 => 'l', 120028 => 'm', 120029 => 'n', 120030 => 'o', 120031 => 'p', 120032 => 'q', 120033 => 'r', 120034 => 's', 120035 => 't', 120036 => 'u', 120037 => 'v', 120038 => 'w', 120039 => 'x', 120040 => 'y', 120041 => 'z', 120042 => 'a', 120043 => 'b', 120044 => 'c', 120045 => 'd', 120046 => 'e', 120047 => 'f', 120048 => 'g', 120049 => 'h', 120050 => 'i', 120051 => 'j', 120052 => 'k', 120053 => 'l', 120054 => 'm', 120055 => 'n', 120056 => 'o', 120057 => 'p', 120058 => 'q', 120059 => 'r', 120060 => 's', 120061 => 't', 120062 => 'u', 120063 => 'v', 120064 => 'w', 120065 => 'x', 120066 => 'y', 120067 => 'z', 120068 => 'a', 120069 => 'b', 120071 => 'd', 120072 => 'e', 120073 => 'f', 120074 => 'g', 120077 => 'j', 120078 => 'k', 120079 => 'l', 120080 => 'm', 120081 => 'n', 120082 => 'o', 120083 => 'p', 120084 => 'q', 120086 => 's', 120087 => 't', 120088 => 'u', 120089 => 'v', 120090 => 'w', 120091 => 'x', 120092 => 'y', 120094 => 'a', 120095 => 'b', 120096 => 'c', 120097 => 'd', 120098 => 'e', 120099 => 'f', 120100 => 'g', 120101 => 'h', 120102 => 'i', 120103 => 'j', 120104 => 'k', 120105 => 'l', 120106 => 'm', 120107 => 'n', 120108 => 'o', 120109 => 'p', 120110 => 'q', 120111 => 'r', 120112 => 's', 120113 => 't', 120114 => 'u', 120115 => 'v', 120116 => 'w', 120117 => 'x', 120118 => 'y', 120119 => 'z', 120120 => 'a', 120121 => 'b', 120123 => 'd', 120124 => 'e', 120125 => 'f', 120126 => 'g', 120128 => 'i', 120129 => 'j', 120130 => 'k', 120131 => 'l', 120132 => 'm', 120134 => 'o', 120138 => 's', 120139 => 't', 120140 => 'u', 120141 => 'v', 120142 => 'w', 120143 => 'x', 120144 => 'y', 120146 => 'a', 120147 => 'b', 120148 => 'c', 120149 => 'd', 120150 => 'e', 120151 => 'f', 120152 => 'g', 120153 => 'h', 120154 => 'i', 120155 => 'j', 120156 => 'k', 120157 => 'l', 120158 => 'm', 120159 => 'n', 120160 => 'o', 120161 => 'p', 120162 => 'q', 120163 => 'r', 120164 => 's', 120165 => 't', 120166 => 'u', 120167 => 'v', 120168 => 'w', 120169 => 'x', 120170 => 'y', 120171 => 'z', 120172 => 'a', 120173 => 'b', 120174 => 'c', 120175 => 'd', 120176 => 'e', 120177 => 'f', 120178 => 'g', 120179 => 'h', 120180 => 'i', 120181 => 'j', 120182 => 'k', 120183 => 'l', 120184 => 'm', 120185 => 'n', 120186 => 'o', 120187 => 'p', 120188 => 'q', 120189 => 'r', 120190 => 's', 120191 => 't', 120192 => 'u', 120193 => 'v', 120194 => 'w', 120195 => 'x', 120196 => 'y', 120197 => 'z', 120198 => 'a', 120199 => 'b', 120200 => 'c', 120201 => 'd', 120202 => 'e', 120203 => 'f', 120204 => 'g', 120205 => 'h', 120206 => 'i', 120207 => 'j', 120208 => 'k', 120209 => 'l', 120210 => 'm', 120211 => 'n', 120212 => 'o', 120213 => 'p', 120214 => 'q', 120215 => 'r', 120216 => 's', 120217 => 't', 120218 => 'u', 120219 => 'v', 120220 => 'w', 120221 => 'x', 120222 => 'y', 120223 => 'z', 120224 => 'a', 120225 => 'b', 120226 => 'c', 120227 => 'd', 120228 => 'e', 120229 => 'f', 120230 => 'g', 120231 => 'h', 120232 => 'i', 120233 => 'j', 120234 => 'k', 120235 => 'l', 120236 => 'm', 120237 => 'n', 120238 => 'o', 120239 => 'p', 120240 => 'q', 120241 => 'r', 120242 => 's', 120243 => 't', 120244 => 'u', 120245 => 'v', 120246 => 'w', 120247 => 'x', 120248 => 'y', 120249 => 'z', 120250 => 'a', 120251 => 'b', 120252 => 'c', 120253 => 'd', 120254 => 'e', 120255 => 'f', 120256 => 'g', 120257 => 'h', 120258 => 'i', 120259 => 'j', 120260 => 'k', 120261 => 'l', 120262 => 'm', 120263 => 'n', 120264 => 'o', 120265 => 'p', 120266 => 'q', 120267 => 'r', 120268 => 's', 120269 => 't', 120270 => 'u', 120271 => 'v', 120272 => 'w', 120273 => 'x', 120274 => 'y', 120275 => 'z', 120276 => 'a', 120277 => 'b', 120278 => 'c', 120279 => 'd', 120280 => 'e', 120281 => 'f', 120282 => 'g', 120283 => 'h', 120284 => 'i', 120285 => 'j', 120286 => 'k', 120287 => 'l', 120288 => 'm', 120289 => 'n', 120290 => 'o', 120291 => 'p', 120292 => 'q', 120293 => 'r', 120294 => 's', 120295 => 't', 120296 => 'u', 120297 => 'v', 120298 => 'w', 120299 => 'x', 120300 => 'y', 120301 => 'z', 120302 => 'a', 120303 => 'b', 120304 => 'c', 120305 => 'd', 120306 => 'e', 120307 => 'f', 120308 => 'g', 120309 => 'h', 120310 => 'i', 120311 => 'j', 120312 => 'k', 120313 => 'l', 120314 => 'm', 120315 => 'n', 120316 => 'o', 120317 => 'p', 120318 => 'q', 120319 => 'r', 120320 => 's', 120321 => 't', 120322 => 'u', 120323 => 'v', 120324 => 'w', 120325 => 'x', 120326 => 'y', 120327 => 'z', 120328 => 'a', 120329 => 'b', 120330 => 'c', 120331 => 'd', 120332 => 'e', 120333 => 'f', 120334 => 'g', 120335 => 'h', 120336 => 'i', 120337 => 'j', 120338 => 'k', 120339 => 'l', 120340 => 'm', 120341 => 'n', 120342 => 'o', 120343 => 'p', 120344 => 'q', 120345 => 'r', 120346 => 's', 120347 => 't', 120348 => 'u', 120349 => 'v', 120350 => 'w', 120351 => 'x', 120352 => 'y', 120353 => 'z', 120354 => 'a', 120355 => 'b', 120356 => 'c', 120357 => 'd', 120358 => 'e', 120359 => 'f', 120360 => 'g', 120361 => 'h', 120362 => 'i', 120363 => 'j', 120364 => 'k', 120365 => 'l', 120366 => 'm', 120367 => 'n', 120368 => 'o', 120369 => 'p', 120370 => 'q', 120371 => 'r', 120372 => 's', 120373 => 't', 120374 => 'u', 120375 => 'v', 120376 => 'w', 120377 => 'x', 120378 => 'y', 120379 => 'z', 120380 => 'a', 120381 => 'b', 120382 => 'c', 120383 => 'd', 120384 => 'e', 120385 => 'f', 120386 => 'g', 120387 => 'h', 120388 => 'i', 120389 => 'j', 120390 => 'k', 120391 => 'l', 120392 => 'm', 120393 => 'n', 120394 => 'o', 120395 => 'p', 120396 => 'q', 120397 => 'r', 120398 => 's', 120399 => 't', 120400 => 'u', 120401 => 'v', 120402 => 'w', 120403 => 'x', 120404 => 'y', 120405 => 'z', 120406 => 'a', 120407 => 'b', 120408 => 'c', 120409 => 'd', 120410 => 'e', 120411 => 'f', 120412 => 'g', 120413 => 'h', 120414 => 'i', 120415 => 'j', 120416 => 'k', 120417 => 'l', 120418 => 'm', 120419 => 'n', 120420 => 'o', 120421 => 'p', 120422 => 'q', 120423 => 'r', 120424 => 's', 120425 => 't', 120426 => 'u', 120427 => 'v', 120428 => 'w', 120429 => 'x', 120430 => 'y', 120431 => 'z', 120432 => 'a', 120433 => 'b', 120434 => 'c', 120435 => 'd', 120436 => 'e', 120437 => 'f', 120438 => 'g', 120439 => 'h', 120440 => 'i', 120441 => 'j', 120442 => 'k', 120443 => 'l', 120444 => 'm', 120445 => 'n', 120446 => 'o', 120447 => 'p', 120448 => 'q', 120449 => 'r', 120450 => 's', 120451 => 't', 120452 => 'u', 120453 => 'v', 120454 => 'w', 120455 => 'x', 120456 => 'y', 120457 => 'z', 120458 => 'a', 120459 => 'b', 120460 => 'c', 120461 => 'd', 120462 => 'e', 120463 => 'f', 120464 => 'g', 120465 => 'h', 120466 => 'i', 120467 => 'j', 120468 => 'k', 120469 => 'l', 120470 => 'm', 120471 => 'n', 120472 => 'o', 120473 => 'p', 120474 => 'q', 120475 => 'r', 120476 => 's', 120477 => 't', 120478 => 'u', 120479 => 'v', 120480 => 'w', 120481 => 'x', 120482 => 'y', 120483 => 'z', 120484 => 'ı', 120485 => 'ȷ', 120488 => 'α', 120489 => 'β', 120490 => 'γ', 120491 => 'δ', 120492 => 'ε', 120493 => 'ζ', 120494 => 'η', 120495 => 'θ', 120496 => 'ι', 120497 => 'κ', 120498 => 'λ', 120499 => 'μ', 120500 => 'ν', 120501 => 'ξ', 120502 => 'ο', 120503 => 'π', 120504 => 'ρ', 120505 => 'θ', 120506 => 'σ', 120507 => 'τ', 120508 => 'υ', 120509 => 'φ', 120510 => 'χ', 120511 => 'ψ', 120512 => 'ω', 120513 => '∇', 120514 => 'α', 120515 => 'β', 120516 => 'γ', 120517 => 'δ', 120518 => 'ε', 120519 => 'ζ', 120520 => 'η', 120521 => 'θ', 120522 => 'ι', 120523 => 'κ', 120524 => 'λ', 120525 => 'μ', 120526 => 'ν', 120527 => 'ξ', 120528 => 'ο', 120529 => 'π', 120530 => 'ρ', 120531 => 'σ', 120532 => 'σ', 120533 => 'τ', 120534 => 'υ', 120535 => 'φ', 120536 => 'χ', 120537 => 'ψ', 120538 => 'ω', 120539 => '∂', 120540 => 'ε', 120541 => 'θ', 120542 => 'κ', 120543 => 'φ', 120544 => 'ρ', 120545 => 'π', 120546 => 'α', 120547 => 'β', 120548 => 'γ', 120549 => 'δ', 120550 => 'ε', 120551 => 'ζ', 120552 => 'η', 120553 => 'θ', 120554 => 'ι', 120555 => 'κ', 120556 => 'λ', 120557 => 'μ', 120558 => 'ν', 120559 => 'ξ', 120560 => 'ο', 120561 => 'π', 120562 => 'ρ', 120563 => 'θ', 120564 => 'σ', 120565 => 'τ', 120566 => 'υ', 120567 => 'φ', 120568 => 'χ', 120569 => 'ψ', 120570 => 'ω', 120571 => '∇', 120572 => 'α', 120573 => 'β', 120574 => 'γ', 120575 => 'δ', 120576 => 'ε', 120577 => 'ζ', 120578 => 'η', 120579 => 'θ', 120580 => 'ι', 120581 => 'κ', 120582 => 'λ', 120583 => 'μ', 120584 => 'ν', 120585 => 'ξ', 120586 => 'ο', 120587 => 'π', 120588 => 'ρ', 120589 => 'σ', 120590 => 'σ', 120591 => 'τ', 120592 => 'υ', 120593 => 'φ', 120594 => 'χ', 120595 => 'ψ', 120596 => 'ω', 120597 => '∂', 120598 => 'ε', 120599 => 'θ', 120600 => 'κ', 120601 => 'φ', 120602 => 'ρ', 120603 => 'π', 120604 => 'α', 120605 => 'β', 120606 => 'γ', 120607 => 'δ', 120608 => 'ε', 120609 => 'ζ', 120610 => 'η', 120611 => 'θ', 120612 => 'ι', 120613 => 'κ', 120614 => 'λ', 120615 => 'μ', 120616 => 'ν', 120617 => 'ξ', 120618 => 'ο', 120619 => 'π', 120620 => 'ρ', 120621 => 'θ', 120622 => 'σ', 120623 => 'τ', 120624 => 'υ', 120625 => 'φ', 120626 => 'χ', 120627 => 'ψ', 120628 => 'ω', 120629 => '∇', 120630 => 'α', 120631 => 'β', 120632 => 'γ', 120633 => 'δ', 120634 => 'ε', 120635 => 'ζ', 120636 => 'η', 120637 => 'θ', 120638 => 'ι', 120639 => 'κ', 120640 => 'λ', 120641 => 'μ', 120642 => 'ν', 120643 => 'ξ', 120644 => 'ο', 120645 => 'π', 120646 => 'ρ', 120647 => 'σ', 120648 => 'σ', 120649 => 'τ', 120650 => 'υ', 120651 => 'φ', 120652 => 'χ', 120653 => 'ψ', 120654 => 'ω', 120655 => '∂', 120656 => 'ε', 120657 => 'θ', 120658 => 'κ', 120659 => 'φ', 120660 => 'ρ', 120661 => 'π', 120662 => 'α', 120663 => 'β', 120664 => 'γ', 120665 => 'δ', 120666 => 'ε', 120667 => 'ζ', 120668 => 'η', 120669 => 'θ', 120670 => 'ι', 120671 => 'κ', 120672 => 'λ', 120673 => 'μ', 120674 => 'ν', 120675 => 'ξ', 120676 => 'ο', 120677 => 'π', 120678 => 'ρ', 120679 => 'θ', 120680 => 'σ', 120681 => 'τ', 120682 => 'υ', 120683 => 'φ', 120684 => 'χ', 120685 => 'ψ', 120686 => 'ω', 120687 => '∇', 120688 => 'α', 120689 => 'β', 120690 => 'γ', 120691 => 'δ', 120692 => 'ε', 120693 => 'ζ', 120694 => 'η', 120695 => 'θ', 120696 => 'ι', 120697 => 'κ', 120698 => 'λ', 120699 => 'μ', 120700 => 'ν', 120701 => 'ξ', 120702 => 'ο', 120703 => 'π', 120704 => 'ρ', 120705 => 'σ', 120706 => 'σ', 120707 => 'τ', 120708 => 'υ', 120709 => 'φ', 120710 => 'χ', 120711 => 'ψ', 120712 => 'ω', 120713 => '∂', 120714 => 'ε', 120715 => 'θ', 120716 => 'κ', 120717 => 'φ', 120718 => 'ρ', 120719 => 'π', 120720 => 'α', 120721 => 'β', 120722 => 'γ', 120723 => 'δ', 120724 => 'ε', 120725 => 'ζ', 120726 => 'η', 120727 => 'θ', 120728 => 'ι', 120729 => 'κ', 120730 => 'λ', 120731 => 'μ', 120732 => 'ν', 120733 => 'ξ', 120734 => 'ο', 120735 => 'π', 120736 => 'ρ', 120737 => 'θ', 120738 => 'σ', 120739 => 'τ', 120740 => 'υ', 120741 => 'φ', 120742 => 'χ', 120743 => 'ψ', 120744 => 'ω', 120745 => '∇', 120746 => 'α', 120747 => 'β', 120748 => 'γ', 120749 => 'δ', 120750 => 'ε', 120751 => 'ζ', 120752 => 'η', 120753 => 'θ', 120754 => 'ι', 120755 => 'κ', 120756 => 'λ', 120757 => 'μ', 120758 => 'ν', 120759 => 'ξ', 120760 => 'ο', 120761 => 'π', 120762 => 'ρ', 120763 => 'σ', 120764 => 'σ', 120765 => 'τ', 120766 => 'υ', 120767 => 'φ', 120768 => 'χ', 120769 => 'ψ', 120770 => 'ω', 120771 => '∂', 120772 => 'ε', 120773 => 'θ', 120774 => 'κ', 120775 => 'φ', 120776 => 'ρ', 120777 => 'π', 120778 => 'ϝ', 120779 => 'ϝ', 120782 => '0', 120783 => '1', 120784 => '2', 120785 => '3', 120786 => '4', 120787 => '5', 120788 => '6', 120789 => '7', 120790 => '8', 120791 => '9', 120792 => '0', 120793 => '1', 120794 => '2', 120795 => '3', 120796 => '4', 120797 => '5', 120798 => '6', 120799 => '7', 120800 => '8', 120801 => '9', 120802 => '0', 120803 => '1', 120804 => '2', 120805 => '3', 120806 => '4', 120807 => '5', 120808 => '6', 120809 => '7', 120810 => '8', 120811 => '9', 120812 => '0', 120813 => '1', 120814 => '2', 120815 => '3', 120816 => '4', 120817 => '5', 120818 => '6', 120819 => '7', 120820 => '8', 120821 => '9', 120822 => '0', 120823 => '1', 120824 => '2', 120825 => '3', 120826 => '4', 120827 => '5', 120828 => '6', 120829 => '7', 120830 => '8', 120831 => '9', 125184 => '𞤢', 125185 => '𞤣', 125186 => '𞤤', 125187 => '𞤥', 125188 => '𞤦', 125189 => '𞤧', 125190 => '𞤨', 125191 => '𞤩', 125192 => '𞤪', 125193 => '𞤫', 125194 => '𞤬', 125195 => '𞤭', 125196 => '𞤮', 125197 => '𞤯', 125198 => '𞤰', 125199 => '𞤱', 125200 => '𞤲', 125201 => '𞤳', 125202 => '𞤴', 125203 => '𞤵', 125204 => '𞤶', 125205 => '𞤷', 125206 => '𞤸', 125207 => '𞤹', 125208 => '𞤺', 125209 => '𞤻', 125210 => '𞤼', 125211 => '𞤽', 125212 => '𞤾', 125213 => '𞤿', 125214 => '𞥀', 125215 => '𞥁', 125216 => '𞥂', 125217 => '𞥃', 126464 => 'ا', 126465 => 'ب', 126466 => 'ج', 126467 => 'د', 126469 => 'و', 126470 => 'ز', 126471 => 'ح', 126472 => 'ط', 126473 => 'ي', 126474 => 'ك', 126475 => 'ل', 126476 => 'م', 126477 => 'ن', 126478 => 'س', 126479 => 'ع', 126480 => 'ف', 126481 => 'ص', 126482 => 'ق', 126483 => 'ر', 126484 => 'ش', 126485 => 'ت', 126486 => 'ث', 126487 => 'خ', 126488 => 'ذ', 126489 => 'ض', 126490 => 'ظ', 126491 => 'غ', 126492 => 'ٮ', 126493 => 'ں', 126494 => 'ڡ', 126495 => 'ٯ', 126497 => 'ب', 126498 => 'ج', 126500 => 'ه', 126503 => 'ح', 126505 => 'ي', 126506 => 'ك', 126507 => 'ل', 126508 => 'م', 126509 => 'ن', 126510 => 'س', 126511 => 'ع', 126512 => 'ف', 126513 => 'ص', 126514 => 'ق', 126516 => 'ش', 126517 => 'ت', 126518 => 'ث', 126519 => 'خ', 126521 => 'ض', 126523 => 'غ', 126530 => 'ج', 126535 => 'ح', 126537 => 'ي', 126539 => 'ل', 126541 => 'ن', 126542 => 'س', 126543 => 'ع', 126545 => 'ص', 126546 => 'ق', 126548 => 'ش', 126551 => 'خ', 126553 => 'ض', 126555 => 'غ', 126557 => 'ں', 126559 => 'ٯ', 126561 => 'ب', 126562 => 'ج', 126564 => 'ه', 126567 => 'ح', 126568 => 'ط', 126569 => 'ي', 126570 => 'ك', 126572 => 'م', 126573 => 'ن', 126574 => 'س', 126575 => 'ع', 126576 => 'ف', 126577 => 'ص', 126578 => 'ق', 126580 => 'ش', 126581 => 'ت', 126582 => 'ث', 126583 => 'خ', 126585 => 'ض', 126586 => 'ظ', 126587 => 'غ', 126588 => 'ٮ', 126590 => 'ڡ', 126592 => 'ا', 126593 => 'ب', 126594 => 'ج', 126595 => 'د', 126596 => 'ه', 126597 => 'و', 126598 => 'ز', 126599 => 'ح', 126600 => 'ط', 126601 => 'ي', 126603 => 'ل', 126604 => 'م', 126605 => 'ن', 126606 => 'س', 126607 => 'ع', 126608 => 'ف', 126609 => 'ص', 126610 => 'ق', 126611 => 'ر', 126612 => 'ش', 126613 => 'ت', 126614 => 'ث', 126615 => 'خ', 126616 => 'ذ', 126617 => 'ض', 126618 => 'ظ', 126619 => 'غ', 126625 => 'ب', 126626 => 'ج', 126627 => 'د', 126629 => 'و', 126630 => 'ز', 126631 => 'ح', 126632 => 'ط', 126633 => 'ي', 126635 => 'ل', 126636 => 'م', 126637 => 'ن', 126638 => 'س', 126639 => 'ع', 126640 => 'ف', 126641 => 'ص', 126642 => 'ق', 126643 => 'ر', 126644 => 'ش', 126645 => 'ت', 126646 => 'ث', 126647 => 'خ', 126648 => 'ذ', 126649 => 'ض', 126650 => 'ظ', 126651 => 'غ', 127274 => '〔s〕', 127275 => 'c', 127276 => 'r', 127277 => 'cd', 127278 => 'wz', 127280 => 'a', 127281 => 'b', 127282 => 'c', 127283 => 'd', 127284 => 'e', 127285 => 'f', 127286 => 'g', 127287 => 'h', 127288 => 'i', 127289 => 'j', 127290 => 'k', 127291 => 'l', 127292 => 'm', 127293 => 'n', 127294 => 'o', 127295 => 'p', 127296 => 'q', 127297 => 'r', 127298 => 's', 127299 => 't', 127300 => 'u', 127301 => 'v', 127302 => 'w', 127303 => 'x', 127304 => 'y', 127305 => 'z', 127306 => 'hv', 127307 => 'mv', 127308 => 'sd', 127309 => 'ss', 127310 => 'ppv', 127311 => 'wc', 127338 => 'mc', 127339 => 'md', 127340 => 'mr', 127376 => 'dj', 127488 => 'ほか', 127489 => 'ココ', 127490 => 'サ', 127504 => '手', 127505 => '字', 127506 => '双', 127507 => 'デ', 127508 => '二', 127509 => '多', 127510 => '解', 127511 => '天', 127512 => '交', 127513 => '映', 127514 => '無', 127515 => '料', 127516 => '前', 127517 => '後', 127518 => '再', 127519 => '新', 127520 => '初', 127521 => '終', 127522 => '生', 127523 => '販', 127524 => '声', 127525 => '吹', 127526 => '演', 127527 => '投', 127528 => '捕', 127529 => '一', 127530 => '三', 127531 => '遊', 127532 => '左', 127533 => '中', 127534 => '右', 127535 => '指', 127536 => '走', 127537 => '打', 127538 => '禁', 127539 => '空', 127540 => '合', 127541 => '満', 127542 => '有', 127543 => '月', 127544 => '申', 127545 => '割', 127546 => '営', 127547 => '配', 127552 => '〔本〕', 127553 => '〔三〕', 127554 => '〔二〕', 127555 => '〔安〕', 127556 => '〔点〕', 127557 => '〔打〕', 127558 => '〔盗〕', 127559 => '〔勝〕', 127560 => '〔敗〕', 127568 => '得', 127569 => '可', 130032 => '0', 130033 => '1', 130034 => '2', 130035 => '3', 130036 => '4', 130037 => '5', 130038 => '6', 130039 => '7', 130040 => '8', 130041 => '9', 194560 => '丽', 194561 => '丸', 194562 => '乁', 194563 => '𠄢', 194564 => '你', 194565 => '侮', 194566 => '侻', 194567 => '倂', 194568 => '偺', 194569 => '備', 194570 => '僧', 194571 => '像', 194572 => '㒞', 194573 => '𠘺', 194574 => '免', 194575 => '兔', 194576 => '兤', 194577 => '具', 194578 => '𠔜', 194579 => '㒹', 194580 => '內', 194581 => '再', 194582 => '𠕋', 194583 => '冗', 194584 => '冤', 194585 => '仌', 194586 => '冬', 194587 => '况', 194588 => '𩇟', 194589 => '凵', 194590 => '刃', 194591 => '㓟', 194592 => '刻', 194593 => '剆', 194594 => '割', 194595 => '剷', 194596 => '㔕', 194597 => '勇', 194598 => '勉', 194599 => '勤', 194600 => '勺', 194601 => '包', 194602 => '匆', 194603 => '北', 194604 => '卉', 194605 => '卑', 194606 => '博', 194607 => '即', 194608 => '卽', 194609 => '卿', 194610 => '卿', 194611 => '卿', 194612 => '𠨬', 194613 => '灰', 194614 => '及', 194615 => '叟', 194616 => '𠭣', 194617 => '叫', 194618 => '叱', 194619 => '吆', 194620 => '咞', 194621 => '吸', 194622 => '呈', 194623 => '周', 194624 => '咢', 194625 => '哶', 194626 => '唐', 194627 => '啓', 194628 => '啣', 194629 => '善', 194630 => '善', 194631 => '喙', 194632 => '喫', 194633 => '喳', 194634 => '嗂', 194635 => '圖', 194636 => '嘆', 194637 => '圗', 194638 => '噑', 194639 => '噴', 194640 => '切', 194641 => '壮', 194642 => '城', 194643 => '埴', 194644 => '堍', 194645 => '型', 194646 => '堲', 194647 => '報', 194648 => '墬', 194649 => '𡓤', 194650 => '売', 194651 => '壷', 194652 => '夆', 194653 => '多', 194654 => '夢', 194655 => '奢', 194656 => '𡚨', 194657 => '𡛪', 194658 => '姬', 194659 => '娛', 194660 => '娧', 194661 => '姘', 194662 => '婦', 194663 => '㛮', 194665 => '嬈', 194666 => '嬾', 194667 => '嬾', 194668 => '𡧈', 194669 => '寃', 194670 => '寘', 194671 => '寧', 194672 => '寳', 194673 => '𡬘', 194674 => '寿', 194675 => '将', 194677 => '尢', 194678 => '㞁', 194679 => '屠', 194680 => '屮', 194681 => '峀', 194682 => '岍', 194683 => '𡷤', 194684 => '嵃', 194685 => '𡷦', 194686 => '嵮', 194687 => '嵫', 194688 => '嵼', 194689 => '巡', 194690 => '巢', 194691 => '㠯', 194692 => '巽', 194693 => '帨', 194694 => '帽', 194695 => '幩', 194696 => '㡢', 194697 => '𢆃', 194698 => '㡼', 194699 => '庰', 194700 => '庳', 194701 => '庶', 194702 => '廊', 194703 => '𪎒', 194704 => '廾', 194705 => '𢌱', 194706 => '𢌱', 194707 => '舁', 194708 => '弢', 194709 => '弢', 194710 => '㣇', 194711 => '𣊸', 194712 => '𦇚', 194713 => '形', 194714 => '彫', 194715 => '㣣', 194716 => '徚', 194717 => '忍', 194718 => '志', 194719 => '忹', 194720 => '悁', 194721 => '㤺', 194722 => '㤜', 194723 => '悔', 194724 => '𢛔', 194725 => '惇', 194726 => '慈', 194727 => '慌', 194728 => '慎', 194729 => '慌', 194730 => '慺', 194731 => '憎', 194732 => '憲', 194733 => '憤', 194734 => '憯', 194735 => '懞', 194736 => '懲', 194737 => '懶', 194738 => '成', 194739 => '戛', 194740 => '扝', 194741 => '抱', 194742 => '拔', 194743 => '捐', 194744 => '𢬌', 194745 => '挽', 194746 => '拼', 194747 => '捨', 194748 => '掃', 194749 => '揤', 194750 => '𢯱', 194751 => '搢', 194752 => '揅', 194753 => '掩', 194754 => '㨮', 194755 => '摩', 194756 => '摾', 194757 => '撝', 194758 => '摷', 194759 => '㩬', 194760 => '敏', 194761 => '敬', 194762 => '𣀊', 194763 => '旣', 194764 => '書', 194765 => '晉', 194766 => '㬙', 194767 => '暑', 194768 => '㬈', 194769 => '㫤', 194770 => '冒', 194771 => '冕', 194772 => '最', 194773 => '暜', 194774 => '肭', 194775 => '䏙', 194776 => '朗', 194777 => '望', 194778 => '朡', 194779 => '杞', 194780 => '杓', 194781 => '𣏃', 194782 => '㭉', 194783 => '柺', 194784 => '枅', 194785 => '桒', 194786 => '梅', 194787 => '𣑭', 194788 => '梎', 194789 => '栟', 194790 => '椔', 194791 => '㮝', 194792 => '楂', 194793 => '榣', 194794 => '槪', 194795 => '檨', 194796 => '𣚣', 194797 => '櫛', 194798 => '㰘', 194799 => '次', 194800 => '𣢧', 194801 => '歔', 194802 => '㱎', 194803 => '歲', 194804 => '殟', 194805 => '殺', 194806 => '殻', 194807 => '𣪍', 194808 => '𡴋', 194809 => '𣫺', 194810 => '汎', 194811 => '𣲼', 194812 => '沿', 194813 => '泍', 194814 => '汧', 194815 => '洖', 194816 => '派', 194817 => '海', 194818 => '流', 194819 => '浩', 194820 => '浸', 194821 => '涅', 194822 => '𣴞', 194823 => '洴', 194824 => '港', 194825 => '湮', 194826 => '㴳', 194827 => '滋', 194828 => '滇', 194829 => '𣻑', 194830 => '淹', 194831 => '潮', 194832 => '𣽞', 194833 => '𣾎', 194834 => '濆', 194835 => '瀹', 194836 => '瀞', 194837 => '瀛', 194838 => '㶖', 194839 => '灊', 194840 => '災', 194841 => '灷', 194842 => '炭', 194843 => '𠔥', 194844 => '煅', 194845 => '𤉣', 194846 => '熜', 194848 => '爨', 194849 => '爵', 194850 => '牐', 194851 => '𤘈', 194852 => '犀', 194853 => '犕', 194854 => '𤜵', 194855 => '𤠔', 194856 => '獺', 194857 => '王', 194858 => '㺬', 194859 => '玥', 194860 => '㺸', 194861 => '㺸', 194862 => '瑇', 194863 => '瑜', 194864 => '瑱', 194865 => '璅', 194866 => '瓊', 194867 => '㼛', 194868 => '甤', 194869 => '𤰶', 194870 => '甾', 194871 => '𤲒', 194872 => '異', 194873 => '𢆟', 194874 => '瘐', 194875 => '𤾡', 194876 => '𤾸', 194877 => '𥁄', 194878 => '㿼', 194879 => '䀈', 194880 => '直', 194881 => '𥃳', 194882 => '𥃲', 194883 => '𥄙', 194884 => '𥄳', 194885 => '眞', 194886 => '真', 194887 => '真', 194888 => '睊', 194889 => '䀹', 194890 => '瞋', 194891 => '䁆', 194892 => '䂖', 194893 => '𥐝', 194894 => '硎', 194895 => '碌', 194896 => '磌', 194897 => '䃣', 194898 => '𥘦', 194899 => '祖', 194900 => '𥚚', 194901 => '𥛅', 194902 => '福', 194903 => '秫', 194904 => '䄯', 194905 => '穀', 194906 => '穊', 194907 => '穏', 194908 => '𥥼', 194909 => '𥪧', 194910 => '𥪧', 194912 => '䈂', 194913 => '𥮫', 194914 => '篆', 194915 => '築', 194916 => '䈧', 194917 => '𥲀', 194918 => '糒', 194919 => '䊠', 194920 => '糨', 194921 => '糣', 194922 => '紀', 194923 => '𥾆', 194924 => '絣', 194925 => '䌁', 194926 => '緇', 194927 => '縂', 194928 => '繅', 194929 => '䌴', 194930 => '𦈨', 194931 => '𦉇', 194932 => '䍙', 194933 => '𦋙', 194934 => '罺', 194935 => '𦌾', 194936 => '羕', 194937 => '翺', 194938 => '者', 194939 => '𦓚', 194940 => '𦔣', 194941 => '聠', 194942 => '𦖨', 194943 => '聰', 194944 => '𣍟', 194945 => '䏕', 194946 => '育', 194947 => '脃', 194948 => '䐋', 194949 => '脾', 194950 => '媵', 194951 => '𦞧', 194952 => '𦞵', 194953 => '𣎓', 194954 => '𣎜', 194955 => '舁', 194956 => '舄', 194957 => '辞', 194958 => '䑫', 194959 => '芑', 194960 => '芋', 194961 => '芝', 194962 => '劳', 194963 => '花', 194964 => '芳', 194965 => '芽', 194966 => '苦', 194967 => '𦬼', 194968 => '若', 194969 => '茝', 194970 => '荣', 194971 => '莭', 194972 => '茣', 194973 => '莽', 194974 => '菧', 194975 => '著', 194976 => '荓', 194977 => '菊', 194978 => '菌', 194979 => '菜', 194980 => '𦰶', 194981 => '𦵫', 194982 => '𦳕', 194983 => '䔫', 194984 => '蓱', 194985 => '蓳', 194986 => '蔖', 194987 => '𧏊', 194988 => '蕤', 194989 => '𦼬', 194990 => '䕝', 194991 => '䕡', 194992 => '𦾱', 194993 => '𧃒', 194994 => '䕫', 194995 => '虐', 194996 => '虜', 194997 => '虧', 194998 => '虩', 194999 => '蚩', 195000 => '蚈', 195001 => '蜎', 195002 => '蛢', 195003 => '蝹', 195004 => '蜨', 195005 => '蝫', 195006 => '螆', 195008 => '蟡', 195009 => '蠁', 195010 => '䗹', 195011 => '衠', 195012 => '衣', 195013 => '𧙧', 195014 => '裗', 195015 => '裞', 195016 => '䘵', 195017 => '裺', 195018 => '㒻', 195019 => '𧢮', 195020 => '𧥦', 195021 => '䚾', 195022 => '䛇', 195023 => '誠', 195024 => '諭', 195025 => '變', 195026 => '豕', 195027 => '𧲨', 195028 => '貫', 195029 => '賁', 195030 => '贛', 195031 => '起', 195032 => '𧼯', 195033 => '𠠄', 195034 => '跋', 195035 => '趼', 195036 => '跰', 195037 => '𠣞', 195038 => '軔', 195039 => '輸', 195040 => '𨗒', 195041 => '𨗭', 195042 => '邔', 195043 => '郱', 195044 => '鄑', 195045 => '𨜮', 195046 => '鄛', 195047 => '鈸', 195048 => '鋗', 195049 => '鋘', 195050 => '鉼', 195051 => '鏹', 195052 => '鐕', 195053 => '𨯺', 195054 => '開', 195055 => '䦕', 195056 => '閷', 195057 => '𨵷', 195058 => '䧦', 195059 => '雃', 195060 => '嶲', 195061 => '霣', 195062 => '𩅅', 195063 => '𩈚', 195064 => '䩮', 195065 => '䩶', 195066 => '韠', 195067 => '𩐊', 195068 => '䪲', 195069 => '𩒖', 195070 => '頋', 195071 => '頋', 195072 => '頩', 195073 => '𩖶', 195074 => '飢', 195075 => '䬳', 195076 => '餩', 195077 => '馧', 195078 => '駂', 195079 => '駾', 195080 => '䯎', 195081 => '𩬰', 195082 => '鬒', 195083 => '鱀', 195084 => '鳽', 195085 => '䳎', 195086 => '䳭', 195087 => '鵧', 195088 => '𪃎', 195089 => '䳸', 195090 => '𪄅', 195091 => '𪈎', 195092 => '𪊑', 195093 => '麻', 195094 => '䵖', 195095 => '黹', 195096 => '黾', 195097 => '鼅', 195098 => '鼏', 195099 => '鼖', 195100 => '鼻', 195101 => '𪘀', ); vendor/symfony/polyfill-intl-idn/Info.php000064400000000755147400355670014541 0ustar00 and Trevor Rowbotham * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Polyfill\Intl\Idn; /** * @internal */ class Info { public $bidiDomain = false; public $errors = 0; public $validBidiDomain = true; public $transitionalDifferent = false; } vendor/symfony/polyfill-intl-idn/bootstrap.php000064400000011002147400355670015646 0ustar00 * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ use Symfony\Polyfill\Intl\Idn as p; if (extension_loaded('intl')) { return; } if (!defined('U_IDNA_PROHIBITED_ERROR')) { define('U_IDNA_PROHIBITED_ERROR', 66560); } if (!defined('U_IDNA_ERROR_START')) { define('U_IDNA_ERROR_START', 66560); } if (!defined('U_IDNA_UNASSIGNED_ERROR')) { define('U_IDNA_UNASSIGNED_ERROR', 66561); } if (!defined('U_IDNA_CHECK_BIDI_ERROR')) { define('U_IDNA_CHECK_BIDI_ERROR', 66562); } if (!defined('U_IDNA_STD3_ASCII_RULES_ERROR')) { define('U_IDNA_STD3_ASCII_RULES_ERROR', 66563); } if (!defined('U_IDNA_ACE_PREFIX_ERROR')) { define('U_IDNA_ACE_PREFIX_ERROR', 66564); } if (!defined('U_IDNA_VERIFICATION_ERROR')) { define('U_IDNA_VERIFICATION_ERROR', 66565); } if (!defined('U_IDNA_LABEL_TOO_LONG_ERROR')) { define('U_IDNA_LABEL_TOO_LONG_ERROR', 66566); } if (!defined('U_IDNA_ZERO_LENGTH_LABEL_ERROR')) { define('U_IDNA_ZERO_LENGTH_LABEL_ERROR', 66567); } if (!defined('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR')) { define('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR', 66568); } if (!defined('U_IDNA_ERROR_LIMIT')) { define('U_IDNA_ERROR_LIMIT', 66569); } if (!defined('U_STRINGPREP_PROHIBITED_ERROR')) { define('U_STRINGPREP_PROHIBITED_ERROR', 66560); } if (!defined('U_STRINGPREP_UNASSIGNED_ERROR')) { define('U_STRINGPREP_UNASSIGNED_ERROR', 66561); } if (!defined('U_STRINGPREP_CHECK_BIDI_ERROR')) { define('U_STRINGPREP_CHECK_BIDI_ERROR', 66562); } if (!defined('IDNA_DEFAULT')) { define('IDNA_DEFAULT', 0); } if (!defined('IDNA_ALLOW_UNASSIGNED')) { define('IDNA_ALLOW_UNASSIGNED', 1); } if (!defined('IDNA_USE_STD3_RULES')) { define('IDNA_USE_STD3_RULES', 2); } if (!defined('IDNA_CHECK_BIDI')) { define('IDNA_CHECK_BIDI', 4); } if (!defined('IDNA_CHECK_CONTEXTJ')) { define('IDNA_CHECK_CONTEXTJ', 8); } if (!defined('IDNA_NONTRANSITIONAL_TO_ASCII')) { define('IDNA_NONTRANSITIONAL_TO_ASCII', 16); } if (!defined('IDNA_NONTRANSITIONAL_TO_UNICODE')) { define('IDNA_NONTRANSITIONAL_TO_UNICODE', 32); } if (!defined('INTL_IDNA_VARIANT_2003')) { define('INTL_IDNA_VARIANT_2003', 0); } if (!defined('INTL_IDNA_VARIANT_UTS46')) { define('INTL_IDNA_VARIANT_UTS46', 1); } if (!defined('IDNA_ERROR_EMPTY_LABEL')) { define('IDNA_ERROR_EMPTY_LABEL', 1); } if (!defined('IDNA_ERROR_LABEL_TOO_LONG')) { define('IDNA_ERROR_LABEL_TOO_LONG', 2); } if (!defined('IDNA_ERROR_DOMAIN_NAME_TOO_LONG')) { define('IDNA_ERROR_DOMAIN_NAME_TOO_LONG', 4); } if (!defined('IDNA_ERROR_LEADING_HYPHEN')) { define('IDNA_ERROR_LEADING_HYPHEN', 8); } if (!defined('IDNA_ERROR_TRAILING_HYPHEN')) { define('IDNA_ERROR_TRAILING_HYPHEN', 16); } if (!defined('IDNA_ERROR_HYPHEN_3_4')) { define('IDNA_ERROR_HYPHEN_3_4', 32); } if (!defined('IDNA_ERROR_LEADING_COMBINING_MARK')) { define('IDNA_ERROR_LEADING_COMBINING_MARK', 64); } if (!defined('IDNA_ERROR_DISALLOWED')) { define('IDNA_ERROR_DISALLOWED', 128); } if (!defined('IDNA_ERROR_PUNYCODE')) { define('IDNA_ERROR_PUNYCODE', 256); } if (!defined('IDNA_ERROR_LABEL_HAS_DOT')) { define('IDNA_ERROR_LABEL_HAS_DOT', 512); } if (!defined('IDNA_ERROR_INVALID_ACE_LABEL')) { define('IDNA_ERROR_INVALID_ACE_LABEL', 1024); } if (!defined('IDNA_ERROR_BIDI')) { define('IDNA_ERROR_BIDI', 2048); } if (!defined('IDNA_ERROR_CONTEXTJ')) { define('IDNA_ERROR_CONTEXTJ', 4096); } if (PHP_VERSION_ID < 70400) { if (!function_exists('idn_to_ascii')) { function idn_to_ascii($domain, $options = IDNA_DEFAULT, $variant = INTL_IDNA_VARIANT_2003, &$idna_info = array()) { return p\Idn::idn_to_ascii($domain, $options, $variant, $idna_info); } } if (!function_exists('idn_to_utf8')) { function idn_to_utf8($domain, $options = IDNA_DEFAULT, $variant = INTL_IDNA_VARIANT_2003, &$idna_info = array()) { return p\Idn::idn_to_utf8($domain, $options, $variant, $idna_info); } } } else { if (!function_exists('idn_to_ascii')) { function idn_to_ascii($domain, $options = IDNA_DEFAULT, $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = array()) { return p\Idn::idn_to_ascii($domain, $options, $variant, $idna_info); } } if (!function_exists('idn_to_utf8')) { function idn_to_utf8($domain, $options = IDNA_DEFAULT, $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = array()) { return p\Idn::idn_to_utf8($domain, $options, $variant, $idna_info); } } } vendor/symfony/polyfill-intl-idn/README.md000064400000000725147400355670014411 0ustar00Symfony Polyfill / Intl: Idn ============================ This component provides [`idn_to_ascii`](https://php.net/idn-to-ascii) and [`idn_to_utf8`](https://php.net/idn-to-utf8) functions to users who run php versions without the [Intl](https://php.net/intl) extension. More information can be found in the [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md). License ======= This library is released under the [MIT license](LICENSE). vendor/phpseclib/phpseclib/LICENSE000064400000002071147400355670013003 0ustar00Copyright (c) 2011-2019 TerraFrost and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.vendor/phpseclib/phpseclib/BACKERS.md000064400000001222147400355670013367 0ustar00# Backers phpseclib ongoing development is made possible by [Tidelift](https://tidelift.com/subscription/pkg/packagist-phpseclib-phpseclib?utm_source=packagist-phpseclib-phpseclib&utm_medium=referral&utm_campaign=readme) and by contributions by users like you. Thank you. ## Backers - Allan Simon - [ChargeOver](https://chargeover.com/) - Raghu Veer Dendukuri - Zane Hooper - [Setasign](https://www.setasign.com/) - [Charles Severance](https://github.com/csev) - [Rachel Fish](https://github.com/itsrachelfish) - Tharyrok - [cjhaas](https://github.com/cjhaas) - [istiak-tridip](https://github.com/istiak-tridip) - [Anna Filina](https://github.com/afilina)vendor/phpseclib/phpseclib/composer.json000064400000004333147400355670014523 0ustar00{ "name": "phpseclib/phpseclib", "type": "library", "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", "keywords": [ "security", "crypto", "cryptography", "encryption", "signature", "signing", "rsa", "aes", "blowfish", "twofish", "ssh", "sftp", "x509", "x.509", "asn1", "asn.1", "BigInteger" ], "homepage": "http://phpseclib.sourceforge.net", "license": "MIT", "authors": [ { "name": "Jim Wigginton", "email": "terrafrost@php.net", "role": "Lead Developer" }, { "name": "Patrick Monnerat", "email": "pm@datasphere.ch", "role": "Developer" }, { "name": "Andreas Fischer", "email": "bantu@phpbb.com", "role": "Developer" }, { "name": "Hans-Jürgen Petrich", "email": "petrich@tronic-media.com", "role": "Developer" }, { "name": "Graham Campbell", "email": "graham@alt-three.com", "role": "Developer" } ], "require": { "php": ">=5.3.3" }, "require-dev": { "phing/phing": "~2.7", "phpunit/phpunit": "^4.8.35|^5.7|^6.0|^9.4", "squizlabs/php_codesniffer": "~2.0" }, "suggest": { "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations.", "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", "ext-xml": "Install the XML extension to load XML formatted public keys." }, "autoload": { "files": [ "phpseclib/bootstrap.php" ], "psr-4": { "phpseclib\\": "phpseclib/" } } } vendor/phpseclib/phpseclib/phpseclib/File/X509.php000064400000561426147400355670016022 0ustar00 * @copyright 2012 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\File; use phpseclib\Crypt\Hash; use phpseclib\Crypt\Random; use phpseclib\Crypt\RSA; use phpseclib\File\ASN1\Element; use phpseclib\Math\BigInteger; use DateTime; use DateTimeZone; /** * Pure-PHP X.509 Parser * * @package X509 * @author Jim Wigginton * @access public */ class X509 { /** * Flag to only accept signatures signed by certificate authorities * * Not really used anymore but retained all the same to suppress E_NOTICEs from old installs * * @access public */ const VALIDATE_SIGNATURE_BY_CA = 1; /**#@+ * @access public * @see \phpseclib\File\X509::getDN() */ /** * Return internal array representation */ const DN_ARRAY = 0; /** * Return string */ const DN_STRING = 1; /** * Return ASN.1 name string */ const DN_ASN1 = 2; /** * Return OpenSSL compatible array */ const DN_OPENSSL = 3; /** * Return canonical ASN.1 RDNs string */ const DN_CANON = 4; /** * Return name hash for file indexing */ const DN_HASH = 5; /**#@-*/ /**#@+ * @access public * @see \phpseclib\File\X509::saveX509() * @see \phpseclib\File\X509::saveCSR() * @see \phpseclib\File\X509::saveCRL() */ /** * Save as PEM * * ie. a base64-encoded PEM with a header and a footer */ const FORMAT_PEM = 0; /** * Save as DER */ const FORMAT_DER = 1; /** * Save as a SPKAC * * Only works on CSRs. Not currently supported. */ const FORMAT_SPKAC = 2; /** * Auto-detect the format * * Used only by the load*() functions */ const FORMAT_AUTO_DETECT = 3; /**#@-*/ /** * Attribute value disposition. * If disposition is >= 0, this is the index of the target value. */ const ATTR_ALL = -1; // All attribute values (array). const ATTR_APPEND = -2; // Add a value. const ATTR_REPLACE = -3; // Clear first, then add a value. /** * ASN.1 syntax for X.509 certificates * * @var array * @access private */ var $Certificate; /**#@+ * ASN.1 syntax for various extensions * * @access private */ var $DirectoryString; var $PKCS9String; var $AttributeValue; var $Extensions; var $KeyUsage; var $ExtKeyUsageSyntax; var $BasicConstraints; var $KeyIdentifier; var $CRLDistributionPoints; var $AuthorityKeyIdentifier; var $CertificatePolicies; var $AuthorityInfoAccessSyntax; var $SubjectInfoAccessSyntax; var $SubjectAltName; var $SubjectDirectoryAttributes; var $PrivateKeyUsagePeriod; var $IssuerAltName; var $PolicyMappings; var $NameConstraints; var $CPSuri; var $UserNotice; var $netscape_cert_type; var $netscape_comment; var $netscape_ca_policy_url; var $Name; var $RelativeDistinguishedName; var $CRLNumber; var $CRLReason; var $IssuingDistributionPoint; var $InvalidityDate; var $CertificateIssuer; var $HoldInstructionCode; var $SignedPublicKeyAndChallenge; /**#@-*/ /**#@+ * ASN.1 syntax for various DN attributes * * @access private */ var $PostalAddress; /**#@-*/ /** * ASN.1 syntax for Certificate Signing Requests (RFC2986) * * @var array * @access private */ var $CertificationRequest; /** * ASN.1 syntax for Certificate Revocation Lists (RFC5280) * * @var array * @access private */ var $CertificateList; /** * Distinguished Name * * @var array * @access private */ var $dn; /** * Public key * * @var string * @access private */ var $publicKey; /** * Private key * * @var string * @access private */ var $privateKey; /** * Object identifiers for X.509 certificates * * @var array * @access private * @link http://en.wikipedia.org/wiki/Object_identifier */ var $oids; /** * The certificate authorities * * @var array * @access private */ var $CAs; /** * The currently loaded certificate * * @var array * @access private */ var $currentCert; /** * The signature subject * * There's no guarantee \phpseclib\File\X509 is going to re-encode an X.509 cert in the same way it was originally * encoded so we take save the portion of the original cert that the signature would have made for. * * @var string * @access private */ var $signatureSubject; /** * Certificate Start Date * * @var string * @access private */ var $startDate; /** * Certificate End Date * * @var string * @access private */ var $endDate; /** * Serial Number * * @var string * @access private */ var $serialNumber; /** * Key Identifier * * See {@link http://tools.ietf.org/html/rfc5280#section-4.2.1.1 RFC5280#section-4.2.1.1} and * {@link http://tools.ietf.org/html/rfc5280#section-4.2.1.2 RFC5280#section-4.2.1.2}. * * @var string * @access private */ var $currentKeyIdentifier; /** * CA Flag * * @var bool * @access private */ var $caFlag = false; /** * SPKAC Challenge * * @var string * @access private */ var $challenge; /** * Recursion Limit * * @var int * @access private */ static $recur_limit = 5; /** * URL fetch flag * * @var bool * @access private */ static $disable_url_fetch = false; /** * Default Constructor. * * @return \phpseclib\File\X509 * @access public */ function __construct() { // Explicitly Tagged Module, 1988 Syntax // http://tools.ietf.org/html/rfc5280#appendix-A.1 $this->DirectoryString = array( 'type' => ASN1::TYPE_CHOICE, 'children' => array( 'teletexString' => array('type' => ASN1::TYPE_TELETEX_STRING), 'printableString' => array('type' => ASN1::TYPE_PRINTABLE_STRING), 'universalString' => array('type' => ASN1::TYPE_UNIVERSAL_STRING), 'utf8String' => array('type' => ASN1::TYPE_UTF8_STRING), 'bmpString' => array('type' => ASN1::TYPE_BMP_STRING) ) ); $this->PKCS9String = array( 'type' => ASN1::TYPE_CHOICE, 'children' => array( 'ia5String' => array('type' => ASN1::TYPE_IA5_STRING), 'directoryString' => $this->DirectoryString ) ); $this->AttributeValue = array('type' => ASN1::TYPE_ANY); $AttributeType = array('type' => ASN1::TYPE_OBJECT_IDENTIFIER); $AttributeTypeAndValue = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'type' => $AttributeType, 'value'=> $this->AttributeValue ) ); /* In practice, RDNs containing multiple name-value pairs (called "multivalued RDNs") are rare, but they can be useful at times when either there is no unique attribute in the entry or you want to ensure that the entry's DN contains some useful identifying information. - https://www.opends.org/wiki/page/DefinitionRelativeDistinguishedName */ $this->RelativeDistinguishedName = array( 'type' => ASN1::TYPE_SET, 'min' => 1, 'max' => -1, 'children' => $AttributeTypeAndValue ); // http://tools.ietf.org/html/rfc5280#section-4.1.2.4 $RDNSequence = array( 'type' => ASN1::TYPE_SEQUENCE, // RDNSequence does not define a min or a max, which means it doesn't have one 'min' => 0, 'max' => -1, 'children' => $this->RelativeDistinguishedName ); $this->Name = array( 'type' => ASN1::TYPE_CHOICE, 'children' => array( 'rdnSequence' => $RDNSequence ) ); // http://tools.ietf.org/html/rfc5280#section-4.1.1.2 $AlgorithmIdentifier = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'algorithm' => array('type' => ASN1::TYPE_OBJECT_IDENTIFIER), 'parameters' => array( 'type' => ASN1::TYPE_ANY, 'optional' => true ) ) ); /* A certificate using system MUST reject the certificate if it encounters a critical extension it does not recognize; however, a non-critical extension may be ignored if it is not recognized. http://tools.ietf.org/html/rfc5280#section-4.2 */ $Extension = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'extnId' => array('type' => ASN1::TYPE_OBJECT_IDENTIFIER), 'critical' => array( 'type' => ASN1::TYPE_BOOLEAN, 'optional' => true, 'default' => false ), 'extnValue' => array('type' => ASN1::TYPE_OCTET_STRING) ) ); $this->Extensions = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, // technically, it's MAX, but we'll assume anything < 0 is MAX 'max' => -1, // if 'children' isn't an array then 'min' and 'max' must be defined 'children' => $Extension ); $SubjectPublicKeyInfo = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'algorithm' => $AlgorithmIdentifier, 'subjectPublicKey' => array('type' => ASN1::TYPE_BIT_STRING) ) ); $UniqueIdentifier = array('type' => ASN1::TYPE_BIT_STRING); $Time = array( 'type' => ASN1::TYPE_CHOICE, 'children' => array( 'utcTime' => array('type' => ASN1::TYPE_UTC_TIME), 'generalTime' => array('type' => ASN1::TYPE_GENERALIZED_TIME) ) ); // http://tools.ietf.org/html/rfc5280#section-4.1.2.5 $Validity = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'notBefore' => $Time, 'notAfter' => $Time ) ); $CertificateSerialNumber = array('type' => ASN1::TYPE_INTEGER); $Version = array( 'type' => ASN1::TYPE_INTEGER, 'mapping' => array('v1', 'v2', 'v3') ); // assert($TBSCertificate['children']['signature'] == $Certificate['children']['signatureAlgorithm']) $TBSCertificate = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( // technically, default implies optional, but we'll define it as being optional, none-the-less, just to // reenforce that fact 'version' => array( 'constant' => 0, 'optional' => true, 'explicit' => true, 'default' => 'v1' ) + $Version, 'serialNumber' => $CertificateSerialNumber, 'signature' => $AlgorithmIdentifier, 'issuer' => $this->Name, 'validity' => $Validity, 'subject' => $this->Name, 'subjectPublicKeyInfo' => $SubjectPublicKeyInfo, // implicit means that the T in the TLV structure is to be rewritten, regardless of the type 'issuerUniqueID' => array( 'constant' => 1, 'optional' => true, 'implicit' => true ) + $UniqueIdentifier, 'subjectUniqueID' => array( 'constant' => 2, 'optional' => true, 'implicit' => true ) + $UniqueIdentifier, // doesn't use the EXPLICIT keyword but if // it's not IMPLICIT, it's EXPLICIT 'extensions' => array( 'constant' => 3, 'optional' => true, 'explicit' => true ) + $this->Extensions ) ); $this->Certificate = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'tbsCertificate' => $TBSCertificate, 'signatureAlgorithm' => $AlgorithmIdentifier, 'signature' => array('type' => ASN1::TYPE_BIT_STRING) ) ); $this->KeyUsage = array( 'type' => ASN1::TYPE_BIT_STRING, 'mapping' => array( 'digitalSignature', 'nonRepudiation', 'keyEncipherment', 'dataEncipherment', 'keyAgreement', 'keyCertSign', 'cRLSign', 'encipherOnly', 'decipherOnly' ) ); $this->BasicConstraints = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'cA' => array( 'type' => ASN1::TYPE_BOOLEAN, 'optional' => true, 'default' => false ), 'pathLenConstraint' => array( 'type' => ASN1::TYPE_INTEGER, 'optional' => true ) ) ); $this->KeyIdentifier = array('type' => ASN1::TYPE_OCTET_STRING); $OrganizationalUnitNames = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => 4, // ub-organizational-units 'children' => array('type' => ASN1::TYPE_PRINTABLE_STRING) ); $PersonalName = array( 'type' => ASN1::TYPE_SET, 'children' => array( 'surname' => array( 'type' => ASN1::TYPE_PRINTABLE_STRING, 'constant' => 0, 'optional' => true, 'implicit' => true ), 'given-name' => array( 'type' => ASN1::TYPE_PRINTABLE_STRING, 'constant' => 1, 'optional' => true, 'implicit' => true ), 'initials' => array( 'type' => ASN1::TYPE_PRINTABLE_STRING, 'constant' => 2, 'optional' => true, 'implicit' => true ), 'generation-qualifier' => array( 'type' => ASN1::TYPE_PRINTABLE_STRING, 'constant' => 3, 'optional' => true, 'implicit' => true ) ) ); $NumericUserIdentifier = array('type' => ASN1::TYPE_NUMERIC_STRING); $OrganizationName = array('type' => ASN1::TYPE_PRINTABLE_STRING); $PrivateDomainName = array( 'type' => ASN1::TYPE_CHOICE, 'children' => array( 'numeric' => array('type' => ASN1::TYPE_NUMERIC_STRING), 'printable' => array('type' => ASN1::TYPE_PRINTABLE_STRING) ) ); $TerminalIdentifier = array('type' => ASN1::TYPE_PRINTABLE_STRING); $NetworkAddress = array('type' => ASN1::TYPE_NUMERIC_STRING); $AdministrationDomainName = array( 'type' => ASN1::TYPE_CHOICE, // if class isn't present it's assumed to be \phpseclib\File\ASN1::CLASS_UNIVERSAL or // (if constant is present) \phpseclib\File\ASN1::CLASS_CONTEXT_SPECIFIC 'class' => ASN1::CLASS_APPLICATION, 'cast' => 2, 'children' => array( 'numeric' => array('type' => ASN1::TYPE_NUMERIC_STRING), 'printable' => array('type' => ASN1::TYPE_PRINTABLE_STRING) ) ); $CountryName = array( 'type' => ASN1::TYPE_CHOICE, // if class isn't present it's assumed to be \phpseclib\File\ASN1::CLASS_UNIVERSAL or // (if constant is present) \phpseclib\File\ASN1::CLASS_CONTEXT_SPECIFIC 'class' => ASN1::CLASS_APPLICATION, 'cast' => 1, 'children' => array( 'x121-dcc-code' => array('type' => ASN1::TYPE_NUMERIC_STRING), 'iso-3166-alpha2-code' => array('type' => ASN1::TYPE_PRINTABLE_STRING) ) ); $AnotherName = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'type-id' => array('type' => ASN1::TYPE_OBJECT_IDENTIFIER), 'value' => array( 'type' => ASN1::TYPE_ANY, 'constant' => 0, 'optional' => true, 'explicit' => true ) ) ); $ExtensionAttribute = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'extension-attribute-type' => array( 'type' => ASN1::TYPE_PRINTABLE_STRING, 'constant' => 0, 'optional' => true, 'implicit' => true ), 'extension-attribute-value' => array( 'type' => ASN1::TYPE_ANY, 'constant' => 1, 'optional' => true, 'explicit' => true ) ) ); $ExtensionAttributes = array( 'type' => ASN1::TYPE_SET, 'min' => 1, 'max' => 256, // ub-extension-attributes 'children' => $ExtensionAttribute ); $BuiltInDomainDefinedAttribute = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'type' => array('type' => ASN1::TYPE_PRINTABLE_STRING), 'value' => array('type' => ASN1::TYPE_PRINTABLE_STRING) ) ); $BuiltInDomainDefinedAttributes = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => 4, // ub-domain-defined-attributes 'children' => $BuiltInDomainDefinedAttribute ); $BuiltInStandardAttributes = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'country-name' => array('optional' => true) + $CountryName, 'administration-domain-name' => array('optional' => true) + $AdministrationDomainName, 'network-address' => array( 'constant' => 0, 'optional' => true, 'implicit' => true ) + $NetworkAddress, 'terminal-identifier' => array( 'constant' => 1, 'optional' => true, 'implicit' => true ) + $TerminalIdentifier, 'private-domain-name' => array( 'constant' => 2, 'optional' => true, 'explicit' => true ) + $PrivateDomainName, 'organization-name' => array( 'constant' => 3, 'optional' => true, 'implicit' => true ) + $OrganizationName, 'numeric-user-identifier' => array( 'constant' => 4, 'optional' => true, 'implicit' => true ) + $NumericUserIdentifier, 'personal-name' => array( 'constant' => 5, 'optional' => true, 'implicit' => true ) + $PersonalName, 'organizational-unit-names' => array( 'constant' => 6, 'optional' => true, 'implicit' => true ) + $OrganizationalUnitNames ) ); $ORAddress = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'built-in-standard-attributes' => $BuiltInStandardAttributes, 'built-in-domain-defined-attributes' => array('optional' => true) + $BuiltInDomainDefinedAttributes, 'extension-attributes' => array('optional' => true) + $ExtensionAttributes ) ); $EDIPartyName = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'nameAssigner' => array( 'constant' => 0, 'optional' => true, 'implicit' => true ) + $this->DirectoryString, // partyName is technically required but \phpseclib\File\ASN1 doesn't currently support non-optional constants and // setting it to optional gets the job done in any event. 'partyName' => array( 'constant' => 1, 'optional' => true, 'implicit' => true ) + $this->DirectoryString ) ); $GeneralName = array( 'type' => ASN1::TYPE_CHOICE, 'children' => array( 'otherName' => array( 'constant' => 0, 'optional' => true, 'implicit' => true ) + $AnotherName, 'rfc822Name' => array( 'type' => ASN1::TYPE_IA5_STRING, 'constant' => 1, 'optional' => true, 'implicit' => true ), 'dNSName' => array( 'type' => ASN1::TYPE_IA5_STRING, 'constant' => 2, 'optional' => true, 'implicit' => true ), 'x400Address' => array( 'constant' => 3, 'optional' => true, 'implicit' => true ) + $ORAddress, 'directoryName' => array( 'constant' => 4, 'optional' => true, 'explicit' => true ) + $this->Name, 'ediPartyName' => array( 'constant' => 5, 'optional' => true, 'implicit' => true ) + $EDIPartyName, 'uniformResourceIdentifier' => array( 'type' => ASN1::TYPE_IA5_STRING, 'constant' => 6, 'optional' => true, 'implicit' => true ), 'iPAddress' => array( 'type' => ASN1::TYPE_OCTET_STRING, 'constant' => 7, 'optional' => true, 'implicit' => true ), 'registeredID' => array( 'type' => ASN1::TYPE_OBJECT_IDENTIFIER, 'constant' => 8, 'optional' => true, 'implicit' => true ) ) ); $GeneralNames = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => -1, 'children' => $GeneralName ); $this->IssuerAltName = $GeneralNames; $ReasonFlags = array( 'type' => ASN1::TYPE_BIT_STRING, 'mapping' => array( 'unused', 'keyCompromise', 'cACompromise', 'affiliationChanged', 'superseded', 'cessationOfOperation', 'certificateHold', 'privilegeWithdrawn', 'aACompromise' ) ); $DistributionPointName = array( 'type' => ASN1::TYPE_CHOICE, 'children' => array( 'fullName' => array( 'constant' => 0, 'optional' => true, 'implicit' => true ) + $GeneralNames, 'nameRelativeToCRLIssuer' => array( 'constant' => 1, 'optional' => true, 'implicit' => true ) + $this->RelativeDistinguishedName ) ); $DistributionPoint = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'distributionPoint' => array( 'constant' => 0, 'optional' => true, 'explicit' => true ) + $DistributionPointName, 'reasons' => array( 'constant' => 1, 'optional' => true, 'implicit' => true ) + $ReasonFlags, 'cRLIssuer' => array( 'constant' => 2, 'optional' => true, 'implicit' => true ) + $GeneralNames ) ); $this->CRLDistributionPoints = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => -1, 'children' => $DistributionPoint ); $this->AuthorityKeyIdentifier = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'keyIdentifier' => array( 'constant' => 0, 'optional' => true, 'implicit' => true ) + $this->KeyIdentifier, 'authorityCertIssuer' => array( 'constant' => 1, 'optional' => true, 'implicit' => true ) + $GeneralNames, 'authorityCertSerialNumber' => array( 'constant' => 2, 'optional' => true, 'implicit' => true ) + $CertificateSerialNumber ) ); $PolicyQualifierId = array('type' => ASN1::TYPE_OBJECT_IDENTIFIER); $PolicyQualifierInfo = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'policyQualifierId' => $PolicyQualifierId, 'qualifier' => array('type' => ASN1::TYPE_ANY) ) ); $CertPolicyId = array('type' => ASN1::TYPE_OBJECT_IDENTIFIER); $PolicyInformation = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'policyIdentifier' => $CertPolicyId, 'policyQualifiers' => array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 0, 'max' => -1, 'optional' => true, 'children' => $PolicyQualifierInfo ) ) ); $this->CertificatePolicies = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => -1, 'children' => $PolicyInformation ); $this->PolicyMappings = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => -1, 'children' => array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'issuerDomainPolicy' => $CertPolicyId, 'subjectDomainPolicy' => $CertPolicyId ) ) ); $KeyPurposeId = array('type' => ASN1::TYPE_OBJECT_IDENTIFIER); $this->ExtKeyUsageSyntax = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => -1, 'children' => $KeyPurposeId ); $AccessDescription = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'accessMethod' => array('type' => ASN1::TYPE_OBJECT_IDENTIFIER), 'accessLocation' => $GeneralName ) ); $this->AuthorityInfoAccessSyntax = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => -1, 'children' => $AccessDescription ); $this->SubjectInfoAccessSyntax = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => -1, 'children' => $AccessDescription ); $this->SubjectAltName = $GeneralNames; $this->PrivateKeyUsagePeriod = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'notBefore' => array( 'constant' => 0, 'optional' => true, 'implicit' => true, 'type' => ASN1::TYPE_GENERALIZED_TIME), 'notAfter' => array( 'constant' => 1, 'optional' => true, 'implicit' => true, 'type' => ASN1::TYPE_GENERALIZED_TIME) ) ); $BaseDistance = array('type' => ASN1::TYPE_INTEGER); $GeneralSubtree = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'base' => $GeneralName, 'minimum' => array( 'constant' => 0, 'optional' => true, 'implicit' => true, 'default' => new BigInteger(0) ) + $BaseDistance, 'maximum' => array( 'constant' => 1, 'optional' => true, 'implicit' => true, ) + $BaseDistance ) ); $GeneralSubtrees = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => -1, 'children' => $GeneralSubtree ); $this->NameConstraints = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'permittedSubtrees' => array( 'constant' => 0, 'optional' => true, 'implicit' => true ) + $GeneralSubtrees, 'excludedSubtrees' => array( 'constant' => 1, 'optional' => true, 'implicit' => true ) + $GeneralSubtrees ) ); $this->CPSuri = array('type' => ASN1::TYPE_IA5_STRING); $DisplayText = array( 'type' => ASN1::TYPE_CHOICE, 'children' => array( 'ia5String' => array('type' => ASN1::TYPE_IA5_STRING), 'visibleString' => array('type' => ASN1::TYPE_VISIBLE_STRING), 'bmpString' => array('type' => ASN1::TYPE_BMP_STRING), 'utf8String' => array('type' => ASN1::TYPE_UTF8_STRING) ) ); $NoticeReference = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'organization' => $DisplayText, 'noticeNumbers' => array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => 200, 'children' => array('type' => ASN1::TYPE_INTEGER) ) ) ); $this->UserNotice = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'noticeRef' => array( 'optional' => true, 'implicit' => true ) + $NoticeReference, 'explicitText' => array( 'optional' => true, 'implicit' => true ) + $DisplayText ) ); // mapping is from $this->netscape_cert_type = array( 'type' => ASN1::TYPE_BIT_STRING, 'mapping' => array( 'SSLClient', 'SSLServer', 'Email', 'ObjectSigning', 'Reserved', 'SSLCA', 'EmailCA', 'ObjectSigningCA' ) ); $this->netscape_comment = array('type' => ASN1::TYPE_IA5_STRING); $this->netscape_ca_policy_url = array('type' => ASN1::TYPE_IA5_STRING); // attribute is used in RFC2986 but we're using the RFC5280 definition $Attribute = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'type' => $AttributeType, 'value'=> array( 'type' => ASN1::TYPE_SET, 'min' => 1, 'max' => -1, 'children' => $this->AttributeValue ) ) ); $this->SubjectDirectoryAttributes = array( 'type' => ASN1::TYPE_SEQUENCE, 'min' => 1, 'max' => -1, 'children' => $Attribute ); // adapted from $Attributes = array( 'type' => ASN1::TYPE_SET, 'min' => 1, 'max' => -1, 'children' => $Attribute ); $CertificationRequestInfo = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'version' => array( 'type' => ASN1::TYPE_INTEGER, 'mapping' => array('v1') ), 'subject' => $this->Name, 'subjectPKInfo' => $SubjectPublicKeyInfo, 'attributes' => array( 'constant' => 0, 'optional' => true, 'implicit' => true ) + $Attributes, ) ); $this->CertificationRequest = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'certificationRequestInfo' => $CertificationRequestInfo, 'signatureAlgorithm' => $AlgorithmIdentifier, 'signature' => array('type' => ASN1::TYPE_BIT_STRING) ) ); $RevokedCertificate = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'userCertificate' => $CertificateSerialNumber, 'revocationDate' => $Time, 'crlEntryExtensions' => array( 'optional' => true ) + $this->Extensions ) ); $TBSCertList = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'version' => array( 'optional' => true, 'default' => 'v1' ) + $Version, 'signature' => $AlgorithmIdentifier, 'issuer' => $this->Name, 'thisUpdate' => $Time, 'nextUpdate' => array( 'optional' => true ) + $Time, 'revokedCertificates' => array( 'type' => ASN1::TYPE_SEQUENCE, 'optional' => true, 'min' => 0, 'max' => -1, 'children' => $RevokedCertificate ), 'crlExtensions' => array( 'constant' => 0, 'optional' => true, 'explicit' => true ) + $this->Extensions ) ); $this->CertificateList = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'tbsCertList' => $TBSCertList, 'signatureAlgorithm' => $AlgorithmIdentifier, 'signature' => array('type' => ASN1::TYPE_BIT_STRING) ) ); $this->CRLNumber = array('type' => ASN1::TYPE_INTEGER); $this->CRLReason = array('type' => ASN1::TYPE_ENUMERATED, 'mapping' => array( 'unspecified', 'keyCompromise', 'cACompromise', 'affiliationChanged', 'superseded', 'cessationOfOperation', 'certificateHold', // Value 7 is not used. 8 => 'removeFromCRL', 'privilegeWithdrawn', 'aACompromise' ) ); $this->IssuingDistributionPoint = array('type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'distributionPoint' => array( 'constant' => 0, 'optional' => true, 'explicit' => true ) + $DistributionPointName, 'onlyContainsUserCerts' => array( 'type' => ASN1::TYPE_BOOLEAN, 'constant' => 1, 'optional' => true, 'default' => false, 'implicit' => true ), 'onlyContainsCACerts' => array( 'type' => ASN1::TYPE_BOOLEAN, 'constant' => 2, 'optional' => true, 'default' => false, 'implicit' => true ), 'onlySomeReasons' => array( 'constant' => 3, 'optional' => true, 'implicit' => true ) + $ReasonFlags, 'indirectCRL' => array( 'type' => ASN1::TYPE_BOOLEAN, 'constant' => 4, 'optional' => true, 'default' => false, 'implicit' => true ), 'onlyContainsAttributeCerts' => array( 'type' => ASN1::TYPE_BOOLEAN, 'constant' => 5, 'optional' => true, 'default' => false, 'implicit' => true ) ) ); $this->InvalidityDate = array('type' => ASN1::TYPE_GENERALIZED_TIME); $this->CertificateIssuer = $GeneralNames; $this->HoldInstructionCode = array('type' => ASN1::TYPE_OBJECT_IDENTIFIER); $PublicKeyAndChallenge = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'spki' => $SubjectPublicKeyInfo, 'challenge' => array('type' => ASN1::TYPE_IA5_STRING) ) ); $this->SignedPublicKeyAndChallenge = array( 'type' => ASN1::TYPE_SEQUENCE, 'children' => array( 'publicKeyAndChallenge' => $PublicKeyAndChallenge, 'signatureAlgorithm' => $AlgorithmIdentifier, 'signature' => array('type' => ASN1::TYPE_BIT_STRING) ) ); $this->PostalAddress = array( 'type' => ASN1::TYPE_SEQUENCE, 'optional' => true, 'min' => 1, 'max' => -1, 'children' => $this->DirectoryString ); // OIDs from RFC5280 and those RFCs mentioned in RFC5280#section-4.1.1.2 $this->oids = array( '1.3.6.1.5.5.7' => 'id-pkix', '1.3.6.1.5.5.7.1' => 'id-pe', '1.3.6.1.5.5.7.2' => 'id-qt', '1.3.6.1.5.5.7.3' => 'id-kp', '1.3.6.1.5.5.7.48' => 'id-ad', '1.3.6.1.5.5.7.2.1' => 'id-qt-cps', '1.3.6.1.5.5.7.2.2' => 'id-qt-unotice', '1.3.6.1.5.5.7.48.1' =>'id-ad-ocsp', '1.3.6.1.5.5.7.48.2' => 'id-ad-caIssuers', '1.3.6.1.5.5.7.48.3' => 'id-ad-timeStamping', '1.3.6.1.5.5.7.48.5' => 'id-ad-caRepository', '2.5.4' => 'id-at', '2.5.4.41' => 'id-at-name', '2.5.4.4' => 'id-at-surname', '2.5.4.42' => 'id-at-givenName', '2.5.4.43' => 'id-at-initials', '2.5.4.44' => 'id-at-generationQualifier', '2.5.4.3' => 'id-at-commonName', '2.5.4.7' => 'id-at-localityName', '2.5.4.8' => 'id-at-stateOrProvinceName', '2.5.4.10' => 'id-at-organizationName', '2.5.4.11' => 'id-at-organizationalUnitName', '2.5.4.12' => 'id-at-title', '2.5.4.13' => 'id-at-description', '2.5.4.46' => 'id-at-dnQualifier', '2.5.4.6' => 'id-at-countryName', '2.5.4.5' => 'id-at-serialNumber', '2.5.4.65' => 'id-at-pseudonym', '2.5.4.17' => 'id-at-postalCode', '2.5.4.9' => 'id-at-streetAddress', '2.5.4.45' => 'id-at-uniqueIdentifier', '2.5.4.72' => 'id-at-role', '2.5.4.16' => 'id-at-postalAddress', '1.3.6.1.4.1.311.60.2.1.3' => 'jurisdictionOfIncorporationCountryName', '1.3.6.1.4.1.311.60.2.1.2' => 'jurisdictionOfIncorporationStateOrProvinceName', '1.3.6.1.4.1.311.60.2.1.1' => 'jurisdictionLocalityName', '2.5.4.15' => 'id-at-businessCategory', '0.9.2342.19200300.100.1.25' => 'id-domainComponent', '1.2.840.113549.1.9' => 'pkcs-9', '1.2.840.113549.1.9.1' => 'pkcs-9-at-emailAddress', '2.5.29' => 'id-ce', '2.5.29.35' => 'id-ce-authorityKeyIdentifier', '2.5.29.14' => 'id-ce-subjectKeyIdentifier', '2.5.29.15' => 'id-ce-keyUsage', '2.5.29.16' => 'id-ce-privateKeyUsagePeriod', '2.5.29.32' => 'id-ce-certificatePolicies', '2.5.29.32.0' => 'anyPolicy', '2.5.29.33' => 'id-ce-policyMappings', '2.5.29.17' => 'id-ce-subjectAltName', '2.5.29.18' => 'id-ce-issuerAltName', '2.5.29.9' => 'id-ce-subjectDirectoryAttributes', '2.5.29.19' => 'id-ce-basicConstraints', '2.5.29.30' => 'id-ce-nameConstraints', '2.5.29.36' => 'id-ce-policyConstraints', '2.5.29.31' => 'id-ce-cRLDistributionPoints', '2.5.29.37' => 'id-ce-extKeyUsage', '2.5.29.37.0' => 'anyExtendedKeyUsage', '1.3.6.1.5.5.7.3.1' => 'id-kp-serverAuth', '1.3.6.1.5.5.7.3.2' => 'id-kp-clientAuth', '1.3.6.1.5.5.7.3.3' => 'id-kp-codeSigning', '1.3.6.1.5.5.7.3.4' => 'id-kp-emailProtection', '1.3.6.1.5.5.7.3.8' => 'id-kp-timeStamping', '1.3.6.1.5.5.7.3.9' => 'id-kp-OCSPSigning', '2.5.29.54' => 'id-ce-inhibitAnyPolicy', '2.5.29.46' => 'id-ce-freshestCRL', '1.3.6.1.5.5.7.1.1' => 'id-pe-authorityInfoAccess', '1.3.6.1.5.5.7.1.11' => 'id-pe-subjectInfoAccess', '2.5.29.20' => 'id-ce-cRLNumber', '2.5.29.28' => 'id-ce-issuingDistributionPoint', '2.5.29.27' => 'id-ce-deltaCRLIndicator', '2.5.29.21' => 'id-ce-cRLReasons', '2.5.29.29' => 'id-ce-certificateIssuer', '2.5.29.23' => 'id-ce-holdInstructionCode', '1.2.840.10040.2' => 'holdInstruction', '1.2.840.10040.2.1' => 'id-holdinstruction-none', '1.2.840.10040.2.2' => 'id-holdinstruction-callissuer', '1.2.840.10040.2.3' => 'id-holdinstruction-reject', '2.5.29.24' => 'id-ce-invalidityDate', '1.2.840.113549.2.2' => 'md2', '1.2.840.113549.2.5' => 'md5', '1.3.14.3.2.26' => 'id-sha1', '1.2.840.10040.4.1' => 'id-dsa', '1.2.840.10040.4.3' => 'id-dsa-with-sha1', '1.2.840.113549.1.1' => 'pkcs-1', '1.2.840.113549.1.1.1' => 'rsaEncryption', '1.2.840.113549.1.1.2' => 'md2WithRSAEncryption', '1.2.840.113549.1.1.4' => 'md5WithRSAEncryption', '1.2.840.113549.1.1.5' => 'sha1WithRSAEncryption', '1.2.840.10046.2.1' => 'dhpublicnumber', '2.16.840.1.101.2.1.1.22' => 'id-keyExchangeAlgorithm', '1.2.840.10045' => 'ansi-X9-62', '1.2.840.10045.4' => 'id-ecSigType', '1.2.840.10045.4.1' => 'ecdsa-with-SHA1', '1.2.840.10045.1' => 'id-fieldType', '1.2.840.10045.1.1' => 'prime-field', '1.2.840.10045.1.2' => 'characteristic-two-field', '1.2.840.10045.1.2.3' => 'id-characteristic-two-basis', '1.2.840.10045.1.2.3.1' => 'gnBasis', '1.2.840.10045.1.2.3.2' => 'tpBasis', '1.2.840.10045.1.2.3.3' => 'ppBasis', '1.2.840.10045.2' => 'id-publicKeyType', '1.2.840.10045.2.1' => 'id-ecPublicKey', '1.2.840.10045.3' => 'ellipticCurve', '1.2.840.10045.3.0' => 'c-TwoCurve', '1.2.840.10045.3.0.1' => 'c2pnb163v1', '1.2.840.10045.3.0.2' => 'c2pnb163v2', '1.2.840.10045.3.0.3' => 'c2pnb163v3', '1.2.840.10045.3.0.4' => 'c2pnb176w1', '1.2.840.10045.3.0.5' => 'c2pnb191v1', '1.2.840.10045.3.0.6' => 'c2pnb191v2', '1.2.840.10045.3.0.7' => 'c2pnb191v3', '1.2.840.10045.3.0.8' => 'c2pnb191v4', '1.2.840.10045.3.0.9' => 'c2pnb191v5', '1.2.840.10045.3.0.10' => 'c2pnb208w1', '1.2.840.10045.3.0.11' => 'c2pnb239v1', '1.2.840.10045.3.0.12' => 'c2pnb239v2', '1.2.840.10045.3.0.13' => 'c2pnb239v3', '1.2.840.10045.3.0.14' => 'c2pnb239v4', '1.2.840.10045.3.0.15' => 'c2pnb239v5', '1.2.840.10045.3.0.16' => 'c2pnb272w1', '1.2.840.10045.3.0.17' => 'c2pnb304w1', '1.2.840.10045.3.0.18' => 'c2pnb359v1', '1.2.840.10045.3.0.19' => 'c2pnb368w1', '1.2.840.10045.3.0.20' => 'c2pnb431r1', '1.2.840.10045.3.1' => 'primeCurve', '1.2.840.10045.3.1.1' => 'prime192v1', '1.2.840.10045.3.1.2' => 'prime192v2', '1.2.840.10045.3.1.3' => 'prime192v3', '1.2.840.10045.3.1.4' => 'prime239v1', '1.2.840.10045.3.1.5' => 'prime239v2', '1.2.840.10045.3.1.6' => 'prime239v3', '1.2.840.10045.3.1.7' => 'prime256v1', '1.2.840.113549.1.1.7' => 'id-RSAES-OAEP', '1.2.840.113549.1.1.9' => 'id-pSpecified', '1.2.840.113549.1.1.10' => 'id-RSASSA-PSS', '1.2.840.113549.1.1.8' => 'id-mgf1', '1.2.840.113549.1.1.14' => 'sha224WithRSAEncryption', '1.2.840.113549.1.1.11' => 'sha256WithRSAEncryption', '1.2.840.113549.1.1.12' => 'sha384WithRSAEncryption', '1.2.840.113549.1.1.13' => 'sha512WithRSAEncryption', '2.16.840.1.101.3.4.2.4' => 'id-sha224', '2.16.840.1.101.3.4.2.1' => 'id-sha256', '2.16.840.1.101.3.4.2.2' => 'id-sha384', '2.16.840.1.101.3.4.2.3' => 'id-sha512', '1.2.643.2.2.4' => 'id-GostR3411-94-with-GostR3410-94', '1.2.643.2.2.3' => 'id-GostR3411-94-with-GostR3410-2001', '1.2.643.2.2.20' => 'id-GostR3410-2001', '1.2.643.2.2.19' => 'id-GostR3410-94', // Netscape Object Identifiers from "Netscape Certificate Extensions" '2.16.840.1.113730' => 'netscape', '2.16.840.1.113730.1' => 'netscape-cert-extension', '2.16.840.1.113730.1.1' => 'netscape-cert-type', '2.16.840.1.113730.1.13' => 'netscape-comment', '2.16.840.1.113730.1.8' => 'netscape-ca-policy-url', // the following are X.509 extensions not supported by phpseclib '1.3.6.1.5.5.7.1.12' => 'id-pe-logotype', '1.2.840.113533.7.65.0' => 'entrustVersInfo', '2.16.840.1.113733.1.6.9' => 'verisignPrivate', // for Certificate Signing Requests // see http://tools.ietf.org/html/rfc2985 '1.2.840.113549.1.9.2' => 'pkcs-9-at-unstructuredName', // PKCS #9 unstructured name '1.2.840.113549.1.9.7' => 'pkcs-9-at-challengePassword', // Challenge password for certificate revocations '1.2.840.113549.1.9.14' => 'pkcs-9-at-extensionRequest' // Certificate extension request ); } /** * Load X.509 certificate * * Returns an associative array describing the X.509 cert or a false if the cert failed to load * * @param string $cert * @param int $mode * @access public * @return mixed */ function loadX509($cert, $mode = self::FORMAT_AUTO_DETECT) { if (is_array($cert) && isset($cert['tbsCertificate'])) { unset($this->currentCert); unset($this->currentKeyIdentifier); $this->dn = $cert['tbsCertificate']['subject']; if (!isset($this->dn)) { return false; } $this->currentCert = $cert; $currentKeyIdentifier = $this->getExtension('id-ce-subjectKeyIdentifier'); $this->currentKeyIdentifier = is_string($currentKeyIdentifier) ? $currentKeyIdentifier : null; unset($this->signatureSubject); return $cert; } $asn1 = new ASN1(); if ($mode != self::FORMAT_DER) { $newcert = $this->_extractBER($cert); if ($mode == self::FORMAT_PEM && $cert == $newcert) { return false; } $cert = $newcert; } if ($cert === false) { $this->currentCert = false; return false; } $asn1->loadOIDs($this->oids); $decoded = $asn1->decodeBER($cert); if (!empty($decoded)) { $x509 = $asn1->asn1map($decoded[0], $this->Certificate); } if (!isset($x509) || $x509 === false) { $this->currentCert = false; return false; } $this->signatureSubject = substr($cert, $decoded[0]['content'][0]['start'], $decoded[0]['content'][0]['length']); if ($this->_isSubArrayValid($x509, 'tbsCertificate/extensions')) { $this->_mapInExtensions($x509, 'tbsCertificate/extensions', $asn1); } $this->_mapInDNs($x509, 'tbsCertificate/issuer/rdnSequence', $asn1); $this->_mapInDNs($x509, 'tbsCertificate/subject/rdnSequence', $asn1); $key = &$x509['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']; $key = $this->_reformatKey($x509['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['algorithm'], $key); $this->currentCert = $x509; $this->dn = $x509['tbsCertificate']['subject']; $currentKeyIdentifier = $this->getExtension('id-ce-subjectKeyIdentifier'); $this->currentKeyIdentifier = is_string($currentKeyIdentifier) ? $currentKeyIdentifier : null; return $x509; } /** * Save X.509 certificate * * @param array $cert * @param int $format optional * @access public * @return string */ function saveX509($cert, $format = self::FORMAT_PEM) { if (!is_array($cert) || !isset($cert['tbsCertificate'])) { return false; } switch (true) { // "case !$a: case !$b: break; default: whatever();" is the same thing as "if ($a && $b) whatever()" case !($algorithm = $this->_subArray($cert, 'tbsCertificate/subjectPublicKeyInfo/algorithm/algorithm')): case is_object($cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']): break; default: switch ($algorithm) { case 'rsaEncryption': $cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'] = base64_encode("\0" . base64_decode(preg_replace('#-.+-|[\r\n]#', '', $cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']))); /* "[For RSA keys] the parameters field MUST have ASN.1 type NULL for this algorithm identifier." -- https://tools.ietf.org/html/rfc3279#section-2.3.1 given that and the fact that RSA keys appear ot be the only key type for which the parameters field can be blank, it seems like perhaps the ASN.1 description ought not say the parameters field is OPTIONAL, but whatever. */ $cert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['parameters'] = null; // https://tools.ietf.org/html/rfc3279#section-2.2.1 $cert['signatureAlgorithm']['parameters'] = null; $cert['tbsCertificate']['signature']['parameters'] = null; } } $asn1 = new ASN1(); $asn1->loadOIDs($this->oids); $filters = array(); $type_utf8_string = array('type' => ASN1::TYPE_UTF8_STRING); $filters['tbsCertificate']['signature']['parameters'] = $type_utf8_string; $filters['tbsCertificate']['signature']['issuer']['rdnSequence']['value'] = $type_utf8_string; $filters['tbsCertificate']['issuer']['rdnSequence']['value'] = $type_utf8_string; $filters['tbsCertificate']['subject']['rdnSequence']['value'] = $type_utf8_string; $filters['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['parameters'] = $type_utf8_string; $filters['signatureAlgorithm']['parameters'] = $type_utf8_string; $filters['authorityCertIssuer']['directoryName']['rdnSequence']['value'] = $type_utf8_string; //$filters['policyQualifiers']['qualifier'] = $type_utf8_string; $filters['distributionPoint']['fullName']['directoryName']['rdnSequence']['value'] = $type_utf8_string; $filters['directoryName']['rdnSequence']['value'] = $type_utf8_string; /* in the case of policyQualifiers/qualifier, the type has to be \phpseclib\File\ASN1::TYPE_IA5_STRING. \phpseclib\File\ASN1::TYPE_PRINTABLE_STRING will cause OpenSSL's X.509 parser to spit out random characters. */ $filters['policyQualifiers']['qualifier'] = array('type' => ASN1::TYPE_IA5_STRING); $asn1->loadFilters($filters); $this->_mapOutExtensions($cert, 'tbsCertificate/extensions', $asn1); $this->_mapOutDNs($cert, 'tbsCertificate/issuer/rdnSequence', $asn1); $this->_mapOutDNs($cert, 'tbsCertificate/subject/rdnSequence', $asn1); $cert = $asn1->encodeDER($cert, $this->Certificate); switch ($format) { case self::FORMAT_DER: return $cert; // case self::FORMAT_PEM: default: return "-----BEGIN CERTIFICATE-----\r\n" . chunk_split(base64_encode($cert), 64) . '-----END CERTIFICATE-----'; } } /** * Map extension values from octet string to extension-specific internal * format. * * @param array $root (by reference) * @param string $path * @param object $asn1 * @access private */ function _mapInExtensions(&$root, $path, $asn1) { $extensions = &$this->_subArrayUnchecked($root, $path); if ($extensions) { for ($i = 0; $i < count($extensions); $i++) { $id = $extensions[$i]['extnId']; $value = &$extensions[$i]['extnValue']; $value = base64_decode($value); /* [extnValue] contains the DER encoding of an ASN.1 value corresponding to the extension type identified by extnID */ $map = $this->_getMapping($id); if (!is_bool($map)) { $decoder = $id == 'id-ce-nameConstraints' ? array($this, '_decodeNameConstraintIP') : array($this, '_decodeIP'); $decoded = $asn1->decodeBER($value); $mapped = $asn1->asn1map($decoded[0], $map, array('iPAddress' => $decoder)); $value = $mapped === false ? $decoded[0] : $mapped; if ($id == 'id-ce-certificatePolicies') { for ($j = 0; $j < count($value); $j++) { if (!isset($value[$j]['policyQualifiers'])) { continue; } for ($k = 0; $k < count($value[$j]['policyQualifiers']); $k++) { $subid = $value[$j]['policyQualifiers'][$k]['policyQualifierId']; $map = $this->_getMapping($subid); $subvalue = &$value[$j]['policyQualifiers'][$k]['qualifier']; if ($map !== false) { $decoded = $asn1->decodeBER($subvalue); $mapped = $asn1->asn1map($decoded[0], $map); $subvalue = $mapped === false ? $decoded[0] : $mapped; } } } } } else { $value = base64_encode($value); } } } } /** * Map extension values from extension-specific internal format to * octet string. * * @param array $root (by reference) * @param string $path * @param object $asn1 * @access private */ function _mapOutExtensions(&$root, $path, $asn1) { $extensions = &$this->_subArray($root, $path); if (is_array($extensions)) { $size = count($extensions); for ($i = 0; $i < $size; $i++) { if ($extensions[$i] instanceof Element) { continue; } $id = $extensions[$i]['extnId']; $value = &$extensions[$i]['extnValue']; switch ($id) { case 'id-ce-certificatePolicies': for ($j = 0; $j < count($value); $j++) { if (!isset($value[$j]['policyQualifiers'])) { continue; } for ($k = 0; $k < count($value[$j]['policyQualifiers']); $k++) { $subid = $value[$j]['policyQualifiers'][$k]['policyQualifierId']; $map = $this->_getMapping($subid); $subvalue = &$value[$j]['policyQualifiers'][$k]['qualifier']; if ($map !== false) { // by default \phpseclib\File\ASN1 will try to render qualifier as a \phpseclib\File\ASN1::TYPE_IA5_STRING since it's // actual type is \phpseclib\File\ASN1::TYPE_ANY $subvalue = new Element($asn1->encodeDER($subvalue, $map)); } } } break; case 'id-ce-authorityKeyIdentifier': // use 00 as the serial number instead of an empty string if (isset($value['authorityCertSerialNumber'])) { if ($value['authorityCertSerialNumber']->toBytes() == '') { $temp = chr((ASN1::CLASS_CONTEXT_SPECIFIC << 6) | 2) . "\1\0"; $value['authorityCertSerialNumber'] = new Element($temp); } } } /* [extnValue] contains the DER encoding of an ASN.1 value corresponding to the extension type identified by extnID */ $map = $this->_getMapping($id); if (is_bool($map)) { if (!$map) { user_error($id . ' is not a currently supported extension'); unset($extensions[$i]); } } else { $temp = $asn1->encodeDER($value, $map, array('iPAddress' => array($this, '_encodeIP'))); $value = base64_encode($temp); } } } } /** * Map attribute values from ANY type to attribute-specific internal * format. * * @param array $root (by reference) * @param string $path * @param object $asn1 * @access private */ function _mapInAttributes(&$root, $path, $asn1) { $attributes = &$this->_subArray($root, $path); if (is_array($attributes)) { for ($i = 0; $i < count($attributes); $i++) { $id = $attributes[$i]['type']; /* $value contains the DER encoding of an ASN.1 value corresponding to the attribute type identified by type */ $map = $this->_getMapping($id); if (is_array($attributes[$i]['value'])) { $values = &$attributes[$i]['value']; for ($j = 0; $j < count($values); $j++) { $value = $asn1->encodeDER($values[$j], $this->AttributeValue); $decoded = $asn1->decodeBER($value); if (!is_bool($map)) { $mapped = $asn1->asn1map($decoded[0], $map); if ($mapped !== false) { $values[$j] = $mapped; } if ($id == 'pkcs-9-at-extensionRequest' && $this->_isSubArrayValid($values, $j)) { $this->_mapInExtensions($values, $j, $asn1); } } elseif ($map) { $values[$j] = base64_encode($value); } } } } } } /** * Map attribute values from attribute-specific internal format to * ANY type. * * @param array $root (by reference) * @param string $path * @param object $asn1 * @access private */ function _mapOutAttributes(&$root, $path, $asn1) { $attributes = &$this->_subArray($root, $path); if (is_array($attributes)) { $size = count($attributes); for ($i = 0; $i < $size; $i++) { /* [value] contains the DER encoding of an ASN.1 value corresponding to the attribute type identified by type */ $id = $attributes[$i]['type']; $map = $this->_getMapping($id); if ($map === false) { user_error($id . ' is not a currently supported attribute', E_USER_NOTICE); unset($attributes[$i]); } elseif (is_array($attributes[$i]['value'])) { $values = &$attributes[$i]['value']; for ($j = 0; $j < count($values); $j++) { switch ($id) { case 'pkcs-9-at-extensionRequest': $this->_mapOutExtensions($values, $j, $asn1); break; } if (!is_bool($map)) { $temp = $asn1->encodeDER($values[$j], $map); $decoded = $asn1->decodeBER($temp); $values[$j] = $asn1->asn1map($decoded[0], $this->AttributeValue); } } } } } } /** * Map DN values from ANY type to DN-specific internal * format. * * @param array $root (by reference) * @param string $path * @param object $asn1 * @access private */ function _mapInDNs(&$root, $path, $asn1) { $dns = &$this->_subArray($root, $path); if (is_array($dns)) { for ($i = 0; $i < count($dns); $i++) { for ($j = 0; $j < count($dns[$i]); $j++) { $type = $dns[$i][$j]['type']; $value = &$dns[$i][$j]['value']; if (is_object($value) && $value instanceof Element) { $map = $this->_getMapping($type); if (!is_bool($map)) { $decoded = $asn1->decodeBER($value); $value = $asn1->asn1map($decoded[0], $map); } } } } } } /** * Map DN values from DN-specific internal format to * ANY type. * * @param array $root (by reference) * @param string $path * @param object $asn1 * @access private */ function _mapOutDNs(&$root, $path, $asn1) { $dns = &$this->_subArray($root, $path); if (is_array($dns)) { $size = count($dns); for ($i = 0; $i < $size; $i++) { for ($j = 0; $j < count($dns[$i]); $j++) { $type = $dns[$i][$j]['type']; $value = &$dns[$i][$j]['value']; if (is_object($value) && $value instanceof Element) { continue; } $map = $this->_getMapping($type); if (!is_bool($map)) { $value = new Element($asn1->encodeDER($value, $map)); } } } } } /** * Associate an extension ID to an extension mapping * * @param string $extnId * @access private * @return mixed */ function _getMapping($extnId) { if (!is_string($extnId)) { // eg. if it's a \phpseclib\File\ASN1\Element object return true; } switch ($extnId) { case 'id-ce-keyUsage': return $this->KeyUsage; case 'id-ce-basicConstraints': return $this->BasicConstraints; case 'id-ce-subjectKeyIdentifier': return $this->KeyIdentifier; case 'id-ce-cRLDistributionPoints': return $this->CRLDistributionPoints; case 'id-ce-authorityKeyIdentifier': return $this->AuthorityKeyIdentifier; case 'id-ce-certificatePolicies': return $this->CertificatePolicies; case 'id-ce-extKeyUsage': return $this->ExtKeyUsageSyntax; case 'id-pe-authorityInfoAccess': return $this->AuthorityInfoAccessSyntax; case 'id-pe-subjectInfoAccess': return $this->SubjectInfoAccessSyntax; case 'id-ce-subjectAltName': return $this->SubjectAltName; case 'id-ce-subjectDirectoryAttributes': return $this->SubjectDirectoryAttributes; case 'id-ce-privateKeyUsagePeriod': return $this->PrivateKeyUsagePeriod; case 'id-ce-issuerAltName': return $this->IssuerAltName; case 'id-ce-policyMappings': return $this->PolicyMappings; case 'id-ce-nameConstraints': return $this->NameConstraints; case 'netscape-cert-type': return $this->netscape_cert_type; case 'netscape-comment': return $this->netscape_comment; case 'netscape-ca-policy-url': return $this->netscape_ca_policy_url; // since id-qt-cps isn't a constructed type it will have already been decoded as a string by the time it gets // back around to asn1map() and we don't want it decoded again. //case 'id-qt-cps': // return $this->CPSuri; case 'id-qt-unotice': return $this->UserNotice; // the following OIDs are unsupported but we don't want them to give notices when calling saveX509(). case 'id-pe-logotype': // http://www.ietf.org/rfc/rfc3709.txt case 'entrustVersInfo': // http://support.microsoft.com/kb/287547 case '1.3.6.1.4.1.311.20.2': // szOID_ENROLL_CERTTYPE_EXTENSION case '1.3.6.1.4.1.311.21.1': // szOID_CERTSRV_CA_VERSION // "SET Secure Electronic Transaction Specification" // http://www.maithean.com/docs/set_bk3.pdf case '2.23.42.7.0': // id-set-hashedRootKey // "Certificate Transparency" // https://tools.ietf.org/html/rfc6962 case '1.3.6.1.4.1.11129.2.4.2': // "Qualified Certificate statements" // https://tools.ietf.org/html/rfc3739#section-3.2.6 case '1.3.6.1.5.5.7.1.3': return true; // CSR attributes case 'pkcs-9-at-unstructuredName': return $this->PKCS9String; case 'pkcs-9-at-challengePassword': return $this->DirectoryString; case 'pkcs-9-at-extensionRequest': return $this->Extensions; // CRL extensions. case 'id-ce-cRLNumber': return $this->CRLNumber; case 'id-ce-deltaCRLIndicator': return $this->CRLNumber; case 'id-ce-issuingDistributionPoint': return $this->IssuingDistributionPoint; case 'id-ce-freshestCRL': return $this->CRLDistributionPoints; case 'id-ce-cRLReasons': return $this->CRLReason; case 'id-ce-invalidityDate': return $this->InvalidityDate; case 'id-ce-certificateIssuer': return $this->CertificateIssuer; case 'id-ce-holdInstructionCode': return $this->HoldInstructionCode; case 'id-at-postalAddress': return $this->PostalAddress; } return false; } /** * Load an X.509 certificate as a certificate authority * * @param string $cert * @access public * @return bool */ function loadCA($cert) { $olddn = $this->dn; $oldcert = $this->currentCert; $oldsigsubj = $this->signatureSubject; $oldkeyid = $this->currentKeyIdentifier; $cert = $this->loadX509($cert); if (!$cert) { $this->dn = $olddn; $this->currentCert = $oldcert; $this->signatureSubject = $oldsigsubj; $this->currentKeyIdentifier = $oldkeyid; return false; } /* From RFC5280 "PKIX Certificate and CRL Profile": If the keyUsage extension is present, then the subject public key MUST NOT be used to verify signatures on certificates or CRLs unless the corresponding keyCertSign or cRLSign bit is set. */ //$keyUsage = $this->getExtension('id-ce-keyUsage'); //if ($keyUsage && !in_array('keyCertSign', $keyUsage)) { // return false; //} /* From RFC5280 "PKIX Certificate and CRL Profile": The cA boolean indicates whether the certified public key may be used to verify certificate signatures. If the cA boolean is not asserted, then the keyCertSign bit in the key usage extension MUST NOT be asserted. If the basic constraints extension is not present in a version 3 certificate, or the extension is present but the cA boolean is not asserted, then the certified public key MUST NOT be used to verify certificate signatures. */ //$basicConstraints = $this->getExtension('id-ce-basicConstraints'); //if (!$basicConstraints || !$basicConstraints['cA']) { // return false; //} $this->CAs[] = $cert; $this->dn = $olddn; $this->currentCert = $oldcert; $this->signatureSubject = $oldsigsubj; return true; } /** * Validate an X.509 certificate against a URL * * From RFC2818 "HTTP over TLS": * * Matching is performed using the matching rules specified by * [RFC2459]. If more than one identity of a given type is present in * the certificate (e.g., more than one dNSName name, a match in any one * of the set is considered acceptable.) Names may contain the wildcard * character * which is considered to match any single domain name * component or component fragment. E.g., *.a.com matches foo.a.com but * not bar.foo.a.com. f*.com matches foo.com but not bar.com. * * @param string $url * @access public * @return bool */ function validateURL($url) { if (!is_array($this->currentCert) || !isset($this->currentCert['tbsCertificate'])) { return false; } $components = parse_url($url); if (!isset($components['host'])) { return false; } if ($names = $this->getExtension('id-ce-subjectAltName')) { foreach ($names as $name) { foreach ($name as $key => $value) { $value = preg_quote($value); $value = str_replace('\*', '[^.]*', $value); switch ($key) { case 'dNSName': /* From RFC2818 "HTTP over TLS": If a subjectAltName extension of type dNSName is present, that MUST be used as the identity. Otherwise, the (most specific) Common Name field in the Subject field of the certificate MUST be used. Although the use of the Common Name is existing practice, it is deprecated and Certification Authorities are encouraged to use the dNSName instead. */ if (preg_match('#^' . $value . '$#', $components['host'])) { return true; } break; case 'iPAddress': /* From RFC2818 "HTTP over TLS": In some cases, the URI is specified as an IP address rather than a hostname. In this case, the iPAddress subjectAltName must be present in the certificate and must exactly match the IP in the URI. */ if (preg_match('#(?:\d{1-3}\.){4}#', $components['host'] . '.') && preg_match('#^' . $value . '$#', $components['host'])) { return true; } } } } return false; } if ($value = $this->getDNProp('id-at-commonName')) { $value = str_replace(array('.', '*'), array('\.', '[^.]*'), $value[0]); return preg_match('#^' . $value . '$#', $components['host']); } return false; } /** * Validate a date * * If $date isn't defined it is assumed to be the current date. * * @param \DateTime|string $date optional * @access public */ function validateDate($date = null) { if (!is_array($this->currentCert) || !isset($this->currentCert['tbsCertificate'])) { return false; } if (!isset($date)) { $date = new DateTime(null, new DateTimeZone(@date_default_timezone_get())); } $notBefore = $this->currentCert['tbsCertificate']['validity']['notBefore']; $notBefore = isset($notBefore['generalTime']) ? $notBefore['generalTime'] : $notBefore['utcTime']; $notAfter = $this->currentCert['tbsCertificate']['validity']['notAfter']; $notAfter = isset($notAfter['generalTime']) ? $notAfter['generalTime'] : $notAfter['utcTime']; if (is_string($date)) { $date = new DateTime($date, new DateTimeZone(@date_default_timezone_get())); } $notBefore = new DateTime($notBefore, new DateTimeZone(@date_default_timezone_get())); $notAfter = new DateTime($notAfter, new DateTimeZone(@date_default_timezone_get())); switch (true) { case $date < $notBefore: case $date > $notAfter: return false; } return true; } /** * Fetches a URL * * @param string $url * @access private * @return bool|string */ static function _fetchURL($url) { if (self::$disable_url_fetch) { return false; } $parts = parse_url($url); $data = ''; switch ($parts['scheme']) { case 'http': $fsock = @fsockopen($parts['host'], isset($parts['port']) ? $parts['port'] : 80); if (!$fsock) { return false; } $path = $parts['path']; if (isset($parts['query'])) { $path.= '?' . $parts['query']; } fputs($fsock, "GET $path HTTP/1.0\r\n"); fputs($fsock, "Host: $parts[host]\r\n\r\n"); $line = fgets($fsock, 1024); if (strlen($line) < 3) { return false; } preg_match('#HTTP/1.\d (\d{3})#', $line, $temp); if ($temp[1] != '200') { return false; } // skip the rest of the headers in the http response while (!feof($fsock) && fgets($fsock, 1024) != "\r\n") { } while (!feof($fsock)) { $temp = fread($fsock, 1024); if ($temp === false) { return false; } $data.= $temp; } break; //case 'ftp': //case 'ldap': //default: } return $data; } /** * Validates an intermediate cert as identified via authority info access extension * * See https://tools.ietf.org/html/rfc4325 for more info * * @param bool $caonly * @param int $count * @access private * @return bool */ function _testForIntermediate($caonly, $count) { $opts = $this->getExtension('id-pe-authorityInfoAccess'); if (!is_array($opts)) { return false; } foreach ($opts as $opt) { if ($opt['accessMethod'] == 'id-ad-caIssuers') { // accessLocation is a GeneralName. GeneralName fields support stuff like email addresses, IP addresses, LDAP, // etc, but we're only supporting URI's. URI's and LDAP are the only thing https://tools.ietf.org/html/rfc4325 // discusses if (isset($opt['accessLocation']['uniformResourceIdentifier'])) { $url = $opt['accessLocation']['uniformResourceIdentifier']; break; } } } if (!isset($url)) { return false; } $cert = static::_fetchURL($url); if (!is_string($cert)) { return false; } $parent = new static(); $parent->CAs = $this->CAs; /* "Conforming applications that support HTTP or FTP for accessing certificates MUST be able to accept .cer files and SHOULD be able to accept .p7c files." -- https://tools.ietf.org/html/rfc4325 A .p7c file is 'a "certs-only" CMS message as specified in RFC 2797" These are currently unsupported */ if (!is_array($parent->loadX509($cert))) { return false; } if (!$parent->_validateSignatureCountable($caonly, ++$count)) { return false; } $this->CAs[] = $parent->currentCert; //$this->loadCA($cert); return true; } /** * Validate a signature * * Works on X.509 certs, CSR's and CRL's. * Returns true if the signature is verified, false if it is not correct or null on error * * By default returns false for self-signed certs. Call validateSignature(false) to make this support * self-signed. * * The behavior of this function is inspired by {@link http://php.net/openssl-verify openssl_verify}. * * @param bool $caonly optional * @access public * @return mixed */ function validateSignature($caonly = true) { return $this->_validateSignatureCountable($caonly, 0); } /** * Validate a signature * * Performs said validation whilst keeping track of how many times validation method is called * * @param bool $caonly * @param int $count * @access private * @return mixed */ function _validateSignatureCountable($caonly, $count) { if (!is_array($this->currentCert) || !isset($this->signatureSubject)) { return null; } if ($count == self::$recur_limit) { return false; } /* TODO: "emailAddress attribute values are not case-sensitive (e.g., "subscriber@example.com" is the same as "SUBSCRIBER@EXAMPLE.COM")." -- http://tools.ietf.org/html/rfc5280#section-4.1.2.6 implement pathLenConstraint in the id-ce-basicConstraints extension */ switch (true) { case isset($this->currentCert['tbsCertificate']): // self-signed cert switch (true) { case !defined('FILE_X509_IGNORE_TYPE') && $this->currentCert['tbsCertificate']['issuer'] === $this->currentCert['tbsCertificate']['subject']: case defined('FILE_X509_IGNORE_TYPE') && $this->getIssuerDN(self::DN_STRING) === $this->getDN(self::DN_STRING): $authorityKey = $this->getExtension('id-ce-authorityKeyIdentifier'); $subjectKeyID = $this->getExtension('id-ce-subjectKeyIdentifier'); switch (true) { case !is_array($authorityKey): case !$subjectKeyID: case isset($authorityKey['keyIdentifier']) && $authorityKey['keyIdentifier'] === $subjectKeyID: $signingCert = $this->currentCert; // working cert } } if (!empty($this->CAs)) { for ($i = 0; $i < count($this->CAs); $i++) { // even if the cert is a self-signed one we still want to see if it's a CA; // if not, we'll conditionally return an error $ca = $this->CAs[$i]; switch (true) { case !defined('FILE_X509_IGNORE_TYPE') && $this->currentCert['tbsCertificate']['issuer'] === $ca['tbsCertificate']['subject']: case defined('FILE_X509_IGNORE_TYPE') && $this->getDN(self::DN_STRING, $this->currentCert['tbsCertificate']['issuer']) === $this->getDN(self::DN_STRING, $ca['tbsCertificate']['subject']): $authorityKey = $this->getExtension('id-ce-authorityKeyIdentifier'); $subjectKeyID = $this->getExtension('id-ce-subjectKeyIdentifier', $ca); switch (true) { case !is_array($authorityKey): case !$subjectKeyID: case isset($authorityKey['keyIdentifier']) && $authorityKey['keyIdentifier'] === $subjectKeyID: if (is_array($authorityKey) && isset($authorityKey['authorityCertSerialNumber']) && !$authorityKey['authorityCertSerialNumber']->equals($ca['tbsCertificate']['serialNumber'])) { break 2; // serial mismatch - check other ca } $signingCert = $ca; // working cert break 3; } } } if (count($this->CAs) == $i && $caonly) { return $this->_testForIntermediate($caonly, $count) && $this->validateSignature($caonly); } } elseif (!isset($signingCert) || $caonly) { return $this->_testForIntermediate($caonly, $count) && $this->validateSignature($caonly); } return $this->_validateSignature( $signingCert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['algorithm'], $signingCert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'], $this->currentCert['signatureAlgorithm']['algorithm'], substr(base64_decode($this->currentCert['signature']), 1), $this->signatureSubject ); case isset($this->currentCert['certificationRequestInfo']): return $this->_validateSignature( $this->currentCert['certificationRequestInfo']['subjectPKInfo']['algorithm']['algorithm'], $this->currentCert['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey'], $this->currentCert['signatureAlgorithm']['algorithm'], substr(base64_decode($this->currentCert['signature']), 1), $this->signatureSubject ); case isset($this->currentCert['publicKeyAndChallenge']): return $this->_validateSignature( $this->currentCert['publicKeyAndChallenge']['spki']['algorithm']['algorithm'], $this->currentCert['publicKeyAndChallenge']['spki']['subjectPublicKey'], $this->currentCert['signatureAlgorithm']['algorithm'], substr(base64_decode($this->currentCert['signature']), 1), $this->signatureSubject ); case isset($this->currentCert['tbsCertList']): if (!empty($this->CAs)) { for ($i = 0; $i < count($this->CAs); $i++) { $ca = $this->CAs[$i]; switch (true) { case !defined('FILE_X509_IGNORE_TYPE') && $this->currentCert['tbsCertList']['issuer'] === $ca['tbsCertificate']['subject']: case defined('FILE_X509_IGNORE_TYPE') && $this->getDN(self::DN_STRING, $this->currentCert['tbsCertList']['issuer']) === $this->getDN(self::DN_STRING, $ca['tbsCertificate']['subject']): $authorityKey = $this->getExtension('id-ce-authorityKeyIdentifier'); $subjectKeyID = $this->getExtension('id-ce-subjectKeyIdentifier', $ca); switch (true) { case !is_array($authorityKey): case !$subjectKeyID: case isset($authorityKey['keyIdentifier']) && $authorityKey['keyIdentifier'] === $subjectKeyID: if (is_array($authorityKey) && isset($authorityKey['authorityCertSerialNumber']) && !$authorityKey['authorityCertSerialNumber']->equals($ca['tbsCertificate']['serialNumber'])) { break 2; // serial mismatch - check other ca } $signingCert = $ca; // working cert break 3; } } } } if (!isset($signingCert)) { return false; } return $this->_validateSignature( $signingCert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['algorithm'], $signingCert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'], $this->currentCert['signatureAlgorithm']['algorithm'], substr(base64_decode($this->currentCert['signature']), 1), $this->signatureSubject ); default: return false; } } /** * Validates a signature * * Returns true if the signature is verified, false if it is not correct or null on error * * @param string $publicKeyAlgorithm * @param string $publicKey * @param string $signatureAlgorithm * @param string $signature * @param string $signatureSubject * @access private * @return int */ function _validateSignature($publicKeyAlgorithm, $publicKey, $signatureAlgorithm, $signature, $signatureSubject) { switch ($publicKeyAlgorithm) { case 'rsaEncryption': $rsa = new RSA(); $rsa->loadKey($publicKey); switch ($signatureAlgorithm) { case 'md2WithRSAEncryption': case 'md5WithRSAEncryption': case 'sha1WithRSAEncryption': case 'sha224WithRSAEncryption': case 'sha256WithRSAEncryption': case 'sha384WithRSAEncryption': case 'sha512WithRSAEncryption': $rsa->setHash(preg_replace('#WithRSAEncryption$#', '', $signatureAlgorithm)); $rsa->setSignatureMode(RSA::SIGNATURE_PKCS1); if (!@$rsa->verify($signatureSubject, $signature)) { return false; } break; default: return null; } break; default: return null; } return true; } /** * Sets the recursion limit * * When validating a signature it may be necessary to download intermediate certs from URI's. * An intermediate cert that linked to itself would result in an infinite loop so to prevent * that we set a recursion limit. A negative number means that there is no recursion limit. * * @param int $count * @access public */ static function setRecurLimit($count) { self::$recur_limit = $count; } /** * Prevents URIs from being automatically retrieved * * @access public */ static function disableURLFetch() { self::$disable_url_fetch = true; } /** * Allows URIs to be automatically retrieved * * @access public */ static function enableURLFetch() { self::$disable_url_fetch = false; } /** * Reformat public keys * * Reformats a public key to a format supported by phpseclib (if applicable) * * @param string $algorithm * @param string $key * @access private * @return string */ function _reformatKey($algorithm, $key) { switch ($algorithm) { case 'rsaEncryption': return "-----BEGIN RSA PUBLIC KEY-----\r\n" . // subjectPublicKey is stored as a bit string in X.509 certs. the first byte of a bit string represents how many bits // in the last byte should be ignored. the following only supports non-zero stuff but as none of the X.509 certs Firefox // uses as a cert authority actually use a non-zero bit I think it's safe to assume that none do. chunk_split(base64_encode(substr(base64_decode($key), 1)), 64) . '-----END RSA PUBLIC KEY-----'; default: return $key; } } /** * Decodes an IP address * * Takes in a base64 encoded "blob" and returns a human readable IP address * * @param string $ip * @access private * @return string */ function _decodeIP($ip) { return inet_ntop(base64_decode($ip)); } /** * Decodes an IP address in a name constraints extension * * Takes in a base64 encoded "blob" and returns a human readable IP address / mask * * @param string $ip * @access private * @return array */ function _decodeNameConstraintIP($ip) { $ip = base64_decode($ip); $size = strlen($ip) >> 1; $mask = substr($ip, $size); $ip = substr($ip, 0, $size); return array(inet_ntop($ip), inet_ntop($mask)); } /** * Encodes an IP address * * Takes a human readable IP address into a base64-encoded "blob" * * @param string|array $ip * @access private * @return string */ function _encodeIP($ip) { return is_string($ip) ? base64_encode(inet_pton($ip)) : base64_encode(inet_pton($ip[0]) . inet_pton($ip[1])); } /** * "Normalizes" a Distinguished Name property * * @param string $propName * @access private * @return mixed */ function _translateDNProp($propName) { switch (strtolower($propName)) { case 'jurisdictionofincorporationcountryname': case 'jurisdictioncountryname': case 'jurisdictionc': return 'jurisdictionOfIncorporationCountryName'; case 'jurisdictionofincorporationstateorprovincename': case 'jurisdictionstateorprovincename': case 'jurisdictionst': return 'jurisdictionOfIncorporationStateOrProvinceName'; case 'jurisdictionlocalityname': case 'jurisdictionl': return 'jurisdictionLocalityName'; case 'id-at-businesscategory': case 'businesscategory': return 'id-at-businessCategory'; case 'id-at-countryname': case 'countryname': case 'c': return 'id-at-countryName'; case 'id-at-organizationname': case 'organizationname': case 'o': return 'id-at-organizationName'; case 'id-at-dnqualifier': case 'dnqualifier': return 'id-at-dnQualifier'; case 'id-at-commonname': case 'commonname': case 'cn': return 'id-at-commonName'; case 'id-at-stateorprovincename': case 'stateorprovincename': case 'state': case 'province': case 'provincename': case 'st': return 'id-at-stateOrProvinceName'; case 'id-at-localityname': case 'localityname': case 'l': return 'id-at-localityName'; case 'id-emailaddress': case 'emailaddress': return 'pkcs-9-at-emailAddress'; case 'id-at-serialnumber': case 'serialnumber': return 'id-at-serialNumber'; case 'id-at-postalcode': case 'postalcode': return 'id-at-postalCode'; case 'id-at-streetaddress': case 'streetaddress': return 'id-at-streetAddress'; case 'id-at-name': case 'name': return 'id-at-name'; case 'id-at-givenname': case 'givenname': return 'id-at-givenName'; case 'id-at-surname': case 'surname': case 'sn': return 'id-at-surname'; case 'id-at-initials': case 'initials': return 'id-at-initials'; case 'id-at-generationqualifier': case 'generationqualifier': return 'id-at-generationQualifier'; case 'id-at-organizationalunitname': case 'organizationalunitname': case 'ou': return 'id-at-organizationalUnitName'; case 'id-at-pseudonym': case 'pseudonym': return 'id-at-pseudonym'; case 'id-at-title': case 'title': return 'id-at-title'; case 'id-at-description': case 'description': return 'id-at-description'; case 'id-at-role': case 'role': return 'id-at-role'; case 'id-at-uniqueidentifier': case 'uniqueidentifier': case 'x500uniqueidentifier': return 'id-at-uniqueIdentifier'; case 'postaladdress': case 'id-at-postaladdress': return 'id-at-postalAddress'; default: return false; } } /** * Set a Distinguished Name property * * @param string $propName * @param mixed $propValue * @param string $type optional * @access public * @return bool */ function setDNProp($propName, $propValue, $type = 'utf8String') { if (empty($this->dn)) { $this->dn = array('rdnSequence' => array()); } if (($propName = $this->_translateDNProp($propName)) === false) { return false; } foreach ((array) $propValue as $v) { if (!is_array($v) && isset($type)) { $v = array($type => $v); } $this->dn['rdnSequence'][] = array( array( 'type' => $propName, 'value'=> $v ) ); } return true; } /** * Remove Distinguished Name properties * * @param string $propName * @access public */ function removeDNProp($propName) { if (empty($this->dn)) { return; } if (($propName = $this->_translateDNProp($propName)) === false) { return; } $dn = &$this->dn['rdnSequence']; $size = count($dn); for ($i = 0; $i < $size; $i++) { if ($dn[$i][0]['type'] == $propName) { unset($dn[$i]); } } $dn = array_values($dn); // fix for https://bugs.php.net/75433 affecting PHP 7.2 if (!isset($dn[0])) { $dn = array_splice($dn, 0, 0); } } /** * Get Distinguished Name properties * * @param string $propName * @param array $dn optional * @param bool $withType optional * @return mixed * @access public */ function getDNProp($propName, $dn = null, $withType = false) { if (!isset($dn)) { $dn = $this->dn; } if (empty($dn)) { return false; } if (($propName = $this->_translateDNProp($propName)) === false) { return false; } $asn1 = new ASN1(); $asn1->loadOIDs($this->oids); $filters = array(); $filters['value'] = array('type' => ASN1::TYPE_UTF8_STRING); $asn1->loadFilters($filters); $this->_mapOutDNs($dn, 'rdnSequence', $asn1); $dn = $dn['rdnSequence']; $result = array(); for ($i = 0; $i < count($dn); $i++) { if ($dn[$i][0]['type'] == $propName) { $v = $dn[$i][0]['value']; if (!$withType) { if (is_array($v)) { foreach ($v as $type => $s) { $type = array_search($type, $asn1->ANYmap, true); if ($type !== false && isset($asn1->stringTypeSize[$type])) { $s = $asn1->convert($s, $type); if ($s !== false) { $v = $s; break; } } } if (is_array($v)) { $v = array_pop($v); // Always strip data type. } } elseif (is_object($v) && $v instanceof Element) { $map = $this->_getMapping($propName); if (!is_bool($map)) { $decoded = $asn1->decodeBER($v); $v = $asn1->asn1map($decoded[0], $map); } } } $result[] = $v; } } return $result; } /** * Set a Distinguished Name * * @param mixed $dn * @param bool $merge optional * @param string $type optional * @access public * @return bool */ function setDN($dn, $merge = false, $type = 'utf8String') { if (!$merge) { $this->dn = null; } if (is_array($dn)) { if (isset($dn['rdnSequence'])) { $this->dn = $dn; // No merge here. return true; } // handles stuff generated by openssl_x509_parse() foreach ($dn as $prop => $value) { if (!$this->setDNProp($prop, $value, $type)) { return false; } } return true; } // handles everything else $results = preg_split('#((?:^|, *|/)(?:C=|O=|OU=|CN=|L=|ST=|SN=|postalCode=|streetAddress=|emailAddress=|serialNumber=|organizationalUnitName=|title=|description=|role=|x500UniqueIdentifier=|postalAddress=))#', $dn, -1, PREG_SPLIT_DELIM_CAPTURE); for ($i = 1; $i < count($results); $i+=2) { $prop = trim($results[$i], ', =/'); $value = $results[$i + 1]; if (!$this->setDNProp($prop, $value, $type)) { return false; } } return true; } /** * Get the Distinguished Name for a certificates subject * * @param mixed $format optional * @param array $dn optional * @access public * @return bool */ function getDN($format = self::DN_ARRAY, $dn = null) { if (!isset($dn)) { $dn = isset($this->currentCert['tbsCertList']) ? $this->currentCert['tbsCertList']['issuer'] : $this->dn; } switch ((int) $format) { case self::DN_ARRAY: return $dn; case self::DN_ASN1: $asn1 = new ASN1(); $asn1->loadOIDs($this->oids); $filters = array(); $filters['rdnSequence']['value'] = array('type' => ASN1::TYPE_UTF8_STRING); $asn1->loadFilters($filters); $this->_mapOutDNs($dn, 'rdnSequence', $asn1); return $asn1->encodeDER($dn, $this->Name); case self::DN_CANON: // No SEQUENCE around RDNs and all string values normalized as // trimmed lowercase UTF-8 with all spacing as one blank. // constructed RDNs will not be canonicalized $asn1 = new ASN1(); $asn1->loadOIDs($this->oids); $filters = array(); $filters['value'] = array('type' => ASN1::TYPE_UTF8_STRING); $asn1->loadFilters($filters); $result = ''; $this->_mapOutDNs($dn, 'rdnSequence', $asn1); foreach ($dn['rdnSequence'] as $rdn) { foreach ($rdn as $i => $attr) { $attr = &$rdn[$i]; if (is_array($attr['value'])) { foreach ($attr['value'] as $type => $v) { $type = array_search($type, $asn1->ANYmap, true); if ($type !== false && isset($asn1->stringTypeSize[$type])) { $v = $asn1->convert($v, $type); if ($v !== false) { $v = preg_replace('/\s+/', ' ', $v); $attr['value'] = strtolower(trim($v)); break; } } } } } $result .= $asn1->encodeDER($rdn, $this->RelativeDistinguishedName); } return $result; case self::DN_HASH: $dn = $this->getDN(self::DN_CANON, $dn); $hash = new Hash('sha1'); $hash = $hash->hash($dn); extract(unpack('Vhash', $hash)); return strtolower(bin2hex(pack('N', $hash))); } // Default is to return a string. $start = true; $output = ''; $result = array(); $asn1 = new ASN1(); $asn1->loadOIDs($this->oids); $filters = array(); $filters['rdnSequence']['value'] = array('type' => ASN1::TYPE_UTF8_STRING); $asn1->loadFilters($filters); $this->_mapOutDNs($dn, 'rdnSequence', $asn1); foreach ($dn['rdnSequence'] as $field) { $prop = $field[0]['type']; $value = $field[0]['value']; $delim = ', '; switch ($prop) { case 'id-at-countryName': $desc = 'C'; break; case 'id-at-stateOrProvinceName': $desc = 'ST'; break; case 'id-at-organizationName': $desc = 'O'; break; case 'id-at-organizationalUnitName': $desc = 'OU'; break; case 'id-at-commonName': $desc = 'CN'; break; case 'id-at-localityName': $desc = 'L'; break; case 'id-at-surname': $desc = 'SN'; break; case 'id-at-uniqueIdentifier': $delim = '/'; $desc = 'x500UniqueIdentifier'; break; case 'id-at-postalAddress': $delim = '/'; $desc = 'postalAddress'; break; default: $delim = '/'; $desc = preg_replace('#.+-([^-]+)$#', '$1', $prop); } if (!$start) { $output.= $delim; } if (is_array($value)) { foreach ($value as $type => $v) { $type = array_search($type, $asn1->ANYmap, true); if ($type !== false && isset($asn1->stringTypeSize[$type])) { $v = $asn1->convert($v, $type); if ($v !== false) { $value = $v; break; } } } if (is_array($value)) { $value = array_pop($value); // Always strip data type. } } elseif (is_object($value) && $value instanceof Element) { $callback = function ($x) { return "\x" . bin2hex($x[0]); }; $value = strtoupper(preg_replace_callback('#[^\x20-\x7E]#', $callback, $value->element)); } $output.= $desc . '=' . $value; $result[$desc] = isset($result[$desc]) ? array_merge((array) $result[$desc], array($value)) : $value; $start = false; } return $format == self::DN_OPENSSL ? $result : $output; } /** * Get the Distinguished Name for a certificate/crl issuer * * @param int $format optional * @access public * @return mixed */ function getIssuerDN($format = self::DN_ARRAY) { switch (true) { case !isset($this->currentCert) || !is_array($this->currentCert): break; case isset($this->currentCert['tbsCertificate']): return $this->getDN($format, $this->currentCert['tbsCertificate']['issuer']); case isset($this->currentCert['tbsCertList']): return $this->getDN($format, $this->currentCert['tbsCertList']['issuer']); } return false; } /** * Get the Distinguished Name for a certificate/csr subject * Alias of getDN() * * @param int $format optional * @access public * @return mixed */ function getSubjectDN($format = self::DN_ARRAY) { switch (true) { case !empty($this->dn): return $this->getDN($format); case !isset($this->currentCert) || !is_array($this->currentCert): break; case isset($this->currentCert['tbsCertificate']): return $this->getDN($format, $this->currentCert['tbsCertificate']['subject']); case isset($this->currentCert['certificationRequestInfo']): return $this->getDN($format, $this->currentCert['certificationRequestInfo']['subject']); } return false; } /** * Get an individual Distinguished Name property for a certificate/crl issuer * * @param string $propName * @param bool $withType optional * @access public * @return mixed */ function getIssuerDNProp($propName, $withType = false) { switch (true) { case !isset($this->currentCert) || !is_array($this->currentCert): break; case isset($this->currentCert['tbsCertificate']): return $this->getDNProp($propName, $this->currentCert['tbsCertificate']['issuer'], $withType); case isset($this->currentCert['tbsCertList']): return $this->getDNProp($propName, $this->currentCert['tbsCertList']['issuer'], $withType); } return false; } /** * Get an individual Distinguished Name property for a certificate/csr subject * * @param string $propName * @param bool $withType optional * @access public * @return mixed */ function getSubjectDNProp($propName, $withType = false) { switch (true) { case !empty($this->dn): return $this->getDNProp($propName, null, $withType); case !isset($this->currentCert) || !is_array($this->currentCert): break; case isset($this->currentCert['tbsCertificate']): return $this->getDNProp($propName, $this->currentCert['tbsCertificate']['subject'], $withType); case isset($this->currentCert['certificationRequestInfo']): return $this->getDNProp($propName, $this->currentCert['certificationRequestInfo']['subject'], $withType); } return false; } /** * Get the certificate chain for the current cert * * @access public * @return mixed */ function getChain() { $chain = array($this->currentCert); if (!is_array($this->currentCert) || !isset($this->currentCert['tbsCertificate'])) { return false; } if (empty($this->CAs)) { return $chain; } while (true) { $currentCert = $chain[count($chain) - 1]; for ($i = 0; $i < count($this->CAs); $i++) { $ca = $this->CAs[$i]; if ($currentCert['tbsCertificate']['issuer'] === $ca['tbsCertificate']['subject']) { $authorityKey = $this->getExtension('id-ce-authorityKeyIdentifier', $currentCert); $subjectKeyID = $this->getExtension('id-ce-subjectKeyIdentifier', $ca); switch (true) { case !is_array($authorityKey): case is_array($authorityKey) && isset($authorityKey['keyIdentifier']) && $authorityKey['keyIdentifier'] === $subjectKeyID: if ($currentCert === $ca) { break 3; } $chain[] = $ca; break 2; } } } if ($i == count($this->CAs)) { break; } } foreach ($chain as $key => $value) { $chain[$key] = new X509(); $chain[$key]->loadX509($value); } return $chain; } /** * Set public key * * Key needs to be a \phpseclib\Crypt\RSA object * * @param object $key * @access public * @return bool */ function setPublicKey($key) { $key->setPublicKey(); $this->publicKey = $key; } /** * Set private key * * Key needs to be a \phpseclib\Crypt\RSA object * * @param object $key * @access public */ function setPrivateKey($key) { $this->privateKey = $key; } /** * Set challenge * * Used for SPKAC CSR's * * @param string $challenge * @access public */ function setChallenge($challenge) { $this->challenge = $challenge; } /** * Gets the public key * * Returns a \phpseclib\Crypt\RSA object or a false. * * @access public * @return mixed */ function getPublicKey() { if (isset($this->publicKey)) { return $this->publicKey; } if (isset($this->currentCert) && is_array($this->currentCert)) { foreach (array('tbsCertificate/subjectPublicKeyInfo', 'certificationRequestInfo/subjectPKInfo') as $path) { $keyinfo = $this->_subArray($this->currentCert, $path); if (!empty($keyinfo)) { break; } } } if (empty($keyinfo)) { return false; } $key = $keyinfo['subjectPublicKey']; switch ($keyinfo['algorithm']['algorithm']) { case 'rsaEncryption': $publicKey = new RSA(); $publicKey->loadKey($key); $publicKey->setPublicKey(); break; default: return false; } return $publicKey; } /** * Load a Certificate Signing Request * * @param string|array $csr * @param int $mode * @access public * @return mixed */ function loadCSR($csr, $mode = self::FORMAT_AUTO_DETECT) { if (is_array($csr) && isset($csr['certificationRequestInfo'])) { unset($this->currentCert); unset($this->currentKeyIdentifier); unset($this->signatureSubject); $this->dn = $csr['certificationRequestInfo']['subject']; if (!isset($this->dn)) { return false; } $this->currentCert = $csr; return $csr; } // see http://tools.ietf.org/html/rfc2986 $asn1 = new ASN1(); if ($mode != self::FORMAT_DER) { $newcsr = $this->_extractBER($csr); if ($mode == self::FORMAT_PEM && $csr == $newcsr) { return false; } $csr = $newcsr; } $orig = $csr; if ($csr === false) { $this->currentCert = false; return false; } $asn1->loadOIDs($this->oids); $decoded = $asn1->decodeBER($csr); if (empty($decoded)) { $this->currentCert = false; return false; } $csr = $asn1->asn1map($decoded[0], $this->CertificationRequest); if (!isset($csr) || $csr === false) { $this->currentCert = false; return false; } $this->_mapInAttributes($csr, 'certificationRequestInfo/attributes', $asn1); $this->_mapInDNs($csr, 'certificationRequestInfo/subject/rdnSequence', $asn1); $this->dn = $csr['certificationRequestInfo']['subject']; $this->signatureSubject = substr($orig, $decoded[0]['content'][0]['start'], $decoded[0]['content'][0]['length']); $algorithm = &$csr['certificationRequestInfo']['subjectPKInfo']['algorithm']['algorithm']; $key = &$csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']; $key = $this->_reformatKey($algorithm, $key); switch ($algorithm) { case 'rsaEncryption': $this->publicKey = new RSA(); $this->publicKey->loadKey($key); $this->publicKey->setPublicKey(); break; default: $this->publicKey = null; } $this->currentKeyIdentifier = null; $this->currentCert = $csr; return $csr; } /** * Save CSR request * * @param array $csr * @param int $format optional * @access public * @return string */ function saveCSR($csr, $format = self::FORMAT_PEM) { if (!is_array($csr) || !isset($csr['certificationRequestInfo'])) { return false; } switch (true) { case !($algorithm = $this->_subArray($csr, 'certificationRequestInfo/subjectPKInfo/algorithm/algorithm')): case is_object($csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']): break; default: switch ($algorithm) { case 'rsaEncryption': $csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey'] = base64_encode("\0" . base64_decode(preg_replace('#-.+-|[\r\n]#', '', $csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']))); $csr['certificationRequestInfo']['subjectPKInfo']['algorithm']['parameters'] = null; $csr['signatureAlgorithm']['parameters'] = null; $csr['certificationRequestInfo']['signature']['parameters'] = null; } } $asn1 = new ASN1(); $asn1->loadOIDs($this->oids); $filters = array(); $filters['certificationRequestInfo']['subject']['rdnSequence']['value'] = array('type' => ASN1::TYPE_UTF8_STRING); $asn1->loadFilters($filters); $this->_mapOutDNs($csr, 'certificationRequestInfo/subject/rdnSequence', $asn1); $this->_mapOutAttributes($csr, 'certificationRequestInfo/attributes', $asn1); $csr = $asn1->encodeDER($csr, $this->CertificationRequest); switch ($format) { case self::FORMAT_DER: return $csr; // case self::FORMAT_PEM: default: return "-----BEGIN CERTIFICATE REQUEST-----\r\n" . chunk_split(base64_encode($csr), 64) . '-----END CERTIFICATE REQUEST-----'; } } /** * Load a SPKAC CSR * * SPKAC's are produced by the HTML5 keygen element: * * https://developer.mozilla.org/en-US/docs/HTML/Element/keygen * * @param string|array $spkac * @access public * @return mixed */ function loadSPKAC($spkac) { if (is_array($spkac) && isset($spkac['publicKeyAndChallenge'])) { unset($this->currentCert); unset($this->currentKeyIdentifier); unset($this->signatureSubject); $this->currentCert = $spkac; return $spkac; } // see http://www.w3.org/html/wg/drafts/html/master/forms.html#signedpublickeyandchallenge $asn1 = new ASN1(); // OpenSSL produces SPKAC's that are preceded by the string SPKAC= $temp = preg_replace('#(?:SPKAC=)|[ \r\n\\\]#', '', $spkac); $temp = preg_match('#^[a-zA-Z\d/+]*={0,2}$#', $temp) ? base64_decode($temp) : false; if ($temp != false) { $spkac = $temp; } $orig = $spkac; if ($spkac === false) { $this->currentCert = false; return false; } $asn1->loadOIDs($this->oids); $decoded = $asn1->decodeBER($spkac); if (empty($decoded)) { $this->currentCert = false; return false; } $spkac = $asn1->asn1map($decoded[0], $this->SignedPublicKeyAndChallenge); if (!isset($spkac) || $spkac === false) { $this->currentCert = false; return false; } $this->signatureSubject = substr($orig, $decoded[0]['content'][0]['start'], $decoded[0]['content'][0]['length']); $algorithm = &$spkac['publicKeyAndChallenge']['spki']['algorithm']['algorithm']; $key = &$spkac['publicKeyAndChallenge']['spki']['subjectPublicKey']; $key = $this->_reformatKey($algorithm, $key); switch ($algorithm) { case 'rsaEncryption': $this->publicKey = new RSA(); $this->publicKey->loadKey($key); $this->publicKey->setPublicKey(); break; default: $this->publicKey = null; } $this->currentKeyIdentifier = null; $this->currentCert = $spkac; return $spkac; } /** * Save a SPKAC CSR request * * @param string|array $spkac * @param int $format optional * @access public * @return string */ function saveSPKAC($spkac, $format = self::FORMAT_PEM) { if (!is_array($spkac) || !isset($spkac['publicKeyAndChallenge'])) { return false; } $algorithm = $this->_subArray($spkac, 'publicKeyAndChallenge/spki/algorithm/algorithm'); switch (true) { case !$algorithm: case is_object($spkac['publicKeyAndChallenge']['spki']['subjectPublicKey']): break; default: switch ($algorithm) { case 'rsaEncryption': $spkac['publicKeyAndChallenge']['spki']['subjectPublicKey'] = base64_encode("\0" . base64_decode(preg_replace('#-.+-|[\r\n]#', '', $spkac['publicKeyAndChallenge']['spki']['subjectPublicKey']))); } } $asn1 = new ASN1(); $asn1->loadOIDs($this->oids); $spkac = $asn1->encodeDER($spkac, $this->SignedPublicKeyAndChallenge); switch ($format) { case self::FORMAT_DER: return $spkac; // case self::FORMAT_PEM: default: // OpenSSL's implementation of SPKAC requires the SPKAC be preceded by SPKAC= and since there are pretty much // no other SPKAC decoders phpseclib will use that same format return 'SPKAC=' . base64_encode($spkac); } } /** * Load a Certificate Revocation List * * @param string $crl * @param int $mode * @access public * @return mixed */ function loadCRL($crl, $mode = self::FORMAT_AUTO_DETECT) { if (is_array($crl) && isset($crl['tbsCertList'])) { $this->currentCert = $crl; unset($this->signatureSubject); return $crl; } $asn1 = new ASN1(); if ($mode != self::FORMAT_DER) { $newcrl = $this->_extractBER($crl); if ($mode == self::FORMAT_PEM && $crl == $newcrl) { return false; } $crl = $newcrl; } $orig = $crl; if ($crl === false) { $this->currentCert = false; return false; } $asn1->loadOIDs($this->oids); $decoded = $asn1->decodeBER($crl); if (empty($decoded)) { $this->currentCert = false; return false; } $crl = $asn1->asn1map($decoded[0], $this->CertificateList); if (!isset($crl) || $crl === false) { $this->currentCert = false; return false; } $this->signatureSubject = substr($orig, $decoded[0]['content'][0]['start'], $decoded[0]['content'][0]['length']); $this->_mapInDNs($crl, 'tbsCertList/issuer/rdnSequence', $asn1); if ($this->_isSubArrayValid($crl, 'tbsCertList/crlExtensions')) { $this->_mapInExtensions($crl, 'tbsCertList/crlExtensions', $asn1); } if ($this->_isSubArrayValid($crl, 'tbsCertList/revokedCertificates')) { $rclist_ref = &$this->_subArrayUnchecked($crl, 'tbsCertList/revokedCertificates'); if ($rclist_ref) { $rclist = $crl['tbsCertList']['revokedCertificates']; foreach ($rclist as $i => $extension) { if ($this->_isSubArrayValid($rclist, "$i/crlEntryExtensions", $asn1)) { $this->_mapInExtensions($rclist_ref, "$i/crlEntryExtensions", $asn1); } } } } $this->currentKeyIdentifier = null; $this->currentCert = $crl; return $crl; } /** * Save Certificate Revocation List. * * @param array $crl * @param int $format optional * @access public * @return string */ function saveCRL($crl, $format = self::FORMAT_PEM) { if (!is_array($crl) || !isset($crl['tbsCertList'])) { return false; } $asn1 = new ASN1(); $asn1->loadOIDs($this->oids); $filters = array(); $filters['tbsCertList']['issuer']['rdnSequence']['value'] = array('type' => ASN1::TYPE_UTF8_STRING); $filters['tbsCertList']['signature']['parameters'] = array('type' => ASN1::TYPE_UTF8_STRING); $filters['signatureAlgorithm']['parameters'] = array('type' => ASN1::TYPE_UTF8_STRING); if (empty($crl['tbsCertList']['signature']['parameters'])) { $filters['tbsCertList']['signature']['parameters'] = array('type' => ASN1::TYPE_NULL); } if (empty($crl['signatureAlgorithm']['parameters'])) { $filters['signatureAlgorithm']['parameters'] = array('type' => ASN1::TYPE_NULL); } $asn1->loadFilters($filters); $this->_mapOutDNs($crl, 'tbsCertList/issuer/rdnSequence', $asn1); $this->_mapOutExtensions($crl, 'tbsCertList/crlExtensions', $asn1); $rclist = &$this->_subArray($crl, 'tbsCertList/revokedCertificates'); if (is_array($rclist)) { foreach ($rclist as $i => $extension) { $this->_mapOutExtensions($rclist, "$i/crlEntryExtensions", $asn1); } } $crl = $asn1->encodeDER($crl, $this->CertificateList); switch ($format) { case self::FORMAT_DER: return $crl; // case self::FORMAT_PEM: default: return "-----BEGIN X509 CRL-----\r\n" . chunk_split(base64_encode($crl), 64) . '-----END X509 CRL-----'; } } /** * Helper function to build a time field according to RFC 3280 section * - 4.1.2.5 Validity * - 5.1.2.4 This Update * - 5.1.2.5 Next Update * - 5.1.2.6 Revoked Certificates * by choosing utcTime iff year of date given is before 2050 and generalTime else. * * @param string $date in format date('D, d M Y H:i:s O') * @access private * @return array */ function _timeField($date) { if ($date instanceof Element) { return $date; } $dateObj = new DateTime($date, new DateTimeZone('GMT')); $year = $dateObj->format('Y'); // the same way ASN1.php parses this if ($year < 2050) { return array('utcTime' => $date); } else { return array('generalTime' => $date); } } /** * Sign an X.509 certificate * * $issuer's private key needs to be loaded. * $subject can be either an existing X.509 cert (if you want to resign it), * a CSR or something with the DN and public key explicitly set. * * @param \phpseclib\File\X509 $issuer * @param \phpseclib\File\X509 $subject * @param string $signatureAlgorithm optional * @access public * @return mixed */ function sign($issuer, $subject, $signatureAlgorithm = 'sha1WithRSAEncryption') { if (!is_object($issuer->privateKey) || empty($issuer->dn)) { return false; } if (isset($subject->publicKey) && !($subjectPublicKey = $subject->_formatSubjectPublicKey())) { return false; } $currentCert = isset($this->currentCert) ? $this->currentCert : null; $signatureSubject = isset($this->signatureSubject) ? $this->signatureSubject: null; if (isset($subject->currentCert) && is_array($subject->currentCert) && isset($subject->currentCert['tbsCertificate'])) { $this->currentCert = $subject->currentCert; $this->currentCert['tbsCertificate']['signature']['algorithm'] = $signatureAlgorithm; $this->currentCert['signatureAlgorithm']['algorithm'] = $signatureAlgorithm; if (!empty($this->startDate)) { $this->currentCert['tbsCertificate']['validity']['notBefore'] = $this->_timeField($this->startDate); } if (!empty($this->endDate)) { $this->currentCert['tbsCertificate']['validity']['notAfter'] = $this->_timeField($this->endDate); } if (!empty($this->serialNumber)) { $this->currentCert['tbsCertificate']['serialNumber'] = $this->serialNumber; } if (!empty($subject->dn)) { $this->currentCert['tbsCertificate']['subject'] = $subject->dn; } if (!empty($subject->publicKey)) { $this->currentCert['tbsCertificate']['subjectPublicKeyInfo'] = $subjectPublicKey; } $this->removeExtension('id-ce-authorityKeyIdentifier'); if (isset($subject->domains)) { $this->removeExtension('id-ce-subjectAltName'); } } elseif (isset($subject->currentCert) && is_array($subject->currentCert) && isset($subject->currentCert['tbsCertList'])) { return false; } else { if (!isset($subject->publicKey)) { return false; } $startDate = new DateTime('now', new DateTimeZone(@date_default_timezone_get())); $startDate = !empty($this->startDate) ? $this->startDate : $startDate->format('D, d M Y H:i:s O'); $endDate = new DateTime('+1 year', new DateTimeZone(@date_default_timezone_get())); $endDate = !empty($this->endDate) ? $this->endDate : $endDate->format('D, d M Y H:i:s O'); /* "The serial number MUST be a positive integer" "Conforming CAs MUST NOT use serialNumber values longer than 20 octets." -- https://tools.ietf.org/html/rfc5280#section-4.1.2.2 for the integer to be positive the leading bit needs to be 0 hence the application of a bitmap */ $serialNumber = !empty($this->serialNumber) ? $this->serialNumber : new BigInteger(Random::string(20) & ("\x7F" . str_repeat("\xFF", 19)), 256); $this->currentCert = array( 'tbsCertificate' => array( 'version' => 'v3', 'serialNumber' => $serialNumber, // $this->setSerialNumber() 'signature' => array('algorithm' => $signatureAlgorithm), 'issuer' => false, // this is going to be overwritten later 'validity' => array( 'notBefore' => $this->_timeField($startDate), // $this->setStartDate() 'notAfter' => $this->_timeField($endDate) // $this->setEndDate() ), 'subject' => $subject->dn, 'subjectPublicKeyInfo' => $subjectPublicKey ), 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), 'signature' => false // this is going to be overwritten later ); // Copy extensions from CSR. $csrexts = $subject->getAttribute('pkcs-9-at-extensionRequest', 0); if (!empty($csrexts)) { $this->currentCert['tbsCertificate']['extensions'] = $csrexts; } } $this->currentCert['tbsCertificate']['issuer'] = $issuer->dn; if (isset($issuer->currentKeyIdentifier)) { $this->setExtension('id-ce-authorityKeyIdentifier', array( //'authorityCertIssuer' => array( // array( // 'directoryName' => $issuer->dn // ) //), 'keyIdentifier' => $issuer->currentKeyIdentifier )); //$extensions = &$this->currentCert['tbsCertificate']['extensions']; //if (isset($issuer->serialNumber)) { // $extensions[count($extensions) - 1]['authorityCertSerialNumber'] = $issuer->serialNumber; //} //unset($extensions); } if (isset($subject->currentKeyIdentifier)) { $this->setExtension('id-ce-subjectKeyIdentifier', $subject->currentKeyIdentifier); } $altName = array(); if (isset($subject->domains) && count($subject->domains)) { $altName = array_map(array('\phpseclib\File\X509', '_dnsName'), $subject->domains); } if (isset($subject->ipAddresses) && count($subject->ipAddresses)) { // should an IP address appear as the CN if no domain name is specified? idk //$ips = count($subject->domains) ? $subject->ipAddresses : array_slice($subject->ipAddresses, 1); $ipAddresses = array(); foreach ($subject->ipAddresses as $ipAddress) { $encoded = $subject->_ipAddress($ipAddress); if ($encoded !== false) { $ipAddresses[] = $encoded; } } if (count($ipAddresses)) { $altName = array_merge($altName, $ipAddresses); } } if (!empty($altName)) { $this->setExtension('id-ce-subjectAltName', $altName); } if ($this->caFlag) { $keyUsage = $this->getExtension('id-ce-keyUsage'); if (!$keyUsage) { $keyUsage = array(); } $this->setExtension( 'id-ce-keyUsage', array_values(array_unique(array_merge($keyUsage, array('cRLSign', 'keyCertSign')))) ); $basicConstraints = $this->getExtension('id-ce-basicConstraints'); if (!$basicConstraints) { $basicConstraints = array(); } $this->setExtension( 'id-ce-basicConstraints', array_unique(array_merge(array('cA' => true), $basicConstraints)), true ); if (!isset($subject->currentKeyIdentifier)) { $this->setExtension('id-ce-subjectKeyIdentifier', base64_encode($this->computeKeyIdentifier($this->currentCert)), false, false); } } // resync $this->signatureSubject // save $tbsCertificate in case there are any \phpseclib\File\ASN1\Element objects in it $tbsCertificate = $this->currentCert['tbsCertificate']; $this->loadX509($this->saveX509($this->currentCert)); $result = $this->_sign($issuer->privateKey, $signatureAlgorithm); $result['tbsCertificate'] = $tbsCertificate; $this->currentCert = $currentCert; $this->signatureSubject = $signatureSubject; return $result; } /** * Sign a CSR * * @access public * @return mixed */ function signCSR($signatureAlgorithm = 'sha1WithRSAEncryption') { if (!is_object($this->privateKey) || empty($this->dn)) { return false; } $origPublicKey = $this->publicKey; $class = get_class($this->privateKey); $this->publicKey = new $class(); $this->publicKey->loadKey($this->privateKey->getPublicKey()); $this->publicKey->setPublicKey(); if (!($publicKey = $this->_formatSubjectPublicKey())) { return false; } $this->publicKey = $origPublicKey; $currentCert = isset($this->currentCert) ? $this->currentCert : null; $signatureSubject = isset($this->signatureSubject) ? $this->signatureSubject: null; if (isset($this->currentCert) && is_array($this->currentCert) && isset($this->currentCert['certificationRequestInfo'])) { $this->currentCert['signatureAlgorithm']['algorithm'] = $signatureAlgorithm; if (!empty($this->dn)) { $this->currentCert['certificationRequestInfo']['subject'] = $this->dn; } $this->currentCert['certificationRequestInfo']['subjectPKInfo'] = $publicKey; } else { $this->currentCert = array( 'certificationRequestInfo' => array( 'version' => 'v1', 'subject' => $this->dn, 'subjectPKInfo' => $publicKey ), 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), 'signature' => false // this is going to be overwritten later ); } // resync $this->signatureSubject // save $certificationRequestInfo in case there are any \phpseclib\File\ASN1\Element objects in it $certificationRequestInfo = $this->currentCert['certificationRequestInfo']; $this->loadCSR($this->saveCSR($this->currentCert)); $result = $this->_sign($this->privateKey, $signatureAlgorithm); $result['certificationRequestInfo'] = $certificationRequestInfo; $this->currentCert = $currentCert; $this->signatureSubject = $signatureSubject; return $result; } /** * Sign a SPKAC * * @access public * @return mixed */ function signSPKAC($signatureAlgorithm = 'sha1WithRSAEncryption') { if (!is_object($this->privateKey)) { return false; } $origPublicKey = $this->publicKey; $class = get_class($this->privateKey); $this->publicKey = new $class(); $this->publicKey->loadKey($this->privateKey->getPublicKey()); $this->publicKey->setPublicKey(); $publicKey = $this->_formatSubjectPublicKey(); if (!$publicKey) { return false; } $this->publicKey = $origPublicKey; $currentCert = isset($this->currentCert) ? $this->currentCert : null; $signatureSubject = isset($this->signatureSubject) ? $this->signatureSubject: null; // re-signing a SPKAC seems silly but since everything else supports re-signing why not? if (isset($this->currentCert) && is_array($this->currentCert) && isset($this->currentCert['publicKeyAndChallenge'])) { $this->currentCert['signatureAlgorithm']['algorithm'] = $signatureAlgorithm; $this->currentCert['publicKeyAndChallenge']['spki'] = $publicKey; if (!empty($this->challenge)) { // the bitwise AND ensures that the output is a valid IA5String $this->currentCert['publicKeyAndChallenge']['challenge'] = $this->challenge & str_repeat("\x7F", strlen($this->challenge)); } } else { $this->currentCert = array( 'publicKeyAndChallenge' => array( 'spki' => $publicKey, // quoting , // "A challenge string that is submitted along with the public key. Defaults to an empty string if not specified." // both Firefox and OpenSSL ("openssl spkac -key private.key") behave this way // we could alternatively do this instead if we ignored the specs: // Random::string(8) & str_repeat("\x7F", 8) 'challenge' => !empty($this->challenge) ? $this->challenge : '' ), 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), 'signature' => false // this is going to be overwritten later ); } // resync $this->signatureSubject // save $publicKeyAndChallenge in case there are any \phpseclib\File\ASN1\Element objects in it $publicKeyAndChallenge = $this->currentCert['publicKeyAndChallenge']; $this->loadSPKAC($this->saveSPKAC($this->currentCert)); $result = $this->_sign($this->privateKey, $signatureAlgorithm); $result['publicKeyAndChallenge'] = $publicKeyAndChallenge; $this->currentCert = $currentCert; $this->signatureSubject = $signatureSubject; return $result; } /** * Sign a CRL * * $issuer's private key needs to be loaded. * * @param \phpseclib\File\X509 $issuer * @param \phpseclib\File\X509 $crl * @param string $signatureAlgorithm optional * @access public * @return mixed */ function signCRL($issuer, $crl, $signatureAlgorithm = 'sha1WithRSAEncryption') { if (!is_object($issuer->privateKey) || empty($issuer->dn)) { return false; } $currentCert = isset($this->currentCert) ? $this->currentCert : null; $signatureSubject = isset($this->signatureSubject) ? $this->signatureSubject : null; $thisUpdate = new DateTime('now', new DateTimeZone(@date_default_timezone_get())); $thisUpdate = !empty($this->startDate) ? $this->startDate : $thisUpdate->format('D, d M Y H:i:s O'); if (isset($crl->currentCert) && is_array($crl->currentCert) && isset($crl->currentCert['tbsCertList'])) { $this->currentCert = $crl->currentCert; $this->currentCert['tbsCertList']['signature']['algorithm'] = $signatureAlgorithm; $this->currentCert['signatureAlgorithm']['algorithm'] = $signatureAlgorithm; } else { $this->currentCert = array( 'tbsCertList' => array( 'version' => 'v2', 'signature' => array('algorithm' => $signatureAlgorithm), 'issuer' => false, // this is going to be overwritten later 'thisUpdate' => $this->_timeField($thisUpdate) // $this->setStartDate() ), 'signatureAlgorithm' => array('algorithm' => $signatureAlgorithm), 'signature' => false // this is going to be overwritten later ); } $tbsCertList = &$this->currentCert['tbsCertList']; $tbsCertList['issuer'] = $issuer->dn; $tbsCertList['thisUpdate'] = $this->_timeField($thisUpdate); if (!empty($this->endDate)) { $tbsCertList['nextUpdate'] = $this->_timeField($this->endDate); // $this->setEndDate() } else { unset($tbsCertList['nextUpdate']); } if (!empty($this->serialNumber)) { $crlNumber = $this->serialNumber; } else { $crlNumber = $this->getExtension('id-ce-cRLNumber'); // "The CRL number is a non-critical CRL extension that conveys a // monotonically increasing sequence number for a given CRL scope and // CRL issuer. This extension allows users to easily determine when a // particular CRL supersedes another CRL." // -- https://tools.ietf.org/html/rfc5280#section-5.2.3 $crlNumber = $crlNumber !== false ? $crlNumber->add(new BigInteger(1)) : null; } $this->removeExtension('id-ce-authorityKeyIdentifier'); $this->removeExtension('id-ce-issuerAltName'); // Be sure version >= v2 if some extension found. $version = isset($tbsCertList['version']) ? $tbsCertList['version'] : 0; if (!$version) { if (!empty($tbsCertList['crlExtensions'])) { $version = 1; // v2. } elseif (!empty($tbsCertList['revokedCertificates'])) { foreach ($tbsCertList['revokedCertificates'] as $cert) { if (!empty($cert['crlEntryExtensions'])) { $version = 1; // v2. } } } if ($version) { $tbsCertList['version'] = $version; } } // Store additional extensions. if (!empty($tbsCertList['version'])) { // At least v2. if (!empty($crlNumber)) { $this->setExtension('id-ce-cRLNumber', $crlNumber); } if (isset($issuer->currentKeyIdentifier)) { $this->setExtension('id-ce-authorityKeyIdentifier', array( //'authorityCertIssuer' => array( // array( // 'directoryName' => $issuer->dn // ) //), 'keyIdentifier' => $issuer->currentKeyIdentifier )); //$extensions = &$tbsCertList['crlExtensions']; //if (isset($issuer->serialNumber)) { // $extensions[count($extensions) - 1]['authorityCertSerialNumber'] = $issuer->serialNumber; //} //unset($extensions); } $issuerAltName = $this->getExtension('id-ce-subjectAltName', $issuer->currentCert); if ($issuerAltName !== false) { $this->setExtension('id-ce-issuerAltName', $issuerAltName); } } if (empty($tbsCertList['revokedCertificates'])) { unset($tbsCertList['revokedCertificates']); } unset($tbsCertList); // resync $this->signatureSubject // save $tbsCertList in case there are any \phpseclib\File\ASN1\Element objects in it $tbsCertList = $this->currentCert['tbsCertList']; $this->loadCRL($this->saveCRL($this->currentCert)); $result = $this->_sign($issuer->privateKey, $signatureAlgorithm); $result['tbsCertList'] = $tbsCertList; $this->currentCert = $currentCert; $this->signatureSubject = $signatureSubject; return $result; } /** * X.509 certificate signing helper function. * * @param \phpseclib\File\X509 $key * @param string $signatureAlgorithm * @access public * @return mixed */ function _sign($key, $signatureAlgorithm) { if ($key instanceof RSA) { switch ($signatureAlgorithm) { case 'md2WithRSAEncryption': case 'md5WithRSAEncryption': case 'sha1WithRSAEncryption': case 'sha224WithRSAEncryption': case 'sha256WithRSAEncryption': case 'sha384WithRSAEncryption': case 'sha512WithRSAEncryption': $key->setHash(preg_replace('#WithRSAEncryption$#', '', $signatureAlgorithm)); $key->setSignatureMode(RSA::SIGNATURE_PKCS1); $this->currentCert['signature'] = base64_encode("\0" . $key->sign($this->signatureSubject)); return $this->currentCert; } } return false; } /** * Set certificate start date * * @param string $date * @access public */ function setStartDate($date) { if (!is_object($date) || !is_a($date, 'DateTime')) { $date = new DateTime($date, new DateTimeZone(@date_default_timezone_get())); } $this->startDate = $date->format('D, d M Y H:i:s O'); } /** * Set certificate end date * * @param string $date * @access public */ function setEndDate($date) { /* To indicate that a certificate has no well-defined expiration date, the notAfter SHOULD be assigned the GeneralizedTime value of 99991231235959Z. -- http://tools.ietf.org/html/rfc5280#section-4.1.2.5 */ if (strtolower($date) == 'lifetime') { $temp = '99991231235959Z'; $asn1 = new ASN1(); $temp = chr(ASN1::TYPE_GENERALIZED_TIME) . $asn1->_encodeLength(strlen($temp)) . $temp; $this->endDate = new Element($temp); } else { if (!is_object($date) || !is_a($date, 'DateTime')) { $date = new DateTime($date, new DateTimeZone(@date_default_timezone_get())); } $this->endDate = $date->format('D, d M Y H:i:s O'); } } /** * Set Serial Number * * @param string $serial * @param int $base optional * @access public */ function setSerialNumber($serial, $base = -256) { $this->serialNumber = new BigInteger($serial, $base); } /** * Turns the certificate into a certificate authority * * @access public */ function makeCA() { $this->caFlag = true; } /** * Check for validity of subarray * * This is intended for use in conjunction with _subArrayUnchecked(), * implementing the checks included in _subArray() but without copying * a potentially large array by passing its reference by-value to is_array(). * * @param array $root * @param string $path * @return boolean * @access private */ function _isSubArrayValid($root, $path) { if (!is_array($root)) { return false; } foreach (explode('/', $path) as $i) { if (!is_array($root)) { return false; } if (!isset($root[$i])) { return true; } $root = $root[$i]; } return true; } /** * Get a reference to a subarray * * This variant of _subArray() does no is_array() checking, * so $root should be checked with _isSubArrayValid() first. * * This is here for performance reasons: * Passing a reference (i.e. $root) by-value (i.e. to is_array()) * creates a copy. If $root is an especially large array, this is expensive. * * @param array $root * @param string $path absolute path with / as component separator * @param bool $create optional * @access private * @return array|false */ function &_subArrayUnchecked(&$root, $path, $create = false) { $false = false; foreach (explode('/', $path) as $i) { if (!isset($root[$i])) { if (!$create) { return $false; } $root[$i] = array(); } $root = &$root[$i]; } return $root; } /** * Get a reference to a subarray * * @param array $root * @param string $path absolute path with / as component separator * @param bool $create optional * @access private * @return array|false */ function &_subArray(&$root, $path, $create = false) { $false = false; if (!is_array($root)) { return $false; } foreach (explode('/', $path) as $i) { if (!is_array($root)) { return $false; } if (!isset($root[$i])) { if (!$create) { return $false; } $root[$i] = array(); } $root = &$root[$i]; } return $root; } /** * Get a reference to an extension subarray * * @param array $root * @param string $path optional absolute path with / as component separator * @param bool $create optional * @access private * @return array|false */ function &_extensions(&$root, $path = null, $create = false) { if (!isset($root)) { $root = $this->currentCert; } switch (true) { case !empty($path): case !is_array($root): break; case isset($root['tbsCertificate']): $path = 'tbsCertificate/extensions'; break; case isset($root['tbsCertList']): $path = 'tbsCertList/crlExtensions'; break; case isset($root['certificationRequestInfo']): $pth = 'certificationRequestInfo/attributes'; $attributes = &$this->_subArray($root, $pth, $create); if (is_array($attributes)) { foreach ($attributes as $key => $value) { if ($value['type'] == 'pkcs-9-at-extensionRequest') { $path = "$pth/$key/value/0"; break 2; } } if ($create) { $key = count($attributes); $attributes[] = array('type' => 'pkcs-9-at-extensionRequest', 'value' => array()); $path = "$pth/$key/value/0"; } } break; } $extensions = &$this->_subArray($root, $path, $create); if (!is_array($extensions)) { $false = false; return $false; } return $extensions; } /** * Remove an Extension * * @param string $id * @param string $path optional * @access private * @return bool */ function _removeExtension($id, $path = null) { $extensions = &$this->_extensions($this->currentCert, $path); if (!is_array($extensions)) { return false; } $result = false; foreach ($extensions as $key => $value) { if ($value['extnId'] == $id) { unset($extensions[$key]); $result = true; } } $extensions = array_values($extensions); // fix for https://bugs.php.net/75433 affecting PHP 7.2 if (!isset($extensions[0])) { $extensions = array_splice($extensions, 0, 0); } return $result; } /** * Get an Extension * * Returns the extension if it exists and false if not * * @param string $id * @param array $cert optional * @param string $path optional * @access private * @return mixed */ function _getExtension($id, $cert = null, $path = null) { $extensions = $this->_extensions($cert, $path); if (!is_array($extensions)) { return false; } foreach ($extensions as $key => $value) { if ($value['extnId'] == $id) { return $value['extnValue']; } } return false; } /** * Returns a list of all extensions in use * * @param array $cert optional * @param string $path optional * @access private * @return array */ function _getExtensions($cert = null, $path = null) { $exts = $this->_extensions($cert, $path); $extensions = array(); if (is_array($exts)) { foreach ($exts as $extension) { $extensions[] = $extension['extnId']; } } return $extensions; } /** * Set an Extension * * @param string $id * @param mixed $value * @param bool $critical optional * @param bool $replace optional * @param string $path optional * @access private * @return bool */ function _setExtension($id, $value, $critical = false, $replace = true, $path = null) { $extensions = &$this->_extensions($this->currentCert, $path, true); if (!is_array($extensions)) { return false; } $newext = array('extnId' => $id, 'critical' => $critical, 'extnValue' => $value); foreach ($extensions as $key => $value) { if ($value['extnId'] == $id) { if (!$replace) { return false; } $extensions[$key] = $newext; return true; } } $extensions[] = $newext; return true; } /** * Remove a certificate, CSR or CRL Extension * * @param string $id * @access public * @return bool */ function removeExtension($id) { return $this->_removeExtension($id); } /** * Get a certificate, CSR or CRL Extension * * Returns the extension if it exists and false if not * * @param string $id * @param array $cert optional * @access public * @return mixed */ function getExtension($id, $cert = null) { return $this->_getExtension($id, $cert); } /** * Returns a list of all extensions in use in certificate, CSR or CRL * * @param array $cert optional * @access public * @return array */ function getExtensions($cert = null) { return $this->_getExtensions($cert); } /** * Set a certificate, CSR or CRL Extension * * @param string $id * @param mixed $value * @param bool $critical optional * @param bool $replace optional * @access public * @return bool */ function setExtension($id, $value, $critical = false, $replace = true) { return $this->_setExtension($id, $value, $critical, $replace); } /** * Remove a CSR attribute. * * @param string $id * @param int $disposition optional * @access public * @return bool */ function removeAttribute($id, $disposition = self::ATTR_ALL) { $attributes = &$this->_subArray($this->currentCert, 'certificationRequestInfo/attributes'); if (!is_array($attributes)) { return false; } $result = false; foreach ($attributes as $key => $attribute) { if ($attribute['type'] == $id) { $n = count($attribute['value']); switch (true) { case $disposition == self::ATTR_APPEND: case $disposition == self::ATTR_REPLACE: return false; case $disposition >= $n: $disposition -= $n; break; case $disposition == self::ATTR_ALL: case $n == 1: unset($attributes[$key]); $result = true; break; default: unset($attributes[$key]['value'][$disposition]); $attributes[$key]['value'] = array_values($attributes[$key]['value']); $result = true; break; } if ($result && $disposition != self::ATTR_ALL) { break; } } } $attributes = array_values($attributes); return $result; } /** * Get a CSR attribute * * Returns the attribute if it exists and false if not * * @param string $id * @param int $disposition optional * @param array $csr optional * @access public * @return mixed */ function getAttribute($id, $disposition = self::ATTR_ALL, $csr = null) { if (empty($csr)) { $csr = $this->currentCert; } $attributes = $this->_subArray($csr, 'certificationRequestInfo/attributes'); if (!is_array($attributes)) { return false; } foreach ($attributes as $key => $attribute) { if ($attribute['type'] == $id) { $n = count($attribute['value']); switch (true) { case $disposition == self::ATTR_APPEND: case $disposition == self::ATTR_REPLACE: return false; case $disposition == self::ATTR_ALL: return $attribute['value']; case $disposition >= $n: $disposition -= $n; break; default: return $attribute['value'][$disposition]; } } } return false; } /** * Returns a list of all CSR attributes in use * * @param array $csr optional * @access public * @return array */ function getAttributes($csr = null) { if (empty($csr)) { $csr = $this->currentCert; } $attributes = $this->_subArray($csr, 'certificationRequestInfo/attributes'); $attrs = array(); if (is_array($attributes)) { foreach ($attributes as $attribute) { $attrs[] = $attribute['type']; } } return $attrs; } /** * Set a CSR attribute * * @param string $id * @param mixed $value * @param bool $disposition optional * @access public * @return bool */ function setAttribute($id, $value, $disposition = self::ATTR_ALL) { $attributes = &$this->_subArray($this->currentCert, 'certificationRequestInfo/attributes', true); if (!is_array($attributes)) { return false; } switch ($disposition) { case self::ATTR_REPLACE: $disposition = self::ATTR_APPEND; case self::ATTR_ALL: $this->removeAttribute($id); break; } foreach ($attributes as $key => $attribute) { if ($attribute['type'] == $id) { $n = count($attribute['value']); switch (true) { case $disposition == self::ATTR_APPEND: $last = $key; break; case $disposition >= $n: $disposition -= $n; break; default: $attributes[$key]['value'][$disposition] = $value; return true; } } } switch (true) { case $disposition >= 0: return false; case isset($last): $attributes[$last]['value'][] = $value; break; default: $attributes[] = array('type' => $id, 'value' => $disposition == self::ATTR_ALL ? $value: array($value)); break; } return true; } /** * Sets the subject key identifier * * This is used by the id-ce-authorityKeyIdentifier and the id-ce-subjectKeyIdentifier extensions. * * @param string $value * @access public */ function setKeyIdentifier($value) { if (empty($value)) { unset($this->currentKeyIdentifier); } else { $this->currentKeyIdentifier = base64_encode($value); } } /** * Compute a public key identifier. * * Although key identifiers may be set to any unique value, this function * computes key identifiers from public key according to the two * recommended methods (4.2.1.2 RFC 3280). * Highly polymorphic: try to accept all possible forms of key: * - Key object * - \phpseclib\File\X509 object with public or private key defined * - Certificate or CSR array * - \phpseclib\File\ASN1\Element object * - PEM or DER string * * @param mixed $key optional * @param int $method optional * @access public * @return string binary key identifier */ function computeKeyIdentifier($key = null, $method = 1) { if (is_null($key)) { $key = $this; } switch (true) { case is_string($key): break; case is_array($key) && isset($key['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']): return $this->computeKeyIdentifier($key['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'], $method); case is_array($key) && isset($key['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']): return $this->computeKeyIdentifier($key['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey'], $method); case !is_object($key): return false; case $key instanceof Element: // Assume the element is a bitstring-packed key. $asn1 = new ASN1(); $decoded = $asn1->decodeBER($key->element); if (empty($decoded)) { return false; } $raw = $asn1->asn1map($decoded[0], array('type' => ASN1::TYPE_BIT_STRING)); if (empty($raw)) { return false; } $raw = base64_decode($raw); // If the key is private, compute identifier from its corresponding public key. $key = new RSA(); if (!$key->loadKey($raw)) { return false; // Not an unencrypted RSA key. } if ($key->getPrivateKey() !== false) { // If private. return $this->computeKeyIdentifier($key, $method); } $key = $raw; // Is a public key. break; case $key instanceof X509: if (isset($key->publicKey)) { return $this->computeKeyIdentifier($key->publicKey, $method); } if (isset($key->privateKey)) { return $this->computeKeyIdentifier($key->privateKey, $method); } if (isset($key->currentCert['tbsCertificate']) || isset($key->currentCert['certificationRequestInfo'])) { return $this->computeKeyIdentifier($key->currentCert, $method); } return false; default: // Should be a key object (i.e.: \phpseclib\Crypt\RSA). $key = $key->getPublicKey(RSA::PUBLIC_FORMAT_PKCS1); break; } // If in PEM format, convert to binary. $key = $this->_extractBER($key); // Now we have the key string: compute its sha-1 sum. $hash = new Hash('sha1'); $hash = $hash->hash($key); if ($method == 2) { $hash = substr($hash, -8); $hash[0] = chr((ord($hash[0]) & 0x0F) | 0x40); } return $hash; } /** * Format a public key as appropriate * * @access private * @return array */ function _formatSubjectPublicKey() { if ($this->publicKey instanceof RSA) { // the following two return statements do the same thing. i dunno.. i just prefer the later for some reason. // the former is a good example of how to do fuzzing on the public key //return new Element(base64_decode(preg_replace('#-.+-|[\r\n]#', '', $this->publicKey->getPublicKey()))); return array( 'algorithm' => array('algorithm' => 'rsaEncryption'), 'subjectPublicKey' => $this->publicKey->getPublicKey(RSA::PUBLIC_FORMAT_PKCS1) ); } return false; } /** * Set the domain name's which the cert is to be valid for * * @access public * @return array */ function setDomain() { $this->domains = func_get_args(); $this->removeDNProp('id-at-commonName'); $this->setDNProp('id-at-commonName', $this->domains[0]); } /** * Set the IP Addresses's which the cert is to be valid for * * @access public */ function setIPAddress() { $this->ipAddresses = func_get_args(); /* if (!isset($this->domains)) { $this->removeDNProp('id-at-commonName'); $this->setDNProp('id-at-commonName', $this->ipAddresses[0]); } */ } /** * Helper function to build domain array * * @access private * @param string $domain * @return array */ function _dnsName($domain) { return array('dNSName' => $domain); } /** * Helper function to build IP Address array * * (IPv6 is not currently supported) * * @access private * @param string $address * @return array */ function _iPAddress($address) { return array('iPAddress' => $address); } /** * Get the index of a revoked certificate. * * @param array $rclist * @param string $serial * @param bool $create optional * @access private * @return int|false */ function _revokedCertificate(&$rclist, $serial, $create = false) { $serial = new BigInteger($serial); foreach ($rclist as $i => $rc) { if (!($serial->compare($rc['userCertificate']))) { return $i; } } if (!$create) { return false; } $i = count($rclist); $revocationDate = new DateTime('now', new DateTimeZone(@date_default_timezone_get())); $rclist[] = array('userCertificate' => $serial, 'revocationDate' => $this->_timeField($revocationDate->format('D, d M Y H:i:s O'))); return $i; } /** * Revoke a certificate. * * @param string $serial * @param string $date optional * @access public * @return bool */ function revoke($serial, $date = null) { if (isset($this->currentCert['tbsCertList'])) { if (is_array($rclist = &$this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates', true))) { if ($this->_revokedCertificate($rclist, $serial) === false) { // If not yet revoked if (($i = $this->_revokedCertificate($rclist, $serial, true)) !== false) { if (!empty($date)) { $rclist[$i]['revocationDate'] = $this->_timeField($date); } return true; } } } } return false; } /** * Unrevoke a certificate. * * @param string $serial * @access public * @return bool */ function unrevoke($serial) { if (is_array($rclist = &$this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates'))) { if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { unset($rclist[$i]); $rclist = array_values($rclist); return true; } } return false; } /** * Get a revoked certificate. * * @param string $serial * @access public * @return mixed */ function getRevoked($serial) { if (is_array($rclist = $this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates'))) { if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { return $rclist[$i]; } } return false; } /** * List revoked certificates * * @param array $crl optional * @access public * @return array */ function listRevoked($crl = null) { if (!isset($crl)) { $crl = $this->currentCert; } if (!isset($crl['tbsCertList'])) { return false; } $result = array(); if (is_array($rclist = $this->_subArray($crl, 'tbsCertList/revokedCertificates'))) { foreach ($rclist as $rc) { $result[] = $rc['userCertificate']->toString(); } } return $result; } /** * Remove a Revoked Certificate Extension * * @param string $serial * @param string $id * @access public * @return bool */ function removeRevokedCertificateExtension($serial, $id) { if (is_array($rclist = &$this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates'))) { if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { return $this->_removeExtension($id, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); } } return false; } /** * Get a Revoked Certificate Extension * * Returns the extension if it exists and false if not * * @param string $serial * @param string $id * @param array $crl optional * @access public * @return mixed */ function getRevokedCertificateExtension($serial, $id, $crl = null) { if (!isset($crl)) { $crl = $this->currentCert; } if (is_array($rclist = $this->_subArray($crl, 'tbsCertList/revokedCertificates'))) { if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { return $this->_getExtension($id, $crl, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); } } return false; } /** * Returns a list of all extensions in use for a given revoked certificate * * @param string $serial * @param array $crl optional * @access public * @return array */ function getRevokedCertificateExtensions($serial, $crl = null) { if (!isset($crl)) { $crl = $this->currentCert; } if (is_array($rclist = $this->_subArray($crl, 'tbsCertList/revokedCertificates'))) { if (($i = $this->_revokedCertificate($rclist, $serial)) !== false) { return $this->_getExtensions($crl, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); } } return false; } /** * Set a Revoked Certificate Extension * * @param string $serial * @param string $id * @param mixed $value * @param bool $critical optional * @param bool $replace optional * @access public * @return bool */ function setRevokedCertificateExtension($serial, $id, $value, $critical = false, $replace = true) { if (isset($this->currentCert['tbsCertList'])) { if (is_array($rclist = &$this->_subArray($this->currentCert, 'tbsCertList/revokedCertificates', true))) { if (($i = $this->_revokedCertificate($rclist, $serial, true)) !== false) { return $this->_setExtension($id, $value, $critical, $replace, "tbsCertList/revokedCertificates/$i/crlEntryExtensions"); } } } return false; } /** * Extract raw BER from Base64 encoding * * @access private * @param string $str * @return string */ function _extractBER($str) { /* X.509 certs are assumed to be base64 encoded but sometimes they'll have additional things in them * above and beyond the ceritificate. * ie. some may have the following preceding the -----BEGIN CERTIFICATE----- line: * * Bag Attributes * localKeyID: 01 00 00 00 * subject=/O=organization/OU=org unit/CN=common name * issuer=/O=organization/CN=common name */ if (strlen($str) > ini_get('pcre.backtrack_limit')) { $temp = $str; } else { $temp = preg_replace('#.*?^-+[^-]+-+[\r\n ]*$#ms', '', $str, 1); $temp = preg_replace('#-+END.*[\r\n ]*.*#ms', '', $temp, 1); } // remove new lines $temp = str_replace(array("\r", "\n", ' '), '', $temp); // remove the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- stuff $temp = preg_replace('#^-+[^-]+-+|-+[^-]+-+$#', '', $temp); $temp = preg_match('#^[a-zA-Z\d/+]*={0,2}$#', $temp) ? base64_decode($temp) : false; return $temp != false ? $temp : $str; } /** * Returns the OID corresponding to a name * * What's returned in the associative array returned by loadX509() (or load*()) is either a name or an OID if * no OID to name mapping is available. The problem with this is that what may be an unmapped OID in one version * of phpseclib may not be unmapped in the next version, so apps that are looking at this OID may not be able * to work from version to version. * * This method will return the OID if a name is passed to it and if no mapping is avialable it'll assume that * what's being passed to it already is an OID and return that instead. A few examples. * * getOID('2.16.840.1.101.3.4.2.1') == '2.16.840.1.101.3.4.2.1' * getOID('id-sha256') == '2.16.840.1.101.3.4.2.1' * getOID('zzz') == 'zzz' * * @access public * @return string */ function getOID($name) { static $reverseMap; if (!isset($reverseMap)) { $reverseMap = array_flip($this->oids); } return isset($reverseMap[$name]) ? $reverseMap[$name] : $name; } } vendor/phpseclib/phpseclib/phpseclib/File/ASN1.php000064400000160566147400355670016057 0ustar00 * @copyright 2012 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\File; use phpseclib\File\ASN1\Element; use phpseclib\Math\BigInteger; use DateTime; use DateTimeZone; /** * Pure-PHP ASN.1 Parser * * @package ASN1 * @author Jim Wigginton * @access public */ class ASN1 { /**#@+ * Tag Classes * * @access private * @link http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#page=12 */ const CLASS_UNIVERSAL = 0; const CLASS_APPLICATION = 1; const CLASS_CONTEXT_SPECIFIC = 2; const CLASS_PRIVATE = 3; /**#@-*/ /**#@+ * Tag Classes * * @access private * @link http://www.obj-sys.com/asn1tutorial/node124.html */ const TYPE_BOOLEAN = 1; const TYPE_INTEGER = 2; const TYPE_BIT_STRING = 3; const TYPE_OCTET_STRING = 4; const TYPE_NULL = 5; const TYPE_OBJECT_IDENTIFIER = 6; //const TYPE_OBJECT_DESCRIPTOR = 7; //const TYPE_INSTANCE_OF = 8; // EXTERNAL const TYPE_REAL = 9; const TYPE_ENUMERATED = 10; //const TYPE_EMBEDDED = 11; const TYPE_UTF8_STRING = 12; //const TYPE_RELATIVE_OID = 13; const TYPE_SEQUENCE = 16; // SEQUENCE OF const TYPE_SET = 17; // SET OF /**#@-*/ /**#@+ * More Tag Classes * * @access private * @link http://www.obj-sys.com/asn1tutorial/node10.html */ const TYPE_NUMERIC_STRING = 18; const TYPE_PRINTABLE_STRING = 19; const TYPE_TELETEX_STRING = 20; // T61String const TYPE_VIDEOTEX_STRING = 21; const TYPE_IA5_STRING = 22; const TYPE_UTC_TIME = 23; const TYPE_GENERALIZED_TIME = 24; const TYPE_GRAPHIC_STRING = 25; const TYPE_VISIBLE_STRING = 26; // ISO646String const TYPE_GENERAL_STRING = 27; const TYPE_UNIVERSAL_STRING = 28; //const TYPE_CHARACTER_STRING = 29; const TYPE_BMP_STRING = 30; /**#@-*/ /**#@+ * Tag Aliases * * These tags are kinda place holders for other tags. * * @access private */ const TYPE_CHOICE = -1; const TYPE_ANY = -2; /**#@-*/ /** * ASN.1 object identifier * * @var array * @access private * @link http://en.wikipedia.org/wiki/Object_identifier */ var $oids = array(); /** * Default date format * * @var string * @access private * @link http://php.net/class.datetime */ var $format = 'D, d M Y H:i:s O'; /** * Default date format * * @var array * @access private * @see self::setTimeFormat() * @see self::asn1map() * @link http://php.net/class.datetime */ var $encoded; /** * Filters * * If the mapping type is self::TYPE_ANY what do we actually encode it as? * * @var array * @access private * @see self::_encode_der() */ var $filters; /** * Current Location of most recent ASN.1 encode process * * Useful for debug purposes * * @var array * @see self::encode_der() */ var $location; /** * Type mapping table for the ANY type. * * Structured or unknown types are mapped to a \phpseclib\File\ASN1\Element. * Unambiguous types get the direct mapping (int/real/bool). * Others are mapped as a choice, with an extra indexing level. * * @var array * @access public */ var $ANYmap = array( self::TYPE_BOOLEAN => true, self::TYPE_INTEGER => true, self::TYPE_BIT_STRING => 'bitString', self::TYPE_OCTET_STRING => 'octetString', self::TYPE_NULL => 'null', self::TYPE_OBJECT_IDENTIFIER => 'objectIdentifier', self::TYPE_REAL => true, self::TYPE_ENUMERATED => 'enumerated', self::TYPE_UTF8_STRING => 'utf8String', self::TYPE_NUMERIC_STRING => 'numericString', self::TYPE_PRINTABLE_STRING => 'printableString', self::TYPE_TELETEX_STRING => 'teletexString', self::TYPE_VIDEOTEX_STRING => 'videotexString', self::TYPE_IA5_STRING => 'ia5String', self::TYPE_UTC_TIME => 'utcTime', self::TYPE_GENERALIZED_TIME => 'generalTime', self::TYPE_GRAPHIC_STRING => 'graphicString', self::TYPE_VISIBLE_STRING => 'visibleString', self::TYPE_GENERAL_STRING => 'generalString', self::TYPE_UNIVERSAL_STRING => 'universalString', //self::TYPE_CHARACTER_STRING => 'characterString', self::TYPE_BMP_STRING => 'bmpString' ); /** * String type to character size mapping table. * * Non-convertable types are absent from this table. * size == 0 indicates variable length encoding. * * @var array * @access public */ var $stringTypeSize = array( self::TYPE_UTF8_STRING => 0, self::TYPE_BMP_STRING => 2, self::TYPE_UNIVERSAL_STRING => 4, self::TYPE_PRINTABLE_STRING => 1, self::TYPE_TELETEX_STRING => 1, self::TYPE_IA5_STRING => 1, self::TYPE_VISIBLE_STRING => 1, ); /** * Parse BER-encoding * * Serves a similar purpose to openssl's asn1parse * * @param string $encoded * @return array * @access public */ function decodeBER($encoded) { if ($encoded instanceof Element) { $encoded = $encoded->element; } $this->encoded = $encoded; // encapsulate in an array for BC with the old decodeBER return array($this->_decode_ber($encoded)); } /** * Parse BER-encoding (Helper function) * * Sometimes we want to get the BER encoding of a particular tag. $start lets us do that without having to reencode. * $encoded is passed by reference for the recursive calls done for self::TYPE_BIT_STRING and * self::TYPE_OCTET_STRING. In those cases, the indefinite length is used. * * @param string $encoded * @param int $start * @param int $encoded_pos * @return array * @access private */ function _decode_ber($encoded, $start = 0, $encoded_pos = 0) { $current = array('start' => $start); if (!isset($encoded[$encoded_pos])) { return false; } $type = ord($encoded[$encoded_pos++]); $startOffset = 1; $constructed = ($type >> 5) & 1; $tag = $type & 0x1F; if ($tag == 0x1F) { $tag = 0; // process septets (since the eighth bit is ignored, it's not an octet) do { if (!isset($encoded[$encoded_pos])) { return false; } $temp = ord($encoded[$encoded_pos++]); $startOffset++; $loop = $temp >> 7; $tag <<= 7; $temp &= 0x7F; // "bits 7 to 1 of the first subsequent octet shall not all be zero" if ($startOffset == 2 && $temp == 0) { return false; } $tag |= $temp; } while ($loop); } $start+= $startOffset; // Length, as discussed in paragraph 8.1.3 of X.690-0207.pdf#page=13 if (!isset($encoded[$encoded_pos])) { return false; } $length = ord($encoded[$encoded_pos++]); $start++; if ($length == 0x80) { // indefinite length // "[A sender shall] use the indefinite form (see 8.1.3.6) if the encoding is constructed and is not all // immediately available." -- paragraph 8.1.3.2.c $length = strlen($encoded) - $encoded_pos; } elseif ($length & 0x80) { // definite length, long form // technically, the long form of the length can be represented by up to 126 octets (bytes), but we'll only // support it up to four. $length&= 0x7F; $temp = substr($encoded, $encoded_pos, $length); $encoded_pos += $length; // tags of indefinte length don't really have a header length; this length includes the tag $current+= array('headerlength' => $length + 2); $start+= $length; extract(unpack('Nlength', substr(str_pad($temp, 4, chr(0), STR_PAD_LEFT), -4))); } else { $current+= array('headerlength' => 2); } if ($length > (strlen($encoded) - $encoded_pos)) { return false; } $content = substr($encoded, $encoded_pos, $length); $content_pos = 0; // at this point $length can be overwritten. it's only accurate for definite length things as is /* Class is UNIVERSAL, APPLICATION, PRIVATE, or CONTEXT-SPECIFIC. The UNIVERSAL class is restricted to the ASN.1 built-in types. It defines an application-independent data type that must be distinguishable from all other data types. The other three classes are user defined. The APPLICATION class distinguishes data types that have a wide, scattered use within a particular presentation context. PRIVATE distinguishes data types within a particular organization or country. CONTEXT-SPECIFIC distinguishes members of a sequence or set, the alternatives of a CHOICE, or universally tagged set members. Only the class number appears in braces for this data type; the term CONTEXT-SPECIFIC does not appear. -- http://www.obj-sys.com/asn1tutorial/node12.html */ $class = ($type >> 6) & 3; switch ($class) { case self::CLASS_APPLICATION: case self::CLASS_PRIVATE: case self::CLASS_CONTEXT_SPECIFIC: if (!$constructed) { return array( 'type' => $class, 'constant' => $tag, 'content' => $content, 'length' => $length + $start - $current['start'] ); } $newcontent = array(); $remainingLength = $length; while ($remainingLength > 0) { $temp = $this->_decode_ber($content, $start, $content_pos); if ($temp === false) { break; } $length = $temp['length']; // end-of-content octets - see paragraph 8.1.5 if (substr($content, $content_pos + $length, 2) == "\0\0") { $length+= 2; $start+= $length; $newcontent[] = $temp; break; } $start+= $length; $remainingLength-= $length; $newcontent[] = $temp; $content_pos += $length; } return array( 'type' => $class, 'constant' => $tag, // the array encapsulation is for BC with the old format 'content' => $newcontent, // the only time when $content['headerlength'] isn't defined is when the length is indefinite. // the absence of $content['headerlength'] is how we know if something is indefinite or not. // technically, it could be defined to be 2 and then another indicator could be used but whatever. 'length' => $start - $current['start'] ) + $current; } $current+= array('type' => $tag); // decode UNIVERSAL tags switch ($tag) { case self::TYPE_BOOLEAN: // "The contents octets shall consist of a single octet." -- paragraph 8.2.1 if ($constructed || strlen($content) != 1) { return false; } $current['content'] = (bool) ord($content[$content_pos]); break; case self::TYPE_INTEGER: case self::TYPE_ENUMERATED: if ($constructed) { return false; } $current['content'] = new BigInteger(substr($content, $content_pos), -256); break; case self::TYPE_REAL: // not currently supported return false; case self::TYPE_BIT_STRING: // The initial octet shall encode, as an unsigned binary integer with bit 1 as the least significant bit, // the number of unused bits in the final subsequent octet. The number shall be in the range zero to // seven. if (!$constructed) { $current['content'] = substr($content, $content_pos); } else { $temp = $this->_decode_ber($content, $start, $content_pos); if ($temp === false) { return false; } $length-= (strlen($content) - $content_pos); $last = count($temp) - 1; for ($i = 0; $i < $last; $i++) { // all subtags should be bit strings if ($temp[$i]['type'] != self::TYPE_BIT_STRING) { return false; } $current['content'].= substr($temp[$i]['content'], 1); } // all subtags should be bit strings if ($temp[$last]['type'] != self::TYPE_BIT_STRING) { return false; } $current['content'] = $temp[$last]['content'][0] . $current['content'] . substr($temp[$i]['content'], 1); } break; case self::TYPE_OCTET_STRING: if (!$constructed) { $current['content'] = substr($content, $content_pos); } else { $current['content'] = ''; $length = 0; while (substr($content, $content_pos, 2) != "\0\0") { $temp = $this->_decode_ber($content, $length + $start, $content_pos); if ($temp === false) { return false; } $content_pos += $temp['length']; // all subtags should be octet strings if ($temp['type'] != self::TYPE_OCTET_STRING) { return false; } $current['content'].= $temp['content']; $length+= $temp['length']; } if (substr($content, $content_pos, 2) == "\0\0") { $length+= 2; // +2 for the EOC } } break; case self::TYPE_NULL: // "The contents octets shall not contain any octets." -- paragraph 8.8.2 if ($constructed || strlen($content)) { return false; } break; case self::TYPE_SEQUENCE: case self::TYPE_SET: if (!$constructed) { return false; } $offset = 0; $current['content'] = array(); $content_len = strlen($content); while ($content_pos < $content_len) { // if indefinite length construction was used and we have an end-of-content string next // see paragraphs 8.1.1.3, 8.1.3.2, 8.1.3.6, 8.1.5, and (for an example) 8.6.4.2 if (!isset($current['headerlength']) && substr($content, $content_pos, 2) == "\0\0") { $length = $offset + 2; // +2 for the EOC break 2; } $temp = $this->_decode_ber($content, $start + $offset, $content_pos); if ($temp === false) { return false; } $content_pos += $temp['length']; $current['content'][] = $temp; $offset+= $temp['length']; } break; case self::TYPE_OBJECT_IDENTIFIER: if ($constructed) { return false; } $current['content'] = $this->_decodeOID(substr($content, $content_pos)); if ($current['content'] === false) { return false; } break; /* Each character string type shall be encoded as if it had been declared: [UNIVERSAL x] IMPLICIT OCTET STRING -- X.690-0207.pdf#page=23 (paragraph 8.21.3) Per that, we're not going to do any validation. If there are any illegal characters in the string, we don't really care */ case self::TYPE_NUMERIC_STRING: // 0,1,2,3,4,5,6,7,8,9, and space case self::TYPE_PRINTABLE_STRING: // Upper and lower case letters, digits, space, apostrophe, left/right parenthesis, plus sign, comma, // hyphen, full stop, solidus, colon, equal sign, question mark case self::TYPE_TELETEX_STRING: // The Teletex character set in CCITT's T61, space, and delete // see http://en.wikipedia.org/wiki/Teletex#Character_sets case self::TYPE_VIDEOTEX_STRING: // The Videotex character set in CCITT's T.100 and T.101, space, and delete case self::TYPE_VISIBLE_STRING: // Printing character sets of international ASCII, and space case self::TYPE_IA5_STRING: // International Alphabet 5 (International ASCII) case self::TYPE_GRAPHIC_STRING: // All registered G sets, and space case self::TYPE_GENERAL_STRING: // All registered C and G sets, space and delete case self::TYPE_UTF8_STRING: // ???? case self::TYPE_BMP_STRING: if ($constructed) { return false; } $current['content'] = substr($content, $content_pos); break; case self::TYPE_UTC_TIME: case self::TYPE_GENERALIZED_TIME: if ($constructed) { return false; } $current['content'] = $this->_decodeTime(substr($content, $content_pos), $tag); break; default: return false; } $start+= $length; // ie. length is the length of the full TLV encoding - it's not just the length of the value return $current + array('length' => $start - $current['start']); } /** * ASN.1 Map * * Provides an ASN.1 semantic mapping ($mapping) from a parsed BER-encoding to a human readable format. * * "Special" mappings may be applied on a per tag-name basis via $special. * * @param array $decoded * @param array $mapping * @param array $special * @return array * @access public */ function asn1map($decoded, $mapping, $special = array()) { if (!is_array($decoded)) { return false; } if (isset($mapping['explicit']) && is_array($decoded['content'])) { $decoded = $decoded['content'][0]; } switch (true) { case $mapping['type'] == self::TYPE_ANY: $intype = $decoded['type']; if (isset($decoded['constant']) || !isset($this->ANYmap[$intype]) || (ord($this->encoded[$decoded['start']]) & 0x20)) { return new Element(substr($this->encoded, $decoded['start'], $decoded['length'])); } $inmap = $this->ANYmap[$intype]; if (is_string($inmap)) { return array($inmap => $this->asn1map($decoded, array('type' => $intype) + $mapping, $special)); } break; case $mapping['type'] == self::TYPE_CHOICE: foreach ($mapping['children'] as $key => $option) { switch (true) { case isset($option['constant']) && $option['constant'] == $decoded['constant']: case !isset($option['constant']) && $option['type'] == $decoded['type']: $value = $this->asn1map($decoded, $option, $special); break; case !isset($option['constant']) && $option['type'] == self::TYPE_CHOICE: $v = $this->asn1map($decoded, $option, $special); if (isset($v)) { $value = $v; } } if (isset($value)) { if (isset($special[$key])) { $value = call_user_func($special[$key], $value); } return array($key => $value); } } return null; case isset($mapping['implicit']): case isset($mapping['explicit']): case $decoded['type'] == $mapping['type']: break; default: // if $decoded['type'] and $mapping['type'] are both strings, but different types of strings, // let it through switch (true) { case $decoded['type'] < 18: // self::TYPE_NUMERIC_STRING == 18 case $decoded['type'] > 30: // self::TYPE_BMP_STRING == 30 case $mapping['type'] < 18: case $mapping['type'] > 30: return null; } } if (isset($mapping['implicit'])) { $decoded['type'] = $mapping['type']; } switch ($decoded['type']) { case self::TYPE_SEQUENCE: $map = array(); // ignore the min and max if (isset($mapping['min']) && isset($mapping['max'])) { $child = $mapping['children']; foreach ($decoded['content'] as $content) { if (($map[] = $this->asn1map($content, $child, $special)) === null) { return null; } } return $map; } $n = count($decoded['content']); $i = 0; foreach ($mapping['children'] as $key => $child) { $maymatch = $i < $n; // Match only existing input. if ($maymatch) { $temp = $decoded['content'][$i]; if ($child['type'] != self::TYPE_CHOICE) { // Get the mapping and input class & constant. $childClass = $tempClass = self::CLASS_UNIVERSAL; $constant = null; if (isset($temp['constant'])) { $tempClass = $temp['type']; } if (isset($child['class'])) { $childClass = $child['class']; $constant = $child['cast']; } elseif (isset($child['constant'])) { $childClass = self::CLASS_CONTEXT_SPECIFIC; $constant = $child['constant']; } if (isset($constant) && isset($temp['constant'])) { // Can only match if constants and class match. $maymatch = $constant == $temp['constant'] && $childClass == $tempClass; } else { // Can only match if no constant expected and type matches or is generic. $maymatch = !isset($child['constant']) && array_search($child['type'], array($temp['type'], self::TYPE_ANY, self::TYPE_CHOICE)) !== false; } } } if ($maymatch) { // Attempt submapping. $candidate = $this->asn1map($temp, $child, $special); $maymatch = $candidate !== null; } if ($maymatch) { // Got the match: use it. if (isset($special[$key])) { $candidate = call_user_func($special[$key], $candidate); } $map[$key] = $candidate; $i++; } elseif (isset($child['default'])) { $map[$key] = $child['default']; // Use default. } elseif (!isset($child['optional'])) { return null; // Syntax error. } } // Fail mapping if all input items have not been consumed. return $i < $n ? null: $map; // the main diff between sets and sequences is the encapsulation of the foreach in another for loop case self::TYPE_SET: $map = array(); // ignore the min and max if (isset($mapping['min']) && isset($mapping['max'])) { $child = $mapping['children']; foreach ($decoded['content'] as $content) { if (($map[] = $this->asn1map($content, $child, $special)) === null) { return null; } } return $map; } for ($i = 0; $i < count($decoded['content']); $i++) { $temp = $decoded['content'][$i]; $tempClass = self::CLASS_UNIVERSAL; if (isset($temp['constant'])) { $tempClass = $temp['type']; } foreach ($mapping['children'] as $key => $child) { if (isset($map[$key])) { continue; } $maymatch = true; if ($child['type'] != self::TYPE_CHOICE) { $childClass = self::CLASS_UNIVERSAL; $constant = null; if (isset($child['class'])) { $childClass = $child['class']; $constant = $child['cast']; } elseif (isset($child['constant'])) { $childClass = self::CLASS_CONTEXT_SPECIFIC; $constant = $child['constant']; } if (isset($constant) && isset($temp['constant'])) { // Can only match if constants and class match. $maymatch = $constant == $temp['constant'] && $childClass == $tempClass; } else { // Can only match if no constant expected and type matches or is generic. $maymatch = !isset($child['constant']) && array_search($child['type'], array($temp['type'], self::TYPE_ANY, self::TYPE_CHOICE)) !== false; } } if ($maymatch) { // Attempt submapping. $candidate = $this->asn1map($temp, $child, $special); $maymatch = $candidate !== null; } if (!$maymatch) { break; } // Got the match: use it. if (isset($special[$key])) { $candidate = call_user_func($special[$key], $candidate); } $map[$key] = $candidate; break; } } foreach ($mapping['children'] as $key => $child) { if (!isset($map[$key])) { if (isset($child['default'])) { $map[$key] = $child['default']; } elseif (!isset($child['optional'])) { return null; } } } return $map; case self::TYPE_OBJECT_IDENTIFIER: return isset($this->oids[$decoded['content']]) ? $this->oids[$decoded['content']] : $decoded['content']; case self::TYPE_UTC_TIME: case self::TYPE_GENERALIZED_TIME: // for explicitly tagged optional stuff if (is_array($decoded['content'])) { $decoded['content'] = $decoded['content'][0]['content']; } // for implicitly tagged optional stuff // in theory, doing isset($mapping['implicit']) would work but malformed certs do exist // in the wild that OpenSSL decodes without issue so we'll support them as well if (!is_object($decoded['content'])) { $decoded['content'] = $this->_decodeTime($decoded['content'], $decoded['type']); } return $decoded['content'] ? $decoded['content']->format($this->format) : false; case self::TYPE_BIT_STRING: if (isset($mapping['mapping'])) { $offset = ord($decoded['content'][0]); $size = (strlen($decoded['content']) - 1) * 8 - $offset; /* From X.680-0207.pdf#page=46 (21.7): "When a "NamedBitList" is used in defining a bitstring type ASN.1 encoding rules are free to add (or remove) arbitrarily any trailing 0 bits to (or from) values that are being encoded or decoded. Application designers should therefore ensure that different semantics are not associated with such values which differ only in the number of trailing 0 bits." */ $bits = count($mapping['mapping']) == $size ? array() : array_fill(0, count($mapping['mapping']) - $size, false); for ($i = strlen($decoded['content']) - 1; $i > 0; $i--) { $current = ord($decoded['content'][$i]); for ($j = $offset; $j < 8; $j++) { $bits[] = (bool) ($current & (1 << $j)); } $offset = 0; } $values = array(); $map = array_reverse($mapping['mapping']); foreach ($map as $i => $value) { if ($bits[$i]) { $values[] = $value; } } return $values; } case self::TYPE_OCTET_STRING: return base64_encode($decoded['content']); case self::TYPE_NULL: return ''; case self::TYPE_BOOLEAN: return $decoded['content']; case self::TYPE_NUMERIC_STRING: case self::TYPE_PRINTABLE_STRING: case self::TYPE_TELETEX_STRING: case self::TYPE_VIDEOTEX_STRING: case self::TYPE_IA5_STRING: case self::TYPE_GRAPHIC_STRING: case self::TYPE_VISIBLE_STRING: case self::TYPE_GENERAL_STRING: case self::TYPE_UNIVERSAL_STRING: case self::TYPE_UTF8_STRING: case self::TYPE_BMP_STRING: return $decoded['content']; case self::TYPE_INTEGER: case self::TYPE_ENUMERATED: $temp = $decoded['content']; if (isset($mapping['implicit'])) { $temp = new BigInteger($decoded['content'], -256); } if (isset($mapping['mapping'])) { $temp = (int) $temp->toString(); return isset($mapping['mapping'][$temp]) ? $mapping['mapping'][$temp] : false; } return $temp; } } /** * ASN.1 Encode * * DER-encodes an ASN.1 semantic mapping ($mapping). Some libraries would probably call this function * an ASN.1 compiler. * * "Special" mappings can be applied via $special. * * @param string $source * @param string $mapping * @param array $special * @return string * @access public */ function encodeDER($source, $mapping, $special = array()) { $this->location = array(); return $this->_encode_der($source, $mapping, null, $special); } /** * ASN.1 Encode (Helper function) * * @param string $source * @param string $mapping * @param int $idx * @param array $special * @return string * @access private */ function _encode_der($source, $mapping, $idx = null, $special = array()) { if ($source instanceof Element) { return $source->element; } // do not encode (implicitly optional) fields with value set to default if (isset($mapping['default']) && $source === $mapping['default']) { return ''; } if (isset($idx)) { if (isset($special[$idx])) { $source = call_user_func($special[$idx], $source); } $this->location[] = $idx; } $tag = $mapping['type']; switch ($tag) { case self::TYPE_SET: // Children order is not important, thus process in sequence. case self::TYPE_SEQUENCE: $tag|= 0x20; // set the constructed bit // ignore the min and max if (isset($mapping['min']) && isset($mapping['max'])) { $value = array(); $child = $mapping['children']; foreach ($source as $content) { $temp = $this->_encode_der($content, $child, null, $special); if ($temp === false) { return false; } $value[]= $temp; } /* "The encodings of the component values of a set-of value shall appear in ascending order, the encodings being compared as octet strings with the shorter components being padded at their trailing end with 0-octets. NOTE - The padding octets are for comparison purposes only and do not appear in the encodings." -- sec 11.6 of http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf */ if ($mapping['type'] == self::TYPE_SET) { sort($value); } $value = implode('', $value); break; } $value = ''; foreach ($mapping['children'] as $key => $child) { if (!array_key_exists($key, $source)) { if (!isset($child['optional'])) { return false; } continue; } $temp = $this->_encode_der($source[$key], $child, $key, $special); if ($temp === false) { return false; } // An empty child encoding means it has been optimized out. // Else we should have at least one tag byte. if ($temp === '') { continue; } // if isset($child['constant']) is true then isset($child['optional']) should be true as well if (isset($child['constant'])) { /* From X.680-0207.pdf#page=58 (30.6): "The tagging construction specifies explicit tagging if any of the following holds: ... c) the "Tag Type" alternative is used and the value of "TagDefault" for the module is IMPLICIT TAGS or AUTOMATIC TAGS, but the type defined by "Type" is an untagged choice type, an untagged open type, or an untagged "DummyReference" (see ITU-T Rec. X.683 | ISO/IEC 8824-4, 8.3)." */ if (isset($child['explicit']) || $child['type'] == self::TYPE_CHOICE) { $subtag = chr((self::CLASS_CONTEXT_SPECIFIC << 6) | 0x20 | $child['constant']); $temp = $subtag . $this->_encodeLength(strlen($temp)) . $temp; } else { $subtag = chr((self::CLASS_CONTEXT_SPECIFIC << 6) | (ord($temp[0]) & 0x20) | $child['constant']); $temp = $subtag . substr($temp, 1); } } $value.= $temp; } break; case self::TYPE_CHOICE: $temp = false; foreach ($mapping['children'] as $key => $child) { if (!isset($source[$key])) { continue; } $temp = $this->_encode_der($source[$key], $child, $key, $special); if ($temp === false) { return false; } // An empty child encoding means it has been optimized out. // Else we should have at least one tag byte. if ($temp === '') { continue; } $tag = ord($temp[0]); // if isset($child['constant']) is true then isset($child['optional']) should be true as well if (isset($child['constant'])) { if (isset($child['explicit']) || $child['type'] == self::TYPE_CHOICE) { $subtag = chr((self::CLASS_CONTEXT_SPECIFIC << 6) | 0x20 | $child['constant']); $temp = $subtag . $this->_encodeLength(strlen($temp)) . $temp; } else { $subtag = chr((self::CLASS_CONTEXT_SPECIFIC << 6) | (ord($temp[0]) & 0x20) | $child['constant']); $temp = $subtag . substr($temp, 1); } } } if (isset($idx)) { array_pop($this->location); } if ($temp && isset($mapping['cast'])) { $temp[0] = chr(($mapping['class'] << 6) | ($tag & 0x20) | $mapping['cast']); } return $temp; case self::TYPE_INTEGER: case self::TYPE_ENUMERATED: if (!isset($mapping['mapping'])) { if (is_numeric($source)) { $source = new BigInteger($source); } $value = $source->toBytes(true); } else { $value = array_search($source, $mapping['mapping']); if ($value === false) { return false; } $value = new BigInteger($value); $value = $value->toBytes(true); } if (!strlen($value)) { $value = chr(0); } break; case self::TYPE_UTC_TIME: case self::TYPE_GENERALIZED_TIME: $format = $mapping['type'] == self::TYPE_UTC_TIME ? 'y' : 'Y'; $format.= 'mdHis'; // if $source does _not_ include timezone information within it then assume that the timezone is GMT $date = new DateTime($source, new DateTimeZone('GMT')); // if $source _does_ include timezone information within it then convert the time to GMT $date->setTimezone(new DateTimeZone('GMT')); $value = $date->format($format) . 'Z'; break; case self::TYPE_BIT_STRING: if (isset($mapping['mapping'])) { $bits = array_fill(0, count($mapping['mapping']), 0); $size = 0; for ($i = 0; $i < count($mapping['mapping']); $i++) { if (in_array($mapping['mapping'][$i], $source)) { $bits[$i] = 1; $size = $i; } } if (isset($mapping['min']) && $mapping['min'] >= 1 && $size < $mapping['min']) { $size = $mapping['min'] - 1; } $offset = 8 - (($size + 1) & 7); $offset = $offset !== 8 ? $offset : 0; $value = chr($offset); for ($i = $size + 1; $i < count($mapping['mapping']); $i++) { unset($bits[$i]); } $bits = implode('', array_pad($bits, $size + $offset + 1, 0)); $bytes = explode(' ', rtrim(chunk_split($bits, 8, ' '))); foreach ($bytes as $byte) { $value.= chr(bindec($byte)); } break; } case self::TYPE_OCTET_STRING: /* The initial octet shall encode, as an unsigned binary integer with bit 1 as the least significant bit, the number of unused bits in the final subsequent octet. The number shall be in the range zero to seven. -- http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#page=16 */ $value = base64_decode($source); break; case self::TYPE_OBJECT_IDENTIFIER: $value = $this->_encodeOID($source); break; case self::TYPE_ANY: $loc = $this->location; if (isset($idx)) { array_pop($this->location); } switch (true) { case !isset($source): return $this->_encode_der(null, array('type' => self::TYPE_NULL) + $mapping, null, $special); case is_int($source): case $source instanceof BigInteger: return $this->_encode_der($source, array('type' => self::TYPE_INTEGER) + $mapping, null, $special); case is_float($source): return $this->_encode_der($source, array('type' => self::TYPE_REAL) + $mapping, null, $special); case is_bool($source): return $this->_encode_der($source, array('type' => self::TYPE_BOOLEAN) + $mapping, null, $special); case is_array($source) && count($source) == 1: $typename = implode('', array_keys($source)); $outtype = array_search($typename, $this->ANYmap, true); if ($outtype !== false) { return $this->_encode_der($source[$typename], array('type' => $outtype) + $mapping, null, $special); } } $filters = $this->filters; foreach ($loc as $part) { if (!isset($filters[$part])) { $filters = false; break; } $filters = $filters[$part]; } if ($filters === false) { user_error('No filters defined for ' . implode('/', $loc)); return false; } return $this->_encode_der($source, $filters + $mapping, null, $special); case self::TYPE_NULL: $value = ''; break; case self::TYPE_NUMERIC_STRING: case self::TYPE_TELETEX_STRING: case self::TYPE_PRINTABLE_STRING: case self::TYPE_UNIVERSAL_STRING: case self::TYPE_UTF8_STRING: case self::TYPE_BMP_STRING: case self::TYPE_IA5_STRING: case self::TYPE_VISIBLE_STRING: case self::TYPE_VIDEOTEX_STRING: case self::TYPE_GRAPHIC_STRING: case self::TYPE_GENERAL_STRING: $value = $source; break; case self::TYPE_BOOLEAN: $value = $source ? "\xFF" : "\x00"; break; default: user_error('Mapping provides no type definition for ' . implode('/', $this->location)); return false; } if (isset($idx)) { array_pop($this->location); } if (isset($mapping['cast'])) { if (isset($mapping['explicit']) || $mapping['type'] == self::TYPE_CHOICE) { $value = chr($tag) . $this->_encodeLength(strlen($value)) . $value; $tag = ($mapping['class'] << 6) | 0x20 | $mapping['cast']; } else { $tag = ($mapping['class'] << 6) | (ord($temp[0]) & 0x20) | $mapping['cast']; } } return chr($tag) . $this->_encodeLength(strlen($value)) . $value; } /** * DER-encode the length * * DER supports lengths up to (2**8)**127, however, we'll only support lengths up to (2**8)**4. See * {@link http://itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#p=13 X.690 paragraph 8.1.3} for more information. * * @access private * @param int $length * @return string */ function _encodeLength($length) { if ($length <= 0x7F) { return chr($length); } $temp = ltrim(pack('N', $length), chr(0)); return pack('Ca*', 0x80 | strlen($temp), $temp); } /** * BER-decode the OID * * Called by _decode_ber() * * @access private * @param string $content * @return string */ function _decodeOID($content) { static $eighty; if (!$eighty) { $eighty = new BigInteger(80); } $oid = array(); $pos = 0; $len = strlen($content); // see https://github.com/openjdk/jdk/blob/2deb318c9f047ec5a4b160d66a4b52f93688ec42/src/java.base/share/classes/sun/security/util/ObjectIdentifier.java#L55 if ($len > 4096) { //user_error('Object Identifier size is limited to 4096 bytes'); return false; } if (ord($content[$len - 1]) & 0x80) { return false; } $n = new BigInteger(); while ($pos < $len) { $temp = ord($content[$pos++]); $n = $n->bitwise_leftShift(7); $n = $n->bitwise_or(new BigInteger($temp & 0x7F)); if (~$temp & 0x80) { $oid[] = $n; $n = new BigInteger(); } } $part1 = array_shift($oid); $first = floor(ord($content[0]) / 40); /* "This packing of the first two object identifier components recognizes that only three values are allocated from the root node, and at most 39 subsequent values from nodes reached by X = 0 and X = 1." -- https://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#page=22 */ if ($first <= 2) { // ie. 0 <= ord($content[0]) < 120 (0x78) array_unshift($oid, ord($content[0]) % 40); array_unshift($oid, $first); } else { array_unshift($oid, $part1->subtract($eighty)); array_unshift($oid, 2); } return implode('.', $oid); } /** * DER-encode the OID * * Called by _encode_der() * * @access private * @param string $source * @return string */ function _encodeOID($source) { static $mask, $zero, $forty; if (!$mask) { $mask = new BigInteger(0x7F); $zero = new BigInteger(); $forty = new BigInteger(40); } $oid = preg_match('#(?:\d+\.)+#', $source) ? $source : array_search($source, $this->oids); if ($oid === false) { user_error('Invalid OID'); return false; } $parts = explode('.', $oid); $part1 = array_shift($parts); $part2 = array_shift($parts); $first = new BigInteger($part1); $first = $first->multiply($forty); $first = $first->add(new BigInteger($part2)); array_unshift($parts, $first->toString()); $value = ''; foreach ($parts as $part) { if (!$part) { $temp = "\0"; } else { $temp = ''; $part = new BigInteger($part); while (!$part->equals($zero)) { $submask = $part->bitwise_and($mask); $submask->setPrecision(8); $temp = (chr(0x80) | $submask->toBytes()) . $temp; $part = $part->bitwise_rightShift(7); } $temp[strlen($temp) - 1] = $temp[strlen($temp) - 1] & chr(0x7F); } $value.= $temp; } return $value; } /** * BER-decode the time * * Called by _decode_ber() and in the case of implicit tags asn1map(). * * @access private * @param string $content * @param int $tag * @return string */ function _decodeTime($content, $tag) { /* UTCTime: http://tools.ietf.org/html/rfc5280#section-4.1.2.5.1 http://www.obj-sys.com/asn1tutorial/node15.html GeneralizedTime: http://tools.ietf.org/html/rfc5280#section-4.1.2.5.2 http://www.obj-sys.com/asn1tutorial/node14.html */ $format = 'YmdHis'; if ($tag == self::TYPE_UTC_TIME) { // https://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#page=28 says "the seconds // element shall always be present" but none-the-less I've seen X509 certs where it isn't and if the // browsers parse it phpseclib ought to too if (preg_match('#^(\d{10})(Z|[+-]\d{4})$#', $content, $matches)) { $content = $matches[1] . '00' . $matches[2]; } $prefix = substr($content, 0, 2) >= 50 ? '19' : '20'; $content = $prefix . $content; } elseif (strpos($content, '.') !== false) { $format.= '.u'; } if ($content[strlen($content) - 1] == 'Z') { $content = substr($content, 0, -1) . '+0000'; } if (strpos($content, '-') !== false || strpos($content, '+') !== false) { $format.= 'O'; } // error supression isn't necessary as of PHP 7.0: // http://php.net/manual/en/migration70.other-changes.php return @DateTime::createFromFormat($format, $content); } /** * Set the time format * * Sets the time / date format for asn1map(). * * @access public * @param string $format */ function setTimeFormat($format) { $this->format = $format; } /** * Load OIDs * * Load the relevant OIDs for a particular ASN.1 semantic mapping. * * @access public * @param array $oids */ function loadOIDs($oids) { $this->oids = $oids; } /** * Load filters * * See \phpseclib\File\X509, etc, for an example. * * @access public * @param array $filters */ function loadFilters($filters) { $this->filters = $filters; } /** * String Shift * * Inspired by array_shift * * @param string $string * @param int $index * @return string * @access private */ function _string_shift(&$string, $index = 1) { $substr = substr($string, 0, $index); $string = substr($string, $index); return $substr; } /** * String type conversion * * This is a lazy conversion, dealing only with character size. * No real conversion table is used. * * @param string $in * @param int $from * @param int $to * @return string * @access public */ function convert($in, $from = self::TYPE_UTF8_STRING, $to = self::TYPE_UTF8_STRING) { if (!isset($this->stringTypeSize[$from]) || !isset($this->stringTypeSize[$to])) { return false; } $insize = $this->stringTypeSize[$from]; $outsize = $this->stringTypeSize[$to]; $inlength = strlen($in); $out = ''; for ($i = 0; $i < $inlength;) { if ($inlength - $i < $insize) { return false; } // Get an input character as a 32-bit value. $c = ord($in[$i++]); switch (true) { case $insize == 4: $c = ($c << 8) | ord($in[$i++]); $c = ($c << 8) | ord($in[$i++]); case $insize == 2: $c = ($c << 8) | ord($in[$i++]); case $insize == 1: break; case ($c & 0x80) == 0x00: break; case ($c & 0x40) == 0x00: return false; default: $bit = 6; do { if ($bit > 25 || $i >= $inlength || (ord($in[$i]) & 0xC0) != 0x80) { return false; } $c = ($c << 6) | (ord($in[$i++]) & 0x3F); $bit += 5; $mask = 1 << $bit; } while ($c & $bit); $c &= $mask - 1; break; } // Convert and append the character to output string. $v = ''; switch (true) { case $outsize == 4: $v .= chr($c & 0xFF); $c >>= 8; $v .= chr($c & 0xFF); $c >>= 8; case $outsize == 2: $v .= chr($c & 0xFF); $c >>= 8; case $outsize == 1: $v .= chr($c & 0xFF); $c >>= 8; if ($c) { return false; } break; case ($c & (PHP_INT_SIZE == 8 ? 0x80000000 : (1 << 31))) != 0: return false; case $c >= 0x04000000: $v .= chr(0x80 | ($c & 0x3F)); $c = ($c >> 6) | 0x04000000; case $c >= 0x00200000: $v .= chr(0x80 | ($c & 0x3F)); $c = ($c >> 6) | 0x00200000; case $c >= 0x00010000: $v .= chr(0x80 | ($c & 0x3F)); $c = ($c >> 6) | 0x00010000; case $c >= 0x00000800: $v .= chr(0x80 | ($c & 0x3F)); $c = ($c >> 6) | 0x00000800; case $c >= 0x00000080: $v .= chr(0x80 | ($c & 0x3F)); $c = ($c >> 6) | 0x000000C0; default: $v .= chr($c); break; } $out .= strrev($v); } return $out; } } vendor/phpseclib/phpseclib/phpseclib/File/ASN1/Element.php000064400000001546147400355670017440 0ustar00 * @copyright 2012 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\File\ASN1; /** * ASN.1 Element * * Bypass normal encoding rules in phpseclib\File\ASN1::encodeDER() * * @package ASN1 * @author Jim Wigginton * @access public */ class Element { /** * Raw element value * * @var string * @access private */ var $element; /** * Constructor * * @param string $encoded * @return \phpseclib\File\ASN1\Element * @access public */ function __construct($encoded) { $this->element = $encoded; } } vendor/phpseclib/phpseclib/phpseclib/File/ANSI.php000064400000047570147400355670016106 0ustar00 * @copyright 2012 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\File; /** * Pure-PHP ANSI Decoder * * @package ANSI * @author Jim Wigginton * @access public */ class ANSI { /** * Max Width * * @var int * @access private */ var $max_x; /** * Max Height * * @var int * @access private */ var $max_y; /** * Max History * * @var int * @access private */ var $max_history; /** * History * * @var array * @access private */ var $history; /** * History Attributes * * @var array * @access private */ var $history_attrs; /** * Current Column * * @var int * @access private */ var $x; /** * Current Row * * @var int * @access private */ var $y; /** * Old Column * * @var int * @access private */ var $old_x; /** * Old Row * * @var int * @access private */ var $old_y; /** * An empty attribute cell * * @var object * @access private */ var $base_attr_cell; /** * The current attribute cell * * @var object * @access private */ var $attr_cell; /** * An empty attribute row * * @var array * @access private */ var $attr_row; /** * The current screen text * * @var array * @access private */ var $screen; /** * The current screen attributes * * @var array * @access private */ var $attrs; /** * Current ANSI code * * @var string * @access private */ var $ansi; /** * Tokenization * * @var array * @access private */ var $tokenization; /** * Default Constructor. * * @return \phpseclib\File\ANSI * @access public */ function __construct() { $attr_cell = new \stdClass(); $attr_cell->bold = false; $attr_cell->underline = false; $attr_cell->blink = false; $attr_cell->background = 'black'; $attr_cell->foreground = 'white'; $attr_cell->reverse = false; $this->base_attr_cell = clone $attr_cell; $this->attr_cell = clone $attr_cell; $this->setHistory(200); $this->setDimensions(80, 24); } /** * Set terminal width and height * * Resets the screen as well * * @param int $x * @param int $y * @access public */ function setDimensions($x, $y) { $this->max_x = $x - 1; $this->max_y = $y - 1; $this->x = $this->y = 0; $this->history = $this->history_attrs = array(); $this->attr_row = array_fill(0, $this->max_x + 2, $this->base_attr_cell); $this->screen = array_fill(0, $this->max_y + 1, ''); $this->attrs = array_fill(0, $this->max_y + 1, $this->attr_row); $this->ansi = ''; } /** * Set the number of lines that should be logged past the terminal height * * @param int $history * @access public */ function setHistory($history) { $this->max_history = $history; } /** * Load a string * * @param string $source * @access public */ function loadString($source) { $this->setDimensions($this->max_x + 1, $this->max_y + 1); $this->appendString($source); } /** * Appdend a string * * @param string $source * @access public */ function appendString($source) { $this->tokenization = array(''); for ($i = 0; $i < strlen($source); $i++) { if (strlen($this->ansi)) { $this->ansi.= $source[$i]; $chr = ord($source[$i]); // http://en.wikipedia.org/wiki/ANSI_escape_code#Sequence_elements // single character CSI's not currently supported switch (true) { case $this->ansi == "\x1B=": $this->ansi = ''; continue 2; case strlen($this->ansi) == 2 && $chr >= 64 && $chr <= 95 && $chr != ord('['): case strlen($this->ansi) > 2 && $chr >= 64 && $chr <= 126: break; default: continue 2; } $this->tokenization[] = $this->ansi; $this->tokenization[] = ''; // http://ascii-table.com/ansi-escape-sequences-vt-100.php switch ($this->ansi) { case "\x1B[H": // Move cursor to upper left corner $this->old_x = $this->x; $this->old_y = $this->y; $this->x = $this->y = 0; break; case "\x1B[J": // Clear screen from cursor down $this->history = array_merge($this->history, array_slice(array_splice($this->screen, $this->y + 1), 0, $this->old_y)); $this->screen = array_merge($this->screen, array_fill($this->y, $this->max_y, '')); $this->history_attrs = array_merge($this->history_attrs, array_slice(array_splice($this->attrs, $this->y + 1), 0, $this->old_y)); $this->attrs = array_merge($this->attrs, array_fill($this->y, $this->max_y, $this->attr_row)); if (count($this->history) == $this->max_history) { array_shift($this->history); array_shift($this->history_attrs); } case "\x1B[K": // Clear screen from cursor right $this->screen[$this->y] = substr($this->screen[$this->y], 0, $this->x); array_splice($this->attrs[$this->y], $this->x + 1, $this->max_x - $this->x, array_fill($this->x, $this->max_x - ($this->x - 1), $this->base_attr_cell)); break; case "\x1B[2K": // Clear entire line $this->screen[$this->y] = str_repeat(' ', $this->x); $this->attrs[$this->y] = $this->attr_row; break; case "\x1B[?1h": // set cursor key to application case "\x1B[?25h": // show the cursor case "\x1B(B": // set united states g0 character set break; case "\x1BE": // Move to next line $this->_newLine(); $this->x = 0; break; default: switch (true) { case preg_match('#\x1B\[(\d+)B#', $this->ansi, $match): // Move cursor down n lines $this->old_y = $this->y; $this->y+= $match[1]; break; case preg_match('#\x1B\[(\d+);(\d+)H#', $this->ansi, $match): // Move cursor to screen location v,h $this->old_x = $this->x; $this->old_y = $this->y; $this->x = $match[2] - 1; $this->y = $match[1] - 1; break; case preg_match('#\x1B\[(\d+)C#', $this->ansi, $match): // Move cursor right n lines $this->old_x = $this->x; $this->x+= $match[1]; break; case preg_match('#\x1B\[(\d+)D#', $this->ansi, $match): // Move cursor left n lines $this->old_x = $this->x; $this->x-= $match[1]; if ($this->x < 0) { $this->x = 0; } break; case preg_match('#\x1B\[(\d+);(\d+)r#', $this->ansi, $match): // Set top and bottom lines of a window break; case preg_match('#\x1B\[(\d*(?:;\d*)*)m#', $this->ansi, $match): // character attributes $attr_cell = &$this->attr_cell; $mods = explode(';', $match[1]); foreach ($mods as $mod) { switch ($mod) { case '': case '0': // Turn off character attributes $attr_cell = clone $this->base_attr_cell; break; case '1': // Turn bold mode on $attr_cell->bold = true; break; case '4': // Turn underline mode on $attr_cell->underline = true; break; case '5': // Turn blinking mode on $attr_cell->blink = true; break; case '7': // Turn reverse video on $attr_cell->reverse = !$attr_cell->reverse; $temp = $attr_cell->background; $attr_cell->background = $attr_cell->foreground; $attr_cell->foreground = $temp; break; default: // set colors //$front = $attr_cell->reverse ? &$attr_cell->background : &$attr_cell->foreground; $front = &$attr_cell->{ $attr_cell->reverse ? 'background' : 'foreground' }; //$back = $attr_cell->reverse ? &$attr_cell->foreground : &$attr_cell->background; $back = &$attr_cell->{ $attr_cell->reverse ? 'foreground' : 'background' }; switch ($mod) { // @codingStandardsIgnoreStart case '30': $front = 'black'; break; case '31': $front = 'red'; break; case '32': $front = 'green'; break; case '33': $front = 'yellow'; break; case '34': $front = 'blue'; break; case '35': $front = 'magenta'; break; case '36': $front = 'cyan'; break; case '37': $front = 'white'; break; case '40': $back = 'black'; break; case '41': $back = 'red'; break; case '42': $back = 'green'; break; case '43': $back = 'yellow'; break; case '44': $back = 'blue'; break; case '45': $back = 'magenta'; break; case '46': $back = 'cyan'; break; case '47': $back = 'white'; break; // @codingStandardsIgnoreEnd default: //user_error('Unsupported attribute: ' . $mod); $this->ansi = ''; break 2; } } } break; default: //user_error("{$this->ansi} is unsupported\r\n"); } } $this->ansi = ''; continue; } $this->tokenization[count($this->tokenization) - 1].= $source[$i]; switch ($source[$i]) { case "\r": $this->x = 0; break; case "\n": $this->_newLine(); break; case "\x08": // backspace if ($this->x) { $this->x--; $this->attrs[$this->y][$this->x] = clone $this->base_attr_cell; $this->screen[$this->y] = substr_replace( $this->screen[$this->y], $source[$i], $this->x, 1 ); } break; case "\x0F": // shift break; case "\x1B": // start ANSI escape code $this->tokenization[count($this->tokenization) - 1] = substr($this->tokenization[count($this->tokenization) - 1], 0, -1); //if (!strlen($this->tokenization[count($this->tokenization) - 1])) { // array_pop($this->tokenization); //} $this->ansi.= "\x1B"; break; default: $this->attrs[$this->y][$this->x] = clone $this->attr_cell; if ($this->x > strlen($this->screen[$this->y])) { $this->screen[$this->y] = str_repeat(' ', $this->x); } $this->screen[$this->y] = substr_replace( $this->screen[$this->y], $source[$i], $this->x, 1 ); if ($this->x > $this->max_x) { $this->x = 0; $this->_newLine(); } else { $this->x++; } } } } /** * Add a new line * * Also update the $this->screen and $this->history buffers * * @access private */ function _newLine() { //if ($this->y < $this->max_y) { // $this->y++; //} while ($this->y >= $this->max_y) { $this->history = array_merge($this->history, array(array_shift($this->screen))); $this->screen[] = ''; $this->history_attrs = array_merge($this->history_attrs, array(array_shift($this->attrs))); $this->attrs[] = $this->attr_row; if (count($this->history) >= $this->max_history) { array_shift($this->history); array_shift($this->history_attrs); } $this->y--; } $this->y++; } /** * Returns the current coordinate without preformating * * @access private * @return string */ function _processCoordinate($last_attr, $cur_attr, $char) { $output = ''; if ($last_attr != $cur_attr) { $close = $open = ''; if ($last_attr->foreground != $cur_attr->foreground) { if ($cur_attr->foreground != 'white') { $open.= ''; } if ($last_attr->foreground != 'white') { $close = '' . $close; } } if ($last_attr->background != $cur_attr->background) { if ($cur_attr->background != 'black') { $open.= ''; } if ($last_attr->background != 'black') { $close = '' . $close; } } if ($last_attr->bold != $cur_attr->bold) { if ($cur_attr->bold) { $open.= ''; } else { $close = '' . $close; } } if ($last_attr->underline != $cur_attr->underline) { if ($cur_attr->underline) { $open.= ''; } else { $close = '' . $close; } } if ($last_attr->blink != $cur_attr->blink) { if ($cur_attr->blink) { $open.= ''; } else { $close = '' . $close; } } $output.= $close . $open; } $output.= htmlspecialchars($char); return $output; } /** * Returns the current screen without preformating * * @access private * @return string */ function _getScreen() { $output = ''; $last_attr = $this->base_attr_cell; for ($i = 0; $i <= $this->max_y; $i++) { for ($j = 0; $j <= $this->max_x; $j++) { $cur_attr = $this->attrs[$i][$j]; $output.= $this->_processCoordinate($last_attr, $cur_attr, isset($this->screen[$i][$j]) ? $this->screen[$i][$j] : ''); $last_attr = $this->attrs[$i][$j]; } $output.= "\r\n"; } $output = substr($output, 0, -2); // close any remaining open tags $output.= $this->_processCoordinate($last_attr, $this->base_attr_cell, ''); return rtrim($output); } /** * Returns the current screen * * @access public * @return string */ function getScreen() { return '

    ' . $this->_getScreen() . '
    '; } /** * Returns the current screen and the x previous lines * * @access public * @return string */ function getHistory() { $scrollback = ''; $last_attr = $this->base_attr_cell; for ($i = 0; $i < count($this->history); $i++) { for ($j = 0; $j <= $this->max_x + 1; $j++) { $cur_attr = $this->history_attrs[$i][$j]; $scrollback.= $this->_processCoordinate($last_attr, $cur_attr, isset($this->history[$i][$j]) ? $this->history[$i][$j] : ''); $last_attr = $this->history_attrs[$i][$j]; } $scrollback.= "\r\n"; } $base_attr_cell = $this->base_attr_cell; $this->base_attr_cell = $last_attr; $scrollback.= $this->_getScreen(); $this->base_attr_cell = $base_attr_cell; return '
    ' . $scrollback . '
    '; } } vendor/phpseclib/phpseclib/phpseclib/Net/SFTP/Stream.php000064400000052560147400355670017225 0ustar00 * @copyright 2013 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Net\SFTP; use phpseclib\Crypt\RSA; use phpseclib\Net\SFTP; /** * SFTP Stream Wrapper * * @package SFTP * @author Jim Wigginton * @access public */ class Stream { /** * SFTP instances * * Rather than re-create the connection we re-use instances if possible * * @var array */ static $instances; /** * SFTP instance * * @var object * @access private */ var $sftp; /** * Path * * @var string * @access private */ var $path; /** * Mode * * @var string * @access private */ var $mode; /** * Position * * @var int * @access private */ var $pos; /** * Size * * @var int * @access private */ var $size; /** * Directory entries * * @var array * @access private */ var $entries; /** * EOF flag * * @var bool * @access private */ var $eof; /** * Context resource * * Technically this needs to be publically accessible so PHP can set it directly * * @var resource * @access public */ var $context; /** * Notification callback function * * @var callable * @access public */ var $notification; /** * Registers this class as a URL wrapper. * * @param string $protocol The wrapper name to be registered. * @return bool True on success, false otherwise. * @access public */ static function register($protocol = 'sftp') { if (in_array($protocol, stream_get_wrappers(), true)) { return false; } return stream_wrapper_register($protocol, get_called_class()); } /** * The Constructor * * @access public */ function __construct() { if (defined('NET_SFTP_STREAM_LOGGING')) { echo "__construct()\r\n"; } } /** * Path Parser * * Extract a path from a URI and actually connect to an SSH server if appropriate * * If "notification" is set as a context parameter the message code for successful login is * NET_SSH2_MSG_USERAUTH_SUCCESS. For a failed login it's NET_SSH2_MSG_USERAUTH_FAILURE. * * @param string $path * @return string * @access private */ function _parse_path($path) { $orig = $path; extract(parse_url($path) + array('port' => 22)); if (isset($query)) { $path.= '?' . $query; } elseif (preg_match('/(\?|\?#)$/', $orig)) { $path.= '?'; } if (isset($fragment)) { $path.= '#' . $fragment; } elseif ($orig[strlen($orig) - 1] == '#') { $path.= '#'; } if (!isset($host)) { return false; } if (isset($this->context)) { $context = stream_context_get_params($this->context); if (isset($context['notification'])) { $this->notification = $context['notification']; } } if ($host[0] == '$') { $host = substr($host, 1); global ${$host}; if (($$host instanceof SFTP) === false) { return false; } $this->sftp = $$host; } else { if (isset($this->context)) { $context = stream_context_get_options($this->context); } if (isset($context[$scheme]['session'])) { $sftp = $context[$scheme]['session']; } if (isset($context[$scheme]['sftp'])) { $sftp = $context[$scheme]['sftp']; } if (isset($sftp) && $sftp instanceof SFTP) { $this->sftp = $sftp; return $path; } if (isset($context[$scheme]['username'])) { $user = $context[$scheme]['username']; } if (isset($context[$scheme]['password'])) { $pass = $context[$scheme]['password']; } if (isset($context[$scheme]['privkey']) && $context[$scheme]['privkey'] instanceof RSA) { $pass = $context[$scheme]['privkey']; } if (!isset($user) || !isset($pass)) { return false; } // casting $pass to a string is necessary in the event that it's a \phpseclib\Crypt\RSA object if (isset(self::$instances[$host][$port][$user][(string) $pass])) { $this->sftp = self::$instances[$host][$port][$user][(string) $pass]; } else { $this->sftp = new SFTP($host, $port); $this->sftp->disableStatCache(); if (isset($this->notification) && is_callable($this->notification)) { /* if !is_callable($this->notification) we could do this: user_error('fopen(): failed to call user notifier', E_USER_WARNING); the ftp wrapper gives errors like that when the notifier isn't callable. i've opted not to do that, however, since the ftp wrapper gives the line on which the fopen occurred as the line number - not the line that the user_error is on. */ call_user_func($this->notification, STREAM_NOTIFY_CONNECT, STREAM_NOTIFY_SEVERITY_INFO, '', 0, 0, 0); call_user_func($this->notification, STREAM_NOTIFY_AUTH_REQUIRED, STREAM_NOTIFY_SEVERITY_INFO, '', 0, 0, 0); if (!$this->sftp->login($user, $pass)) { call_user_func($this->notification, STREAM_NOTIFY_AUTH_RESULT, STREAM_NOTIFY_SEVERITY_ERR, 'Login Failure', NET_SSH2_MSG_USERAUTH_FAILURE, 0, 0); return false; } call_user_func($this->notification, STREAM_NOTIFY_AUTH_RESULT, STREAM_NOTIFY_SEVERITY_INFO, 'Login Success', NET_SSH2_MSG_USERAUTH_SUCCESS, 0, 0); } else { if (!$this->sftp->login($user, $pass)) { return false; } } self::$instances[$host][$port][$user][(string) $pass] = $this->sftp; } } return $path; } /** * Opens file or URL * * @param string $path * @param string $mode * @param int $options * @param string $opened_path * @return bool * @access public */ function _stream_open($path, $mode, $options, &$opened_path) { $path = $this->_parse_path($path); if ($path === false) { return false; } $this->path = $path; $this->size = $this->sftp->size($path); $this->mode = preg_replace('#[bt]$#', '', $mode); $this->eof = false; if ($this->size === false) { if ($this->mode[0] == 'r') { return false; } else { $this->sftp->touch($path); $this->size = 0; } } else { switch ($this->mode[0]) { case 'x': return false; case 'w': $this->sftp->truncate($path, 0); $this->size = 0; } } $this->pos = $this->mode[0] != 'a' ? 0 : $this->size; return true; } /** * Read from stream * * @param int $count * @return mixed * @access public */ function _stream_read($count) { switch ($this->mode) { case 'w': case 'a': case 'x': case 'c': return false; } // commented out because some files - eg. /dev/urandom - will say their size is 0 when in fact it's kinda infinite //if ($this->pos >= $this->size) { // $this->eof = true; // return false; //} $result = $this->sftp->get($this->path, false, $this->pos, $count); if (isset($this->notification) && is_callable($this->notification)) { if ($result === false) { call_user_func($this->notification, STREAM_NOTIFY_FAILURE, STREAM_NOTIFY_SEVERITY_ERR, $this->sftp->getLastSFTPError(), NET_SFTP_OPEN, 0, 0); return 0; } // seems that PHP calls stream_read in 8k chunks call_user_func($this->notification, STREAM_NOTIFY_PROGRESS, STREAM_NOTIFY_SEVERITY_INFO, '', 0, strlen($result), $this->size); } if (empty($result)) { // ie. false or empty string $this->eof = true; return false; } $this->pos+= strlen($result); return $result; } /** * Write to stream * * @param string $data * @return mixed * @access public */ function _stream_write($data) { switch ($this->mode) { case 'r': return false; } $result = $this->sftp->put($this->path, $data, SFTP::SOURCE_STRING, $this->pos); if (isset($this->notification) && is_callable($this->notification)) { if (!$result) { call_user_func($this->notification, STREAM_NOTIFY_FAILURE, STREAM_NOTIFY_SEVERITY_ERR, $this->sftp->getLastSFTPError(), NET_SFTP_OPEN, 0, 0); return 0; } // seems that PHP splits up strings into 8k blocks before calling stream_write call_user_func($this->notification, STREAM_NOTIFY_PROGRESS, STREAM_NOTIFY_SEVERITY_INFO, '', 0, strlen($data), strlen($data)); } if ($result === false) { return false; } $this->pos+= strlen($data); if ($this->pos > $this->size) { $this->size = $this->pos; } $this->eof = false; return strlen($data); } /** * Retrieve the current position of a stream * * @return int * @access public */ function _stream_tell() { return $this->pos; } /** * Tests for end-of-file on a file pointer * * In my testing there are four classes functions that normally effect the pointer: * fseek, fputs / fwrite, fgets / fread and ftruncate. * * Only fgets / fread, however, results in feof() returning true. do fputs($fp, 'aaa') on a blank file and feof() * will return false. do fread($fp, 1) and feof() will then return true. do fseek($fp, 10) on ablank file and feof() * will return false. do fread($fp, 1) and feof() will then return true. * * @return bool * @access public */ function _stream_eof() { return $this->eof; } /** * Seeks to specific location in a stream * * @param int $offset * @param int $whence * @return bool * @access public */ function _stream_seek($offset, $whence) { switch ($whence) { case SEEK_SET: if ($offset < 0) { return false; } break; case SEEK_CUR: $offset+= $this->pos; break; case SEEK_END: $offset+= $this->size; } $this->pos = $offset; $this->eof = false; return true; } /** * Change stream options * * @param string $path * @param int $option * @param mixed $var * @return bool * @access public */ function _stream_metadata($path, $option, $var) { $path = $this->_parse_path($path); if ($path === false) { return false; } // stream_metadata was introduced in PHP 5.4.0 but as of 5.4.11 the constants haven't been defined // see http://www.php.net/streamwrapper.stream-metadata and https://bugs.php.net/64246 // and https://github.com/php/php-src/blob/master/main/php_streams.h#L592 switch ($option) { case 1: // PHP_STREAM_META_TOUCH $time = isset($var[0]) ? $var[0] : null; $atime = isset($var[1]) ? $var[1] : null; return $this->sftp->touch($path, $time, $atime); case 2: // PHP_STREAM_OWNER_NAME case 3: // PHP_STREAM_GROUP_NAME return false; case 4: // PHP_STREAM_META_OWNER return $this->sftp->chown($path, $var); case 5: // PHP_STREAM_META_GROUP return $this->sftp->chgrp($path, $var); case 6: // PHP_STREAM_META_ACCESS return $this->sftp->chmod($path, $var) !== false; } } /** * Retrieve the underlaying resource * * @param int $cast_as * @return resource * @access public */ function _stream_cast($cast_as) { return $this->sftp->fsock; } /** * Advisory file locking * * @param int $operation * @return bool * @access public */ function _stream_lock($operation) { return false; } /** * Renames a file or directory * * Attempts to rename oldname to newname, moving it between directories if necessary. * If newname exists, it will be overwritten. This is a departure from what \phpseclib\Net\SFTP * does. * * @param string $path_from * @param string $path_to * @return bool * @access public */ function _rename($path_from, $path_to) { $path1 = parse_url($path_from); $path2 = parse_url($path_to); unset($path1['path'], $path2['path']); if ($path1 != $path2) { return false; } $path_from = $this->_parse_path($path_from); $path_to = parse_url($path_to); if ($path_from === false) { return false; } $path_to = $path_to['path']; // the $component part of parse_url() was added in PHP 5.1.2 // "It is an error if there already exists a file with the name specified by newpath." // -- http://tools.ietf.org/html/draft-ietf-secsh-filexfer-02#section-6.5 if (!$this->sftp->rename($path_from, $path_to)) { if ($this->sftp->stat($path_to)) { return $this->sftp->delete($path_to, true) && $this->sftp->rename($path_from, $path_to); } return false; } return true; } /** * Open directory handle * * The only $options is "whether or not to enforce safe_mode (0x04)". Since safe mode was deprecated in 5.3 and * removed in 5.4 I'm just going to ignore it. * * Also, nlist() is the best that this function is realistically going to be able to do. When an SFTP client * sends a SSH_FXP_READDIR packet you don't generally get info on just one file but on multiple files. Quoting * the SFTP specs: * * The SSH_FXP_NAME response has the following format: * * uint32 id * uint32 count * repeats count times: * string filename * string longname * ATTRS attrs * * @param string $path * @param int $options * @return bool * @access public */ function _dir_opendir($path, $options) { $path = $this->_parse_path($path); if ($path === false) { return false; } $this->pos = 0; $this->entries = $this->sftp->nlist($path); return $this->entries !== false; } /** * Read entry from directory handle * * @return mixed * @access public */ function _dir_readdir() { if (isset($this->entries[$this->pos])) { return $this->entries[$this->pos++]; } return false; } /** * Rewind directory handle * * @return bool * @access public */ function _dir_rewinddir() { $this->pos = 0; return true; } /** * Close directory handle * * @return bool * @access public */ function _dir_closedir() { return true; } /** * Create a directory * * Only valid $options is STREAM_MKDIR_RECURSIVE * * @param string $path * @param int $mode * @param int $options * @return bool * @access public */ function _mkdir($path, $mode, $options) { $path = $this->_parse_path($path); if ($path === false) { return false; } return $this->sftp->mkdir($path, $mode, $options & STREAM_MKDIR_RECURSIVE); } /** * Removes a directory * * Only valid $options is STREAM_MKDIR_RECURSIVE per , however, * does not have a $recursive parameter as mkdir() does so I don't know how * STREAM_MKDIR_RECURSIVE is supposed to be set. Also, when I try it out with rmdir() I get 8 as * $options. What does 8 correspond to? * * @param string $path * @param int $options * @return bool * @access public */ function _rmdir($path, $options) { $path = $this->_parse_path($path); if ($path === false) { return false; } return $this->sftp->rmdir($path); } /** * Flushes the output * * See . Always returns true because \phpseclib\Net\SFTP doesn't cache stuff before writing * * @return bool * @access public */ function _stream_flush() { return true; } /** * Retrieve information about a file resource * * @return mixed * @access public */ function _stream_stat() { $results = $this->sftp->stat($this->path); if ($results === false) { return false; } return $results; } /** * Delete a file * * @param string $path * @return bool * @access public */ function _unlink($path) { $path = $this->_parse_path($path); if ($path === false) { return false; } return $this->sftp->delete($path, false); } /** * Retrieve information about a file * * Ignores the STREAM_URL_STAT_QUIET flag because the entirety of \phpseclib\Net\SFTP\Stream is quiet by default * might be worthwhile to reconstruct bits 12-16 (ie. the file type) if mode doesn't have them but we'll * cross that bridge when and if it's reached * * @param string $path * @param int $flags * @return mixed * @access public */ function _url_stat($path, $flags) { $path = $this->_parse_path($path); if ($path === false) { return false; } $results = $flags & STREAM_URL_STAT_LINK ? $this->sftp->lstat($path) : $this->sftp->stat($path); if ($results === false) { return false; } return $results; } /** * Truncate stream * * @param int $new_size * @return bool * @access public */ function _stream_truncate($new_size) { if (!$this->sftp->truncate($this->path, $new_size)) { return false; } $this->eof = false; $this->size = $new_size; return true; } /** * Change stream options * * STREAM_OPTION_WRITE_BUFFER isn't supported for the same reason stream_flush isn't. * The other two aren't supported because of limitations in \phpseclib\Net\SFTP. * * @param int $option * @param int $arg1 * @param int $arg2 * @return bool * @access public */ function _stream_set_option($option, $arg1, $arg2) { return false; } /** * Close an resource * * @access public */ function _stream_close() { } /** * __call Magic Method * * When you're utilizing an SFTP stream you're not calling the methods in this class directly - PHP is calling them for you. * Which kinda begs the question... what methods is PHP calling and what parameters is it passing to them? This function * lets you figure that out. * * If NET_SFTP_STREAM_LOGGING is defined all calls will be output on the screen and then (regardless of whether or not * NET_SFTP_STREAM_LOGGING is enabled) the parameters will be passed through to the appropriate method. * * @param string $name * @param array $arguments * @return mixed * @access public */ function __call($name, $arguments) { if (defined('NET_SFTP_STREAM_LOGGING')) { echo $name . '('; $last = count($arguments) - 1; foreach ($arguments as $i => $argument) { var_export($argument); if ($i != $last) { echo ','; } } echo ")\r\n"; } $name = '_' . $name; if (!method_exists($this, $name)) { return false; } return call_user_func_array(array($this, $name), $arguments); } } vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php000064400000557023147400355670015741 0ustar00 * login('username', 'password')) { * exit('Login Failed'); * } * * echo $ssh->exec('pwd'); * echo $ssh->exec('ls -la'); * ?> * * * * setPassword('whatever'); * $key->loadKey(file_get_contents('privatekey')); * * $ssh = new \phpseclib\Net\SSH2('www.domain.tld'); * if (!$ssh->login('username', $key)) { * exit('Login Failed'); * } * * echo $ssh->read('username@username:~$'); * $ssh->write("ls -la\n"); * echo $ssh->read('username@username:~$'); * ?> * * * @category Net * @package SSH2 * @author Jim Wigginton * @copyright 2007 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Net; use phpseclib\Crypt\Base; use phpseclib\Crypt\Blowfish; use phpseclib\Crypt\Hash; use phpseclib\Crypt\Random; use phpseclib\Crypt\RC4; use phpseclib\Crypt\Rijndael; use phpseclib\Crypt\RSA; use phpseclib\Crypt\TripleDES; use phpseclib\Crypt\Twofish; use phpseclib\Math\BigInteger; // Used to do Diffie-Hellman key exchange and DSA/RSA signature verification. use phpseclib\System\SSH\Agent; /** * Pure-PHP implementation of SSHv2. * * @package SSH2 * @author Jim Wigginton * @access public */ class SSH2 { /**#@+ * Compression Types * * @access private */ /** * No compression */ const NET_SSH2_COMPRESSION_NONE = 1; /** * zlib compression */ const NET_SSH2_COMPRESSION_ZLIB = 2; /** * zlib@openssh.com */ const NET_SSH2_COMPRESSION_ZLIB_AT_OPENSSH = 3; /**#@-*/ /**#@+ * Execution Bitmap Masks * * @see \phpseclib\Net\SSH2::bitmap * @access private */ const MASK_CONSTRUCTOR = 0x00000001; const MASK_CONNECTED = 0x00000002; const MASK_LOGIN_REQ = 0x00000004; const MASK_LOGIN = 0x00000008; const MASK_SHELL = 0x00000010; const MASK_WINDOW_ADJUST = 0x00000020; /**#@-*/ /**#@+ * Channel constants * * RFC4254 refers not to client and server channels but rather to sender and recipient channels. we don't refer * to them in that way because RFC4254 toggles the meaning. the client sends a SSH_MSG_CHANNEL_OPEN message with * a sender channel and the server sends a SSH_MSG_CHANNEL_OPEN_CONFIRMATION in response, with a sender and a * recepient channel. at first glance, you might conclude that SSH_MSG_CHANNEL_OPEN_CONFIRMATION's sender channel * would be the same thing as SSH_MSG_CHANNEL_OPEN's sender channel, but it's not, per this snipet: * The 'recipient channel' is the channel number given in the original * open request, and 'sender channel' is the channel number allocated by * the other side. * * @see \phpseclib\Net\SSH2::_send_channel_packet() * @see \phpseclib\Net\SSH2::_get_channel_packet() * @access private */ const CHANNEL_EXEC = 1; // PuTTy uses 0x100 const CHANNEL_SHELL = 2; const CHANNEL_SUBSYSTEM = 3; const CHANNEL_AGENT_FORWARD = 4; const CHANNEL_KEEP_ALIVE = 5; /**#@-*/ /**#@+ * @access public * @see \phpseclib\Net\SSH2::getLog() */ /** * Returns the message numbers */ const LOG_SIMPLE = 1; /** * Returns the message content */ const LOG_COMPLEX = 2; /** * Outputs the content real-time */ const LOG_REALTIME = 3; /** * Dumps the content real-time to a file */ const LOG_REALTIME_FILE = 4; /** * Make sure that the log never gets larger than this */ const LOG_MAX_SIZE = 1048576; // 1024 * 1024 /**#@-*/ /**#@+ * @access public * @see \phpseclib\Net\SSH2::read() */ /** * Returns when a string matching $expect exactly is found */ const READ_SIMPLE = 1; /** * Returns when a string matching the regular expression $expect is found */ const READ_REGEX = 2; /** * Returns whenever a data packet is received. * * Some data packets may only contain a single character so it may be necessary * to call read() multiple times when using this option */ const READ_NEXT = 3; /**#@-*/ /** * The SSH identifier * * @var string * @access private */ var $identifier; /** * The Socket Object * * @var object * @access private */ var $fsock; /** * Execution Bitmap * * The bits that are set represent functions that have been called already. This is used to determine * if a requisite function has been successfully executed. If not, an error should be thrown. * * @var int * @access private */ var $bitmap = 0; /** * Error information * * @see self::getErrors() * @see self::getLastError() * @var string * @access private */ var $errors = array(); /** * Server Identifier * * @see self::getServerIdentification() * @var array|false * @access private */ var $server_identifier = false; /** * Key Exchange Algorithms * * @see self::getKexAlgorithims() * @var array|false * @access private */ var $kex_algorithms = false; /** * Key Exchange Algorithm * * @see self::getMethodsNegotiated() * @var string|false * @access private */ var $kex_algorithm = false; /** * Minimum Diffie-Hellman Group Bit Size in RFC 4419 Key Exchange Methods * * @see self::_key_exchange() * @var int * @access private */ var $kex_dh_group_size_min = 1536; /** * Preferred Diffie-Hellman Group Bit Size in RFC 4419 Key Exchange Methods * * @see self::_key_exchange() * @var int * @access private */ var $kex_dh_group_size_preferred = 2048; /** * Maximum Diffie-Hellman Group Bit Size in RFC 4419 Key Exchange Methods * * @see self::_key_exchange() * @var int * @access private */ var $kex_dh_group_size_max = 4096; /** * Server Host Key Algorithms * * @see self::getServerHostKeyAlgorithms() * @var array|false * @access private */ var $server_host_key_algorithms = false; /** * Supported Private Key Algorithms * * In theory this should be the same as the Server Host Key Algorithms but, in practice, * some servers (eg. Azure) will support rsa-sha2-512 as a server host key algorithm but * not a private key algorithm * * @see self::privatekey_login() * @var array|false */ var $supported_private_key_algorithms = false; /** * Encryption Algorithms: Client to Server * * @see self::getEncryptionAlgorithmsClient2Server() * @var array|false * @access private */ var $encryption_algorithms_client_to_server = false; /** * Encryption Algorithms: Server to Client * * @see self::getEncryptionAlgorithmsServer2Client() * @var array|false * @access private */ var $encryption_algorithms_server_to_client = false; /** * MAC Algorithms: Client to Server * * @see self::getMACAlgorithmsClient2Server() * @var array|false * @access private */ var $mac_algorithms_client_to_server = false; /** * MAC Algorithms: Server to Client * * @see self::getMACAlgorithmsServer2Client() * @var array|false * @access private */ var $mac_algorithms_server_to_client = false; /** * Compression Algorithms: Client to Server * * @see self::getCompressionAlgorithmsClient2Server() * @var array|false * @access private */ var $compression_algorithms_client_to_server = false; /** * Compression Algorithms: Server to Client * * @see self::getCompressionAlgorithmsServer2Client() * @var array|false * @access private */ var $compression_algorithms_server_to_client = false; /** * Languages: Server to Client * * @see self::getLanguagesServer2Client() * @var array|false * @access private */ var $languages_server_to_client = false; /** * Languages: Client to Server * * @see self::getLanguagesClient2Server() * @var array|false * @access private */ var $languages_client_to_server = false; /** * Preferred Algorithms * * @see self::setPreferredAlgorithms() * @var array * @access private */ var $preferred = array(); /** * Block Size for Server to Client Encryption * * "Note that the length of the concatenation of 'packet_length', * 'padding_length', 'payload', and 'random padding' MUST be a multiple * of the cipher block size or 8, whichever is larger. This constraint * MUST be enforced, even when using stream ciphers." * * -- http://tools.ietf.org/html/rfc4253#section-6 * * @see self::__construct() * @see self::_send_binary_packet() * @var int * @access private */ var $encrypt_block_size = 8; /** * Block Size for Client to Server Encryption * * @see self::__construct() * @see self::_get_binary_packet() * @var int * @access private */ var $decrypt_block_size = 8; /** * Server to Client Encryption Object * * @see self::_get_binary_packet() * @var object * @access private */ var $decrypt = false; /** * Decryption Algorithm Name * * @var string|null * @access private */ var $decryptName; /** * Client to Server Encryption Object * * @see self::_send_binary_packet() * @var object * @access private */ var $encrypt = false; /** * Encryption Algorithm Name * * @var string|null * @access private */ var $encryptName; /** * Client to Server HMAC Object * * @see self::_send_binary_packet() * @var object * @access private */ var $hmac_create = false; /** * Client to Server HMAC Name * * @var string|false */ private $hmac_create_name; /** * Server to Client HMAC Object * * @see self::_get_binary_packet() * @var object * @access private */ var $hmac_check = false; /** * Server to Client HMAC Name * * @var string|false */ var $hmac_check_name; /** * Size of server to client HMAC * * We need to know how big the HMAC will be for the server to client direction so that we know how many bytes to read. * For the client to server side, the HMAC object will make the HMAC as long as it needs to be. All we need to do is * append it. * * @see self::_get_binary_packet() * @var int * @access private */ var $hmac_size = false; /** * Server Public Host Key * * @see self::getServerPublicHostKey() * @var string * @access private */ var $server_public_host_key; /** * Session identifier * * "The exchange hash H from the first key exchange is additionally * used as the session identifier, which is a unique identifier for * this connection." * * -- http://tools.ietf.org/html/rfc4253#section-7.2 * * @see self::_key_exchange() * @var string * @access private */ var $session_id = false; /** * Exchange hash * * The current exchange hash * * @see self::_key_exchange() * @var string * @access private */ var $exchange_hash = false; /** * Message Numbers * * @see self::__construct() * @var array * @access private */ var $message_numbers = array(); /** * Disconnection Message 'reason codes' defined in RFC4253 * * @see self::__construct() * @var array * @access private */ var $disconnect_reasons = array(); /** * SSH_MSG_CHANNEL_OPEN_FAILURE 'reason codes', defined in RFC4254 * * @see self::__construct() * @var array * @access private */ var $channel_open_failure_reasons = array(); /** * Terminal Modes * * @link http://tools.ietf.org/html/rfc4254#section-8 * @see self::__construct() * @var array * @access private */ var $terminal_modes = array(); /** * SSH_MSG_CHANNEL_EXTENDED_DATA's data_type_codes * * @link http://tools.ietf.org/html/rfc4254#section-5.2 * @see self::__construct() * @var array * @access private */ var $channel_extended_data_type_codes = array(); /** * Send Sequence Number * * See 'Section 6.4. Data Integrity' of rfc4253 for more info. * * @see self::_send_binary_packet() * @var int * @access private */ var $send_seq_no = 0; /** * Get Sequence Number * * See 'Section 6.4. Data Integrity' of rfc4253 for more info. * * @see self::_get_binary_packet() * @var int * @access private */ var $get_seq_no = 0; /** * Server Channels * * Maps client channels to server channels * * @see self::_get_channel_packet() * @see self::exec() * @var array * @access private */ var $server_channels = array(); /** * Channel Buffers * * If a client requests a packet from one channel but receives two packets from another those packets should * be placed in a buffer * * @see self::_get_channel_packet() * @see self::exec() * @var array * @access private */ var $channel_buffers = array(); /** * Channel Status * * Contains the type of the last sent message * * @see self::_get_channel_packet() * @var array * @access private */ var $channel_status = array(); /** * Packet Size * * Maximum packet size indexed by channel * * @see self::_send_channel_packet() * @var array * @access private */ var $packet_size_client_to_server = array(); /** * Message Number Log * * @see self::getLog() * @var array * @access private */ var $message_number_log = array(); /** * Message Log * * @see self::getLog() * @var array * @access private */ var $message_log = array(); /** * The Window Size * * Bytes the other party can send before it must wait for the window to be adjusted (0x7FFFFFFF = 2GB) * * @var int * @see self::_send_channel_packet() * @see self::exec() * @access private */ var $window_size = 0x7FFFFFFF; /** * What we resize the window to * * When PuTTY resizes the window it doesn't add an additional 0x7FFFFFFF bytes - it adds 0x40000000 bytes. * Some SFTP clients (GoAnywhere) don't support adding 0x7FFFFFFF to the window size after the fact so * we'll just do what PuTTY does * * @var int * @see self::_send_channel_packet() * @see self::exec() * @access private */ var $window_resize = 0x40000000; /** * Window size, server to client * * Window size indexed by channel * * @see self::_send_channel_packet() * @var array * @access private */ var $window_size_server_to_client = array(); /** * Window size, client to server * * Window size indexed by channel * * @see self::_get_channel_packet() * @var array * @access private */ var $window_size_client_to_server = array(); /** * Server signature * * Verified against $this->session_id * * @see self::getServerPublicHostKey() * @var string * @access private */ var $signature = ''; /** * Server signature format * * ssh-rsa or ssh-dss. * * @see self::getServerPublicHostKey() * @var string * @access private */ var $signature_format = ''; /** * Interactive Buffer * * @see self::read() * @var array * @access private */ var $interactiveBuffer = ''; /** * Current log size * * Should never exceed self::LOG_MAX_SIZE * * @see self::_send_binary_packet() * @see self::_get_binary_packet() * @var int * @access private */ var $log_size; /** * Timeout * * @see self::setTimeout() * @access private */ var $timeout; /** * Current Timeout * * @see self::_get_channel_packet() * @access private */ var $curTimeout; /** * Keep Alive Interval * * @see self::setKeepAlive() * @access private */ var $keepAlive; /** * Real-time log file pointer * * @see self::_append_log() * @var resource * @access private */ var $realtime_log_file; /** * Real-time log file size * * @see self::_append_log() * @var int * @access private */ var $realtime_log_size; /** * Has the signature been validated? * * @see self::getServerPublicHostKey() * @var bool * @access private */ var $signature_validated = false; /** * Real-time log file wrap boolean * * @see self::_append_log() * @access private */ var $realtime_log_wrap; /** * Flag to suppress stderr from output * * @see self::enableQuietMode() * @access private */ var $quiet_mode = false; /** * Time of first network activity * * @var int * @access private */ var $last_packet; /** * Exit status returned from ssh if any * * @var int * @access private */ var $exit_status; /** * Flag to request a PTY when using exec() * * @var bool * @see self::enablePTY() * @access private */ var $request_pty = false; /** * Flag set while exec() is running when using enablePTY() * * @var bool * @access private */ var $in_request_pty_exec = false; /** * Flag set after startSubsystem() is called * * @var bool * @access private */ var $in_subsystem; /** * Contents of stdError * * @var string * @access private */ var $stdErrorLog; /** * The Last Interactive Response * * @see self::_keyboard_interactive_process() * @var string * @access private */ var $last_interactive_response = ''; /** * Keyboard Interactive Request / Responses * * @see self::_keyboard_interactive_process() * @var array * @access private */ var $keyboard_requests_responses = array(); /** * Banner Message * * Quoting from the RFC, "in some jurisdictions, sending a warning message before * authentication may be relevant for getting legal protection." * * @see self::_filter() * @see self::getBannerMessage() * @var string * @access private */ var $banner_message = ''; /** * Did read() timeout or return normally? * * @see self::isTimeout() * @var bool * @access private */ var $is_timeout = false; /** * Log Boundary * * @see self::_format_log() * @var string * @access private */ var $log_boundary = ':'; /** * Log Long Width * * @see self::_format_log() * @var int * @access private */ var $log_long_width = 65; /** * Log Short Width * * @see self::_format_log() * @var int * @access private */ var $log_short_width = 16; /** * Hostname * * @see self::__construct() * @see self::_connect() * @var string * @access private */ var $host; /** * Port Number * * @see self::__construct() * @see self::_connect() * @var int * @access private */ var $port; /** * Number of columns for terminal window size * * @see self::getWindowColumns() * @see self::setWindowColumns() * @see self::setWindowSize() * @var int * @access private */ var $windowColumns = 80; /** * Number of columns for terminal window size * * @see self::getWindowRows() * @see self::setWindowRows() * @see self::setWindowSize() * @var int * @access private */ var $windowRows = 24; /** * Crypto Engine * * @see self::setCryptoEngine() * @see self::_key_exchange() * @var int * @access private */ var $crypto_engine = false; /** * A System_SSH_Agent for use in the SSH2 Agent Forwarding scenario * * @var System_SSH_Agent * @access private */ var $agent; /** * Send the identification string first? * * @var bool * @access private */ var $send_id_string_first = true; /** * Send the key exchange initiation packet first? * * @var bool * @access private */ var $send_kex_first = true; /** * Some versions of OpenSSH incorrectly calculate the key size * * @var bool * @access private */ var $bad_key_size_fix = false; /** * Should we try to re-connect to re-establish keys? * * @var bool * @access private */ var $retry_connect = false; /** * Binary Packet Buffer * * @var string|false * @access private */ var $binary_packet_buffer = false; /** * Preferred Signature Format * * @var string|false * @access private */ var $preferred_signature_format = false; /** * Authentication Credentials * * @var array * @access private */ var $auth = array(); /** * The authentication methods that may productively continue authentication. * * @see https://tools.ietf.org/html/rfc4252#section-5.1 * @var array|null * @access private */ var $auth_methods_to_continue = null; /** * Compression method * * @var int * @access private */ var $compress = self::NET_SSH2_COMPRESSION_NONE; /** * Decompression method * * @var resource|object * @access private */ var $decompress = self::NET_SSH2_COMPRESSION_NONE; /** * Compression context * * @var int * @access private */ var $compress_context; /** * Decompression context * * @var resource|object * @access private */ var $decompress_context; /** * Regenerate Compression Context * * @var bool * @access private */ var $regenerate_compression_context = false; /** * Regenerate Decompression Context * * @var bool * @access private */ var $regenerate_decompression_context = false; /** * Smart multi-factor authentication flag * * @var bool * @access private */ var $smartMFA = true; /** * Extra packets counter * * @var bool * @access private */ var $extra_packets; /** * Default Constructor. * * $host can either be a string, representing the host, or a stream resource. * If $host is a stream resource then $port doesn't do anything, altho $timeout * still will be used * * @param mixed $host * @param int $port * @param int $timeout * @see self::login() * @return \phpseclib\Net\SSH2 * @access public */ function __construct($host, $port = 22, $timeout = 10) { $this->message_numbers = array( 1 => 'NET_SSH2_MSG_DISCONNECT', 2 => 'NET_SSH2_MSG_IGNORE', 3 => 'NET_SSH2_MSG_UNIMPLEMENTED', 4 => 'NET_SSH2_MSG_DEBUG', 5 => 'NET_SSH2_MSG_SERVICE_REQUEST', 6 => 'NET_SSH2_MSG_SERVICE_ACCEPT', 7 => 'NET_SSH2_MSG_EXT_INFO', // RFC 8308 20 => 'NET_SSH2_MSG_KEXINIT', 21 => 'NET_SSH2_MSG_NEWKEYS', 30 => 'NET_SSH2_MSG_KEXDH_INIT', 31 => 'NET_SSH2_MSG_KEXDH_REPLY', 50 => 'NET_SSH2_MSG_USERAUTH_REQUEST', 51 => 'NET_SSH2_MSG_USERAUTH_FAILURE', 52 => 'NET_SSH2_MSG_USERAUTH_SUCCESS', 53 => 'NET_SSH2_MSG_USERAUTH_BANNER', 80 => 'NET_SSH2_MSG_GLOBAL_REQUEST', 81 => 'NET_SSH2_MSG_REQUEST_SUCCESS', 82 => 'NET_SSH2_MSG_REQUEST_FAILURE', 90 => 'NET_SSH2_MSG_CHANNEL_OPEN', 91 => 'NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION', 92 => 'NET_SSH2_MSG_CHANNEL_OPEN_FAILURE', 93 => 'NET_SSH2_MSG_CHANNEL_WINDOW_ADJUST', 94 => 'NET_SSH2_MSG_CHANNEL_DATA', 95 => 'NET_SSH2_MSG_CHANNEL_EXTENDED_DATA', 96 => 'NET_SSH2_MSG_CHANNEL_EOF', 97 => 'NET_SSH2_MSG_CHANNEL_CLOSE', 98 => 'NET_SSH2_MSG_CHANNEL_REQUEST', 99 => 'NET_SSH2_MSG_CHANNEL_SUCCESS', 100 => 'NET_SSH2_MSG_CHANNEL_FAILURE' ); $this->disconnect_reasons = array( 1 => 'NET_SSH2_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT', 2 => 'NET_SSH2_DISCONNECT_PROTOCOL_ERROR', 3 => 'NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED', 4 => 'NET_SSH2_DISCONNECT_RESERVED', 5 => 'NET_SSH2_DISCONNECT_MAC_ERROR', 6 => 'NET_SSH2_DISCONNECT_COMPRESSION_ERROR', 7 => 'NET_SSH2_DISCONNECT_SERVICE_NOT_AVAILABLE', 8 => 'NET_SSH2_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED', 9 => 'NET_SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE', 10 => 'NET_SSH2_DISCONNECT_CONNECTION_LOST', 11 => 'NET_SSH2_DISCONNECT_BY_APPLICATION', 12 => 'NET_SSH2_DISCONNECT_TOO_MANY_CONNECTIONS', 13 => 'NET_SSH2_DISCONNECT_AUTH_CANCELLED_BY_USER', 14 => 'NET_SSH2_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE', 15 => 'NET_SSH2_DISCONNECT_ILLEGAL_USER_NAME' ); $this->channel_open_failure_reasons = array( 1 => 'NET_SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED' ); $this->terminal_modes = array( 0 => 'NET_SSH2_TTY_OP_END' ); $this->channel_extended_data_type_codes = array( 1 => 'NET_SSH2_EXTENDED_DATA_STDERR' ); $this->_define_array( $this->message_numbers, $this->disconnect_reasons, $this->channel_open_failure_reasons, $this->terminal_modes, $this->channel_extended_data_type_codes, array(60 => 'NET_SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ'), array(60 => 'NET_SSH2_MSG_USERAUTH_PK_OK'), array(60 => 'NET_SSH2_MSG_USERAUTH_INFO_REQUEST', 61 => 'NET_SSH2_MSG_USERAUTH_INFO_RESPONSE'), // RFC 4419 - diffie-hellman-group-exchange-sha{1,256} array(30 => 'NET_SSH2_MSG_KEXDH_GEX_REQUEST_OLD', 31 => 'NET_SSH2_MSG_KEXDH_GEX_GROUP', 32 => 'NET_SSH2_MSG_KEXDH_GEX_INIT', 33 => 'NET_SSH2_MSG_KEXDH_GEX_REPLY', 34 => 'NET_SSH2_MSG_KEXDH_GEX_REQUEST'), // RFC 5656 - Elliptic Curves (for curve25519-sha256@libssh.org) array(30 => 'NET_SSH2_MSG_KEX_ECDH_INIT', 31 => 'NET_SSH2_MSG_KEX_ECDH_REPLY') ); $this->timeout = $timeout; if (is_resource($host)) { $this->fsock = $host; return; } if (is_string($host)) { $this->host = $host; $this->port = $port; } } /** * Set Crypto Engine Mode * * Possible $engine values: * CRYPT_MODE_INTERNAL, CRYPT_MODE_MCRYPT * * @param int $engine * @access public */ function setCryptoEngine($engine) { $this->crypto_engine = $engine; } /** * Send Identification String First * * https://tools.ietf.org/html/rfc4253#section-4.2 says "when the connection has been established, * both sides MUST send an identification string". It does not say which side sends it first. In * theory it shouldn't matter but it is a fact of life that some SSH servers are simply buggy * * @access public */ function sendIdentificationStringFirst() { $this->send_id_string_first = true; } /** * Send Identification String Last * * https://tools.ietf.org/html/rfc4253#section-4.2 says "when the connection has been established, * both sides MUST send an identification string". It does not say which side sends it first. In * theory it shouldn't matter but it is a fact of life that some SSH servers are simply buggy * * @access public */ function sendIdentificationStringLast() { $this->send_id_string_first = false; } /** * Send SSH_MSG_KEXINIT First * * https://tools.ietf.org/html/rfc4253#section-7.1 says "key exchange begins by each sending * sending the [SSH_MSG_KEXINIT] packet". It does not say which side sends it first. In theory * it shouldn't matter but it is a fact of life that some SSH servers are simply buggy * * @access public */ function sendKEXINITFirst() { $this->send_kex_first = true; } /** * Send SSH_MSG_KEXINIT Last * * https://tools.ietf.org/html/rfc4253#section-7.1 says "key exchange begins by each sending * sending the [SSH_MSG_KEXINIT] packet". It does not say which side sends it first. In theory * it shouldn't matter but it is a fact of life that some SSH servers are simply buggy * * @access public */ function sendKEXINITLast() { $this->send_kex_first = false; } /** * Connect to an SSHv2 server * * @return bool * @access private */ function _connect() { if ($this->bitmap & self::MASK_CONSTRUCTOR) { return false; } $this->bitmap |= self::MASK_CONSTRUCTOR; $this->curTimeout = $this->timeout; $this->last_packet = microtime(true); if (!is_resource($this->fsock)) { $start = microtime(true); // with stream_select a timeout of 0 means that no timeout takes place; // with fsockopen a timeout of 0 means that you instantly timeout // to resolve this incompatibility a timeout of 100,000 will be used for fsockopen if timeout is 0 $this->fsock = @fsockopen($this->host, $this->port, $errno, $errstr, $this->curTimeout == 0 ? 100000 : $this->curTimeout); if (!$this->fsock) { $host = $this->host . ':' . $this->port; user_error(rtrim("Cannot connect to $host. Error $errno. $errstr")); return false; } $elapsed = microtime(true) - $start; if ($this->curTimeout) { $this->curTimeout-= $elapsed; if ($this->curTimeout < 0) { $this->is_timeout = true; return false; } } } $this->identifier = $this->_generate_identifier(); if ($this->send_id_string_first) { fputs($this->fsock, $this->identifier . "\r\n"); } /* According to the SSH2 specs, "The server MAY send other lines of data before sending the version string. Each line SHOULD be terminated by a Carriage Return and Line Feed. Such lines MUST NOT begin with "SSH-", and SHOULD be encoded in ISO-10646 UTF-8 [RFC3629] (language is not specified). Clients MUST be able to process such lines." */ $data = ''; while (!feof($this->fsock) && !preg_match('#(.*)^(SSH-(\d\.\d+).*)#ms', $data, $matches)) { $line = ''; while (true) { if ($this->curTimeout) { if ($this->curTimeout < 0) { $this->is_timeout = true; return false; } $read = array($this->fsock); $write = $except = null; $start = microtime(true); $sec = (int) floor($this->curTimeout); $usec = (int) (1000000 * ($this->curTimeout - $sec)); // on windows this returns a "Warning: Invalid CRT parameters detected" error // the !count() is done as a workaround for if (!@stream_select($read, $write, $except, $sec, $usec) && !count($read)) { $this->is_timeout = true; return false; } $elapsed = microtime(true) - $start; $this->curTimeout-= $elapsed; } $temp = stream_get_line($this->fsock, 255, "\n"); if (strlen($temp) == 255) { continue; } if ($temp === false) { return false; } $line.= "$temp\n"; // quoting RFC4253, "Implementers who wish to maintain // compatibility with older, undocumented versions of this protocol may // want to process the identification string without expecting the // presence of the carriage return character for reasons described in // Section 5 of this document." //if (substr($line, -2) == "\r\n") { // break; //} break; } $data.= $line; } if (feof($this->fsock)) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } $extra = $matches[1]; if (defined('NET_SSH2_LOGGING')) { $this->_append_log('<-', $matches[0]); $this->_append_log('->', $this->identifier . "\r\n"); } $this->server_identifier = trim($temp, "\r\n"); if (strlen($extra)) { $this->errors[] = $data; } if (version_compare($matches[3], '1.99', '<')) { user_error("Cannot connect to SSH $matches[3] servers"); return false; } if (!$this->send_id_string_first) { fputs($this->fsock, $this->identifier . "\r\n"); } if (!$this->send_kex_first) { $response = $this->_get_binary_packet(); if ($response === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } if (!strlen($response) || ord($response[0]) != NET_SSH2_MSG_KEXINIT) { user_error('Expected SSH_MSG_KEXINIT'); return false; } if (!$this->_key_exchange($response)) { return false; } } if ($this->send_kex_first && !$this->_key_exchange()) { return false; } $this->bitmap|= self::MASK_CONNECTED; return true; } /** * Generates the SSH identifier * * You should overwrite this method in your own class if you want to use another identifier * * @access protected * @return string */ function _generate_identifier() { $identifier = 'SSH-2.0-phpseclib_2.0'; $ext = array(); if (function_exists('sodium_crypto_box_publickey_from_secretkey')) { $ext[] = 'libsodium'; } if (extension_loaded('openssl')) { $ext[] = 'openssl'; } elseif (extension_loaded('mcrypt')) { $ext[] = 'mcrypt'; } if (extension_loaded('gmp')) { $ext[] = 'gmp'; } elseif (extension_loaded('bcmath')) { $ext[] = 'bcmath'; } if (!empty($ext)) { $identifier .= ' (' . implode(', ', $ext) . ')'; } return $identifier; } /** * Key Exchange * * @param string $kexinit_payload_server optional * @access private */ function _key_exchange($kexinit_payload_server = false) { $preferred = $this->preferred; $send_kex = true; $kex_algorithms = isset($preferred['kex']) ? $preferred['kex'] : $this->getSupportedKEXAlgorithms(); $server_host_key_algorithms = isset($preferred['hostkey']) ? $preferred['hostkey'] : $this->getSupportedHostKeyAlgorithms(); $s2c_encryption_algorithms = isset($preferred['server_to_client']['crypt']) ? $preferred['server_to_client']['crypt'] : $this->getSupportedEncryptionAlgorithms(); $c2s_encryption_algorithms = isset($preferred['client_to_server']['crypt']) ? $preferred['client_to_server']['crypt'] : $this->getSupportedEncryptionAlgorithms(); $s2c_mac_algorithms = isset($preferred['server_to_client']['mac']) ? $preferred['server_to_client']['mac'] : $this->getSupportedMACAlgorithms(); $c2s_mac_algorithms = isset($preferred['client_to_server']['mac']) ? $preferred['client_to_server']['mac'] : $this->getSupportedMACAlgorithms(); $s2c_compression_algorithms = isset($preferred['server_to_client']['comp']) ? $preferred['server_to_client']['comp'] : $this->getSupportedCompressionAlgorithms(); $c2s_compression_algorithms = isset($preferred['client_to_server']['comp']) ? $preferred['client_to_server']['comp'] : $this->getSupportedCompressionAlgorithms(); $kex_algorithms = array_merge($kex_algorithms, array('ext-info-c', 'kex-strict-c-v00@openssh.com')); // some SSH servers have buggy implementations of some of the above algorithms switch (true) { case $this->server_identifier == 'SSH-2.0-SSHD': case substr($this->server_identifier, 0, 13) == 'SSH-2.0-DLINK': if (!isset($preferred['server_to_client']['mac'])) { $s2c_mac_algorithms = array_values(array_diff( $s2c_mac_algorithms, array('hmac-sha1-96', 'hmac-md5-96') )); } if (!isset($preferred['client_to_server']['mac'])) { $c2s_mac_algorithms = array_values(array_diff( $c2s_mac_algorithms, array('hmac-sha1-96', 'hmac-md5-96') )); } } $str_kex_algorithms = implode(',', $kex_algorithms); $str_server_host_key_algorithms = implode(',', $server_host_key_algorithms); $encryption_algorithms_server_to_client = implode(',', $s2c_encryption_algorithms); $encryption_algorithms_client_to_server = implode(',', $c2s_encryption_algorithms); $mac_algorithms_server_to_client = implode(',', $s2c_mac_algorithms); $mac_algorithms_client_to_server = implode(',', $c2s_mac_algorithms); $compression_algorithms_server_to_client = implode(',', $s2c_compression_algorithms); $compression_algorithms_client_to_server = implode(',', $c2s_compression_algorithms); $client_cookie = Random::string(16); $kexinit_payload_client = pack( 'Ca*Na*Na*Na*Na*Na*Na*Na*Na*Na*Na*CN', NET_SSH2_MSG_KEXINIT, $client_cookie, strlen($str_kex_algorithms), $str_kex_algorithms, strlen($str_server_host_key_algorithms), $str_server_host_key_algorithms, strlen($encryption_algorithms_client_to_server), $encryption_algorithms_client_to_server, strlen($encryption_algorithms_server_to_client), $encryption_algorithms_server_to_client, strlen($mac_algorithms_client_to_server), $mac_algorithms_client_to_server, strlen($mac_algorithms_server_to_client), $mac_algorithms_server_to_client, strlen($compression_algorithms_client_to_server), $compression_algorithms_client_to_server, strlen($compression_algorithms_server_to_client), $compression_algorithms_server_to_client, 0, '', 0, '', 0, 0 ); if ($kexinit_payload_server === false) { if (!$this->_send_binary_packet($kexinit_payload_client)) { return false; } $this->extra_packets = 0; $kexinit_payload_server = $this->_get_binary_packet(); if ($kexinit_payload_server === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } if (!strlen($kexinit_payload_server) || ord($kexinit_payload_server[0]) != NET_SSH2_MSG_KEXINIT) { user_error('Expected SSH_MSG_KEXINIT'); return false; } $send_kex = false; } $response = $kexinit_payload_server; $this->_string_shift($response, 1); // skip past the message number (it should be SSH_MSG_KEXINIT) $server_cookie = $this->_string_shift($response, 16); if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->kex_algorithms = explode(',', $this->_string_shift($response, $temp['length'])); if (in_array('kex-strict-s-v00@openssh.com', $this->kex_algorithms)) { if ($this->session_id === false && $this->extra_packets) { user_error('Possible Terrapin Attack detected'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } } if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->server_host_key_algorithms = explode(',', $this->_string_shift($response, $temp['length'])); $this->supported_private_key_algorithms = $this->server_host_key_algorithms; if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->encryption_algorithms_client_to_server = explode(',', $this->_string_shift($response, $temp['length'])); if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->encryption_algorithms_server_to_client = explode(',', $this->_string_shift($response, $temp['length'])); if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->mac_algorithms_client_to_server = explode(',', $this->_string_shift($response, $temp['length'])); if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->mac_algorithms_server_to_client = explode(',', $this->_string_shift($response, $temp['length'])); if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->compression_algorithms_client_to_server = explode(',', $this->_string_shift($response, $temp['length'])); if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->compression_algorithms_server_to_client = explode(',', $this->_string_shift($response, $temp['length'])); if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->languages_client_to_server = explode(',', $this->_string_shift($response, $temp['length'])); if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->languages_server_to_client = explode(',', $this->_string_shift($response, $temp['length'])); if (!strlen($response)) { return false; } extract(unpack('Cfirst_kex_packet_follows', $this->_string_shift($response, 1))); $first_kex_packet_follows = $first_kex_packet_follows != 0; if ($send_kex && !$this->_send_binary_packet($kexinit_payload_client)) { return false; } // we need to decide upon the symmetric encryption algorithms before we do the diffie-hellman key exchange // we don't initialize any crypto-objects, yet - we do that, later. for now, we need the lengths to make the // diffie-hellman key exchange as fast as possible $decrypt = $this->_array_intersect_first($s2c_encryption_algorithms, $this->encryption_algorithms_server_to_client); $decryptKeyLength = $this->_encryption_algorithm_to_key_size($decrypt); if ($decryptKeyLength === null) { user_error('No compatible server to client encryption algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $encrypt = $this->_array_intersect_first($c2s_encryption_algorithms, $this->encryption_algorithms_client_to_server); $encryptKeyLength = $this->_encryption_algorithm_to_key_size($encrypt); if ($encryptKeyLength === null) { user_error('No compatible client to server encryption algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } // through diffie-hellman key exchange a symmetric key is obtained $this->kex_algorithm = $kex_algorithm = $this->_array_intersect_first($kex_algorithms, $this->kex_algorithms); if ($kex_algorithm === false) { user_error('No compatible key exchange algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $server_host_key_algorithm = $this->_array_intersect_first($server_host_key_algorithms, $this->server_host_key_algorithms); if ($server_host_key_algorithm === false) { user_error('No compatible server host key algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $mac_algorithm_in = $this->_array_intersect_first($s2c_mac_algorithms, $this->mac_algorithms_server_to_client); if ($mac_algorithm_in === false) { user_error('No compatible server to client message authentication algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $compression_map = array( 'none' => self::NET_SSH2_COMPRESSION_NONE, 'zlib' => self::NET_SSH2_COMPRESSION_ZLIB, 'zlib@openssh.com' => self::NET_SSH2_COMPRESSION_ZLIB_AT_OPENSSH ); $compression_algorithm_out = $this->_array_intersect_first($c2s_compression_algorithms, $this->compression_algorithms_client_to_server); if ($compression_algorithm_out === false) { user_error('No compatible client to server compression algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $this->compress = $compression_map[$compression_algorithm_out]; $compression_algorithm_in = $this->_array_intersect_first($s2c_compression_algorithms, $this->compression_algorithms_server_to_client); if ($compression_algorithm_in === false) { user_error('No compatible server to client compression algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $this->decompress = $compression_map[$compression_algorithm_in]; // Only relevant in diffie-hellman-group-exchange-sha{1,256}, otherwise empty. $exchange_hash_rfc4419 = ''; if ($kex_algorithm === 'curve25519-sha256@libssh.org') { $x = Random::string(32); $eBytes = sodium_crypto_box_publickey_from_secretkey($x); $clientKexInitMessage = 'NET_SSH2_MSG_KEX_ECDH_INIT'; $serverKexReplyMessage = 'NET_SSH2_MSG_KEX_ECDH_REPLY'; $kexHash = new Hash('sha256'); } else { if (strpos($kex_algorithm, 'diffie-hellman-group-exchange') === 0) { $dh_group_sizes_packed = pack( 'NNN', $this->kex_dh_group_size_min, $this->kex_dh_group_size_preferred, $this->kex_dh_group_size_max ); $packet = pack( 'Ca*', NET_SSH2_MSG_KEXDH_GEX_REQUEST, $dh_group_sizes_packed ); if (!$this->_send_binary_packet($packet)) { return false; } $this->_updateLogHistory('UNKNOWN (34)', 'NET_SSH2_MSG_KEXDH_GEX_REQUEST'); $response = $this->_get_binary_packet(); if ($response === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } extract(unpack('Ctype', $this->_string_shift($response, 1))); if ($type != NET_SSH2_MSG_KEXDH_GEX_GROUP) { user_error('Expected SSH_MSG_KEX_DH_GEX_GROUP'); return false; } $this->_updateLogHistory('NET_SSH2_MSG_KEXDH_REPLY', 'NET_SSH2_MSG_KEXDH_GEX_GROUP'); if (strlen($response) < 4) { return false; } extract(unpack('NprimeLength', $this->_string_shift($response, 4))); $primeBytes = $this->_string_shift($response, $primeLength); $prime = new BigInteger($primeBytes, -256); if (strlen($response) < 4) { return false; } extract(unpack('NgLength', $this->_string_shift($response, 4))); $gBytes = $this->_string_shift($response, $gLength); $g = new BigInteger($gBytes, -256); $exchange_hash_rfc4419 = pack( 'a*Na*Na*', $dh_group_sizes_packed, $primeLength, $primeBytes, $gLength, $gBytes ); $clientKexInitMessage = 'NET_SSH2_MSG_KEXDH_GEX_INIT'; $serverKexReplyMessage = 'NET_SSH2_MSG_KEXDH_GEX_REPLY'; } else { switch ($kex_algorithm) { // see http://tools.ietf.org/html/rfc2409#section-6.2 and // http://tools.ietf.org/html/rfc2412, appendex E case 'diffie-hellman-group1-sha1': $prime = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74' . '020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437' . '4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' . 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF'; break; // see http://tools.ietf.org/html/rfc3526#section-3 case 'diffie-hellman-group14-sha1': $prime = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74' . '020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F1437' . '4FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' . 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF05' . '98DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB' . '9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B' . 'E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF695581718' . '3995497CEA956AE515D2261898FA051015728E5A8AACAA68FFFFFFFFFFFFFFFF'; break; } // For both diffie-hellman-group1-sha1 and diffie-hellman-group14-sha1 // the generator field element is 2 (decimal) and the hash function is sha1. $g = new BigInteger(2); $prime = new BigInteger($prime, 16); $clientKexInitMessage = 'NET_SSH2_MSG_KEXDH_INIT'; $serverKexReplyMessage = 'NET_SSH2_MSG_KEXDH_REPLY'; } switch ($kex_algorithm) { case 'diffie-hellman-group-exchange-sha256': $kexHash = new Hash('sha256'); break; default: $kexHash = new Hash('sha1'); } /* To increase the speed of the key exchange, both client and server may reduce the size of their private exponents. It should be at least twice as long as the key material that is generated from the shared secret. For more details, see the paper by van Oorschot and Wiener [VAN-OORSCHOT]. -- http://tools.ietf.org/html/rfc4419#section-6.2 */ $one = new BigInteger(1); $keyLength = min($kexHash->getLength(), max($encryptKeyLength, $decryptKeyLength)); $max = $one->bitwise_leftShift(16 * $keyLength); // 2 * 8 * $keyLength $max = $max->subtract($one); $x = $one->random($one, $max); $e = $g->modPow($x, $prime); $eBytes = $e->toBytes(true); } $data = pack('CNa*', constant($clientKexInitMessage), strlen($eBytes), $eBytes); if (!$this->_send_binary_packet($data)) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } switch ($clientKexInitMessage) { case 'NET_SSH2_MSG_KEX_ECDH_INIT': $this->_updateLogHistory('NET_SSH2_MSG_KEXDH_INIT', 'NET_SSH2_MSG_KEX_ECDH_INIT'); break; case 'NET_SSH2_MSG_KEXDH_GEX_INIT': $this->_updateLogHistory('UNKNOWN (32)', 'NET_SSH2_MSG_KEXDH_GEX_INIT'); } $response = $this->_get_binary_packet(); if ($response === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } if (!strlen($response)) { return false; } extract(unpack('Ctype', $this->_string_shift($response, 1))); if ($type != constant($serverKexReplyMessage)) { user_error("Expected $serverKexReplyMessage"); return false; } switch ($serverKexReplyMessage) { case 'NET_SSH2_MSG_KEX_ECDH_REPLY': $this->_updateLogHistory('NET_SSH2_MSG_KEXDH_REPLY', 'NET_SSH2_MSG_KEX_ECDH_REPLY'); break; case 'NET_SSH2_MSG_KEXDH_GEX_REPLY': $this->_updateLogHistory('UNKNOWN (33)', 'NET_SSH2_MSG_KEXDH_GEX_REPLY'); } if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->server_public_host_key = $server_public_host_key = $this->_string_shift($response, $temp['length']); if (strlen($server_public_host_key) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); $public_key_format = $this->_string_shift($server_public_host_key, $temp['length']); if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $fBytes = $this->_string_shift($response, $temp['length']); if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->signature = $this->_string_shift($response, $temp['length']); if (strlen($this->signature) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($this->signature, 4)); $this->signature_format = $this->_string_shift($this->signature, $temp['length']); if ($kex_algorithm === 'curve25519-sha256@libssh.org') { if (strlen($fBytes) !== 32) { user_error('Received curve25519 public key of invalid length.'); return false; } $key = new BigInteger(sodium_crypto_scalarmult($x, $fBytes), 256); // sodium_compat doesn't emulate sodium_memzero // also, with v1 of libsodium API the extension identifies itself as // libsodium whereas v2 of the libsodium API (what PHP 7.2+ includes) // identifies itself as sodium. sodium_compat uses the v1 API to // emulate the v2 API if it's the v1 API that's available if (extension_loaded('sodium') || extension_loaded('libsodium')) { sodium_memzero($x); } } else { $f = new BigInteger($fBytes, -256); $key = $f->modPow($x, $prime); } $keyBytes = $key->toBytes(true); $this->exchange_hash = pack( 'Na*Na*Na*Na*Na*a*Na*Na*Na*', strlen($this->identifier), $this->identifier, strlen($this->server_identifier), $this->server_identifier, strlen($kexinit_payload_client), $kexinit_payload_client, strlen($kexinit_payload_server), $kexinit_payload_server, strlen($this->server_public_host_key), $this->server_public_host_key, $exchange_hash_rfc4419, strlen($eBytes), $eBytes, strlen($fBytes), $fBytes, strlen($keyBytes), $keyBytes ); $this->exchange_hash = $kexHash->hash($this->exchange_hash); if ($this->session_id === false) { $this->session_id = $this->exchange_hash; } switch ($server_host_key_algorithm) { case 'ssh-dss': $expected_key_format = 'ssh-dss'; break; //case 'rsa-sha2-256': //case 'rsa-sha2-512': //case 'ssh-rsa': default: $expected_key_format = 'ssh-rsa'; } if ($public_key_format != $expected_key_format || $this->signature_format != $server_host_key_algorithm) { switch (true) { case $this->signature_format == $server_host_key_algorithm: case $server_host_key_algorithm != 'rsa-sha2-256' && $server_host_key_algorithm != 'rsa-sha2-512': case $this->signature_format != 'ssh-rsa': user_error('Server Host Key Algorithm Mismatch'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } } $packet = pack( 'C', NET_SSH2_MSG_NEWKEYS ); if (!$this->_send_binary_packet($packet)) { return false; } $response = $this->_get_binary_packet(); if ($response === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } if (!strlen($response)) { return false; } extract(unpack('Ctype', $this->_string_shift($response, 1))); if ($type != NET_SSH2_MSG_NEWKEYS) { user_error('Expected SSH_MSG_NEWKEYS'); return false; } if (in_array('kex-strict-s-v00@openssh.com', $this->kex_algorithms)) { $this->get_seq_no = $this->send_seq_no = 0; } $keyBytes = pack('Na*', strlen($keyBytes), $keyBytes); $this->encrypt = $this->_encryption_algorithm_to_crypt_instance($encrypt); if ($this->encrypt) { if ($this->crypto_engine) { $this->encrypt->setPreferredEngine($this->crypto_engine); } if ($this->encrypt->block_size) { $this->encrypt_block_size = $this->encrypt->block_size; } $this->encrypt->enableContinuousBuffer(); $this->encrypt->disablePadding(); if ($this->encrypt->getBlockLength()) { $this->encrypt_block_size = $this->encrypt->getBlockLength() >> 3; } $iv = $kexHash->hash($keyBytes . $this->exchange_hash . 'A' . $this->session_id); while ($this->encrypt_block_size > strlen($iv)) { $iv.= $kexHash->hash($keyBytes . $this->exchange_hash . $iv); } $this->encrypt->setIV(substr($iv, 0, $this->encrypt_block_size)); $key = $kexHash->hash($keyBytes . $this->exchange_hash . 'C' . $this->session_id); while ($encryptKeyLength > strlen($key)) { $key.= $kexHash->hash($keyBytes . $this->exchange_hash . $key); } $this->encrypt->setKey(substr($key, 0, $encryptKeyLength)); $this->encryptName = $encrypt; } $this->decrypt = $this->_encryption_algorithm_to_crypt_instance($decrypt); if ($this->decrypt) { if ($this->crypto_engine) { $this->decrypt->setPreferredEngine($this->crypto_engine); } if ($this->decrypt->block_size) { $this->decrypt_block_size = $this->decrypt->block_size; } $this->decrypt->enableContinuousBuffer(); $this->decrypt->disablePadding(); if ($this->decrypt->getBlockLength()) { $this->decrypt_block_size = $this->decrypt->getBlockLength() >> 3; } $iv = $kexHash->hash($keyBytes . $this->exchange_hash . 'B' . $this->session_id); while ($this->decrypt_block_size > strlen($iv)) { $iv.= $kexHash->hash($keyBytes . $this->exchange_hash . $iv); } $this->decrypt->setIV(substr($iv, 0, $this->decrypt_block_size)); $key = $kexHash->hash($keyBytes . $this->exchange_hash . 'D' . $this->session_id); while ($decryptKeyLength > strlen($key)) { $key.= $kexHash->hash($keyBytes . $this->exchange_hash . $key); } $this->decrypt->setKey(substr($key, 0, $decryptKeyLength)); $this->decryptName = $decrypt; } /* The "arcfour128" algorithm is the RC4 cipher, as described in [SCHNEIER], using a 128-bit key. The first 1536 bytes of keystream generated by the cipher MUST be discarded, and the first byte of the first encrypted packet MUST be encrypted using the 1537th byte of keystream. -- http://tools.ietf.org/html/rfc4345#section-4 */ if ($encrypt == 'arcfour128' || $encrypt == 'arcfour256') { $this->encrypt->encrypt(str_repeat("\0", 1536)); } if ($decrypt == 'arcfour128' || $decrypt == 'arcfour256') { $this->decrypt->decrypt(str_repeat("\0", 1536)); } $mac_algorithm_out = $this->_array_intersect_first($c2s_mac_algorithms, $this->mac_algorithms_client_to_server); if ($mac_algorithm_out === false) { user_error('No compatible client to server message authentication algorithms found'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $createKeyLength = 0; // ie. $mac_algorithm == 'none' switch ($mac_algorithm_out) { case 'hmac-sha2-256': $this->hmac_create = new Hash('sha256'); $createKeyLength = 32; break; case 'hmac-sha1': $this->hmac_create = new Hash('sha1'); $createKeyLength = 20; break; case 'hmac-sha1-96': $this->hmac_create = new Hash('sha1-96'); $createKeyLength = 20; break; case 'hmac-md5': $this->hmac_create = new Hash('md5'); $createKeyLength = 16; break; case 'hmac-md5-96': $this->hmac_create = new Hash('md5-96'); $createKeyLength = 16; } $this->hmac_create_name = $mac_algorithm_out; $checkKeyLength = 0; $this->hmac_size = 0; switch ($mac_algorithm_in) { case 'hmac-sha2-256': $this->hmac_check = new Hash('sha256'); $checkKeyLength = 32; $this->hmac_size = 32; break; case 'hmac-sha1': $this->hmac_check = new Hash('sha1'); $checkKeyLength = 20; $this->hmac_size = 20; break; case 'hmac-sha1-96': $this->hmac_check = new Hash('sha1-96'); $checkKeyLength = 20; $this->hmac_size = 12; break; case 'hmac-md5': $this->hmac_check = new Hash('md5'); $checkKeyLength = 16; $this->hmac_size = 16; break; case 'hmac-md5-96': $this->hmac_check = new Hash('md5-96'); $checkKeyLength = 16; $this->hmac_size = 12; } $this->hmac_check_name = $mac_algorithm_in; $key = $kexHash->hash($keyBytes . $this->exchange_hash . 'E' . $this->session_id); while ($createKeyLength > strlen($key)) { $key.= $kexHash->hash($keyBytes . $this->exchange_hash . $key); } $this->hmac_create->setKey(substr($key, 0, $createKeyLength)); $key = $kexHash->hash($keyBytes . $this->exchange_hash . 'F' . $this->session_id); while ($checkKeyLength > strlen($key)) { $key.= $kexHash->hash($keyBytes . $this->exchange_hash . $key); } $this->hmac_check->setKey(substr($key, 0, $checkKeyLength)); $this->regenerate_compression_context = $this->regenerate_decompression_context = true; return true; } /** * Maps an encryption algorithm name to the number of key bytes. * * @param string $algorithm Name of the encryption algorithm * @return int|null Number of bytes as an integer or null for unknown * @access private */ function _encryption_algorithm_to_key_size($algorithm) { if ($this->bad_key_size_fix && $this->_bad_algorithm_candidate($algorithm)) { return 16; } switch ($algorithm) { case 'none': return 0; case 'aes128-cbc': case 'aes128-ctr': case 'arcfour': case 'arcfour128': case 'blowfish-cbc': case 'blowfish-ctr': case 'twofish128-cbc': case 'twofish128-ctr': return 16; case '3des-cbc': case '3des-ctr': case 'aes192-cbc': case 'aes192-ctr': case 'twofish192-cbc': case 'twofish192-ctr': return 24; case 'aes256-cbc': case 'aes256-ctr': case 'arcfour256': case 'twofish-cbc': case 'twofish256-cbc': case 'twofish256-ctr': return 32; } return null; } /** * Maps an encryption algorithm name to an instance of a subclass of * \phpseclib\Crypt\Base. * * @param string $algorithm Name of the encryption algorithm * @return mixed Instance of \phpseclib\Crypt\Base or null for unknown * @access private */ function _encryption_algorithm_to_crypt_instance($algorithm) { switch ($algorithm) { case '3des-cbc': return new TripleDES(); case '3des-ctr': return new TripleDES(Base::MODE_CTR); case 'aes256-cbc': case 'aes192-cbc': case 'aes128-cbc': return new Rijndael(); case 'aes256-ctr': case 'aes192-ctr': case 'aes128-ctr': return new Rijndael(Base::MODE_CTR); case 'blowfish-cbc': return new Blowfish(); case 'blowfish-ctr': return new Blowfish(Base::MODE_CTR); case 'twofish128-cbc': case 'twofish192-cbc': case 'twofish256-cbc': case 'twofish-cbc': return new Twofish(); case 'twofish128-ctr': case 'twofish192-ctr': case 'twofish256-ctr': return new Twofish(Base::MODE_CTR); case 'arcfour': case 'arcfour128': case 'arcfour256': return new RC4(); } return null; } /** * Tests whether or not proposed algorithm has a potential for issues * * @link https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/ssh2-aesctr-openssh.html * @link https://bugzilla.mindrot.org/show_bug.cgi?id=1291 * @param string $algorithm Name of the encryption algorithm * @return bool * @access private */ function _bad_algorithm_candidate($algorithm) { switch ($algorithm) { case 'arcfour256': case 'aes192-ctr': case 'aes256-ctr': return true; } return false; } /** * Login * * The $password parameter can be a plaintext password, a \phpseclib\Crypt\RSA object or an array * * @param string $username * @return bool * @see self::_login() * @access public */ function login($username) { $args = func_get_args(); if (!$this->retry_connect) { $this->auth[] = $args; } // try logging with 'none' as an authentication method first since that's what // PuTTY does if (substr($this->server_identifier, 0, 15) != 'SSH-2.0-CoreFTP' && $this->auth_methods_to_continue === null) { if ($this->_login($username)) { return true; } if (count($args) == 1) { return false; } } return call_user_func_array(array(&$this, '_login'), $args); } /** * Login Helper * * @param string $username * @return bool * @see self::_login_helper() * @access private */ function _login($username) { if (!($this->bitmap & self::MASK_CONSTRUCTOR)) { if (!$this->_connect()) { return false; } } $args = array_slice(func_get_args(), 1); if (empty($args)) { return $this->_login_helper($username); } while (count($args)) { if (!$this->auth_methods_to_continue || !$this->smartMFA) { $newargs = $args; $args = array(); } else { $newargs = array(); foreach ($this->auth_methods_to_continue as $method) { switch ($method) { case 'publickey': foreach ($args as $key => $arg) { if (is_object($arg)) { $newargs[] = $arg; unset($args[$key]); break; } } break; case 'keyboard-interactive': $hasArray = $hasString = false; foreach ($args as $arg) { if ($hasArray || is_array($arg)) { $hasArray = true; break; } if ($hasString || is_string($arg)) { $hasString = true; break; } } if ($hasArray && $hasString) { foreach ($args as $key => $arg) { if (is_array($arg)) { $newargs[] = $arg; break 2; } } } case 'password': foreach ($args as $key => $arg) { $newargs[] = $arg; unset($args[$key]); break; } } } } if (!count($newargs)) { return false; } foreach ($newargs as $arg) { if ($this->_login_helper($username, $arg)) { return true; } } } return false; } /** * Login Helper * * @param string $username * @param string $password * @return bool * @access private * @internal It might be worthwhile, at some point, to protect against {@link http://tools.ietf.org/html/rfc4251#section-9.3.9 traffic analysis} * by sending dummy SSH_MSG_IGNORE messages. */ function _login_helper($username, $password = null) { if (!($this->bitmap & self::MASK_CONNECTED)) { return false; } if (!($this->bitmap & self::MASK_LOGIN_REQ)) { $packet = pack( 'CNa*', NET_SSH2_MSG_SERVICE_REQUEST, strlen('ssh-userauth'), 'ssh-userauth' ); if (!$this->_send_binary_packet($packet)) { return false; } $response = $this->_get_binary_packet(); if ($response === false) { if ($this->retry_connect) { $this->retry_connect = false; if (!$this->_connect()) { return false; } return $this->_login_helper($username, $password); } $this->bitmap = 0; user_error('Connection closed by server'); return false; } if (strlen($response) < 4) { return false; } extract(unpack('Ctype', $this->_string_shift($response, 1))); if ($type == NET_SSH2_MSG_EXT_INFO) { if (strlen($response) < 4) { return false; } $nr_extensions = unpack('Nlength', $this->_string_shift($response, 4)); for ($i = 0; $i < $nr_extensions['length']; $i++) { if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $extension_name = $this->_string_shift($response, $temp['length']); if ($extension_name == 'server-sig-algs') { if (strlen($response) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($response, 4)); $this->supported_private_key_algorithms = explode(',', $this->_string_shift($response, $temp['length'])); } } $response = $this->_get_binary_packet(); if ($response === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } extract(unpack('Ctype', $this->_string_shift($response, 1))); } if ($type != NET_SSH2_MSG_SERVICE_ACCEPT) { user_error('Expected SSH_MSG_SERVICE_ACCEPT'); return false; } $this->bitmap |= self::MASK_LOGIN_REQ; } if (strlen($this->last_interactive_response)) { return !is_string($password) && !is_array($password) ? false : $this->_keyboard_interactive_process($password); } if ($password instanceof RSA) { return $this->_privatekey_login($username, $password); } elseif ($password instanceof Agent) { return $this->_ssh_agent_login($username, $password); } if (is_array($password)) { if ($this->_keyboard_interactive_login($username, $password)) { $this->bitmap |= self::MASK_LOGIN; return true; } return false; } if (!isset($password)) { $packet = pack( 'CNa*Na*Na*', NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', strlen('none'), 'none' ); if (!$this->_send_binary_packet($packet)) { return false; } $response = $this->_get_binary_packet(); if ($response === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } if (!strlen($response)) { return false; } extract(unpack('Ctype', $this->_string_shift($response, 1))); switch ($type) { case NET_SSH2_MSG_USERAUTH_SUCCESS: $this->bitmap |= self::MASK_LOGIN; return true; case NET_SSH2_MSG_USERAUTH_FAILURE: extract(unpack('Nmethodlistlen', $this->_string_shift($response, 4))); $this->auth_methods_to_continue = explode(',', $this->_string_shift($response, $methodlistlen)); default: return false; } } $packet = pack( 'CNa*Na*Na*CNa*', NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', strlen('password'), 'password', 0, strlen($password), $password ); // remove the username and password from the logged packet if (!defined('NET_SSH2_LOGGING')) { $logged = null; } else { $logged = pack( 'CNa*Na*Na*CNa*', NET_SSH2_MSG_USERAUTH_REQUEST, strlen('username'), 'username', strlen('ssh-connection'), 'ssh-connection', strlen('password'), 'password', 0, strlen('password'), 'password' ); } if (!$this->_send_binary_packet($packet, $logged)) { return false; } $response = $this->_get_binary_packet(); if ($response === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } if (!strlen($response)) { return false; } extract(unpack('Ctype', $this->_string_shift($response, 1))); switch ($type) { case NET_SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ: // in theory, the password can be changed $this->_updateLogHistory('UNKNOWN (60)', 'NET_SSH2_MSG_USERAUTH_PASSWD_CHANGEREQ'); if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $this->errors[] = 'SSH_MSG_USERAUTH_PASSWD_CHANGEREQ: ' . $this->_string_shift($response, $length); return $this->_disconnect(NET_SSH2_DISCONNECT_AUTH_CANCELLED_BY_USER); case NET_SSH2_MSG_USERAUTH_FAILURE: // can we use keyboard-interactive authentication? if not then either the login is bad or the server employees // multi-factor authentication if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $auth_methods = explode(',', $this->_string_shift($response, $length)); $this->auth_methods_to_continue = $auth_methods; if (!strlen($response)) { return false; } extract(unpack('Cpartial_success', $this->_string_shift($response, 1))); $partial_success = $partial_success != 0; if (!$partial_success && in_array('keyboard-interactive', $auth_methods)) { if ($this->_keyboard_interactive_login($username, $password)) { $this->bitmap |= self::MASK_LOGIN; return true; } return false; } return false; case NET_SSH2_MSG_USERAUTH_SUCCESS: $this->bitmap |= self::MASK_LOGIN; return true; } return false; } /** * Login via keyboard-interactive authentication * * See {@link http://tools.ietf.org/html/rfc4256 RFC4256} for details. This is not a full-featured keyboard-interactive authenticator. * * @param string $username * @param string $password * @return bool * @access private */ function _keyboard_interactive_login($username, $password) { $packet = pack( 'CNa*Na*Na*Na*Na*', NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', strlen('keyboard-interactive'), 'keyboard-interactive', 0, '', 0, '' ); if (!$this->_send_binary_packet($packet)) { return false; } return $this->_keyboard_interactive_process($password); } /** * Handle the keyboard-interactive requests / responses. * * @return bool * @access private */ function _keyboard_interactive_process() { $responses = func_get_args(); if (strlen($this->last_interactive_response)) { $response = $this->last_interactive_response; } else { $orig = $response = $this->_get_binary_packet(); if ($response === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } } if (!strlen($response)) { return false; } extract(unpack('Ctype', $this->_string_shift($response, 1))); switch ($type) { case NET_SSH2_MSG_USERAUTH_INFO_REQUEST: if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $this->_string_shift($response, $length); // name; may be empty if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $this->_string_shift($response, $length); // instruction; may be empty if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $this->_string_shift($response, $length); // language tag; may be empty if (strlen($response) < 4) { return false; } extract(unpack('Nnum_prompts', $this->_string_shift($response, 4))); for ($i = 0; $i < count($responses); $i++) { if (is_array($responses[$i])) { foreach ($responses[$i] as $key => $value) { $this->keyboard_requests_responses[$key] = $value; } unset($responses[$i]); } } $responses = array_values($responses); if (isset($this->keyboard_requests_responses)) { for ($i = 0; $i < $num_prompts; $i++) { if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); // prompt - ie. "Password: "; must not be empty $prompt = $this->_string_shift($response, $length); //$echo = $this->_string_shift($response) != chr(0); foreach ($this->keyboard_requests_responses as $key => $value) { if (substr($prompt, 0, strlen($key)) == $key) { $responses[] = $value; break; } } } } // see http://tools.ietf.org/html/rfc4256#section-3.2 if (strlen($this->last_interactive_response)) { $this->last_interactive_response = ''; } else { $this->_updateLogHistory('UNKNOWN (60)', 'NET_SSH2_MSG_USERAUTH_INFO_REQUEST'); } if (!count($responses) && $num_prompts) { $this->last_interactive_response = $orig; return false; } /* After obtaining the requested information from the user, the client MUST respond with an SSH_MSG_USERAUTH_INFO_RESPONSE message. */ // see http://tools.ietf.org/html/rfc4256#section-3.4 $packet = $logged = pack('CN', NET_SSH2_MSG_USERAUTH_INFO_RESPONSE, count($responses)); for ($i = 0; $i < count($responses); $i++) { $packet.= pack('Na*', strlen($responses[$i]), $responses[$i]); $logged.= pack('Na*', strlen('dummy-answer'), 'dummy-answer'); } if (!$this->_send_binary_packet($packet, $logged)) { return false; } $this->_updateLogHistory('UNKNOWN (61)', 'NET_SSH2_MSG_USERAUTH_INFO_RESPONSE'); /* After receiving the response, the server MUST send either an SSH_MSG_USERAUTH_SUCCESS, SSH_MSG_USERAUTH_FAILURE, or another SSH_MSG_USERAUTH_INFO_REQUEST message. */ // maybe phpseclib should force close the connection after x request / responses? unless something like that is done // there could be an infinite loop of request / responses. return $this->_keyboard_interactive_process(); case NET_SSH2_MSG_USERAUTH_SUCCESS: return true; case NET_SSH2_MSG_USERAUTH_FAILURE: extract(unpack('Nmethodlistlen', $this->_string_shift($response, 4))); $this->auth_methods_to_continue = explode(',', $this->_string_shift($response, $methodlistlen)); return false; } return false; } /** * Login with an ssh-agent provided key * * @param string $username * @param \phpseclib\System\SSH\Agent $agent * @return bool * @access private */ function _ssh_agent_login($username, $agent) { $this->agent = $agent; $keys = $agent->requestIdentities(); foreach ($keys as $key) { if ($this->_privatekey_login($username, $key)) { return true; } } return false; } /** * Login with an RSA private key * * @param string $username * @param \phpseclib\Crypt\RSA $privatekey * @return bool * @access private * @internal It might be worthwhile, at some point, to protect against {@link http://tools.ietf.org/html/rfc4251#section-9.3.9 traffic analysis} * by sending dummy SSH_MSG_IGNORE messages. */ function _privatekey_login($username, $privatekey) { // see http://tools.ietf.org/html/rfc4253#page-15 $publickey = $privatekey->getPublicKey(RSA::PUBLIC_FORMAT_RAW); if ($publickey === false) { return false; } $publickey = array( 'e' => $publickey['e']->toBytes(true), 'n' => $publickey['n']->toBytes(true) ); $publickey = pack( 'Na*Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($publickey['e']), $publickey['e'], strlen($publickey['n']), $publickey['n'] ); $algos = array('rsa-sha2-256', 'rsa-sha2-512', 'ssh-rsa'); if (isset($this->preferred['hostkey'])) { $algos = array_intersect($algos, $this->preferred['hostkey']); } $algo = $this->_array_intersect_first($algos, $this->supported_private_key_algorithms); switch ($algo) { case 'rsa-sha2-512': $hash = 'sha512'; $signatureType = 'rsa-sha2-512'; break; case 'rsa-sha2-256': $hash = 'sha256'; $signatureType = 'rsa-sha2-256'; break; //case 'ssh-rsa': default: $hash = 'sha1'; $signatureType = 'ssh-rsa'; } $part1 = pack( 'CNa*Na*Na*', NET_SSH2_MSG_USERAUTH_REQUEST, strlen($username), $username, strlen('ssh-connection'), 'ssh-connection', strlen('publickey'), 'publickey' ); $part2 = pack('Na*Na*', strlen($signatureType), $signatureType, strlen($publickey), $publickey); $packet = $part1 . chr(0) . $part2; if (!$this->_send_binary_packet($packet)) { return false; } $response = $this->_get_binary_packet(); if ($response === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } if (!strlen($response)) { return false; } extract(unpack('Ctype', $this->_string_shift($response, 1))); switch ($type) { case NET_SSH2_MSG_USERAUTH_FAILURE: if (strlen($response) < 4) { return false; } extract(unpack('Nmethodlistlen', $this->_string_shift($response, 4))); $auth_methods = explode(',', $this->_string_shift($response, $methodlistlen)); if (in_array('publickey', $auth_methods) && substr($signatureType, 0, 9) == 'rsa-sha2-') { $this->supported_private_key_algorithms = array_diff($this->supported_private_key_algorithms, array('rsa-sha2-256', 'rsa-sha2-512')); return $this->_privatekey_login($username, $privatekey); } $this->auth_methods_to_continue = $auth_methods; $this->errors[] = 'SSH_MSG_USERAUTH_FAILURE'; return false; case NET_SSH2_MSG_USERAUTH_PK_OK: // we'll just take it on faith that the public key blob and the public key algorithm name are as // they should be $this->_updateLogHistory('UNKNOWN (60)', 'NET_SSH2_MSG_USERAUTH_PK_OK'); break; case NET_SSH2_MSG_USERAUTH_SUCCESS: $this->bitmap |= self::MASK_LOGIN; return true; default: user_error('Unexpected response to publickey authentication pt 1'); return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); } $packet = $part1 . chr(1) . $part2; $privatekey->setSignatureMode(RSA::SIGNATURE_PKCS1); $privatekey->setHash($hash); $signature = $privatekey->sign(pack('Na*a*', strlen($this->session_id), $this->session_id, $packet)); $signature = pack('Na*Na*', strlen($signatureType), $signatureType, strlen($signature), $signature); $packet.= pack('Na*', strlen($signature), $signature); if (!$this->_send_binary_packet($packet)) { return false; } $response = $this->_get_binary_packet(); if ($response === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } if (!strlen($response)) { return false; } extract(unpack('Ctype', $this->_string_shift($response, 1))); switch ($type) { case NET_SSH2_MSG_USERAUTH_FAILURE: // either the login is bad or the server employs multi-factor authentication extract(unpack('Nmethodlistlen', $this->_string_shift($response, 4))); $this->auth_methods_to_continue = explode(',', $this->_string_shift($response, $methodlistlen)); return false; case NET_SSH2_MSG_USERAUTH_SUCCESS: $this->bitmap |= self::MASK_LOGIN; return true; } user_error('Unexpected response to publickey authentication pt 2'); return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); } /** * Return the currently configured timeout * * @return int */ function getTimeout() { return $this->timeout; } /** * Set Timeout * * $ssh->exec('ping 127.0.0.1'); on a Linux host will never return and will run indefinitely. setTimeout() makes it so it'll timeout. * Setting $timeout to false or 0 will mean there is no timeout. * * @param mixed $timeout * @access public */ function setTimeout($timeout) { $this->timeout = $this->curTimeout = $timeout; } /** * Set Keep Alive * * Sends an SSH2_MSG_IGNORE message every x seconds, if x is a positive non-zero number. * * @param int $interval * @access public */ function setKeepAlive($interval) { $this->keepAlive = $interval; } /** * Get the output from stdError * * @access public */ function getStdError() { return $this->stdErrorLog; } /** * Execute Command * * If $callback is set to false then \phpseclib\Net\SSH2::_get_channel_packet(self::CHANNEL_EXEC) will need to be called manually. * In all likelihood, this is not a feature you want to be taking advantage of. * * @param string $command * @param Callback $callback * @return string * @access public */ function exec($command, $callback = null) { $this->curTimeout = $this->timeout; $this->is_timeout = false; $this->stdErrorLog = ''; if (!$this->isAuthenticated()) { return false; } if ($this->in_request_pty_exec) { user_error('If you want to run multiple exec()\'s you will need to disable (and re-enable if appropriate) a PTY for each one.'); return false; } // RFC4254 defines the (client) window size as "bytes the other party can send before it must wait for the window to // be adjusted". 0x7FFFFFFF is, at 2GB, the max size. technically, it should probably be decremented, but, // honestly, if you're transferring more than 2GB, you probably shouldn't be using phpseclib, anyway. // see http://tools.ietf.org/html/rfc4254#section-5.2 for more info $this->window_size_server_to_client[self::CHANNEL_EXEC] = $this->window_size; // 0x8000 is the maximum max packet size, per http://tools.ietf.org/html/rfc4253#section-6.1, although since PuTTy // uses 0x4000, that's what will be used here, as well. $packet_size = 0x4000; $packet = pack( 'CNa*N3', NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', self::CHANNEL_EXEC, $this->window_size_server_to_client[self::CHANNEL_EXEC], $packet_size ); if (!$this->_send_binary_packet($packet)) { return false; } $this->channel_status[self::CHANNEL_EXEC] = NET_SSH2_MSG_CHANNEL_OPEN; $response = $this->_get_channel_packet(self::CHANNEL_EXEC); if ($response === false) { return false; } if ($this->request_pty === true) { $terminal_modes = pack('C', NET_SSH2_TTY_OP_END); $packet = pack( 'CNNa*CNa*N5a*', NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[self::CHANNEL_EXEC], strlen('pty-req'), 'pty-req', 1, strlen('vt100'), 'vt100', $this->windowColumns, $this->windowRows, 0, 0, strlen($terminal_modes), $terminal_modes ); if (!$this->_send_binary_packet($packet)) { return false; } $this->channel_status[self::CHANNEL_EXEC] = NET_SSH2_MSG_CHANNEL_REQUEST; if (!$this->_get_channel_packet(self::CHANNEL_EXEC)) { user_error('Unable to request pseudo-terminal'); return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); } $this->in_request_pty_exec = true; } // sending a pty-req SSH_MSG_CHANNEL_REQUEST message is unnecessary and, in fact, in most cases, slows things // down. the one place where it might be desirable is if you're doing something like \phpseclib\Net\SSH2::exec('ping localhost &'). // with a pty-req SSH_MSG_CHANNEL_REQUEST, exec() will return immediately and the ping process will then // then immediately terminate. without such a request exec() will loop indefinitely. the ping process won't end but // neither will your script. // although, in theory, the size of SSH_MSG_CHANNEL_REQUEST could exceed the maximum packet size established by // SSH_MSG_CHANNEL_OPEN_CONFIRMATION, RFC4254#section-5.1 states that the "maximum packet size" refers to the // "maximum size of an individual data packet". ie. SSH_MSG_CHANNEL_DATA. RFC4254#section-5.2 corroborates. $packet = pack( 'CNNa*CNa*', NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[self::CHANNEL_EXEC], strlen('exec'), 'exec', 1, strlen($command), $command ); if (!$this->_send_binary_packet($packet)) { return false; } $this->channel_status[self::CHANNEL_EXEC] = NET_SSH2_MSG_CHANNEL_REQUEST; $response = $this->_get_channel_packet(self::CHANNEL_EXEC); if ($response === false) { return false; } $this->channel_status[self::CHANNEL_EXEC] = NET_SSH2_MSG_CHANNEL_DATA; if ($callback === false || $this->in_request_pty_exec) { return true; } $output = ''; while (true) { $temp = $this->_get_channel_packet(self::CHANNEL_EXEC); switch (true) { case $temp === true: return is_callable($callback) ? true : $output; case $temp === false: return false; default: if (is_callable($callback)) { if (call_user_func($callback, $temp) === true) { $this->_close_channel(self::CHANNEL_EXEC); return true; } } else { $output.= $temp; } } } } /** * Creates an interactive shell * * @see self::read() * @see self::write() * @return bool * @access private */ function _initShell() { if ($this->in_request_pty_exec === true) { return true; } $this->window_size_server_to_client[self::CHANNEL_SHELL] = $this->window_size; $packet_size = 0x4000; $packet = pack( 'CNa*N3', NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', self::CHANNEL_SHELL, $this->window_size_server_to_client[self::CHANNEL_SHELL], $packet_size ); if (!$this->_send_binary_packet($packet)) { return false; } $this->channel_status[self::CHANNEL_SHELL] = NET_SSH2_MSG_CHANNEL_OPEN; $response = $this->_get_channel_packet(self::CHANNEL_SHELL); if ($response === false) { return false; } $terminal_modes = pack('C', NET_SSH2_TTY_OP_END); $packet = pack( 'CNNa*CNa*N5a*', NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[self::CHANNEL_SHELL], strlen('pty-req'), 'pty-req', 1, strlen('vt100'), 'vt100', $this->windowColumns, $this->windowRows, 0, 0, strlen($terminal_modes), $terminal_modes ); if (!$this->_send_binary_packet($packet)) { return false; } $this->channel_status[self::CHANNEL_SHELL] = NET_SSH2_MSG_CHANNEL_REQUEST; if (!$this->_get_channel_packet(self::CHANNEL_SHELL)) { user_error('Unable to request pseudo-terminal'); return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); } $packet = pack( 'CNNa*C', NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[self::CHANNEL_SHELL], strlen('shell'), 'shell', 1 ); if (!$this->_send_binary_packet($packet)) { return false; } $response = $this->_get_channel_packet(self::CHANNEL_SHELL); if ($response === false) { return false; } $this->channel_status[self::CHANNEL_SHELL] = NET_SSH2_MSG_CHANNEL_DATA; $this->bitmap |= self::MASK_SHELL; return true; } /** * Return the channel to be used with read() / write() * * @see self::read() * @see self::write() * @return int * @access public */ function _get_interactive_channel() { switch (true) { case $this->in_subsystem: return self::CHANNEL_SUBSYSTEM; case $this->in_request_pty_exec: return self::CHANNEL_EXEC; default: return self::CHANNEL_SHELL; } } /** * Return an available open channel * * @return int * @access public */ function _get_open_channel() { $channel = self::CHANNEL_EXEC; do { if (isset($this->channel_status[$channel]) && $this->channel_status[$channel] == NET_SSH2_MSG_CHANNEL_OPEN) { return $channel; } } while ($channel++ < self::CHANNEL_SUBSYSTEM); return false; } /** * Returns the output of an interactive shell * * Returns when there's a match for $expect, which can take the form of a string literal or, * if $mode == self::READ_REGEX, a regular expression. * * @see self::write() * @param string $expect * @param int $mode * @return string|bool * @access public */ function read($expect = '', $mode = self::READ_SIMPLE) { $this->curTimeout = $this->timeout; $this->is_timeout = false; if (!$this->isAuthenticated()) { user_error('Operation disallowed prior to login()'); return false; } if (!($this->bitmap & self::MASK_SHELL) && !$this->_initShell()) { user_error('Unable to initiate an interactive shell session'); return false; } $channel = $this->_get_interactive_channel(); if ($mode == self::READ_NEXT) { return $this->_get_channel_packet($channel); } $match = $expect; while (true) { if ($mode == self::READ_REGEX) { preg_match($expect, substr($this->interactiveBuffer, -1024), $matches); $match = isset($matches[0]) ? $matches[0] : ''; } $pos = strlen($match) ? strpos($this->interactiveBuffer, $match) : false; if ($pos !== false) { return $this->_string_shift($this->interactiveBuffer, $pos + strlen($match)); } $response = $this->_get_channel_packet($channel); if (is_bool($response)) { $this->in_request_pty_exec = false; return $response ? $this->_string_shift($this->interactiveBuffer, strlen($this->interactiveBuffer)) : false; } $this->interactiveBuffer.= $response; } } /** * Inputs a command into an interactive shell. * * @see self::read() * @param string $cmd * @return bool * @access public */ function write($cmd) { if (!$this->isAuthenticated()) { user_error('Operation disallowed prior to login()'); return false; } if (!($this->bitmap & self::MASK_SHELL) && !$this->_initShell()) { user_error('Unable to initiate an interactive shell session'); return false; } return $this->_send_channel_packet($this->_get_interactive_channel(), $cmd); } /** * Start a subsystem. * * Right now only one subsystem at a time is supported. To support multiple subsystem's stopSubsystem() could accept * a string that contained the name of the subsystem, but at that point, only one subsystem of each type could be opened. * To support multiple subsystem's of the same name maybe it'd be best if startSubsystem() generated a new channel id and * returns that and then that that was passed into stopSubsystem() but that'll be saved for a future date and implemented * if there's sufficient demand for such a feature. * * @see self::stopSubsystem() * @param string $subsystem * @return bool * @access public */ function startSubsystem($subsystem) { $this->window_size_server_to_client[self::CHANNEL_SUBSYSTEM] = $this->window_size; $packet = pack( 'CNa*N3', NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', self::CHANNEL_SUBSYSTEM, $this->window_size, 0x4000 ); if (!$this->_send_binary_packet($packet)) { return false; } $this->channel_status[self::CHANNEL_SUBSYSTEM] = NET_SSH2_MSG_CHANNEL_OPEN; $response = $this->_get_channel_packet(self::CHANNEL_SUBSYSTEM); if ($response === false) { return false; } $packet = pack( 'CNNa*CNa*', NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[self::CHANNEL_SUBSYSTEM], strlen('subsystem'), 'subsystem', 1, strlen($subsystem), $subsystem ); if (!$this->_send_binary_packet($packet)) { return false; } $this->channel_status[self::CHANNEL_SUBSYSTEM] = NET_SSH2_MSG_CHANNEL_REQUEST; $response = $this->_get_channel_packet(self::CHANNEL_SUBSYSTEM); if ($response === false) { return false; } $this->channel_status[self::CHANNEL_SUBSYSTEM] = NET_SSH2_MSG_CHANNEL_DATA; $this->bitmap |= self::MASK_SHELL; $this->in_subsystem = true; return true; } /** * Stops a subsystem. * * @see self::startSubsystem() * @return bool * @access public */ function stopSubsystem() { $this->in_subsystem = false; $this->_close_channel(self::CHANNEL_SUBSYSTEM); return true; } /** * Closes a channel * * If read() timed out you might want to just close the channel and have it auto-restart on the next read() call * * @access public */ function reset() { $this->_close_channel($this->_get_interactive_channel()); } /** * Is timeout? * * Did exec() or read() return because they timed out or because they encountered the end? * * @access public */ function isTimeout() { return $this->is_timeout; } /** * Disconnect * * @access public */ function disconnect() { $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); if (isset($this->realtime_log_file) && is_resource($this->realtime_log_file)) { fclose($this->realtime_log_file); } } /** * Destructor. * * Will be called, automatically, if you're supporting just PHP5. If you're supporting PHP4, you'll need to call * disconnect(). * * @access public */ function __destruct() { $this->disconnect(); } /** * Is the connection still active? * * @return bool * @access public */ function isConnected() { return ($this->bitmap & self::MASK_CONNECTED) && is_resource($this->fsock) && !feof($this->fsock); } /** * Have you successfully been logged in? * * @return bool * @access public */ function isAuthenticated() { return (bool) ($this->bitmap & self::MASK_LOGIN); } /** * Pings a server connection, or tries to reconnect if the connection has gone down * * Inspired by http://php.net/manual/en/mysqli.ping.php * * @return bool * @access public */ function ping() { if (!$this->isAuthenticated()) { if (!empty($this->auth)) { return $this->_reconnect(); } return false; } $this->window_size_server_to_client[self::CHANNEL_KEEP_ALIVE] = $this->window_size; $packet_size = 0x4000; $packet = pack( 'CNa*N3', NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', self::CHANNEL_KEEP_ALIVE, $this->window_size_server_to_client[self::CHANNEL_KEEP_ALIVE], $packet_size ); if (!@$this->_send_binary_packet($packet)) { return $this->_reconnect(); } $this->channel_status[self::CHANNEL_KEEP_ALIVE] = NET_SSH2_MSG_CHANNEL_OPEN; $response = @$this->_get_channel_packet(self::CHANNEL_KEEP_ALIVE); if ($response !== false) { $this->_close_channel(self::CHANNEL_KEEP_ALIVE); return true; } return $this->_reconnect(); } /** * In situ reconnect method * * @return boolean * @access private */ function _reconnect() { $this->_reset_connection(NET_SSH2_DISCONNECT_CONNECTION_LOST); $this->retry_connect = true; if (!$this->_connect()) { return false; } foreach ($this->auth as $auth) { $result = call_user_func_array(array(&$this, 'login'), $auth); } return $result; } /** * Resets a connection for re-use * * @param int $reason * @access private */ function _reset_connection($reason) { $this->_disconnect($reason); $this->decrypt = $this->encrypt = false; $this->decrypt_block_size = $this->encrypt_block_size = 8; $this->hmac_check = $this->hmac_create = false; $this->hmac_size = false; $this->session_id = false; $this->retry_connect = true; $this->get_seq_no = $this->send_seq_no = 0; } /** * Gets Binary Packets * * See '6. Binary Packet Protocol' of rfc4253 for more info. * * @see self::_send_binary_packet() * @return string * @access private */ function _get_binary_packet($skip_channel_filter = false) { if ($skip_channel_filter) { $read = array($this->fsock); $write = $except = null; if (!$this->curTimeout) { if ($this->keepAlive <= 0) { @stream_select($read, $write, $except, null); } else { if (!@stream_select($read, $write, $except, $this->keepAlive) && !count($read)) { $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_IGNORE, 0)); return $this->_get_binary_packet(true); } } } else { if ($this->curTimeout < 0) { $this->is_timeout = true; return true; } $read = array($this->fsock); $write = $except = null; $start = microtime(true); if ($this->keepAlive > 0 && $this->keepAlive < $this->curTimeout) { if (!@stream_select($read, $write, $except, $this->keepAlive) && !count($read)) { $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_IGNORE, 0)); $elapsed = microtime(true) - $start; $this->curTimeout-= $elapsed; return $this->_get_binary_packet(true); } $elapsed = microtime(true) - $start; $this->curTimeout-= $elapsed; } $sec = (int)floor($this->curTimeout); $usec = (int)(1000000 * ($this->curTimeout - $sec)); // on windows this returns a "Warning: Invalid CRT parameters detected" error if (!@stream_select($read, $write, $except, $sec, $usec) && !count($read)) { $this->is_timeout = true; return true; } $elapsed = microtime(true) - $start; $this->curTimeout-= $elapsed; } } if (!is_resource($this->fsock) || feof($this->fsock)) { $this->bitmap = 0; $str = 'Connection closed (by server) prematurely'; if (isset($elapsed)) { $str.= ' ' . $elapsed . 's'; } user_error($str); return false; } $start = microtime(true); $sec = (int) floor($this->curTimeout); $usec = (int) (1000000 * ($this->curTimeout - $sec)); stream_set_timeout($this->fsock, $sec, $usec); $raw = stream_get_contents($this->fsock, $this->decrypt_block_size); if (!strlen($raw)) { user_error('No data received from server'); return false; } if ($this->decrypt !== false) { $raw = $this->decrypt->decrypt($raw); } if ($raw === false) { user_error('Unable to decrypt content'); return false; } if (strlen($raw) < 5) { return false; } extract(unpack('Npacket_length/Cpadding_length', $this->_string_shift($raw, 5))); $remaining_length = $packet_length + 4 - $this->decrypt_block_size; // quoting , // "implementations SHOULD check that the packet length is reasonable" // PuTTY uses 0x9000 as the actual max packet size and so to shall we if ($remaining_length < -$this->decrypt_block_size || $remaining_length > 0x9000 || $remaining_length % $this->decrypt_block_size != 0) { if (!$this->bad_key_size_fix && $this->_bad_algorithm_candidate($this->decryptName) && !($this->bitmap & SSH2::MASK_LOGIN)) { $this->bad_key_size_fix = true; $this->_reset_connection(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); return false; } user_error('Invalid size'); return false; } $buffer = ''; while ($remaining_length > 0) { $temp = stream_get_contents($this->fsock, $remaining_length); if ($temp === false || feof($this->fsock)) { $this->bitmap = 0; user_error('Error reading from socket'); return false; } $buffer.= $temp; $remaining_length-= strlen($temp); } $stop = microtime(true); if (strlen($buffer)) { $raw.= $this->decrypt !== false ? $this->decrypt->decrypt($buffer) : $buffer; } $payload = $this->_string_shift($raw, $packet_length - $padding_length - 1); $padding = $this->_string_shift($raw, $padding_length); // should leave $raw empty if ($this->hmac_check !== false) { $hmac = stream_get_contents($this->fsock, $this->hmac_size); if ($hmac === false || strlen($hmac) != $this->hmac_size) { $this->bitmap = 0; user_error('Error reading socket'); return false; } elseif ($hmac != $this->hmac_check->hash(pack('NNCa*', $this->get_seq_no, $packet_length, $padding_length, $payload . $padding))) { user_error('Invalid HMAC'); return false; } } switch ($this->decompress) { case self::NET_SSH2_COMPRESSION_ZLIB_AT_OPENSSH: if (!$this->isAuthenticated()) { break; } case self::NET_SSH2_COMPRESSION_ZLIB: if ($this->regenerate_decompression_context) { $this->regenerate_decompression_context = false; $cmf = ord($payload[0]); $cm = $cmf & 0x0F; if ($cm != 8) { // deflate user_error("Only CM = 8 ('deflate') is supported ($cm)"); } $cinfo = ($cmf & 0xF0) >> 4; if ($cinfo > 7) { user_error("CINFO above 7 is not allowed ($cinfo)"); } $windowSize = 1 << ($cinfo + 8); $flg = ord($payload[1]); //$fcheck = $flg && 0x0F; if ((($cmf << 8) | $flg) % 31) { user_error('fcheck failed'); } $fdict = boolval($flg & 0x20); $flevel = ($flg & 0xC0) >> 6; $this->decompress_context = inflate_init(ZLIB_ENCODING_RAW, array('window' => $cinfo + 8)); $payload = substr($payload, 2); } if ($this->decompress_context) { $payload = inflate_add($this->decompress_context, $payload, ZLIB_PARTIAL_FLUSH); } } $this->get_seq_no++; if (defined('NET_SSH2_LOGGING')) { $current = microtime(true); $message_number = isset($this->message_numbers[ord($payload[0])]) ? $this->message_numbers[ord($payload[0])] : 'UNKNOWN (' . ord($payload[0]) . ')'; $message_number = '<- ' . $message_number . ' (since last: ' . round($current - $this->last_packet, 4) . ', network: ' . round($stop - $start, 4) . 's)'; $this->_append_log($message_number, $payload); $this->last_packet = $current; } return $this->_filter($payload, $skip_channel_filter); } /** * Filter Binary Packets * * Because some binary packets need to be ignored... * * @see self::_get_binary_packet() * @return string * @access private */ function _filter($payload, $skip_channel_filter) { switch (ord($payload[0])) { case NET_SSH2_MSG_DISCONNECT: $this->_string_shift($payload, 1); if (strlen($payload) < 8) { return false; } extract(unpack('Nreason_code/Nlength', $this->_string_shift($payload, 8))); $this->errors[] = 'SSH_MSG_DISCONNECT: ' . $this->disconnect_reasons[$reason_code] . "\r\n" . $this->_string_shift($payload, $length); $this->bitmap = 0; return false; case NET_SSH2_MSG_IGNORE: $this->extra_packets++; $payload = $this->_get_binary_packet($skip_channel_filter); break; case NET_SSH2_MSG_DEBUG: $this->extra_packets++; $this->_string_shift($payload, 2); if (strlen($payload) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($payload, 4))); $this->errors[] = 'SSH_MSG_DEBUG: ' . $this->_string_shift($payload, $length); $payload = $this->_get_binary_packet($skip_channel_filter); break; case NET_SSH2_MSG_UNIMPLEMENTED: return false; case NET_SSH2_MSG_KEXINIT: // this is here for key re-exchanges after the initial key exchange if ($this->session_id !== false) { $this->send_kex_first = false; if (!$this->_key_exchange($payload)) { $this->bitmap = 0; return false; } $payload = $this->_get_binary_packet($skip_channel_filter); } } // see http://tools.ietf.org/html/rfc4252#section-5.4; only called when the encryption has been activated and when we haven't already logged in if (($this->bitmap & self::MASK_CONNECTED) && !$this->isAuthenticated() && ord($payload[0]) == NET_SSH2_MSG_USERAUTH_BANNER) { $this->_string_shift($payload, 1); if (strlen($payload) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($payload, 4))); $this->banner_message = $this->_string_shift($payload, $length); $payload = $this->_get_binary_packet(); } // only called when we've already logged in if (($this->bitmap & self::MASK_CONNECTED) && $this->isAuthenticated()) { if (is_bool($payload)) { return $payload; } switch (ord($payload[0])) { case NET_SSH2_MSG_CHANNEL_REQUEST: if (strlen($payload) == 31) { extract(unpack('cpacket_type/Nchannel/Nlength', $payload)); if (substr($payload, 9, $length) == 'keepalive@openssh.com' && isset($this->server_channels[$channel])) { if (ord(substr($payload, 9 + $length))) { // want reply $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_SUCCESS, $this->server_channels[$channel])); } $payload = $this->_get_binary_packet($skip_channel_filter); } } break; case NET_SSH2_MSG_CHANNEL_DATA: case NET_SSH2_MSG_CHANNEL_EXTENDED_DATA: case NET_SSH2_MSG_CHANNEL_CLOSE: case NET_SSH2_MSG_CHANNEL_EOF: if (!$skip_channel_filter && !empty($this->server_channels)) { $this->binary_packet_buffer = $payload; $this->_get_channel_packet(true); $payload = $this->_get_binary_packet(); } break; case NET_SSH2_MSG_GLOBAL_REQUEST: // see http://tools.ietf.org/html/rfc4254#section-4 if (strlen($payload) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($payload, 4))); $this->errors[] = 'SSH_MSG_GLOBAL_REQUEST: ' . $this->_string_shift($payload, $length); if (!$this->_send_binary_packet(pack('C', NET_SSH2_MSG_REQUEST_FAILURE))) { return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); } $payload = $this->_get_binary_packet($skip_channel_filter); break; case NET_SSH2_MSG_CHANNEL_OPEN: // see http://tools.ietf.org/html/rfc4254#section-5.1 $this->_string_shift($payload, 1); if (strlen($payload) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($payload, 4))); $data = $this->_string_shift($payload, $length); if (strlen($payload) < 4) { return false; } extract(unpack('Nserver_channel', $this->_string_shift($payload, 4))); switch ($data) { case 'auth-agent': case 'auth-agent@openssh.com': if (isset($this->agent)) { $new_channel = self::CHANNEL_AGENT_FORWARD; if (strlen($payload) < 8) { return false; } extract(unpack('Nremote_window_size', $this->_string_shift($payload, 4))); extract(unpack('Nremote_maximum_packet_size', $this->_string_shift($payload, 4))); $this->packet_size_client_to_server[$new_channel] = $remote_window_size; $this->window_size_server_to_client[$new_channel] = $remote_maximum_packet_size; $this->window_size_client_to_server[$new_channel] = $this->window_size; $packet_size = 0x4000; $packet = pack( 'CN4', NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION, $server_channel, $new_channel, $packet_size, $packet_size ); $this->server_channels[$new_channel] = $server_channel; $this->channel_status[$new_channel] = NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION; if (!$this->_send_binary_packet($packet)) { return false; } } break; default: $packet = pack( 'CN3a*Na*', NET_SSH2_MSG_REQUEST_FAILURE, $server_channel, NET_SSH2_OPEN_ADMINISTRATIVELY_PROHIBITED, 0, '', 0, '' ); if (!$this->_send_binary_packet($packet)) { return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); } } $payload = $this->_get_binary_packet($skip_channel_filter); break; case NET_SSH2_MSG_CHANNEL_WINDOW_ADJUST: $this->_string_shift($payload, 1); if (strlen($payload) < 8) { return false; } extract(unpack('Nchannel', $this->_string_shift($payload, 4))); extract(unpack('Nwindow_size', $this->_string_shift($payload, 4))); $this->window_size_client_to_server[$channel]+= $window_size; $payload = ($this->bitmap & self::MASK_WINDOW_ADJUST) ? true : $this->_get_binary_packet($skip_channel_filter); } } return $payload; } /** * Enable Quiet Mode * * Suppress stderr from output * * @access public */ function enableQuietMode() { $this->quiet_mode = true; } /** * Disable Quiet Mode * * Show stderr in output * * @access public */ function disableQuietMode() { $this->quiet_mode = false; } /** * Returns whether Quiet Mode is enabled or not * * @see self::enableQuietMode() * @see self::disableQuietMode() * @access public * @return bool */ function isQuietModeEnabled() { return $this->quiet_mode; } /** * Enable request-pty when using exec() * * @access public */ function enablePTY() { $this->request_pty = true; } /** * Disable request-pty when using exec() * * @access public */ function disablePTY() { if ($this->in_request_pty_exec) { $this->_close_channel(self::CHANNEL_EXEC); $this->in_request_pty_exec = false; } $this->request_pty = false; } /** * Returns whether request-pty is enabled or not * * @see self::enablePTY() * @see self::disablePTY() * @access public * @return bool */ function isPTYEnabled() { return $this->request_pty; } /** * Gets channel data * * Returns the data as a string if it's available and false if not. * * @param int $client_channel * @param bool $skip_extended * @return mixed|bool * @access private */ function _get_channel_packet($client_channel, $skip_extended = false) { if (!empty($this->channel_buffers[$client_channel])) { switch ($this->channel_status[$client_channel]) { case NET_SSH2_MSG_CHANNEL_REQUEST: foreach ($this->channel_buffers[$client_channel] as $i => $packet) { switch (ord($packet[0])) { case NET_SSH2_MSG_CHANNEL_SUCCESS: case NET_SSH2_MSG_CHANNEL_FAILURE: unset($this->channel_buffers[$client_channel][$i]); return substr($packet, 1); } } break; default: return substr(array_shift($this->channel_buffers[$client_channel]), 1); } } while (true) { if ($this->binary_packet_buffer !== false) { $response = $this->binary_packet_buffer; $this->binary_packet_buffer = false; } else { $response = $this->_get_binary_packet(true); if ($response === true && $this->is_timeout) { if ($client_channel == self::CHANNEL_EXEC && !$this->request_pty) { $this->_close_channel($client_channel); } return true; } if ($response === false) { $this->bitmap = 0; user_error('Connection closed by server'); return false; } } if ($client_channel == -1 && $response === true) { return true; } if (!strlen($response)) { return false; } extract(unpack('Ctype', $this->_string_shift($response, 1))); if (strlen($response) < 4) { return false; } if ($type == NET_SSH2_MSG_CHANNEL_OPEN) { extract(unpack('Nlength', $this->_string_shift($response, 4))); } else { extract(unpack('Nchannel', $this->_string_shift($response, 4))); } // will not be setup yet on incoming channel open request if (isset($channel) && isset($this->channel_status[$channel]) && isset($this->window_size_server_to_client[$channel])) { $this->window_size_server_to_client[$channel]-= strlen($response); // resize the window, if appropriate if ($this->window_size_server_to_client[$channel] < 0) { // PuTTY does something more analogous to the following: //if ($this->window_size_server_to_client[$channel] < 0x3FFFFFFF) { $packet = pack('CNN', NET_SSH2_MSG_CHANNEL_WINDOW_ADJUST, $this->server_channels[$channel], $this->window_resize); if (!$this->_send_binary_packet($packet)) { return false; } $this->window_size_server_to_client[$channel]+= $this->window_resize; } switch ($type) { case NET_SSH2_MSG_CHANNEL_EXTENDED_DATA: /* if ($client_channel == self::CHANNEL_EXEC) { $this->_send_channel_packet($client_channel, chr(0)); } */ // currently, there's only one possible value for $data_type_code: NET_SSH2_EXTENDED_DATA_STDERR if (strlen($response) < 8) { return false; } extract(unpack('Ndata_type_code/Nlength', $this->_string_shift($response, 8))); $data = $this->_string_shift($response, $length); $this->stdErrorLog.= $data; if ($skip_extended || $this->quiet_mode) { continue 2; } if ($client_channel == $channel && $this->channel_status[$channel] == NET_SSH2_MSG_CHANNEL_DATA) { return $data; } $this->channel_buffers[$channel][] = chr($type) . $data; continue 2; case NET_SSH2_MSG_CHANNEL_REQUEST: if ($this->channel_status[$channel] == NET_SSH2_MSG_CHANNEL_CLOSE) { continue 2; } if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $value = $this->_string_shift($response, $length); switch ($value) { case 'exit-signal': $this->_string_shift($response, 1); if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $this->errors[] = 'SSH_MSG_CHANNEL_REQUEST (exit-signal): ' . $this->_string_shift($response, $length); $this->_string_shift($response, 1); if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); if ($length) { $this->errors[count($this->errors)].= "\r\n" . $this->_string_shift($response, $length); } $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_EOF, $this->server_channels[$client_channel])); $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_CLOSE, $this->server_channels[$channel])); $this->channel_status[$channel] = NET_SSH2_MSG_CHANNEL_EOF; continue 3; case 'exit-status': if (strlen($response) < 5) { return false; } extract(unpack('Cfalse/Nexit_status', $this->_string_shift($response, 5))); $this->exit_status = $exit_status; // "The client MAY ignore these messages." // -- http://tools.ietf.org/html/rfc4254#section-6.10 continue 3; default: // "Some systems may not implement signals, in which case they SHOULD ignore this message." // -- http://tools.ietf.org/html/rfc4254#section-6.9 continue 3; } } switch ($this->channel_status[$channel]) { case NET_SSH2_MSG_CHANNEL_OPEN: switch ($type) { case NET_SSH2_MSG_CHANNEL_OPEN_CONFIRMATION: if (strlen($response) < 4) { return false; } extract(unpack('Nserver_channel', $this->_string_shift($response, 4))); $this->server_channels[$channel] = $server_channel; if (strlen($response) < 4) { return false; } extract(unpack('Nwindow_size', $this->_string_shift($response, 4))); if ($window_size < 0) { $window_size&= 0x7FFFFFFF; $window_size+= 0x80000000; } $this->window_size_client_to_server[$channel] = $window_size; if (strlen($response) < 4) { return false; } $temp = unpack('Npacket_size_client_to_server', $this->_string_shift($response, 4)); $this->packet_size_client_to_server[$channel] = $temp['packet_size_client_to_server']; $result = $client_channel == $channel ? true : $this->_get_channel_packet($client_channel, $skip_extended); $this->_on_channel_open(); return $result; case NET_SSH2_MSG_CHANNEL_OPEN_FAILURE: user_error('Unable to open channel'); return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); default: if ($client_channel == $channel) { user_error('Unexpected response to open request'); return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); } return $this->_get_channel_packet($client_channel, $skip_extended); } break; case NET_SSH2_MSG_CHANNEL_REQUEST: switch ($type) { case NET_SSH2_MSG_CHANNEL_SUCCESS: return true; case NET_SSH2_MSG_CHANNEL_FAILURE: return false; case NET_SSH2_MSG_CHANNEL_DATA: if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $data = $this->_string_shift($response, $length); $this->channel_buffers[$channel][] = chr($type) . $data; return $this->_get_channel_packet($client_channel, $skip_extended); default: user_error('Unable to fulfill channel request'); return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); } case NET_SSH2_MSG_CHANNEL_CLOSE: return $type == NET_SSH2_MSG_CHANNEL_CLOSE ? true : $this->_get_channel_packet($client_channel, $skip_extended); } } // ie. $this->channel_status[$channel] == NET_SSH2_MSG_CHANNEL_DATA switch ($type) { case NET_SSH2_MSG_CHANNEL_DATA: /* if ($channel == self::CHANNEL_EXEC) { // SCP requires null packets, such as this, be sent. further, in the case of the ssh.com SSH server // this actually seems to make things twice as fast. more to the point, the message right after // SSH_MSG_CHANNEL_DATA (usually SSH_MSG_IGNORE) won't block for as long as it would have otherwise. // in OpenSSH it slows things down but only by a couple thousandths of a second. $this->_send_channel_packet($channel, chr(0)); } */ if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $data = $this->_string_shift($response, $length); if ($channel == self::CHANNEL_AGENT_FORWARD) { $agent_response = $this->agent->_forward_data($data); if (!is_bool($agent_response)) { $this->_send_channel_packet($channel, $agent_response); } break; } if ($client_channel == $channel) { return $data; } $this->channel_buffers[$channel][] = chr($type) . $data; break; case NET_SSH2_MSG_CHANNEL_CLOSE: $this->curTimeout = 5; if ($this->bitmap & self::MASK_SHELL) { $this->bitmap&= ~self::MASK_SHELL; } if ($this->channel_status[$channel] != NET_SSH2_MSG_CHANNEL_EOF) { $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_CLOSE, $this->server_channels[$channel])); } $this->channel_status[$channel] = NET_SSH2_MSG_CHANNEL_CLOSE; if ($client_channel == $channel) { return true; } case NET_SSH2_MSG_CHANNEL_EOF: break; default: user_error("Error reading channel data ($type)"); return $this->_disconnect(NET_SSH2_DISCONNECT_BY_APPLICATION); } } } /** * Sends Binary Packets * * See '6. Binary Packet Protocol' of rfc4253 for more info. * * @param string $data * @param string $logged * @see self::_get_binary_packet() * @return bool * @access private */ function _send_binary_packet($data, $logged = null) { if (!is_resource($this->fsock) || feof($this->fsock)) { $this->bitmap = 0; user_error('Connection closed prematurely'); return false; } if (!isset($logged)) { $logged = $data; } switch ($this->compress) { case self::NET_SSH2_COMPRESSION_ZLIB_AT_OPENSSH: if (!$this->isAuthenticated()) { break; } case self::NET_SSH2_COMPRESSION_ZLIB: if (!$this->regenerate_compression_context) { $header = ''; } else { $this->regenerate_compression_context = false; $this->compress_context = deflate_init(ZLIB_ENCODING_RAW, array('window' => 15)); $header = "\x78\x9C"; } if ($this->compress_context) { $data = $header . deflate_add($this->compress_context, $data, ZLIB_PARTIAL_FLUSH); } } // 4 (packet length) + 1 (padding length) + 4 (minimal padding amount) == 9 $packet_length = strlen($data) + 9; // round up to the nearest $this->encrypt_block_size $packet_length+= (($this->encrypt_block_size - 1) * $packet_length) % $this->encrypt_block_size; // subtracting strlen($data) is obvious - subtracting 5 is necessary because of packet_length and padding_length $padding_length = $packet_length - strlen($data) - 5; $padding = Random::string($padding_length); // we subtract 4 from packet_length because the packet_length field isn't supposed to include itself $packet = pack('NCa*', $packet_length - 4, $padding_length, $data . $padding); $hmac = $this->hmac_create !== false ? $this->hmac_create->hash(pack('Na*', $this->send_seq_no, $packet)) : ''; $this->send_seq_no++; if ($this->encrypt !== false) { $packet = $this->encrypt->encrypt($packet); } $packet.= $hmac; $start = microtime(true); $result = strlen($packet) == @fputs($this->fsock, $packet); $stop = microtime(true); if (defined('NET_SSH2_LOGGING')) { $current = microtime(true); $message_number = isset($this->message_numbers[ord($logged[0])]) ? $this->message_numbers[ord($logged[0])] : 'UNKNOWN (' . ord($logged[0]) . ')'; $message_number = '-> ' . $message_number . ' (since last: ' . round($current - $this->last_packet, 4) . ', network: ' . round($stop - $start, 4) . 's)'; $this->_append_log($message_number, $logged); $this->last_packet = $current; } return $result; } /** * Logs data packets * * Makes sure that only the last 1MB worth of packets will be logged * * @param string $message_number * @param string $message * @access private */ function _append_log($message_number, $message) { // remove the byte identifying the message type from all but the first two messages (ie. the identification strings) if (strlen($message_number) > 2) { $this->_string_shift($message); } switch (NET_SSH2_LOGGING) { // useful for benchmarks case self::LOG_SIMPLE: $this->message_number_log[] = $message_number; break; // the most useful log for SSH2 case self::LOG_COMPLEX: $this->message_number_log[] = $message_number; $this->log_size+= strlen($message); $this->message_log[] = $message; while ($this->log_size > self::LOG_MAX_SIZE) { $this->log_size-= strlen(array_shift($this->message_log)); array_shift($this->message_number_log); } break; // dump the output out realtime; packets may be interspersed with non packets, // passwords won't be filtered out and select other packets may not be correctly // identified case self::LOG_REALTIME: switch (PHP_SAPI) { case 'cli': $start = $stop = "\r\n"; break; default: $start = '
    ';
                            $stop = '
    '; } echo $start . $this->_format_log(array($message), array($message_number)) . $stop; @flush(); @ob_flush(); break; // basically the same thing as self::LOG_REALTIME with the caveat that self::LOG_REALTIME_FILE // needs to be defined and that the resultant log file will be capped out at self::LOG_MAX_SIZE. // the earliest part of the log file is denoted by the first <<< START >>> and is not going to necessarily // at the beginning of the file case self::LOG_REALTIME_FILE: if (!isset($this->realtime_log_file)) { // PHP doesn't seem to like using constants in fopen() $filename = self::LOG_REALTIME_FILENAME; $fp = fopen($filename, 'w'); $this->realtime_log_file = $fp; } if (!is_resource($this->realtime_log_file)) { break; } $entry = $this->_format_log(array($message), array($message_number)); if ($this->realtime_log_wrap) { $temp = "<<< START >>>\r\n"; $entry.= $temp; fseek($this->realtime_log_file, ftell($this->realtime_log_file) - strlen($temp)); } $this->realtime_log_size+= strlen($entry); if ($this->realtime_log_size > self::LOG_MAX_SIZE) { fseek($this->realtime_log_file, 0); $this->realtime_log_size = strlen($entry); $this->realtime_log_wrap = true; } fputs($this->realtime_log_file, $entry); } } /** * Sends channel data * * Spans multiple SSH_MSG_CHANNEL_DATAs if appropriate * * @param int $client_channel * @param string $data * @return bool * @access private */ function _send_channel_packet($client_channel, $data) { while (strlen($data)) { if (!$this->window_size_client_to_server[$client_channel]) { $this->bitmap^= self::MASK_WINDOW_ADJUST; // using an invalid channel will let the buffers be built up for the valid channels $this->_get_channel_packet(-1); $this->bitmap^= self::MASK_WINDOW_ADJUST; } /* The maximum amount of data allowed is determined by the maximum packet size for the channel, and the current window size, whichever is smaller. -- http://tools.ietf.org/html/rfc4254#section-5.2 */ $max_size = min( $this->packet_size_client_to_server[$client_channel], $this->window_size_client_to_server[$client_channel] ); $temp = $this->_string_shift($data, $max_size); $packet = pack( 'CN2a*', NET_SSH2_MSG_CHANNEL_DATA, $this->server_channels[$client_channel], strlen($temp), $temp ); $this->window_size_client_to_server[$client_channel]-= strlen($temp); if (!$this->_send_binary_packet($packet)) { return false; } } return true; } /** * Closes and flushes a channel * * \phpseclib\Net\SSH2 doesn't properly close most channels. For exec() channels are normally closed by the server * and for SFTP channels are presumably closed when the client disconnects. This functions is intended * for SCP more than anything. * * @param int $client_channel * @param bool $want_reply * @return bool * @access private */ function _close_channel($client_channel, $want_reply = false) { // see http://tools.ietf.org/html/rfc4254#section-5.3 $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_EOF, $this->server_channels[$client_channel])); if (!$want_reply) { $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_CLOSE, $this->server_channels[$client_channel])); } $this->channel_status[$client_channel] = NET_SSH2_MSG_CHANNEL_CLOSE; $this->curTimeout = 5; while (!is_bool($this->_get_channel_packet($client_channel))) { } if ($this->is_timeout) { $this->disconnect(); } if ($want_reply) { $this->_send_binary_packet(pack('CN', NET_SSH2_MSG_CHANNEL_CLOSE, $this->server_channels[$client_channel])); } if ($this->bitmap & self::MASK_SHELL) { $this->bitmap&= ~self::MASK_SHELL; } } /** * Disconnect * * @param int $reason * @return bool * @access private */ function _disconnect($reason) { if ($this->bitmap & self::MASK_CONNECTED) { $data = pack('CNNa*Na*', NET_SSH2_MSG_DISCONNECT, $reason, 0, '', 0, ''); $this->_send_binary_packet($data); } $this->bitmap = 0; if (is_resource($this->fsock) && get_resource_type($this->fsock) == 'stream') { fclose($this->fsock); } return false; } /** * String Shift * * Inspired by array_shift * * @param string $string * @param int $index * @return string * @access private */ function _string_shift(&$string, $index = 1) { $substr = substr($string, 0, $index); $string = substr($string, $index); return $substr; } /** * Define Array * * Takes any number of arrays whose indices are integers and whose values are strings and defines a bunch of * named constants from it, using the value as the name of the constant and the index as the value of the constant. * If any of the constants that would be defined already exists, none of the constants will be defined. * * @access private */ function _define_array() { $args = func_get_args(); foreach ($args as $arg) { foreach ($arg as $key => $value) { if (!defined($value)) { define($value, $key); } else { break 2; } } } } /** * Returns a log of the packets that have been sent and received. * * Returns a string if NET_SSH2_LOGGING == self::LOG_COMPLEX, an array if NET_SSH2_LOGGING == self::LOG_SIMPLE and false if !defined('NET_SSH2_LOGGING') * * @access public * @return array|false|string */ function getLog() { if (!defined('NET_SSH2_LOGGING')) { return false; } switch (NET_SSH2_LOGGING) { case self::LOG_SIMPLE: return $this->message_number_log; case self::LOG_COMPLEX: $log = $this->_format_log($this->message_log, $this->message_number_log); return PHP_SAPI == 'cli' ? $log : '
    ' . $log . '
    '; default: return false; } } /** * Formats a log for printing * * @param array $message_log * @param array $message_number_log * @access private * @return string */ function _format_log($message_log, $message_number_log) { $output = ''; for ($i = 0; $i < count($message_log); $i++) { $output.= $message_number_log[$i] . "\r\n"; $current_log = $message_log[$i]; $j = 0; do { if (strlen($current_log)) { $output.= str_pad(dechex($j), 7, '0', STR_PAD_LEFT) . '0 '; } $fragment = $this->_string_shift($current_log, $this->log_short_width); $hex = substr(preg_replace_callback('#.#s', array($this, '_format_log_helper'), $fragment), strlen($this->log_boundary)); // replace non ASCII printable characters with dots // http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters // also replace < with a . since < messes up the output on web browsers $raw = preg_replace('#[^\x20-\x7E]|<#', '.', $fragment); $output.= str_pad($hex, $this->log_long_width - $this->log_short_width, ' ') . $raw . "\r\n"; $j++; } while (strlen($current_log)); $output.= "\r\n"; } return $output; } /** * Helper function for _format_log * * For use with preg_replace_callback() * * @param array $matches * @access private * @return string */ function _format_log_helper($matches) { return $this->log_boundary . str_pad(dechex(ord($matches[0])), 2, '0', STR_PAD_LEFT); } /** * Helper function for agent->_on_channel_open() * * Used when channels are created to inform agent * of said channel opening. Must be called after * channel open confirmation received * * @access private */ function _on_channel_open() { if (isset($this->agent)) { $this->agent->_on_channel_open($this); } } /** * Returns the first value of the intersection of two arrays or false if * the intersection is empty. The order is defined by the first parameter. * * @param array $array1 * @param array $array2 * @return mixed False if intersection is empty, else intersected value. * @access private */ function _array_intersect_first($array1, $array2) { foreach ($array1 as $value) { if (in_array($value, $array2)) { return $value; } } return false; } /** * Returns all errors / debug messages on the SSH layer * * If you are looking for messages from the SFTP layer, please see SFTP::getSFTPErrors() * * @return string[] * @access public */ function getErrors() { return $this->errors; } /** * Returns the last error received on the SSH layer * * If you are looking for messages from the SFTP layer, please see SFTP::getLastSFTPError() * * @return string * @access public */ function getLastError() { $count = count($this->errors); if ($count > 0) { return $this->errors[$count - 1]; } } /** * Return the server identification. * * @return string * @access public */ function getServerIdentification() { $this->_connect(); return $this->server_identifier; } /** * Return a list of the key exchange algorithms the server supports. * * @return array * @access public */ function getKexAlgorithms() { $this->_connect(); return $this->kex_algorithms; } /** * Return a list of the host key (public key) algorithms the server supports. * * @return array * @access public */ function getServerHostKeyAlgorithms() { $this->_connect(); return $this->server_host_key_algorithms; } /** * Return a list of the (symmetric key) encryption algorithms the server supports, when receiving stuff from the client. * * @return array * @access public */ function getEncryptionAlgorithmsClient2Server() { $this->_connect(); return $this->encryption_algorithms_client_to_server; } /** * Return a list of the (symmetric key) encryption algorithms the server supports, when sending stuff to the client. * * @return array * @access public */ function getEncryptionAlgorithmsServer2Client() { $this->_connect(); return $this->encryption_algorithms_server_to_client; } /** * Return a list of the MAC algorithms the server supports, when receiving stuff from the client. * * @return array * @access public */ function getMACAlgorithmsClient2Server() { $this->_connect(); return $this->mac_algorithms_client_to_server; } /** * Return a list of the MAC algorithms the server supports, when sending stuff to the client. * * @return array * @access public */ function getMACAlgorithmsServer2Client() { $this->_connect(); return $this->mac_algorithms_server_to_client; } /** * Return a list of the compression algorithms the server supports, when receiving stuff from the client. * * @return array * @access public */ function getCompressionAlgorithmsClient2Server() { $this->_connect(); return $this->compression_algorithms_client_to_server; } /** * Return a list of the compression algorithms the server supports, when sending stuff to the client. * * @return array * @access public */ function getCompressionAlgorithmsServer2Client() { $this->_connect(); return $this->compression_algorithms_server_to_client; } /** * Return a list of the languages the server supports, when sending stuff to the client. * * @return array * @access public */ function getLanguagesServer2Client() { $this->_connect(); return $this->languages_server_to_client; } /** * Return a list of the languages the server supports, when receiving stuff from the client. * * @return array * @access public */ function getLanguagesClient2Server() { $this->_connect(); return $this->languages_client_to_server; } /** * Returns a list of algorithms the server supports * * @return array * @access public */ function getServerAlgorithms() { $this->_connect(); return array( 'kex' => $this->kex_algorithms, 'hostkey' => $this->server_host_key_algorithms, 'client_to_server' => array( 'crypt' => $this->encryption_algorithms_client_to_server, 'mac' => $this->mac_algorithms_client_to_server, 'comp' => $this->compression_algorithms_client_to_server, 'lang' => $this->languages_client_to_server ), 'server_to_client' => array( 'crypt' => $this->encryption_algorithms_server_to_client, 'mac' => $this->mac_algorithms_server_to_client, 'comp' => $this->compression_algorithms_server_to_client, 'lang' => $this->languages_server_to_client ) ); } /** * Returns a list of KEX algorithms that phpseclib supports * * @return array * @access public */ function getSupportedKEXAlgorithms() { $kex_algorithms = array( // Elliptic Curve Diffie-Hellman Key Agreement (ECDH) using // Curve25519. See doc/curve25519-sha256@libssh.org.txt in the // libssh repository for more information. 'curve25519-sha256@libssh.org', 'diffie-hellman-group-exchange-sha256',// RFC 4419 'diffie-hellman-group-exchange-sha1', // RFC 4419 // Diffie-Hellman Key Agreement (DH) using integer modulo prime // groups. 'diffie-hellman-group14-sha1', // REQUIRED 'diffie-hellman-group1-sha1', // REQUIRED ); if (!function_exists('sodium_crypto_box_publickey_from_secretkey')) { $kex_algorithms = array_diff( $kex_algorithms, array('curve25519-sha256@libssh.org') ); } return $kex_algorithms; } /** * Returns a list of host key algorithms that phpseclib supports * * @return array * @access public */ function getSupportedHostKeyAlgorithms() { return array( 'rsa-sha2-256', // RFC 8332 'rsa-sha2-512', // RFC 8332 'ssh-rsa', // RECOMMENDED sign Raw RSA Key 'ssh-dss' // REQUIRED sign Raw DSS Key ); } /** * Returns a list of symmetric key algorithms that phpseclib supports * * @return array * @access public */ function getSupportedEncryptionAlgorithms() { $algos = array( // from : 'arcfour256', 'arcfour128', //'arcfour', // OPTIONAL the ARCFOUR stream cipher with a 128-bit key // CTR modes from : 'aes128-ctr', // RECOMMENDED AES (Rijndael) in SDCTR mode, with 128-bit key 'aes192-ctr', // RECOMMENDED AES with 192-bit key 'aes256-ctr', // RECOMMENDED AES with 256-bit key 'twofish128-ctr', // OPTIONAL Twofish in SDCTR mode, with 128-bit key 'twofish192-ctr', // OPTIONAL Twofish with 192-bit key 'twofish256-ctr', // OPTIONAL Twofish with 256-bit key 'aes128-cbc', // RECOMMENDED AES with a 128-bit key 'aes192-cbc', // OPTIONAL AES with a 192-bit key 'aes256-cbc', // OPTIONAL AES in CBC mode, with a 256-bit key 'twofish128-cbc', // OPTIONAL Twofish with a 128-bit key 'twofish192-cbc', // OPTIONAL Twofish with a 192-bit key 'twofish256-cbc', 'twofish-cbc', // OPTIONAL alias for "twofish256-cbc" // (this is being retained for historical reasons) 'blowfish-ctr', // OPTIONAL Blowfish in SDCTR mode 'blowfish-cbc', // OPTIONAL Blowfish in CBC mode '3des-ctr', // RECOMMENDED Three-key 3DES in SDCTR mode '3des-cbc', // REQUIRED three-key 3DES in CBC mode //'none' // OPTIONAL no encryption; NOT RECOMMENDED ); if ($this->crypto_engine) { $engines = array($this->crypto_engine); } else { $engines = array( Base::ENGINE_OPENSSL, Base::ENGINE_MCRYPT, Base::ENGINE_INTERNAL ); } $ciphers = array(); foreach ($engines as $engine) { foreach ($algos as $algo) { $obj = $this->_encryption_algorithm_to_crypt_instance($algo); if ($obj instanceof Rijndael) { $obj->setKeyLength(preg_replace('#[^\d]#', '', $algo)); } switch ($algo) { case 'arcfour128': case 'arcfour256': if ($engine != Base::ENGINE_INTERNAL) { continue 2; } } if ($obj->isValidEngine($engine)) { $algos = array_diff($algos, array($algo)); $ciphers[] = $algo; } } } return $ciphers; } /** * Returns a list of MAC algorithms that phpseclib supports * * @return array * @access public */ function getSupportedMACAlgorithms() { return array( // from : 'hmac-sha2-256',// RECOMMENDED HMAC-SHA256 (digest length = key length = 32) 'hmac-sha1-96', // RECOMMENDED first 96 bits of HMAC-SHA1 (digest length = 12, key length = 20) 'hmac-sha1', // REQUIRED HMAC-SHA1 (digest length = key length = 20) 'hmac-md5-96', // OPTIONAL first 96 bits of HMAC-MD5 (digest length = 12, key length = 16) 'hmac-md5', // OPTIONAL HMAC-MD5 (digest length = key length = 16) //'none' // OPTIONAL no MAC; NOT RECOMMENDED ); } /** * Returns a list of compression algorithms that phpseclib supports * * @return array * @access public */ function getSupportedCompressionAlgorithms() { $algos = array('none'); // REQUIRED no compression if (function_exists('deflate_init')) { $algos[] = 'zlib@openssh.com'; // https://datatracker.ietf.org/doc/html/draft-miller-secsh-compression-delayed $algos[] = 'zlib'; } return $algos; } /** * Return list of negotiated algorithms * * Uses the same format as https://www.php.net/ssh2-methods-negotiated * * @return array * @access public */ function getAlgorithmsNegotiated() { $this->_connect(); $compression_map = array( self::NET_SSH2_COMPRESSION_NONE => 'none', self::NET_SSH2_COMPRESSION_ZLIB => 'zlib', self::NET_SSH2_COMPRESSION_ZLIB_AT_OPENSSH => 'zlib@openssh.com' ); return array( 'kex' => $this->kex_algorithm, 'hostkey' => $this->signature_format, 'client_to_server' => array( 'crypt' => $this->encryptName, 'mac' => $this->hmac_create_name, 'comp' => $compression_map[$this->compress], ), 'server_to_client' => array( 'crypt' => $this->decryptName, 'mac' => $this->hmac_check_name, 'comp' => $compression_map[$this->decompress], ) ); } /** * Accepts an associative array with up to four parameters as described at * * * @param array $methods * @access public */ function setPreferredAlgorithms($methods) { $preferred = $methods; if (isset($preferred['kex'])) { $preferred['kex'] = array_intersect( $preferred['kex'], $this->getSupportedKEXAlgorithms() ); } if (isset($preferred['hostkey'])) { $preferred['hostkey'] = array_intersect( $preferred['hostkey'], $this->getSupportedHostKeyAlgorithms() ); } $keys = array('client_to_server', 'server_to_client'); foreach ($keys as $key) { if (isset($preferred[$key])) { $a = &$preferred[$key]; if (isset($a['crypt'])) { $a['crypt'] = array_intersect( $a['crypt'], $this->getSupportedEncryptionAlgorithms() ); } if (isset($a['comp'])) { $a['comp'] = array_intersect( $a['comp'], $this->getSupportedCompressionAlgorithms() ); } if (isset($a['mac'])) { $a['mac'] = array_intersect( $a['mac'], $this->getSupportedMACAlgorithms() ); } } } $keys = array( 'kex', 'hostkey', 'client_to_server/crypt', 'client_to_server/comp', 'client_to_server/mac', 'server_to_client/crypt', 'server_to_client/comp', 'server_to_client/mac', ); foreach ($keys as $key) { $p = $preferred; $m = $methods; $subkeys = explode('/', $key); foreach ($subkeys as $subkey) { if (!isset($p[$subkey])) { continue 2; } $p = $p[$subkey]; $m = $m[$subkey]; } if (count($p) != count($m)) { $diff = array_diff($m, $p); $msg = count($diff) == 1 ? ' is not a supported algorithm' : ' are not supported algorithms'; user_error(implode(', ', $diff) . $msg); return false; } } $this->preferred = $preferred; } /** * Returns the banner message. * * Quoting from the RFC, "in some jurisdictions, sending a warning message before * authentication may be relevant for getting legal protection." * * @return string * @access public */ function getBannerMessage() { return $this->banner_message; } /** * Returns the server public host key. * * Caching this the first time you connect to a server and checking the result on subsequent connections * is recommended. Returns false if the server signature is not signed correctly with the public host key. * * @return mixed * @access public */ function getServerPublicHostKey() { if (!($this->bitmap & self::MASK_CONSTRUCTOR)) { if (!$this->_connect()) { return false; } } $signature = $this->signature; $server_public_host_key = $this->server_public_host_key; if (strlen($server_public_host_key) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($server_public_host_key, 4))); $this->_string_shift($server_public_host_key, $length); if ($this->signature_validated) { return $this->bitmap ? $this->signature_format . ' ' . base64_encode($this->server_public_host_key) : false; } $this->signature_validated = true; switch ($this->signature_format) { case 'ssh-dss': $zero = new BigInteger(); if (strlen($server_public_host_key) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); $p = new BigInteger($this->_string_shift($server_public_host_key, $temp['length']), -256); if (strlen($server_public_host_key) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); $q = new BigInteger($this->_string_shift($server_public_host_key, $temp['length']), -256); if (strlen($server_public_host_key) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); $g = new BigInteger($this->_string_shift($server_public_host_key, $temp['length']), -256); if (strlen($server_public_host_key) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); $y = new BigInteger($this->_string_shift($server_public_host_key, $temp['length']), -256); /* The value for 'dss_signature_blob' is encoded as a string containing r, followed by s (which are 160-bit integers, without lengths or padding, unsigned, and in network byte order). */ $temp = unpack('Nlength', $this->_string_shift($signature, 4)); if ($temp['length'] != 40) { user_error('Invalid signature'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $r = new BigInteger($this->_string_shift($signature, 20), 256); $s = new BigInteger($this->_string_shift($signature, 20), 256); switch (true) { case $r->equals($zero): case $r->compare($q) >= 0: case $s->equals($zero): case $s->compare($q) >= 0: user_error('Invalid signature'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $w = $s->modInverse($q); $u1 = $w->multiply(new BigInteger(sha1($this->exchange_hash), 16)); list(, $u1) = $u1->divide($q); $u2 = $w->multiply($r); list(, $u2) = $u2->divide($q); $g = $g->modPow($u1, $p); $y = $y->modPow($u2, $p); $v = $g->multiply($y); list(, $v) = $v->divide($p); list(, $v) = $v->divide($q); if (!$v->equals($r)) { user_error('Bad server signature'); return $this->_disconnect(NET_SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE); } break; case 'ssh-rsa': case 'rsa-sha2-256': case 'rsa-sha2-512': if (strlen($server_public_host_key) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); $e = new BigInteger($this->_string_shift($server_public_host_key, $temp['length']), -256); if (strlen($server_public_host_key) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($server_public_host_key, 4)); $rawN = $this->_string_shift($server_public_host_key, $temp['length']); $n = new BigInteger($rawN, -256); $nLength = strlen(ltrim($rawN, "\0")); /* if (strlen($signature) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($signature, 4)); $signature = $this->_string_shift($signature, $temp['length']); $rsa = new RSA(); switch ($this->signature_format) { case 'rsa-sha2-512': $hash = 'sha512'; break; case 'rsa-sha2-256': $hash = 'sha256'; break; //case 'ssh-rsa': default: $hash = 'sha1'; } $rsa->setHash($hash); $rsa->setSignatureMode(RSA::SIGNATURE_PKCS1); $rsa->loadKey(array('e' => $e, 'n' => $n), RSA::PUBLIC_FORMAT_RAW); if (!$rsa->verify($this->exchange_hash, $signature)) { user_error('Bad server signature'); return $this->_disconnect(NET_SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE); } */ if (strlen($signature) < 4) { return false; } $temp = unpack('Nlength', $this->_string_shift($signature, 4)); $s = new BigInteger($this->_string_shift($signature, $temp['length']), 256); // validate an RSA signature per "8.2 RSASSA-PKCS1-v1_5", "5.2.2 RSAVP1", and "9.1 EMSA-PSS" in the // following URL: // ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.pdf // also, see SSHRSA.c (rsa2_verifysig) in PuTTy's source. if ($s->compare(new BigInteger()) < 0 || $s->compare($n->subtract(new BigInteger(1))) > 0) { user_error('Invalid signature'); return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED); } $s = $s->modPow($e, $n); $s = $s->toBytes(); switch ($this->signature_format) { case 'rsa-sha2-512': $hash = 'sha512'; break; case 'rsa-sha2-256': $hash = 'sha256'; break; //case 'ssh-rsa': default: $hash = 'sha1'; } $hashObj = new Hash($hash); switch ($this->signature_format) { case 'rsa-sha2-512': $h = pack('N5a*', 0x00305130, 0x0D060960, 0x86480165, 0x03040203, 0x05000440, $hashObj->hash($this->exchange_hash)); break; case 'rsa-sha2-256': $h = pack('N5a*', 0x00303130, 0x0D060960, 0x86480165, 0x03040201, 0x05000420, $hashObj->hash($this->exchange_hash)); break; //case 'ssh-rsa': default: $hash = 'sha1'; $h = pack('N4a*', 0x00302130, 0x0906052B, 0x0E03021A, 0x05000414, $hashObj->hash($this->exchange_hash)); } $h = chr(0x01) . str_repeat(chr(0xFF), $nLength - 2 - strlen($h)) . $h; if ($s != $h) { user_error('Bad server signature'); return $this->_disconnect(NET_SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE); } break; default: user_error('Unsupported signature format'); return $this->_disconnect(NET_SSH2_DISCONNECT_HOST_KEY_NOT_VERIFIABLE); } return $this->signature_format . ' ' . base64_encode($this->server_public_host_key); } /** * Returns the exit status of an SSH command or false. * * @return false|int * @access public */ function getExitStatus() { if (is_null($this->exit_status)) { return false; } return $this->exit_status; } /** * Returns the number of columns for the terminal window size. * * @return int * @access public */ function getWindowColumns() { return $this->windowColumns; } /** * Returns the number of rows for the terminal window size. * * @return int * @access public */ function getWindowRows() { return $this->windowRows; } /** * Sets the number of columns for the terminal window size. * * @param int $value * @access public */ function setWindowColumns($value) { $this->windowColumns = $value; } /** * Sets the number of rows for the terminal window size. * * @param int $value * @access public */ function setWindowRows($value) { $this->windowRows = $value; } /** * Sets the number of columns and rows for the terminal window size. * * @param int $columns * @param int $rows * @access public */ function setWindowSize($columns = 80, $rows = 24) { $this->windowColumns = $columns; $this->windowRows = $rows; } /** * Update packet types in log history * * @param string $old * @param string $new * @access private */ function _updateLogHistory($old, $new) { if (defined('NET_SSH2_LOGGING') && NET_SSH2_LOGGING == self::LOG_COMPLEX) { $this->message_number_log[count($this->message_number_log) - 1] = str_replace( $old, $new, $this->message_number_log[count($this->message_number_log) - 1] ); } } /** * Return the list of authentication methods that may productively continue authentication. * * @see https://tools.ietf.org/html/rfc4252#section-5.1 * @return array|null */ function getAuthMethodsToContinue() { return $this->auth_methods_to_continue; } /** * Enables "smart" multi-factor authentication (MFA) */ function enableSmartMFA() { $this->smartMFA = true; } /** * Disables "smart" multi-factor authentication (MFA) */ function disableSmartMFA() { $this->smartMFA = false; } } vendor/phpseclib/phpseclib/phpseclib/Net/SCP.php000064400000022363147400355670015641 0ustar00 * login('username', 'password')) { * exit('bad login'); * } * $scp = new \phpseclib\Net\SCP($ssh); * * $scp->put('abcd', str_repeat('x', 1024*1024)); * ?> * * * @category Net * @package SCP * @author Jim Wigginton * @copyright 2010 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Net; /** * Pure-PHP implementations of SCP. * * @package SCP * @author Jim Wigginton * @access public */ class SCP { /**#@+ * @access public * @see \phpseclib\Net\SCP::put() */ /** * Reads data from a local file. */ const SOURCE_LOCAL_FILE = 1; /** * Reads data from a string. */ const SOURCE_STRING = 2; /**#@-*/ /**#@+ * @access private * @see \phpseclib\Net\SCP::_send() * @see \phpseclib\Net\SCP::_receive() */ /** * SSH1 is being used. */ const MODE_SSH1 = 1; /** * SSH2 is being used. */ const MODE_SSH2 = 2; /**#@-*/ /** * SSH Object * * @var object * @access private */ var $ssh; /** * Packet Size * * @var int * @access private */ var $packet_size; /** * Mode * * @var int * @access private */ var $mode; /** * Default Constructor. * * Connects to an SSH server * * @param \phpseclib\Net\SSH1|\phpseclib\Net\SSH2 $ssh * @return \phpseclib\Net\SCP * @access public */ function __construct($ssh) { if ($ssh instanceof SSH2) { $this->mode = self::MODE_SSH2; } elseif ($ssh instanceof SSH1) { $this->packet_size = 50000; $this->mode = self::MODE_SSH1; } else { return; } $this->ssh = $ssh; } /** * Uploads a file to the SCP server. * * By default, \phpseclib\Net\SCP::put() does not read from the local filesystem. $data is dumped directly into $remote_file. * So, for example, if you set $data to 'filename.ext' and then do \phpseclib\Net\SCP::get(), you will get a file, twelve bytes * long, containing 'filename.ext' as its contents. * * Setting $mode to self::SOURCE_LOCAL_FILE will change the above behavior. With self::SOURCE_LOCAL_FILE, $remote_file will * contain as many bytes as filename.ext does on your local filesystem. If your filename.ext is 1MB then that is how * large $remote_file will be, as well. * * Currently, only binary mode is supported. As such, if the line endings need to be adjusted, you will need to take * care of that, yourself. * * @param string $remote_file * @param string $data * @param int $mode * @param callable $callback * @return bool * @access public */ function put($remote_file, $data, $mode = self::SOURCE_STRING, $callback = null) { if (!isset($this->ssh)) { return false; } if (empty($remote_file)) { user_error('remote_file cannot be blank', E_USER_NOTICE); return false; } if (!$this->ssh->exec('scp -t ' . escapeshellarg($remote_file), false)) { // -t = to return false; } $temp = $this->_receive(); if ($temp !== chr(0)) { return false; } if ($this->mode == self::MODE_SSH2) { $this->packet_size = $this->ssh->packet_size_client_to_server[SSH2::CHANNEL_EXEC] - 4; } $remote_file = basename($remote_file); if ($mode == self::SOURCE_STRING) { $size = strlen($data); } else { if (!is_file($data)) { user_error("$data is not a valid file", E_USER_NOTICE); return false; } $fp = @fopen($data, 'rb'); if (!$fp) { return false; } $size = filesize($data); } $this->_send('C0644 ' . $size . ' ' . $remote_file . "\n"); $temp = $this->_receive(); if ($temp !== chr(0)) { return false; } $sent = 0; while ($sent < $size) { $temp = $mode & self::SOURCE_STRING ? substr($data, $sent, $this->packet_size) : fread($fp, $this->packet_size); $this->_send($temp); $sent+= strlen($temp); if (is_callable($callback)) { call_user_func($callback, $sent); } } $this->_close(); if ($mode != self::SOURCE_STRING) { fclose($fp); } return true; } /** * Downloads a file from the SCP server. * * Returns a string containing the contents of $remote_file if $local_file is left undefined or a boolean false if * the operation was unsuccessful. If $local_file is defined, returns true or false depending on the success of the * operation * * @param string $remote_file * @param string $local_file * @return mixed * @access public */ function get($remote_file, $local_file = false) { if (!isset($this->ssh)) { return false; } if (!$this->ssh->exec('scp -f ' . escapeshellarg($remote_file), false)) { // -f = from return false; } $this->_send("\0"); if (!preg_match('#(?[^ ]+) (?\d+) (?.+)#', rtrim($this->_receive()), $info)) { return false; } $this->_send("\0"); $size = 0; if ($local_file !== false) { $fp = @fopen($local_file, 'wb'); if (!$fp) { return false; } } $content = ''; while ($size < $info['size']) { $data = $this->_receive(); // Terminate the loop in case the server repeatedly sends an empty response if ($data === false) { user_error('No data received from server', E_USER_NOTICE); return false; } // SCP usually seems to split stuff out into 16k chunks $size+= strlen($data); if ($local_file === false) { $content.= $data; } else { fputs($fp, $data); } } $this->_close(); if ($local_file !== false) { fclose($fp); return true; } return $content; } /** * Sends a packet to an SSH server * * @param string $data * @access private */ function _send($data) { switch ($this->mode) { case self::MODE_SSH2: $this->ssh->_send_channel_packet(SSH2::CHANNEL_EXEC, $data); break; case self::MODE_SSH1: $data = pack('CNa*', NET_SSH1_CMSG_STDIN_DATA, strlen($data), $data); $this->ssh->_send_binary_packet($data); } } /** * Receives a packet from an SSH server * * @return string * @access private */ function _receive() { switch ($this->mode) { case self::MODE_SSH2: return $this->ssh->_get_channel_packet(SSH2::CHANNEL_EXEC, true); case self::MODE_SSH1: if (!$this->ssh->bitmap) { return false; } while (true) { $response = $this->ssh->_get_binary_packet(); switch ($response[SSH1::RESPONSE_TYPE]) { case NET_SSH1_SMSG_STDOUT_DATA: if (strlen($response[SSH1::RESPONSE_DATA]) < 4) { return false; } extract(unpack('Nlength', $response[SSH1::RESPONSE_DATA])); return $this->ssh->_string_shift($response[SSH1::RESPONSE_DATA], $length); case NET_SSH1_SMSG_STDERR_DATA: break; case NET_SSH1_SMSG_EXITSTATUS: $this->ssh->_send_binary_packet(chr(NET_SSH1_CMSG_EXIT_CONFIRMATION)); fclose($this->ssh->fsock); $this->ssh->bitmap = 0; return false; default: user_error('Unknown packet received', E_USER_NOTICE); return false; } } } } /** * Closes the connection to an SSH server * * @access private */ function _close() { switch ($this->mode) { case self::MODE_SSH2: $this->ssh->_close_channel(SSH2::CHANNEL_EXEC, true); break; case self::MODE_SSH1: $this->ssh->disconnect(); } } } vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php000064400000371541147400355670015775 0ustar00 * login('username', 'password')) { * exit('Login Failed'); * } * * echo $sftp->pwd() . "\r\n"; * $sftp->put('filename.ext', 'hello, world!'); * print_r($sftp->nlist()); * ?> * * * @category Net * @package SFTP * @author Jim Wigginton * @copyright 2009 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Net; /** * Pure-PHP implementations of SFTP. * * @package SFTP * @author Jim Wigginton * @access public */ class SFTP extends SSH2 { /** * SFTP channel constant * * \phpseclib\Net\SSH2::exec() uses 0 and \phpseclib\Net\SSH2::read() / \phpseclib\Net\SSH2::write() use 1. * * @see \phpseclib\Net\SSH2::_send_channel_packet() * @see \phpseclib\Net\SSH2::_get_channel_packet() * @access private */ const CHANNEL = 0x100; /**#@+ * @access public * @see \phpseclib\Net\SFTP::put() */ /** * Reads data from a local file. */ const SOURCE_LOCAL_FILE = 1; /** * Reads data from a string. */ // this value isn't really used anymore but i'm keeping it reserved for historical reasons const SOURCE_STRING = 2; /** * Reads data from callback: * function callback($length) returns string to proceed, null for EOF */ const SOURCE_CALLBACK = 16; /** * Resumes an upload */ const RESUME = 4; /** * Append a local file to an already existing remote file */ const RESUME_START = 8; /**#@-*/ /** * Packet Types * * @see self::__construct() * @var array * @access private */ var $packet_types = array(); /** * Status Codes * * @see self::__construct() * @var array * @access private */ var $status_codes = array(); /** * The Request ID * * The request ID exists in the off chance that a packet is sent out-of-order. Of course, this library doesn't support * concurrent actions, so it's somewhat academic, here. * * @var boolean * @see self::_send_sftp_packet() * @access private */ var $use_request_id = false; /** * The Packet Type * * The request ID exists in the off chance that a packet is sent out-of-order. Of course, this library doesn't support * concurrent actions, so it's somewhat academic, here. * * @var int * @see self::_get_sftp_packet() * @access private */ var $packet_type = -1; /** * Packet Buffer * * @var string * @see self::_get_sftp_packet() * @access private */ var $packet_buffer = ''; /** * Extensions supported by the server * * @var array * @see self::_initChannel() * @access private */ var $extensions = array(); /** * Server SFTP version * * @var int * @see self::_initChannel() * @access private */ var $version; /** * Default Server SFTP version * * @var int * @see self::_initChannel() * @access private */ var $defaultVersion; /** * Preferred SFTP version * * @var int * @see self::_initChannel() * @access private */ var $preferredVersion = 3; /** * Current working directory * * @var string * @see self::realpath() * @see self::chdir() * @access private */ var $pwd = false; /** * Packet Type Log * * @see self::getLog() * @var array * @access private */ var $packet_type_log = array(); /** * Packet Log * * @see self::getLog() * @var array * @access private */ var $packet_log = array(); /** * Error information * * @see self::getSFTPErrors() * @see self::getLastSFTPError() * @var array * @access private */ var $sftp_errors = array(); /** * Stat Cache * * Rather than always having to open a directory and close it immediately there after to see if a file is a directory * we'll cache the results. * * @see self::_update_stat_cache() * @see self::_remove_from_stat_cache() * @see self::_query_stat_cache() * @var array * @access private */ var $stat_cache = array(); /** * Max SFTP Packet Size * * @see self::__construct() * @see self::get() * @var array * @access private */ var $max_sftp_packet; /** * Stat Cache Flag * * @see self::disableStatCache() * @see self::enableStatCache() * @var bool * @access private */ var $use_stat_cache = true; /** * Sort Options * * @see self::_comparator() * @see self::setListOrder() * @var array * @access private */ var $sortOptions = array(); /** * Canonicalization Flag * * Determines whether or not paths should be canonicalized before being * passed on to the remote server. * * @see self::enablePathCanonicalization() * @see self::disablePathCanonicalization() * @see self::realpath() * @var bool * @access private */ var $canonicalize_paths = true; /** * Request Buffers * * @see self::_get_sftp_packet() * @var array * @access private */ var $requestBuffer = array(); /** * Preserve timestamps on file downloads / uploads * * @see self::get() * @see self::put() * @var bool * @access private */ var $preserveTime = false; /** * Arbitrary Length Packets Flag * * Determines whether or not packets of any length should be allowed, * in cases where the server chooses the packet length (such as * directory listings). By default, packets are only allowed to be * 256 * 1024 bytes (SFTP_MAX_MSG_LENGTH from OpenSSH's sftp-common.h) * * @see self::enableArbitraryLengthPackets() * @see self::_get_sftp_packet() * @var bool * @access private */ var $allow_arbitrary_length_packets = false; /** * Was the last packet due to the channels being closed or not? * * @see self::get() * @see self::get_sftp_packet() * @var bool * @access private */ var $channel_close = false; /** * Has the SFTP channel been partially negotiated? * * @var bool * @access private */ var $partial_init = false; /** * http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-7.1 * the order, in this case, matters quite a lot - see \phpseclib3\Net\SFTP::_parseAttributes() to understand why * * @var array * @access private */ var $attributes = array(); /** * @var array * @access private */ var $open_flags = array(); /** * SFTPv5+ changed the flags up: * https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-13#section-8.1.1.3 * * @var array * @access private */ var $open_flags5 = array(); /** * http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-5.2 * see \phpseclib\Net\SFTP::_parseLongname() for an explanation * * @var array */ var $file_types = array(); /** * Default Constructor. * * Connects to an SFTP server * * @param string $host * @param int $port * @param int $timeout * @return \phpseclib\Net\SFTP * @access public */ function __construct($host, $port = 22, $timeout = 10) { parent::__construct($host, $port, $timeout); $this->max_sftp_packet = 1 << 15; $this->packet_types = array( 1 => 'NET_SFTP_INIT', 2 => 'NET_SFTP_VERSION', 3 => 'NET_SFTP_OPEN', 4 => 'NET_SFTP_CLOSE', 5 => 'NET_SFTP_READ', 6 => 'NET_SFTP_WRITE', 7 => 'NET_SFTP_LSTAT', 9 => 'NET_SFTP_SETSTAT', 10 => 'NET_SFTP_FSETSTAT', 11 => 'NET_SFTP_OPENDIR', 12 => 'NET_SFTP_READDIR', 13 => 'NET_SFTP_REMOVE', 14 => 'NET_SFTP_MKDIR', 15 => 'NET_SFTP_RMDIR', 16 => 'NET_SFTP_REALPATH', 17 => 'NET_SFTP_STAT', 18 => 'NET_SFTP_RENAME', 19 => 'NET_SFTP_READLINK', 20 => 'NET_SFTP_SYMLINK', 21 => 'NET_SFTP_LINK', 101=> 'NET_SFTP_STATUS', 102=> 'NET_SFTP_HANDLE', 103=> 'NET_SFTP_DATA', 104=> 'NET_SFTP_NAME', 105=> 'NET_SFTP_ATTRS', 200=> 'NET_SFTP_EXTENDED' ); $this->status_codes = array( 0 => 'NET_SFTP_STATUS_OK', 1 => 'NET_SFTP_STATUS_EOF', 2 => 'NET_SFTP_STATUS_NO_SUCH_FILE', 3 => 'NET_SFTP_STATUS_PERMISSION_DENIED', 4 => 'NET_SFTP_STATUS_FAILURE', 5 => 'NET_SFTP_STATUS_BAD_MESSAGE', 6 => 'NET_SFTP_STATUS_NO_CONNECTION', 7 => 'NET_SFTP_STATUS_CONNECTION_LOST', 8 => 'NET_SFTP_STATUS_OP_UNSUPPORTED', 9 => 'NET_SFTP_STATUS_INVALID_HANDLE', 10 => 'NET_SFTP_STATUS_NO_SUCH_PATH', 11 => 'NET_SFTP_STATUS_FILE_ALREADY_EXISTS', 12 => 'NET_SFTP_STATUS_WRITE_PROTECT', 13 => 'NET_SFTP_STATUS_NO_MEDIA', 14 => 'NET_SFTP_STATUS_NO_SPACE_ON_FILESYSTEM', 15 => 'NET_SFTP_STATUS_QUOTA_EXCEEDED', 16 => 'NET_SFTP_STATUS_UNKNOWN_PRINCIPAL', 17 => 'NET_SFTP_STATUS_LOCK_CONFLICT', 18 => 'NET_SFTP_STATUS_DIR_NOT_EMPTY', 19 => 'NET_SFTP_STATUS_NOT_A_DIRECTORY', 20 => 'NET_SFTP_STATUS_INVALID_FILENAME', 21 => 'NET_SFTP_STATUS_LINK_LOOP', 22 => 'NET_SFTP_STATUS_CANNOT_DELETE', 23 => 'NET_SFTP_STATUS_INVALID_PARAMETER', 24 => 'NET_SFTP_STATUS_FILE_IS_A_DIRECTORY', 25 => 'NET_SFTP_STATUS_BYTE_RANGE_LOCK_CONFLICT', 26 => 'NET_SFTP_STATUS_BYTE_RANGE_LOCK_REFUSED', 27 => 'NET_SFTP_STATUS_DELETE_PENDING', 28 => 'NET_SFTP_STATUS_FILE_CORRUPT', 29 => 'NET_SFTP_STATUS_OWNER_INVALID', 30 => 'NET_SFTP_STATUS_GROUP_INVALID', 31 => 'NET_SFTP_STATUS_NO_MATCHING_BYTE_RANGE_LOCK' ); // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-7.1 // the order, in this case, matters quite a lot - see \phpseclib\Net\SFTP::_parseAttributes() to understand why $this->attributes = array( 0x00000001 => 'NET_SFTP_ATTR_SIZE', 0x00000002 => 'NET_SFTP_ATTR_UIDGID', // defined in SFTPv3, removed in SFTPv4+ 0x00000080 => 'NET_SFTP_ATTR_OWNERGROUP', // defined in SFTPv4+ 0x00000004 => 'NET_SFTP_ATTR_PERMISSIONS', 0x00000008 => 'NET_SFTP_ATTR_ACCESSTIME', 0x00000010 => 'NET_SFTP_ATTR_CREATETIME', // SFTPv4+ 0x00000020 => 'NET_SFTP_ATTR_MODIFYTIME', 0x00000040 => 'NET_SFTP_ATTR_ACL', 0x00000100 => 'NET_SFTP_ATTR_SUBSECOND_TIMES', 0x00000200 => 'NET_SFTP_ATTR_BITS', // SFTPv5+ 0x00000400 => 'NET_SFTP_ATTR_ALLOCATION_SIZE', // SFTPv6+ 0x00000800 => 'NET_SFTP_ATTR_TEXT_HINT', 0x00001000 => 'NET_SFTP_ATTR_MIME_TYPE', 0x00002000 => 'NET_SFTP_ATTR_LINK_COUNT', 0x00004000 => 'NET_SFTP_ATTR_UNTRANSLATED_NAME', 0x00008000 => 'NET_SFTP_ATTR_CTIME', // 0x80000000 will yield a floating point on 32-bit systems and converting floating points to integers // yields inconsistent behavior depending on how php is compiled. so we left shift -1 (which, in // two's compliment, consists of all 1 bits) by 31. on 64-bit systems this'll yield 0xFFFFFFFF80000000. // that's not a problem, however, and 'anded' and a 32-bit number, as all the leading 1 bits are ignored. (PHP_INT_SIZE == 4 ? (-1 << 31) : 0x80000000) => 'NET_SFTP_ATTR_EXTENDED' ); $this->open_flags = array( 0x00000001 => 'NET_SFTP_OPEN_READ', 0x00000002 => 'NET_SFTP_OPEN_WRITE', 0x00000004 => 'NET_SFTP_OPEN_APPEND', 0x00000008 => 'NET_SFTP_OPEN_CREATE', 0x00000010 => 'NET_SFTP_OPEN_TRUNCATE', 0x00000020 => 'NET_SFTP_OPEN_EXCL', 0x00000040 => 'NET_SFTP_OPEN_TEXT' // defined in SFTPv4 ); // SFTPv5+ changed the flags up: // https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-13#section-8.1.1.3 $this->open_flags5 = array( // when SSH_FXF_ACCESS_DISPOSITION is a 3 bit field that controls how the file is opened 0x00000000 => 'NET_SFTP_OPEN_CREATE_NEW', 0x00000001 => 'NET_SFTP_OPEN_CREATE_TRUNCATE', 0x00000002 => 'NET_SFTP_OPEN_OPEN_EXISTING', 0x00000003 => 'NET_SFTP_OPEN_OPEN_OR_CREATE', 0x00000004 => 'NET_SFTP_OPEN_TRUNCATE_EXISTING', // the rest of the flags are not supported 0x00000008 => 'NET_SFTP_OPEN_APPEND_DATA', // "the offset field of SS_FXP_WRITE requests is ignored" 0x00000010 => 'NET_SFTP_OPEN_APPEND_DATA_ATOMIC', 0x00000020 => 'NET_SFTP_OPEN_TEXT_MODE', 0x00000040 => 'NET_SFTP_OPEN_BLOCK_READ', 0x00000080 => 'NET_SFTP_OPEN_BLOCK_WRITE', 0x00000100 => 'NET_SFTP_OPEN_BLOCK_DELETE', 0x00000200 => 'NET_SFTP_OPEN_BLOCK_ADVISORY', 0x00000400 => 'NET_SFTP_OPEN_NOFOLLOW', 0x00000800 => 'NET_SFTP_OPEN_DELETE_ON_CLOSE', 0x00001000 => 'NET_SFTP_OPEN_ACCESS_AUDIT_ALARM_INFO', 0x00002000 => 'NET_SFTP_OPEN_ACCESS_BACKUP', 0x00004000 => 'NET_SFTP_OPEN_BACKUP_STREAM', 0x00008000 => 'NET_SFTP_OPEN_OVERRIDE_OWNER', ); // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-5.2 // see \phpseclib\Net\SFTP::_parseLongname() for an explanation $this->file_types = array( 1 => 'NET_SFTP_TYPE_REGULAR', 2 => 'NET_SFTP_TYPE_DIRECTORY', 3 => 'NET_SFTP_TYPE_SYMLINK', 4 => 'NET_SFTP_TYPE_SPECIAL', 5 => 'NET_SFTP_TYPE_UNKNOWN', // the followin types were first defined for use in SFTPv5+ // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-05#section-5.2 6 => 'NET_SFTP_TYPE_SOCKET', 7 => 'NET_SFTP_TYPE_CHAR_DEVICE', 8 => 'NET_SFTP_TYPE_BLOCK_DEVICE', 9 => 'NET_SFTP_TYPE_FIFO' ); $this->_define_array( $this->packet_types, $this->status_codes, $this->attributes, $this->open_flags, $this->open_flags5, $this->file_types ); if (!defined('NET_SFTP_QUEUE_SIZE')) { define('NET_SFTP_QUEUE_SIZE', 32); } if (!defined('NET_SFTP_UPLOAD_QUEUE_SIZE')) { define('NET_SFTP_UPLOAD_QUEUE_SIZE', 1024); } } /** * Check a few things before SFTP functions are called * * @return bool * @access public */ function _precheck() { if (!($this->bitmap & SSH2::MASK_LOGIN)) { return false; } if ($this->pwd === false) { return $this->_init_sftp_connection(); } return true; } /** * Partially initialize an SFTP connection * * @return bool * @access public */ function _partial_init_sftp_connection() { $this->window_size_server_to_client[self::CHANNEL] = $this->window_size; $packet = pack( 'CNa*N3', NET_SSH2_MSG_CHANNEL_OPEN, strlen('session'), 'session', self::CHANNEL, $this->window_size, 0x4000 ); if (!$this->_send_binary_packet($packet)) { return false; } $this->channel_status[self::CHANNEL] = NET_SSH2_MSG_CHANNEL_OPEN; $response = $this->_get_channel_packet(self::CHANNEL, true); if ($response === false) { return false; } elseif ($response === true && $this->isTimeout()) { return false; } $packet = pack( 'CNNa*CNa*', NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[self::CHANNEL], strlen('subsystem'), 'subsystem', 1, strlen('sftp'), 'sftp' ); if (!$this->_send_binary_packet($packet)) { return false; } $this->channel_status[self::CHANNEL] = NET_SSH2_MSG_CHANNEL_REQUEST; $response = $this->_get_channel_packet(self::CHANNEL, true); if ($response === false) { // from PuTTY's psftp.exe $command = "test -x /usr/lib/sftp-server && exec /usr/lib/sftp-server\n" . "test -x /usr/local/lib/sftp-server && exec /usr/local/lib/sftp-server\n" . "exec sftp-server"; // we don't do $this->exec($command, false) because exec() operates on a different channel and plus the SSH_MSG_CHANNEL_OPEN that exec() does // is redundant $packet = pack( 'CNNa*CNa*', NET_SSH2_MSG_CHANNEL_REQUEST, $this->server_channels[self::CHANNEL], strlen('exec'), 'exec', 1, strlen($command), $command ); if (!$this->_send_binary_packet($packet)) { return false; } $this->channel_status[self::CHANNEL] = NET_SSH2_MSG_CHANNEL_REQUEST; $response = $this->_get_channel_packet(self::CHANNEL, true); if ($response === false) { return false; } } elseif ($response === true && $this->isTimeout()) { return false; } $this->channel_status[self::CHANNEL] = NET_SSH2_MSG_CHANNEL_DATA; if (!$this->_send_sftp_packet(NET_SFTP_INIT, "\0\0\0\3")) { return false; } $response = $this->_get_sftp_packet(); if ($this->packet_type != NET_SFTP_VERSION) { user_error('Expected SSH_FXP_VERSION'); return false; } $this->use_request_id = true; if (strlen($response) < 4) { return false; } extract(unpack('Nversion', $this->_string_shift($response, 4))); $this->defaultVersion = $version; while (!empty($response)) { if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $key = $this->_string_shift($response, $length); if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $value = $this->_string_shift($response, $length); $this->extensions[$key] = $value; } $this->partial_init = true; return true; } /** * (Re)initializes the SFTP channel * * @return bool * @access private */ function _init_sftp_connection() { if (!$this->partial_init && !$this->_partial_init_sftp_connection()) { return false; } /* A Note on SFTPv4/5/6 support: states the following: "If the client wishes to interoperate with servers that support noncontiguous version numbers it SHOULD send '3'" Given that the server only sends its version number after the client has already done so, the above seems to be suggesting that v3 should be the default version. This makes sense given that v3 is the most popular. states the following; "If the server did not send the "versions" extension, or the version-from-list was not included, the server MAY send a status response describing the failure, but MUST then close the channel without processing any further requests." So what do you do if you have a client whose initial SSH_FXP_INIT packet says it implements v3 and a server whose initial SSH_FXP_VERSION reply says it implements v4 and only v4? If it only implements v4, the "versions" extension is likely not going to have been sent so version re-negotiation as discussed in draft-ietf-secsh-filexfer-13 would be quite impossible. As such, what \phpseclib\Net\SFTP would do is close the channel and reopen it with a new and updated SSH_FXP_INIT packet. */ $this->version = $this->defaultVersion; if (isset($this->extensions['versions']) && (!$this->preferredVersion || $this->preferredVersion != $this->version)) { $versions = explode(',', $this->extensions['versions']); $supported = array(6, 5, 4); if ($this->preferredVersion) { $supported = array_diff($supported, array($this->preferredVersion)); array_unshift($supported, $this->preferredVersion); } foreach ($supported as $ver) { if (in_array($ver, $versions)) { if ($ver === $this->version) { break; } $this->version = (int) $ver; $packet = pack('Na*Na*', strlen('version-select'), 'version-select', strlen($ver), $ver); if (!$this->_send_sftp_packet(NET_SFTP_EXTENDED, $packet)) { return false; } $response = $this->_get_sftp_packet(); if ($this->packet_type != NET_SFTP_STATUS) { user_error('Expected SSH_FXP_STATUS'); return false; } if (strlen($response) < 4) { return false; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); if ($status != NET_SFTP_STATUS_OK) { $this->_logError($response, $status); return false; } break; } } } /* SFTPv4+ defines a 'newline' extension. SFTPv3 seems to have unofficial support for it via 'newline@vandyke.com', however, I'm not sure what 'newline@vandyke.com' is supposed to do (the fact that it's unofficial means that it's not in the official SFTPv3 specs) and 'newline@vandyke.com' / 'newline' are likely not drop-in substitutes for one another due to the fact that 'newline' comes with a SSH_FXF_TEXT bitmask whereas it seems unlikely that 'newline@vandyke.com' would. */ /* if (isset($this->extensions['newline@vandyke.com'])) { $this->extensions['newline'] = $this->extensions['newline@vandyke.com']; unset($this->extensions['newline@vandyke.com']); } */ if ($this->version < 2 || $this->version > 6) { return false; } $this->pwd = true; $this->pwd = $this->_realpath('.'); if ($this->pwd === false) { if (!$this->canonicalize_paths) { user_error('Unable to canonicalize current working directory'); return false; } $this->canonicalize_paths = false; $this->_reset_connection(NET_SSH2_DISCONNECT_CONNECTION_LOST); } $this->_update_stat_cache($this->pwd, array()); return true; } /** * Disable the stat cache * * @access public */ function disableStatCache() { $this->use_stat_cache = false; } /** * Enable the stat cache * * @access public */ function enableStatCache() { $this->use_stat_cache = true; } /** * Clear the stat cache * * @access public */ function clearStatCache() { $this->stat_cache = array(); } /** * Enable path canonicalization * * @access public */ function enablePathCanonicalization() { $this->canonicalize_paths = true; } /** * Disable path canonicalization * * If this is enabled then $sftp->pwd() will not return the canonicalized absolute path * * @access public */ function disablePathCanonicalization() { $this->canonicalize_paths = false; } /** * Enable arbitrary length packets * * @access public */ function enableArbitraryLengthPackets() { $this->allow_arbitrary_length_packets = true; } /** * Disable arbitrary length packets * * @access public */ function disableArbitraryLengthPackets() { $this->allow_arbitrary_length_packets = false; } /** * Returns the current directory name * * @return mixed * @access public */ function pwd() { if (!$this->_precheck()) { return false; } return $this->pwd; } /** * Logs errors * * @param string $response * @param int $status * @access public */ function _logError($response, $status = -1) { if ($status == -1) { if (strlen($response) < 4) { return; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); } $error = $this->status_codes[$status]; if ($this->version > 2) { extract(unpack('Nlength', $this->_string_shift($response, 4))); $this->sftp_errors[] = $error . ': ' . $this->_string_shift($response, $length); } else { $this->sftp_errors[] = $error; } } /** * Returns canonicalized absolute pathname * * realpath() expands all symbolic links and resolves references to '/./', '/../' and extra '/' characters in the input * path and returns the canonicalized absolute pathname. * * @param string $path * @return mixed * @access public */ function realpath($path) { if (!$this->_precheck()) { return false; } return $this->_realpath($path); } /** * Canonicalize the Server-Side Path Name * * SFTP doesn't provide a mechanism by which the current working directory can be changed, so we'll emulate it. Returns * the absolute (canonicalized) path. * * If canonicalize_paths has been disabled using disablePathCanonicalization(), $path is returned as-is. * * @see self::chdir() * @see self::disablePathCanonicalization() * @param string $path * @return mixed * @access private */ function _realpath($path) { if (!$this->canonicalize_paths) { if ($this->pwd === true) { return '.'; } if (!strlen($path) || $path[0] != '/') { $path = $this->pwd . '/' . $path; } $parts = explode('/', $path); $afterPWD = $beforePWD = array(); foreach ($parts as $part) { switch ($part) { //case '': // some SFTP servers /require/ double /'s. see https://github.com/phpseclib/phpseclib/pull/1137 case '.': break; case '..': if (!empty($afterPWD)) { array_pop($afterPWD); } else { $beforePWD[] = '..'; } break; default: $afterPWD[] = $part; } } $beforePWD = count($beforePWD) ? implode('/', $beforePWD) : '.'; return $beforePWD . '/' . implode('/', $afterPWD); } if ($this->pwd === true) { // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.9 if (!$this->_send_sftp_packet(NET_SFTP_REALPATH, pack('Na*', strlen($path), $path))) { return false; } $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_NAME: // although SSH_FXP_NAME is implemented differently in SFTPv3 than it is in SFTPv4+, the following // should work on all SFTP versions since the only part of the SSH_FXP_NAME packet the following looks // at is the first part and that part is defined the same in SFTP versions 3 through 6. $this->_string_shift($response, 4); // skip over the count - it should be 1, anyway if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); return $this->_string_shift($response, $length); case NET_SFTP_STATUS: $this->_logError($response); return false; default: return false; } } if (!strlen($path) || $path[0] != '/') { $path = $this->pwd . '/' . $path; } $path = explode('/', $path); $new = array(); foreach ($path as $dir) { if (!strlen($dir)) { continue; } switch ($dir) { case '..': array_pop($new); case '.': break; default: $new[] = $dir; } } return '/' . implode('/', $new); } /** * Changes the current directory * * @param string $dir * @return bool * @access public */ function chdir($dir) { if (!$this->_precheck()) { return false; } // assume current dir if $dir is empty if ($dir === '') { $dir = './'; // suffix a slash if needed } elseif ($dir[strlen($dir) - 1] != '/') { $dir.= '/'; } $dir = $this->_realpath($dir); // confirm that $dir is, in fact, a valid directory if ($this->use_stat_cache && is_array($this->_query_stat_cache($dir))) { $this->pwd = $dir; return true; } // we could do a stat on the alleged $dir to see if it's a directory but that doesn't tell us // the currently logged in user has the appropriate permissions or not. maybe you could see if // the file's uid / gid match the currently logged in user's uid / gid but how there's no easy // way to get those with SFTP if (!$this->_send_sftp_packet(NET_SFTP_OPENDIR, pack('Na*', strlen($dir), $dir))) { return false; } // see \phpseclib\Net\SFTP::nlist() for a more thorough explanation of the following $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_HANDLE: $handle = substr($response, 4); break; case NET_SFTP_STATUS: $this->_logError($response); return false; default: user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); return false; } if (!$this->_close_handle($handle)) { return false; } $this->_update_stat_cache($dir, array()); $this->pwd = $dir; return true; } /** * Returns a list of files in the given directory * * @param string $dir * @param bool $recursive * @return mixed * @access public */ function nlist($dir = '.', $recursive = false) { return $this->_nlist_helper($dir, $recursive, ''); } /** * Helper method for nlist * * @param string $dir * @param bool $recursive * @param string $relativeDir * @return mixed * @access private */ function _nlist_helper($dir, $recursive, $relativeDir) { $files = $this->_list($dir, false); // If we get an int back, then that is an "unexpected" status. // We do not have a file list, so return false. if (is_int($files)) { return false; } if (!$recursive || $files === false) { return $files; } $result = array(); foreach ($files as $value) { if ($value == '.' || $value == '..') { if ($relativeDir == '') { $result[] = $value; } continue; } if (is_array($this->_query_stat_cache($this->_realpath($dir . '/' . $value)))) { $temp = $this->_nlist_helper($dir . '/' . $value, true, $relativeDir . $value . '/'); $temp = is_array($temp) ? $temp : array(); $result = array_merge($result, $temp); } else { $result[] = $relativeDir . $value; } } return $result; } /** * Returns a detailed list of files in the given directory * * @param string $dir * @param bool $recursive * @return mixed * @access public */ function rawlist($dir = '.', $recursive = false) { $files = $this->_list($dir, true); // If we get an int back, then that is an "unexpected" status. // We do not have a file list, so return false. if (is_int($files)) { return false; } if (!$recursive || $files === false) { return $files; } static $depth = 0; foreach ($files as $key => $value) { if ($depth != 0 && $key == '..') { unset($files[$key]); continue; } $is_directory = false; if ($key != '.' && $key != '..') { if ($this->use_stat_cache) { $is_directory = is_array($this->_query_stat_cache($this->_realpath($dir . '/' . $key))); } else { $stat = $this->lstat($dir . '/' . $key); $is_directory = $stat && $stat['type'] === NET_SFTP_TYPE_DIRECTORY; } } if ($is_directory) { $depth++; $files[$key] = $this->rawlist($dir . '/' . $key, true); $depth--; } else { $files[$key] = (object) $value; } } return $files; } /** * Reads a list, be it detailed or not, of files in the given directory * * @param string $dir * @param bool $raw * @return mixed * @access private */ function _list($dir, $raw = true) { if (!$this->_precheck()) { return false; } $dir = $this->_realpath($dir . '/'); if ($dir === false) { return false; } // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.1.2 if (!$this->_send_sftp_packet(NET_SFTP_OPENDIR, pack('Na*', strlen($dir), $dir))) { return false; } $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_HANDLE: // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-9.2 // since 'handle' is the last field in the SSH_FXP_HANDLE packet, we'll just remove the first four bytes that // represent the length of the string and leave it at that $handle = substr($response, 4); break; case NET_SFTP_STATUS: // presumably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED if (strlen($response) < 4) { return false; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); $this->_logError($response, $status); return $status; default: user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); return false; } $this->_update_stat_cache($dir, array()); $contents = array(); while (true) { // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.2.2 // why multiple SSH_FXP_READDIR packets would be sent when the response to a single one can span arbitrarily many // SSH_MSG_CHANNEL_DATA messages is not known to me. if (!$this->_send_sftp_packet(NET_SFTP_READDIR, pack('Na*', strlen($handle), $handle))) { return false; } $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_NAME: if (strlen($response) < 4) { return false; } extract(unpack('Ncount', $this->_string_shift($response, 4))); for ($i = 0; $i < $count; $i++) { if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $shortname = $this->_string_shift($response, $length); // SFTPv4 "removed the long filename from the names structure-- it can now be // built from information available in the attrs structure." if ($this->version < 4) { if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $longname = $this->_string_shift($response, $length); } $attributes = $this->_parseAttributes($response); if (!isset($attributes['type']) && $this->version < 4) { $fileType = $this->_parseLongname($longname); if ($fileType) { $attributes['type'] = $fileType; } } $contents[$shortname] = $attributes + array('filename' => $shortname); if (isset($attributes['type']) && $attributes['type'] == NET_SFTP_TYPE_DIRECTORY && ($shortname != '.' && $shortname != '..')) { $this->_update_stat_cache($dir . '/' . $shortname, array()); } else { if ($shortname == '..') { $temp = $this->_realpath($dir . '/..') . '/.'; } else { $temp = $dir . '/' . $shortname; } $this->_update_stat_cache($temp, (object) array('lstat' => $attributes)); } // SFTPv6 has an optional boolean end-of-list field, but we'll ignore that, since the // final SSH_FXP_STATUS packet should tell us that, already. } break; case NET_SFTP_STATUS: if (strlen($response) < 4) { return false; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); if ($status != NET_SFTP_STATUS_EOF) { $this->_logError($response, $status); return $status; } break 2; default: user_error('Expected SSH_FXP_NAME or SSH_FXP_STATUS'); return false; } } if (!$this->_close_handle($handle)) { return false; } if (count($this->sortOptions)) { uasort($contents, array(&$this, '_comparator')); } return $raw ? $contents : array_map('strval', array_keys($contents)); } /** * Compares two rawlist entries using parameters set by setListOrder() * * Intended for use with uasort() * * @param array $a * @param array $b * @return int * @access private */ function _comparator($a, $b) { switch (true) { case $a['filename'] === '.' || $b['filename'] === '.': if ($a['filename'] === $b['filename']) { return 0; } return $a['filename'] === '.' ? -1 : 1; case $a['filename'] === '..' || $b['filename'] === '..': if ($a['filename'] === $b['filename']) { return 0; } return $a['filename'] === '..' ? -1 : 1; case isset($a['type']) && $a['type'] === NET_SFTP_TYPE_DIRECTORY: if (!isset($b['type'])) { return 1; } if ($b['type'] !== $a['type']) { return -1; } break; case isset($b['type']) && $b['type'] === NET_SFTP_TYPE_DIRECTORY: return 1; } foreach ($this->sortOptions as $sort => $order) { if (!isset($a[$sort]) || !isset($b[$sort])) { if (isset($a[$sort])) { return -1; } if (isset($b[$sort])) { return 1; } return 0; } switch ($sort) { case 'filename': $result = strcasecmp($a['filename'], $b['filename']); if ($result) { return $order === SORT_DESC ? -$result : $result; } break; case 'permissions': case 'mode': $a[$sort]&= 07777; $b[$sort]&= 07777; default: if ($a[$sort] === $b[$sort]) { break; } return $order === SORT_ASC ? $a[$sort] - $b[$sort] : $b[$sort] - $a[$sort]; } } } /** * Defines how nlist() and rawlist() will be sorted - if at all. * * If sorting is enabled directories and files will be sorted independently with * directories appearing before files in the resultant array that is returned. * * Any parameter returned by stat is a valid sort parameter for this function. * Filename comparisons are case insensitive. * * Examples: * * $sftp->setListOrder('filename', SORT_ASC); * $sftp->setListOrder('size', SORT_DESC, 'filename', SORT_ASC); * $sftp->setListOrder(true); * Separates directories from files but doesn't do any sorting beyond that * $sftp->setListOrder(); * Don't do any sort of sorting * * @access public */ function setListOrder() { $this->sortOptions = array(); $args = func_get_args(); if (empty($args)) { return; } $len = count($args) & 0x7FFFFFFE; for ($i = 0; $i < $len; $i+=2) { $this->sortOptions[$args[$i]] = $args[$i + 1]; } if (!count($this->sortOptions)) { $this->sortOptions = array('bogus' => true); } } /** * Returns the file size, in bytes, or false, on failure * * Files larger than 4GB will show up as being exactly 4GB. * * @param string $filename * @return mixed * @access public */ function size($filename) { $result = $this->stat($filename); if ($result === false) { return false; } return isset($result['size']) ? $result['size'] : -1; } /** * Save files / directories to cache * * @param string $path * @param mixed $value * @access private */ function _update_stat_cache($path, $value) { if ($this->use_stat_cache === false) { return; } // preg_replace('#^/|/(?=/)|/$#', '', $dir) == str_replace('//', '/', trim($path, '/')) $dirs = explode('/', preg_replace('#^/|/(?=/)|/$#', '', $path)); $temp = &$this->stat_cache; $max = count($dirs) - 1; foreach ($dirs as $i => $dir) { // if $temp is an object that means one of two things. // 1. a file was deleted and changed to a directory behind phpseclib's back // 2. it's a symlink. when lstat is done it's unclear what it's a symlink to if (is_object($temp)) { $temp = array(); } if (!isset($temp[$dir])) { $temp[$dir] = array(); } if ($i === $max) { if (is_object($temp[$dir]) && is_object($value)) { if (!isset($value->stat) && isset($temp[$dir]->stat)) { $value->stat = $temp[$dir]->stat; } if (!isset($value->lstat) && isset($temp[$dir]->lstat)) { $value->lstat = $temp[$dir]->lstat; } } $temp[$dir] = $value; break; } $temp = &$temp[$dir]; } } /** * Remove files / directories from cache * * @param string $path * @return bool * @access private */ function _remove_from_stat_cache($path) { $dirs = explode('/', preg_replace('#^/|/(?=/)|/$#', '', $path)); $temp = &$this->stat_cache; $max = count($dirs) - 1; foreach ($dirs as $i => $dir) { if (!is_array($temp)) { return false; } if ($i === $max) { unset($temp[$dir]); return true; } if (!isset($temp[$dir])) { return false; } $temp = &$temp[$dir]; } } /** * Checks cache for path * * Mainly used by file_exists * * @param string $path * @return mixed * @access private */ function _query_stat_cache($path) { $dirs = explode('/', preg_replace('#^/|/(?=/)|/$#', '', $path)); $temp = &$this->stat_cache; foreach ($dirs as $dir) { if (!is_array($temp)) { return null; } if (!isset($temp[$dir])) { return null; } $temp = &$temp[$dir]; } return $temp; } /** * Returns general information about a file. * * Returns an array on success and false otherwise. * * @param string $filename * @return mixed * @access public */ function stat($filename) { if (!$this->_precheck()) { return false; } $filename = $this->_realpath($filename); if ($filename === false) { return false; } if ($this->use_stat_cache) { $result = $this->_query_stat_cache($filename); if (is_array($result) && isset($result['.']) && isset($result['.']->stat)) { return $result['.']->stat; } if (is_object($result) && isset($result->stat)) { return $result->stat; } } $stat = $this->_stat($filename, NET_SFTP_STAT); if ($stat === false) { $this->_remove_from_stat_cache($filename); return false; } if (isset($stat['type'])) { if ($stat['type'] == NET_SFTP_TYPE_DIRECTORY) { $filename.= '/.'; } $this->_update_stat_cache($filename, (object) array('stat' => $stat)); return $stat; } $pwd = $this->pwd; $stat['type'] = $this->chdir($filename) ? NET_SFTP_TYPE_DIRECTORY : NET_SFTP_TYPE_REGULAR; $this->pwd = $pwd; if ($stat['type'] == NET_SFTP_TYPE_DIRECTORY) { $filename.= '/.'; } $this->_update_stat_cache($filename, (object) array('stat' => $stat)); return $stat; } /** * Returns general information about a file or symbolic link. * * Returns an array on success and false otherwise. * * @param string $filename * @return mixed * @access public */ function lstat($filename) { if (!$this->_precheck()) { return false; } $filename = $this->_realpath($filename); if ($filename === false) { return false; } if ($this->use_stat_cache) { $result = $this->_query_stat_cache($filename); if (is_array($result) && isset($result['.']) && isset($result['.']->lstat)) { return $result['.']->lstat; } if (is_object($result) && isset($result->lstat)) { return $result->lstat; } } $lstat = $this->_stat($filename, NET_SFTP_LSTAT); if ($lstat === false) { $this->_remove_from_stat_cache($filename); return false; } if (isset($lstat['type'])) { if ($lstat['type'] == NET_SFTP_TYPE_DIRECTORY) { $filename.= '/.'; } $this->_update_stat_cache($filename, (object) array('lstat' => $lstat)); return $lstat; } $stat = $this->_stat($filename, NET_SFTP_STAT); if ($lstat != $stat) { $lstat = array_merge($lstat, array('type' => NET_SFTP_TYPE_SYMLINK)); $this->_update_stat_cache($filename, (object) array('lstat' => $lstat)); return $stat; } $pwd = $this->pwd; $lstat['type'] = $this->chdir($filename) ? NET_SFTP_TYPE_DIRECTORY : NET_SFTP_TYPE_REGULAR; $this->pwd = $pwd; if ($lstat['type'] == NET_SFTP_TYPE_DIRECTORY) { $filename.= '/.'; } $this->_update_stat_cache($filename, (object) array('lstat' => $lstat)); return $lstat; } /** * Returns general information about a file or symbolic link * * Determines information without calling \phpseclib\Net\SFTP::realpath(). * The second parameter can be either NET_SFTP_STAT or NET_SFTP_LSTAT. * * @param string $filename * @param int $type * @return mixed * @access private */ function _stat($filename, $type) { // SFTPv4+ adds an additional 32-bit integer field - flags - to the following: $packet = pack('Na*', strlen($filename), $filename); if (!$this->_send_sftp_packet($type, $packet)) { return false; } $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_ATTRS: return $this->_parseAttributes($response); case NET_SFTP_STATUS: $this->_logError($response); return false; } user_error('Expected SSH_FXP_ATTRS or SSH_FXP_STATUS'); return false; } /** * Truncates a file to a given length * * @param string $filename * @param int $new_size * @return bool * @access public */ function truncate($filename, $new_size) { $attr = pack('N3', NET_SFTP_ATTR_SIZE, $new_size / 4294967296, $new_size); // 4294967296 == 0x100000000 == 1<<32 return $this->_setstat($filename, $attr, false); } /** * Sets access and modification time of file. * * If the file does not exist, it will be created. * * @param string $filename * @param int $time * @param int $atime * @return bool * @access public */ function touch($filename, $time = null, $atime = null) { if (!$this->_precheck()) { return false; } $filename = $this->_realpath($filename); if ($filename === false) { return false; } if (!isset($time)) { $time = time(); } if (!isset($atime)) { $atime = $time; } if ($this->version < 4) { $attr = pack('N3', NET_SFTP_ATTR_ACCESSTIME, $atime, $time); } else { $attr = pack( 'N5', NET_SFTP_ATTR_ACCESSTIME | NET_SFTP_ATTR_MODIFYTIME, $atime / 4294967296, $atime, $time / 4294967296, $time ); } $packet = pack('Na*', strlen($filename), $filename); $packet.= $this->version >= 5 ? pack('N2', 0, NET_SFTP_OPEN_OPEN_EXISTING) : pack('N', NET_SFTP_OPEN_WRITE | NET_SFTP_OPEN_CREATE | NET_SFTP_OPEN_EXCL); $packet.= $attr; if (!$this->_send_sftp_packet(NET_SFTP_OPEN, $packet)) { return false; } $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_HANDLE: return $this->_close_handle(substr($response, 4)); case NET_SFTP_STATUS: $this->_logError($response); break; default: user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); return false; } return $this->_setstat($filename, $attr, false); } /** * Changes file or directory owner * * $uid should be an int for SFTPv3 and a string for SFTPv4+. Ideally the string * would be of the form "user@dns_domain" but it does not need to be. * `$sftp->getSupportedVersions()['version']` will return the specific version * that's being used. * * Returns true on success or false on error. * * @param string $filename * @param int|string $uid * @param bool $recursive * @return bool * @access public */ function chown($filename, $uid, $recursive = false) { /* quoting , "To avoid a representation that is tied to a particular underlying implementation at the client or server, the use of UTF-8 strings has been chosen. The string should be of the form "user@dns_domain". This will allow for a client and server that do not use the same local representation the ability to translate to a common syntax that can be interpreted by both. In the case where there is no translation available to the client or server, the attribute value must be constructed without the "@"." phpseclib _could_ auto append the dns_domain to $uid BUT what if it shouldn't have one? phpseclib would have no way of knowing so rather than guess phpseclib will just use whatever value the user provided */ $attr = $this->version < 4 ? // quoting , // "if the owner or group is specified as -1, then that ID is not changed" pack('N3', NET_SFTP_ATTR_UIDGID, $uid, -1) : // quoting , // "If either the owner or group field is zero length, the field should be // considered absent, and no change should be made to that specific field // during a modification operation" pack('NNa*Na*', NET_SFTP_ATTR_OWNERGROUP, strlen($uid), $uid, 0, ''); return $this->_setstat($filename, $attr, $recursive); } /** * Changes file or directory group * * $gid should be an int for SFTPv3 and a string for SFTPv4+. Ideally the string * would be of the form "user@dns_domain" but it does not need to be. * `$sftp->getSupportedVersions()['version']` will return the specific version * that's being used. * * Returns true on success or false on error. * * @param string $filename * @param int|string $gid * @param bool $recursive * @return bool * @access public */ function chgrp($filename, $gid, $recursive = false) { $attr = $this->version < 4 ? pack('N3', NET_SFTP_ATTR_UIDGID, -1, $gid) : pack('NNa*Na*', NET_SFTP_ATTR_OWNERGROUP, 0, '', strlen($gid), $gid); return $this->_setstat($filename, $attr, $recursive); } /** * Set permissions on a file. * * Returns the new file permissions on success or false on error. * If $recursive is true than this just returns true or false. * * @param int $mode * @param string $filename * @param bool $recursive * @return mixed * @access public */ function chmod($mode, $filename, $recursive = false) { if (is_string($mode) && is_int($filename)) { $temp = $mode; $mode = $filename; $filename = $temp; } $attr = pack('N2', NET_SFTP_ATTR_PERMISSIONS, $mode & 07777); if (!$this->_setstat($filename, $attr, $recursive)) { return false; } if ($recursive) { return true; } $filename = $this->realpath($filename); // rather than return what the permissions *should* be, we'll return what they actually are. this will also // tell us if the file actually exists. // incidentally, SFTPv4+ adds an additional 32-bit integer field - flags - to the following: $packet = pack('Na*', strlen($filename), $filename); if (!$this->_send_sftp_packet(NET_SFTP_STAT, $packet)) { return false; } $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_ATTRS: $attrs = $this->_parseAttributes($response); return $attrs['permissions']; case NET_SFTP_STATUS: $this->_logError($response); return false; } user_error('Expected SSH_FXP_ATTRS or SSH_FXP_STATUS'); return false; } /** * Sets information about a file * * @param string $filename * @param string $attr * @param bool $recursive * @return bool * @access private */ function _setstat($filename, $attr, $recursive) { if (!$this->_precheck()) { return false; } $filename = $this->_realpath($filename); if ($filename === false) { return false; } $this->_remove_from_stat_cache($filename); if ($recursive) { $i = 0; $result = $this->_setstat_recursive($filename, $attr, $i); $this->_read_put_responses($i); return $result; } $packet = $this->version >= 4 ? pack('Na*a*Ca*', strlen($filename), $filename, substr($attr, 0, 4), NET_SFTP_TYPE_UNKNOWN, substr($attr, 4)) : pack('Na*a*', strlen($filename), $filename, $attr); if (!$this->_send_sftp_packet(NET_SFTP_SETSTAT, $packet)) { return false; } /* "Because some systems must use separate system calls to set various attributes, it is possible that a failure response will be returned, but yet some of the attributes may be have been successfully modified. If possible, servers SHOULD avoid this situation; however, clients MUST be aware that this is possible." -- http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.6 */ $response = $this->_get_sftp_packet(); if ($this->packet_type != NET_SFTP_STATUS) { user_error('Expected SSH_FXP_STATUS'); return false; } if (strlen($response) < 4) { return false; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); if ($status != NET_SFTP_STATUS_OK) { $this->_logError($response, $status); return false; } return true; } /** * Recursively sets information on directories on the SFTP server * * Minimizes directory lookups and SSH_FXP_STATUS requests for speed. * * @param string $path * @param string $attr * @param int $i * @return bool * @access private */ function _setstat_recursive($path, $attr, &$i) { if (!$this->_read_put_responses($i)) { return false; } $i = 0; $entries = $this->_list($path, true); if ($entries === false || is_int($entries)) { return $this->_setstat($path, $attr, false); } // normally $entries would have at least . and .. but it might not if the directories // permissions didn't allow reading if (empty($entries)) { return false; } unset($entries['.'], $entries['..']); foreach ($entries as $filename => $props) { if (!isset($props['type'])) { return false; } $temp = $path . '/' . $filename; if ($props['type'] == NET_SFTP_TYPE_DIRECTORY) { if (!$this->_setstat_recursive($temp, $attr, $i)) { return false; } } else { $packet = $this->version >= 4 ? pack('Na*Ca*', strlen($temp), $temp, NET_SFTP_TYPE_UNKNOWN, $attr) : pack('Na*a*', strlen($temp), $temp, $attr); if (!$this->_send_sftp_packet(NET_SFTP_SETSTAT, $packet)) { return false; } $i++; if ($i >= NET_SFTP_QUEUE_SIZE) { if (!$this->_read_put_responses($i)) { return false; } $i = 0; } } } $packet = $this->version >= 4 ? pack('Na*Ca*', strlen($temp), $temp, NET_SFTP_TYPE_UNKNOWN, $attr) : pack('Na*a*', strlen($temp), $temp, $attr); if (!$this->_send_sftp_packet(NET_SFTP_SETSTAT, $packet)) { return false; } $i++; if ($i >= NET_SFTP_QUEUE_SIZE) { if (!$this->_read_put_responses($i)) { return false; } $i = 0; } return true; } /** * Return the target of a symbolic link * * @param string $link * @return mixed * @access public */ function readlink($link) { if (!$this->_precheck()) { return false; } $link = $this->_realpath($link); if (!$this->_send_sftp_packet(NET_SFTP_READLINK, pack('Na*', strlen($link), $link))) { return false; } $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_NAME: break; case NET_SFTP_STATUS: $this->_logError($response); return false; default: user_error('Expected SSH_FXP_NAME or SSH_FXP_STATUS'); return false; } if (strlen($response) < 4) { return false; } extract(unpack('Ncount', $this->_string_shift($response, 4))); // the file isn't a symlink if (!$count) { return false; } if (strlen($response) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($response, 4))); return $this->_string_shift($response, $length); } /** * Create a symlink * * symlink() creates a symbolic link to the existing target with the specified name link. * * @param string $target * @param string $link * @return bool * @access public */ function symlink($target, $link) { if (!$this->_precheck()) { return false; } //$target = $this->_realpath($target); $link = $this->_realpath($link); /* quoting https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-09#section-12.1 : Changed the SYMLINK packet to be LINK and give it the ability to create hard links. Also change it's packet number because many implementation implemented SYMLINK with the arguments reversed. Hopefully the new argument names make it clear which way is which. */ if ($this->version == 6) { $type = NET_SFTP_LINK; $packet = pack('Na*Na*C', strlen($link), $link, strlen($target), $target, 1); } else { $type = NET_SFTP_SYMLINK; /* quoting http://bxr.su/OpenBSD/usr.bin/ssh/PROTOCOL#347 : 3.1. sftp: Reversal of arguments to SSH_FXP_SYMLINK When OpenSSH's sftp-server was implemented, the order of the arguments to the SSH_FXP_SYMLINK method was inadvertently reversed. Unfortunately, the reversal was not noticed until the server was widely deployed. Since fixing this to follow the specification would cause incompatibility, the current order was retained. For correct operation, clients should send SSH_FXP_SYMLINK as follows: uint32 id string targetpath string linkpath */ $packet = substr($this->server_identifier, 0, 15) == 'SSH-2.0-OpenSSH' ? pack('Na*Na*', strlen($target), $target, strlen($link), $link) : pack('Na*Na*', strlen($link), $link, strlen($target), $target); } if (!$this->_send_sftp_packet($type, $packet)) { return false; } $response = $this->_get_sftp_packet(); if ($this->packet_type != NET_SFTP_STATUS) { user_error('Expected SSH_FXP_STATUS'); return false; } if (strlen($response) < 4) { return false; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); if ($status != NET_SFTP_STATUS_OK) { $this->_logError($response, $status); return false; } return true; } /** * Creates a directory. * * @param string $dir * @param int $mode * @param bool $recursive * @return bool * @access public */ function mkdir($dir, $mode = -1, $recursive = false) { if (!$this->_precheck()) { return false; } $dir = $this->_realpath($dir); if ($recursive) { $dirs = explode('/', preg_replace('#/(?=/)|/$#', '', $dir)); if (empty($dirs[0])) { array_shift($dirs); $dirs[0] = '/' . $dirs[0]; } for ($i = 0; $i < count($dirs); $i++) { $temp = array_slice($dirs, 0, $i + 1); $temp = implode('/', $temp); $result = $this->_mkdir_helper($temp, $mode); } return $result; } return $this->_mkdir_helper($dir, $mode); } /** * Helper function for directory creation * * @param string $dir * @param int $mode * @return bool * @access private */ function _mkdir_helper($dir, $mode) { // send SSH_FXP_MKDIR without any attributes (that's what the \0\0\0\0 is doing) if (!$this->_send_sftp_packet(NET_SFTP_MKDIR, pack('Na*a*', strlen($dir), $dir, "\0\0\0\0"))) { return false; } $response = $this->_get_sftp_packet(); if ($this->packet_type != NET_SFTP_STATUS) { user_error('Expected SSH_FXP_STATUS'); return false; } if (strlen($response) < 4) { return false; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); if ($status != NET_SFTP_STATUS_OK) { $this->_logError($response, $status); return false; } if ($mode !== -1) { $this->chmod($mode, $dir); } return true; } /** * Removes a directory. * * @param string $dir * @return bool * @access public */ function rmdir($dir) { if (!$this->_precheck()) { return false; } $dir = $this->_realpath($dir); if ($dir === false) { return false; } if (!$this->_send_sftp_packet(NET_SFTP_RMDIR, pack('Na*', strlen($dir), $dir))) { return false; } $response = $this->_get_sftp_packet(); if ($this->packet_type != NET_SFTP_STATUS) { user_error('Expected SSH_FXP_STATUS'); return false; } if (strlen($response) < 4) { return false; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); if ($status != NET_SFTP_STATUS_OK) { // presumably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED? $this->_logError($response, $status); return false; } $this->_remove_from_stat_cache($dir); // the following will do a soft delete, which would be useful if you deleted a file // and then tried to do a stat on the deleted file. the above, in contrast, does // a hard delete //$this->_update_stat_cache($dir, false); return true; } /** * Uploads a file to the SFTP server. * * By default, \phpseclib\Net\SFTP::put() does not read from the local filesystem. $data is dumped directly into $remote_file. * So, for example, if you set $data to 'filename.ext' and then do \phpseclib\Net\SFTP::get(), you will get a file, twelve bytes * long, containing 'filename.ext' as its contents. * * Setting $mode to self::SOURCE_LOCAL_FILE will change the above behavior. With self::SOURCE_LOCAL_FILE, $remote_file will * contain as many bytes as filename.ext does on your local filesystem. If your filename.ext is 1MB then that is how * large $remote_file will be, as well. * * Setting $mode to self::SOURCE_CALLBACK will use $data as callback function, which gets only one parameter -- number * of bytes to return, and returns a string if there is some data or null if there is no more data * * If $data is a resource then it'll be used as a resource instead. * * Currently, only binary mode is supported. As such, if the line endings need to be adjusted, you will need to take * care of that, yourself. * * $mode can take an additional two parameters - self::RESUME and self::RESUME_START. These are bitwise AND'd with * $mode. So if you want to resume upload of a 300mb file on the local file system you'd set $mode to the following: * * self::SOURCE_LOCAL_FILE | self::RESUME * * If you wanted to simply append the full contents of a local file to the full contents of a remote file you'd replace * self::RESUME with self::RESUME_START. * * If $mode & (self::RESUME | self::RESUME_START) then self::RESUME_START will be assumed. * * $start and $local_start give you more fine grained control over this process and take precident over self::RESUME * when they're non-negative. ie. $start could let you write at the end of a file (like self::RESUME) or in the middle * of one. $local_start could let you start your reading from the end of a file (like self::RESUME_START) or in the * middle of one. * * Setting $local_start to > 0 or $mode | self::RESUME_START doesn't do anything unless $mode | self::SOURCE_LOCAL_FILE. * * @param string $remote_file * @param string|resource $data * @param int $mode * @param int $start * @param int $local_start * @param callable|null $progressCallback * @return bool * @access public * @internal ASCII mode for SFTPv4/5/6 can be supported by adding a new function - \phpseclib\Net\SFTP::setMode(). */ function put($remote_file, $data, $mode = self::SOURCE_STRING, $start = -1, $local_start = -1, $progressCallback = null) { if (!$this->_precheck()) { return false; } $remote_file = $this->_realpath($remote_file); if ($remote_file === false) { return false; } $this->_remove_from_stat_cache($remote_file); if ($this->version >= 5) { $flags = NET_SFTP_OPEN_OPEN_OR_CREATE; } else { $flags = NET_SFTP_OPEN_WRITE | NET_SFTP_OPEN_CREATE; // according to the SFTP specs, NET_SFTP_OPEN_APPEND should "force all writes to append data at the end of the file." // in practice, it doesn't seem to do that. //$flags|= ($mode & SFTP::RESUME) ? NET_SFTP_OPEN_APPEND : NET_SFTP_OPEN_TRUNCATE; } if ($start >= 0) { $offset = $start; } elseif ($mode & (self::RESUME | self::RESUME_START)) { // if NET_SFTP_OPEN_APPEND worked as it should _size() wouldn't need to be called $size = $this->size($remote_file); $offset = $size !== false ? $size : 0; } else { $offset = 0; if ($this->version >= 5) { $flags = NET_SFTP_OPEN_CREATE_TRUNCATE; } else { $flags|= NET_SFTP_OPEN_TRUNCATE; } } $packet = pack('Na*', strlen($remote_file), $remote_file); $packet.= $this->version >= 5 ? pack('N3', 0, $flags, 0) : pack('N2', $flags, 0); if (!$this->_send_sftp_packet(NET_SFTP_OPEN, $packet)) { return false; } $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_HANDLE: $handle = substr($response, 4); break; case NET_SFTP_STATUS: $this->_logError($response); return false; default: user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); return false; } // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.2.3 $dataCallback = false; switch (true) { case $mode & self::SOURCE_CALLBACK: if (!is_callable($data)) { user_error("\$data should be is_callable() if you specify SOURCE_CALLBACK flag"); } $dataCallback = $data; // do nothing break; case is_resource($data): $mode = $mode & ~self::SOURCE_LOCAL_FILE; $info = stream_get_meta_data($data); if (isset($info['wrapper_type']) && $info['wrapper_type'] == 'PHP' && $info['stream_type'] == 'Input') { $fp = fopen('php://memory', 'w+'); stream_copy_to_stream($data, $fp); rewind($fp); } else { $fp = $data; } break; case $mode & self::SOURCE_LOCAL_FILE: if (!is_file($data)) { user_error("$data is not a valid file"); return false; } $fp = @fopen($data, 'rb'); if (!$fp) { return false; } } if (isset($fp)) { $stat = fstat($fp); $size = !empty($stat) ? $stat['size'] : 0; if ($local_start >= 0) { fseek($fp, $local_start); $size-= $local_start; } elseif ($mode & self::RESUME) { fseek($fp, $offset); $size-= $offset; } } elseif ($dataCallback) { $size = 0; } else { $size = strlen($data); } $sent = 0; $size = $size < 0 ? ($size & 0x7FFFFFFF) + 0x80000000 : $size; $sftp_packet_size = $this->max_sftp_packet; // make the SFTP packet be exactly the SFTP packet size by including the bytes in the NET_SFTP_WRITE packets "header" $sftp_packet_size-= strlen($handle) + 25; $i = $j = 0; while ($dataCallback || ($size === 0 || $sent < $size)) { if ($dataCallback) { $temp = call_user_func($dataCallback, $sftp_packet_size); if (is_null($temp)) { break; } } else { $temp = isset($fp) ? fread($fp, $sftp_packet_size) : substr($data, $sent, $sftp_packet_size); if ($temp === false || $temp === '') { break; } } $subtemp = $offset + $sent; $packet = pack('Na*N3a*', strlen($handle), $handle, $subtemp / 4294967296, $subtemp, strlen($temp), $temp); if (!$this->_send_sftp_packet(NET_SFTP_WRITE, $packet, $j)) { if ($mode & self::SOURCE_LOCAL_FILE) { fclose($fp); } return false; } $sent+= strlen($temp); if (is_callable($progressCallback)) { call_user_func($progressCallback, $sent); } $i++; $j++; if ($i == NET_SFTP_UPLOAD_QUEUE_SIZE) { if (!$this->_read_put_responses($i)) { $i = 0; break; } $i = 0; } } $result = $this->_close_handle($handle); if (!$this->_read_put_responses($i)) { if ($mode & self::SOURCE_LOCAL_FILE) { fclose($fp); } $this->_close_handle($handle); return false; } if ($mode & SFTP::SOURCE_LOCAL_FILE) { if (isset($fp) && is_resource($fp)) { fclose($fp); } if ($this->preserveTime) { $stat = stat($data); if ($this->version < 4) { $attr = pack('N3', NET_SFTP_ATTR_ACCESSTIME, $stat['atime'], $stat['mtime']); } else { $attr = pack( 'N5', NET_SFTP_ATTR_ACCESSTIME | NET_SFTP_ATTR_MODIFYTIME, $stat['atime'] / 4294967296, $stat['atime'], $stat['mtime'] / 4294967296, $stat['mtime'] ); } if (!$this->_setstat($remote_file, $attr, false)) { user_error('Error setting file time'); } } } return $result; } /** * Reads multiple successive SSH_FXP_WRITE responses * * Sending an SSH_FXP_WRITE packet and immediately reading its response isn't as efficient as blindly sending out $i * SSH_FXP_WRITEs, in succession, and then reading $i responses. * * @param int $i * @return bool * @access private */ function _read_put_responses($i) { while ($i--) { $response = $this->_get_sftp_packet(); if ($this->packet_type != NET_SFTP_STATUS) { user_error('Expected SSH_FXP_STATUS'); return false; } if (strlen($response) < 4) { return false; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); if ($status != NET_SFTP_STATUS_OK) { $this->_logError($response, $status); break; } } return $i < 0; } /** * Close handle * * @param string $handle * @return bool * @access private */ function _close_handle($handle) { if (!$this->_send_sftp_packet(NET_SFTP_CLOSE, pack('Na*', strlen($handle), $handle))) { return false; } // "The client MUST release all resources associated with the handle regardless of the status." // -- http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.1.3 $response = $this->_get_sftp_packet(); if ($this->packet_type != NET_SFTP_STATUS) { user_error('Expected SSH_FXP_STATUS'); return false; } if (strlen($response) < 4) { return false; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); if ($status != NET_SFTP_STATUS_OK) { $this->_logError($response, $status); return false; } return true; } /** * Downloads a file from the SFTP server. * * Returns a string containing the contents of $remote_file if $local_file is left undefined or a boolean false if * the operation was unsuccessful. If $local_file is defined, returns true or false depending on the success of the * operation. * * $offset and $length can be used to download files in chunks. * * @param string $remote_file * @param string $local_file * @param int $offset * @param int $length * @param callable|null $progressCallback * @return mixed * @access public */ function get($remote_file, $local_file = false, $offset = 0, $length = -1, $progressCallback = null) { if (!$this->_precheck()) { return false; } $remote_file = $this->_realpath($remote_file); if ($remote_file === false) { return false; } $packet = pack('Na*', strlen($remote_file), $remote_file); $packet.= $this->version >= 5 ? pack('N3', 0, NET_SFTP_OPEN_OPEN_EXISTING, 0) : pack('N2', NET_SFTP_OPEN_READ, 0); if (!$this->_send_sftp_packet(NET_SFTP_OPEN, $packet)) { return false; } $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_HANDLE: $handle = substr($response, 4); break; case NET_SFTP_STATUS: // presumably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED $this->_logError($response); return false; default: user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); return false; } if (is_resource($local_file)) { $fp = $local_file; $stat = fstat($fp); $res_offset = $stat['size']; } else { $res_offset = 0; if ($local_file !== false && !is_callable($local_file)) { $fp = fopen($local_file, 'wb'); if (!$fp) { return false; } } else { $content = ''; } } $fclose_check = $local_file !== false && !is_callable($local_file) && !is_resource($local_file); $start = $offset; $read = 0; while (true) { $i = 0; while ($i < NET_SFTP_QUEUE_SIZE && ($length < 0 || $read < $length)) { $tempoffset = $start + $read; $packet_size = $length > 0 ? min($this->max_sftp_packet, $length - $read) : $this->max_sftp_packet; $packet = pack('Na*N3', strlen($handle), $handle, $tempoffset / 4294967296, $tempoffset, $packet_size); if (!$this->_send_sftp_packet(NET_SFTP_READ, $packet, $i)) { if ($fclose_check) { fclose($fp); } return false; } $packet = null; $read+= $packet_size; $i++; } if (!$i) { break; } $packets_sent = $i - 1; $clear_responses = false; while ($i > 0) { $i--; if ($clear_responses) { $this->_get_sftp_packet($packets_sent - $i); continue; } else { $response = $this->_get_sftp_packet($packets_sent - $i); } switch ($this->packet_type) { case NET_SFTP_DATA: $temp = substr($response, 4); $offset+= strlen($temp); if ($local_file === false) { $content.= $temp; } elseif (is_callable($local_file)) { $local_file($temp); } else { fputs($fp, $temp); } if (is_callable($progressCallback)) { call_user_func($progressCallback, $offset); } $temp = null; break; case NET_SFTP_STATUS: // could, in theory, return false if !strlen($content) but we'll hold off for the time being $this->_logError($response); $clear_responses = true; // don't break out of the loop yet, so we can read the remaining responses break; default: if ($fclose_check) { fclose($fp); } // maybe the file was successfully transferred, maybe it wasn't if ($this->channel_close) { $this->partial_init = false; $this->_init_sftp_connection(); return false; } else { user_error('Expected SSH_FX_DATA or SSH_FXP_STATUS'); } } $response = null; } if ($clear_responses) { break; } } if ($fclose_check) { fclose($fp); if ($this->preserveTime) { $stat = $this->stat($remote_file); touch($local_file, $stat['mtime'], $stat['atime']); } } if (!$this->_close_handle($handle)) { return false; } // if $content isn't set that means a file was written to return isset($content) ? $content : true; } /** * Deletes a file on the SFTP server. * * @param string $path * @param bool $recursive * @return bool * @access public */ function delete($path, $recursive = true) { if (!$this->_precheck()) { return false; } if (is_object($path)) { // It's an object. Cast it as string before we check anything else. $path = (string) $path; } if (!is_string($path) || $path == '') { return false; } $path = $this->_realpath($path); if ($path === false) { return false; } // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.3 if (!$this->_send_sftp_packet(NET_SFTP_REMOVE, pack('Na*', strlen($path), $path))) { return false; } $response = $this->_get_sftp_packet(); if ($this->packet_type != NET_SFTP_STATUS) { user_error('Expected SSH_FXP_STATUS'); return false; } // if $status isn't SSH_FX_OK it's probably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED if (strlen($response) < 4) { return false; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); if ($status != NET_SFTP_STATUS_OK) { $this->_logError($response, $status); if (!$recursive) { return false; } $i = 0; $result = $this->_delete_recursive($path, $i); $this->_read_put_responses($i); return $result; } $this->_remove_from_stat_cache($path); return true; } /** * Recursively deletes directories on the SFTP server * * Minimizes directory lookups and SSH_FXP_STATUS requests for speed. * * @param string $path * @param int $i * @return bool * @access private */ function _delete_recursive($path, &$i) { if (!$this->_read_put_responses($i)) { return false; } $i = 0; $entries = $this->_list($path, true); // The folder does not exist at all, so we cannot delete it. if ($entries === NET_SFTP_STATUS_NO_SUCH_FILE) { return false; } // Normally $entries would have at least . and .. but it might not if the directories // permissions didn't allow reading. If this happens then default to an empty list of files. if ($entries === false || is_int($entries)) { $entries = array(); } unset($entries['.'], $entries['..']); foreach ($entries as $filename => $props) { if (!isset($props['type'])) { return false; } $temp = $path . '/' . $filename; if ($props['type'] == NET_SFTP_TYPE_DIRECTORY) { if (!$this->_delete_recursive($temp, $i)) { return false; } } else { if (!$this->_send_sftp_packet(NET_SFTP_REMOVE, pack('Na*', strlen($temp), $temp))) { return false; } $this->_remove_from_stat_cache($temp); $i++; if ($i >= NET_SFTP_QUEUE_SIZE) { if (!$this->_read_put_responses($i)) { return false; } $i = 0; } } } if (!$this->_send_sftp_packet(NET_SFTP_RMDIR, pack('Na*', strlen($path), $path))) { return false; } $this->_remove_from_stat_cache($path); $i++; if ($i >= NET_SFTP_QUEUE_SIZE) { if (!$this->_read_put_responses($i)) { return false; } $i = 0; } return true; } /** * Checks whether a file or directory exists * * @param string $path * @return bool * @access public */ function file_exists($path) { if ($this->use_stat_cache) { if (!$this->_precheck()) { return false; } $path = $this->_realpath($path); $result = $this->_query_stat_cache($path); if (isset($result)) { // return true if $result is an array or if it's an stdClass object return $result !== false; } } return $this->stat($path) !== false; } /** * Tells whether the filename is a directory * * @param string $path * @return bool * @access public */ function is_dir($path) { $result = $this->_get_stat_cache_prop($path, 'type'); if ($result === false) { return false; } return $result === NET_SFTP_TYPE_DIRECTORY; } /** * Tells whether the filename is a regular file * * @param string $path * @return bool * @access public */ function is_file($path) { $result = $this->_get_stat_cache_prop($path, 'type'); if ($result === false) { return false; } return $result === NET_SFTP_TYPE_REGULAR; } /** * Tells whether the filename is a symbolic link * * @param string $path * @return bool * @access public */ function is_link($path) { $result = $this->_get_lstat_cache_prop($path, 'type'); if ($result === false) { return false; } return $result === NET_SFTP_TYPE_SYMLINK; } /** * Tells whether a file exists and is readable * * @param string $path * @return bool * @access public */ function is_readable($path) { if (!$this->_precheck()) { return false; } $path = $this->_realpath($path); $packet = pack('Na*N2', strlen($path), $path, NET_SFTP_OPEN_READ, 0); if (!$this->_send_sftp_packet(NET_SFTP_OPEN, $packet)) { return false; } $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_HANDLE: return true; case NET_SFTP_STATUS: // presumably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED return false; default: user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); return false; } } /** * Tells whether the filename is writable * * @param string $path * @return bool * @access public */ function is_writable($path) { if (!$this->_precheck()) { return false; } $path = $this->_realpath($path); $packet = pack('Na*N2', strlen($path), $path, NET_SFTP_OPEN_WRITE, 0); if (!$this->_send_sftp_packet(NET_SFTP_OPEN, $packet)) { return false; } $response = $this->_get_sftp_packet(); switch ($this->packet_type) { case NET_SFTP_HANDLE: return true; case NET_SFTP_STATUS: // presumably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED return false; default: user_error('Expected SSH_FXP_HANDLE or SSH_FXP_STATUS'); return false; } } /** * Tells whether the filename is writeable * * Alias of is_writable * * @param string $path * @return bool * @access public */ function is_writeable($path) { return $this->is_writable($path); } /** * Gets last access time of file * * @param string $path * @return mixed * @access public */ function fileatime($path) { return $this->_get_stat_cache_prop($path, 'atime'); } /** * Gets file modification time * * @param string $path * @return mixed * @access public */ function filemtime($path) { return $this->_get_stat_cache_prop($path, 'mtime'); } /** * Gets file permissions * * @param string $path * @return mixed * @access public */ function fileperms($path) { return $this->_get_stat_cache_prop($path, 'permissions'); } /** * Gets file owner * * @param string $path * @return mixed * @access public */ function fileowner($path) { return $this->_get_stat_cache_prop($path, 'uid'); } /** * Gets file group * * @param string $path * @return mixed * @access public */ function filegroup($path) { return $this->_get_stat_cache_prop($path, 'gid'); } /** * Gets file size * * @param string $path * @return mixed * @access public */ function filesize($path) { return $this->_get_stat_cache_prop($path, 'size'); } /** * Gets file type * * @param string $path * @return mixed * @access public */ function filetype($path) { $type = $this->_get_stat_cache_prop($path, 'type'); if ($type === false) { return false; } switch ($type) { case NET_SFTP_TYPE_BLOCK_DEVICE: return 'block'; case NET_SFTP_TYPE_CHAR_DEVICE: return 'char'; case NET_SFTP_TYPE_DIRECTORY: return 'dir'; case NET_SFTP_TYPE_FIFO: return 'fifo'; case NET_SFTP_TYPE_REGULAR: return 'file'; case NET_SFTP_TYPE_SYMLINK: return 'link'; default: return false; } } /** * Return a stat properity * * Uses cache if appropriate. * * @param string $path * @param string $prop * @return mixed * @access private */ function _get_stat_cache_prop($path, $prop) { return $this->_get_xstat_cache_prop($path, $prop, 'stat'); } /** * Return an lstat properity * * Uses cache if appropriate. * * @param string $path * @param string $prop * @return mixed * @access private */ function _get_lstat_cache_prop($path, $prop) { return $this->_get_xstat_cache_prop($path, $prop, 'lstat'); } /** * Return a stat or lstat properity * * Uses cache if appropriate. * * @param string $path * @param string $prop * @param mixed $type * @return mixed * @access private */ function _get_xstat_cache_prop($path, $prop, $type) { if (!$this->_precheck()) { return false; } if ($this->use_stat_cache) { $path = $this->_realpath($path); $result = $this->_query_stat_cache($path); if (is_object($result) && isset($result->$type)) { return $result->{$type}[$prop]; } } $result = $this->$type($path); if ($result === false || !isset($result[$prop])) { return false; } return $result[$prop]; } /** * Renames a file or a directory on the SFTP server. * * If the file already exists this will return false * * @param string $oldname * @param string $newname * @return bool * @access public */ function rename($oldname, $newname) { if (!$this->_precheck()) { return false; } $oldname = $this->_realpath($oldname); $newname = $this->_realpath($newname); if ($oldname === false || $newname === false) { return false; } // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-13#section-8.3 $packet = pack('Na*Na*', strlen($oldname), $oldname, strlen($newname), $newname); if ($this->version >= 5) { /* quoting https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-05#section-6.5 , 'flags' is 0 or a combination of: SSH_FXP_RENAME_OVERWRITE 0x00000001 SSH_FXP_RENAME_ATOMIC 0x00000002 SSH_FXP_RENAME_NATIVE 0x00000004 (none of these are currently supported) */ $packet.= "\0\0\0\0"; } if (!$this->_send_sftp_packet(NET_SFTP_RENAME, $packet)) { return false; } $response = $this->_get_sftp_packet(); if ($this->packet_type != NET_SFTP_STATUS) { user_error('Expected SSH_FXP_STATUS'); return false; } // if $status isn't SSH_FX_OK it's probably SSH_FX_NO_SUCH_FILE or SSH_FX_PERMISSION_DENIED if (strlen($response) < 4) { return false; } extract(unpack('Nstatus', $this->_string_shift($response, 4))); if ($status != NET_SFTP_STATUS_OK) { $this->_logError($response, $status); return false; } // don't move the stat cache entry over since this operation could very well change the // atime and mtime attributes //$this->_update_stat_cache($newname, $this->_query_stat_cache($oldname)); $this->_remove_from_stat_cache($oldname); $this->_remove_from_stat_cache($newname); return true; } /** * Parse Time * * See '7.7. Times' of draft-ietf-secsh-filexfer-13 for more info. * * @param string $key * @param int $flags * @param string $response * @return array * @access private */ function _parseTime($key, $flags, &$response) { if (strlen($response) < 8) { user_error('Malformed file attributes'); return array(); } $attr = array(); $attr[$key] = hexdec(bin2hex($this->_string_shift($response, 8))); if ($flags & NET_SFTP_ATTR_SUBSECOND_TIMES) { $attr+= extract(unpack('N' . $key . '_nseconds', $this->_string_shift($response, 4))); } return $attr; } /** * Parse Attributes * * See '7. File Attributes' of draft-ietf-secsh-filexfer-13 for more info. * * @param string $response * @return array * @access private */ function _parseAttributes(&$response) { if ($this->version >= 4) { $length = 5; $format = 'Nflags/Ctype'; } else { $length = 4; $format = 'Nflags'; } $attr = array(); if (strlen($response) < $length) { user_error('Malformed file attributes'); return array(); } extract(unpack($format, $this->_string_shift($response, $length))); if (isset($type)) { $attr['type'] = $type; } foreach ($this->attributes as $key => $value) { switch ($flags & $key) { case NET_SFTP_ATTR_UIDGID: if ($this->version > 3) { continue 2; } break; case NET_SFTP_ATTR_CREATETIME: case NET_SFTP_ATTR_MODIFYTIME: case NET_SFTP_ATTR_ACL: case NET_SFTP_ATTR_OWNERGROUP: case NET_SFTP_ATTR_SUBSECOND_TIMES: if ($this->version < 4) { continue 2; } break; case NET_SFTP_ATTR_BITS: if ($this->version < 5) { continue 2; } break; case NET_SFTP_ATTR_ALLOCATION_SIZE: case NET_SFTP_ATTR_TEXT_HINT: case NET_SFTP_ATTR_MIME_TYPE: case NET_SFTP_ATTR_LINK_COUNT: case NET_SFTP_ATTR_UNTRANSLATED_NAME: case NET_SFTP_ATTR_CTIME: if ($this->version < 6) { continue 2; } } switch ($flags & $key) { case NET_SFTP_ATTR_SIZE: // 0x00000001 // The size attribute is defined as an unsigned 64-bit integer. // The following will use floats on 32-bit platforms, if necessary. // As can be seen in the BigInteger class, floats are generally // IEEE 754 binary64 "double precision" on such platforms and // as such can represent integers of at least 2^50 without loss // of precision. Interpreted in filesize, 2^50 bytes = 1024 TiB. $attr['size'] = hexdec(bin2hex($this->_string_shift($response, 8))); break; case NET_SFTP_ATTR_UIDGID: // 0x00000002 (SFTPv3 or earlier) if (strlen($response) < 8) { user_error('Malformed file attributes'); return $attr; } $attr+= unpack('Nuid/Ngid', $this->_string_shift($response, 8)); break; case NET_SFTP_ATTR_PERMISSIONS: // 0x00000004 if (strlen($response) < 4) { user_error('Malformed file attributes'); return $attr; } $attr+= unpack('Npermissions', $this->_string_shift($response, 4)); // mode == permissions; permissions was the original array key and is retained for bc purposes. // mode was added because that's the more industry standard terminology $attr+= array('mode' => $attr['permissions']); $fileType = $this->_parseMode($attr['permissions']); if ($fileType !== false) { $attr+= array('type' => $fileType); } break; case NET_SFTP_ATTR_ACCESSTIME: // 0x00000008 if ($this->version >= 4) { $attr+= $this->_parseTime('atime', $flags, $response); break; } if (strlen($response) < 8) { user_error('Malformed file attributes'); return $attr; } $attr+= unpack('Natime/Nmtime', $this->_string_shift($response, 8)); break; case NET_SFTP_ATTR_CREATETIME: // 0x00000010 (SFTPv4+) $attr+= $this->_parseTime('createtime', $flags, $response); break; case NET_SFTP_ATTR_MODIFYTIME: // 0x00000020 $attr+= $this->_parseTime('mtime', $flags, $response); break; case NET_SFTP_ATTR_ACL: // 0x00000040 // access control list // see https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-04#section-5.7 // currently unsupported if (strlen($response) < 4) { user_error('Malformed file attributes'); return $attr; } extract(unpack('Ncount', $this->_string_shift($response, 4))); for ($i = 0; $i < $count; $i++) { if (strlen($response) < 16) { user_error('Malformed file attributes'); return $attr; } extract(unpack('Ntype/Nflag/Nmask/Nlength', $this->_string_shift($response, 16))); if (strlen($response) < $length) { user_error('Malformed file attributes'); return $attr; } $this->_string_shift($response, $length); // who } break; case NET_SFTP_ATTR_OWNERGROUP: // 0x00000080 if (strlen($response) < 4) { user_error('Malformed file attributes'); return $attr; } extract(unpack('Nlength', $this->_string_shift($response, 4))); if (strlen($response) < $length) { user_error('Malformed file attributes'); return $attr; } $attr['owner'] = $this->_string_shift($response, $length); if (strlen($response) < 4) { user_error('Malformed file attributes'); return $attr; } extract(unpack('Nlength', $this->_string_shift($response, 4))); if (strlen($response) < $length) { user_error('Malformed file attributes'); return $attr; } $attr['group'] = $this->_string_shift($response, $length); break; case NET_SFTP_ATTR_SUBSECOND_TIMES: // 0x00000100 break; case NET_SFTP_ATTR_BITS: // 0x00000200 (SFTPv5+) // see https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-05#section-5.8 // currently unsupported // tells if you file is: // readonly, system, hidden, case inensitive, archive, encrypted, compressed, sparse // append only, immutable, sync if (strlen($response) < 8) { user_error('Malformed file attributes'); return $attr; } extract(unpack('Nattrib-bits/Nattrib-bits-valid', $this->_string_shift($response, 8))); break; case NET_SFTP_ATTR_ALLOCATION_SIZE: // 0x00000400 (SFTPv6+) // see https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-13#section-7.4 // represents the number of bytes htat the file consumes on the disk. will // usually be larger than the 'size' field $attr['allocation-size'] = hexdec(bin2hex($this->_string_shift($response, 8))); break; case NET_SFTP_ATTR_TEXT_HINT: // 0x00000800 // https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-13#section-7.10 // currently unsupported // tells if file is "known text", "guessed text", "known binary", "guessed binary" extract(unpack('Ctext-hint', $this->_string_shift($response))); break; case NET_SFTP_ATTR_MIME_TYPE: // 0x00001000 // see https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-13#section-7.11 if (strlen($response) < 4) { user_error('Malformed file attributes'); return $attr; } extract(unpack('Nlength', $this->_string_shift($response, 4))); if (strlen($response) < $length) { user_error('Malformed file attributes'); return $attr; } $attr['mime-type'] = $this->_string_shift($response, $length); break; case NET_SFTP_ATTR_LINK_COUNT: // 0x00002000 // see https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-13#section-7.12 if (strlen($response) < 4) { user_error('Malformed file attributes'); return $attr; } $attr+= unpack('Nlink-count', $this->_string_shift($response, 4)); break; case NET_SFTP_ATTR_UNTRANSLATED_NAME:// 0x00004000 // see https://datatracker.ietf.org/doc/html/draft-ietf-secsh-filexfer-13#section-7.13 if (strlen($response) < 4) { user_error('Malformed file attributes'); return $attr; } extract(unpack('Nlength', $this->_string_shift($response, 4))); if (strlen($response) < $length) { user_error('Malformed file attributes'); return $attr; } $attr['untranslated-name'] = $this->_string_shift($response, $length); break; case NET_SFTP_ATTR_CTIME: // 0x00008000 // 'ctime' contains the last time the file attributes were changed. The // exact meaning of this field depends on the server. $attr+= $this->_parseTime('ctime', $flags, $response); break; case NET_SFTP_ATTR_EXTENDED: // 0x80000000 if (strlen($response) < 4) { user_error('Malformed file attributes'); return $attr; } extract(unpack('Ncount', $this->_string_shift($response, 4))); for ($i = 0; $i < $count; $i++) { if (strlen($response) < 4) { user_error('Malformed file attributes'); return $attr; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $key = $this->_string_shift($response, $length); if (strlen($response) < 4) { user_error('Malformed file attributes'); return $attr; } extract(unpack('Nlength', $this->_string_shift($response, 4))); $attr[$key] = $this->_string_shift($response, $length); } } } return $attr; } /** * Attempt to identify the file type * * Quoting the SFTP RFC, "Implementations MUST NOT send bits that are not defined" but they seem to anyway * * @param int $mode * @return int * @access private */ function _parseMode($mode) { // values come from http://lxr.free-electrons.com/source/include/uapi/linux/stat.h#L12 // see, also, http://linux.die.net/man/2/stat switch ($mode & 0170000) {// ie. 1111 0000 0000 0000 case 0000000: // no file type specified - figure out the file type using alternative means return false; case 0040000: return NET_SFTP_TYPE_DIRECTORY; case 0100000: return NET_SFTP_TYPE_REGULAR; case 0120000: return NET_SFTP_TYPE_SYMLINK; // new types introduced in SFTPv5+ // http://tools.ietf.org/html/draft-ietf-secsh-filexfer-05#section-5.2 case 0010000: // named pipe (fifo) return NET_SFTP_TYPE_FIFO; case 0020000: // character special return NET_SFTP_TYPE_CHAR_DEVICE; case 0060000: // block special return NET_SFTP_TYPE_BLOCK_DEVICE; case 0140000: // socket return NET_SFTP_TYPE_SOCKET; case 0160000: // whiteout // "SPECIAL should be used for files that are of // a known type which cannot be expressed in the protocol" return NET_SFTP_TYPE_SPECIAL; default: return NET_SFTP_TYPE_UNKNOWN; } } /** * Parse Longname * * SFTPv3 doesn't provide any easy way of identifying a file type. You could try to open * a file as a directory and see if an error is returned or you could try to parse the * SFTPv3-specific longname field of the SSH_FXP_NAME packet. That's what this function does. * The result is returned using the * {@link http://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-5.2 SFTPv4 type constants}. * * If the longname is in an unrecognized format bool(false) is returned. * * @param string $longname * @return mixed * @access private */ function _parseLongname($longname) { // http://en.wikipedia.org/wiki/Unix_file_types // http://en.wikipedia.org/wiki/Filesystem_permissions#Notation_of_traditional_Unix_permissions if (preg_match('#^[^/]([r-][w-][xstST-]){3}#', $longname)) { switch ($longname[0]) { case '-': return NET_SFTP_TYPE_REGULAR; case 'd': return NET_SFTP_TYPE_DIRECTORY; case 'l': return NET_SFTP_TYPE_SYMLINK; default: return NET_SFTP_TYPE_SPECIAL; } } return false; } /** * Sends SFTP Packets * * See '6. General Packet Format' of draft-ietf-secsh-filexfer-13 for more info. * * @param int $type * @param string $data * @param int $request_id * @see self::_get_sftp_packet() * @see self::_send_channel_packet() * @return bool * @access private */ function _send_sftp_packet($type, $data, $request_id = 1) { // in SSH2.php the timeout is cumulative per function call. eg. exec() will // timeout after 10s. but for SFTP.php it's cumulative per packet $this->curTimeout = $this->timeout; $packet = $this->use_request_id ? pack('NCNa*', strlen($data) + 5, $type, $request_id, $data) : pack('NCa*', strlen($data) + 1, $type, $data); $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 $result = $this->_send_channel_packet(self::CHANNEL, $packet); $stop = strtok(microtime(), ' ') + strtok(''); if (defined('NET_SFTP_LOGGING')) { $packet_type = '-> ' . $this->packet_types[$type] . ' (' . round($stop - $start, 4) . 's)'; if (NET_SFTP_LOGGING == self::LOG_REALTIME) { switch (PHP_SAPI) { case 'cli': $start = $stop = "\r\n"; break; default: $start = '
    ';
                            $stop = '
    '; } echo $start . $this->_format_log(array($data), array($packet_type)) . $stop; @flush(); @ob_flush(); } else { $this->packet_type_log[] = $packet_type; if (NET_SFTP_LOGGING == self::LOG_COMPLEX) { $this->packet_log[] = $data; } } } return $result; } /** * Resets a connection for re-use * * @param int $reason * @access private */ function _reset_connection($reason) { parent::_reset_connection($reason); $this->use_request_id = false; $this->pwd = false; $this->requestBuffer = array(); $this->partial_init = false; } /** * Receives SFTP Packets * * See '6. General Packet Format' of draft-ietf-secsh-filexfer-13 for more info. * * Incidentally, the number of SSH_MSG_CHANNEL_DATA messages has no bearing on the number of SFTP packets present. * There can be one SSH_MSG_CHANNEL_DATA messages containing two SFTP packets or there can be two SSH_MSG_CHANNEL_DATA * messages containing one SFTP packet. * * @see self::_send_sftp_packet() * @return string * @access private */ function _get_sftp_packet($request_id = null) { $this->channel_close = false; if (isset($request_id) && isset($this->requestBuffer[$request_id])) { $this->packet_type = $this->requestBuffer[$request_id]['packet_type']; $temp = $this->requestBuffer[$request_id]['packet']; unset($this->requestBuffer[$request_id]); return $temp; } // in SSH2.php the timeout is cumulative per function call. eg. exec() will // timeout after 10s. but for SFTP.php it's cumulative per packet $this->curTimeout = $this->timeout; $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 // SFTP packet length while (strlen($this->packet_buffer) < 4) { $temp = $this->_get_channel_packet(self::CHANNEL, true); if ($temp === true) { if ($this->channel_status[self::CHANNEL] === NET_SSH2_MSG_CHANNEL_CLOSE) { $this->channel_close = true; } $this->packet_type = false; $this->packet_buffer = ''; return false; } if ($temp === false) { return false; } $this->packet_buffer.= $temp; } if (strlen($this->packet_buffer) < 4) { return false; } extract(unpack('Nlength', $this->_string_shift($this->packet_buffer, 4))); $tempLength = $length; $tempLength-= strlen($this->packet_buffer); // 256 * 1024 is what SFTP_MAX_MSG_LENGTH is set to in OpenSSH's sftp-common.h if (!$this->allow_arbitrary_length_packets && !$this->use_request_id && $tempLength > 256 * 1024) { user_error('Invalid SFTP packet size'); return false; } // SFTP packet type and data payload while ($tempLength > 0) { $temp = $this->_get_channel_packet(self::CHANNEL, true); if (is_bool($temp)) { if ($temp && $this->channel_status[self::CHANNEL] === NET_SSH2_MSG_CHANNEL_CLOSE) { $this->channel_close = true; } $this->packet_type = false; $this->packet_buffer = ''; return false; } $this->packet_buffer.= $temp; $tempLength-= strlen($temp); } $stop = strtok(microtime(), ' ') + strtok(''); $this->packet_type = ord($this->_string_shift($this->packet_buffer)); if ($this->use_request_id) { extract(unpack('Npacket_id', $this->_string_shift($this->packet_buffer, 4))); // remove the request id $length-= 5; // account for the request id and the packet type } else { $length-= 1; // account for the packet type } $packet = $this->_string_shift($this->packet_buffer, $length); if (defined('NET_SFTP_LOGGING')) { $packet_type = '<- ' . $this->packet_types[$this->packet_type] . ' (' . round($stop - $start, 4) . 's)'; if (NET_SFTP_LOGGING == self::LOG_REALTIME) { switch (PHP_SAPI) { case 'cli': $start = $stop = "\r\n"; break; default: $start = '
    ';
                            $stop = '
    '; } echo $start . $this->_format_log(array($packet), array($packet_type)) . $stop; @flush(); @ob_flush(); } else { $this->packet_type_log[] = $packet_type; if (NET_SFTP_LOGGING == self::LOG_COMPLEX) { $this->packet_log[] = $packet; } } } if (isset($request_id) && $this->use_request_id && $packet_id != $request_id) { $this->requestBuffer[$packet_id] = array( 'packet_type' => $this->packet_type, 'packet' => $packet ); return $this->_get_sftp_packet($request_id); } return $packet; } /** * Returns a log of the packets that have been sent and received. * * Returns a string if NET_SFTP_LOGGING == NET_SFTP_LOG_COMPLEX, an array if NET_SFTP_LOGGING == NET_SFTP_LOG_SIMPLE and false if !defined('NET_SFTP_LOGGING') * * @access public * @return string or Array */ function getSFTPLog() { if (!defined('NET_SFTP_LOGGING')) { return false; } switch (NET_SFTP_LOGGING) { case self::LOG_COMPLEX: return $this->_format_log($this->packet_log, $this->packet_type_log); break; //case self::LOG_SIMPLE: default: return $this->packet_type_log; } } /** * Returns all errors on the SFTP layer * * @return array * @access public */ function getSFTPErrors() { return $this->sftp_errors; } /** * Returns the last error on the SFTP layer * * @return string * @access public */ function getLastSFTPError() { return count($this->sftp_errors) ? $this->sftp_errors[count($this->sftp_errors) - 1] : ''; } /** * Get supported SFTP versions * * @return array * @access public */ function getSupportedVersions() { if (!($this->bitmap & SSH2::MASK_LOGIN)) { return false; } if (!$this->partial_init) { $this->_partial_init_sftp_connection(); } $temp = array('version' => $this->defaultVersion); if (isset($this->extensions['versions'])) { $temp['extensions'] = $this->extensions['versions']; } return $temp; } /** * Get supported SFTP versions * * @return array * @access public */ function getNegotiatedVersion() { if (!$this->_precheck()) { return false; } return $this->version; } /** * Set preferred version * * If you're preferred version isn't supported then the highest supported * version of SFTP will be utilized. Set to null or false or int(0) to * unset the preferred version * * @param int $version * @access public */ function setPreferredVersion($version) { $this->preferredVersion = $version; } /** * Disconnect * * @param int $reason * @return bool * @access private */ function _disconnect($reason) { $this->pwd = false; parent::_disconnect($reason); } /** * Enable Date Preservation * * @access public */ function enableDatePreservation() { $this->preserveTime = true; } /** * Disable Date Preservation * * @access public */ function disableDatePreservation() { $this->preserveTime = false; } } vendor/phpseclib/phpseclib/phpseclib/Net/SSH1.php000064400000147502147400355670015735 0ustar00 * login('username', 'password')) { * exit('Login Failed'); * } * * echo $ssh->exec('ls -la'); * ?> * * * Here's another short example: * * login('username', 'password')) { * exit('Login Failed'); * } * * echo $ssh->read('username@username:~$'); * $ssh->write("ls -la\n"); * echo $ssh->read('username@username:~$'); * ?> * * * More information on the SSHv1 specification can be found by reading * {@link http://www.snailbook.com/docs/protocol-1.5.txt protocol-1.5.txt}. * * @category Net * @package SSH1 * @author Jim Wigginton * @copyright 2007 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Net; use phpseclib\Crypt\DES; use phpseclib\Crypt\Random; use phpseclib\Crypt\TripleDES; use phpseclib\Math\BigInteger; /** * Pure-PHP implementation of SSHv1. * * @package SSH1 * @author Jim Wigginton * @access public */ class SSH1 { /**#@+ * Encryption Methods * * @see \phpseclib\Net\SSH1::getSupportedCiphers() * @access public */ /** * No encryption * * Not supported. */ const CIPHER_NONE = 0; /** * IDEA in CFB mode * * Not supported. */ const CIPHER_IDEA = 1; /** * DES in CBC mode */ const CIPHER_DES = 2; /** * Triple-DES in CBC mode * * All implementations are required to support this */ const CIPHER_3DES = 3; /** * TRI's Simple Stream encryption CBC * * Not supported nor is it defined in the official SSH1 specs. OpenSSH, however, does define it (see cipher.h), * although it doesn't use it (see cipher.c) */ const CIPHER_BROKEN_TSS = 4; /** * RC4 * * Not supported. * * @internal According to the SSH1 specs: * * "The first 16 bytes of the session key are used as the key for * the server to client direction. The remaining 16 bytes are used * as the key for the client to server direction. This gives * independent 128-bit keys for each direction." * * This library currently only supports encryption when the same key is being used for both directions. This is * because there's only one $crypto object. Two could be added ($encrypt and $decrypt, perhaps). */ const CIPHER_RC4 = 5; /** * Blowfish * * Not supported nor is it defined in the official SSH1 specs. OpenSSH, however, defines it (see cipher.h) and * uses it (see cipher.c) */ const CIPHER_BLOWFISH = 6; /**#@-*/ /**#@+ * Authentication Methods * * @see \phpseclib\Net\SSH1::getSupportedAuthentications() * @access public */ /** * .rhosts or /etc/hosts.equiv */ const AUTH_RHOSTS = 1; /** * pure RSA authentication */ const AUTH_RSA = 2; /** * password authentication * * This is the only method that is supported by this library. */ const AUTH_PASSWORD = 3; /** * .rhosts with RSA host authentication */ const AUTH_RHOSTS_RSA = 4; /**#@-*/ /**#@+ * Terminal Modes * * @link http://3sp.com/content/developer/maverick-net/docs/Maverick.SSH.PseudoTerminalModesMembers.html * @access private */ const TTY_OP_END = 0; /**#@-*/ /** * The Response Type * * @see \phpseclib\Net\SSH1::_get_binary_packet() * @access private */ const RESPONSE_TYPE = 1; /** * The Response Data * * @see \phpseclib\Net\SSH1::_get_binary_packet() * @access private */ const RESPONSE_DATA = 2; /**#@+ * Execution Bitmap Masks * * @see \phpseclib\Net\SSH1::bitmap * @access private */ const MASK_CONSTRUCTOR = 0x00000001; const MASK_CONNECTED = 0x00000002; const MASK_LOGIN = 0x00000004; const MASK_SHELL = 0x00000008; /**#@-*/ /**#@+ * @access public * @see \phpseclib\Net\SSH1::getLog() */ /** * Returns the message numbers */ const LOG_SIMPLE = 1; /** * Returns the message content */ const LOG_COMPLEX = 2; /** * Outputs the content real-time */ const LOG_REALTIME = 3; /** * Dumps the content real-time to a file */ const LOG_REALTIME_FILE = 4; /** * Make sure that the log never gets larger than this */ const LOG_MAX_SIZE = 1048576; // 1024 * 1024 /**#@-*/ /**#@+ * @access public * @see \phpseclib\Net\SSH1::read() */ /** * Returns when a string matching $expect exactly is found */ const READ_SIMPLE = 1; /** * Returns when a string matching the regular expression $expect is found */ const READ_REGEX = 2; /**#@-*/ /** * The SSH identifier * * @var string * @access private */ var $identifier = 'SSH-1.5-phpseclib'; /** * The Socket Object * * @var object * @access private */ var $fsock; /** * The cryptography object * * @var object * @access private */ var $crypto = false; /** * Execution Bitmap * * The bits that are set represent functions that have been called already. This is used to determine * if a requisite function has been successfully executed. If not, an error should be thrown. * * @var int * @access private */ var $bitmap = 0; /** * The Server Key Public Exponent * * Logged for debug purposes * * @see self::getServerKeyPublicExponent() * @var string * @access private */ var $server_key_public_exponent; /** * The Server Key Public Modulus * * Logged for debug purposes * * @see self::getServerKeyPublicModulus() * @var string * @access private */ var $server_key_public_modulus; /** * The Host Key Public Exponent * * Logged for debug purposes * * @see self::getHostKeyPublicExponent() * @var string * @access private */ var $host_key_public_exponent; /** * The Host Key Public Modulus * * Logged for debug purposes * * @see self::getHostKeyPublicModulus() * @var string * @access private */ var $host_key_public_modulus; /** * Supported Ciphers * * Logged for debug purposes * * @see self::getSupportedCiphers() * @var array * @access private */ var $supported_ciphers = array( self::CIPHER_NONE => 'No encryption', self::CIPHER_IDEA => 'IDEA in CFB mode', self::CIPHER_DES => 'DES in CBC mode', self::CIPHER_3DES => 'Triple-DES in CBC mode', self::CIPHER_BROKEN_TSS => 'TRI\'s Simple Stream encryption CBC', self::CIPHER_RC4 => 'RC4', self::CIPHER_BLOWFISH => 'Blowfish' ); /** * Supported Authentications * * Logged for debug purposes * * @see self::getSupportedAuthentications() * @var array * @access private */ var $supported_authentications = array( self::AUTH_RHOSTS => '.rhosts or /etc/hosts.equiv', self::AUTH_RSA => 'pure RSA authentication', self::AUTH_PASSWORD => 'password authentication', self::AUTH_RHOSTS_RSA => '.rhosts with RSA host authentication' ); /** * Server Identification * * @see self::getServerIdentification() * @var string * @access private */ var $server_identification = ''; /** * Protocol Flags * * @see self::__construct() * @var array * @access private */ var $protocol_flags = array(); /** * Protocol Flag Log * * @see self::getLog() * @var array * @access private */ var $protocol_flags_log = array(); /** * Message Log * * @see self::getLog() * @var array * @access private */ var $message_log = array(); /** * Real-time log file pointer * * @see self::_append_log() * @var resource * @access private */ var $realtime_log_file; /** * Real-time log file size * * @see self::_append_log() * @var int * @access private */ var $realtime_log_size; /** * Real-time log file wrap boolean * * @see self::_append_log() * @var bool * @access private */ var $realtime_log_wrap; /** * Interactive Buffer * * @see self::read() * @var array * @access private */ var $interactiveBuffer = ''; /** * Current log size * * Should never exceed self::LOG_MAX_SIZE * * @see self::_send_binary_packet() * @see self::_get_binary_packet() * @var int * @access private */ var $log_size; /** * Timeout * * @see self::setTimeout() * @access private */ var $timeout; /** * Current Timeout * * @see self::_get_channel_packet() * @access private */ var $curTimeout; /** * Log Boundary * * @see self::_format_log() * @access private */ var $log_boundary = ':'; /** * Log Long Width * * @see self::_format_log() * @access private */ var $log_long_width = 65; /** * Log Short Width * * @see self::_format_log() * @access private */ var $log_short_width = 16; /** * Hostname * * @see self::__construct() * @see self::_connect() * @var string * @access private */ var $host; /** * Port Number * * @see self::__construct() * @see self::_connect() * @var int * @access private */ var $port; /** * Timeout for initial connection * * Set by the constructor call. Calling setTimeout() is optional. If it's not called functions like * exec() won't timeout unless some PHP setting forces it too. The timeout specified in the constructor, * however, is non-optional. There will be a timeout, whether or not you set it. If you don't it'll be * 10 seconds. It is used by fsockopen() in that function. * * @see self::__construct() * @see self::_connect() * @var int * @access private */ var $connectionTimeout; /** * Default cipher * * @see self::__construct() * @see self::_connect() * @var int * @access private */ var $cipher; /** * Default Constructor. * * Connects to an SSHv1 server * * @param string $host * @param int $port * @param int $timeout * @param int $cipher * @return \phpseclib\Net\SSH1 * @access public */ function __construct($host, $port = 22, $timeout = 10, $cipher = self::CIPHER_3DES) { $this->protocol_flags = array( 1 => 'NET_SSH1_MSG_DISCONNECT', 2 => 'NET_SSH1_SMSG_PUBLIC_KEY', 3 => 'NET_SSH1_CMSG_SESSION_KEY', 4 => 'NET_SSH1_CMSG_USER', 9 => 'NET_SSH1_CMSG_AUTH_PASSWORD', 10 => 'NET_SSH1_CMSG_REQUEST_PTY', 12 => 'NET_SSH1_CMSG_EXEC_SHELL', 13 => 'NET_SSH1_CMSG_EXEC_CMD', 14 => 'NET_SSH1_SMSG_SUCCESS', 15 => 'NET_SSH1_SMSG_FAILURE', 16 => 'NET_SSH1_CMSG_STDIN_DATA', 17 => 'NET_SSH1_SMSG_STDOUT_DATA', 18 => 'NET_SSH1_SMSG_STDERR_DATA', 19 => 'NET_SSH1_CMSG_EOF', 20 => 'NET_SSH1_SMSG_EXITSTATUS', 33 => 'NET_SSH1_CMSG_EXIT_CONFIRMATION' ); $this->_define_array($this->protocol_flags); $this->host = $host; $this->port = $port; $this->connectionTimeout = $timeout; $this->cipher = $cipher; } /** * Connect to an SSHv1 server * * @return bool * @access private */ function _connect() { $this->fsock = @fsockopen($this->host, $this->port, $errno, $errstr, $this->connectionTimeout); if (!$this->fsock) { user_error(rtrim("Cannot connect to {$this->host}:{$this->port}. Error $errno. $errstr")); return false; } $this->server_identification = $init_line = fgets($this->fsock, 255); if (defined('NET_SSH1_LOGGING')) { $this->_append_log('<-', $this->server_identification); $this->_append_log('->', $this->identifier . "\r\n"); } if (!preg_match('#SSH-([0-9\.]+)-(.+)#', $init_line, $parts)) { user_error('Can only connect to SSH servers'); return false; } if ($parts[1][0] != 1) { user_error("Cannot connect to SSH $parts[1] servers"); return false; } fputs($this->fsock, $this->identifier."\r\n"); $response = $this->_get_binary_packet(); if ($response[self::RESPONSE_TYPE] != NET_SSH1_SMSG_PUBLIC_KEY) { user_error('Expected SSH_SMSG_PUBLIC_KEY'); return false; } $anti_spoofing_cookie = $this->_string_shift($response[self::RESPONSE_DATA], 8); $this->_string_shift($response[self::RESPONSE_DATA], 4); if (strlen($response[self::RESPONSE_DATA]) < 2) { return false; } $temp = unpack('nlen', $this->_string_shift($response[self::RESPONSE_DATA], 2)); $server_key_public_exponent = new BigInteger($this->_string_shift($response[self::RESPONSE_DATA], ceil($temp['len'] / 8)), 256); $this->server_key_public_exponent = $server_key_public_exponent; if (strlen($response[self::RESPONSE_DATA]) < 2) { return false; } $temp = unpack('nlen', $this->_string_shift($response[self::RESPONSE_DATA], 2)); $server_key_public_modulus = new BigInteger($this->_string_shift($response[self::RESPONSE_DATA], ceil($temp['len'] / 8)), 256); $this->server_key_public_modulus = $server_key_public_modulus; $this->_string_shift($response[self::RESPONSE_DATA], 4); if (strlen($response[self::RESPONSE_DATA]) < 2) { return false; } $temp = unpack('nlen', $this->_string_shift($response[self::RESPONSE_DATA], 2)); $host_key_public_exponent = new BigInteger($this->_string_shift($response[self::RESPONSE_DATA], ceil($temp['len'] / 8)), 256); $this->host_key_public_exponent = $host_key_public_exponent; if (strlen($response[self::RESPONSE_DATA]) < 2) { return false; } $temp = unpack('nlen', $this->_string_shift($response[self::RESPONSE_DATA], 2)); $host_key_public_modulus = new BigInteger($this->_string_shift($response[self::RESPONSE_DATA], ceil($temp['len'] / 8)), 256); $this->host_key_public_modulus = $host_key_public_modulus; $this->_string_shift($response[self::RESPONSE_DATA], 4); // get a list of the supported ciphers if (strlen($response[self::RESPONSE_DATA]) < 4) { return false; } extract(unpack('Nsupported_ciphers_mask', $this->_string_shift($response[self::RESPONSE_DATA], 4))); foreach ($this->supported_ciphers as $mask => $name) { if (($supported_ciphers_mask & (1 << $mask)) == 0) { unset($this->supported_ciphers[$mask]); } } // get a list of the supported authentications if (strlen($response[self::RESPONSE_DATA]) < 4) { return false; } extract(unpack('Nsupported_authentications_mask', $this->_string_shift($response[self::RESPONSE_DATA], 4))); foreach ($this->supported_authentications as $mask => $name) { if (($supported_authentications_mask & (1 << $mask)) == 0) { unset($this->supported_authentications[$mask]); } } $session_id = pack('H*', md5($host_key_public_modulus->toBytes() . $server_key_public_modulus->toBytes() . $anti_spoofing_cookie)); $session_key = Random::string(32); $double_encrypted_session_key = $session_key ^ str_pad($session_id, 32, chr(0)); if ($server_key_public_modulus->compare($host_key_public_modulus) < 0) { $double_encrypted_session_key = $this->_rsa_crypt( $double_encrypted_session_key, array( $server_key_public_exponent, $server_key_public_modulus ) ); $double_encrypted_session_key = $this->_rsa_crypt( $double_encrypted_session_key, array( $host_key_public_exponent, $host_key_public_modulus ) ); } else { $double_encrypted_session_key = $this->_rsa_crypt( $double_encrypted_session_key, array( $host_key_public_exponent, $host_key_public_modulus ) ); $double_encrypted_session_key = $this->_rsa_crypt( $double_encrypted_session_key, array( $server_key_public_exponent, $server_key_public_modulus ) ); } $cipher = isset($this->supported_ciphers[$this->cipher]) ? $this->cipher : self::CIPHER_3DES; $data = pack('C2a*na*N', NET_SSH1_CMSG_SESSION_KEY, $cipher, $anti_spoofing_cookie, 8 * strlen($double_encrypted_session_key), $double_encrypted_session_key, 0); if (!$this->_send_binary_packet($data)) { user_error('Error sending SSH_CMSG_SESSION_KEY'); return false; } switch ($cipher) { //case self::CIPHER_NONE: // $this->crypto = new \phpseclib\Crypt\Null(); // break; case self::CIPHER_DES: $this->crypto = new DES(); $this->crypto->disablePadding(); $this->crypto->enableContinuousBuffer(); $this->crypto->setKey(substr($session_key, 0, 8)); break; case self::CIPHER_3DES: $this->crypto = new TripleDES(TripleDES::MODE_3CBC); $this->crypto->disablePadding(); $this->crypto->enableContinuousBuffer(); $this->crypto->setKey(substr($session_key, 0, 24)); break; //case self::CIPHER_RC4: // $this->crypto = new RC4(); // $this->crypto->enableContinuousBuffer(); // $this->crypto->setKey(substr($session_key, 0, 16)); // break; } $response = $this->_get_binary_packet(); if ($response[self::RESPONSE_TYPE] != NET_SSH1_SMSG_SUCCESS) { user_error('Expected SSH_SMSG_SUCCESS'); return false; } $this->bitmap = self::MASK_CONNECTED; return true; } /** * Login * * @param string $username * @param string $password * @return bool * @access public */ function login($username, $password = '') { if (!($this->bitmap & self::MASK_CONSTRUCTOR)) { $this->bitmap |= self::MASK_CONSTRUCTOR; if (!$this->_connect()) { return false; } } if (!($this->bitmap & self::MASK_CONNECTED)) { return false; } $data = pack('CNa*', NET_SSH1_CMSG_USER, strlen($username), $username); if (!$this->_send_binary_packet($data)) { user_error('Error sending SSH_CMSG_USER'); return false; } $response = $this->_get_binary_packet(); if ($response === true) { return false; } if ($response[self::RESPONSE_TYPE] == NET_SSH1_SMSG_SUCCESS) { $this->bitmap |= self::MASK_LOGIN; return true; } elseif ($response[self::RESPONSE_TYPE] != NET_SSH1_SMSG_FAILURE) { user_error('Expected SSH_SMSG_SUCCESS or SSH_SMSG_FAILURE'); return false; } $data = pack('CNa*', NET_SSH1_CMSG_AUTH_PASSWORD, strlen($password), $password); if (!$this->_send_binary_packet($data)) { user_error('Error sending SSH_CMSG_AUTH_PASSWORD'); return false; } // remove the username and password from the last logged packet if (defined('NET_SSH1_LOGGING') && NET_SSH1_LOGGING == self::LOG_COMPLEX) { $data = pack('CNa*', NET_SSH1_CMSG_AUTH_PASSWORD, strlen('password'), 'password'); $this->message_log[count($this->message_log) - 1] = $data; } $response = $this->_get_binary_packet(); if ($response === true) { return false; } if ($response[self::RESPONSE_TYPE] == NET_SSH1_SMSG_SUCCESS) { $this->bitmap |= self::MASK_LOGIN; return true; } elseif ($response[self::RESPONSE_TYPE] == NET_SSH1_SMSG_FAILURE) { return false; } else { user_error('Expected SSH_SMSG_SUCCESS or SSH_SMSG_FAILURE'); return false; } } /** * Set Timeout * * $ssh->exec('ping 127.0.0.1'); on a Linux host will never return and will run indefinitely. setTimeout() makes it so it'll timeout. * Setting $timeout to false or 0 will mean there is no timeout. * * @param mixed $timeout */ function setTimeout($timeout) { $this->timeout = $this->curTimeout = $timeout; } /** * Executes a command on a non-interactive shell, returns the output, and quits. * * An SSH1 server will close the connection after a command has been executed on a non-interactive shell. SSH2 * servers don't, however, this isn't an SSH2 client. The way this works, on the server, is by initiating a * shell with the -s option, as discussed in the following links: * * {@link http://www.faqs.org/docs/bashman/bashref_65.html http://www.faqs.org/docs/bashman/bashref_65.html} * {@link http://www.faqs.org/docs/bashman/bashref_62.html http://www.faqs.org/docs/bashman/bashref_62.html} * * To execute further commands, a new \phpseclib\Net\SSH1 object will need to be created. * * Returns false on failure and the output, otherwise. * * @see self::interactiveRead() * @see self::interactiveWrite() * @param string $cmd * @param bool $block * @return mixed * @access public */ function exec($cmd, $block = true) { if (!($this->bitmap & self::MASK_LOGIN)) { user_error('Operation disallowed prior to login()'); return false; } $data = pack('CNa*', NET_SSH1_CMSG_EXEC_CMD, strlen($cmd), $cmd); if (!$this->_send_binary_packet($data)) { user_error('Error sending SSH_CMSG_EXEC_CMD'); return false; } if (!$block) { return true; } $output = ''; $response = $this->_get_binary_packet(); if ($response !== false) { do { $output.= substr($response[self::RESPONSE_DATA], 4); $response = $this->_get_binary_packet(); } while (is_array($response) && $response[self::RESPONSE_TYPE] != NET_SSH1_SMSG_EXITSTATUS); } $data = pack('C', NET_SSH1_CMSG_EXIT_CONFIRMATION); // i don't think it's really all that important if this packet gets sent or not. $this->_send_binary_packet($data); fclose($this->fsock); // reset the execution bitmap - a new \phpseclib\Net\SSH1 object needs to be created. $this->bitmap = 0; return $output; } /** * Creates an interactive shell * * @see self::interactiveRead() * @see self::interactiveWrite() * @return bool * @access private */ function _initShell() { // connect using the sample parameters in protocol-1.5.txt. // according to wikipedia.org's entry on text terminals, "the fundamental type of application running on a text // terminal is a command line interpreter or shell". thus, opening a terminal session to run the shell. $data = pack('CNa*N4C', NET_SSH1_CMSG_REQUEST_PTY, strlen('vt100'), 'vt100', 24, 80, 0, 0, self::TTY_OP_END); if (!$this->_send_binary_packet($data)) { user_error('Error sending SSH_CMSG_REQUEST_PTY'); return false; } $response = $this->_get_binary_packet(); if ($response === true) { return false; } if ($response[self::RESPONSE_TYPE] != NET_SSH1_SMSG_SUCCESS) { user_error('Expected SSH_SMSG_SUCCESS'); return false; } $data = pack('C', NET_SSH1_CMSG_EXEC_SHELL); if (!$this->_send_binary_packet($data)) { user_error('Error sending SSH_CMSG_EXEC_SHELL'); return false; } $this->bitmap |= self::MASK_SHELL; //stream_set_blocking($this->fsock, 0); return true; } /** * Inputs a command into an interactive shell. * * @see self::interactiveWrite() * @param string $cmd * @return bool * @access public */ function write($cmd) { return $this->interactiveWrite($cmd); } /** * Returns the output of an interactive shell when there's a match for $expect * * $expect can take the form of a string literal or, if $mode == self::READ_REGEX, * a regular expression. * * @see self::write() * @param string $expect * @param int $mode * @return bool * @access public */ function read($expect, $mode = self::READ_SIMPLE) { if (!($this->bitmap & self::MASK_LOGIN)) { user_error('Operation disallowed prior to login()'); return false; } if (!($this->bitmap & self::MASK_SHELL) && !$this->_initShell()) { user_error('Unable to initiate an interactive shell session'); return false; } $match = $expect; while (true) { if ($mode == self::READ_REGEX) { preg_match($expect, $this->interactiveBuffer, $matches); $match = isset($matches[0]) ? $matches[0] : ''; } $pos = strlen($match) ? strpos($this->interactiveBuffer, $match) : false; if ($pos !== false) { return $this->_string_shift($this->interactiveBuffer, $pos + strlen($match)); } $response = $this->_get_binary_packet(); if ($response === true) { return $this->_string_shift($this->interactiveBuffer, strlen($this->interactiveBuffer)); } $this->interactiveBuffer.= substr($response[self::RESPONSE_DATA], 4); } } /** * Inputs a command into an interactive shell. * * @see self::interactiveRead() * @param string $cmd * @return bool * @access public */ function interactiveWrite($cmd) { if (!($this->bitmap & self::MASK_LOGIN)) { user_error('Operation disallowed prior to login()'); return false; } if (!($this->bitmap & self::MASK_SHELL) && !$this->_initShell()) { user_error('Unable to initiate an interactive shell session'); return false; } $data = pack('CNa*', NET_SSH1_CMSG_STDIN_DATA, strlen($cmd), $cmd); if (!$this->_send_binary_packet($data)) { user_error('Error sending SSH_CMSG_STDIN'); return false; } return true; } /** * Returns the output of an interactive shell when no more output is available. * * Requires PHP 4.3.0 or later due to the use of the stream_select() function. If you see stuff like * "^[[00m", you're seeing ANSI escape codes. According to * {@link http://support.microsoft.com/kb/101875 How to Enable ANSI.SYS in a Command Window}, "Windows NT * does not support ANSI escape sequences in Win32 Console applications", so if you're a Windows user, * there's not going to be much recourse. * * @see self::interactiveRead() * @return string * @access public */ function interactiveRead() { if (!($this->bitmap & self::MASK_LOGIN)) { user_error('Operation disallowed prior to login()'); return false; } if (!($this->bitmap & self::MASK_SHELL) && !$this->_initShell()) { user_error('Unable to initiate an interactive shell session'); return false; } $read = array($this->fsock); $write = $except = null; if (stream_select($read, $write, $except, 0)) { $response = $this->_get_binary_packet(); return substr($response[self::RESPONSE_DATA], 4); } else { return ''; } } /** * Disconnect * * @access public */ function disconnect() { $this->_disconnect(); } /** * Destructor. * * Will be called, automatically, if you're supporting just PHP5. If you're supporting PHP4, you'll need to call * disconnect(). * * @access public */ function __destruct() { $this->_disconnect(); } /** * Disconnect * * @param string $msg * @access private */ function _disconnect($msg = 'Client Quit') { if ($this->bitmap) { $data = pack('C', NET_SSH1_CMSG_EOF); $this->_send_binary_packet($data); /* $response = $this->_get_binary_packet(); if ($response === true) { $response = array(self::RESPONSE_TYPE => -1); } switch ($response[self::RESPONSE_TYPE]) { case NET_SSH1_SMSG_EXITSTATUS: $data = pack('C', NET_SSH1_CMSG_EXIT_CONFIRMATION); break; default: $data = pack('CNa*', NET_SSH1_MSG_DISCONNECT, strlen($msg), $msg); } */ $data = pack('CNa*', NET_SSH1_MSG_DISCONNECT, strlen($msg), $msg); $this->_send_binary_packet($data); fclose($this->fsock); $this->bitmap = 0; } } /** * Gets Binary Packets * * See 'The Binary Packet Protocol' of protocol-1.5.txt for more info. * * Also, this function could be improved upon by adding detection for the following exploit: * http://www.securiteam.com/securitynews/5LP042K3FY.html * * @see self::_send_binary_packet() * @return array * @access private */ function _get_binary_packet() { if (feof($this->fsock)) { //user_error('connection closed prematurely'); return false; } if ($this->curTimeout) { $read = array($this->fsock); $write = $except = null; $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 $sec = floor($this->curTimeout); $usec = 1000000 * ($this->curTimeout - $sec); // on windows this returns a "Warning: Invalid CRT parameters detected" error if (!@stream_select($read, $write, $except, $sec, $usec) && !count($read)) { //$this->_disconnect('Timeout'); return true; } $elapsed = strtok(microtime(), ' ') + strtok('') - $start; $this->curTimeout-= $elapsed; } $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 $data = fread($this->fsock, 4); if (strlen($data) < 4) { return false; } $temp = unpack('Nlength', $data); $padding_length = 8 - ($temp['length'] & 7); $length = $temp['length'] + $padding_length; $raw = ''; while ($length > 0) { $temp = fread($this->fsock, $length); if (strlen($temp) != $length) { return false; } $raw.= $temp; $length-= strlen($temp); } $stop = strtok(microtime(), ' ') + strtok(''); if (strlen($raw) && $this->crypto !== false) { $raw = $this->crypto->decrypt($raw); } $padding = substr($raw, 0, $padding_length); $type = $raw[$padding_length]; $data = substr($raw, $padding_length + 1, -4); if (strlen($raw) < 4) { return false; } $temp = unpack('Ncrc', substr($raw, -4)); //if ( $temp['crc'] != $this->_crc($padding . $type . $data) ) { // user_error('Bad CRC in packet from server'); // return false; //} $type = ord($type); if (defined('NET_SSH1_LOGGING')) { $temp = isset($this->protocol_flags[$type]) ? $this->protocol_flags[$type] : 'UNKNOWN'; $temp = '<- ' . $temp . ' (' . round($stop - $start, 4) . 's)'; $this->_append_log($temp, $data); } return array( self::RESPONSE_TYPE => $type, self::RESPONSE_DATA => $data ); } /** * Sends Binary Packets * * Returns true on success, false on failure. * * @see self::_get_binary_packet() * @param string $data * @return bool * @access private */ function _send_binary_packet($data) { if (feof($this->fsock)) { //user_error('connection closed prematurely'); return false; } $length = strlen($data) + 4; $padding = Random::string(8 - ($length & 7)); $orig = $data; $data = $padding . $data; $data.= pack('N', $this->_crc($data)); if ($this->crypto !== false) { $data = $this->crypto->encrypt($data); } $packet = pack('Na*', $length, $data); $start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838 $result = strlen($packet) == fputs($this->fsock, $packet); $stop = strtok(microtime(), ' ') + strtok(''); if (defined('NET_SSH1_LOGGING')) { $temp = isset($this->protocol_flags[ord($orig[0])]) ? $this->protocol_flags[ord($orig[0])] : 'UNKNOWN'; $temp = '-> ' . $temp . ' (' . round($stop - $start, 4) . 's)'; $this->_append_log($temp, $orig); } return $result; } /** * Cyclic Redundancy Check (CRC) * * PHP's crc32 function is implemented slightly differently than the one that SSH v1 uses, so * we've reimplemented it. A more detailed discussion of the differences can be found after * $crc_lookup_table's initialization. * * @see self::_get_binary_packet() * @see self::_send_binary_packet() * @param string $data * @return int * @access private */ function _crc($data) { static $crc_lookup_table = array( 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D ); // For this function to yield the same output as PHP's crc32 function, $crc would have to be // set to 0xFFFFFFFF, initially - not 0x00000000 as it currently is. $crc = 0x00000000; $length = strlen($data); for ($i=0; $i<$length; $i++) { // We AND $crc >> 8 with 0x00FFFFFF because we want the eight newly added bits to all // be zero. PHP, unfortunately, doesn't always do this. 0x80000000 >> 8, as an example, // yields 0xFF800000 - not 0x00800000. The following link elaborates: // http://www.php.net/manual/en/language.operators.bitwise.php#57281 $crc = (($crc >> 8) & 0x00FFFFFF) ^ $crc_lookup_table[($crc & 0xFF) ^ ord($data[$i])]; } // In addition to having to set $crc to 0xFFFFFFFF, initially, the return value must be XOR'd with // 0xFFFFFFFF for this function to return the same thing that PHP's crc32 function would. return $crc; } /** * String Shift * * Inspired by array_shift * * @param string $string * @param int $index * @return string * @access private */ function _string_shift(&$string, $index = 1) { $substr = substr($string, 0, $index); $string = substr($string, $index); return $substr; } /** * RSA Encrypt * * Returns mod(pow($m, $e), $n), where $n should be the product of two (large) primes $p and $q and where $e * should be a number with the property that gcd($e, ($p - 1) * ($q - 1)) == 1. Could just make anything that * calls this call modexp, instead, but I think this makes things clearer, maybe... * * @see self::__construct() * @param BigInteger $m * @param array $key * @return BigInteger * @access private */ function _rsa_crypt($m, $key) { /* $rsa = new RSA(); $rsa->loadKey($key, RSA::PUBLIC_FORMAT_RAW); $rsa->setEncryptionMode(RSA::ENCRYPTION_PKCS1); return $rsa->encrypt($m); */ // To quote from protocol-1.5.txt: // The most significant byte (which is only partial as the value must be // less than the public modulus, which is never a power of two) is zero. // // The next byte contains the value 2 (which stands for public-key // encrypted data in the PKCS standard [PKCS#1]). Then, there are non- // zero random bytes to fill any unused space, a zero byte, and the data // to be encrypted in the least significant bytes, the last byte of the // data in the least significant byte. // Presumably the part of PKCS#1 they're refering to is "Section 7.2.1 Encryption Operation", // under "7.2 RSAES-PKCS1-v1.5" and "7 Encryption schemes" of the following URL: // ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.pdf $modulus = $key[1]->toBytes(); $length = strlen($modulus) - strlen($m) - 3; $random = ''; while (strlen($random) != $length) { $block = Random::string($length - strlen($random)); $block = str_replace("\x00", '', $block); $random.= $block; } $temp = chr(0) . chr(2) . $random . chr(0) . $m; $m = new BigInteger($temp, 256); $m = $m->modPow($key[0], $key[1]); return $m->toBytes(); } /** * Define Array * * Takes any number of arrays whose indices are integers and whose values are strings and defines a bunch of * named constants from it, using the value as the name of the constant and the index as the value of the constant. * If any of the constants that would be defined already exists, none of the constants will be defined. * * @access private */ function _define_array() { $args = func_get_args(); foreach ($args as $arg) { foreach ($arg as $key => $value) { if (!defined($value)) { define($value, $key); } else { break 2; } } } } /** * Returns a log of the packets that have been sent and received. * * Returns a string if NET_SSH1_LOGGING == self::LOG_COMPLEX, an array if NET_SSH1_LOGGING == self::LOG_SIMPLE and false if !defined('NET_SSH1_LOGGING') * * @access public * @return array|false|string */ function getLog() { if (!defined('NET_SSH1_LOGGING')) { return false; } switch (NET_SSH1_LOGGING) { case self::LOG_SIMPLE: return $this->protocol_flags_log; break; case self::LOG_COMPLEX: return $this->_format_log($this->message_log, $this->protocol_flags_log); break; default: return false; } } /** * Formats a log for printing * * @param array $message_log * @param array $message_number_log * @access private * @return string */ function _format_log($message_log, $message_number_log) { $output = ''; for ($i = 0; $i < count($message_log); $i++) { $output.= $message_number_log[$i] . "\r\n"; $current_log = $message_log[$i]; $j = 0; do { if (strlen($current_log)) { $output.= str_pad(dechex($j), 7, '0', STR_PAD_LEFT) . '0 '; } $fragment = $this->_string_shift($current_log, $this->log_short_width); $hex = substr(preg_replace_callback('#.#s', array($this, '_format_log_helper'), $fragment), strlen($this->log_boundary)); // replace non ASCII printable characters with dots // http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters // also replace < with a . since < messes up the output on web browsers $raw = preg_replace('#[^\x20-\x7E]|<#', '.', $fragment); $output.= str_pad($hex, $this->log_long_width - $this->log_short_width, ' ') . $raw . "\r\n"; $j++; } while (strlen($current_log)); $output.= "\r\n"; } return $output; } /** * Helper function for _format_log * * For use with preg_replace_callback() * * @param array $matches * @access private * @return string */ function _format_log_helper($matches) { return $this->log_boundary . str_pad(dechex(ord($matches[0])), 2, '0', STR_PAD_LEFT); } /** * Return the server key public exponent * * Returns, by default, the base-10 representation. If $raw_output is set to true, returns, instead, * the raw bytes. This behavior is similar to PHP's md5() function. * * @param bool $raw_output * @return string * @access public */ function getServerKeyPublicExponent($raw_output = false) { return $raw_output ? $this->server_key_public_exponent->toBytes() : $this->server_key_public_exponent->toString(); } /** * Return the server key public modulus * * Returns, by default, the base-10 representation. If $raw_output is set to true, returns, instead, * the raw bytes. This behavior is similar to PHP's md5() function. * * @param bool $raw_output * @return string * @access public */ function getServerKeyPublicModulus($raw_output = false) { return $raw_output ? $this->server_key_public_modulus->toBytes() : $this->server_key_public_modulus->toString(); } /** * Return the host key public exponent * * Returns, by default, the base-10 representation. If $raw_output is set to true, returns, instead, * the raw bytes. This behavior is similar to PHP's md5() function. * * @param bool $raw_output * @return string * @access public */ function getHostKeyPublicExponent($raw_output = false) { return $raw_output ? $this->host_key_public_exponent->toBytes() : $this->host_key_public_exponent->toString(); } /** * Return the host key public modulus * * Returns, by default, the base-10 representation. If $raw_output is set to true, returns, instead, * the raw bytes. This behavior is similar to PHP's md5() function. * * @param bool $raw_output * @return string * @access public */ function getHostKeyPublicModulus($raw_output = false) { return $raw_output ? $this->host_key_public_modulus->toBytes() : $this->host_key_public_modulus->toString(); } /** * Return a list of ciphers supported by SSH1 server. * * Just because a cipher is supported by an SSH1 server doesn't mean it's supported by this library. If $raw_output * is set to true, returns, instead, an array of constants. ie. instead of array('Triple-DES in CBC mode'), you'll * get array(self::CIPHER_3DES). * * @param bool $raw_output * @return array * @access public */ function getSupportedCiphers($raw_output = false) { return $raw_output ? array_keys($this->supported_ciphers) : array_values($this->supported_ciphers); } /** * Return a list of authentications supported by SSH1 server. * * Just because a cipher is supported by an SSH1 server doesn't mean it's supported by this library. If $raw_output * is set to true, returns, instead, an array of constants. ie. instead of array('password authentication'), you'll * get array(self::AUTH_PASSWORD). * * @param bool $raw_output * @return array * @access public */ function getSupportedAuthentications($raw_output = false) { return $raw_output ? array_keys($this->supported_authentications) : array_values($this->supported_authentications); } /** * Return the server identification. * * @return string * @access public */ function getServerIdentification() { return rtrim($this->server_identification); } /** * Logs data packets * * Makes sure that only the last 1MB worth of packets will be logged * * @param int $protocol_flags * @param string $message * @access private */ function _append_log($protocol_flags, $message) { switch (NET_SSH1_LOGGING) { // useful for benchmarks case self::LOG_SIMPLE: $this->protocol_flags_log[] = $protocol_flags; break; // the most useful log for SSH1 case self::LOG_COMPLEX: $this->protocol_flags_log[] = $protocol_flags; $this->_string_shift($message); $this->log_size+= strlen($message); $this->message_log[] = $message; while ($this->log_size > self::LOG_MAX_SIZE) { $this->log_size-= strlen(array_shift($this->message_log)); array_shift($this->protocol_flags_log); } break; // dump the output out realtime; packets may be interspersed with non packets, // passwords won't be filtered out and select other packets may not be correctly // identified case self::LOG_REALTIME: echo "
    \r\n" . $this->_format_log(array($message), array($protocol_flags)) . "\r\n
    \r\n"; @flush(); @ob_flush(); break; // basically the same thing as self::LOG_REALTIME with the caveat that self::LOG_REALTIME_FILE // needs to be defined and that the resultant log file will be capped out at self::LOG_MAX_SIZE. // the earliest part of the log file is denoted by the first <<< START >>> and is not going to necessarily // at the beginning of the file case self::LOG_REALTIME_FILE: if (!isset($this->realtime_log_file)) { // PHP doesn't seem to like using constants in fopen() $filename = self::LOG_REALTIME_FILE; $fp = fopen($filename, 'w'); $this->realtime_log_file = $fp; } if (!is_resource($this->realtime_log_file)) { break; } $entry = $this->_format_log(array($message), array($protocol_flags)); if ($this->realtime_log_wrap) { $temp = "<<< START >>>\r\n"; $entry.= $temp; fseek($this->realtime_log_file, ftell($this->realtime_log_file) - strlen($temp)); } $this->realtime_log_size+= strlen($entry); if ($this->realtime_log_size > self::LOG_MAX_SIZE) { fseek($this->realtime_log_file, 0); $this->realtime_log_size = strlen($entry); $this->realtime_log_wrap = true; } fputs($this->realtime_log_file, $entry); } } } vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php000064400000030524147400355670017005 0ustar00 * * * * @category Crypt * @package Random * @author Jim Wigginton * @copyright 2007 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; /** * Pure-PHP Random Number Generator * * @package Random * @author Jim Wigginton * @access public */ class Random { /** * Generate a random string. * * Although microoptimizations are generally discouraged as they impair readability this function is ripe with * microoptimizations because this function has the potential of being called a huge number of times. * eg. for RSA key generation. * * @param int $length * @return string */ static function string($length) { if (!$length) { return ''; } if (version_compare(PHP_VERSION, '7.0.0', '>=')) { try { return \random_bytes($length); } catch (\Throwable $e) { // If a sufficient source of randomness is unavailable, random_bytes() will throw an // object that implements the Throwable interface (Exception, TypeError, Error). // We don't actually need to do anything here. The string() method should just continue // as normal. Note, however, that if we don't have a sufficient source of randomness for // random_bytes(), most of the other calls here will fail too, so we'll end up using // the PHP implementation. } } if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { // method 1. prior to PHP 5.3 this would call rand() on windows hence the function_exists('class_alias') call. // ie. class_alias is a function that was introduced in PHP 5.3 if (extension_loaded('mcrypt') && function_exists('class_alias')) { return @mcrypt_create_iv($length); } // method 2. openssl_random_pseudo_bytes was introduced in PHP 5.3.0 but prior to PHP 5.3.4 there was, // to quote , "possible blocking behavior". as of 5.3.4 // openssl_random_pseudo_bytes and mcrypt_create_iv do the exact same thing on Windows. ie. they both // call php_win32_get_random_bytes(): // // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/ext/openssl/openssl.c#L5008 // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/ext/mcrypt/mcrypt.c#L1392 // // php_win32_get_random_bytes() is defined thusly: // // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/win32/winutil.c#L80 // // we're calling it, all the same, in the off chance that the mcrypt extension is not available if (extension_loaded('openssl') && version_compare(PHP_VERSION, '5.3.4', '>=')) { return openssl_random_pseudo_bytes($length); } } else { // method 1. the fastest if (extension_loaded('openssl')) { return openssl_random_pseudo_bytes($length); } // method 2 static $fp = true; if ($fp === true) { // warning's will be output unles the error suppression operator is used. errors such as // "open_basedir restriction in effect", "Permission denied", "No such file or directory", etc. $fp = @fopen('/dev/urandom', 'rb'); } if ($fp !== true && $fp !== false) { // surprisingly faster than !is_bool() or is_resource() $temp = fread($fp, $length); if (strlen($temp) == $length) { return $temp; } } // method 3. pretty much does the same thing as method 2 per the following url: // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/ext/mcrypt/mcrypt.c#L1391 // surprisingly slower than method 2. maybe that's because mcrypt_create_iv does a bunch of error checking that we're // not doing. regardless, this'll only be called if this PHP script couldn't open /dev/urandom due to open_basedir // restrictions or some such if (extension_loaded('mcrypt')) { return @mcrypt_create_iv($length, MCRYPT_DEV_URANDOM); } } // at this point we have no choice but to use a pure-PHP CSPRNG // cascade entropy across multiple PHP instances by fixing the session and collecting all // environmental variables, including the previous session data and the current session // data. // // mt_rand seeds itself by looking at the PID and the time, both of which are (relatively) // easy to guess at. linux uses mouse clicks, keyboard timings, etc, as entropy sources, but // PHP isn't low level to be able to use those as sources and on a web server there's not likely // going to be a ton of keyboard or mouse action. web servers do have one thing that we can use // however, a ton of people visiting the website. obviously you don't want to base your seeding // soley on parameters a potential attacker sends but (1) not everything in $_SERVER is controlled // by the user and (2) this isn't just looking at the data sent by the current user - it's based // on the data sent by all users. one user requests the page and a hash of their info is saved. // another user visits the page and the serialization of their data is utilized along with the // server envirnment stuff and a hash of the previous http request data (which itself utilizes // a hash of the session data before that). certainly an attacker should be assumed to have // full control over his own http requests. he, however, is not going to have control over // everyone's http requests. static $crypto = false, $v; if ($crypto === false) { // save old session data $old_session_id = session_id(); $old_use_cookies = ini_get('session.use_cookies'); $old_session_cache_limiter = session_cache_limiter(); $_OLD_SESSION = isset($_SESSION) ? $_SESSION : false; if ($old_session_id != '') { session_write_close(); } session_id(1); ini_set('session.use_cookies', 0); session_cache_limiter(''); session_start(); $v = $seed = $_SESSION['seed'] = pack('H*', sha1( (isset($_SERVER) ? phpseclib_safe_serialize($_SERVER) : '') . (isset($_POST) ? phpseclib_safe_serialize($_POST) : '') . (isset($_GET) ? phpseclib_safe_serialize($_GET) : '') . (isset($_COOKIE) ? phpseclib_safe_serialize($_COOKIE) : '') . // as of PHP 8.1 $GLOBALS can't be accessed by reference, which eliminates // the need for phpseclib_safe_serialize. see https://wiki.php.net/rfc/restrict_globals_usage // for more info (version_compare(PHP_VERSION, '8.1.0', '>=') ? serialize($GLOBALS) : phpseclib_safe_serialize($GLOBALS)) . phpseclib_safe_serialize($_SESSION) . phpseclib_safe_serialize($_OLD_SESSION) )); if (!isset($_SESSION['count'])) { $_SESSION['count'] = 0; } $_SESSION['count']++; session_write_close(); // restore old session data if ($old_session_id != '') { session_id($old_session_id); session_start(); ini_set('session.use_cookies', $old_use_cookies); session_cache_limiter($old_session_cache_limiter); } else { if ($_OLD_SESSION !== false) { $_SESSION = $_OLD_SESSION; unset($_OLD_SESSION); } else { unset($_SESSION); } } // in SSH2 a shared secret and an exchange hash are generated through the key exchange process. // the IV client to server is the hash of that "nonce" with the letter A and for the encryption key it's the letter C. // if the hash doesn't produce enough a key or an IV that's long enough concat successive hashes of the // original hash and the current hash. we'll be emulating that. for more info see the following URL: // // http://tools.ietf.org/html/rfc4253#section-7.2 // // see the is_string($crypto) part for an example of how to expand the keys $key = pack('H*', sha1($seed . 'A')); $iv = pack('H*', sha1($seed . 'C')); // ciphers are used as per the nist.gov link below. also, see this link: // // http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives switch (true) { case class_exists('\phpseclib\Crypt\AES'): $crypto = new AES(Base::MODE_CTR); break; case class_exists('\phpseclib\Crypt\Twofish'): $crypto = new Twofish(Base::MODE_CTR); break; case class_exists('\phpseclib\Crypt\Blowfish'): $crypto = new Blowfish(Base::MODE_CTR); break; case class_exists('\phpseclib\Crypt\TripleDES'): $crypto = new TripleDES(Base::MODE_CTR); break; case class_exists('\phpseclib\Crypt\DES'): $crypto = new DES(Base::MODE_CTR); break; case class_exists('\phpseclib\Crypt\RC4'): $crypto = new RC4(); break; default: user_error(__CLASS__ . ' requires at least one symmetric cipher be loaded'); return false; } $crypto->setKey($key); $crypto->setIV($iv); $crypto->enableContinuousBuffer(); } //return $crypto->encrypt(str_repeat("\0", $length)); // the following is based off of ANSI X9.31: // // http://csrc.nist.gov/groups/STM/cavp/documents/rng/931rngext.pdf // // OpenSSL uses that same standard for it's random numbers: // // http://www.opensource.apple.com/source/OpenSSL/OpenSSL-38/openssl/fips-1.0/rand/fips_rand.c // (do a search for "ANS X9.31 A.2.4") $result = ''; while (strlen($result) < $length) { $i = $crypto->encrypt(microtime()); // strlen(microtime()) == 21 $r = $crypto->encrypt($i ^ $v); // strlen($v) == 20 $v = $crypto->encrypt($r ^ $i); // strlen($r) == 20 $result.= $r; } return substr($result, 0, $length); } } if (!function_exists('phpseclib_safe_serialize')) { /** * Safely serialize variables * * If a class has a private __sleep() method it'll give a fatal error on PHP 5.2 and earlier. * PHP 5.3 will emit a warning. * * @param mixed $arr * @access public */ function phpseclib_safe_serialize(&$arr) { if (is_object($arr)) { return ''; } if (!is_array($arr)) { return serialize($arr); } // prevent circular array recursion if (isset($arr['__phpseclib_marker'])) { return ''; } $safearr = array(); $arr['__phpseclib_marker'] = true; foreach (array_keys($arr) as $key) { // do not recurse on the '__phpseclib_marker' key itself, for smaller memory usage if ($key !== '__phpseclib_marker') { $safearr[$key] = phpseclib_safe_serialize($arr[$key]); } } unset($arr['__phpseclib_marker']); return serialize($safearr); } } vendor/phpseclib/phpseclib/phpseclib/Crypt/TripleDES.php000064400000033232147400355670017357 0ustar00 * setKey('abcdefghijklmnopqrstuvwx'); * * $size = 10 * 1024; * $plaintext = ''; * for ($i = 0; $i < $size; $i++) { * $plaintext.= 'a'; * } * * echo $des->decrypt($des->encrypt($plaintext)); * ?> * * * @category Crypt * @package TripleDES * @author Jim Wigginton * @copyright 2007 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; /** * Pure-PHP implementation of Triple DES. * * @package TripleDES * @author Jim Wigginton * @access public */ class TripleDES extends DES { /** * Encrypt / decrypt using inner chaining * * Inner chaining is used by SSH-1 and is generally considered to be less secure then outer chaining (self::MODE_CBC3). */ const MODE_3CBC = -2; /** * Encrypt / decrypt using outer chaining * * Outer chaining is used by SSH-2 and when the mode is set to \phpseclib\Crypt\Base::MODE_CBC. */ const MODE_CBC3 = self::MODE_CBC; /** * Key Length (in bytes) * * @see \phpseclib\Crypt\TripleDES::setKeyLength() * @var int * @access private */ var $key_length = 24; /** * The default salt used by setPassword() * * @see \phpseclib\Crypt\Base::password_default_salt * @see \phpseclib\Crypt\Base::setPassword() * @var string * @access private */ var $password_default_salt = 'phpseclib'; /** * The mcrypt specific name of the cipher * * @see \phpseclib\Crypt\DES::cipher_name_mcrypt * @see \phpseclib\Crypt\Base::cipher_name_mcrypt * @var string * @access private */ var $cipher_name_mcrypt = 'tripledes'; /** * Optimizing value while CFB-encrypting * * @see \phpseclib\Crypt\Base::cfb_init_len * @var int * @access private */ var $cfb_init_len = 750; /** * max possible size of $key * * @see self::setKey() * @see \phpseclib\Crypt\DES::setKey() * @var string * @access private */ var $key_length_max = 24; /** * Internal flag whether using self::MODE_3CBC or not * * @var bool * @access private */ var $mode_3cbc; /** * The \phpseclib\Crypt\DES objects * * Used only if $mode_3cbc === true * * @var array * @access private */ var $des; /** * Default Constructor. * * Determines whether or not the mcrypt extension should be used. * * $mode could be: * * - \phpseclib\Crypt\Base::MODE_ECB * * - \phpseclib\Crypt\Base::MODE_CBC * * - \phpseclib\Crypt\Base::MODE_CTR * * - \phpseclib\Crypt\Base::MODE_CFB * * - \phpseclib\Crypt\Base::MODE_OFB * * - \phpseclib\Crypt\TripleDES::MODE_3CBC * * If not explicitly set, \phpseclib\Crypt\Base::MODE_CBC will be used. * * @see \phpseclib\Crypt\DES::__construct() * @see \phpseclib\Crypt\Base::__construct() * @param int $mode * @access public */ function __construct($mode = self::MODE_CBC) { switch ($mode) { // In case of self::MODE_3CBC, we init as CRYPT_DES_MODE_CBC // and additional flag us internally as 3CBC case self::MODE_3CBC: parent::__construct(self::MODE_CBC); $this->mode_3cbc = true; // This three $des'es will do the 3CBC work (if $key > 64bits) $this->des = array( new DES(self::MODE_CBC), new DES(self::MODE_CBC), new DES(self::MODE_CBC), ); // we're going to be doing the padding, ourselves, so disable it in the \phpseclib\Crypt\DES objects $this->des[0]->disablePadding(); $this->des[1]->disablePadding(); $this->des[2]->disablePadding(); break; // If not 3CBC, we init as usual default: parent::__construct($mode); } } /** * Test for engine validity * * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() * * @see \phpseclib\Crypt\Base::__construct() * @param int $engine * @access public * @return bool */ function isValidEngine($engine) { if ($engine == self::ENGINE_OPENSSL) { $this->cipher_name_openssl_ecb = 'des-ede3'; $mode = $this->_openssl_translate_mode(); $this->cipher_name_openssl = $mode == 'ecb' ? 'des-ede3' : 'des-ede3-' . $mode; } return parent::isValidEngine($engine); } /** * Sets the initialization vector. (optional) * * SetIV is not required when \phpseclib\Crypt\Base::MODE_ECB is being used. If not explicitly set, it'll be assumed * to be all zero's. * * @see \phpseclib\Crypt\Base::setIV() * @access public * @param string $iv */ function setIV($iv) { parent::setIV($iv); if ($this->mode_3cbc) { $this->des[0]->setIV($iv); $this->des[1]->setIV($iv); $this->des[2]->setIV($iv); } } /** * Sets the key length. * * Valid key lengths are 64, 128 and 192 * * @see \phpseclib\Crypt\Base:setKeyLength() * @access public * @param int $length */ function setKeyLength($length) { $length >>= 3; switch (true) { case $length <= 8: $this->key_length = 8; break; case $length <= 16: $this->key_length = 16; break; default: $this->key_length = 24; } parent::setKeyLength($length); } /** * Sets the key. * * Keys can be of any length. Triple DES, itself, can use 128-bit (eg. strlen($key) == 16) or * 192-bit (eg. strlen($key) == 24) keys. This function pads and truncates $key as appropriate. * * DES also requires that every eighth bit be a parity bit, however, we'll ignore that. * * If the key is not explicitly set, it'll be assumed to be all null bytes. * * @access public * @see \phpseclib\Crypt\DES::setKey() * @see \phpseclib\Crypt\Base::setKey() * @param string $key */ function setKey($key) { $length = $this->explicit_key_length ? $this->key_length : strlen($key); if ($length > 8) { $key = str_pad(substr($key, 0, 24), 24, chr(0)); // if $key is between 64 and 128-bits, use the first 64-bits as the last, per this: // http://php.net/function.mcrypt-encrypt#47973 $key = $length <= 16 ? substr_replace($key, substr($key, 0, 8), 16) : substr($key, 0, 24); } else { $key = str_pad($key, 8, chr(0)); } parent::setKey($key); // And in case of self::MODE_3CBC: // if key <= 64bits we not need the 3 $des to work, // because we will then act as regular DES-CBC with just a <= 64bit key. // So only if the key > 64bits (> 8 bytes) we will call setKey() for the 3 $des. if ($this->mode_3cbc && $length > 8) { $this->des[0]->setKey(substr($key, 0, 8)); $this->des[1]->setKey(substr($key, 8, 8)); $this->des[2]->setKey(substr($key, 16, 8)); } } /** * Encrypts a message. * * @see \phpseclib\Crypt\Base::encrypt() * @access public * @param string $plaintext * @return string $cipertext */ function encrypt($plaintext) { // parent::en/decrypt() is able to do all the work for all modes and keylengths, // except for: self::MODE_3CBC (inner chaining CBC) with a key > 64bits // if the key is smaller then 8, do what we'd normally do if ($this->mode_3cbc && strlen($this->key) > 8) { return $this->des[2]->encrypt( $this->des[1]->decrypt( $this->des[0]->encrypt( $this->_pad($plaintext) ) ) ); } return parent::encrypt($plaintext); } /** * Decrypts a message. * * @see \phpseclib\Crypt\Base::decrypt() * @access public * @param string $ciphertext * @return string $plaintext */ function decrypt($ciphertext) { if ($this->mode_3cbc && strlen($this->key) > 8) { return $this->_unpad( $this->des[0]->decrypt( $this->des[1]->encrypt( $this->des[2]->decrypt( str_pad($ciphertext, (strlen($ciphertext) + 7) & 0xFFFFFFF8, "\0") ) ) ) ); } return parent::decrypt($ciphertext); } /** * Treat consecutive "packets" as if they are a continuous buffer. * * Say you have a 16-byte plaintext $plaintext. Using the default behavior, the two following code snippets * will yield different outputs: * * * echo $des->encrypt(substr($plaintext, 0, 8)); * echo $des->encrypt(substr($plaintext, 8, 8)); * * * echo $des->encrypt($plaintext); * * * The solution is to enable the continuous buffer. Although this will resolve the above discrepancy, it creates * another, as demonstrated with the following: * * * $des->encrypt(substr($plaintext, 0, 8)); * echo $des->decrypt($des->encrypt(substr($plaintext, 8, 8))); * * * echo $des->decrypt($des->encrypt(substr($plaintext, 8, 8))); * * * With the continuous buffer disabled, these would yield the same output. With it enabled, they yield different * outputs. The reason is due to the fact that the initialization vector's change after every encryption / * decryption round when the continuous buffer is enabled. When it's disabled, they remain constant. * * Put another way, when the continuous buffer is enabled, the state of the \phpseclib\Crypt\DES() object changes after each * encryption / decryption round, whereas otherwise, it'd remain constant. For this reason, it's recommended that * continuous buffers not be used. They do offer better security and are, in fact, sometimes required (SSH uses them), * however, they are also less intuitive and more likely to cause you problems. * * @see \phpseclib\Crypt\Base::enableContinuousBuffer() * @see self::disableContinuousBuffer() * @access public */ function enableContinuousBuffer() { parent::enableContinuousBuffer(); if ($this->mode_3cbc) { $this->des[0]->enableContinuousBuffer(); $this->des[1]->enableContinuousBuffer(); $this->des[2]->enableContinuousBuffer(); } } /** * Treat consecutive packets as if they are a discontinuous buffer. * * The default behavior. * * @see \phpseclib\Crypt\Base::disableContinuousBuffer() * @see self::enableContinuousBuffer() * @access public */ function disableContinuousBuffer() { parent::disableContinuousBuffer(); if ($this->mode_3cbc) { $this->des[0]->disableContinuousBuffer(); $this->des[1]->disableContinuousBuffer(); $this->des[2]->disableContinuousBuffer(); } } /** * Creates the key schedule * * @see \phpseclib\Crypt\DES::_setupKey() * @see \phpseclib\Crypt\Base::_setupKey() * @access private */ function _setupKey() { switch (true) { // if $key <= 64bits we configure our internal pure-php cipher engine // to act as regular [1]DES, not as 3DES. mcrypt.so::tripledes does the same. case strlen($this->key) <= 8: $this->des_rounds = 1; break; // otherwise, if $key > 64bits, we configure our engine to work as 3DES. default: $this->des_rounds = 3; // (only) if 3CBC is used we have, of course, to setup the $des[0-2] keys also separately. if ($this->mode_3cbc) { $this->des[0]->_setupKey(); $this->des[1]->_setupKey(); $this->des[2]->_setupKey(); // because $des[0-2] will, now, do all the work we can return here // not need unnecessary stress parent::_setupKey() with our, now unused, $key. return; } } // setup our key parent::_setupKey(); } /** * Sets the internal crypt engine * * @see \phpseclib\Crypt\Base::__construct() * @see \phpseclib\Crypt\Base::setPreferredEngine() * @param int $engine * @access public * @return int */ function setPreferredEngine($engine) { if ($this->mode_3cbc) { $this->des[0]->setPreferredEngine($engine); $this->des[1]->setPreferredEngine($engine); $this->des[2]->setPreferredEngine($engine); } return parent::setPreferredEngine($engine); } } vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php000064400000327471147400355670016451 0ustar00 * @author Hans-Juergen Petrich * @copyright 2007 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; /** * Base Class for all \phpseclib\Crypt\* cipher classes * * @package Base * @author Jim Wigginton * @author Hans-Juergen Petrich */ abstract class Base { /**#@+ * @access public * @see \phpseclib\Crypt\Base::encrypt() * @see \phpseclib\Crypt\Base::decrypt() */ /** * Encrypt / decrypt using the Counter mode. * * Set to -1 since that's what Crypt/Random.php uses to index the CTR mode. * * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Counter_.28CTR.29 */ const MODE_CTR = -1; /** * Encrypt / decrypt using the Electronic Code Book mode. * * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29 */ const MODE_ECB = 1; /** * Encrypt / decrypt using the Code Book Chaining mode. * * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29 */ const MODE_CBC = 2; /** * Encrypt / decrypt using the Cipher Feedback mode. * * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher_feedback_.28CFB.29 */ const MODE_CFB = 3; /** * Encrypt / decrypt using the Cipher Feedback mode (8bit) */ const MODE_CFB8 = 6; /** * Encrypt / decrypt using the Output Feedback mode (8bit) */ const MODE_OFB8 = 7; /** * Encrypt / decrypt using the Output Feedback mode. * * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Output_feedback_.28OFB.29 */ const MODE_OFB = 4; /** * Encrypt / decrypt using streaming mode. */ const MODE_STREAM = 5; /**#@-*/ /** * Whirlpool available flag * * @see \phpseclib\Crypt\Base::_hashInlineCryptFunction() * @var bool * @access private */ static $WHIRLPOOL_AVAILABLE; /**#@+ * @access private * @see \phpseclib\Crypt\Base::__construct() */ /** * Base value for the internal implementation $engine switch */ const ENGINE_INTERNAL = 1; /** * Base value for the mcrypt implementation $engine switch */ const ENGINE_MCRYPT = 2; /** * Base value for the mcrypt implementation $engine switch */ const ENGINE_OPENSSL = 3; /**#@-*/ /** * The Encryption Mode * * @see self::__construct() * @var int * @access private */ var $mode; /** * The Block Length of the block cipher * * @var int * @access private */ var $block_size = 16; /** * The Key * * @see self::setKey() * @var string * @access private */ var $key = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; /** * The Initialization Vector * * @see self::setIV() * @var string * @access private */ var $iv = ''; /** * A "sliding" Initialization Vector * * @see self::enableContinuousBuffer() * @see self::_clearBuffers() * @var string * @access private */ var $encryptIV; /** * A "sliding" Initialization Vector * * @see self::enableContinuousBuffer() * @see self::_clearBuffers() * @var string * @access private */ var $decryptIV; /** * Continuous Buffer status * * @see self::enableContinuousBuffer() * @var bool * @access private */ var $continuousBuffer = false; /** * Encryption buffer for CTR, OFB and CFB modes * * @see self::encrypt() * @see self::_clearBuffers() * @var array * @access private */ var $enbuffer; /** * Decryption buffer for CTR, OFB and CFB modes * * @see self::decrypt() * @see self::_clearBuffers() * @var array * @access private */ var $debuffer; /** * mcrypt resource for encryption * * The mcrypt resource can be recreated every time something needs to be created or it can be created just once. * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode. * * @see self::encrypt() * @var resource * @access private */ var $enmcrypt; /** * mcrypt resource for decryption * * The mcrypt resource can be recreated every time something needs to be created or it can be created just once. * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode. * * @see self::decrypt() * @var resource * @access private */ var $demcrypt; /** * Does the enmcrypt resource need to be (re)initialized? * * @see \phpseclib\Crypt\Twofish::setKey() * @see \phpseclib\Crypt\Twofish::setIV() * @var bool * @access private */ var $enchanged = true; /** * Does the demcrypt resource need to be (re)initialized? * * @see \phpseclib\Crypt\Twofish::setKey() * @see \phpseclib\Crypt\Twofish::setIV() * @var bool * @access private */ var $dechanged = true; /** * mcrypt resource for CFB mode * * mcrypt's CFB mode, in (and only in) buffered context, * is broken, so phpseclib implements the CFB mode by it self, * even when the mcrypt php extension is available. * * In order to do the CFB-mode work (fast) phpseclib * use a separate ECB-mode mcrypt resource. * * @link http://phpseclib.sourceforge.net/cfb-demo.phps * @see self::encrypt() * @see self::decrypt() * @see self::_setupMcrypt() * @var resource * @access private */ var $ecb; /** * Optimizing value while CFB-encrypting * * Only relevant if $continuousBuffer enabled * and $engine == self::ENGINE_MCRYPT * * It's faster to re-init $enmcrypt if * $buffer bytes > $cfb_init_len than * using the $ecb resource furthermore. * * This value depends of the chosen cipher * and the time it would be needed for it's * initialization [by mcrypt_generic_init()] * which, typically, depends on the complexity * on its internaly Key-expanding algorithm. * * @see self::encrypt() * @var int * @access private */ var $cfb_init_len = 600; /** * Does internal cipher state need to be (re)initialized? * * @see self::setKey() * @see self::setIV() * @see self::disableContinuousBuffer() * @var bool * @access private */ var $changed = true; /** * Padding status * * @see self::enablePadding() * @var bool * @access private */ var $padding = true; /** * Is the mode one that is paddable? * * @see self::__construct() * @var bool * @access private */ var $paddable = false; /** * Holds which crypt engine internaly should be use, * which will be determined automatically on __construct() * * Currently available $engines are: * - self::ENGINE_OPENSSL (very fast, php-extension: openssl, extension_loaded('openssl') required) * - self::ENGINE_MCRYPT (fast, php-extension: mcrypt, extension_loaded('mcrypt') required) * - self::ENGINE_INTERNAL (slower, pure php-engine, no php-extension required) * * @see self::_setEngine() * @see self::encrypt() * @see self::decrypt() * @var int * @access private */ var $engine; /** * Holds the preferred crypt engine * * @see self::_setEngine() * @see self::setPreferredEngine() * @var int * @access private */ var $preferredEngine; /** * The mcrypt specific name of the cipher * * Only used if $engine == self::ENGINE_MCRYPT * * @link http://www.php.net/mcrypt_module_open * @link http://www.php.net/mcrypt_list_algorithms * @see self::_setupMcrypt() * @var string * @access private */ var $cipher_name_mcrypt; /** * The openssl specific name of the cipher * * Only used if $engine == self::ENGINE_OPENSSL * * @link http://www.php.net/openssl-get-cipher-methods * @var string * @access private */ var $cipher_name_openssl; /** * The openssl specific name of the cipher in ECB mode * * If OpenSSL does not support the mode we're trying to use (CTR) * it can still be emulated with ECB mode. * * @link http://www.php.net/openssl-get-cipher-methods * @var string * @access private */ var $cipher_name_openssl_ecb; /** * The default salt used by setPassword() * * @see self::setPassword() * @var string * @access private */ var $password_default_salt = 'phpseclib/salt'; /** * The name of the performance-optimized callback function * * Used by encrypt() / decrypt() * only if $engine == self::ENGINE_INTERNAL * * @see self::encrypt() * @see self::decrypt() * @see self::_setupInlineCrypt() * @see self::$use_inline_crypt * @var Callback * @access private */ var $inline_crypt; /** * Holds whether performance-optimized $inline_crypt() can/should be used. * * @see self::encrypt() * @see self::decrypt() * @see self::inline_crypt * @var mixed * @access private */ var $use_inline_crypt = true; /** * If OpenSSL can be used in ECB but not in CTR we can emulate CTR * * @see self::_openssl_ctr_process() * @var bool * @access private */ var $openssl_emulate_ctr = false; /** * Determines what options are passed to openssl_encrypt/decrypt * * @see self::isValidEngine() * @var mixed * @access private */ var $openssl_options; /** * Has the key length explicitly been set or should it be derived from the key, itself? * * @see self::setKeyLength() * @var bool * @access private */ var $explicit_key_length = false; /** * Don't truncate / null pad key * * @see self::_clearBuffers() * @var bool * @access private */ var $skip_key_adjustment = false; /** * Default Constructor. * * Determines whether or not the mcrypt extension should be used. * * $mode could be: * * - self::MODE_ECB * * - self::MODE_CBC * * - self::MODE_CTR * * - self::MODE_CFB * * - self::MODE_OFB * * If not explicitly set, self::MODE_CBC will be used. * * @param int $mode * @access public */ function __construct($mode = self::MODE_CBC) { // $mode dependent settings switch ($mode) { case self::MODE_ECB: $this->paddable = true; $this->mode = self::MODE_ECB; break; case self::MODE_CTR: case self::MODE_CFB: case self::MODE_CFB8: case self::MODE_OFB8: case self::MODE_OFB: case self::MODE_STREAM: $this->mode = $mode; break; case self::MODE_CBC: default: $this->paddable = true; $this->mode = self::MODE_CBC; } $this->_setEngine(); // Determining whether inline crypting can be used by the cipher if ($this->use_inline_crypt !== false) { $this->use_inline_crypt = version_compare(PHP_VERSION, '5.3.0') >= 0 || function_exists('create_function'); } if (!defined('PHP_INT_SIZE')) { define('PHP_INT_SIZE', 4); } if (!defined('CRYPT_BASE_USE_REG_INTVAL')) { switch (true) { // PHP_OS & "\xDF\xDF\xDF" == strtoupper(substr(PHP_OS, 0, 3)), but a lot faster case (PHP_OS & "\xDF\xDF\xDF") === 'WIN': case !function_exists('php_uname'): case !is_string(php_uname('m')): case (php_uname('m') & "\xDF\xDF\xDF") != 'ARM': case PHP_INT_SIZE == 8: define('CRYPT_BASE_USE_REG_INTVAL', true); break; case (php_uname('m') & "\xDF\xDF\xDF") == 'ARM': switch (true) { /* PHP 7.0.0 introduced a bug that affected 32-bit ARM processors: https://github.com/php/php-src/commit/716da71446ebbd40fa6cf2cea8a4b70f504cc3cd altho the changelogs make no mention of it, this bug was fixed with this commit: https://github.com/php/php-src/commit/c1729272b17a1fe893d1a54e423d3b71470f3ee8 affected versions of PHP are: 7.0.x, 7.1.0 - 7.1.23 and 7.2.0 - 7.2.11 */ case PHP_VERSION_ID >= 70000 && PHP_VERSION_ID <= 70123: case PHP_VERSION_ID >= 70200 && PHP_VERSION_ID <= 70211: define('CRYPT_BASE_USE_REG_INTVAL', false); break; default: define('CRYPT_BASE_USE_REG_INTVAL', true); } } } } /** * Sets the initialization vector. (optional) * * SetIV is not required when self::MODE_ECB (or ie for AES: \phpseclib\Crypt\AES::MODE_ECB) is being used. If not explicitly set, it'll be assumed * to be all zero's. * * @access public * @param string $iv * @internal Can be overwritten by a sub class, but does not have to be */ function setIV($iv) { if ($this->mode == self::MODE_ECB) { return; } $this->iv = $iv; $this->changed = true; } /** * Sets the key length. * * Keys with explicitly set lengths need to be treated accordingly * * @access public * @param int $length */ function setKeyLength($length) { $this->explicit_key_length = true; $this->changed = true; $this->_setEngine(); } /** * Returns the current key length in bits * * @access public * @return int */ function getKeyLength() { return $this->key_length << 3; } /** * Returns the current block length in bits * * @access public * @return int */ function getBlockLength() { return $this->block_size << 3; } /** * Sets the key. * * The min/max length(s) of the key depends on the cipher which is used. * If the key not fits the length(s) of the cipher it will paded with null bytes * up to the closest valid key length. If the key is more than max length, * we trim the excess bits. * * If the key is not explicitly set, it'll be assumed to be all null bytes. * * @access public * @param string $key * @internal Could, but not must, extend by the child Crypt_* class */ function setKey($key) { if (!$this->explicit_key_length) { $this->setKeyLength(strlen($key) << 3); $this->explicit_key_length = false; } $this->key = $key; $this->changed = true; $this->_setEngine(); } /** * Sets the password. * * Depending on what $method is set to, setPassword()'s (optional) parameters are as follows: * {@link http://en.wikipedia.org/wiki/PBKDF2 pbkdf2} or pbkdf1: * $hash, $salt, $count, $dkLen * * Where $hash (default = sha1) currently supports the following hashes: see: Crypt/Hash.php * {@link https://en.wikipedia.org/wiki/Bcrypt bcypt}: * $salt, $rounds, $keylen * * This is a modified version of bcrypt used by OpenSSH. * * @see Crypt/Hash.php * @param string $password * @param string $method * @return bool * @access public * @internal Could, but not must, extend by the child Crypt_* class */ function setPassword($password, $method = 'pbkdf2') { $key = ''; switch ($method) { case 'bcrypt': $func_args = func_get_args(); if (!isset($func_args[2])) { return false; } $salt = $func_args[2]; $rounds = isset($func_args[3]) ? $func_args[3] : 16; $keylen = isset($func_args[4]) ? $func_args[4] : $this->key_length; $bf = new Blowfish(); $key = $bf->bcrypt_pbkdf($password, $salt, $keylen + $this->block_size, $rounds); if (!$key) { return false; } $this->setKey(substr($key, 0, $keylen)); $this->setIV(substr($key, $keylen)); return true; default: // 'pbkdf2' or 'pbkdf1' $func_args = func_get_args(); // Hash function $hash = isset($func_args[2]) ? $func_args[2] : 'sha1'; // WPA and WPA2 use the SSID as the salt $salt = isset($func_args[3]) ? $func_args[3] : $this->password_default_salt; // RFC2898#section-4.2 uses 1,000 iterations by default // WPA and WPA2 use 4,096. $count = isset($func_args[4]) ? $func_args[4] : 1000; // Keylength if (isset($func_args[5])) { $dkLen = $func_args[5]; } else { $dkLen = $method == 'pbkdf1' ? 2 * $this->key_length : $this->key_length; } switch (true) { case $method == 'pbkdf1': $hashObj = new Hash(); $hashObj->setHash($hash); if ($dkLen > $hashObj->getLength()) { user_error('Derived key too long'); return false; } $t = $password . $salt; for ($i = 0; $i < $count; ++$i) { $t = $hashObj->hash($t); } $key = substr($t, 0, $dkLen); $this->setKey(substr($key, 0, $dkLen >> 1)); $this->setIV(substr($key, $dkLen >> 1)); return true; // Determining if php[>=5.5.0]'s hash_pbkdf2() function avail- and useable case !function_exists('hash_pbkdf2'): case !function_exists('hash_algos'): case !in_array($hash, hash_algos()): $i = 1; $hmac = new Hash(); $hmac->setHash($hash); $hmac->setKey($password); while (strlen($key) < $dkLen) { $f = $u = $hmac->hash($salt . pack('N', $i++)); for ($j = 2; $j <= $count; ++$j) { $u = $hmac->hash($u); $f^= $u; } $key.= $f; } $key = substr($key, 0, $dkLen); break; default: $key = hash_pbkdf2($hash, $password, $salt, $count, $dkLen, true); } } $this->setKey($key); return true; } /** * Encrypts a message. * * $plaintext will be padded with additional bytes such that it's length is a multiple of the block size. Other cipher * implementations may or may not pad in the same manner. Other common approaches to padding and the reasons why it's * necessary are discussed in the following * URL: * * {@link http://www.di-mgt.com.au/cryptopad.html http://www.di-mgt.com.au/cryptopad.html} * * An alternative to padding is to, separately, send the length of the file. This is what SSH, in fact, does. * strlen($plaintext) will still need to be a multiple of the block size, however, arbitrary values can be added to make it that * length. * * @see self::decrypt() * @access public * @param string $plaintext * @return string $ciphertext * @internal Could, but not must, extend by the child Crypt_* class */ function encrypt($plaintext) { if ($this->paddable) { $plaintext = $this->_pad($plaintext); } if ($this->engine === self::ENGINE_OPENSSL) { if ($this->changed) { $this->_clearBuffers(); $this->changed = false; } switch ($this->mode) { case self::MODE_STREAM: return openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options); case self::MODE_ECB: $result = @openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options); return !defined('OPENSSL_RAW_DATA') ? substr($result, 0, -$this->block_size) : $result; case self::MODE_CBC: $result = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->encryptIV); if (!defined('OPENSSL_RAW_DATA')) { $result = substr($result, 0, -$this->block_size); } if ($this->continuousBuffer) { $this->encryptIV = substr($result, -$this->block_size); } return $result; case self::MODE_CTR: return $this->_openssl_ctr_process($plaintext, $this->encryptIV, $this->enbuffer); case self::MODE_CFB: // cfb loosely routines inspired by openssl's: // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1} $ciphertext = ''; if ($this->continuousBuffer) { $iv = &$this->encryptIV; $pos = &$this->enbuffer['pos']; } else { $iv = $this->encryptIV; $pos = 0; } $len = strlen($plaintext); $i = 0; if ($pos) { $orig_pos = $pos; $max = $this->block_size - $pos; if ($len >= $max) { $i = $max; $len-= $max; $pos = 0; } else { $i = $len; $pos+= $len; $len = 0; } // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize $ciphertext = substr($iv, $orig_pos) ^ $plaintext; $iv = substr_replace($iv, $ciphertext, $orig_pos, $i); $plaintext = substr($plaintext, $i); } $overflow = $len % $this->block_size; if ($overflow) { $ciphertext.= openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $this->block_size), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); $iv = $this->_string_pop($ciphertext, $this->block_size); $size = $len - $overflow; $block = $iv ^ substr($plaintext, -$overflow); $iv = substr_replace($iv, $block, 0, $overflow); $ciphertext.= $block; $pos = $overflow; } elseif ($len) { $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); $iv = substr($ciphertext, -$this->block_size); } return $ciphertext; case self::MODE_CFB8: $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->encryptIV); if ($this->continuousBuffer) { if (($len = strlen($ciphertext)) >= $this->block_size) { $this->encryptIV = substr($ciphertext, -$this->block_size); } else { $this->encryptIV = substr($this->encryptIV, $len - $this->block_size) . substr($ciphertext, -$len); } } return $ciphertext; case self::MODE_OFB8: // OpenSSL has built in support for cfb8 but not ofb8 $ciphertext = ''; $len = strlen($plaintext); $iv = $this->encryptIV; for ($i = 0; $i < $len; ++$i) { $xor = openssl_encrypt($iv, $this->cipher_name_openssl_ecb, $this->key, $this->openssl_options, $this->decryptIV); $ciphertext.= $plaintext[$i] ^ $xor; $iv = substr($iv, 1) . $xor[0]; } if ($this->continuousBuffer) { $this->encryptIV = $iv; } break; case self::MODE_OFB: return $this->_openssl_ofb_process($plaintext, $this->encryptIV, $this->enbuffer); } } if ($this->engine === self::ENGINE_MCRYPT) { set_error_handler(array($this, 'do_nothing')); if ($this->changed) { $this->_setupMcrypt(); $this->changed = false; } if ($this->enchanged) { mcrypt_generic_init($this->enmcrypt, $this->key, $this->encryptIV); $this->enchanged = false; } // re: {@link http://phpseclib.sourceforge.net/cfb-demo.phps} // using mcrypt's default handing of CFB the above would output two different things. using phpseclib's // rewritten CFB implementation the above outputs the same thing twice. if ($this->mode == self::MODE_CFB && $this->continuousBuffer) { $block_size = $this->block_size; $iv = &$this->encryptIV; $pos = &$this->enbuffer['pos']; $len = strlen($plaintext); $ciphertext = ''; $i = 0; if ($pos) { $orig_pos = $pos; $max = $block_size - $pos; if ($len >= $max) { $i = $max; $len-= $max; $pos = 0; } else { $i = $len; $pos+= $len; $len = 0; } $ciphertext = substr($iv, $orig_pos) ^ $plaintext; $iv = substr_replace($iv, $ciphertext, $orig_pos, $i); $this->enbuffer['enmcrypt_init'] = true; } if ($len >= $block_size) { if ($this->enbuffer['enmcrypt_init'] === false || $len > $this->cfb_init_len) { if ($this->enbuffer['enmcrypt_init'] === true) { mcrypt_generic_init($this->enmcrypt, $this->key, $iv); $this->enbuffer['enmcrypt_init'] = false; } $ciphertext.= mcrypt_generic($this->enmcrypt, substr($plaintext, $i, $len - $len % $block_size)); $iv = substr($ciphertext, -$block_size); $len%= $block_size; } else { while ($len >= $block_size) { $iv = mcrypt_generic($this->ecb, $iv) ^ substr($plaintext, $i, $block_size); $ciphertext.= $iv; $len-= $block_size; $i+= $block_size; } } } if ($len) { $iv = mcrypt_generic($this->ecb, $iv); $block = $iv ^ substr($plaintext, -$len); $iv = substr_replace($iv, $block, 0, $len); $ciphertext.= $block; $pos = $len; } restore_error_handler(); return $ciphertext; } $ciphertext = mcrypt_generic($this->enmcrypt, $plaintext); if (!$this->continuousBuffer) { mcrypt_generic_init($this->enmcrypt, $this->key, $this->encryptIV); } restore_error_handler(); return $ciphertext; } if ($this->changed) { $this->_setup(); $this->changed = false; } if ($this->use_inline_crypt) { $inline = $this->inline_crypt; return $inline('encrypt', $this, $plaintext); } $buffer = &$this->enbuffer; $block_size = $this->block_size; $ciphertext = ''; switch ($this->mode) { case self::MODE_ECB: for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { $ciphertext.= $this->_encryptBlock(substr($plaintext, $i, $block_size)); } break; case self::MODE_CBC: $xor = $this->encryptIV; for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { $block = substr($plaintext, $i, $block_size); $block = $this->_encryptBlock($block ^ $xor); $xor = $block; $ciphertext.= $block; } if ($this->continuousBuffer) { $this->encryptIV = $xor; } break; case self::MODE_CTR: $xor = $this->encryptIV; if (strlen($buffer['ciphertext'])) { for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { $block = substr($plaintext, $i, $block_size); if (strlen($block) > strlen($buffer['ciphertext'])) { $buffer['ciphertext'].= $this->_encryptBlock($xor); $this->_increment_str($xor); } $key = $this->_string_shift($buffer['ciphertext'], $block_size); $ciphertext.= $block ^ $key; } } else { for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { $block = substr($plaintext, $i, $block_size); $key = $this->_encryptBlock($xor); $this->_increment_str($xor); $ciphertext.= $block ^ $key; } } if ($this->continuousBuffer) { $this->encryptIV = $xor; if ($start = strlen($plaintext) % $block_size) { $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext']; } } break; case self::MODE_CFB: // cfb loosely routines inspired by openssl's: // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1} if ($this->continuousBuffer) { $iv = &$this->encryptIV; $pos = &$buffer['pos']; } else { $iv = $this->encryptIV; $pos = 0; } $len = strlen($plaintext); $i = 0; if ($pos) { $orig_pos = $pos; $max = $block_size - $pos; if ($len >= $max) { $i = $max; $len-= $max; $pos = 0; } else { $i = $len; $pos+= $len; $len = 0; } // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize $ciphertext = substr($iv, $orig_pos) ^ $plaintext; $iv = substr_replace($iv, $ciphertext, $orig_pos, $i); } while ($len >= $block_size) { $iv = $this->_encryptBlock($iv) ^ substr($plaintext, $i, $block_size); $ciphertext.= $iv; $len-= $block_size; $i+= $block_size; } if ($len) { $iv = $this->_encryptBlock($iv); $block = $iv ^ substr($plaintext, $i); $iv = substr_replace($iv, $block, 0, $len); $ciphertext.= $block; $pos = $len; } break; case self::MODE_CFB8: // compared to regular CFB, which encrypts a block at a time, // here, we're encrypting a byte at a time $ciphertext = ''; $len = strlen($plaintext); $iv = $this->encryptIV; for ($i = 0; $i < $len; ++$i) { $ciphertext.= ($c = $plaintext[$i] ^ $this->_encryptBlock($iv)); $iv = substr($iv, 1) . $c; } if ($this->continuousBuffer) { if ($len >= $block_size) { $this->encryptIV = substr($ciphertext, -$block_size); } else { $this->encryptIV = substr($this->encryptIV, $len - $block_size) . substr($ciphertext, -$len); } } break; case self::MODE_OFB8: $ciphertext = ''; $len = strlen($plaintext); $iv = $this->encryptIV; for ($i = 0; $i < $len; ++$i) { $xor = $this->_encryptBlock($iv); $ciphertext.= $plaintext[$i] ^ $xor; $iv = substr($iv, 1) . $xor[0]; } if ($this->continuousBuffer) { $this->encryptIV = $iv; } break; case self::MODE_OFB: $xor = $this->encryptIV; if (strlen($buffer['xor'])) { for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { $block = substr($plaintext, $i, $block_size); if (strlen($block) > strlen($buffer['xor'])) { $xor = $this->_encryptBlock($xor); $buffer['xor'].= $xor; } $key = $this->_string_shift($buffer['xor'], $block_size); $ciphertext.= $block ^ $key; } } else { for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { $xor = $this->_encryptBlock($xor); $ciphertext.= substr($plaintext, $i, $block_size) ^ $xor; } $key = $xor; } if ($this->continuousBuffer) { $this->encryptIV = $xor; if ($start = strlen($plaintext) % $block_size) { $buffer['xor'] = substr($key, $start) . $buffer['xor']; } } break; case self::MODE_STREAM: $ciphertext = $this->_encryptBlock($plaintext); break; } return $ciphertext; } /** * Decrypts a message. * * If strlen($ciphertext) is not a multiple of the block size, null bytes will be added to the end of the string until * it is. * * @see self::encrypt() * @access public * @param string $ciphertext * @return string $plaintext * @internal Could, but not must, extend by the child Crypt_* class */ function decrypt($ciphertext) { if ($this->paddable) { // we pad with chr(0) since that's what mcrypt_generic does. to quote from {@link http://www.php.net/function.mcrypt-generic}: // "The data is padded with "\0" to make sure the length of the data is n * blocksize." $ciphertext = str_pad($ciphertext, strlen($ciphertext) + ($this->block_size - strlen($ciphertext) % $this->block_size) % $this->block_size, chr(0)); } if ($this->engine === self::ENGINE_OPENSSL) { if ($this->changed) { $this->_clearBuffers(); $this->changed = false; } switch ($this->mode) { case self::MODE_STREAM: $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options); break; case self::MODE_ECB: if (!defined('OPENSSL_RAW_DATA')) { $ciphertext.= @openssl_encrypt('', $this->cipher_name_openssl_ecb, $this->key, true); } $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options); break; case self::MODE_CBC: if (!defined('OPENSSL_RAW_DATA')) { $padding = str_repeat(chr($this->block_size), $this->block_size) ^ substr($ciphertext, -$this->block_size); $ciphertext.= substr(@openssl_encrypt($padding, $this->cipher_name_openssl_ecb, $this->key, true), 0, $this->block_size); $offset = 2 * $this->block_size; } else { $offset = $this->block_size; } $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->decryptIV); if ($this->continuousBuffer) { $this->decryptIV = substr($ciphertext, -$offset, $this->block_size); } break; case self::MODE_CTR: $plaintext = $this->_openssl_ctr_process($ciphertext, $this->decryptIV, $this->debuffer); break; case self::MODE_CFB: // cfb loosely routines inspired by openssl's: // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1} $plaintext = ''; if ($this->continuousBuffer) { $iv = &$this->decryptIV; $pos = &$this->debuffer['pos']; } else { $iv = $this->decryptIV; $pos = 0; } $len = strlen($ciphertext); $i = 0; if ($pos) { $orig_pos = $pos; $max = $this->block_size - $pos; if ($len >= $max) { $i = $max; $len-= $max; $pos = 0; } else { $i = $len; $pos+= $len; $len = 0; } // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $this->blocksize $plaintext = substr($iv, $orig_pos) ^ $ciphertext; $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i); $ciphertext = substr($ciphertext, $i); } $overflow = $len % $this->block_size; if ($overflow) { $plaintext.= openssl_decrypt(substr($ciphertext, 0, -$overflow), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); if ($len - $overflow) { $iv = substr($ciphertext, -$overflow - $this->block_size, -$overflow); } $iv = openssl_encrypt(str_repeat("\0", $this->block_size), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); $plaintext.= $iv ^ substr($ciphertext, -$overflow); $iv = substr_replace($iv, substr($ciphertext, -$overflow), 0, $overflow); $pos = $overflow; } elseif ($len) { $plaintext.= openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv); $iv = substr($ciphertext, -$this->block_size); } break; case self::MODE_CFB8: $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->decryptIV); if ($this->continuousBuffer) { if (($len = strlen($ciphertext)) >= $this->block_size) { $this->decryptIV = substr($ciphertext, -$this->block_size); } else { $this->decryptIV = substr($this->decryptIV, $len - $this->block_size) . substr($ciphertext, -$len); } } break; case self::MODE_OFB8: $plaintext = ''; $len = strlen($ciphertext); $iv = $this->decryptIV; for ($i = 0; $i < $len; ++$i) { $xor = openssl_encrypt($iv, $this->cipher_name_openssl_ecb, $this->key, $this->openssl_options, $this->decryptIV); $plaintext.= $ciphertext[$i] ^ $xor; $iv = substr($iv, 1) . $xor[0]; } if ($this->continuousBuffer) { $this->decryptIV = $iv; } break; case self::MODE_OFB: $plaintext = $this->_openssl_ofb_process($ciphertext, $this->decryptIV, $this->debuffer); } return $this->paddable ? $this->_unpad($plaintext) : $plaintext; } if ($this->engine === self::ENGINE_MCRYPT) { set_error_handler(array($this, 'do_nothing')); $block_size = $this->block_size; if ($this->changed) { $this->_setupMcrypt(); $this->changed = false; } if ($this->dechanged) { mcrypt_generic_init($this->demcrypt, $this->key, $this->decryptIV); $this->dechanged = false; } if ($this->mode == self::MODE_CFB && $this->continuousBuffer) { $iv = &$this->decryptIV; $pos = &$this->debuffer['pos']; $len = strlen($ciphertext); $plaintext = ''; $i = 0; if ($pos) { $orig_pos = $pos; $max = $block_size - $pos; if ($len >= $max) { $i = $max; $len-= $max; $pos = 0; } else { $i = $len; $pos+= $len; $len = 0; } // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize $plaintext = substr($iv, $orig_pos) ^ $ciphertext; $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i); } if ($len >= $block_size) { $cb = substr($ciphertext, $i, $len - $len % $block_size); $plaintext.= mcrypt_generic($this->ecb, $iv . $cb) ^ $cb; $iv = substr($cb, -$block_size); $len%= $block_size; } if ($len) { $iv = mcrypt_generic($this->ecb, $iv); $plaintext.= $iv ^ substr($ciphertext, -$len); $iv = substr_replace($iv, substr($ciphertext, -$len), 0, $len); $pos = $len; } restore_error_handler(); return $plaintext; } $plaintext = mdecrypt_generic($this->demcrypt, $ciphertext); if (!$this->continuousBuffer) { mcrypt_generic_init($this->demcrypt, $this->key, $this->decryptIV); } restore_error_handler(); return $this->paddable ? $this->_unpad($plaintext) : $plaintext; } if ($this->changed) { $this->_setup(); $this->changed = false; } if ($this->use_inline_crypt) { $inline = $this->inline_crypt; return $inline('decrypt', $this, $ciphertext); } $block_size = $this->block_size; $buffer = &$this->debuffer; $plaintext = ''; switch ($this->mode) { case self::MODE_ECB: for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { $plaintext.= $this->_decryptBlock(substr($ciphertext, $i, $block_size)); } break; case self::MODE_CBC: $xor = $this->decryptIV; for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { $block = substr($ciphertext, $i, $block_size); $plaintext.= $this->_decryptBlock($block) ^ $xor; $xor = $block; } if ($this->continuousBuffer) { $this->decryptIV = $xor; } break; case self::MODE_CTR: $xor = $this->decryptIV; if (strlen($buffer['ciphertext'])) { for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { $block = substr($ciphertext, $i, $block_size); if (strlen($block) > strlen($buffer['ciphertext'])) { $buffer['ciphertext'].= $this->_encryptBlock($xor); $this->_increment_str($xor); } $key = $this->_string_shift($buffer['ciphertext'], $block_size); $plaintext.= $block ^ $key; } } else { for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { $block = substr($ciphertext, $i, $block_size); $key = $this->_encryptBlock($xor); $this->_increment_str($xor); $plaintext.= $block ^ $key; } } if ($this->continuousBuffer) { $this->decryptIV = $xor; if ($start = strlen($ciphertext) % $block_size) { $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext']; } } break; case self::MODE_CFB: if ($this->continuousBuffer) { $iv = &$this->decryptIV; $pos = &$buffer['pos']; } else { $iv = $this->decryptIV; $pos = 0; } $len = strlen($ciphertext); $i = 0; if ($pos) { $orig_pos = $pos; $max = $block_size - $pos; if ($len >= $max) { $i = $max; $len-= $max; $pos = 0; } else { $i = $len; $pos+= $len; $len = 0; } // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize $plaintext = substr($iv, $orig_pos) ^ $ciphertext; $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i); } while ($len >= $block_size) { $iv = $this->_encryptBlock($iv); $cb = substr($ciphertext, $i, $block_size); $plaintext.= $iv ^ $cb; $iv = $cb; $len-= $block_size; $i+= $block_size; } if ($len) { $iv = $this->_encryptBlock($iv); $plaintext.= $iv ^ substr($ciphertext, $i); $iv = substr_replace($iv, substr($ciphertext, $i), 0, $len); $pos = $len; } break; case self::MODE_CFB8: $plaintext = ''; $len = strlen($ciphertext); $iv = $this->decryptIV; for ($i = 0; $i < $len; ++$i) { $plaintext.= $ciphertext[$i] ^ $this->_encryptBlock($iv); $iv = substr($iv, 1) . $ciphertext[$i]; } if ($this->continuousBuffer) { if ($len >= $block_size) { $this->decryptIV = substr($ciphertext, -$block_size); } else { $this->decryptIV = substr($this->decryptIV, $len - $block_size) . substr($ciphertext, -$len); } } break; case self::MODE_OFB8: $plaintext = ''; $len = strlen($ciphertext); $iv = $this->decryptIV; for ($i = 0; $i < $len; ++$i) { $xor = $this->_encryptBlock($iv); $plaintext.= $ciphertext[$i] ^ $xor; $iv = substr($iv, 1) . $xor[0]; } if ($this->continuousBuffer) { $this->decryptIV = $iv; } break; case self::MODE_OFB: $xor = $this->decryptIV; if (strlen($buffer['xor'])) { for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { $block = substr($ciphertext, $i, $block_size); if (strlen($block) > strlen($buffer['xor'])) { $xor = $this->_encryptBlock($xor); $buffer['xor'].= $xor; } $key = $this->_string_shift($buffer['xor'], $block_size); $plaintext.= $block ^ $key; } } else { for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) { $xor = $this->_encryptBlock($xor); $plaintext.= substr($ciphertext, $i, $block_size) ^ $xor; } $key = $xor; } if ($this->continuousBuffer) { $this->decryptIV = $xor; if ($start = strlen($ciphertext) % $block_size) { $buffer['xor'] = substr($key, $start) . $buffer['xor']; } } break; case self::MODE_STREAM: $plaintext = $this->_decryptBlock($ciphertext); break; } return $this->paddable ? $this->_unpad($plaintext) : $plaintext; } /** * OpenSSL CTR Processor * * PHP's OpenSSL bindings do not operate in continuous mode so we'll wrap around it. Since the keystream * for CTR is the same for both encrypting and decrypting this function is re-used by both Base::encrypt() * and Base::decrypt(). Also, OpenSSL doesn't implement CTR for all of it's symmetric ciphers so this * function will emulate CTR with ECB when necessary. * * @see self::encrypt() * @see self::decrypt() * @param string $plaintext * @param string $encryptIV * @param array $buffer * @return string * @access private */ function _openssl_ctr_process($plaintext, &$encryptIV, &$buffer) { $ciphertext = ''; $block_size = $this->block_size; $key = $this->key; if ($this->openssl_emulate_ctr) { $xor = $encryptIV; if (strlen($buffer['ciphertext'])) { for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { $block = substr($plaintext, $i, $block_size); if (strlen($block) > strlen($buffer['ciphertext'])) { $result = @openssl_encrypt($xor, $this->cipher_name_openssl_ecb, $key, $this->openssl_options); $result = !defined('OPENSSL_RAW_DATA') ? substr($result, 0, -$this->block_size) : $result; $buffer['ciphertext'].= $result; } $this->_increment_str($xor); $otp = $this->_string_shift($buffer['ciphertext'], $block_size); $ciphertext.= $block ^ $otp; } } else { for ($i = 0; $i < strlen($plaintext); $i+=$block_size) { $block = substr($plaintext, $i, $block_size); $otp = @openssl_encrypt($xor, $this->cipher_name_openssl_ecb, $key, $this->openssl_options); $otp = !defined('OPENSSL_RAW_DATA') ? substr($otp, 0, -$this->block_size) : $otp; $this->_increment_str($xor); $ciphertext.= $block ^ $otp; } } if ($this->continuousBuffer) { $encryptIV = $xor; if ($start = strlen($plaintext) % $block_size) { $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext']; } } return $ciphertext; } if (strlen($buffer['ciphertext'])) { $ciphertext = $plaintext ^ $this->_string_shift($buffer['ciphertext'], strlen($plaintext)); $plaintext = substr($plaintext, strlen($ciphertext)); if (!strlen($plaintext)) { return $ciphertext; } } $overflow = strlen($plaintext) % $block_size; if ($overflow) { $plaintext2 = $this->_string_pop($plaintext, $overflow); // ie. trim $plaintext to a multiple of $block_size and put rest of $plaintext in $plaintext2 $encrypted = openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); $temp = $this->_string_pop($encrypted, $block_size); $ciphertext.= $encrypted . ($plaintext2 ^ $temp); if ($this->continuousBuffer) { $buffer['ciphertext'] = substr($temp, $overflow); $encryptIV = $temp; } } elseif (!strlen($buffer['ciphertext'])) { $ciphertext.= openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); $temp = $this->_string_pop($ciphertext, $block_size); if ($this->continuousBuffer) { $encryptIV = $temp; } } if ($this->continuousBuffer) { if (!defined('OPENSSL_RAW_DATA')) { $encryptIV.= @openssl_encrypt('', $this->cipher_name_openssl_ecb, $key, $this->openssl_options); } $encryptIV = openssl_decrypt($encryptIV, $this->cipher_name_openssl_ecb, $key, $this->openssl_options); if ($overflow) { $this->_increment_str($encryptIV); } } return $ciphertext; } /** * OpenSSL OFB Processor * * PHP's OpenSSL bindings do not operate in continuous mode so we'll wrap around it. Since the keystream * for OFB is the same for both encrypting and decrypting this function is re-used by both Base::encrypt() * and Base::decrypt(). * * @see self::encrypt() * @see self::decrypt() * @param string $plaintext * @param string $encryptIV * @param array $buffer * @return string * @access private */ function _openssl_ofb_process($plaintext, &$encryptIV, &$buffer) { if (strlen($buffer['xor'])) { $ciphertext = $plaintext ^ $buffer['xor']; $buffer['xor'] = substr($buffer['xor'], strlen($ciphertext)); $plaintext = substr($plaintext, strlen($ciphertext)); } else { $ciphertext = ''; } $block_size = $this->block_size; $len = strlen($plaintext); $key = $this->key; $overflow = $len % $block_size; if (strlen($plaintext)) { if ($overflow) { $ciphertext.= openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); $xor = $this->_string_pop($ciphertext, $block_size); if ($this->continuousBuffer) { $encryptIV = $xor; } $ciphertext.= $this->_string_shift($xor, $overflow) ^ substr($plaintext, -$overflow); if ($this->continuousBuffer) { $buffer['xor'] = $xor; } } else { $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); if ($this->continuousBuffer) { $encryptIV = substr($ciphertext, -$block_size) ^ substr($plaintext, -$block_size); } } } return $ciphertext; } /** * phpseclib <-> OpenSSL Mode Mapper * * May need to be overwritten by classes extending this one in some cases * * @return int * @access private */ function _openssl_translate_mode() { switch ($this->mode) { case self::MODE_ECB: return 'ecb'; case self::MODE_CBC: return 'cbc'; case self::MODE_CTR: return 'ctr'; case self::MODE_CFB: return 'cfb'; case self::MODE_CFB8: return 'cfb8'; case self::MODE_OFB: return 'ofb'; } } /** * Pad "packets". * * Block ciphers working by encrypting between their specified [$this->]block_size at a time * If you ever need to encrypt or decrypt something that isn't of the proper length, it becomes necessary to * pad the input so that it is of the proper length. * * Padding is enabled by default. Sometimes, however, it is undesirable to pad strings. Such is the case in SSH, * where "packets" are padded with random bytes before being encrypted. Unpad these packets and you risk stripping * away characters that shouldn't be stripped away. (SSH knows how many bytes are added because the length is * transmitted separately) * * @see self::disablePadding() * @access public */ function enablePadding() { $this->padding = true; } /** * Do not pad packets. * * @see self::enablePadding() * @access public */ function disablePadding() { $this->padding = false; } /** * Treat consecutive "packets" as if they are a continuous buffer. * * Say you have a 32-byte plaintext $plaintext. Using the default behavior, the two following code snippets * will yield different outputs: * * * echo $rijndael->encrypt(substr($plaintext, 0, 16)); * echo $rijndael->encrypt(substr($plaintext, 16, 16)); * * * echo $rijndael->encrypt($plaintext); * * * The solution is to enable the continuous buffer. Although this will resolve the above discrepancy, it creates * another, as demonstrated with the following: * * * $rijndael->encrypt(substr($plaintext, 0, 16)); * echo $rijndael->decrypt($rijndael->encrypt(substr($plaintext, 16, 16))); * * * echo $rijndael->decrypt($rijndael->encrypt(substr($plaintext, 16, 16))); * * * With the continuous buffer disabled, these would yield the same output. With it enabled, they yield different * outputs. The reason is due to the fact that the initialization vector's change after every encryption / * decryption round when the continuous buffer is enabled. When it's disabled, they remain constant. * * Put another way, when the continuous buffer is enabled, the state of the \phpseclib\Crypt\*() object changes after each * encryption / decryption round, whereas otherwise, it'd remain constant. For this reason, it's recommended that * continuous buffers not be used. They do offer better security and are, in fact, sometimes required (SSH uses them), * however, they are also less intuitive and more likely to cause you problems. * * @see self::disableContinuousBuffer() * @access public * @internal Could, but not must, extend by the child Crypt_* class */ function enableContinuousBuffer() { if ($this->mode == self::MODE_ECB) { return; } $this->continuousBuffer = true; $this->_setEngine(); } /** * Treat consecutive packets as if they are a discontinuous buffer. * * The default behavior. * * @see self::enableContinuousBuffer() * @access public * @internal Could, but not must, extend by the child Crypt_* class */ function disableContinuousBuffer() { if ($this->mode == self::MODE_ECB) { return; } if (!$this->continuousBuffer) { return; } $this->continuousBuffer = false; $this->changed = true; $this->_setEngine(); } /** * Test for engine validity * * @see self::__construct() * @param int $engine * @access public * @return bool */ function isValidEngine($engine) { switch ($engine) { case self::ENGINE_OPENSSL: if ($this->mode == self::MODE_STREAM && $this->continuousBuffer) { return false; } $this->openssl_emulate_ctr = false; $result = $this->cipher_name_openssl && extension_loaded('openssl') && // PHP 5.3.0 - 5.3.2 did not let you set IV's version_compare(PHP_VERSION, '5.3.3', '>='); if (!$result) { return false; } // prior to PHP 5.4.0 OPENSSL_RAW_DATA and OPENSSL_ZERO_PADDING were not defined. instead of expecting an integer // $options openssl_encrypt expected a boolean $raw_data. if (!defined('OPENSSL_RAW_DATA')) { $this->openssl_options = true; } else { $this->openssl_options = OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING; } $methods = openssl_get_cipher_methods(); if (in_array($this->cipher_name_openssl, $methods)) { return true; } // not all of openssl's symmetric cipher's support ctr. for those // that don't we'll emulate it switch ($this->mode) { case self::MODE_CTR: if (in_array($this->cipher_name_openssl_ecb, $methods)) { $this->openssl_emulate_ctr = true; return true; } } return false; case self::ENGINE_MCRYPT: set_error_handler(array($this, 'do_nothing')); $result = $this->cipher_name_mcrypt && extension_loaded('mcrypt') && in_array($this->cipher_name_mcrypt, mcrypt_list_algorithms()); restore_error_handler(); return $result; case self::ENGINE_INTERNAL: return true; } return false; } /** * Sets the preferred crypt engine * * Currently, $engine could be: * * - \phpseclib\Crypt\Base::ENGINE_OPENSSL [very fast] * * - \phpseclib\Crypt\Base::ENGINE_MCRYPT [fast] * * - \phpseclib\Crypt\Base::ENGINE_INTERNAL [slow] * * If the preferred crypt engine is not available the fastest available one will be used * * @see self::__construct() * @param int $engine * @access public */ function setPreferredEngine($engine) { switch ($engine) { //case self::ENGINE_OPENSSL; case self::ENGINE_MCRYPT: case self::ENGINE_INTERNAL: $this->preferredEngine = $engine; break; default: $this->preferredEngine = self::ENGINE_OPENSSL; } $this->_setEngine(); } /** * Returns the engine currently being utilized * * @see self::_setEngine() * @access public */ function getEngine() { return $this->engine; } /** * Sets the engine as appropriate * * @see self::__construct() * @access private */ function _setEngine() { $this->engine = null; $candidateEngines = array( $this->preferredEngine, self::ENGINE_OPENSSL, self::ENGINE_MCRYPT ); foreach ($candidateEngines as $engine) { if ($this->isValidEngine($engine)) { $this->engine = $engine; break; } } if (!$this->engine) { $this->engine = self::ENGINE_INTERNAL; } if ($this->engine != self::ENGINE_MCRYPT && $this->enmcrypt) { set_error_handler(array($this, 'do_nothing')); // Closing the current mcrypt resource(s). _mcryptSetup() will, if needed, // (re)open them with the module named in $this->cipher_name_mcrypt mcrypt_module_close($this->enmcrypt); mcrypt_module_close($this->demcrypt); $this->enmcrypt = null; $this->demcrypt = null; if ($this->ecb) { mcrypt_module_close($this->ecb); $this->ecb = null; } restore_error_handler(); } $this->changed = true; } /** * Encrypts a block * * Note: Must be extended by the child \phpseclib\Crypt\* class * * @access private * @param string $in * @return string */ abstract function _encryptBlock($in); /** * Decrypts a block * * Note: Must be extended by the child \phpseclib\Crypt\* class * * @access private * @param string $in * @return string */ abstract function _decryptBlock($in); /** * Setup the key (expansion) * * Only used if $engine == self::ENGINE_INTERNAL * * Note: Must extend by the child \phpseclib\Crypt\* class * * @see self::_setup() * @access private */ abstract function _setupKey(); /** * Setup the self::ENGINE_INTERNAL $engine * * (re)init, if necessary, the internal cipher $engine and flush all $buffers * Used (only) if $engine == self::ENGINE_INTERNAL * * _setup() will be called each time if $changed === true * typically this happens when using one or more of following public methods: * * - setKey() * * - setIV() * * - disableContinuousBuffer() * * - First run of encrypt() / decrypt() with no init-settings * * @see self::setKey() * @see self::setIV() * @see self::disableContinuousBuffer() * @access private * @internal _setup() is always called before en/decryption. * @internal Could, but not must, extend by the child Crypt_* class */ function _setup() { $this->_clearBuffers(); $this->_setupKey(); if ($this->use_inline_crypt) { $this->_setupInlineCrypt(); } } /** * Setup the self::ENGINE_MCRYPT $engine * * (re)init, if necessary, the (ext)mcrypt resources and flush all $buffers * Used (only) if $engine = self::ENGINE_MCRYPT * * _setupMcrypt() will be called each time if $changed === true * typically this happens when using one or more of following public methods: * * - setKey() * * - setIV() * * - disableContinuousBuffer() * * - First run of encrypt() / decrypt() * * @see self::setKey() * @see self::setIV() * @see self::disableContinuousBuffer() * @access private * @internal Could, but not must, extend by the child Crypt_* class */ function _setupMcrypt() { $this->_clearBuffers(); $this->enchanged = $this->dechanged = true; if (!isset($this->enmcrypt)) { static $mcrypt_modes = array( self::MODE_CTR => 'ctr', self::MODE_ECB => MCRYPT_MODE_ECB, self::MODE_CBC => MCRYPT_MODE_CBC, self::MODE_CFB => 'ncfb', self::MODE_CFB8 => MCRYPT_MODE_CFB, self::MODE_OFB => MCRYPT_MODE_NOFB, self::MODE_OFB8 => MCRYPT_MODE_OFB, self::MODE_STREAM => MCRYPT_MODE_STREAM, ); $this->demcrypt = mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], ''); $this->enmcrypt = mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], ''); // we need the $ecb mcrypt resource (only) in MODE_CFB with enableContinuousBuffer() // to workaround mcrypt's broken ncfb implementation in buffered mode // see: {@link http://phpseclib.sourceforge.net/cfb-demo.phps} if ($this->mode == self::MODE_CFB) { $this->ecb = mcrypt_module_open($this->cipher_name_mcrypt, '', MCRYPT_MODE_ECB, ''); } } // else should mcrypt_generic_deinit be called? if ($this->mode == self::MODE_CFB) { mcrypt_generic_init($this->ecb, $this->key, str_repeat("\0", $this->block_size)); } } /** * Pads a string * * Pads a string using the RSA PKCS padding standards so that its length is a multiple of the blocksize. * $this->block_size - (strlen($text) % $this->block_size) bytes are added, each of which is equal to * chr($this->block_size - (strlen($text) % $this->block_size) * * If padding is disabled and $text is not a multiple of the blocksize, the string will be padded regardless * and padding will, hence forth, be enabled. * * @see self::_unpad() * @param string $text * @access private * @return string */ function _pad($text) { $length = strlen($text); if (!$this->padding) { if ($length % $this->block_size == 0) { return $text; } else { user_error("The plaintext's length ($length) is not a multiple of the block size ({$this->block_size})"); $this->padding = true; } } $pad = $this->block_size - ($length % $this->block_size); return str_pad($text, $length + $pad, chr($pad)); } /** * Unpads a string. * * If padding is enabled and the reported padding length is invalid the encryption key will be assumed to be wrong * and false will be returned. * * @see self::_pad() * @param string $text * @access private * @return string */ function _unpad($text) { if (!$this->padding) { return $text; } $length = ord($text[strlen($text) - 1]); if (!$length || $length > $this->block_size) { return false; } return substr($text, 0, -$length); } /** * Clears internal buffers * * Clearing/resetting the internal buffers is done everytime * after disableContinuousBuffer() or on cipher $engine (re)init * ie after setKey() or setIV() * * @access public * @internal Could, but not must, extend by the child Crypt_* class */ function _clearBuffers() { $this->enbuffer = $this->debuffer = array('ciphertext' => '', 'xor' => '', 'pos' => 0, 'enmcrypt_init' => true); // mcrypt's handling of invalid's $iv: // $this->encryptIV = $this->decryptIV = strlen($this->iv) == $this->block_size ? $this->iv : str_repeat("\0", $this->block_size); $this->encryptIV = $this->decryptIV = str_pad(substr($this->iv, 0, $this->block_size), $this->block_size, "\0"); if (!$this->skip_key_adjustment) { $this->key = str_pad(substr($this->key, 0, $this->key_length), $this->key_length, "\0"); } } /** * String Shift * * Inspired by array_shift * * @param string $string * @param int $index * @access private * @return string */ function _string_shift(&$string, $index = 1) { $substr = substr($string, 0, $index); $string = substr($string, $index); return $substr; } /** * String Pop * * Inspired by array_pop * * @param string $string * @param int $index * @access private * @return string */ function _string_pop(&$string, $index = 1) { $substr = substr($string, -$index); $string = substr($string, 0, -$index); return $substr; } /** * Increment the current string * * @see self::decrypt() * @see self::encrypt() * @param string $var * @access private */ function _increment_str(&$var) { if (function_exists('sodium_increment')) { $var = strrev($var); sodium_increment($var); $var = strrev($var); return; } for ($i = 4; $i <= strlen($var); $i+= 4) { $temp = substr($var, -$i, 4); switch ($temp) { case "\xFF\xFF\xFF\xFF": $var = substr_replace($var, "\x00\x00\x00\x00", -$i, 4); break; case "\x7F\xFF\xFF\xFF": $var = substr_replace($var, "\x80\x00\x00\x00", -$i, 4); return; default: $temp = unpack('Nnum', $temp); $var = substr_replace($var, pack('N', $temp['num'] + 1), -$i, 4); return; } } $remainder = strlen($var) % 4; if ($remainder == 0) { return; } $temp = unpack('Nnum', str_pad(substr($var, 0, $remainder), 4, "\0", STR_PAD_LEFT)); $temp = substr(pack('N', $temp['num'] + 1), -$remainder); $var = substr_replace($var, $temp, 0, $remainder); } /** * Setup the performance-optimized function for de/encrypt() * * Stores the created (or existing) callback function-name * in $this->inline_crypt * * Internally for phpseclib developers: * * _setupInlineCrypt() would be called only if: * * - $engine == self::ENGINE_INTERNAL and * * - $use_inline_crypt === true * * - each time on _setup(), after(!) _setupKey() * * * This ensures that _setupInlineCrypt() has always a * full ready2go initializated internal cipher $engine state * where, for example, the keys allready expanded, * keys/block_size calculated and such. * * It is, each time if called, the responsibility of _setupInlineCrypt(): * * - to set $this->inline_crypt to a valid and fully working callback function * as a (faster) replacement for encrypt() / decrypt() * * - NOT to create unlimited callback functions (for memory reasons!) * no matter how often _setupInlineCrypt() would be called. At some * point of amount they must be generic re-useable. * * - the code of _setupInlineCrypt() it self, * and the generated callback code, * must be, in following order: * - 100% safe * - 100% compatible to encrypt()/decrypt() * - using only php5+ features/lang-constructs/php-extensions if * compatibility (down to php4) or fallback is provided * - readable/maintainable/understandable/commented and... not-cryptic-styled-code :-) * - >= 10% faster than encrypt()/decrypt() [which is, by the way, * the reason for the existence of _setupInlineCrypt() :-)] * - memory-nice * - short (as good as possible) * * Note: - _setupInlineCrypt() is using _createInlineCryptFunction() to create the full callback function code. * - In case of using inline crypting, _setupInlineCrypt() must extend by the child \phpseclib\Crypt\* class. * - The following variable names are reserved: * - $_* (all variable names prefixed with an underscore) * - $self (object reference to it self. Do not use $this, but $self instead) * - $in (the content of $in has to en/decrypt by the generated code) * - The callback function should not use the 'return' statement, but en/decrypt'ing the content of $in only * * * @see self::_setup() * @see self::_createInlineCryptFunction() * @see self::encrypt() * @see self::decrypt() * @access private * @internal If a Crypt_* class providing inline crypting it must extend _setupInlineCrypt() */ function _setupInlineCrypt() { // If, for any reason, an extending \phpseclib\Crypt\Base() \phpseclib\Crypt\* class // not using inline crypting then it must be ensured that: $this->use_inline_crypt = false // ie in the class var declaration of $use_inline_crypt in general for the \phpseclib\Crypt\* class, // in the constructor at object instance-time // or, if it's runtime-specific, at runtime $this->use_inline_crypt = false; } /** * Creates the performance-optimized function for en/decrypt() * * Internally for phpseclib developers: * * _createInlineCryptFunction(): * * - merge the $cipher_code [setup'ed by _setupInlineCrypt()] * with the current [$this->]mode of operation code * * - create the $inline function, which called by encrypt() / decrypt() * as its replacement to speed up the en/decryption operations. * * - return the name of the created $inline callback function * * - used to speed up en/decryption * * * * The main reason why can speed up things [up to 50%] this way are: * * - using variables more effective then regular. * (ie no use of expensive arrays but integers $k_0, $k_1 ... * or even, for example, the pure $key[] values hardcoded) * * - avoiding 1000's of function calls of ie _encryptBlock() * but inlining the crypt operations. * in the mode of operation for() loop. * * - full loop unroll the (sometimes key-dependent) rounds * avoiding this way ++$i counters and runtime-if's etc... * * The basic code architectur of the generated $inline en/decrypt() * lambda function, in pseudo php, is: * * * +----------------------------------------------------------------------------------------------+ * | callback $inline = create_function: | * | lambda_function_0001_crypt_ECB($action, $text) | * | { | * | INSERT PHP CODE OF: | * | $cipher_code['init_crypt']; // general init code. | * | // ie: $sbox'es declarations used for | * | // encrypt and decrypt'ing. | * | | * | switch ($action) { | * | case 'encrypt': | * | INSERT PHP CODE OF: | * | $cipher_code['init_encrypt']; // encrypt sepcific init code. | * | ie: specified $key or $box | * | declarations for encrypt'ing. | * | | * | foreach ($ciphertext) { | * | $in = $block_size of $ciphertext; | * | | * | INSERT PHP CODE OF: | * | $cipher_code['encrypt_block']; // encrypt's (string) $in, which is always: | * | // strlen($in) == $this->block_size | * | // here comes the cipher algorithm in action | * | // for encryption. | * | // $cipher_code['encrypt_block'] has to | * | // encrypt the content of the $in variable | * | | * | $plaintext .= $in; | * | } | * | return $plaintext; | * | | * | case 'decrypt': | * | INSERT PHP CODE OF: | * | $cipher_code['init_decrypt']; // decrypt sepcific init code | * | ie: specified $key or $box | * | declarations for decrypt'ing. | * | foreach ($plaintext) { | * | $in = $block_size of $plaintext; | * | | * | INSERT PHP CODE OF: | * | $cipher_code['decrypt_block']; // decrypt's (string) $in, which is always | * | // strlen($in) == $this->block_size | * | // here comes the cipher algorithm in action | * | // for decryption. | * | // $cipher_code['decrypt_block'] has to | * | // decrypt the content of the $in variable | * | $ciphertext .= $in; | * | } | * | return $ciphertext; | * | } | * | } | * +----------------------------------------------------------------------------------------------+ * * * See also the \phpseclib\Crypt\*::_setupInlineCrypt()'s for * productive inline $cipher_code's how they works. * * Structure of: * * $cipher_code = array( * 'init_crypt' => (string) '', // optional * 'init_encrypt' => (string) '', // optional * 'init_decrypt' => (string) '', // optional * 'encrypt_block' => (string) '', // required * 'decrypt_block' => (string) '' // required * ); * * * @see self::_setupInlineCrypt() * @see self::encrypt() * @see self::decrypt() * @param array $cipher_code * @access private * @return string (the name of the created callback function) */ function _createInlineCryptFunction($cipher_code) { $block_size = $this->block_size; // optional $init_crypt = isset($cipher_code['init_crypt']) ? $cipher_code['init_crypt'] : ''; $init_encrypt = isset($cipher_code['init_encrypt']) ? $cipher_code['init_encrypt'] : ''; $init_decrypt = isset($cipher_code['init_decrypt']) ? $cipher_code['init_decrypt'] : ''; // required $encrypt_block = $cipher_code['encrypt_block']; $decrypt_block = $cipher_code['decrypt_block']; // Generating mode of operation inline code, // merged with the $cipher_code algorithm // for encrypt- and decryption. switch ($this->mode) { case self::MODE_ECB: $encrypt = $init_encrypt . ' $_ciphertext = ""; $_plaintext_len = strlen($_text); for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { $in = substr($_text, $_i, '.$block_size.'); '.$encrypt_block.' $_ciphertext.= $in; } return $_ciphertext; '; $decrypt = $init_decrypt . ' $_plaintext = ""; $_text = str_pad($_text, strlen($_text) + ('.$block_size.' - strlen($_text) % '.$block_size.') % '.$block_size.', chr(0)); $_ciphertext_len = strlen($_text); for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { $in = substr($_text, $_i, '.$block_size.'); '.$decrypt_block.' $_plaintext.= $in; } return $self->_unpad($_plaintext); '; break; case self::MODE_CTR: $encrypt = $init_encrypt . ' $_ciphertext = ""; $_plaintext_len = strlen($_text); $_xor = $self->encryptIV; $_buffer = &$self->enbuffer; if (strlen($_buffer["ciphertext"])) { for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { $_block = substr($_text, $_i, '.$block_size.'); if (strlen($_block) > strlen($_buffer["ciphertext"])) { $in = $_xor; '.$encrypt_block.' $self->_increment_str($_xor); $_buffer["ciphertext"].= $in; } $_key = $self->_string_shift($_buffer["ciphertext"], '.$block_size.'); $_ciphertext.= $_block ^ $_key; } } else { for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { $_block = substr($_text, $_i, '.$block_size.'); $in = $_xor; '.$encrypt_block.' $self->_increment_str($_xor); $_key = $in; $_ciphertext.= $_block ^ $_key; } } if ($self->continuousBuffer) { $self->encryptIV = $_xor; if ($_start = $_plaintext_len % '.$block_size.') { $_buffer["ciphertext"] = substr($_key, $_start) . $_buffer["ciphertext"]; } } return $_ciphertext; '; $decrypt = $init_encrypt . ' $_plaintext = ""; $_ciphertext_len = strlen($_text); $_xor = $self->decryptIV; $_buffer = &$self->debuffer; if (strlen($_buffer["ciphertext"])) { for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { $_block = substr($_text, $_i, '.$block_size.'); if (strlen($_block) > strlen($_buffer["ciphertext"])) { $in = $_xor; '.$encrypt_block.' $self->_increment_str($_xor); $_buffer["ciphertext"].= $in; } $_key = $self->_string_shift($_buffer["ciphertext"], '.$block_size.'); $_plaintext.= $_block ^ $_key; } } else { for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { $_block = substr($_text, $_i, '.$block_size.'); $in = $_xor; '.$encrypt_block.' $self->_increment_str($_xor); $_key = $in; $_plaintext.= $_block ^ $_key; } } if ($self->continuousBuffer) { $self->decryptIV = $_xor; if ($_start = $_ciphertext_len % '.$block_size.') { $_buffer["ciphertext"] = substr($_key, $_start) . $_buffer["ciphertext"]; } } return $_plaintext; '; break; case self::MODE_CFB: $encrypt = $init_encrypt . ' $_ciphertext = ""; $_buffer = &$self->enbuffer; if ($self->continuousBuffer) { $_iv = &$self->encryptIV; $_pos = &$_buffer["pos"]; } else { $_iv = $self->encryptIV; $_pos = 0; } $_len = strlen($_text); $_i = 0; if ($_pos) { $_orig_pos = $_pos; $_max = '.$block_size.' - $_pos; if ($_len >= $_max) { $_i = $_max; $_len-= $_max; $_pos = 0; } else { $_i = $_len; $_pos+= $_len; $_len = 0; } $_ciphertext = substr($_iv, $_orig_pos) ^ $_text; $_iv = substr_replace($_iv, $_ciphertext, $_orig_pos, $_i); } while ($_len >= '.$block_size.') { $in = $_iv; '.$encrypt_block.'; $_iv = $in ^ substr($_text, $_i, '.$block_size.'); $_ciphertext.= $_iv; $_len-= '.$block_size.'; $_i+= '.$block_size.'; } if ($_len) { $in = $_iv; '.$encrypt_block.' $_iv = $in; $_block = $_iv ^ substr($_text, $_i); $_iv = substr_replace($_iv, $_block, 0, $_len); $_ciphertext.= $_block; $_pos = $_len; } return $_ciphertext; '; $decrypt = $init_encrypt . ' $_plaintext = ""; $_buffer = &$self->debuffer; if ($self->continuousBuffer) { $_iv = &$self->decryptIV; $_pos = &$_buffer["pos"]; } else { $_iv = $self->decryptIV; $_pos = 0; } $_len = strlen($_text); $_i = 0; if ($_pos) { $_orig_pos = $_pos; $_max = '.$block_size.' - $_pos; if ($_len >= $_max) { $_i = $_max; $_len-= $_max; $_pos = 0; } else { $_i = $_len; $_pos+= $_len; $_len = 0; } $_plaintext = substr($_iv, $_orig_pos) ^ $_text; $_iv = substr_replace($_iv, substr($_text, 0, $_i), $_orig_pos, $_i); } while ($_len >= '.$block_size.') { $in = $_iv; '.$encrypt_block.' $_iv = $in; $cb = substr($_text, $_i, '.$block_size.'); $_plaintext.= $_iv ^ $cb; $_iv = $cb; $_len-= '.$block_size.'; $_i+= '.$block_size.'; } if ($_len) { $in = $_iv; '.$encrypt_block.' $_iv = $in; $_plaintext.= $_iv ^ substr($_text, $_i); $_iv = substr_replace($_iv, substr($_text, $_i), 0, $_len); $_pos = $_len; } return $_plaintext; '; break; case self::MODE_CFB8: $encrypt = $init_encrypt . ' $_ciphertext = ""; $_len = strlen($_text); $_iv = $self->encryptIV; for ($_i = 0; $_i < $_len; ++$_i) { $in = $_iv; '.$encrypt_block.' $_ciphertext.= ($_c = $_text[$_i] ^ $in); $_iv = substr($_iv, 1) . $_c; } if ($self->continuousBuffer) { if ($_len >= '.$block_size.') { $self->encryptIV = substr($_ciphertext, -'.$block_size.'); } else { $self->encryptIV = substr($self->encryptIV, $_len - '.$block_size.') . substr($_ciphertext, -$_len); } } return $_ciphertext; '; $decrypt = $init_encrypt . ' $_plaintext = ""; $_len = strlen($_text); $_iv = $self->decryptIV; for ($_i = 0; $_i < $_len; ++$_i) { $in = $_iv; '.$encrypt_block.' $_plaintext.= $_text[$_i] ^ $in; $_iv = substr($_iv, 1) . $_text[$_i]; } if ($self->continuousBuffer) { if ($_len >= '.$block_size.') { $self->decryptIV = substr($_text, -'.$block_size.'); } else { $self->decryptIV = substr($self->decryptIV, $_len - '.$block_size.') . substr($_text, -$_len); } } return $_plaintext; '; break; case self::MODE_OFB8: $encrypt = $init_encrypt . ' $_ciphertext = ""; $_len = strlen($_text); $_iv = $self->encryptIV; for ($_i = 0; $_i < $_len; ++$_i) { $in = $_iv; '.$encrypt_block.' $_ciphertext.= $_text[$_i] ^ $in; $_iv = substr($_iv, 1) . $in[0]; } if ($self->continuousBuffer) { $self->encryptIV = $_iv; } return $_ciphertext; '; $decrypt = $init_encrypt . ' $_plaintext = ""; $_len = strlen($_text); $_iv = $self->decryptIV; for ($_i = 0; $_i < $_len; ++$_i) { $in = $_iv; '.$encrypt_block.' $_plaintext.= $_text[$_i] ^ $in; $_iv = substr($_iv, 1) . $in[0]; } if ($self->continuousBuffer) { $self->decryptIV = $_iv; } return $_plaintext; '; break; case self::MODE_OFB: $encrypt = $init_encrypt . ' $_ciphertext = ""; $_plaintext_len = strlen($_text); $_xor = $self->encryptIV; $_buffer = &$self->enbuffer; if (strlen($_buffer["xor"])) { for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { $_block = substr($_text, $_i, '.$block_size.'); if (strlen($_block) > strlen($_buffer["xor"])) { $in = $_xor; '.$encrypt_block.' $_xor = $in; $_buffer["xor"].= $_xor; } $_key = $self->_string_shift($_buffer["xor"], '.$block_size.'); $_ciphertext.= $_block ^ $_key; } } else { for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { $in = $_xor; '.$encrypt_block.' $_xor = $in; $_ciphertext.= substr($_text, $_i, '.$block_size.') ^ $_xor; } $_key = $_xor; } if ($self->continuousBuffer) { $self->encryptIV = $_xor; if ($_start = $_plaintext_len % '.$block_size.') { $_buffer["xor"] = substr($_key, $_start) . $_buffer["xor"]; } } return $_ciphertext; '; $decrypt = $init_encrypt . ' $_plaintext = ""; $_ciphertext_len = strlen($_text); $_xor = $self->decryptIV; $_buffer = &$self->debuffer; if (strlen($_buffer["xor"])) { for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { $_block = substr($_text, $_i, '.$block_size.'); if (strlen($_block) > strlen($_buffer["xor"])) { $in = $_xor; '.$encrypt_block.' $_xor = $in; $_buffer["xor"].= $_xor; } $_key = $self->_string_shift($_buffer["xor"], '.$block_size.'); $_plaintext.= $_block ^ $_key; } } else { for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { $in = $_xor; '.$encrypt_block.' $_xor = $in; $_plaintext.= substr($_text, $_i, '.$block_size.') ^ $_xor; } $_key = $_xor; } if ($self->continuousBuffer) { $self->decryptIV = $_xor; if ($_start = $_ciphertext_len % '.$block_size.') { $_buffer["xor"] = substr($_key, $_start) . $_buffer["xor"]; } } return $_plaintext; '; break; case self::MODE_STREAM: $encrypt = $init_encrypt . ' $_ciphertext = ""; '.$encrypt_block.' return $_ciphertext; '; $decrypt = $init_decrypt . ' $_plaintext = ""; '.$decrypt_block.' return $_plaintext; '; break; // case self::MODE_CBC: default: $encrypt = $init_encrypt . ' $_ciphertext = ""; $_plaintext_len = strlen($_text); $in = $self->encryptIV; for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') { $in = substr($_text, $_i, '.$block_size.') ^ $in; '.$encrypt_block.' $_ciphertext.= $in; } if ($self->continuousBuffer) { $self->encryptIV = $in; } return $_ciphertext; '; $decrypt = $init_decrypt . ' $_plaintext = ""; $_text = str_pad($_text, strlen($_text) + ('.$block_size.' - strlen($_text) % '.$block_size.') % '.$block_size.', chr(0)); $_ciphertext_len = strlen($_text); $_iv = $self->decryptIV; for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') { $in = $_block = substr($_text, $_i, '.$block_size.'); '.$decrypt_block.' $_plaintext.= $in ^ $_iv; $_iv = $_block; } if ($self->continuousBuffer) { $self->decryptIV = $_iv; } return $self->_unpad($_plaintext); '; break; } // Create the $inline function and return its name as string. Ready to run! eval('$func = function ($_action, &$self, $_text) { ' . $init_crypt . 'if ($_action == "encrypt") { ' . $encrypt . ' } else { ' . $decrypt . ' } };'); return $func; } /** * Holds the lambda_functions table (classwide) * * Each name of the lambda function, created from * _setupInlineCrypt() && _createInlineCryptFunction() * is stored, classwide (!), here for reusing. * * The string-based index of $function is a classwide * unique value representing, at least, the $mode of * operation (or more... depends of the optimizing level) * for which $mode the lambda function was created. * * @access private * @return array &$functions */ function &_getLambdaFunctions() { static $functions = array(); return $functions; } /** * Generates a digest from $bytes * * @see self::_setupInlineCrypt() * @access private * @param string $bytes * @return string */ function _hashInlineCryptFunction($bytes) { if (!isset(self::$WHIRLPOOL_AVAILABLE)) { self::$WHIRLPOOL_AVAILABLE = extension_loaded('hash') && in_array('whirlpool', hash_algos()); } $result = ''; $hash = $bytes; switch (true) { case self::$WHIRLPOOL_AVAILABLE: foreach (str_split($bytes, 64) as $t) { $hash = hash('whirlpool', $hash, true); $result .= $t ^ $hash; } return $result . hash('whirlpool', $hash, true); default: $len = strlen($bytes); for ($i = 0; $i < $len; $i+=20) { $t = substr($bytes, $i, 20); $hash = pack('H*', sha1($hash)); $result .= $t ^ $hash; } return $result . pack('H*', sha1($hash)); } } /** * Convert float to int * * On ARM CPUs converting floats to ints doesn't always work * * @access private * @param string $x * @return int */ function safe_intval($x) { if (is_int($x)) { return $x; } return (fmod($x, 0x80000000) & 0x7FFFFFFF) | ((fmod(floor($x / 0x80000000), 2) & 1) << 31); } /** * eval()'able string for in-line float to int * * @access private * @return string */ function safe_intval_inline() { if (CRYPT_BASE_USE_REG_INTVAL) { return PHP_INT_SIZE == 4 ? 'intval(%s)' : '%s'; } $safeint = '(is_int($temp = %s) ? $temp : (fmod($temp, 0x80000000) & 0x7FFFFFFF) | '; return $safeint . '((fmod(floor($temp / 0x80000000), 2) & 1) << 31))'; } /** * Dummy error handler to suppress mcrypt errors * * @access private */ function do_nothing() { } /** * Is the continuous buffer enabled? * * @access public * @return boolean */ function continuousBufferEnabled() { return $this->continuousBuffer; } } vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php000064400000121743147400355670017321 0ustar00 * setKey('abcdefghijklmnop'); * * $size = 10 * 1024; * $plaintext = ''; * for ($i = 0; $i < $size; $i++) { * $plaintext.= 'a'; * } * * echo $rijndael->decrypt($rijndael->encrypt($plaintext)); * ?> * * * @category Crypt * @package Rijndael * @author Jim Wigginton * @copyright 2008 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; /** * Pure-PHP implementation of Rijndael. * * @package Rijndael * @author Jim Wigginton * @access public */ class Rijndael extends Base { /** * The mcrypt specific name of the cipher * * Mcrypt is useable for 128/192/256-bit $block_size/$key_length. For 160/224 not. * \phpseclib\Crypt\Rijndael determines automatically whether mcrypt is useable * or not for the current $block_size/$key_length. * In case of, $cipher_name_mcrypt will be set dynamically at run time accordingly. * * @see \phpseclib\Crypt\Base::cipher_name_mcrypt * @see \phpseclib\Crypt\Base::engine * @see self::isValidEngine() * @var string * @access private */ var $cipher_name_mcrypt = 'rijndael-128'; /** * The default salt used by setPassword() * * @see \phpseclib\Crypt\Base::password_default_salt * @see \phpseclib\Crypt\Base::setPassword() * @var string * @access private */ var $password_default_salt = 'phpseclib'; /** * The Key Schedule * * @see self::_setup() * @var array * @access private */ var $w; /** * The Inverse Key Schedule * * @see self::_setup() * @var array * @access private */ var $dw; /** * The Block Length divided by 32 * * @see self::setBlockLength() * @var int * @access private * @internal The max value is 256 / 32 = 8, the min value is 128 / 32 = 4. Exists in conjunction with $block_size * because the encryption / decryption / key schedule creation requires this number and not $block_size. We could * derive this from $block_size or vice versa, but that'd mean we'd have to do multiple shift operations, so in lieu * of that, we'll just precompute it once. */ var $Nb = 4; /** * The Key Length (in bytes) * * @see self::setKeyLength() * @var int * @access private * @internal The max value is 256 / 8 = 32, the min value is 128 / 8 = 16. Exists in conjunction with $Nk * because the encryption / decryption / key schedule creation requires this number and not $key_length. We could * derive this from $key_length or vice versa, but that'd mean we'd have to do multiple shift operations, so in lieu * of that, we'll just precompute it once. */ var $key_length = 16; /** * The Key Length divided by 32 * * @see self::setKeyLength() * @var int * @access private * @internal The max value is 256 / 32 = 8, the min value is 128 / 32 = 4 */ var $Nk = 4; /** * The Number of Rounds * * @var int * @access private * @internal The max value is 14, the min value is 10. */ var $Nr; /** * Shift offsets * * @var array * @access private */ var $c; /** * Holds the last used key- and block_size information * * @var array * @access private */ var $kl; /** * Sets the key length. * * Valid key lengths are 128, 160, 192, 224, and 256. If the length is less than 128, it will be rounded up to * 128. If the length is greater than 128 and invalid, it will be rounded down to the closest valid amount. * * Note: phpseclib extends Rijndael (and AES) for using 160- and 224-bit keys but they are officially not defined * and the most (if not all) implementations are not able using 160/224-bit keys but round/pad them up to * 192/256 bits as, for example, mcrypt will do. * * That said, if you want be compatible with other Rijndael and AES implementations, * you should not setKeyLength(160) or setKeyLength(224). * * Additional: In case of 160- and 224-bit keys, phpseclib will/can, for that reason, not use * the mcrypt php extension, even if available. * This results then in slower encryption. * * @access public * @param int $length */ function setKeyLength($length) { switch (true) { case $length <= 128: $this->key_length = 16; break; case $length <= 160: $this->key_length = 20; break; case $length <= 192: $this->key_length = 24; break; case $length <= 224: $this->key_length = 28; break; default: $this->key_length = 32; } parent::setKeyLength($length); } /** * Sets the block length * * Valid block lengths are 128, 160, 192, 224, and 256. If the length is less than 128, it will be rounded up to * 128. If the length is greater than 128 and invalid, it will be rounded down to the closest valid amount. * * @access public * @param int $length */ function setBlockLength($length) { $length >>= 5; if ($length > 8) { $length = 8; } elseif ($length < 4) { $length = 4; } $this->Nb = $length; $this->block_size = $length << 2; $this->changed = true; $this->_setEngine(); } /** * Test for engine validity * * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() * * @see \phpseclib\Crypt\Base::__construct() * @param int $engine * @access public * @return bool */ function isValidEngine($engine) { switch ($engine) { case self::ENGINE_OPENSSL: if ($this->block_size != 16) { return false; } $this->cipher_name_openssl_ecb = 'aes-' . ($this->key_length << 3) . '-ecb'; $this->cipher_name_openssl = 'aes-' . ($this->key_length << 3) . '-' . $this->_openssl_translate_mode(); break; case self::ENGINE_MCRYPT: $this->cipher_name_mcrypt = 'rijndael-' . ($this->block_size << 3); if ($this->key_length % 8) { // is it a 160/224-bit key? // mcrypt is not usable for them, only for 128/192/256-bit keys return false; } } return parent::isValidEngine($engine); } /** * Encrypts a block * * @access private * @param string $in * @return string */ function _encryptBlock($in) { static $tables; if (empty($tables)) { $tables = &$this->_getTables(); } $t0 = $tables[0]; $t1 = $tables[1]; $t2 = $tables[2]; $t3 = $tables[3]; $sbox = $tables[4]; $state = array(); $words = unpack('N*', $in); $c = $this->c; $w = $this->w; $Nb = $this->Nb; $Nr = $this->Nr; // addRoundKey $wc = $Nb - 1; foreach ($words as $word) { $state[] = $word ^ $w[++$wc]; } // fips-197.pdf#page=19, "Figure 5. Pseudo Code for the Cipher", states that this loop has four components - // subBytes, shiftRows, mixColumns, and addRoundKey. fips-197.pdf#page=30, "Implementation Suggestions Regarding // Various Platforms" suggests that performs enhanced implementations are described in Rijndael-ammended.pdf. // Rijndael-ammended.pdf#page=20, "Implementation aspects / 32-bit processor", discusses such an optimization. // Unfortunately, the description given there is not quite correct. Per aes.spec.v316.pdf#page=19 [1], // equation (7.4.7) is supposed to use addition instead of subtraction, so we'll do that here, as well. // [1] http://fp.gladman.plus.com/cryptography_technology/rijndael/aes.spec.v316.pdf $temp = array(); for ($round = 1; $round < $Nr; ++$round) { $i = 0; // $c[0] == 0 $j = $c[1]; $k = $c[2]; $l = $c[3]; while ($i < $Nb) { $temp[$i] = $t0[$state[$i] >> 24 & 0x000000FF] ^ $t1[$state[$j] >> 16 & 0x000000FF] ^ $t2[$state[$k] >> 8 & 0x000000FF] ^ $t3[$state[$l] & 0x000000FF] ^ $w[++$wc]; ++$i; $j = ($j + 1) % $Nb; $k = ($k + 1) % $Nb; $l = ($l + 1) % $Nb; } $state = $temp; } // subWord for ($i = 0; $i < $Nb; ++$i) { $state[$i] = $sbox[$state[$i] & 0x000000FF] | ($sbox[$state[$i] >> 8 & 0x000000FF] << 8) | ($sbox[$state[$i] >> 16 & 0x000000FF] << 16) | ($sbox[$state[$i] >> 24 & 0x000000FF] << 24); } // shiftRows + addRoundKey $i = 0; // $c[0] == 0 $j = $c[1]; $k = $c[2]; $l = $c[3]; while ($i < $Nb) { $temp[$i] = ($state[$i] & intval(0xFF000000)) ^ ($state[$j] & 0x00FF0000) ^ ($state[$k] & 0x0000FF00) ^ ($state[$l] & 0x000000FF) ^ $w[$i]; ++$i; $j = ($j + 1) % $Nb; $k = ($k + 1) % $Nb; $l = ($l + 1) % $Nb; } switch ($Nb) { case 8: return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6], $temp[7]); case 7: return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6]); case 6: return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5]); case 5: return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4]); default: return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3]); } } /** * Decrypts a block * * @access private * @param string $in * @return string */ function _decryptBlock($in) { static $invtables; if (empty($invtables)) { $invtables = &$this->_getInvTables(); } $dt0 = $invtables[0]; $dt1 = $invtables[1]; $dt2 = $invtables[2]; $dt3 = $invtables[3]; $isbox = $invtables[4]; $state = array(); $words = unpack('N*', $in); $c = $this->c; $dw = $this->dw; $Nb = $this->Nb; $Nr = $this->Nr; // addRoundKey $wc = $Nb - 1; foreach ($words as $word) { $state[] = $word ^ $dw[++$wc]; } $temp = array(); for ($round = $Nr - 1; $round > 0; --$round) { $i = 0; // $c[0] == 0 $j = $Nb - $c[1]; $k = $Nb - $c[2]; $l = $Nb - $c[3]; while ($i < $Nb) { $temp[$i] = $dt0[$state[$i] >> 24 & 0x000000FF] ^ $dt1[$state[$j] >> 16 & 0x000000FF] ^ $dt2[$state[$k] >> 8 & 0x000000FF] ^ $dt3[$state[$l] & 0x000000FF] ^ $dw[++$wc]; ++$i; $j = ($j + 1) % $Nb; $k = ($k + 1) % $Nb; $l = ($l + 1) % $Nb; } $state = $temp; } // invShiftRows + invSubWord + addRoundKey $i = 0; // $c[0] == 0 $j = $Nb - $c[1]; $k = $Nb - $c[2]; $l = $Nb - $c[3]; while ($i < $Nb) { $word = ($state[$i] & intval(0xFF000000)) | ($state[$j] & 0x00FF0000) | ($state[$k] & 0x0000FF00) | ($state[$l] & 0x000000FF); $temp[$i] = $dw[$i] ^ ($isbox[$word & 0x000000FF] | ($isbox[$word >> 8 & 0x000000FF] << 8) | ($isbox[$word >> 16 & 0x000000FF] << 16) | ($isbox[$word >> 24 & 0x000000FF] << 24)); ++$i; $j = ($j + 1) % $Nb; $k = ($k + 1) % $Nb; $l = ($l + 1) % $Nb; } switch ($Nb) { case 8: return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6], $temp[7]); case 7: return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6]); case 6: return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5]); case 5: return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4]); default: return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3]); } } /** * Setup the key (expansion) * * @see \phpseclib\Crypt\Base::_setupKey() * @access private */ function _setupKey() { // Each number in $rcon is equal to the previous number multiplied by two in Rijndael's finite field. // See http://en.wikipedia.org/wiki/Finite_field_arithmetic#Multiplicative_inverse static $rcon; if (!isset($rcon)) { $rcon = array(0, 0x01000000, 0x02000000, 0x04000000, 0x08000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000, 0x1B000000, 0x36000000, 0x6C000000, 0xD8000000, 0xAB000000, 0x4D000000, 0x9A000000, 0x2F000000, 0x5E000000, 0xBC000000, 0x63000000, 0xC6000000, 0x97000000, 0x35000000, 0x6A000000, 0xD4000000, 0xB3000000, 0x7D000000, 0xFA000000, 0xEF000000, 0xC5000000, 0x91000000 ); $rcon = array_map('intval', $rcon); } if (isset($this->kl['key']) && $this->key === $this->kl['key'] && $this->key_length === $this->kl['key_length'] && $this->block_size === $this->kl['block_size']) { // already expanded return; } $this->kl = array('key' => $this->key, 'key_length' => $this->key_length, 'block_size' => $this->block_size); $this->Nk = $this->key_length >> 2; // see Rijndael-ammended.pdf#page=44 $this->Nr = max($this->Nk, $this->Nb) + 6; // shift offsets for Nb = 5, 7 are defined in Rijndael-ammended.pdf#page=44, // "Table 8: Shift offsets in Shiftrow for the alternative block lengths" // shift offsets for Nb = 4, 6, 8 are defined in Rijndael-ammended.pdf#page=14, // "Table 2: Shift offsets for different block lengths" switch ($this->Nb) { case 4: case 5: case 6: $this->c = array(0, 1, 2, 3); break; case 7: $this->c = array(0, 1, 2, 4); break; case 8: $this->c = array(0, 1, 3, 4); } $w = array_values(unpack('N*words', $this->key)); $length = $this->Nb * ($this->Nr + 1); for ($i = $this->Nk; $i < $length; $i++) { $temp = $w[$i - 1]; if ($i % $this->Nk == 0) { // according to , "the size of an integer is platform-dependent". // on a 32-bit machine, it's 32-bits, and on a 64-bit machine, it's 64-bits. on a 32-bit machine, // 0xFFFFFFFF << 8 == 0xFFFFFF00, but on a 64-bit machine, it equals 0xFFFFFFFF00. as such, doing 'and' // with 0xFFFFFFFF (or 0xFFFFFF00) on a 32-bit machine is unnecessary, but on a 64-bit machine, it is. $temp = (($temp << 8) & intval(0xFFFFFF00)) | (($temp >> 24) & 0x000000FF); // rotWord $temp = $this->_subWord($temp) ^ $rcon[$i / $this->Nk]; } elseif ($this->Nk > 6 && $i % $this->Nk == 4) { $temp = $this->_subWord($temp); } $w[$i] = $w[$i - $this->Nk] ^ $temp; } // convert the key schedule from a vector of $Nb * ($Nr + 1) length to a matrix with $Nr + 1 rows and $Nb columns // and generate the inverse key schedule. more specifically, // according to (section 5.3.3), // "The key expansion for the Inverse Cipher is defined as follows: // 1. Apply the Key Expansion. // 2. Apply InvMixColumn to all Round Keys except the first and the last one." // also, see fips-197.pdf#page=27, "5.3.5 Equivalent Inverse Cipher" list($dt0, $dt1, $dt2, $dt3) = $this->_getInvTables(); $temp = $this->w = $this->dw = array(); for ($i = $row = $col = 0; $i < $length; $i++, $col++) { if ($col == $this->Nb) { if ($row == 0) { $this->dw[0] = $this->w[0]; } else { // subWord + invMixColumn + invSubWord = invMixColumn $j = 0; while ($j < $this->Nb) { $dw = $this->_subWord($this->w[$row][$j]); $temp[$j] = $dt0[$dw >> 24 & 0x000000FF] ^ $dt1[$dw >> 16 & 0x000000FF] ^ $dt2[$dw >> 8 & 0x000000FF] ^ $dt3[$dw & 0x000000FF]; $j++; } $this->dw[$row] = $temp; } $col = 0; $row++; } $this->w[$row][$col] = $w[$i]; } $this->dw[$row] = $this->w[$row]; // Converting to 1-dim key arrays (both ascending) $this->dw = array_reverse($this->dw); $w = array_pop($this->w); $dw = array_pop($this->dw); foreach ($this->w as $r => $wr) { foreach ($wr as $c => $wc) { $w[] = $wc; $dw[] = $this->dw[$r][$c]; } } $this->w = $w; $this->dw = $dw; } /** * Performs S-Box substitutions * * @access private * @param int $word */ function _subWord($word) { static $sbox; if (empty($sbox)) { list(, , , , $sbox) = $this->_getTables(); } return $sbox[$word & 0x000000FF] | ($sbox[$word >> 8 & 0x000000FF] << 8) | ($sbox[$word >> 16 & 0x000000FF] << 16) | ($sbox[$word >> 24 & 0x000000FF] << 24); } /** * Provides the mixColumns and sboxes tables * * @see self::_encryptBlock() * @see self::_setupInlineCrypt() * @see self::_subWord() * @access private * @return array &$tables */ function &_getTables() { static $tables; if (empty($tables)) { // according to (section 5.2.1), // precomputed tables can be used in the mixColumns phase. in that example, they're assigned t0...t3, so // those are the names we'll use. $t3 = array_map('intval', array( // with array_map('intval', ...) we ensure we have only int's and not // some slower floats converted by php automatically on high values 0x6363A5C6, 0x7C7C84F8, 0x777799EE, 0x7B7B8DF6, 0xF2F20DFF, 0x6B6BBDD6, 0x6F6FB1DE, 0xC5C55491, 0x30305060, 0x01010302, 0x6767A9CE, 0x2B2B7D56, 0xFEFE19E7, 0xD7D762B5, 0xABABE64D, 0x76769AEC, 0xCACA458F, 0x82829D1F, 0xC9C94089, 0x7D7D87FA, 0xFAFA15EF, 0x5959EBB2, 0x4747C98E, 0xF0F00BFB, 0xADADEC41, 0xD4D467B3, 0xA2A2FD5F, 0xAFAFEA45, 0x9C9CBF23, 0xA4A4F753, 0x727296E4, 0xC0C05B9B, 0xB7B7C275, 0xFDFD1CE1, 0x9393AE3D, 0x26266A4C, 0x36365A6C, 0x3F3F417E, 0xF7F702F5, 0xCCCC4F83, 0x34345C68, 0xA5A5F451, 0xE5E534D1, 0xF1F108F9, 0x717193E2, 0xD8D873AB, 0x31315362, 0x15153F2A, 0x04040C08, 0xC7C75295, 0x23236546, 0xC3C35E9D, 0x18182830, 0x9696A137, 0x05050F0A, 0x9A9AB52F, 0x0707090E, 0x12123624, 0x80809B1B, 0xE2E23DDF, 0xEBEB26CD, 0x2727694E, 0xB2B2CD7F, 0x75759FEA, 0x09091B12, 0x83839E1D, 0x2C2C7458, 0x1A1A2E34, 0x1B1B2D36, 0x6E6EB2DC, 0x5A5AEEB4, 0xA0A0FB5B, 0x5252F6A4, 0x3B3B4D76, 0xD6D661B7, 0xB3B3CE7D, 0x29297B52, 0xE3E33EDD, 0x2F2F715E, 0x84849713, 0x5353F5A6, 0xD1D168B9, 0x00000000, 0xEDED2CC1, 0x20206040, 0xFCFC1FE3, 0xB1B1C879, 0x5B5BEDB6, 0x6A6ABED4, 0xCBCB468D, 0xBEBED967, 0x39394B72, 0x4A4ADE94, 0x4C4CD498, 0x5858E8B0, 0xCFCF4A85, 0xD0D06BBB, 0xEFEF2AC5, 0xAAAAE54F, 0xFBFB16ED, 0x4343C586, 0x4D4DD79A, 0x33335566, 0x85859411, 0x4545CF8A, 0xF9F910E9, 0x02020604, 0x7F7F81FE, 0x5050F0A0, 0x3C3C4478, 0x9F9FBA25, 0xA8A8E34B, 0x5151F3A2, 0xA3A3FE5D, 0x4040C080, 0x8F8F8A05, 0x9292AD3F, 0x9D9DBC21, 0x38384870, 0xF5F504F1, 0xBCBCDF63, 0xB6B6C177, 0xDADA75AF, 0x21216342, 0x10103020, 0xFFFF1AE5, 0xF3F30EFD, 0xD2D26DBF, 0xCDCD4C81, 0x0C0C1418, 0x13133526, 0xECEC2FC3, 0x5F5FE1BE, 0x9797A235, 0x4444CC88, 0x1717392E, 0xC4C45793, 0xA7A7F255, 0x7E7E82FC, 0x3D3D477A, 0x6464ACC8, 0x5D5DE7BA, 0x19192B32, 0x737395E6, 0x6060A0C0, 0x81819819, 0x4F4FD19E, 0xDCDC7FA3, 0x22226644, 0x2A2A7E54, 0x9090AB3B, 0x8888830B, 0x4646CA8C, 0xEEEE29C7, 0xB8B8D36B, 0x14143C28, 0xDEDE79A7, 0x5E5EE2BC, 0x0B0B1D16, 0xDBDB76AD, 0xE0E03BDB, 0x32325664, 0x3A3A4E74, 0x0A0A1E14, 0x4949DB92, 0x06060A0C, 0x24246C48, 0x5C5CE4B8, 0xC2C25D9F, 0xD3D36EBD, 0xACACEF43, 0x6262A6C4, 0x9191A839, 0x9595A431, 0xE4E437D3, 0x79798BF2, 0xE7E732D5, 0xC8C8438B, 0x3737596E, 0x6D6DB7DA, 0x8D8D8C01, 0xD5D564B1, 0x4E4ED29C, 0xA9A9E049, 0x6C6CB4D8, 0x5656FAAC, 0xF4F407F3, 0xEAEA25CF, 0x6565AFCA, 0x7A7A8EF4, 0xAEAEE947, 0x08081810, 0xBABAD56F, 0x787888F0, 0x25256F4A, 0x2E2E725C, 0x1C1C2438, 0xA6A6F157, 0xB4B4C773, 0xC6C65197, 0xE8E823CB, 0xDDDD7CA1, 0x74749CE8, 0x1F1F213E, 0x4B4BDD96, 0xBDBDDC61, 0x8B8B860D, 0x8A8A850F, 0x707090E0, 0x3E3E427C, 0xB5B5C471, 0x6666AACC, 0x4848D890, 0x03030506, 0xF6F601F7, 0x0E0E121C, 0x6161A3C2, 0x35355F6A, 0x5757F9AE, 0xB9B9D069, 0x86869117, 0xC1C15899, 0x1D1D273A, 0x9E9EB927, 0xE1E138D9, 0xF8F813EB, 0x9898B32B, 0x11113322, 0x6969BBD2, 0xD9D970A9, 0x8E8E8907, 0x9494A733, 0x9B9BB62D, 0x1E1E223C, 0x87879215, 0xE9E920C9, 0xCECE4987, 0x5555FFAA, 0x28287850, 0xDFDF7AA5, 0x8C8C8F03, 0xA1A1F859, 0x89898009, 0x0D0D171A, 0xBFBFDA65, 0xE6E631D7, 0x4242C684, 0x6868B8D0, 0x4141C382, 0x9999B029, 0x2D2D775A, 0x0F0F111E, 0xB0B0CB7B, 0x5454FCA8, 0xBBBBD66D, 0x16163A2C )); foreach ($t3 as $t3i) { $t0[] = (($t3i << 24) & intval(0xFF000000)) | (($t3i >> 8) & 0x00FFFFFF); $t1[] = (($t3i << 16) & intval(0xFFFF0000)) | (($t3i >> 16) & 0x0000FFFF); $t2[] = (($t3i << 8) & intval(0xFFFFFF00)) | (($t3i >> 24) & 0x000000FF); } $tables = array( // The Precomputed mixColumns tables t0 - t3 $t0, $t1, $t2, $t3, // The SubByte S-Box array( 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75, 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8, 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16 ) ); } return $tables; } /** * Provides the inverse mixColumns and inverse sboxes tables * * @see self::_decryptBlock() * @see self::_setupInlineCrypt() * @see self::_setupKey() * @access private * @return array &$tables */ function &_getInvTables() { static $tables; if (empty($tables)) { $dt3 = array_map('intval', array( 0xF4A75051, 0x4165537E, 0x17A4C31A, 0x275E963A, 0xAB6BCB3B, 0x9D45F11F, 0xFA58ABAC, 0xE303934B, 0x30FA5520, 0x766DF6AD, 0xCC769188, 0x024C25F5, 0xE5D7FC4F, 0x2ACBD7C5, 0x35448026, 0x62A38FB5, 0xB15A49DE, 0xBA1B6725, 0xEA0E9845, 0xFEC0E15D, 0x2F7502C3, 0x4CF01281, 0x4697A38D, 0xD3F9C66B, 0x8F5FE703, 0x929C9515, 0x6D7AEBBF, 0x5259DA95, 0xBE832DD4, 0x7421D358, 0xE0692949, 0xC9C8448E, 0xC2896A75, 0x8E7978F4, 0x583E6B99, 0xB971DD27, 0xE14FB6BE, 0x88AD17F0, 0x20AC66C9, 0xCE3AB47D, 0xDF4A1863, 0x1A3182E5, 0x51336097, 0x537F4562, 0x6477E0B1, 0x6BAE84BB, 0x81A01CFE, 0x082B94F9, 0x48685870, 0x45FD198F, 0xDE6C8794, 0x7BF8B752, 0x73D323AB, 0x4B02E272, 0x1F8F57E3, 0x55AB2A66, 0xEB2807B2, 0xB5C2032F, 0xC57B9A86, 0x3708A5D3, 0x2887F230, 0xBFA5B223, 0x036ABA02, 0x16825CED, 0xCF1C2B8A, 0x79B492A7, 0x07F2F0F3, 0x69E2A14E, 0xDAF4CD65, 0x05BED506, 0x34621FD1, 0xA6FE8AC4, 0x2E539D34, 0xF355A0A2, 0x8AE13205, 0xF6EB75A4, 0x83EC390B, 0x60EFAA40, 0x719F065E, 0x6E1051BD, 0x218AF93E, 0xDD063D96, 0x3E05AEDD, 0xE6BD464D, 0x548DB591, 0xC45D0571, 0x06D46F04, 0x5015FF60, 0x98FB2419, 0xBDE997D6, 0x4043CC89, 0xD99E7767, 0xE842BDB0, 0x898B8807, 0x195B38E7, 0xC8EEDB79, 0x7C0A47A1, 0x420FE97C, 0x841EC9F8, 0x00000000, 0x80868309, 0x2BED4832, 0x1170AC1E, 0x5A724E6C, 0x0EFFFBFD, 0x8538560F, 0xAED51E3D, 0x2D392736, 0x0FD9640A, 0x5CA62168, 0x5B54D19B, 0x362E3A24, 0x0A67B10C, 0x57E70F93, 0xEE96D2B4, 0x9B919E1B, 0xC0C54F80, 0xDC20A261, 0x774B695A, 0x121A161C, 0x93BA0AE2, 0xA02AE5C0, 0x22E0433C, 0x1B171D12, 0x090D0B0E, 0x8BC7ADF2, 0xB6A8B92D, 0x1EA9C814, 0xF1198557, 0x75074CAF, 0x99DDBBEE, 0x7F60FDA3, 0x01269FF7, 0x72F5BC5C, 0x663BC544, 0xFB7E345B, 0x4329768B, 0x23C6DCCB, 0xEDFC68B6, 0xE4F163B8, 0x31DCCAD7, 0x63851042, 0x97224013, 0xC6112084, 0x4A247D85, 0xBB3DF8D2, 0xF93211AE, 0x29A16DC7, 0x9E2F4B1D, 0xB230F3DC, 0x8652EC0D, 0xC1E3D077, 0xB3166C2B, 0x70B999A9, 0x9448FA11, 0xE9642247, 0xFC8CC4A8, 0xF03F1AA0, 0x7D2CD856, 0x3390EF22, 0x494EC787, 0x38D1C1D9, 0xCAA2FE8C, 0xD40B3698, 0xF581CFA6, 0x7ADE28A5, 0xB78E26DA, 0xADBFA43F, 0x3A9DE42C, 0x78920D50, 0x5FCC9B6A, 0x7E466254, 0x8D13C2F6, 0xD8B8E890, 0x39F75E2E, 0xC3AFF582, 0x5D80BE9F, 0xD0937C69, 0xD52DA96F, 0x2512B3CF, 0xAC993BC8, 0x187DA710, 0x9C636EE8, 0x3BBB7BDB, 0x267809CD, 0x5918F46E, 0x9AB701EC, 0x4F9AA883, 0x956E65E6, 0xFFE67EAA, 0xBCCF0821, 0x15E8E6EF, 0xE79BD9BA, 0x6F36CE4A, 0x9F09D4EA, 0xB07CD629, 0xA4B2AF31, 0x3F23312A, 0xA59430C6, 0xA266C035, 0x4EBC3774, 0x82CAA6FC, 0x90D0B0E0, 0xA7D81533, 0x04984AF1, 0xECDAF741, 0xCD500E7F, 0x91F62F17, 0x4DD68D76, 0xEFB04D43, 0xAA4D54CC, 0x9604DFE4, 0xD1B5E39E, 0x6A881B4C, 0x2C1FB8C1, 0x65517F46, 0x5EEA049D, 0x8C355D01, 0x877473FA, 0x0B412EFB, 0x671D5AB3, 0xDBD25292, 0x105633E9, 0xD647136D, 0xD7618C9A, 0xA10C7A37, 0xF8148E59, 0x133C89EB, 0xA927EECE, 0x61C935B7, 0x1CE5EDE1, 0x47B13C7A, 0xD2DF599C, 0xF2733F55, 0x14CE7918, 0xC737BF73, 0xF7CDEA53, 0xFDAA5B5F, 0x3D6F14DF, 0x44DB8678, 0xAFF381CA, 0x68C43EB9, 0x24342C38, 0xA3405FC2, 0x1DC37216, 0xE2250CBC, 0x3C498B28, 0x0D9541FF, 0xA8017139, 0x0CB3DE08, 0xB4E49CD8, 0x56C19064, 0xCB84617B, 0x32B670D5, 0x6C5C7448, 0xB85742D0 )); foreach ($dt3 as $dt3i) { $dt0[] = (($dt3i << 24) & intval(0xFF000000)) | (($dt3i >> 8) & 0x00FFFFFF); $dt1[] = (($dt3i << 16) & intval(0xFFFF0000)) | (($dt3i >> 16) & 0x0000FFFF); $dt2[] = (($dt3i << 8) & intval(0xFFFFFF00)) | (($dt3i >> 24) & 0x000000FF); }; $tables = array( // The Precomputed inverse mixColumns tables dt0 - dt3 $dt0, $dt1, $dt2, $dt3, // The inverse SubByte S-Box array( 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB, 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25, 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA, 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06, 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA, 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E, 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20, 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F, 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D ) ); } return $tables; } /** * Setup the performance-optimized function for de/encrypt() * * @see \phpseclib\Crypt\Base::_setupInlineCrypt() * @access private */ function _setupInlineCrypt() { // Note: _setupInlineCrypt() will be called only if $this->changed === true // So here we are'nt under the same heavy timing-stress as we are in _de/encryptBlock() or de/encrypt(). // However...the here generated function- $code, stored as php callback in $this->inline_crypt, must work as fast as even possible. $lambda_functions =& self::_getLambdaFunctions(); // We create max. 10 hi-optimized code for memory reason. Means: For each $key one ultra fast inline-crypt function. // (Currently, for Crypt_Rijndael/AES, one generated $lambda_function cost on php5.5@32bit ~80kb unfreeable mem and ~130kb on php5.5@64bit) // After that, we'll still create very fast optimized code but not the hi-ultimative code, for each $mode one. $gen_hi_opt_code = (bool)(count($lambda_functions) < 10); // Generation of a uniqe hash for our generated code $code_hash = "Crypt_Rijndael, {$this->mode}, {$this->Nr}, {$this->Nb}"; if ($gen_hi_opt_code) { $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key); } if (!isset($lambda_functions[$code_hash])) { switch (true) { case $gen_hi_opt_code: // The hi-optimized $lambda_functions will use the key-words hardcoded for better performance. $w = $this->w; $dw = $this->dw; $init_encrypt = ''; $init_decrypt = ''; break; default: for ($i = 0, $cw = count($this->w); $i < $cw; ++$i) { $w[] = '$w[' . $i . ']'; $dw[] = '$dw[' . $i . ']'; } $init_encrypt = '$w = $self->w;'; $init_decrypt = '$dw = $self->dw;'; } $Nr = $this->Nr; $Nb = $this->Nb; $c = $this->c; // Generating encrypt code: $init_encrypt.= ' if (empty($tables)) { $tables = &$self->_getTables(); } $t0 = $tables[0]; $t1 = $tables[1]; $t2 = $tables[2]; $t3 = $tables[3]; $sbox = $tables[4]; '; $s = 'e'; $e = 's'; $wc = $Nb - 1; // Preround: addRoundKey $encrypt_block = '$in = unpack("N*", $in);'."\n"; for ($i = 0; $i < $Nb; ++$i) { $encrypt_block .= '$s'.$i.' = $in['.($i + 1).'] ^ '.$w[++$wc].";\n"; } // Mainrounds: shiftRows + subWord + mixColumns + addRoundKey for ($round = 1; $round < $Nr; ++$round) { list($s, $e) = array($e, $s); for ($i = 0; $i < $Nb; ++$i) { $encrypt_block.= '$'.$e.$i.' = $t0[($'.$s.$i .' >> 24) & 0xff] ^ $t1[($'.$s.(($i + $c[1]) % $Nb).' >> 16) & 0xff] ^ $t2[($'.$s.(($i + $c[2]) % $Nb).' >> 8) & 0xff] ^ $t3[ $'.$s.(($i + $c[3]) % $Nb).' & 0xff] ^ '.$w[++$wc].";\n"; } } // Finalround: subWord + shiftRows + addRoundKey for ($i = 0; $i < $Nb; ++$i) { $encrypt_block.= '$'.$e.$i.' = $sbox[ $'.$e.$i.' & 0xff] | ($sbox[($'.$e.$i.' >> 8) & 0xff] << 8) | ($sbox[($'.$e.$i.' >> 16) & 0xff] << 16) | ($sbox[($'.$e.$i.' >> 24) & 0xff] << 24);'."\n"; } $encrypt_block .= '$in = pack("N*"'."\n"; for ($i = 0; $i < $Nb; ++$i) { $encrypt_block.= ', ($'.$e.$i .' & '.((int)0xFF000000).') ^ ($'.$e.(($i + $c[1]) % $Nb).' & 0x00FF0000 ) ^ ($'.$e.(($i + $c[2]) % $Nb).' & 0x0000FF00 ) ^ ($'.$e.(($i + $c[3]) % $Nb).' & 0x000000FF ) ^ '.$w[$i]."\n"; } $encrypt_block .= ');'; // Generating decrypt code: $init_decrypt.= ' if (empty($invtables)) { $invtables = &$self->_getInvTables(); } $dt0 = $invtables[0]; $dt1 = $invtables[1]; $dt2 = $invtables[2]; $dt3 = $invtables[3]; $isbox = $invtables[4]; '; $s = 'e'; $e = 's'; $wc = $Nb - 1; // Preround: addRoundKey $decrypt_block = '$in = unpack("N*", $in);'."\n"; for ($i = 0; $i < $Nb; ++$i) { $decrypt_block .= '$s'.$i.' = $in['.($i + 1).'] ^ '.$dw[++$wc].';'."\n"; } // Mainrounds: shiftRows + subWord + mixColumns + addRoundKey for ($round = 1; $round < $Nr; ++$round) { list($s, $e) = array($e, $s); for ($i = 0; $i < $Nb; ++$i) { $decrypt_block.= '$'.$e.$i.' = $dt0[($'.$s.$i .' >> 24) & 0xff] ^ $dt1[($'.$s.(($Nb + $i - $c[1]) % $Nb).' >> 16) & 0xff] ^ $dt2[($'.$s.(($Nb + $i - $c[2]) % $Nb).' >> 8) & 0xff] ^ $dt3[ $'.$s.(($Nb + $i - $c[3]) % $Nb).' & 0xff] ^ '.$dw[++$wc].";\n"; } } // Finalround: subWord + shiftRows + addRoundKey for ($i = 0; $i < $Nb; ++$i) { $decrypt_block.= '$'.$e.$i.' = $isbox[ $'.$e.$i.' & 0xff] | ($isbox[($'.$e.$i.' >> 8) & 0xff] << 8) | ($isbox[($'.$e.$i.' >> 16) & 0xff] << 16) | ($isbox[($'.$e.$i.' >> 24) & 0xff] << 24);'."\n"; } $decrypt_block .= '$in = pack("N*"'."\n"; for ($i = 0; $i < $Nb; ++$i) { $decrypt_block.= ', ($'.$e.$i. ' & '.((int)0xFF000000).') ^ ($'.$e.(($Nb + $i - $c[1]) % $Nb).' & 0x00FF0000 ) ^ ($'.$e.(($Nb + $i - $c[2]) % $Nb).' & 0x0000FF00 ) ^ ($'.$e.(($Nb + $i - $c[3]) % $Nb).' & 0x000000FF ) ^ '.$dw[$i]."\n"; } $decrypt_block .= ');'; $lambda_functions[$code_hash] = $this->_createInlineCryptFunction( array( 'init_crypt' => 'static $tables; static $invtables;', 'init_encrypt' => $init_encrypt, 'init_decrypt' => $init_decrypt, 'encrypt_block' => $encrypt_block, 'decrypt_block' => $decrypt_block ) ); } $this->inline_crypt = $lambda_functions[$code_hash]; } } vendor/phpseclib/phpseclib/phpseclib/Crypt/Hash.php000064400000071266147400355670016460 0ustar00 * setKey('abcdefg'); * * echo base64_encode($hash->hash('abcdefg')); * ?> * * * @category Crypt * @package Hash * @author Jim Wigginton * @copyright 2007 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; use phpseclib\Math\BigInteger; /** * Pure-PHP implementations of keyed-hash message authentication codes (HMACs) and various cryptographic hashing functions. * * @package Hash * @author Jim Wigginton * @access public */ class Hash { /**#@+ * @access private * @see \phpseclib\Crypt\Hash::__construct() */ /** * Toggles the internal implementation */ const MODE_INTERNAL = 1; /** * Toggles the mhash() implementation, which has been deprecated on PHP 5.3.0+. */ const MODE_MHASH = 2; /** * Toggles the hash() implementation, which works on PHP 5.1.2+. */ const MODE_HASH = 3; /**#@-*/ /** * Hash Parameter * * @see self::setHash() * @var int * @access private */ var $hashParam; /** * Byte-length of compression blocks / key (Internal HMAC) * * @see self::setAlgorithm() * @var int * @access private */ var $b; /** * Byte-length of hash output (Internal HMAC) * * @see self::setHash() * @var int * @access private */ var $l = false; /** * Hash Algorithm * * @see self::setHash() * @var string * @access private */ var $hash; /** * Key * * @see self::setKey() * @var string * @access private */ var $key = false; /** * Computed Key * * @see self::_computeKey() * @var string * @access private */ var $computedKey = false; /** * Outer XOR (Internal HMAC) * * @see self::setKey() * @var string * @access private */ var $opad; /** * Inner XOR (Internal HMAC) * * @see self::setKey() * @var string * @access private */ var $ipad; /** * Engine * * @see self::setHash() * @var string * @access private */ var $engine; /** * Default Constructor. * * @param string $hash * @return \phpseclib\Crypt\Hash * @access public */ function __construct($hash = 'sha1') { if (!defined('CRYPT_HASH_MODE')) { switch (true) { case extension_loaded('hash'): define('CRYPT_HASH_MODE', self::MODE_HASH); break; case extension_loaded('mhash'): define('CRYPT_HASH_MODE', self::MODE_MHASH); break; default: define('CRYPT_HASH_MODE', self::MODE_INTERNAL); } } $this->setHash($hash); } /** * Sets the key for HMACs * * Keys can be of any length. * * @access public * @param string $key */ function setKey($key = false) { $this->key = $key; $this->_computeKey(); } /** * Pre-compute the key used by the HMAC * * Quoting http://tools.ietf.org/html/rfc2104#section-2, "Applications that use keys longer than B bytes * will first hash the key using H and then use the resultant L byte string as the actual key to HMAC." * * As documented in https://www.reddit.com/r/PHP/comments/9nct2l/symfonypolyfill_hash_pbkdf2_correct_fix_for/ * when doing an HMAC multiple times it's faster to compute the hash once instead of computing it during * every call * * @access private */ function _computeKey() { if ($this->key === false) { $this->computedKey = false; return; } if (strlen($this->key) <= $this->b) { $this->computedKey = $this->key; return; } switch ($this->engine) { case self::MODE_MHASH: $this->computedKey = mhash($this->hash, $this->key); break; case self::MODE_HASH: $this->computedKey = hash($this->hash, $this->key, true); break; case self::MODE_INTERNAL: $this->computedKey = call_user_func($this->hash, $this->key); } } /** * Gets the hash function. * * As set by the constructor or by the setHash() method. * * @access public * @return string */ function getHash() { return $this->hashParam; } /** * Sets the hash function. * * @access public * @param string $hash */ function setHash($hash) { $this->hashParam = $hash = strtolower($hash); switch ($hash) { case 'md5-96': case 'sha1-96': case 'sha256-96': case 'sha512-96': $hash = substr($hash, 0, -3); $this->l = 12; // 96 / 8 = 12 break; case 'md2': case 'md5': $this->l = 16; break; case 'sha1': $this->l = 20; break; case 'sha256': $this->l = 32; break; case 'sha384': $this->l = 48; break; case 'sha512': $this->l = 64; } switch ($hash) { case 'md2-96': case 'md2': $this->b = 16; case 'md5-96': case 'sha1-96': case 'sha224-96': case 'sha256-96': case 'md2': case 'md5': case 'sha1': case 'sha224': case 'sha256': $this->b = 64; break; default: $this->b = 128; } switch ($hash) { case 'md2': $this->engine = CRYPT_HASH_MODE == self::MODE_HASH && in_array('md2', hash_algos()) ? self::MODE_HASH : self::MODE_INTERNAL; break; case 'sha384': case 'sha512': $this->engine = CRYPT_HASH_MODE == self::MODE_MHASH ? self::MODE_INTERNAL : CRYPT_HASH_MODE; break; default: $this->engine = CRYPT_HASH_MODE; } switch ($this->engine) { case self::MODE_MHASH: switch ($hash) { case 'md5': $this->hash = MHASH_MD5; break; case 'sha256': $this->hash = MHASH_SHA256; break; case 'sha1': default: $this->hash = MHASH_SHA1; } $this->_computeKey(self::MODE_MHASH); return; case self::MODE_HASH: switch ($hash) { case 'md5': $this->hash = 'md5'; return; case 'md2': case 'sha256': case 'sha384': case 'sha512': $this->hash = $hash; return; case 'sha1': default: $this->hash = 'sha1'; } $this->_computeKey(self::MODE_HASH); return; } switch ($hash) { case 'md2': $this->hash = array($this, '_md2'); break; case 'md5': $this->hash = array($this, '_md5'); break; case 'sha256': $this->hash = array($this, '_sha256'); break; case 'sha384': case 'sha512': $this->hash = array($this, '_sha512'); break; case 'sha1': default: $this->hash = array($this, '_sha1'); } $this->ipad = str_repeat(chr(0x36), $this->b); $this->opad = str_repeat(chr(0x5C), $this->b); $this->_computeKey(self::MODE_INTERNAL); } /** * Compute the HMAC. * * @access public * @param string $text * @return string */ function hash($text) { if (!empty($this->key) || is_string($this->key)) { switch ($this->engine) { case self::MODE_MHASH: $output = mhash($this->hash, $text, $this->computedKey); break; case self::MODE_HASH: $output = hash_hmac($this->hash, $text, $this->computedKey, true); break; case self::MODE_INTERNAL: $key = str_pad($this->computedKey, $this->b, chr(0)); // step 1 $temp = $this->ipad ^ $key; // step 2 $temp .= $text; // step 3 $temp = call_user_func($this->hash, $temp); // step 4 $output = $this->opad ^ $key; // step 5 $output.= $temp; // step 6 $output = call_user_func($this->hash, $output); // step 7 } } else { switch ($this->engine) { case self::MODE_MHASH: $output = mhash($this->hash, $text); break; case self::MODE_HASH: $output = hash($this->hash, $text, true); break; case self::MODE_INTERNAL: $output = call_user_func($this->hash, $text); } } return substr($output, 0, $this->l); } /** * Returns the hash length (in bytes) * * @access public * @return int */ function getLength() { return $this->l; } /** * Wrapper for MD5 * * @access private * @param string $m */ function _md5($m) { return pack('H*', md5($m)); } /** * Wrapper for SHA1 * * @access private * @param string $m */ function _sha1($m) { return pack('H*', sha1($m)); } /** * Pure-PHP implementation of MD2 * * See {@link http://tools.ietf.org/html/rfc1319 RFC1319}. * * @access private * @param string $m */ function _md2($m) { static $s = array( 41, 46, 67, 201, 162, 216, 124, 1, 61, 54, 84, 161, 236, 240, 6, 19, 98, 167, 5, 243, 192, 199, 115, 140, 152, 147, 43, 217, 188, 76, 130, 202, 30, 155, 87, 60, 253, 212, 224, 22, 103, 66, 111, 24, 138, 23, 229, 18, 190, 78, 196, 214, 218, 158, 222, 73, 160, 251, 245, 142, 187, 47, 238, 122, 169, 104, 121, 145, 21, 178, 7, 63, 148, 194, 16, 137, 11, 34, 95, 33, 128, 127, 93, 154, 90, 144, 50, 39, 53, 62, 204, 231, 191, 247, 151, 3, 255, 25, 48, 179, 72, 165, 181, 209, 215, 94, 146, 42, 172, 86, 170, 198, 79, 184, 56, 210, 150, 164, 125, 182, 118, 252, 107, 226, 156, 116, 4, 241, 69, 157, 112, 89, 100, 113, 135, 32, 134, 91, 207, 101, 230, 45, 168, 2, 27, 96, 37, 173, 174, 176, 185, 246, 28, 70, 97, 105, 52, 64, 126, 15, 85, 71, 163, 35, 221, 81, 175, 58, 195, 92, 249, 206, 186, 197, 234, 38, 44, 83, 13, 110, 133, 40, 132, 9, 211, 223, 205, 244, 65, 129, 77, 82, 106, 220, 55, 200, 108, 193, 171, 250, 36, 225, 123, 8, 12, 189, 177, 74, 120, 136, 149, 139, 227, 99, 232, 109, 233, 203, 213, 254, 59, 0, 29, 57, 242, 239, 183, 14, 102, 88, 208, 228, 166, 119, 114, 248, 235, 117, 75, 10, 49, 68, 80, 180, 143, 237, 31, 26, 219, 153, 141, 51, 159, 17, 131, 20 ); // Step 1. Append Padding Bytes $pad = 16 - (strlen($m) & 0xF); $m.= str_repeat(chr($pad), $pad); $length = strlen($m); // Step 2. Append Checksum $c = str_repeat(chr(0), 16); $l = chr(0); for ($i = 0; $i < $length; $i+= 16) { for ($j = 0; $j < 16; $j++) { // RFC1319 incorrectly states that C[j] should be set to S[c xor L] //$c[$j] = chr($s[ord($m[$i + $j] ^ $l)]); // per , however, C[j] should be set to S[c xor L] xor C[j] $c[$j] = chr($s[ord($m[$i + $j] ^ $l)] ^ ord($c[$j])); $l = $c[$j]; } } $m.= $c; $length+= 16; // Step 3. Initialize MD Buffer $x = str_repeat(chr(0), 48); // Step 4. Process Message in 16-Byte Blocks for ($i = 0; $i < $length; $i+= 16) { for ($j = 0; $j < 16; $j++) { $x[$j + 16] = $m[$i + $j]; $x[$j + 32] = $x[$j + 16] ^ $x[$j]; } $t = chr(0); for ($j = 0; $j < 18; $j++) { for ($k = 0; $k < 48; $k++) { $x[$k] = $t = $x[$k] ^ chr($s[ord($t)]); //$t = $x[$k] = $x[$k] ^ chr($s[ord($t)]); } $t = chr(ord($t) + $j); } } // Step 5. Output return substr($x, 0, 16); } /** * Pure-PHP implementation of SHA256 * * See {@link http://en.wikipedia.org/wiki/SHA_hash_functions#SHA-256_.28a_SHA-2_variant.29_pseudocode SHA-256 (a SHA-2 variant) pseudocode - Wikipedia}. * * @access private * @param string $m */ function _sha256($m) { if (extension_loaded('suhosin')) { return pack('H*', sha256($m)); } // Initialize variables $hash = array( 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19 ); // Initialize table of round constants // (first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311) static $k = array( 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 ); // Pre-processing $length = strlen($m); // to round to nearest 56 mod 64, we'll add 64 - (length + (64 - 56)) % 64 $m.= str_repeat(chr(0), 64 - (($length + 8) & 0x3F)); $m[$length] = chr(0x80); // we don't support hashing strings 512MB long $m.= pack('N2', 0, $length << 3); // Process the message in successive 512-bit chunks $chunks = str_split($m, 64); foreach ($chunks as $chunk) { $w = array(); for ($i = 0; $i < 16; $i++) { extract(unpack('Ntemp', $this->_string_shift($chunk, 4))); $w[] = $temp; } // Extend the sixteen 32-bit words into sixty-four 32-bit words for ($i = 16; $i < 64; $i++) { // @codingStandardsIgnoreStart $s0 = $this->_rightRotate($w[$i - 15], 7) ^ $this->_rightRotate($w[$i - 15], 18) ^ $this->_rightShift( $w[$i - 15], 3); $s1 = $this->_rightRotate($w[$i - 2], 17) ^ $this->_rightRotate($w[$i - 2], 19) ^ $this->_rightShift( $w[$i - 2], 10); // @codingStandardsIgnoreEnd $w[$i] = $this->_add($w[$i - 16], $s0, $w[$i - 7], $s1); } // Initialize hash value for this chunk list($a, $b, $c, $d, $e, $f, $g, $h) = $hash; // Main loop for ($i = 0; $i < 64; $i++) { $s0 = $this->_rightRotate($a, 2) ^ $this->_rightRotate($a, 13) ^ $this->_rightRotate($a, 22); $maj = ($a & $b) ^ ($a & $c) ^ ($b & $c); $t2 = $this->_add($s0, $maj); $s1 = $this->_rightRotate($e, 6) ^ $this->_rightRotate($e, 11) ^ $this->_rightRotate($e, 25); $ch = ($e & $f) ^ ($this->_not($e) & $g); $t1 = $this->_add($h, $s1, $ch, $k[$i], $w[$i]); $h = $g; $g = $f; $f = $e; $e = $this->_add($d, $t1); $d = $c; $c = $b; $b = $a; $a = $this->_add($t1, $t2); } // Add this chunk's hash to result so far $hash = array( $this->_add($hash[0], $a), $this->_add($hash[1], $b), $this->_add($hash[2], $c), $this->_add($hash[3], $d), $this->_add($hash[4], $e), $this->_add($hash[5], $f), $this->_add($hash[6], $g), $this->_add($hash[7], $h) ); } // Produce the final hash value (big-endian) return pack('N8', $hash[0], $hash[1], $hash[2], $hash[3], $hash[4], $hash[5], $hash[6], $hash[7]); } /** * Pure-PHP implementation of SHA384 and SHA512 * * @access private * @param string $m */ function _sha512($m) { static $init384, $init512, $k; if (!isset($k)) { // Initialize variables $init384 = array( // initial values for SHA384 'cbbb9d5dc1059ed8', '629a292a367cd507', '9159015a3070dd17', '152fecd8f70e5939', '67332667ffc00b31', '8eb44a8768581511', 'db0c2e0d64f98fa7', '47b5481dbefa4fa4' ); $init512 = array( // initial values for SHA512 '6a09e667f3bcc908', 'bb67ae8584caa73b', '3c6ef372fe94f82b', 'a54ff53a5f1d36f1', '510e527fade682d1', '9b05688c2b3e6c1f', '1f83d9abfb41bd6b', '5be0cd19137e2179' ); for ($i = 0; $i < 8; $i++) { $init384[$i] = new BigInteger($init384[$i], 16); $init384[$i]->setPrecision(64); $init512[$i] = new BigInteger($init512[$i], 16); $init512[$i]->setPrecision(64); } // Initialize table of round constants // (first 64 bits of the fractional parts of the cube roots of the first 80 primes 2..409) $k = array( '428a2f98d728ae22', '7137449123ef65cd', 'b5c0fbcfec4d3b2f', 'e9b5dba58189dbbc', '3956c25bf348b538', '59f111f1b605d019', '923f82a4af194f9b', 'ab1c5ed5da6d8118', 'd807aa98a3030242', '12835b0145706fbe', '243185be4ee4b28c', '550c7dc3d5ffb4e2', '72be5d74f27b896f', '80deb1fe3b1696b1', '9bdc06a725c71235', 'c19bf174cf692694', 'e49b69c19ef14ad2', 'efbe4786384f25e3', '0fc19dc68b8cd5b5', '240ca1cc77ac9c65', '2de92c6f592b0275', '4a7484aa6ea6e483', '5cb0a9dcbd41fbd4', '76f988da831153b5', '983e5152ee66dfab', 'a831c66d2db43210', 'b00327c898fb213f', 'bf597fc7beef0ee4', 'c6e00bf33da88fc2', 'd5a79147930aa725', '06ca6351e003826f', '142929670a0e6e70', '27b70a8546d22ffc', '2e1b21385c26c926', '4d2c6dfc5ac42aed', '53380d139d95b3df', '650a73548baf63de', '766a0abb3c77b2a8', '81c2c92e47edaee6', '92722c851482353b', 'a2bfe8a14cf10364', 'a81a664bbc423001', 'c24b8b70d0f89791', 'c76c51a30654be30', 'd192e819d6ef5218', 'd69906245565a910', 'f40e35855771202a', '106aa07032bbd1b8', '19a4c116b8d2d0c8', '1e376c085141ab53', '2748774cdf8eeb99', '34b0bcb5e19b48a8', '391c0cb3c5c95a63', '4ed8aa4ae3418acb', '5b9cca4f7763e373', '682e6ff3d6b2b8a3', '748f82ee5defb2fc', '78a5636f43172f60', '84c87814a1f0ab72', '8cc702081a6439ec', '90befffa23631e28', 'a4506cebde82bde9', 'bef9a3f7b2c67915', 'c67178f2e372532b', 'ca273eceea26619c', 'd186b8c721c0c207', 'eada7dd6cde0eb1e', 'f57d4f7fee6ed178', '06f067aa72176fba', '0a637dc5a2c898a6', '113f9804bef90dae', '1b710b35131c471b', '28db77f523047d84', '32caab7b40c72493', '3c9ebe0a15c9bebc', '431d67c49c100d4c', '4cc5d4becb3e42b6', '597f299cfc657e2a', '5fcb6fab3ad6faec', '6c44198c4a475817' ); for ($i = 0; $i < 80; $i++) { $k[$i] = new BigInteger($k[$i], 16); } } $hash = $this->l == 48 ? $init384 : $init512; // Pre-processing $length = strlen($m); // to round to nearest 112 mod 128, we'll add 128 - (length + (128 - 112)) % 128 $m.= str_repeat(chr(0), 128 - (($length + 16) & 0x7F)); $m[$length] = chr(0x80); // we don't support hashing strings 512MB long $m.= pack('N4', 0, 0, 0, $length << 3); // Process the message in successive 1024-bit chunks $chunks = str_split($m, 128); foreach ($chunks as $chunk) { $w = array(); for ($i = 0; $i < 16; $i++) { $temp = new BigInteger($this->_string_shift($chunk, 8), 256); $temp->setPrecision(64); $w[] = $temp; } // Extend the sixteen 32-bit words into eighty 32-bit words for ($i = 16; $i < 80; $i++) { $temp = array( $w[$i - 15]->bitwise_rightRotate(1), $w[$i - 15]->bitwise_rightRotate(8), $w[$i - 15]->bitwise_rightShift(7) ); $s0 = $temp[0]->bitwise_xor($temp[1]); $s0 = $s0->bitwise_xor($temp[2]); $temp = array( $w[$i - 2]->bitwise_rightRotate(19), $w[$i - 2]->bitwise_rightRotate(61), $w[$i - 2]->bitwise_rightShift(6) ); $s1 = $temp[0]->bitwise_xor($temp[1]); $s1 = $s1->bitwise_xor($temp[2]); $w[$i] = $w[$i - 16]->copy(); $w[$i] = $w[$i]->add($s0); $w[$i] = $w[$i]->add($w[$i - 7]); $w[$i] = $w[$i]->add($s1); } // Initialize hash value for this chunk $a = $hash[0]->copy(); $b = $hash[1]->copy(); $c = $hash[2]->copy(); $d = $hash[3]->copy(); $e = $hash[4]->copy(); $f = $hash[5]->copy(); $g = $hash[6]->copy(); $h = $hash[7]->copy(); // Main loop for ($i = 0; $i < 80; $i++) { $temp = array( $a->bitwise_rightRotate(28), $a->bitwise_rightRotate(34), $a->bitwise_rightRotate(39) ); $s0 = $temp[0]->bitwise_xor($temp[1]); $s0 = $s0->bitwise_xor($temp[2]); $temp = array( $a->bitwise_and($b), $a->bitwise_and($c), $b->bitwise_and($c) ); $maj = $temp[0]->bitwise_xor($temp[1]); $maj = $maj->bitwise_xor($temp[2]); $t2 = $s0->add($maj); $temp = array( $e->bitwise_rightRotate(14), $e->bitwise_rightRotate(18), $e->bitwise_rightRotate(41) ); $s1 = $temp[0]->bitwise_xor($temp[1]); $s1 = $s1->bitwise_xor($temp[2]); $temp = array( $e->bitwise_and($f), $g->bitwise_and($e->bitwise_not()) ); $ch = $temp[0]->bitwise_xor($temp[1]); $t1 = $h->add($s1); $t1 = $t1->add($ch); $t1 = $t1->add($k[$i]); $t1 = $t1->add($w[$i]); $h = $g->copy(); $g = $f->copy(); $f = $e->copy(); $e = $d->add($t1); $d = $c->copy(); $c = $b->copy(); $b = $a->copy(); $a = $t1->add($t2); } // Add this chunk's hash to result so far $hash = array( $hash[0]->add($a), $hash[1]->add($b), $hash[2]->add($c), $hash[3]->add($d), $hash[4]->add($e), $hash[5]->add($f), $hash[6]->add($g), $hash[7]->add($h) ); } // Produce the final hash value (big-endian) // (\phpseclib\Crypt\Hash::hash() trims the output for hashes but not for HMACs. as such, we trim the output here) $temp = $hash[0]->toBytes() . $hash[1]->toBytes() . $hash[2]->toBytes() . $hash[3]->toBytes() . $hash[4]->toBytes() . $hash[5]->toBytes(); if ($this->l != 48) { $temp.= $hash[6]->toBytes() . $hash[7]->toBytes(); } return $temp; } /** * Right Rotate * * @access private * @param int $int * @param int $amt * @see self::_sha256() * @return int */ function _rightRotate($int, $amt) { $invamt = 32 - $amt; $mask = (1 << $invamt) - 1; return (($int << $invamt) & 0xFFFFFFFF) | (($int >> $amt) & $mask); } /** * Right Shift * * @access private * @param int $int * @param int $amt * @see self::_sha256() * @return int */ function _rightShift($int, $amt) { $mask = (1 << (32 - $amt)) - 1; return ($int >> $amt) & $mask; } /** * Not * * @access private * @param int $int * @see self::_sha256() * @return int */ function _not($int) { return ~$int & 0xFFFFFFFF; } /** * Add * * _sha256() adds multiple unsigned 32-bit integers. Since PHP doesn't support unsigned integers and since the * possibility of overflow exists, care has to be taken. BigInteger could be used but this should be faster. * * @return int * @see self::_sha256() * @access private */ function _add() { static $mod; if (!isset($mod)) { $mod = pow(2, 32); } $result = 0; $arguments = func_get_args(); foreach ($arguments as $argument) { $result+= $argument < 0 ? ($argument & 0x7FFFFFFF) + 0x80000000 : $argument; } if (function_exists('php_uname') && is_string(php_uname('m')) && (php_uname('m') & "\xDF\xDF\xDF") != 'ARM') { return fmod($result, $mod); } return (fmod($result, 0x80000000) & 0x7FFFFFFF) | ((fmod(floor($result / 0x80000000), 2) & 1) << 31); } /** * String Shift * * Inspired by array_shift * * @param string $string * @param int $index * @return string * @access private */ function _string_shift(&$string, $index = 1) { $substr = substr($string, 0, $index); $string = substr($string, $index); return $substr; } } vendor/phpseclib/phpseclib/phpseclib/Crypt/RSA.php000064400000347247147400355670016227 0ustar00 * createKey()); * * $plaintext = 'terrafrost'; * * $rsa->loadKey($privatekey); * $ciphertext = $rsa->encrypt($plaintext); * * $rsa->loadKey($publickey); * echo $rsa->decrypt($ciphertext); * ?> * * * Here's an example of how to create signatures and verify signatures with this library: * * createKey()); * * $plaintext = 'terrafrost'; * * $rsa->loadKey($privatekey); * $signature = $rsa->sign($plaintext); * * $rsa->loadKey($publickey); * echo $rsa->verify($plaintext, $signature) ? 'verified' : 'unverified'; * ?> * * * @category Crypt * @package RSA * @author Jim Wigginton * @copyright 2009 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; use phpseclib\Math\BigInteger; /** * Pure-PHP PKCS#1 compliant implementation of RSA. * * @package RSA * @author Jim Wigginton * @access public */ class RSA { /**#@+ * @access public * @see self::encrypt() * @see self::decrypt() */ /** * Use {@link http://en.wikipedia.org/wiki/Optimal_Asymmetric_Encryption_Padding Optimal Asymmetric Encryption Padding} * (OAEP) for encryption / decryption. * * Uses sha1 by default. * * @see self::setHash() * @see self::setMGFHash() */ const ENCRYPTION_OAEP = 1; /** * Use PKCS#1 padding. * * Although self::ENCRYPTION_OAEP offers more security, including PKCS#1 padding is necessary for purposes of backwards * compatibility with protocols (like SSH-1) written before OAEP's introduction. */ const ENCRYPTION_PKCS1 = 2; /** * Do not use any padding * * Although this method is not recommended it can none-the-less sometimes be useful if you're trying to decrypt some legacy * stuff, if you're trying to diagnose why an encrypted message isn't decrypting, etc. */ const ENCRYPTION_NONE = 3; /**#@-*/ /**#@+ * @access public * @see self::sign() * @see self::verify() * @see self::setHash() */ /** * Use the Probabilistic Signature Scheme for signing * * Uses sha1 by default. * * @see self::setSaltLength() * @see self::setMGFHash() */ const SIGNATURE_PSS = 1; /** * Use the PKCS#1 scheme by default. * * Although self::SIGNATURE_PSS offers more security, including PKCS#1 signing is necessary for purposes of backwards * compatibility with protocols (like SSH-2) written before PSS's introduction. */ const SIGNATURE_PKCS1 = 2; /**#@-*/ /**#@+ * @access private * @see \phpseclib\Crypt\RSA::createKey() */ /** * ASN1 Integer */ const ASN1_INTEGER = 2; /** * ASN1 Bit String */ const ASN1_BITSTRING = 3; /** * ASN1 Octet String */ const ASN1_OCTETSTRING = 4; /** * ASN1 Object Identifier */ const ASN1_OBJECT = 6; /** * ASN1 Sequence (with the constucted bit set) */ const ASN1_SEQUENCE = 48; /**#@-*/ /**#@+ * @access private * @see \phpseclib\Crypt\RSA::__construct() */ /** * To use the pure-PHP implementation */ const MODE_INTERNAL = 1; /** * To use the OpenSSL library * * (if enabled; otherwise, the internal implementation will be used) */ const MODE_OPENSSL = 2; /**#@-*/ /**#@+ * @access public * @see \phpseclib\Crypt\RSA::createKey() * @see \phpseclib\Crypt\RSA::setPrivateKeyFormat() */ /** * PKCS#1 formatted private key * * Used by OpenSSH */ const PRIVATE_FORMAT_PKCS1 = 0; /** * PuTTY formatted private key */ const PRIVATE_FORMAT_PUTTY = 1; /** * XML formatted private key */ const PRIVATE_FORMAT_XML = 2; /** * PKCS#8 formatted private key */ const PRIVATE_FORMAT_PKCS8 = 8; /** * OpenSSH formatted private key */ const PRIVATE_FORMAT_OPENSSH = 9; /**#@-*/ /**#@+ * @access public * @see \phpseclib\Crypt\RSA::createKey() * @see \phpseclib\Crypt\RSA::setPublicKeyFormat() */ /** * Raw public key * * An array containing two \phpseclib\Math\BigInteger objects. * * The exponent can be indexed with any of the following: * * 0, e, exponent, publicExponent * * The modulus can be indexed with any of the following: * * 1, n, modulo, modulus */ const PUBLIC_FORMAT_RAW = 3; /** * PKCS#1 formatted public key (raw) * * Used by File/X509.php * * Has the following header: * * -----BEGIN RSA PUBLIC KEY----- * * Analogous to ssh-keygen's pem format (as specified by -m) */ const PUBLIC_FORMAT_PKCS1 = 4; const PUBLIC_FORMAT_PKCS1_RAW = 4; /** * XML formatted public key */ const PUBLIC_FORMAT_XML = 5; /** * OpenSSH formatted public key * * Place in $HOME/.ssh/authorized_keys */ const PUBLIC_FORMAT_OPENSSH = 6; /** * PKCS#1 formatted public key (encapsulated) * * Used by PHP's openssl_public_encrypt() and openssl's rsautl (when -pubin is set) * * Has the following header: * * -----BEGIN PUBLIC KEY----- * * Analogous to ssh-keygen's pkcs8 format (as specified by -m). Although PKCS8 * is specific to private keys it's basically creating a DER-encoded wrapper * for keys. This just extends that same concept to public keys (much like ssh-keygen) */ const PUBLIC_FORMAT_PKCS8 = 7; /**#@-*/ /** * Precomputed Zero * * @var \phpseclib\Math\BigInteger * @access private */ var $zero; /** * Precomputed One * * @var \phpseclib\Math\BigInteger * @access private */ var $one; /** * Private Key Format * * @var int * @access private */ var $privateKeyFormat = self::PRIVATE_FORMAT_PKCS1; /** * Public Key Format * * @var int * @access public */ var $publicKeyFormat = self::PUBLIC_FORMAT_PKCS8; /** * Modulus (ie. n) * * @var \phpseclib\Math\BigInteger * @access private */ var $modulus; /** * Modulus length * * @var \phpseclib\Math\BigInteger * @access private */ var $k; /** * Exponent (ie. e or d) * * @var \phpseclib\Math\BigInteger * @access private */ var $exponent; /** * Primes for Chinese Remainder Theorem (ie. p and q) * * @var array * @access private */ var $primes; /** * Exponents for Chinese Remainder Theorem (ie. dP and dQ) * * @var array * @access private */ var $exponents; /** * Coefficients for Chinese Remainder Theorem (ie. qInv) * * @var array * @access private */ var $coefficients; /** * Hash name * * @var string * @access private */ var $hashName; /** * Hash function * * @var \phpseclib\Crypt\Hash * @access private */ var $hash; /** * Length of hash function output * * @var int * @access private */ var $hLen; /** * Length of salt * * @var int * @access private */ var $sLen; /** * Hash function for the Mask Generation Function * * @var \phpseclib\Crypt\Hash * @access private */ var $mgfHash; /** * Length of MGF hash function output * * @var int * @access private */ var $mgfHLen; /** * Encryption mode * * @var int * @access private */ var $encryptionMode = self::ENCRYPTION_OAEP; /** * Signature mode * * @var int * @access private */ var $signatureMode = self::SIGNATURE_PSS; /** * Public Exponent * * @var mixed * @access private */ var $publicExponent = false; /** * Password * * @var string * @access private */ var $password = false; /** * Components * * For use with parsing XML formatted keys. PHP's XML Parser functions use utilized - instead of PHP's DOM functions - * because PHP's XML Parser functions work on PHP4 whereas PHP's DOM functions - although surperior - don't. * * @see self::_start_element_handler() * @var array * @access private */ var $components = array(); /** * Current String * * For use with parsing XML formatted keys. * * @see self::_character_handler() * @see self::_stop_element_handler() * @var mixed * @access private */ var $current; /** * OpenSSL configuration file name. * * Set to null to use system configuration file. * @see self::createKey() * @var mixed * @Access public */ var $configFile; /** * Public key comment field. * * @var string * @access private */ var $comment = 'phpseclib-generated-key'; /** * The constructor * * If you want to make use of the openssl extension, you'll need to set the mode manually, yourself. The reason * \phpseclib\Crypt\RSA doesn't do it is because OpenSSL doesn't fail gracefully. openssl_pkey_new(), in particular, requires * openssl.cnf be present somewhere and, unfortunately, the only real way to find out is too late. * * @return \phpseclib\Crypt\RSA * @access public */ function __construct() { $this->configFile = dirname(__FILE__) . '/../openssl.cnf'; if (!defined('CRYPT_RSA_MODE')) { switch (true) { // Math/BigInteger's openssl requirements are a little less stringent than Crypt/RSA's. in particular, // Math/BigInteger doesn't require an openssl.cfg file whereas Crypt/RSA does. so if Math/BigInteger // can't use OpenSSL it can be pretty trivially assumed, then, that Crypt/RSA can't either. case defined('MATH_BIGINTEGER_OPENSSL_DISABLE'): define('CRYPT_RSA_MODE', self::MODE_INTERNAL); break; case function_exists('phpinfo') && extension_loaded('openssl') && file_exists($this->configFile): // some versions of XAMPP have mismatched versions of OpenSSL which causes it not to work $versions = array(); // avoid generating errors (even with suppression) when phpinfo() is disabled (common in production systems) if (strpos(ini_get('disable_functions'), 'phpinfo') === false) { ob_start(); @phpinfo(); $content = ob_get_contents(); ob_end_clean(); preg_match_all('#OpenSSL (Header|Library) Version(.*)#im', $content, $matches); if (!empty($matches[1])) { for ($i = 0; $i < count($matches[1]); $i++) { $fullVersion = trim(str_replace('=>', '', strip_tags($matches[2][$i]))); // Remove letter part in OpenSSL version if (!preg_match('/(\d+\.\d+\.\d+)/i', $fullVersion, $m)) { $versions[$matches[1][$i]] = $fullVersion; } else { $versions[$matches[1][$i]] = $m[0]; } } } } // it doesn't appear that OpenSSL versions were reported upon until PHP 5.3+ switch (true) { case !isset($versions['Header']): case !isset($versions['Library']): case $versions['Header'] == $versions['Library']: case version_compare($versions['Header'], '1.0.0') >= 0 && version_compare($versions['Library'], '1.0.0') >= 0: define('CRYPT_RSA_MODE', self::MODE_OPENSSL); break; default: define('CRYPT_RSA_MODE', self::MODE_INTERNAL); define('MATH_BIGINTEGER_OPENSSL_DISABLE', true); } break; default: define('CRYPT_RSA_MODE', self::MODE_INTERNAL); } } $this->zero = new BigInteger(); $this->one = new BigInteger(1); $this->hash = new Hash('sha1'); $this->hLen = $this->hash->getLength(); $this->hashName = 'sha1'; $this->mgfHash = new Hash('sha1'); $this->mgfHLen = $this->mgfHash->getLength(); } /** * Create public / private key pair * * Returns an array with the following three elements: * - 'privatekey': The private key. * - 'publickey': The public key. * - 'partialkey': A partially computed key (if the execution time exceeded $timeout). * Will need to be passed back to \phpseclib\Crypt\RSA::createKey() as the third parameter for further processing. * * @access public * @param int $bits * @param int $timeout * @param array $partial */ function createKey($bits = 1024, $timeout = false, $partial = array()) { if (!defined('CRYPT_RSA_EXPONENT')) { // http://en.wikipedia.org/wiki/65537_%28number%29 define('CRYPT_RSA_EXPONENT', '65537'); } // per , this number ought not result in primes smaller // than 256 bits. as a consequence if the key you're trying to create is 1024 bits and you've set CRYPT_RSA_SMALLEST_PRIME // to 384 bits then you're going to get a 384 bit prime and a 640 bit prime (384 + 1024 % 384). at least if // CRYPT_RSA_MODE is set to self::MODE_INTERNAL. if CRYPT_RSA_MODE is set to self::MODE_OPENSSL then // CRYPT_RSA_SMALLEST_PRIME is ignored (ie. multi-prime RSA support is more intended as a way to speed up RSA key // generation when there's a chance neither gmp nor OpenSSL are installed) if (!defined('CRYPT_RSA_SMALLEST_PRIME')) { define('CRYPT_RSA_SMALLEST_PRIME', 4096); } // OpenSSL uses 65537 as the exponent and requires RSA keys be 384 bits minimum if (CRYPT_RSA_MODE == self::MODE_OPENSSL && $bits >= 384 && CRYPT_RSA_EXPONENT == 65537) { $config = array(); if (isset($this->configFile)) { $config['config'] = $this->configFile; } $rsa = openssl_pkey_new(array('private_key_bits' => $bits) + $config); openssl_pkey_export($rsa, $privatekey, null, $config); $publickey = openssl_pkey_get_details($rsa); $publickey = $publickey['key']; $privatekey = call_user_func_array(array($this, '_convertPrivateKey'), array_values($this->_parseKey($privatekey, self::PRIVATE_FORMAT_PKCS1))); $publickey = call_user_func_array(array($this, '_convertPublicKey'), array_values($this->_parseKey($publickey, self::PUBLIC_FORMAT_PKCS1))); // clear the buffer of error strings stemming from a minimalistic openssl.cnf // https://github.com/php/php-src/issues/11054 talks about other errors this'll pick up while (openssl_error_string() !== false) { } return array( 'privatekey' => $privatekey, 'publickey' => $publickey, 'partialkey' => false ); } static $e; if (!isset($e)) { $e = new BigInteger(CRYPT_RSA_EXPONENT); } extract($this->_generateMinMax($bits)); $absoluteMin = $min; $temp = $bits >> 1; // divide by two to see how many bits P and Q would be if ($temp > CRYPT_RSA_SMALLEST_PRIME) { $num_primes = floor($bits / CRYPT_RSA_SMALLEST_PRIME); $temp = CRYPT_RSA_SMALLEST_PRIME; } else { $num_primes = 2; } extract($this->_generateMinMax($temp + $bits % $temp)); $finalMax = $max; extract($this->_generateMinMax($temp)); $generator = new BigInteger(); $n = $this->one->copy(); if (!empty($partial)) { extract(unserialize($partial)); } else { $exponents = $coefficients = $primes = array(); $lcm = array( 'top' => $this->one->copy(), 'bottom' => false ); } $start = time(); $i0 = count($primes) + 1; do { for ($i = $i0; $i <= $num_primes; $i++) { if ($timeout !== false) { $timeout-= time() - $start; $start = time(); if ($timeout <= 0) { return array( 'privatekey' => '', 'publickey' => '', 'partialkey' => serialize(array( 'primes' => $primes, 'coefficients' => $coefficients, 'lcm' => $lcm, 'exponents' => $exponents )) ); } } if ($i == $num_primes) { list($min, $temp) = $absoluteMin->divide($n); if (!$temp->equals($this->zero)) { $min = $min->add($this->one); // ie. ceil() } $primes[$i] = $generator->randomPrime($min, $finalMax, $timeout); } else { $primes[$i] = $generator->randomPrime($min, $max, $timeout); } if ($primes[$i] === false) { // if we've reached the timeout if (count($primes) > 1) { $partialkey = ''; } else { array_pop($primes); $partialkey = serialize(array( 'primes' => $primes, 'coefficients' => $coefficients, 'lcm' => $lcm, 'exponents' => $exponents )); } return array( 'privatekey' => '', 'publickey' => '', 'partialkey' => $partialkey ); } // the first coefficient is calculated differently from the rest // ie. instead of being $primes[1]->modInverse($primes[2]), it's $primes[2]->modInverse($primes[1]) if ($i > 2) { $coefficients[$i] = $n->modInverse($primes[$i]); } $n = $n->multiply($primes[$i]); $temp = $primes[$i]->subtract($this->one); // textbook RSA implementations use Euler's totient function instead of the least common multiple. // see http://en.wikipedia.org/wiki/Euler%27s_totient_function $lcm['top'] = $lcm['top']->multiply($temp); $lcm['bottom'] = $lcm['bottom'] === false ? $temp : $lcm['bottom']->gcd($temp); $exponents[$i] = $e->modInverse($temp); } list($temp) = $lcm['top']->divide($lcm['bottom']); $gcd = $temp->gcd($e); $i0 = 1; } while (!$gcd->equals($this->one)); $d = $e->modInverse($temp); $coefficients[2] = $primes[2]->modInverse($primes[1]); // from : // RSAPrivateKey ::= SEQUENCE { // version Version, // modulus INTEGER, -- n // publicExponent INTEGER, -- e // privateExponent INTEGER, -- d // prime1 INTEGER, -- p // prime2 INTEGER, -- q // exponent1 INTEGER, -- d mod (p-1) // exponent2 INTEGER, -- d mod (q-1) // coefficient INTEGER, -- (inverse of q) mod p // otherPrimeInfos OtherPrimeInfos OPTIONAL // } return array( 'privatekey' => $this->_convertPrivateKey($n, $e, $d, $primes, $exponents, $coefficients), 'publickey' => $this->_convertPublicKey($n, $e), 'partialkey' => false ); } /** * Convert a private key to the appropriate format. * * @access private * @see self::setPrivateKeyFormat() * @param Math_BigInteger $n * @param Math_BigInteger $e * @param Math_BigInteger $d * @param array $primes * @param array $exponents * @param array $coefficients * @return string */ function _convertPrivateKey($n, $e, $d, $primes, $exponents, $coefficients) { $signed = $this->privateKeyFormat != self::PRIVATE_FORMAT_XML; $num_primes = count($primes); $raw = array( 'version' => $num_primes == 2 ? chr(0) : chr(1), // two-prime vs. multi 'modulus' => $n->toBytes($signed), 'publicExponent' => $e->toBytes($signed), 'privateExponent' => $d->toBytes($signed), 'prime1' => $primes[1]->toBytes($signed), 'prime2' => $primes[2]->toBytes($signed), 'exponent1' => $exponents[1]->toBytes($signed), 'exponent2' => $exponents[2]->toBytes($signed), 'coefficient' => $coefficients[2]->toBytes($signed) ); // if the format in question does not support multi-prime rsa and multi-prime rsa was used, // call _convertPublicKey() instead. switch ($this->privateKeyFormat) { case self::PRIVATE_FORMAT_XML: if ($num_primes != 2) { return false; } return "\r\n" . ' ' . base64_encode($raw['modulus']) . "\r\n" . ' ' . base64_encode($raw['publicExponent']) . "\r\n" . '

    ' . base64_encode($raw['prime1']) . "

    \r\n" . ' ' . base64_encode($raw['prime2']) . "\r\n" . ' ' . base64_encode($raw['exponent1']) . "\r\n" . ' ' . base64_encode($raw['exponent2']) . "\r\n" . ' ' . base64_encode($raw['coefficient']) . "\r\n" . ' ' . base64_encode($raw['privateExponent']) . "\r\n" . '
    '; break; case self::PRIVATE_FORMAT_PUTTY: if ($num_primes != 2) { return false; } $key = "PuTTY-User-Key-File-2: ssh-rsa\r\nEncryption: "; $encryption = (!empty($this->password) || is_string($this->password)) ? 'aes256-cbc' : 'none'; $key.= $encryption; $key.= "\r\nComment: " . $this->comment . "\r\n"; $public = pack( 'Na*Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($raw['publicExponent']), $raw['publicExponent'], strlen($raw['modulus']), $raw['modulus'] ); $source = pack( 'Na*Na*Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($encryption), $encryption, strlen($this->comment), $this->comment, strlen($public), $public ); $public = base64_encode($public); $key.= "Public-Lines: " . ((strlen($public) + 63) >> 6) . "\r\n"; $key.= chunk_split($public, 64); $private = pack( 'Na*Na*Na*Na*', strlen($raw['privateExponent']), $raw['privateExponent'], strlen($raw['prime1']), $raw['prime1'], strlen($raw['prime2']), $raw['prime2'], strlen($raw['coefficient']), $raw['coefficient'] ); if (empty($this->password) && !is_string($this->password)) { $source.= pack('Na*', strlen($private), $private); $hashkey = 'putty-private-key-file-mac-key'; } else { $private.= Random::string(16 - (strlen($private) & 15)); $source.= pack('Na*', strlen($private), $private); $sequence = 0; $symkey = ''; while (strlen($symkey) < 32) { $temp = pack('Na*', $sequence++, $this->password); $symkey.= pack('H*', sha1($temp)); } $symkey = substr($symkey, 0, 32); $crypto = new AES(); $crypto->setKey($symkey); $crypto->disablePadding(); $private = $crypto->encrypt($private); $hashkey = 'putty-private-key-file-mac-key' . $this->password; } $private = base64_encode($private); $key.= 'Private-Lines: ' . ((strlen($private) + 63) >> 6) . "\r\n"; $key.= chunk_split($private, 64); $hash = new Hash('sha1'); $hash->setKey(pack('H*', sha1($hashkey))); $key.= 'Private-MAC: ' . bin2hex($hash->hash($source)) . "\r\n"; return $key; case self::PRIVATE_FORMAT_OPENSSH: if ($num_primes != 2) { return false; } $publicKey = pack('Na*Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($raw['publicExponent']), $raw['publicExponent'], strlen($raw['modulus']), $raw['modulus']); $privateKey = pack( 'Na*Na*Na*Na*Na*Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($raw['modulus']), $raw['modulus'], strlen($raw['publicExponent']), $raw['publicExponent'], strlen($raw['privateExponent']), $raw['privateExponent'], strlen($raw['coefficient']), $raw['coefficient'], strlen($raw['prime1']), $raw['prime1'], strlen($raw['prime2']), $raw['prime2'] ); $checkint = Random::string(4); $paddedKey = pack( 'a*Na*', $checkint . $checkint . $privateKey, strlen($this->comment), $this->comment ); $paddingLength = (7 * strlen($paddedKey)) % 8; for ($i = 1; $i <= $paddingLength; $i++) { $paddedKey.= chr($i); } $key = pack( 'Na*Na*Na*NNa*Na*', strlen('none'), 'none', strlen('none'), 'none', 0, '', 1, strlen($publicKey), $publicKey, strlen($paddedKey), $paddedKey ); $key = "openssh-key-v1\0$key"; return "-----BEGIN OPENSSH PRIVATE KEY-----\n" . chunk_split(base64_encode($key), 70, "\n") . "-----END OPENSSH PRIVATE KEY-----\n"; default: // eg. self::PRIVATE_FORMAT_PKCS1 $components = array(); foreach ($raw as $name => $value) { $components[$name] = pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($value)), $value); } $RSAPrivateKey = implode('', $components); if ($num_primes > 2) { $OtherPrimeInfos = ''; for ($i = 3; $i <= $num_primes; $i++) { // OtherPrimeInfos ::= SEQUENCE SIZE(1..MAX) OF OtherPrimeInfo // // OtherPrimeInfo ::= SEQUENCE { // prime INTEGER, -- ri // exponent INTEGER, -- di // coefficient INTEGER -- ti // } $OtherPrimeInfo = pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($primes[$i]->toBytes(true))), $primes[$i]->toBytes(true)); $OtherPrimeInfo.= pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($exponents[$i]->toBytes(true))), $exponents[$i]->toBytes(true)); $OtherPrimeInfo.= pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($coefficients[$i]->toBytes(true))), $coefficients[$i]->toBytes(true)); $OtherPrimeInfos.= pack('Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($OtherPrimeInfo)), $OtherPrimeInfo); } $RSAPrivateKey.= pack('Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($OtherPrimeInfos)), $OtherPrimeInfos); } $RSAPrivateKey = pack('Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey); if ($this->privateKeyFormat == self::PRIVATE_FORMAT_PKCS8) { $rsaOID = pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA $RSAPrivateKey = pack( 'Ca*a*Ca*a*', self::ASN1_INTEGER, "\01\00", $rsaOID, 4, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey ); $RSAPrivateKey = pack('Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey); if (!empty($this->password) || is_string($this->password)) { $salt = Random::string(8); $iterationCount = 2048; $crypto = new DES(); $crypto->setPassword($this->password, 'pbkdf1', 'md5', $salt, $iterationCount); $RSAPrivateKey = $crypto->encrypt($RSAPrivateKey); $parameters = pack( 'Ca*a*Ca*N', self::ASN1_OCTETSTRING, $this->_encodeLength(strlen($salt)), $salt, self::ASN1_INTEGER, $this->_encodeLength(4), $iterationCount ); $pbeWithMD5AndDES_CBC = "\x2a\x86\x48\x86\xf7\x0d\x01\x05\x03"; $encryptionAlgorithm = pack( 'Ca*a*Ca*a*', self::ASN1_OBJECT, $this->_encodeLength(strlen($pbeWithMD5AndDES_CBC)), $pbeWithMD5AndDES_CBC, self::ASN1_SEQUENCE, $this->_encodeLength(strlen($parameters)), $parameters ); $RSAPrivateKey = pack( 'Ca*a*Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($encryptionAlgorithm)), $encryptionAlgorithm, self::ASN1_OCTETSTRING, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey ); $RSAPrivateKey = pack('Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($RSAPrivateKey)), $RSAPrivateKey); $RSAPrivateKey = "-----BEGIN ENCRYPTED PRIVATE KEY-----\r\n" . chunk_split(base64_encode($RSAPrivateKey), 64) . '-----END ENCRYPTED PRIVATE KEY-----'; } else { $RSAPrivateKey = "-----BEGIN PRIVATE KEY-----\r\n" . chunk_split(base64_encode($RSAPrivateKey), 64) . '-----END PRIVATE KEY-----'; } return $RSAPrivateKey; } if (!empty($this->password) || is_string($this->password)) { $iv = Random::string(8); $symkey = pack('H*', md5($this->password . $iv)); // symkey is short for symmetric key $symkey.= substr(pack('H*', md5($symkey . $this->password . $iv)), 0, 8); $des = new TripleDES(); $des->setKey($symkey); $des->setIV($iv); $iv = strtoupper(bin2hex($iv)); $RSAPrivateKey = "-----BEGIN RSA PRIVATE KEY-----\r\n" . "Proc-Type: 4,ENCRYPTED\r\n" . "DEK-Info: DES-EDE3-CBC,$iv\r\n" . "\r\n" . chunk_split(base64_encode($des->encrypt($RSAPrivateKey)), 64) . '-----END RSA PRIVATE KEY-----'; } else { $RSAPrivateKey = "-----BEGIN RSA PRIVATE KEY-----\r\n" . chunk_split(base64_encode($RSAPrivateKey), 64) . '-----END RSA PRIVATE KEY-----'; } return $RSAPrivateKey; } } /** * Convert a public key to the appropriate format * * @access private * @see self::setPublicKeyFormat() * @param Math_BigInteger $n * @param Math_BigInteger $e * @return string|array */ function _convertPublicKey($n, $e) { $signed = $this->publicKeyFormat != self::PUBLIC_FORMAT_XML; $modulus = $n->toBytes($signed); $publicExponent = $e->toBytes($signed); switch ($this->publicKeyFormat) { case self::PUBLIC_FORMAT_RAW: return array('e' => $e->copy(), 'n' => $n->copy()); case self::PUBLIC_FORMAT_XML: return "\r\n" . ' ' . base64_encode($modulus) . "\r\n" . ' ' . base64_encode($publicExponent) . "\r\n" . ''; break; case self::PUBLIC_FORMAT_OPENSSH: // from : // string "ssh-rsa" // mpint e // mpint n $RSAPublicKey = pack('Na*Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($publicExponent), $publicExponent, strlen($modulus), $modulus); $RSAPublicKey = 'ssh-rsa ' . base64_encode($RSAPublicKey) . ' ' . $this->comment; return $RSAPublicKey; default: // eg. self::PUBLIC_FORMAT_PKCS1_RAW or self::PUBLIC_FORMAT_PKCS1 // from : // RSAPublicKey ::= SEQUENCE { // modulus INTEGER, -- n // publicExponent INTEGER -- e // } $components = array( 'modulus' => pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($modulus)), $modulus), 'publicExponent' => pack('Ca*a*', self::ASN1_INTEGER, $this->_encodeLength(strlen($publicExponent)), $publicExponent) ); $RSAPublicKey = pack( 'Ca*a*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($components['modulus']) + strlen($components['publicExponent'])), $components['modulus'], $components['publicExponent'] ); if ($this->publicKeyFormat == self::PUBLIC_FORMAT_PKCS1_RAW) { $RSAPublicKey = "-----BEGIN RSA PUBLIC KEY-----\r\n" . chunk_split(base64_encode($RSAPublicKey), 64) . '-----END RSA PUBLIC KEY-----'; } else { // sequence(oid(1.2.840.113549.1.1.1), null)) = rsaEncryption. $rsaOID = pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA $RSAPublicKey = chr(0) . $RSAPublicKey; $RSAPublicKey = chr(3) . $this->_encodeLength(strlen($RSAPublicKey)) . $RSAPublicKey; $RSAPublicKey = pack( 'Ca*a*', self::ASN1_SEQUENCE, $this->_encodeLength(strlen($rsaOID . $RSAPublicKey)), $rsaOID . $RSAPublicKey ); $RSAPublicKey = "-----BEGIN PUBLIC KEY-----\r\n" . chunk_split(base64_encode($RSAPublicKey), 64) . '-----END PUBLIC KEY-----'; } return $RSAPublicKey; } } /** * Break a public or private key down into its constituant components * * @access private * @see self::_convertPublicKey() * @see self::_convertPrivateKey() * @param string|array $key * @param int $type * @return array|bool */ function _parseKey($key, $type) { if ($type != self::PUBLIC_FORMAT_RAW && !is_string($key)) { return false; } switch ($type) { case self::PUBLIC_FORMAT_RAW: if (!is_array($key)) { return false; } $components = array(); switch (true) { case isset($key['e']): $components['publicExponent'] = $key['e']->copy(); break; case isset($key['exponent']): $components['publicExponent'] = $key['exponent']->copy(); break; case isset($key['publicExponent']): $components['publicExponent'] = $key['publicExponent']->copy(); break; case isset($key[0]): $components['publicExponent'] = $key[0]->copy(); } switch (true) { case isset($key['n']): $components['modulus'] = $key['n']->copy(); break; case isset($key['modulo']): $components['modulus'] = $key['modulo']->copy(); break; case isset($key['modulus']): $components['modulus'] = $key['modulus']->copy(); break; case isset($key[1]): $components['modulus'] = $key[1]->copy(); } return isset($components['modulus']) && isset($components['publicExponent']) ? $components : false; case self::PRIVATE_FORMAT_PKCS1: case self::PRIVATE_FORMAT_PKCS8: case self::PUBLIC_FORMAT_PKCS1: /* Although PKCS#1 proposes a format that public and private keys can use, encrypting them is "outside the scope" of PKCS#1. PKCS#1 then refers you to PKCS#12 and PKCS#15 if you're wanting to protect private keys, however, that's not what OpenSSL* does. OpenSSL protects private keys by adding two new "fields" to the key - DEK-Info and Proc-Type. These fields are discussed here: http://tools.ietf.org/html/rfc1421#section-4.6.1.1 http://tools.ietf.org/html/rfc1421#section-4.6.1.3 DES-EDE3-CBC as an algorithm, however, is not discussed anywhere, near as I can tell. DES-CBC and DES-EDE are discussed in RFC1423, however, DES-EDE3-CBC isn't, nor is its key derivation function. As is, the definitive authority on this encoding scheme isn't the IETF but rather OpenSSL's own implementation. ie. the implementation *is* the standard and any bugs that may exist in that implementation are part of the standard, as well. * OpenSSL is the de facto standard. It's utilized by OpenSSH and other projects */ if (preg_match('#DEK-Info: (.+),(.+)#', $key, $matches)) { $iv = pack('H*', trim($matches[2])); $symkey = pack('H*', md5($this->password . substr($iv, 0, 8))); // symkey is short for symmetric key $symkey.= pack('H*', md5($symkey . $this->password . substr($iv, 0, 8))); // remove the Proc-Type / DEK-Info sections as they're no longer needed $key = preg_replace('#^(?:Proc-Type|DEK-Info): .*#m', '', $key); $ciphertext = $this->_extractBER($key); if ($ciphertext === false) { $ciphertext = $key; } switch ($matches[1]) { case 'AES-256-CBC': $crypto = new AES(); break; case 'AES-128-CBC': $symkey = substr($symkey, 0, 16); $crypto = new AES(); break; case 'DES-EDE3-CFB': $crypto = new TripleDES(Base::MODE_CFB); break; case 'DES-EDE3-CBC': $symkey = substr($symkey, 0, 24); $crypto = new TripleDES(); break; case 'DES-CBC': $crypto = new DES(); break; default: return false; } $crypto->setKey($symkey); $crypto->setIV($iv); $decoded = $crypto->decrypt($ciphertext); } else { $decoded = $this->_extractBER($key); } if ($decoded !== false) { $key = $decoded; } $components = array(); if (ord($this->_string_shift($key)) != self::ASN1_SEQUENCE) { return false; } if ($this->_decodeLength($key) != strlen($key)) { return false; } $tag = ord($this->_string_shift($key)); /* intended for keys for which OpenSSL's asn1parse returns the following: 0:d=0 hl=4 l= 631 cons: SEQUENCE 4:d=1 hl=2 l= 1 prim: INTEGER :00 7:d=1 hl=2 l= 13 cons: SEQUENCE 9:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption 20:d=2 hl=2 l= 0 prim: NULL 22:d=1 hl=4 l= 609 prim: OCTET STRING ie. PKCS8 keys*/ if ($tag == self::ASN1_INTEGER && substr($key, 0, 3) == "\x01\x00\x30") { $this->_string_shift($key, 3); $tag = self::ASN1_SEQUENCE; } if ($tag == self::ASN1_SEQUENCE) { $temp = $this->_string_shift($key, $this->_decodeLength($key)); if (ord($this->_string_shift($temp)) != self::ASN1_OBJECT) { return false; } $length = $this->_decodeLength($temp); switch ($this->_string_shift($temp, $length)) { case "\x2a\x86\x48\x86\xf7\x0d\x01\x01\x01": // rsaEncryption case "\x2A\x86\x48\x86\xF7\x0D\x01\x01\x0A": // rsaPSS break; case "\x2a\x86\x48\x86\xf7\x0d\x01\x05\x03": // pbeWithMD5AndDES-CBC /* PBEParameter ::= SEQUENCE { salt OCTET STRING (SIZE(8)), iterationCount INTEGER } */ if (ord($this->_string_shift($temp)) != self::ASN1_SEQUENCE) { return false; } if ($this->_decodeLength($temp) != strlen($temp)) { return false; } $this->_string_shift($temp); // assume it's an octet string $salt = $this->_string_shift($temp, $this->_decodeLength($temp)); if (ord($this->_string_shift($temp)) != self::ASN1_INTEGER) { return false; } $this->_decodeLength($temp); list(, $iterationCount) = unpack('N', str_pad($temp, 4, chr(0), STR_PAD_LEFT)); $this->_string_shift($key); // assume it's an octet string $length = $this->_decodeLength($key); if (strlen($key) != $length) { return false; } $crypto = new DES(); $crypto->setPassword($this->password, 'pbkdf1', 'md5', $salt, $iterationCount); $key = $crypto->decrypt($key); if ($key === false) { return false; } return $this->_parseKey($key, self::PRIVATE_FORMAT_PKCS1); default: return false; } /* intended for keys for which OpenSSL's asn1parse returns the following: 0:d=0 hl=4 l= 290 cons: SEQUENCE 4:d=1 hl=2 l= 13 cons: SEQUENCE 6:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption 17:d=2 hl=2 l= 0 prim: NULL 19:d=1 hl=4 l= 271 prim: BIT STRING */ $tag = ord($this->_string_shift($key)); // skip over the BIT STRING / OCTET STRING tag $this->_decodeLength($key); // skip over the BIT STRING / OCTET STRING length // "The initial octet shall encode, as an unsigned binary integer wtih bit 1 as the least significant bit, the number of // unused bits in the final subsequent octet. The number shall be in the range zero to seven." // -- http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf (section 8.6.2.2) if ($tag == self::ASN1_BITSTRING) { $this->_string_shift($key); } if (ord($this->_string_shift($key)) != self::ASN1_SEQUENCE) { return false; } if ($this->_decodeLength($key) != strlen($key)) { return false; } $tag = ord($this->_string_shift($key)); } if ($tag != self::ASN1_INTEGER) { return false; } $length = $this->_decodeLength($key); $temp = $this->_string_shift($key, $length); if (strlen($temp) != 1 || ord($temp) > 2) { $components['modulus'] = new BigInteger($temp, 256); $this->_string_shift($key); // skip over self::ASN1_INTEGER $length = $this->_decodeLength($key); $components[$type == self::PUBLIC_FORMAT_PKCS1 ? 'publicExponent' : 'privateExponent'] = new BigInteger($this->_string_shift($key, $length), 256); return $components; } if (ord($this->_string_shift($key)) != self::ASN1_INTEGER) { return false; } $length = $this->_decodeLength($key); $components['modulus'] = new BigInteger($this->_string_shift($key, $length), 256); $this->_string_shift($key); $length = $this->_decodeLength($key); $components['publicExponent'] = new BigInteger($this->_string_shift($key, $length), 256); $this->_string_shift($key); $length = $this->_decodeLength($key); $components['privateExponent'] = new BigInteger($this->_string_shift($key, $length), 256); $this->_string_shift($key); $length = $this->_decodeLength($key); $components['primes'] = array(1 => new BigInteger($this->_string_shift($key, $length), 256)); $this->_string_shift($key); $length = $this->_decodeLength($key); $components['primes'][] = new BigInteger($this->_string_shift($key, $length), 256); $this->_string_shift($key); $length = $this->_decodeLength($key); $components['exponents'] = array(1 => new BigInteger($this->_string_shift($key, $length), 256)); $this->_string_shift($key); $length = $this->_decodeLength($key); $components['exponents'][] = new BigInteger($this->_string_shift($key, $length), 256); $this->_string_shift($key); $length = $this->_decodeLength($key); $components['coefficients'] = array(2 => new BigInteger($this->_string_shift($key, $length), 256)); if (!empty($key)) { if (ord($this->_string_shift($key)) != self::ASN1_SEQUENCE) { return false; } $this->_decodeLength($key); while (!empty($key)) { if (ord($this->_string_shift($key)) != self::ASN1_SEQUENCE) { return false; } $this->_decodeLength($key); $key = substr($key, 1); $length = $this->_decodeLength($key); $components['primes'][] = new BigInteger($this->_string_shift($key, $length), 256); $this->_string_shift($key); $length = $this->_decodeLength($key); $components['exponents'][] = new BigInteger($this->_string_shift($key, $length), 256); $this->_string_shift($key); $length = $this->_decodeLength($key); $components['coefficients'][] = new BigInteger($this->_string_shift($key, $length), 256); } } return $components; case self::PUBLIC_FORMAT_OPENSSH: $parts = explode(' ', $key, 3); $key = isset($parts[1]) ? base64_decode($parts[1]) : false; if ($key === false) { return false; } $comment = isset($parts[2]) ? $parts[2] : false; $cleanup = substr($key, 0, 11) == "\0\0\0\7ssh-rsa"; if (strlen($key) <= 4) { return false; } extract(unpack('Nlength', $this->_string_shift($key, 4))); $publicExponent = new BigInteger($this->_string_shift($key, $length), -256); if (strlen($key) <= 4) { return false; } extract(unpack('Nlength', $this->_string_shift($key, 4))); $modulus = new BigInteger($this->_string_shift($key, $length), -256); if ($cleanup && strlen($key)) { if (strlen($key) <= 4) { return false; } extract(unpack('Nlength', $this->_string_shift($key, 4))); $realModulus = new BigInteger($this->_string_shift($key, $length), -256); return strlen($key) ? false : array( 'modulus' => $realModulus, 'publicExponent' => $modulus, 'comment' => $comment ); } else { return strlen($key) ? false : array( 'modulus' => $modulus, 'publicExponent' => $publicExponent, 'comment' => $comment ); } // http://www.w3.org/TR/xmldsig-core/#sec-RSAKeyValue // http://en.wikipedia.org/wiki/XML_Signature case self::PRIVATE_FORMAT_XML: case self::PUBLIC_FORMAT_XML: if (!extension_loaded('xml')) { return false; } $this->components = array(); $xml = xml_parser_create('UTF-8'); xml_set_object($xml, $this); xml_set_element_handler($xml, '_start_element_handler', '_stop_element_handler'); xml_set_character_data_handler($xml, '_data_handler'); // add to account for "dangling" tags like ... that are sometimes added if (!xml_parse($xml, '' . $key . '')) { xml_parser_free($xml); unset($xml); return false; } xml_parser_free($xml); unset($xml); return isset($this->components['modulus']) && isset($this->components['publicExponent']) ? $this->components : false; // see PuTTY's SSHPUBK.C and https://tartarus.org/~simon/putty-snapshots/htmldoc/AppendixC.html case self::PRIVATE_FORMAT_PUTTY: $components = array(); $key = preg_split('#\r\n|\r|\n#', $key); if ($this->_string_shift($key[0], strlen('PuTTY-User-Key-File-')) != 'PuTTY-User-Key-File-') { return false; } $version = (int) $this->_string_shift($key[0], 3); // should be either "2: " or "3: 0" prior to int casting if ($version != 2 && $version != 3) { return false; } $type = rtrim($key[0]); if ($type != 'ssh-rsa') { return false; } $encryption = trim(preg_replace('#Encryption: (.+)#', '$1', $key[1])); $comment = trim(preg_replace('#Comment: (.+)#', '$1', $key[2])); $publicLength = trim(preg_replace('#Public-Lines: (\d+)#', '$1', $key[3])); $public = base64_decode(implode('', array_map('trim', array_slice($key, 4, $publicLength)))); $public = substr($public, 11); extract(unpack('Nlength', $this->_string_shift($public, 4))); $components['publicExponent'] = new BigInteger($this->_string_shift($public, $length), -256); extract(unpack('Nlength', $this->_string_shift($public, 4))); $components['modulus'] = new BigInteger($this->_string_shift($public, $length), -256); $offset = $publicLength + 4; switch ($encryption) { case 'aes256-cbc': $crypto = new AES(); switch ($version) { case 3: if (!function_exists('sodium_crypto_pwhash')) { return false; } $flavour = trim(preg_replace('#Key-Derivation: (.*)#', '$1', $key[$offset++])); switch ($flavour) { case 'Argon2i': $flavour = SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13; break; case 'Argon2id': $flavour = SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13; break; default: return false; } $memory = trim(preg_replace('#Argon2-Memory: (\d+)#', '$1', $key[$offset++])); $passes = trim(preg_replace('#Argon2-Passes: (\d+)#', '$1', $key[$offset++])); $parallelism = trim(preg_replace('#Argon2-Parallelism: (\d+)#', '$1', $key[$offset++])); $salt = pack('H*', trim(preg_replace('#Argon2-Salt: ([0-9a-f]+)#', '$1', $key[$offset++]))); $length = 80; // keylen + ivlen + mac_keylen $temp = sodium_crypto_pwhash($length, $this->password, $salt, $passes, $memory << 10, $flavour); $symkey = substr($temp, 0, 32); $symiv = substr($temp, 32, 16); break; case 2: $symkey = ''; $sequence = 0; while (strlen($symkey) < 32) { $temp = pack('Na*', $sequence++, $this->password); $symkey.= pack('H*', sha1($temp)); } $symkey = substr($symkey, 0, 32); $symiv = str_repeat("\0", 16); } } $privateLength = trim(preg_replace('#Private-Lines: (\d+)#', '$1', $key[$offset++])); $private = base64_decode(implode('', array_map('trim', array_slice($key, $offset, $privateLength)))); if ($encryption != 'none') { $crypto->setKey($symkey); $crypto->setIV($symiv); $crypto->disablePadding(); $private = $crypto->decrypt($private); if ($private === false) { return false; } } extract(unpack('Nlength', $this->_string_shift($private, 4))); if (strlen($private) < $length) { return false; } $components['privateExponent'] = new BigInteger($this->_string_shift($private, $length), -256); extract(unpack('Nlength', $this->_string_shift($private, 4))); if (strlen($private) < $length) { return false; } $components['primes'] = array(1 => new BigInteger($this->_string_shift($private, $length), -256)); extract(unpack('Nlength', $this->_string_shift($private, 4))); if (strlen($private) < $length) { return false; } $components['primes'][] = new BigInteger($this->_string_shift($private, $length), -256); $temp = $components['primes'][1]->subtract($this->one); $components['exponents'] = array(1 => $components['publicExponent']->modInverse($temp)); $temp = $components['primes'][2]->subtract($this->one); $components['exponents'][] = $components['publicExponent']->modInverse($temp); extract(unpack('Nlength', $this->_string_shift($private, 4))); if (strlen($private) < $length) { return false; } $components['coefficients'] = array(2 => new BigInteger($this->_string_shift($private, $length), -256)); return $components; case self::PRIVATE_FORMAT_OPENSSH: $components = array(); $decoded = $this->_extractBER($key); $magic = $this->_string_shift($decoded, 15); if ($magic !== "openssh-key-v1\0") { return false; } extract(unpack('Nlength', $this->_string_shift($decoded, 4))); if (strlen($decoded) < $length) { return false; } $ciphername = $this->_string_shift($decoded, $length); extract(unpack('Nlength', $this->_string_shift($decoded, 4))); if (strlen($decoded) < $length) { return false; } $kdfname = $this->_string_shift($decoded, $length); extract(unpack('Nlength', $this->_string_shift($decoded, 4))); if (strlen($decoded) < $length) { return false; } $kdfoptions = $this->_string_shift($decoded, $length); extract(unpack('Nnumkeys', $this->_string_shift($decoded, 4))); if ($numkeys != 1 || ($ciphername != 'none' && $kdfname != 'bcrypt')) { return false; } switch ($ciphername) { case 'none': break; case 'aes256-ctr': extract(unpack('Nlength', $this->_string_shift($kdfoptions, 4))); if (strlen($kdfoptions) < $length) { return false; } $salt = $this->_string_shift($kdfoptions, $length); extract(unpack('Nrounds', $this->_string_shift($kdfoptions, 4))); $crypto = new AES(AES::MODE_CTR); $crypto->disablePadding(); if (!$crypto->setPassword($this->password, 'bcrypt', $salt, $rounds, 32)) { return false; } break; default: return false; } extract(unpack('Nlength', $this->_string_shift($decoded, 4))); if (strlen($decoded) < $length) { return false; } $publicKey = $this->_string_shift($decoded, $length); extract(unpack('Nlength', $this->_string_shift($decoded, 4))); if (strlen($decoded) < $length) { return false; } if ($this->_string_shift($publicKey, 11) !== "\0\0\0\7ssh-rsa") { return false; } $paddedKey = $this->_string_shift($decoded, $length); if (isset($crypto)) { $paddedKey = $crypto->decrypt($paddedKey); } $checkint1 = $this->_string_shift($paddedKey, 4); $checkint2 = $this->_string_shift($paddedKey, 4); if (strlen($checkint1) != 4 || $checkint1 !== $checkint2) { return false; } if ($this->_string_shift($paddedKey, 11) !== "\0\0\0\7ssh-rsa") { return false; } $values = array( &$components['modulus'], &$components['publicExponent'], &$components['privateExponent'], &$components['coefficients'][2], &$components['primes'][1], &$components['primes'][2] ); foreach ($values as &$value) { extract(unpack('Nlength', $this->_string_shift($paddedKey, 4))); if (strlen($paddedKey) < $length) { return false; } $value = new BigInteger($this->_string_shift($paddedKey, $length), -256); } extract(unpack('Nlength', $this->_string_shift($paddedKey, 4))); if (strlen($paddedKey) < $length) { return false; } $components['comment'] = $this->_string_shift($decoded, $length); $temp = $components['primes'][1]->subtract($this->one); $components['exponents'] = array(1 => $components['publicExponent']->modInverse($temp)); $temp = $components['primes'][2]->subtract($this->one); $components['exponents'][] = $components['publicExponent']->modInverse($temp); return $components; } return false; } /** * Returns the key size * * More specifically, this returns the size of the modulo in bits. * * @access public * @return int */ function getSize() { return !isset($this->modulus) ? 0 : strlen($this->modulus->toBits()); } /** * Start Element Handler * * Called by xml_set_element_handler() * * @access private * @param resource $parser * @param string $name * @param array $attribs */ function _start_element_handler($parser, $name, $attribs) { //$name = strtoupper($name); switch ($name) { case 'MODULUS': $this->current = &$this->components['modulus']; break; case 'EXPONENT': $this->current = &$this->components['publicExponent']; break; case 'P': $this->current = &$this->components['primes'][1]; break; case 'Q': $this->current = &$this->components['primes'][2]; break; case 'DP': $this->current = &$this->components['exponents'][1]; break; case 'DQ': $this->current = &$this->components['exponents'][2]; break; case 'INVERSEQ': $this->current = &$this->components['coefficients'][2]; break; case 'D': $this->current = &$this->components['privateExponent']; } $this->current = ''; } /** * Stop Element Handler * * Called by xml_set_element_handler() * * @access private * @param resource $parser * @param string $name */ function _stop_element_handler($parser, $name) { if (isset($this->current)) { $this->current = new BigInteger(base64_decode($this->current), 256); unset($this->current); } } /** * Data Handler * * Called by xml_set_character_data_handler() * * @access private * @param resource $parser * @param string $data */ function _data_handler($parser, $data) { if (!isset($this->current) || is_object($this->current)) { return; } $this->current.= trim($data); } /** * Loads a public or private key * * Returns true on success and false on failure (ie. an incorrect password was provided or the key was malformed) * * @access public * @param string|RSA|array $key * @param bool|int $type optional * @return bool */ function loadKey($key, $type = false) { if ($key instanceof RSA) { $this->privateKeyFormat = $key->privateKeyFormat; $this->publicKeyFormat = $key->publicKeyFormat; $this->k = $key->k; $this->hLen = $key->hLen; $this->sLen = $key->sLen; $this->mgfHLen = $key->mgfHLen; $this->encryptionMode = $key->encryptionMode; $this->signatureMode = $key->signatureMode; $this->password = $key->password; $this->configFile = $key->configFile; $this->comment = $key->comment; if (is_object($key->hash)) { $this->hash = new Hash($key->hash->getHash()); } if (is_object($key->mgfHash)) { $this->mgfHash = new Hash($key->mgfHash->getHash()); } if (is_object($key->modulus)) { $this->modulus = $key->modulus->copy(); } if (is_object($key->exponent)) { $this->exponent = $key->exponent->copy(); } if (is_object($key->publicExponent)) { $this->publicExponent = $key->publicExponent->copy(); } $this->primes = array(); $this->exponents = array(); $this->coefficients = array(); foreach ($this->primes as $prime) { $this->primes[] = $prime->copy(); } foreach ($this->exponents as $exponent) { $this->exponents[] = $exponent->copy(); } foreach ($this->coefficients as $coefficient) { $this->coefficients[] = $coefficient->copy(); } return true; } if ($type === false) { $types = array( self::PUBLIC_FORMAT_RAW, self::PRIVATE_FORMAT_PKCS1, self::PRIVATE_FORMAT_XML, self::PRIVATE_FORMAT_PUTTY, self::PUBLIC_FORMAT_OPENSSH, self::PRIVATE_FORMAT_OPENSSH ); foreach ($types as $type) { $components = $this->_parseKey($key, $type); if ($components !== false) { break; } } } else { $components = $this->_parseKey($key, $type); } if ($components === false) { $this->comment = null; $this->modulus = null; $this->k = null; $this->exponent = null; $this->primes = null; $this->exponents = null; $this->coefficients = null; $this->publicExponent = null; return false; } if (isset($components['comment']) && $components['comment'] !== false) { $this->comment = $components['comment']; } $this->modulus = $components['modulus']; $this->k = strlen($this->modulus->toBytes()); $this->exponent = isset($components['privateExponent']) ? $components['privateExponent'] : $components['publicExponent']; if (isset($components['primes'])) { $this->primes = $components['primes']; $this->exponents = $components['exponents']; $this->coefficients = $components['coefficients']; $this->publicExponent = $components['publicExponent']; } else { $this->primes = array(); $this->exponents = array(); $this->coefficients = array(); $this->publicExponent = false; } switch ($type) { case self::PUBLIC_FORMAT_OPENSSH: case self::PUBLIC_FORMAT_RAW: $this->setPublicKey(); break; case self::PRIVATE_FORMAT_PKCS1: switch (true) { case strpos($key, '-BEGIN PUBLIC KEY-') !== false: case strpos($key, '-BEGIN RSA PUBLIC KEY-') !== false: $this->setPublicKey(); } } return true; } /** * Sets the password * * Private keys can be encrypted with a password. To unset the password, pass in the empty string or false. * Or rather, pass in $password such that empty($password) && !is_string($password) is true. * * @see self::createKey() * @see self::loadKey() * @access public * @param string $password */ function setPassword($password = false) { $this->password = $password; } /** * Defines the public key * * Some private key formats define the public exponent and some don't. Those that don't define it are problematic when * used in certain contexts. For example, in SSH-2, RSA authentication works by sending the public key along with a * message signed by the private key to the server. The SSH-2 server looks the public key up in an index of public keys * and if it's present then proceeds to verify the signature. Problem is, if your private key doesn't include the public * exponent this won't work unless you manually add the public exponent. phpseclib tries to guess if the key being used * is the public key but in the event that it guesses incorrectly you might still want to explicitly set the key as being * public. * * Do note that when a new key is loaded the index will be cleared. * * Returns true on success, false on failure * * @see self::getPublicKey() * @access public * @param string $key optional * @param int $type optional * @return bool */ function setPublicKey($key = false, $type = false) { // if a public key has already been loaded return false if (!empty($this->publicExponent)) { return false; } if ($key === false && !empty($this->modulus)) { $this->publicExponent = $this->exponent; return true; } if ($type === false) { $types = array( self::PUBLIC_FORMAT_RAW, self::PUBLIC_FORMAT_PKCS1, self::PUBLIC_FORMAT_XML, self::PUBLIC_FORMAT_OPENSSH ); foreach ($types as $type) { $components = $this->_parseKey($key, $type); if ($components !== false) { break; } } } else { $components = $this->_parseKey($key, $type); } if ($components === false) { return false; } if (empty($this->modulus) || !$this->modulus->equals($components['modulus'])) { $this->modulus = $components['modulus']; $this->exponent = $this->publicExponent = $components['publicExponent']; return true; } $this->publicExponent = $components['publicExponent']; return true; } /** * Defines the private key * * If phpseclib guessed a private key was a public key and loaded it as such it might be desirable to force * phpseclib to treat the key as a private key. This function will do that. * * Do note that when a new key is loaded the index will be cleared. * * Returns true on success, false on failure * * @see self::getPublicKey() * @access public * @param string $key optional * @param int $type optional * @return bool */ function setPrivateKey($key = false, $type = false) { if ($key === false && !empty($this->publicExponent)) { $this->publicExponent = false; return true; } $rsa = new RSA(); if (!$rsa->loadKey($key, $type)) { return false; } $rsa->publicExponent = false; // don't overwrite the old key if the new key is invalid $this->loadKey($rsa); return true; } /** * Returns the public key * * The public key is only returned under two circumstances - if the private key had the public key embedded within it * or if the public key was set via setPublicKey(). If the currently loaded key is supposed to be the public key this * function won't return it since this library, for the most part, doesn't distinguish between public and private keys. * * @see self::getPublicKey() * @access public * @param int $type optional */ function getPublicKey($type = self::PUBLIC_FORMAT_PKCS8) { if (empty($this->modulus) || empty($this->publicExponent)) { return false; } $oldFormat = $this->publicKeyFormat; $this->publicKeyFormat = $type; $temp = $this->_convertPublicKey($this->modulus, $this->publicExponent); $this->publicKeyFormat = $oldFormat; return $temp; } /** * Returns the public key's fingerprint * * The public key's fingerprint is returned, which is equivalent to running `ssh-keygen -lf rsa.pub`. If there is * no public key currently loaded, false is returned. * Example output (md5): "c1:b1:30:29:d7:b8:de:6c:97:77:10:d7:46:41:63:87" (as specified by RFC 4716) * * @access public * @param string $algorithm The hashing algorithm to be used. Valid options are 'md5' and 'sha256'. False is returned * for invalid values. * @return mixed */ function getPublicKeyFingerprint($algorithm = 'md5') { if (empty($this->modulus) || empty($this->publicExponent)) { return false; } $modulus = $this->modulus->toBytes(true); $publicExponent = $this->publicExponent->toBytes(true); $RSAPublicKey = pack('Na*Na*Na*', strlen('ssh-rsa'), 'ssh-rsa', strlen($publicExponent), $publicExponent, strlen($modulus), $modulus); switch ($algorithm) { case 'sha256': $hash = new Hash('sha256'); $base = base64_encode($hash->hash($RSAPublicKey)); return substr($base, 0, strlen($base) - 1); case 'md5': return substr(chunk_split(md5($RSAPublicKey), 2, ':'), 0, -1); default: return false; } } /** * Returns the private key * * The private key is only returned if the currently loaded key contains the constituent prime numbers. * * @see self::getPublicKey() * @access public * @param int $type optional * @return mixed */ function getPrivateKey($type = self::PUBLIC_FORMAT_PKCS1) { if (empty($this->primes)) { return false; } $oldFormat = $this->privateKeyFormat; $this->privateKeyFormat = $type; $temp = $this->_convertPrivateKey($this->modulus, $this->publicExponent, $this->exponent, $this->primes, $this->exponents, $this->coefficients); $this->privateKeyFormat = $oldFormat; return $temp; } /** * Returns a minimalistic private key * * Returns the private key without the prime number constituants. Structurally identical to a public key that * hasn't been set as the public key * * @see self::getPrivateKey() * @access private * @param int $mode optional */ function _getPrivatePublicKey($mode = self::PUBLIC_FORMAT_PKCS8) { if (empty($this->modulus) || empty($this->exponent)) { return false; } $oldFormat = $this->publicKeyFormat; $this->publicKeyFormat = $mode; $temp = $this->_convertPublicKey($this->modulus, $this->exponent); $this->publicKeyFormat = $oldFormat; return $temp; } /** * __toString() magic method * * @access public * @return string */ function __toString() { $key = $this->getPrivateKey($this->privateKeyFormat); if ($key !== false) { return $key; } $key = $this->_getPrivatePublicKey($this->publicKeyFormat); return $key !== false ? $key : ''; } /** * __clone() magic method * * @access public * @return Crypt_RSA */ function __clone() { $key = new RSA(); $key->loadKey($this); return $key; } /** * Generates the smallest and largest numbers requiring $bits bits * * @access private * @param int $bits * @return array */ function _generateMinMax($bits) { $bytes = $bits >> 3; $min = str_repeat(chr(0), $bytes); $max = str_repeat(chr(0xFF), $bytes); $msb = $bits & 7; if ($msb) { $min = chr(1 << ($msb - 1)) . $min; $max = chr((1 << $msb) - 1) . $max; } else { $min[0] = chr(0x80); } return array( 'min' => new BigInteger($min, 256), 'max' => new BigInteger($max, 256) ); } /** * DER-decode the length * * DER supports lengths up to (2**8)**127, however, we'll only support lengths up to (2**8)**4. See * {@link http://itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#p=13 X.690 paragraph 8.1.3} for more information. * * @access private * @param string $string * @return int */ function _decodeLength(&$string) { $length = ord($this->_string_shift($string)); if ($length & 0x80) { // definite length, long form $length&= 0x7F; $temp = $this->_string_shift($string, $length); list(, $length) = unpack('N', substr(str_pad($temp, 4, chr(0), STR_PAD_LEFT), -4)); } return $length; } /** * DER-encode the length * * DER supports lengths up to (2**8)**127, however, we'll only support lengths up to (2**8)**4. See * {@link http://itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#p=13 X.690 paragraph 8.1.3} for more information. * * @access private * @param int $length * @return string */ function _encodeLength($length) { if ($length <= 0x7F) { return chr($length); } $temp = ltrim(pack('N', $length), chr(0)); return pack('Ca*', 0x80 | strlen($temp), $temp); } /** * String Shift * * Inspired by array_shift * * @param string $string * @param int $index * @return string * @access private */ function _string_shift(&$string, $index = 1) { $substr = substr($string, 0, $index); $string = substr($string, $index); return $substr; } /** * Determines the private key format * * @see self::createKey() * @access public * @param int $format */ function setPrivateKeyFormat($format) { $this->privateKeyFormat = $format; } /** * Determines the public key format * * @see self::createKey() * @access public * @param int $format */ function setPublicKeyFormat($format) { $this->publicKeyFormat = $format; } /** * Determines which hashing function should be used * * Used with signature production / verification and (if the encryption mode is self::ENCRYPTION_OAEP) encryption and * decryption. If $hash isn't supported, sha1 is used. * * @access public * @param string $hash */ function setHash($hash) { // \phpseclib\Crypt\Hash supports algorithms that PKCS#1 doesn't support. md5-96 and sha1-96, for example. switch ($hash) { case 'md2': case 'md5': case 'sha1': case 'sha256': case 'sha384': case 'sha512': $this->hash = new Hash($hash); $this->hashName = $hash; break; default: $this->hash = new Hash('sha1'); $this->hashName = 'sha1'; } $this->hLen = $this->hash->getLength(); } /** * Determines which hashing function should be used for the mask generation function * * The mask generation function is used by self::ENCRYPTION_OAEP and self::SIGNATURE_PSS and although it's * best if Hash and MGFHash are set to the same thing this is not a requirement. * * @access public * @param string $hash */ function setMGFHash($hash) { // \phpseclib\Crypt\Hash supports algorithms that PKCS#1 doesn't support. md5-96 and sha1-96, for example. switch ($hash) { case 'md2': case 'md5': case 'sha1': case 'sha256': case 'sha384': case 'sha512': $this->mgfHash = new Hash($hash); break; default: $this->mgfHash = new Hash('sha1'); } $this->mgfHLen = $this->mgfHash->getLength(); } /** * Determines the salt length * * To quote from {@link http://tools.ietf.org/html/rfc3447#page-38 RFC3447#page-38}: * * Typical salt lengths in octets are hLen (the length of the output * of the hash function Hash) and 0. * * @access public * @param int $sLen */ function setSaltLength($sLen) { $this->sLen = $sLen; } /** * Integer-to-Octet-String primitive * * See {@link http://tools.ietf.org/html/rfc3447#section-4.1 RFC3447#section-4.1}. * * @access private * @param \phpseclib\Math\BigInteger $x * @param int $xLen * @return string */ function _i2osp($x, $xLen) { $x = $x->toBytes(); if (strlen($x) > $xLen) { user_error('Integer too large'); return false; } return str_pad($x, $xLen, chr(0), STR_PAD_LEFT); } /** * Octet-String-to-Integer primitive * * See {@link http://tools.ietf.org/html/rfc3447#section-4.2 RFC3447#section-4.2}. * * @access private * @param int|string|resource $x * @return \phpseclib\Math\BigInteger */ function _os2ip($x) { return new BigInteger($x, 256); } /** * Exponentiate with or without Chinese Remainder Theorem * * See {@link http://tools.ietf.org/html/rfc3447#section-5.1.1 RFC3447#section-5.1.2}. * * @access private * @param \phpseclib\Math\BigInteger $x * @return \phpseclib\Math\BigInteger */ function _exponentiate($x) { switch (true) { case empty($this->primes): case $this->primes[1]->equals($this->zero): case empty($this->coefficients): case $this->coefficients[2]->equals($this->zero): case empty($this->exponents): case $this->exponents[1]->equals($this->zero): return $x->modPow($this->exponent, $this->modulus); } $num_primes = count($this->primes); if (defined('CRYPT_RSA_DISABLE_BLINDING')) { $m_i = array( 1 => $x->modPow($this->exponents[1], $this->primes[1]), 2 => $x->modPow($this->exponents[2], $this->primes[2]) ); $h = $m_i[1]->subtract($m_i[2]); $h = $h->multiply($this->coefficients[2]); list(, $h) = $h->divide($this->primes[1]); $m = $m_i[2]->add($h->multiply($this->primes[2])); $r = $this->primes[1]; for ($i = 3; $i <= $num_primes; $i++) { $m_i = $x->modPow($this->exponents[$i], $this->primes[$i]); $r = $r->multiply($this->primes[$i - 1]); $h = $m_i->subtract($m); $h = $h->multiply($this->coefficients[$i]); list(, $h) = $h->divide($this->primes[$i]); $m = $m->add($r->multiply($h)); } } else { $smallest = $this->primes[1]; for ($i = 2; $i <= $num_primes; $i++) { if ($smallest->compare($this->primes[$i]) > 0) { $smallest = $this->primes[$i]; } } $one = new BigInteger(1); $r = $one->random($one, $smallest->subtract($one)); $m_i = array( 1 => $this->_blind($x, $r, 1), 2 => $this->_blind($x, $r, 2) ); $h = $m_i[1]->subtract($m_i[2]); $h = $h->multiply($this->coefficients[2]); list(, $h) = $h->divide($this->primes[1]); $m = $m_i[2]->add($h->multiply($this->primes[2])); $r = $this->primes[1]; for ($i = 3; $i <= $num_primes; $i++) { $m_i = $this->_blind($x, $r, $i); $r = $r->multiply($this->primes[$i - 1]); $h = $m_i->subtract($m); $h = $h->multiply($this->coefficients[$i]); list(, $h) = $h->divide($this->primes[$i]); $m = $m->add($r->multiply($h)); } } return $m; } /** * Performs RSA Blinding * * Protects against timing attacks by employing RSA Blinding. * Returns $x->modPow($this->exponents[$i], $this->primes[$i]) * * @access private * @param \phpseclib\Math\BigInteger $x * @param \phpseclib\Math\BigInteger $r * @param int $i * @return \phpseclib\Math\BigInteger */ function _blind($x, $r, $i) { $x = $x->multiply($r->modPow($this->publicExponent, $this->primes[$i])); $x = $x->modPow($this->exponents[$i], $this->primes[$i]); $r = $r->modInverse($this->primes[$i]); $x = $x->multiply($r); list(, $x) = $x->divide($this->primes[$i]); return $x; } /** * Performs blinded RSA equality testing * * Protects against a particular type of timing attack described. * * See {@link http://codahale.com/a-lesson-in-timing-attacks/ A Lesson In Timing Attacks (or, Don't use MessageDigest.isEquals)} * * Thanks for the heads up singpolyma! * * @access private * @param string $x * @param string $y * @return bool */ function _equals($x, $y) { if (function_exists('hash_equals')) { return hash_equals($x, $y); } if (strlen($x) != strlen($y)) { return false; } $result = "\0"; $x^= $y; for ($i = 0; $i < strlen($x); $i++) { $result|= $x[$i]; } return $result === "\0"; } /** * RSAEP * * See {@link http://tools.ietf.org/html/rfc3447#section-5.1.1 RFC3447#section-5.1.1}. * * @access private * @param \phpseclib\Math\BigInteger $m * @return \phpseclib\Math\BigInteger */ function _rsaep($m) { if ($m->compare($this->zero) < 0 || $m->compare($this->modulus) > 0) { user_error('Message representative out of range'); return false; } return $this->_exponentiate($m); } /** * RSADP * * See {@link http://tools.ietf.org/html/rfc3447#section-5.1.2 RFC3447#section-5.1.2}. * * @access private * @param \phpseclib\Math\BigInteger $c * @return \phpseclib\Math\BigInteger */ function _rsadp($c) { if ($c->compare($this->zero) < 0 || $c->compare($this->modulus) > 0) { user_error('Ciphertext representative out of range'); return false; } return $this->_exponentiate($c); } /** * RSASP1 * * See {@link http://tools.ietf.org/html/rfc3447#section-5.2.1 RFC3447#section-5.2.1}. * * @access private * @param \phpseclib\Math\BigInteger $m * @return \phpseclib\Math\BigInteger */ function _rsasp1($m) { if ($m->compare($this->zero) < 0 || $m->compare($this->modulus) > 0) { user_error('Message representative out of range'); return false; } return $this->_exponentiate($m); } /** * RSAVP1 * * See {@link http://tools.ietf.org/html/rfc3447#section-5.2.2 RFC3447#section-5.2.2}. * * @access private * @param \phpseclib\Math\BigInteger $s * @return \phpseclib\Math\BigInteger */ function _rsavp1($s) { if ($s->compare($this->zero) < 0 || $s->compare($this->modulus) > 0) { user_error('Signature representative out of range'); return false; } return $this->_exponentiate($s); } /** * MGF1 * * See {@link http://tools.ietf.org/html/rfc3447#appendix-B.2.1 RFC3447#appendix-B.2.1}. * * @access private * @param string $mgfSeed * @param int $maskLen * @return string */ function _mgf1($mgfSeed, $maskLen) { // if $maskLen would yield strings larger than 4GB, PKCS#1 suggests a "Mask too long" error be output. $t = ''; $count = ceil($maskLen / $this->mgfHLen); for ($i = 0; $i < $count; $i++) { $c = pack('N', $i); $t.= $this->mgfHash->hash($mgfSeed . $c); } return substr($t, 0, $maskLen); } /** * RSAES-OAEP-ENCRYPT * * See {@link http://tools.ietf.org/html/rfc3447#section-7.1.1 RFC3447#section-7.1.1} and * {http://en.wikipedia.org/wiki/Optimal_Asymmetric_Encryption_Padding OAES}. * * @access private * @param string $m * @param string $l * @return string */ function _rsaes_oaep_encrypt($m, $l = '') { $mLen = strlen($m); // Length checking // if $l is larger than two million terrabytes and you're using sha1, PKCS#1 suggests a "Label too long" error // be output. if ($mLen > $this->k - 2 * $this->hLen - 2) { user_error('Message too long'); return false; } // EME-OAEP encoding $lHash = $this->hash->hash($l); $ps = str_repeat(chr(0), $this->k - $mLen - 2 * $this->hLen - 2); $db = $lHash . $ps . chr(1) . $m; $seed = Random::string($this->hLen); $dbMask = $this->_mgf1($seed, $this->k - $this->hLen - 1); $maskedDB = $db ^ $dbMask; $seedMask = $this->_mgf1($maskedDB, $this->hLen); $maskedSeed = $seed ^ $seedMask; $em = chr(0) . $maskedSeed . $maskedDB; // RSA encryption $m = $this->_os2ip($em); $c = $this->_rsaep($m); $c = $this->_i2osp($c, $this->k); // Output the ciphertext C return $c; } /** * RSAES-OAEP-DECRYPT * * See {@link http://tools.ietf.org/html/rfc3447#section-7.1.2 RFC3447#section-7.1.2}. The fact that the error * messages aren't distinguishable from one another hinders debugging, but, to quote from RFC3447#section-7.1.2: * * Note. Care must be taken to ensure that an opponent cannot * distinguish the different error conditions in Step 3.g, whether by * error message or timing, or, more generally, learn partial * information about the encoded message EM. Otherwise an opponent may * be able to obtain useful information about the decryption of the * ciphertext C, leading to a chosen-ciphertext attack such as the one * observed by Manger [36]. * * As for $l... to quote from {@link http://tools.ietf.org/html/rfc3447#page-17 RFC3447#page-17}: * * Both the encryption and the decryption operations of RSAES-OAEP take * the value of a label L as input. In this version of PKCS #1, L is * the empty string; other uses of the label are outside the scope of * this document. * * @access private * @param string $c * @param string $l * @return string */ function _rsaes_oaep_decrypt($c, $l = '') { // Length checking // if $l is larger than two million terrabytes and you're using sha1, PKCS#1 suggests a "Label too long" error // be output. if (strlen($c) != $this->k || $this->k < 2 * $this->hLen + 2) { user_error('Decryption error'); return false; } // RSA decryption $c = $this->_os2ip($c); $m = $this->_rsadp($c); if ($m === false) { user_error('Decryption error'); return false; } $em = $this->_i2osp($m, $this->k); // EME-OAEP decoding $lHash = $this->hash->hash($l); $y = ord($em[0]); $maskedSeed = substr($em, 1, $this->hLen); $maskedDB = substr($em, $this->hLen + 1); $seedMask = $this->_mgf1($maskedDB, $this->hLen); $seed = $maskedSeed ^ $seedMask; $dbMask = $this->_mgf1($seed, $this->k - $this->hLen - 1); $db = $maskedDB ^ $dbMask; $lHash2 = substr($db, 0, $this->hLen); $m = substr($db, $this->hLen); $hashesMatch = $this->_equals($lHash, $lHash2); $leadingZeros = 1; $patternMatch = 0; $offset = 0; for ($i = 0; $i < strlen($m); $i++) { $patternMatch|= $leadingZeros & ($m[$i] === "\1"); $leadingZeros&= $m[$i] === "\0"; $offset+= $patternMatch ? 0 : 1; } // we do | instead of || to avoid https://en.wikipedia.org/wiki/Short-circuit_evaluation // to protect against timing attacks if (!$hashesMatch | !$patternMatch) { user_error('Decryption error'); return false; } // Output the message M return substr($m, $offset + 1); } /** * Raw Encryption / Decryption * * Doesn't use padding and is not recommended. * * @access private * @param string $m * @return string */ function _raw_encrypt($m) { $temp = $this->_os2ip($m); $temp = $this->_rsaep($temp); return $this->_i2osp($temp, $this->k); } /** * RSAES-PKCS1-V1_5-ENCRYPT * * See {@link http://tools.ietf.org/html/rfc3447#section-7.2.1 RFC3447#section-7.2.1}. * * @access private * @param string $m * @return string */ function _rsaes_pkcs1_v1_5_encrypt($m) { $mLen = strlen($m); // Length checking if ($mLen > $this->k - 11) { user_error('Message too long'); return false; } // EME-PKCS1-v1_5 encoding $psLen = $this->k - $mLen - 3; $ps = ''; while (strlen($ps) != $psLen) { $temp = Random::string($psLen - strlen($ps)); $temp = str_replace("\x00", '', $temp); $ps.= $temp; } $type = 2; // see the comments of _rsaes_pkcs1_v1_5_decrypt() to understand why this is being done if (defined('CRYPT_RSA_PKCS15_COMPAT') && (!isset($this->publicExponent) || $this->exponent !== $this->publicExponent)) { $type = 1; // "The padding string PS shall consist of k-3-||D|| octets. ... for block type 01, they shall have value FF" $ps = str_repeat("\xFF", $psLen); } $em = chr(0) . chr($type) . $ps . chr(0) . $m; // RSA encryption $m = $this->_os2ip($em); $c = $this->_rsaep($m); $c = $this->_i2osp($c, $this->k); // Output the ciphertext C return $c; } /** * RSAES-PKCS1-V1_5-DECRYPT * * See {@link http://tools.ietf.org/html/rfc3447#section-7.2.2 RFC3447#section-7.2.2}. * * For compatibility purposes, this function departs slightly from the description given in RFC3447. * The reason being that RFC2313#section-8.1 (PKCS#1 v1.5) states that ciphertext's encrypted by the * private key should have the second byte set to either 0 or 1 and that ciphertext's encrypted by the * public key should have the second byte set to 2. In RFC3447 (PKCS#1 v2.1), the second byte is supposed * to be 2 regardless of which key is used. For compatibility purposes, we'll just check to make sure the * second byte is 2 or less. If it is, we'll accept the decrypted string as valid. * * As a consequence of this, a private key encrypted ciphertext produced with \phpseclib\Crypt\RSA may not decrypt * with a strictly PKCS#1 v1.5 compliant RSA implementation. Public key encrypted ciphertext's should but * not private key encrypted ciphertext's. * * @access private * @param string $c * @return string */ function _rsaes_pkcs1_v1_5_decrypt($c) { // Length checking if (strlen($c) != $this->k) { // or if k < 11 user_error('Decryption error'); return false; } // RSA decryption $c = $this->_os2ip($c); $m = $this->_rsadp($c); if ($m === false) { user_error('Decryption error'); return false; } $em = $this->_i2osp($m, $this->k); // EME-PKCS1-v1_5 decoding if (ord($em[0]) != 0 || ord($em[1]) > 2) { user_error('Decryption error'); return false; } $ps = substr($em, 2, strpos($em, chr(0), 2) - 2); $m = substr($em, strlen($ps) + 3); if (strlen($ps) < 8) { user_error('Decryption error'); return false; } // Output M return $m; } /** * EMSA-PSS-ENCODE * * See {@link http://tools.ietf.org/html/rfc3447#section-9.1.1 RFC3447#section-9.1.1}. * * @access private * @param string $m * @param int $emBits */ function _emsa_pss_encode($m, $emBits) { // if $m is larger than two million terrabytes and you're using sha1, PKCS#1 suggests a "Label too long" error // be output. $emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8) $sLen = $this->sLen !== null ? $this->sLen : $this->hLen; $mHash = $this->hash->hash($m); if ($emLen < $this->hLen + $sLen + 2) { user_error('Encoding error'); return false; } $salt = Random::string($sLen); $m2 = "\0\0\0\0\0\0\0\0" . $mHash . $salt; $h = $this->hash->hash($m2); $ps = str_repeat(chr(0), $emLen - $sLen - $this->hLen - 2); $db = $ps . chr(1) . $salt; $dbMask = $this->_mgf1($h, $emLen - $this->hLen - 1); $maskedDB = $db ^ $dbMask; $maskedDB[0] = ~chr(0xFF << ($emBits & 7)) & $maskedDB[0]; $em = $maskedDB . $h . chr(0xBC); return $em; } /** * EMSA-PSS-VERIFY * * See {@link http://tools.ietf.org/html/rfc3447#section-9.1.2 RFC3447#section-9.1.2}. * * @access private * @param string $m * @param string $em * @param int $emBits * @return string */ function _emsa_pss_verify($m, $em, $emBits) { // if $m is larger than two million terrabytes and you're using sha1, PKCS#1 suggests a "Label too long" error // be output. $emLen = ($emBits + 7) >> 3; // ie. ceil($emBits / 8); $sLen = $this->sLen !== null ? $this->sLen : $this->hLen; $mHash = $this->hash->hash($m); if ($emLen < $this->hLen + $sLen + 2) { return false; } if ($em[strlen($em) - 1] != chr(0xBC)) { return false; } $maskedDB = substr($em, 0, -$this->hLen - 1); $h = substr($em, -$this->hLen - 1, $this->hLen); $temp = chr(0xFF << ($emBits & 7)); if ((~$maskedDB[0] & $temp) != $temp) { return false; } $dbMask = $this->_mgf1($h, $emLen - $this->hLen - 1); $db = $maskedDB ^ $dbMask; $db[0] = ~chr(0xFF << ($emBits & 7)) & $db[0]; $temp = $emLen - $this->hLen - $sLen - 2; if (substr($db, 0, $temp) != str_repeat(chr(0), $temp) || ord($db[$temp]) != 1) { return false; } $salt = substr($db, $temp + 1); // should be $sLen long $m2 = "\0\0\0\0\0\0\0\0" . $mHash . $salt; $h2 = $this->hash->hash($m2); return $this->_equals($h, $h2); } /** * RSASSA-PSS-SIGN * * See {@link http://tools.ietf.org/html/rfc3447#section-8.1.1 RFC3447#section-8.1.1}. * * @access private * @param string $m * @return string */ function _rsassa_pss_sign($m) { // EMSA-PSS encoding $em = $this->_emsa_pss_encode($m, 8 * $this->k - 1); // RSA signature $m = $this->_os2ip($em); $s = $this->_rsasp1($m); $s = $this->_i2osp($s, $this->k); // Output the signature S return $s; } /** * RSASSA-PSS-VERIFY * * See {@link http://tools.ietf.org/html/rfc3447#section-8.1.2 RFC3447#section-8.1.2}. * * @access private * @param string $m * @param string $s * @return string */ function _rsassa_pss_verify($m, $s) { // Length checking if (strlen($s) != $this->k) { user_error('Invalid signature'); return false; } // RSA verification $modBits = strlen($this->modulus->toBits()); $s2 = $this->_os2ip($s); $m2 = $this->_rsavp1($s2); if ($m2 === false) { user_error('Invalid signature'); return false; } $em = $this->_i2osp($m2, $this->k); if ($em === false) { user_error('Invalid signature'); return false; } // EMSA-PSS verification return $this->_emsa_pss_verify($m, $em, $modBits - 1); } /** * EMSA-PKCS1-V1_5-ENCODE * * See {@link http://tools.ietf.org/html/rfc3447#section-9.2 RFC3447#section-9.2}. * * @access private * @param string $m * @param int $emLen * @return string */ function _emsa_pkcs1_v1_5_encode($m, $emLen) { $h = $this->hash->hash($m); if ($h === false) { return false; } // see http://tools.ietf.org/html/rfc3447#page-43 switch ($this->hashName) { case 'md2': $t = pack('H*', '3020300c06082a864886f70d020205000410'); break; case 'md5': $t = pack('H*', '3020300c06082a864886f70d020505000410'); break; case 'sha1': $t = pack('H*', '3021300906052b0e03021a05000414'); break; case 'sha256': $t = pack('H*', '3031300d060960864801650304020105000420'); break; case 'sha384': $t = pack('H*', '3041300d060960864801650304020205000430'); break; case 'sha512': $t = pack('H*', '3051300d060960864801650304020305000440'); } $t.= $h; $tLen = strlen($t); if ($emLen < $tLen + 11) { user_error('Intended encoded message length too short'); return false; } $ps = str_repeat(chr(0xFF), $emLen - $tLen - 3); $em = "\0\1$ps\0$t"; return $em; } /** * EMSA-PKCS1-V1_5-ENCODE (without NULL) * * Quoting https://tools.ietf.org/html/rfc8017#page-65, * * "The parameters field associated with id-sha1, id-sha224, id-sha256, * id-sha384, id-sha512, id-sha512/224, and id-sha512/256 should * generally be omitted, but if present, it shall have a value of type * NULL" * * @access private * @param string $m * @param int $emLen * @return string */ function _emsa_pkcs1_v1_5_encode_without_null($m, $emLen) { $h = $this->hash->hash($m); if ($h === false) { return false; } switch ($this->hashName) { case 'sha1': $t = pack('H*', '301f300706052b0e03021a0414'); break; case 'sha256': $t = pack('H*', '302f300b06096086480165030402010420'); break; case 'sha384': $t = pack('H*', '303f300b06096086480165030402020430'); break; case 'sha512': $t = pack('H*', '304f300b06096086480165030402030440'); break; default: return false; } $t.= $h; $tLen = strlen($t); if ($emLen < $tLen + 11) { user_error('Intended encoded message length too short'); return false; } $ps = str_repeat(chr(0xFF), $emLen - $tLen - 3); $em = "\0\1$ps\0$t"; return $em; } /** * RSASSA-PKCS1-V1_5-SIGN * * See {@link http://tools.ietf.org/html/rfc3447#section-8.2.1 RFC3447#section-8.2.1}. * * @access private * @param string $m * @return string */ function _rsassa_pkcs1_v1_5_sign($m) { // EMSA-PKCS1-v1_5 encoding $em = $this->_emsa_pkcs1_v1_5_encode($m, $this->k); if ($em === false) { user_error('RSA modulus too short'); return false; } // RSA signature $m = $this->_os2ip($em); $s = $this->_rsasp1($m); $s = $this->_i2osp($s, $this->k); // Output the signature S return $s; } /** * RSASSA-PKCS1-V1_5-VERIFY * * See {@link http://tools.ietf.org/html/rfc3447#section-8.2.2 RFC3447#section-8.2.2}. * * @access private * @param string $m * @param string $s * @return string */ function _rsassa_pkcs1_v1_5_verify($m, $s) { // Length checking if (strlen($s) != $this->k) { user_error('Invalid signature'); return false; } // RSA verification $s = $this->_os2ip($s); $m2 = $this->_rsavp1($s); if ($m2 === false) { user_error('Invalid signature'); return false; } $em = $this->_i2osp($m2, $this->k); if ($em === false) { user_error('Invalid signature'); return false; } // EMSA-PKCS1-v1_5 encoding $em2 = $this->_emsa_pkcs1_v1_5_encode($m, $this->k); $em3 = $this->_emsa_pkcs1_v1_5_encode_without_null($m, $this->k); if ($em2 === false && $em3 === false) { user_error('RSA modulus too short'); return false; } // Compare return ($em2 !== false && $this->_equals($em, $em2)) || ($em3 !== false && $this->_equals($em, $em3)); } /** * Set Encryption Mode * * Valid values include self::ENCRYPTION_OAEP and self::ENCRYPTION_PKCS1. * * @access public * @param int $mode */ function setEncryptionMode($mode) { $this->encryptionMode = $mode; } /** * Set Signature Mode * * Valid values include self::SIGNATURE_PSS and self::SIGNATURE_PKCS1 * * @access public * @param int $mode */ function setSignatureMode($mode) { $this->signatureMode = $mode; } /** * Set public key comment. * * @access public * @param string $comment */ function setComment($comment) { $this->comment = $comment; } /** * Get public key comment. * * @access public * @return string */ function getComment() { return $this->comment; } /** * Encryption * * Both self::ENCRYPTION_OAEP and self::ENCRYPTION_PKCS1 both place limits on how long $plaintext can be. * If $plaintext exceeds those limits it will be broken up so that it does and the resultant ciphertext's will * be concatenated together. * * @see self::decrypt() * @access public * @param string $plaintext * @return string */ function encrypt($plaintext) { switch ($this->encryptionMode) { case self::ENCRYPTION_NONE: $plaintext = str_split($plaintext, $this->k); $ciphertext = ''; foreach ($plaintext as $m) { $ciphertext.= $this->_raw_encrypt($m); } return $ciphertext; case self::ENCRYPTION_PKCS1: $length = $this->k - 11; if ($length <= 0) { return false; } $plaintext = str_split($plaintext, $length); $ciphertext = ''; foreach ($plaintext as $m) { $ciphertext.= $this->_rsaes_pkcs1_v1_5_encrypt($m); } return $ciphertext; //case self::ENCRYPTION_OAEP: default: $length = $this->k - 2 * $this->hLen - 2; if ($length <= 0) { return false; } $plaintext = str_split($plaintext, $length); $ciphertext = ''; foreach ($plaintext as $m) { $ciphertext.= $this->_rsaes_oaep_encrypt($m); } return $ciphertext; } } /** * Decryption * * @see self::encrypt() * @access public * @param string $ciphertext * @return string */ function decrypt($ciphertext) { if ($this->k <= 0) { return false; } $ciphertext = str_split($ciphertext, $this->k); $ciphertext[count($ciphertext) - 1] = str_pad($ciphertext[count($ciphertext) - 1], $this->k, chr(0), STR_PAD_LEFT); $plaintext = ''; switch ($this->encryptionMode) { case self::ENCRYPTION_NONE: $decrypt = '_raw_encrypt'; break; case self::ENCRYPTION_PKCS1: $decrypt = '_rsaes_pkcs1_v1_5_decrypt'; break; //case self::ENCRYPTION_OAEP: default: $decrypt = '_rsaes_oaep_decrypt'; } foreach ($ciphertext as $c) { $temp = $this->$decrypt($c); if ($temp === false) { return false; } $plaintext.= $temp; } return $plaintext; } /** * Create a signature * * @see self::verify() * @access public * @param string $message * @return string */ function sign($message) { if (empty($this->modulus) || empty($this->exponent)) { return false; } switch ($this->signatureMode) { case self::SIGNATURE_PKCS1: return $this->_rsassa_pkcs1_v1_5_sign($message); //case self::SIGNATURE_PSS: default: return $this->_rsassa_pss_sign($message); } } /** * Verifies a signature * * @see self::sign() * @access public * @param string $message * @param string $signature * @return bool */ function verify($message, $signature) { if (empty($this->modulus) || empty($this->exponent)) { return false; } switch ($this->signatureMode) { case self::SIGNATURE_PKCS1: return $this->_rsassa_pkcs1_v1_5_verify($message, $signature); //case self::SIGNATURE_PSS: default: return $this->_rsassa_pss_verify($message, $signature); } } /** * Extract raw BER from Base64 encoding * * @access private * @param string $str * @return string */ function _extractBER($str) { /* X.509 certs are assumed to be base64 encoded but sometimes they'll have additional things in them * above and beyond the ceritificate. * ie. some may have the following preceding the -----BEGIN CERTIFICATE----- line: * * Bag Attributes * localKeyID: 01 00 00 00 * subject=/O=organization/OU=org unit/CN=common name * issuer=/O=organization/CN=common name */ $temp = preg_replace('#.*?^-+[^-]+-+[\r\n ]*$#ms', '', $str, 1); // remove the -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- stuff $temp = preg_replace('#-+[^-]+-+#', '', $temp); // remove new lines $temp = str_replace(array("\r", "\n", ' '), '', $temp); $temp = preg_match('#^[a-zA-Z\d/+]*={0,2}$#', $temp) ? base64_decode($temp) : false; return $temp != false ? $temp : $str; } } vendor/phpseclib/phpseclib/phpseclib/Crypt/RC4.php000064400000022113147400355670016150 0ustar00 * setKey('abcdefgh'); * * $size = 10 * 1024; * $plaintext = ''; * for ($i = 0; $i < $size; $i++) { * $plaintext.= 'a'; * } * * echo $rc4->decrypt($rc4->encrypt($plaintext)); * ?> * * * @category Crypt * @package RC4 * @author Jim Wigginton * @copyright 2007 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; /** * Pure-PHP implementation of RC4. * * @package RC4 * @author Jim Wigginton * @access public */ class RC4 extends Base { /**#@+ * @access private * @see \phpseclib\Crypt\RC4::_crypt() */ const ENCRYPT = 0; const DECRYPT = 1; /**#@-*/ /** * Block Length of the cipher * * RC4 is a stream cipher * so we the block_size to 0 * * @see \phpseclib\Crypt\Base::block_size * @var int * @access private */ var $block_size = 0; /** * Key Length (in bytes) * * @see \phpseclib\Crypt\RC4::setKeyLength() * @var int * @access private */ var $key_length = 128; // = 1024 bits /** * The mcrypt specific name of the cipher * * @see \phpseclib\Crypt\Base::cipher_name_mcrypt * @var string * @access private */ var $cipher_name_mcrypt = 'arcfour'; /** * Holds whether performance-optimized $inline_crypt() can/should be used. * * @see \phpseclib\Crypt\Base::inline_crypt * @var mixed * @access private */ var $use_inline_crypt = false; // currently not available /** * The Key * * @see self::setKey() * @var string * @access private */ var $key; /** * The Key Stream for decryption and encryption * * @see self::setKey() * @var array * @access private */ var $stream; /** * Default Constructor. * * Determines whether or not the mcrypt extension should be used. * * @see \phpseclib\Crypt\Base::__construct() * @return \phpseclib\Crypt\RC4 * @access public */ function __construct() { parent::__construct(Base::MODE_STREAM); } /** * Test for engine validity * * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() * * @see \phpseclib\Crypt\Base::__construct() * @param int $engine * @access public * @return bool */ function isValidEngine($engine) { if ($engine == self::ENGINE_OPENSSL) { // quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1 // "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider" // in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not if (defined('OPENSSL_VERSION_TEXT') && version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) { return false; } if (version_compare(PHP_VERSION, '5.3.7') >= 0) { $this->cipher_name_openssl = 'rc4-40'; } else { switch (strlen($this->key)) { case 5: $this->cipher_name_openssl = 'rc4-40'; break; case 8: $this->cipher_name_openssl = 'rc4-64'; break; case 16: $this->cipher_name_openssl = 'rc4'; break; default: return false; } } } return parent::isValidEngine($engine); } /** * Dummy function. * * Some protocols, such as WEP, prepend an "initialization vector" to the key, effectively creating a new key [1]. * If you need to use an initialization vector in this manner, feel free to prepend it to the key, yourself, before * calling setKey(). * * [1] WEP's initialization vectors (IV's) are used in a somewhat insecure way. Since, in that protocol, * the IV's are relatively easy to predict, an attack described by * {@link http://www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf Scott Fluhrer, Itsik Mantin, and Adi Shamir} * can be used to quickly guess at the rest of the key. The following links elaborate: * * {@link http://www.rsa.com/rsalabs/node.asp?id=2009 http://www.rsa.com/rsalabs/node.asp?id=2009} * {@link http://en.wikipedia.org/wiki/Related_key_attack http://en.wikipedia.org/wiki/Related_key_attack} * * @param string $iv * @see self::setKey() * @access public */ function setIV($iv) { } /** * Sets the key length * * Keys can be between 1 and 256 bytes long. * * @access public * @param int $length */ function setKeyLength($length) { if ($length < 8) { $this->key_length = 1; } elseif ($length > 2048) { $this->key_length = 256; } else { $this->key_length = $length >> 3; } parent::setKeyLength($length); } /** * Encrypts a message. * * @see \phpseclib\Crypt\Base::decrypt() * @see self::_crypt() * @access public * @param string $plaintext * @return string $ciphertext */ function encrypt($plaintext) { if ($this->engine != self::ENGINE_INTERNAL) { return parent::encrypt($plaintext); } return $this->_crypt($plaintext, self::ENCRYPT); } /** * Decrypts a message. * * $this->decrypt($this->encrypt($plaintext)) == $this->encrypt($this->encrypt($plaintext)). * At least if the continuous buffer is disabled. * * @see \phpseclib\Crypt\Base::encrypt() * @see self::_crypt() * @access public * @param string $ciphertext * @return string $plaintext */ function decrypt($ciphertext) { if ($this->engine != self::ENGINE_INTERNAL) { return parent::decrypt($ciphertext); } return $this->_crypt($ciphertext, self::DECRYPT); } /** * Encrypts a block * * @access private * @param string $in */ function _encryptBlock($in) { // RC4 does not utilize this method } /** * Decrypts a block * * @access private * @param string $in */ function _decryptBlock($in) { // RC4 does not utilize this method } /** * Setup the key (expansion) * * @see \phpseclib\Crypt\Base::_setupKey() * @access private */ function _setupKey() { $key = $this->key; $keyLength = strlen($key); $keyStream = range(0, 255); $j = 0; for ($i = 0; $i < 256; $i++) { $j = ($j + $keyStream[$i] + ord($key[$i % $keyLength])) & 255; $temp = $keyStream[$i]; $keyStream[$i] = $keyStream[$j]; $keyStream[$j] = $temp; } $this->stream = array(); $this->stream[self::DECRYPT] = $this->stream[self::ENCRYPT] = array( 0, // index $i 0, // index $j $keyStream ); } /** * Encrypts or decrypts a message. * * @see self::encrypt() * @see self::decrypt() * @access private * @param string $text * @param int $mode * @return string $text */ function _crypt($text, $mode) { if ($this->changed) { $this->_setup(); $this->changed = false; } $stream = &$this->stream[$mode]; if ($this->continuousBuffer) { $i = &$stream[0]; $j = &$stream[1]; $keyStream = &$stream[2]; } else { $i = $stream[0]; $j = $stream[1]; $keyStream = $stream[2]; } $len = strlen($text); for ($k = 0; $k < $len; ++$k) { $i = ($i + 1) & 255; $ksi = $keyStream[$i]; $j = ($j + $ksi) & 255; $ksj = $keyStream[$j]; $keyStream[$i] = $ksj; $keyStream[$j] = $ksi; $text[$k] = $text[$k] ^ chr($keyStream[($ksj + $ksi) & 255]); } return $text; } } vendor/phpseclib/phpseclib/phpseclib/Crypt/RC2.php000064400000055106147400355670016156 0ustar00 * setKey('abcdefgh'); * * $plaintext = str_repeat('a', 1024); * * echo $rc2->decrypt($rc2->encrypt($plaintext)); * ?> * * * @category Crypt * @package RC2 * @author Patrick Monnerat * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; /** * Pure-PHP implementation of RC2. * * @package RC2 * @access public */ class RC2 extends Base { /** * Block Length of the cipher * * @see \phpseclib\Crypt\Base::block_size * @var int * @access private */ var $block_size = 8; /** * The Key * * @see \phpseclib\Crypt\Base::key * @see self::setKey() * @var string * @access private */ var $key; /** * The Original (unpadded) Key * * @see \phpseclib\Crypt\Base::key * @see self::setKey() * @see self::encrypt() * @see self::decrypt() * @var string * @access private */ var $orig_key = ''; /** * Don't truncate / null pad key * * @see \phpseclib\Crypt\Base::_clearBuffers() * @var bool * @access private */ var $skip_key_adjustment = true; /** * Key Length (in bytes) * * @see \phpseclib\Crypt\RC2::setKeyLength() * @var int * @access private */ var $key_length = 16; // = 128 bits /** * The mcrypt specific name of the cipher * * @see \phpseclib\Crypt\Base::cipher_name_mcrypt * @var string * @access private */ var $cipher_name_mcrypt = 'rc2'; /** * Optimizing value while CFB-encrypting * * @see \phpseclib\Crypt\Base::cfb_init_len * @var int * @access private */ var $cfb_init_len = 500; /** * The key length in bits. * * @see self::setKeyLength() * @see self::setKey() * @var int * @access private * @internal Should be in range [1..1024]. * @internal Changing this value after setting the key has no effect. */ var $default_key_length = 1024; /** * The key length in bits. * * @see self::isValidEnine() * @see self::setKey() * @var int * @access private * @internal Should be in range [1..1024]. */ var $current_key_length; /** * The Key Schedule * * @see self::_setupKey() * @var array * @access private */ var $keys; /** * Key expansion randomization table. * Twice the same 256-value sequence to save a modulus in key expansion. * * @see self::setKey() * @var array * @access private */ var $pitable = array( 0xD9, 0x78, 0xF9, 0xC4, 0x19, 0xDD, 0xB5, 0xED, 0x28, 0xE9, 0xFD, 0x79, 0x4A, 0xA0, 0xD8, 0x9D, 0xC6, 0x7E, 0x37, 0x83, 0x2B, 0x76, 0x53, 0x8E, 0x62, 0x4C, 0x64, 0x88, 0x44, 0x8B, 0xFB, 0xA2, 0x17, 0x9A, 0x59, 0xF5, 0x87, 0xB3, 0x4F, 0x13, 0x61, 0x45, 0x6D, 0x8D, 0x09, 0x81, 0x7D, 0x32, 0xBD, 0x8F, 0x40, 0xEB, 0x86, 0xB7, 0x7B, 0x0B, 0xF0, 0x95, 0x21, 0x22, 0x5C, 0x6B, 0x4E, 0x82, 0x54, 0xD6, 0x65, 0x93, 0xCE, 0x60, 0xB2, 0x1C, 0x73, 0x56, 0xC0, 0x14, 0xA7, 0x8C, 0xF1, 0xDC, 0x12, 0x75, 0xCA, 0x1F, 0x3B, 0xBE, 0xE4, 0xD1, 0x42, 0x3D, 0xD4, 0x30, 0xA3, 0x3C, 0xB6, 0x26, 0x6F, 0xBF, 0x0E, 0xDA, 0x46, 0x69, 0x07, 0x57, 0x27, 0xF2, 0x1D, 0x9B, 0xBC, 0x94, 0x43, 0x03, 0xF8, 0x11, 0xC7, 0xF6, 0x90, 0xEF, 0x3E, 0xE7, 0x06, 0xC3, 0xD5, 0x2F, 0xC8, 0x66, 0x1E, 0xD7, 0x08, 0xE8, 0xEA, 0xDE, 0x80, 0x52, 0xEE, 0xF7, 0x84, 0xAA, 0x72, 0xAC, 0x35, 0x4D, 0x6A, 0x2A, 0x96, 0x1A, 0xD2, 0x71, 0x5A, 0x15, 0x49, 0x74, 0x4B, 0x9F, 0xD0, 0x5E, 0x04, 0x18, 0xA4, 0xEC, 0xC2, 0xE0, 0x41, 0x6E, 0x0F, 0x51, 0xCB, 0xCC, 0x24, 0x91, 0xAF, 0x50, 0xA1, 0xF4, 0x70, 0x39, 0x99, 0x7C, 0x3A, 0x85, 0x23, 0xB8, 0xB4, 0x7A, 0xFC, 0x02, 0x36, 0x5B, 0x25, 0x55, 0x97, 0x31, 0x2D, 0x5D, 0xFA, 0x98, 0xE3, 0x8A, 0x92, 0xAE, 0x05, 0xDF, 0x29, 0x10, 0x67, 0x6C, 0xBA, 0xC9, 0xD3, 0x00, 0xE6, 0xCF, 0xE1, 0x9E, 0xA8, 0x2C, 0x63, 0x16, 0x01, 0x3F, 0x58, 0xE2, 0x89, 0xA9, 0x0D, 0x38, 0x34, 0x1B, 0xAB, 0x33, 0xFF, 0xB0, 0xBB, 0x48, 0x0C, 0x5F, 0xB9, 0xB1, 0xCD, 0x2E, 0xC5, 0xF3, 0xDB, 0x47, 0xE5, 0xA5, 0x9C, 0x77, 0x0A, 0xA6, 0x20, 0x68, 0xFE, 0x7F, 0xC1, 0xAD, 0xD9, 0x78, 0xF9, 0xC4, 0x19, 0xDD, 0xB5, 0xED, 0x28, 0xE9, 0xFD, 0x79, 0x4A, 0xA0, 0xD8, 0x9D, 0xC6, 0x7E, 0x37, 0x83, 0x2B, 0x76, 0x53, 0x8E, 0x62, 0x4C, 0x64, 0x88, 0x44, 0x8B, 0xFB, 0xA2, 0x17, 0x9A, 0x59, 0xF5, 0x87, 0xB3, 0x4F, 0x13, 0x61, 0x45, 0x6D, 0x8D, 0x09, 0x81, 0x7D, 0x32, 0xBD, 0x8F, 0x40, 0xEB, 0x86, 0xB7, 0x7B, 0x0B, 0xF0, 0x95, 0x21, 0x22, 0x5C, 0x6B, 0x4E, 0x82, 0x54, 0xD6, 0x65, 0x93, 0xCE, 0x60, 0xB2, 0x1C, 0x73, 0x56, 0xC0, 0x14, 0xA7, 0x8C, 0xF1, 0xDC, 0x12, 0x75, 0xCA, 0x1F, 0x3B, 0xBE, 0xE4, 0xD1, 0x42, 0x3D, 0xD4, 0x30, 0xA3, 0x3C, 0xB6, 0x26, 0x6F, 0xBF, 0x0E, 0xDA, 0x46, 0x69, 0x07, 0x57, 0x27, 0xF2, 0x1D, 0x9B, 0xBC, 0x94, 0x43, 0x03, 0xF8, 0x11, 0xC7, 0xF6, 0x90, 0xEF, 0x3E, 0xE7, 0x06, 0xC3, 0xD5, 0x2F, 0xC8, 0x66, 0x1E, 0xD7, 0x08, 0xE8, 0xEA, 0xDE, 0x80, 0x52, 0xEE, 0xF7, 0x84, 0xAA, 0x72, 0xAC, 0x35, 0x4D, 0x6A, 0x2A, 0x96, 0x1A, 0xD2, 0x71, 0x5A, 0x15, 0x49, 0x74, 0x4B, 0x9F, 0xD0, 0x5E, 0x04, 0x18, 0xA4, 0xEC, 0xC2, 0xE0, 0x41, 0x6E, 0x0F, 0x51, 0xCB, 0xCC, 0x24, 0x91, 0xAF, 0x50, 0xA1, 0xF4, 0x70, 0x39, 0x99, 0x7C, 0x3A, 0x85, 0x23, 0xB8, 0xB4, 0x7A, 0xFC, 0x02, 0x36, 0x5B, 0x25, 0x55, 0x97, 0x31, 0x2D, 0x5D, 0xFA, 0x98, 0xE3, 0x8A, 0x92, 0xAE, 0x05, 0xDF, 0x29, 0x10, 0x67, 0x6C, 0xBA, 0xC9, 0xD3, 0x00, 0xE6, 0xCF, 0xE1, 0x9E, 0xA8, 0x2C, 0x63, 0x16, 0x01, 0x3F, 0x58, 0xE2, 0x89, 0xA9, 0x0D, 0x38, 0x34, 0x1B, 0xAB, 0x33, 0xFF, 0xB0, 0xBB, 0x48, 0x0C, 0x5F, 0xB9, 0xB1, 0xCD, 0x2E, 0xC5, 0xF3, 0xDB, 0x47, 0xE5, 0xA5, 0x9C, 0x77, 0x0A, 0xA6, 0x20, 0x68, 0xFE, 0x7F, 0xC1, 0xAD ); /** * Inverse key expansion randomization table. * * @see self::setKey() * @var array * @access private */ var $invpitable = array( 0xD1, 0xDA, 0xB9, 0x6F, 0x9C, 0xC8, 0x78, 0x66, 0x80, 0x2C, 0xF8, 0x37, 0xEA, 0xE0, 0x62, 0xA4, 0xCB, 0x71, 0x50, 0x27, 0x4B, 0x95, 0xD9, 0x20, 0x9D, 0x04, 0x91, 0xE3, 0x47, 0x6A, 0x7E, 0x53, 0xFA, 0x3A, 0x3B, 0xB4, 0xA8, 0xBC, 0x5F, 0x68, 0x08, 0xCA, 0x8F, 0x14, 0xD7, 0xC0, 0xEF, 0x7B, 0x5B, 0xBF, 0x2F, 0xE5, 0xE2, 0x8C, 0xBA, 0x12, 0xE1, 0xAF, 0xB2, 0x54, 0x5D, 0x59, 0x76, 0xDB, 0x32, 0xA2, 0x58, 0x6E, 0x1C, 0x29, 0x64, 0xF3, 0xE9, 0x96, 0x0C, 0x98, 0x19, 0x8D, 0x3E, 0x26, 0xAB, 0xA5, 0x85, 0x16, 0x40, 0xBD, 0x49, 0x67, 0xDC, 0x22, 0x94, 0xBB, 0x3C, 0xC1, 0x9B, 0xEB, 0x45, 0x28, 0x18, 0xD8, 0x1A, 0x42, 0x7D, 0xCC, 0xFB, 0x65, 0x8E, 0x3D, 0xCD, 0x2A, 0xA3, 0x60, 0xAE, 0x93, 0x8A, 0x48, 0x97, 0x51, 0x15, 0xF7, 0x01, 0x0B, 0xB7, 0x36, 0xB1, 0x2E, 0x11, 0xFD, 0x84, 0x2D, 0x3F, 0x13, 0x88, 0xB3, 0x34, 0x24, 0x1B, 0xDE, 0xC5, 0x1D, 0x4D, 0x2B, 0x17, 0x31, 0x74, 0xA9, 0xC6, 0x43, 0x6D, 0x39, 0x90, 0xBE, 0xC3, 0xB0, 0x21, 0x6B, 0xF6, 0x0F, 0xD5, 0x99, 0x0D, 0xAC, 0x1F, 0x5C, 0x9E, 0xF5, 0xF9, 0x4C, 0xD6, 0xDF, 0x89, 0xE4, 0x8B, 0xFF, 0xC7, 0xAA, 0xE7, 0xED, 0x46, 0x25, 0xB6, 0x06, 0x5E, 0x35, 0xB5, 0xEC, 0xCE, 0xE8, 0x6C, 0x30, 0x55, 0x61, 0x4A, 0xFE, 0xA0, 0x79, 0x03, 0xF0, 0x10, 0x72, 0x7C, 0xCF, 0x52, 0xA6, 0xA7, 0xEE, 0x44, 0xD3, 0x9A, 0x57, 0x92, 0xD0, 0x5A, 0x7A, 0x41, 0x7F, 0x0E, 0x00, 0x63, 0xF2, 0x4F, 0x05, 0x83, 0xC9, 0xA1, 0xD4, 0xDD, 0xC4, 0x56, 0xF4, 0xD2, 0x77, 0x81, 0x09, 0x82, 0x33, 0x9F, 0x07, 0x86, 0x75, 0x38, 0x4E, 0x69, 0xF1, 0xAD, 0x23, 0x73, 0x87, 0x70, 0x02, 0xC2, 0x1E, 0xB8, 0x0A, 0xFC, 0xE6 ); /** * Test for engine validity * * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() * * @see \phpseclib\Crypt\Base::__construct() * @param int $engine * @access public * @return bool */ function isValidEngine($engine) { switch ($engine) { case self::ENGINE_OPENSSL: // quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1 // "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider" // in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not if (defined('OPENSSL_VERSION_TEXT') && version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) { return false; } if ($this->current_key_length != 128 || strlen($this->orig_key) < 16) { return false; } $this->cipher_name_openssl_ecb = 'rc2-ecb'; $this->cipher_name_openssl = 'rc2-' . $this->_openssl_translate_mode(); } return parent::isValidEngine($engine); } /** * Sets the key length. * * Valid key lengths are 8 to 1024. * Calling this function after setting the key has no effect until the next * \phpseclib\Crypt\RC2::setKey() call. * * @access public * @param int $length in bits */ function setKeyLength($length) { if ($length < 8) { $this->default_key_length = 1; } elseif ($length > 1024) { $this->default_key_length = 128; } else { $this->default_key_length = $length; } $this->current_key_length = $this->default_key_length; parent::setKeyLength($length); } /** * Returns the current key length * * @access public * @return int */ function getKeyLength() { return $this->current_key_length; } /** * Sets the key. * * Keys can be of any length. RC2, itself, uses 8 to 1024 bit keys (eg. * strlen($key) <= 128), however, we only use the first 128 bytes if $key * has more then 128 bytes in it, and set $key to a single null byte if * it is empty. * * If the key is not explicitly set, it'll be assumed to be a single * null byte. * * @see \phpseclib\Crypt\Base::setKey() * @access public * @param string $key * @param int $t1 optional Effective key length in bits. */ function setKey($key, $t1 = 0) { $this->orig_key = $key; if ($t1 <= 0) { $t1 = $this->default_key_length; } elseif ($t1 > 1024) { $t1 = 1024; } $this->current_key_length = $t1; // Key byte count should be 1..128. $key = strlen($key) ? substr($key, 0, 128) : "\x00"; $t = strlen($key); // The mcrypt RC2 implementation only supports effective key length // of 1024 bits. It is however possible to handle effective key // lengths in range 1..1024 by expanding the key and applying // inverse pitable mapping to the first byte before submitting it // to mcrypt. // Key expansion. $l = array_values(unpack('C*', $key)); $t8 = ($t1 + 7) >> 3; $tm = 0xFF >> (8 * $t8 - $t1); // Expand key. $pitable = $this->pitable; for ($i = $t; $i < 128; $i++) { $l[$i] = $pitable[$l[$i - 1] + $l[$i - $t]]; } $i = 128 - $t8; $l[$i] = $pitable[$l[$i] & $tm]; while ($i--) { $l[$i] = $pitable[$l[$i + 1] ^ $l[$i + $t8]]; } // Prepare the key for mcrypt. $l[0] = $this->invpitable[$l[0]]; array_unshift($l, 'C*'); parent::setKey(call_user_func_array('pack', $l)); } /** * Encrypts a message. * * Mostly a wrapper for \phpseclib\Crypt\Base::encrypt, with some additional OpenSSL handling code * * @see self::decrypt() * @access public * @param string $plaintext * @return string $ciphertext */ function encrypt($plaintext) { if ($this->engine == self::ENGINE_OPENSSL) { $temp = $this->key; $this->key = $this->orig_key; $result = parent::encrypt($plaintext); $this->key = $temp; return $result; } return parent::encrypt($plaintext); } /** * Decrypts a message. * * Mostly a wrapper for \phpseclib\Crypt\Base::decrypt, with some additional OpenSSL handling code * * @see self::encrypt() * @access public * @param string $ciphertext * @return string $plaintext */ function decrypt($ciphertext) { if ($this->engine == self::ENGINE_OPENSSL) { $temp = $this->key; $this->key = $this->orig_key; $result = parent::decrypt($ciphertext); $this->key = $temp; return $result; } return parent::decrypt($ciphertext); } /** * Encrypts a block * * @see \phpseclib\Crypt\Base::_encryptBlock() * @see \phpseclib\Crypt\Base::encrypt() * @access private * @param string $in * @return string */ function _encryptBlock($in) { list($r0, $r1, $r2, $r3) = array_values(unpack('v*', $in)); $keys = $this->keys; $limit = 20; $actions = array($limit => 44, 44 => 64); $j = 0; for (;;) { // Mixing round. $r0 = (($r0 + $keys[$j++] + ((($r1 ^ $r2) & $r3) ^ $r1)) & 0xFFFF) << 1; $r0 |= $r0 >> 16; $r1 = (($r1 + $keys[$j++] + ((($r2 ^ $r3) & $r0) ^ $r2)) & 0xFFFF) << 2; $r1 |= $r1 >> 16; $r2 = (($r2 + $keys[$j++] + ((($r3 ^ $r0) & $r1) ^ $r3)) & 0xFFFF) << 3; $r2 |= $r2 >> 16; $r3 = (($r3 + $keys[$j++] + ((($r0 ^ $r1) & $r2) ^ $r0)) & 0xFFFF) << 5; $r3 |= $r3 >> 16; if ($j === $limit) { if ($limit === 64) { break; } // Mashing round. $r0 += $keys[$r3 & 0x3F]; $r1 += $keys[$r0 & 0x3F]; $r2 += $keys[$r1 & 0x3F]; $r3 += $keys[$r2 & 0x3F]; $limit = $actions[$limit]; } } return pack('vvvv', $r0, $r1, $r2, $r3); } /** * Decrypts a block * * @see \phpseclib\Crypt\Base::_decryptBlock() * @see \phpseclib\Crypt\Base::decrypt() * @access private * @param string $in * @return string */ function _decryptBlock($in) { list($r0, $r1, $r2, $r3) = array_values(unpack('v*', $in)); $keys = $this->keys; $limit = 44; $actions = array($limit => 20, 20 => 0); $j = 64; for (;;) { // R-mixing round. $r3 = ($r3 | ($r3 << 16)) >> 5; $r3 = ($r3 - $keys[--$j] - ((($r0 ^ $r1) & $r2) ^ $r0)) & 0xFFFF; $r2 = ($r2 | ($r2 << 16)) >> 3; $r2 = ($r2 - $keys[--$j] - ((($r3 ^ $r0) & $r1) ^ $r3)) & 0xFFFF; $r1 = ($r1 | ($r1 << 16)) >> 2; $r1 = ($r1 - $keys[--$j] - ((($r2 ^ $r3) & $r0) ^ $r2)) & 0xFFFF; $r0 = ($r0 | ($r0 << 16)) >> 1; $r0 = ($r0 - $keys[--$j] - ((($r1 ^ $r2) & $r3) ^ $r1)) & 0xFFFF; if ($j === $limit) { if ($limit === 0) { break; } // R-mashing round. $r3 = ($r3 - $keys[$r2 & 0x3F]) & 0xFFFF; $r2 = ($r2 - $keys[$r1 & 0x3F]) & 0xFFFF; $r1 = ($r1 - $keys[$r0 & 0x3F]) & 0xFFFF; $r0 = ($r0 - $keys[$r3 & 0x3F]) & 0xFFFF; $limit = $actions[$limit]; } } return pack('vvvv', $r0, $r1, $r2, $r3); } /** * Setup the \phpseclib\Crypt\Base::ENGINE_MCRYPT $engine * * @see \phpseclib\Crypt\Base::_setupMcrypt() * @access private */ function _setupMcrypt() { if (!isset($this->key)) { $this->setKey(''); } parent::_setupMcrypt(); } /** * Creates the key schedule * * @see \phpseclib\Crypt\Base::_setupKey() * @access private */ function _setupKey() { if (!isset($this->key)) { $this->setKey(''); } // Key has already been expanded in \phpseclib\Crypt\RC2::setKey(): // Only the first value must be altered. $l = unpack('Ca/Cb/v*', $this->key); array_unshift($l, $this->pitable[$l['a']] | ($l['b'] << 8)); unset($l['a']); unset($l['b']); $this->keys = $l; } /** * Setup the performance-optimized function for de/encrypt() * * @see \phpseclib\Crypt\Base::_setupInlineCrypt() * @access private */ function _setupInlineCrypt() { $lambda_functions =& self::_getLambdaFunctions(); // The first 10 generated $lambda_functions will use the $keys hardcoded as integers // for the mixing rounds, for better inline crypt performance [~20% faster]. // But for memory reason we have to limit those ultra-optimized $lambda_functions to an amount of 10. // (Currently, for Crypt_RC2, one generated $lambda_function cost on php5.5@32bit ~60kb unfreeable mem and ~100kb on php5.5@64bit) $gen_hi_opt_code = (bool)(count($lambda_functions) < 10); // Generation of a unique hash for our generated code $code_hash = "Crypt_RC2, {$this->mode}"; if ($gen_hi_opt_code) { $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key); } // Is there a re-usable $lambda_functions in there? // If not, we have to create it. if (!isset($lambda_functions[$code_hash])) { // Init code for both, encrypt and decrypt. $init_crypt = '$keys = $self->keys;'; switch (true) { case $gen_hi_opt_code: $keys = $this->keys; default: $keys = array(); foreach ($this->keys as $k => $v) { $keys[$k] = '$keys[' . $k . ']'; } } // $in is the current 8 bytes block which has to be en/decrypt $encrypt_block = $decrypt_block = ' $in = unpack("v4", $in); $r0 = $in[1]; $r1 = $in[2]; $r2 = $in[3]; $r3 = $in[4]; '; // Create code for encryption. $limit = 20; $actions = array($limit => 44, 44 => 64); $j = 0; for (;;) { // Mixing round. $encrypt_block .= ' $r0 = (($r0 + ' . $keys[$j++] . ' + ((($r1 ^ $r2) & $r3) ^ $r1)) & 0xFFFF) << 1; $r0 |= $r0 >> 16; $r1 = (($r1 + ' . $keys[$j++] . ' + ((($r2 ^ $r3) & $r0) ^ $r2)) & 0xFFFF) << 2; $r1 |= $r1 >> 16; $r2 = (($r2 + ' . $keys[$j++] . ' + ((($r3 ^ $r0) & $r1) ^ $r3)) & 0xFFFF) << 3; $r2 |= $r2 >> 16; $r3 = (($r3 + ' . $keys[$j++] . ' + ((($r0 ^ $r1) & $r2) ^ $r0)) & 0xFFFF) << 5; $r3 |= $r3 >> 16;'; if ($j === $limit) { if ($limit === 64) { break; } // Mashing round. $encrypt_block .= ' $r0 += $keys[$r3 & 0x3F]; $r1 += $keys[$r0 & 0x3F]; $r2 += $keys[$r1 & 0x3F]; $r3 += $keys[$r2 & 0x3F];'; $limit = $actions[$limit]; } } $encrypt_block .= '$in = pack("v4", $r0, $r1, $r2, $r3);'; // Create code for decryption. $limit = 44; $actions = array($limit => 20, 20 => 0); $j = 64; for (;;) { // R-mixing round. $decrypt_block .= ' $r3 = ($r3 | ($r3 << 16)) >> 5; $r3 = ($r3 - ' . $keys[--$j] . ' - ((($r0 ^ $r1) & $r2) ^ $r0)) & 0xFFFF; $r2 = ($r2 | ($r2 << 16)) >> 3; $r2 = ($r2 - ' . $keys[--$j] . ' - ((($r3 ^ $r0) & $r1) ^ $r3)) & 0xFFFF; $r1 = ($r1 | ($r1 << 16)) >> 2; $r1 = ($r1 - ' . $keys[--$j] . ' - ((($r2 ^ $r3) & $r0) ^ $r2)) & 0xFFFF; $r0 = ($r0 | ($r0 << 16)) >> 1; $r0 = ($r0 - ' . $keys[--$j] . ' - ((($r1 ^ $r2) & $r3) ^ $r1)) & 0xFFFF;'; if ($j === $limit) { if ($limit === 0) { break; } // R-mashing round. $decrypt_block .= ' $r3 = ($r3 - $keys[$r2 & 0x3F]) & 0xFFFF; $r2 = ($r2 - $keys[$r1 & 0x3F]) & 0xFFFF; $r1 = ($r1 - $keys[$r0 & 0x3F]) & 0xFFFF; $r0 = ($r0 - $keys[$r3 & 0x3F]) & 0xFFFF;'; $limit = $actions[$limit]; } } $decrypt_block .= '$in = pack("v4", $r0, $r1, $r2, $r3);'; // Creates the inline-crypt function $lambda_functions[$code_hash] = $this->_createInlineCryptFunction( array( 'init_crypt' => $init_crypt, 'encrypt_block' => $encrypt_block, 'decrypt_block' => $decrypt_block ) ); } // Set the inline-crypt function as callback in: $this->inline_crypt $this->inline_crypt = $lambda_functions[$code_hash]; } } vendor/phpseclib/phpseclib/phpseclib/Crypt/Twofish.php000064400000113603147400355670017210 0ustar00 * setKey('12345678901234567890123456789012'); * * $plaintext = str_repeat('a', 1024); * * echo $twofish->decrypt($twofish->encrypt($plaintext)); * ?> * * * @category Crypt * @package Twofish * @author Jim Wigginton * @author Hans-Juergen Petrich * @copyright 2007 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; /** * Pure-PHP implementation of Twofish. * * @package Twofish * @author Jim Wigginton * @author Hans-Juergen Petrich * @access public */ class Twofish extends Base { /** * The mcrypt specific name of the cipher * * @see \phpseclib\Crypt\Base::cipher_name_mcrypt * @var string * @access private */ var $cipher_name_mcrypt = 'twofish'; /** * Optimizing value while CFB-encrypting * * @see \phpseclib\Crypt\Base::cfb_init_len * @var int * @access private */ var $cfb_init_len = 800; /** * Q-Table * * @var array * @access private */ var $q0 = array( 0xA9, 0x67, 0xB3, 0xE8, 0x04, 0xFD, 0xA3, 0x76, 0x9A, 0x92, 0x80, 0x78, 0xE4, 0xDD, 0xD1, 0x38, 0x0D, 0xC6, 0x35, 0x98, 0x18, 0xF7, 0xEC, 0x6C, 0x43, 0x75, 0x37, 0x26, 0xFA, 0x13, 0x94, 0x48, 0xF2, 0xD0, 0x8B, 0x30, 0x84, 0x54, 0xDF, 0x23, 0x19, 0x5B, 0x3D, 0x59, 0xF3, 0xAE, 0xA2, 0x82, 0x63, 0x01, 0x83, 0x2E, 0xD9, 0x51, 0x9B, 0x7C, 0xA6, 0xEB, 0xA5, 0xBE, 0x16, 0x0C, 0xE3, 0x61, 0xC0, 0x8C, 0x3A, 0xF5, 0x73, 0x2C, 0x25, 0x0B, 0xBB, 0x4E, 0x89, 0x6B, 0x53, 0x6A, 0xB4, 0xF1, 0xE1, 0xE6, 0xBD, 0x45, 0xE2, 0xF4, 0xB6, 0x66, 0xCC, 0x95, 0x03, 0x56, 0xD4, 0x1C, 0x1E, 0xD7, 0xFB, 0xC3, 0x8E, 0xB5, 0xE9, 0xCF, 0xBF, 0xBA, 0xEA, 0x77, 0x39, 0xAF, 0x33, 0xC9, 0x62, 0x71, 0x81, 0x79, 0x09, 0xAD, 0x24, 0xCD, 0xF9, 0xD8, 0xE5, 0xC5, 0xB9, 0x4D, 0x44, 0x08, 0x86, 0xE7, 0xA1, 0x1D, 0xAA, 0xED, 0x06, 0x70, 0xB2, 0xD2, 0x41, 0x7B, 0xA0, 0x11, 0x31, 0xC2, 0x27, 0x90, 0x20, 0xF6, 0x60, 0xFF, 0x96, 0x5C, 0xB1, 0xAB, 0x9E, 0x9C, 0x52, 0x1B, 0x5F, 0x93, 0x0A, 0xEF, 0x91, 0x85, 0x49, 0xEE, 0x2D, 0x4F, 0x8F, 0x3B, 0x47, 0x87, 0x6D, 0x46, 0xD6, 0x3E, 0x69, 0x64, 0x2A, 0xCE, 0xCB, 0x2F, 0xFC, 0x97, 0x05, 0x7A, 0xAC, 0x7F, 0xD5, 0x1A, 0x4B, 0x0E, 0xA7, 0x5A, 0x28, 0x14, 0x3F, 0x29, 0x88, 0x3C, 0x4C, 0x02, 0xB8, 0xDA, 0xB0, 0x17, 0x55, 0x1F, 0x8A, 0x7D, 0x57, 0xC7, 0x8D, 0x74, 0xB7, 0xC4, 0x9F, 0x72, 0x7E, 0x15, 0x22, 0x12, 0x58, 0x07, 0x99, 0x34, 0x6E, 0x50, 0xDE, 0x68, 0x65, 0xBC, 0xDB, 0xF8, 0xC8, 0xA8, 0x2B, 0x40, 0xDC, 0xFE, 0x32, 0xA4, 0xCA, 0x10, 0x21, 0xF0, 0xD3, 0x5D, 0x0F, 0x00, 0x6F, 0x9D, 0x36, 0x42, 0x4A, 0x5E, 0xC1, 0xE0 ); /** * Q-Table * * @var array * @access private */ var $q1 = array( 0x75, 0xF3, 0xC6, 0xF4, 0xDB, 0x7B, 0xFB, 0xC8, 0x4A, 0xD3, 0xE6, 0x6B, 0x45, 0x7D, 0xE8, 0x4B, 0xD6, 0x32, 0xD8, 0xFD, 0x37, 0x71, 0xF1, 0xE1, 0x30, 0x0F, 0xF8, 0x1B, 0x87, 0xFA, 0x06, 0x3F, 0x5E, 0xBA, 0xAE, 0x5B, 0x8A, 0x00, 0xBC, 0x9D, 0x6D, 0xC1, 0xB1, 0x0E, 0x80, 0x5D, 0xD2, 0xD5, 0xA0, 0x84, 0x07, 0x14, 0xB5, 0x90, 0x2C, 0xA3, 0xB2, 0x73, 0x4C, 0x54, 0x92, 0x74, 0x36, 0x51, 0x38, 0xB0, 0xBD, 0x5A, 0xFC, 0x60, 0x62, 0x96, 0x6C, 0x42, 0xF7, 0x10, 0x7C, 0x28, 0x27, 0x8C, 0x13, 0x95, 0x9C, 0xC7, 0x24, 0x46, 0x3B, 0x70, 0xCA, 0xE3, 0x85, 0xCB, 0x11, 0xD0, 0x93, 0xB8, 0xA6, 0x83, 0x20, 0xFF, 0x9F, 0x77, 0xC3, 0xCC, 0x03, 0x6F, 0x08, 0xBF, 0x40, 0xE7, 0x2B, 0xE2, 0x79, 0x0C, 0xAA, 0x82, 0x41, 0x3A, 0xEA, 0xB9, 0xE4, 0x9A, 0xA4, 0x97, 0x7E, 0xDA, 0x7A, 0x17, 0x66, 0x94, 0xA1, 0x1D, 0x3D, 0xF0, 0xDE, 0xB3, 0x0B, 0x72, 0xA7, 0x1C, 0xEF, 0xD1, 0x53, 0x3E, 0x8F, 0x33, 0x26, 0x5F, 0xEC, 0x76, 0x2A, 0x49, 0x81, 0x88, 0xEE, 0x21, 0xC4, 0x1A, 0xEB, 0xD9, 0xC5, 0x39, 0x99, 0xCD, 0xAD, 0x31, 0x8B, 0x01, 0x18, 0x23, 0xDD, 0x1F, 0x4E, 0x2D, 0xF9, 0x48, 0x4F, 0xF2, 0x65, 0x8E, 0x78, 0x5C, 0x58, 0x19, 0x8D, 0xE5, 0x98, 0x57, 0x67, 0x7F, 0x05, 0x64, 0xAF, 0x63, 0xB6, 0xFE, 0xF5, 0xB7, 0x3C, 0xA5, 0xCE, 0xE9, 0x68, 0x44, 0xE0, 0x4D, 0x43, 0x69, 0x29, 0x2E, 0xAC, 0x15, 0x59, 0xA8, 0x0A, 0x9E, 0x6E, 0x47, 0xDF, 0x34, 0x35, 0x6A, 0xCF, 0xDC, 0x22, 0xC9, 0xC0, 0x9B, 0x89, 0xD4, 0xED, 0xAB, 0x12, 0xA2, 0x0D, 0x52, 0xBB, 0x02, 0x2F, 0xA9, 0xD7, 0x61, 0x1E, 0xB4, 0x50, 0x04, 0xF6, 0xC2, 0x16, 0x25, 0x86, 0x56, 0x55, 0x09, 0xBE, 0x91 ); /** * M-Table * * @var array * @access private */ var $m0 = array( 0xBCBC3275, 0xECEC21F3, 0x202043C6, 0xB3B3C9F4, 0xDADA03DB, 0x02028B7B, 0xE2E22BFB, 0x9E9EFAC8, 0xC9C9EC4A, 0xD4D409D3, 0x18186BE6, 0x1E1E9F6B, 0x98980E45, 0xB2B2387D, 0xA6A6D2E8, 0x2626B74B, 0x3C3C57D6, 0x93938A32, 0x8282EED8, 0x525298FD, 0x7B7BD437, 0xBBBB3771, 0x5B5B97F1, 0x474783E1, 0x24243C30, 0x5151E20F, 0xBABAC6F8, 0x4A4AF31B, 0xBFBF4887, 0x0D0D70FA, 0xB0B0B306, 0x7575DE3F, 0xD2D2FD5E, 0x7D7D20BA, 0x666631AE, 0x3A3AA35B, 0x59591C8A, 0x00000000, 0xCDCD93BC, 0x1A1AE09D, 0xAEAE2C6D, 0x7F7FABC1, 0x2B2BC7B1, 0xBEBEB90E, 0xE0E0A080, 0x8A8A105D, 0x3B3B52D2, 0x6464BAD5, 0xD8D888A0, 0xE7E7A584, 0x5F5FE807, 0x1B1B1114, 0x2C2CC2B5, 0xFCFCB490, 0x3131272C, 0x808065A3, 0x73732AB2, 0x0C0C8173, 0x79795F4C, 0x6B6B4154, 0x4B4B0292, 0x53536974, 0x94948F36, 0x83831F51, 0x2A2A3638, 0xC4C49CB0, 0x2222C8BD, 0xD5D5F85A, 0xBDBDC3FC, 0x48487860, 0xFFFFCE62, 0x4C4C0796, 0x4141776C, 0xC7C7E642, 0xEBEB24F7, 0x1C1C1410, 0x5D5D637C, 0x36362228, 0x6767C027, 0xE9E9AF8C, 0x4444F913, 0x1414EA95, 0xF5F5BB9C, 0xCFCF18C7, 0x3F3F2D24, 0xC0C0E346, 0x7272DB3B, 0x54546C70, 0x29294CCA, 0xF0F035E3, 0x0808FE85, 0xC6C617CB, 0xF3F34F11, 0x8C8CE4D0, 0xA4A45993, 0xCACA96B8, 0x68683BA6, 0xB8B84D83, 0x38382820, 0xE5E52EFF, 0xADAD569F, 0x0B0B8477, 0xC8C81DC3, 0x9999FFCC, 0x5858ED03, 0x19199A6F, 0x0E0E0A08, 0x95957EBF, 0x70705040, 0xF7F730E7, 0x6E6ECF2B, 0x1F1F6EE2, 0xB5B53D79, 0x09090F0C, 0x616134AA, 0x57571682, 0x9F9F0B41, 0x9D9D803A, 0x111164EA, 0x2525CDB9, 0xAFAFDDE4, 0x4545089A, 0xDFDF8DA4, 0xA3A35C97, 0xEAEAD57E, 0x353558DA, 0xEDEDD07A, 0x4343FC17, 0xF8F8CB66, 0xFBFBB194, 0x3737D3A1, 0xFAFA401D, 0xC2C2683D, 0xB4B4CCF0, 0x32325DDE, 0x9C9C71B3, 0x5656E70B, 0xE3E3DA72, 0x878760A7, 0x15151B1C, 0xF9F93AEF, 0x6363BFD1, 0x3434A953, 0x9A9A853E, 0xB1B1428F, 0x7C7CD133, 0x88889B26, 0x3D3DA65F, 0xA1A1D7EC, 0xE4E4DF76, 0x8181942A, 0x91910149, 0x0F0FFB81, 0xEEEEAA88, 0x161661EE, 0xD7D77321, 0x9797F5C4, 0xA5A5A81A, 0xFEFE3FEB, 0x6D6DB5D9, 0x7878AEC5, 0xC5C56D39, 0x1D1DE599, 0x7676A4CD, 0x3E3EDCAD, 0xCBCB6731, 0xB6B6478B, 0xEFEF5B01, 0x12121E18, 0x6060C523, 0x6A6AB0DD, 0x4D4DF61F, 0xCECEE94E, 0xDEDE7C2D, 0x55559DF9, 0x7E7E5A48, 0x2121B24F, 0x03037AF2, 0xA0A02665, 0x5E5E198E, 0x5A5A6678, 0x65654B5C, 0x62624E58, 0xFDFD4519, 0x0606F48D, 0x404086E5, 0xF2F2BE98, 0x3333AC57, 0x17179067, 0x05058E7F, 0xE8E85E05, 0x4F4F7D64, 0x89896AAF, 0x10109563, 0x74742FB6, 0x0A0A75FE, 0x5C5C92F5, 0x9B9B74B7, 0x2D2D333C, 0x3030D6A5, 0x2E2E49CE, 0x494989E9, 0x46467268, 0x77775544, 0xA8A8D8E0, 0x9696044D, 0x2828BD43, 0xA9A92969, 0xD9D97929, 0x8686912E, 0xD1D187AC, 0xF4F44A15, 0x8D8D1559, 0xD6D682A8, 0xB9B9BC0A, 0x42420D9E, 0xF6F6C16E, 0x2F2FB847, 0xDDDD06DF, 0x23233934, 0xCCCC6235, 0xF1F1C46A, 0xC1C112CF, 0x8585EBDC, 0x8F8F9E22, 0x7171A1C9, 0x9090F0C0, 0xAAAA539B, 0x0101F189, 0x8B8BE1D4, 0x4E4E8CED, 0x8E8E6FAB, 0xABABA212, 0x6F6F3EA2, 0xE6E6540D, 0xDBDBF252, 0x92927BBB, 0xB7B7B602, 0x6969CA2F, 0x3939D9A9, 0xD3D30CD7, 0xA7A72361, 0xA2A2AD1E, 0xC3C399B4, 0x6C6C4450, 0x07070504, 0x04047FF6, 0x272746C2, 0xACACA716, 0xD0D07625, 0x50501386, 0xDCDCF756, 0x84841A55, 0xE1E15109, 0x7A7A25BE, 0x1313EF91 ); /** * M-Table * * @var array * @access private */ var $m1 = array( 0xA9D93939, 0x67901717, 0xB3719C9C, 0xE8D2A6A6, 0x04050707, 0xFD985252, 0xA3658080, 0x76DFE4E4, 0x9A084545, 0x92024B4B, 0x80A0E0E0, 0x78665A5A, 0xE4DDAFAF, 0xDDB06A6A, 0xD1BF6363, 0x38362A2A, 0x0D54E6E6, 0xC6432020, 0x3562CCCC, 0x98BEF2F2, 0x181E1212, 0xF724EBEB, 0xECD7A1A1, 0x6C774141, 0x43BD2828, 0x7532BCBC, 0x37D47B7B, 0x269B8888, 0xFA700D0D, 0x13F94444, 0x94B1FBFB, 0x485A7E7E, 0xF27A0303, 0xD0E48C8C, 0x8B47B6B6, 0x303C2424, 0x84A5E7E7, 0x54416B6B, 0xDF06DDDD, 0x23C56060, 0x1945FDFD, 0x5BA33A3A, 0x3D68C2C2, 0x59158D8D, 0xF321ECEC, 0xAE316666, 0xA23E6F6F, 0x82165757, 0x63951010, 0x015BEFEF, 0x834DB8B8, 0x2E918686, 0xD9B56D6D, 0x511F8383, 0x9B53AAAA, 0x7C635D5D, 0xA63B6868, 0xEB3FFEFE, 0xA5D63030, 0xBE257A7A, 0x16A7ACAC, 0x0C0F0909, 0xE335F0F0, 0x6123A7A7, 0xC0F09090, 0x8CAFE9E9, 0x3A809D9D, 0xF5925C5C, 0x73810C0C, 0x2C273131, 0x2576D0D0, 0x0BE75656, 0xBB7B9292, 0x4EE9CECE, 0x89F10101, 0x6B9F1E1E, 0x53A93434, 0x6AC4F1F1, 0xB499C3C3, 0xF1975B5B, 0xE1834747, 0xE66B1818, 0xBDC82222, 0x450E9898, 0xE26E1F1F, 0xF4C9B3B3, 0xB62F7474, 0x66CBF8F8, 0xCCFF9999, 0x95EA1414, 0x03ED5858, 0x56F7DCDC, 0xD4E18B8B, 0x1C1B1515, 0x1EADA2A2, 0xD70CD3D3, 0xFB2BE2E2, 0xC31DC8C8, 0x8E195E5E, 0xB5C22C2C, 0xE9894949, 0xCF12C1C1, 0xBF7E9595, 0xBA207D7D, 0xEA641111, 0x77840B0B, 0x396DC5C5, 0xAF6A8989, 0x33D17C7C, 0xC9A17171, 0x62CEFFFF, 0x7137BBBB, 0x81FB0F0F, 0x793DB5B5, 0x0951E1E1, 0xADDC3E3E, 0x242D3F3F, 0xCDA47676, 0xF99D5555, 0xD8EE8282, 0xE5864040, 0xC5AE7878, 0xB9CD2525, 0x4D049696, 0x44557777, 0x080A0E0E, 0x86135050, 0xE730F7F7, 0xA1D33737, 0x1D40FAFA, 0xAA346161, 0xED8C4E4E, 0x06B3B0B0, 0x706C5454, 0xB22A7373, 0xD2523B3B, 0x410B9F9F, 0x7B8B0202, 0xA088D8D8, 0x114FF3F3, 0x3167CBCB, 0xC2462727, 0x27C06767, 0x90B4FCFC, 0x20283838, 0xF67F0404, 0x60784848, 0xFF2EE5E5, 0x96074C4C, 0x5C4B6565, 0xB1C72B2B, 0xAB6F8E8E, 0x9E0D4242, 0x9CBBF5F5, 0x52F2DBDB, 0x1BF34A4A, 0x5FA63D3D, 0x9359A4A4, 0x0ABCB9B9, 0xEF3AF9F9, 0x91EF1313, 0x85FE0808, 0x49019191, 0xEE611616, 0x2D7CDEDE, 0x4FB22121, 0x8F42B1B1, 0x3BDB7272, 0x47B82F2F, 0x8748BFBF, 0x6D2CAEAE, 0x46E3C0C0, 0xD6573C3C, 0x3E859A9A, 0x6929A9A9, 0x647D4F4F, 0x2A948181, 0xCE492E2E, 0xCB17C6C6, 0x2FCA6969, 0xFCC3BDBD, 0x975CA3A3, 0x055EE8E8, 0x7AD0EDED, 0xAC87D1D1, 0x7F8E0505, 0xD5BA6464, 0x1AA8A5A5, 0x4BB72626, 0x0EB9BEBE, 0xA7608787, 0x5AF8D5D5, 0x28223636, 0x14111B1B, 0x3FDE7575, 0x2979D9D9, 0x88AAEEEE, 0x3C332D2D, 0x4C5F7979, 0x02B6B7B7, 0xB896CACA, 0xDA583535, 0xB09CC4C4, 0x17FC4343, 0x551A8484, 0x1FF64D4D, 0x8A1C5959, 0x7D38B2B2, 0x57AC3333, 0xC718CFCF, 0x8DF40606, 0x74695353, 0xB7749B9B, 0xC4F59797, 0x9F56ADAD, 0x72DAE3E3, 0x7ED5EAEA, 0x154AF4F4, 0x229E8F8F, 0x12A2ABAB, 0x584E6262, 0x07E85F5F, 0x99E51D1D, 0x34392323, 0x6EC1F6F6, 0x50446C6C, 0xDE5D3232, 0x68724646, 0x6526A0A0, 0xBC93CDCD, 0xDB03DADA, 0xF8C6BABA, 0xC8FA9E9E, 0xA882D6D6, 0x2BCF6E6E, 0x40507070, 0xDCEB8585, 0xFE750A0A, 0x328A9393, 0xA48DDFDF, 0xCA4C2929, 0x10141C1C, 0x2173D7D7, 0xF0CCB4B4, 0xD309D4D4, 0x5D108A8A, 0x0FE25151, 0x00000000, 0x6F9A1919, 0x9DE01A1A, 0x368F9494, 0x42E6C7C7, 0x4AECC9C9, 0x5EFDD2D2, 0xC1AB7F7F, 0xE0D8A8A8 ); /** * M-Table * * @var array * @access private */ var $m2 = array( 0xBC75BC32, 0xECF3EC21, 0x20C62043, 0xB3F4B3C9, 0xDADBDA03, 0x027B028B, 0xE2FBE22B, 0x9EC89EFA, 0xC94AC9EC, 0xD4D3D409, 0x18E6186B, 0x1E6B1E9F, 0x9845980E, 0xB27DB238, 0xA6E8A6D2, 0x264B26B7, 0x3CD63C57, 0x9332938A, 0x82D882EE, 0x52FD5298, 0x7B377BD4, 0xBB71BB37, 0x5BF15B97, 0x47E14783, 0x2430243C, 0x510F51E2, 0xBAF8BAC6, 0x4A1B4AF3, 0xBF87BF48, 0x0DFA0D70, 0xB006B0B3, 0x753F75DE, 0xD25ED2FD, 0x7DBA7D20, 0x66AE6631, 0x3A5B3AA3, 0x598A591C, 0x00000000, 0xCDBCCD93, 0x1A9D1AE0, 0xAE6DAE2C, 0x7FC17FAB, 0x2BB12BC7, 0xBE0EBEB9, 0xE080E0A0, 0x8A5D8A10, 0x3BD23B52, 0x64D564BA, 0xD8A0D888, 0xE784E7A5, 0x5F075FE8, 0x1B141B11, 0x2CB52CC2, 0xFC90FCB4, 0x312C3127, 0x80A38065, 0x73B2732A, 0x0C730C81, 0x794C795F, 0x6B546B41, 0x4B924B02, 0x53745369, 0x9436948F, 0x8351831F, 0x2A382A36, 0xC4B0C49C, 0x22BD22C8, 0xD55AD5F8, 0xBDFCBDC3, 0x48604878, 0xFF62FFCE, 0x4C964C07, 0x416C4177, 0xC742C7E6, 0xEBF7EB24, 0x1C101C14, 0x5D7C5D63, 0x36283622, 0x672767C0, 0xE98CE9AF, 0x441344F9, 0x149514EA, 0xF59CF5BB, 0xCFC7CF18, 0x3F243F2D, 0xC046C0E3, 0x723B72DB, 0x5470546C, 0x29CA294C, 0xF0E3F035, 0x088508FE, 0xC6CBC617, 0xF311F34F, 0x8CD08CE4, 0xA493A459, 0xCAB8CA96, 0x68A6683B, 0xB883B84D, 0x38203828, 0xE5FFE52E, 0xAD9FAD56, 0x0B770B84, 0xC8C3C81D, 0x99CC99FF, 0x580358ED, 0x196F199A, 0x0E080E0A, 0x95BF957E, 0x70407050, 0xF7E7F730, 0x6E2B6ECF, 0x1FE21F6E, 0xB579B53D, 0x090C090F, 0x61AA6134, 0x57825716, 0x9F419F0B, 0x9D3A9D80, 0x11EA1164, 0x25B925CD, 0xAFE4AFDD, 0x459A4508, 0xDFA4DF8D, 0xA397A35C, 0xEA7EEAD5, 0x35DA3558, 0xED7AEDD0, 0x431743FC, 0xF866F8CB, 0xFB94FBB1, 0x37A137D3, 0xFA1DFA40, 0xC23DC268, 0xB4F0B4CC, 0x32DE325D, 0x9CB39C71, 0x560B56E7, 0xE372E3DA, 0x87A78760, 0x151C151B, 0xF9EFF93A, 0x63D163BF, 0x345334A9, 0x9A3E9A85, 0xB18FB142, 0x7C337CD1, 0x8826889B, 0x3D5F3DA6, 0xA1ECA1D7, 0xE476E4DF, 0x812A8194, 0x91499101, 0x0F810FFB, 0xEE88EEAA, 0x16EE1661, 0xD721D773, 0x97C497F5, 0xA51AA5A8, 0xFEEBFE3F, 0x6DD96DB5, 0x78C578AE, 0xC539C56D, 0x1D991DE5, 0x76CD76A4, 0x3EAD3EDC, 0xCB31CB67, 0xB68BB647, 0xEF01EF5B, 0x1218121E, 0x602360C5, 0x6ADD6AB0, 0x4D1F4DF6, 0xCE4ECEE9, 0xDE2DDE7C, 0x55F9559D, 0x7E487E5A, 0x214F21B2, 0x03F2037A, 0xA065A026, 0x5E8E5E19, 0x5A785A66, 0x655C654B, 0x6258624E, 0xFD19FD45, 0x068D06F4, 0x40E54086, 0xF298F2BE, 0x335733AC, 0x17671790, 0x057F058E, 0xE805E85E, 0x4F644F7D, 0x89AF896A, 0x10631095, 0x74B6742F, 0x0AFE0A75, 0x5CF55C92, 0x9BB79B74, 0x2D3C2D33, 0x30A530D6, 0x2ECE2E49, 0x49E94989, 0x46684672, 0x77447755, 0xA8E0A8D8, 0x964D9604, 0x284328BD, 0xA969A929, 0xD929D979, 0x862E8691, 0xD1ACD187, 0xF415F44A, 0x8D598D15, 0xD6A8D682, 0xB90AB9BC, 0x429E420D, 0xF66EF6C1, 0x2F472FB8, 0xDDDFDD06, 0x23342339, 0xCC35CC62, 0xF16AF1C4, 0xC1CFC112, 0x85DC85EB, 0x8F228F9E, 0x71C971A1, 0x90C090F0, 0xAA9BAA53, 0x018901F1, 0x8BD48BE1, 0x4EED4E8C, 0x8EAB8E6F, 0xAB12ABA2, 0x6FA26F3E, 0xE60DE654, 0xDB52DBF2, 0x92BB927B, 0xB702B7B6, 0x692F69CA, 0x39A939D9, 0xD3D7D30C, 0xA761A723, 0xA21EA2AD, 0xC3B4C399, 0x6C506C44, 0x07040705, 0x04F6047F, 0x27C22746, 0xAC16ACA7, 0xD025D076, 0x50865013, 0xDC56DCF7, 0x8455841A, 0xE109E151, 0x7ABE7A25, 0x139113EF ); /** * M-Table * * @var array * @access private */ var $m3 = array( 0xD939A9D9, 0x90176790, 0x719CB371, 0xD2A6E8D2, 0x05070405, 0x9852FD98, 0x6580A365, 0xDFE476DF, 0x08459A08, 0x024B9202, 0xA0E080A0, 0x665A7866, 0xDDAFE4DD, 0xB06ADDB0, 0xBF63D1BF, 0x362A3836, 0x54E60D54, 0x4320C643, 0x62CC3562, 0xBEF298BE, 0x1E12181E, 0x24EBF724, 0xD7A1ECD7, 0x77416C77, 0xBD2843BD, 0x32BC7532, 0xD47B37D4, 0x9B88269B, 0x700DFA70, 0xF94413F9, 0xB1FB94B1, 0x5A7E485A, 0x7A03F27A, 0xE48CD0E4, 0x47B68B47, 0x3C24303C, 0xA5E784A5, 0x416B5441, 0x06DDDF06, 0xC56023C5, 0x45FD1945, 0xA33A5BA3, 0x68C23D68, 0x158D5915, 0x21ECF321, 0x3166AE31, 0x3E6FA23E, 0x16578216, 0x95106395, 0x5BEF015B, 0x4DB8834D, 0x91862E91, 0xB56DD9B5, 0x1F83511F, 0x53AA9B53, 0x635D7C63, 0x3B68A63B, 0x3FFEEB3F, 0xD630A5D6, 0x257ABE25, 0xA7AC16A7, 0x0F090C0F, 0x35F0E335, 0x23A76123, 0xF090C0F0, 0xAFE98CAF, 0x809D3A80, 0x925CF592, 0x810C7381, 0x27312C27, 0x76D02576, 0xE7560BE7, 0x7B92BB7B, 0xE9CE4EE9, 0xF10189F1, 0x9F1E6B9F, 0xA93453A9, 0xC4F16AC4, 0x99C3B499, 0x975BF197, 0x8347E183, 0x6B18E66B, 0xC822BDC8, 0x0E98450E, 0x6E1FE26E, 0xC9B3F4C9, 0x2F74B62F, 0xCBF866CB, 0xFF99CCFF, 0xEA1495EA, 0xED5803ED, 0xF7DC56F7, 0xE18BD4E1, 0x1B151C1B, 0xADA21EAD, 0x0CD3D70C, 0x2BE2FB2B, 0x1DC8C31D, 0x195E8E19, 0xC22CB5C2, 0x8949E989, 0x12C1CF12, 0x7E95BF7E, 0x207DBA20, 0x6411EA64, 0x840B7784, 0x6DC5396D, 0x6A89AF6A, 0xD17C33D1, 0xA171C9A1, 0xCEFF62CE, 0x37BB7137, 0xFB0F81FB, 0x3DB5793D, 0x51E10951, 0xDC3EADDC, 0x2D3F242D, 0xA476CDA4, 0x9D55F99D, 0xEE82D8EE, 0x8640E586, 0xAE78C5AE, 0xCD25B9CD, 0x04964D04, 0x55774455, 0x0A0E080A, 0x13508613, 0x30F7E730, 0xD337A1D3, 0x40FA1D40, 0x3461AA34, 0x8C4EED8C, 0xB3B006B3, 0x6C54706C, 0x2A73B22A, 0x523BD252, 0x0B9F410B, 0x8B027B8B, 0x88D8A088, 0x4FF3114F, 0x67CB3167, 0x4627C246, 0xC06727C0, 0xB4FC90B4, 0x28382028, 0x7F04F67F, 0x78486078, 0x2EE5FF2E, 0x074C9607, 0x4B655C4B, 0xC72BB1C7, 0x6F8EAB6F, 0x0D429E0D, 0xBBF59CBB, 0xF2DB52F2, 0xF34A1BF3, 0xA63D5FA6, 0x59A49359, 0xBCB90ABC, 0x3AF9EF3A, 0xEF1391EF, 0xFE0885FE, 0x01914901, 0x6116EE61, 0x7CDE2D7C, 0xB2214FB2, 0x42B18F42, 0xDB723BDB, 0xB82F47B8, 0x48BF8748, 0x2CAE6D2C, 0xE3C046E3, 0x573CD657, 0x859A3E85, 0x29A96929, 0x7D4F647D, 0x94812A94, 0x492ECE49, 0x17C6CB17, 0xCA692FCA, 0xC3BDFCC3, 0x5CA3975C, 0x5EE8055E, 0xD0ED7AD0, 0x87D1AC87, 0x8E057F8E, 0xBA64D5BA, 0xA8A51AA8, 0xB7264BB7, 0xB9BE0EB9, 0x6087A760, 0xF8D55AF8, 0x22362822, 0x111B1411, 0xDE753FDE, 0x79D92979, 0xAAEE88AA, 0x332D3C33, 0x5F794C5F, 0xB6B702B6, 0x96CAB896, 0x5835DA58, 0x9CC4B09C, 0xFC4317FC, 0x1A84551A, 0xF64D1FF6, 0x1C598A1C, 0x38B27D38, 0xAC3357AC, 0x18CFC718, 0xF4068DF4, 0x69537469, 0x749BB774, 0xF597C4F5, 0x56AD9F56, 0xDAE372DA, 0xD5EA7ED5, 0x4AF4154A, 0x9E8F229E, 0xA2AB12A2, 0x4E62584E, 0xE85F07E8, 0xE51D99E5, 0x39233439, 0xC1F66EC1, 0x446C5044, 0x5D32DE5D, 0x72466872, 0x26A06526, 0x93CDBC93, 0x03DADB03, 0xC6BAF8C6, 0xFA9EC8FA, 0x82D6A882, 0xCF6E2BCF, 0x50704050, 0xEB85DCEB, 0x750AFE75, 0x8A93328A, 0x8DDFA48D, 0x4C29CA4C, 0x141C1014, 0x73D72173, 0xCCB4F0CC, 0x09D4D309, 0x108A5D10, 0xE2510FE2, 0x00000000, 0x9A196F9A, 0xE01A9DE0, 0x8F94368F, 0xE6C742E6, 0xECC94AEC, 0xFDD25EFD, 0xAB7FC1AB, 0xD8A8E0D8 ); /** * The Key Schedule Array * * @var array * @access private */ var $K = array(); /** * The Key depended S-Table 0 * * @var array * @access private */ var $S0 = array(); /** * The Key depended S-Table 1 * * @var array * @access private */ var $S1 = array(); /** * The Key depended S-Table 2 * * @var array * @access private */ var $S2 = array(); /** * The Key depended S-Table 3 * * @var array * @access private */ var $S3 = array(); /** * Holds the last used key * * @var array * @access private */ var $kl; /** * The Key Length (in bytes) * * @see Crypt_Twofish::setKeyLength() * @var int * @access private */ var $key_length = 16; /** * Default Constructor. * * Determines whether or not the mcrypt extension should be used. * * $mode could be: * * - CRYPT_MODE_ECB * * - CRYPT_MODE_CBC * * - CRYPT_MODE_CTR * * - CRYPT_MODE_CFB * * - CRYPT_MODE_OFB * * (or the alias constants of the chosen cipher, for example for AES: CRYPT_AES_MODE_ECB or CRYPT_AES_MODE_CBC ...) * * If not explicitly set, CRYPT_MODE_CBC will be used. * * @param int $mode * @access public */ function __construct($mode = self::MODE_CBC) { parent::__construct($mode); $this->m0 = array_map('intval', $this->m0); $this->m1 = array_map('intval', $this->m1); $this->m2 = array_map('intval', $this->m2); $this->m3 = array_map('intval', $this->m3); $this->q0 = array_map('intval', $this->q0); $this->q1 = array_map('intval', $this->q1); } /** * Sets the key length. * * Valid key lengths are 128, 192 or 256 bits * * @access public * @param int $length */ function setKeyLength($length) { switch (true) { case $length <= 128: $this->key_length = 16; break; case $length <= 192: $this->key_length = 24; break; default: $this->key_length = 32; } parent::setKeyLength($length); } /** * Setup the key (expansion) * * @see \phpseclib\Crypt\Base::_setupKey() * @access private */ function _setupKey() { if (isset($this->kl['key']) && $this->key === $this->kl['key']) { // already expanded return; } $this->kl = array('key' => $this->key); /* Key expanding and generating the key-depended s-boxes */ $le_longs = unpack('V*', $this->key); $key = unpack('C*', $this->key); $m0 = $this->m0; $m1 = $this->m1; $m2 = $this->m2; $m3 = $this->m3; $q0 = $this->q0; $q1 = $this->q1; $K = $S0 = $S1 = $S2 = $S3 = array(); switch (strlen($this->key)) { case 16: list($s7, $s6, $s5, $s4) = $this->_mdsrem($le_longs[1], $le_longs[2]); list($s3, $s2, $s1, $s0) = $this->_mdsrem($le_longs[3], $le_longs[4]); for ($i = 0, $j = 1; $i < 40; $i+= 2, $j+= 2) { $A = $m0[$q0[$q0[$i] ^ $key[ 9]] ^ $key[1]] ^ $m1[$q0[$q1[$i] ^ $key[10]] ^ $key[2]] ^ $m2[$q1[$q0[$i] ^ $key[11]] ^ $key[3]] ^ $m3[$q1[$q1[$i] ^ $key[12]] ^ $key[4]]; $B = $m0[$q0[$q0[$j] ^ $key[13]] ^ $key[5]] ^ $m1[$q0[$q1[$j] ^ $key[14]] ^ $key[6]] ^ $m2[$q1[$q0[$j] ^ $key[15]] ^ $key[7]] ^ $m3[$q1[$q1[$j] ^ $key[16]] ^ $key[8]]; $B = ($B << 8) | ($B >> 24 & 0xff); $A = $this->safe_intval($A + $B); $K[] = $A; $A = $this->safe_intval($A + $B); $K[] = ($A << 9 | $A >> 23 & 0x1ff); } for ($i = 0; $i < 256; ++$i) { $S0[$i] = $m0[$q0[$q0[$i] ^ $s4] ^ $s0]; $S1[$i] = $m1[$q0[$q1[$i] ^ $s5] ^ $s1]; $S2[$i] = $m2[$q1[$q0[$i] ^ $s6] ^ $s2]; $S3[$i] = $m3[$q1[$q1[$i] ^ $s7] ^ $s3]; } break; case 24: list($sb, $sa, $s9, $s8) = $this->_mdsrem($le_longs[1], $le_longs[2]); list($s7, $s6, $s5, $s4) = $this->_mdsrem($le_longs[3], $le_longs[4]); list($s3, $s2, $s1, $s0) = $this->_mdsrem($le_longs[5], $le_longs[6]); for ($i = 0, $j = 1; $i < 40; $i+= 2, $j+= 2) { $A = $m0[$q0[$q0[$q1[$i] ^ $key[17]] ^ $key[ 9]] ^ $key[1]] ^ $m1[$q0[$q1[$q1[$i] ^ $key[18]] ^ $key[10]] ^ $key[2]] ^ $m2[$q1[$q0[$q0[$i] ^ $key[19]] ^ $key[11]] ^ $key[3]] ^ $m3[$q1[$q1[$q0[$i] ^ $key[20]] ^ $key[12]] ^ $key[4]]; $B = $m0[$q0[$q0[$q1[$j] ^ $key[21]] ^ $key[13]] ^ $key[5]] ^ $m1[$q0[$q1[$q1[$j] ^ $key[22]] ^ $key[14]] ^ $key[6]] ^ $m2[$q1[$q0[$q0[$j] ^ $key[23]] ^ $key[15]] ^ $key[7]] ^ $m3[$q1[$q1[$q0[$j] ^ $key[24]] ^ $key[16]] ^ $key[8]]; $B = ($B << 8) | ($B >> 24 & 0xff); $A = $this->safe_intval($A + $B); $K[] = $A; $A = $this->safe_intval($A + $B); $K[] = ($A << 9 | $A >> 23 & 0x1ff); } for ($i = 0; $i < 256; ++$i) { $S0[$i] = $m0[$q0[$q0[$q1[$i] ^ $s8] ^ $s4] ^ $s0]; $S1[$i] = $m1[$q0[$q1[$q1[$i] ^ $s9] ^ $s5] ^ $s1]; $S2[$i] = $m2[$q1[$q0[$q0[$i] ^ $sa] ^ $s6] ^ $s2]; $S3[$i] = $m3[$q1[$q1[$q0[$i] ^ $sb] ^ $s7] ^ $s3]; } break; default: // 32 list($sf, $se, $sd, $sc) = $this->_mdsrem($le_longs[1], $le_longs[2]); list($sb, $sa, $s9, $s8) = $this->_mdsrem($le_longs[3], $le_longs[4]); list($s7, $s6, $s5, $s4) = $this->_mdsrem($le_longs[5], $le_longs[6]); list($s3, $s2, $s1, $s0) = $this->_mdsrem($le_longs[7], $le_longs[8]); for ($i = 0, $j = 1; $i < 40; $i+= 2, $j+= 2) { $A = $m0[$q0[$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] ^ $key[ 9]] ^ $key[1]] ^ $m1[$q0[$q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]] ^ $key[10]] ^ $key[2]] ^ $m2[$q1[$q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]] ^ $key[11]] ^ $key[3]] ^ $m3[$q1[$q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]] ^ $key[12]] ^ $key[4]]; $B = $m0[$q0[$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] ^ $key[13]] ^ $key[5]] ^ $m1[$q0[$q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]] ^ $key[14]] ^ $key[6]] ^ $m2[$q1[$q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]] ^ $key[15]] ^ $key[7]] ^ $m3[$q1[$q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]] ^ $key[16]] ^ $key[8]]; $B = ($B << 8) | ($B >> 24 & 0xff); $A = $this->safe_intval($A + $B); $K[] = $A; $A = $this->safe_intval($A + $B); $K[] = ($A << 9 | $A >> 23 & 0x1ff); } for ($i = 0; $i < 256; ++$i) { $S0[$i] = $m0[$q0[$q0[$q1[$q1[$i] ^ $sc] ^ $s8] ^ $s4] ^ $s0]; $S1[$i] = $m1[$q0[$q1[$q1[$q0[$i] ^ $sd] ^ $s9] ^ $s5] ^ $s1]; $S2[$i] = $m2[$q1[$q0[$q0[$q0[$i] ^ $se] ^ $sa] ^ $s6] ^ $s2]; $S3[$i] = $m3[$q1[$q1[$q0[$q1[$i] ^ $sf] ^ $sb] ^ $s7] ^ $s3]; } } $this->K = $K; $this->S0 = $S0; $this->S1 = $S1; $this->S2 = $S2; $this->S3 = $S3; } /** * _mdsrem function using by the twofish cipher algorithm * * @access private * @param string $A * @param string $B * @return array */ function _mdsrem($A, $B) { // No gain by unrolling this loop. for ($i = 0; $i < 8; ++$i) { // Get most significant coefficient. $t = 0xff & ($B >> 24); // Shift the others up. $B = ($B << 8) | (0xff & ($A >> 24)); $A<<= 8; $u = $t << 1; // Subtract the modular polynomial on overflow. if ($t & 0x80) { $u^= 0x14d; } // Remove t * (a * x^2 + 1). $B ^= $t ^ ($u << 16); // Form u = a*t + t/a = t*(a + 1/a). $u^= 0x7fffffff & ($t >> 1); // Add the modular polynomial on underflow. if ($t & 0x01) { $u^= 0xa6 ; } // Remove t * (a + 1/a) * (x^3 + x). $B^= ($u << 24) | ($u << 8); } return array( 0xff & $B >> 24, 0xff & $B >> 16, 0xff & $B >> 8, 0xff & $B); } /** * Encrypts a block * * @access private * @param string $in * @return string */ function _encryptBlock($in) { $S0 = $this->S0; $S1 = $this->S1; $S2 = $this->S2; $S3 = $this->S3; $K = $this->K; $in = unpack("V4", $in); $R0 = $K[0] ^ $in[1]; $R1 = $K[1] ^ $in[2]; $R2 = $K[2] ^ $in[3]; $R3 = $K[3] ^ $in[4]; $ki = 7; while ($ki < 39) { $t0 = $S0[ $R0 & 0xff] ^ $S1[($R0 >> 8) & 0xff] ^ $S2[($R0 >> 16) & 0xff] ^ $S3[($R0 >> 24) & 0xff]; $t1 = $S0[($R1 >> 24) & 0xff] ^ $S1[ $R1 & 0xff] ^ $S2[($R1 >> 8) & 0xff] ^ $S3[($R1 >> 16) & 0xff]; $R2^= $this->safe_intval($t0 + $t1 + $K[++$ki]); $R2 = ($R2 >> 1 & 0x7fffffff) | ($R2 << 31); $R3 = ((($R3 >> 31) & 1) | ($R3 << 1)) ^ $this->safe_intval($t0 + ($t1 << 1) + $K[++$ki]); $t0 = $S0[ $R2 & 0xff] ^ $S1[($R2 >> 8) & 0xff] ^ $S2[($R2 >> 16) & 0xff] ^ $S3[($R2 >> 24) & 0xff]; $t1 = $S0[($R3 >> 24) & 0xff] ^ $S1[ $R3 & 0xff] ^ $S2[($R3 >> 8) & 0xff] ^ $S3[($R3 >> 16) & 0xff]; $R0^= $this->safe_intval($t0 + $t1 + $K[++$ki]); $R0 = ($R0 >> 1 & 0x7fffffff) | ($R0 << 31); $R1 = ((($R1 >> 31) & 1) | ($R1 << 1)) ^ $this->safe_intval($t0 + ($t1 << 1) + $K[++$ki]); } // @codingStandardsIgnoreStart return pack("V4", $K[4] ^ $R2, $K[5] ^ $R3, $K[6] ^ $R0, $K[7] ^ $R1); // @codingStandardsIgnoreEnd } /** * Decrypts a block * * @access private * @param string $in * @return string */ function _decryptBlock($in) { $S0 = $this->S0; $S1 = $this->S1; $S2 = $this->S2; $S3 = $this->S3; $K = $this->K; $in = unpack("V4", $in); $R0 = $K[4] ^ $in[1]; $R1 = $K[5] ^ $in[2]; $R2 = $K[6] ^ $in[3]; $R3 = $K[7] ^ $in[4]; $ki = 40; while ($ki > 8) { $t0 = $S0[$R0 & 0xff] ^ $S1[$R0 >> 8 & 0xff] ^ $S2[$R0 >> 16 & 0xff] ^ $S3[$R0 >> 24 & 0xff]; $t1 = $S0[$R1 >> 24 & 0xff] ^ $S1[$R1 & 0xff] ^ $S2[$R1 >> 8 & 0xff] ^ $S3[$R1 >> 16 & 0xff]; $R3^= $this->safe_intval($t0 + ($t1 << 1) + $K[--$ki]); $R3 = $R3 >> 1 & 0x7fffffff | $R3 << 31; $R2 = ($R2 >> 31 & 0x1 | $R2 << 1) ^ $this->safe_intval($t0 + $t1 + $K[--$ki]); $t0 = $S0[$R2 & 0xff] ^ $S1[$R2 >> 8 & 0xff] ^ $S2[$R2 >> 16 & 0xff] ^ $S3[$R2 >> 24 & 0xff]; $t1 = $S0[$R3 >> 24 & 0xff] ^ $S1[$R3 & 0xff] ^ $S2[$R3 >> 8 & 0xff] ^ $S3[$R3 >> 16 & 0xff]; $R1^= $this->safe_intval($t0 + ($t1 << 1) + $K[--$ki]); $R1 = $R1 >> 1 & 0x7fffffff | $R1 << 31; $R0 = ($R0 >> 31 & 0x1 | $R0 << 1) ^ $this->safe_intval($t0 + $t1 + $K[--$ki]); } // @codingStandardsIgnoreStart return pack("V4", $K[0] ^ $R2, $K[1] ^ $R3, $K[2] ^ $R0, $K[3] ^ $R1); // @codingStandardsIgnoreEnd } /** * Setup the performance-optimized function for de/encrypt() * * @see \phpseclib\Crypt\Base::_setupInlineCrypt() * @access private */ function _setupInlineCrypt() { $lambda_functions =& self::_getLambdaFunctions(); // Max. 10 Ultra-Hi-optimized inline-crypt functions. After that, we'll (still) create very fast code, but not the ultimate fast one. // (Currently, for Crypt_Twofish, one generated $lambda_function cost on php5.5@32bit ~140kb unfreeable mem and ~240kb on php5.5@64bit) $gen_hi_opt_code = (bool)(count($lambda_functions) < 10); // Generation of a unique hash for our generated code $code_hash = "Crypt_Twofish, {$this->mode}"; if ($gen_hi_opt_code) { $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key); } $safeint = $this->safe_intval_inline(); if (!isset($lambda_functions[$code_hash])) { switch (true) { case $gen_hi_opt_code: $K = $this->K; $init_crypt = ' static $S0, $S1, $S2, $S3; if (!$S0) { for ($i = 0; $i < 256; ++$i) { $S0[] = (int)$self->S0[$i]; $S1[] = (int)$self->S1[$i]; $S2[] = (int)$self->S2[$i]; $S3[] = (int)$self->S3[$i]; } } '; break; default: $K = array(); for ($i = 0; $i < 40; ++$i) { $K[] = '$K_' . $i; } $init_crypt = ' $S0 = $self->S0; $S1 = $self->S1; $S2 = $self->S2; $S3 = $self->S3; list(' . implode(',', $K) . ') = $self->K; '; } // Generating encrypt code: $encrypt_block = ' $in = unpack("V4", $in); $R0 = '.$K[0].' ^ $in[1]; $R1 = '.$K[1].' ^ $in[2]; $R2 = '.$K[2].' ^ $in[3]; $R3 = '.$K[3].' ^ $in[4]; '; for ($ki = 7, $i = 0; $i < 8; ++$i) { $encrypt_block.= ' $t0 = $S0[ $R0 & 0xff] ^ $S1[($R0 >> 8) & 0xff] ^ $S2[($R0 >> 16) & 0xff] ^ $S3[($R0 >> 24) & 0xff]; $t1 = $S0[($R1 >> 24) & 0xff] ^ $S1[ $R1 & 0xff] ^ $S2[($R1 >> 8) & 0xff] ^ $S3[($R1 >> 16) & 0xff]; $R2^= ' . sprintf($safeint, '$t0 + $t1 + ' . $K[++$ki]) . '; $R2 = ($R2 >> 1 & 0x7fffffff) | ($R2 << 31); $R3 = ((($R3 >> 31) & 1) | ($R3 << 1)) ^ ' . sprintf($safeint, '($t0 + ($t1 << 1) + ' . $K[++$ki] . ')') . '; $t0 = $S0[ $R2 & 0xff] ^ $S1[($R2 >> 8) & 0xff] ^ $S2[($R2 >> 16) & 0xff] ^ $S3[($R2 >> 24) & 0xff]; $t1 = $S0[($R3 >> 24) & 0xff] ^ $S1[ $R3 & 0xff] ^ $S2[($R3 >> 8) & 0xff] ^ $S3[($R3 >> 16) & 0xff]; $R0^= ' . sprintf($safeint, '($t0 + $t1 + ' . $K[++$ki] . ')') . '; $R0 = ($R0 >> 1 & 0x7fffffff) | ($R0 << 31); $R1 = ((($R1 >> 31) & 1) | ($R1 << 1)) ^ ' . sprintf($safeint, '($t0 + ($t1 << 1) + ' . $K[++$ki] . ')') . '; '; } $encrypt_block.= ' $in = pack("V4", ' . $K[4] . ' ^ $R2, ' . $K[5] . ' ^ $R3, ' . $K[6] . ' ^ $R0, ' . $K[7] . ' ^ $R1); '; // Generating decrypt code: $decrypt_block = ' $in = unpack("V4", $in); $R0 = '.$K[4].' ^ $in[1]; $R1 = '.$K[5].' ^ $in[2]; $R2 = '.$K[6].' ^ $in[3]; $R3 = '.$K[7].' ^ $in[4]; '; for ($ki = 40, $i = 0; $i < 8; ++$i) { $decrypt_block.= ' $t0 = $S0[$R0 & 0xff] ^ $S1[$R0 >> 8 & 0xff] ^ $S2[$R0 >> 16 & 0xff] ^ $S3[$R0 >> 24 & 0xff]; $t1 = $S0[$R1 >> 24 & 0xff] ^ $S1[$R1 & 0xff] ^ $S2[$R1 >> 8 & 0xff] ^ $S3[$R1 >> 16 & 0xff]; $R3^= ' . sprintf($safeint, '$t0 + ($t1 << 1) + ' . $K[--$ki]) . '; $R3 = $R3 >> 1 & 0x7fffffff | $R3 << 31; $R2 = ($R2 >> 31 & 0x1 | $R2 << 1) ^ ' . sprintf($safeint, '($t0 + $t1 + '.$K[--$ki] . ')') . '; $t0 = $S0[$R2 & 0xff] ^ $S1[$R2 >> 8 & 0xff] ^ $S2[$R2 >> 16 & 0xff] ^ $S3[$R2 >> 24 & 0xff]; $t1 = $S0[$R3 >> 24 & 0xff] ^ $S1[$R3 & 0xff] ^ $S2[$R3 >> 8 & 0xff] ^ $S3[$R3 >> 16 & 0xff]; $R1^= ' . sprintf($safeint, '$t0 + ($t1 << 1) + ' . $K[--$ki]) . '; $R1 = $R1 >> 1 & 0x7fffffff | $R1 << 31; $R0 = ($R0 >> 31 & 0x1 | $R0 << 1) ^ ' . sprintf($safeint, '($t0 + $t1 + '.$K[--$ki] . ')') . '; '; } $decrypt_block.= ' $in = pack("V4", ' . $K[0] . ' ^ $R2, ' . $K[1] . ' ^ $R3, ' . $K[2] . ' ^ $R0, ' . $K[3] . ' ^ $R1); '; $lambda_functions[$code_hash] = $this->_createInlineCryptFunction( array( 'init_crypt' => $init_crypt, 'init_encrypt' => '', 'init_decrypt' => '', 'encrypt_block' => $encrypt_block, 'decrypt_block' => $decrypt_block ) ); } $this->inline_crypt = $lambda_functions[$code_hash]; } } vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php000064400000005617147400355670016202 0ustar00 * setKey('abcdefghijklmnop'); * * $size = 10 * 1024; * $plaintext = ''; * for ($i = 0; $i < $size; $i++) { * $plaintext.= 'a'; * } * * echo $aes->decrypt($aes->encrypt($plaintext)); * ?> * * * @category Crypt * @package AES * @author Jim Wigginton * @copyright 2008 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; /** * Pure-PHP implementation of AES. * * @package AES * @author Jim Wigginton * @access public */ class AES extends Rijndael { /** * Dummy function * * Since \phpseclib\Crypt\AES extends \phpseclib\Crypt\Rijndael, this function is, technically, available, but it doesn't do anything. * * @see \phpseclib\Crypt\Rijndael::setBlockLength() * @access public * @param int $length */ function setBlockLength($length) { return; } /** * Sets the key length * * Valid key lengths are 128, 192, and 256. If the length is less than 128, it will be rounded up to * 128. If the length is greater than 128 and invalid, it will be rounded down to the closest valid amount. * * @see \phpseclib\Crypt\Rijndael:setKeyLength() * @access public * @param int $length */ function setKeyLength($length) { parent::setKeyLength($length); switch ($this->key_length) { case 20: $this->key_length = 24; break; case 28: $this->key_length = 32; } } } vendor/phpseclib/phpseclib/phpseclib/Crypt/DES.php000064400000214604147400355670016203 0ustar00 * setKey('abcdefgh'); * * $size = 10 * 1024; * $plaintext = ''; * for ($i = 0; $i < $size; $i++) { * $plaintext.= 'a'; * } * * echo $des->decrypt($des->encrypt($plaintext)); * ?> * * * @category Crypt * @package DES * @author Jim Wigginton * @copyright 2007 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; /** * Pure-PHP implementation of DES. * * @package DES * @author Jim Wigginton * @access public */ class DES extends Base { /**#@+ * @access private * @see \phpseclib\Crypt\DES::_setupKey() * @see \phpseclib\Crypt\DES::_processBlock() */ /** * Contains $keys[self::ENCRYPT] */ const ENCRYPT = 0; /** * Contains $keys[self::DECRYPT] */ const DECRYPT = 1; /**#@-*/ /** * Block Length of the cipher * * @see \phpseclib\Crypt\Base::block_size * @var int * @access private */ var $block_size = 8; /** * Key Length (in bytes) * * @see \phpseclib\Crypt\Base::setKeyLength() * @var int * @access private */ var $key_length = 8; /** * The mcrypt specific name of the cipher * * @see \phpseclib\Crypt\Base::cipher_name_mcrypt * @var string * @access private */ var $cipher_name_mcrypt = 'des'; /** * The OpenSSL names of the cipher / modes * * @see \phpseclib\Crypt\Base::openssl_mode_names * @var array * @access private */ var $openssl_mode_names = array( self::MODE_ECB => 'des-ecb', self::MODE_CBC => 'des-cbc', self::MODE_CFB => 'des-cfb', self::MODE_OFB => 'des-ofb' // self::MODE_CTR is undefined for DES ); /** * Optimizing value while CFB-encrypting * * @see \phpseclib\Crypt\Base::cfb_init_len * @var int * @access private */ var $cfb_init_len = 500; /** * Switch for DES/3DES encryption * * Used only if $engine == self::ENGINE_INTERNAL * * @see self::_setupKey() * @see self::_processBlock() * @var int * @access private */ var $des_rounds = 1; /** * max possible size of $key * * @see self::setKey() * @var string * @access private */ var $key_length_max = 8; /** * The Key Schedule * * @see self::_setupKey() * @var array * @access private */ var $keys; /** * Shuffle table. * * For each byte value index, the entry holds an 8-byte string * with each byte containing all bits in the same state as the * corresponding bit in the index value. * * @see self::_processBlock() * @see self::_setupKey() * @var array * @access private */ var $shuffle = array( "\x00\x00\x00\x00\x00\x00\x00\x00", "\x00\x00\x00\x00\x00\x00\x00\xFF", "\x00\x00\x00\x00\x00\x00\xFF\x00", "\x00\x00\x00\x00\x00\x00\xFF\xFF", "\x00\x00\x00\x00\x00\xFF\x00\x00", "\x00\x00\x00\x00\x00\xFF\x00\xFF", "\x00\x00\x00\x00\x00\xFF\xFF\x00", "\x00\x00\x00\x00\x00\xFF\xFF\xFF", "\x00\x00\x00\x00\xFF\x00\x00\x00", "\x00\x00\x00\x00\xFF\x00\x00\xFF", "\x00\x00\x00\x00\xFF\x00\xFF\x00", "\x00\x00\x00\x00\xFF\x00\xFF\xFF", "\x00\x00\x00\x00\xFF\xFF\x00\x00", "\x00\x00\x00\x00\xFF\xFF\x00\xFF", "\x00\x00\x00\x00\xFF\xFF\xFF\x00", "\x00\x00\x00\x00\xFF\xFF\xFF\xFF", "\x00\x00\x00\xFF\x00\x00\x00\x00", "\x00\x00\x00\xFF\x00\x00\x00\xFF", "\x00\x00\x00\xFF\x00\x00\xFF\x00", "\x00\x00\x00\xFF\x00\x00\xFF\xFF", "\x00\x00\x00\xFF\x00\xFF\x00\x00", "\x00\x00\x00\xFF\x00\xFF\x00\xFF", "\x00\x00\x00\xFF\x00\xFF\xFF\x00", "\x00\x00\x00\xFF\x00\xFF\xFF\xFF", "\x00\x00\x00\xFF\xFF\x00\x00\x00", "\x00\x00\x00\xFF\xFF\x00\x00\xFF", "\x00\x00\x00\xFF\xFF\x00\xFF\x00", "\x00\x00\x00\xFF\xFF\x00\xFF\xFF", "\x00\x00\x00\xFF\xFF\xFF\x00\x00", "\x00\x00\x00\xFF\xFF\xFF\x00\xFF", "\x00\x00\x00\xFF\xFF\xFF\xFF\x00", "\x00\x00\x00\xFF\xFF\xFF\xFF\xFF", "\x00\x00\xFF\x00\x00\x00\x00\x00", "\x00\x00\xFF\x00\x00\x00\x00\xFF", "\x00\x00\xFF\x00\x00\x00\xFF\x00", "\x00\x00\xFF\x00\x00\x00\xFF\xFF", "\x00\x00\xFF\x00\x00\xFF\x00\x00", "\x00\x00\xFF\x00\x00\xFF\x00\xFF", "\x00\x00\xFF\x00\x00\xFF\xFF\x00", "\x00\x00\xFF\x00\x00\xFF\xFF\xFF", "\x00\x00\xFF\x00\xFF\x00\x00\x00", "\x00\x00\xFF\x00\xFF\x00\x00\xFF", "\x00\x00\xFF\x00\xFF\x00\xFF\x00", "\x00\x00\xFF\x00\xFF\x00\xFF\xFF", "\x00\x00\xFF\x00\xFF\xFF\x00\x00", "\x00\x00\xFF\x00\xFF\xFF\x00\xFF", "\x00\x00\xFF\x00\xFF\xFF\xFF\x00", "\x00\x00\xFF\x00\xFF\xFF\xFF\xFF", "\x00\x00\xFF\xFF\x00\x00\x00\x00", "\x00\x00\xFF\xFF\x00\x00\x00\xFF", "\x00\x00\xFF\xFF\x00\x00\xFF\x00", "\x00\x00\xFF\xFF\x00\x00\xFF\xFF", "\x00\x00\xFF\xFF\x00\xFF\x00\x00", "\x00\x00\xFF\xFF\x00\xFF\x00\xFF", "\x00\x00\xFF\xFF\x00\xFF\xFF\x00", "\x00\x00\xFF\xFF\x00\xFF\xFF\xFF", "\x00\x00\xFF\xFF\xFF\x00\x00\x00", "\x00\x00\xFF\xFF\xFF\x00\x00\xFF", "\x00\x00\xFF\xFF\xFF\x00\xFF\x00", "\x00\x00\xFF\xFF\xFF\x00\xFF\xFF", "\x00\x00\xFF\xFF\xFF\xFF\x00\x00", "\x00\x00\xFF\xFF\xFF\xFF\x00\xFF", "\x00\x00\xFF\xFF\xFF\xFF\xFF\x00", "\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF", "\x00\xFF\x00\x00\x00\x00\x00\x00", "\x00\xFF\x00\x00\x00\x00\x00\xFF", "\x00\xFF\x00\x00\x00\x00\xFF\x00", "\x00\xFF\x00\x00\x00\x00\xFF\xFF", "\x00\xFF\x00\x00\x00\xFF\x00\x00", "\x00\xFF\x00\x00\x00\xFF\x00\xFF", "\x00\xFF\x00\x00\x00\xFF\xFF\x00", "\x00\xFF\x00\x00\x00\xFF\xFF\xFF", "\x00\xFF\x00\x00\xFF\x00\x00\x00", "\x00\xFF\x00\x00\xFF\x00\x00\xFF", "\x00\xFF\x00\x00\xFF\x00\xFF\x00", "\x00\xFF\x00\x00\xFF\x00\xFF\xFF", "\x00\xFF\x00\x00\xFF\xFF\x00\x00", "\x00\xFF\x00\x00\xFF\xFF\x00\xFF", "\x00\xFF\x00\x00\xFF\xFF\xFF\x00", "\x00\xFF\x00\x00\xFF\xFF\xFF\xFF", "\x00\xFF\x00\xFF\x00\x00\x00\x00", "\x00\xFF\x00\xFF\x00\x00\x00\xFF", "\x00\xFF\x00\xFF\x00\x00\xFF\x00", "\x00\xFF\x00\xFF\x00\x00\xFF\xFF", "\x00\xFF\x00\xFF\x00\xFF\x00\x00", "\x00\xFF\x00\xFF\x00\xFF\x00\xFF", "\x00\xFF\x00\xFF\x00\xFF\xFF\x00", "\x00\xFF\x00\xFF\x00\xFF\xFF\xFF", "\x00\xFF\x00\xFF\xFF\x00\x00\x00", "\x00\xFF\x00\xFF\xFF\x00\x00\xFF", "\x00\xFF\x00\xFF\xFF\x00\xFF\x00", "\x00\xFF\x00\xFF\xFF\x00\xFF\xFF", "\x00\xFF\x00\xFF\xFF\xFF\x00\x00", "\x00\xFF\x00\xFF\xFF\xFF\x00\xFF", "\x00\xFF\x00\xFF\xFF\xFF\xFF\x00", "\x00\xFF\x00\xFF\xFF\xFF\xFF\xFF", "\x00\xFF\xFF\x00\x00\x00\x00\x00", "\x00\xFF\xFF\x00\x00\x00\x00\xFF", "\x00\xFF\xFF\x00\x00\x00\xFF\x00", "\x00\xFF\xFF\x00\x00\x00\xFF\xFF", "\x00\xFF\xFF\x00\x00\xFF\x00\x00", "\x00\xFF\xFF\x00\x00\xFF\x00\xFF", "\x00\xFF\xFF\x00\x00\xFF\xFF\x00", "\x00\xFF\xFF\x00\x00\xFF\xFF\xFF", "\x00\xFF\xFF\x00\xFF\x00\x00\x00", "\x00\xFF\xFF\x00\xFF\x00\x00\xFF", "\x00\xFF\xFF\x00\xFF\x00\xFF\x00", "\x00\xFF\xFF\x00\xFF\x00\xFF\xFF", "\x00\xFF\xFF\x00\xFF\xFF\x00\x00", "\x00\xFF\xFF\x00\xFF\xFF\x00\xFF", "\x00\xFF\xFF\x00\xFF\xFF\xFF\x00", "\x00\xFF\xFF\x00\xFF\xFF\xFF\xFF", "\x00\xFF\xFF\xFF\x00\x00\x00\x00", "\x00\xFF\xFF\xFF\x00\x00\x00\xFF", "\x00\xFF\xFF\xFF\x00\x00\xFF\x00", "\x00\xFF\xFF\xFF\x00\x00\xFF\xFF", "\x00\xFF\xFF\xFF\x00\xFF\x00\x00", "\x00\xFF\xFF\xFF\x00\xFF\x00\xFF", "\x00\xFF\xFF\xFF\x00\xFF\xFF\x00", "\x00\xFF\xFF\xFF\x00\xFF\xFF\xFF", "\x00\xFF\xFF\xFF\xFF\x00\x00\x00", "\x00\xFF\xFF\xFF\xFF\x00\x00\xFF", "\x00\xFF\xFF\xFF\xFF\x00\xFF\x00", "\x00\xFF\xFF\xFF\xFF\x00\xFF\xFF", "\x00\xFF\xFF\xFF\xFF\xFF\x00\x00", "\x00\xFF\xFF\xFF\xFF\xFF\x00\xFF", "\x00\xFF\xFF\xFF\xFF\xFF\xFF\x00", "\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF", "\xFF\x00\x00\x00\x00\x00\x00\x00", "\xFF\x00\x00\x00\x00\x00\x00\xFF", "\xFF\x00\x00\x00\x00\x00\xFF\x00", "\xFF\x00\x00\x00\x00\x00\xFF\xFF", "\xFF\x00\x00\x00\x00\xFF\x00\x00", "\xFF\x00\x00\x00\x00\xFF\x00\xFF", "\xFF\x00\x00\x00\x00\xFF\xFF\x00", "\xFF\x00\x00\x00\x00\xFF\xFF\xFF", "\xFF\x00\x00\x00\xFF\x00\x00\x00", "\xFF\x00\x00\x00\xFF\x00\x00\xFF", "\xFF\x00\x00\x00\xFF\x00\xFF\x00", "\xFF\x00\x00\x00\xFF\x00\xFF\xFF", "\xFF\x00\x00\x00\xFF\xFF\x00\x00", "\xFF\x00\x00\x00\xFF\xFF\x00\xFF", "\xFF\x00\x00\x00\xFF\xFF\xFF\x00", "\xFF\x00\x00\x00\xFF\xFF\xFF\xFF", "\xFF\x00\x00\xFF\x00\x00\x00\x00", "\xFF\x00\x00\xFF\x00\x00\x00\xFF", "\xFF\x00\x00\xFF\x00\x00\xFF\x00", "\xFF\x00\x00\xFF\x00\x00\xFF\xFF", "\xFF\x00\x00\xFF\x00\xFF\x00\x00", "\xFF\x00\x00\xFF\x00\xFF\x00\xFF", "\xFF\x00\x00\xFF\x00\xFF\xFF\x00", "\xFF\x00\x00\xFF\x00\xFF\xFF\xFF", "\xFF\x00\x00\xFF\xFF\x00\x00\x00", "\xFF\x00\x00\xFF\xFF\x00\x00\xFF", "\xFF\x00\x00\xFF\xFF\x00\xFF\x00", "\xFF\x00\x00\xFF\xFF\x00\xFF\xFF", "\xFF\x00\x00\xFF\xFF\xFF\x00\x00", "\xFF\x00\x00\xFF\xFF\xFF\x00\xFF", "\xFF\x00\x00\xFF\xFF\xFF\xFF\x00", "\xFF\x00\x00\xFF\xFF\xFF\xFF\xFF", "\xFF\x00\xFF\x00\x00\x00\x00\x00", "\xFF\x00\xFF\x00\x00\x00\x00\xFF", "\xFF\x00\xFF\x00\x00\x00\xFF\x00", "\xFF\x00\xFF\x00\x00\x00\xFF\xFF", "\xFF\x00\xFF\x00\x00\xFF\x00\x00", "\xFF\x00\xFF\x00\x00\xFF\x00\xFF", "\xFF\x00\xFF\x00\x00\xFF\xFF\x00", "\xFF\x00\xFF\x00\x00\xFF\xFF\xFF", "\xFF\x00\xFF\x00\xFF\x00\x00\x00", "\xFF\x00\xFF\x00\xFF\x00\x00\xFF", "\xFF\x00\xFF\x00\xFF\x00\xFF\x00", "\xFF\x00\xFF\x00\xFF\x00\xFF\xFF", "\xFF\x00\xFF\x00\xFF\xFF\x00\x00", "\xFF\x00\xFF\x00\xFF\xFF\x00\xFF", "\xFF\x00\xFF\x00\xFF\xFF\xFF\x00", "\xFF\x00\xFF\x00\xFF\xFF\xFF\xFF", "\xFF\x00\xFF\xFF\x00\x00\x00\x00", "\xFF\x00\xFF\xFF\x00\x00\x00\xFF", "\xFF\x00\xFF\xFF\x00\x00\xFF\x00", "\xFF\x00\xFF\xFF\x00\x00\xFF\xFF", "\xFF\x00\xFF\xFF\x00\xFF\x00\x00", "\xFF\x00\xFF\xFF\x00\xFF\x00\xFF", "\xFF\x00\xFF\xFF\x00\xFF\xFF\x00", "\xFF\x00\xFF\xFF\x00\xFF\xFF\xFF", "\xFF\x00\xFF\xFF\xFF\x00\x00\x00", "\xFF\x00\xFF\xFF\xFF\x00\x00\xFF", "\xFF\x00\xFF\xFF\xFF\x00\xFF\x00", "\xFF\x00\xFF\xFF\xFF\x00\xFF\xFF", "\xFF\x00\xFF\xFF\xFF\xFF\x00\x00", "\xFF\x00\xFF\xFF\xFF\xFF\x00\xFF", "\xFF\x00\xFF\xFF\xFF\xFF\xFF\x00", "\xFF\x00\xFF\xFF\xFF\xFF\xFF\xFF", "\xFF\xFF\x00\x00\x00\x00\x00\x00", "\xFF\xFF\x00\x00\x00\x00\x00\xFF", "\xFF\xFF\x00\x00\x00\x00\xFF\x00", "\xFF\xFF\x00\x00\x00\x00\xFF\xFF", "\xFF\xFF\x00\x00\x00\xFF\x00\x00", "\xFF\xFF\x00\x00\x00\xFF\x00\xFF", "\xFF\xFF\x00\x00\x00\xFF\xFF\x00", "\xFF\xFF\x00\x00\x00\xFF\xFF\xFF", "\xFF\xFF\x00\x00\xFF\x00\x00\x00", "\xFF\xFF\x00\x00\xFF\x00\x00\xFF", "\xFF\xFF\x00\x00\xFF\x00\xFF\x00", "\xFF\xFF\x00\x00\xFF\x00\xFF\xFF", "\xFF\xFF\x00\x00\xFF\xFF\x00\x00", "\xFF\xFF\x00\x00\xFF\xFF\x00\xFF", "\xFF\xFF\x00\x00\xFF\xFF\xFF\x00", "\xFF\xFF\x00\x00\xFF\xFF\xFF\xFF", "\xFF\xFF\x00\xFF\x00\x00\x00\x00", "\xFF\xFF\x00\xFF\x00\x00\x00\xFF", "\xFF\xFF\x00\xFF\x00\x00\xFF\x00", "\xFF\xFF\x00\xFF\x00\x00\xFF\xFF", "\xFF\xFF\x00\xFF\x00\xFF\x00\x00", "\xFF\xFF\x00\xFF\x00\xFF\x00\xFF", "\xFF\xFF\x00\xFF\x00\xFF\xFF\x00", "\xFF\xFF\x00\xFF\x00\xFF\xFF\xFF", "\xFF\xFF\x00\xFF\xFF\x00\x00\x00", "\xFF\xFF\x00\xFF\xFF\x00\x00\xFF", "\xFF\xFF\x00\xFF\xFF\x00\xFF\x00", "\xFF\xFF\x00\xFF\xFF\x00\xFF\xFF", "\xFF\xFF\x00\xFF\xFF\xFF\x00\x00", "\xFF\xFF\x00\xFF\xFF\xFF\x00\xFF", "\xFF\xFF\x00\xFF\xFF\xFF\xFF\x00", "\xFF\xFF\x00\xFF\xFF\xFF\xFF\xFF", "\xFF\xFF\xFF\x00\x00\x00\x00\x00", "\xFF\xFF\xFF\x00\x00\x00\x00\xFF", "\xFF\xFF\xFF\x00\x00\x00\xFF\x00", "\xFF\xFF\xFF\x00\x00\x00\xFF\xFF", "\xFF\xFF\xFF\x00\x00\xFF\x00\x00", "\xFF\xFF\xFF\x00\x00\xFF\x00\xFF", "\xFF\xFF\xFF\x00\x00\xFF\xFF\x00", "\xFF\xFF\xFF\x00\x00\xFF\xFF\xFF", "\xFF\xFF\xFF\x00\xFF\x00\x00\x00", "\xFF\xFF\xFF\x00\xFF\x00\x00\xFF", "\xFF\xFF\xFF\x00\xFF\x00\xFF\x00", "\xFF\xFF\xFF\x00\xFF\x00\xFF\xFF", "\xFF\xFF\xFF\x00\xFF\xFF\x00\x00", "\xFF\xFF\xFF\x00\xFF\xFF\x00\xFF", "\xFF\xFF\xFF\x00\xFF\xFF\xFF\x00", "\xFF\xFF\xFF\x00\xFF\xFF\xFF\xFF", "\xFF\xFF\xFF\xFF\x00\x00\x00\x00", "\xFF\xFF\xFF\xFF\x00\x00\x00\xFF", "\xFF\xFF\xFF\xFF\x00\x00\xFF\x00", "\xFF\xFF\xFF\xFF\x00\x00\xFF\xFF", "\xFF\xFF\xFF\xFF\x00\xFF\x00\x00", "\xFF\xFF\xFF\xFF\x00\xFF\x00\xFF", "\xFF\xFF\xFF\xFF\x00\xFF\xFF\x00", "\xFF\xFF\xFF\xFF\x00\xFF\xFF\xFF", "\xFF\xFF\xFF\xFF\xFF\x00\x00\x00", "\xFF\xFF\xFF\xFF\xFF\x00\x00\xFF", "\xFF\xFF\xFF\xFF\xFF\x00\xFF\x00", "\xFF\xFF\xFF\xFF\xFF\x00\xFF\xFF", "\xFF\xFF\xFF\xFF\xFF\xFF\x00\x00", "\xFF\xFF\xFF\xFF\xFF\xFF\x00\xFF", "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x00", "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF" ); /** * IP mapping helper table. * * Indexing this table with each source byte performs the initial bit permutation. * * @var array * @access private */ var $ipmap = array( 0x00, 0x10, 0x01, 0x11, 0x20, 0x30, 0x21, 0x31, 0x02, 0x12, 0x03, 0x13, 0x22, 0x32, 0x23, 0x33, 0x40, 0x50, 0x41, 0x51, 0x60, 0x70, 0x61, 0x71, 0x42, 0x52, 0x43, 0x53, 0x62, 0x72, 0x63, 0x73, 0x04, 0x14, 0x05, 0x15, 0x24, 0x34, 0x25, 0x35, 0x06, 0x16, 0x07, 0x17, 0x26, 0x36, 0x27, 0x37, 0x44, 0x54, 0x45, 0x55, 0x64, 0x74, 0x65, 0x75, 0x46, 0x56, 0x47, 0x57, 0x66, 0x76, 0x67, 0x77, 0x80, 0x90, 0x81, 0x91, 0xA0, 0xB0, 0xA1, 0xB1, 0x82, 0x92, 0x83, 0x93, 0xA2, 0xB2, 0xA3, 0xB3, 0xC0, 0xD0, 0xC1, 0xD1, 0xE0, 0xF0, 0xE1, 0xF1, 0xC2, 0xD2, 0xC3, 0xD3, 0xE2, 0xF2, 0xE3, 0xF3, 0x84, 0x94, 0x85, 0x95, 0xA4, 0xB4, 0xA5, 0xB5, 0x86, 0x96, 0x87, 0x97, 0xA6, 0xB6, 0xA7, 0xB7, 0xC4, 0xD4, 0xC5, 0xD5, 0xE4, 0xF4, 0xE5, 0xF5, 0xC6, 0xD6, 0xC7, 0xD7, 0xE6, 0xF6, 0xE7, 0xF7, 0x08, 0x18, 0x09, 0x19, 0x28, 0x38, 0x29, 0x39, 0x0A, 0x1A, 0x0B, 0x1B, 0x2A, 0x3A, 0x2B, 0x3B, 0x48, 0x58, 0x49, 0x59, 0x68, 0x78, 0x69, 0x79, 0x4A, 0x5A, 0x4B, 0x5B, 0x6A, 0x7A, 0x6B, 0x7B, 0x0C, 0x1C, 0x0D, 0x1D, 0x2C, 0x3C, 0x2D, 0x3D, 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, 0x4C, 0x5C, 0x4D, 0x5D, 0x6C, 0x7C, 0x6D, 0x7D, 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, 0x88, 0x98, 0x89, 0x99, 0xA8, 0xB8, 0xA9, 0xB9, 0x8A, 0x9A, 0x8B, 0x9B, 0xAA, 0xBA, 0xAB, 0xBB, 0xC8, 0xD8, 0xC9, 0xD9, 0xE8, 0xF8, 0xE9, 0xF9, 0xCA, 0xDA, 0xCB, 0xDB, 0xEA, 0xFA, 0xEB, 0xFB, 0x8C, 0x9C, 0x8D, 0x9D, 0xAC, 0xBC, 0xAD, 0xBD, 0x8E, 0x9E, 0x8F, 0x9F, 0xAE, 0xBE, 0xAF, 0xBF, 0xCC, 0xDC, 0xCD, 0xDD, 0xEC, 0xFC, 0xED, 0xFD, 0xCE, 0xDE, 0xCF, 0xDF, 0xEE, 0xFE, 0xEF, 0xFF ); /** * Inverse IP mapping helper table. * Indexing this table with a byte value reverses the bit order. * * @var array * @access private */ var $invipmap = array( 0x00, 0x80, 0x40, 0xC0, 0x20, 0xA0, 0x60, 0xE0, 0x10, 0x90, 0x50, 0xD0, 0x30, 0xB0, 0x70, 0xF0, 0x08, 0x88, 0x48, 0xC8, 0x28, 0xA8, 0x68, 0xE8, 0x18, 0x98, 0x58, 0xD8, 0x38, 0xB8, 0x78, 0xF8, 0x04, 0x84, 0x44, 0xC4, 0x24, 0xA4, 0x64, 0xE4, 0x14, 0x94, 0x54, 0xD4, 0x34, 0xB4, 0x74, 0xF4, 0x0C, 0x8C, 0x4C, 0xCC, 0x2C, 0xAC, 0x6C, 0xEC, 0x1C, 0x9C, 0x5C, 0xDC, 0x3C, 0xBC, 0x7C, 0xFC, 0x02, 0x82, 0x42, 0xC2, 0x22, 0xA2, 0x62, 0xE2, 0x12, 0x92, 0x52, 0xD2, 0x32, 0xB2, 0x72, 0xF2, 0x0A, 0x8A, 0x4A, 0xCA, 0x2A, 0xAA, 0x6A, 0xEA, 0x1A, 0x9A, 0x5A, 0xDA, 0x3A, 0xBA, 0x7A, 0xFA, 0x06, 0x86, 0x46, 0xC6, 0x26, 0xA6, 0x66, 0xE6, 0x16, 0x96, 0x56, 0xD6, 0x36, 0xB6, 0x76, 0xF6, 0x0E, 0x8E, 0x4E, 0xCE, 0x2E, 0xAE, 0x6E, 0xEE, 0x1E, 0x9E, 0x5E, 0xDE, 0x3E, 0xBE, 0x7E, 0xFE, 0x01, 0x81, 0x41, 0xC1, 0x21, 0xA1, 0x61, 0xE1, 0x11, 0x91, 0x51, 0xD1, 0x31, 0xB1, 0x71, 0xF1, 0x09, 0x89, 0x49, 0xC9, 0x29, 0xA9, 0x69, 0xE9, 0x19, 0x99, 0x59, 0xD9, 0x39, 0xB9, 0x79, 0xF9, 0x05, 0x85, 0x45, 0xC5, 0x25, 0xA5, 0x65, 0xE5, 0x15, 0x95, 0x55, 0xD5, 0x35, 0xB5, 0x75, 0xF5, 0x0D, 0x8D, 0x4D, 0xCD, 0x2D, 0xAD, 0x6D, 0xED, 0x1D, 0x9D, 0x5D, 0xDD, 0x3D, 0xBD, 0x7D, 0xFD, 0x03, 0x83, 0x43, 0xC3, 0x23, 0xA3, 0x63, 0xE3, 0x13, 0x93, 0x53, 0xD3, 0x33, 0xB3, 0x73, 0xF3, 0x0B, 0x8B, 0x4B, 0xCB, 0x2B, 0xAB, 0x6B, 0xEB, 0x1B, 0x9B, 0x5B, 0xDB, 0x3B, 0xBB, 0x7B, 0xFB, 0x07, 0x87, 0x47, 0xC7, 0x27, 0xA7, 0x67, 0xE7, 0x17, 0x97, 0x57, 0xD7, 0x37, 0xB7, 0x77, 0xF7, 0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF, 0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFF ); /** * Pre-permuted S-box1 * * Each box ($sbox1-$sbox8) has been vectorized, then each value pre-permuted using the * P table: concatenation can then be replaced by exclusive ORs. * * @var array * @access private */ var $sbox1 = array( 0x00808200, 0x00000000, 0x00008000, 0x00808202, 0x00808002, 0x00008202, 0x00000002, 0x00008000, 0x00000200, 0x00808200, 0x00808202, 0x00000200, 0x00800202, 0x00808002, 0x00800000, 0x00000002, 0x00000202, 0x00800200, 0x00800200, 0x00008200, 0x00008200, 0x00808000, 0x00808000, 0x00800202, 0x00008002, 0x00800002, 0x00800002, 0x00008002, 0x00000000, 0x00000202, 0x00008202, 0x00800000, 0x00008000, 0x00808202, 0x00000002, 0x00808000, 0x00808200, 0x00800000, 0x00800000, 0x00000200, 0x00808002, 0x00008000, 0x00008200, 0x00800002, 0x00000200, 0x00000002, 0x00800202, 0x00008202, 0x00808202, 0x00008002, 0x00808000, 0x00800202, 0x00800002, 0x00000202, 0x00008202, 0x00808200, 0x00000202, 0x00800200, 0x00800200, 0x00000000, 0x00008002, 0x00008200, 0x00000000, 0x00808002 ); /** * Pre-permuted S-box2 * * @var array * @access private */ var $sbox2 = array( 0x40084010, 0x40004000, 0x00004000, 0x00084010, 0x00080000, 0x00000010, 0x40080010, 0x40004010, 0x40000010, 0x40084010, 0x40084000, 0x40000000, 0x40004000, 0x00080000, 0x00000010, 0x40080010, 0x00084000, 0x00080010, 0x40004010, 0x00000000, 0x40000000, 0x00004000, 0x00084010, 0x40080000, 0x00080010, 0x40000010, 0x00000000, 0x00084000, 0x00004010, 0x40084000, 0x40080000, 0x00004010, 0x00000000, 0x00084010, 0x40080010, 0x00080000, 0x40004010, 0x40080000, 0x40084000, 0x00004000, 0x40080000, 0x40004000, 0x00000010, 0x40084010, 0x00084010, 0x00000010, 0x00004000, 0x40000000, 0x00004010, 0x40084000, 0x00080000, 0x40000010, 0x00080010, 0x40004010, 0x40000010, 0x00080010, 0x00084000, 0x00000000, 0x40004000, 0x00004010, 0x40000000, 0x40080010, 0x40084010, 0x00084000 ); /** * Pre-permuted S-box3 * * @var array * @access private */ var $sbox3 = array( 0x00000104, 0x04010100, 0x00000000, 0x04010004, 0x04000100, 0x00000000, 0x00010104, 0x04000100, 0x00010004, 0x04000004, 0x04000004, 0x00010000, 0x04010104, 0x00010004, 0x04010000, 0x00000104, 0x04000000, 0x00000004, 0x04010100, 0x00000100, 0x00010100, 0x04010000, 0x04010004, 0x00010104, 0x04000104, 0x00010100, 0x00010000, 0x04000104, 0x00000004, 0x04010104, 0x00000100, 0x04000000, 0x04010100, 0x04000000, 0x00010004, 0x00000104, 0x00010000, 0x04010100, 0x04000100, 0x00000000, 0x00000100, 0x00010004, 0x04010104, 0x04000100, 0x04000004, 0x00000100, 0x00000000, 0x04010004, 0x04000104, 0x00010000, 0x04000000, 0x04010104, 0x00000004, 0x00010104, 0x00010100, 0x04000004, 0x04010000, 0x04000104, 0x00000104, 0x04010000, 0x00010104, 0x00000004, 0x04010004, 0x00010100 ); /** * Pre-permuted S-box4 * * @var array * @access private */ var $sbox4 = array( 0x80401000, 0x80001040, 0x80001040, 0x00000040, 0x00401040, 0x80400040, 0x80400000, 0x80001000, 0x00000000, 0x00401000, 0x00401000, 0x80401040, 0x80000040, 0x00000000, 0x00400040, 0x80400000, 0x80000000, 0x00001000, 0x00400000, 0x80401000, 0x00000040, 0x00400000, 0x80001000, 0x00001040, 0x80400040, 0x80000000, 0x00001040, 0x00400040, 0x00001000, 0x00401040, 0x80401040, 0x80000040, 0x00400040, 0x80400000, 0x00401000, 0x80401040, 0x80000040, 0x00000000, 0x00000000, 0x00401000, 0x00001040, 0x00400040, 0x80400040, 0x80000000, 0x80401000, 0x80001040, 0x80001040, 0x00000040, 0x80401040, 0x80000040, 0x80000000, 0x00001000, 0x80400000, 0x80001000, 0x00401040, 0x80400040, 0x80001000, 0x00001040, 0x00400000, 0x80401000, 0x00000040, 0x00400000, 0x00001000, 0x00401040 ); /** * Pre-permuted S-box5 * * @var array * @access private */ var $sbox5 = array( 0x00000080, 0x01040080, 0x01040000, 0x21000080, 0x00040000, 0x00000080, 0x20000000, 0x01040000, 0x20040080, 0x00040000, 0x01000080, 0x20040080, 0x21000080, 0x21040000, 0x00040080, 0x20000000, 0x01000000, 0x20040000, 0x20040000, 0x00000000, 0x20000080, 0x21040080, 0x21040080, 0x01000080, 0x21040000, 0x20000080, 0x00000000, 0x21000000, 0x01040080, 0x01000000, 0x21000000, 0x00040080, 0x00040000, 0x21000080, 0x00000080, 0x01000000, 0x20000000, 0x01040000, 0x21000080, 0x20040080, 0x01000080, 0x20000000, 0x21040000, 0x01040080, 0x20040080, 0x00000080, 0x01000000, 0x21040000, 0x21040080, 0x00040080, 0x21000000, 0x21040080, 0x01040000, 0x00000000, 0x20040000, 0x21000000, 0x00040080, 0x01000080, 0x20000080, 0x00040000, 0x00000000, 0x20040000, 0x01040080, 0x20000080 ); /** * Pre-permuted S-box6 * * @var array * @access private */ var $sbox6 = array( 0x10000008, 0x10200000, 0x00002000, 0x10202008, 0x10200000, 0x00000008, 0x10202008, 0x00200000, 0x10002000, 0x00202008, 0x00200000, 0x10000008, 0x00200008, 0x10002000, 0x10000000, 0x00002008, 0x00000000, 0x00200008, 0x10002008, 0x00002000, 0x00202000, 0x10002008, 0x00000008, 0x10200008, 0x10200008, 0x00000000, 0x00202008, 0x10202000, 0x00002008, 0x00202000, 0x10202000, 0x10000000, 0x10002000, 0x00000008, 0x10200008, 0x00202000, 0x10202008, 0x00200000, 0x00002008, 0x10000008, 0x00200000, 0x10002000, 0x10000000, 0x00002008, 0x10000008, 0x10202008, 0x00202000, 0x10200000, 0x00202008, 0x10202000, 0x00000000, 0x10200008, 0x00000008, 0x00002000, 0x10200000, 0x00202008, 0x00002000, 0x00200008, 0x10002008, 0x00000000, 0x10202000, 0x10000000, 0x00200008, 0x10002008 ); /** * Pre-permuted S-box7 * * @var array * @access private */ var $sbox7 = array( 0x00100000, 0x02100001, 0x02000401, 0x00000000, 0x00000400, 0x02000401, 0x00100401, 0x02100400, 0x02100401, 0x00100000, 0x00000000, 0x02000001, 0x00000001, 0x02000000, 0x02100001, 0x00000401, 0x02000400, 0x00100401, 0x00100001, 0x02000400, 0x02000001, 0x02100000, 0x02100400, 0x00100001, 0x02100000, 0x00000400, 0x00000401, 0x02100401, 0x00100400, 0x00000001, 0x02000000, 0x00100400, 0x02000000, 0x00100400, 0x00100000, 0x02000401, 0x02000401, 0x02100001, 0x02100001, 0x00000001, 0x00100001, 0x02000000, 0x02000400, 0x00100000, 0x02100400, 0x00000401, 0x00100401, 0x02100400, 0x00000401, 0x02000001, 0x02100401, 0x02100000, 0x00100400, 0x00000000, 0x00000001, 0x02100401, 0x00000000, 0x00100401, 0x02100000, 0x00000400, 0x02000001, 0x02000400, 0x00000400, 0x00100001 ); /** * Pre-permuted S-box8 * * @var array * @access private */ var $sbox8 = array( 0x08000820, 0x00000800, 0x00020000, 0x08020820, 0x08000000, 0x08000820, 0x00000020, 0x08000000, 0x00020020, 0x08020000, 0x08020820, 0x00020800, 0x08020800, 0x00020820, 0x00000800, 0x00000020, 0x08020000, 0x08000020, 0x08000800, 0x00000820, 0x00020800, 0x00020020, 0x08020020, 0x08020800, 0x00000820, 0x00000000, 0x00000000, 0x08020020, 0x08000020, 0x08000800, 0x00020820, 0x00020000, 0x00020820, 0x00020000, 0x08020800, 0x00000800, 0x00000020, 0x08020020, 0x00000800, 0x00020820, 0x08000800, 0x00000020, 0x08000020, 0x08020000, 0x08020020, 0x08000000, 0x00020000, 0x08000820, 0x00000000, 0x08020820, 0x00020020, 0x08000020, 0x08020000, 0x08000800, 0x08000820, 0x00000000, 0x08020820, 0x00020800, 0x00020800, 0x00000820, 0x00000820, 0x00020020, 0x08000000, 0x08020800 ); /** * Test for engine validity * * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() * * @see \phpseclib\Crypt\Base::isValidEngine() * @param int $engine * @access public * @return bool */ function isValidEngine($engine) { if ($this->key_length_max == 8) { if ($engine == self::ENGINE_OPENSSL) { // quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1 // "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider" // in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not if (defined('OPENSSL_VERSION_TEXT') && version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) { return false; } $this->cipher_name_openssl_ecb = 'des-ecb'; $this->cipher_name_openssl = 'des-' . $this->_openssl_translate_mode(); } } return parent::isValidEngine($engine); } /** * Sets the key. * * Keys can be of any length. DES, itself, uses 64-bit keys (eg. strlen($key) == 8), however, we * only use the first eight, if $key has more then eight characters in it, and pad $key with the * null byte if it is less then eight characters long. * * DES also requires that every eighth bit be a parity bit, however, we'll ignore that. * * If the key is not explicitly set, it'll be assumed to be all zero's. * * @see \phpseclib\Crypt\Base::setKey() * @access public * @param string $key */ function setKey($key) { // We check/cut here only up to max length of the key. // Key padding to the proper length will be done in _setupKey() if (strlen($key) > $this->key_length_max) { $key = substr($key, 0, $this->key_length_max); } // Sets the key parent::setKey($key); } /** * Encrypts a block * * @see \phpseclib\Crypt\Base::_encryptBlock() * @see \phpseclib\Crypt\Base::encrypt() * @see self::encrypt() * @access private * @param string $in * @return string */ function _encryptBlock($in) { return $this->_processBlock($in, self::ENCRYPT); } /** * Decrypts a block * * @see \phpseclib\Crypt\Base::_decryptBlock() * @see \phpseclib\Crypt\Base::decrypt() * @see self::decrypt() * @access private * @param string $in * @return string */ function _decryptBlock($in) { return $this->_processBlock($in, self::DECRYPT); } /** * Encrypts or decrypts a 64-bit block * * $mode should be either self::ENCRYPT or self::DECRYPT. See * {@link http://en.wikipedia.org/wiki/Image:Feistel.png Feistel.png} to get a general * idea of what this function does. * * @see self::_encryptBlock() * @see self::_decryptBlock() * @access private * @param string $block * @param int $mode * @return string */ function _processBlock($block, $mode) { static $sbox1, $sbox2, $sbox3, $sbox4, $sbox5, $sbox6, $sbox7, $sbox8, $shuffleip, $shuffleinvip; if (!$sbox1) { $sbox1 = array_map("intval", $this->sbox1); $sbox2 = array_map("intval", $this->sbox2); $sbox3 = array_map("intval", $this->sbox3); $sbox4 = array_map("intval", $this->sbox4); $sbox5 = array_map("intval", $this->sbox5); $sbox6 = array_map("intval", $this->sbox6); $sbox7 = array_map("intval", $this->sbox7); $sbox8 = array_map("intval", $this->sbox8); /* Merge $shuffle with $[inv]ipmap */ for ($i = 0; $i < 256; ++$i) { $shuffleip[] = $this->shuffle[$this->ipmap[$i]]; $shuffleinvip[] = $this->shuffle[$this->invipmap[$i]]; } } $keys = $this->keys[$mode]; $ki = -1; // Do the initial IP permutation. $t = unpack('Nl/Nr', $block); list($l, $r) = array($t['l'], $t['r']); $block = ($shuffleip[ $r & 0xFF] & "\x80\x80\x80\x80\x80\x80\x80\x80") | ($shuffleip[($r >> 8) & 0xFF] & "\x40\x40\x40\x40\x40\x40\x40\x40") | ($shuffleip[($r >> 16) & 0xFF] & "\x20\x20\x20\x20\x20\x20\x20\x20") | ($shuffleip[($r >> 24) & 0xFF] & "\x10\x10\x10\x10\x10\x10\x10\x10") | ($shuffleip[ $l & 0xFF] & "\x08\x08\x08\x08\x08\x08\x08\x08") | ($shuffleip[($l >> 8) & 0xFF] & "\x04\x04\x04\x04\x04\x04\x04\x04") | ($shuffleip[($l >> 16) & 0xFF] & "\x02\x02\x02\x02\x02\x02\x02\x02") | ($shuffleip[($l >> 24) & 0xFF] & "\x01\x01\x01\x01\x01\x01\x01\x01"); // Extract L0 and R0. $t = unpack('Nl/Nr', $block); list($l, $r) = array($t['l'], $t['r']); for ($des_round = 0; $des_round < $this->des_rounds; ++$des_round) { // Perform the 16 steps. for ($i = 0; $i < 16; $i++) { // start of "the Feistel (F) function" - see the following URL: // http://en.wikipedia.org/wiki/Image:Data_Encryption_Standard_InfoBox_Diagram.png // Merge key schedule. $b1 = (($r >> 3) & 0x1FFFFFFF) ^ ($r << 29) ^ $keys[++$ki]; $b2 = (($r >> 31) & 0x00000001) ^ ($r << 1) ^ $keys[++$ki]; // S-box indexing. $t = $sbox1[($b1 >> 24) & 0x3F] ^ $sbox2[($b2 >> 24) & 0x3F] ^ $sbox3[($b1 >> 16) & 0x3F] ^ $sbox4[($b2 >> 16) & 0x3F] ^ $sbox5[($b1 >> 8) & 0x3F] ^ $sbox6[($b2 >> 8) & 0x3F] ^ $sbox7[ $b1 & 0x3F] ^ $sbox8[ $b2 & 0x3F] ^ $l; // end of "the Feistel (F) function" $l = $r; $r = $t; } // Last step should not permute L & R. $t = $l; $l = $r; $r = $t; } // Perform the inverse IP permutation. return ($shuffleinvip[($r >> 24) & 0xFF] & "\x80\x80\x80\x80\x80\x80\x80\x80") | ($shuffleinvip[($l >> 24) & 0xFF] & "\x40\x40\x40\x40\x40\x40\x40\x40") | ($shuffleinvip[($r >> 16) & 0xFF] & "\x20\x20\x20\x20\x20\x20\x20\x20") | ($shuffleinvip[($l >> 16) & 0xFF] & "\x10\x10\x10\x10\x10\x10\x10\x10") | ($shuffleinvip[($r >> 8) & 0xFF] & "\x08\x08\x08\x08\x08\x08\x08\x08") | ($shuffleinvip[($l >> 8) & 0xFF] & "\x04\x04\x04\x04\x04\x04\x04\x04") | ($shuffleinvip[ $r & 0xFF] & "\x02\x02\x02\x02\x02\x02\x02\x02") | ($shuffleinvip[ $l & 0xFF] & "\x01\x01\x01\x01\x01\x01\x01\x01"); } /** * Creates the key schedule * * @see \phpseclib\Crypt\Base::_setupKey() * @access private */ function _setupKey() { if (isset($this->kl['key']) && $this->key === $this->kl['key'] && $this->des_rounds === $this->kl['des_rounds']) { // already expanded return; } $this->kl = array('key' => $this->key, 'des_rounds' => $this->des_rounds); static $shifts = array( // number of key bits shifted per round 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 ); static $pc1map = array( 0x00, 0x00, 0x08, 0x08, 0x04, 0x04, 0x0C, 0x0C, 0x02, 0x02, 0x0A, 0x0A, 0x06, 0x06, 0x0E, 0x0E, 0x10, 0x10, 0x18, 0x18, 0x14, 0x14, 0x1C, 0x1C, 0x12, 0x12, 0x1A, 0x1A, 0x16, 0x16, 0x1E, 0x1E, 0x20, 0x20, 0x28, 0x28, 0x24, 0x24, 0x2C, 0x2C, 0x22, 0x22, 0x2A, 0x2A, 0x26, 0x26, 0x2E, 0x2E, 0x30, 0x30, 0x38, 0x38, 0x34, 0x34, 0x3C, 0x3C, 0x32, 0x32, 0x3A, 0x3A, 0x36, 0x36, 0x3E, 0x3E, 0x40, 0x40, 0x48, 0x48, 0x44, 0x44, 0x4C, 0x4C, 0x42, 0x42, 0x4A, 0x4A, 0x46, 0x46, 0x4E, 0x4E, 0x50, 0x50, 0x58, 0x58, 0x54, 0x54, 0x5C, 0x5C, 0x52, 0x52, 0x5A, 0x5A, 0x56, 0x56, 0x5E, 0x5E, 0x60, 0x60, 0x68, 0x68, 0x64, 0x64, 0x6C, 0x6C, 0x62, 0x62, 0x6A, 0x6A, 0x66, 0x66, 0x6E, 0x6E, 0x70, 0x70, 0x78, 0x78, 0x74, 0x74, 0x7C, 0x7C, 0x72, 0x72, 0x7A, 0x7A, 0x76, 0x76, 0x7E, 0x7E, 0x80, 0x80, 0x88, 0x88, 0x84, 0x84, 0x8C, 0x8C, 0x82, 0x82, 0x8A, 0x8A, 0x86, 0x86, 0x8E, 0x8E, 0x90, 0x90, 0x98, 0x98, 0x94, 0x94, 0x9C, 0x9C, 0x92, 0x92, 0x9A, 0x9A, 0x96, 0x96, 0x9E, 0x9E, 0xA0, 0xA0, 0xA8, 0xA8, 0xA4, 0xA4, 0xAC, 0xAC, 0xA2, 0xA2, 0xAA, 0xAA, 0xA6, 0xA6, 0xAE, 0xAE, 0xB0, 0xB0, 0xB8, 0xB8, 0xB4, 0xB4, 0xBC, 0xBC, 0xB2, 0xB2, 0xBA, 0xBA, 0xB6, 0xB6, 0xBE, 0xBE, 0xC0, 0xC0, 0xC8, 0xC8, 0xC4, 0xC4, 0xCC, 0xCC, 0xC2, 0xC2, 0xCA, 0xCA, 0xC6, 0xC6, 0xCE, 0xCE, 0xD0, 0xD0, 0xD8, 0xD8, 0xD4, 0xD4, 0xDC, 0xDC, 0xD2, 0xD2, 0xDA, 0xDA, 0xD6, 0xD6, 0xDE, 0xDE, 0xE0, 0xE0, 0xE8, 0xE8, 0xE4, 0xE4, 0xEC, 0xEC, 0xE2, 0xE2, 0xEA, 0xEA, 0xE6, 0xE6, 0xEE, 0xEE, 0xF0, 0xF0, 0xF8, 0xF8, 0xF4, 0xF4, 0xFC, 0xFC, 0xF2, 0xF2, 0xFA, 0xFA, 0xF6, 0xF6, 0xFE, 0xFE ); // Mapping tables for the PC-2 transformation. static $pc2mapc1 = array( 0x00000000, 0x00000400, 0x00200000, 0x00200400, 0x00000001, 0x00000401, 0x00200001, 0x00200401, 0x02000000, 0x02000400, 0x02200000, 0x02200400, 0x02000001, 0x02000401, 0x02200001, 0x02200401 ); static $pc2mapc2 = array( 0x00000000, 0x00000800, 0x08000000, 0x08000800, 0x00010000, 0x00010800, 0x08010000, 0x08010800, 0x00000000, 0x00000800, 0x08000000, 0x08000800, 0x00010000, 0x00010800, 0x08010000, 0x08010800, 0x00000100, 0x00000900, 0x08000100, 0x08000900, 0x00010100, 0x00010900, 0x08010100, 0x08010900, 0x00000100, 0x00000900, 0x08000100, 0x08000900, 0x00010100, 0x00010900, 0x08010100, 0x08010900, 0x00000010, 0x00000810, 0x08000010, 0x08000810, 0x00010010, 0x00010810, 0x08010010, 0x08010810, 0x00000010, 0x00000810, 0x08000010, 0x08000810, 0x00010010, 0x00010810, 0x08010010, 0x08010810, 0x00000110, 0x00000910, 0x08000110, 0x08000910, 0x00010110, 0x00010910, 0x08010110, 0x08010910, 0x00000110, 0x00000910, 0x08000110, 0x08000910, 0x00010110, 0x00010910, 0x08010110, 0x08010910, 0x00040000, 0x00040800, 0x08040000, 0x08040800, 0x00050000, 0x00050800, 0x08050000, 0x08050800, 0x00040000, 0x00040800, 0x08040000, 0x08040800, 0x00050000, 0x00050800, 0x08050000, 0x08050800, 0x00040100, 0x00040900, 0x08040100, 0x08040900, 0x00050100, 0x00050900, 0x08050100, 0x08050900, 0x00040100, 0x00040900, 0x08040100, 0x08040900, 0x00050100, 0x00050900, 0x08050100, 0x08050900, 0x00040010, 0x00040810, 0x08040010, 0x08040810, 0x00050010, 0x00050810, 0x08050010, 0x08050810, 0x00040010, 0x00040810, 0x08040010, 0x08040810, 0x00050010, 0x00050810, 0x08050010, 0x08050810, 0x00040110, 0x00040910, 0x08040110, 0x08040910, 0x00050110, 0x00050910, 0x08050110, 0x08050910, 0x00040110, 0x00040910, 0x08040110, 0x08040910, 0x00050110, 0x00050910, 0x08050110, 0x08050910, 0x01000000, 0x01000800, 0x09000000, 0x09000800, 0x01010000, 0x01010800, 0x09010000, 0x09010800, 0x01000000, 0x01000800, 0x09000000, 0x09000800, 0x01010000, 0x01010800, 0x09010000, 0x09010800, 0x01000100, 0x01000900, 0x09000100, 0x09000900, 0x01010100, 0x01010900, 0x09010100, 0x09010900, 0x01000100, 0x01000900, 0x09000100, 0x09000900, 0x01010100, 0x01010900, 0x09010100, 0x09010900, 0x01000010, 0x01000810, 0x09000010, 0x09000810, 0x01010010, 0x01010810, 0x09010010, 0x09010810, 0x01000010, 0x01000810, 0x09000010, 0x09000810, 0x01010010, 0x01010810, 0x09010010, 0x09010810, 0x01000110, 0x01000910, 0x09000110, 0x09000910, 0x01010110, 0x01010910, 0x09010110, 0x09010910, 0x01000110, 0x01000910, 0x09000110, 0x09000910, 0x01010110, 0x01010910, 0x09010110, 0x09010910, 0x01040000, 0x01040800, 0x09040000, 0x09040800, 0x01050000, 0x01050800, 0x09050000, 0x09050800, 0x01040000, 0x01040800, 0x09040000, 0x09040800, 0x01050000, 0x01050800, 0x09050000, 0x09050800, 0x01040100, 0x01040900, 0x09040100, 0x09040900, 0x01050100, 0x01050900, 0x09050100, 0x09050900, 0x01040100, 0x01040900, 0x09040100, 0x09040900, 0x01050100, 0x01050900, 0x09050100, 0x09050900, 0x01040010, 0x01040810, 0x09040010, 0x09040810, 0x01050010, 0x01050810, 0x09050010, 0x09050810, 0x01040010, 0x01040810, 0x09040010, 0x09040810, 0x01050010, 0x01050810, 0x09050010, 0x09050810, 0x01040110, 0x01040910, 0x09040110, 0x09040910, 0x01050110, 0x01050910, 0x09050110, 0x09050910, 0x01040110, 0x01040910, 0x09040110, 0x09040910, 0x01050110, 0x01050910, 0x09050110, 0x09050910 ); static $pc2mapc3 = array( 0x00000000, 0x00000004, 0x00001000, 0x00001004, 0x00000000, 0x00000004, 0x00001000, 0x00001004, 0x10000000, 0x10000004, 0x10001000, 0x10001004, 0x10000000, 0x10000004, 0x10001000, 0x10001004, 0x00000020, 0x00000024, 0x00001020, 0x00001024, 0x00000020, 0x00000024, 0x00001020, 0x00001024, 0x10000020, 0x10000024, 0x10001020, 0x10001024, 0x10000020, 0x10000024, 0x10001020, 0x10001024, 0x00080000, 0x00080004, 0x00081000, 0x00081004, 0x00080000, 0x00080004, 0x00081000, 0x00081004, 0x10080000, 0x10080004, 0x10081000, 0x10081004, 0x10080000, 0x10080004, 0x10081000, 0x10081004, 0x00080020, 0x00080024, 0x00081020, 0x00081024, 0x00080020, 0x00080024, 0x00081020, 0x00081024, 0x10080020, 0x10080024, 0x10081020, 0x10081024, 0x10080020, 0x10080024, 0x10081020, 0x10081024, 0x20000000, 0x20000004, 0x20001000, 0x20001004, 0x20000000, 0x20000004, 0x20001000, 0x20001004, 0x30000000, 0x30000004, 0x30001000, 0x30001004, 0x30000000, 0x30000004, 0x30001000, 0x30001004, 0x20000020, 0x20000024, 0x20001020, 0x20001024, 0x20000020, 0x20000024, 0x20001020, 0x20001024, 0x30000020, 0x30000024, 0x30001020, 0x30001024, 0x30000020, 0x30000024, 0x30001020, 0x30001024, 0x20080000, 0x20080004, 0x20081000, 0x20081004, 0x20080000, 0x20080004, 0x20081000, 0x20081004, 0x30080000, 0x30080004, 0x30081000, 0x30081004, 0x30080000, 0x30080004, 0x30081000, 0x30081004, 0x20080020, 0x20080024, 0x20081020, 0x20081024, 0x20080020, 0x20080024, 0x20081020, 0x20081024, 0x30080020, 0x30080024, 0x30081020, 0x30081024, 0x30080020, 0x30080024, 0x30081020, 0x30081024, 0x00000002, 0x00000006, 0x00001002, 0x00001006, 0x00000002, 0x00000006, 0x00001002, 0x00001006, 0x10000002, 0x10000006, 0x10001002, 0x10001006, 0x10000002, 0x10000006, 0x10001002, 0x10001006, 0x00000022, 0x00000026, 0x00001022, 0x00001026, 0x00000022, 0x00000026, 0x00001022, 0x00001026, 0x10000022, 0x10000026, 0x10001022, 0x10001026, 0x10000022, 0x10000026, 0x10001022, 0x10001026, 0x00080002, 0x00080006, 0x00081002, 0x00081006, 0x00080002, 0x00080006, 0x00081002, 0x00081006, 0x10080002, 0x10080006, 0x10081002, 0x10081006, 0x10080002, 0x10080006, 0x10081002, 0x10081006, 0x00080022, 0x00080026, 0x00081022, 0x00081026, 0x00080022, 0x00080026, 0x00081022, 0x00081026, 0x10080022, 0x10080026, 0x10081022, 0x10081026, 0x10080022, 0x10080026, 0x10081022, 0x10081026, 0x20000002, 0x20000006, 0x20001002, 0x20001006, 0x20000002, 0x20000006, 0x20001002, 0x20001006, 0x30000002, 0x30000006, 0x30001002, 0x30001006, 0x30000002, 0x30000006, 0x30001002, 0x30001006, 0x20000022, 0x20000026, 0x20001022, 0x20001026, 0x20000022, 0x20000026, 0x20001022, 0x20001026, 0x30000022, 0x30000026, 0x30001022, 0x30001026, 0x30000022, 0x30000026, 0x30001022, 0x30001026, 0x20080002, 0x20080006, 0x20081002, 0x20081006, 0x20080002, 0x20080006, 0x20081002, 0x20081006, 0x30080002, 0x30080006, 0x30081002, 0x30081006, 0x30080002, 0x30080006, 0x30081002, 0x30081006, 0x20080022, 0x20080026, 0x20081022, 0x20081026, 0x20080022, 0x20080026, 0x20081022, 0x20081026, 0x30080022, 0x30080026, 0x30081022, 0x30081026, 0x30080022, 0x30080026, 0x30081022, 0x30081026 ); static $pc2mapc4 = array( 0x00000000, 0x00100000, 0x00000008, 0x00100008, 0x00000200, 0x00100200, 0x00000208, 0x00100208, 0x00000000, 0x00100000, 0x00000008, 0x00100008, 0x00000200, 0x00100200, 0x00000208, 0x00100208, 0x04000000, 0x04100000, 0x04000008, 0x04100008, 0x04000200, 0x04100200, 0x04000208, 0x04100208, 0x04000000, 0x04100000, 0x04000008, 0x04100008, 0x04000200, 0x04100200, 0x04000208, 0x04100208, 0x00002000, 0x00102000, 0x00002008, 0x00102008, 0x00002200, 0x00102200, 0x00002208, 0x00102208, 0x00002000, 0x00102000, 0x00002008, 0x00102008, 0x00002200, 0x00102200, 0x00002208, 0x00102208, 0x04002000, 0x04102000, 0x04002008, 0x04102008, 0x04002200, 0x04102200, 0x04002208, 0x04102208, 0x04002000, 0x04102000, 0x04002008, 0x04102008, 0x04002200, 0x04102200, 0x04002208, 0x04102208, 0x00000000, 0x00100000, 0x00000008, 0x00100008, 0x00000200, 0x00100200, 0x00000208, 0x00100208, 0x00000000, 0x00100000, 0x00000008, 0x00100008, 0x00000200, 0x00100200, 0x00000208, 0x00100208, 0x04000000, 0x04100000, 0x04000008, 0x04100008, 0x04000200, 0x04100200, 0x04000208, 0x04100208, 0x04000000, 0x04100000, 0x04000008, 0x04100008, 0x04000200, 0x04100200, 0x04000208, 0x04100208, 0x00002000, 0x00102000, 0x00002008, 0x00102008, 0x00002200, 0x00102200, 0x00002208, 0x00102208, 0x00002000, 0x00102000, 0x00002008, 0x00102008, 0x00002200, 0x00102200, 0x00002208, 0x00102208, 0x04002000, 0x04102000, 0x04002008, 0x04102008, 0x04002200, 0x04102200, 0x04002208, 0x04102208, 0x04002000, 0x04102000, 0x04002008, 0x04102008, 0x04002200, 0x04102200, 0x04002208, 0x04102208, 0x00020000, 0x00120000, 0x00020008, 0x00120008, 0x00020200, 0x00120200, 0x00020208, 0x00120208, 0x00020000, 0x00120000, 0x00020008, 0x00120008, 0x00020200, 0x00120200, 0x00020208, 0x00120208, 0x04020000, 0x04120000, 0x04020008, 0x04120008, 0x04020200, 0x04120200, 0x04020208, 0x04120208, 0x04020000, 0x04120000, 0x04020008, 0x04120008, 0x04020200, 0x04120200, 0x04020208, 0x04120208, 0x00022000, 0x00122000, 0x00022008, 0x00122008, 0x00022200, 0x00122200, 0x00022208, 0x00122208, 0x00022000, 0x00122000, 0x00022008, 0x00122008, 0x00022200, 0x00122200, 0x00022208, 0x00122208, 0x04022000, 0x04122000, 0x04022008, 0x04122008, 0x04022200, 0x04122200, 0x04022208, 0x04122208, 0x04022000, 0x04122000, 0x04022008, 0x04122008, 0x04022200, 0x04122200, 0x04022208, 0x04122208, 0x00020000, 0x00120000, 0x00020008, 0x00120008, 0x00020200, 0x00120200, 0x00020208, 0x00120208, 0x00020000, 0x00120000, 0x00020008, 0x00120008, 0x00020200, 0x00120200, 0x00020208, 0x00120208, 0x04020000, 0x04120000, 0x04020008, 0x04120008, 0x04020200, 0x04120200, 0x04020208, 0x04120208, 0x04020000, 0x04120000, 0x04020008, 0x04120008, 0x04020200, 0x04120200, 0x04020208, 0x04120208, 0x00022000, 0x00122000, 0x00022008, 0x00122008, 0x00022200, 0x00122200, 0x00022208, 0x00122208, 0x00022000, 0x00122000, 0x00022008, 0x00122008, 0x00022200, 0x00122200, 0x00022208, 0x00122208, 0x04022000, 0x04122000, 0x04022008, 0x04122008, 0x04022200, 0x04122200, 0x04022208, 0x04122208, 0x04022000, 0x04122000, 0x04022008, 0x04122008, 0x04022200, 0x04122200, 0x04022208, 0x04122208 ); static $pc2mapd1 = array( 0x00000000, 0x00000001, 0x08000000, 0x08000001, 0x00200000, 0x00200001, 0x08200000, 0x08200001, 0x00000002, 0x00000003, 0x08000002, 0x08000003, 0x00200002, 0x00200003, 0x08200002, 0x08200003 ); static $pc2mapd2 = array( 0x00000000, 0x00100000, 0x00000800, 0x00100800, 0x00000000, 0x00100000, 0x00000800, 0x00100800, 0x04000000, 0x04100000, 0x04000800, 0x04100800, 0x04000000, 0x04100000, 0x04000800, 0x04100800, 0x00000004, 0x00100004, 0x00000804, 0x00100804, 0x00000004, 0x00100004, 0x00000804, 0x00100804, 0x04000004, 0x04100004, 0x04000804, 0x04100804, 0x04000004, 0x04100004, 0x04000804, 0x04100804, 0x00000000, 0x00100000, 0x00000800, 0x00100800, 0x00000000, 0x00100000, 0x00000800, 0x00100800, 0x04000000, 0x04100000, 0x04000800, 0x04100800, 0x04000000, 0x04100000, 0x04000800, 0x04100800, 0x00000004, 0x00100004, 0x00000804, 0x00100804, 0x00000004, 0x00100004, 0x00000804, 0x00100804, 0x04000004, 0x04100004, 0x04000804, 0x04100804, 0x04000004, 0x04100004, 0x04000804, 0x04100804, 0x00000200, 0x00100200, 0x00000A00, 0x00100A00, 0x00000200, 0x00100200, 0x00000A00, 0x00100A00, 0x04000200, 0x04100200, 0x04000A00, 0x04100A00, 0x04000200, 0x04100200, 0x04000A00, 0x04100A00, 0x00000204, 0x00100204, 0x00000A04, 0x00100A04, 0x00000204, 0x00100204, 0x00000A04, 0x00100A04, 0x04000204, 0x04100204, 0x04000A04, 0x04100A04, 0x04000204, 0x04100204, 0x04000A04, 0x04100A04, 0x00000200, 0x00100200, 0x00000A00, 0x00100A00, 0x00000200, 0x00100200, 0x00000A00, 0x00100A00, 0x04000200, 0x04100200, 0x04000A00, 0x04100A00, 0x04000200, 0x04100200, 0x04000A00, 0x04100A00, 0x00000204, 0x00100204, 0x00000A04, 0x00100A04, 0x00000204, 0x00100204, 0x00000A04, 0x00100A04, 0x04000204, 0x04100204, 0x04000A04, 0x04100A04, 0x04000204, 0x04100204, 0x04000A04, 0x04100A04, 0x00020000, 0x00120000, 0x00020800, 0x00120800, 0x00020000, 0x00120000, 0x00020800, 0x00120800, 0x04020000, 0x04120000, 0x04020800, 0x04120800, 0x04020000, 0x04120000, 0x04020800, 0x04120800, 0x00020004, 0x00120004, 0x00020804, 0x00120804, 0x00020004, 0x00120004, 0x00020804, 0x00120804, 0x04020004, 0x04120004, 0x04020804, 0x04120804, 0x04020004, 0x04120004, 0x04020804, 0x04120804, 0x00020000, 0x00120000, 0x00020800, 0x00120800, 0x00020000, 0x00120000, 0x00020800, 0x00120800, 0x04020000, 0x04120000, 0x04020800, 0x04120800, 0x04020000, 0x04120000, 0x04020800, 0x04120800, 0x00020004, 0x00120004, 0x00020804, 0x00120804, 0x00020004, 0x00120004, 0x00020804, 0x00120804, 0x04020004, 0x04120004, 0x04020804, 0x04120804, 0x04020004, 0x04120004, 0x04020804, 0x04120804, 0x00020200, 0x00120200, 0x00020A00, 0x00120A00, 0x00020200, 0x00120200, 0x00020A00, 0x00120A00, 0x04020200, 0x04120200, 0x04020A00, 0x04120A00, 0x04020200, 0x04120200, 0x04020A00, 0x04120A00, 0x00020204, 0x00120204, 0x00020A04, 0x00120A04, 0x00020204, 0x00120204, 0x00020A04, 0x00120A04, 0x04020204, 0x04120204, 0x04020A04, 0x04120A04, 0x04020204, 0x04120204, 0x04020A04, 0x04120A04, 0x00020200, 0x00120200, 0x00020A00, 0x00120A00, 0x00020200, 0x00120200, 0x00020A00, 0x00120A00, 0x04020200, 0x04120200, 0x04020A00, 0x04120A00, 0x04020200, 0x04120200, 0x04020A00, 0x04120A00, 0x00020204, 0x00120204, 0x00020A04, 0x00120A04, 0x00020204, 0x00120204, 0x00020A04, 0x00120A04, 0x04020204, 0x04120204, 0x04020A04, 0x04120A04, 0x04020204, 0x04120204, 0x04020A04, 0x04120A04 ); static $pc2mapd3 = array( 0x00000000, 0x00010000, 0x02000000, 0x02010000, 0x00000020, 0x00010020, 0x02000020, 0x02010020, 0x00040000, 0x00050000, 0x02040000, 0x02050000, 0x00040020, 0x00050020, 0x02040020, 0x02050020, 0x00002000, 0x00012000, 0x02002000, 0x02012000, 0x00002020, 0x00012020, 0x02002020, 0x02012020, 0x00042000, 0x00052000, 0x02042000, 0x02052000, 0x00042020, 0x00052020, 0x02042020, 0x02052020, 0x00000000, 0x00010000, 0x02000000, 0x02010000, 0x00000020, 0x00010020, 0x02000020, 0x02010020, 0x00040000, 0x00050000, 0x02040000, 0x02050000, 0x00040020, 0x00050020, 0x02040020, 0x02050020, 0x00002000, 0x00012000, 0x02002000, 0x02012000, 0x00002020, 0x00012020, 0x02002020, 0x02012020, 0x00042000, 0x00052000, 0x02042000, 0x02052000, 0x00042020, 0x00052020, 0x02042020, 0x02052020, 0x00000010, 0x00010010, 0x02000010, 0x02010010, 0x00000030, 0x00010030, 0x02000030, 0x02010030, 0x00040010, 0x00050010, 0x02040010, 0x02050010, 0x00040030, 0x00050030, 0x02040030, 0x02050030, 0x00002010, 0x00012010, 0x02002010, 0x02012010, 0x00002030, 0x00012030, 0x02002030, 0x02012030, 0x00042010, 0x00052010, 0x02042010, 0x02052010, 0x00042030, 0x00052030, 0x02042030, 0x02052030, 0x00000010, 0x00010010, 0x02000010, 0x02010010, 0x00000030, 0x00010030, 0x02000030, 0x02010030, 0x00040010, 0x00050010, 0x02040010, 0x02050010, 0x00040030, 0x00050030, 0x02040030, 0x02050030, 0x00002010, 0x00012010, 0x02002010, 0x02012010, 0x00002030, 0x00012030, 0x02002030, 0x02012030, 0x00042010, 0x00052010, 0x02042010, 0x02052010, 0x00042030, 0x00052030, 0x02042030, 0x02052030, 0x20000000, 0x20010000, 0x22000000, 0x22010000, 0x20000020, 0x20010020, 0x22000020, 0x22010020, 0x20040000, 0x20050000, 0x22040000, 0x22050000, 0x20040020, 0x20050020, 0x22040020, 0x22050020, 0x20002000, 0x20012000, 0x22002000, 0x22012000, 0x20002020, 0x20012020, 0x22002020, 0x22012020, 0x20042000, 0x20052000, 0x22042000, 0x22052000, 0x20042020, 0x20052020, 0x22042020, 0x22052020, 0x20000000, 0x20010000, 0x22000000, 0x22010000, 0x20000020, 0x20010020, 0x22000020, 0x22010020, 0x20040000, 0x20050000, 0x22040000, 0x22050000, 0x20040020, 0x20050020, 0x22040020, 0x22050020, 0x20002000, 0x20012000, 0x22002000, 0x22012000, 0x20002020, 0x20012020, 0x22002020, 0x22012020, 0x20042000, 0x20052000, 0x22042000, 0x22052000, 0x20042020, 0x20052020, 0x22042020, 0x22052020, 0x20000010, 0x20010010, 0x22000010, 0x22010010, 0x20000030, 0x20010030, 0x22000030, 0x22010030, 0x20040010, 0x20050010, 0x22040010, 0x22050010, 0x20040030, 0x20050030, 0x22040030, 0x22050030, 0x20002010, 0x20012010, 0x22002010, 0x22012010, 0x20002030, 0x20012030, 0x22002030, 0x22012030, 0x20042010, 0x20052010, 0x22042010, 0x22052010, 0x20042030, 0x20052030, 0x22042030, 0x22052030, 0x20000010, 0x20010010, 0x22000010, 0x22010010, 0x20000030, 0x20010030, 0x22000030, 0x22010030, 0x20040010, 0x20050010, 0x22040010, 0x22050010, 0x20040030, 0x20050030, 0x22040030, 0x22050030, 0x20002010, 0x20012010, 0x22002010, 0x22012010, 0x20002030, 0x20012030, 0x22002030, 0x22012030, 0x20042010, 0x20052010, 0x22042010, 0x22052010, 0x20042030, 0x20052030, 0x22042030, 0x22052030 ); static $pc2mapd4 = array( 0x00000000, 0x00000400, 0x01000000, 0x01000400, 0x00000000, 0x00000400, 0x01000000, 0x01000400, 0x00000100, 0x00000500, 0x01000100, 0x01000500, 0x00000100, 0x00000500, 0x01000100, 0x01000500, 0x10000000, 0x10000400, 0x11000000, 0x11000400, 0x10000000, 0x10000400, 0x11000000, 0x11000400, 0x10000100, 0x10000500, 0x11000100, 0x11000500, 0x10000100, 0x10000500, 0x11000100, 0x11000500, 0x00080000, 0x00080400, 0x01080000, 0x01080400, 0x00080000, 0x00080400, 0x01080000, 0x01080400, 0x00080100, 0x00080500, 0x01080100, 0x01080500, 0x00080100, 0x00080500, 0x01080100, 0x01080500, 0x10080000, 0x10080400, 0x11080000, 0x11080400, 0x10080000, 0x10080400, 0x11080000, 0x11080400, 0x10080100, 0x10080500, 0x11080100, 0x11080500, 0x10080100, 0x10080500, 0x11080100, 0x11080500, 0x00000008, 0x00000408, 0x01000008, 0x01000408, 0x00000008, 0x00000408, 0x01000008, 0x01000408, 0x00000108, 0x00000508, 0x01000108, 0x01000508, 0x00000108, 0x00000508, 0x01000108, 0x01000508, 0x10000008, 0x10000408, 0x11000008, 0x11000408, 0x10000008, 0x10000408, 0x11000008, 0x11000408, 0x10000108, 0x10000508, 0x11000108, 0x11000508, 0x10000108, 0x10000508, 0x11000108, 0x11000508, 0x00080008, 0x00080408, 0x01080008, 0x01080408, 0x00080008, 0x00080408, 0x01080008, 0x01080408, 0x00080108, 0x00080508, 0x01080108, 0x01080508, 0x00080108, 0x00080508, 0x01080108, 0x01080508, 0x10080008, 0x10080408, 0x11080008, 0x11080408, 0x10080008, 0x10080408, 0x11080008, 0x11080408, 0x10080108, 0x10080508, 0x11080108, 0x11080508, 0x10080108, 0x10080508, 0x11080108, 0x11080508, 0x00001000, 0x00001400, 0x01001000, 0x01001400, 0x00001000, 0x00001400, 0x01001000, 0x01001400, 0x00001100, 0x00001500, 0x01001100, 0x01001500, 0x00001100, 0x00001500, 0x01001100, 0x01001500, 0x10001000, 0x10001400, 0x11001000, 0x11001400, 0x10001000, 0x10001400, 0x11001000, 0x11001400, 0x10001100, 0x10001500, 0x11001100, 0x11001500, 0x10001100, 0x10001500, 0x11001100, 0x11001500, 0x00081000, 0x00081400, 0x01081000, 0x01081400, 0x00081000, 0x00081400, 0x01081000, 0x01081400, 0x00081100, 0x00081500, 0x01081100, 0x01081500, 0x00081100, 0x00081500, 0x01081100, 0x01081500, 0x10081000, 0x10081400, 0x11081000, 0x11081400, 0x10081000, 0x10081400, 0x11081000, 0x11081400, 0x10081100, 0x10081500, 0x11081100, 0x11081500, 0x10081100, 0x10081500, 0x11081100, 0x11081500, 0x00001008, 0x00001408, 0x01001008, 0x01001408, 0x00001008, 0x00001408, 0x01001008, 0x01001408, 0x00001108, 0x00001508, 0x01001108, 0x01001508, 0x00001108, 0x00001508, 0x01001108, 0x01001508, 0x10001008, 0x10001408, 0x11001008, 0x11001408, 0x10001008, 0x10001408, 0x11001008, 0x11001408, 0x10001108, 0x10001508, 0x11001108, 0x11001508, 0x10001108, 0x10001508, 0x11001108, 0x11001508, 0x00081008, 0x00081408, 0x01081008, 0x01081408, 0x00081008, 0x00081408, 0x01081008, 0x01081408, 0x00081108, 0x00081508, 0x01081108, 0x01081508, 0x00081108, 0x00081508, 0x01081108, 0x01081508, 0x10081008, 0x10081408, 0x11081008, 0x11081408, 0x10081008, 0x10081408, 0x11081008, 0x11081408, 0x10081108, 0x10081508, 0x11081108, 0x11081508, 0x10081108, 0x10081508, 0x11081108, 0x11081508 ); $keys = array(); for ($des_round = 0; $des_round < $this->des_rounds; ++$des_round) { // pad the key and remove extra characters as appropriate. $key = str_pad(substr($this->key, $des_round * 8, 8), 8, "\0"); // Perform the PC/1 transformation and compute C and D. $t = unpack('Nl/Nr', $key); list($l, $r) = array($t['l'], $t['r']); $key = ($this->shuffle[$pc1map[ $r & 0xFF]] & "\x80\x80\x80\x80\x80\x80\x80\x00") | ($this->shuffle[$pc1map[($r >> 8) & 0xFF]] & "\x40\x40\x40\x40\x40\x40\x40\x00") | ($this->shuffle[$pc1map[($r >> 16) & 0xFF]] & "\x20\x20\x20\x20\x20\x20\x20\x00") | ($this->shuffle[$pc1map[($r >> 24) & 0xFF]] & "\x10\x10\x10\x10\x10\x10\x10\x00") | ($this->shuffle[$pc1map[ $l & 0xFF]] & "\x08\x08\x08\x08\x08\x08\x08\x00") | ($this->shuffle[$pc1map[($l >> 8) & 0xFF]] & "\x04\x04\x04\x04\x04\x04\x04\x00") | ($this->shuffle[$pc1map[($l >> 16) & 0xFF]] & "\x02\x02\x02\x02\x02\x02\x02\x00") | ($this->shuffle[$pc1map[($l >> 24) & 0xFF]] & "\x01\x01\x01\x01\x01\x01\x01\x00"); $key = unpack('Nc/Nd', $key); $c = ( $key['c'] >> 4) & 0x0FFFFFFF; $d = (($key['d'] >> 4) & 0x0FFFFFF0) | ($key['c'] & 0x0F); $keys[$des_round] = array( self::ENCRYPT => array(), self::DECRYPT => array_fill(0, 32, 0) ); for ($i = 0, $ki = 31; $i < 16; ++$i, $ki-= 2) { $c <<= $shifts[$i]; $c = ($c | ($c >> 28)) & 0x0FFFFFFF; $d <<= $shifts[$i]; $d = ($d | ($d >> 28)) & 0x0FFFFFFF; // Perform the PC-2 transformation. $cp = $pc2mapc1[ $c >> 24 ] | $pc2mapc2[($c >> 16) & 0xFF] | $pc2mapc3[($c >> 8) & 0xFF] | $pc2mapc4[ $c & 0xFF]; $dp = $pc2mapd1[ $d >> 24 ] | $pc2mapd2[($d >> 16) & 0xFF] | $pc2mapd3[($d >> 8) & 0xFF] | $pc2mapd4[ $d & 0xFF]; // Reorder: odd bytes/even bytes. Push the result in key schedule. $val1 = ( $cp & intval(0xFF000000)) | (($cp << 8) & 0x00FF0000) | (($dp >> 16) & 0x0000FF00) | (($dp >> 8) & 0x000000FF); $val2 = (($cp << 8) & intval(0xFF000000)) | (($cp << 16) & 0x00FF0000) | (($dp >> 8) & 0x0000FF00) | ( $dp & 0x000000FF); $keys[$des_round][self::ENCRYPT][ ] = $val1; $keys[$des_round][self::DECRYPT][$ki - 1] = $val1; $keys[$des_round][self::ENCRYPT][ ] = $val2; $keys[$des_round][self::DECRYPT][$ki ] = $val2; } } switch ($this->des_rounds) { case 3: // 3DES keys $this->keys = array( self::ENCRYPT => array_merge( $keys[0][self::ENCRYPT], $keys[1][self::DECRYPT], $keys[2][self::ENCRYPT] ), self::DECRYPT => array_merge( $keys[2][self::DECRYPT], $keys[1][self::ENCRYPT], $keys[0][self::DECRYPT] ) ); break; // case 1: // DES keys default: $this->keys = array( self::ENCRYPT => $keys[0][self::ENCRYPT], self::DECRYPT => $keys[0][self::DECRYPT] ); } } /** * Setup the performance-optimized function for de/encrypt() * * @see \phpseclib\Crypt\Base::_setupInlineCrypt() * @access private */ function _setupInlineCrypt() { $lambda_functions =& self::_getLambdaFunctions(); // Engine configuration for: // - DES ($des_rounds == 1) or // - 3DES ($des_rounds == 3) $des_rounds = $this->des_rounds; // We create max. 10 hi-optimized code for memory reason. Means: For each $key one ultra fast inline-crypt function. // (Currently, for DES, one generated $lambda_function cost on php5.5@32bit ~135kb unfreeable mem and ~230kb on php5.5@64bit) // (Currently, for TripleDES, one generated $lambda_function cost on php5.5@32bit ~240kb unfreeable mem and ~340kb on php5.5@64bit) // After that, we'll still create very fast optimized code but not the hi-ultimative code, for each $mode one $gen_hi_opt_code = (bool)( count($lambda_functions) < 10 ); // Generation of a unique hash for our generated code $code_hash = "Crypt_DES, $des_rounds, {$this->mode}"; if ($gen_hi_opt_code) { // For hi-optimized code, we create for each combination of // $mode, $des_rounds and $this->key its own encrypt/decrypt function. // After max 10 hi-optimized functions, we create generic // (still very fast.. but not ultra) functions for each $mode/$des_rounds // Currently 2 * 5 generic functions will be then max. possible. $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key); } // Is there a re-usable $lambda_functions in there? If not, we have to create it. if (!isset($lambda_functions[$code_hash])) { // Init code for both, encrypt and decrypt. $init_crypt = 'static $sbox1, $sbox2, $sbox3, $sbox4, $sbox5, $sbox6, $sbox7, $sbox8, $shuffleip, $shuffleinvip; if (!$sbox1) { $sbox1 = array_map("intval", $self->sbox1); $sbox2 = array_map("intval", $self->sbox2); $sbox3 = array_map("intval", $self->sbox3); $sbox4 = array_map("intval", $self->sbox4); $sbox5 = array_map("intval", $self->sbox5); $sbox6 = array_map("intval", $self->sbox6); $sbox7 = array_map("intval", $self->sbox7); $sbox8 = array_map("intval", $self->sbox8);' /* Merge $shuffle with $[inv]ipmap */ . ' for ($i = 0; $i < 256; ++$i) { $shuffleip[] = $self->shuffle[$self->ipmap[$i]]; $shuffleinvip[] = $self->shuffle[$self->invipmap[$i]]; } } '; switch (true) { case $gen_hi_opt_code: // In Hi-optimized code mode, we use our [3]DES key schedule as hardcoded integers. // No futher initialisation of the $keys schedule is necessary. // That is the extra performance boost. $k = array( self::ENCRYPT => $this->keys[self::ENCRYPT], self::DECRYPT => $this->keys[self::DECRYPT] ); $init_encrypt = ''; $init_decrypt = ''; break; default: // In generic optimized code mode, we have to use, as the best compromise [currently], // our key schedule as $ke/$kd arrays. (with hardcoded indexes...) $k = array( self::ENCRYPT => array(), self::DECRYPT => array() ); for ($i = 0, $c = count($this->keys[self::ENCRYPT]); $i < $c; ++$i) { $k[self::ENCRYPT][$i] = '$ke[' . $i . ']'; $k[self::DECRYPT][$i] = '$kd[' . $i . ']'; } $init_encrypt = '$ke = $self->keys[$self::ENCRYPT];'; $init_decrypt = '$kd = $self->keys[$self::DECRYPT];'; break; } // Creating code for en- and decryption. $crypt_block = array(); foreach (array(self::ENCRYPT, self::DECRYPT) as $c) { /* Do the initial IP permutation. */ $crypt_block[$c] = ' $in = unpack("N*", $in); $l = $in[1]; $r = $in[2]; $in = unpack("N*", ($shuffleip[ $r & 0xFF] & "\x80\x80\x80\x80\x80\x80\x80\x80") | ($shuffleip[($r >> 8) & 0xFF] & "\x40\x40\x40\x40\x40\x40\x40\x40") | ($shuffleip[($r >> 16) & 0xFF] & "\x20\x20\x20\x20\x20\x20\x20\x20") | ($shuffleip[($r >> 24) & 0xFF] & "\x10\x10\x10\x10\x10\x10\x10\x10") | ($shuffleip[ $l & 0xFF] & "\x08\x08\x08\x08\x08\x08\x08\x08") | ($shuffleip[($l >> 8) & 0xFF] & "\x04\x04\x04\x04\x04\x04\x04\x04") | ($shuffleip[($l >> 16) & 0xFF] & "\x02\x02\x02\x02\x02\x02\x02\x02") | ($shuffleip[($l >> 24) & 0xFF] & "\x01\x01\x01\x01\x01\x01\x01\x01") ); ' . /* Extract L0 and R0 */ ' $l = $in[1]; $r = $in[2]; '; $l = '$l'; $r = '$r'; // Perform DES or 3DES. for ($ki = -1, $des_round = 0; $des_round < $des_rounds; ++$des_round) { // Perform the 16 steps. for ($i = 0; $i < 16; ++$i) { // start of "the Feistel (F) function" - see the following URL: // http://en.wikipedia.org/wiki/Image:Data_Encryption_Standard_InfoBox_Diagram.png // Merge key schedule. $crypt_block[$c].= ' $b1 = ((' . $r . ' >> 3) & 0x1FFFFFFF) ^ (' . $r . ' << 29) ^ ' . $k[$c][++$ki] . '; $b2 = ((' . $r . ' >> 31) & 0x00000001) ^ (' . $r . ' << 1) ^ ' . $k[$c][++$ki] . ';' . /* S-box indexing. */ $l . ' = $sbox1[($b1 >> 24) & 0x3F] ^ $sbox2[($b2 >> 24) & 0x3F] ^ $sbox3[($b1 >> 16) & 0x3F] ^ $sbox4[($b2 >> 16) & 0x3F] ^ $sbox5[($b1 >> 8) & 0x3F] ^ $sbox6[($b2 >> 8) & 0x3F] ^ $sbox7[ $b1 & 0x3F] ^ $sbox8[ $b2 & 0x3F] ^ ' . $l . '; '; // end of "the Feistel (F) function" // swap L & R list($l, $r) = array($r, $l); } list($l, $r) = array($r, $l); } // Perform the inverse IP permutation. $crypt_block[$c].= '$in = ($shuffleinvip[($l >> 24) & 0xFF] & "\x80\x80\x80\x80\x80\x80\x80\x80") | ($shuffleinvip[($r >> 24) & 0xFF] & "\x40\x40\x40\x40\x40\x40\x40\x40") | ($shuffleinvip[($l >> 16) & 0xFF] & "\x20\x20\x20\x20\x20\x20\x20\x20") | ($shuffleinvip[($r >> 16) & 0xFF] & "\x10\x10\x10\x10\x10\x10\x10\x10") | ($shuffleinvip[($l >> 8) & 0xFF] & "\x08\x08\x08\x08\x08\x08\x08\x08") | ($shuffleinvip[($r >> 8) & 0xFF] & "\x04\x04\x04\x04\x04\x04\x04\x04") | ($shuffleinvip[ $l & 0xFF] & "\x02\x02\x02\x02\x02\x02\x02\x02") | ($shuffleinvip[ $r & 0xFF] & "\x01\x01\x01\x01\x01\x01\x01\x01"); '; } // Creates the inline-crypt function $lambda_functions[$code_hash] = $this->_createInlineCryptFunction( array( 'init_crypt' => $init_crypt, 'init_encrypt' => $init_encrypt, 'init_decrypt' => $init_decrypt, 'encrypt_block' => $crypt_block[self::ENCRYPT], 'decrypt_block' => $crypt_block[self::DECRYPT] ) ); } // Set the inline-crypt function as callback in: $this->inline_crypt $this->inline_crypt = $lambda_functions[$code_hash]; } } vendor/phpseclib/phpseclib/phpseclib/Crypt/Blowfish.php000064400000140741147400355670017345 0ustar00 unpack('N*', $x), $blocks); it jumps up by an additional * ~90MB, yielding a 106x increase in memory usage. Consequently, it bcrypt calls a different * _encryptBlock() then the regular Blowfish does. That said, the Blowfish _encryptBlock() is * basically just a thin wrapper around the bcrypt _encryptBlock(), so there's that. * * This explains 3 of the 4 _encryptBlock() implementations. the last _encryptBlock() * implementation can best be understood by doing Ctrl + F and searching for where * CRYPT_BASE_USE_REG_INTVAL is defined. * * # phpseclib's three different _setupKey() implementations * * Every bcrypt round is the equivalent of encrypting 512KB of data. Since OpenSSH uses 16 * rounds by default that's ~8MB of data that's essentially being encrypted whenever * you use bcrypt. That's a lot of data, however, bcrypt operates within tighter constraints * than regular Blowfish, so we can use that to our advantage. In particular, whereas Blowfish * supports variable length keys, in bcrypt, the initial "key" is the sha512 hash of the * password. sha512 hashes are 512 bits or 64 bytes long and thus the bcrypt keys are of a * fixed length whereas Blowfish keys are not of a fixed length. * * bcrypt actually has two different key expansion steps. The first one (expandstate) is * constantly XOR'ing every _encryptBlock() parameter against the salt prior _encryptBlock()'s * being called. The second one (expand0state) is more similar to Blowfish's _setupKey() * but it can still use the fixed length key optimization discussed above and can do away with * the pack() / unpack() calls. * * I suppose _setupKey() could be made to be a thin wrapper around expandstate() but idk it's * just a lot of work for very marginal benefits as _setupKey() is only called once for * regular Blowfish vs the 128 times it's called --per round-- with bcrypt. * * # blowfish + bcrypt in the same class * * Altho there's a lot of Blowfish code that bcrypt doesn't re-use, bcrypt does re-use the * initial S-boxes, the initial P-array and the int-only _encryptBlock() implementation. * * # Credit * * phpseclib's bcrypt implementation is based losely off of OpenSSH's implementation: * * https://github.com/openssh/openssh-portable/blob/master/openbsd-compat/bcrypt_pbkdf.c * * Here's a short example of how to use this library: * * setKey('12345678901234567890123456789012'); * * $plaintext = str_repeat('a', 1024); * * echo $blowfish->decrypt($blowfish->encrypt($plaintext)); * ?> * * * @category Crypt * @package Blowfish * @author Jim Wigginton * @author Hans-Juergen Petrich * @copyright 2007 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib\Crypt; /** * Pure-PHP implementation of Blowfish. * * @package Blowfish * @author Jim Wigginton * @author Hans-Juergen Petrich * @access public */ class Blowfish extends Base { /** * Block Length of the cipher * * @see \phpseclib\Crypt\Base::block_size * @var int * @access private */ var $block_size = 8; /** * The mcrypt specific name of the cipher * * @see \phpseclib\Crypt\Base::cipher_name_mcrypt * @var string * @access private */ var $cipher_name_mcrypt = 'blowfish'; /** * Optimizing value while CFB-encrypting * * @see \phpseclib\Crypt\Base::cfb_init_len * @var int * @access private */ var $cfb_init_len = 500; /** * SHA512 Object * * @see self::bcrypt_pbkdf * @var object * @access private */ var $sha512; /** * The fixed subkeys boxes ($sbox0 - $sbox3) with 256 entries each * * S-Box 0 * * @access private * @var array */ var $sbox0 = array( 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e, 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a, 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677, 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239, 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0, 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe, 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d, 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463, 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09, 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279, 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82, 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8, 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c, 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1, 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf, 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af, 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915, 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915, 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a ); /** * S-Box 1 * * @access private * @var array */ var $sbox1 = array( 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266, 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e, 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1, 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8, 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff, 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7, 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331, 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87, 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16, 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509, 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f, 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960, 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28, 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802, 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf, 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e, 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50, 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281, 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696, 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0, 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061, 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e, 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340, 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7 ); /** * S-Box 2 * * @access private * @var array */ var $sbox2 = array( 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068, 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840, 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504, 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6, 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b, 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb, 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b, 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc, 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564, 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115, 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728, 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e, 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d, 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b, 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb, 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c, 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe, 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc, 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61, 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9, 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633, 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169, 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027, 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62, 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c, 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0 ); /** * S-Box 3 * * @access private * @var array */ var $sbox3 = array( 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe, 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6, 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22, 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59, 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51, 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28, 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd, 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb, 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32, 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47, 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048, 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd, 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f, 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525, 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e, 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d, 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02, 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a, 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060, 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9, 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6 ); /** * P-Array consists of 18 32-bit subkeys * * @var array * @access private */ var $parray = array( 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, 0x9216d5d9, 0x8979fb1b ); /** * The BCTX-working Array * * Holds the expanded key [p] and the key-depended s-boxes [sb] * * @var array * @access private */ var $bctx; /** * Holds the last used key * * @var array * @access private */ var $kl; /** * The Key Length (in bytes) * * @see \phpseclib\Crypt\Base::setKeyLength() * @var int * @access private * @internal The max value is 256 / 8 = 32, the min value is 128 / 8 = 16. Exists in conjunction with $Nk * because the encryption / decryption / key schedule creation requires this number and not $key_length. We could * derive this from $key_length or vice versa, but that'd mean we'd have to do multiple shift operations, so in lieu * of that, we'll just precompute it once. */ var $key_length = 16; /** * Default Constructor. * * Determines whether or not the mcrypt extension should be used. * * $mode could be: * * - CRYPT_MODE_ECB * * - CRYPT_MODE_CBC * * - CRYPT_MODE_CTR * * - CRYPT_MODE_CFB * * - CRYPT_MODE_OFB * * (or the alias constants of the chosen cipher, for example for AES: CRYPT_AES_MODE_ECB or CRYPT_AES_MODE_CBC ...) * * If not explicitly set, CRYPT_MODE_CBC will be used. * * @param int $mode * @access public */ function __construct($mode = self::MODE_CBC) { parent::__construct($mode); $this->sbox0 = array_map('intval', $this->sbox0); $this->sbox1 = array_map('intval', $this->sbox1); $this->sbox2 = array_map('intval', $this->sbox2); $this->sbox3 = array_map('intval', $this->sbox3); $this->parray = array_map('intval', $this->parray); } /** * Sets the key length. * * Key lengths can be between 32 and 448 bits. * * @access public * @param int $length */ function setKeyLength($length) { if ($length < 32) { $this->key_length = 4; } elseif ($length > 448) { $this->key_length = 56; } else { $this->key_length = $length >> 3; } parent::setKeyLength($length); } /** * Test for engine validity * * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine() * * @see \phpseclib\Crypt\Base::isValidEngine() * @param int $engine * @access public * @return bool */ function isValidEngine($engine) { if ($engine == self::ENGINE_OPENSSL) { // quoting https://www.openssl.org/news/openssl-3.0-notes.html, OpenSSL 3.0.1 // "Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2, RC4, RC5, and DES to the legacy provider" // in theory openssl_get_cipher_methods() should catch this but, on GitHub Actions, at least, it does not if (defined('OPENSSL_VERSION_TEXT') && version_compare(preg_replace('#OpenSSL (\d+\.\d+\.\d+) .*#', '$1', OPENSSL_VERSION_TEXT), '3.0.1', '>=')) { return false; } if (version_compare(PHP_VERSION, '5.3.7') < 0 && $this->key_length != 16) { return false; } if ($this->key_length < 16) { return false; } $this->cipher_name_openssl_ecb = 'bf-ecb'; $this->cipher_name_openssl = 'bf-' . $this->_openssl_translate_mode(); } return parent::isValidEngine($engine); } /** * Setup the key (expansion) * * @see \phpseclib\Crypt\Base::_setupKey() * @access private */ function _setupKey() { if (isset($this->kl['key']) && $this->key === $this->kl['key']) { // already expanded return; } $this->kl = array('key' => $this->key); /* key-expanding p[] and S-Box building sb[] */ $this->bctx = array( 'p' => array(), 'sb' => array( $this->sbox0, $this->sbox1, $this->sbox2, $this->sbox3 ) ); // unpack binary string in unsigned chars $key = array_values(unpack('C*', $this->key)); $keyl = count($key); // with bcrypt $keyl will always be 16 (because the key is the sha512 of the key you provide) for ($j = 0, $i = 0; $i < 18; ++$i) { // xor P1 with the first 32-bits of the key, xor P2 with the second 32-bits ... for ($data = 0, $k = 0; $k < 4; ++$k) { $data = ($data << 8) | $key[$j]; if (++$j >= $keyl) { $j = 0; } } $this->bctx['p'][] = $this->parray[$i] ^ intval($data); } // encrypt the zero-string, replace P1 and P2 with the encrypted data, // encrypt P3 and P4 with the new P1 and P2, do it with all P-array and subkeys $data = "\0\0\0\0\0\0\0\0"; for ($i = 0; $i < 18; $i += 2) { list($l, $r) = array_values(unpack('N*', $data = $this->_encryptBlock($data))); $this->bctx['p'][$i ] = $l; $this->bctx['p'][$i + 1] = $r; } for ($i = 0; $i < 4; ++$i) { for ($j = 0; $j < 256; $j += 2) { list($l, $r) = array_values(unpack('N*', $data = $this->_encryptBlock($data))); $this->bctx['sb'][$i][$j ] = $l; $this->bctx['sb'][$i][$j + 1] = $r; } } } /** * bcrypt * * @param string $sha2pass * @param string $sha2salt * @access private * @return string */ function _bcrypt_hash($sha2pass, $sha2salt) { $p = $this->parray; $sbox0 = $this->sbox0; $sbox1 = $this->sbox1; $sbox2 = $this->sbox2; $sbox3 = $this->sbox3; $cdata = array_values(unpack('N*', 'OxychromaticBlowfishSwatDynamite')); $sha2pass = array_values(unpack('N*', $sha2pass)); $sha2salt = array_values(unpack('N*', $sha2salt)); $this->_expandstate($sha2salt, $sha2pass, $sbox0, $sbox1, $sbox2, $sbox3, $p); for ($i = 0; $i < 64; $i++) { $this->_expand0state($sha2salt, $sbox0, $sbox1, $sbox2, $sbox3, $p); $this->_expand0state($sha2pass, $sbox0, $sbox1, $sbox2, $sbox3, $p); } for ($i = 0; $i < 64; $i++) { for ($j = 0; $j < 8; $j+= 2) { // count($cdata) == 8 list($cdata[$j], $cdata[$j + 1]) = $this->_encryptBlockHelperFast($cdata[$j], $cdata[$j + 1], $sbox0, $sbox1, $sbox2, $sbox3, $p); } } $output = ''; for ($i = 0; $i < count($cdata); $i++) { $output.= pack('L*', $cdata[$i]); } return $output; } /** * Performs OpenSSH-style bcrypt * * @param string $pass * @param string $salt * @param int $keylen * @param int $rounds * @access public * @return false|string */ function bcrypt_pbkdf($pass, $salt, $keylen, $rounds) { if (PHP_INT_SIZE == 4) { user_error('bcrypt is far too slow to be practical on 32-bit versions of PHP'); return false; } if (!isset($this->sha512)) { $this->sha512 = new Hash('sha512'); } $sha2pass = $this->sha512->hash($pass); $results = array(); $count = 1; while (32 * count($results) < $keylen) { $countsalt = $salt . pack('N', $count++); $sha2salt = $this->sha512->hash($countsalt); $out = $tmpout = $this->_bcrypt_hash($sha2pass, $sha2salt); for ($i = 1; $i < $rounds; $i++) { $sha2salt = $this->sha512->hash($tmpout); $tmpout = $this->_bcrypt_hash($sha2pass, $sha2salt); $out^= $tmpout; } $results[] = $out; } $output = ''; for ($i = 0; $i < 32; $i++) { foreach ($results as $result) { $output.= $result[$i]; } } return substr($output, 0, $keylen); } /** * Key expansion without salt * * @access private * @param int[] $key * @param int[] $sbox0 * @param int[] $sbox1 * @param int[] $sbox2 * @param int[] $sbox3 * @param int[] $p * @see self::_bcrypt_hash() */ function _expand0state($key, &$sbox0, &$sbox1, &$sbox2, &$sbox3, &$p) { // expand0state is basically the same thing as this: //return $this->_expandstate(array_fill(0, 16, 0), $key); // but this separate function eliminates a bunch of XORs and array lookups $p = array( $p[0] ^ $key[0], $p[1] ^ $key[1], $p[2] ^ $key[2], $p[3] ^ $key[3], $p[4] ^ $key[4], $p[5] ^ $key[5], $p[6] ^ $key[6], $p[7] ^ $key[7], $p[8] ^ $key[8], $p[9] ^ $key[9], $p[10] ^ $key[10], $p[11] ^ $key[11], $p[12] ^ $key[12], $p[13] ^ $key[13], $p[14] ^ $key[14], $p[15] ^ $key[15], $p[16] ^ $key[0], $p[17] ^ $key[1] ); // @codingStandardsIgnoreStart list( $p[0], $p[1]) = $this->_encryptBlockHelperFast( 0, 0, $sbox0, $sbox1, $sbox2, $sbox3, $p); list( $p[2], $p[3]) = $this->_encryptBlockHelperFast($p[ 0], $p[ 1], $sbox0, $sbox1, $sbox2, $sbox3, $p); list( $p[4], $p[5]) = $this->_encryptBlockHelperFast($p[ 2], $p[ 3], $sbox0, $sbox1, $sbox2, $sbox3, $p); list( $p[6], $p[7]) = $this->_encryptBlockHelperFast($p[ 4], $p[ 5], $sbox0, $sbox1, $sbox2, $sbox3, $p); list( $p[8], $p[9]) = $this->_encryptBlockHelperFast($p[ 6], $p[ 7], $sbox0, $sbox1, $sbox2, $sbox3, $p); list($p[10], $p[11]) = $this->_encryptBlockHelperFast($p[ 8], $p[ 9], $sbox0, $sbox1, $sbox2, $sbox3, $p); list($p[12], $p[13]) = $this->_encryptBlockHelperFast($p[10], $p[11], $sbox0, $sbox1, $sbox2, $sbox3, $p); list($p[14], $p[15]) = $this->_encryptBlockHelperFast($p[12], $p[13], $sbox0, $sbox1, $sbox2, $sbox3, $p); list($p[16], $p[17]) = $this->_encryptBlockHelperFast($p[14], $p[15], $sbox0, $sbox1, $sbox2, $sbox3, $p); // @codingStandardsIgnoreEnd list($sbox0[0], $sbox0[1]) = $this->_encryptBlockHelperFast($p[16], $p[17], $sbox0, $sbox1, $sbox2, $sbox3, $p); for ($i = 2; $i < 256; $i+= 2) { list($sbox0[$i], $sbox0[$i + 1]) = $this->_encryptBlockHelperFast($sbox0[$i - 2], $sbox0[$i - 1], $sbox0, $sbox1, $sbox2, $sbox3, $p); } list($sbox1[0], $sbox1[1]) = $this->_encryptBlockHelperFast($sbox0[254], $sbox0[255], $sbox0, $sbox1, $sbox2, $sbox3, $p); for ($i = 2; $i < 256; $i+= 2) { list($sbox1[$i], $sbox1[$i + 1]) = $this->_encryptBlockHelperFast($sbox1[$i - 2], $sbox1[$i - 1], $sbox0, $sbox1, $sbox2, $sbox3, $p); } list($sbox2[0], $sbox2[1]) = $this->_encryptBlockHelperFast($sbox1[254], $sbox1[255], $sbox0, $sbox1, $sbox2, $sbox3, $p); for ($i = 2; $i < 256; $i+= 2) { list($sbox2[$i], $sbox2[$i + 1]) = $this->_encryptBlockHelperFast($sbox2[$i - 2], $sbox2[$i - 1], $sbox0, $sbox1, $sbox2, $sbox3, $p); } list($sbox3[0], $sbox3[1]) = $this->_encryptBlockHelperFast($sbox2[254], $sbox2[255], $sbox0, $sbox1, $sbox2, $sbox3, $p); for ($i = 2; $i < 256; $i+= 2) { list($sbox3[$i], $sbox3[$i + 1]) = $this->_encryptBlockHelperFast($sbox3[$i - 2], $sbox3[$i - 1], $sbox0, $sbox1, $sbox2, $sbox3, $p); } } /** * Key expansion with salt * * @access private * @param int[] $data * @param int[] $key * @param int[] $sbox0 * @param int[] $sbox1 * @param int[] $sbox2 * @param int[] $sbox3 * @param int[] $p * @see self::_bcrypt_hash() */ function _expandstate($data, $key, &$sbox0, &$sbox1, &$sbox2, &$sbox3, &$p) { $p = array( $p[0] ^ $key[0], $p[1] ^ $key[1], $p[2] ^ $key[2], $p[3] ^ $key[3], $p[4] ^ $key[4], $p[5] ^ $key[5], $p[6] ^ $key[6], $p[7] ^ $key[7], $p[8] ^ $key[8], $p[9] ^ $key[9], $p[10] ^ $key[10], $p[11] ^ $key[11], $p[12] ^ $key[12], $p[13] ^ $key[13], $p[14] ^ $key[14], $p[15] ^ $key[15], $p[16] ^ $key[0], $p[17] ^ $key[1] ); // @codingStandardsIgnoreStart list( $p[0], $p[1]) = $this->_encryptBlockHelperFast($data[ 0] , $data[ 1] , $sbox0, $sbox1, $sbox2, $sbox3, $p); list( $p[2], $p[3]) = $this->_encryptBlockHelperFast($data[ 2] ^ $p[ 0], $data[ 3] ^ $p[ 1], $sbox0, $sbox1, $sbox2, $sbox3, $p); list( $p[4], $p[5]) = $this->_encryptBlockHelperFast($data[ 4] ^ $p[ 2], $data[ 5] ^ $p[ 3], $sbox0, $sbox1, $sbox2, $sbox3, $p); list( $p[6], $p[7]) = $this->_encryptBlockHelperFast($data[ 6] ^ $p[ 4], $data[ 7] ^ $p[ 5], $sbox0, $sbox1, $sbox2, $sbox3, $p); list( $p[8], $p[9]) = $this->_encryptBlockHelperFast($data[ 8] ^ $p[ 6], $data[ 9] ^ $p[ 7], $sbox0, $sbox1, $sbox2, $sbox3, $p); list($p[10], $p[11]) = $this->_encryptBlockHelperFast($data[10] ^ $p[ 8], $data[11] ^ $p[ 9], $sbox0, $sbox1, $sbox2, $sbox3, $p); list($p[12], $p[13]) = $this->_encryptBlockHelperFast($data[12] ^ $p[10], $data[13] ^ $p[11], $sbox0, $sbox1, $sbox2, $sbox3, $p); list($p[14], $p[15]) = $this->_encryptBlockHelperFast($data[14] ^ $p[12], $data[15] ^ $p[13], $sbox0, $sbox1, $sbox2, $sbox3, $p); list($p[16], $p[17]) = $this->_encryptBlockHelperFast($data[ 0] ^ $p[14], $data[ 1] ^ $p[15], $sbox0, $sbox1, $sbox2, $sbox3, $p); // @codingStandardsIgnoreEnd list($sbox0[0], $sbox0[1]) = $this->_encryptBlockHelperFast($data[2] ^ $p[16], $data[3] ^ $p[17], $sbox0, $sbox1, $sbox2, $sbox3, $p); for ($i = 2, $j = 4; $i < 256; $i+= 2, $j = ($j + 2) % 16) { // instead of 16 maybe count($data) would be better? list($sbox0[$i], $sbox0[$i + 1]) = $this->_encryptBlockHelperFast($data[$j] ^ $sbox0[$i - 2], $data[$j + 1] ^ $sbox0[$i - 1], $sbox0, $sbox1, $sbox2, $sbox3, $p); } list($sbox1[0], $sbox1[1]) = $this->_encryptBlockHelperFast($data[2] ^ $sbox0[254], $data[3] ^ $sbox0[255], $sbox0, $sbox1, $sbox2, $sbox3, $p); for ($i = 2, $j = 4; $i < 256; $i+= 2, $j = ($j + 2) % 16) { list($sbox1[$i], $sbox1[$i + 1]) = $this->_encryptBlockHelperFast($data[$j] ^ $sbox1[$i - 2], $data[$j + 1] ^ $sbox1[$i - 1], $sbox0, $sbox1, $sbox2, $sbox3, $p); } list($sbox2[0], $sbox2[1]) = $this->_encryptBlockHelperFast($data[2] ^ $sbox1[254], $data[3] ^ $sbox1[255], $sbox0, $sbox1, $sbox2, $sbox3, $p); for ($i = 2, $j = 4; $i < 256; $i+= 2, $j = ($j + 2) % 16) { list($sbox2[$i], $sbox2[$i + 1]) = $this->_encryptBlockHelperFast($data[$j] ^ $sbox2[$i - 2], $data[$j + 1] ^ $sbox2[$i - 1], $sbox0, $sbox1, $sbox2, $sbox3, $p); } list($sbox3[0], $sbox3[1]) = $this->_encryptBlockHelperFast($data[2] ^ $sbox2[254], $data[3] ^ $sbox2[255], $sbox0, $sbox1, $sbox2, $sbox3, $p); for ($i = 2, $j = 4; $i < 256; $i+= 2, $j = ($j + 2) % 16) { list($sbox3[$i], $sbox3[$i + 1]) = $this->_encryptBlockHelperFast($data[$j] ^ $sbox3[$i - 2], $data[$j + 1] ^ $sbox3[$i - 1], $sbox0, $sbox1, $sbox2, $sbox3, $p); } } /** * Encrypts a block * * @access private * @param string $in * @return string */ function _encryptBlock($in) { $p = $this->bctx["p"]; // extract($this->bctx["sb"], EXTR_PREFIX_ALL, "sb"); // slower $sb_0 = $this->bctx["sb"][0]; $sb_1 = $this->bctx["sb"][1]; $sb_2 = $this->bctx["sb"][2]; $sb_3 = $this->bctx["sb"][3]; $in = unpack("N*", $in); $l = $in[1]; $r = $in[2]; list($r, $l) = PHP_INT_SIZE === 8 ? $this->_encryptBlockHelperFast($l, $r, $sb_0, $sb_1, $sb_2, $sb_3, $p) : $this->_encryptBlockHelperSlow($l, $r, $sb_0, $sb_1, $sb_2, $sb_3, $p); return pack("N*", $r, $l); } /** * Fast helper function for block encryption * * @access private * @param int $x0 * @param int $x1 * @param int[] $sbox0 * @param int[] $sbox1 * @param int[] $sbox2 * @param int[] $sbox3 * @param int[] $p * @return int[] */ function _encryptBlockHelperFast($x0, $x1, $sbox0, $sbox1, $sbox2, $sbox3, $p) { $x0 ^= $p[0]; $x1 ^= ((($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[1]; $x0 ^= ((($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[2]; $x1 ^= ((($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[3]; $x0 ^= ((($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[4]; $x1 ^= ((($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[5]; $x0 ^= ((($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[6]; $x1 ^= ((($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[7]; $x0 ^= ((($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[8]; $x1 ^= ((($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[9]; $x0 ^= ((($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[10]; $x1 ^= ((($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[11]; $x0 ^= ((($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[12]; $x1 ^= ((($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[13]; $x0 ^= ((($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[14]; $x1 ^= ((($sbox0[($x0 & 0xFF000000) >> 24] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[15]; $x0 ^= ((($sbox0[($x1 & 0xFF000000) >> 24] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[16]; return array($x1 & 0xFFFFFFFF ^ $p[17], $x0 & 0xFFFFFFFF); } /** * Slow helper function for block encryption * * @access private * @param int $x0 * @param int $x1 * @param int[] $sbox0 * @param int[] $sbox1 * @param int[] $sbox2 * @param int[] $sbox3 * @param int[] $p * @return int[] */ function _encryptBlockHelperSlow($x0, $x1, $sbox0, $sbox1, $sbox2, $sbox3, $p) { // -16777216 == intval(0xFF000000) on 32-bit PHP installs $x0^= $p[0]; $x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[1]; $x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[2]; $x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[3]; $x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[4]; $x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[5]; $x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[6]; $x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[7]; $x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[8]; $x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[9]; $x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[10]; $x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[11]; $x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[12]; $x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[13]; $x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[14]; $x1^= $this->safe_intval(($this->safe_intval($sbox0[(($x0 & -16777216) >> 24) & 0xFF] + $sbox1[($x0 & 0xFF0000) >> 16]) ^ $sbox2[($x0 & 0xFF00) >> 8]) + $sbox3[$x0 & 0xFF]) ^ $p[15]; $x0^= $this->safe_intval(($this->safe_intval($sbox0[(($x1 & -16777216) >> 24) & 0xFF] + $sbox1[($x1 & 0xFF0000) >> 16]) ^ $sbox2[($x1 & 0xFF00) >> 8]) + $sbox3[$x1 & 0xFF]) ^ $p[16]; return array($x1 ^ $p[17], $x0); } /** * Decrypts a block * * @access private * @param string $in * @return string */ function _decryptBlock($in) { $p = $this->bctx["p"]; $sb_0 = $this->bctx["sb"][0]; $sb_1 = $this->bctx["sb"][1]; $sb_2 = $this->bctx["sb"][2]; $sb_3 = $this->bctx["sb"][3]; $in = unpack("N*", $in); $l = $in[1]; $r = $in[2]; for ($i = 17; $i > 2; $i-= 2) { $l^= $p[$i]; $r^= $this->safe_intval(($this->safe_intval($sb_0[$l >> 24 & 0xff] + $sb_1[$l >> 16 & 0xff]) ^ $sb_2[$l >> 8 & 0xff]) + $sb_3[$l & 0xff]); $r^= $p[$i - 1]; $l^= $this->safe_intval(($this->safe_intval($sb_0[$r >> 24 & 0xff] + $sb_1[$r >> 16 & 0xff]) ^ $sb_2[$r >> 8 & 0xff]) + $sb_3[$r & 0xff]); } return pack("N*", $r ^ $p[0], $l ^ $p[1]); } /** * Setup the performance-optimized function for de/encrypt() * * @see \phpseclib\Crypt\Base::_setupInlineCrypt() * @access private */ function _setupInlineCrypt() { $lambda_functions =& self::_getLambdaFunctions(); // We create max. 10 hi-optimized code for memory reason. Means: For each $key one ultra fast inline-crypt function. // (Currently, for Blowfish, one generated $lambda_function cost on php5.5@32bit ~100kb unfreeable mem and ~180kb on php5.5@64bit) // After that, we'll still create very fast optimized code but not the hi-ultimative code, for each $mode one. $gen_hi_opt_code = (bool)(count($lambda_functions) < 10); // Generation of a unique hash for our generated code $code_hash = "Crypt_Blowfish, {$this->mode}"; if ($gen_hi_opt_code) { $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key); } $safeint = $this->safe_intval_inline(); if (!isset($lambda_functions[$code_hash])) { switch (true) { case $gen_hi_opt_code: $p = $this->bctx['p']; $init_crypt = ' static $sb_0, $sb_1, $sb_2, $sb_3; if (!$sb_0) { $sb_0 = $self->bctx["sb"][0]; $sb_1 = $self->bctx["sb"][1]; $sb_2 = $self->bctx["sb"][2]; $sb_3 = $self->bctx["sb"][3]; } '; break; default: $p = array(); for ($i = 0; $i < 18; ++$i) { $p[] = '$p_' . $i; } $init_crypt = ' list($sb_0, $sb_1, $sb_2, $sb_3) = $self->bctx["sb"]; list(' . implode(',', $p) . ') = $self->bctx["p"]; '; } // Generating encrypt code: $encrypt_block = ' $in = unpack("N*", $in); $l = $in[1]; $r = $in[2]; '; for ($i = 0; $i < 16; $i+= 2) { $encrypt_block.= ' $l^= ' . $p[$i] . '; $r^= ' . sprintf($safeint, '(' . sprintf($safeint, '$sb_0[$l >> 24 & 0xff] + $sb_1[$l >> 16 & 0xff]') . ' ^ $sb_2[$l >> 8 & 0xff]) + $sb_3[$l & 0xff]') . '; $r^= ' . $p[$i + 1] . '; $l^= ' . sprintf($safeint, '(' . sprintf($safeint, '$sb_0[$r >> 24 & 0xff] + $sb_1[$r >> 16 & 0xff]') . ' ^ $sb_2[$r >> 8 & 0xff]) + $sb_3[$r & 0xff]') . '; '; } $encrypt_block.= ' $in = pack("N*", $r ^ ' . $p[17] . ', $l ^ ' . $p[16] . ' ); '; // Generating decrypt code: $decrypt_block = ' $in = unpack("N*", $in); $l = $in[1]; $r = $in[2]; '; for ($i = 17; $i > 2; $i-= 2) { $decrypt_block.= ' $l^= ' . $p[$i] . '; $r^= ' . sprintf($safeint, '(' . sprintf($safeint, '$sb_0[$l >> 24 & 0xff] + $sb_1[$l >> 16 & 0xff]') . ' ^ $sb_2[$l >> 8 & 0xff]) + $sb_3[$l & 0xff]') . '; $r^= ' . $p[$i - 1] . '; $l^= ' . sprintf($safeint, '(' . sprintf($safeint, '$sb_0[$r >> 24 & 0xff] + $sb_1[$r >> 16 & 0xff]') . ' ^ $sb_2[$r >> 8 & 0xff]) + $sb_3[$r & 0xff]') . '; '; } $decrypt_block.= ' $in = pack("N*", $r ^ ' . $p[0] . ', $l ^ ' . $p[1] . ' ); '; $lambda_functions[$code_hash] = $this->_createInlineCryptFunction( array( 'init_crypt' => $init_crypt, 'init_encrypt' => '', 'init_decrypt' => '', 'encrypt_block' => $encrypt_block, 'decrypt_block' => $decrypt_block ) ); } $this->inline_crypt = $lambda_functions[$code_hash]; } } vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger.php000064400000370600147400355670017376 0ustar00> and << cannot be used, nor can the modulo operator %, * which only supports integers. Although this fact will slow this library down, the fact that such a high * base is being used should more than compensate. * * Numbers are stored in {@link http://en.wikipedia.org/wiki/Endianness little endian} format. ie. * (new \phpseclib\Math\BigInteger(pow(2, 26)))->value = array(0, 1) * * Useful resources are as follows: * * - {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf Handbook of Applied Cryptography (HAC)} * - {@link http://math.libtomcrypt.com/files/tommath.pdf Multi-Precision Math (MPM)} * - Java's BigInteger classes. See /j2se/src/share/classes/java/math in jdk-1_5_0-src-jrl.zip * * Here's an example of how to use this library: * * add($b); * * echo $c->toString(); // outputs 5 * ?> * * * @category Math * @package BigInteger * @author Jim Wigginton * @copyright 2006 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License */ namespace phpseclib\Math; use phpseclib\Crypt\Random; /** * Pure-PHP arbitrary precision integer arithmetic library. Supports base-2, base-10, base-16, and base-256 * numbers. * * @package BigInteger * @author Jim Wigginton * @access public */ class BigInteger { /**#@+ * Reduction constants * * @access private * @see BigInteger::_reduce() */ /** * @see BigInteger::_montgomery() * @see BigInteger::_prepMontgomery() */ const MONTGOMERY = 0; /** * @see BigInteger::_barrett() */ const BARRETT = 1; /** * @see BigInteger::_mod2() */ const POWEROF2 = 2; /** * @see BigInteger::_remainder() */ const CLASSIC = 3; /** * @see BigInteger::__clone() */ const NONE = 4; /**#@-*/ /**#@+ * Array constants * * Rather than create a thousands and thousands of new BigInteger objects in repeated function calls to add() and * multiply() or whatever, we'll just work directly on arrays, taking them in as parameters and returning them. * * @access private */ /** * $result[self::VALUE] contains the value. */ const VALUE = 0; /** * $result[self::SIGN] contains the sign. */ const SIGN = 1; /**#@-*/ /**#@+ * @access private * @see BigInteger::_montgomery() * @see BigInteger::_barrett() */ /** * Cache constants * * $cache[self::VARIABLE] tells us whether or not the cached data is still valid. */ const VARIABLE = 0; /** * $cache[self::DATA] contains the cached data. */ const DATA = 1; /**#@-*/ /**#@+ * Mode constants. * * @access private * @see BigInteger::__construct() */ /** * To use the pure-PHP implementation */ const MODE_INTERNAL = 1; /** * To use the BCMath library * * (if enabled; otherwise, the internal implementation will be used) */ const MODE_BCMATH = 2; /** * To use the GMP library * * (if present; otherwise, either the BCMath or the internal implementation will be used) */ const MODE_GMP = 3; /**#@-*/ /** * Karatsuba Cutoff * * At what point do we switch between Karatsuba multiplication and schoolbook long multiplication? * * @access private */ const KARATSUBA_CUTOFF = 25; /**#@+ * Static properties used by the pure-PHP implementation. * * @see __construct() */ static $base; static $baseFull; static $maxDigit; static $msb; /** * $max10 in greatest $max10Len satisfying * $max10 = 10**$max10Len <= 2**$base. */ static $max10; /** * $max10Len in greatest $max10Len satisfying * $max10 = 10**$max10Len <= 2**$base. */ static $max10Len; static $maxDigit2; /**#@-*/ /** * Holds the BigInteger's value. * * @var array * @access private */ var $value; /** * Holds the BigInteger's magnitude. * * @var bool * @access private */ var $is_negative = false; /** * Precision * * @see self::setPrecision() * @access private */ var $precision = -1; /** * Precision Bitmask * * @see self::setPrecision() * @access private */ var $bitmask = false; /** * Mode independent value used for serialization. * * If the bcmath or gmp extensions are installed $this->value will be a non-serializable resource, hence the need for * a variable that'll be serializable regardless of whether or not extensions are being used. Unlike $this->value, * however, $this->hex is only calculated when $this->__sleep() is called. * * @see self::__sleep() * @see self::__wakeup() * @var string * @access private */ var $hex; /** * Converts base-2, base-10, base-16, and binary strings (base-256) to BigIntegers. * * If the second parameter - $base - is negative, then it will be assumed that the number's are encoded using * two's compliment. The sole exception to this is -10, which is treated the same as 10 is. * * Here's an example: * * toString(); // outputs 50 * ?> * * * @param int|string|resource $x base-10 number or base-$base number if $base set. * @param int $base * @return \phpseclib\Math\BigInteger * @access public */ function __construct($x = 0, $base = 10) { if (!defined('MATH_BIGINTEGER_MODE')) { switch (true) { case extension_loaded('gmp'): define('MATH_BIGINTEGER_MODE', self::MODE_GMP); break; case extension_loaded('bcmath'): define('MATH_BIGINTEGER_MODE', self::MODE_BCMATH); break; default: define('MATH_BIGINTEGER_MODE', self::MODE_INTERNAL); } } if (extension_loaded('openssl') && !defined('MATH_BIGINTEGER_OPENSSL_DISABLE') && !defined('MATH_BIGINTEGER_OPENSSL_ENABLED')) { // some versions of XAMPP have mismatched versions of OpenSSL which causes it not to work $versions = array(); // avoid generating errors (even with suppression) when phpinfo() is disabled (common in production systems) if (function_exists('phpinfo')) { ob_start(); @phpinfo(); $content = ob_get_contents(); ob_end_clean(); preg_match_all('#OpenSSL (Header|Library) Version(.*)#im', $content, $matches); if (!empty($matches[1])) { for ($i = 0; $i < count($matches[1]); $i++) { $fullVersion = trim(str_replace('=>', '', strip_tags($matches[2][$i]))); // Remove letter part in OpenSSL version if (!preg_match('/(\d+\.\d+\.\d+)/i', $fullVersion, $m)) { $versions[$matches[1][$i]] = $fullVersion; } else { $versions[$matches[1][$i]] = $m[0]; } } } } // it doesn't appear that OpenSSL versions were reported upon until PHP 5.3+ switch (true) { case !isset($versions['Header']): case !isset($versions['Library']): case $versions['Header'] == $versions['Library']: case version_compare($versions['Header'], '1.0.0') >= 0 && version_compare($versions['Library'], '1.0.0') >= 0: define('MATH_BIGINTEGER_OPENSSL_ENABLED', true); break; default: define('MATH_BIGINTEGER_OPENSSL_DISABLE', true); } } if (!defined('PHP_INT_SIZE')) { define('PHP_INT_SIZE', 4); } if (empty(self::$base) && MATH_BIGINTEGER_MODE == self::MODE_INTERNAL) { switch (PHP_INT_SIZE) { case 8: // use 64-bit integers if int size is 8 bytes self::$base = 31; self::$baseFull = 0x80000000; self::$maxDigit = 0x7FFFFFFF; self::$msb = 0x40000000; self::$max10 = 1000000000; self::$max10Len = 9; self::$maxDigit2 = pow(2, 62); break; //case 4: // use 64-bit floats if int size is 4 bytes default: self::$base = 26; self::$baseFull = 0x4000000; self::$maxDigit = 0x3FFFFFF; self::$msb = 0x2000000; self::$max10 = 10000000; self::$max10Len = 7; self::$maxDigit2 = pow(2, 52); // pow() prevents truncation } } switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: switch (true) { case is_resource($x) && get_resource_type($x) == 'GMP integer': // PHP 5.6 switched GMP from using resources to objects case $x instanceof \GMP: $this->value = $x; return; } $this->value = gmp_init(0); break; case self::MODE_BCMATH: $this->value = '0'; break; default: $this->value = array(); } // '0' counts as empty() but when the base is 256 '0' is equal to ord('0') or 48 // '0' is the only value like this per http://php.net/empty if (empty($x) && (abs($base) != 256 || $x !== '0')) { return; } switch ($base) { case -256: if (ord($x[0]) & 0x80) { $x = ~$x; $this->is_negative = true; } case 256: switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $this->value = function_exists('gmp_import') ? gmp_import($x) : gmp_init('0x' . bin2hex($x)); if ($this->is_negative) { $this->value = gmp_neg($this->value); } break; case self::MODE_BCMATH: // round $len to the nearest 4 (thanks, DavidMJ!) $len = (strlen($x) + 3) & ~3; $x = str_pad($x, $len, chr(0), STR_PAD_LEFT); for ($i = 0; $i < $len; $i+= 4) { $this->value = bcmul($this->value, '4294967296', 0); // 4294967296 == 2**32 $this->value = bcadd($this->value, 0x1000000 * ord($x[$i]) + ((ord($x[$i + 1]) << 16) | (ord($x[$i + 2]) << 8) | ord($x[$i + 3])), 0); } if ($this->is_negative) { $this->value = '-' . $this->value; } break; // converts a base-2**8 (big endian / msb) number to base-2**26 (little endian / lsb) default: while (strlen($x)) { $this->value[] = $this->_bytes2int($this->_base256_rshift($x, self::$base)); } } if ($this->is_negative) { if (MATH_BIGINTEGER_MODE != self::MODE_INTERNAL) { $this->is_negative = false; } $temp = $this->add(new static('-1')); $this->value = $temp->value; } break; case 16: case -16: if ($base > 0 && $x[0] == '-') { $this->is_negative = true; $x = substr($x, 1); } $x = preg_replace('#^(?:0x)?([A-Fa-f0-9]*).*#s', '$1', $x); $is_negative = false; if ($base < 0 && hexdec($x[0]) >= 8) { $this->is_negative = $is_negative = true; $x = bin2hex(~pack('H*', $x)); } switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $temp = $this->is_negative ? '-0x' . $x : '0x' . $x; $this->value = gmp_init($temp); $this->is_negative = false; break; case self::MODE_BCMATH: $x = (strlen($x) & 1) ? '0' . $x : $x; $temp = new static(pack('H*', $x), 256); $this->value = $this->is_negative ? '-' . $temp->value : $temp->value; $this->is_negative = false; break; default: $x = (strlen($x) & 1) ? '0' . $x : $x; $temp = new static(pack('H*', $x), 256); $this->value = $temp->value; } if ($is_negative) { $temp = $this->add(new static('-1')); $this->value = $temp->value; } break; case 10: case -10: // (?value = gmp_init($x); break; case self::MODE_BCMATH: // explicitly casting $x to a string is necessary, here, since doing $x[0] on -1 yields different // results then doing it on '-1' does (modInverse does $x[0]) $this->value = $x === '-' ? '0' : (string) $x; break; default: $temp = new static(); $multiplier = new static(); $multiplier->value = array(self::$max10); if ($x[0] == '-') { $this->is_negative = true; $x = substr($x, 1); } $x = str_pad($x, strlen($x) + ((self::$max10Len - 1) * strlen($x)) % self::$max10Len, 0, STR_PAD_LEFT); while (strlen($x)) { $temp = $temp->multiply($multiplier); $temp = $temp->add(new static($this->_int2bytes(substr($x, 0, self::$max10Len)), 256)); $x = substr($x, self::$max10Len); } $this->value = $temp->value; } break; case 2: // base-2 support originally implemented by Lluis Pamies - thanks! case -2: if ($base > 0 && $x[0] == '-') { $this->is_negative = true; $x = substr($x, 1); } $x = preg_replace('#^([01]*).*#s', '$1', $x); $x = str_pad($x, strlen($x) + (3 * strlen($x)) % 4, 0, STR_PAD_LEFT); $str = '0x'; while (strlen($x)) { $part = substr($x, 0, 4); $str.= dechex(bindec($part)); $x = substr($x, 4); } if ($this->is_negative) { $str = '-' . $str; } $temp = new static($str, 8 * $base); // ie. either -16 or +16 $this->value = $temp->value; $this->is_negative = $temp->is_negative; break; default: // base not supported, so we'll let $this == 0 } } /** * Converts a BigInteger to a byte string (eg. base-256). * * Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're * saved as two's compliment. * * Here's an example: * * toBytes(); // outputs chr(65) * ?> * * * @param bool $twos_compliment * @return string * @access public * @internal Converts a base-2**26 number to base-2**8 */ function toBytes($twos_compliment = false) { if ($twos_compliment) { $comparison = $this->compare(new static()); if ($comparison == 0) { return $this->precision > 0 ? str_repeat(chr(0), ($this->precision + 1) >> 3) : ''; } $temp = $comparison < 0 ? $this->add(new static(1)) : $this->copy(); $bytes = $temp->toBytes(); if (!strlen($bytes)) { // eg. if the number we're trying to convert is -1 $bytes = chr(0); } if ($this->precision <= 0 && (ord($bytes[0]) & 0x80)) { $bytes = chr(0) . $bytes; } return $comparison < 0 ? ~$bytes : $bytes; } switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: if (gmp_cmp($this->value, gmp_init(0)) == 0) { return $this->precision > 0 ? str_repeat(chr(0), ($this->precision + 1) >> 3) : ''; } if (function_exists('gmp_export')) { $temp = gmp_export($this->value); } else { $temp = gmp_strval(gmp_abs($this->value), 16); $temp = (strlen($temp) & 1) ? '0' . $temp : $temp; $temp = pack('H*', $temp); } return $this->precision > 0 ? substr(str_pad($temp, $this->precision >> 3, chr(0), STR_PAD_LEFT), -($this->precision >> 3)) : ltrim($temp, chr(0)); case self::MODE_BCMATH: if ($this->value === '0') { return $this->precision > 0 ? str_repeat(chr(0), ($this->precision + 1) >> 3) : ''; } $value = ''; $current = $this->value; if ($current[0] == '-') { $current = substr($current, 1); } while (bccomp($current, '0', 0) > 0) { $temp = bcmod($current, '16777216'); $value = chr($temp >> 16) . chr($temp >> 8) . chr($temp) . $value; $current = bcdiv($current, '16777216', 0); } return $this->precision > 0 ? substr(str_pad($value, $this->precision >> 3, chr(0), STR_PAD_LEFT), -($this->precision >> 3)) : ltrim($value, chr(0)); } if (!count($this->value)) { return $this->precision > 0 ? str_repeat(chr(0), ($this->precision + 1) >> 3) : ''; } $result = $this->_int2bytes($this->value[count($this->value) - 1]); $temp = $this->copy(); for ($i = count($temp->value) - 2; $i >= 0; --$i) { $temp->_base256_lshift($result, self::$base); $result = $result | str_pad($temp->_int2bytes($temp->value[$i]), strlen($result), chr(0), STR_PAD_LEFT); } return $this->precision > 0 ? str_pad(substr($result, -(($this->precision + 7) >> 3)), ($this->precision + 7) >> 3, chr(0), STR_PAD_LEFT) : $result; } /** * Converts a BigInteger to a hex string (eg. base-16)). * * Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're * saved as two's compliment. * * Here's an example: * * toHex(); // outputs '41' * ?> * * * @param bool $twos_compliment * @return string * @access public * @internal Converts a base-2**26 number to base-2**8 */ function toHex($twos_compliment = false) { return bin2hex($this->toBytes($twos_compliment)); } /** * Converts a BigInteger to a bit string (eg. base-2). * * Negative numbers are saved as positive numbers, unless $twos_compliment is set to true, at which point, they're * saved as two's compliment. * * Here's an example: * * toBits(); // outputs '1000001' * ?> * * * @param bool $twos_compliment * @return string * @access public * @internal Converts a base-2**26 number to base-2**2 */ function toBits($twos_compliment = false) { $hex = $this->toHex($twos_compliment); $bits = ''; for ($i = strlen($hex) - 6, $start = strlen($hex) % 6; $i >= $start; $i-=6) { $bits = str_pad(decbin(hexdec(substr($hex, $i, 6))), 24, '0', STR_PAD_LEFT) . $bits; } if ($start) { // hexdec('') == 0 $bits = str_pad(decbin(hexdec(substr($hex, 0, $start))), 8 * $start, '0', STR_PAD_LEFT) . $bits; } $result = $this->precision > 0 ? substr($bits, -$this->precision) : ltrim($bits, '0'); if ($twos_compliment && $this->compare(new static()) > 0 && $this->precision <= 0) { return '0' . $result; } return $result; } /** * Converts a BigInteger to a base-10 number. * * Here's an example: * * toString(); // outputs 50 * ?> * * * @return string * @access public * @internal Converts a base-2**26 number to base-10**7 (which is pretty much base-10) */ function toString() { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: return gmp_strval($this->value); case self::MODE_BCMATH: if ($this->value === '0') { return '0'; } return ltrim($this->value, '0'); } if (!count($this->value)) { return '0'; } $temp = $this->copy(); $temp->bitmask = false; $temp->is_negative = false; $divisor = new static(); $divisor->value = array(self::$max10); $result = ''; while (count($temp->value)) { list($temp, $mod) = $temp->divide($divisor); $result = str_pad(isset($mod->value[0]) ? $mod->value[0] : '', self::$max10Len, '0', STR_PAD_LEFT) . $result; } $result = ltrim($result, '0'); if (empty($result)) { $result = '0'; } if ($this->is_negative) { $result = '-' . $result; } return $result; } /** * Return the size of a BigInteger in bits * * @return int */ function getLength() { if (MATH_BIGINTEGER_MODE != self::MODE_INTERNAL) { return strlen($this->toBits()); } $max = count($this->value) - 1; return $max != -1 ? $max * self::$base + intval(ceil(log($this->value[$max] + 1, 2))) : 0; } /** * Return the size of a BigInteger in bytes * * @return int */ function getLengthInBytes() { return (int) ceil($this->getLength() / 8); } /** * Copy an object * * PHP5 passes objects by reference while PHP4 passes by value. As such, we need a function to guarantee * that all objects are passed by value, when appropriate. More information can be found here: * * {@link http://php.net/language.oop5.basic#51624} * * @access public * @see self::__clone() * @return \phpseclib\Math\BigInteger */ function copy() { $temp = new static(); $temp->value = $this->value; $temp->is_negative = $this->is_negative; $temp->precision = $this->precision; $temp->bitmask = $this->bitmask; return $temp; } /** * __toString() magic method * * Will be called, automatically, if you're supporting just PHP5. If you're supporting PHP4, you'll need to call * toString(). * * @access public * @internal Implemented per a suggestion by Techie-Michael - thanks! */ function __toString() { return $this->toString(); } /** * __clone() magic method * * Although you can call BigInteger::__toString() directly in PHP5, you cannot call BigInteger::__clone() directly * in PHP5. You can in PHP4 since it's not a magic method, but in PHP5, you have to call it by using the PHP5 * only syntax of $y = clone $x. As such, if you're trying to write an application that works on both PHP4 and * PHP5, call BigInteger::copy(), instead. * * @access public * @see self::copy() * @return \phpseclib\Math\BigInteger */ function __clone() { return $this->copy(); } /** * __sleep() magic method * * Will be called, automatically, when serialize() is called on a BigInteger object. * * @see self::__wakeup() * @access public */ function __sleep() { $this->hex = $this->toHex(true); $vars = array('hex'); if ($this->precision > 0) { $vars[] = 'precision'; } return $vars; } /** * __wakeup() magic method * * Will be called, automatically, when unserialize() is called on a BigInteger object. * * @see self::__sleep() * @access public */ function __wakeup() { $temp = new static($this->hex, -16); $this->value = $temp->value; $this->is_negative = $temp->is_negative; if ($this->precision > 0) { // recalculate $this->bitmask $this->setPrecision($this->precision); } } /** * __debugInfo() magic method * * Will be called, automatically, when print_r() or var_dump() are called * * @access public */ function __debugInfo() { $opts = array(); switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $engine = 'gmp'; break; case self::MODE_BCMATH: $engine = 'bcmath'; break; case self::MODE_INTERNAL: $engine = 'internal'; $opts[] = PHP_INT_SIZE == 8 ? '64-bit' : '32-bit'; } if (MATH_BIGINTEGER_MODE != self::MODE_GMP && defined('MATH_BIGINTEGER_OPENSSL_ENABLED')) { $opts[] = 'OpenSSL'; } if (!empty($opts)) { $engine.= ' (' . implode('.', $opts) . ')'; } return array( 'value' => '0x' . $this->toHex(true), 'engine' => $engine ); } /** * Adds two BigIntegers. * * Here's an example: * * add($b); * * echo $c->toString(); // outputs 30 * ?> * * * @param \phpseclib\Math\BigInteger $y * @return \phpseclib\Math\BigInteger * @access public * @internal Performs base-2**52 addition */ function add($y) { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $temp = new static(); $temp->value = gmp_add($this->value, $y->value); return $this->_normalize($temp); case self::MODE_BCMATH: $temp = new static(); $temp->value = bcadd($this->value, $y->value, 0); return $this->_normalize($temp); } $temp = $this->_add($this->value, $this->is_negative, $y->value, $y->is_negative); $result = new static(); $result->value = $temp[self::VALUE]; $result->is_negative = $temp[self::SIGN]; return $this->_normalize($result); } /** * Performs addition. * * @param array $x_value * @param bool $x_negative * @param array $y_value * @param bool $y_negative * @return array * @access private */ function _add($x_value, $x_negative, $y_value, $y_negative) { $x_size = count($x_value); $y_size = count($y_value); if ($x_size == 0) { return array( self::VALUE => $y_value, self::SIGN => $y_negative ); } elseif ($y_size == 0) { return array( self::VALUE => $x_value, self::SIGN => $x_negative ); } // subtract, if appropriate if ($x_negative != $y_negative) { if ($x_value == $y_value) { return array( self::VALUE => array(), self::SIGN => false ); } $temp = $this->_subtract($x_value, false, $y_value, false); $temp[self::SIGN] = $this->_compare($x_value, false, $y_value, false) > 0 ? $x_negative : $y_negative; return $temp; } if ($x_size < $y_size) { $size = $x_size; $value = $y_value; } else { $size = $y_size; $value = $x_value; } $value[count($value)] = 0; // just in case the carry adds an extra digit $carry = 0; for ($i = 0, $j = 1; $j < $size; $i+=2, $j+=2) { $sum = $x_value[$j] * self::$baseFull + $x_value[$i] + $y_value[$j] * self::$baseFull + $y_value[$i] + $carry; $carry = $sum >= self::$maxDigit2; // eg. floor($sum / 2**52); only possible values (in any base) are 0 and 1 $sum = $carry ? $sum - self::$maxDigit2 : $sum; $temp = self::$base === 26 ? intval($sum / 0x4000000) : ($sum >> 31); $value[$i] = (int) ($sum - self::$baseFull * $temp); // eg. a faster alternative to fmod($sum, 0x4000000) $value[$j] = $temp; } if ($j == $size) { // ie. if $y_size is odd $sum = $x_value[$i] + $y_value[$i] + $carry; $carry = $sum >= self::$baseFull; $value[$i] = $carry ? $sum - self::$baseFull : $sum; ++$i; // ie. let $i = $j since we've just done $value[$i] } if ($carry) { for (; $value[$i] == self::$maxDigit; ++$i) { $value[$i] = 0; } ++$value[$i]; } return array( self::VALUE => $this->_trim($value), self::SIGN => $x_negative ); } /** * Subtracts two BigIntegers. * * Here's an example: * * subtract($b); * * echo $c->toString(); // outputs -10 * ?> * * * @param \phpseclib\Math\BigInteger $y * @return \phpseclib\Math\BigInteger * @access public * @internal Performs base-2**52 subtraction */ function subtract($y) { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $temp = new static(); $temp->value = gmp_sub($this->value, $y->value); return $this->_normalize($temp); case self::MODE_BCMATH: $temp = new static(); $temp->value = bcsub($this->value, $y->value, 0); return $this->_normalize($temp); } $temp = $this->_subtract($this->value, $this->is_negative, $y->value, $y->is_negative); $result = new static(); $result->value = $temp[self::VALUE]; $result->is_negative = $temp[self::SIGN]; return $this->_normalize($result); } /** * Performs subtraction. * * @param array $x_value * @param bool $x_negative * @param array $y_value * @param bool $y_negative * @return array * @access private */ function _subtract($x_value, $x_negative, $y_value, $y_negative) { $x_size = count($x_value); $y_size = count($y_value); if ($x_size == 0) { return array( self::VALUE => $y_value, self::SIGN => !$y_negative ); } elseif ($y_size == 0) { return array( self::VALUE => $x_value, self::SIGN => $x_negative ); } // add, if appropriate (ie. -$x - +$y or +$x - -$y) if ($x_negative != $y_negative) { $temp = $this->_add($x_value, false, $y_value, false); $temp[self::SIGN] = $x_negative; return $temp; } $diff = $this->_compare($x_value, $x_negative, $y_value, $y_negative); if (!$diff) { return array( self::VALUE => array(), self::SIGN => false ); } // switch $x and $y around, if appropriate. if ((!$x_negative && $diff < 0) || ($x_negative && $diff > 0)) { $temp = $x_value; $x_value = $y_value; $y_value = $temp; $x_negative = !$x_negative; $x_size = count($x_value); $y_size = count($y_value); } // at this point, $x_value should be at least as big as - if not bigger than - $y_value $carry = 0; for ($i = 0, $j = 1; $j < $y_size; $i+=2, $j+=2) { $sum = $x_value[$j] * self::$baseFull + $x_value[$i] - $y_value[$j] * self::$baseFull - $y_value[$i] - $carry; $carry = $sum < 0; // eg. floor($sum / 2**52); only possible values (in any base) are 0 and 1 $sum = $carry ? $sum + self::$maxDigit2 : $sum; $temp = self::$base === 26 ? intval($sum / 0x4000000) : ($sum >> 31); $x_value[$i] = (int) ($sum - self::$baseFull * $temp); $x_value[$j] = $temp; } if ($j == $y_size) { // ie. if $y_size is odd $sum = $x_value[$i] - $y_value[$i] - $carry; $carry = $sum < 0; $x_value[$i] = $carry ? $sum + self::$baseFull : $sum; ++$i; } if ($carry) { for (; !$x_value[$i]; ++$i) { $x_value[$i] = self::$maxDigit; } --$x_value[$i]; } return array( self::VALUE => $this->_trim($x_value), self::SIGN => $x_negative ); } /** * Multiplies two BigIntegers * * Here's an example: * * multiply($b); * * echo $c->toString(); // outputs 200 * ?> * * * @param \phpseclib\Math\BigInteger $x * @return \phpseclib\Math\BigInteger * @access public */ function multiply($x) { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $temp = new static(); $temp->value = gmp_mul($this->value, $x->value); return $this->_normalize($temp); case self::MODE_BCMATH: $temp = new static(); $temp->value = bcmul($this->value, $x->value, 0); return $this->_normalize($temp); } $temp = $this->_multiply($this->value, $this->is_negative, $x->value, $x->is_negative); $product = new static(); $product->value = $temp[self::VALUE]; $product->is_negative = $temp[self::SIGN]; return $this->_normalize($product); } /** * Performs multiplication. * * @param array $x_value * @param bool $x_negative * @param array $y_value * @param bool $y_negative * @return array * @access private */ function _multiply($x_value, $x_negative, $y_value, $y_negative) { //if ( $x_value == $y_value ) { // return array( // self::VALUE => $this->_square($x_value), // self::SIGN => $x_sign != $y_value // ); //} $x_length = count($x_value); $y_length = count($y_value); if (!$x_length || !$y_length) { // a 0 is being multiplied return array( self::VALUE => array(), self::SIGN => false ); } return array( self::VALUE => min($x_length, $y_length) < 2 * self::KARATSUBA_CUTOFF ? $this->_trim($this->_regularMultiply($x_value, $y_value)) : $this->_trim($this->_karatsuba($x_value, $y_value)), self::SIGN => $x_negative != $y_negative ); } /** * Performs long multiplication on two BigIntegers * * Modeled after 'multiply' in MutableBigInteger.java. * * @param array $x_value * @param array $y_value * @return array * @access private */ function _regularMultiply($x_value, $y_value) { $x_length = count($x_value); $y_length = count($y_value); if (!$x_length || !$y_length) { // a 0 is being multiplied return array(); } if ($x_length < $y_length) { $temp = $x_value; $x_value = $y_value; $y_value = $temp; $x_length = count($x_value); $y_length = count($y_value); } $product_value = $this->_array_repeat(0, $x_length + $y_length); // the following for loop could be removed if the for loop following it // (the one with nested for loops) initially set $i to 0, but // doing so would also make the result in one set of unnecessary adds, // since on the outermost loops first pass, $product->value[$k] is going // to always be 0 $carry = 0; for ($j = 0; $j < $x_length; ++$j) { // ie. $i = 0 $temp = $x_value[$j] * $y_value[0] + $carry; // $product_value[$k] == 0 $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); $product_value[$j] = (int) ($temp - self::$baseFull * $carry); } $product_value[$j] = $carry; // the above for loop is what the previous comment was talking about. the // following for loop is the "one with nested for loops" for ($i = 1; $i < $y_length; ++$i) { $carry = 0; for ($j = 0, $k = $i; $j < $x_length; ++$j, ++$k) { $temp = $product_value[$k] + $x_value[$j] * $y_value[$i] + $carry; $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); $product_value[$k] = (int) ($temp - self::$baseFull * $carry); } $product_value[$k] = $carry; } return $product_value; } /** * Performs Karatsuba multiplication on two BigIntegers * * See {@link http://en.wikipedia.org/wiki/Karatsuba_algorithm Karatsuba algorithm} and * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=120 MPM 5.2.3}. * * @param array $x_value * @param array $y_value * @return array * @access private */ function _karatsuba($x_value, $y_value) { $m = min(count($x_value) >> 1, count($y_value) >> 1); if ($m < self::KARATSUBA_CUTOFF) { return $this->_regularMultiply($x_value, $y_value); } $x1 = array_slice($x_value, $m); $x0 = array_slice($x_value, 0, $m); $y1 = array_slice($y_value, $m); $y0 = array_slice($y_value, 0, $m); $z2 = $this->_karatsuba($x1, $y1); $z0 = $this->_karatsuba($x0, $y0); $z1 = $this->_add($x1, false, $x0, false); $temp = $this->_add($y1, false, $y0, false); $z1 = $this->_karatsuba($z1[self::VALUE], $temp[self::VALUE]); $temp = $this->_add($z2, false, $z0, false); $z1 = $this->_subtract($z1, false, $temp[self::VALUE], false); $z2 = array_merge(array_fill(0, 2 * $m, 0), $z2); $z1[self::VALUE] = array_merge(array_fill(0, $m, 0), $z1[self::VALUE]); $xy = $this->_add($z2, false, $z1[self::VALUE], $z1[self::SIGN]); $xy = $this->_add($xy[self::VALUE], $xy[self::SIGN], $z0, false); return $xy[self::VALUE]; } /** * Performs squaring * * @param array $x * @return array * @access private */ function _square($x = false) { return count($x) < 2 * self::KARATSUBA_CUTOFF ? $this->_trim($this->_baseSquare($x)) : $this->_trim($this->_karatsubaSquare($x)); } /** * Performs traditional squaring on two BigIntegers * * Squaring can be done faster than multiplying a number by itself can be. See * {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=7 HAC 14.2.4} / * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=141 MPM 5.3} for more information. * * @param array $value * @return array * @access private */ function _baseSquare($value) { if (empty($value)) { return array(); } $square_value = $this->_array_repeat(0, 2 * count($value)); for ($i = 0, $max_index = count($value) - 1; $i <= $max_index; ++$i) { $i2 = $i << 1; $temp = $square_value[$i2] + $value[$i] * $value[$i]; $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); $square_value[$i2] = (int) ($temp - self::$baseFull * $carry); // note how we start from $i+1 instead of 0 as we do in multiplication. for ($j = $i + 1, $k = $i2 + 1; $j <= $max_index; ++$j, ++$k) { $temp = $square_value[$k] + 2 * $value[$j] * $value[$i] + $carry; $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); $square_value[$k] = (int) ($temp - self::$baseFull * $carry); } // the following line can yield values larger 2**15. at this point, PHP should switch // over to floats. $square_value[$i + $max_index + 1] = $carry; } return $square_value; } /** * Performs Karatsuba "squaring" on two BigIntegers * * See {@link http://en.wikipedia.org/wiki/Karatsuba_algorithm Karatsuba algorithm} and * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=151 MPM 5.3.4}. * * @param array $value * @return array * @access private */ function _karatsubaSquare($value) { $m = count($value) >> 1; if ($m < self::KARATSUBA_CUTOFF) { return $this->_baseSquare($value); } $x1 = array_slice($value, $m); $x0 = array_slice($value, 0, $m); $z2 = $this->_karatsubaSquare($x1); $z0 = $this->_karatsubaSquare($x0); $z1 = $this->_add($x1, false, $x0, false); $z1 = $this->_karatsubaSquare($z1[self::VALUE]); $temp = $this->_add($z2, false, $z0, false); $z1 = $this->_subtract($z1, false, $temp[self::VALUE], false); $z2 = array_merge(array_fill(0, 2 * $m, 0), $z2); $z1[self::VALUE] = array_merge(array_fill(0, $m, 0), $z1[self::VALUE]); $xx = $this->_add($z2, false, $z1[self::VALUE], $z1[self::SIGN]); $xx = $this->_add($xx[self::VALUE], $xx[self::SIGN], $z0, false); return $xx[self::VALUE]; } /** * Divides two BigIntegers. * * Returns an array whose first element contains the quotient and whose second element contains the * "common residue". If the remainder would be positive, the "common residue" and the remainder are the * same. If the remainder would be negative, the "common residue" is equal to the sum of the remainder * and the divisor (basically, the "common residue" is the first positive modulo). * * Here's an example: * * divide($b); * * echo $quotient->toString(); // outputs 0 * echo "\r\n"; * echo $remainder->toString(); // outputs 10 * ?> * * * @param \phpseclib\Math\BigInteger $y * @return array * @access public * @internal This function is based off of {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=9 HAC 14.20}. */ function divide($y) { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $quotient = new static(); $remainder = new static(); list($quotient->value, $remainder->value) = gmp_div_qr($this->value, $y->value); if (gmp_sign($remainder->value) < 0) { $remainder->value = gmp_add($remainder->value, gmp_abs($y->value)); } return array($this->_normalize($quotient), $this->_normalize($remainder)); case self::MODE_BCMATH: $quotient = new static(); $remainder = new static(); $quotient->value = bcdiv($this->value, $y->value, 0); $remainder->value = bcmod($this->value, $y->value); if ($remainder->value[0] == '-') { $remainder->value = bcadd($remainder->value, $y->value[0] == '-' ? substr($y->value, 1) : $y->value, 0); } return array($this->_normalize($quotient), $this->_normalize($remainder)); } if (count($y->value) == 1) { list($q, $r) = $this->_divide_digit($this->value, $y->value[0]); $quotient = new static(); $remainder = new static(); $quotient->value = $q; $remainder->value = array($r); $quotient->is_negative = $this->is_negative != $y->is_negative; return array($this->_normalize($quotient), $this->_normalize($remainder)); } static $zero; if (!isset($zero)) { $zero = new static(); } $x = $this->copy(); $y = $y->copy(); $x_sign = $x->is_negative; $y_sign = $y->is_negative; $x->is_negative = $y->is_negative = false; $diff = $x->compare($y); if (!$diff) { $temp = new static(); $temp->value = array(1); $temp->is_negative = $x_sign != $y_sign; return array($this->_normalize($temp), $this->_normalize(new static())); } if ($diff < 0) { // if $x is negative, "add" $y. if ($x_sign) { $x = $y->subtract($x); } return array($this->_normalize(new static()), $this->_normalize($x)); } // normalize $x and $y as described in HAC 14.23 / 14.24 $msb = $y->value[count($y->value) - 1]; for ($shift = 0; !($msb & self::$msb); ++$shift) { $msb <<= 1; } $x->_lshift($shift); $y->_lshift($shift); $y_value = &$y->value; $x_max = count($x->value) - 1; $y_max = count($y->value) - 1; $quotient = new static(); $quotient_value = &$quotient->value; $quotient_value = $this->_array_repeat(0, $x_max - $y_max + 1); static $temp, $lhs, $rhs; if (!isset($temp)) { $temp = new static(); $lhs = new static(); $rhs = new static(); } $temp_value = &$temp->value; $rhs_value = &$rhs->value; // $temp = $y << ($x_max - $y_max-1) in base 2**26 $temp_value = array_merge($this->_array_repeat(0, $x_max - $y_max), $y_value); while ($x->compare($temp) >= 0) { // calculate the "common residue" ++$quotient_value[$x_max - $y_max]; $x = $x->subtract($temp); $x_max = count($x->value) - 1; } for ($i = $x_max; $i >= $y_max + 1; --$i) { $x_value = &$x->value; $x_window = array( isset($x_value[$i]) ? $x_value[$i] : 0, isset($x_value[$i - 1]) ? $x_value[$i - 1] : 0, isset($x_value[$i - 2]) ? $x_value[$i - 2] : 0 ); $y_window = array( $y_value[$y_max], ($y_max > 0) ? $y_value[$y_max - 1] : 0 ); $q_index = $i - $y_max - 1; if ($x_window[0] == $y_window[0]) { $quotient_value[$q_index] = self::$maxDigit; } else { $quotient_value[$q_index] = $this->_safe_divide( $x_window[0] * self::$baseFull + $x_window[1], $y_window[0] ); } $temp_value = array($y_window[1], $y_window[0]); $lhs->value = array($quotient_value[$q_index]); $lhs = $lhs->multiply($temp); $rhs_value = array($x_window[2], $x_window[1], $x_window[0]); while ($lhs->compare($rhs) > 0) { --$quotient_value[$q_index]; $lhs->value = array($quotient_value[$q_index]); $lhs = $lhs->multiply($temp); } $adjust = $this->_array_repeat(0, $q_index); $temp_value = array($quotient_value[$q_index]); $temp = $temp->multiply($y); $temp_value = &$temp->value; if (count($temp_value)) { $temp_value = array_merge($adjust, $temp_value); } $x = $x->subtract($temp); if ($x->compare($zero) < 0) { $temp_value = array_merge($adjust, $y_value); $x = $x->add($temp); --$quotient_value[$q_index]; } $x_max = count($x_value) - 1; } // unnormalize the remainder $x->_rshift($shift); $quotient->is_negative = $x_sign != $y_sign; // calculate the "common residue", if appropriate if ($x_sign) { $y->_rshift($shift); $x = $y->subtract($x); } return array($this->_normalize($quotient), $this->_normalize($x)); } /** * Divides a BigInteger by a regular integer * * abc / x = a00 / x + b0 / x + c / x * * @param array $dividend * @param array $divisor * @return array * @access private */ function _divide_digit($dividend, $divisor) { $carry = 0; $result = array(); for ($i = count($dividend) - 1; $i >= 0; --$i) { $temp = self::$baseFull * $carry + $dividend[$i]; $result[$i] = $this->_safe_divide($temp, $divisor); $carry = (int) ($temp - $divisor * $result[$i]); } return array($result, $carry); } /** * Performs modular exponentiation. * * Here's an example: * * modPow($b, $c); * * echo $c->toString(); // outputs 10 * ?> * * * @param \phpseclib\Math\BigInteger $e * @param \phpseclib\Math\BigInteger $n * @return \phpseclib\Math\BigInteger * @access public * @internal The most naive approach to modular exponentiation has very unreasonable requirements, and * and although the approach involving repeated squaring does vastly better, it, too, is impractical * for our purposes. The reason being that division - by far the most complicated and time-consuming * of the basic operations (eg. +,-,*,/) - occurs multiple times within it. * * Modular reductions resolve this issue. Although an individual modular reduction takes more time * then an individual division, when performed in succession (with the same modulo), they're a lot faster. * * The two most commonly used modular reductions are Barrett and Montgomery reduction. Montgomery reduction, * although faster, only works when the gcd of the modulo and of the base being used is 1. In RSA, when the * base is a power of two, the modulo - a product of two primes - is always going to have a gcd of 1 (because * the product of two odd numbers is odd), but what about when RSA isn't used? * * In contrast, Barrett reduction has no such constraint. As such, some bigint implementations perform a * Barrett reduction after every operation in the modpow function. Others perform Barrett reductions when the * modulo is even and Montgomery reductions when the modulo is odd. BigInteger.java's modPow method, however, * uses a trick involving the Chinese Remainder Theorem to factor the even modulo into two numbers - one odd and * the other, a power of two - and recombine them, later. This is the method that this modPow function uses. * {@link http://islab.oregonstate.edu/papers/j34monex.pdf Montgomery Reduction with Even Modulus} elaborates. */ function modPow($e, $n) { $n = $this->bitmask !== false && $this->bitmask->compare($n) < 0 ? $this->bitmask : $n->abs(); if ($e->compare(new static()) < 0) { $e = $e->abs(); $temp = $this->modInverse($n); if ($temp === false) { return false; } return $this->_normalize($temp->modPow($e, $n)); } if (MATH_BIGINTEGER_MODE == self::MODE_GMP) { $temp = new static(); $temp->value = gmp_powm($this->value, $e->value, $n->value); return $this->_normalize($temp); } if ($this->compare(new static()) < 0 || $this->compare($n) > 0) { list(, $temp) = $this->divide($n); return $temp->modPow($e, $n); } if (defined('MATH_BIGINTEGER_OPENSSL_ENABLED')) { $components = array( 'modulus' => $n->toBytes(true), 'publicExponent' => $e->toBytes(true) ); $components = array( 'modulus' => pack('Ca*a*', 2, $this->_encodeASN1Length(strlen($components['modulus'])), $components['modulus']), 'publicExponent' => pack('Ca*a*', 2, $this->_encodeASN1Length(strlen($components['publicExponent'])), $components['publicExponent']) ); $RSAPublicKey = pack( 'Ca*a*a*', 48, $this->_encodeASN1Length(strlen($components['modulus']) + strlen($components['publicExponent'])), $components['modulus'], $components['publicExponent'] ); $rsaOID = pack('H*', '300d06092a864886f70d0101010500'); // hex version of MA0GCSqGSIb3DQEBAQUA $RSAPublicKey = chr(0) . $RSAPublicKey; $RSAPublicKey = chr(3) . $this->_encodeASN1Length(strlen($RSAPublicKey)) . $RSAPublicKey; $encapsulated = pack( 'Ca*a*', 48, $this->_encodeASN1Length(strlen($rsaOID . $RSAPublicKey)), $rsaOID . $RSAPublicKey ); $RSAPublicKey = "-----BEGIN PUBLIC KEY-----\r\n" . chunk_split(base64_encode($encapsulated)) . '-----END PUBLIC KEY-----'; $plaintext = str_pad($this->toBytes(), strlen($n->toBytes(true)) - 1, "\0", STR_PAD_LEFT); if (openssl_public_encrypt($plaintext, $result, $RSAPublicKey, OPENSSL_NO_PADDING)) { return new static($result, 256); } } if (MATH_BIGINTEGER_MODE == self::MODE_BCMATH) { $temp = new static(); $temp->value = bcpowmod($this->value, $e->value, $n->value, 0); return $this->_normalize($temp); } if (empty($e->value)) { $temp = new static(); $temp->value = array(1); return $this->_normalize($temp); } if ($e->value == array(1)) { list(, $temp) = $this->divide($n); return $this->_normalize($temp); } if ($e->value == array(2)) { $temp = new static(); $temp->value = $this->_square($this->value); list(, $temp) = $temp->divide($n); return $this->_normalize($temp); } return $this->_normalize($this->_slidingWindow($e, $n, self::BARRETT)); // the following code, although not callable, can be run independently of the above code // although the above code performed better in my benchmarks the following could might // perform better under different circumstances. in lieu of deleting it it's just been // made uncallable // is the modulo odd? if ($n->value[0] & 1) { return $this->_normalize($this->_slidingWindow($e, $n, self::MONTGOMERY)); } // if it's not, it's even // find the lowest set bit (eg. the max pow of 2 that divides $n) for ($i = 0; $i < count($n->value); ++$i) { if ($n->value[$i]) { $temp = decbin($n->value[$i]); $j = strlen($temp) - strrpos($temp, '1') - 1; $j+= 26 * $i; break; } } // at this point, 2^$j * $n/(2^$j) == $n $mod1 = $n->copy(); $mod1->_rshift($j); $mod2 = new static(); $mod2->value = array(1); $mod2->_lshift($j); $part1 = ($mod1->value != array(1)) ? $this->_slidingWindow($e, $mod1, self::MONTGOMERY) : new static(); $part2 = $this->_slidingWindow($e, $mod2, self::POWEROF2); $y1 = $mod2->modInverse($mod1); $y2 = $mod1->modInverse($mod2); $result = $part1->multiply($mod2); $result = $result->multiply($y1); $temp = $part2->multiply($mod1); $temp = $temp->multiply($y2); $result = $result->add($temp); list(, $result) = $result->divide($n); return $this->_normalize($result); } /** * Performs modular exponentiation. * * Alias for modPow(). * * @param \phpseclib\Math\BigInteger $e * @param \phpseclib\Math\BigInteger $n * @return \phpseclib\Math\BigInteger * @access public */ function powMod($e, $n) { return $this->modPow($e, $n); } /** * Sliding Window k-ary Modular Exponentiation * * Based on {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=27 HAC 14.85} / * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=210 MPM 7.7}. In a departure from those algorithims, * however, this function performs a modular reduction after every multiplication and squaring operation. * As such, this function has the same preconditions that the reductions being used do. * * @param \phpseclib\Math\BigInteger $e * @param \phpseclib\Math\BigInteger $n * @param int $mode * @return \phpseclib\Math\BigInteger * @access private */ function _slidingWindow($e, $n, $mode) { static $window_ranges = array(7, 25, 81, 241, 673, 1793); // from BigInteger.java's oddModPow function //static $window_ranges = array(0, 7, 36, 140, 450, 1303, 3529); // from MPM 7.3.1 $e_value = $e->value; $e_length = count($e_value) - 1; $e_bits = decbin($e_value[$e_length]); for ($i = $e_length - 1; $i >= 0; --$i) { $e_bits.= str_pad(decbin($e_value[$i]), self::$base, '0', STR_PAD_LEFT); } $e_length = strlen($e_bits); // calculate the appropriate window size. // $window_size == 3 if $window_ranges is between 25 and 81, for example. for ($i = 0, $window_size = 1; $i < count($window_ranges) && $e_length > $window_ranges[$i]; ++$window_size, ++$i) { } $n_value = $n->value; // precompute $this^0 through $this^$window_size $powers = array(); $powers[1] = $this->_prepareReduce($this->value, $n_value, $mode); $powers[2] = $this->_squareReduce($powers[1], $n_value, $mode); // we do every other number since substr($e_bits, $i, $j+1) (see below) is supposed to end // in a 1. ie. it's supposed to be odd. $temp = 1 << ($window_size - 1); for ($i = 1; $i < $temp; ++$i) { $i2 = $i << 1; $powers[$i2 + 1] = $this->_multiplyReduce($powers[$i2 - 1], $powers[2], $n_value, $mode); } $result = array(1); $result = $this->_prepareReduce($result, $n_value, $mode); for ($i = 0; $i < $e_length;) { if (!$e_bits[$i]) { $result = $this->_squareReduce($result, $n_value, $mode); ++$i; } else { for ($j = $window_size - 1; $j > 0; --$j) { if (!empty($e_bits[$i + $j])) { break; } } // eg. the length of substr($e_bits, $i, $j + 1) for ($k = 0; $k <= $j; ++$k) { $result = $this->_squareReduce($result, $n_value, $mode); } $result = $this->_multiplyReduce($result, $powers[bindec(substr($e_bits, $i, $j + 1))], $n_value, $mode); $i += $j + 1; } } $temp = new static(); $temp->value = $this->_reduce($result, $n_value, $mode); return $temp; } /** * Modular reduction * * For most $modes this will return the remainder. * * @see self::_slidingWindow() * @access private * @param array $x * @param array $n * @param int $mode * @return array */ function _reduce($x, $n, $mode) { switch ($mode) { case self::MONTGOMERY: return $this->_montgomery($x, $n); case self::BARRETT: return $this->_barrett($x, $n); case self::POWEROF2: $lhs = new static(); $lhs->value = $x; $rhs = new static(); $rhs->value = $n; return $x->_mod2($n); case self::CLASSIC: $lhs = new static(); $lhs->value = $x; $rhs = new static(); $rhs->value = $n; list(, $temp) = $lhs->divide($rhs); return $temp->value; case self::NONE: return $x; default: // an invalid $mode was provided } } /** * Modular reduction preperation * * @see self::_slidingWindow() * @access private * @param array $x * @param array $n * @param int $mode * @return array */ function _prepareReduce($x, $n, $mode) { if ($mode == self::MONTGOMERY) { return $this->_prepMontgomery($x, $n); } return $this->_reduce($x, $n, $mode); } /** * Modular multiply * * @see self::_slidingWindow() * @access private * @param array $x * @param array $y * @param array $n * @param int $mode * @return array */ function _multiplyReduce($x, $y, $n, $mode) { if ($mode == self::MONTGOMERY) { return $this->_montgomeryMultiply($x, $y, $n); } $temp = $this->_multiply($x, false, $y, false); return $this->_reduce($temp[self::VALUE], $n, $mode); } /** * Modular square * * @see self::_slidingWindow() * @access private * @param array $x * @param array $n * @param int $mode * @return array */ function _squareReduce($x, $n, $mode) { if ($mode == self::MONTGOMERY) { return $this->_montgomeryMultiply($x, $x, $n); } return $this->_reduce($this->_square($x), $n, $mode); } /** * Modulos for Powers of Two * * Calculates $x%$n, where $n = 2**$e, for some $e. Since this is basically the same as doing $x & ($n-1), * we'll just use this function as a wrapper for doing that. * * @see self::_slidingWindow() * @access private * @param \phpseclib\Math\BigInteger $n * @return \phpseclib\Math\BigInteger */ function _mod2($n) { $temp = new static(); $temp->value = array(1); return $this->bitwise_and($n->subtract($temp)); } /** * Barrett Modular Reduction * * See {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=14 HAC 14.3.3} / * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=165 MPM 6.2.5} for more information. Modified slightly, * so as not to require negative numbers (initially, this script didn't support negative numbers). * * Employs "folding", as described at * {@link http://www.cosic.esat.kuleuven.be/publications/thesis-149.pdf#page=66 thesis-149.pdf#page=66}. To quote from * it, "the idea [behind folding] is to find a value x' such that x (mod m) = x' (mod m), with x' being smaller than x." * * Unfortunately, the "Barrett Reduction with Folding" algorithm described in thesis-149.pdf is not, as written, all that * usable on account of (1) its not using reasonable radix points as discussed in * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=162 MPM 6.2.2} and (2) the fact that, even with reasonable * radix points, it only works when there are an even number of digits in the denominator. The reason for (2) is that * (x >> 1) + (x >> 1) != x / 2 + x / 2. If x is even, they're the same, but if x is odd, they're not. See the in-line * comments for details. * * @see self::_slidingWindow() * @access private * @param array $n * @param array $m * @return array */ function _barrett($n, $m) { static $cache = array( self::VARIABLE => array(), self::DATA => array() ); $m_length = count($m); // if ($this->_compare($n, $this->_square($m)) >= 0) { if (count($n) > 2 * $m_length) { $lhs = new static(); $rhs = new static(); $lhs->value = $n; $rhs->value = $m; list(, $temp) = $lhs->divide($rhs); return $temp->value; } // if (m.length >> 1) + 2 <= m.length then m is too small and n can't be reduced if ($m_length < 5) { return $this->_regularBarrett($n, $m); } // n = 2 * m.length if (($key = array_search($m, $cache[self::VARIABLE])) === false) { $key = count($cache[self::VARIABLE]); $cache[self::VARIABLE][] = $m; $lhs = new static(); $lhs_value = &$lhs->value; $lhs_value = $this->_array_repeat(0, $m_length + ($m_length >> 1)); $lhs_value[] = 1; $rhs = new static(); $rhs->value = $m; list($u, $m1) = $lhs->divide($rhs); $u = $u->value; $m1 = $m1->value; $cache[self::DATA][] = array( 'u' => $u, // m.length >> 1 (technically (m.length >> 1) + 1) 'm1'=> $m1 // m.length ); } else { extract($cache[self::DATA][$key]); } $cutoff = $m_length + ($m_length >> 1); $lsd = array_slice($n, 0, $cutoff); // m.length + (m.length >> 1) $msd = array_slice($n, $cutoff); // m.length >> 1 $lsd = $this->_trim($lsd); $temp = $this->_multiply($msd, false, $m1, false); $n = $this->_add($lsd, false, $temp[self::VALUE], false); // m.length + (m.length >> 1) + 1 if ($m_length & 1) { return $this->_regularBarrett($n[self::VALUE], $m); } // (m.length + (m.length >> 1) + 1) - (m.length - 1) == (m.length >> 1) + 2 $temp = array_slice($n[self::VALUE], $m_length - 1); // if even: ((m.length >> 1) + 2) + (m.length >> 1) == m.length + 2 // if odd: ((m.length >> 1) + 2) + (m.length >> 1) == (m.length - 1) + 2 == m.length + 1 $temp = $this->_multiply($temp, false, $u, false); // if even: (m.length + 2) - ((m.length >> 1) + 1) = m.length - (m.length >> 1) + 1 // if odd: (m.length + 1) - ((m.length >> 1) + 1) = m.length - (m.length >> 1) $temp = array_slice($temp[self::VALUE], ($m_length >> 1) + 1); // if even: (m.length - (m.length >> 1) + 1) + m.length = 2 * m.length - (m.length >> 1) + 1 // if odd: (m.length - (m.length >> 1)) + m.length = 2 * m.length - (m.length >> 1) $temp = $this->_multiply($temp, false, $m, false); // at this point, if m had an odd number of digits, we'd be subtracting a 2 * m.length - (m.length >> 1) digit // number from a m.length + (m.length >> 1) + 1 digit number. ie. there'd be an extra digit and the while loop // following this comment would loop a lot (hence our calling _regularBarrett() in that situation). $result = $this->_subtract($n[self::VALUE], false, $temp[self::VALUE], false); while ($this->_compare($result[self::VALUE], $result[self::SIGN], $m, false) >= 0) { $result = $this->_subtract($result[self::VALUE], $result[self::SIGN], $m, false); } return $result[self::VALUE]; } /** * (Regular) Barrett Modular Reduction * * For numbers with more than four digits BigInteger::_barrett() is faster. The difference between that and this * is that this function does not fold the denominator into a smaller form. * * @see self::_slidingWindow() * @access private * @param array $x * @param array $n * @return array */ function _regularBarrett($x, $n) { static $cache = array( self::VARIABLE => array(), self::DATA => array() ); $n_length = count($n); if (count($x) > 2 * $n_length) { $lhs = new static(); $rhs = new static(); $lhs->value = $x; $rhs->value = $n; list(, $temp) = $lhs->divide($rhs); return $temp->value; } if (($key = array_search($n, $cache[self::VARIABLE])) === false) { $key = count($cache[self::VARIABLE]); $cache[self::VARIABLE][] = $n; $lhs = new static(); $lhs_value = &$lhs->value; $lhs_value = $this->_array_repeat(0, 2 * $n_length); $lhs_value[] = 1; $rhs = new static(); $rhs->value = $n; list($temp, ) = $lhs->divide($rhs); // m.length $cache[self::DATA][] = $temp->value; } // 2 * m.length - (m.length - 1) = m.length + 1 $temp = array_slice($x, $n_length - 1); // (m.length + 1) + m.length = 2 * m.length + 1 $temp = $this->_multiply($temp, false, $cache[self::DATA][$key], false); // (2 * m.length + 1) - (m.length - 1) = m.length + 2 $temp = array_slice($temp[self::VALUE], $n_length + 1); // m.length + 1 $result = array_slice($x, 0, $n_length + 1); // m.length + 1 $temp = $this->_multiplyLower($temp, false, $n, false, $n_length + 1); // $temp == array_slice($temp->_multiply($temp, false, $n, false)->value, 0, $n_length + 1) if ($this->_compare($result, false, $temp[self::VALUE], $temp[self::SIGN]) < 0) { $corrector_value = $this->_array_repeat(0, $n_length + 1); $corrector_value[count($corrector_value)] = 1; $result = $this->_add($result, false, $corrector_value, false); $result = $result[self::VALUE]; } // at this point, we're subtracting a number with m.length + 1 digits from another number with m.length + 1 digits $result = $this->_subtract($result, false, $temp[self::VALUE], $temp[self::SIGN]); while ($this->_compare($result[self::VALUE], $result[self::SIGN], $n, false) > 0) { $result = $this->_subtract($result[self::VALUE], $result[self::SIGN], $n, false); } return $result[self::VALUE]; } /** * Performs long multiplication up to $stop digits * * If you're going to be doing array_slice($product->value, 0, $stop), some cycles can be saved. * * @see self::_regularBarrett() * @param array $x_value * @param bool $x_negative * @param array $y_value * @param bool $y_negative * @param int $stop * @return array * @access private */ function _multiplyLower($x_value, $x_negative, $y_value, $y_negative, $stop) { $x_length = count($x_value); $y_length = count($y_value); if (!$x_length || !$y_length) { // a 0 is being multiplied return array( self::VALUE => array(), self::SIGN => false ); } if ($x_length < $y_length) { $temp = $x_value; $x_value = $y_value; $y_value = $temp; $x_length = count($x_value); $y_length = count($y_value); } $product_value = $this->_array_repeat(0, $x_length + $y_length); // the following for loop could be removed if the for loop following it // (the one with nested for loops) initially set $i to 0, but // doing so would also make the result in one set of unnecessary adds, // since on the outermost loops first pass, $product->value[$k] is going // to always be 0 $carry = 0; for ($j = 0; $j < $x_length; ++$j) { // ie. $i = 0, $k = $i $temp = $x_value[$j] * $y_value[0] + $carry; // $product_value[$k] == 0 $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); $product_value[$j] = (int) ($temp - self::$baseFull * $carry); } if ($j < $stop) { $product_value[$j] = $carry; } // the above for loop is what the previous comment was talking about. the // following for loop is the "one with nested for loops" for ($i = 1; $i < $y_length; ++$i) { $carry = 0; for ($j = 0, $k = $i; $j < $x_length && $k < $stop; ++$j, ++$k) { $temp = $product_value[$k] + $x_value[$j] * $y_value[$i] + $carry; $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); $product_value[$k] = (int) ($temp - self::$baseFull * $carry); } if ($k < $stop) { $product_value[$k] = $carry; } } return array( self::VALUE => $this->_trim($product_value), self::SIGN => $x_negative != $y_negative ); } /** * Montgomery Modular Reduction * * ($x->_prepMontgomery($n))->_montgomery($n) yields $x % $n. * {@link http://math.libtomcrypt.com/files/tommath.pdf#page=170 MPM 6.3} provides insights on how this can be * improved upon (basically, by using the comba method). gcd($n, 2) must be equal to one for this function * to work correctly. * * @see self::_prepMontgomery() * @see self::_slidingWindow() * @access private * @param array $x * @param array $n * @return array */ function _montgomery($x, $n) { static $cache = array( self::VARIABLE => array(), self::DATA => array() ); if (($key = array_search($n, $cache[self::VARIABLE])) === false) { $key = count($cache[self::VARIABLE]); $cache[self::VARIABLE][] = $x; $cache[self::DATA][] = $this->_modInverse67108864($n); } $k = count($n); $result = array(self::VALUE => $x); for ($i = 0; $i < $k; ++$i) { $temp = $result[self::VALUE][$i] * $cache[self::DATA][$key]; $temp = $temp - self::$baseFull * (self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31)); $temp = $this->_regularMultiply(array($temp), $n); $temp = array_merge($this->_array_repeat(0, $i), $temp); $result = $this->_add($result[self::VALUE], false, $temp, false); } $result[self::VALUE] = array_slice($result[self::VALUE], $k); if ($this->_compare($result, false, $n, false) >= 0) { $result = $this->_subtract($result[self::VALUE], false, $n, false); } return $result[self::VALUE]; } /** * Montgomery Multiply * * Interleaves the montgomery reduction and long multiplication algorithms together as described in * {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=13 HAC 14.36} * * @see self::_prepMontgomery() * @see self::_montgomery() * @access private * @param array $x * @param array $y * @param array $m * @return array */ function _montgomeryMultiply($x, $y, $m) { $temp = $this->_multiply($x, false, $y, false); return $this->_montgomery($temp[self::VALUE], $m); // the following code, although not callable, can be run independently of the above code // although the above code performed better in my benchmarks the following could might // perform better under different circumstances. in lieu of deleting it it's just been // made uncallable static $cache = array( self::VARIABLE => array(), self::DATA => array() ); if (($key = array_search($m, $cache[self::VARIABLE])) === false) { $key = count($cache[self::VARIABLE]); $cache[self::VARIABLE][] = $m; $cache[self::DATA][] = $this->_modInverse67108864($m); } $n = max(count($x), count($y), count($m)); $x = array_pad($x, $n, 0); $y = array_pad($y, $n, 0); $m = array_pad($m, $n, 0); $a = array(self::VALUE => $this->_array_repeat(0, $n + 1)); for ($i = 0; $i < $n; ++$i) { $temp = $a[self::VALUE][0] + $x[$i] * $y[0]; $temp = $temp - self::$baseFull * (self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31)); $temp = $temp * $cache[self::DATA][$key]; $temp = $temp - self::$baseFull * (self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31)); $temp = $this->_add($this->_regularMultiply(array($x[$i]), $y), false, $this->_regularMultiply(array($temp), $m), false); $a = $this->_add($a[self::VALUE], false, $temp[self::VALUE], false); $a[self::VALUE] = array_slice($a[self::VALUE], 1); } if ($this->_compare($a[self::VALUE], false, $m, false) >= 0) { $a = $this->_subtract($a[self::VALUE], false, $m, false); } return $a[self::VALUE]; } /** * Prepare a number for use in Montgomery Modular Reductions * * @see self::_montgomery() * @see self::_slidingWindow() * @access private * @param array $x * @param array $n * @return array */ function _prepMontgomery($x, $n) { $lhs = new static(); $lhs->value = array_merge($this->_array_repeat(0, count($n)), $x); $rhs = new static(); $rhs->value = $n; list(, $temp) = $lhs->divide($rhs); return $temp->value; } /** * Modular Inverse of a number mod 2**26 (eg. 67108864) * * Based off of the bnpInvDigit function implemented and justified in the following URL: * * {@link http://www-cs-students.stanford.edu/~tjw/jsbn/jsbn.js} * * The following URL provides more info: * * {@link http://groups.google.com/group/sci.crypt/msg/7a137205c1be7d85} * * As for why we do all the bitmasking... strange things can happen when converting from floats to ints. For * instance, on some computers, var_dump((int) -4294967297) yields int(-1) and on others, it yields * int(-2147483648). To avoid problems stemming from this, we use bitmasks to guarantee that ints aren't * auto-converted to floats. The outermost bitmask is present because without it, there's no guarantee that * the "residue" returned would be the so-called "common residue". We use fmod, in the last step, because the * maximum possible $x is 26 bits and the maximum $result is 16 bits. Thus, we have to be able to handle up to * 40 bits, which only 64-bit floating points will support. * * Thanks to Pedro Gimeno Fortea for input! * * @see self::_montgomery() * @access private * @param array $x * @return int */ function _modInverse67108864($x) // 2**26 == 67,108,864 { $x = -$x[0]; $result = $x & 0x3; // x**-1 mod 2**2 $result = ($result * (2 - $x * $result)) & 0xF; // x**-1 mod 2**4 $result = ($result * (2 - ($x & 0xFF) * $result)) & 0xFF; // x**-1 mod 2**8 $result = ($result * ((2 - ($x & 0xFFFF) * $result) & 0xFFFF)) & 0xFFFF; // x**-1 mod 2**16 $result = fmod($result * (2 - fmod($x * $result, self::$baseFull)), self::$baseFull); // x**-1 mod 2**26 return $result & self::$maxDigit; } /** * Calculates modular inverses. * * Say you have (30 mod 17 * x mod 17) mod 17 == 1. x can be found using modular inverses. * * Here's an example: * * modInverse($b); * echo $c->toString(); // outputs 4 * * echo "\r\n"; * * $d = $a->multiply($c); * list(, $d) = $d->divide($b); * echo $d; // outputs 1 (as per the definition of modular inverse) * ?> * * * @param \phpseclib\Math\BigInteger $n * @return \phpseclib\Math\BigInteger|false * @access public * @internal See {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=21 HAC 14.64} for more information. */ function modInverse($n) { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $temp = new static(); $temp->value = gmp_invert($this->value, $n->value); return ($temp->value === false) ? false : $this->_normalize($temp); } static $zero, $one; if (!isset($zero)) { $zero = new static(); $one = new static(1); } // $x mod -$n == $x mod $n. $n = $n->abs(); if ($this->compare($zero) < 0) { $temp = $this->abs(); $temp = $temp->modInverse($n); return $this->_normalize($n->subtract($temp)); } extract($this->extendedGCD($n)); if (!$gcd->equals($one)) { return false; } $x = $x->compare($zero) < 0 ? $x->add($n) : $x; return $this->compare($zero) < 0 ? $this->_normalize($n->subtract($x)) : $this->_normalize($x); } /** * Calculates the greatest common divisor and Bezout's identity. * * Say you have 693 and 609. The GCD is 21. Bezout's identity states that there exist integers x and y such that * 693*x + 609*y == 21. In point of fact, there are actually an infinite number of x and y combinations and which * combination is returned is dependent upon which mode is in use. See * {@link http://en.wikipedia.org/wiki/B%C3%A9zout%27s_identity Bezout's identity - Wikipedia} for more information. * * Here's an example: * * extendedGCD($b)); * * echo $gcd->toString() . "\r\n"; // outputs 21 * echo $a->toString() * $x->toString() + $b->toString() * $y->toString(); // outputs 21 * ?> * * * @param \phpseclib\Math\BigInteger $n * @return \phpseclib\Math\BigInteger * @access public * @internal Calculates the GCD using the binary xGCD algorithim described in * {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf#page=19 HAC 14.61}. As the text above 14.61 notes, * the more traditional algorithim requires "relatively costly multiple-precision divisions". */ function extendedGCD($n) { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: extract(gmp_gcdext($this->value, $n->value)); return array( 'gcd' => $this->_normalize(new static($g)), 'x' => $this->_normalize(new static($s)), 'y' => $this->_normalize(new static($t)) ); case self::MODE_BCMATH: // it might be faster to use the binary xGCD algorithim here, as well, but (1) that algorithim works // best when the base is a power of 2 and (2) i don't think it'd make much difference, anyway. as is, // the basic extended euclidean algorithim is what we're using. $u = $this->value; $v = $n->value; $a = '1'; $b = '0'; $c = '0'; $d = '1'; while (bccomp($v, '0', 0) != 0) { $q = bcdiv($u, $v, 0); $temp = $u; $u = $v; $v = bcsub($temp, bcmul($v, $q, 0), 0); $temp = $a; $a = $c; $c = bcsub($temp, bcmul($a, $q, 0), 0); $temp = $b; $b = $d; $d = bcsub($temp, bcmul($b, $q, 0), 0); } return array( 'gcd' => $this->_normalize(new static($u)), 'x' => $this->_normalize(new static($a)), 'y' => $this->_normalize(new static($b)) ); } $y = $n->copy(); $x = $this->copy(); $g = new static(); $g->value = array(1); while (!(($x->value[0] & 1)|| ($y->value[0] & 1))) { $x->_rshift(1); $y->_rshift(1); $g->_lshift(1); } $u = $x->copy(); $v = $y->copy(); $a = new static(); $b = new static(); $c = new static(); $d = new static(); $a->value = $d->value = $g->value = array(1); $b->value = $c->value = array(); while (!empty($u->value)) { while (!($u->value[0] & 1)) { $u->_rshift(1); if ((!empty($a->value) && ($a->value[0] & 1)) || (!empty($b->value) && ($b->value[0] & 1))) { $a = $a->add($y); $b = $b->subtract($x); } $a->_rshift(1); $b->_rshift(1); } while (!($v->value[0] & 1)) { $v->_rshift(1); if ((!empty($d->value) && ($d->value[0] & 1)) || (!empty($c->value) && ($c->value[0] & 1))) { $c = $c->add($y); $d = $d->subtract($x); } $c->_rshift(1); $d->_rshift(1); } if ($u->compare($v) >= 0) { $u = $u->subtract($v); $a = $a->subtract($c); $b = $b->subtract($d); } else { $v = $v->subtract($u); $c = $c->subtract($a); $d = $d->subtract($b); } } return array( 'gcd' => $this->_normalize($g->multiply($v)), 'x' => $this->_normalize($c), 'y' => $this->_normalize($d) ); } /** * Calculates the greatest common divisor * * Say you have 693 and 609. The GCD is 21. * * Here's an example: * * extendedGCD($b); * * echo $gcd->toString() . "\r\n"; // outputs 21 * ?> * * * @param \phpseclib\Math\BigInteger $n * @return \phpseclib\Math\BigInteger * @access public */ function gcd($n) { extract($this->extendedGCD($n)); return $gcd; } /** * Absolute value. * * @return \phpseclib\Math\BigInteger * @access public */ function abs() { $temp = new static(); switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $temp->value = gmp_abs($this->value); break; case self::MODE_BCMATH: $temp->value = (bccomp($this->value, '0', 0) < 0) ? substr($this->value, 1) : $this->value; break; default: $temp->value = $this->value; } return $temp; } /** * Compares two numbers. * * Although one might think !$x->compare($y) means $x != $y, it, in fact, means the opposite. The reason for this is * demonstrated thusly: * * $x > $y: $x->compare($y) > 0 * $x < $y: $x->compare($y) < 0 * $x == $y: $x->compare($y) == 0 * * Note how the same comparison operator is used. If you want to test for equality, use $x->equals($y). * * @param \phpseclib\Math\BigInteger $y * @return int that is < 0 if $this is less than $y; > 0 if $this is greater than $y, and 0 if they are equal. * @access public * @see self::equals() * @internal Could return $this->subtract($x), but that's not as fast as what we do do. */ function compare($y) { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $r = gmp_cmp($this->value, $y->value); if ($r < -1) { $r = -1; } if ($r > 1) { $r = 1; } return $r; case self::MODE_BCMATH: return bccomp($this->value, $y->value, 0); } return $this->_compare($this->value, $this->is_negative, $y->value, $y->is_negative); } /** * Compares two numbers. * * @param array $x_value * @param bool $x_negative * @param array $y_value * @param bool $y_negative * @return int * @see self::compare() * @access private */ function _compare($x_value, $x_negative, $y_value, $y_negative) { if ($x_negative != $y_negative) { return (!$x_negative && $y_negative) ? 1 : -1; } $result = $x_negative ? -1 : 1; if (count($x_value) != count($y_value)) { return (count($x_value) > count($y_value)) ? $result : -$result; } $size = max(count($x_value), count($y_value)); $x_value = array_pad($x_value, $size, 0); $y_value = array_pad($y_value, $size, 0); for ($i = count($x_value) - 1; $i >= 0; --$i) { if ($x_value[$i] != $y_value[$i]) { return ($x_value[$i] > $y_value[$i]) ? $result : -$result; } } return 0; } /** * Tests the equality of two numbers. * * If you need to see if one number is greater than or less than another number, use BigInteger::compare() * * @param \phpseclib\Math\BigInteger $x * @return bool * @access public * @see self::compare() */ function equals($x) { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: return gmp_cmp($this->value, $x->value) == 0; default: return $this->value === $x->value && $this->is_negative == $x->is_negative; } } /** * Set Precision * * Some bitwise operations give different results depending on the precision being used. Examples include left * shift, not, and rotates. * * @param int $bits * @access public */ function setPrecision($bits) { $this->precision = $bits; if (MATH_BIGINTEGER_MODE != self::MODE_BCMATH) { $this->bitmask = new static(chr((1 << ($bits & 0x7)) - 1) . str_repeat(chr(0xFF), $bits >> 3), 256); } else { $this->bitmask = new static(bcpow('2', $bits, 0)); } $temp = $this->_normalize($this); $this->value = $temp->value; } /** * Logical And * * @param \phpseclib\Math\BigInteger $x * @access public * @internal Implemented per a request by Lluis Pamies i Juarez * @return \phpseclib\Math\BigInteger */ function bitwise_and($x) { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $temp = new static(); $temp->value = gmp_and($this->value, $x->value); return $this->_normalize($temp); case self::MODE_BCMATH: $left = $this->toBytes(); $right = $x->toBytes(); $length = max(strlen($left), strlen($right)); $left = str_pad($left, $length, chr(0), STR_PAD_LEFT); $right = str_pad($right, $length, chr(0), STR_PAD_LEFT); return $this->_normalize(new static($left & $right, 256)); } $result = $this->copy(); $length = min(count($x->value), count($this->value)); $result->value = array_slice($result->value, 0, $length); for ($i = 0; $i < $length; ++$i) { $result->value[$i]&= $x->value[$i]; } return $this->_normalize($result); } /** * Logical Or * * @param \phpseclib\Math\BigInteger $x * @access public * @internal Implemented per a request by Lluis Pamies i Juarez * @return \phpseclib\Math\BigInteger */ function bitwise_or($x) { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $temp = new static(); $temp->value = gmp_or($this->value, $x->value); return $this->_normalize($temp); case self::MODE_BCMATH: $left = $this->toBytes(); $right = $x->toBytes(); $length = max(strlen($left), strlen($right)); $left = str_pad($left, $length, chr(0), STR_PAD_LEFT); $right = str_pad($right, $length, chr(0), STR_PAD_LEFT); return $this->_normalize(new static($left | $right, 256)); } $length = max(count($this->value), count($x->value)); $result = $this->copy(); $result->value = array_pad($result->value, $length, 0); $x->value = array_pad($x->value, $length, 0); for ($i = 0; $i < $length; ++$i) { $result->value[$i]|= $x->value[$i]; } return $this->_normalize($result); } /** * Logical Exclusive-Or * * @param \phpseclib\Math\BigInteger $x * @access public * @internal Implemented per a request by Lluis Pamies i Juarez * @return \phpseclib\Math\BigInteger */ function bitwise_xor($x) { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: $temp = new static(); $temp->value = gmp_xor(gmp_abs($this->value), gmp_abs($x->value)); return $this->_normalize($temp); case self::MODE_BCMATH: $left = $this->toBytes(); $right = $x->toBytes(); $length = max(strlen($left), strlen($right)); $left = str_pad($left, $length, chr(0), STR_PAD_LEFT); $right = str_pad($right, $length, chr(0), STR_PAD_LEFT); return $this->_normalize(new static($left ^ $right, 256)); } $length = max(count($this->value), count($x->value)); $result = $this->copy(); $result->is_negative = false; $result->value = array_pad($result->value, $length, 0); $x->value = array_pad($x->value, $length, 0); for ($i = 0; $i < $length; ++$i) { $result->value[$i]^= $x->value[$i]; } return $this->_normalize($result); } /** * Logical Not * * @access public * @internal Implemented per a request by Lluis Pamies i Juarez * @return \phpseclib\Math\BigInteger */ function bitwise_not() { // calculuate "not" without regard to $this->precision // (will always result in a smaller number. ie. ~1 isn't 1111 1110 - it's 0) $temp = $this->toBytes(); if ($temp == '') { return $this->_normalize(new static()); } $pre_msb = decbin(ord($temp[0])); $temp = ~$temp; $msb = decbin(ord($temp[0])); if (strlen($msb) == 8) { $msb = substr($msb, strpos($msb, '0')); } $temp[0] = chr(bindec($msb)); // see if we need to add extra leading 1's $current_bits = strlen($pre_msb) + 8 * strlen($temp) - 8; $new_bits = $this->precision - $current_bits; if ($new_bits <= 0) { return $this->_normalize(new static($temp, 256)); } // generate as many leading 1's as we need to. $leading_ones = chr((1 << ($new_bits & 0x7)) - 1) . str_repeat(chr(0xFF), $new_bits >> 3); $this->_base256_lshift($leading_ones, $current_bits); $temp = str_pad($temp, strlen($leading_ones), chr(0), STR_PAD_LEFT); return $this->_normalize(new static($leading_ones | $temp, 256)); } /** * Logical Right Shift * * Shifts BigInteger's by $shift bits, effectively dividing by 2**$shift. * * @param int $shift * @return \phpseclib\Math\BigInteger * @access public * @internal The only version that yields any speed increases is the internal version. */ function bitwise_rightShift($shift) { $temp = new static(); switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: static $two; if (!isset($two)) { $two = gmp_init('2'); } $temp->value = gmp_div_q($this->value, gmp_pow($two, $shift)); break; case self::MODE_BCMATH: $temp->value = bcdiv($this->value, bcpow('2', $shift, 0), 0); break; default: // could just replace _lshift with this, but then all _lshift() calls would need to be rewritten // and I don't want to do that... $temp->value = $this->value; $temp->_rshift($shift); } return $this->_normalize($temp); } /** * Logical Left Shift * * Shifts BigInteger's by $shift bits, effectively multiplying by 2**$shift. * * @param int $shift * @return \phpseclib\Math\BigInteger * @access public * @internal The only version that yields any speed increases is the internal version. */ function bitwise_leftShift($shift) { $temp = new static(); switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: static $two; if (!isset($two)) { $two = gmp_init('2'); } $temp->value = gmp_mul($this->value, gmp_pow($two, $shift)); break; case self::MODE_BCMATH: $temp->value = bcmul($this->value, bcpow('2', $shift, 0), 0); break; default: // could just replace _rshift with this, but then all _lshift() calls would need to be rewritten // and I don't want to do that... $temp->value = $this->value; $temp->_lshift($shift); } return $this->_normalize($temp); } /** * Logical Left Rotate * * Instead of the top x bits being dropped they're appended to the shifted bit string. * * @param int $shift * @return \phpseclib\Math\BigInteger * @access public */ function bitwise_leftRotate($shift) { $bits = $this->toBytes(); if ($this->precision > 0) { $precision = $this->precision; if (MATH_BIGINTEGER_MODE == self::MODE_BCMATH) { $mask = $this->bitmask->subtract(new static(1)); $mask = $mask->toBytes(); } else { $mask = $this->bitmask->toBytes(); } } else { $temp = ord($bits[0]); for ($i = 0; $temp >> $i; ++$i) { } $precision = 8 * strlen($bits) - 8 + $i; $mask = chr((1 << ($precision & 0x7)) - 1) . str_repeat(chr(0xFF), $precision >> 3); } if ($shift < 0) { $shift+= $precision; } $shift%= $precision; if (!$shift) { return $this->copy(); } $left = $this->bitwise_leftShift($shift); $left = $left->bitwise_and(new static($mask, 256)); $right = $this->bitwise_rightShift($precision - $shift); $result = MATH_BIGINTEGER_MODE != self::MODE_BCMATH ? $left->bitwise_or($right) : $left->add($right); return $this->_normalize($result); } /** * Logical Right Rotate * * Instead of the bottom x bits being dropped they're prepended to the shifted bit string. * * @param int $shift * @return \phpseclib\Math\BigInteger * @access public */ function bitwise_rightRotate($shift) { return $this->bitwise_leftRotate(-$shift); } /** * Generates a random BigInteger * * Byte length is equal to $length. Uses \phpseclib\Crypt\Random if it's loaded and mt_rand if it's not. * * @param int $size * @return \phpseclib\Math\BigInteger * @access private */ function _random_number_helper($size) { if (class_exists('\phpseclib\Crypt\Random')) { $random = Random::string($size); } else { $random = ''; if ($size & 1) { $random.= chr(mt_rand(0, 255)); } $blocks = $size >> 1; for ($i = 0; $i < $blocks; ++$i) { // mt_rand(-2147483648, 0x7FFFFFFF) always produces -2147483648 on some systems $random.= pack('n', mt_rand(0, 0xFFFF)); } } return new static($random, 256); } /** * Generate a random number * * Returns a random number between $min and $max where $min and $max * can be defined using one of the two methods: * * $min->random($max) * $max->random($min) * * @param \phpseclib\Math\BigInteger $arg1 * @param \phpseclib\Math\BigInteger $arg2 * @return \phpseclib\Math\BigInteger * @access public * @internal The API for creating random numbers used to be $a->random($min, $max), where $a was a BigInteger object. * That method is still supported for BC purposes. */ function random($arg1, $arg2 = false) { if ($arg1 === false) { return false; } if ($arg2 === false) { $max = $arg1; $min = $this; } else { $min = $arg1; $max = $arg2; } $compare = $max->compare($min); if (!$compare) { return $this->_normalize($min); } elseif ($compare < 0) { // if $min is bigger then $max, swap $min and $max $temp = $max; $max = $min; $min = $temp; } static $one; if (!isset($one)) { $one = new static(1); } $max = $max->subtract($min->subtract($one)); $size = strlen(ltrim($max->toBytes(), chr(0))); /* doing $random % $max doesn't work because some numbers will be more likely to occur than others. eg. if $max is 140 and $random's max is 255 then that'd mean both $random = 5 and $random = 145 would produce 5 whereas the only value of random that could produce 139 would be 139. ie. not all numbers would be equally likely. some would be more likely than others. creating a whole new random number until you find one that is within the range doesn't work because, for sufficiently small ranges, the likelihood that you'd get a number within that range would be pretty small. eg. with $random's max being 255 and if your $max being 1 the probability would be pretty high that $random would be greater than $max. phpseclib works around this using the technique described here: http://crypto.stackexchange.com/questions/5708/creating-a-small-number-from-a-cryptographically-secure-random-string */ $random_max = new static(chr(1) . str_repeat("\0", $size), 256); $random = $this->_random_number_helper($size); list($max_multiple) = $random_max->divide($max); $max_multiple = $max_multiple->multiply($max); while ($random->compare($max_multiple) >= 0) { $random = $random->subtract($max_multiple); $random_max = $random_max->subtract($max_multiple); $random = $random->bitwise_leftShift(8); $random = $random->add($this->_random_number_helper(1)); $random_max = $random_max->bitwise_leftShift(8); list($max_multiple) = $random_max->divide($max); $max_multiple = $max_multiple->multiply($max); } list(, $random) = $random->divide($max); return $this->_normalize($random->add($min)); } /** * Generate a random prime number. * * If there's not a prime within the given range, false will be returned. * If more than $timeout seconds have elapsed, give up and return false. * * @param \phpseclib\Math\BigInteger $arg1 * @param \phpseclib\Math\BigInteger $arg2 * @param int $timeout * @return Math_BigInteger|false * @access public * @internal See {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap4.pdf#page=15 HAC 4.44}. */ function randomPrime($arg1, $arg2 = false, $timeout = false) { if ($arg1 === false) { return false; } if ($arg2 === false) { $max = $arg1; $min = $this; } else { $min = $arg1; $max = $arg2; } $compare = $max->compare($min); if (!$compare) { return $min->isPrime() ? $min : false; } elseif ($compare < 0) { // if $min is bigger then $max, swap $min and $max $temp = $max; $max = $min; $min = $temp; } $length = $max->getLength(); if ($length > 8196) { user_error('Generation of random prime numbers larger than 8196 has been disabled'); } static $one, $two; if (!isset($one)) { $one = new static(1); $two = new static(2); } $start = time(); $x = $this->random($min, $max); // gmp_nextprime() requires PHP 5 >= 5.2.0 per . if (MATH_BIGINTEGER_MODE == self::MODE_GMP && extension_loaded('gmp')) { $p = new static(); $p->value = gmp_nextprime($x->value); if ($p->compare($max) <= 0) { return $p; } if (!$min->equals($x)) { $x = $x->subtract($one); } return $x->randomPrime($min, $x); } if ($x->equals($two)) { return $x; } $x->_make_odd(); if ($x->compare($max) > 0) { // if $x > $max then $max is even and if $min == $max then no prime number exists between the specified range if ($min->equals($max)) { return false; } $x = $min->copy(); $x->_make_odd(); } $initial_x = $x->copy(); while (true) { if ($timeout !== false && time() - $start > $timeout) { return false; } if ($x->isPrime()) { return $x; } $x = $x->add($two); if ($x->compare($max) > 0) { $x = $min->copy(); if ($x->equals($two)) { return $x; } $x->_make_odd(); } if ($x->equals($initial_x)) { return false; } } } /** * Make the current number odd * * If the current number is odd it'll be unchanged. If it's even, one will be added to it. * * @see self::randomPrime() * @access private */ function _make_odd() { switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: gmp_setbit($this->value, 0); break; case self::MODE_BCMATH: if ($this->value[strlen($this->value) - 1] % 2 == 0) { $this->value = bcadd($this->value, '1'); } break; default: $this->value[0] |= 1; } } /** * Checks a numer to see if it's prime * * Assuming the $t parameter is not set, this function has an error rate of 2**-80. The main motivation for the * $t parameter is distributability. BigInteger::randomPrime() can be distributed across multiple pageloads * on a website instead of just one. * * @param \phpseclib\Math\BigInteger $t * @return bool * @access public * @internal Uses the * {@link http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test Miller-Rabin primality test}. See * {@link http://www.cacr.math.uwaterloo.ca/hac/about/chap4.pdf#page=8 HAC 4.24}. */ function isPrime($t = false) { $length = $this->getLength(); // OpenSSL limits RSA keys to 16384 bits. The length of an RSA key is equal to the length of the modulo, which is // produced by multiplying the primes p and q by one another. The largest number two 8196 bit primes can produce is // a 16384 bit number so, basically, 8196 bit primes are the largest OpenSSL will generate and if that's the largest // that it'll generate it also stands to reason that that's the largest you'll be able to test primality on if ($length > 8196) { user_error('Primality testing is not supported for numbers larger than 8196 bits'); } if (!$t) { // see HAC 4.49 "Note (controlling the error probability)" // @codingStandardsIgnoreStart if ($length >= 163) { $t = 2; } // floor(1300 / 8) else if ($length >= 106) { $t = 3; } // floor( 850 / 8) else if ($length >= 81 ) { $t = 4; } // floor( 650 / 8) else if ($length >= 68 ) { $t = 5; } // floor( 550 / 8) else if ($length >= 56 ) { $t = 6; } // floor( 450 / 8) else if ($length >= 50 ) { $t = 7; } // floor( 400 / 8) else if ($length >= 43 ) { $t = 8; } // floor( 350 / 8) else if ($length >= 37 ) { $t = 9; } // floor( 300 / 8) else if ($length >= 31 ) { $t = 12; } // floor( 250 / 8) else if ($length >= 25 ) { $t = 15; } // floor( 200 / 8) else if ($length >= 18 ) { $t = 18; } // floor( 150 / 8) else { $t = 27; } // @codingStandardsIgnoreEnd } // ie. gmp_testbit($this, 0) // ie. isEven() or !isOdd() switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: return gmp_prob_prime($this->value, $t) != 0; case self::MODE_BCMATH: if ($this->value === '2') { return true; } if ($this->value[strlen($this->value) - 1] % 2 == 0) { return false; } break; default: if ($this->value == array(2)) { return true; } if (~$this->value[0] & 1) { return false; } } static $primes, $zero, $one, $two; if (!isset($primes)) { $primes = array( 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997 ); if (MATH_BIGINTEGER_MODE != self::MODE_INTERNAL) { for ($i = 0; $i < count($primes); ++$i) { $primes[$i] = new static($primes[$i]); } } $zero = new static(); $one = new static(1); $two = new static(2); } if ($this->equals($one)) { return false; } // see HAC 4.4.1 "Random search for probable primes" if (MATH_BIGINTEGER_MODE != self::MODE_INTERNAL) { foreach ($primes as $prime) { list(, $r) = $this->divide($prime); if ($r->equals($zero)) { return $this->equals($prime); } } } else { $value = $this->value; foreach ($primes as $prime) { list(, $r) = $this->_divide_digit($value, $prime); if (!$r) { return count($value) == 1 && $value[0] == $prime; } } } $n = $this->copy(); $n_1 = $n->subtract($one); $n_2 = $n->subtract($two); $r = $n_1->copy(); $r_value = $r->value; // ie. $s = gmp_scan1($n, 0) and $r = gmp_div_q($n, gmp_pow(gmp_init('2'), $s)); if (MATH_BIGINTEGER_MODE == self::MODE_BCMATH) { $s = 0; // if $n was 1, $r would be 0 and this would be an infinite loop, hence our $this->equals($one) check earlier while ($r->value[strlen($r->value) - 1] % 2 == 0) { $r->value = bcdiv($r->value, '2', 0); ++$s; } } else { for ($i = 0, $r_length = count($r_value); $i < $r_length; ++$i) { $temp = ~$r_value[$i] & 0xFFFFFF; for ($j = 1; ($temp >> $j) & 1; ++$j) { } if ($j != 25) { break; } } $s = 26 * $i + $j; $r->_rshift($s); } for ($i = 0; $i < $t; ++$i) { $a = $this->random($two, $n_2); $y = $a->modPow($r, $n); if (!$y->equals($one) && !$y->equals($n_1)) { for ($j = 1; $j < $s && !$y->equals($n_1); ++$j) { $y = $y->modPow($two, $n); if ($y->equals($one)) { return false; } } if (!$y->equals($n_1)) { return false; } } } return true; } /** * Logical Left Shift * * Shifts BigInteger's by $shift bits. * * @param int $shift * @access private */ function _lshift($shift) { if ($shift == 0) { return; } $num_digits = (int) ($shift / self::$base); $shift %= self::$base; $shift = 1 << $shift; $carry = 0; for ($i = 0; $i < count($this->value); ++$i) { $temp = $this->value[$i] * $shift + $carry; $carry = self::$base === 26 ? intval($temp / 0x4000000) : ($temp >> 31); $this->value[$i] = (int) ($temp - $carry * self::$baseFull); } if ($carry) { $this->value[count($this->value)] = $carry; } while ($num_digits--) { array_unshift($this->value, 0); } } /** * Logical Right Shift * * Shifts BigInteger's by $shift bits. * * @param int $shift * @access private */ function _rshift($shift) { if ($shift == 0) { return; } $num_digits = (int) ($shift / self::$base); $shift %= self::$base; $carry_shift = self::$base - $shift; $carry_mask = (1 << $shift) - 1; if ($num_digits) { $this->value = array_slice($this->value, $num_digits); } $carry = 0; for ($i = count($this->value) - 1; $i >= 0; --$i) { $temp = $this->value[$i] >> $shift | $carry; $carry = ($this->value[$i] & $carry_mask) << $carry_shift; $this->value[$i] = $temp; } $this->value = $this->_trim($this->value); } /** * Normalize * * Removes leading zeros and truncates (if necessary) to maintain the appropriate precision * * @param \phpseclib\Math\BigInteger $result * @return \phpseclib\Math\BigInteger * @see self::_trim() * @access private */ function _normalize($result) { $result->precision = $this->precision; $result->bitmask = $this->bitmask; switch (MATH_BIGINTEGER_MODE) { case self::MODE_GMP: if ($this->bitmask !== false) { $flip = gmp_cmp($result->value, gmp_init(0)) < 0; if ($flip) { $result->value = gmp_neg($result->value); } $result->value = gmp_and($result->value, $result->bitmask->value); if ($flip) { $result->value = gmp_neg($result->value); } } return $result; case self::MODE_BCMATH: if (!empty($result->bitmask->value)) { $result->value = bcmod($result->value, $result->bitmask->value); } return $result; } $value = &$result->value; if (!count($value)) { $result->is_negative = false; return $result; } $value = $this->_trim($value); if (!empty($result->bitmask->value)) { $length = min(count($value), count($this->bitmask->value)); $value = array_slice($value, 0, $length); for ($i = 0; $i < $length; ++$i) { $value[$i] = $value[$i] & $this->bitmask->value[$i]; } } return $result; } /** * Trim * * Removes leading zeros * * @param array $value * @return \phpseclib\Math\BigInteger * @access private */ function _trim($value) { for ($i = count($value) - 1; $i >= 0; --$i) { if ($value[$i]) { break; } unset($value[$i]); } return $value; } /** * Array Repeat * * @param array $input * @param mixed $multiplier * @return array * @access private */ function _array_repeat($input, $multiplier) { return ($multiplier) ? array_fill(0, $multiplier, $input) : array(); } /** * Logical Left Shift * * Shifts binary strings $shift bits, essentially multiplying by 2**$shift. * * @param string $x (by reference) * @param int $shift * @return string * @access private */ function _base256_lshift(&$x, $shift) { if ($shift == 0) { return; } $num_bytes = $shift >> 3; // eg. floor($shift/8) $shift &= 7; // eg. $shift % 8 $carry = 0; for ($i = strlen($x) - 1; $i >= 0; --$i) { $temp = ord($x[$i]) << $shift | $carry; $x[$i] = chr($temp); $carry = $temp >> 8; } $carry = ($carry != 0) ? chr($carry) : ''; $x = $carry . $x . str_repeat(chr(0), $num_bytes); } /** * Logical Right Shift * * Shifts binary strings $shift bits, essentially dividing by 2**$shift and returning the remainder. * * @param string $x (by referenc) * @param int $shift * @return string * @access private */ function _base256_rshift(&$x, $shift) { if ($shift == 0) { $x = ltrim($x, chr(0)); return ''; } $num_bytes = $shift >> 3; // eg. floor($shift/8) $shift &= 7; // eg. $shift % 8 $remainder = ''; if ($num_bytes) { $start = $num_bytes > strlen($x) ? -strlen($x) : -$num_bytes; $remainder = substr($x, $start); $x = substr($x, 0, -$num_bytes); } $carry = 0; $carry_shift = 8 - $shift; for ($i = 0; $i < strlen($x); ++$i) { $temp = (ord($x[$i]) >> $shift) | $carry; $carry = (ord($x[$i]) << $carry_shift) & 0xFF; $x[$i] = chr($temp); } $x = ltrim($x, chr(0)); $remainder = chr($carry >> $carry_shift) . $remainder; return ltrim($remainder, chr(0)); } // one quirk about how the following functions are implemented is that PHP defines N to be an unsigned long // at 32-bits, while java's longs are 64-bits. /** * Converts 32-bit integers to bytes. * * @param int $x * @return string * @access private */ function _int2bytes($x) { return ltrim(pack('N', $x), chr(0)); } /** * Converts bytes to 32-bit integers * * @param string $x * @return int * @access private */ function _bytes2int($x) { $temp = unpack('Nint', str_pad($x, 4, chr(0), STR_PAD_LEFT)); return $temp['int']; } /** * DER-encode an integer * * The ability to DER-encode integers is needed to create RSA public keys for use with OpenSSL * * @see self::modPow() * @access private * @param int $length * @return string */ function _encodeASN1Length($length) { if ($length <= 0x7F) { return chr($length); } $temp = ltrim(pack('N', $length), chr(0)); return pack('Ca*', 0x80 | strlen($temp), $temp); } /** * Single digit division * * Even if int64 is being used the division operator will return a float64 value * if the dividend is not evenly divisible by the divisor. Since a float64 doesn't * have the precision of int64 this is a problem so, when int64 is being used, * we'll guarantee that the dividend is divisible by first subtracting the remainder. * * @access private * @param int $x * @param int $y * @return int */ function _safe_divide($x, $y) { if (self::$base === 26) { return (int) ($x / $y); } // self::$base === 31 return ($x - ($x % $y)) / $y; } } vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent/Identity.php000064400000014136147400355670021235 0ustar00 * @copyright 2009 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net * @internal See http://api.libssh.org/rfc/PROTOCOL.agent */ namespace phpseclib\System\SSH\Agent; use phpseclib\System\SSH\Agent; /** * Pure-PHP ssh-agent client identity object * * Instantiation should only be performed by \phpseclib\System\SSH\Agent class. * This could be thought of as implementing an interface that phpseclib\Crypt\RSA * implements. ie. maybe a Net_SSH_Auth_PublicKey interface or something. * The methods in this interface would be getPublicKey and sign since those are the * methods phpseclib looks for to perform public key authentication. * * @package SSH\Agent * @author Jim Wigginton * @access internal */ class Identity { /**@+ * Signature Flags * * See https://tools.ietf.org/html/draft-miller-ssh-agent-00#section-5.3 * * @access private */ const SSH_AGENT_RSA2_256 = 2; const SSH_AGENT_RSA2_512 = 4; /**#@-*/ /** * Key Object * * @var \phpseclib\Crypt\RSA * @access private * @see self::getPublicKey() */ var $key; /** * Key Blob * * @var string * @access private * @see self::sign() */ var $key_blob; /** * Socket Resource * * @var resource * @access private * @see self::sign() */ var $fsock; /** * Signature flags * * @var int * @access private * @see self::sign() * @see self::setHash() */ var $flags = 0; /** * Default Constructor. * * @param resource $fsock * @return \phpseclib\System\SSH\Agent\Identity * @access private */ function __construct($fsock) { $this->fsock = $fsock; } /** * Set Public Key * * Called by \phpseclib\System\SSH\Agent::requestIdentities() * * @param \phpseclib\Crypt\RSA $key * @access private */ function setPublicKey($key) { $this->key = $key; $this->key->setPublicKey(); } /** * Set Public Key * * Called by \phpseclib\System\SSH\Agent::requestIdentities(). The key blob could be extracted from $this->key * but this saves a small amount of computation. * * @param string $key_blob * @access private */ function setPublicKeyBlob($key_blob) { $this->key_blob = $key_blob; } /** * Get Public Key * * Wrapper for $this->key->getPublicKey() * * @param int $format optional * @return mixed * @access public */ function getPublicKey($format = null) { return !isset($format) ? $this->key->getPublicKey() : $this->key->getPublicKey($format); } /** * Set Signature Mode * * Doesn't do anything as ssh-agent doesn't let you pick and choose the signature mode. ie. * ssh-agent's only supported mode is \phpseclib\Crypt\RSA::SIGNATURE_PKCS1 * * @param int $mode * @access public */ function setSignatureMode($mode) { } /** * Set Hash * * ssh-agent doesn't support using hashes for RSA other than SHA1 * * @param string $hash * @access public */ function setHash($hash) { $this->flags = 0; switch ($hash) { case 'sha1': break; case 'sha256': $this->flags = self::SSH_AGENT_RSA2_256; break; case 'sha512': $this->flags = self::SSH_AGENT_RSA2_512; break; default: user_error('The only supported hashes for RSA are sha1, sha256 and sha512'); } } /** * Create a signature * * See "2.6.2 Protocol 2 private key signature request" * * @param string $message * @return string * @access public */ function sign($message) { // the last parameter (currently 0) is for flags and ssh-agent only defines one flag (for ssh-dss): SSH_AGENT_OLD_SIGNATURE $packet = pack('CNa*Na*N', Agent::SSH_AGENTC_SIGN_REQUEST, strlen($this->key_blob), $this->key_blob, strlen($message), $message, $this->flags); $packet = pack('Na*', strlen($packet), $packet); if (strlen($packet) != fputs($this->fsock, $packet)) { user_error('Connection closed during signing'); return false; } $temp = fread($this->fsock, 4); if (strlen($temp) != 4) { user_error('Connection closed during signing'); return false; } $length = current(unpack('N', $temp)); $type = ord(fread($this->fsock, 1)); if ($type != Agent::SSH_AGENT_SIGN_RESPONSE) { user_error('Unable to retrieve signature'); return false; } $signature_blob = fread($this->fsock, $length - 1); if (strlen($signature_blob) != $length - 1) { user_error('Connection closed during signing'); return false; } $length = current(unpack('N', $this->_string_shift($signature_blob, 4))); if ($length != strlen($signature_blob)) { user_error('Malformed signature blob'); } $length = current(unpack('N', $this->_string_shift($signature_blob, 4))); if ($length > strlen($signature_blob) + 4) { user_error('Malformed signature blob'); } $type = $this->_string_shift($signature_blob, $length); $this->_string_shift($signature_blob, 4); return $signature_blob; } /** * String Shift * * Inspired by array_shift * * @param string $string * @param int $index * @return string * @access private */ function _string_shift(&$string, $index = 1) { $substr = substr($string, 0, $index); $string = substr($string, $index); return $substr; } } vendor/phpseclib/phpseclib/phpseclib/System/SSH/Agent.php000064400000024711147400355670017444 0ustar00 * login('username', $agent)) { * exit('Login Failed'); * } * * echo $ssh->exec('pwd'); * echo $ssh->exec('ls -la'); * ?> * * * @category System * @package SSH\Agent * @author Jim Wigginton * @copyright 2014 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net * @internal See http://api.libssh.org/rfc/PROTOCOL.agent */ namespace phpseclib\System\SSH; use phpseclib\Crypt\RSA; use phpseclib\System\SSH\Agent\Identity; /** * Pure-PHP ssh-agent client identity factory * * requestIdentities() method pumps out \phpseclib\System\SSH\Agent\Identity objects * * @package SSH\Agent * @author Jim Wigginton * @access public */ class Agent { /**#@+ * Message numbers * * @access private */ // to request SSH1 keys you have to use SSH_AGENTC_REQUEST_RSA_IDENTITIES (1) const SSH_AGENTC_REQUEST_IDENTITIES = 11; // this is the SSH2 response; the SSH1 response is SSH_AGENT_RSA_IDENTITIES_ANSWER (2). const SSH_AGENT_IDENTITIES_ANSWER = 12; // the SSH1 request is SSH_AGENTC_RSA_CHALLENGE (3) const SSH_AGENTC_SIGN_REQUEST = 13; // the SSH1 response is SSH_AGENT_RSA_RESPONSE (4) const SSH_AGENT_SIGN_RESPONSE = 14; /**#@-*/ /**@+ * Agent forwarding status * * @access private */ // no forwarding requested and not active const FORWARD_NONE = 0; // request agent forwarding when opportune const FORWARD_REQUEST = 1; // forwarding has been request and is active const FORWARD_ACTIVE = 2; /**#@-*/ /** * Unused */ const SSH_AGENT_FAILURE = 5; /** * Socket Resource * * @var resource * @access private */ var $fsock; /** * Agent forwarding status * * @access private */ var $forward_status = self::FORWARD_NONE; /** * Buffer for accumulating forwarded authentication * agent data arriving on SSH data channel destined * for agent unix socket * * @access private */ var $socket_buffer = ''; /** * Tracking the number of bytes we are expecting * to arrive for the agent socket on the SSH data * channel */ var $expected_bytes = 0; /** * Default Constructor * * @return \phpseclib\System\SSH\Agent * @access public */ function __construct($address = null) { if (!$address) { switch (true) { case isset($_SERVER['SSH_AUTH_SOCK']): $address = $_SERVER['SSH_AUTH_SOCK']; break; case isset($_ENV['SSH_AUTH_SOCK']): $address = $_ENV['SSH_AUTH_SOCK']; break; default: user_error('SSH_AUTH_SOCK not found'); return false; } } if (in_array('unix', stream_get_transports())) { $this->fsock = fsockopen('unix://' . $address, 0, $errno, $errstr); if (!$this->fsock) { user_error("Unable to connect to ssh-agent (Error $errno: $errstr)"); } } else { if (substr($address, 0, 9) != '\\\\.\\pipe\\' || strpos(substr($address, 9), '\\') !== false) { user_error('Address is not formatted as a named pipe should be'); } else { $this->fsock = fopen($address, 'r+b'); if (!$this->fsock) { user_error('Unable to open address'); } } } } /** * Request Identities * * See "2.5.2 Requesting a list of protocol 2 keys" * Returns an array containing zero or more \phpseclib\System\SSH\Agent\Identity objects * * @return array * @access public */ function requestIdentities() { if (!$this->fsock) { return array(); } $packet = pack('NC', 1, self::SSH_AGENTC_REQUEST_IDENTITIES); if (strlen($packet) != fputs($this->fsock, $packet)) { user_error('Connection closed while requesting identities'); return array(); } $temp = fread($this->fsock, 4); if (strlen($temp) != 4) { user_error('Connection closed while requesting identities'); return array(); } $length = current(unpack('N', $temp)); $type = ord(fread($this->fsock, 1)); if ($type != self::SSH_AGENT_IDENTITIES_ANSWER) { user_error('Unable to request identities'); return array(); } $identities = array(); $temp = fread($this->fsock, 4); if (strlen($temp) != 4) { user_error('Connection closed while requesting identities'); return array(); } $keyCount = current(unpack('N', $temp)); for ($i = 0; $i < $keyCount; $i++) { $temp = fread($this->fsock, 4); if (strlen($temp) != 4) { user_error('Connection closed while requesting identities'); return array(); } $length = current(unpack('N', $temp)); $key_blob = fread($this->fsock, $length); if (strlen($key_blob) != $length) { user_error('Connection closed while requesting identities'); return array(); } $key_str = 'ssh-rsa ' . base64_encode($key_blob); $temp = fread($this->fsock, 4); if (strlen($temp) != 4) { user_error('Connection closed while requesting identities'); return array(); } $length = current(unpack('N', $temp)); if ($length) { $temp = fread($this->fsock, $length); if (strlen($temp) != $length) { user_error('Connection closed while requesting identities'); return array(); } $key_str.= ' ' . $temp; } $length = current(unpack('N', substr($key_blob, 0, 4))); $key_type = substr($key_blob, 4, $length); switch ($key_type) { case 'ssh-rsa': $key = new RSA(); $key->loadKey($key_str); break; case 'ssh-dss': // not currently supported break; } // resources are passed by reference by default if (isset($key)) { $identity = new Identity($this->fsock); $identity->setPublicKey($key); $identity->setPublicKeyBlob($key_blob); $identities[] = $identity; unset($key); } } return $identities; } /** * Signal that agent forwarding should * be requested when a channel is opened * * @return bool * @access public */ function startSSHForwarding() { if ($this->forward_status == self::FORWARD_NONE) { $this->forward_status = self::FORWARD_REQUEST; } } /** * Request agent forwarding of remote server * * @param Net_SSH2 $ssh * @return bool * @access private */ function _request_forwarding($ssh) { $request_channel = $ssh->_get_open_channel(); if ($request_channel === false) { return false; } $packet = pack( 'CNNa*C', NET_SSH2_MSG_CHANNEL_REQUEST, $ssh->server_channels[$request_channel], strlen('auth-agent-req@openssh.com'), 'auth-agent-req@openssh.com', 1 ); $ssh->channel_status[$request_channel] = NET_SSH2_MSG_CHANNEL_REQUEST; if (!$ssh->_send_binary_packet($packet)) { return false; } $response = $ssh->_get_channel_packet($request_channel); if ($response === false) { return false; } $ssh->channel_status[$request_channel] = NET_SSH2_MSG_CHANNEL_OPEN; $this->forward_status = self::FORWARD_ACTIVE; return true; } /** * On successful channel open * * This method is called upon successful channel * open to give the SSH Agent an opportunity * to take further action. i.e. request agent forwarding * * @param Net_SSH2 $ssh * @access private */ function _on_channel_open($ssh) { if ($this->forward_status == self::FORWARD_REQUEST) { $this->_request_forwarding($ssh); } } /** * Forward data to SSH Agent and return data reply * * @param string $data * @return data from SSH Agent * @access private */ function _forward_data($data) { if ($this->expected_bytes > 0) { $this->socket_buffer.= $data; $this->expected_bytes -= strlen($data); } else { $agent_data_bytes = current(unpack('N', $data)); $current_data_bytes = strlen($data); $this->socket_buffer = $data; if ($current_data_bytes != $agent_data_bytes + 4) { $this->expected_bytes = ($agent_data_bytes + 4) - $current_data_bytes; return false; } } if (strlen($this->socket_buffer) != fwrite($this->fsock, $this->socket_buffer)) { user_error('Connection closed attempting to forward data to SSH agent'); return false; } $this->socket_buffer = ''; $this->expected_bytes = 0; $temp = fread($this->fsock, 4); if (strlen($temp) != 4) { user_error('Connection closed while reading data response'); return false; } $agent_reply_bytes = current(unpack('N', $temp)); $agent_reply_data = fread($this->fsock, $agent_reply_bytes); if (strlen($agent_reply_data) != $agent_reply_bytes) { user_error('Connection closed while reading data response'); return false; } $agent_reply_data = current(unpack('a*', $agent_reply_data)); return pack('Na*', $agent_reply_bytes, $agent_reply_data); } } vendor/phpseclib/phpseclib/phpseclib/bootstrap.php000064400000001074147400355670016477 0ustar00> php.ini - echo extension_dir=ext >> php.ini - echo extension=php_openssl.dll >> php.ini - echo extension=php_gmp.dll >> php.ini - cd C:\projects\phpseclib - SET PATH=C:\tools\php56;%PATH% - php.exe -r "readfile('http://getcomposer.org/installer');" | php.exe - php.exe composer.phar install --prefer-source --no-interaction test_script: - cd C:\projects\phpseclib - vendor\bin\phpunit.bat tests/Windows32Test.phpvendor/paragonie/random_compat/LICENSE000064400000002112147400355670013645 0ustar00The MIT License (MIT) Copyright (c) 2015 Paragon Initiative Enterprises Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor/paragonie/random_compat/lib/cast_to_int.php000064400000005237147400355670016440 0ustar00 operators might accidentally let a float * through. * * @param int|float $number The number we want to convert to an int * @param bool $fail_open Set to true to not throw an exception * * @return float|int * @psalm-suppress InvalidReturnType * * @throws TypeError */ function RandomCompat_intval($number, $fail_open = false) { if (is_int($number) || is_float($number)) { $number += 0; } elseif (is_numeric($number)) { /** @psalm-suppress InvalidOperand */ $number += 0; } /** @var int|float $number */ if ( is_float($number) && $number > ~PHP_INT_MAX && $number < PHP_INT_MAX ) { $number = (int) $number; } if (is_int($number)) { return (int) $number; } elseif (!$fail_open) { throw new TypeError( 'Expected an integer.' ); } return $number; } } vendor/paragonie/random_compat/lib/random_bytes_com_dotnet.php000064400000005705147400355670021033 0ustar00GetRandom($bytes, 0)); if (RandomCompat_strlen($buf) >= $bytes) { /** * Return our random entropy buffer here: */ return (string) RandomCompat_substr($buf, 0, $bytes); } ++$execCount; } while ($execCount < $bytes); /** * If we reach here, PHP has failed us. */ throw new Exception( 'Could not gather sufficient random data' ); } } vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php000064400000005554147400355670022215 0ustar00 2147483647) { for ($i = 0; $i < $bytes; $i += 1073741824) { $n = ($bytes - $i) > 1073741824 ? 1073741824 : $bytes - $i; $buf .= Sodium::randombytes_buf((int) $n); } } else { $buf .= Sodium::randombytes_buf((int) $bytes); } if (is_string($buf)) { if (RandomCompat_strlen($buf) === $bytes) { return $buf; } } /** * If we reach here, PHP has failed us. */ throw new Exception( 'Could not gather sufficient random data' ); } } vendor/paragonie/random_compat/lib/random.php000064400000017451147400355670015413 0ustar00= 70000) { return; } if (!defined('RANDOM_COMPAT_READ_BUFFER')) { define('RANDOM_COMPAT_READ_BUFFER', 8); } $RandomCompatDIR = dirname(__FILE__); require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'byte_safe_strings.php'; require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'cast_to_int.php'; require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'error_polyfill.php'; if (!is_callable('random_bytes')) { /** * PHP 5.2.0 - 5.6.x way to implement random_bytes() * * We use conditional statements here to define the function in accordance * to the operating environment. It's a micro-optimization. * * In order of preference: * 1. Use libsodium if available. * 2. fread() /dev/urandom if available (never on Windows) * 3. mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM) * 4. COM('CAPICOM.Utilities.1')->GetRandom() * * See RATIONALE.md for our reasoning behind this particular order */ if (extension_loaded('libsodium')) { // See random_bytes_libsodium.php if (PHP_VERSION_ID >= 50300 && is_callable('\\Sodium\\randombytes_buf')) { require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_libsodium.php'; } elseif (method_exists('Sodium', 'randombytes_buf')) { require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_libsodium_legacy.php'; } } /** * Reading directly from /dev/urandom: */ if (DIRECTORY_SEPARATOR === '/') { // DIRECTORY_SEPARATOR === '/' on Unix-like OSes -- this is a fast // way to exclude Windows. $RandomCompatUrandom = true; $RandomCompat_basedir = ini_get('open_basedir'); if (!empty($RandomCompat_basedir)) { $RandomCompat_open_basedir = explode( PATH_SEPARATOR, strtolower($RandomCompat_basedir) ); $RandomCompatUrandom = (array() !== array_intersect( array('/dev', '/dev/', '/dev/urandom'), $RandomCompat_open_basedir )); $RandomCompat_open_basedir = null; } if ( !is_callable('random_bytes') && $RandomCompatUrandom && @is_readable('/dev/urandom') ) { // Error suppression on is_readable() in case of an open_basedir // or safe_mode failure. All we care about is whether or not we // can read it at this point. If the PHP environment is going to // panic over trying to see if the file can be read in the first // place, that is not helpful to us here. // See random_bytes_dev_urandom.php require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_dev_urandom.php'; } // Unset variables after use $RandomCompat_basedir = null; } else { $RandomCompatUrandom = false; } /** * mcrypt_create_iv() * * We only want to use mcypt_create_iv() if: * * - random_bytes() hasn't already been defined * - the mcrypt extensions is loaded * - One of these two conditions is true: * - We're on Windows (DIRECTORY_SEPARATOR !== '/') * - We're not on Windows and /dev/urandom is readabale * (i.e. we're not in a chroot jail) * - Special case: * - If we're not on Windows, but the PHP version is between * 5.6.10 and 5.6.12, we don't want to use mcrypt. It will * hang indefinitely. This is bad. * - If we're on Windows, we want to use PHP >= 5.3.7 or else * we get insufficient entropy errors. */ if ( !is_callable('random_bytes') && // Windows on PHP < 5.3.7 is broken, but non-Windows is not known to be. (DIRECTORY_SEPARATOR === '/' || PHP_VERSION_ID >= 50307) && // Prevent this code from hanging indefinitely on non-Windows; // see https://bugs.php.net/bug.php?id=69833 ( DIRECTORY_SEPARATOR !== '/' || (PHP_VERSION_ID <= 50609 || PHP_VERSION_ID >= 50613) ) && extension_loaded('mcrypt') ) { // See random_bytes_mcrypt.php require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_mcrypt.php'; } $RandomCompatUrandom = null; /** * This is a Windows-specific fallback, for when the mcrypt extension * isn't loaded. */ if ( !is_callable('random_bytes') && extension_loaded('com_dotnet') && class_exists('COM') ) { $RandomCompat_disabled_classes = preg_split( '#\s*,\s*#', strtolower(ini_get('disable_classes')) ); if (!in_array('com', $RandomCompat_disabled_classes)) { try { $RandomCompatCOMtest = new COM('CAPICOM.Utilities.1'); /** @psalm-suppress TypeDoesNotContainType */ if (is_callable(array($RandomCompatCOMtest, 'GetRandom'))) { // See random_bytes_com_dotnet.php require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_bytes_com_dotnet.php'; } } catch (com_exception $e) { // Don't try to use it. } } $RandomCompat_disabled_classes = null; $RandomCompatCOMtest = null; } /** * throw new Exception */ if (!is_callable('random_bytes')) { /** * We don't have any more options, so let's throw an exception right now * and hope the developer won't let it fail silently. * * @param mixed $length * @psalm-suppress InvalidReturnType * @throws Exception * @return string */ function random_bytes($length) { unset($length); // Suppress "variable not used" warnings. throw new Exception( 'There is no suitable CSPRNG installed on your system' ); return ''; } } } if (!is_callable('random_int')) { require_once $RandomCompatDIR.DIRECTORY_SEPARATOR.'random_int.php'; } $RandomCompatDIR = null; vendor/paragonie/random_compat/lib/random_bytes_libsodium.php000064400000005601147400355670020662 0ustar00 2147483647) { $buf = ''; for ($i = 0; $i < $bytes; $i += 1073741824) { $n = ($bytes - $i) > 1073741824 ? 1073741824 : $bytes - $i; $buf .= \Sodium\randombytes_buf($n); } } else { /** @var string|bool $buf */ $buf = \Sodium\randombytes_buf($bytes); } if (is_string($buf)) { if (RandomCompat_strlen($buf) === $bytes) { return $buf; } } /** * If we reach here, PHP has failed us. */ throw new Exception( 'Could not gather sufficient random data' ); } } vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php000064400000014466147400355670021207 0ustar00 $st */ $st = fstat($fp); if (($st['mode'] & 0170000) !== 020000) { fclose($fp); $fp = false; } } } if (is_resource($fp)) { /** * stream_set_read_buffer() does not exist in HHVM * * If we don't set the stream's read buffer to 0, PHP will * internally buffer 8192 bytes, which can waste entropy * * stream_set_read_buffer returns 0 on success */ if (is_callable('stream_set_read_buffer')) { stream_set_read_buffer($fp, RANDOM_COMPAT_READ_BUFFER); } if (is_callable('stream_set_chunk_size')) { stream_set_chunk_size($fp, RANDOM_COMPAT_READ_BUFFER); } } } try { /** @var int $bytes */ $bytes = RandomCompat_intval($bytes); } catch (TypeError $ex) { throw new TypeError( 'random_bytes(): $bytes must be an integer' ); } if ($bytes < 1) { throw new Error( 'Length must be greater than 0' ); } /** * This if() block only runs if we managed to open a file handle * * It does not belong in an else {} block, because the above * if (empty($fp)) line is logic that should only be run once per * page load. */ if (is_resource($fp)) { /** * @var int */ $remaining = $bytes; /** * @var string|bool */ $buf = ''; /** * We use fread() in a loop to protect against partial reads */ do { /** * @var string|bool */ $read = fread($fp, $remaining); if (!is_string($read)) { /** * We cannot safely read from the file. Exit the * do-while loop and trigger the exception condition * * @var string|bool */ $buf = false; break; } /** * Decrease the number of bytes returned from remaining */ $remaining -= RandomCompat_strlen($read); /** * @var string $buf */ $buf .= $read; } while ($remaining > 0); /** * Is our result valid? * @var string|bool $buf */ if (is_string($buf)) { if (RandomCompat_strlen($buf) === $bytes) { /** * Return our random entropy buffer here: */ return $buf; } } } /** * If we reach here, PHP has failed us. */ throw new Exception( 'Error reading from source device' ); } } vendor/paragonie/random_compat/lib/byte_safe_strings.php000064400000014252147400355670017641 0ustar00 RandomCompat_strlen($binary_string)) { return ''; } return (string) mb_substr( (string) $binary_string, (int) $start, (int) $length, '8bit' ); } } else { /** * substr() implementation that isn't brittle to mbstring.func_overload * * This version just uses the default substr() * * @param string $binary_string * @param int $start * @param int|null $length (optional) * * @throws TypeError * * @return string */ function RandomCompat_substr($binary_string, $start, $length = null) { if (!is_string($binary_string)) { throw new TypeError( 'RandomCompat_substr(): First argument should be a string' ); } if (!is_int($start)) { throw new TypeError( 'RandomCompat_substr(): Second argument should be an integer' ); } if ($length !== null) { if (!is_int($length)) { throw new TypeError( 'RandomCompat_substr(): Third argument should be an integer, or omitted' ); } return (string) substr( (string )$binary_string, (int) $start, (int) $length ); } return (string) substr( (string) $binary_string, (int) $start ); } } } vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php000064400000005055147400355670020214 0ustar00 operators might accidentally let a float * through. */ try { /** @var int $min */ $min = RandomCompat_intval($min); } catch (TypeError $ex) { throw new TypeError( 'random_int(): $min must be an integer' ); } try { /** @var int $max */ $max = RandomCompat_intval($max); } catch (TypeError $ex) { throw new TypeError( 'random_int(): $max must be an integer' ); } /** * Now that we've verified our weak typing system has given us an integer, * let's validate the logic then we can move forward with generating random * integers along a given range. */ if ($min > $max) { throw new Error( 'Minimum value must be less than or equal to the maximum value' ); } if ($max === $min) { return (int) $min; } /** * Initialize variables to 0 * * We want to store: * $bytes => the number of random bytes we need * $mask => an integer bitmask (for use with the &) operator * so we can minimize the number of discards */ $attempts = $bits = $bytes = $mask = $valueShift = 0; /** @var int $attempts */ /** @var int $bits */ /** @var int $bytes */ /** @var int $mask */ /** @var int $valueShift */ /** * At this point, $range is a positive number greater than 0. It might * overflow, however, if $max - $min > PHP_INT_MAX. PHP will cast it to * a float and we will lose some precision. * * @var int|float $range */ $range = $max - $min; /** * Test for integer overflow: */ if (!is_int($range)) { /** * Still safely calculate wider ranges. * Provided by @CodesInChaos, @oittaa * * @ref https://gist.github.com/CodesInChaos/03f9ea0b58e8b2b8d435 * * We use ~0 as a mask in this case because it generates all 1s * * @ref https://eval.in/400356 (32-bit) * @ref http://3v4l.org/XX9r5 (64-bit) */ $bytes = PHP_INT_SIZE; /** @var int $mask */ $mask = ~0; } else { /** * $bits is effectively ceil(log($range, 2)) without dealing with * type juggling */ while ($range > 0) { if ($bits % 8 === 0) { ++$bytes; } ++$bits; $range >>= 1; /** @var int $mask */ $mask = $mask << 1 | 1; } $valueShift = $min; } /** @var int $val */ $val = 0; /** * Now that we have our parameters set up, let's begin generating * random integers until one falls between $min and $max */ /** @psalm-suppress RedundantCondition */ do { /** * The rejection probability is at most 0.5, so this corresponds * to a failure probability of 2^-128 for a working RNG */ if ($attempts > 128) { throw new Exception( 'random_int: RNG is broken - too many rejections' ); } /** * Let's grab the necessary number of random bytes */ $randomByteString = random_bytes($bytes); /** * Let's turn $randomByteString into an integer * * This uses bitwise operators (<< and |) to build an integer * out of the values extracted from ord() * * Example: [9F] | [6D] | [32] | [0C] => * 159 + 27904 + 3276800 + 201326592 => * 204631455 */ $val &= 0; for ($i = 0; $i < $bytes; ++$i) { $val |= ord($randomByteString[$i]) << ($i * 8); } /** @var int $val */ /** * Apply mask */ $val &= $mask; $val += $valueShift; ++$attempts; /** * If $val overflows to a floating point number, * ... or is larger than $max, * ... or smaller than $min, * then try again. */ } while (!is_int($val) || $val > $max || $val < $min); return (int) $val; } } vendor/paragonie/random_compat/lib/error_polyfill.php000064400000003176147400355670017175 0ustar00=5.2.0" }, "require-dev": { "phpunit/phpunit": "*" }, "suggest": { "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." }, "autoload": { "files": [ "lib/random.php" ] } } vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc000064400000000750147400355670021353 0ustar00-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32) iQEcBAABAgAGBQJWtW1hAAoJEGuXocKCZATaJf0H+wbZGgskK1dcRTsuVJl9IWip QwGw/qIKI280SD6/ckoUMxKDCJiFuPR14zmqnS36k7N5UNPnpdTJTS8T11jttSpg 1LCmgpbEIpgaTah+cELDqFCav99fS+bEiAL5lWDAHBTE/XPjGVCqeehyPYref4IW NDBIEsvnHPHPLsn6X5jq4+Yj5oUixgxaMPiR+bcO4Sh+RzOVB6i2D0upWfRXBFXA NNnsg9/zjvoC7ZW73y9uSH+dPJTt/Vgfeiv52/v41XliyzbUyLalf02GNPY+9goV JHG1ulEEBJOCiUD9cE1PUIJwHA/HqyhHIvV350YoEFiHl8iSwm7SiZu5kPjaq74= =B6+8 -----END PGP SIGNATURE----- vendor/paragonie/random_compat/dist/random_compat.phar.pubkey000064400000000327147400355670020606 0ustar00-----BEGIN PUBLIC KEY----- MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEd+wCqJDrx5B4OldM0dQE0ZMX+lx1ZWm pui0SUqD4G29L3NGsz9UhJ/0HjBdbnkhIK5xviT0X5vtjacF6ajgcCArbTB+ds+p +h7Q084NuSuIpNb6YPfoUFgC/CL9kAoc -----END PUBLIC KEY----- vendor/ralouphie/getallheaders/LICENSE000064400000002070147400355670013654 0ustar00The MIT License (MIT) Copyright (c) 2014 Ralph Khattar Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vendor/ralouphie/getallheaders/composer.json000064400000000572147400355670015376 0ustar00{ "name": "ralouphie/getallheaders", "description": "A polyfill for getallheaders.", "license": "MIT", "authors": [ { "name": "Ralph Khattar", "email": "ralph.khattar@gmail.com" } ], "require": { "php": ">=5.3" }, "require-dev": { "phpunit/phpunit": "~3.7.0", "satooshi/php-coveralls": ">=1.0" }, "autoload": { "files": ["src/getallheaders.php"] } }vendor/ralouphie/getallheaders/tests/GetAllHeadersTest.php000064400000007013147400355670020030 0ustar00 $val) { $_SERVER[$key] = $val; } $result = getallheaders(); $this->assertEquals($expected, $result, "Error testing $test_type works."); } public function testWorksData() { return array( array( 'normal case', array( 'Key-One' => 'foo', 'Key-Two' => 'bar', 'Another-Key-For-Testing' => 'baz' ), array( 'HTTP_KEY_ONE' => 'foo', 'HTTP_KEY_TWO' => 'bar', 'HTTP_ANOTHER_KEY_FOR_TESTING' => 'baz' ) ), array( 'Content-Type', array( 'Content-Type' => 'two' ), array( 'HTTP_CONTENT_TYPE' => 'one', 'CONTENT_TYPE' => 'two' ) ), array( 'Content-Length', array( 'Content-Length' => '222' ), array( 'CONTENT_LENGTH' => '222', 'HTTP_CONTENT_LENGTH' => '111' ) ), array( 'Content-Length (HTTP_CONTENT_LENGTH only)', array( 'Content-Length' => '111' ), array( 'HTTP_CONTENT_LENGTH' => '111' ) ), array( 'Content-MD5', array( 'Content-Md5' => 'aef123' ), array( 'CONTENT_MD5' => 'aef123', 'HTTP_CONTENT_MD5' => 'fea321' ) ), array( 'Content-MD5 (HTTP_CONTENT_MD5 only)', array( 'Content-Md5' => 'f123' ), array( 'HTTP_CONTENT_MD5' => 'f123' ) ), array( 'Authorization (normal)', array( 'Authorization' => 'testing' ), array( 'HTTP_AUTHORIZATION' => 'testing', ) ), array( 'Authorization (redirect)', array( 'Authorization' => 'testing redirect' ), array( 'REDIRECT_HTTP_AUTHORIZATION' => 'testing redirect', ) ), array( 'Authorization (PHP_AUTH_USER + PHP_AUTH_PW)', array( 'Authorization' => 'Basic ' . base64_encode('foo:bar') ), array( 'PHP_AUTH_USER' => 'foo', 'PHP_AUTH_PW' => 'bar' ) ), array( 'Authorization (PHP_AUTH_DIGEST)', array( 'Authorization' => 'example-digest' ), array( 'PHP_AUTH_DIGEST' => 'example-digest' ) ) ); } } vendor/ralouphie/getallheaders/phpunit.xml000064400000000641147400355670015062 0ustar00 ./tests src vendor/ralouphie/getallheaders/src/getallheaders.php000064400000003150147400355670016753 0ustar00 'Content-Type', 'CONTENT_LENGTH' => 'Content-Length', 'CONTENT_MD5' => 'Content-Md5', ); foreach ($_SERVER as $key => $value) { if (substr($key, 0, 5) === 'HTTP_') { $key = substr($key, 5); if (!isset($copy_server[$key]) || !isset($_SERVER[$key])) { $key = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $key)))); $headers[$key] = $value; } } elseif (isset($copy_server[$key])) { $headers[$copy_server[$key]] = $value; } } if (!isset($headers['Authorization'])) { if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) { $headers['Authorization'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION']; } elseif (isset($_SERVER['PHP_AUTH_USER'])) { $basic_pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : ''; $headers['Authorization'] = 'Basic ' . base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $basic_pass); } elseif (isset($_SERVER['PHP_AUTH_DIGEST'])) { $headers['Authorization'] = $_SERVER['PHP_AUTH_DIGEST']; } } return $headers; } } vendor/ralouphie/getallheaders/README.md000064400000001714147400355670014132 0ustar00getallheaders ============= PHP `getallheaders()` polyfill. Compatible with PHP >= 5.3. [![Build Status](https://travis-ci.org/ralouphie/getallheaders.svg?branch=master)](https://travis-ci.org/ralouphie/getallheaders) [![Coverage Status](https://coveralls.io/repos/ralouphie/getallheaders/badge.png?branch=master)](https://coveralls.io/r/ralouphie/getallheaders?branch=master) [![Latest Stable Version](https://poser.pugx.org/ralouphie/getallheaders/v/stable.png)](https://packagist.org/packages/ralouphie/getallheaders) [![Latest Unstable Version](https://poser.pugx.org/ralouphie/getallheaders/v/unstable.png)](https://packagist.org/packages/ralouphie/getallheaders) [![License](https://poser.pugx.org/ralouphie/getallheaders/license.png)](https://packagist.org/packages/ralouphie/getallheaders) This is a simple polyfill for [`getallheaders()`](http://www.php.net/manual/en/function.getallheaders.php). ## Install ``` composer require ralouphie/getallheaders ``` vendor/team-updraft/common-libs/composer.json000064400000001206147400355670015405 0ustar00{ "name": "team-updraft/common-libs", "description": "These are the common libs used across all of our projects", "type": "library", "license": "GPL-3.0-only", "authors": [{ "name": "Team Updraft", "email": "team.updraft@gmail.com" }], "config": { "platform-check": false }, "require-dev": { "squizlabs/php_codesniffer": "3.6.*", "phpcompatibility/php-compatibility": "9.3.*", "wp-coding-standards/wpcs": "2.3.*", "sirbrillig/phpcs-variable-analysis": "2.11.*", "dealerdirect/phpcodesniffer-composer-installer": "0.7.*" }, "prefer-stable" : true }vendor/team-updraft/common-libs/CI/php-syntax-check.xml000064400000000640147400355670017067 0ustar00 UpdraftPlus PHP Syntax Check vendor/team-updraft/common-libs/CI/php-compatibility.xml000064400000001426147400355670017342 0ustar00 UpdraftPlus PHP Compatibility Check vendor/team-updraft/common-libs/src/updraft-tasks/class-updraft-tasks-activation.php000064400000020306147400355670025007 0ustar00, value=array of method names to call * Example Usage: * private static $db_updates = array( * '1.0.1' => array( * 'update_101_add_new_column', * ), * ); * * @var Mixed */ private static $db_updates = array( '0.0.1' => array('create_tables'), '1.0.1' => array('add_attempts_and_class_identifier'), '1.1' => array('add_lock_column'), ); const UPDRAFT_TASKS_DB_VERSION = '1.1'; /** * Initialise the use of Task Manager library * Example Usage: * Updraft_Tasks_Activation::init(plugin_basename(__FILE__)); * Updraft_Tasks_Activation::reinstall_if_needed(); * * @param string $plugin_slug Plugin slug * * @return void */ public static function init($plugin_slug) { $used_by_plugins = self::get_used_by_plugins(); if (!in_array($plugin_slug, $used_by_plugins)) { self::update_used_by_plugins(array_merge($used_by_plugins, array($plugin_slug))); } } /** * Initialise this class */ public static function init_db() { self::$table_prefix = defined('UPDRAFT_TASKS_TABLE_PREFIX') ? UPDRAFT_TASKS_TABLE_PREFIX : 'tm_'; } /** * This is the class entry point */ public static function install() { self::init_db(); self::create_tables(); // we need walk through all updates when install at first. self::check_updates(); } /** * Check needed tables in data base and if one of them doesn't exist force reinstall. */ public static function reinstall_if_needed() { static $done = false; if ($done) return; if (!self::check_if_tables_exist()) self::reinstall(); $done = true; } /** * Drop database version variable from option from database and run install again. */ public static function reinstall() { self::delete_db_version_variable(); self::install(); } /** * Delete database version variable from options table */ public static function delete_db_version_variable() { delete_site_option('updraft_task_manager_dbversion'); } /** * Drop database tables and version variable from option from database * * @param string $plugin_slug Plugin slug * * @return void */ public static function uninstall($plugin_slug) { self::delete_used_by_plugins($plugin_slug); $used_by_plugins = self::get_used_by_plugins(); if (!empty($used_by_plugins)) return; self::delete_db_version_variable(); if (empty(self::$table_prefix)) { self::init_db(); } global $wpdb; $tables = array('tasks', 'taskmeta'); foreach($tables as $table) { $table_name = $wpdb->prefix . self::$table_prefix . $table; $wpdb->query("DROP TABLE IF EXISTS $table_name"); } self::delete_used_by_plugins(); } /** * Check if needed task manager tables exist. * * @return bool */ public static function check_if_tables_exist() { global $wpdb; self::init_db(); $our_prefix = $wpdb->base_prefix.self::$table_prefix; $tables = array($our_prefix.'tasks', $our_prefix.'taskmeta'); foreach ($tables as $table) { $query = "SHOW TABLES LIKE '{$table}'"; $tables = $wpdb->get_results($query, ARRAY_A); if (!is_array($tables) || 0 == count($tables)) return false; } return true; } /** * See if any database schema updates are needed, and perform them if so. * Example Usage: * public static function update_101_add_new_column() { * $wpdb = $GLOBALS['wpdb']; * $wpdb->query('ALTER TABLE tm_tasks ADD task_expiry varchar(300) AFTER id'); * } */ public static function check_updates() { self::init_db(); $our_version = self::get_version(); if (is_multisite()) { $db_version = get_site_option('updraft_task_manager_dbversion'); } else { $db_version = get_option('updraft_task_manager_dbversion'); } if (!$db_version || version_compare($our_version, $db_version, '>')) { foreach (self::$db_updates as $version => $updates) { if (version_compare($version, $db_version, '>')) { foreach ($updates as $update) { call_user_func(array(__CLASS__, $update)); } } } if (is_multisite()) { update_site_option('updraft_task_manager_dbversion', self::get_version()); } else { update_option('updraft_task_manager_dbversion', self::get_version()); } } } /** * Returns the current version of the plugin */ public static function get_version() { return self::UPDRAFT_TASKS_DB_VERSION; } /** * Create the database tables */ public static function create_tables() { $wpdb = $GLOBALS['wpdb']; $our_prefix = $wpdb->base_prefix.self::$table_prefix; $collate = ''; if ($wpdb->has_cap('collation')) { if (!empty($wpdb->charset)) { $collate .= "DEFAULT CHARACTER SET $wpdb->charset"; } if (!empty($wpdb->collate)) { $collate .= " COLLATE $wpdb->collate"; } } include_once ABSPATH.'wp-admin/includes/upgrade.php'; // Important: obey the magical/arbitrary rules for formatting this stuff: https://codex.wordpress.org/Creating_Tables_with_Plugins // Otherwise, you get SQL errors and unwanted header output warnings when activating $create_tables = 'CREATE TABLE '.$our_prefix."tasks ( task_id bigint(20) NOT NULL auto_increment, user_id bigint(20) NOT NULL, type varchar(300) NOT NULL, description varchar(300), PRIMARY KEY (task_id), KEY user_id (user_id), time_created TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, status varchar(300) ) $collate; "; // KEY attribute_name (attribute_name) dbDelta($create_tables); $max_index_length = 191; $create_tables = 'CREATE TABLE '.$our_prefix."taskmeta ( meta_id bigint(20) NOT NULL auto_increment, task_id bigint(20) NOT NULL default '0', meta_key varchar(255) DEFAULT NULL, meta_value longtext, PRIMARY KEY (meta_id), KEY meta_key (meta_key($max_index_length)), KEY task_id (task_id) ) $collate; "; dbDelta($create_tables); } public static function add_attempts_and_class_identifier() { $wpdb = $GLOBALS['wpdb']; $our_prefix = $wpdb->base_prefix.self::$table_prefix; $wpdb->query("ALTER TABLE ".$our_prefix."tasks CHANGE COLUMN `task_id` `id` INT NOT NULL"); $wpdb->query("ALTER TABLE ".$our_prefix."tasks MODIFY COLUMN `id` INT auto_increment"); $wpdb->query("ALTER TABLE ".$our_prefix."tasks ADD attempts INT DEFAULT 0 AFTER type"); $wpdb->query("ALTER TABLE ".$our_prefix."tasks ADD class_identifier varchar(300) DEFAULT 0 AFTER type"); } public static function add_lock_column() { $wpdb = $GLOBALS['wpdb']; $our_prefix = $wpdb->base_prefix.self::$table_prefix; $wpdb->query('ALTER TABLE '.$our_prefix.'tasks ADD last_locked_at BIGINT DEFAULT 0 AFTER time_created'); } /** * Get an array of plugin slugs that uses this library * * @return array */ private static function get_used_by_plugins() { return get_site_option('updraft_task_manager_plugins', array()); } /** * Update the array of plugin slugs that uses this library * * @param array $used_by_plugins An array of plugin slugs */ private static function update_used_by_plugins($used_by_plugins) { if (is_multisite()) { update_site_option('updraft_task_manager_plugins', $used_by_plugins); } else { update_option('updraft_task_manager_plugins', $used_by_plugins); } } /** * Removes either given plugin slug. If plugin slug is not provided removes option itself * * @param string $plugin_slug Plugin slug */ private static function delete_used_by_plugins($plugin_slug = '') { if (!empty($plugin_slug)) { $used_by_plugins = self::get_used_by_plugins(); $used_by_plugins = self::remove_plugin_from_array($used_by_plugins, $plugin_slug); self::update_used_by_plugins($used_by_plugins); } else { delete_site_option('updraft_task_manager_plugins'); } } /** * Remove given plugin slug from an array of plugin slugs * * @param array $used_by_plugins An array of plugin slugs * @param string $plugin_slug Plugin slug * * @return array */ private static function remove_plugin_from_array($used_by_plugins, $plugin_slug) { $key = array_search($plugin_slug, $used_by_plugins); if (false !== $key) { unset($used_by_plugins[$key]); } return $used_by_plugins; } } endif; vendor/team-updraft/common-libs/src/updraft-tasks/class-updraft-task-options.php000064400000006756147400355670024173 0ustar00 */ protected $extra_properties = array(); /** * The Task constructor * * @param UpdraftPlus_Task|object $task UpdraftPlus_Task object. */ public function __construct($task) { foreach (get_object_vars($task) as $key => $value) $this->$key = $value; } /** * Sets the instance ID. * * @param String $instance_id - the instance ID */ public function set_id($instance_id) { $this->id = $instance_id; } /** * Gets the instance ID. * * @return String the instance ID */ public function get_id() { return $this->id; } /** * Sets the description. * * @param String $description - the description of the task */ public function set_description($description) { $this->description = $description; } /** * Gets the task description * * @return String $description - the description of the task */ public function get_description() { return $this->description; } /** * Sets the type. * * @param String $type - the type of the task */ public function set_type($type) { $this->type = $type; } /** * Gets the number of times this task was attempted * * @return int $attempts - the count */ public function get_attempts() { return $this->attempts; } /** * Sets the number of times this task was attempted * * @param String $attempts - the count */ public function set_attempts($attempts) { if (is_numeric($attempts)) $this->attempts = $attempts; else return false; return $this->update_attempts($this->id, $this->attempts); } /** * Gets the task type * * @return String $type - the type of the task */ public function get_type() { return $this->type; } /** * Sets the task status. * * @param String $status - the status of the task * * @return Boolean - the result of the status update */ public function set_status($status) { if (array_key_exists($status, self::get_allowed_statuses())) $this->status = $status; else return false; return $this->update_status($this->id, $this->status); } /** * Gets the task status * * @return String $status - the status of the task */ public function get_status() { return $this->status; } /** * Sets the logger for this task. * * @param array $loggers - the loggers for this task */ public function set_loggers($loggers) { if (is_array($loggers)) { foreach ($loggers as $logger) { $this->add_logger($logger); } } } /** * Add a logger to loggers list * * @param Object $logger - a logger for the task */ public function add_logger($logger) { $this->_loggers[] = $logger; } /** * Return list of loggers * * @return array */ public function get_loggers() { return $this->_loggers; } /** * The initialisation function that accepts and processes any parameters needed before the task starts * * @param Array $options - array of options * * @uses update_option */ public function initialise($options = array()) { do_action('ud_task_before_initialise', $this, $options); /** * Parse incoming $options into an array and merge it with defaults */ $defaults = $this->get_default_options(); $options = wp_parse_args($options, $defaults); foreach ($options as $option => $value) { $this->update_option($option, $value); } do_action('ud_task_initialise_complete', $this, $options); } /** * Attempts to perform the task * * @param integer $lock_for - if greater than zero, then lock the task, and don't break until this number of seconds has passed * * @return boolean Status of the attempt */ public function attempt($lock_for = 0) { $_task = $this->get_task_from_db($this->get_id()); if (!$_task) { $this->log("The task with id : {$this->get_id()}, and type '{$this->get_type()}' seems to have been deleted from the database."); return false; } if ('complete' == $this->get_status()) { $this->log("Attempting already complete task with ID : {$this->get_id()}, and type '{$this->get_type()}'. Aborting !"); return true; } if ($lock_for) { $try = 1; $locked = false; while ($try < 4) { if ($locked = $this->lock($this->get_id(), true, $lock_for)) break; $try ++; sleep(1); } if (!$locked) { $this->fail('could_not_lock', 'The task could not be locked'); return false; } } $attempts = $this->get_attempts(); if ($attempts >= $this->get_max_attempts()) { $this->fail("max_attempts_exceeded", "Maximum attempts ($attempts) exceeded for task"); return false; } $this->log("Processing task with ID : {$this->get_id()}, and type '{$this->get_type()}'"); $this->set_attempts(++$attempts); $status = $this->run(); if ($status) { $this->complete(); $this->log("Completed processing task with ID : {$this->get_id()}, and type '{$this->get_type()}'"); } if ($lock_for) $this->lock($this->get_id(), false); return $status; } /** * Lock or unlock a task * * @param Integer - $task_id - task identifier * @param Boolean - $lock - whether to lock or unlock * @param Integer - $lock_for - if already locked, how long after which to break the lock * * @return Boolean - whether the operation was successful */ public function lock($task_id, $lock = true, $lock_for = 60) { global $wpdb; if (!$lock) { return $wpdb->update($wpdb->base_prefix.'tm_tasks', array('last_locked_at' => 0), array('id' => $task_id)) ? true : false; } // Mode: lock. Attempt to set the lock $affected = $wpdb->update($wpdb->base_prefix.'tm_tasks', array('last_locked_at' => time()), array('id' => $task_id, 'last_locked_at' => 0)); // Success. if (1 == $affected) return true; // Failed - something else already had it locked. Grab the lock if it had expired. $affected = $wpdb->update($wpdb->base_prefix.'tm_tasks', array('last_locked_at' => time()), array('id' => $task_id, 'last_locked_at' => 0)); $expires_at = time() - $lock_for; $affected = $wpdb->query($wpdb->prepare(" UPDATE {$wpdb->base_prefix}tm_tasks SET last_locked_at = %d WHERE id = %d AND last_locked_at <= %s ", time(), $task_id, $expires_at)); return $affected ? true : false; } /** * This function is called to allow for the task to perform a small chunk of work. * It should be written in a way that anticipates it being killed off at any time. */ abstract public function run(); /** * Any clean up code goes here. */ public function complete() { do_action('ud_task_before_complete', $this); $this->set_status('complete'); do_action('ud_task_completed', $this); return true; } /** * Fires if the task fails, any clean up code and logging should go here * * @param String $error_code - A code for the failure * @param String $error_message - A description for the failure */ public function fail($error_code = "Unknown", $error_message = "Unknown") { do_action('ud_task_before_failed', $this); $this->set_status('failed'); $this->log(sprintf("Task with ID %d and type (%s) failed with error code %s - %s", $this->id, $this->type, $error_code, $error_message)); $this->update_option("error_code", $error_code); $this->update_option("error_message", $error_message); do_action('ud_task_failed', $this); return true; } /** * Prints any information about the task that the UI can use on the front end for debugging * @param String $title the header to use in the report * * @return String The task report HTML */ public function print_task_report_widget($title = 'Task Summary') { $ret = ""; $status = $this->get_status(); $stage = $this->get_option('stage') ? $this->get_option('stage') : 'Unknown'; $description = $this->get_status_description($status); $ret .= "
    "; $ret .= "

    Task Summary

    "; $ret .= "
      "; foreach ($this as $key => $value) { $ret .= sprintf("
    • %s : %s
    • ", $key, $value); } $ret .='
    '; $ret .= "

    $title

    "; $ret .= "
      "; foreach ($this->get_all_options() as $key => $value) { if (is_array(maybe_unserialize($value))) { $ret .= sprintf("
    • %s
    • ", $key); $ret .= "
        "; foreach (maybe_unserialize($value) as $k => $v) { $ret .= sprintf("
      • %s => %s
      • ", $k, $v); } $ret .= "
      "; } else { $ret .= sprintf("
    • %s : %s
    • ", $key, $value); } } $ret .='
    '; $ret .='
    '; return apply_filters('ud_print_task_report_widget', $ret, $this); } /** * This method gets an option from the task options in the WordPress database if available, * otherwise returns the default for this task type * * @param String $option the name of the option to get * @param Mixed $default a value to return if the option is not currently set * * @return Mixed The option from the database */ public function get_option($option = null, $default = null) { return Updraft_Task_Options::get_task_option($this->id, $option, $default); } /** * This method is used to add a task option stored in the WordPress database * * @param String $option the name of the option to update * @param Mixed $value the value to save to the option * * @return Mixed the status of the add operation */ public function add_option($option, $value) { return Updraft_Task_Options::update_task_option($this->id, $option, $value); } /** * This method is used to update a task option stored in the WordPress database * * @param String $option the name of the option to update * @param Mixed $value the value to save to the option * * @return Mixed the status of the update operation */ public function update_option($option, $value) { return Updraft_Task_Options::update_task_option($this->id, $option, $value); } /** * This method is used to delete a task option stored in the WordPress database * * @param String $option the option to delete * * @return Boolean the result of the delete operation */ public function delete_option($option) { return Updraft_Task_Options::delete_task_option($this->id, $option); } /** * This method gets all options assoicated with a task */ public function get_all_options() { return Updraft_Task_Options::get_all_task_options($this->id); } /** * Retrieve default options for this task. * This method should normally be over-ridden by the child. * * @return Array - an array of options */ public function get_default_options() { $this->log(sprintf('The get_default_options() method was not over-ridden for the class : %s', $this->get_description())); return array(); } /** * Returns a unique label for this instance that can be used as an identifier * * @return String - a unique label for this instance */ protected function get_unique_label() { return apply_filters('ud_task_unique_label', $this->id."-".$this->type, $this); } /** * Updates the status of the given task in the DB * * @param String $id - the id of the task * @param String $status - the status of the task * * @return Boolean - the stauts of the update operation */ public function update_status($id, $status) { if (!array_key_exists($status, self::get_allowed_statuses())) return false; global $wpdb; $sql = $wpdb->prepare("UPDATE {$wpdb->base_prefix}tm_tasks SET status = %s WHERE id = %d", $status, $id); return $wpdb->query($sql); } /** * Updates the number of attempts made for the given task in the DB * * @param String $id - the id of the task * @param int $attempts - the status of the task * * @return Boolean - the stauts of the update operation */ public function update_attempts($id, $attempts) { if (!is_numeric($attempts)) return false; global $wpdb; $sql = $wpdb->prepare("UPDATE {$wpdb->base_prefix}tm_tasks SET attempts = %s WHERE id = %d", $attempts, $id); return $wpdb->query($sql); } /** * Cleans out the given task from the DB * * @return Boolean - the status of the delete operation */ public function delete() { global $wpdb; $sql = $wpdb->prepare("DELETE FROM {$wpdb->base_prefix}tm_tasks WHERE id = %d", $this->id); return $wpdb->query($sql); } /** * Cleans out the given task meta from the DB * * @return Boolean - the status of the delete operation */ public function delete_meta() { return Updraft_Task_Meta::bulk_delete_task_meta($this->id); } /** * Helper function to convert object to array. * * @return array Object as array. */ public function to_array() { $task = get_object_vars($this); foreach (array( 'task_options', 'task_data', 'task_logs', 'task_extras' ) as $key) { if ($this->__isset($key)) $task[$key] = $this->__get($key); } return $task; } /** * Captures and logs any interesting messages * * @param String $message - the error message * @param String $error_type - the error type */ public function log($message, $error_type = 'info') { if (isset($this->_loggers)) { foreach ($this->_loggers as $logger) { $logger->log($message, $error_type); } } } /** * Retrieve all the supported task statuses. * * Tasks should have a limited set of valid status values, this method provides a * list of values and descriptions. * * @return array List of task statuses. */ public static function get_allowed_statuses() { $status = array( 'initialised' => __('Initialised'), 'active' => __('Active'), 'paused' => __('Paused'), 'complete' => __('Completed'), 'failed' => __('Failed') ); return apply_filters('ud_allowed_task_statuses', $status); } /** * Retrieve the max attempts permitted for task type * * @return int Max attempts permitted for task type */ private function get_max_attempts() { return apply_filters('ud_max_attempts', 5, $this); } /** * Retrieve the text description of the task status. * * @param String $status - The task status * * @return String Description of the task status. */ public static function get_status_description($status) { $list = self::get_allowed_statuses(); if (!array_key_exists($status, self::get_allowed_statuses())) return __('Unknown'); return apply_filters("ud_task_status_description_{$status}", $list[$status], $status, $list); } /** * Creates a new task instance and returns it * * @access public * * @global wpdb $wpdb WordPress database abstraction object. * * @param String $type A identifier for the task * @param String $description A description of the task * @param Mixed $options A list of options to initialise the task * @param String $task_class Class name of task; only needed/used on PHP 5.2 (due to lack of late static binding) * * @return Updraft_Task|false Task object, false otherwise. */ public static function create_task($type, $description, $options = array(), $task_class = '') { global $wpdb; $user_id = get_current_user_id(); $class_identifier = function_exists('get_called_class') ? get_called_class() : $task_class;// phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.get_called_classFound $is_anonymous_user_allowed = isset($options['anonymous_user_allowed']) && $options['anonymous_user_allowed']; if (!$user_id && !$is_anonymous_user_allowed) return false; $sql = $wpdb->prepare("INSERT INTO {$wpdb->base_prefix}tm_tasks (type, user_id, description, class_identifier, status) VALUES (%s, %d, %s, %s, %s)", $type, $user_id, $description, $class_identifier, 'active'); $wpdb->query($sql); $task_id = $wpdb->insert_id; if (!$task_id) return false; $_task = $wpdb->get_row("SELECT * FROM {$wpdb->base_prefix}tm_tasks WHERE id = {$task_id} LIMIT 1"); $task = new $class_identifier($_task); if (!$task) return false; $task->initialise($options); return $task; } /** * Select the current task from the database * * @param int $task_id - The task ID * @return object|false */ private function get_task_from_db($task_id) { global $wpdb; $sql = $wpdb->prepare("SELECT * FROM {$wpdb->base_prefix}tm_tasks WHERE id = %d LIMIT 1", $task_id); return $wpdb->get_row($sql); } /** * Writing data to inaccessible/non-existing property * * @param string $name * @param mixed $value * * @return void */ public function __set($name, $value) { $this->extra_properties[$name] = $value; } /** * Reading data from inaccessible/non-existing property * * @param string $name * * @return mixed|null */ public function __get($name) { return isset($this->extra_properties[$name]) ? $this->extra_properties[$name] : null; } /** * Invoked when `isset` or `empty` are called on inaccessible/non-existing property * * @param string $name * * @return bool */ public function __isset($name) { return isset($this->extra_properties[$name]); } /** * Invoked when `unset` is called on inaccessible/non-existing property * * @param string $name * * @return void */ public function __unset($name) { unset($this->extra_properties[$name]); } } endif; vendor/team-updraft/common-libs/src/updraft-tasks/class-updraft-task-meta.php000064400000004714147400355670023416 0ustar00prepare("SELECT meta_value FROM {$wpdb->base_prefix}tm_taskmeta WHERE task_id = %d AND meta_key = %s LIMIT 1", $id, $key); $meta = $wpdb->get_var($sql); if ($meta) return maybe_unserialize($meta); else return false; } /** * This method is used to update data stored in the WordPress database * * @param int $id the instance id of the task * @param String $key the key of the data to update * @param Mixed $value the value to save to the option * * @return Mixed the status of the update operation */ public static function update_task_meta($id, $key, $value) { global $wpdb; $id = (int) $id; if (!$id) return false; $value = maybe_serialize($value); if (false !== self::get_task_meta($id, $key)) { $sql = $wpdb->prepare("UPDATE {$wpdb->base_prefix}tm_taskmeta SET meta_value = %s WHERE meta_key = %s AND task_id = %d", $value, $key, $id); } else { $sql = $wpdb->prepare("INSERT INTO {$wpdb->base_prefix}tm_taskmeta (task_id, meta_key, meta_value) VALUES (%d, %s, %s)", $id, $key, $value); } return $wpdb->query($sql); } /** * This method is used to delete task data stored in the WordPress database * * @param int $id the instance id of the task * @param String $key the key to delete * * @return Mixed the status of the delete operation */ public static function delete_task_meta($id, $key) { global $wpdb; $id = (int) $id; if (!$id) return false; $sql = $wpdb->prepare("DELETE FROM {$wpdb->base_prefix}tm_taskmeta WHERE task_id = %d AND meta_key = %s LIMIT 1", $id, $key); return $wpdb->query($sql); } /** * Bulk delete task * * @param int $id the instance id of the task */ public static function bulk_delete_task_meta($id) { global $wpdb; $id = (int) $id; if (!$id) return false; $sql = $wpdb->prepare("DELETE FROM {$wpdb->base_prefix}tm_taskmeta WHERE task_id = %d", $id); return $wpdb->query($sql); } } endif; vendor/team-updraft/common-libs/src/updraft-tasks/class-updraft-task-manager.php000064400000022100147400355670024067 0ustar00commands = new Updraft_Task_Manager_Commands_1_0($this); do_action('updraft_task_manager_loaded', $this); } /** * Process a single task in the queue * * @param int|Updraft_Task - $task Task ID or Updraft_Task object. * @return boolean|WP_Error - status of task or error if task not found */ public function process_task($task) { if (!is_a($task, 'Updraft_Task_1_2')) { $task_id = (int) $task; $task = $this->get_task_instance($task_id); } if (!$task) return new WP_Error('id_invalid', 'Task not found or ID is invalid'); return $task->attempt(apply_filters('updraft_task_lock_for', $this->use_per_task_lock, $this)); } /** * Gets a list of all tasks that matches the $status flag * * @param int|Updraft_Task - $task Task ID or Updraft_Task object. * @return String|WP_Error - status of task or error if task not found. */ public function get_task_status($task) { if (!($task instanceof Updraft_Task_1_2)) { $task_id = (int) $task; $task = $this->get_task_instance($task_id); } if (!$task) return new WP_Error('id_invalid', 'Task not found or ID is invalid'); return $task->get_status(); } /** * Ends a given task * * @param int|Updraft_Task - $task Task ID or Updraft_Task object. * @return boolean|WP_Error - Status of the operation or error if task not found. */ public function end_task($task) { if (!($task instanceof Updraft_Task_1_2)) { $task_id = (int) $task; $task = $this->get_task_instance($task_id); } if (!$task) return new WP_Error('id_invalid', 'Task not found or ID is invalid'); return $task->complete(); } /** * Process a the queue of a specifed task type * * @param string $type queue type to process * @return bool true on success, false otherwise */ public function process_queue($type) { $task_list = $this->get_active_tasks($type); $total = is_array($task_list) ? count($task_list) : 0; if (1 > $total) { $this->log(sprintf('The queue for tasks of type "%s" is empty. Aborting!', $type)); return true; } else { $this->log(sprintf('A total of %d tasks of type %s found and will be processed in this iteration', $total, $type)); } $this->queue_semaphore = new Updraft_Semaphore_3_0($type); // Prevent PHP warning which trigger from semaphore class set_loggers method if $this->loggers is empty if (!empty($this->loggers)) { $this->queue_semaphore->set_loggers($this->loggers); } if (!$this->queue_semaphore->lock()) { $this->log(sprintf('Failed to gain semaphore lock (%s) - another process is already processing the queue - aborting (if this is wrong - i.e. if the other process crashed without removing the lock, then another can be started after 1 minute', $type)); return false; } $done = 0; foreach ($task_list as $task) { $this->process_task($task); $done++; /** * Filters if the queue should be interrupted. Used after processing each task. * * @param boolean $interrupt_queue - If the queue should be interrupted. Default to FALSE * @param object $task - The current task object * @param object $task_manager - The task manager instance */ if (apply_filters('updraft_interrupt_tasks_queue_'.$type, false, $task, $this)) { break; } } $this->queue_semaphore->release(); $this->log(sprintf('Successfully processed the queue (%s). %d tasks were processed out of %d.', $type, $done, $total)); $this->queue_semaphore->delete(); return $done == $total; } /** * Cleans out all complete tasks from the DB. * * @param String $type type of the task */ public function clean_up_old_tasks($type) { $completed_tasks = $this->get_completed_tasks($type); if (!$completed_tasks) return false; $this->log(sprintf('Cleaning up tasks of type (%s). A total of %d tasks will be deleted.', $type, count($completed_tasks))); foreach ($completed_tasks as $task) { $task->delete_meta(); $task->delete(); } return true; } /** * Delete all tasks from queue. * * @param string $type * * @return boolean|integer Number of rows deleted, or (boolean)false upon error */ public function delete_tasks($task_type) { global $wpdb; $sql = "DELETE t, tm FROM `{$wpdb->base_prefix}tm_tasks` t LEFT JOIN `{$wpdb->base_prefix}tm_taskmeta` tm ON t.id = tm.task_id WHERE t.type = '{$task_type}'"; return $wpdb->query($sql); } /** * Get count of completed and all tasks. * * @return array - [ ['complete_tasks' => , 'all_tasks' => ] ] */ public function get_status($task_type) { global $wpdb; $query = $wpdb->prepare( "SELECT complete_tasks, all_tasks FROM (SELECT COUNT(*) AS complete_tasks FROM {$wpdb->base_prefix}tm_tasks WHERE `type` = %s AND `status` = %s) a, (SELECT COUNT(*) AS all_tasks FROM {$wpdb->base_prefix}tm_tasks WHERE `type` = %s) b", array( $task_type, 'complete', $task_type, ) ); $status = $wpdb->get_row($query, ARRAY_A); if (empty($status)) { $status = array( 'complete_tasks' => 0, 'all_tasks' => 0, ); } return $status; } /** * Fetches a list of all active tasks * * @param String $type type of the task * @return Mixed - array of Task ojects or NULL if none found */ public function get_active_tasks($type) { return $this->get_tasks('active', $type); } /** * Gets a list of all completed tasks * * @param String $type type of the task * @return Mixed - array of Task ojects or NULL if none found */ public function get_completed_tasks($type) { return $this->get_tasks('complete', $type); } /** * Gets a list of all tasks that matches the $status flag * * @param String $status - status of tasks to return, defaults to all tasks * @param String $type - type of task * * @return Mixed - array of Task objects or NULL if none found */ public function get_tasks($status, $type) { global $wpdb; $tasks = array(); if (array_key_exists($status, Updraft_Task_1_2::get_allowed_statuses())) { $sql = $wpdb->prepare("SELECT * FROM {$wpdb->base_prefix}tm_tasks WHERE status = %s AND type = %s", $status, $type); } else { $sql = $wpdb->prepare("SELECT * FROM {$wpdb->base_prefix}tm_tasks WHERE type = %s", $type); } $_tasks = $wpdb->get_results($sql); if (!$_tasks) { // if we got an error then check if task manager tables are in the database // and recreate them if needed. if ($wpdb->last_error) { Updraft_Tasks_Activation::reinstall_if_needed(); } return; } foreach ($_tasks as $_task) { $task = $this->get_task_instance($_task->id); if ($task) array_push($tasks, $task); } return $tasks; } /** * Retrieve the task instance using its ID * * @access public * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $task_id Task ID. * @return Task|Boolean Task object, false otherwise. */ public function get_task_instance($task_id) { global $wpdb; $task_id = (int) $task_id; if (!$task_id) return false; $sql = $wpdb->prepare("SELECT * FROM {$wpdb->base_prefix}tm_tasks WHERE id = %d LIMIT 1", $task_id); $_task = $wpdb->get_row($sql); if (!$_task) return false; $class_identifier = $_task->class_identifier; if (class_exists($class_identifier)) { $task_instance = new $class_identifier($_task); $task_instance->set_loggers($this->loggers); return $task_instance; } return false; } /** * Sets the logger for this instance. * * @param array $loggers - the loggers for this task */ public function set_loggers($loggers) { foreach ($loggers as $logger) { $this->add_logger($logger); } } /** * Add a logger to loggers list * * @param Object $logger - a logger for the instance */ public function add_logger($logger) { $this->loggers[] = $logger; } /** * Return list of loggers * * @return array */ public function get_loggers() { return $this->loggers; } /** * Captures and logs any interesting messages * * @param String $message - the error message * @param String $error_type - the error type */ public function log($message, $error_type = 'info') { if (isset($this->loggers)) { foreach ($this->loggers as $logger) { $logger->log($message, $error_type); } } } } endif; vendor/team-updraft/common-libs/src/updraft-tasks/class-updraft-task-manager-commands.php000064400000011427147400355670025700 0ustar00task_manager = $task_manager; } /** * A list of allowed commands via AJAX * * @return array - List of allowed commands */ public static function get_allowed_ajax_commands() { $commands = array( 'process_task', 'get_task_status', 'end_task', 'process_queue', 'get_active_tasks', 'clean_up_old_tasks', ); return apply_filters('updraft_task_manager_allowed_ajax_commands', $commands); } /** * Process a single task in the queue * * @param array $data data passed via AJAX * @return void|WP_Error status of the operation */ public function process_task($data) { if (!isset($data['task_id'])) return new WP_Error('id_missing', 'Task ID is missing or invalid'); $task_id = (int) $data['task_id']; $response = apply_filters('updraft_task_manager_process_task_response', "Processing task: {$task_id}", $task_id); $this->close_browser_connection($response); $this->task_manager->process_task($task_id); } /** * Process a single task in the queue * * @param array $data data passed via AJAX * @return String - status of task or false if none found */ public function get_task_status($data) { if (!isset($data['task_id'])) return new WP_Error('id_missing', 'Task ID is missing or invalid'); $task_id = (int) $data['task_id']; return $this->task_manager->get_task_status($task_id); } /** * Ends a given task * * @param array $data data passed via AJAX * @return boolean - Status of the operation. */ public function end_task($data) { if (!isset($data['task_id'])) return new WP_Error('id_missing', 'Task ID is missing or invalid'); $task_id = (int) $data['task_id']; $status = $this->task_manager->end_task($task_id); if (!$status) return new WP_Error('end_task_failed', 'Task is already ended'); $response = apply_filters('updraft_task_manager_end_task_response', "Successfully ended task with id : {$task_id}", $task_id); $this->close_browser_connection($response); } /** * Fetches a list of all active tasks * * @param array $data data passed via AJAX * @return Mixed - array of UpdraftPlus_Task ojects or NULL if none found */ public function get_active_tasks($data) { if (!isset($data['type'])) return new WP_Error('type_missing', 'Task type is missing or invalid'); $type = $data['type']; $tasks = $this->task_manager->get_active_tasks($type); $ids = array(); if ($tasks) { foreach ($tasks as $task) { array_push($ids, $task->get_id()); } } $response = apply_filters('updraft_task_manager_get_active_tasks_response', $ids, $type); return $response; } /** * Cleans out all complete tasks from the DB. * * @param array $data data passed via AJAX * @return void|WP_Error status of the operation */ public function clean_up_old_tasks($data) { if (!isset($data['type'])) return new WP_Error('type_missing', 'Task type is missing or invalid'); $type = $data['type']; $status = $this->task_manager->clean_up_old_tasks($type); if (!$status) return new WP_Error('clean_up_failed', 'Queue is already empty or the task type invalid'); $response = apply_filters('updraft_task_manager_clean_up_old_tasks_response', "Cleaned up old tasks of type : $type", $type); $this->close_browser_connection($response); } /** * Processes a queue of a specific type of task * * @param array $data data passed via AJAX * @return void|WP_Error status of the operation */ public function process_queue($data) { if (!isset($data['type'])) return new WP_Error('type_missing', 'Task type is missing or invalid'); $type = $data['type']; $response = apply_filters('updraft_task_manager_process_queue_response', "Processing queue of type {$type}", $type); $this->close_browser_connection(json_encode($response)); $status = $this->task_manager->process_queue($type); if (!$status) return new WP_Error('process_queue_operation_failed', 'Failed to process the queue'); } /** * Close browser connection so that it can resume AJAX polling * * @param array $txt Response to browser * @return void */ public function close_browser_connection($txt = '') { header('Content-Length: '.((!empty($txt)) ? 5+strlen($txt) : '0')); header('Connection: close'); header('Content-Encoding: none'); if (session_id()) session_write_close(); echo "\r\n\r\n"; echo $txt; $levels = ob_get_level(); for ($i = 0; $i < $levels; $i++) { ob_end_flush(); } flush(); } } endif; vendor/team-updraft/common-libs/src/updraft-rpc/class-udrpc.php000064400000123452147400355670020642 0ustar00set_key_local($our_private_key); $ud_rpc->set_key_remote($their_public_key); $encrypted = $ud_rpc->encrypt_message('blah blah'); // Use the saved WP site option $ud_rpc = new UpdraftPlus_Remote_Communications($name_indicator); // $name_indicator is a key indicator - indicating which key is being used. $ud_rpc->set_option_name('udrpc_remotekey'); if (!$ud_rpc->get_key_remote()) throw new Exception('...'); $encrypted = $ud_rpc->encrypt_message('blah blah'); // Generate a new key $ud_rpc = new UpdraftPlus_Remote_Communications('myindicator.example.com'); $ud_rpc->set_option_name('udrpc_localkey'); // Save as a WP site option $new_pair = $ud_rpc->generate_new_keypair(); if ($new_pair) { $local_private_key = $ud_rpc->get_key_local(); $remote_public_key = $ud_rpc->get_key_remote(); // ... } else { throw new Exception('...'); } // Send a message $ud_rpc->activate_replay_protection(); $ud_rpc->set_destination_url('https://example.com/path/to/wp'); $ud_rpc->send_message('ping'); $ud_rpc->send_message('somecommand', array('param1' => 'data', 'param2' => 'moredata')); // N.B. The data sent needs to be something that will pass json_encode(). So, it may be desirable to base64-encode it first. // Create a listener for incoming messages add_filter('udrpc_command_somecommand', 'my_function', 10, 3); // function my_function($response, $data, $name_indicator) { ... ; return array('response' => 'my_reply', 'data' => 'any mixed data'); } // Or: // add_filter('udrpc_action', 'some_function', 10, 4); // Function must return something other than false to indicate that it handled the specific command. Any returned value will be sent as the reply. // function some_function($response, $command, $data, $name_indicator) { ...; return array('response' => 'my_reply', 'data' => 'any mixed data'); } $ud_rpc->set_option_name('udrpc_local_private_key'); $ud_rpc->activate_replay_protection(); if ($ud_rpc->get_key_local()) { // Make sure you call this before the wp_loaded action is fired (e.g. at init) $ud_rpc->create_listener(); } // Instead of using activate_replay_protection(), you can use activate_sequence_protection() (receiving side) and set_next_send_sequence_id(). They are very similar; but, the sequence number code isn't tested, and is problematic if you may have multiple clients that don't share storage (you can use the current time as a sequence number, but if two clients send at the same millisecond (or whatever granularity you use), you may have problems); whereas the replay protection code relies on database storage on the sending side (not just the receiving). */ // @codingStandardsIgnoreEnd if (!class_exists('UpdraftPlus_Remote_Communications')) : class UpdraftPlus_Remote_Communications { // Version numbers relate to versions of this PHP library only (i.e. it's not a protocol support number, and version numbers of other compatible libraries (e.g. JavaScript) are not comparable) public $version = '1.4.24'; private $key_name_indicator; private $key_option_name = false; private $key_remote = false; private $key_local = false; private $can_generate = false; private $destination_url = false; private $maximum_replay_time_difference = 300; private $extra_replay_protection = false; private $sequence_protection_tolerance; private $sequence_protection_table; private $sequence_protection_column; private $sequence_protection_where_sql; // Debug may log confidential data using $this->log() - so only use when you are in a secure environment private $debug = false; private $next_send_sequence_id; private $allow_cors_from = array(); private $http_transport = null; // Default protocol version - this can be over-ridden with set_message_format // Protocol version 1 (which uses only one RSA key-pair, instead of two) is legacy/deprecated private $format = 2; private $http_credentials = array(); private $incoming_message = null; private $message_random_number = null; private $require_message_to_be_understood = false; public function __construct($key_name_indicator = 'default') { $this->set_key_name_indicator($key_name_indicator); } public function set_key_name_indicator($key_name_indicator) { $this->key_name_indicator = $key_name_indicator; } public function set_can_generate($can_generate = true) { $this->can_generate = $can_generate; } /** * Which sites to allow CORS requests from * * @param string $allow_cors_from */ public function set_allow_cors_from($allow_cors_from) { $this->allow_cors_from = $allow_cors_from; } public function set_maximum_replay_time_difference($replay_time_difference) { $this->maximum_replay_time_difference = (int) $replay_time_difference; } /** * This will cause more things to be sent to $this->log() * * @param boolean $debug */ public function set_debug($debug = true) { $this->debug = (bool) $debug; } /** * Supported values: a Guzzle object, or, if not, then WP's HTTP API function siwll be used * * @param string $transport */ public function set_http_transport($transport) { $this->http_transport = $transport; } /** * Sequence protection and replay protection perform similar functions, and using both is often over-kill; the distinction is that sequence protection can be used without needing to do database writes on the sending side (e.g. use the value of time() as the sequence number). * The only rule of sequences is that the receiving side will reject any sequence number that is less than the last previously seen one, within the bounds of the tolerance (but it may also reject those if they are repeats). * The given table/column will record a comma-separated list of recently seen sequences numbers within the tolerance threshold. * * @param string $table * @param string $column * @param string $where_sql * @param integer $tolerance */ public function activate_sequence_protection($table, $column, $where_sql, $tolerance = 5) { $this->sequence_protection_tolerance = (int) $tolerance; $this->sequence_protection_table = (string) $table; $this->sequence_protection_column = (string) $column; $this->sequence_protection_where_sql = (string) $where_sql; } private function ensure_crypto_loaded() { if (!class_exists('Crypt_Rijndael') || !class_exists('Crypt_RSA') || !class_exists('Crypt_Hash')) { global $updraftplus, $updraftcentral_host_plugin; $base_dir = ''; if (is_a($updraftcentral_host_plugin, 'UpdraftCentral_Host') && is_callable(array($updraftcentral_host_plugin, 'get_host_dir'))) { $base_dir = trailingslashit($updraftcentral_host_plugin->get_host_dir()); } // phpseclib 1.x uses deprecated PHP4-style constructors $this->no_deprecation_warnings_on_php7(); if (is_a($updraftplus, 'UpdraftPlus')) { // Since May 2019, the second parameter is unused; but, since we don't know the version, we send it. $ensure_phpseclib = $updraftplus->ensure_phpseclib(array('Crypt_Rijndael', 'Crypt_RSA', 'Crypt_Hash'), array('Crypt/Rijndael', 'Crypt/RSA', 'Crypt/Hash')); if (is_wp_error($ensure_phpseclib)) return $ensure_phpseclib; } elseif (defined('UPDRAFTPLUS_DIR') && file_exists(UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib')) { $pdir = UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib'; if (false === strpos(get_include_path(), $pdir)) set_include_path($pdir.PATH_SEPARATOR.get_include_path()); if (!class_exists('Crypt_Rijndael')) include_once 'Crypt/Rijndael.php'; if (!class_exists('Crypt_RSA')) include_once 'Crypt/RSA.php'; if (!class_exists('Crypt_Hash')) include_once 'Crypt/Hash.php'; } elseif (file_exists(dirname(dirname(__FILE__)).'/vendor/phpseclib/phpseclib/phpseclib')) { $pdir = dirname(dirname(__FILE__)).'/vendor/phpseclib/phpseclib/phpseclib'; if (false === strpos(get_include_path(), $pdir)) set_include_path($pdir.PATH_SEPARATOR.get_include_path()); if (!class_exists('Crypt_Rijndael')) include_once 'Crypt/Rijndael.php'; if (!class_exists('Crypt_RSA')) include_once 'Crypt/RSA.php'; if (!class_exists('Crypt_Hash')) include_once 'Crypt/Hash.php'; } elseif ('' !== $base_dir && file_exists($base_dir.'vendor/phpseclib/phpseclib/phpseclib')) { $phpseclib_dir = $base_dir.'vendor/phpseclib/phpseclib/phpseclib'; if (false === strpos(get_include_path(), $phpseclib_dir)) set_include_path($phpseclib_dir.PATH_SEPARATOR.get_include_path()); if (!class_exists('Crypt_Rijndael')) include_once 'Crypt/Rijndael.php'; if (!class_exists('Crypt_RSA')) include_once 'Crypt/RSA.php'; if (!class_exists('Crypt_Hash')) include_once 'Crypt/Hash.php'; } } } /** * Ugly, but necessary to prevent debug output breaking the conversation when the user has debug turned on */ private function no_deprecation_warnings_on_php7() { // PHP_MAJOR_VERSION is defined in PHP 5.2.7+ // We don't test for PHP > 7 because the specific deprecated element will be removed in PHP 8 - and so no warning should come anyway (and we shouldn't suppress other stuff until we know we need to). // @codingStandardsIgnoreLine if (defined('PHP_MAJOR_VERSION') && PHP_MAJOR_VERSION == 7) { $old_level = error_reporting(); // @codingStandardsIgnoreLine $new_level = $old_level & ~E_DEPRECATED; if ($old_level != $new_level) error_reporting($new_level); } } public function set_destination_url($destination_url) { $this->destination_url = $destination_url; } public function get_destination_url() { return $this->destination_url; } public function set_option_name($key_option_name) { $this->key_option_name = $key_option_name; } /** * Method to get the remote key * * @return string */ public function get_key_remote() { if (empty($this->key_remote) && $this->can_generate) { $this->generate_new_keypair(); } return empty($this->key_remote) ? false : $this->key_remote; } /** * Set the remote key * * @param string $key_remote */ public function set_key_remote($key_remote) { $this->key_remote = $key_remote; } /** * Used for sending - when receiving, the format is part of the message * * @param integer $format */ public function set_message_format($format = 2) { $this->format = $format; } /** * Used for sending - when receiving, the format is part of the message * * @return integer */ public function get_message_format() { return $this->format; } /** * Method to get the local key * * @return string */ public function get_key_local() { if (empty($this->key_local)) { if ($this->key_option_name) { $key_local = get_site_option($this->key_option_name); if ($key_local) { $this->key_local = $key_local; } } } if (empty($this->key_local) && $this->can_generate) { $this->generate_new_keypair(); } return empty($this->key_local) ? false : $this->key_local; } /** * Tests whether a supplied string (after trimming) is a valid portable bundle * * @param string $bundle [description] * @param string $format same as get_portable_bundle() * @return array (which the consumer is free to use - e.g. convert into internationalised string), with keys 'code' and (perhaps) 'data' */ public function decode_portable_bundle($bundle, $format = 'raw') { $bundle = trim($bundle); if ('base64_with_count' == $format) { if (strlen($bundle) < 5) return array('code' => 'invalid_wrong_length', 'data' => 'too_short'); $len = substr($bundle, 0, 4); $bundle = substr($bundle, 4); $len = hexdec($len); if (strlen($bundle) != $len) return array('code' => 'invalid_wrong_length', 'data' => "1,$len,".strlen($bundle)); if (false === ($bundle = base64_decode($bundle))) return array('code' => 'invalid_corrupt', 'data' => 'not_base64'); if (null === ($bundle = json_decode($bundle, true))) return array('code' => 'invalid_corrupt', 'data' => 'not_json'); } if (empty($bundle['key'])) return array('code' => 'invalid_corrupt', 'data' => 'no_key'); if (empty($bundle['url'])) return array('code' => 'invalid_corrupt', 'data' => 'no_url'); if (empty($bundle['name_indicator'])) return array('code' => 'invalid_corrupt', 'data' => 'no_name_indicator'); return $bundle; } /** * Method to get a portable bundle sufficient to contact this site (i.e. remote site - so you need to have generated a key-pair, or stored the remote key somewhere and restored it) * * @param string $format Supported formats: base64_with_count and default)raw * @param array $extra_info needs to be JSON-serialisable, so be careful about what you put into it. * @param array $options [description] * @return array */ public function get_portable_bundle($format = 'raw', $extra_info = array(), $options = array()) { $bundle = array_merge($extra_info, array( 'key' => empty($options['key']) ? $this->get_key_remote() : $options['key'], 'name_indicator' => $this->key_name_indicator, 'url' => trailingslashit(network_site_url()), 'admin_url' => trailingslashit(admin_url()), 'network_admin_url' => trailingslashit(network_admin_url()), 'format_support' => 2, )); if ('base64_with_count' == $format) { $bundle = base64_encode(json_encode($bundle)); $len = strlen($bundle); // Get the length $len = dechex($len); // The first bytes of the message are the bundle length $len = str_pad($len, 4, '0', STR_PAD_LEFT); // Zero pad return $len.$bundle; } else { return $bundle; } } public function set_key_local($key_local) { $this->key_local = $key_local; if ($this->key_option_name) update_site_option($this->key_option_name, $this->key_local); } public function generate_new_keypair($key_size = 2048) { $this->ensure_crypto_loaded(); $rsa = new Crypt_RSA(); $keys = $rsa->createKey($key_size); if (empty($keys['privatekey'])) { $this->set_key_local(false); } else { $this->set_key_local($keys['privatekey']); } if (empty($keys['publickey'])) { $this->set_key_remote(false); } else { $this->set_key_remote($keys['publickey']); } return empty($keys['publickey']) ? false : true; } /** * A base-64 encoded RSA hash (PKCS_1) of the message digest * * @param string $message * @param boolean $use_key * @return array */ public function signature_for_message($message, $use_key = false) { $hash_algorithm = 'sha256'; // Sign with the private (local) key if (!$use_key) { if (!$this->key_local) throw new Exception('No signing key has been set'); $use_key = $this->key_local; } $this->ensure_crypto_loaded(); $rsa = new Crypt_RSA(); $rsa->loadKey($use_key); // This is the older signature mode; phpseclib's default is the preferred CRYPT_RSA_SIGNATURE_PSS; however, Forge JS doesn't yet support this. More info: https://en.wikipedia.org/wiki/PKCS_1 $rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1); // Don't do this: Crypt_RSA::sign() already calculates the digest of the hash // $hash = new Crypt_Hash($hash_algorithm); // $hashed = $hash->hash($message); // if ($this->debug) $this->log("Message hash (hash=$hash_algorithm) (hex): ".bin2hex($hashed)); // phpseclib defaults to SHA1 $rsa->setHash($hash_algorithm); $encrypted = $rsa->sign($message); if ($this->debug) $this->log('Signed hash (mode='.CRYPT_RSA_SIGNATURE_PKCS1.') (hex): '.bin2hex($encrypted)); $signature = base64_encode($encrypted); if ($this->debug) $this->log("Message signature (base64): $signature"); return $signature; } /** * Log description * * @param string $message * @param string $level $level is not yet used much */ private function log($message, $level = 'notice') { // Allow other plugins to do something with the message do_action('udrpc_log', $message, $level, $this->key_name_indicator, $this->debug, $this); if ('info' != $level) error_log('UDRPC ('.$this->key_name_indicator.", $level): $message"); } /** * Encrypt the message, using the local key (which needs to exist) * * @param string $plaintext * @param boolean $use_key * @param integer $key_length * @return array */ public function encrypt_message($plaintext, $use_key = false, $key_length = 32) { if (!$use_key) { if (1 == $this->format) { if (!$this->key_local) throw new Exception('No encryption key has been set'); $use_key = $this->key_local; } else { if (!$this->key_remote) throw new Exception('No encryption key has been set'); $use_key = $this->key_remote; } } $this->ensure_crypto_loaded(); $rsa = new Crypt_RSA(); if (defined('UDRPC_PHPSECLIB_ENCRYPTION_MODE')) $rsa->setEncryptionMode(UDRPC_PHPSECLIB_ENCRYPTION_MODE); $rij = new Crypt_Rijndael(); // Generate Random Symmetric Key $sym_key = crypt_random_string($key_length); if ($this->debug) $this->log('Unencrypted symmetric key (hex): '.bin2hex($sym_key)); // Encrypt Message with new Symmetric Key $rij->setKey($sym_key); $ciphertext = $rij->encrypt($plaintext); if ($this->debug) $this->log('Encrypted ciphertext (hex): '.bin2hex($ciphertext)); $ciphertext = base64_encode($ciphertext); // Encrypt the Symmetric Key with the Asymmetric Key $rsa->loadKey($use_key); $sym_key = $rsa->encrypt($sym_key); if ($this->debug) $this->log('Encrypted symmetric key (hex): '.bin2hex($sym_key)); // Base 64 encode the symmetric key for transport $sym_key = base64_encode($sym_key); if ($this->debug) $this->log('Encrypted symmetric key (b64): '.$sym_key); $len = str_pad(dechex(strlen($sym_key)), 3, '0', STR_PAD_LEFT); // Zero pad to be sure. // 16 characters of hex is enough for the payload to be to 16 exabytes (giga < tera < peta < exa) of data $cipherlen = str_pad(dechex(strlen($ciphertext)), 16, '0', STR_PAD_LEFT); // Concatenate the length, the encrypted symmetric key, and the message return $len.$sym_key.$cipherlen.$ciphertext; } /** * Decrypt the message, using the local key (which needs to exist) * * @param string $message * @return array */ public function decrypt_message($message) { if (!$this->key_local) throw new Exception('No decryption key has been set'); $this->ensure_crypto_loaded(); $rsa = new Crypt_RSA(); if (defined('UDRPC_PHPSECLIB_ENCRYPTION_MODE')) $rsa->setEncryptionMode(UDRPC_PHPSECLIB_ENCRYPTION_MODE); // Defaults to CRYPT_AES_MODE_CBC $rij = new Crypt_Rijndael(); // Extract the Symmetric Key $len = substr($message, 0, 3); $len = hexdec($len); $sym_key = substr($message, 3, $len); // Extract the encrypted message $cipherlen = substr($message, ($len + 3), 16); $cipherlen = hexdec($cipherlen); $ciphertext = substr($message, ($len + 19), $cipherlen); $ciphertext = base64_decode($ciphertext); // Decrypt the encrypted symmetric key $rsa->loadKey($this->key_local); $sym_key = base64_decode($sym_key); $sym_key = $rsa->decrypt($sym_key); // Decrypt the message $rij->setKey($sym_key); return $rij->decrypt($ciphertext); } /** * Creates a message * * @param string $command * @param string $data * @param boolean $is_response * @param boolean $use_key_remote * @param boolean $use_key_local * @return array which the caller will then format as required (e.g. use as body in post, or JSON-encode, etc.) [description] */ public function create_message($command, $data = null, $is_response = false, $use_key_remote = false, $use_key_local = false) { if ($is_response) { $send_array = array('response' => $command); } else { $send_array = array('command' => $command); } $send_array['time'] = time(); // This goes in the encrypted portion as well to prevent replays with a different unencrypted name indicator $send_array['key_name'] = $this->key_name_indicator; // This random element means that if the site needs to send two identical commands or responses in the same second, then it can, and still use replay protection // The value of PHP_INT_MAX on a 32-bit platform $this->message_random_number = rand(1, 2147483647); $send_array['rand'] = $this->message_random_number; if ($this->next_send_sequence_id) { $send_array['sequence_id'] = $this->next_send_sequence_id; ++$this->next_send_sequence_id; } if ($is_response && !empty($this->incoming_message) && isset($this->incoming_message['rand'])) { $send_array['incoming_rand'] = $this->incoming_message['rand']; } if (null !== $data) $send_array['data'] = $data; $send_data = $this->encrypt_message(json_encode($send_array), $use_key_remote); $message = array( 'format' => $this->format, 'key_name' => $this->key_name_indicator, 'udrpc_message' => $send_data, ); if ($this->format >= 2) { $signature = $this->signature_for_message($send_data, $use_key_local); $message['signature'] = $signature; } return $message; } /** * N.B. There's already some time-based replay protection. This can be turned on to beef it up. * This is only for listeners. Replays can only be detection if transients are working on the WP site (which by default only means that the option table is working). * * @param boolean $activate */ public function activate_replay_protection($activate = true) { $this->extra_replay_protection = (bool) $activate; } public function set_next_send_sequence_id($id) { $this->next_send_sequence_id = $id; } /** * Set_http_credentials * * @param string $credentials should be an array with entries for 'username' and 'password' */ public function set_http_credentials($credentials) { $this->http_credentials = $credentials; } /** * This needs only to return an array with keys body and response - where response is also an array, with key 'code' (the HTTP status code) * The $post_options array support these keys: timeout, body, * Public, to allow short-circuiting of the library's own encoding/decoding (e.g. for acting as a proxy for a message already encrypted elsewhere) * * @param array $post_options * @return array */ public function http_post($post_options) { global $wp_version; include ABSPATH.WPINC.'/version.php'; $http_credentials = $this->http_credentials; if (is_a($this->http_transport, 'GuzzleHttp\Client')) { // https://guzzle.readthedocs.org/en/5.3/clients.html $client = $this->http_transport; $guzzle_options = array( 'form_params' => $post_options['body'], 'headers' => array( 'User-Agent' => 'WordPress/'.$wp_version.'; class-udrpc.php-Guzzle/'.$this->version.'; '.get_bloginfo('url'), ), 'exceptions' => false, 'timeout' => $post_options['timeout'], ); if (!class_exists('WP_HTTP_Proxy')) include_once ABSPATH.WPINC.'/class-http.php'; $proxy = new WP_HTTP_Proxy(); if ($proxy->is_enabled()) { $user = $proxy->username(); $pass = $proxy->password(); $host = $proxy->host(); $port = (int) $proxy->port(); if (empty($port)) $port = 8080; if (!empty($host) && $proxy->send_through_proxy($this->destination_url)) { $proxy_auth = ''; if (!empty($user)) { $proxy_auth = $user; if (!empty($pass)) $proxy_auth .= ':'.$pass; $proxy_auth .= '@'; } $guzzle_options['proxy'] = array( 'http' => "http://{$proxy_auth}$host:$port", 'https' => "http://{$proxy_auth}$host:$port", ); } } if (defined('UDRPC_GUZZLE_SSL_VERIFY')) { $verify = UDRPC_GUZZLE_SSL_VERIFY; } elseif (file_exists(ABSPATH.WPINC.'/certificates/ca-bundle.crt')) { $verify = ABSPATH.WPINC.'/certificates/ca-bundle.crt'; } else { $verify = true; } $guzzle_options['verify'] = apply_filters('udrpc_guzzle_verify', $verify); if (!empty($http_credentials['username'])) { $authentication_method = empty($http_credentials['authentication_method']) ? 'basic' : $http_credentials['authentication_method']; $password = empty($http_credentials['password']) ? '' : $http_credentials['password']; $guzzle_options['auth'] = array( $http_credentials['username'], $password, $authentication_method, ); } $response = $client->post($this->destination_url, apply_filters('udrpc_guzzle_options', $guzzle_options, $this)); $formatted_response = array( 'response' => array( 'code' => $response->getStatusCode(), ), 'body' => $response->getBody(), ); return $formatted_response; } else { $post_options['user-agent'] = 'WordPress/'.$wp_version.'; class-udrpc.php/'.$this->version.'; '.get_bloginfo('url'); if (!empty($http_credentials['username'])) { $authentication_type = empty($http_credentials['authentication_type']) ? 'basic' : $http_credentials['authentication_type']; if ('basic' != $authentication_type) { return new WP_Error('unsupported_http_authentication_type', 'Only HTTP basic authentication is supported (for other types, use Guzzle)'); } $password = empty($http_credentials['password']) ? '' : $http_credentials['password']; $post_options['headers'] = array( 'Authorization' => 'Basic '.base64_encode($http_credentials['username'].':'.$password), ); } return wp_remote_post( $this->destination_url, $post_options ); } } public function send_message($command, $data = null, $timeout = 20) { if (empty($this->destination_url)) return new WP_Error('not_initialised', 'RPC error: URL not initialised'); $message = $this->create_message($command, $data); $post_options = array( 'timeout' => $timeout, 'body' => $message, ); $post_options = apply_filters('udrpc_post_options', $post_options, $command, $data, $timeout, $this); // Make the memory available - may be useful if the message was large unset($data); try { $post = $this->http_post($post_options); } catch (Exception $e) { // Curl can return an error code 0, which causes WP_Error to return early, without recording the message. So, we prefix the code. return new WP_Error('http_post_'.$e->getCode(), $e->getMessage()); } if (is_wp_error($post)) return $post; $response_code = wp_remote_retrieve_response_code($post); if (empty($response_code)) return new WP_Error('empty_http_code', 'Unexpected HTTP response code'); if ($response_code < 200 || $response_code >= 300) return new WP_Error('unexpected_http_code', 'Unexpected HTTP response code ('.$response_code.')', $post); $response_body = wp_remote_retrieve_body($post); if (empty($response_body)) return new WP_Error('empty_response', 'Empty response from remote site'); $decoded = json_decode($response_body, true); if (empty($decoded)) { if (false != ($found_at = strpos($response_body, '{"format":'))) { $new_body = substr($response_body, $found_at); $decoded = json_decode($new_body, true); } if (empty($decoded)) { $this->log('response from remote site ('.$this->destination_url.') could not be understood: '.substr($response_body, 0, 100).' ... ', 'info'); return new WP_Error('response_not_understood', 'Response from remote site could not be understood', $response_body); } } if (!is_array($decoded) || empty($decoded['udrpc_message'])) return new WP_Error('response_not_understood', 'Response from remote site was not in the expected format ('.$post['body'].')', $decoded); if ($this->format >= 2) { if (empty($decoded['signature'])) { $this->log('No message signature found'); die; } if (!$this->key_remote) { $this->log('No signature verification key has been set'); die; } if (!$this->verify_signature($decoded['udrpc_message'], $decoded['signature'], $this->key_remote)) { $this->log('Signature verification failed; discarding'); die; } } $decoded = $this->decrypt_message($decoded['udrpc_message']); if (!is_string($decoded)) return new WP_Error('not_decrypted', 'Response from remote site was not successfully decrypted', $decoded['udrpc_message']); $json_decoded = json_decode($decoded, true); if (!is_array($json_decoded) || empty($json_decoded['response']) || empty($json_decoded['time']) || !is_numeric($json_decoded['time'])) return new WP_Error('response_corrupt', 'Response from remote site was not in the expected format', $decoded); // Don't do the reply detection until now, because $post['body'] may not be a message that originated from the remote component at all (e.g. an HTTP error) if ($this->extra_replay_protection) { $message_hash = $this->calculate_message_hash((string) $post['body']); if ($this->message_hash_seen($message_hash)) { return new WP_Error('replay_detected', 'Message refused: replay detected', $message_hash); } } $time_difference = absint((time() - $json_decoded['time'])); if ($time_difference > $this->maximum_replay_time_difference) return new WP_Error('window_error', 'Message refused: maxium replay time difference exceeded', $time_difference); if (isset($json_decoded['incoming_rand']) && !empty($this->message_random_number) && $json_decoded['incoming_rand'] != $this->message_random_number) { // @codingStandardsIgnoreLine $this->log('UDRPC: Message mismatch (possibly MITM) (sent_rand=' + $this->message_random_number + ', returned_rand='.$json_decoded['incoming_rand'].'): dropping', 'error'); return new WP_Error('message_mismatch_error', 'Message refused: message mismatch (possible MITM)'); } // Should be an array with keys including 'response' and (if relevant) 'data' return $json_decoded; } /** * Returns a boolean indicating whether a listener was created - which depends on whether one was needed (so, false does not necessarily indicate an error condition) * * @return boolean */ public function create_listener() { $http_origin = function_exists('get_http_origin') ? get_http_origin() : (empty($_SERVER['HTTP_ORIGIN']) ? '' : $_SERVER['HTTP_ORIGIN']); // Create the WP actions to handle incoming commands, handle built-in commands (e.g. ping, create_keys (authenticate with admin creds)), dispatch them to the right place, and die if ((!empty($_POST) && !empty($_POST['udrpc_message']) && !empty($_POST['format'])) || (!empty($_SERVER['REQUEST_METHOD']) && 'OPTIONS' == $_SERVER['REQUEST_METHOD'] && $http_origin)) { add_action('wp_loaded', array($this, 'wp_loaded')); add_action('wp_loaded', array($this, 'wp_loaded_final'), 10000); return true; } return false; } public function wp_loaded_final() { if (empty($this->require_message_to_be_understood)) return; $message_for = empty($_POST['key_name']) ? '' : (string) $_POST['key_name']; $this->log("Message was received, but not understood by local site (for: $message_for)"); die; } public function wp_loaded() { /* // What if something else already set some response headers? if (function_exists('apache_response_headers')) { $apache_response_headers = apache_response_headers(); // Do something... } */ // CORS: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS // get_http_origin() : since WP 3.4 $http_origin = function_exists('get_http_origin') ? get_http_origin() : (empty($_SERVER['HTTP_ORIGIN']) ? '' : $_SERVER['HTTP_ORIGIN']); if (!empty($_SERVER['REQUEST_METHOD']) && 'OPTIONS' == $_SERVER['REQUEST_METHOD'] && $http_origin) { if (in_array($http_origin, $this->allow_cors_from)) { // @codingStandardsIgnoreLine if (!defined('UDRPC_DO_NOT_SEND_CORS_HEADERS') || !UDRPC_DO_NOT_SEND_CORS_HEADERS) { header("Access-Control-Allow-Origin: $http_origin"); header('Access-Control-Allow-Credentials: true'); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) header('Access-Control-Allow-Methods: POST, OPTIONS'); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header('Access-Control-Allow-Headers: '.$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']); } die; } elseif ($this->debug) { $this->log('Non-allowed CORS from: '.$http_origin); } // Having detected that this is a CORS request, there's nothing more to do. We return, because a different listener might pick it up, even though we didn't. return; } // Silently return, rather than dying, in case another instance is able to handle this if (empty($_POST['format']) || (1 != $_POST['format'] && 2 != $_POST['format'])) return; $this->require_message_to_be_understood = true; $format = $_POST['format']; /* In format 1 (legacy/obsolete), the one encrypts (the shared AES key) using one half of the key-pair, and decrypts with the other; whereas the other side of the conversation does the reverse when replying (and uses a different shared AES key). Though this is possible in RSA, this is the wrong thing to do - see https://crypto.stackexchange.com/questions/2123/rsa-encryption-with-private-key-and-decryption-with-a-public-key In format 2, both sides have their own private and public key. The sender encrypts using the other side's public key, and decrypts using its own private key. Messages are signed (the message digest is SHA-256). */ // Is this for us? if (empty($_POST['key_name']) || $_POST['key_name'] != $this->key_name_indicator) { return; } // wp_unslash() does not exist until after WP 3.5 // $udrpc_message = function_exists('wp_unslash') ? wp_unslash($_POST['udrpc_message']) : stripslashes_deep($_POST['udrpc_message']); // Data should not have any slashes - it is base64-encoded $udrpc_message = (string) $_POST['udrpc_message']; // Check this now, rather than allow the decrypt method to thrown an Exception if (empty($this->key_local)) { $this->log('no local key (format 1): cannot decrypt', 'error'); die; } if ($format >= 2) { if (empty($_POST['signature'])) { $this->log('No message signature found', 'error'); die; } if (!$this->key_remote) { $this->log('No signature verification key has been set', 'error'); die; } if (!$this->verify_signature($udrpc_message, $_POST['signature'], $this->key_remote)) { $this->log('Signature verification failed; discarding', 'error'); die; } } try { $udrpc_message = $this->decrypt_message($udrpc_message); } catch (Exception $e) { $this->log('Exception ('.get_class($e).'): '.$e->getMessage(), 'error'); die; } $udrpc_message = json_decode($udrpc_message, true); if (empty($udrpc_message) || !is_array($udrpc_message) || empty($udrpc_message['command']) || !is_string($udrpc_message['command'])) { $this->log('Could not decode JSON on incoming message', 'error'); die; } if (empty($udrpc_message['time'])) { $this->log('No time set in incoming message', 'error'); die; } // Mismatch indicating a replay of the message with a different key name in the unencrypted portion? if (empty($udrpc_message['key_name']) || $_POST['key_name'] != $udrpc_message['key_name']) { $this->log('key_name mismatch between encrypted and unencrypted portions', 'error'); die; } if ($this->extra_replay_protection) { $message_hash = $this->calculate_message_hash((string) $_POST['udrpc_message']); if ($this->message_hash_seen($message_hash)) { $this->log("Message dropped: apparently a replay (hash: $message_hash)", 'error'); die; } } // Do this after the extra replay protection, as that checks hashes within the maximum time window - so don't check the maximum time window until afterwards, to avoid a tiny window (race) in between. $time_difference = absint($udrpc_message['time'] - time()); if ($time_difference > $this->maximum_replay_time_difference) { $this->log("Time in incoming message is outside of allowed window ($time_difference > ".$this->maximum_replay_time_difference.')', 'error'); die; } // The sequence number should always be larger than any previously-sent sequence number if ($this->sequence_protection_tolerance) { if ($this->debug) $this->log('Sequence protection is active; tolerance: '.$this->sequence_protection_tolerance); global $wpdb; if (!isset($udrpc_message['sequence_id']) || !is_numeric($udrpc_message['sequence_id'])) { $this->log('a numerical sequence number is required, but none was included in the message - dropping', 'error'); die; } $message_sequence_id = (int) $udrpc_message['sequence_id']; $recently_seen_sequences_ids = $wpdb->get_var($wpdb->prepare('SELECT %s FROM %s LIMIT 1 WHERE '.$this->sequence_protection_where_sql, $this->sequence_protection_column, $this->sequence_protection_table)); if ('' === $recently_seen_sequences_ids) $recently_seen_sequences_ids = '0'; $recently_seen_sequences_ids_as_array = explode($recently_seen_sequences_ids, ','); sort($recently_seen_sequences_ids_as_array); // Seen before? if (in_array($message_sequence_id, $recently_seen_sequences_ids_as_array)) { $this->log("message with duplicate sequence number received - dropping (received=$message_sequence_id, seen=$recently_seen_sequences_ids)"); die; } // Within the tolerance threshold? That means: a) either bigger than the max, or b) no more than lower than the least if ($message_sequence_id > max($recently_seen_sequences_ids)) { if ($this->debug) $this->log("Sequence id ($message_sequence_id) is greater than any previous (".max($recently_seen_sequences_ids).') - message is thus OK'); // All is well $recently_seen_sequences_ids_as_array[] = $message_sequence_id; } elseif ((max($recently_seen_sequences_ids) - $message_sequence_id) <= $this->sequence_protection_tolerance) { // All is well - was one of those 'missing' in the sequence if ($this->debug) $this->log("Sequence id ($message_sequence_id) is within tolerance range of previous maximum (".max($recently_seen_sequences_ids).') - message is thus OK'); $recently_seen_sequences_ids_as_array[] = $message_sequence_id; } else { $this->log("message received outside of allowed sequence window - dropping (received=$message_sequence_id, seen=$recently_seen_sequences_ids, tolerance=".$this->sequence_protection_tolerance.')', 'error'); die; } // Remove out-of-bounds seen IDs $max_sequence_id_seen = max($recently_seen_sequences_ids_as_array); foreach ($recently_seen_sequences_ids_as_array as $k => $id) { if ($max_sequence_id_seen - $id > $this->sequence_protection_tolerance) { if ($this->debug) $this->log("Removing no-longer-relevant sequence from list of those recently seen: $id"); unset($recently_seen_sequences_ids_as_array[$k]); } } // Allow reset if ($message_sequence_id > PHP_INT_MAX - 10) { $recently_seen_sequences_ids_as_array = array(0); } // Write them back to the database $sql = $wpdb->prepare('UPDATE %s SET %s=%s WHERE '.$this->sequence_protection_where_sql, $this->sequence_protection_table, $this->sequence_protection_column, implode(',', $recently_seen_sequences_ids_as_array)); if ($this->debug) $this->log("SQL to send recent sequence IDs back to the database: $sql"); $wpdb->query($sql); } $this->incoming_message = $udrpc_message; $command = (string) $udrpc_message['command']; $data = empty($udrpc_message['data']) ? null : $udrpc_message['data']; // @codingStandardsIgnoreLine if ($http_origin && !empty($udrpc_message['cors_headers_wanted']) && (!defined('UDRPC_DO_NOT_SEND_CORS_HEADERS') || !UDRPC_DO_NOT_SEND_CORS_HEADERS)) { header("Access-Control-Allow-Origin: $http_origin"); header('Access-Control-Allow-Credentials: true'); } $this->log('Command received: '.$command, 'info'); if ('ping' == $command) { $response = array('response' => 'pong', 'data' => null); } else { if (has_filter('udrpc_command_'.$command)) { $response = apply_filters('udrpc_command_'.$command, null, $data, $this->key_name_indicator); } else { $response = array('response' => 'rpcerror', 'data' => array('code' => 'unknown_rpc_command', 'data' => $command)); } } $response = apply_filters('udrpc_action', $response, $command, $data, $this->key_name_indicator, $this); if (is_array($response)) { if ($this->debug) { $this->log('UDRPC response (pre-encoding/encryption): '.serialize($response)); } $data = isset($response['data']) ? $response['data'] : null; $final_response = json_encode($this->create_message($response['response'], $data, true)); do_action('udrpc_action_send_response', $final_response, $command); echo $final_response; } die; } /** * The hash needs to be in a format that phpseclib likes. phpseclib uses lower case. * Pass in a base64-encoded signature (i.e. just as signature_for_message creates) * * @param string $message * @param string $signature * @param string $key * @param string $hash_algorithm * @return boolean */ public function verify_signature($message, $signature, $key, $hash_algorithm = 'sha256') { $this->ensure_crypto_loaded(); $rsa = new Crypt_RSA(); $rsa->setHash(strtolower($hash_algorithm)); // This is not the default, but is what we use $rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1); $rsa->loadKey($key); // Don't hash it - Crypt_RSA::verify() already does that // $hash = new Crypt_Hash($hash_algorithm); // $hashed = $hash->hash($message); $verified = $rsa->verify($message, base64_decode($signature)); if ($this->debug) $this->log('Signature verification result: '.serialize($verified)); return $verified; } private function calculate_message_hash($message) { return hash('sha256', $message); } private function message_hash_seen($message_hash) { // 39 characters - less than the WP site transient name limit (40). Though, we use a normal transient, as these don't auto-load at all times. $transient_name = 'udrpch_'.md5($this->key_name_indicator); $seen_hashes = get_transient($transient_name); if (!is_array($seen_hashes)) $seen_hashes = array(); $time_now = time(); // $any_changes = false; // Prune the old hashes foreach ($seen_hashes as $hash => $last_seen) { if ($last_seen < ($time_now - $this->maximum_replay_time_difference)) { // $any_changes = true; unset($seen_hashes[$hash]); } } if (isset($seen_hashes[$message_hash])) { return true; } $seen_hashes[$message_hash] = $time_now; set_transient($transient_name, $seen_hashes, $this->maximum_replay_time_difference); return false; } } endif; vendor/team-updraft/common-libs/src/updraft-rpc/class-udrpc2.php000064400000116554147400355670020731 0ustar00set_key_local($our_private_key); $ud_rpc->set_key_remote($their_public_key); $encrypted = $ud_rpc->encrypt_message('blah blah'); // Use the saved WP site option $ud_rpc = new UpdraftPlus_Remote_Communications($name_indicator); // $name_indicator is a key indicator - indicating which key is being used. $ud_rpc->set_option_name('udrpc_remotekey'); if (!$ud_rpc->get_key_remote()) throw new Exception('...'); $encrypted = $ud_rpc->encrypt_message('blah blah'); // Generate a new key $ud_rpc = new UpdraftPlus_Remote_Communications('myindicator.example.com'); $ud_rpc->set_option_name('udrpc_localkey'); // Save as a WP site option $new_pair = $ud_rpc->generate_new_keypair(); if ($new_pair) { $local_private_key = $ud_rpc->get_key_local(); $remote_public_key = $ud_rpc->get_key_remote(); // ... } else { throw new Exception('...'); } // Send a message $ud_rpc->activate_replay_protection(); $ud_rpc->set_destination_url('https://example.com/path/to/wp'); $ud_rpc->send_message('ping'); $ud_rpc->send_message('somecommand', array('param1' => 'data', 'param2' => 'moredata')); // N.B. The data sent needs to be something that will pass json_encode(). So, it may be desirable to base64-encode it first. // Create a listener for incoming messages add_filter('udrpc_command_somecommand', 'my_function', 10, 3); // function my_function($response, $data, $name_indicator) { ... ; return array('response' => 'my_reply', 'data' => 'any mixed data'); } // Or: // add_filter('udrpc_action', 'some_function', 10, 4); // Function must return something other than false to indicate that it handled the specific command. Any returned value will be sent as the reply. // function some_function($response, $command, $data, $name_indicator) { ...; return array('response' => 'my_reply', 'data' => 'any mixed data'); } $ud_rpc->set_option_name('udrpc_local_private_key'); $ud_rpc->activate_replay_protection(); if ($ud_rpc->get_key_local()) { // Make sure you call this before the wp_loaded action is fired (e.g. at init) $ud_rpc->create_listener(); } // Instead of using activate_replay_protection(), you can use activate_sequence_protection() (receiving side) and set_next_send_sequence_id(). They are very similar; but, the sequence number code isn't tested, and is problematic if you may have multiple clients that don't share storage (you can use the current time as a sequence number, but if two clients send at the same millisecond (or whatever granularity you use), you may have problems); whereas the replay protection code relies on database storage on the sending side (not just the receiving). */ // @codingStandardsIgnoreEnd if (!class_exists('UpdraftPlus_Remote_Communications_V2')) : class UpdraftPlus_Remote_Communications_V2 { // Version numbers relate to versions of this PHP library only (i.e. it's not a protocol support number, and version numbers of other compatible libraries (e.g. JavaScript) are not comparable) public $version = '2.0'; private $key_name_indicator; private $key_option_name = false; private $key_remote = false; private $key_local = false; private $can_generate = false; private $destination_url = false; private $maximum_replay_time_difference = 300; private $extra_replay_protection = false; private $sequence_protection_tolerance; private $sequence_protection_table; private $sequence_protection_column; private $sequence_protection_where_sql; // Debug may log confidential data using $this->log() - so only use when you are in a secure environment private $debug = false; private $next_send_sequence_id; private $allow_cors_from = array(); private $http_transport = null; // Default protocol version - this can be over-ridden with set_message_format // Protocol version 1 (which uses only one RSA key-pair, instead of two) is legacy/deprecated private $format = 2; private $http_credentials = array(); private $incoming_message = null; private $message_random_number = null; private $require_message_to_be_understood = false; public function __construct($key_name_indicator = 'default') { $this->set_key_name_indicator($key_name_indicator); } public function set_key_name_indicator($key_name_indicator) { $this->key_name_indicator = $key_name_indicator; } public function set_can_generate($can_generate = true) { $this->can_generate = $can_generate; } /** * Which sites to allow CORS requests from * * @param string $allow_cors_from */ public function set_allow_cors_from($allow_cors_from) { $this->allow_cors_from = $allow_cors_from; } public function set_maximum_replay_time_difference($replay_time_difference) { $this->maximum_replay_time_difference = (int) $replay_time_difference; } /** * This will cause more things to be sent to $this->log() * * @param boolean $debug */ public function set_debug($debug = true) { $this->debug = (bool) $debug; } /** * Supported values: a Guzzle object, or, if not, then WP's HTTP API function siwll be used * * @param string $transport */ public function set_http_transport($transport) { $this->http_transport = $transport; } /** * Sequence protection and replay protection perform similar functions, and using both is often over-kill; the distinction is that sequence protection can be used without needing to do database writes on the sending side (e.g. use the value of time() as the sequence number). * The only rule of sequences is that the receiving side will reject any sequence number that is less than the last previously seen one, within the bounds of the tolerance (but it may also reject those if they are repeats). * The given table/column will record a comma-separated list of recently seen sequences numbers within the tolerance threshold. * * @param string $table * @param string $column * @param string $where_sql * @param integer $tolerance */ public function activate_sequence_protection($table, $column, $where_sql, $tolerance = 5) { $this->sequence_protection_tolerance = (int) $tolerance; $this->sequence_protection_table = (string) $table; $this->sequence_protection_column = (string) $column; $this->sequence_protection_where_sql = (string) $where_sql; } /** * Ugly, but necessary to prevent debug output breaking the conversation when the user has debug turned on */ private function no_deprecation_warnings_on_php7() { // PHP_MAJOR_VERSION is defined in PHP 5.2.7+ // We don't test for PHP > 7 because the specific deprecated element will be removed in PHP 8 - and so no warning should come anyway (and we shouldn't suppress other stuff until we know we need to). // @codingStandardsIgnoreLine if (defined('PHP_MAJOR_VERSION') && PHP_MAJOR_VERSION == 7) { $old_level = error_reporting(); // @codingStandardsIgnoreLine $new_level = $old_level & ~E_DEPRECATED; if ($old_level != $new_level) error_reporting($new_level); } } public function set_destination_url($destination_url) { $this->destination_url = $destination_url; } public function get_destination_url() { return $this->destination_url; } public function set_option_name($key_option_name) { $this->key_option_name = $key_option_name; } /** * Method to get the remote key * * @return string */ public function get_key_remote() { if (empty($this->key_remote) && $this->can_generate) { $this->generate_new_keypair(); } return empty($this->key_remote) ? false : $this->key_remote; } /** * Set the remote key * * @param string $key_remote */ public function set_key_remote($key_remote) { $this->key_remote = $key_remote; } /** * Used for sending - when receiving, the format is part of the message * * @param integer $format */ public function set_message_format($format = 2) { $this->format = $format; } /** * Used for sending - when receiving, the format is part of the message * * @return integer */ public function get_message_format() { return $this->format; } /** * Method to get the local key * * @return string */ public function get_key_local() { if (empty($this->key_local)) { if ($this->key_option_name) { $key_local = get_site_option($this->key_option_name); if ($key_local) { $this->key_local = $key_local; } } } if (empty($this->key_local) && $this->can_generate) { $this->generate_new_keypair(); } return empty($this->key_local) ? false : $this->key_local; } /** * Tests whether a supplied string (after trimming) is a valid portable bundle * * @param string $bundle [description] * @param string $format same as get_portable_bundle() * @return array (which the consumer is free to use - e.g. convert into internationalised string), with keys 'code' and (perhaps) 'data' */ public function decode_portable_bundle($bundle, $format = 'raw') { $bundle = trim($bundle); if ('base64_with_count' == $format) { if (strlen($bundle) < 5) return array('code' => 'invalid_wrong_length', 'data' => 'too_short'); $len = substr($bundle, 0, 4); $bundle = substr($bundle, 4); $len = hexdec($len); if (strlen($bundle) != $len) return array('code' => 'invalid_wrong_length', 'data' => "1,$len,".strlen($bundle)); if (false === ($bundle = base64_decode($bundle))) return array('code' => 'invalid_corrupt', 'data' => 'not_base64'); if (null === ($bundle = json_decode($bundle, true))) return array('code' => 'invalid_corrupt', 'data' => 'not_json'); } if (empty($bundle['key'])) return array('code' => 'invalid_corrupt', 'data' => 'no_key'); if (empty($bundle['url'])) return array('code' => 'invalid_corrupt', 'data' => 'no_url'); if (empty($bundle['name_indicator'])) return array('code' => 'invalid_corrupt', 'data' => 'no_name_indicator'); return $bundle; } /** * Method to get a portable bundle sufficient to contact this site (i.e. remote site - so you need to have generated a key-pair, or stored the remote key somewhere and restored it) * * @param string $format Supported formats: base64_with_count and default)raw * @param array $extra_info needs to be JSON-serialisable, so be careful about what you put into it. * @param array $options [description] * @return array */ public function get_portable_bundle($format = 'raw', $extra_info = array(), $options = array()) { $bundle = array_merge($extra_info, array( 'key' => empty($options['key']) ? $this->get_key_remote() : $options['key'], 'name_indicator' => $this->key_name_indicator, 'url' => trailingslashit(network_site_url()), 'admin_url' => trailingslashit(admin_url()), 'network_admin_url' => trailingslashit(network_admin_url()), 'format_support' => 2, )); if ('base64_with_count' == $format) { $bundle = base64_encode(json_encode($bundle)); $len = strlen($bundle); // Get the length $len = dechex($len); // The first bytes of the message are the bundle length $len = str_pad($len, 4, '0', STR_PAD_LEFT); // Zero pad return $len.$bundle; } else { return $bundle; } } public function set_key_local($key_local) { $this->key_local = $key_local; if ($this->key_option_name) update_site_option($this->key_option_name, $this->key_local); } public function generate_new_keypair($key_size = 2048) { $rsa = new phpseclib_Crypt_RSA(); $keys = $rsa->createKey($key_size); if (empty($keys['privatekey'])) { $this->set_key_local(false); } else { $this->set_key_local($keys['privatekey']); } if (empty($keys['publickey'])) { $this->set_key_remote(false); } else { $this->set_key_remote($keys['publickey']); } return empty($keys['publickey']) ? false : true; } /** * A base-64 encoded RSA hash (PKCS_1) of the message digest * * @param string $message * @param boolean $use_key * @return array */ public function signature_for_message($message, $use_key = false) { $hash_algorithm = 'sha256'; // Sign with the private (local) key if (!$use_key) { if (!$this->key_local) throw new Exception('No signing key has been set'); $use_key = $this->key_local; } $rsa = new phpseclib_Crypt_RSA(); $rsa->loadKey($use_key); // This is the older signature mode; phpseclib's default is the preferred CRYPT_RSA_SIGNATURE_PSS; however, Forge JS doesn't yet support this. More info: https://en.wikipedia.org/wiki/PKCS_1 $rsa->setSignatureMode(phpseclib_Crypt_RSA::SIGNATURE_PKCS1); // Don't do this: Crypt_RSA::sign() already calculates the digest of the hash // $hash = new Crypt_Hash($hash_algorithm); // $hashed = $hash->hash($message); // if ($this->debug) $this->log("Message hash (hash=$hash_algorithm) (hex): ".bin2hex($hashed)); // phpseclib defaults to SHA1 $rsa->setHash($hash_algorithm); $encrypted = $rsa->sign($message); if ($this->debug) $this->log('Signed hash (mode='.phpseclib_Crypt_RSA::SIGNATURE_PKCS1.') (hex): '.bin2hex($encrypted)); $signature = base64_encode($encrypted); if ($this->debug) $this->log("Message signature (base64): $signature"); return $signature; } /** * Log description * * @param string $message * @param string $level $level is not yet used much */ private function log($message, $level = 'notice') { // Allow other plugins to do something with the message do_action('udrpc_log', $message, $level, $this->key_name_indicator, $this->debug, $this); if ('info' != $level) error_log('UDRPC ('.$this->key_name_indicator.", $level): $message"); } /** * Encrypt the message, using the local key (which needs to exist) * * @param string $plaintext * @param boolean $use_key * @param integer $key_length * @return array */ public function encrypt_message($plaintext, $use_key = false, $key_length = 32) { if (!$use_key) { if (1 == $this->format) { if (!$this->key_local) throw new Exception('No encryption key has been set'); $use_key = $this->key_local; } else { if (!$this->key_remote) throw new Exception('No encryption key has been set'); $use_key = $this->key_remote; } } $rsa = new phpseclib_Crypt_RSA(); if (defined('UDRPC_PHPSECLIB_ENCRYPTION_MODE')) $rsa->setEncryptionMode(UDRPC_PHPSECLIB_ENCRYPTION_MODE); $rij = new phpseclib_Crypt_Rijndael(); // Generate Random Symmetric Key $sym_key = phpseclib_Crypt_Random::string($key_length); if ($this->debug) $this->log('Unencrypted symmetric key (hex): '.bin2hex($sym_key)); // Encrypt Message with new Symmetric Key $rij->setKey($sym_key); $ciphertext = $rij->encrypt($plaintext); if ($this->debug) $this->log('Encrypted ciphertext (hex): '.bin2hex($ciphertext)); $ciphertext = base64_encode($ciphertext); // Encrypt the Symmetric Key with the Asymmetric Key $rsa->loadKey($use_key); $sym_key = $rsa->encrypt($sym_key); if ($this->debug) $this->log('Encrypted symmetric key (hex): '.bin2hex($sym_key)); // Base 64 encode the symmetric key for transport $sym_key = base64_encode($sym_key); if ($this->debug) $this->log('Encrypted symmetric key (b64): '.$sym_key); $len = str_pad(dechex(strlen($sym_key)), 3, '0', STR_PAD_LEFT); // Zero pad to be sure. // 16 characters of hex is enough for the payload to be to 16 exabytes (giga < tera < peta < exa) of data $cipherlen = str_pad(dechex(strlen($ciphertext)), 16, '0', STR_PAD_LEFT); // Concatenate the length, the encrypted symmetric key, and the message return $len.$sym_key.$cipherlen.$ciphertext; } /** * Decrypt the message, using the local key (which needs to exist) * * @param string $message * @return array */ public function decrypt_message($message) { if (!$this->key_local) throw new Exception('No decryption key has been set'); $rsa = new phpseclib_Crypt_RSA(); if (defined('UDRPC_PHPSECLIB_ENCRYPTION_MODE')) $rsa->setEncryptionMode(UDRPC_PHPSECLIB_ENCRYPTION_MODE); // Defaults to CRYPT_AES_MODE_CBC $rij = new phpseclib_Crypt_Rijndael(); // Extract the Symmetric Key $len = substr($message, 0, 3); $len = hexdec($len); $sym_key = substr($message, 3, $len); // Extract the encrypted message $cipherlen = substr($message, ($len + 3), 16); $cipherlen = hexdec($cipherlen); $ciphertext = substr($message, ($len + 19), $cipherlen); $ciphertext = base64_decode($ciphertext); // Decrypt the encrypted symmetric key $rsa->loadKey($this->key_local); $sym_key = base64_decode($sym_key); $sym_key = $rsa->decrypt($sym_key); // Decrypt the message $rij->setKey($sym_key); return $rij->decrypt($ciphertext); } /** * Creates a message * * @param string $command * @param string $data * @param boolean $is_response * @param boolean $use_key_remote * @param boolean $use_key_local * @return array which the caller will then format as required (e.g. use as body in post, or JSON-encode, etc.) [description] */ public function create_message($command, $data = null, $is_response = false, $use_key_remote = false, $use_key_local = false) { if ($is_response) { $send_array = array('response' => $command); } else { $send_array = array('command' => $command); } $send_array['time'] = time(); // This goes in the encrypted portion as well to prevent replays with a different unencrypted name indicator $send_array['key_name'] = $this->key_name_indicator; // This random element means that if the site needs to send two identical commands or responses in the same second, then it can, and still use replay protection // The value of PHP_INT_MAX on a 32-bit platform $this->message_random_number = rand(1, 2147483647); $send_array['rand'] = $this->message_random_number; if ($this->next_send_sequence_id) { $send_array['sequence_id'] = $this->next_send_sequence_id; ++$this->next_send_sequence_id; } if ($is_response && !empty($this->incoming_message) && isset($this->incoming_message['rand'])) { $send_array['incoming_rand'] = $this->incoming_message['rand']; } if (null !== $data) $send_array['data'] = $data; $send_data = $this->encrypt_message(json_encode($send_array), $use_key_remote); $message = array( 'format' => $this->format, 'key_name' => $this->key_name_indicator, 'udrpc_message' => $send_data, ); if ($this->format >= 2) { $signature = $this->signature_for_message($send_data, $use_key_local); $message['signature'] = $signature; } return $message; } /** * N.B. There's already some time-based replay protection. This can be turned on to beef it up. * This is only for listeners. Replays can only be detection if transients are working on the WP site (which by default only means that the option table is working). * * @param boolean $activate */ public function activate_replay_protection($activate = true) { $this->extra_replay_protection = (bool) $activate; } public function set_next_send_sequence_id($id) { $this->next_send_sequence_id = $id; } /** * Set_http_credentials * * @param string $credentials should be an array with entries for 'username' and 'password' */ public function set_http_credentials($credentials) { $this->http_credentials = $credentials; } /** * This needs only to return an array with keys body and response - where response is also an array, with key 'code' (the HTTP status code) * The $post_options array support these keys: timeout, body, * Public, to allow short-circuiting of the library's own encoding/decoding (e.g. for acting as a proxy for a message already encrypted elsewhere) * * @param array $post_options * @return array */ public function http_post($post_options) { global $wp_version; include ABSPATH.WPINC.'/version.php'; $http_credentials = $this->http_credentials; if (is_a($this->http_transport, 'GuzzleHttp\Client')) { // https://guzzle.readthedocs.org/en/5.3/clients.html $client = $this->http_transport; $guzzle_options = array( 'form_params' => $post_options['body'], 'headers' => array( 'User-Agent' => 'WordPress/'.$wp_version.'; class-udrpc.php-Guzzle/'.$this->version.'; '.get_bloginfo('url'), ), 'exceptions' => false, 'timeout' => $post_options['timeout'], ); if (!class_exists('WP_HTTP_Proxy')) include_once ABSPATH.WPINC.'/class-http.php'; $proxy = new WP_HTTP_Proxy(); if ($proxy->is_enabled()) { $user = $proxy->username(); $pass = $proxy->password(); $host = $proxy->host(); $port = (int) $proxy->port(); if (empty($port)) $port = 8080; if (!empty($host) && $proxy->send_through_proxy($this->destination_url)) { $proxy_auth = ''; if (!empty($user)) { $proxy_auth = $user; if (!empty($pass)) $proxy_auth .= ':'.$pass; $proxy_auth .= '@'; } $guzzle_options['proxy'] = array( 'http' => "http://{$proxy_auth}$host:$port", 'https' => "http://{$proxy_auth}$host:$port", ); } } if (defined('UDRPC_GUZZLE_SSL_VERIFY')) { $verify = UDRPC_GUZZLE_SSL_VERIFY; } elseif (file_exists(ABSPATH.WPINC.'/certificates/ca-bundle.crt')) { $verify = ABSPATH.WPINC.'/certificates/ca-bundle.crt'; } else { $verify = true; } $guzzle_options['verify'] = apply_filters('udrpc_guzzle_verify', $verify); if (!empty($http_credentials['username'])) { $authentication_method = empty($http_credentials['authentication_method']) ? 'basic' : $http_credentials['authentication_method']; $password = empty($http_credentials['password']) ? '' : $http_credentials['password']; $guzzle_options['auth'] = array( $http_credentials['username'], $password, $authentication_method, ); } $response = $client->post($this->destination_url, apply_filters('udrpc_guzzle_options', $guzzle_options, $this)); $formatted_response = array( 'response' => array( 'code' => $response->getStatusCode(), ), 'body' => $response->getBody(), ); return $formatted_response; } else { $post_options['user-agent'] = 'WordPress/'.$wp_version.'; class-udrpc.php/'.$this->version.'; '.get_bloginfo('url'); if (!empty($http_credentials['username'])) { $authentication_type = empty($http_credentials['authentication_type']) ? 'basic' : $http_credentials['authentication_type']; if ('basic' != $authentication_type) { return new WP_Error('unsupported_http_authentication_type', 'Only HTTP basic authentication is supported (for other types, use Guzzle)'); } $password = empty($http_credentials['password']) ? '' : $http_credentials['password']; $post_options['headers'] = array( 'Authorization' => 'Basic '.base64_encode($http_credentials['username'].':'.$password), ); } return wp_remote_post( $this->destination_url, $post_options ); } } public function send_message($command, $data = null, $timeout = 20) { if (empty($this->destination_url)) return new WP_Error('not_initialised', 'RPC error: URL not initialised'); $message = $this->create_message($command, $data); $post_options = array( 'timeout' => $timeout, 'body' => $message, ); $post_options = apply_filters('udrpc_post_options', $post_options, $command, $data, $timeout, $this); // Make the memory available - may be useful if the message was large unset($data); try { $post = $this->http_post($post_options); } catch (Exception $e) { // Curl can return an error code 0, which causes WP_Error to return early, without recording the message. So, we prefix the code. return new WP_Error('http_post_'.$e->getCode(), $e->getMessage()); } if (is_wp_error($post)) return $post; $response_code = wp_remote_retrieve_response_code($post); if (empty($response_code)) return new WP_Error('empty_http_code', 'Unexpected HTTP response code'); if ($response_code < 200 || $response_code >= 300) return new WP_Error('unexpected_http_code', 'Unexpected HTTP response code ('.$response_code.')', $post); $response_body = wp_remote_retrieve_body($post); if (empty($response_body)) return new WP_Error('empty_response', 'Empty response from remote site'); $decoded = json_decode($response_body, true); if (empty($decoded)) { if (false != ($found_at = strpos($response_body, '{"format":'))) { $new_body = substr($response_body, $found_at); $decoded = json_decode($new_body, true); } if (empty($decoded)) { $this->log('response from remote site ('.$this->destination_url.') could not be understood: '.substr($response_body, 0, 100).' ... ', 'info'); return new WP_Error('response_not_understood', 'Response from remote site could not be understood', $response_body); } } if (!is_array($decoded) || empty($decoded['udrpc_message'])) return new WP_Error('response_not_understood', 'Response from remote site was not in the expected format ('.$post['body'].')', $decoded); if ($this->format >= 2) { if (empty($decoded['signature'])) { $this->log('No message signature found'); die; } if (!$this->key_remote) { $this->log('No signature verification key has been set'); die; } if (!$this->verify_signature($decoded['udrpc_message'], $decoded['signature'], $this->key_remote)) { $this->log('Signature verification failed; discarding'); die; } } $decoded = $this->decrypt_message($decoded['udrpc_message']); if (!is_string($decoded)) return new WP_Error('not_decrypted', 'Response from remote site was not successfully decrypted', $decoded['udrpc_message']); $json_decoded = json_decode($decoded, true); if (!is_array($json_decoded) || empty($json_decoded['response']) || empty($json_decoded['time']) || !is_numeric($json_decoded['time'])) return new WP_Error('response_corrupt', 'Response from remote site was not in the expected format', $decoded); // Don't do the reply detection until now, because $post['body'] may not be a message that originated from the remote component at all (e.g. an HTTP error) if ($this->extra_replay_protection) { $message_hash = $this->calculate_message_hash((string) $post['body']); if ($this->message_hash_seen($message_hash)) { return new WP_Error('replay_detected', 'Message refused: replay detected', $message_hash); } } $time_difference = absint((time() - $json_decoded['time'])); if ($time_difference > $this->maximum_replay_time_difference) return new WP_Error('window_error', 'Message refused: maxium replay time difference exceeded', $time_difference); if (isset($json_decoded['incoming_rand']) && !empty($this->message_random_number) && $json_decoded['incoming_rand'] != $this->message_random_number) { // @codingStandardsIgnoreLine $this->log('UDRPC: Message mismatch (possibly MITM) (sent_rand=' + $this->message_random_number + ', returned_rand='.$json_decoded['incoming_rand'].'): dropping', 'error'); return new WP_Error('message_mismatch_error', 'Message refused: message mismatch (possible MITM)'); } // Should be an array with keys including 'response' and (if relevant) 'data' return $json_decoded; } /** * Returns a boolean indicating whether a listener was created - which depends on whether one was needed (so, false does not necessarily indicate an error condition) * * @return boolean */ public function create_listener() { $http_origin = function_exists('get_http_origin') ? get_http_origin() : (empty($_SERVER['HTTP_ORIGIN']) ? '' : $_SERVER['HTTP_ORIGIN']); // Create the WP actions to handle incoming commands, handle built-in commands (e.g. ping, create_keys (authenticate with admin creds)), dispatch them to the right place, and die if ((!empty($_POST) && !empty($_POST['udrpc_message']) && !empty($_POST['format'])) || (!empty($_SERVER['REQUEST_METHOD']) && 'OPTIONS' == $_SERVER['REQUEST_METHOD'] && $http_origin)) { add_action('wp_loaded', array($this, 'wp_loaded')); add_action('wp_loaded', array($this, 'wp_loaded_final'), 10000); return true; } return false; } public function wp_loaded_final() { if (empty($this->require_message_to_be_understood)) return; $message_for = empty($_POST['key_name']) ? '' : (string) $_POST['key_name']; $this->log("Message was received, but not understood by local site (for: $message_for)"); die; } public function wp_loaded() { /* // What if something else already set some response headers? if (function_exists('apache_response_headers')) { $apache_response_headers = apache_response_headers(); // Do something... } */ // CORS: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS // get_http_origin() : since WP 3.4 $http_origin = function_exists('get_http_origin') ? get_http_origin() : (empty($_SERVER['HTTP_ORIGIN']) ? '' : $_SERVER['HTTP_ORIGIN']); if (!empty($_SERVER['REQUEST_METHOD']) && 'OPTIONS' == $_SERVER['REQUEST_METHOD'] && $http_origin) { if (in_array($http_origin, $this->allow_cors_from)) { // @codingStandardsIgnoreLine if (!defined('UDRPC_DO_NOT_SEND_CORS_HEADERS') || !UDRPC_DO_NOT_SEND_CORS_HEADERS) { header("Access-Control-Allow-Origin: $http_origin"); header('Access-Control-Allow-Credentials: true'); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) header('Access-Control-Allow-Methods: POST, OPTIONS'); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header('Access-Control-Allow-Headers: '.$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']); } die; } elseif ($this->debug) { $this->log('Non-allowed CORS from: '.$http_origin); } // Having detected that this is a CORS request, there's nothing more to do. We return, because a different listener might pick it up, even though we didn't. return; } // Silently return, rather than dying, in case another instance is able to handle this if (empty($_POST['format']) || (1 != $_POST['format'] && 2 != $_POST['format'])) return; $this->require_message_to_be_understood = true; $format = $_POST['format']; /* In format 1 (legacy/obsolete), the one encrypts (the shared AES key) using one half of the key-pair, and decrypts with the other; whereas the other side of the conversation does the reverse when replying (and uses a different shared AES key). Though this is possible in RSA, this is the wrong thing to do - see https://crypto.stackexchange.com/questions/2123/rsa-encryption-with-private-key-and-decryption-with-a-public-key In format 2, both sides have their own private and public key. The sender encrypts using the other side's public key, and decrypts using its own private key. Messages are signed (the message digest is SHA-256). */ // Is this for us? if (empty($_POST['key_name']) || $_POST['key_name'] != $this->key_name_indicator) { return; } // wp_unslash() does not exist until after WP 3.5 // $udrpc_message = function_exists('wp_unslash') ? wp_unslash($_POST['udrpc_message']) : stripslashes_deep($_POST['udrpc_message']); // Data should not have any slashes - it is base64-encoded $udrpc_message = (string) $_POST['udrpc_message']; // Check this now, rather than allow the decrypt method to thrown an Exception if (empty($this->key_local)) { $this->log('no local key (format 1): cannot decrypt', 'error'); die; } if ($format >= 2) { if (empty($_POST['signature'])) { $this->log('No message signature found', 'error'); die; } if (!$this->key_remote) { $this->log('No signature verification key has been set', 'error'); die; } if (!$this->verify_signature($udrpc_message, $_POST['signature'], $this->key_remote)) { $this->log('Signature verification failed; discarding', 'error'); die; } } try { $udrpc_message = $this->decrypt_message($udrpc_message); } catch (Exception $e) { $this->log('Exception ('.get_class($e).'): '.$e->getMessage(), 'error'); die; } $udrpc_message = json_decode($udrpc_message, true); if (empty($udrpc_message) || !is_array($udrpc_message) || empty($udrpc_message['command']) || !is_string($udrpc_message['command'])) { $this->log('Could not decode JSON on incoming message', 'error'); die; } if (empty($udrpc_message['time'])) { $this->log('No time set in incoming message', 'error'); die; } // Mismatch indicating a replay of the message with a different key name in the unencrypted portion? if (empty($udrpc_message['key_name']) || $_POST['key_name'] != $udrpc_message['key_name']) { $this->log('key_name mismatch between encrypted and unencrypted portions', 'error'); die; } if ($this->extra_replay_protection) { $message_hash = $this->calculate_message_hash((string) $_POST['udrpc_message']); if ($this->message_hash_seen($message_hash)) { $this->log("Message dropped: apparently a replay (hash: $message_hash)", 'error'); die; } } // Do this after the extra replay protection, as that checks hashes within the maximum time window - so don't check the maximum time window until afterwards, to avoid a tiny window (race) in between. $time_difference = absint($udrpc_message['time'] - time()); if ($time_difference > $this->maximum_replay_time_difference) { $this->log("Time in incoming message is outside of allowed window ($time_difference > ".$this->maximum_replay_time_difference.')', 'error'); die; } // The sequence number should always be larger than any previously-sent sequence number if ($this->sequence_protection_tolerance) { if ($this->debug) $this->log('Sequence protection is active; tolerance: '.$this->sequence_protection_tolerance); global $wpdb; if (!isset($udrpc_message['sequence_id']) || !is_numeric($udrpc_message['sequence_id'])) { $this->log('a numerical sequence number is required, but none was included in the message - dropping', 'error'); die; } $message_sequence_id = (int) $udrpc_message['sequence_id']; $recently_seen_sequences_ids = $wpdb->get_var($wpdb->prepare('SELECT %s FROM %s LIMIT 1 WHERE '.$this->sequence_protection_where_sql, $this->sequence_protection_column, $this->sequence_protection_table)); if ('' === $recently_seen_sequences_ids) $recently_seen_sequences_ids = '0'; $recently_seen_sequences_ids_as_array = explode($recently_seen_sequences_ids, ','); sort($recently_seen_sequences_ids_as_array); // Seen before? if (in_array($message_sequence_id, $recently_seen_sequences_ids_as_array)) { $this->log("message with duplicate sequence number received - dropping (received=$message_sequence_id, seen=$recently_seen_sequences_ids)"); die; } // Within the tolerance threshold? That means: a) either bigger than the max, or b) no more than lower than the least if ($message_sequence_id > max($recently_seen_sequences_ids)) { if ($this->debug) $this->log("Sequence id ($message_sequence_id) is greater than any previous (".max($recently_seen_sequences_ids).') - message is thus OK'); // All is well $recently_seen_sequences_ids_as_array[] = $message_sequence_id; } elseif ((max($recently_seen_sequences_ids) - $message_sequence_id) <= $this->sequence_protection_tolerance) { // All is well - was one of those 'missing' in the sequence if ($this->debug) $this->log("Sequence id ($message_sequence_id) is within tolerance range of previous maximum (".max($recently_seen_sequences_ids).') - message is thus OK'); $recently_seen_sequences_ids_as_array[] = $message_sequence_id; } else { $this->log("message received outside of allowed sequence window - dropping (received=$message_sequence_id, seen=$recently_seen_sequences_ids, tolerance=".$this->sequence_protection_tolerance.')', 'error'); die; } // Remove out-of-bounds seen IDs $max_sequence_id_seen = max($recently_seen_sequences_ids_as_array); foreach ($recently_seen_sequences_ids_as_array as $k => $id) { if ($max_sequence_id_seen - $id > $this->sequence_protection_tolerance) { if ($this->debug) $this->log("Removing no-longer-relevant sequence from list of those recently seen: $id"); unset($recently_seen_sequences_ids_as_array[$k]); } } // Allow reset if ($message_sequence_id > PHP_INT_MAX - 10) { $recently_seen_sequences_ids_as_array = array(0); } // Write them back to the database $sql = $wpdb->prepare('UPDATE %s SET %s=%s WHERE '.$this->sequence_protection_where_sql, $this->sequence_protection_table, $this->sequence_protection_column, implode(',', $recently_seen_sequences_ids_as_array)); if ($this->debug) $this->log("SQL to send recent sequence IDs back to the database: $sql"); $wpdb->query($sql); } $this->incoming_message = $udrpc_message; $command = (string) $udrpc_message['command']; $data = empty($udrpc_message['data']) ? null : $udrpc_message['data']; // @codingStandardsIgnoreLine if ($http_origin && !empty($udrpc_message['cors_headers_wanted']) && (!defined('UDRPC_DO_NOT_SEND_CORS_HEADERS') || !UDRPC_DO_NOT_SEND_CORS_HEADERS)) { header("Access-Control-Allow-Origin: $http_origin"); header('Access-Control-Allow-Credentials: true'); } $this->log('Command received: '.$command, 'info'); if ('ping' == $command) { $response = array('response' => 'pong', 'data' => null); } else { if (has_filter('udrpc_command_'.$command)) { $response = apply_filters('udrpc_command_'.$command, null, $data, $this->key_name_indicator); } else { $response = array('response' => 'rpcerror', 'data' => array('code' => 'unknown_rpc_command', 'data' => $command)); } } $response = apply_filters('udrpc_action', $response, $command, $data, $this->key_name_indicator, $this); if (is_array($response)) { if ($this->debug) { $this->log('UDRPC response (pre-encoding/encryption): '.serialize($response)); } $data = isset($response['data']) ? $response['data'] : null; $final_response = json_encode($this->create_message($response['response'], $data, true)); do_action('udrpc_action_send_response', $final_response, $command); echo $final_response; } die; } /** * The hash needs to be in a format that phpseclib likes. phpseclib uses lower case. * Pass in a base64-encoded signature (i.e. just as signature_for_message creates) * * @param string $message * @param string $signature * @param string $key * @param string $hash_algorithm * @return boolean */ public function verify_signature($message, $signature, $key, $hash_algorithm = 'sha256') { $rsa = new phpseclib_Crypt_RSA(); $rsa->setHash(strtolower($hash_algorithm)); // This is not the default, but is what we use $rsa->setSignatureMode(phpseclib_Crypt_RSA::SIGNATURE_PKCS1); $rsa->loadKey($key); // Don't hash it - Crypt_RSA::verify() already does that // $hash = new Crypt_Hash($hash_algorithm); // $hashed = $hash->hash($message); $verified = $rsa->verify($message, base64_decode($signature)); if ($this->debug) $this->log('Signature verification result: '.serialize($verified)); return $verified; } private function calculate_message_hash($message) { return hash('sha256', $message); } private function message_hash_seen($message_hash) { // 39 characters - less than the WP site transient name limit (40). Though, we use a normal transient, as these don't auto-load at all times. $transient_name = 'udrpch_'.md5($this->key_name_indicator); $seen_hashes = get_transient($transient_name); if (!is_array($seen_hashes)) $seen_hashes = array(); $time_now = time(); // $any_changes = false; // Prune the old hashes foreach ($seen_hashes as $hash => $last_seen) { if ($last_seen < ($time_now - $this->maximum_replay_time_difference)) { // $any_changes = true; unset($seen_hashes[$hash]); } } if (isset($seen_hashes[$message_hash])) { return true; } $seen_hashes[$message_hash] = $time_now; set_transient($transient_name, $seen_hashes, $this->maximum_replay_time_difference); return false; } } endif; vendor/team-updraft/common-libs/src/updraft-semaphore/test.php000064400000002600147400355670020567 0ustar00lock()) { try { // do stuff ... $my_lock_again = new Updraft_Semaphore_3_0('my_test_lock_name', 4, array(new Test_Logger_2())); $time_now = microtime(true); if ($my_lock_again->lock(6)) { echo "Eventually got it after ".round(microtime(true) - $time_now, 3)." seconds\n"; $my_lock_again->release(); } else { echo("Sorry, could not get the second lock\n"); } } catch (Exception $e) { var_dump($e); // We are making sure we release the lock in case of an error } catch (Error $e) { // phpcs:ignore PHPCompatibility.Classes.NewClasses.errorFound var_dump($e); // We are making sure we release the lock in case of an error } $my_lock->release(); } else { echo("Sorry, could not get the first lock\n"); } vendor/team-updraft/common-libs/src/updraft-semaphore/class-updraft-semaphore.php000064400000017015147400355670024347 0ustar00lock(2)) { * try { * // do stuff ... * } catch (Exception $e) { * // We are making sure we release the lock in case of an error * } catch (Error $e) { * // We are making sure we release the lock in case of an error * } * $my_lock->release(); * } else { * error_log("Sorry, could not get the lock"); * } */ class Updraft_Semaphore_3_0 { // Time after which the lock will expire (in seconds) protected $locked_for; // Name for the lock in the WP options table protected $option_name; // Lock status - a boolean protected $acquired = false; // An array of loggers protected $loggers = array(); /** * Constructor. Instantiating does not lock anything, but sets up the details for future operations. * * @param String $name - a unique (across the WP site) name for the lock. Should be no more than 51 characters in length (because of the use of the WP options table, with some further characters used internally) * @param Integer $locked_for - time (in seconds) after which the lock will expire if not released. This needs to be positive if you don't want bad things to happen. * @param Array $loggers - an array of loggers */ public function __construct($name, $locked_for = 300, $loggers = array()) { $this->option_name = 'updraft_lock_'.$name; $this->locked_for = $locked_for; $this->loggers = $loggers; } /** * Internal function to make sure that the lock is set up in the database * * @return Integer - 0 means 'failed' (which could include that someone else concurrently created it); 1 means 'already existed'; 2 means 'exists, because we created it). The intention is that non-zero results mean that the lock exists. */ private function ensure_database_initialised() { global $wpdb; $sql = $wpdb->prepare("SELECT COUNT(*) FROM {$wpdb->options} WHERE option_name = %s", $this->option_name); if (1 === (int) $wpdb->get_var($sql)) { $this->log('Lock option ('.$this->option_name.', '.$wpdb->options.') already existed in the database', 'debug'); return 1; } $sql = $wpdb->prepare("INSERT INTO {$wpdb->options} (option_name, option_value, autoload) VALUES(%s, '0', 'no');", $this->option_name); $rows_affected = $wpdb->query($sql); if ($rows_affected > 0) { $this->log('Lock option ('.$this->option_name.', '.$wpdb->options.') was created in the database', 'debug'); } else { $this->log('Lock option ('.$this->option_name.', '.$wpdb->options.') failed to be created in the database (could already exist)', 'notice'); } return ($rows_affected > 0) ? 2 : 0; } /** * Attempt to acquire the lock. If it was already acquired, then nothing extra will be done (the method will be a no-op). * * @param Integer $retries - how many times to retry (after a 1 second sleep each time) * * @return Boolean - whether the lock was successfully acquired or not */ public function lock($retries = 0) { if ($this->acquired) return true; global $wpdb; $time_now = time(); $acquire_until = $time_now + $this->locked_for; $sql = $wpdb->prepare("UPDATE {$wpdb->options} SET option_value = %s WHERE option_name = %s AND option_value < %d", $acquire_until, $this->option_name, $time_now); if (1 === $wpdb->query($sql)) { $this->log('Lock ('.$this->option_name.', '.$wpdb->options.') acquired', 'info'); $this->acquired = true; return true; } // See if the failure was caused by the row not existing (we check this only after failure, because it should only occur once on the site) if (!$this->ensure_database_initialised()) return false; do { // Now that the row has been created, try again if (1 === $wpdb->query($sql)) { $this->log('Lock ('.$this->option_name.', '.$wpdb->options.') acquired after initialising the database', 'info'); $this->acquired = true; return true; } $retries--; if ($retries >=0) { $this->log('Lock ('.$this->option_name.', '.$wpdb->options.') not yet acquired; sleeping', 'debug'); sleep(1); // As a second has passed, update the time we are aiming for $time_now = time(); $acquire_until = $time_now + $this->locked_for; $sql = $wpdb->prepare("UPDATE {$wpdb->options} SET option_value = %s WHERE option_name = %s AND option_value < %d", $acquire_until, $this->option_name, $time_now); } } while ($retries >= 0); $this->log('Lock ('.$this->option_name.', '.$wpdb->options.') could not be acquired (it is locked)', 'info'); return false; } /** * Release the lock * * N.B. We don't attempt to unlock it unless we locked it. i.e. Lost locks are left to expire rather than being forced. (If we want to force them, we'll need to introduce a new parameter). * * @return Boolean - if it returns false, then the lock was apparently not locked by us (and the caller will most likely therefore ignore the result, whatever it is). */ public function release() { if (!$this->acquired) return false; global $wpdb; $sql = $wpdb->prepare("UPDATE {$wpdb->options} SET option_value = '0' WHERE option_name = %s", $this->option_name); $this->log('Lock option ('.$this->option_name.', '.$wpdb->options.') released', 'info'); $result = (int) $wpdb->query($sql) === 1; $this->acquired = false; return $result; } /** * Cleans up the DB of any residual data. This should not be used as part of ordinary unlocking; only as part of deinstalling, or if you otherwise know that the lock will not be used again. If calling this, it's redundant to first unlock (and a no-op to attempt to do so afterwards). */ public function delete() { $this->acquired = false; global $wpdb; $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->options} WHERE option_name = %s", $this->option_name)); $this->log('Lock option ('.$this->option_name.', '.$wpdb->options.') was deleted from the database'); } /** * Captures and logs any given messages * * @param String $message - the error message * @param String $level - the message level (debug, notice, info, warning, error) */ public function log($message, $level = 'info') { if (isset($this->loggers)) { foreach ($this->loggers as $logger) { $logger->log($message, $level); } } } /** * Sets the list of loggers for this instance (removing any others). * * @param Array $loggers - the loggers for this task */ public function set_loggers($loggers) { $this->loggers = array(); foreach ($loggers as $logger) { $this->add_logger($logger); } } /** * Add a logger to loggers list * * @param Callable $logger - a logger (a method with a callable function 'log', taking string parameters $level $message) */ public function add_logger($logger) { $this->loggers[] = $logger; } /** * Return the current list of loggers * * @return Array */ public function get_loggers() { return $this->loggers; } } vendor/team-updraft/common-libs/src/updraft-notices/updraft-notices.php000064400000017646147400355670022420 0ustar00' : ''; } else { return $html_allowed ? '' : ''; } } /** * Generate the end of a HTML URL * * @param boolean $html_allowed - indicates if HTML is allowed or not * @param string $url - the URL * @param boolean $https - the protocol to use * * @return string returns a partial HTML URL */ protected function url_end($html_allowed, $url, $https = false) { $proto = $https ? 'https' : 'http'; return $html_allowed ? '' : ' ('.$proto.'://'.$url.')'; } /** * Renders notice * * @param mixed $notice - a specific notice to render or false * @param string $position - position of the notice * @param boolean $return_instead_of_echo - indicates if we should echo notice or return as string * * @return mixed Returns string or echos notice */ public function do_notice($notice = false, $position = 'top', $return_instead_of_echo = false) { $this->notices_init(); if (false === $notice) $notice = apply_filters('updraft_notices_force_id', false, $this); $notice_content = $this->get_notice_data($notice, $position); if (false != $notice_content) { return $this->render_specified_notice($notice_content, $return_instead_of_echo, $position); } } /** * This method will return a notice ready for display. * * @param boolean $notice - a specific notice to render or false * @param string $position - position of the notice * * @return array returns notice data */ protected function get_notice_data($notice = false, $position = 'top') { // If a specific notice has been passed to this method then return that notice. if ($notice) { if (!isset($this->notices_content[$notice])) return false; // Does the notice support the position specified? if (isset($this->notices_content[$notice]['supported_positions']) && !in_array($position, $this->notices_content[$notice]['supported_positions'])) return false; // First check if the advert passed can be displayed and hasn't been dismissed, we do this by checking what dismissed value we should be checking. $dismiss_time = $this->notices_content[$notice]['dismiss_time']; $dismiss = $this->check_notice_dismissed($dismiss_time); if ($dismiss) return false; // If the advert has a validity function, then require the advert to be valid if (!empty($this->notices_content[$notice]['validity_function']) && !call_user_func(array($this, $this->notices_content[$notice]['validity_function']))) return false; return $this->notices_content[$notice]; } // Create an array to add non-seasonal adverts to so that if a seasonal advert can't be returned we can choose a random advert from this array. $available_notices = array(); // If Advert wasn't passed then next we should check to see if a seasonal advert can be returned. foreach ($this->notices_content as $notice_id => $notice_data) { // Does the notice support the position specified? if (isset($this->notices_content[$notice_id]['supported_positions']) && !in_array($position, $this->notices_content[$notice_id]['supported_positions'])) continue; // If the advert has a validity function, then require the advert to be valid. if (!empty($notice_data['validity_function']) && !call_user_func(array($this, $notice_data['validity_function']))) continue; if (isset($notice_data['valid_from']) && isset($notice_data['valid_to'])) { if ($this->skip_seasonal_notices($notice_data)) return $notice_data; } else { $dismiss_time = $this->notices_content[$notice_id]['dismiss_time']; $dismiss = $this->check_notice_dismissed($dismiss_time); if (!$dismiss) $available_notices[$notice_id] = $notice_data; } } if (empty($available_notices)) return false; // If a seasonal advert can't be returned then we will return a random advert. // Here we give a 25% chance for the rate advert to be returned before selecting a random advert from the entire collection which also includes the rate advert if (0 == rand(0, 3) && isset($available_notices['rate'])) return $available_notices['rate']; // Using shuffle here as something like rand which produces a random number and uses that as the array index fails, this is because in future an advert may not be numbered and could have a string as its key which will then cause errors. shuffle($available_notices); return $available_notices[0]; } /** * Skip seasonal notices * * @param array $notice_data - an array of data for the chosen notice * * @return boolean */ protected function skip_seasonal_notices($notice_data) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable return false; } /** * Returns affiliate ID * * @return mixed Returns affiliate ID */ public function get_affiliate_id() { return $this->self_affiliate_id; } /** * Checks if the notice has been dismissed * * @param string $dismiss_time - dismiss time * * @return mixed */ abstract protected function check_notice_dismissed($dismiss_time); } vendor/team-updraft/common-libs/README.md000064400000001023147400355670014137 0ustar00# Common Libraries This project contains many useful libraries that are currently used and can be reused across our projects. They are kept here for easy maintenance and also so that consumers get a uniform interface and things dont break across versions or on updates. CHANGELOG * TWEAK: Port from previous semaphore classes to Updraft_Semaphore_3_0 in updraft-tasks * FIX: Wrong query value in `delete_task_meta` method * TWEAK: Make the logging format uniform * FIX: Wrong DB Schema reference * TWEAK: Logging on the semaphorevendor/components/jquery/component.json000064400000000662147400355670014461 0ustar00{ "name": "jquery", "repo": "components/jquery", "version": "3.7.1", "description": "jQuery component", "license": "MIT", "keywords": [ "jquery", "component" ], "main": "jquery.js", "scripts": [ "jquery.js", "jquery.min.js", "jquery.slim.js", "jquery.slim.min.js" ], "files": [ "jquery.min.map", "jquery.slim.min.map" ] } vendor/components/jquery/jquery.min.map000064400000407157147400355670014376 0ustar00{"version":3,"sources":["jquery-3.7.1.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","flat","array","call","concat","apply","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","support","isFunction","obj","nodeType","item","isWindow","preservedScriptAttributes","type","src","nonce","noModule","DOMEval","code","node","doc","i","val","script","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","version","rhtmlSuffix","jQuery","selector","context","fn","init","isArrayLike","length","nodeName","elem","name","toLowerCase","prototype","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","arguments","first","eq","last","even","grep","_elem","odd","len","j","end","sort","splice","extend","options","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","textContent","documentElement","nodeValue","makeArray","results","inArray","isXMLDoc","namespace","namespaceURI","docElem","ownerDocument","test","second","invert","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","_i","pop","whitespace","rtrimCSS","RegExp","contains","a","b","bup","compareDocumentPosition","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","escapeSelector","sel","preferredDoc","pushNative","Expr","outermostContext","sortInput","hasDuplicate","documentIsHTML","rbuggyQSA","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","booleans","identifier","attributes","pseudos","rwhitespace","rcomma","rleadingCombinator","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","unloadHandler","setDocument","inDisabledFieldset","addCombinator","disabled","dir","next","childNodes","e","els","find","seed","m","nid","match","groups","newSelector","newContext","exec","getElementById","id","getElementsByTagName","getElementsByClassName","testContext","scope","tokenize","toSelector","join","querySelectorAll","qsaError","removeAttribute","select","keys","cache","key","cacheLength","shift","markFunction","assert","el","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","subWindow","webkitMatchesSelector","msMatchesSelector","defaultView","top","addEventListener","getById","getElementsByName","disconnectedMatch","cssHas","querySelector","filter","attrId","getAttributeNode","tag","className","input","innerHTML","compare","sortDetached","expr","elements","matchesSelector","attr","attrHandle","uniqueSort","duplicates","sortStable","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","expectedNodeName","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","outerCache","nodeIndex","start","parent","useCache","diff","firstChild","lastChild","pseudo","args","setFilters","idx","matched","not","matcher","compile","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","err","safeActiveElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","nextSibling","header","button","_matchIndexes","lt","gt","nth","radio","checkbox","file","password","image","submit","reset","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","matcherOut","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","filters","unique","getText","isXML","selectors","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","cur","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","list","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","handler","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","rejectWith","getErrorHook","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","asyncError","console","warn","message","stack","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","attrs","dequeue","startLength","hooks","_queueHooks","unshift","stop","setter","clearQueue","tmp","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","defaultValue","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","rhtml","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","on","types","one","origFn","event","off","leverageNative","isSetup","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","isImmediatePropagationStopped","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","Date","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","focusMappedHandler","documentMode","simulate","attaches","dataHolder","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","rcustomProp","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","isCustomProp","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","borderTopWidth","borderBottomWidth","offsetHeight","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","marginDelta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","aspectRatio","borderImageSlice","columnCount","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","origName","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","class","addClass","classNames","curValue","finalValue","removeClass","toggleClass","stateVal","isValidValue","hasClass","rreturn","valHooks","optionSet","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","triggerHandler","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","rtrim","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":";CAUA,SAAYA,EAAQC,GAEnB,aAEuB,iBAAXC,QAAiD,iBAAnBA,OAAOC,QAShDD,OAAOC,QAAUH,EAAOI,SACvBH,EAASD,GAAQ,GACjB,SAAUK,GACT,IAAMA,EAAED,SACP,MAAM,IAAIE,MAAO,4CAElB,OAAOL,EAASI,IAGlBJ,EAASD,GAtBX,CA0BuB,oBAAXO,OAAyBA,OAASC,KAAM,SAAUD,GAAQE,GAMtE,aAEA,IAAIC,GAAM,GAENC,EAAWC,OAAOC,eAElBC,GAAQJ,GAAII,MAEZC,EAAOL,GAAIK,KAAO,SAAUC,GAC/B,OAAON,GAAIK,KAAKE,KAAMD,IACnB,SAAUA,GACb,OAAON,GAAIQ,OAAOC,MAAO,GAAIH,IAI1BI,EAAOV,GAAIU,KAEXC,GAAUX,GAAIW,QAEdC,EAAa,GAEbC,EAAWD,EAAWC,SAEtBC,GAASF,EAAWG,eAEpBC,EAAaF,GAAOD,SAEpBI,EAAuBD,EAAWT,KAAML,QAExCgB,GAAU,GAEVC,EAAa,SAAqBC,GASpC,MAAsB,mBAARA,GAA8C,iBAAjBA,EAAIC,UAC1B,mBAAbD,EAAIE,MAIVC,EAAW,SAAmBH,GAChC,OAAc,MAAPA,GAAeA,IAAQA,EAAIvB,QAIhCH,EAAWG,GAAOH,SAIjB8B,EAA4B,CAC/BC,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,UAAU,GAGX,SAASC,EAASC,EAAMC,EAAMC,GAG7B,IAAIC,EAAGC,EACNC,GAHDH,EAAMA,GAAOtC,GAGC0C,cAAe,UAG7B,GADAD,EAAOE,KAAOP,EACTC,EACJ,IAAME,KAAKT,GAYVU,EAAMH,EAAME,IAAOF,EAAKO,cAAgBP,EAAKO,aAAcL,KAE1DE,EAAOI,aAAcN,EAAGC,GAI3BF,EAAIQ,KAAKC,YAAaN,GAASO,WAAWC,YAAaR,GAIzD,SAASS,EAAQxB,GAChB,OAAY,MAAPA,EACGA,EAAM,GAIQ,iBAARA,GAAmC,mBAARA,EACxCR,EAAYC,EAASN,KAAMa,KAAW,gBAC/BA,EAQT,IAAIyB,EAAU,QAEbC,EAAc,SAGdC,GAAS,SAAUC,EAAUC,GAI5B,OAAO,IAAIF,GAAOG,GAAGC,KAAMH,EAAUC,IAmYvC,SAASG,EAAahC,GAMrB,IAAIiC,IAAWjC,GAAO,WAAYA,GAAOA,EAAIiC,OAC5C5B,EAAOmB,EAAQxB,GAEhB,OAAKD,EAAYC,KAASG,EAAUH,KAIpB,UAATK,GAA+B,IAAX4B,GACR,iBAAXA,GAAgC,EAATA,GAAgBA,EAAS,KAAOjC,GAIhE,SAASkC,GAAUC,EAAMC,GAExB,OAAOD,EAAKD,UAAYC,EAAKD,SAASG,gBAAkBD,EAAKC,cApZ9DV,GAAOG,GAAKH,GAAOW,UAAY,CAG9BC,OAAQd,EAERe,YAAab,GAGbM,OAAQ,EAERQ,QAAS,WACR,OAAOzD,GAAMG,KAAMT,OAKpBgE,IAAK,SAAUC,GAGd,OAAY,MAAPA,EACG3D,GAAMG,KAAMT,MAIbiE,EAAM,EAAIjE,KAAMiE,EAAMjE,KAAKuD,QAAWvD,KAAMiE,IAKpDC,UAAW,SAAUC,GAGpB,IAAIC,EAAMnB,GAAOoB,MAAOrE,KAAK8D,cAAeK,GAM5C,OAHAC,EAAIE,WAAatE,KAGVoE,GAIRG,KAAM,SAAUC,GACf,OAAOvB,GAAOsB,KAAMvE,KAAMwE,IAG3BC,IAAK,SAAUD,GACd,OAAOxE,KAAKkE,UAAWjB,GAAOwB,IAAKzE,KAAM,SAAUyD,EAAMtB,GACxD,OAAOqC,EAAS/D,KAAMgD,EAAMtB,EAAGsB,OAIjCnD,MAAO,WACN,OAAON,KAAKkE,UAAW5D,GAAMK,MAAOX,KAAM0E,aAG3CC,MAAO,WACN,OAAO3E,KAAK4E,GAAI,IAGjBC,KAAM,WACL,OAAO7E,KAAK4E,IAAK,IAGlBE,KAAM,WACL,OAAO9E,KAAKkE,UAAWjB,GAAO8B,KAAM/E,KAAM,SAAUgF,EAAO7C,GAC1D,OAASA,EAAI,GAAM,MAIrB8C,IAAK,WACJ,OAAOjF,KAAKkE,UAAWjB,GAAO8B,KAAM/E,KAAM,SAAUgF,EAAO7C,GAC1D,OAAOA,EAAI,MAIbyC,GAAI,SAAUzC,GACb,IAAI+C,EAAMlF,KAAKuD,OACd4B,GAAKhD,GAAMA,EAAI,EAAI+C,EAAM,GAC1B,OAAOlF,KAAKkE,UAAgB,GAALiB,GAAUA,EAAID,EAAM,CAAElF,KAAMmF,IAAQ,KAG5DC,IAAK,WACJ,OAAOpF,KAAKsE,YAActE,KAAK8D,eAKhClD,KAAMA,EACNyE,KAAMnF,GAAImF,KACVC,OAAQpF,GAAIoF,QAGbrC,GAAOsC,OAAStC,GAAOG,GAAGmC,OAAS,WAClC,IAAIC,EAAS9B,EAAM9B,EAAK6D,EAAMC,EAAaC,EAC1CC,EAASlB,UAAW,IAAO,GAC3BvC,EAAI,EACJoB,EAASmB,UAAUnB,OACnBsC,GAAO,EAsBR,IAnBuB,kBAAXD,IACXC,EAAOD,EAGPA,EAASlB,UAAWvC,IAAO,GAC3BA,KAIsB,iBAAXyD,GAAwBvE,EAAYuE,KAC/CA,EAAS,IAILzD,IAAMoB,IACVqC,EAAS5F,KACTmC,KAGOA,EAAIoB,EAAQpB,IAGnB,GAAqC,OAA9BqD,EAAUd,UAAWvC,IAG3B,IAAMuB,KAAQ8B,EACbC,EAAOD,EAAS9B,GAIF,cAATA,GAAwBkC,IAAWH,IAKnCI,GAAQJ,IAAUxC,GAAO6C,cAAeL,KAC1CC,EAAcK,MAAMC,QAASP,MAC/B7D,EAAMgE,EAAQlC,GAIbiC,EADID,IAAgBK,MAAMC,QAASpE,GAC3B,GACI8D,GAAgBzC,GAAO6C,cAAelE,GAG1CA,EAFA,GAIT8D,GAAc,EAGdE,EAAQlC,GAAST,GAAOsC,OAAQM,EAAMF,EAAOF,SAGzBQ,IAATR,IACXG,EAAQlC,GAAS+B,IAOrB,OAAOG,GAGR3C,GAAOsC,OAAQ,CAGdW,QAAS,UAAanD,EAAUoD,KAAKC,UAAWC,QAAS,MAAO,IAGhEC,SAAS,EAETC,MAAO,SAAUC,GAChB,MAAM,IAAI1G,MAAO0G,IAGlBC,KAAM,aAENX,cAAe,SAAUxE,GACxB,IAAIoF,EAAOC,EAIX,SAAMrF,GAAgC,oBAAzBP,EAASN,KAAMa,QAI5BoF,EAAQvG,EAAUmB,KASK,mBADvBqF,EAAO3F,GAAOP,KAAMiG,EAAO,gBAAmBA,EAAM5C,cACf5C,EAAWT,KAAMkG,KAAWxF,IAGlEyF,cAAe,SAAUtF,GACxB,IAAIoC,EAEJ,IAAMA,KAAQpC,EACb,OAAO,EAER,OAAO,GAKRuF,WAAY,SAAU7E,EAAMwD,EAAStD,GACpCH,EAASC,EAAM,CAAEH,MAAO2D,GAAWA,EAAQ3D,OAASK,IAGrDqC,KAAM,SAAUjD,EAAKkD,GACpB,IAAIjB,EAAQpB,EAAI,EAEhB,GAAKmB,EAAahC,IAEjB,IADAiC,EAASjC,EAAIiC,OACLpB,EAAIoB,EAAQpB,IACnB,IAAgD,IAA3CqC,EAAS/D,KAAMa,EAAKa,GAAKA,EAAGb,EAAKa,IACrC,WAIF,IAAMA,KAAKb,EACV,IAAgD,IAA3CkD,EAAS/D,KAAMa,EAAKa,GAAKA,EAAGb,EAAKa,IACrC,MAKH,OAAOb,GAKRiB,KAAM,SAAUkB,GACf,IAAIxB,EACHmC,EAAM,GACNjC,EAAI,EACJZ,EAAWkC,EAAKlC,SAEjB,IAAMA,EAGL,MAAUU,EAAOwB,EAAMtB,KAGtBiC,GAAOnB,GAAOV,KAAMN,GAGtB,OAAkB,IAAbV,GAA+B,KAAbA,EACfkC,EAAKqD,YAEK,IAAbvF,EACGkC,EAAKsD,gBAAgBD,YAEX,IAAbvF,GAA+B,IAAbA,EACfkC,EAAKuD,UAKN5C,GAIR6C,UAAW,SAAU/G,EAAKgH,GACzB,IAAI9C,EAAM8C,GAAW,GAarB,OAXY,MAAPhH,IACCoD,EAAalD,OAAQF,IACzB+C,GAAOoB,MAAOD,EACE,iBAARlE,EACN,CAAEA,GAAQA,GAGZU,EAAKH,KAAM2D,EAAKlE,IAIXkE,GAGR+C,QAAS,SAAU1D,EAAMvD,EAAKiC,GAC7B,OAAc,MAAPjC,GAAe,EAAIW,GAAQJ,KAAMP,EAAKuD,EAAMtB,IAGpDiF,SAAU,SAAU3D,GACnB,IAAI4D,EAAY5D,GAAQA,EAAK6D,aAC5BC,EAAU9D,IAAUA,EAAK+D,eAAiB/D,GAAOsD,gBAIlD,OAAQ/D,EAAYyE,KAAMJ,GAAaE,GAAWA,EAAQ/D,UAAY,SAKvEa,MAAO,SAAUM,EAAO+C,GAKvB,IAJA,IAAIxC,GAAOwC,EAAOnE,OACjB4B,EAAI,EACJhD,EAAIwC,EAAMpB,OAEH4B,EAAID,EAAKC,IAChBR,EAAOxC,KAAQuF,EAAQvC,GAKxB,OAFAR,EAAMpB,OAASpB,EAERwC,GAGRI,KAAM,SAAUZ,EAAOK,EAAUmD,GAShC,IARA,IACCC,EAAU,GACVzF,EAAI,EACJoB,EAASY,EAAMZ,OACfsE,GAAkBF,EAIXxF,EAAIoB,EAAQpB,KACAqC,EAAUL,EAAOhC,GAAKA,KAChB0F,GACxBD,EAAQhH,KAAMuD,EAAOhC,IAIvB,OAAOyF,GAIRnD,IAAK,SAAUN,EAAOK,EAAUsD,GAC/B,IAAIvE,EAAQwE,EACX5F,EAAI,EACJiC,EAAM,GAGP,GAAKd,EAAaa,GAEjB,IADAZ,EAASY,EAAMZ,OACPpB,EAAIoB,EAAQpB,IAGL,OAFd4F,EAAQvD,EAAUL,EAAOhC,GAAKA,EAAG2F,KAGhC1D,EAAIxD,KAAMmH,QAMZ,IAAM5F,KAAKgC,EAGI,OAFd4D,EAAQvD,EAAUL,EAAOhC,GAAKA,EAAG2F,KAGhC1D,EAAIxD,KAAMmH,GAMb,OAAOxH,EAAM6D,IAId4D,KAAM,EAIN5G,QAASA,KAGa,mBAAX6G,SACXhF,GAAOG,GAAI6E,OAAOC,UAAahI,GAAK+H,OAAOC,WAI5CjF,GAAOsB,KAAM,uEAAuE4D,MAAO,KAC1F,SAAUC,EAAI1E,GACb5C,EAAY,WAAa4C,EAAO,KAAQA,EAAKC,gBA0B/C,IAAI0E,GAAMnI,GAAImI,IAGVhD,GAAOnF,GAAImF,KAGXC,GAASpF,GAAIoF,OAGbgD,GAAa,sBAGbC,GAAW,IAAIC,OAClB,IAAMF,GAAa,8BAAgCA,GAAa,KAChE,KAODrF,GAAOwF,SAAW,SAAUC,EAAGC,GAC9B,IAAIC,EAAMD,GAAKA,EAAE/F,WAEjB,OAAO8F,IAAME,MAAWA,GAAwB,IAAjBA,EAAIrH,YAIlCmH,EAAED,SACDC,EAAED,SAAUG,GACZF,EAAEG,yBAA8D,GAAnCH,EAAEG,wBAAyBD,MAS3D,IAAIE,EAAa,+CAEjB,SAASC,EAAYC,EAAIC,GACxB,OAAKA,EAGQ,OAAPD,EACG,SAIDA,EAAG1I,MAAO,GAAI,GAAM,KAAO0I,EAAGE,WAAYF,EAAGzF,OAAS,GAAIxC,SAAU,IAAO,IAI5E,KAAOiI,EAGf/F,GAAOkG,eAAiB,SAAUC,GACjC,OAASA,EAAM,IAAK/C,QAASyC,EAAYC,IAM1C,IAAIM,GAAezJ,EAClB0J,GAAa1I,GAEd,WAEA,IAAIuB,EACHoH,EACAC,EACAC,EACAC,EAIA9J,EACAmH,EACA4C,EACAC,EACAhC,EAPAhH,EAAO0I,GAUPpD,EAAUjD,GAAOiD,QACjB2D,EAAU,EACVC,EAAO,EACPC,EAAaC,IACbC,EAAaD,IACbE,EAAgBF,IAChBG,EAAyBH,IACzBI,EAAY,SAAU1B,EAAGC,GAIxB,OAHKD,IAAMC,IACVe,GAAe,GAET,GAGRW,EAAW,6HAMXC,EAAa,0BAA4BhC,GACxC,0CAGDiC,EAAa,MAAQjC,GAAa,KAAOgC,EAAa,OAAShC,GAG9D,gBAAkBA,GAGlB,2DAA6DgC,EAAa,OAC1EhC,GAAa,OAEdkC,EAAU,KAAOF,EAAa,wFAOAC,EAAa,eAO3CE,EAAc,IAAIjC,OAAQF,GAAa,IAAK,KAE5CoC,EAAS,IAAIlC,OAAQ,IAAMF,GAAa,KAAOA,GAAa,KAC5DqC,EAAqB,IAAInC,OAAQ,IAAMF,GAAa,WAAaA,GAAa,IAC7EA,GAAa,KACdsC,EAAW,IAAIpC,OAAQF,GAAa,MAEpCuC,EAAU,IAAIrC,OAAQgC,GACtBM,EAAc,IAAItC,OAAQ,IAAM8B,EAAa,KAE7CS,EAAY,CACXC,GAAI,IAAIxC,OAAQ,MAAQ8B,EAAa,KACrCW,MAAO,IAAIzC,OAAQ,QAAU8B,EAAa,KAC1CY,IAAK,IAAI1C,OAAQ,KAAO8B,EAAa,SACrCa,KAAM,IAAI3C,OAAQ,IAAM+B,GACxBa,OAAQ,IAAI5C,OAAQ,IAAMgC,GAC1Ba,MAAO,IAAI7C,OACV,yDACCF,GAAa,+BAAiCA,GAAa,cAC3DA,GAAa,aAAeA,GAAa,SAAU,KACrDgD,KAAM,IAAI9C,OAAQ,OAAS6B,EAAW,KAAM,KAI5CkB,aAAc,IAAI/C,OAAQ,IAAMF,GAC/B,mDAAqDA,GACrD,mBAAqBA,GAAa,mBAAoB,MAGxDkD,EAAU,sCACVC,EAAU,SAGVC,EAAa,mCAEbC,EAAW,OAIXC,EAAY,IAAIpD,OAAQ,uBAAyBF,GAChD,uBAAwB,KACzBuD,EAAY,SAAUC,EAAQC,GAC7B,IAAIC,EAAO,KAAOF,EAAOxL,MAAO,GAAM,MAEtC,OAAKyL,IAUEC,EAAO,EACbC,OAAOC,aAAcF,EAAO,OAC5BC,OAAOC,aAAcF,GAAQ,GAAK,MAAe,KAAPA,EAAe,SAO3DG,EAAgB,WACfC,KAGDC,EAAqBC,EACpB,SAAU7I,GACT,OAAyB,IAAlBA,EAAK8I,UAAqB/I,GAAUC,EAAM,aAElD,CAAE+I,IAAK,aAAcC,KAAM,WAa7B,IACC7L,EAAKD,MACFT,GAAMI,GAAMG,KAAM4I,GAAaqD,YACjCrD,GAAaqD,YAMdxM,GAAKmJ,GAAaqD,WAAWnJ,QAAShC,SACrC,MAAQoL,GACT/L,EAAO,CACND,MAAO,SAAUiF,EAAQgH,GACxBtD,GAAW3I,MAAOiF,EAAQtF,GAAMG,KAAMmM,KAEvCnM,KAAM,SAAUmF,GACf0D,GAAW3I,MAAOiF,EAAQtF,GAAMG,KAAMiE,UAAW,MAKpD,SAASmI,EAAM3J,EAAUC,EAAS+D,EAAS4F,GAC1C,IAAIC,EAAG5K,EAAGsB,EAAMuJ,EAAKC,EAAOC,EAAQC,EACnCC,EAAajK,GAAWA,EAAQqE,cAGhCjG,EAAW4B,EAAUA,EAAQ5B,SAAW,EAKzC,GAHA2F,EAAUA,GAAW,GAGI,iBAAbhE,IAA0BA,GACxB,IAAb3B,GAA+B,IAAbA,GAA+B,KAAbA,EAEpC,OAAO2F,EAIR,IAAM4F,IACLV,EAAajJ,GACbA,EAAUA,GAAWvD,EAEhB+J,GAAiB,CAIrB,GAAkB,KAAbpI,IAAqB0L,EAAQvB,EAAW2B,KAAMnK,IAGlD,GAAO6J,EAAIE,EAAO,IAGjB,GAAkB,IAAb1L,EAAiB,CACrB,KAAOkC,EAAON,EAAQmK,eAAgBP,IASrC,OAAO7F,EALP,GAAKzD,EAAK8J,KAAOR,EAEhB,OADAnM,EAAKH,KAAMyG,EAASzD,GACbyD,OAWT,GAAKkG,IAAgB3J,EAAO2J,EAAWE,eAAgBP,KACtDF,EAAKpE,SAAUtF,EAASM,IACxBA,EAAK8J,KAAOR,EAGZ,OADAnM,EAAKH,KAAMyG,EAASzD,GACbyD,MAKH,CAAA,GAAK+F,EAAO,GAElB,OADArM,EAAKD,MAAOuG,EAAS/D,EAAQqK,qBAAsBtK,IAC5CgE,EAGD,IAAO6F,EAAIE,EAAO,KAAS9J,EAAQsK,uBAEzC,OADA7M,EAAKD,MAAOuG,EAAS/D,EAAQsK,uBAAwBV,IAC9C7F,EAKT,KAAMiD,EAAwBjH,EAAW,MACrC0G,GAAcA,EAAUnC,KAAMvE,IAAe,CAYhD,GAVAiK,EAAcjK,EACdkK,EAAajK,EASK,IAAb5B,IACFqJ,EAASnD,KAAMvE,IAAcyH,EAAmBlD,KAAMvE,IAAe,EAGvEkK,EAAazB,EAASlE,KAAMvE,IAAcwK,EAAavK,EAAQP,aAC9DO,IAQkBA,GAAY/B,GAAQuM,SAG/BX,EAAM7J,EAAQX,aAAc,OAClCwK,EAAM/J,GAAOkG,eAAgB6D,GAE7B7J,EAAQV,aAAc,KAAQuK,EAAM9G,IAMtC/D,GADA+K,EAASU,EAAU1K,IACRK,OACX,MAAQpB,IACP+K,EAAQ/K,IAAQ6K,EAAM,IAAMA,EAAM,UAAa,IAC9Ca,EAAYX,EAAQ/K,IAEtBgL,EAAcD,EAAOY,KAAM,KAG5B,IAIC,OAHAlN,EAAKD,MAAOuG,EACXkG,EAAWW,iBAAkBZ,IAEvBjG,EACN,MAAQ8G,GACT7D,EAAwBjH,GAAU,GACjC,QACI8J,IAAQ9G,GACZ/C,EAAQ8K,gBAAiB,QAQ9B,OAAOC,GAAQhL,EAASmD,QAASkC,GAAU,MAAQpF,EAAS+D,EAAS4F,GAStE,SAAS9C,IACR,IAAImE,EAAO,GAaX,OAXA,SAASC,EAAOC,EAAKtG,GASpB,OALKoG,EAAKvN,KAAMyN,EAAM,KAAQ9E,EAAK+E,oBAG3BF,EAAOD,EAAKI,SAEXH,EAAOC,EAAM,KAAQtG,GAShC,SAASyG,EAAcpL,GAEtB,OADAA,EAAI8C,IAAY,EACT9C,EAOR,SAASqL,EAAQrL,GAChB,IAAIsL,EAAK9O,EAAS0C,cAAe,YAEjC,IACC,QAASc,EAAIsL,GACZ,MAAQ/B,GACT,OAAO,EACN,QAGI+B,EAAG9L,YACP8L,EAAG9L,WAAWC,YAAa6L,GAI5BA,EAAK,MAQP,SAASC,EAAmBhN,GAC3B,OAAO,SAAU8B,GAChB,OAAOD,GAAUC,EAAM,UAAaA,EAAK9B,OAASA,GAQpD,SAASiN,EAAoBjN,GAC5B,OAAO,SAAU8B,GAChB,OAASD,GAAUC,EAAM,UAAaD,GAAUC,EAAM,YACrDA,EAAK9B,OAASA,GAQjB,SAASkN,EAAsBtC,GAG9B,OAAO,SAAU9I,GAKhB,MAAK,SAAUA,EASTA,EAAKb,aAAgC,IAAlBa,EAAK8I,SAGvB,UAAW9I,EACV,UAAWA,EAAKb,WACba,EAAKb,WAAW2J,WAAaA,EAE7B9I,EAAK8I,WAAaA,EAMpB9I,EAAKqL,aAAevC,GAG1B9I,EAAKqL,cAAgBvC,GACpBF,EAAoB5I,KAAW8I,EAG3B9I,EAAK8I,WAAaA,EAKd,UAAW9I,GACfA,EAAK8I,WAAaA,GAY5B,SAASwC,EAAwB3L,GAChC,OAAOoL,EAAc,SAAUQ,GAE9B,OADAA,GAAYA,EACLR,EAAc,SAAU1B,EAAMlF,GACpC,IAAIzC,EACH8J,EAAe7L,EAAI,GAAI0J,EAAKvJ,OAAQyL,GACpC7M,EAAI8M,EAAa1L,OAGlB,MAAQpB,IACF2K,EAAQ3H,EAAI8J,EAAc9M,MAC9B2K,EAAM3H,KAASyC,EAASzC,GAAM2H,EAAM3H,SAYzC,SAASuI,EAAavK,GACrB,OAAOA,GAAmD,oBAAjCA,EAAQqK,sBAAwCrK,EAQ1E,SAASiJ,EAAanK,GACrB,IAAIiN,EACHhN,EAAMD,EAAOA,EAAKuF,eAAiBvF,EAAOoH,GAO3C,OAAKnH,GAAOtC,GAA6B,IAAjBsC,EAAIX,UAAmBW,EAAI6E,kBAMnDA,GADAnH,EAAWsC,GACgB6E,gBAC3B4C,GAAkB1G,GAAOmE,SAAUxH,GAInCgI,EAAUb,EAAgBa,SACzBb,EAAgBoI,uBAChBpI,EAAgBqI,kBAOZrI,EAAgBqI,mBAMpB/F,IAAgBzJ,IACdsP,EAAYtP,EAASyP,cAAiBH,EAAUI,MAAQJ,GAG1DA,EAAUK,iBAAkB,SAAUpD,GAOvC/K,GAAQoO,QAAUf,EAAQ,SAAUC,GAEnC,OADA3H,EAAgBpE,YAAa+L,GAAKnB,GAAKtK,GAAOiD,SACtCtG,EAAS6P,oBACf7P,EAAS6P,kBAAmBxM,GAAOiD,SAAU3C,SAMhDnC,GAAQsO,kBAAoBjB,EAAQ,SAAUC,GAC7C,OAAO9G,EAAQnH,KAAMiO,EAAI,OAK1BtN,GAAQuM,MAAQc,EAAQ,WACvB,OAAO7O,EAASmO,iBAAkB,YAYnC3M,GAAQuO,OAASlB,EAAQ,WACxB,IAEC,OADA7O,EAASgQ,cAAe,oBACjB,EACN,MAAQjD,GACT,OAAO,KAKJvL,GAAQoO,SACZjG,EAAKsG,OAAO7E,GAAK,SAAUuC,GAC1B,IAAIuC,EAASvC,EAAGlH,QAASuF,EAAWC,GACpC,OAAO,SAAUpI,GAChB,OAAOA,EAAKjB,aAAc,QAAWsN,IAGvCvG,EAAKsD,KAAK7B,GAAK,SAAUuC,EAAIpK,GAC5B,GAAuC,oBAA3BA,EAAQmK,gBAAkC3D,EAAiB,CACtE,IAAIlG,EAAON,EAAQmK,eAAgBC,GACnC,OAAO9J,EAAO,CAAEA,GAAS,OAI3B8F,EAAKsG,OAAO7E,GAAM,SAAUuC,GAC3B,IAAIuC,EAASvC,EAAGlH,QAASuF,EAAWC,GACpC,OAAO,SAAUpI,GAChB,IAAIxB,EAAwC,oBAA1BwB,EAAKsM,kBACtBtM,EAAKsM,iBAAkB,MACxB,OAAO9N,GAAQA,EAAK8F,QAAU+H,IAMhCvG,EAAKsD,KAAK7B,GAAK,SAAUuC,EAAIpK,GAC5B,GAAuC,oBAA3BA,EAAQmK,gBAAkC3D,EAAiB,CACtE,IAAI1H,EAAME,EAAGgC,EACZV,EAAON,EAAQmK,eAAgBC,GAEhC,GAAK9J,EAAO,CAIX,IADAxB,EAAOwB,EAAKsM,iBAAkB,QACjB9N,EAAK8F,QAAUwF,EAC3B,MAAO,CAAE9J,GAIVU,EAAQhB,EAAQsM,kBAAmBlC,GACnCpL,EAAI,EACJ,MAAUsB,EAAOU,EAAOhC,KAEvB,IADAF,EAAOwB,EAAKsM,iBAAkB,QACjB9N,EAAK8F,QAAUwF,EAC3B,MAAO,CAAE9J,GAKZ,MAAO,MAMV8F,EAAKsD,KAAK3B,IAAM,SAAU8E,EAAK7M,GAC9B,MAA6C,oBAAjCA,EAAQqK,qBACZrK,EAAQqK,qBAAsBwC,GAI9B7M,EAAQ4K,iBAAkBiC,IAKnCzG,EAAKsD,KAAK5B,MAAQ,SAAUgF,EAAW9M,GACtC,GAA+C,oBAAnCA,EAAQsK,wBAA0C9D,EAC7D,OAAOxG,EAAQsK,uBAAwBwC,IASzCrG,EAAY,GAIZ6E,EAAQ,SAAUC,GAEjB,IAAIwB,EAEJnJ,EAAgBpE,YAAa+L,GAAKyB,UACjC,UAAYjK,EAAU,iDACLA,EAAU,oEAKtBwI,EAAGX,iBAAkB,cAAexK,QACzCqG,EAAUhJ,KAAM,MAAQ0H,GAAa,aAAe+B,EAAW,KAI1DqE,EAAGX,iBAAkB,QAAU7H,EAAU,MAAO3C,QACrDqG,EAAUhJ,KAAM,MAMX8N,EAAGX,iBAAkB,KAAO7H,EAAU,MAAO3C,QAClDqG,EAAUhJ,KAAM,YAOX8N,EAAGX,iBAAkB,YAAaxK,QACvCqG,EAAUhJ,KAAM,aAKjBsP,EAAQtQ,EAAS0C,cAAe,UAC1BG,aAAc,OAAQ,UAC5BiM,EAAG/L,YAAauN,GAAQzN,aAAc,OAAQ,KAQ9CsE,EAAgBpE,YAAa+L,GAAKnC,UAAW,EACM,IAA9CmC,EAAGX,iBAAkB,aAAcxK,QACvCqG,EAAUhJ,KAAM,WAAY,cAQ7BsP,EAAQtQ,EAAS0C,cAAe,UAC1BG,aAAc,OAAQ,IAC5BiM,EAAG/L,YAAauN,GACVxB,EAAGX,iBAAkB,aAAcxK,QACxCqG,EAAUhJ,KAAM,MAAQ0H,GAAa,QAAUA,GAAa,KAC3DA,GAAa,kBAIVlH,GAAQuO,QAQb/F,EAAUhJ,KAAM,QAGjBgJ,EAAYA,EAAUrG,QAAU,IAAIiF,OAAQoB,EAAUkE,KAAM,MAM5D1D,EAAY,SAAU1B,EAAGC,GAGxB,GAAKD,IAAMC,EAEV,OADAe,GAAe,EACR,EAIR,IAAI0G,GAAW1H,EAAEG,yBAA2BF,EAAEE,wBAC9C,OAAKuH,IAgBU,GAPfA,GAAY1H,EAAElB,eAAiBkB,KAASC,EAAEnB,eAAiBmB,GAC1DD,EAAEG,wBAAyBF,GAG3B,KAIGvH,GAAQiP,cAAgB1H,EAAEE,wBAAyBH,KAAQ0H,EAOzD1H,IAAM9I,GAAY8I,EAAElB,eAAiB6B,IACzCwD,EAAKpE,SAAUY,GAAcX,IACrB,EAOJC,IAAM/I,GAAY+I,EAAEnB,eAAiB6B,IACzCwD,EAAKpE,SAAUY,GAAcV,GACtB,EAIDc,EACJ5I,GAAQJ,KAAMgJ,EAAWf,GAAM7H,GAAQJ,KAAMgJ,EAAWd,GAC1D,EAGe,EAAVyH,GAAe,EAAI,KAGpBxQ,EAqpBR,IAAMuC,KAlpBN0K,EAAKjF,QAAU,SAAU0I,EAAMC,GAC9B,OAAO1D,EAAMyD,EAAM,KAAM,KAAMC,IAGhC1D,EAAK2D,gBAAkB,SAAU/M,EAAM6M,GAGtC,GAFAlE,EAAa3I,GAERkG,IACHQ,EAAwBmG,EAAO,QAC7B1G,IAAcA,EAAUnC,KAAM6I,IAEjC,IACC,IAAIlM,EAAMwD,EAAQnH,KAAMgD,EAAM6M,GAG9B,GAAKlM,GAAOhD,GAAQsO,mBAIlBjM,EAAK7D,UAAuC,KAA3B6D,EAAK7D,SAAS2B,SAChC,OAAO6C,EAEP,MAAQuI,GACTxC,EAAwBmG,GAAM,GAIhC,OAAuD,EAAhDzD,EAAMyD,EAAM1Q,EAAU,KAAM,CAAE6D,IAASF,QAG/CsJ,EAAKpE,SAAW,SAAUtF,EAASM,GAUlC,OAHON,EAAQqE,eAAiBrE,IAAavD,GAC5CwM,EAAajJ,GAEPF,GAAOwF,SAAUtF,EAASM,IAIlCoJ,EAAK4D,KAAO,SAAUhN,EAAMC,IAOpBD,EAAK+D,eAAiB/D,IAAU7D,GACtCwM,EAAa3I,GAGd,IAAIL,EAAKmG,EAAKmH,WAAYhN,EAAKC,eAG9BvB,EAAMgB,GAAMpC,GAAOP,KAAM8I,EAAKmH,WAAYhN,EAAKC,eAC9CP,EAAIK,EAAMC,GAAOiG,QACjB1D,EAEF,YAAaA,IAAR7D,EACGA,EAGDqB,EAAKjB,aAAckB,IAG3BmJ,EAAKtG,MAAQ,SAAUC,GACtB,MAAM,IAAI1G,MAAO,0CAA4C0G,IAO9DvD,GAAO0N,WAAa,SAAUzJ,GAC7B,IAAIzD,EACHmN,EAAa,GACbzL,EAAI,EACJhD,EAAI,EAWL,GAJAuH,GAAgBtI,GAAQyP,WACxBpH,GAAarI,GAAQyP,YAAcvQ,GAAMG,KAAMyG,EAAS,GACxD7B,GAAK5E,KAAMyG,EAASkD,GAEfV,EAAe,CACnB,MAAUjG,EAAOyD,EAAS/E,KACpBsB,IAASyD,EAAS/E,KACtBgD,EAAIyL,EAAWhQ,KAAMuB,IAGvB,MAAQgD,IACPG,GAAO7E,KAAMyG,EAAS0J,EAAYzL,GAAK,GAQzC,OAFAsE,EAAY,KAELvC,GAGRjE,GAAOG,GAAGuN,WAAa,WACtB,OAAO3Q,KAAKkE,UAAWjB,GAAO0N,WAAYrQ,GAAMK,MAAOX,UAGxDuJ,EAAOtG,GAAOqN,KAAO,CAGpBhC,YAAa,GAEbwC,aAActC,EAEdvB,MAAOlC,EAEP2F,WAAY,GAEZ7D,KAAM,GAENkE,SAAU,CACTC,IAAK,CAAExE,IAAK,aAAc7H,OAAO,GACjCsM,IAAK,CAAEzE,IAAK,cACZ0E,IAAK,CAAE1E,IAAK,kBAAmB7H,OAAO,GACtCwM,IAAK,CAAE3E,IAAK,oBAGb4E,UAAW,CACVjG,KAAM,SAAU8B,GAWf,OAVAA,EAAO,GAAMA,EAAO,GAAI5G,QAASuF,EAAWC,GAG5CoB,EAAO,IAAQA,EAAO,IAAOA,EAAO,IAAOA,EAAO,IAAO,IACvD5G,QAASuF,EAAWC,GAEF,OAAfoB,EAAO,KACXA,EAAO,GAAM,IAAMA,EAAO,GAAM,KAG1BA,EAAM3M,MAAO,EAAG,IAGxB+K,MAAO,SAAU4B,GAkChB,OAtBAA,EAAO,GAAMA,EAAO,GAAItJ,cAEU,QAA7BsJ,EAAO,GAAI3M,MAAO,EAAG,IAGnB2M,EAAO,IACZJ,EAAKtG,MAAO0G,EAAO,IAKpBA,EAAO,KAASA,EAAO,GACtBA,EAAO,IAAQA,EAAO,IAAO,GAC7B,GAAqB,SAAfA,EAAO,IAAiC,QAAfA,EAAO,KAEvCA,EAAO,KAAWA,EAAO,GAAMA,EAAO,IAAwB,QAAfA,EAAO,KAG3CA,EAAO,IAClBJ,EAAKtG,MAAO0G,EAAO,IAGbA,GAGR7B,OAAQ,SAAU6B,GACjB,IAAIoE,EACHC,GAAYrE,EAAO,IAAOA,EAAO,GAElC,OAAKlC,EAAUM,MAAM5D,KAAMwF,EAAO,IAC1B,MAIHA,EAAO,GACXA,EAAO,GAAMA,EAAO,IAAOA,EAAO,IAAO,GAG9BqE,GAAYzG,EAAQpD,KAAM6J,KAGnCD,EAASzD,EAAU0D,GAAU,MAG7BD,EAASC,EAASzQ,QAAS,IAAKyQ,EAAS/N,OAAS8N,GAAWC,EAAS/N,UAGxE0J,EAAO,GAAMA,EAAO,GAAI3M,MAAO,EAAG+Q,GAClCpE,EAAO,GAAMqE,EAAShR,MAAO,EAAG+Q,IAI1BpE,EAAM3M,MAAO,EAAG,MAIzBuP,OAAQ,CAEP3E,IAAK,SAAUqG,GACd,IAAIC,EAAmBD,EAAiBlL,QAASuF,EAAWC,GAAYlI,cACxE,MAA4B,MAArB4N,EACN,WACC,OAAO,GAER,SAAU9N,GACT,OAAOD,GAAUC,EAAM+N,KAI1BvG,MAAO,SAAUgF,GAChB,IAAIwB,EAAU1H,EAAYkG,EAAY,KAEtC,OAAOwB,IACJA,EAAU,IAAIjJ,OAAQ,MAAQF,GAAa,IAAM2H,EAClD,IAAM3H,GAAa,SACpByB,EAAYkG,EAAW,SAAUxM,GAChC,OAAOgO,EAAQhK,KACY,iBAAnBhE,EAAKwM,WAA0BxM,EAAKwM,WACb,oBAAtBxM,EAAKjB,cACXiB,EAAKjB,aAAc,UACpB,OAKL2I,KAAM,SAAUzH,EAAMgO,EAAUC,GAC/B,OAAO,SAAUlO,GAChB,IAAImO,EAAS/E,EAAK4D,KAAMhN,EAAMC,GAE9B,OAAe,MAAVkO,EACgB,OAAbF,GAEFA,IAINE,GAAU,GAEQ,MAAbF,EACGE,IAAWD,EAED,OAAbD,EACGE,IAAWD,EAED,OAAbD,EACGC,GAAqC,IAA5BC,EAAO/Q,QAAS8Q,GAEf,OAAbD,EACGC,IAAoC,EAA3BC,EAAO/Q,QAAS8Q,GAEf,OAAbD,EACGC,GAASC,EAAOtR,OAAQqR,EAAMpO,UAAaoO,EAEjC,OAAbD,GAEkB,GADb,IAAME,EAAOvL,QAASoE,EAAa,KAAQ,KAClD5J,QAAS8Q,GAEM,OAAbD,IACGE,IAAWD,GAASC,EAAOtR,MAAO,EAAGqR,EAAMpO,OAAS,KAAQoO,EAAQ,QAO9EtG,MAAO,SAAU1J,EAAMkQ,EAAMC,EAAWnN,EAAOE,GAC9C,IAAIkN,EAAgC,QAAvBpQ,EAAKrB,MAAO,EAAG,GAC3B0R,EAA+B,SAArBrQ,EAAKrB,OAAQ,GACvB2R,EAAkB,YAATJ,EAEV,OAAiB,IAAVlN,GAAwB,IAATE,EAGrB,SAAUpB,GACT,QAASA,EAAKb,YAGf,SAAUa,EAAMyO,EAAUC,GACzB,IAAI/D,EAAOgE,EAAYnQ,EAAMoQ,EAAWC,EACvC9F,EAAMuF,IAAWC,EAAU,cAAgB,kBAC3CO,EAAS9O,EAAKb,WACdc,EAAOuO,GAAUxO,EAAKD,SAASG,cAC/B6O,GAAYL,IAAQF,EACpBQ,GAAO,EAER,GAAKF,EAAS,CAGb,GAAKR,EAAS,CACb,MAAQvF,EAAM,CACbvK,EAAOwB,EACP,MAAUxB,EAAOA,EAAMuK,GACtB,GAAKyF,EACJzO,GAAUvB,EAAMyB,GACE,IAAlBzB,EAAKV,SAEL,OAAO,EAKT+Q,EAAQ9F,EAAe,SAAT7K,IAAoB2Q,GAAS,cAE5C,OAAO,EAMR,GAHAA,EAAQ,CAAEN,EAAUO,EAAOG,WAAaH,EAAOI,WAG1CX,GAAWQ,EAAW,CAM1BC,GADAJ,GADAjE,GADAgE,EAAaG,EAAQrM,KAAeqM,EAAQrM,GAAY,KACpCvE,IAAU,IACX,KAAQkI,GAAWuE,EAAO,KACzBA,EAAO,GAC3BnM,EAAOoQ,GAAaE,EAAO7F,WAAY2F,GAEvC,MAAUpQ,IAASoQ,GAAapQ,GAAQA,EAAMuK,KAG3CiG,EAAOJ,EAAY,IAAOC,EAAMjK,MAGlC,GAAuB,IAAlBpG,EAAKV,YAAoBkR,GAAQxQ,IAASwB,EAAO,CACrD2O,EAAYzQ,GAAS,CAAEkI,EAASwI,EAAWI,GAC3C,YAgBF,GATKD,IAIJC,EADAJ,GADAjE,GADAgE,EAAa3O,EAAMyC,KAAezC,EAAMyC,GAAY,KAChCvE,IAAU,IACX,KAAQkI,GAAWuE,EAAO,KAMhC,IAATqE,EAGJ,MAAUxQ,IAASoQ,GAAapQ,GAAQA,EAAMuK,KAC3CiG,EAAOJ,EAAY,IAAOC,EAAMjK,MAElC,IAAO4J,EACNzO,GAAUvB,EAAMyB,GACE,IAAlBzB,EAAKV,aACHkR,IAGGD,KACJJ,EAAanQ,EAAMiE,KAChBjE,EAAMiE,GAAY,KACTvE,GAAS,CAAEkI,EAAS4I,IAG5BxQ,IAASwB,GACb,MASL,OADAgP,GAAQ5N,KACQF,GAAW8N,EAAO9N,GAAU,GAAqB,GAAhB8N,EAAO9N,KAK5DyG,OAAQ,SAAUwH,EAAQ5D,GAMzB,IAAI6D,EACHzP,EAAKmG,EAAKiB,QAASoI,IAAYrJ,EAAKuJ,WAAYF,EAAOjP,gBACtDkJ,EAAKtG,MAAO,uBAAyBqM,GAKvC,OAAKxP,EAAI8C,GACD9C,EAAI4L,GAIK,EAAZ5L,EAAGG,QACPsP,EAAO,CAAED,EAAQA,EAAQ,GAAI5D,GACtBzF,EAAKuJ,WAAW7R,eAAgB2R,EAAOjP,eAC7C6K,EAAc,SAAU1B,EAAMlF,GAC7B,IAAImL,EACHC,EAAU5P,EAAI0J,EAAMkC,GACpB7M,EAAI6Q,EAAQzP,OACb,MAAQpB,IAEP2K,EADAiG,EAAMlS,GAAQJ,KAAMqM,EAAMkG,EAAS7Q,OAClByF,EAASmL,GAAQC,EAAS7Q,MAG7C,SAAUsB,GACT,OAAOL,EAAIK,EAAM,EAAGoP,KAIhBzP,IAIToH,QAAS,CAGRyI,IAAKzE,EAAc,SAAUtL,GAK5B,IAAIgN,EAAQ,GACXhJ,EAAU,GACVgM,EAAUC,GAASjQ,EAASmD,QAASkC,GAAU,OAEhD,OAAO2K,EAAShN,GACfsI,EAAc,SAAU1B,EAAMlF,EAASsK,EAAUC,GAChD,IAAI1O,EACH2P,EAAYF,EAASpG,EAAM,KAAMqF,EAAK,IACtChQ,EAAI2K,EAAKvJ,OAGV,MAAQpB,KACAsB,EAAO2P,EAAWjR,MACxB2K,EAAM3K,KAASyF,EAASzF,GAAMsB,MAIjC,SAAUA,EAAMyO,EAAUC,GAOzB,OANAjC,EAAO,GAAMzM,EACbyP,EAAShD,EAAO,KAAMiC,EAAKjL,GAI3BgJ,EAAO,GAAM,MACLhJ,EAAQmB,SAInBgL,IAAK7E,EAAc,SAAUtL,GAC5B,OAAO,SAAUO,GAChB,OAAuC,EAAhCoJ,EAAM3J,EAAUO,GAAOF,UAIhCkF,SAAU+F,EAAc,SAAUjM,GAEjC,OADAA,EAAOA,EAAK8D,QAASuF,EAAWC,GACzB,SAAUpI,GAChB,OAAsE,GAA7DA,EAAKqD,aAAe7D,GAAOV,KAAMkB,IAAS5C,QAAS0B,MAW9D+Q,KAAM9E,EAAc,SAAU8E,GAO7B,OAJMxI,EAAYrD,KAAM6L,GAAQ,KAC/BzG,EAAKtG,MAAO,qBAAuB+M,GAEpCA,EAAOA,EAAKjN,QAASuF,EAAWC,GAAYlI,cACrC,SAAUF,GAChB,IAAI8P,EACJ,GACC,GAAOA,EAAW5J,EACjBlG,EAAK6P,KACL7P,EAAKjB,aAAc,aAAgBiB,EAAKjB,aAAc,QAGtD,OADA+Q,EAAWA,EAAS5P,iBACA2P,GAA2C,IAAnCC,EAAS1S,QAASyS,EAAO,YAE3C7P,EAAOA,EAAKb,aAAkC,IAAlBa,EAAKlC,UAC7C,OAAO,KAKTqE,OAAQ,SAAUnC,GACjB,IAAI+P,EAAOzT,GAAO0T,UAAY1T,GAAO0T,SAASD,KAC9C,OAAOA,GAAQA,EAAKlT,MAAO,KAAQmD,EAAK8J,IAGzCmG,KAAM,SAAUjQ,GACf,OAAOA,IAASsD,GAGjB4M,MAAO,SAAUlQ,GAChB,OAAOA,IA5oCV,WACC,IACC,OAAO7D,EAASgU,cACf,MAAQC,KAyoCQC,IACflU,EAASmU,eACLtQ,EAAK9B,MAAQ8B,EAAKuQ,OAASvQ,EAAKwQ,WAItCC,QAASrF,GAAsB,GAC/BtC,SAAUsC,GAAsB,GAEhCsF,QAAS,SAAU1Q,GAIlB,OAASD,GAAUC,EAAM,YAAeA,EAAK0Q,SAC1C3Q,GAAUC,EAAM,aAAgBA,EAAK2Q,UAGzCA,SAAU,SAAU3Q,GAWnB,OALKA,EAAKb,YAETa,EAAKb,WAAWyR,eAGQ,IAAlB5Q,EAAK2Q,UAIbE,MAAO,SAAU7Q,GAMhB,IAAMA,EAAOA,EAAKiP,WAAYjP,EAAMA,EAAOA,EAAK8Q,YAC/C,GAAK9Q,EAAKlC,SAAW,EACpB,OAAO,EAGT,OAAO,GAGRgR,OAAQ,SAAU9O,GACjB,OAAQ8F,EAAKiB,QAAQ8J,MAAO7Q,IAI7B+Q,OAAQ,SAAU/Q,GACjB,OAAOgI,EAAQhE,KAAMhE,EAAKD,WAG3B0M,MAAO,SAAUzM,GAChB,OAAO+H,EAAQ/D,KAAMhE,EAAKD,WAG3BiR,OAAQ,SAAUhR,GACjB,OAAOD,GAAUC,EAAM,UAA2B,WAAdA,EAAK9B,MACxC6B,GAAUC,EAAM,WAGlBlB,KAAM,SAAUkB,GACf,IAAIgN,EACJ,OAAOjN,GAAUC,EAAM,UAA2B,SAAdA,EAAK9B,OAKI,OAAxC8O,EAAOhN,EAAKjB,aAAc,UACN,SAAvBiO,EAAK9M,gBAIRgB,MAAOoK,EAAwB,WAC9B,MAAO,CAAE,KAGVlK,KAAMkK,EAAwB,SAAU2F,EAAenR,GACtD,MAAO,CAAEA,EAAS,KAGnBqB,GAAImK,EAAwB,SAAU2F,EAAenR,EAAQyL,GAC5D,MAAO,CAAEA,EAAW,EAAIA,EAAWzL,EAASyL,KAG7ClK,KAAMiK,EAAwB,SAAUE,EAAc1L,GAErD,IADA,IAAIpB,EAAI,EACAA,EAAIoB,EAAQpB,GAAK,EACxB8M,EAAarO,KAAMuB,GAEpB,OAAO8M,IAGRhK,IAAK8J,EAAwB,SAAUE,EAAc1L,GAEpD,IADA,IAAIpB,EAAI,EACAA,EAAIoB,EAAQpB,GAAK,EACxB8M,EAAarO,KAAMuB,GAEpB,OAAO8M,IAGR0F,GAAI5F,EAAwB,SAAUE,EAAc1L,EAAQyL,GAC3D,IAAI7M,EAUJ,IAPCA,EADI6M,EAAW,EACXA,EAAWzL,EACOA,EAAXyL,EACPzL,EAEAyL,EAGU,KAAL7M,GACT8M,EAAarO,KAAMuB,GAEpB,OAAO8M,IAGR2F,GAAI7F,EAAwB,SAAUE,EAAc1L,EAAQyL,GAE3D,IADA,IAAI7M,EAAI6M,EAAW,EAAIA,EAAWzL,EAASyL,IACjC7M,EAAIoB,GACb0L,EAAarO,KAAMuB,GAEpB,OAAO8M,OAKLzE,QAAQqK,IAAMtL,EAAKiB,QAAQ5F,GAGrB,CAAEkQ,OAAO,EAAMC,UAAU,EAAMC,MAAM,EAAMC,UAAU,EAAMC,OAAO,GAC5E3L,EAAKiB,QAASrI,GAAMwM,EAAmBxM,GAExC,IAAMA,IAAK,CAAEgT,QAAQ,EAAMC,OAAO,GACjC7L,EAAKiB,QAASrI,GAAMyM,EAAoBzM,GAIzC,SAAS2Q,KAIT,SAASlF,EAAU1K,EAAUmS,GAC5B,IAAIrC,EAAS/F,EAAOqI,EAAQ3T,EAC3B4T,EAAOrI,EAAQsI,EACfC,EAASxL,EAAY/G,EAAW,KAEjC,GAAKuS,EACJ,OAAOJ,EAAY,EAAII,EAAOnV,MAAO,GAGtCiV,EAAQrS,EACRgK,EAAS,GACTsI,EAAajM,EAAK6H,UAElB,MAAQmE,EAAQ,CA2Bf,IAAM5T,KAxBAqR,KAAa/F,EAAQvC,EAAO2C,KAAMkI,MAClCtI,IAGJsI,EAAQA,EAAMjV,MAAO2M,EAAO,GAAI1J,SAAYgS,GAE7CrI,EAAOtM,KAAQ0U,EAAS,KAGzBtC,GAAU,GAGH/F,EAAQtC,EAAmB0C,KAAMkI,MACvCvC,EAAU/F,EAAMsB,QAChB+G,EAAO1U,KAAM,CACZmH,MAAOiL,EAGPrR,KAAMsL,EAAO,GAAI5G,QAASkC,GAAU,OAErCgN,EAAQA,EAAMjV,MAAO0S,EAAQzP,SAIhBgG,EAAKsG,SACX5C,EAAQlC,EAAWpJ,GAAO0L,KAAMkI,KAAgBC,EAAY7T,MAChEsL,EAAQuI,EAAY7T,GAAQsL,MAC9B+F,EAAU/F,EAAMsB,QAChB+G,EAAO1U,KAAM,CACZmH,MAAOiL,EACPrR,KAAMA,EACNiG,QAASqF,IAEVsI,EAAQA,EAAMjV,MAAO0S,EAAQzP,SAI/B,IAAMyP,EACL,MAOF,OAAKqC,EACGE,EAAMhS,OAGPgS,EACN1I,EAAKtG,MAAOrD,GAGZ+G,EAAY/G,EAAUgK,GAAS5M,MAAO,GAGxC,SAASuN,EAAYyH,GAIpB,IAHA,IAAInT,EAAI,EACP+C,EAAMoQ,EAAO/R,OACbL,EAAW,GACJf,EAAI+C,EAAK/C,IAChBe,GAAYoS,EAAQnT,GAAI4F,MAEzB,OAAO7E,EAGR,SAASoJ,EAAe4G,EAASwC,EAAYC,GAC5C,IAAInJ,EAAMkJ,EAAWlJ,IACpBoJ,EAAOF,EAAWjJ,KAClB4B,EAAMuH,GAAQpJ,EACdqJ,EAAmBF,GAAgB,eAARtH,EAC3ByH,EAAWhM,IAEZ,OAAO4L,EAAW/Q,MAGjB,SAAUlB,EAAMN,EAASgP,GACxB,MAAU1O,EAAOA,EAAM+I,GACtB,GAAuB,IAAlB/I,EAAKlC,UAAkBsU,EAC3B,OAAO3C,EAASzP,EAAMN,EAASgP,GAGjC,OAAO,GAIR,SAAU1O,EAAMN,EAASgP,GACxB,IAAI4D,EAAU3D,EACb4D,EAAW,CAAEnM,EAASiM,GAGvB,GAAK3D,GACJ,MAAU1O,EAAOA,EAAM+I,GACtB,IAAuB,IAAlB/I,EAAKlC,UAAkBsU,IACtB3C,EAASzP,EAAMN,EAASgP,GAC5B,OAAO,OAKV,MAAU1O,EAAOA,EAAM+I,GACtB,GAAuB,IAAlB/I,EAAKlC,UAAkBsU,EAG3B,GAFAzD,EAAa3O,EAAMyC,KAAezC,EAAMyC,GAAY,IAE/C0P,GAAQpS,GAAUC,EAAMmS,GAC5BnS,EAAOA,EAAM+I,IAAS/I,MAChB,CAAA,IAAOsS,EAAW3D,EAAY/D,KACpC0H,EAAU,KAAQlM,GAAWkM,EAAU,KAAQD,EAG/C,OAASE,EAAU,GAAMD,EAAU,GAOnC,IAHA3D,EAAY/D,GAAQ2H,GAGH,GAAM9C,EAASzP,EAAMN,EAASgP,GAC9C,OAAO,EAMZ,OAAO,GAIV,SAAS8D,EAAgBC,GACxB,OAAyB,EAAlBA,EAAS3S,OACf,SAAUE,EAAMN,EAASgP,GACxB,IAAIhQ,EAAI+T,EAAS3S,OACjB,MAAQpB,IACP,IAAM+T,EAAU/T,GAAKsB,EAAMN,EAASgP,GACnC,OAAO,EAGT,OAAO,GAER+D,EAAU,GAYZ,SAASC,EAAU/C,EAAW3O,EAAKoL,EAAQ1M,EAASgP,GAOnD,IANA,IAAI1O,EACH2S,EAAe,GACfjU,EAAI,EACJ+C,EAAMkO,EAAU7P,OAChB8S,EAAgB,MAAP5R,EAEFtC,EAAI+C,EAAK/C,KACTsB,EAAO2P,EAAWjR,MAClB0N,IAAUA,EAAQpM,EAAMN,EAASgP,KACtCiE,EAAaxV,KAAM6C,GACd4S,GACJ5R,EAAI7D,KAAMuB,KAMd,OAAOiU,EAGR,SAASE,GAAYlF,EAAWlO,EAAUgQ,EAASqD,EAAYC,EAAYC,GAO1E,OANKF,IAAeA,EAAYrQ,KAC/BqQ,EAAaD,GAAYC,IAErBC,IAAeA,EAAYtQ,KAC/BsQ,EAAaF,GAAYE,EAAYC,IAE/BjI,EAAc,SAAU1B,EAAM5F,EAAS/D,EAASgP,GACtD,IAAIuE,EAAMvU,EAAGsB,EAAMkT,EAClBC,EAAS,GACTC,EAAU,GACVC,EAAc5P,EAAQ3D,OAGtBY,EAAQ2I,GA5CX,SAA2B5J,EAAU6T,EAAU7P,GAG9C,IAFA,IAAI/E,EAAI,EACP+C,EAAM6R,EAASxT,OACRpB,EAAI+C,EAAK/C,IAChB0K,EAAM3J,EAAU6T,EAAU5U,GAAK+E,GAEhC,OAAOA,EAuCJ8P,CAAkB9T,GAAY,IAC7BC,EAAQ5B,SAAW,CAAE4B,GAAYA,EAAS,IAG5C8T,GAAY7F,IAAetE,GAAS5J,EAEnCiB,EADAgS,EAAUhS,EAAOyS,EAAQxF,EAAWjO,EAASgP,GAsB/C,GAnBKe,EAaJA,EAAS+D,EATTN,EAAaH,IAAgB1J,EAAOsE,EAAY0F,GAAeP,GAG9D,GAGArP,EAG+B/D,EAASgP,GAEzCwE,EAAaM,EAITV,EAAa,CACjBG,EAAOP,EAAUQ,EAAYE,GAC7BN,EAAYG,EAAM,GAAIvT,EAASgP,GAG/BhQ,EAAIuU,EAAKnT,OACT,MAAQpB,KACAsB,EAAOiT,EAAMvU,MACnBwU,EAAYE,EAAS1U,MAAW8U,EAAWJ,EAAS1U,IAAQsB,IAK/D,GAAKqJ,GACJ,GAAK0J,GAAcpF,EAAY,CAC9B,GAAKoF,EAAa,CAGjBE,EAAO,GACPvU,EAAIwU,EAAWpT,OACf,MAAQpB,KACAsB,EAAOkT,EAAYxU,KAGzBuU,EAAK9V,KAAQqW,EAAW9U,GAAMsB,GAGhC+S,EAAY,KAAQG,EAAa,GAAMD,EAAMvE,GAI9ChQ,EAAIwU,EAAWpT,OACf,MAAQpB,KACAsB,EAAOkT,EAAYxU,MAC2C,GAAlEuU,EAAOF,EAAa3V,GAAQJ,KAAMqM,EAAMrJ,GAASmT,EAAQzU,MAE3D2K,EAAM4J,KAAYxP,EAASwP,GAASjT,UAOvCkT,EAAaR,EACZQ,IAAezP,EACdyP,EAAWrR,OAAQwR,EAAaH,EAAWpT,QAC3CoT,GAEGH,EACJA,EAAY,KAAMtP,EAASyP,EAAYxE,GAEvCvR,EAAKD,MAAOuG,EAASyP,KAMzB,SAASO,GAAmB5B,GA+B3B,IA9BA,IAAI6B,EAAcjE,EAAS/N,EAC1BD,EAAMoQ,EAAO/R,OACb6T,EAAkB7N,EAAKwH,SAAUuE,EAAQ,GAAI3T,MAC7C0V,EAAmBD,GAAmB7N,EAAKwH,SAAU,KACrD5O,EAAIiV,EAAkB,EAAI,EAG1BE,EAAehL,EAAe,SAAU7I,GACvC,OAAOA,IAAS0T,GACdE,GAAkB,GACrBE,EAAkBjL,EAAe,SAAU7I,GAC1C,OAA6C,EAAtC5C,GAAQJ,KAAM0W,EAAc1T,IACjC4T,GAAkB,GACrBnB,EAAW,CAAE,SAAUzS,EAAMN,EAASgP,GAMrC,IAAI/N,GAASgT,IAAqBjF,GAAOhP,GAAWqG,MACjD2N,EAAehU,GAAU5B,SAC1B+V,EAAc7T,EAAMN,EAASgP,GAC7BoF,EAAiB9T,EAAMN,EAASgP,IAKlC,OADAgF,EAAe,KACR/S,IAGDjC,EAAI+C,EAAK/C,IAChB,GAAO+Q,EAAU3J,EAAKwH,SAAUuE,EAAQnT,GAAIR,MAC3CuU,EAAW,CAAE5J,EAAe2J,EAAgBC,GAAYhD,QAClD,CAIN,IAHAA,EAAU3J,EAAKsG,OAAQyF,EAAQnT,GAAIR,MAAOhB,MAAO,KAAM2U,EAAQnT,GAAIyF,UAGrD1B,GAAY,CAIzB,IADAf,IAAMhD,EACEgD,EAAID,EAAKC,IAChB,GAAKoE,EAAKwH,SAAUuE,EAAQnQ,GAAIxD,MAC/B,MAGF,OAAO2U,GACF,EAAJnU,GAAS8T,EAAgBC,GACrB,EAAJ/T,GAAS0L,EAGRyH,EAAOhV,MAAO,EAAG6B,EAAI,GACnBzB,OAAQ,CAAEqH,MAAgC,MAAzBuN,EAAQnT,EAAI,GAAIR,KAAe,IAAM,MACvD0E,QAASkC,GAAU,MACrB2K,EACA/Q,EAAIgD,GAAK+R,GAAmB5B,EAAOhV,MAAO6B,EAAGgD,IAC7CA,EAAID,GAAOgS,GAAqB5B,EAASA,EAAOhV,MAAO6E,IACvDA,EAAID,GAAO2I,EAAYyH,IAGzBY,EAAStV,KAAMsS,GAIjB,OAAO+C,EAAgBC,GAiIxB,SAAS/C,GAASjQ,EAAU+J,GAC3B,IAAI9K,EA/H8BqV,EAAiBC,EAC/CC,EACHC,EACAC,EA6HAH,EAAc,GACdD,EAAkB,GAClB/B,EAASvL,EAAehH,EAAW,KAEpC,IAAMuS,EAAS,CAGRxI,IACLA,EAAQW,EAAU1K,IAEnBf,EAAI8K,EAAM1J,OACV,MAAQpB,KACPsT,EAASyB,GAAmBjK,EAAO9K,KACtB+D,GACZuR,EAAY7W,KAAM6U,GAElB+B,EAAgB5W,KAAM6U,IAKxBA,EAASvL,EAAehH,GArJSsU,EAsJNA,EArJxBE,EAA6B,GADkBD,EAsJNA,GArJrBlU,OACvBoU,EAAqC,EAAzBH,EAAgBjU,OAC5BqU,EAAe,SAAU9K,EAAM3J,EAASgP,EAAKjL,EAAS2Q,GACrD,IAAIpU,EAAM0B,EAAG+N,EACZ4E,EAAe,EACf3V,EAAI,IACJiR,EAAYtG,GAAQ,GACpBiL,EAAa,GACbC,EAAgBxO,EAGhBrF,EAAQ2I,GAAQ6K,GAAapO,EAAKsD,KAAK3B,IAAK,IAAK2M,GAGjDI,EAAkBpO,GAA4B,MAAjBmO,EAAwB,EAAI7R,KAAKC,UAAY,GAC1ElB,EAAMf,EAAMZ,OAeb,IAbKsU,IAMJrO,EAAmBrG,GAAWvD,GAAYuD,GAAW0U,GAO9C1V,IAAM+C,GAAgC,OAAvBzB,EAAOU,EAAOhC,IAAeA,IAAM,CACzD,GAAKwV,GAAalU,EAAO,CACxB0B,EAAI,EAMEhC,GAAWM,EAAK+D,eAAiB5H,IACtCwM,EAAa3I,GACb0O,GAAOxI,GAER,MAAUuJ,EAAUsE,EAAiBrS,KACpC,GAAK+N,EAASzP,EAAMN,GAAWvD,EAAUuS,GAAQ,CAChDvR,EAAKH,KAAMyG,EAASzD,GACpB,MAGGoU,IACJhO,EAAUoO,GAKPP,KAGGjU,GAAQyP,GAAWzP,IACzBqU,IAIIhL,GACJsG,EAAUxS,KAAM6C,IAgBnB,GATAqU,GAAgB3V,EASXuV,GAASvV,IAAM2V,EAAe,CAClC3S,EAAI,EACJ,MAAU+N,EAAUuE,EAAatS,KAChC+N,EAASE,EAAW2E,EAAY5U,EAASgP,GAG1C,GAAKrF,EAAO,CAGX,GAAoB,EAAfgL,EACJ,MAAQ3V,IACCiR,EAAWjR,IAAO4V,EAAY5V,KACrC4V,EAAY5V,GAAMkG,GAAI5H,KAAMyG,IAM/B6Q,EAAa5B,EAAU4B,GAIxBnX,EAAKD,MAAOuG,EAAS6Q,GAGhBF,IAAc/K,GAA4B,EAApBiL,EAAWxU,QACG,EAAtCuU,EAAeL,EAAYlU,QAE7BN,GAAO0N,WAAYzJ,GAUrB,OALK2Q,IACJhO,EAAUoO,EACVzO,EAAmBwO,GAGb5E,GAGFsE,EACNlJ,EAAcoJ,GACdA,KA8BO1U,SAAWA,EAEnB,OAAOuS,EAYR,SAASvH,GAAQhL,EAAUC,EAAS+D,EAAS4F,GAC5C,IAAI3K,EAAGmT,EAAQ4C,EAAOvW,EAAMkL,EAC3BsL,EAA+B,mBAAbjV,GAA2BA,EAC7C+J,GAASH,GAAQc,EAAY1K,EAAWiV,EAASjV,UAAYA,GAM9D,GAJAgE,EAAUA,GAAW,GAIC,IAAjB+F,EAAM1J,OAAe,CAIzB,GAAqB,GADrB+R,EAASrI,EAAO,GAAMA,EAAO,GAAI3M,MAAO,IAC5BiD,QAA+C,QAA/B2U,EAAQ5C,EAAQ,IAAM3T,MAC3B,IAArBwB,EAAQ5B,UAAkBoI,GAAkBJ,EAAKwH,SAAUuE,EAAQ,GAAI3T,MAAS,CAMjF,KAJAwB,GAAYoG,EAAKsD,KAAK7B,GACrBkN,EAAMtQ,QAAS,GAAIvB,QAASuF,EAAWC,GACvC1I,IACI,IAAM,IAEV,OAAO+D,EAGIiR,IACXhV,EAAUA,EAAQP,YAGnBM,EAAWA,EAAS5C,MAAOgV,EAAO/G,QAAQxG,MAAMxE,QAIjDpB,EAAI4I,EAAUQ,aAAa9D,KAAMvE,GAAa,EAAIoS,EAAO/R,OACzD,MAAQpB,IAAM,CAIb,GAHA+V,EAAQ5C,EAAQnT,GAGXoH,EAAKwH,SAAYpP,EAAOuW,EAAMvW,MAClC,MAED,IAAOkL,EAAOtD,EAAKsD,KAAMlL,MAGjBmL,EAAOD,EACbqL,EAAMtQ,QAAS,GAAIvB,QAASuF,EAAWC,GACvCF,EAASlE,KAAM6N,EAAQ,GAAI3T,OAC1B+L,EAAavK,EAAQP,aAAgBO,IACjC,CAKL,GAFAmS,EAAOhQ,OAAQnD,EAAG,KAClBe,EAAW4J,EAAKvJ,QAAUsK,EAAYyH,IAGrC,OADA1U,EAAKD,MAAOuG,EAAS4F,GACd5F,EAGR,QAeJ,OAPEiR,GAAYhF,GAASjQ,EAAU+J,IAChCH,EACA3J,GACCwG,EACDzC,GACC/D,GAAWwI,EAASlE,KAAMvE,IAAcwK,EAAavK,EAAQP,aAAgBO,GAExE+D,EArlBR4L,EAAWlP,UAAY2F,EAAK6O,QAAU7O,EAAKiB,QAC3CjB,EAAKuJ,WAAa,IAAIA,EA2lBtB1R,GAAQyP,WAAa3K,EAAQiC,MAAO,IAAK9C,KAAM+E,GAAY0D,KAAM,MAAS5H,EAG1EkG,IAIAhL,GAAQiP,aAAe5B,EAAQ,SAAUC,GAGxC,OAA4E,EAArEA,EAAG7F,wBAAyBjJ,EAAS0C,cAAe,eAG5DW,GAAO4J,KAAOA,EAGd5J,GAAOqN,KAAM,KAAQrN,GAAOqN,KAAK9F,QACjCvH,GAAOoV,OAASpV,GAAO0N,WAIvB9D,EAAKsG,QAAUA,GACftG,EAAKqB,OAASA,GACdrB,EAAKT,YAAcA,EACnBS,EAAKe,SAAWA,EAEhBf,EAAKf,OAAS7I,GAAOkG,eACrB0D,EAAKyL,QAAUrV,GAAOV,KACtBsK,EAAK0L,MAAQtV,GAAOmE,SACpByF,EAAK2L,UAAYvV,GAAOqN,KACxBzD,EAAKzL,QAAU6B,GAAO7B,QACtByL,EAAK8D,WAAa1N,GAAO0N,WAniEzB,GA0iEA,IAAInE,EAAM,SAAU/I,EAAM+I,EAAKiM,GAC9B,IAAIzF,EAAU,GACb0F,OAAqBzS,IAAVwS,EAEZ,OAAUhV,EAAOA,EAAM+I,KAA6B,IAAlB/I,EAAKlC,SACtC,GAAuB,IAAlBkC,EAAKlC,SAAiB,CAC1B,GAAKmX,GAAYzV,GAAQQ,GAAOkV,GAAIF,GACnC,MAEDzF,EAAQpS,KAAM6C,GAGhB,OAAOuP,GAIJ4F,EAAW,SAAUC,EAAGpV,GAG3B,IAFA,IAAIuP,EAAU,GAEN6F,EAAGA,EAAIA,EAAEtE,YACI,IAAfsE,EAAEtX,UAAkBsX,IAAMpV,GAC9BuP,EAAQpS,KAAMiY,GAIhB,OAAO7F,GAIJ8F,EAAgB7V,GAAOqN,KAAKrD,MAAM1B,aAElCwN,EAAa,kEAKjB,SAASC,EAAQzI,EAAU0I,EAAWhG,GACrC,OAAK5R,EAAY4X,GACThW,GAAO8B,KAAMwL,EAAU,SAAU9M,EAAMtB,GAC7C,QAAS8W,EAAUxY,KAAMgD,EAAMtB,EAAGsB,KAAWwP,IAK1CgG,EAAU1X,SACP0B,GAAO8B,KAAMwL,EAAU,SAAU9M,GACvC,OAASA,IAASwV,IAAgBhG,IAKV,iBAAdgG,EACJhW,GAAO8B,KAAMwL,EAAU,SAAU9M,GACvC,OAA4C,EAAnC5C,GAAQJ,KAAMwY,EAAWxV,KAAkBwP,IAK/ChQ,GAAO4M,OAAQoJ,EAAW1I,EAAU0C,GAG5ChQ,GAAO4M,OAAS,SAAUS,EAAMnM,EAAO8O,GACtC,IAAIxP,EAAOU,EAAO,GAMlB,OAJK8O,IACJ3C,EAAO,QAAUA,EAAO,KAGH,IAAjBnM,EAAMZ,QAAkC,IAAlBE,EAAKlC,SACxB0B,GAAO4J,KAAK2D,gBAAiB/M,EAAM6M,GAAS,CAAE7M,GAAS,GAGxDR,GAAO4J,KAAKjF,QAAS0I,EAAMrN,GAAO8B,KAAMZ,EAAO,SAAUV,GAC/D,OAAyB,IAAlBA,EAAKlC,aAId0B,GAAOG,GAAGmC,OAAQ,CACjBsH,KAAM,SAAU3J,GACf,IAAIf,EAAGiC,EACNc,EAAMlF,KAAKuD,OACX2V,EAAOlZ,KAER,GAAyB,iBAAbkD,EACX,OAAOlD,KAAKkE,UAAWjB,GAAQC,GAAW2M,OAAQ,WACjD,IAAM1N,EAAI,EAAGA,EAAI+C,EAAK/C,IACrB,GAAKc,GAAOwF,SAAUyQ,EAAM/W,GAAKnC,MAChC,OAAO,KAQX,IAFAoE,EAAMpE,KAAKkE,UAAW,IAEhB/B,EAAI,EAAGA,EAAI+C,EAAK/C,IACrBc,GAAO4J,KAAM3J,EAAUgW,EAAM/W,GAAKiC,GAGnC,OAAa,EAANc,EAAUjC,GAAO0N,WAAYvM,GAAQA,GAE7CyL,OAAQ,SAAU3M,GACjB,OAAOlD,KAAKkE,UAAW8U,EAAQhZ,KAAMkD,GAAY,IAAI,KAEtD+P,IAAK,SAAU/P,GACd,OAAOlD,KAAKkE,UAAW8U,EAAQhZ,KAAMkD,GAAY,IAAI,KAEtDyV,GAAI,SAAUzV,GACb,QAAS8V,EACRhZ,KAIoB,iBAAbkD,GAAyB4V,EAAcrR,KAAMvE,GACnDD,GAAQC,GACRA,GAAY,IACb,GACCK,UASJ,IAAI4V,EAMHzN,EAAa,uCAENzI,GAAOG,GAAGC,KAAO,SAAUH,EAAUC,EAASuQ,GACpD,IAAIzG,EAAOxJ,EAGX,IAAMP,EACL,OAAOlD,KAQR,GAHA0T,EAAOA,GAAQyF,EAGU,iBAAbjW,EAAwB,CAanC,KAPC+J,EALsB,MAAlB/J,EAAU,IACsB,MAApCA,EAAUA,EAASK,OAAS,IACT,GAAnBL,EAASK,OAGD,CAAE,KAAML,EAAU,MAGlBwI,EAAW2B,KAAMnK,MAIV+J,EAAO,IAAQ9J,EA6CxB,OAAMA,GAAWA,EAAQU,QACtBV,GAAWuQ,GAAO7G,KAAM3J,GAK1BlD,KAAK8D,YAAaX,GAAU0J,KAAM3J,GAhDzC,GAAK+J,EAAO,GAAM,CAYjB,GAXA9J,EAAUA,aAAmBF,GAASE,EAAS,GAAMA,EAIrDF,GAAOoB,MAAOrE,KAAMiD,GAAOmW,UAC1BnM,EAAO,GACP9J,GAAWA,EAAQ5B,SAAW4B,EAAQqE,eAAiBrE,EAAUvD,GACjE,IAIImZ,EAAWtR,KAAMwF,EAAO,KAAShK,GAAO6C,cAAe3C,GAC3D,IAAM8J,KAAS9J,EAGT9B,EAAYrB,KAAMiN,IACtBjN,KAAMiN,GAAS9J,EAAS8J,IAIxBjN,KAAKyQ,KAAMxD,EAAO9J,EAAS8J,IAK9B,OAAOjN,KAYP,OARAyD,EAAO7D,EAAS0N,eAAgBL,EAAO,OAKtCjN,KAAM,GAAMyD,EACZzD,KAAKuD,OAAS,GAERvD,KAcH,OAAKkD,EAAS3B,UACpBvB,KAAM,GAAMkD,EACZlD,KAAKuD,OAAS,EACPvD,MAIIqB,EAAY6B,QACD+C,IAAfyN,EAAK2F,MACX3F,EAAK2F,MAAOnW,GAGZA,EAAUD,IAGLA,GAAOgE,UAAW/D,EAAUlD,QAIhC4D,UAAYX,GAAOG,GAGxB+V,EAAalW,GAAQrD,GAGrB,IAAI0Z,EAAe,iCAGlBC,EAAmB,CAClBC,UAAU,EACVC,UAAU,EACVhN,MAAM,EACNiN,MAAM,GAoFR,SAASC,EAASC,EAAKpN,GACtB,OAAUoN,EAAMA,EAAKpN,KAA4B,IAAjBoN,EAAIrY,UACpC,OAAOqY,EAnFR3W,GAAOG,GAAGmC,OAAQ,CACjB8N,IAAK,SAAUzN,GACd,IAAIiU,EAAU5W,GAAQ2C,EAAQ5F,MAC7B8Z,EAAID,EAAQtW,OAEb,OAAOvD,KAAK6P,OAAQ,WAEnB,IADA,IAAI1N,EAAI,EACAA,EAAI2X,EAAG3X,IACd,GAAKc,GAAOwF,SAAUzI,KAAM6Z,EAAS1X,IACpC,OAAO,KAMX4X,QAAS,SAAUvB,EAAWrV,GAC7B,IAAIyW,EACHzX,EAAI,EACJ2X,EAAI9Z,KAAKuD,OACTyP,EAAU,GACV6G,EAA+B,iBAAdrB,GAA0BvV,GAAQuV,GAGpD,IAAMM,EAAcrR,KAAM+Q,GACzB,KAAQrW,EAAI2X,EAAG3X,IACd,IAAMyX,EAAM5Z,KAAMmC,GAAKyX,GAAOA,IAAQzW,EAASyW,EAAMA,EAAIhX,WAGxD,GAAKgX,EAAIrY,SAAW,KAAQsY,GACH,EAAxBA,EAAQG,MAAOJ,GAGE,IAAjBA,EAAIrY,UACH0B,GAAO4J,KAAK2D,gBAAiBoJ,EAAKpB,IAAgB,CAEnDxF,EAAQpS,KAAMgZ,GACd,MAMJ,OAAO5Z,KAAKkE,UAA4B,EAAjB8O,EAAQzP,OAAaN,GAAO0N,WAAYqC,GAAYA,IAI5EgH,MAAO,SAAUvW,GAGhB,OAAMA,EAKe,iBAATA,EACJ5C,GAAQJ,KAAMwC,GAAQQ,GAAQzD,KAAM,IAIrCa,GAAQJ,KAAMT,KAGpByD,EAAKI,OAASJ,EAAM,GAAMA,GAZjBzD,KAAM,IAAOA,KAAM,GAAI4C,WAAe5C,KAAK2E,QAAQsV,UAAU1W,QAAU,GAgBlF2W,IAAK,SAAUhX,EAAUC,GACxB,OAAOnD,KAAKkE,UACXjB,GAAO0N,WACN1N,GAAOoB,MAAOrE,KAAKgE,MAAOf,GAAQC,EAAUC,OAK/CgX,QAAS,SAAUjX,GAClB,OAAOlD,KAAKka,IAAiB,MAAZhX,EAChBlD,KAAKsE,WAAatE,KAAKsE,WAAWuL,OAAQ3M,OAU7CD,GAAOsB,KAAM,CACZgO,OAAQ,SAAU9O,GACjB,IAAI8O,EAAS9O,EAAKb,WAClB,OAAO2P,GAA8B,KAApBA,EAAOhR,SAAkBgR,EAAS,MAEpD6H,QAAS,SAAU3W,GAClB,OAAO+I,EAAK/I,EAAM,eAEnB4W,aAAc,SAAU5W,EAAM2E,EAAIqQ,GACjC,OAAOjM,EAAK/I,EAAM,aAAcgV,IAEjChM,KAAM,SAAUhJ,GACf,OAAOkW,EAASlW,EAAM,gBAEvBiW,KAAM,SAAUjW,GACf,OAAOkW,EAASlW,EAAM,oBAEvB6W,QAAS,SAAU7W,GAClB,OAAO+I,EAAK/I,EAAM,gBAEnBwW,QAAS,SAAUxW,GAClB,OAAO+I,EAAK/I,EAAM,oBAEnB8W,UAAW,SAAU9W,EAAM2E,EAAIqQ,GAC9B,OAAOjM,EAAK/I,EAAM,cAAegV,IAElC+B,UAAW,SAAU/W,EAAM2E,EAAIqQ,GAC9B,OAAOjM,EAAK/I,EAAM,kBAAmBgV,IAEtCG,SAAU,SAAUnV,GACnB,OAAOmV,GAAYnV,EAAKb,YAAc,IAAK8P,WAAYjP,IAExD+V,SAAU,SAAU/V,GACnB,OAAOmV,EAAUnV,EAAKiP,aAEvB+G,SAAU,SAAUhW,GACnB,OAA6B,MAAxBA,EAAKgX,iBAKTta,EAAUsD,EAAKgX,iBAERhX,EAAKgX,iBAMRjX,GAAUC,EAAM,cACpBA,EAAOA,EAAKiX,SAAWjX,GAGjBR,GAAOoB,MAAO,GAAIZ,EAAKiJ,eAE7B,SAAUhJ,EAAMN,GAClBH,GAAOG,GAAIM,GAAS,SAAU+U,EAAOvV,GACpC,IAAI8P,EAAU/P,GAAOwB,IAAKzE,KAAMoD,EAAIqV,GAuBpC,MArB0B,UAArB/U,EAAKpD,OAAQ,KACjB4C,EAAWuV,GAGPvV,GAAgC,iBAAbA,IACvB8P,EAAU/P,GAAO4M,OAAQ3M,EAAU8P,IAGjB,EAAdhT,KAAKuD,SAGHgW,EAAkB7V,IACvBT,GAAO0N,WAAYqC,GAIfsG,EAAa7R,KAAM/D,IACvBsP,EAAQ2H,WAIH3a,KAAKkE,UAAW8O,MAGzB,IAAI4H,EAAgB,oBAsOpB,SAASC,EAAUC,GAClB,OAAOA,EAER,SAASC,EAASC,GACjB,MAAMA,EAGP,SAASC,EAAYlT,EAAOmT,EAASC,EAAQC,GAC5C,IAAIC,EAEJ,IAGMtT,GAAS1G,EAAcga,EAAStT,EAAMuT,SAC1CD,EAAO5a,KAAMsH,GAAQ+B,KAAMoR,GAAUK,KAAMJ,GAGhCpT,GAAS1G,EAAcga,EAAStT,EAAMyT,MACjDH,EAAO5a,KAAMsH,EAAOmT,EAASC,GAQ7BD,EAAQva,WAAOsF,EAAW,CAAE8B,GAAQzH,MAAO8a,IAM3C,MAAQrT,GAIToT,EAAOxa,WAAOsF,EAAW,CAAE8B,KAvO7B9E,GAAOwY,UAAY,SAAUjW,GA9B7B,IAAwBA,EACnBkW,EAiCJlW,EAA6B,iBAAZA,GAlCMA,EAmCPA,EAlCZkW,EAAS,GACbzY,GAAOsB,KAAMiB,EAAQyH,MAAO2N,IAAmB,GAAI,SAAUe,EAAGC,GAC/DF,EAAQE,IAAS,IAEXF,GA+BNzY,GAAOsC,OAAQ,GAAIC,GAEpB,IACCqW,EAGAC,EAGAC,EAGAC,EAGAC,EAAO,GAGPC,EAAQ,GAGRC,GAAe,EAGfC,EAAO,WAQN,IALAJ,EAASA,GAAUxW,EAAQ6W,KAI3BN,EAAQF,GAAS,EACTK,EAAM3Y,OAAQ4Y,GAAe,EAAI,CACxCL,EAASI,EAAM3N,QACf,QAAU4N,EAAcF,EAAK1Y,QAGmC,IAA1D0Y,EAAME,GAAcxb,MAAOmb,EAAQ,GAAKA,EAAQ,KACpDtW,EAAQ8W,cAGRH,EAAcF,EAAK1Y,OACnBuY,GAAS,GAMNtW,EAAQsW,SACbA,GAAS,GAGVD,GAAS,EAGJG,IAIHC,EADIH,EACG,GAIA,KAMV5C,EAAO,CAGNgB,IAAK,WA2BJ,OA1BK+B,IAGCH,IAAWD,IACfM,EAAcF,EAAK1Y,OAAS,EAC5B2Y,EAAMtb,KAAMkb,IAGb,SAAW5B,EAAKrH,GACf5P,GAAOsB,KAAMsO,EAAM,SAAU8I,EAAG7T,GAC1BzG,EAAYyG,GACVtC,EAAQ6S,QAAWa,EAAK7F,IAAKvL,IAClCmU,EAAKrb,KAAMkH,GAEDA,GAAOA,EAAIvE,QAA4B,WAAlBT,EAAQgF,IAGxCoS,EAAKpS,KATR,CAYKpD,WAEAoX,IAAWD,GACfO,KAGKpc,MAIRuc,OAAQ,WAYP,OAXAtZ,GAAOsB,KAAMG,UAAW,SAAUiX,EAAG7T,GACpC,IAAIkS,EACJ,OAA0D,GAAhDA,EAAQ/W,GAAOkE,QAASW,EAAKmU,EAAMjC,IAC5CiC,EAAK3W,OAAQ0U,EAAO,GAGfA,GAASmC,GACbA,MAIInc,MAKRqT,IAAK,SAAUjQ,GACd,OAAOA,GACwB,EAA9BH,GAAOkE,QAAS/D,EAAI6Y,GACN,EAAdA,EAAK1Y,QAIP+Q,MAAO,WAIN,OAHK2H,IACJA,EAAO,IAEDjc,MAMRwc,QAAS,WAGR,OAFAR,EAASE,EAAQ,GACjBD,EAAOH,EAAS,GACT9b,MAERuM,SAAU,WACT,OAAQ0P,GAMTQ,KAAM,WAKL,OAJAT,EAASE,EAAQ,GACXJ,GAAWD,IAChBI,EAAOH,EAAS,IAEV9b,MAERgc,OAAQ,WACP,QAASA,GAIVU,SAAU,SAAUvZ,EAAS0P,GAS5B,OARMmJ,IAELnJ,EAAO,CAAE1P,GADT0P,EAAOA,GAAQ,IACQvS,MAAQuS,EAAKvS,QAAUuS,GAC9CqJ,EAAMtb,KAAMiS,GACNgJ,GACLO,KAGKpc,MAIRoc,KAAM,WAEL,OADAlD,EAAKwD,SAAU1c,KAAM0E,WACd1E,MAIR+b,MAAO,WACN,QAASA,IAIZ,OAAO7C,GA4CRjW,GAAOsC,OAAQ,CAEdoX,SAAU,SAAUC,GACnB,IAAIC,EAAS,CAIX,CAAE,SAAU,WAAY5Z,GAAOwY,UAAW,UACzCxY,GAAOwY,UAAW,UAAY,GAC/B,CAAE,UAAW,OAAQxY,GAAOwY,UAAW,eACtCxY,GAAOwY,UAAW,eAAiB,EAAG,YACvC,CAAE,SAAU,OAAQxY,GAAOwY,UAAW,eACrCxY,GAAOwY,UAAW,eAAiB,EAAG,aAExCqB,EAAQ,UACRxB,EAAU,CACTwB,MAAO,WACN,OAAOA,GAERC,OAAQ,WAEP,OADAC,EAASlT,KAAMpF,WAAY6W,KAAM7W,WAC1B1E,MAERid,QAAS,SAAU7Z,GAClB,OAAOkY,EAAQE,KAAM,KAAMpY,IAI5B8Z,KAAM,WACL,IAAIC,EAAMzY,UAEV,OAAOzB,GAAO0Z,SAAU,SAAUS,GACjCna,GAAOsB,KAAMsY,EAAQ,SAAUzU,EAAIiV,GAGlC,IAAIja,EAAK/B,EAAY8b,EAAKE,EAAO,MAAWF,EAAKE,EAAO,IAKxDL,EAAUK,EAAO,IAAO,WACvB,IAAIC,EAAWla,GAAMA,EAAGzC,MAAOX,KAAM0E,WAChC4Y,GAAYjc,EAAYic,EAAShC,SACrCgC,EAAShC,UACPiC,SAAUH,EAASI,QACnB1T,KAAMsT,EAASlC,SACfK,KAAM6B,EAASjC,QAEjBiC,EAAUC,EAAO,GAAM,QACtBrd,KACAoD,EAAK,CAAEka,GAAa5Y,eAKxByY,EAAM,OACH7B,WAELE,KAAM,SAAUiC,EAAaC,EAAYC,GACxC,IAAIC,EAAW,EACf,SAAS1C,EAAS2C,EAAOb,EAAUc,EAASC,GAC3C,OAAO,WACN,IAAIC,EAAOhe,KACV6S,EAAOnO,UACPuZ,EAAa,WACZ,IAAIX,EAAU9B,EAKd,KAAKqC,EAAQD,GAAb,CAQA,IAJAN,EAAWQ,EAAQnd,MAAOqd,EAAMnL,MAIdmK,EAAS1B,UAC1B,MAAM,IAAI4C,UAAW,4BAOtB1C,EAAO8B,IAKgB,iBAAbA,GACY,mBAAbA,IACRA,EAAS9B,KAGLna,EAAYma,GAGXuC,EACJvC,EAAK/a,KACJ6c,EACApC,EAAS0C,EAAUZ,EAAUnC,EAAUkD,GACvC7C,EAAS0C,EAAUZ,EAAUjC,EAASgD,KAOvCH,IAEApC,EAAK/a,KACJ6c,EACApC,EAAS0C,EAAUZ,EAAUnC,EAAUkD,GACvC7C,EAAS0C,EAAUZ,EAAUjC,EAASgD,GACtC7C,EAAS0C,EAAUZ,EAAUnC,EAC5BmC,EAASmB,eASPL,IAAYjD,IAChBmD,OAAO/X,EACP4M,EAAO,CAAEyK,KAKRS,GAAWf,EAASoB,aAAeJ,EAAMnL,MAK7CwL,EAAUN,EACTE,EACA,WACC,IACCA,IACC,MAAQtR,GAEJ1J,GAAO0Z,SAAS2B,eACpBrb,GAAO0Z,SAAS2B,cAAe3R,EAC9B0R,EAAQ9X,OAMQqX,GAAbC,EAAQ,IAIPC,IAAY/C,IAChBiD,OAAO/X,EACP4M,EAAO,CAAElG,IAGVqQ,EAASuB,WAAYP,EAAMnL,MAS3BgL,EACJQ,KAKKpb,GAAO0Z,SAAS6B,aACpBH,EAAQ9X,MAAQtD,GAAO0Z,SAAS6B,eAMrBvb,GAAO0Z,SAAS8B,eAC3BJ,EAAQ9X,MAAQtD,GAAO0Z,SAAS8B,gBAEjC1e,GAAO2e,WAAYL,KAKtB,OAAOpb,GAAO0Z,SAAU,SAAUS,GAGjCP,EAAQ,GAAK,GAAI3C,IAChBgB,EACC,EACAkC,EACA/b,EAAYsc,GACXA,EACA9C,EACDuC,EAASe,aAKXtB,EAAQ,GAAK,GAAI3C,IAChBgB,EACC,EACAkC,EACA/b,EAAYoc,GACXA,EACA5C,IAKHgC,EAAQ,GAAK,GAAI3C,IAChBgB,EACC,EACAkC,EACA/b,EAAYqc,GACXA,EACA3C,MAGAO,WAKLA,QAAS,SAAUha,GAClB,OAAc,MAAPA,EAAc2B,GAAOsC,OAAQjE,EAAKga,GAAYA,IAGvD0B,EAAW,GAkEZ,OA/DA/Z,GAAOsB,KAAMsY,EAAQ,SAAU1a,EAAGkb,GACjC,IAAIpB,EAAOoB,EAAO,GACjBsB,EAActB,EAAO,GAKtB/B,EAAS+B,EAAO,IAAQpB,EAAK/B,IAGxByE,GACJ1C,EAAK/B,IACJ,WAIC4C,EAAQ6B,GAKT9B,EAAQ,EAAI1a,GAAK,GAAIqa,QAIrBK,EAAQ,EAAI1a,GAAK,GAAIqa,QAGrBK,EAAQ,GAAK,GAAIJ,KAGjBI,EAAQ,GAAK,GAAIJ,MAOnBR,EAAK/B,IAAKmD,EAAO,GAAIjB,MAKrBY,EAAUK,EAAO,IAAQ,WAExB,OADAL,EAAUK,EAAO,GAAM,QAAUrd,OAASgd,OAAW/W,EAAYjG,KAAM0E,WAChE1E,MAMRgd,EAAUK,EAAO,GAAM,QAAWpB,EAAKS,WAIxCpB,EAAQA,QAAS0B,GAGZJ,GACJA,EAAKnc,KAAMuc,EAAUA,GAIfA,GAIR4B,KAAM,SAAUC,GACf,IAGCC,EAAYpa,UAAUnB,OAGtBpB,EAAI2c,EAGJC,EAAkBhZ,MAAO5D,GACzB6c,EAAgB1e,GAAMG,KAAMiE,WAG5Bua,EAAUhc,GAAO0Z,WAGjBuC,EAAa,SAAU/c,GACtB,OAAO,SAAU4F,GAChBgX,EAAiB5c,GAAMnC,KACvBgf,EAAe7c,GAAyB,EAAnBuC,UAAUnB,OAAajD,GAAMG,KAAMiE,WAAcqD,IAC5D+W,GACTG,EAAQb,YAAaW,EAAiBC,KAM1C,GAAKF,GAAa,IACjB7D,EAAY4D,EAAaI,EAAQnV,KAAMoV,EAAY/c,IAAM+Y,QAAS+D,EAAQ9D,QACxE2D,GAGuB,YAApBG,EAAQnC,SACZzb,EAAY2d,EAAe7c,IAAO6c,EAAe7c,GAAIqZ,OAErD,OAAOyD,EAAQzD,OAKjB,MAAQrZ,IACP8Y,EAAY+D,EAAe7c,GAAK+c,EAAY/c,GAAK8c,EAAQ9D,QAG1D,OAAO8D,EAAQ3D,aAOjB,IAAI6D,EAAc,yDAKlBlc,GAAO0Z,SAAS2B,cAAgB,SAAU/X,EAAO6Y,GAI3Crf,GAAOsf,SAAWtf,GAAOsf,QAAQC,MAAQ/Y,GAAS4Y,EAAY1X,KAAMlB,EAAM7C,OAC9E3D,GAAOsf,QAAQC,KAAM,8BAAgC/Y,EAAMgZ,QAC1DhZ,EAAMiZ,MAAOJ,IAOhBnc,GAAOwc,eAAiB,SAAUlZ,GACjCxG,GAAO2e,WAAY,WAClB,MAAMnY,KAQR,IAAImZ,EAAYzc,GAAO0Z,WAkDvB,SAASgD,IACR/f,EAASggB,oBAAqB,mBAAoBD,GAClD5f,GAAO6f,oBAAqB,OAAQD,GACpC1c,GAAOoW,QAnDRpW,GAAOG,GAAGiW,MAAQ,SAAUjW,GAY3B,OAVAsc,EACElE,KAAMpY,GAKN6Z,SAAO,SAAU1W,GACjBtD,GAAOwc,eAAgBlZ,KAGlBvG,MAGRiD,GAAOsC,OAAQ,CAGde,SAAS,EAITuZ,UAAW,EAGXxG,MAAO,SAAUyG,KAGF,IAATA,IAAkB7c,GAAO4c,UAAY5c,GAAOqD,WAKjDrD,GAAOqD,SAAU,KAGZwZ,GAAsC,IAAnB7c,GAAO4c,WAK/BH,EAAUtB,YAAaxe,EAAU,CAAEqD,QAIrCA,GAAOoW,MAAMmC,KAAOkE,EAAUlE,KAaD,aAAxB5b,EAASmgB,YACa,YAAxBngB,EAASmgB,aAA6BngB,EAASmH,gBAAgBiZ,SAGjEjgB,GAAO2e,WAAYzb,GAAOoW,QAK1BzZ,EAAS2P,iBAAkB,mBAAoBoQ,GAG/C5f,GAAOwP,iBAAkB,OAAQoQ,IAQlC,IAAIM,EAAS,SAAU9b,EAAOf,EAAIiL,EAAKtG,EAAOmY,EAAWC,EAAUC,GAClE,IAAIje,EAAI,EACP+C,EAAMf,EAAMZ,OACZ8c,EAAc,MAAPhS,EAGR,GAAuB,WAAlBvL,EAAQuL,GAEZ,IAAMlM,KADN+d,GAAY,EACD7R,EACV4R,EAAQ9b,EAAOf,EAAIjB,EAAGkM,EAAKlM,IAAK,EAAMge,EAAUC,QAI3C,QAAena,IAAV8B,IACXmY,GAAY,EAEN7e,EAAY0G,KACjBqY,GAAM,GAGFC,IAGCD,GACJhd,EAAG3C,KAAM0D,EAAO4D,GAChB3E,EAAK,OAILid,EAAOjd,EACPA,EAAK,SAAUK,EAAM6c,EAAMvY,GAC1B,OAAOsY,EAAK5f,KAAMwC,GAAQQ,GAAQsE,MAKhC3E,GACJ,KAAQjB,EAAI+C,EAAK/C,IAChBiB,EACCe,EAAOhC,GAAKkM,EAAK+R,EAChBrY,EACAA,EAAMtH,KAAM0D,EAAOhC,GAAKA,EAAGiB,EAAIe,EAAOhC,GAAKkM,KAMhD,OAAK6R,EACG/b,EAIHkc,EACGjd,EAAG3C,KAAM0D,GAGVe,EAAM9B,EAAIe,EAAO,GAAKkK,GAAQ8R,GAKlCI,EAAY,QACfC,EAAa,YAGd,SAASC,EAAYC,EAAMC,GAC1B,OAAOA,EAAOC,cAMf,SAASC,EAAWC,GACnB,OAAOA,EAAOza,QAASka,EAAW,OAAQla,QAASma,EAAYC,GAEhE,IAAIM,EAAa,SAAUC,GAQ1B,OAA0B,IAAnBA,EAAMzf,UAAqC,IAAnByf,EAAMzf,YAAsByf,EAAMzf,UAMlE,SAAS0f,IACRjhB,KAAKkG,QAAUjD,GAAOiD,QAAU+a,EAAKC,MAGtCD,EAAKC,IAAM,EAEXD,EAAKrd,UAAY,CAEhBwK,MAAO,SAAU4S,GAGhB,IAAIjZ,EAAQiZ,EAAOhhB,KAAKkG,SA4BxB,OAzBM6B,IACLA,EAAQ,GAKHgZ,EAAYC,KAIXA,EAAMzf,SACVyf,EAAOhhB,KAAKkG,SAAY6B,EAMxB3H,OAAO+gB,eAAgBH,EAAOhhB,KAAKkG,QAAS,CAC3C6B,MAAOA,EACPqZ,cAAc,MAMXrZ,GAERsZ,IAAK,SAAUL,EAAOM,EAAMvZ,GAC3B,IAAIwZ,EACHnT,EAAQpO,KAAKoO,MAAO4S,GAIrB,GAAqB,iBAATM,EACXlT,EAAOyS,EAAWS,IAAWvZ,OAM7B,IAAMwZ,KAAQD,EACblT,EAAOyS,EAAWU,IAAWD,EAAMC,GAGrC,OAAOnT,GAERpK,IAAK,SAAUgd,EAAO3S,GACrB,YAAepI,IAARoI,EACNrO,KAAKoO,MAAO4S,GAGZA,EAAOhhB,KAAKkG,UAAa8a,EAAOhhB,KAAKkG,SAAW2a,EAAWxS,KAE7D4R,OAAQ,SAAUe,EAAO3S,EAAKtG,GAa7B,YAAa9B,IAARoI,GACCA,GAAsB,iBAARA,QAAgCpI,IAAV8B,EAElC/H,KAAKgE,IAAKgd,EAAO3S,IASzBrO,KAAKqhB,IAAKL,EAAO3S,EAAKtG,QAIL9B,IAAV8B,EAAsBA,EAAQsG,IAEtCkO,OAAQ,SAAUyE,EAAO3S,GACxB,IAAIlM,EACHiM,EAAQ4S,EAAOhhB,KAAKkG,SAErB,QAAeD,IAAVmI,EAAL,CAIA,QAAanI,IAARoI,EAAoB,CAkBxBlM,GAXCkM,EAJItI,MAAMC,QAASqI,GAIbA,EAAI5J,IAAKoc,IAEfxS,EAAMwS,EAAWxS,MAIJD,EACZ,CAAEC,GACAA,EAAIpB,MAAO2N,IAAmB,IAG1BrX,OAER,MAAQpB,WACAiM,EAAOC,EAAKlM,UAKR8D,IAARoI,GAAqBpL,GAAO2D,cAAewH,MAM1C4S,EAAMzf,SACVyf,EAAOhhB,KAAKkG,cAAYD,SAEjB+a,EAAOhhB,KAAKkG,YAItBsb,QAAS,SAAUR,GAClB,IAAI5S,EAAQ4S,EAAOhhB,KAAKkG,SACxB,YAAiBD,IAAVmI,IAAwBnL,GAAO2D,cAAewH,KAGvD,IAAIqT,EAAW,IAAIR,EAEfS,EAAW,IAAIT,EAcfU,EAAS,gCACZC,EAAa,SA2Bd,SAASC,EAAUpe,EAAM4K,EAAKiT,GAC7B,IAAI5d,EA1Ba4d,EA8BjB,QAAcrb,IAATqb,GAAwC,IAAlB7d,EAAKlC,SAI/B,GAHAmC,EAAO,QAAU2K,EAAIhI,QAASub,EAAY,OAAQje,cAG7B,iBAFrB2d,EAAO7d,EAAKjB,aAAckB,IAEM,CAC/B,IACC4d,EAnCW,UADGA,EAoCEA,IA/BL,UAATA,IAIS,SAATA,EACG,KAIHA,KAAUA,EAAO,IACbA,EAGJK,EAAOla,KAAM6Z,GACVQ,KAAKC,MAAOT,GAGbA,GAeH,MAAQ3U,IAGV+U,EAASL,IAAK5d,EAAM4K,EAAKiT,QAEzBA,OAAOrb,EAGT,OAAOqb,EAGRre,GAAOsC,OAAQ,CACdic,QAAS,SAAU/d,GAClB,OAAOie,EAASF,QAAS/d,IAAUge,EAASD,QAAS/d,IAGtD6d,KAAM,SAAU7d,EAAMC,EAAM4d,GAC3B,OAAOI,EAASzB,OAAQxc,EAAMC,EAAM4d,IAGrCU,WAAY,SAAUve,EAAMC,GAC3Bge,EAASnF,OAAQ9Y,EAAMC,IAKxBue,MAAO,SAAUxe,EAAMC,EAAM4d,GAC5B,OAAOG,EAASxB,OAAQxc,EAAMC,EAAM4d,IAGrCY,YAAa,SAAUze,EAAMC,GAC5B+d,EAASlF,OAAQ9Y,EAAMC,MAIzBT,GAAOG,GAAGmC,OAAQ,CACjB+b,KAAM,SAAUjT,EAAKtG,GACpB,IAAI5F,EAAGuB,EAAM4d,EACZ7d,EAAOzD,KAAM,GACbmiB,EAAQ1e,GAAQA,EAAK8G,WAGtB,QAAatE,IAARoI,EAAoB,CACxB,GAAKrO,KAAKuD,SACT+d,EAAOI,EAAS1d,IAAKP,GAEE,IAAlBA,EAAKlC,WAAmBkgB,EAASzd,IAAKP,EAAM,iBAAmB,CACnEtB,EAAIggB,EAAM5e,OACV,MAAQpB,IAIFggB,EAAOhgB,IAEsB,KADjCuB,EAAOye,EAAOhgB,GAAIuB,MACR7C,QAAS,WAClB6C,EAAOmd,EAAWnd,EAAKpD,MAAO,IAC9BuhB,EAAUpe,EAAMC,EAAM4d,EAAM5d,KAI/B+d,EAASJ,IAAK5d,EAAM,gBAAgB,GAItC,OAAO6d,EAIR,MAAoB,iBAARjT,EACJrO,KAAKuE,KAAM,WACjBmd,EAASL,IAAKrhB,KAAMqO,KAIf4R,EAAQjgB,KAAM,SAAU+H,GAC9B,IAAIuZ,EAOJ,GAAK7d,QAAkBwC,IAAV8B,EAKZ,YAAc9B,KADdqb,EAAOI,EAAS1d,IAAKP,EAAM4K,IAEnBiT,OAMMrb,KADdqb,EAAOO,EAAUpe,EAAM4K,IAEfiT,OAIR,EAIDthB,KAAKuE,KAAM,WAGVmd,EAASL,IAAKrhB,KAAMqO,EAAKtG,MAExB,KAAMA,EAA0B,EAAnBrD,UAAUnB,OAAY,MAAM,IAG7Cye,WAAY,SAAU3T,GACrB,OAAOrO,KAAKuE,KAAM,WACjBmd,EAASnF,OAAQvc,KAAMqO,QAM1BpL,GAAOsC,OAAQ,CACd2W,MAAO,SAAUzY,EAAM9B,EAAM2f,GAC5B,IAAIpF,EAEJ,GAAKzY,EAYJ,OAXA9B,GAASA,GAAQ,MAAS,QAC1Bua,EAAQuF,EAASzd,IAAKP,EAAM9B,GAGvB2f,KACEpF,GAASnW,MAAMC,QAASsb,GAC7BpF,EAAQuF,EAASxB,OAAQxc,EAAM9B,EAAMsB,GAAOgE,UAAWqa,IAEvDpF,EAAMtb,KAAM0gB,IAGPpF,GAAS,IAIlBkG,QAAS,SAAU3e,EAAM9B,GACxBA,EAAOA,GAAQ,KAEf,IAAIua,EAAQjZ,GAAOiZ,MAAOzY,EAAM9B,GAC/B0gB,EAAcnG,EAAM3Y,OACpBH,EAAK8Y,EAAM3N,QACX+T,EAAQrf,GAAOsf,YAAa9e,EAAM9B,GAMvB,eAAPyB,IACJA,EAAK8Y,EAAM3N,QACX8T,KAGIjf,IAIU,OAATzB,GACJua,EAAMsG,QAAS,qBAITF,EAAMG,KACbrf,EAAG3C,KAAMgD,EApBF,WACNR,GAAOmf,QAAS3e,EAAM9B,IAmBF2gB,KAGhBD,GAAeC,GACpBA,EAAMhO,MAAM8H,QAKdmG,YAAa,SAAU9e,EAAM9B,GAC5B,IAAI0M,EAAM1M,EAAO,aACjB,OAAO8f,EAASzd,IAAKP,EAAM4K,IAASoT,EAASxB,OAAQxc,EAAM4K,EAAK,CAC/DiG,MAAOrR,GAAOwY,UAAW,eAAgBvB,IAAK,WAC7CuH,EAASlF,OAAQ9Y,EAAM,CAAE9B,EAAO,QAAS0M,WAM7CpL,GAAOG,GAAGmC,OAAQ,CACjB2W,MAAO,SAAUva,EAAM2f,GACtB,IAAIoB,EAAS,EAQb,MANqB,iBAAT/gB,IACX2f,EAAO3f,EACPA,EAAO,KACP+gB,KAGIhe,UAAUnB,OAASmf,EAChBzf,GAAOiZ,MAAOlc,KAAM,GAAK2B,QAGjBsE,IAATqb,EACNthB,KACAA,KAAKuE,KAAM,WACV,IAAI2X,EAAQjZ,GAAOiZ,MAAOlc,KAAM2B,EAAM2f,GAGtCre,GAAOsf,YAAaviB,KAAM2B,GAEZ,OAATA,GAAgC,eAAfua,EAAO,IAC5BjZ,GAAOmf,QAASpiB,KAAM2B,MAI1BygB,QAAS,SAAUzgB,GAClB,OAAO3B,KAAKuE,KAAM,WACjBtB,GAAOmf,QAASpiB,KAAM2B,MAGxBghB,WAAY,SAAUhhB,GACrB,OAAO3B,KAAKkc,MAAOva,GAAQ,KAAM,KAKlC2Z,QAAS,SAAU3Z,EAAML,GACxB,IAAIshB,EACHC,EAAQ,EACRC,EAAQ7f,GAAO0Z,WACfpM,EAAWvQ,KACXmC,EAAInC,KAAKuD,OACT2X,EAAU,aACC2H,GACTC,EAAM1E,YAAa7N,EAAU,CAAEA,KAIb,iBAAT5O,IACXL,EAAMK,EACNA,OAAOsE,GAERtE,EAAOA,GAAQ,KAEf,MAAQQ,KACPygB,EAAMnB,EAASzd,IAAKuM,EAAUpO,GAAKR,EAAO,gBAC9BihB,EAAItO,QACfuO,IACAD,EAAItO,MAAM4F,IAAKgB,IAIjB,OADAA,IACO4H,EAAMxH,QAASha,MAGxB,IAAIyhB,EAAO,sCAA0CC,OAEjDC,EAAU,IAAIza,OAAQ,iBAAmBua,EAAO,cAAe,KAG/DG,EAAY,CAAE,MAAO,QAAS,SAAU,QAExCnc,EAAkBnH,EAASmH,gBAI1Boc,EAAa,SAAU1f,GACzB,OAAOR,GAAOwF,SAAUhF,EAAK+D,cAAe/D,IAE7C2f,EAAW,CAAEA,UAAU,GAOnBrc,EAAgBsc,cACpBF,EAAa,SAAU1f,GACtB,OAAOR,GAAOwF,SAAUhF,EAAK+D,cAAe/D,IAC3CA,EAAK4f,YAAaD,KAAe3f,EAAK+D,gBAG1C,IAAI8b,GAAqB,SAAU7f,EAAMiL,GAOvC,MAA8B,UAH9BjL,EAAOiL,GAAMjL,GAGD8f,MAAMC,SACM,KAAvB/f,EAAK8f,MAAMC,SAMXL,EAAY1f,IAEsB,SAAlCR,GAAOwgB,IAAKhgB,EAAM,YAKrB,SAASigB,GAAWjgB,EAAM8d,EAAMoC,EAAYC,GAC3C,IAAIC,EAAUC,EACbC,EAAgB,GAChBC,EAAeJ,EACd,WACC,OAAOA,EAAMhK,OAEd,WACC,OAAO3W,GAAOwgB,IAAKhgB,EAAM8d,EAAM,KAEjC0C,EAAUD,IACVE,EAAOP,GAAcA,EAAY,KAAS1gB,GAAOkhB,UAAW5C,GAAS,GAAK,MAG1E6C,EAAgB3gB,EAAKlC,WAClB0B,GAAOkhB,UAAW5C,IAAmB,OAAT2C,IAAkBD,IAChDhB,EAAQ5V,KAAMpK,GAAOwgB,IAAKhgB,EAAM8d,IAElC,GAAK6C,GAAiBA,EAAe,KAAQF,EAAO,CAInDD,GAAoB,EAGpBC,EAAOA,GAAQE,EAAe,GAG9BA,GAAiBH,GAAW,EAE5B,MAAQF,IAIP9gB,GAAOsgB,MAAO9f,EAAM8d,EAAM6C,EAAgBF,IACnC,EAAIJ,IAAY,GAAMA,EAAQE,IAAiBC,GAAW,MAAW,IAC3EF,EAAgB,GAEjBK,GAAgCN,EAIjCM,GAAgC,EAChCnhB,GAAOsgB,MAAO9f,EAAM8d,EAAM6C,EAAgBF,GAG1CP,EAAaA,GAAc,GAgB5B,OAbKA,IACJS,GAAiBA,IAAkBH,GAAW,EAG9CJ,EAAWF,EAAY,GACtBS,GAAkBT,EAAY,GAAM,GAAMA,EAAY,IACrDA,EAAY,GACTC,IACJA,EAAMM,KAAOA,EACbN,EAAMtR,MAAQ8R,EACdR,EAAMxe,IAAMye,IAGPA,EAIR,IAAIQ,GAAoB,GAyBxB,SAASC,GAAU/T,EAAUgU,GAO5B,IANA,IAAIf,EAAS/f,EAxBcA,EACvBiT,EACHxU,EACAsB,EACAggB,EAqBAgB,EAAS,GACTxK,EAAQ,EACRzW,EAASgN,EAAShN,OAGXyW,EAAQzW,EAAQyW,KACvBvW,EAAO8M,EAAUyJ,IACNuJ,QAIXC,EAAU/f,EAAK8f,MAAMC,QAChBe,GAKa,SAAZf,IACJgB,EAAQxK,GAAUyH,EAASzd,IAAKP,EAAM,YAAe,KAC/C+gB,EAAQxK,KACbvW,EAAK8f,MAAMC,QAAU,KAGK,KAAvB/f,EAAK8f,MAAMC,SAAkBF,GAAoB7f,KACrD+gB,EAAQxK,IA7CVwJ,EAFAthB,EADGwU,OAAAA,EACHxU,GAF0BuB,EAiDaA,GA/C5B+D,cACXhE,EAAWC,EAAKD,UAChBggB,EAAUa,GAAmB7gB,MAM9BkT,EAAOxU,EAAIuiB,KAAK9hB,YAAaT,EAAII,cAAekB,IAChDggB,EAAUvgB,GAAOwgB,IAAK/M,EAAM,WAE5BA,EAAK9T,WAAWC,YAAa6T,GAEZ,SAAZ8M,IACJA,EAAU,SAEXa,GAAmB7gB,GAAaggB,MAkCb,SAAZA,IACJgB,EAAQxK,GAAU,OAGlByH,EAASJ,IAAK5d,EAAM,UAAW+f,KAMlC,IAAMxJ,EAAQ,EAAGA,EAAQzW,EAAQyW,IACR,MAAnBwK,EAAQxK,KACZzJ,EAAUyJ,GAAQuJ,MAAMC,QAAUgB,EAAQxK,IAI5C,OAAOzJ,EAGRtN,GAAOG,GAAGmC,OAAQ,CACjBgf,KAAM,WACL,OAAOD,GAAUtkB,MAAM,IAExB0kB,KAAM,WACL,OAAOJ,GAAUtkB,OAElB2kB,OAAQ,SAAU7H,GACjB,MAAsB,kBAAVA,EACJA,EAAQ9c,KAAKukB,OAASvkB,KAAK0kB,OAG5B1kB,KAAKuE,KAAM,WACZ+e,GAAoBtjB,MACxBiD,GAAQjD,MAAOukB,OAEfthB,GAAQjD,MAAO0kB,YAKnB,IAUEE,GACA1U,GAXE2U,GAAiB,wBAEjBC,GAAW,iCAEXC,GAAc,qCAMhBH,GADchlB,EAASolB,yBACRriB,YAAa/C,EAAS0C,cAAe,SACpD4N,GAAQtQ,EAAS0C,cAAe,UAM3BG,aAAc,OAAQ,SAC5ByN,GAAMzN,aAAc,UAAW,WAC/ByN,GAAMzN,aAAc,OAAQ,KAE5BmiB,GAAIjiB,YAAauN,IAIjB9O,GAAQ6jB,WAAaL,GAAIM,WAAW,GAAOA,WAAW,GAAOvS,UAAUwB,QAIvEyQ,GAAIzU,UAAY,yBAChB/O,GAAQ+jB,iBAAmBP,GAAIM,WAAW,GAAOvS,UAAUyS,aAK3DR,GAAIzU,UAAY,oBAChB/O,GAAQikB,SAAWT,GAAIjS,UAKxB,IAAI2S,GAAU,CAKbC,MAAO,CAAE,EAAG,UAAW,YACvBC,IAAK,CAAE,EAAG,oBAAqB,uBAC/BC,GAAI,CAAE,EAAG,iBAAkB,oBAC3BC,GAAI,CAAE,EAAG,qBAAsB,yBAE/BC,SAAU,CAAE,EAAG,GAAI,KAYpB,SAASC,GAAQziB,EAAS6M,GAIzB,IAAI5L,EAYJ,OATCA,EAD4C,oBAAjCjB,EAAQqK,qBACbrK,EAAQqK,qBAAsBwC,GAAO,KAEI,oBAA7B7M,EAAQ4K,iBACpB5K,EAAQ4K,iBAAkBiC,GAAO,KAGjC,QAGM/J,IAAR+J,GAAqBA,GAAOxM,GAAUL,EAAS6M,GAC5C/M,GAAOoB,MAAO,CAAElB,GAAWiB,GAG5BA,EAKR,SAASyhB,GAAe1hB,EAAO2hB,GAI9B,IAHA,IAAI3jB,EAAI,EACP2X,EAAI3V,EAAMZ,OAEHpB,EAAI2X,EAAG3X,IACdsf,EAASJ,IACRld,EAAOhC,GACP,cACC2jB,GAAerE,EAASzd,IAAK8hB,EAAa3jB,GAAK,eA1CnDmjB,GAAQS,MAAQT,GAAQU,MAAQV,GAAQW,SAAWX,GAAQY,QAAUZ,GAAQC,MAC7ED,GAAQa,GAAKb,GAAQI,GAGftkB,GAAQikB,SACbC,GAAQc,SAAWd,GAAQD,OAAS,CAAE,EAAG,+BAAgC,cA2C1E,IAAIgB,GAAQ,YAEZ,SAASC,GAAeniB,EAAOhB,EAASojB,EAASC,EAAWC,GAO3D,IANA,IAAIhjB,EAAMmf,EAAK5S,EAAK0W,EAAMC,EAAUxhB,EACnCyhB,EAAWzjB,EAAQ6hB,yBACnB6B,EAAQ,GACR1kB,EAAI,EACJ2X,EAAI3V,EAAMZ,OAEHpB,EAAI2X,EAAG3X,IAGd,IAFAsB,EAAOU,EAAOhC,KAEQ,IAATsB,EAGZ,GAAwB,WAAnBX,EAAQW,GAIZR,GAAOoB,MAAOwiB,EAAOpjB,EAAKlC,SAAW,CAAEkC,GAASA,QAG1C,GAAM4iB,GAAM5e,KAAMhE,GAIlB,CACNmf,EAAMA,GAAOgE,EAASjkB,YAAaQ,EAAQb,cAAe,QAG1D0N,GAAQ8U,GAASzX,KAAM5J,IAAU,CAAE,GAAI,KAAQ,GAAIE,cACnD+iB,EAAOpB,GAAStV,IAASsV,GAAQK,SACjC/C,EAAIzS,UAAYuW,EAAM,GAAMzjB,GAAO6jB,cAAerjB,GAASijB,EAAM,GAGjEvhB,EAAIuhB,EAAM,GACV,MAAQvhB,IACPyd,EAAMA,EAAIjQ,UAKX1P,GAAOoB,MAAOwiB,EAAOjE,EAAIlW,aAGzBkW,EAAMgE,EAASlU,YAGX5L,YAAc,QAzBlB+f,EAAMjmB,KAAMuC,EAAQ4jB,eAAgBtjB,IA+BvCmjB,EAAS9f,YAAc,GAEvB3E,EAAI,EACJ,MAAUsB,EAAOojB,EAAO1kB,KAGvB,GAAKqkB,IAAkD,EAArCvjB,GAAOkE,QAAS1D,EAAM+iB,GAClCC,GACJA,EAAQ7lB,KAAM6C,QAgBhB,GAXAkjB,EAAWxD,EAAY1f,GAGvBmf,EAAMgD,GAAQgB,EAASjkB,YAAac,GAAQ,UAGvCkjB,GACJd,GAAejD,GAIX2D,EAAU,CACdphB,EAAI,EACJ,MAAU1B,EAAOmf,EAAKzd,KAChB4f,GAAYtd,KAAMhE,EAAK9B,MAAQ,KACnC4kB,EAAQ3lB,KAAM6C,GAMlB,OAAOmjB,EAIR,IAAII,GAAiB,sBAErB,SAASC,KACR,OAAO,EAGR,SAASC,KACR,OAAO,EAGR,SAASC,GAAI1jB,EAAM2jB,EAAOlkB,EAAUoe,EAAMle,EAAIikB,GAC7C,IAAIC,EAAQ3lB,EAGZ,GAAsB,iBAAVylB,EAAqB,CAShC,IAAMzlB,IANmB,iBAAbuB,IAGXoe,EAAOA,GAAQpe,EACfA,OAAW+C,GAEEmhB,EACbD,GAAI1jB,EAAM9B,EAAMuB,EAAUoe,EAAM8F,EAAOzlB,GAAQ0lB,GAEhD,OAAO5jB,EAsBR,GAnBa,MAAR6d,GAAsB,MAANle,GAGpBA,EAAKF,EACLoe,EAAOpe,OAAW+C,GACD,MAAN7C,IACc,iBAAbF,GAGXE,EAAKke,EACLA,OAAOrb,IAIP7C,EAAKke,EACLA,EAAOpe,EACPA,OAAW+C,KAGD,IAAP7C,EACJA,EAAK8jB,QACC,IAAM9jB,EACZ,OAAOK,EAeR,OAZa,IAAR4jB,IACJC,EAASlkB,GACTA,EAAK,SAAUmkB,GAId,OADAtkB,KAASukB,IAAKD,GACPD,EAAO3mB,MAAOX,KAAM0E,aAIzBsD,KAAOsf,EAAOtf,OAAUsf,EAAOtf,KAAO/E,GAAO+E,SAE1CvE,EAAKc,KAAM,WACjBtB,GAAOskB,MAAMrN,IAAKla,KAAMonB,EAAOhkB,EAAIke,EAAMpe,KA+a3C,SAASukB,GAAgB/Y,EAAI/M,EAAM+lB,GAG5BA,GAQNjG,EAASJ,IAAK3S,EAAI/M,GAAM,GACxBsB,GAAOskB,MAAMrN,IAAKxL,EAAI/M,EAAM,CAC3B0F,WAAW,EACXyW,QAAS,SAAUyJ,GAClB,IAAI3V,EACH+V,EAAQlG,EAASzd,IAAKhE,KAAM2B,GAE7B,GAAyB,EAAlB4lB,EAAMK,WAAmB5nB,KAAM2B,IAGrC,GAAMgmB,GA4BQ1kB,GAAOskB,MAAMxJ,QAASpc,IAAU,IAAKkmB,cAClDN,EAAMO,uBAhBN,GARAH,EAAQrnB,GAAMG,KAAMiE,WACpB+c,EAASJ,IAAKrhB,KAAM2B,EAAMgmB,GAG1B3nB,KAAM2B,KACNiQ,EAAS6P,EAASzd,IAAKhE,KAAM2B,GAC7B8f,EAASJ,IAAKrhB,KAAM2B,GAAM,GAErBgmB,IAAU/V,EAMd,OAHA2V,EAAMQ,2BACNR,EAAMS,iBAECpW,OAeE+V,IAGXlG,EAASJ,IAAKrhB,KAAM2B,EAAMsB,GAAOskB,MAAMU,QACtCN,EAAO,GACPA,EAAMrnB,MAAO,GACbN,OAWDunB,EAAMO,kBACNP,EAAMW,8BAAgCjB,aArENhhB,IAA7Bwb,EAASzd,IAAK0K,EAAI/M,IACtBsB,GAAOskB,MAAMrN,IAAKxL,EAAI/M,EAAMslB,IA5a/BhkB,GAAOskB,MAAQ,CAEd/nB,OAAQ,GAER0a,IAAK,SAAUzW,EAAM2jB,EAAOtJ,EAASwD,EAAMpe,GAE1C,IAAIilB,EAAaC,EAAaxF,EAC7ByF,EAAQC,EAAGC,EACXxK,EAASyK,EAAU7mB,EAAM8mB,EAAYC,EACrCC,EAAWlH,EAASzd,IAAKP,GAG1B,GAAMsd,EAAYtd,GAAlB,CAKKqa,EAAQA,UAEZA,GADAqK,EAAcrK,GACQA,QACtB5a,EAAWilB,EAAYjlB,UAKnBA,GACJD,GAAO4J,KAAK2D,gBAAiBzJ,EAAiB7D,GAIzC4a,EAAQ9V,OACb8V,EAAQ9V,KAAO/E,GAAO+E,SAIfqgB,EAASM,EAASN,UACzBA,EAASM,EAASN,OAASjoB,OAAOwoB,OAAQ,QAEnCR,EAAcO,EAASE,UAC9BT,EAAcO,EAASE,OAAS,SAAUlc,GAIzC,MAAyB,oBAAX1J,IAA0BA,GAAOskB,MAAMuB,YAAcnc,EAAEhL,KACpEsB,GAAOskB,MAAMwB,SAASpoB,MAAO8C,EAAMiB,gBAAcuB,IAMpDqiB,GADAlB,GAAUA,GAAS,IAAKna,MAAO2N,IAAmB,CAAE,KAC1CrX,OACV,MAAQ+kB,IAEP3mB,EAAO+mB,GADP9F,EAAMoE,GAAe3Z,KAAM+Z,EAAOkB,KAAS,IACpB,GACvBG,GAAe7F,EAAK,IAAO,IAAKza,MAAO,KAAM9C,OAGvC1D,IAKNoc,EAAU9a,GAAOskB,MAAMxJ,QAASpc,IAAU,GAG1CA,GAASuB,EAAW6a,EAAQ8J,aAAe9J,EAAQiL,WAAcrnB,EAGjEoc,EAAU9a,GAAOskB,MAAMxJ,QAASpc,IAAU,GAG1C4mB,EAAYtlB,GAAOsC,OAAQ,CAC1B5D,KAAMA,EACN+mB,SAAUA,EACVpH,KAAMA,EACNxD,QAASA,EACT9V,KAAM8V,EAAQ9V,KACd9E,SAAUA,EACVqI,aAAcrI,GAAYD,GAAOqN,KAAKrD,MAAM1B,aAAa9D,KAAMvE,GAC/DmE,UAAWohB,EAAW3a,KAAM,MAC1Bqa,IAGKK,EAAWH,EAAQ1mB,OAC1B6mB,EAAWH,EAAQ1mB,GAAS,IACnBsnB,cAAgB,EAGnBlL,EAAQmL,QACiD,IAA9DnL,EAAQmL,MAAMzoB,KAAMgD,EAAM6d,EAAMmH,EAAYL,IAEvC3kB,EAAK8L,kBACT9L,EAAK8L,iBAAkB5N,EAAMymB,IAK3BrK,EAAQ7D,MACZ6D,EAAQ7D,IAAIzZ,KAAMgD,EAAM8kB,GAElBA,EAAUzK,QAAQ9V,OACvBugB,EAAUzK,QAAQ9V,KAAO8V,EAAQ9V,OAK9B9E,EACJslB,EAASljB,OAAQkjB,EAASS,gBAAiB,EAAGV,GAE9CC,EAAS5nB,KAAM2nB,GAIhBtlB,GAAOskB,MAAM/nB,OAAQmC,IAAS,KAMhC4a,OAAQ,SAAU9Y,EAAM2jB,EAAOtJ,EAAS5a,EAAUimB,GAEjD,IAAIhkB,EAAGikB,EAAWxG,EACjByF,EAAQC,EAAGC,EACXxK,EAASyK,EAAU7mB,EAAM8mB,EAAYC,EACrCC,EAAWlH,EAASD,QAAS/d,IAAUge,EAASzd,IAAKP,GAEtD,GAAMklB,IAAeN,EAASM,EAASN,QAAvC,CAMAC,GADAlB,GAAUA,GAAS,IAAKna,MAAO2N,IAAmB,CAAE,KAC1CrX,OACV,MAAQ+kB,IAMP,GAJA3mB,EAAO+mB,GADP9F,EAAMoE,GAAe3Z,KAAM+Z,EAAOkB,KAAS,IACpB,GACvBG,GAAe7F,EAAK,IAAO,IAAKza,MAAO,KAAM9C,OAGvC1D,EAAN,CAOAoc,EAAU9a,GAAOskB,MAAMxJ,QAASpc,IAAU,GAE1C6mB,EAAWH,EADX1mB,GAASuB,EAAW6a,EAAQ8J,aAAe9J,EAAQiL,WAAcrnB,IACpC,GAC7BihB,EAAMA,EAAK,IACV,IAAIpa,OAAQ,UAAYigB,EAAW3a,KAAM,iBAAoB,WAG9Dsb,EAAYjkB,EAAIqjB,EAASjlB,OACzB,MAAQ4B,IACPojB,EAAYC,EAAUrjB,IAEfgkB,GAAeT,IAAaH,EAAUG,UACzC5K,GAAWA,EAAQ9V,OAASugB,EAAUvgB,MACtC4a,IAAOA,EAAInb,KAAM8gB,EAAUlhB,YAC3BnE,GAAYA,IAAaqlB,EAAUrlB,WACxB,OAAbA,IAAqBqlB,EAAUrlB,YAChCslB,EAASljB,OAAQH,EAAG,GAEfojB,EAAUrlB,UACdslB,EAASS,gBAELlL,EAAQxB,QACZwB,EAAQxB,OAAO9b,KAAMgD,EAAM8kB,IAOzBa,IAAcZ,EAASjlB,SACrBwa,EAAQsL,WACkD,IAA/DtL,EAAQsL,SAAS5oB,KAAMgD,EAAMglB,EAAYE,EAASE,SAElD5lB,GAAOqmB,YAAa7lB,EAAM9B,EAAMgnB,EAASE,eAGnCR,EAAQ1mB,SA1Cf,IAAMA,KAAQ0mB,EACbplB,GAAOskB,MAAMhL,OAAQ9Y,EAAM9B,EAAOylB,EAAOkB,GAAKxK,EAAS5a,GAAU,GA8C/DD,GAAO2D,cAAeyhB,IAC1B5G,EAASlF,OAAQ9Y,EAAM,mBAIzBslB,SAAU,SAAUQ,GAEnB,IAAIpnB,EAAGgD,EAAGf,EAAK4O,EAASuV,EAAWiB,EAClC3W,EAAO,IAAI9M,MAAOrB,UAAUnB,QAG5BgkB,EAAQtkB,GAAOskB,MAAMkC,IAAKF,GAE1Bf,GACC/G,EAASzd,IAAKhE,KAAM,WAAcI,OAAOwoB,OAAQ,OAC/CrB,EAAM5lB,OAAU,GACnBoc,EAAU9a,GAAOskB,MAAMxJ,QAASwJ,EAAM5lB,OAAU,GAKjD,IAFAkR,EAAM,GAAM0U,EAENplB,EAAI,EAAGA,EAAIuC,UAAUnB,OAAQpB,IAClC0Q,EAAM1Q,GAAMuC,UAAWvC,GAMxB,GAHAolB,EAAMmC,eAAiB1pB,MAGlB+d,EAAQ4L,cAA2D,IAA5C5L,EAAQ4L,YAAYlpB,KAAMT,KAAMunB,GAA5D,CAKAiC,EAAevmB,GAAOskB,MAAMiB,SAAS/nB,KAAMT,KAAMunB,EAAOiB,GAGxDrmB,EAAI,EACJ,OAAU6Q,EAAUwW,EAAcrnB,QAAYolB,EAAMqC,uBAAyB,CAC5ErC,EAAMsC,cAAgB7W,EAAQvP,KAE9B0B,EAAI,EACJ,OAAUojB,EAAYvV,EAAQwV,SAAUrjB,QACtCoiB,EAAMW,gCAIDX,EAAMuC,aAAsC,IAAxBvB,EAAUlhB,YACnCkgB,EAAMuC,WAAWriB,KAAM8gB,EAAUlhB,aAEjCkgB,EAAMgB,UAAYA,EAClBhB,EAAMjG,KAAOiH,EAAUjH,UAKVrb,KAHb7B,IAAUnB,GAAOskB,MAAMxJ,QAASwK,EAAUG,WAAc,IAAKG,QAC5DN,EAAUzK,SAAUnd,MAAOqS,EAAQvP,KAAMoP,MAGT,KAAzB0U,EAAM3V,OAASxN,KACrBmjB,EAAMS,iBACNT,EAAMO,oBAYX,OAJK/J,EAAQgM,cACZhM,EAAQgM,aAAatpB,KAAMT,KAAMunB,GAG3BA,EAAM3V,SAGd4W,SAAU,SAAUjB,EAAOiB,GAC1B,IAAIrmB,EAAGomB,EAAWnf,EAAK4gB,EAAiBC,EACvCT,EAAe,GACfP,EAAgBT,EAASS,cACzBrP,EAAM2N,EAAM3hB,OAGb,GAAKqjB,GAIJrP,EAAIrY,YAOc,UAAfgmB,EAAM5lB,MAAoC,GAAhB4lB,EAAM9S,QAEnC,KAAQmF,IAAQ5Z,KAAM4Z,EAAMA,EAAIhX,YAAc5C,KAI7C,GAAsB,IAAjB4Z,EAAIrY,WAAoC,UAAfgmB,EAAM5lB,OAAqC,IAAjBiY,EAAIrN,UAAsB,CAGjF,IAFAyd,EAAkB,GAClBC,EAAmB,GACb9nB,EAAI,EAAGA,EAAI8mB,EAAe9mB,SAME8D,IAA5BgkB,EAFL7gB,GAHAmf,EAAYC,EAAUrmB,IAGNe,SAAW,OAG1B+mB,EAAkB7gB,GAAQmf,EAAUhd,cACC,EAApCtI,GAAQmG,EAAKpJ,MAAOga,MAAOJ,GAC3B3W,GAAO4J,KAAMzD,EAAKpJ,KAAM,KAAM,CAAE4Z,IAAQrW,QAErC0mB,EAAkB7gB,IACtB4gB,EAAgBppB,KAAM2nB,GAGnByB,EAAgBzmB,QACpBimB,EAAa5oB,KAAM,CAAE6C,KAAMmW,EAAK4O,SAAUwB,IAY9C,OALApQ,EAAM5Z,KACDipB,EAAgBT,EAASjlB,QAC7BimB,EAAa5oB,KAAM,CAAE6C,KAAMmW,EAAK4O,SAAUA,EAASloB,MAAO2oB,KAGpDO,GAGRU,QAAS,SAAUxmB,EAAMymB,GACxB/pB,OAAO+gB,eAAgBle,GAAOmnB,MAAMxmB,UAAWF,EAAM,CACpD2mB,YAAY,EACZjJ,cAAc,EAEdpd,IAAK3C,EAAY8oB,GAChB,WACC,GAAKnqB,KAAKsqB,cACT,OAAOH,EAAMnqB,KAAKsqB,gBAGpB,WACC,GAAKtqB,KAAKsqB,cACT,OAAOtqB,KAAKsqB,cAAe5mB,IAI9B2d,IAAK,SAAUtZ,GACd3H,OAAO+gB,eAAgBnhB,KAAM0D,EAAM,CAClC2mB,YAAY,EACZjJ,cAAc,EACdmJ,UAAU,EACVxiB,MAAOA,QAMX0hB,IAAK,SAAUa,GACd,OAAOA,EAAernB,GAAOiD,SAC5BokB,EACA,IAAIrnB,GAAOmnB,MAAOE,IAGpBvM,QAAS,CACRyM,KAAM,CAGLC,UAAU,GAEXC,MAAO,CAGNxB,MAAO,SAAU5H,GAIhB,IAAI5S,EAAK1O,MAAQshB,EAWjB,OARKuD,GAAepd,KAAMiH,EAAG/M,OAC5B+M,EAAGgc,OAASlnB,GAAUkL,EAAI,UAG1B+Y,GAAgB/Y,EAAI,SAAS,IAIvB,GAERuZ,QAAS,SAAU3G,GAIlB,IAAI5S,EAAK1O,MAAQshB,EAUjB,OAPKuD,GAAepd,KAAMiH,EAAG/M,OAC5B+M,EAAGgc,OAASlnB,GAAUkL,EAAI,UAE1B+Y,GAAgB/Y,EAAI,UAId,GAKRiX,SAAU,SAAU4B,GACnB,IAAI3hB,EAAS2hB,EAAM3hB,OACnB,OAAOif,GAAepd,KAAM7B,EAAOjE,OAClCiE,EAAO8kB,OAASlnB,GAAUoC,EAAQ,UAClC6b,EAASzd,IAAK4B,EAAQ,UACtBpC,GAAUoC,EAAQ,OAIrB+kB,aAAc,CACbZ,aAAc,SAAUxC,QAIDthB,IAAjBshB,EAAM3V,QAAwB2V,EAAM+C,gBACxC/C,EAAM+C,cAAcM,YAAcrD,EAAM3V,YA0F7C3O,GAAOqmB,YAAc,SAAU7lB,EAAM9B,EAAMknB,GAGrCplB,EAAKmc,qBACTnc,EAAKmc,oBAAqBje,EAAMknB,IAIlC5lB,GAAOmnB,MAAQ,SAAUxoB,EAAKipB,GAG7B,KAAQ7qB,gBAAgBiD,GAAOmnB,OAC9B,OAAO,IAAInnB,GAAOmnB,MAAOxoB,EAAKipB,GAI1BjpB,GAAOA,EAAID,MACf3B,KAAKsqB,cAAgB1oB,EACrB5B,KAAK2B,KAAOC,EAAID,KAIhB3B,KAAK8qB,mBAAqBlpB,EAAImpB,uBACH9kB,IAAzBrE,EAAImpB,mBAGgB,IAApBnpB,EAAIgpB,YACL3D,GACAC,GAKDlnB,KAAK4F,OAAWhE,EAAIgE,QAAkC,IAAxBhE,EAAIgE,OAAOrE,SACxCK,EAAIgE,OAAOhD,WACXhB,EAAIgE,OAEL5F,KAAK6pB,cAAgBjoB,EAAIioB,cACzB7pB,KAAKgrB,cAAgBppB,EAAIopB,eAIzBhrB,KAAK2B,KAAOC,EAIRipB,GACJ5nB,GAAOsC,OAAQvF,KAAM6qB,GAItB7qB,KAAKirB,UAAYrpB,GAAOA,EAAIqpB,WAAaC,KAAKC,MAG9CnrB,KAAMiD,GAAOiD,UAAY,GAK1BjD,GAAOmnB,MAAMxmB,UAAY,CACxBE,YAAab,GAAOmnB,MACpBU,mBAAoB5D,GACpB0C,qBAAsB1C,GACtBgB,8BAA+BhB,GAC/BkE,aAAa,EAEbpD,eAAgB,WACf,IAAIrb,EAAI3M,KAAKsqB,cAEbtqB,KAAK8qB,mBAAqB7D,GAErBta,IAAM3M,KAAKorB,aACfze,EAAEqb,kBAGJF,gBAAiB,WAChB,IAAInb,EAAI3M,KAAKsqB,cAEbtqB,KAAK4pB,qBAAuB3C,GAEvBta,IAAM3M,KAAKorB,aACfze,EAAEmb,mBAGJC,yBAA0B,WACzB,IAAIpb,EAAI3M,KAAKsqB,cAEbtqB,KAAKkoB,8BAAgCjB,GAEhCta,IAAM3M,KAAKorB,aACfze,EAAEob,2BAGH/nB,KAAK8nB,oBAKP7kB,GAAOsB,KAAM,CACZ8mB,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,gBAAgB,EAChBC,SAAS,EACTC,QAAQ,EACRC,YAAY,EACZC,SAAS,EACTC,OAAO,EACPC,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC,QAAQ,EACRjqB,MAAM,EACNkqB,UAAU,EACV7d,KAAK,EACL8d,SAAS,EACT1X,QAAQ,EACR2X,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,WAAW,EACXC,aAAa,EACbC,SAAS,EACTC,SAAS,EACTC,eAAe,EACfC,WAAW,EACXC,SAAS,EACTC,OAAO,GACL/pB,GAAOskB,MAAM2C,SAEhBjnB,GAAOsB,KAAM,CAAEoP,MAAO,UAAWsZ,KAAM,YAAc,SAAUtrB,EAAMkmB,GAEpE,SAASqF,EAAoB3D,GAC5B,GAAK3pB,EAASutB,aAAe,CAS5B,IAAItE,EAASpH,EAASzd,IAAKhE,KAAM,UAChCunB,EAAQtkB,GAAOskB,MAAMkC,IAAKF,GAC3BhC,EAAM5lB,KAA4B,YAArB4nB,EAAY5nB,KAAqB,QAAU,OACxD4lB,EAAM6D,aAAc,EAGpBvC,EAAQU,GAMHhC,EAAM3hB,SAAW2hB,EAAMsC,eAK3BhB,EAAQtB,QAMTtkB,GAAOskB,MAAM6F,SAAUvF,EAAc0B,EAAY3jB,OAChD3C,GAAOskB,MAAMkC,IAAKF,IAIrBtmB,GAAOskB,MAAMxJ,QAASpc,GAAS,CAG9BunB,MAAO,WAEN,IAAImE,EAOJ,GAFA5F,GAAgBznB,KAAM2B,GAAM,IAEvB/B,EAASutB,aAcb,OAAO,GARPE,EAAW5L,EAASzd,IAAKhE,KAAM6nB,KAE9B7nB,KAAKuP,iBAAkBsY,EAAcqF,GAEtCzL,EAASJ,IAAKrhB,KAAM6nB,GAAgBwF,GAAY,GAAM,IAOxDpF,QAAS,WAMR,OAHAR,GAAgBznB,KAAM2B,IAGf,GAGR0nB,SAAU,WACT,IAAIgE,EAEJ,IAAKztB,EAASutB,aAWb,OAAO,GAVPE,EAAW5L,EAASzd,IAAKhE,KAAM6nB,GAAiB,GAK/CpG,EAASJ,IAAKrhB,KAAM6nB,EAAcwF,IAHlCrtB,KAAK4f,oBAAqBiI,EAAcqF,GACxCzL,EAASlF,OAAQvc,KAAM6nB,KAa1BlC,SAAU,SAAU4B,GACnB,OAAO9F,EAASzd,IAAKujB,EAAM3hB,OAAQjE,IAGpCkmB,aAAcA,GAef5kB,GAAOskB,MAAMxJ,QAAS8J,GAAiB,CACtCqB,MAAO,WAIN,IAAIhnB,EAAMlC,KAAKwH,eAAiBxH,KAAKJ,UAAYI,KAChDstB,EAAa1tB,EAASutB,aAAentB,KAAOkC,EAC5CmrB,EAAW5L,EAASzd,IAAKspB,EAAYzF,GAMhCwF,IACAztB,EAASutB,aACbntB,KAAKuP,iBAAkBsY,EAAcqF,GAErChrB,EAAIqN,iBAAkB5N,EAAMurB,GAAoB,IAGlDzL,EAASJ,IAAKiM,EAAYzF,GAAgBwF,GAAY,GAAM,IAE7DhE,SAAU,WACT,IAAInnB,EAAMlC,KAAKwH,eAAiBxH,KAAKJ,UAAYI,KAChDstB,EAAa1tB,EAASutB,aAAentB,KAAOkC,EAC5CmrB,EAAW5L,EAASzd,IAAKspB,EAAYzF,GAAiB,EAEjDwF,EAQL5L,EAASJ,IAAKiM,EAAYzF,EAAcwF,IAPnCztB,EAASutB,aACbntB,KAAK4f,oBAAqBiI,EAAcqF,GAExChrB,EAAI0d,oBAAqBje,EAAMurB,GAAoB,GAEpDzL,EAASlF,OAAQ+Q,EAAYzF,QAgBjC5kB,GAAOsB,KAAM,CACZgpB,WAAY,YACZC,WAAY,WACZC,aAAc,cACdC,aAAc,cACZ,SAAUC,EAAMlE,GAClBxmB,GAAOskB,MAAMxJ,QAAS4P,GAAS,CAC9B9F,aAAc4B,EACdT,SAAUS,EAEVZ,OAAQ,SAAUtB,GACjB,IAAInjB,EAEHwpB,EAAUrG,EAAMyD,cAChBzC,EAAYhB,EAAMgB,UASnB,OALMqF,IAAaA,IANT5tB,MAMgCiD,GAAOwF,SANvCzI,KAMyD4tB,MAClErG,EAAM5lB,KAAO4mB,EAAUG,SACvBtkB,EAAMmkB,EAAUzK,QAAQnd,MAAOX,KAAM0E,WACrC6iB,EAAM5lB,KAAO8nB,GAEPrlB,MAKVnB,GAAOG,GAAGmC,OAAQ,CAEjB4hB,GAAI,SAAUC,EAAOlkB,EAAUoe,EAAMle,GACpC,OAAO+jB,GAAInnB,KAAMonB,EAAOlkB,EAAUoe,EAAMle,IAEzCikB,IAAK,SAAUD,EAAOlkB,EAAUoe,EAAMle,GACrC,OAAO+jB,GAAInnB,KAAMonB,EAAOlkB,EAAUoe,EAAMle,EAAI,IAE7CokB,IAAK,SAAUJ,EAAOlkB,EAAUE,GAC/B,IAAImlB,EAAW5mB,EACf,GAAKylB,GAASA,EAAMY,gBAAkBZ,EAAMmB,UAW3C,OARAA,EAAYnB,EAAMmB,UAClBtlB,GAAQmkB,EAAMsC,gBAAiBlC,IAC9Be,EAAUlhB,UACTkhB,EAAUG,SAAW,IAAMH,EAAUlhB,UACrCkhB,EAAUG,SACXH,EAAUrlB,SACVqlB,EAAUzK,SAEJ9d,KAER,GAAsB,iBAAVonB,EAAqB,CAGhC,IAAMzlB,KAAQylB,EACbpnB,KAAKwnB,IAAK7lB,EAAMuB,EAAUkkB,EAAOzlB,IAElC,OAAO3B,KAWR,OATkB,IAAbkD,GAA0C,mBAAbA,IAGjCE,EAAKF,EACLA,OAAW+C,IAEA,IAAP7C,IACJA,EAAK8jB,IAEClnB,KAAKuE,KAAM,WACjBtB,GAAOskB,MAAMhL,OAAQvc,KAAMonB,EAAOhkB,EAAIF,QAMzC,IAKC2qB,GAAe,wBAGfC,GAAW,oCAEXC,GAAe,6BAGhB,SAASC,GAAoBvqB,EAAMiX,GAClC,OAAKlX,GAAUC,EAAM,UACpBD,GAA+B,KAArBkX,EAAQnZ,SAAkBmZ,EAAUA,EAAQhI,WAAY,OAE3DzP,GAAQQ,GAAO+V,SAAU,SAAW,IAGrC/V,EAIR,SAASwqB,GAAexqB,GAEvB,OADAA,EAAK9B,MAAyC,OAAhC8B,EAAKjB,aAAc,SAAsB,IAAMiB,EAAK9B,KAC3D8B,EAER,SAASyqB,GAAezqB,GAOvB,MAN2C,WAApCA,EAAK9B,MAAQ,IAAKrB,MAAO,EAAG,GAClCmD,EAAK9B,KAAO8B,EAAK9B,KAAKrB,MAAO,GAE7BmD,EAAKwK,gBAAiB,QAGhBxK,EAGR,SAAS0qB,GAAgBvsB,EAAKwsB,GAC7B,IAAIjsB,EAAG2X,EAAGnY,EAAgB0sB,EAAUC,EAAUjG,EAE9C,GAAuB,IAAlB+F,EAAK7sB,SAAV,CAKA,GAAKkgB,EAASD,QAAS5f,KAEtBymB,EADW5G,EAASzd,IAAKpC,GACPymB,QAKjB,IAAM1mB,KAFN8f,EAASlF,OAAQ6R,EAAM,iBAET/F,EACb,IAAMlmB,EAAI,EAAG2X,EAAIuO,EAAQ1mB,GAAO4B,OAAQpB,EAAI2X,EAAG3X,IAC9Cc,GAAOskB,MAAMrN,IAAKkU,EAAMzsB,EAAM0mB,EAAQ1mB,GAAQQ,IAO7Cuf,EAASF,QAAS5f,KACtBysB,EAAW3M,EAASzB,OAAQre,GAC5B0sB,EAAWrrB,GAAOsC,OAAQ,GAAI8oB,GAE9B3M,EAASL,IAAK+M,EAAME,KAkBtB,SAASC,GAAUC,EAAY3b,EAAMrO,EAAUiiB,GAG9C5T,EAAOtS,EAAMsS,GAEb,IAAI+T,EAAUjiB,EAAO4hB,EAASkI,EAAYxsB,EAAMC,EAC/CC,EAAI,EACJ2X,EAAI0U,EAAWjrB,OACfmrB,EAAW5U,EAAI,EACf/R,EAAQ8K,EAAM,GACd8b,EAAkBttB,EAAY0G,GAG/B,GAAK4mB,GACG,EAAJ7U,GAA0B,iBAAV/R,IAChB3G,GAAQ6jB,YAAc6I,GAASrmB,KAAMM,GACxC,OAAOymB,EAAWjqB,KAAM,SAAUyV,GACjC,IAAId,EAAOsV,EAAW5pB,GAAIoV,GACrB2U,IACJ9b,EAAM,GAAM9K,EAAMtH,KAAMT,KAAMga,EAAOd,EAAK0V,SAE3CL,GAAUrV,EAAMrG,EAAMrO,EAAUiiB,KAIlC,GAAK3M,IAEJnV,GADAiiB,EAAWN,GAAezT,EAAM2b,EAAY,GAAIhnB,eAAe,EAAOgnB,EAAY/H,IACjE/T,WAEmB,IAA/BkU,EAASla,WAAWnJ,SACxBqjB,EAAWjiB,GAIPA,GAAS8hB,GAAU,CAOvB,IALAgI,GADAlI,EAAUtjB,GAAOwB,IAAKmhB,GAAQgB,EAAU,UAAYqH,KAC/B1qB,OAKbpB,EAAI2X,EAAG3X,IACdF,EAAO2kB,EAEFzkB,IAAMusB,IACVzsB,EAAOgB,GAAO0C,MAAO1D,GAAM,GAAM,GAG5BwsB,GAIJxrB,GAAOoB,MAAOkiB,EAASX,GAAQ3jB,EAAM,YAIvCuC,EAAS/D,KAAM+tB,EAAYrsB,GAAKF,EAAME,GAGvC,GAAKssB,EAOJ,IANAvsB,EAAMqkB,EAASA,EAAQhjB,OAAS,GAAIiE,cAGpCvE,GAAOwB,IAAK8hB,EAAS2H,IAGf/rB,EAAI,EAAGA,EAAIssB,EAAYtsB,IAC5BF,EAAOskB,EAASpkB,GACX4iB,GAAYtd,KAAMxF,EAAKN,MAAQ,MAClC8f,EAASxB,OAAQhe,EAAM,eACxBgB,GAAOwF,SAAUvG,EAAKD,KAEjBA,EAAKL,KAA8C,YAArCK,EAAKN,MAAQ,IAAKgC,cAG/BV,GAAO4rB,WAAa5sB,EAAKH,UAC7BmB,GAAO4rB,SAAU5sB,EAAKL,IAAK,CAC1BC,MAAOI,EAAKJ,OAASI,EAAKO,aAAc,UACtCN,GASJH,EAASE,EAAK6E,YAAYT,QAAS0nB,GAAc,IAAM9rB,EAAMC,IAQnE,OAAOssB,EAGR,SAASjS,GAAQ9Y,EAAMP,EAAU4rB,GAKhC,IAJA,IAAI7sB,EACH4kB,EAAQ3jB,EAAWD,GAAO4M,OAAQ3M,EAAUO,GAASA,EACrDtB,EAAI,EAE4B,OAAvBF,EAAO4kB,EAAO1kB,IAAeA,IAChC2sB,GAA8B,IAAlB7sB,EAAKV,UACtB0B,GAAO8rB,UAAWnJ,GAAQ3jB,IAGtBA,EAAKW,aACJksB,GAAY3L,EAAYlhB,IAC5B4jB,GAAeD,GAAQ3jB,EAAM,WAE9BA,EAAKW,WAAWC,YAAaZ,IAI/B,OAAOwB,EAGRR,GAAOsC,OAAQ,CACduhB,cAAe,SAAU8H,GACxB,OAAOA,GAGRjpB,MAAO,SAAUlC,EAAMurB,EAAeC,GACrC,IAAI9sB,EAAG2X,EAAGoV,EAAaC,EA1INvtB,EAAKwsB,EACnB5qB,EA0IFmC,EAAQlC,EAAKyhB,WAAW,GACxBkK,EAASjM,EAAY1f,GAGtB,KAAMrC,GAAQ+jB,gBAAsC,IAAlB1hB,EAAKlC,UAAoC,KAAlBkC,EAAKlC,UAC3D0B,GAAOmE,SAAU3D,IAOnB,IAHA0rB,EAAevJ,GAAQjgB,GAGjBxD,EAAI,EAAG2X,GAFboV,EAActJ,GAAQniB,IAEOF,OAAQpB,EAAI2X,EAAG3X,IAvJ5BP,EAwJLstB,EAAa/sB,GAxJHisB,EAwJQe,EAAchtB,QAvJzCqB,EAGc,WAHdA,EAAW4qB,EAAK5qB,SAASG,gBAGAkhB,GAAepd,KAAM7F,EAAID,MACrDysB,EAAKja,QAAUvS,EAAIuS,QAGK,UAAb3Q,GAAqC,aAAbA,IACnC4qB,EAAKhJ,aAAexjB,EAAIwjB,cAoJxB,GAAK4J,EACJ,GAAKC,EAIJ,IAHAC,EAAcA,GAAetJ,GAAQniB,GACrC0rB,EAAeA,GAAgBvJ,GAAQjgB,GAEjCxD,EAAI,EAAG2X,EAAIoV,EAAY3rB,OAAQpB,EAAI2X,EAAG3X,IAC3CgsB,GAAgBe,EAAa/sB,GAAKgtB,EAAchtB,SAGjDgsB,GAAgB1qB,EAAMkC,GAWxB,OAL2B,GAD3BwpB,EAAevJ,GAAQjgB,EAAO,WACZpC,QACjBsiB,GAAesJ,GAAeC,GAAUxJ,GAAQniB,EAAM,WAIhDkC,GAGRopB,UAAW,SAAU5qB,GAKpB,IAJA,IAAImd,EAAM7d,EAAM9B,EACfoc,EAAU9a,GAAOskB,MAAMxJ,QACvB5b,EAAI,OAE6B8D,KAAxBxC,EAAOU,EAAOhC,IAAqBA,IAC5C,GAAK4e,EAAYtd,GAAS,CACzB,GAAO6d,EAAO7d,EAAMge,EAASvb,SAAc,CAC1C,GAAKob,EAAK+G,OACT,IAAM1mB,KAAQ2f,EAAK+G,OACbtK,EAASpc,GACbsB,GAAOskB,MAAMhL,OAAQ9Y,EAAM9B,GAI3BsB,GAAOqmB,YAAa7lB,EAAM9B,EAAM2f,EAAKuH,QAOxCplB,EAAMge,EAASvb,cAAYD,EAEvBxC,EAAMie,EAASxb,WAInBzC,EAAMie,EAASxb,cAAYD,OAOhChD,GAAOG,GAAGmC,OAAQ,CACjB8pB,OAAQ,SAAUnsB,GACjB,OAAOqZ,GAAQvc,KAAMkD,GAAU,IAGhCqZ,OAAQ,SAAUrZ,GACjB,OAAOqZ,GAAQvc,KAAMkD,IAGtBX,KAAM,SAAUwF,GACf,OAAOkY,EAAQjgB,KAAM,SAAU+H,GAC9B,YAAiB9B,IAAV8B,EACN9E,GAAOV,KAAMvC,MACbA,KAAKsU,QAAQ/P,KAAM,WACK,IAAlBvE,KAAKuB,UAAoC,KAAlBvB,KAAKuB,UAAqC,IAAlBvB,KAAKuB,WACxDvB,KAAK8G,YAAciB,MAGpB,KAAMA,EAAOrD,UAAUnB,SAG3B+rB,OAAQ,WACP,OAAOf,GAAUvuB,KAAM0E,UAAW,SAAUjB,GACpB,IAAlBzD,KAAKuB,UAAoC,KAAlBvB,KAAKuB,UAAqC,IAAlBvB,KAAKuB,UAC3CysB,GAAoBhuB,KAAMyD,GAChCd,YAAac,MAKvB8rB,QAAS,WACR,OAAOhB,GAAUvuB,KAAM0E,UAAW,SAAUjB,GAC3C,GAAuB,IAAlBzD,KAAKuB,UAAoC,KAAlBvB,KAAKuB,UAAqC,IAAlBvB,KAAKuB,SAAiB,CACzE,IAAIqE,EAASooB,GAAoBhuB,KAAMyD,GACvCmC,EAAO4pB,aAAc/rB,EAAMmC,EAAO8M,gBAKrC+c,OAAQ,WACP,OAAOlB,GAAUvuB,KAAM0E,UAAW,SAAUjB,GACtCzD,KAAK4C,YACT5C,KAAK4C,WAAW4sB,aAAc/rB,EAAMzD,SAKvC0vB,MAAO,WACN,OAAOnB,GAAUvuB,KAAM0E,UAAW,SAAUjB,GACtCzD,KAAK4C,YACT5C,KAAK4C,WAAW4sB,aAAc/rB,EAAMzD,KAAKuU,gBAK5CD,MAAO,WAIN,IAHA,IAAI7Q,EACHtB,EAAI,EAE2B,OAAtBsB,EAAOzD,KAAMmC,IAAeA,IACd,IAAlBsB,EAAKlC,WAGT0B,GAAO8rB,UAAWnJ,GAAQniB,GAAM,IAGhCA,EAAKqD,YAAc,IAIrB,OAAO9G,MAGR2F,MAAO,SAAUqpB,EAAeC,GAI/B,OAHAD,EAAiC,MAAjBA,GAAgCA,EAChDC,EAAyC,MAArBA,EAA4BD,EAAgBC,EAEzDjvB,KAAKyE,IAAK,WAChB,OAAOxB,GAAO0C,MAAO3F,KAAMgvB,EAAeC,MAI5CL,KAAM,SAAU7mB,GACf,OAAOkY,EAAQjgB,KAAM,SAAU+H,GAC9B,IAAItE,EAAOzD,KAAM,IAAO,GACvBmC,EAAI,EACJ2X,EAAI9Z,KAAKuD,OAEV,QAAe0C,IAAV8B,GAAyC,IAAlBtE,EAAKlC,SAChC,OAAOkC,EAAK0M,UAIb,GAAsB,iBAAVpI,IAAuB8lB,GAAapmB,KAAMM,KACpDud,IAAWR,GAASzX,KAAMtF,IAAW,CAAE,GAAI,KAAQ,GAAIpE,eAAkB,CAE1EoE,EAAQ9E,GAAO6jB,cAAe/e,GAE9B,IACC,KAAQ5F,EAAI2X,EAAG3X,IAIS,KAHvBsB,EAAOzD,KAAMmC,IAAO,IAGVZ,WACT0B,GAAO8rB,UAAWnJ,GAAQniB,GAAM,IAChCA,EAAK0M,UAAYpI,GAInBtE,EAAO,EAGN,MAAQkJ,KAGNlJ,GACJzD,KAAKsU,QAAQgb,OAAQvnB,IAEpB,KAAMA,EAAOrD,UAAUnB,SAG3BosB,YAAa,WACZ,IAAIlJ,EAAU,GAGd,OAAO8H,GAAUvuB,KAAM0E,UAAW,SAAUjB,GAC3C,IAAI8O,EAASvS,KAAK4C,WAEbK,GAAOkE,QAASnH,KAAMymB,GAAY,IACtCxjB,GAAO8rB,UAAWnJ,GAAQ5lB,OACrBuS,GACJA,EAAOqd,aAAcnsB,EAAMzD,QAK3BymB,MAILxjB,GAAOsB,KAAM,CACZsrB,SAAU,SACVC,UAAW,UACXN,aAAc,SACdO,YAAa,QACbC,WAAY,eACV,SAAUtsB,EAAMusB,GAClBhtB,GAAOG,GAAIM,GAAS,SAAUR,GAO7B,IANA,IAAIiB,EACHC,EAAM,GACN8rB,EAASjtB,GAAQC,GACjB2B,EAAOqrB,EAAO3sB,OAAS,EACvBpB,EAAI,EAEGA,GAAK0C,EAAM1C,IAClBgC,EAAQhC,IAAM0C,EAAO7E,KAAOA,KAAK2F,OAAO,GACxC1C,GAAQitB,EAAQ/tB,IAAO8tB,GAAY9rB,GAInCvD,EAAKD,MAAOyD,EAAKD,EAAMH,OAGxB,OAAOhE,KAAKkE,UAAWE,MAGzB,IAAI+rB,GAAY,IAAI3nB,OAAQ,KAAOua,EAAO,kBAAmB,KAEzDqN,GAAc,MAGdC,GAAY,SAAU5sB,GAKxB,IAAIuoB,EAAOvoB,EAAK+D,cAAc6H,YAM9B,OAJM2c,GAASA,EAAKsE,SACnBtE,EAAOjsB,IAGDisB,EAAKuE,iBAAkB9sB,IAG5B+sB,GAAO,SAAU/sB,EAAM+B,EAAShB,GACnC,IAAIJ,EAAKV,EACR+sB,EAAM,GAGP,IAAM/sB,KAAQ8B,EACbirB,EAAK/sB,GAASD,EAAK8f,MAAO7f,GAC1BD,EAAK8f,MAAO7f,GAAS8B,EAAS9B,GAM/B,IAAMA,KAHNU,EAAMI,EAAS/D,KAAMgD,GAGP+B,EACb/B,EAAK8f,MAAO7f,GAAS+sB,EAAK/sB,GAG3B,OAAOU,GAIJssB,GAAY,IAAIloB,OAAQ0a,EAAUpV,KAAM,KAAO,KAiJnD,SAAS6iB,GAAQltB,EAAMC,EAAMktB,GAC5B,IAAIC,EAAOC,EAAUC,EAAU3sB,EAC9B4sB,EAAeZ,GAAY3oB,KAAM/D,GAMjC6f,EAAQ9f,EAAK8f,MAoEd,OAlEAqN,EAAWA,GAAYP,GAAW5sB,MAgBjCW,EAAMwsB,EAASK,iBAAkBvtB,IAAUktB,EAAUltB,GAEhDstB,GAAgB5sB,IAkBpBA,EAAMA,EAAIiC,QAASkC,GAAU,YAAUtC,GAG3B,KAAR7B,GAAe+e,EAAY1f,KAC/BW,EAAMnB,GAAOsgB,MAAO9f,EAAMC,KAQrBtC,GAAQ8vB,kBAAoBf,GAAU1oB,KAAMrD,IAASssB,GAAUjpB,KAAM/D,KAG1EmtB,EAAQtN,EAAMsN,MACdC,EAAWvN,EAAMuN,SACjBC,EAAWxN,EAAMwN,SAGjBxN,EAAMuN,SAAWvN,EAAMwN,SAAWxN,EAAMsN,MAAQzsB,EAChDA,EAAMwsB,EAASC,MAGftN,EAAMsN,MAAQA,EACdtN,EAAMuN,SAAWA,EACjBvN,EAAMwN,SAAWA,SAIJ9qB,IAAR7B,EAINA,EAAM,GACNA,EAIF,SAAS+sB,GAAcC,EAAaC,GAGnC,MAAO,CACNrtB,IAAK,WACJ,IAAKotB,IASL,OAASpxB,KAAKgE,IAAMqtB,GAAS1wB,MAAOX,KAAM0E,kBALlC1E,KAAKgE,OA3OhB,WAIC,SAASstB,IAGR,GAAM1M,EAAN,CAIA2M,EAAUhO,MAAMiO,QAAU,+EAE1B5M,EAAIrB,MAAMiO,QACT,4HAGDzqB,EAAgBpE,YAAa4uB,GAAY5uB,YAAaiiB,GAEtD,IAAI6M,EAAW1xB,GAAOwwB,iBAAkB3L,GACxC8M,EAAoC,OAAjBD,EAASniB,IAG5BqiB,EAAsE,KAA9CC,EAAoBH,EAASI,YAIrDjN,EAAIrB,MAAMuO,MAAQ,MAClBC,EAA6D,KAAzCH,EAAoBH,EAASK,OAIjDE,EAAgE,KAAzCJ,EAAoBH,EAASZ,OAMpDjM,EAAIrB,MAAM0O,SAAW,WACrBC,EAAiE,KAA9CN,EAAoBhN,EAAIuN,YAAc,GAEzDprB,EAAgBlE,YAAa0uB,GAI7B3M,EAAM,MAGP,SAASgN,EAAoBQ,GAC5B,OAAOjsB,KAAKksB,MAAOC,WAAYF,IAGhC,IAAIV,EAAkBM,EAAsBE,EAAkBH,EAC7DQ,EAAyBZ,EACzBJ,EAAY3xB,EAAS0C,cAAe,OACpCsiB,EAAMhlB,EAAS0C,cAAe,OAGzBsiB,EAAIrB,QAMVqB,EAAIrB,MAAMiP,eAAiB,cAC3B5N,EAAIM,WAAW,GAAO3B,MAAMiP,eAAiB,GAC7CpxB,GAAQqxB,gBAA+C,gBAA7B7N,EAAIrB,MAAMiP,eAEpCvvB,GAAOsC,OAAQnE,GAAS,CACvBsxB,kBAAmB,WAElB,OADApB,IACOU,GAERd,eAAgB,WAEf,OADAI,IACOS,GAERY,cAAe,WAEd,OADArB,IACOI,GAERkB,mBAAoB,WAEnB,OADAtB,IACOK,GAERkB,cAAe,WAEd,OADAvB,IACOY,GAYRY,qBAAsB,WACrB,IAAIC,EAAOtN,EAAIuN,EAASC,EAmCxB,OAlCgC,MAA3BV,IACJQ,EAAQnzB,EAAS0C,cAAe,SAChCmjB,EAAK7lB,EAAS0C,cAAe,MAC7B0wB,EAAUpzB,EAAS0C,cAAe,OAElCywB,EAAMxP,MAAMiO,QAAU,2DACtB/L,EAAGlC,MAAMiO,QAAU,0CAKnB/L,EAAGlC,MAAM2P,OAAS,MAClBF,EAAQzP,MAAM2P,OAAS,MAQvBF,EAAQzP,MAAMC,QAAU,QAExBzc,EACEpE,YAAaowB,GACbpwB,YAAa8iB,GACb9iB,YAAaqwB,GAEfC,EAAUlzB,GAAOwwB,iBAAkB9K,GACnC8M,EAA4BY,SAAUF,EAAQC,OAAQ,IACrDC,SAAUF,EAAQG,eAAgB,IAClCD,SAAUF,EAAQI,kBAAmB,MAAW5N,EAAG6N,aAEpDvsB,EAAgBlE,YAAakwB,IAEvBR,MAvIV,GAsPA,IAAIgB,GAAc,CAAE,SAAU,MAAO,MACpCC,GAAa5zB,EAAS0C,cAAe,OAAQihB,MAC7CkQ,GAAc,GAkBf,SAASC,GAAehwB,GACvB,IAAIiwB,EAAQ1wB,GAAO2wB,SAAUlwB,IAAU+vB,GAAa/vB,GAEpD,OAAKiwB,IAGAjwB,KAAQ8vB,GACL9vB,EAED+vB,GAAa/vB,GAxBrB,SAAyBA,GAGxB,IAAImwB,EAAUnwB,EAAM,GAAIkd,cAAgBld,EAAKpD,MAAO,GACnD6B,EAAIoxB,GAAYhwB,OAEjB,MAAQpB,IAEP,IADAuB,EAAO6vB,GAAapxB,GAAM0xB,KACbL,GACZ,OAAO9vB,EAeoBowB,CAAgBpwB,IAAUA,GAIxD,IAKCqwB,GAAe,4BACfC,GAAU,CAAE/B,SAAU,WAAYgC,WAAY,SAAUzQ,QAAS,SACjE0Q,GAAqB,CACpBC,cAAe,IACfC,WAAY,OAGd,SAASC,GAAmBrvB,EAAO+C,EAAOusB,GAIzC,IAAI1sB,EAAUqb,EAAQ5V,KAAMtF,GAC5B,OAAOH,EAGNzB,KAAKouB,IAAK,EAAG3sB,EAAS,IAAQ0sB,GAAY,KAAU1sB,EAAS,IAAO,MACpEG,EAGF,SAASysB,GAAoB/wB,EAAMgxB,EAAWC,EAAKC,EAAaC,EAAQC,GACvE,IAAI1yB,EAAkB,UAAdsyB,EAAwB,EAAI,EACnCK,EAAQ,EACRC,EAAQ,EACRC,EAAc,EAGf,GAAKN,KAAUC,EAAc,SAAW,WACvC,OAAO,EAGR,KAAQxyB,EAAI,EAAGA,GAAK,EAKN,WAARuyB,IACJM,GAAe/xB,GAAOwgB,IAAKhgB,EAAMixB,EAAMxR,EAAW/gB,IAAK,EAAMyyB,IAIxDD,GAmBQ,YAARD,IACJK,GAAS9xB,GAAOwgB,IAAKhgB,EAAM,UAAYyf,EAAW/gB,IAAK,EAAMyyB,IAIjD,WAARF,IACJK,GAAS9xB,GAAOwgB,IAAKhgB,EAAM,SAAWyf,EAAW/gB,GAAM,SAAS,EAAMyyB,MAtBvEG,GAAS9xB,GAAOwgB,IAAKhgB,EAAM,UAAYyf,EAAW/gB,IAAK,EAAMyyB,GAGhD,YAARF,EACJK,GAAS9xB,GAAOwgB,IAAKhgB,EAAM,SAAWyf,EAAW/gB,GAAM,SAAS,EAAMyyB,GAItEE,GAAS7xB,GAAOwgB,IAAKhgB,EAAM,SAAWyf,EAAW/gB,GAAM,SAAS,EAAMyyB,IAoCzE,OAhBMD,GAA8B,GAAfE,IAIpBE,GAAS5uB,KAAKouB,IAAK,EAAGpuB,KAAK8uB,KAC1BxxB,EAAM,SAAWgxB,EAAW,GAAI7T,cAAgB6T,EAAUn0B,MAAO,IACjEu0B,EACAE,EACAD,EACA,MAIM,GAGDC,EAAQC,EAGhB,SAASE,GAAkBzxB,EAAMgxB,EAAWK,GAG3C,IAAIF,EAASvE,GAAW5sB,GAKvBkxB,IADmBvzB,GAAQsxB,qBAAuBoC,IAEE,eAAnD7xB,GAAOwgB,IAAKhgB,EAAM,aAAa,EAAOmxB,GACvCO,EAAmBR,EAEnBvyB,EAAMuuB,GAAQltB,EAAMgxB,EAAWG,GAC/BQ,EAAa,SAAWX,EAAW,GAAI7T,cAAgB6T,EAAUn0B,MAAO,GAIzE,GAAK6vB,GAAU1oB,KAAMrF,GAAQ,CAC5B,IAAM0yB,EACL,OAAO1yB,EAERA,EAAM,OAyCP,QAlCQhB,GAAQsxB,qBAAuBiC,IAMrCvzB,GAAQ0xB,wBAA0BtvB,GAAUC,EAAM,OAI3C,SAARrB,IAICkwB,WAAYlwB,IAA0D,WAAjDa,GAAOwgB,IAAKhgB,EAAM,WAAW,EAAOmxB,KAG1DnxB,EAAK4xB,iBAAiB9xB,SAEtBoxB,EAAiE,eAAnD1xB,GAAOwgB,IAAKhgB,EAAM,aAAa,EAAOmxB,IAKpDO,EAAmBC,KAAc3xB,KAEhCrB,EAAMqB,EAAM2xB,MAKdhzB,EAAMkwB,WAAYlwB,IAAS,GAI1BoyB,GACC/wB,EACAgxB,EACAK,IAAWH,EAAc,SAAW,WACpCQ,EACAP,EAGAxyB,GAEE,KAwTL,SAASkzB,GAAO7xB,EAAM+B,EAAS+b,EAAMnc,EAAKmwB,GACzC,OAAO,IAAID,GAAM1xB,UAAUP,KAAMI,EAAM+B,EAAS+b,EAAMnc,EAAKmwB,GAtT5DtyB,GAAOsC,OAAQ,CAIdiwB,SAAU,CACTC,QAAS,CACRzxB,IAAK,SAAUP,EAAMmtB,GACpB,GAAKA,EAAW,CAGf,IAAIxsB,EAAMusB,GAAQltB,EAAM,WACxB,MAAe,KAARW,EAAa,IAAMA,MAO9B+f,UAAW,CACVuR,yBAAyB,EACzBC,aAAa,EACbC,kBAAkB,EAClBC,aAAa,EACbC,UAAU,EACVC,YAAY,EACZ3B,YAAY,EACZ4B,UAAU,EACVC,YAAY,EACZC,eAAe,EACfC,iBAAiB,EACjBC,SAAS,EACTC,YAAY,EACZC,cAAc,EACdC,YAAY,EACZd,SAAS,EACTe,OAAO,EACPC,SAAS,EACT3S,OAAO,EACP4S,QAAQ,EACRC,QAAQ,EACRC,MAAM,EAGNC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,kBAAkB,EAClBC,eAAe,GAKhBrD,SAAU,GAGVrQ,MAAO,SAAU9f,EAAMC,EAAMqE,EAAO+sB,GAGnC,GAAMrxB,GAA0B,IAAlBA,EAAKlC,UAAoC,IAAlBkC,EAAKlC,UAAmBkC,EAAK8f,MAAlE,CAKA,IAAInf,EAAKzC,EAAM2gB,EACd4U,EAAWrW,EAAWnd,GACtBstB,EAAeZ,GAAY3oB,KAAM/D,GACjC6f,EAAQ9f,EAAK8f,MAad,GARMyN,IACLttB,EAAOgwB,GAAewD,IAIvB5U,EAAQrf,GAAOuyB,SAAU9xB,IAAUT,GAAOuyB,SAAU0B,QAGrCjxB,IAAV8B,EA0CJ,OAAKua,GAAS,QAASA,QACwBrc,KAA5C7B,EAAMke,EAAMte,IAAKP,GAAM,EAAOqxB,IAEzB1wB,EAIDmf,EAAO7f,GA7CA,YAHd/B,SAAcoG,KAGc3D,EAAM6e,EAAQ5V,KAAMtF,KAAa3D,EAAK,KACjE2D,EAAQ2b,GAAWjgB,EAAMC,EAAMU,GAG/BzC,EAAO,UAIM,MAAToG,GAAiBA,GAAUA,IAOlB,WAATpG,GAAsBqvB,IAC1BjpB,GAAS3D,GAAOA,EAAK,KAASnB,GAAOkhB,UAAW+S,GAAa,GAAK,OAI7D91B,GAAQqxB,iBAA6B,KAAV1qB,GAAiD,IAAjCrE,EAAK7C,QAAS,gBAC9D0iB,EAAO7f,GAAS,WAIX4e,GAAY,QAASA,QACsBrc,KAA9C8B,EAAQua,EAAMjB,IAAK5d,EAAMsE,EAAO+sB,MAE7B9D,EACJzN,EAAM4T,YAAazzB,EAAMqE,GAEzBwb,EAAO7f,GAASqE,MAkBpB0b,IAAK,SAAUhgB,EAAMC,EAAMoxB,EAAOF,GACjC,IAAIxyB,EAAK6B,EAAKqe,EACb4U,EAAWrW,EAAWnd,GA6BvB,OA5BgB0sB,GAAY3oB,KAAM/D,KAMjCA,EAAOgwB,GAAewD,KAIvB5U,EAAQrf,GAAOuyB,SAAU9xB,IAAUT,GAAOuyB,SAAU0B,KAGtC,QAAS5U,IACtBlgB,EAAMkgB,EAAMte,IAAKP,GAAM,EAAMqxB,SAIjB7uB,IAAR7D,IACJA,EAAMuuB,GAAQltB,EAAMC,EAAMkxB,IAId,WAARxyB,GAAoBsB,KAAQwwB,KAChC9xB,EAAM8xB,GAAoBxwB,IAIZ,KAAVoxB,GAAgBA,GACpB7wB,EAAMquB,WAAYlwB,IACD,IAAV0yB,GAAkBsC,SAAUnzB,GAAQA,GAAO,EAAI7B,GAGhDA,KAITa,GAAOsB,KAAM,CAAE,SAAU,SAAW,SAAU6D,EAAIqsB,GACjDxxB,GAAOuyB,SAAUf,GAAc,CAC9BzwB,IAAK,SAAUP,EAAMmtB,EAAUkE,GAC9B,GAAKlE,EAIJ,OAAOmD,GAAatsB,KAAMxE,GAAOwgB,IAAKhgB,EAAM,aAQxCA,EAAK4xB,iBAAiB9xB,QAAWE,EAAK4zB,wBAAwBxG,MAIjEqE,GAAkBzxB,EAAMgxB,EAAWK,GAHnCtE,GAAM/sB,EAAMuwB,GAAS,WACpB,OAAOkB,GAAkBzxB,EAAMgxB,EAAWK,MAM9CzT,IAAK,SAAU5d,EAAMsE,EAAO+sB,GAC3B,IAAIltB,EACHgtB,EAASvE,GAAW5sB,GAIpB6zB,GAAsBl2B,GAAQyxB,iBACT,aAApB+B,EAAO3C,SAIR0C,GADkB2C,GAAsBxC,IAEY,eAAnD7xB,GAAOwgB,IAAKhgB,EAAM,aAAa,EAAOmxB,GACvCN,EAAWQ,EACVN,GACC/wB,EACAgxB,EACAK,EACAH,EACAC,GAED,EAqBF,OAjBKD,GAAe2C,IACnBhD,GAAYnuB,KAAK8uB,KAChBxxB,EAAM,SAAWgxB,EAAW,GAAI7T,cAAgB6T,EAAUn0B,MAAO,IACjEgyB,WAAYsC,EAAQH,IACpBD,GAAoB/wB,EAAMgxB,EAAW,UAAU,EAAOG,GACtD,KAKGN,IAAc1sB,EAAUqb,EAAQ5V,KAAMtF,KACb,QAA3BH,EAAS,IAAO,QAElBnE,EAAK8f,MAAOkR,GAAc1sB,EAC1BA,EAAQ9E,GAAOwgB,IAAKhgB,EAAMgxB,IAGpBJ,GAAmB5wB,EAAMsE,EAAOusB,OAK1CrxB,GAAOuyB,SAAS3D,WAAaV,GAAc/vB,GAAQwxB,mBAClD,SAAUnvB,EAAMmtB,GACf,GAAKA,EACJ,OAAS0B,WAAY3B,GAAQltB,EAAM,gBAClCA,EAAK4zB,wBAAwBE,KAC5B/G,GAAM/sB,EAAM,CAAEouB,WAAY,GAAK,WAC9B,OAAOpuB,EAAK4zB,wBAAwBE,QAEnC,OAMPt0B,GAAOsB,KAAM,CACZizB,OAAQ,GACRC,QAAS,GACTC,OAAQ,SACN,SAAUC,EAAQC,GACpB30B,GAAOuyB,SAAUmC,EAASC,GAAW,CACpCC,OAAQ,SAAU9vB,GAOjB,IANA,IAAI5F,EAAI,EACP21B,EAAW,GAGXC,EAAyB,iBAAVhwB,EAAqBA,EAAMI,MAAO,KAAQ,CAAEJ,GAEpD5F,EAAI,EAAGA,IACd21B,EAAUH,EAASzU,EAAW/gB,GAAMy1B,GACnCG,EAAO51B,IAAO41B,EAAO51B,EAAI,IAAO41B,EAAO,GAGzC,OAAOD,IAIO,WAAXH,IACJ10B,GAAOuyB,SAAUmC,EAASC,GAASvW,IAAMgT,MAI3CpxB,GAAOG,GAAGmC,OAAQ,CACjBke,IAAK,SAAU/f,EAAMqE,GACpB,OAAOkY,EAAQjgB,KAAM,SAAUyD,EAAMC,EAAMqE,GAC1C,IAAI6sB,EAAQ1vB,EACXT,EAAM,GACNtC,EAAI,EAEL,GAAK4D,MAAMC,QAAStC,GAAS,CAI5B,IAHAkxB,EAASvE,GAAW5sB,GACpByB,EAAMxB,EAAKH,OAEHpB,EAAI+C,EAAK/C,IAChBsC,EAAKf,EAAMvB,IAAQc,GAAOwgB,IAAKhgB,EAAMC,EAAMvB,IAAK,EAAOyyB,GAGxD,OAAOnwB,EAGR,YAAiBwB,IAAV8B,EACN9E,GAAOsgB,MAAO9f,EAAMC,EAAMqE,GAC1B9E,GAAOwgB,IAAKhgB,EAAMC,IACjBA,EAAMqE,EAA0B,EAAnBrD,UAAUnB,aAQ5BN,GAAOqyB,MAAQA,IAET1xB,UAAY,CACjBE,YAAawxB,GACbjyB,KAAM,SAAUI,EAAM+B,EAAS+b,EAAMnc,EAAKmwB,EAAQrR,GACjDlkB,KAAKyD,KAAOA,EACZzD,KAAKuhB,KAAOA,EACZvhB,KAAKu1B,OAASA,GAAUtyB,GAAOsyB,OAAO5P,SACtC3lB,KAAKwF,QAAUA,EACfxF,KAAKsS,MAAQtS,KAAKmrB,IAAMnrB,KAAK4Z,MAC7B5Z,KAAKoF,IAAMA,EACXpF,KAAKkkB,KAAOA,IAAUjhB,GAAOkhB,UAAW5C,GAAS,GAAK,OAEvD3H,IAAK,WACJ,IAAI0I,EAAQgT,GAAM0C,UAAWh4B,KAAKuhB,MAElC,OAAOe,GAASA,EAAMte,IACrBse,EAAMte,IAAKhE,MACXs1B,GAAM0C,UAAUrS,SAAS3hB,IAAKhE,OAEhCi4B,IAAK,SAAUC,GACd,IAAIC,EACH7V,EAAQgT,GAAM0C,UAAWh4B,KAAKuhB,MAoB/B,OAlBKvhB,KAAKwF,QAAQ4yB,SACjBp4B,KAAKq4B,IAAMF,EAAQl1B,GAAOsyB,OAAQv1B,KAAKu1B,QACtC2C,EAASl4B,KAAKwF,QAAQ4yB,SAAWF,EAAS,EAAG,EAAGl4B,KAAKwF,QAAQ4yB,UAG9Dp4B,KAAKq4B,IAAMF,EAAQD,EAEpBl4B,KAAKmrB,KAAQnrB,KAAKoF,IAAMpF,KAAKsS,OAAU6lB,EAAQn4B,KAAKsS,MAE/CtS,KAAKwF,QAAQ8yB,MACjBt4B,KAAKwF,QAAQ8yB,KAAK73B,KAAMT,KAAKyD,KAAMzD,KAAKmrB,IAAKnrB,MAGzCsiB,GAASA,EAAMjB,IACnBiB,EAAMjB,IAAKrhB,MAEXs1B,GAAM0C,UAAUrS,SAAStE,IAAKrhB,MAExBA,QAIOqD,KAAKO,UAAY0xB,GAAM1xB,WAEvC0xB,GAAM0C,UAAY,CACjBrS,SAAU,CACT3hB,IAAK,SAAU4f,GACd,IAAIhS,EAIJ,OAA6B,IAAxBgS,EAAMngB,KAAKlC,UACa,MAA5BqiB,EAAMngB,KAAMmgB,EAAMrC,OAAoD,MAAlCqC,EAAMngB,KAAK8f,MAAOK,EAAMrC,MACrDqC,EAAMngB,KAAMmgB,EAAMrC,OAO1B3P,EAAS3O,GAAOwgB,IAAKG,EAAMngB,KAAMmgB,EAAMrC,KAAM,MAGhB,SAAX3P,EAAwBA,EAAJ,GAEvCyP,IAAK,SAAUuC,GAKT3gB,GAAOs1B,GAAGD,KAAM1U,EAAMrC,MAC1Bte,GAAOs1B,GAAGD,KAAM1U,EAAMrC,MAAQqC,GACK,IAAxBA,EAAMngB,KAAKlC,WACtB0B,GAAOuyB,SAAU5R,EAAMrC,OAC6B,MAAnDqC,EAAMngB,KAAK8f,MAAOmQ,GAAe9P,EAAMrC,OAGxCqC,EAAMngB,KAAMmgB,EAAMrC,MAASqC,EAAMuH,IAFjCloB,GAAOsgB,MAAOK,EAAMngB,KAAMmgB,EAAMrC,KAAMqC,EAAMuH,IAAMvH,EAAMM,UAU5CsU,UAAYlD,GAAM0C,UAAUS,WAAa,CACxDpX,IAAK,SAAUuC,GACTA,EAAMngB,KAAKlC,UAAYqiB,EAAMngB,KAAKb,aACtCghB,EAAMngB,KAAMmgB,EAAMrC,MAASqC,EAAMuH,OAKpCloB,GAAOsyB,OAAS,CACfmD,OAAQ,SAAUC,GACjB,OAAOA,GAERC,MAAO,SAAUD,GAChB,MAAO,GAAMxyB,KAAK0yB,IAAKF,EAAIxyB,KAAK2yB,IAAO,GAExCnT,SAAU,SAGX1iB,GAAOs1B,GAAKjD,GAAM1xB,UAAUP,KAG5BJ,GAAOs1B,GAAGD,KAAO,GAKjB,IACCS,GAAOC,GAkrBH9oB,GAEH+oB,GAnrBDC,GAAW,yBACXC,GAAO,cAER,SAASC,KACHJ,MACqB,IAApBp5B,EAASy5B,QAAoBt5B,GAAOu5B,sBACxCv5B,GAAOu5B,sBAAuBF,IAE9Br5B,GAAO2e,WAAY0a,GAAUn2B,GAAOs1B,GAAGgB,UAGxCt2B,GAAOs1B,GAAGiB,QAKZ,SAASC,KAIR,OAHA15B,GAAO2e,WAAY,WAClBqa,QAAQ9yB,IAEA8yB,GAAQ7N,KAAKC,MAIvB,SAASuO,GAAO/3B,EAAMg4B,GACrB,IAAI3M,EACH7qB,EAAI,EACJggB,EAAQ,CAAE+Q,OAAQvxB,GAKnB,IADAg4B,EAAeA,EAAe,EAAI,EAC1Bx3B,EAAI,EAAGA,GAAK,EAAIw3B,EAEvBxX,EAAO,UADP6K,EAAQ9J,EAAW/gB,KACSggB,EAAO,UAAY6K,GAAUrrB,EAO1D,OAJKg4B,IACJxX,EAAMsT,QAAUtT,EAAM0O,MAAQlvB,GAGxBwgB,EAGR,SAASyX,GAAa7xB,EAAOwZ,EAAMsY,GAKlC,IAJA,IAAIjW,EACH4K,GAAesL,GAAUC,SAAUxY,IAAU,IAAK7gB,OAAQo5B,GAAUC,SAAU,MAC9E/f,EAAQ,EACRzW,EAASirB,EAAWjrB,OACbyW,EAAQzW,EAAQyW,IACvB,GAAO4J,EAAQ4K,EAAYxU,GAAQvZ,KAAMo5B,EAAWtY,EAAMxZ,GAGzD,OAAO6b,EAsNV,SAASkW,GAAWr2B,EAAMu2B,EAAYx0B,GACrC,IAAIoM,EACHqoB,EACAjgB,EAAQ,EACRzW,EAASu2B,GAAUI,WAAW32B,OAC9ByZ,EAAW/Z,GAAO0Z,WAAWI,OAAQ,kBAG7Byc,EAAK/1B,OAEb+1B,EAAO,WACN,GAAKS,EACJ,OAAO,EAYR,IAVA,IAAIE,EAAcpB,IAASU,KAC1B3a,EAAY3Y,KAAKouB,IAAK,EAAGsF,EAAUO,UAAYP,EAAUzB,SAAW+B,GAKpEjC,EAAU,GADHpZ,EAAY+a,EAAUzB,UAAY,GAEzCpe,EAAQ,EACRzW,EAASs2B,EAAUQ,OAAO92B,OAEnByW,EAAQzW,EAAQyW,IACvB6f,EAAUQ,OAAQrgB,GAAQie,IAAKC,GAMhC,OAHAlb,EAASmB,WAAY1a,EAAM,CAAEo2B,EAAW3B,EAASpZ,IAG5CoZ,EAAU,GAAK30B,EACZub,GAIFvb,GACLyZ,EAASmB,WAAY1a,EAAM,CAAEo2B,EAAW,EAAG,IAI5C7c,EAASoB,YAAa3a,EAAM,CAAEo2B,KACvB,IAERA,EAAY7c,EAAS1B,QAAS,CAC7B7X,KAAMA,EACNonB,MAAO5nB,GAAOsC,OAAQ,GAAIy0B,GAC1BM,KAAMr3B,GAAOsC,QAAQ,EAAM,CAC1Bg1B,cAAe,GACfhF,OAAQtyB,GAAOsyB,OAAO5P,UACpBngB,GACHg1B,mBAAoBR,EACpBS,gBAAiBj1B,EACjB40B,UAAWrB,IAASU,KACpBrB,SAAU5yB,EAAQ4yB,SAClBiC,OAAQ,GACRT,YAAa,SAAUrY,EAAMnc,GAC5B,IAAIwe,EAAQ3gB,GAAOqyB,MAAO7xB,EAAMo2B,EAAUS,KAAM/Y,EAAMnc,EACrDy0B,EAAUS,KAAKC,cAAehZ,IAAUsY,EAAUS,KAAK/E,QAExD,OADAsE,EAAUQ,OAAOz5B,KAAMgjB,GAChBA,GAERnB,KAAM,SAAUiY,GACf,IAAI1gB,EAAQ,EAIXzW,EAASm3B,EAAUb,EAAUQ,OAAO92B,OAAS,EAC9C,GAAK02B,EACJ,OAAOj6B,KAGR,IADAi6B,GAAU,EACFjgB,EAAQzW,EAAQyW,IACvB6f,EAAUQ,OAAQrgB,GAAQie,IAAK,GAUhC,OANKyC,GACJ1d,EAASmB,WAAY1a,EAAM,CAAEo2B,EAAW,EAAG,IAC3C7c,EAASoB,YAAa3a,EAAM,CAAEo2B,EAAWa,KAEzC1d,EAASuB,WAAY9a,EAAM,CAAEo2B,EAAWa,IAElC16B,QAGT6qB,EAAQgP,EAAUhP,MAInB,KA/HD,SAAqBA,EAAO0P,GAC3B,IAAIvgB,EAAOtW,EAAM6xB,EAAQxtB,EAAOua,EAGhC,IAAMtI,KAAS6Q,EAed,GAbA0K,EAASgF,EADT72B,EAAOmd,EAAW7G,IAElBjS,EAAQ8iB,EAAO7Q,GACVjU,MAAMC,QAAS+B,KACnBwtB,EAASxtB,EAAO,GAChBA,EAAQ8iB,EAAO7Q,GAAUjS,EAAO,IAG5BiS,IAAUtW,IACdmnB,EAAOnnB,GAASqE,SACT8iB,EAAO7Q,KAGfsI,EAAQrf,GAAOuyB,SAAU9xB,KACX,WAAY4e,EAMzB,IAAMtI,KALNjS,EAAQua,EAAMuV,OAAQ9vB,UACf8iB,EAAOnnB,GAICqE,EACNiS,KAAS6Q,IAChBA,EAAO7Q,GAAUjS,EAAOiS,GACxBugB,EAAevgB,GAAUub,QAI3BgF,EAAe72B,GAAS6xB,EA6F1BoF,CAAY9P,EAAOgP,EAAUS,KAAKC,eAE1BvgB,EAAQzW,EAAQyW,IAEvB,GADApI,EAASkoB,GAAUI,WAAYlgB,GAAQvZ,KAAMo5B,EAAWp2B,EAAMonB,EAAOgP,EAAUS,MAM9E,OAJKj5B,EAAYuQ,EAAO6Q,QACvBxf,GAAOsf,YAAasX,EAAUp2B,KAAMo2B,EAAUS,KAAKpe,OAAQuG,KAC1D7Q,EAAO6Q,KAAKmY,KAAMhpB,IAEbA,EAyBT,OArBA3O,GAAOwB,IAAKomB,EAAO+O,GAAaC,GAE3Bx4B,EAAYw4B,EAAUS,KAAKhoB,QAC/BunB,EAAUS,KAAKhoB,MAAM7R,KAAMgD,EAAMo2B,GAIlCA,EACEtc,SAAUsc,EAAUS,KAAK/c,UACzBzT,KAAM+vB,EAAUS,KAAKxwB,KAAM+vB,EAAUS,KAAKO,UAC1Ctf,KAAMse,EAAUS,KAAK/e,MACrBwB,OAAQ8c,EAAUS,KAAKvd,QAEzB9Z,GAAOs1B,GAAGuC,MACT73B,GAAOsC,OAAQi0B,EAAM,CACpB/1B,KAAMA,EACNs3B,KAAMlB,EACN3d,MAAO2d,EAAUS,KAAKpe,SAIjB2d,EAGR52B,GAAO62B,UAAY72B,GAAOsC,OAAQu0B,GAAW,CAE5CC,SAAU,CACTiB,IAAK,CAAE,SAAUzZ,EAAMxZ,GACtB,IAAI6b,EAAQ5jB,KAAK45B,YAAarY,EAAMxZ,GAEpC,OADA2b,GAAWE,EAAMngB,KAAM8d,EAAM0B,EAAQ5V,KAAMtF,GAAS6b,GAC7CA,KAITqX,QAAS,SAAUpQ,EAAOrmB,GACpBnD,EAAYwpB,IAChBrmB,EAAWqmB,EACXA,EAAQ,CAAE,MAEVA,EAAQA,EAAM5d,MAAO2N,GAOtB,IAJA,IAAI2G,EACHvH,EAAQ,EACRzW,EAASsnB,EAAMtnB,OAERyW,EAAQzW,EAAQyW,IACvBuH,EAAOsJ,EAAO7Q,GACd8f,GAAUC,SAAUxY,GAASuY,GAAUC,SAAUxY,IAAU,GAC3DuY,GAAUC,SAAUxY,GAAOiB,QAAShe,IAItC01B,WAAY,CA3Wb,SAA2Bz2B,EAAMonB,EAAOyP,GACvC,IAAI/Y,EAAMxZ,EAAO4c,EAAQrC,EAAO4Y,EAASC,EAAWC,EAAgB5X,EACnE6X,EAAQ,UAAWxQ,GAAS,WAAYA,EACxCkQ,EAAO/6B,KACP2tB,EAAO,GACPpK,EAAQ9f,EAAK8f,MACb8V,EAAS51B,EAAKlC,UAAY+hB,GAAoB7f,GAC9C63B,EAAW7Z,EAASzd,IAAKP,EAAM,UA6BhC,IAAM8d,KA1BA+Y,EAAKpe,QAEa,OADvBoG,EAAQrf,GAAOsf,YAAa9e,EAAM,OACvB83B,WACVjZ,EAAMiZ,SAAW,EACjBL,EAAU5Y,EAAMhO,MAAM8H,KACtBkG,EAAMhO,MAAM8H,KAAO,WACZkG,EAAMiZ,UACXL,MAIH5Y,EAAMiZ,WAENR,EAAKhe,OAAQ,WAGZge,EAAKhe,OAAQ,WACZuF,EAAMiZ,WACAt4B,GAAOiZ,MAAOzY,EAAM,MAAOF,QAChC+e,EAAMhO,MAAM8H,YAOFyO,EAEb,GADA9iB,EAAQ8iB,EAAOtJ,GACV2X,GAASzxB,KAAMM,GAAU,CAG7B,UAFO8iB,EAAOtJ,GACdoD,EAASA,GAAoB,WAAV5c,EACdA,KAAYsxB,EAAS,OAAS,QAAW,CAI7C,GAAe,SAAVtxB,IAAoBuzB,QAAiCr1B,IAArBq1B,EAAU/Z,GAK9C,SAJA8X,GAAS,EAOX1L,EAAMpM,GAAS+Z,GAAYA,EAAU/Z,IAAUte,GAAOsgB,MAAO9f,EAAM8d,GAMrE,IADA4Z,GAAal4B,GAAO2D,cAAeikB,MAChB5nB,GAAO2D,cAAe+mB,GA8DzC,IAAMpM,KAzDD8Z,GAA2B,IAAlB53B,EAAKlC,WAMlB+4B,EAAKkB,SAAW,CAAEjY,EAAMiY,SAAUjY,EAAMkY,UAAWlY,EAAMmY,WAIlC,OADvBN,EAAiBE,GAAYA,EAAS9X,WAErC4X,EAAiB3Z,EAASzd,IAAKP,EAAM,YAGrB,UADjB+f,EAAUvgB,GAAOwgB,IAAKhgB,EAAM,cAEtB23B,EACJ5X,EAAU4X,GAIV9W,GAAU,CAAE7gB,IAAQ,GACpB23B,EAAiB33B,EAAK8f,MAAMC,SAAW4X,EACvC5X,EAAUvgB,GAAOwgB,IAAKhgB,EAAM,WAC5B6gB,GAAU,CAAE7gB,OAKG,WAAZ+f,GAAoC,iBAAZA,GAAgD,MAAlB4X,IACrB,SAAhCn4B,GAAOwgB,IAAKhgB,EAAM,WAGhB03B,IACLJ,EAAKjxB,KAAM,WACVyZ,EAAMC,QAAU4X,IAEM,MAAlBA,IACJ5X,EAAUD,EAAMC,QAChB4X,EAA6B,SAAZ5X,EAAqB,GAAKA,IAG7CD,EAAMC,QAAU,iBAKd8W,EAAKkB,WACTjY,EAAMiY,SAAW,SACjBT,EAAKhe,OAAQ,WACZwG,EAAMiY,SAAWlB,EAAKkB,SAAU,GAChCjY,EAAMkY,UAAYnB,EAAKkB,SAAU,GACjCjY,EAAMmY,UAAYpB,EAAKkB,SAAU,MAKnCL,GAAY,EACExN,EAGPwN,IACAG,EACC,WAAYA,IAChBjC,EAASiC,EAASjC,QAGnBiC,EAAW7Z,EAASxB,OAAQxc,EAAM,SAAU,CAAE+f,QAAS4X,IAInDzW,IACJ2W,EAASjC,QAAUA,GAIfA,GACJ/U,GAAU,CAAE7gB,IAAQ,GAKrBs3B,EAAKjxB,KAAM,WASV,IAAMyX,KAJA8X,GACL/U,GAAU,CAAE7gB,IAEbge,EAASlF,OAAQ9Y,EAAM,UACTkqB,EACb1qB,GAAOsgB,MAAO9f,EAAM8d,EAAMoM,EAAMpM,OAMnC4Z,EAAYvB,GAAaP,EAASiC,EAAU/Z,GAAS,EAAGA,EAAMwZ,GACtDxZ,KAAQ+Z,IACfA,EAAU/Z,GAAS4Z,EAAU7oB,MACxB+mB,IACJ8B,EAAU/1B,IAAM+1B,EAAU7oB,MAC1B6oB,EAAU7oB,MAAQ,MAuMrBqpB,UAAW,SAAUn3B,EAAU+qB,GACzBA,EACJuK,GAAUI,WAAW1X,QAAShe,GAE9Bs1B,GAAUI,WAAWt5B,KAAM4D,MAK9BvB,GAAO24B,MAAQ,SAAUA,EAAOrG,EAAQnyB,GACvC,IAAI61B,EAAM2C,GAA0B,iBAAVA,EAAqB34B,GAAOsC,OAAQ,GAAIq2B,GAAU,CAC3Ef,SAAUz3B,IAAOA,GAAMmyB,GACtBl0B,EAAYu6B,IAAWA,EACxBxD,SAAUwD,EACVrG,OAAQnyB,GAAMmyB,GAAUA,IAAWl0B,EAAYk0B,IAAYA,GAoC5D,OAhCKtyB,GAAOs1B,GAAG/Q,IACdyR,EAAIb,SAAW,EAGc,iBAAjBa,EAAIb,WACVa,EAAIb,YAAYn1B,GAAOs1B,GAAGsD,OAC9B5C,EAAIb,SAAWn1B,GAAOs1B,GAAGsD,OAAQ5C,EAAIb,UAGrCa,EAAIb,SAAWn1B,GAAOs1B,GAAGsD,OAAOlW,UAMjB,MAAbsT,EAAI/c,QAA+B,IAAd+c,EAAI/c,QAC7B+c,EAAI/c,MAAQ,MAIb+c,EAAIxI,IAAMwI,EAAI4B,SAEd5B,EAAI4B,SAAW,WACTx5B,EAAY43B,EAAIxI,MACpBwI,EAAIxI,IAAIhwB,KAAMT,MAGVi5B,EAAI/c,OACRjZ,GAAOmf,QAASpiB,KAAMi5B,EAAI/c,QAIrB+c,GAGRh2B,GAAOG,GAAGmC,OAAQ,CACjBu2B,OAAQ,SAAUF,EAAOG,EAAIxG,EAAQ/wB,GAGpC,OAAOxE,KAAK6P,OAAQyT,IAAqBG,IAAK,UAAW,GAAIc,OAG3Dnf,MAAM42B,QAAS,CAAEvG,QAASsG,GAAMH,EAAOrG,EAAQ/wB,IAElDw3B,QAAS,SAAUza,EAAMqa,EAAOrG,EAAQ/wB,GACvC,IAAI8P,EAAQrR,GAAO2D,cAAe2a,GACjC0a,EAASh5B,GAAO24B,MAAOA,EAAOrG,EAAQ/wB,GACtC03B,EAAc,WAGb,IAAInB,EAAOjB,GAAW95B,KAAMiD,GAAOsC,OAAQ,GAAIgc,GAAQ0a,IAGlD3nB,GAASmN,EAASzd,IAAKhE,KAAM,YACjC+6B,EAAKtY,MAAM,IAMd,OAFAyZ,EAAYC,OAASD,EAEd5nB,IAA0B,IAAjB2nB,EAAO/f,MACtBlc,KAAKuE,KAAM23B,GACXl8B,KAAKkc,MAAO+f,EAAO/f,MAAOggB,IAE5BzZ,KAAM,SAAU9gB,EAAMghB,EAAY+X,GACjC,IAAI0B,EAAY,SAAU9Z,GACzB,IAAIG,EAAOH,EAAMG,YACVH,EAAMG,KACbA,EAAMiY,IAYP,MATqB,iBAAT/4B,IACX+4B,EAAU/X,EACVA,EAAahhB,EACbA,OAAOsE,GAEH0c,GACJ3iB,KAAKkc,MAAOva,GAAQ,KAAM,IAGpB3B,KAAKuE,KAAM,WACjB,IAAI6d,GAAU,EACbpI,EAAgB,MAARrY,GAAgBA,EAAO,aAC/B06B,EAASp5B,GAAOo5B,OAChB/a,EAAOG,EAASzd,IAAKhE,MAEtB,GAAKga,EACCsH,EAAMtH,IAAWsH,EAAMtH,GAAQyI,MACnC2Z,EAAW9a,EAAMtH,SAGlB,IAAMA,KAASsH,EACTA,EAAMtH,IAAWsH,EAAMtH,GAAQyI,MAAQ0W,GAAK1xB,KAAMuS,IACtDoiB,EAAW9a,EAAMtH,IAKpB,IAAMA,EAAQqiB,EAAO94B,OAAQyW,KACvBqiB,EAAQriB,GAAQvW,OAASzD,MACnB,MAAR2B,GAAgB06B,EAAQriB,GAAQkC,QAAUva,IAE5C06B,EAAQriB,GAAQ+gB,KAAKtY,KAAMiY,GAC3BtY,GAAU,EACVia,EAAO/2B,OAAQ0U,EAAO,KAOnBoI,GAAYsY,GAChBz3B,GAAOmf,QAASpiB,KAAM2B,MAIzBw6B,OAAQ,SAAUx6B,GAIjB,OAHc,IAATA,IACJA,EAAOA,GAAQ,MAET3B,KAAKuE,KAAM,WACjB,IAAIyV,EACHsH,EAAOG,EAASzd,IAAKhE,MACrBkc,EAAQoF,EAAM3f,EAAO,SACrB2gB,EAAQhB,EAAM3f,EAAO,cACrB06B,EAASp5B,GAAOo5B,OAChB94B,EAAS2Y,EAAQA,EAAM3Y,OAAS,EAajC,IAVA+d,EAAK6a,QAAS,EAGdl5B,GAAOiZ,MAAOlc,KAAM2B,EAAM,IAErB2gB,GAASA,EAAMG,MACnBH,EAAMG,KAAKhiB,KAAMT,MAAM,GAIlBga,EAAQqiB,EAAO94B,OAAQyW,KACvBqiB,EAAQriB,GAAQvW,OAASzD,MAAQq8B,EAAQriB,GAAQkC,QAAUva,IAC/D06B,EAAQriB,GAAQ+gB,KAAKtY,MAAM,GAC3B4Z,EAAO/2B,OAAQ0U,EAAO,IAKxB,IAAMA,EAAQ,EAAGA,EAAQzW,EAAQyW,IAC3BkC,EAAOlC,IAAWkC,EAAOlC,GAAQmiB,QACrCjgB,EAAOlC,GAAQmiB,OAAO17B,KAAMT,aAKvBshB,EAAK6a,YAKfl5B,GAAOsB,KAAM,CAAE,SAAU,OAAQ,QAAU,SAAU6D,EAAI1E,GACxD,IAAI44B,EAAQr5B,GAAOG,GAAIM,GACvBT,GAAOG,GAAIM,GAAS,SAAUk4B,EAAOrG,EAAQ/wB,GAC5C,OAAgB,MAATo3B,GAAkC,kBAAVA,EAC9BU,EAAM37B,MAAOX,KAAM0E,WACnB1E,KAAKg8B,QAAStC,GAAOh2B,GAAM,GAAQk4B,EAAOrG,EAAQ/wB,MAKrDvB,GAAOsB,KAAM,CACZg4B,UAAW7C,GAAO,QAClB8C,QAAS9C,GAAO,QAChB+C,YAAa/C,GAAO,UACpBgD,OAAQ,CAAEjH,QAAS,QACnBkH,QAAS,CAAElH,QAAS,QACpBmH,WAAY,CAAEnH,QAAS,WACrB,SAAU/xB,EAAMmnB,GAClB5nB,GAAOG,GAAIM,GAAS,SAAUk4B,EAAOrG,EAAQ/wB,GAC5C,OAAOxE,KAAKg8B,QAASnR,EAAO+Q,EAAOrG,EAAQ/wB,MAI7CvB,GAAOo5B,OAAS,GAChBp5B,GAAOs1B,GAAGiB,KAAO,WAChB,IAAIsB,EACH34B,EAAI,EACJk6B,EAASp5B,GAAOo5B,OAIjB,IAFAtD,GAAQ7N,KAAKC,MAELhpB,EAAIk6B,EAAO94B,OAAQpB,KAC1B24B,EAAQuB,EAAQl6B,OAGCk6B,EAAQl6B,KAAQ24B,GAChCuB,EAAO/2B,OAAQnD,IAAK,GAIhBk6B,EAAO94B,QACZN,GAAOs1B,GAAG9V,OAEXsW,QAAQ9yB,GAGThD,GAAOs1B,GAAGuC,MAAQ,SAAUA,GAC3B73B,GAAOo5B,OAAOz7B,KAAMk6B,GACpB73B,GAAOs1B,GAAGjmB,SAGXrP,GAAOs1B,GAAGgB,SAAW,GACrBt2B,GAAOs1B,GAAGjmB,MAAQ,WACZ0mB,KAILA,IAAa,EACbI,OAGDn2B,GAAOs1B,GAAG9V,KAAO,WAChBuW,GAAa,MAGd/1B,GAAOs1B,GAAGsD,OAAS,CAClBgB,KAAM,IACNC,KAAM,IAGNnX,SAAU,KAKX1iB,GAAOG,GAAG25B,MAAQ,SAAUC,EAAMr7B,GAIjC,OAHAq7B,EAAO/5B,GAAOs1B,IAAKt1B,GAAOs1B,GAAGsD,OAAQmB,IAAiBA,EACtDr7B,EAAOA,GAAQ,KAER3B,KAAKkc,MAAOva,EAAM,SAAU8K,EAAM6V,GACxC,IAAI2a,EAAUl9B,GAAO2e,WAAYjS,EAAMuwB,GACvC1a,EAAMG,KAAO,WACZ1iB,GAAOm9B,aAAcD,OAOnB/sB,GAAQtQ,EAAS0C,cAAe,SAEnC22B,GADSr5B,EAAS0C,cAAe,UACpBK,YAAa/C,EAAS0C,cAAe,WAEnD4N,GAAMvO,KAAO,WAIbP,GAAQ+7B,QAA0B,KAAhBjtB,GAAMnI,MAIxB3G,GAAQg8B,YAAcnE,GAAI7kB,UAI1BlE,GAAQtQ,EAAS0C,cAAe,UAC1ByF,MAAQ,IACdmI,GAAMvO,KAAO,QACbP,GAAQi8B,WAA6B,MAAhBntB,GAAMnI,MAI5B,IAAIu1B,GACH5sB,GAAazN,GAAOqN,KAAKI,WAE1BzN,GAAOG,GAAGmC,OAAQ,CACjBkL,KAAM,SAAU/M,EAAMqE,GACrB,OAAOkY,EAAQjgB,KAAMiD,GAAOwN,KAAM/M,EAAMqE,EAA0B,EAAnBrD,UAAUnB,SAG1Dg6B,WAAY,SAAU75B,GACrB,OAAO1D,KAAKuE,KAAM,WACjBtB,GAAOs6B,WAAYv9B,KAAM0D,QAK5BT,GAAOsC,OAAQ,CACdkL,KAAM,SAAUhN,EAAMC,EAAMqE,GAC3B,IAAI3D,EAAKke,EACRkb,EAAQ/5B,EAAKlC,SAGd,GAAe,IAAVi8B,GAAyB,IAAVA,GAAyB,IAAVA,EAKnC,MAAkC,oBAAtB/5B,EAAKjB,aACTS,GAAOse,KAAM9d,EAAMC,EAAMqE,IAKlB,IAAVy1B,GAAgBv6B,GAAOmE,SAAU3D,KACrC6e,EAAQrf,GAAOw6B,UAAW/5B,EAAKC,iBAC5BV,GAAOqN,KAAKrD,MAAM3B,KAAK7D,KAAM/D,GAAS45B,QAAWr3B,SAGtCA,IAAV8B,EACW,OAAVA,OACJ9E,GAAOs6B,WAAY95B,EAAMC,GAIrB4e,GAAS,QAASA,QACuBrc,KAA3C7B,EAAMke,EAAMjB,IAAK5d,EAAMsE,EAAOrE,IACzBU,GAGRX,EAAKhB,aAAciB,EAAMqE,EAAQ,IAC1BA,GAGHua,GAAS,QAASA,GAA+C,QAApCle,EAAMke,EAAMte,IAAKP,EAAMC,IACjDU,EAMM,OAHdA,EAAMnB,GAAO4J,KAAK4D,KAAMhN,EAAMC,SAGTuC,EAAY7B,IAGlCq5B,UAAW,CACV97B,KAAM,CACL0f,IAAK,SAAU5d,EAAMsE,GACpB,IAAM3G,GAAQi8B,YAAwB,UAAVt1B,GAC3BvE,GAAUC,EAAM,SAAY,CAC5B,IAAIrB,EAAMqB,EAAKsE,MAKf,OAJAtE,EAAKhB,aAAc,OAAQsF,GACtB3F,IACJqB,EAAKsE,MAAQ3F,GAEP2F,MAMXw1B,WAAY,SAAU95B,EAAMsE,GAC3B,IAAIrE,EACHvB,EAAI,EAIJu7B,EAAY31B,GAASA,EAAMkF,MAAO2N,GAEnC,GAAK8iB,GAA+B,IAAlBj6B,EAAKlC,SACtB,MAAUmC,EAAOg6B,EAAWv7B,KAC3BsB,EAAKwK,gBAAiBvK,MAO1B45B,GAAW,CACVjc,IAAK,SAAU5d,EAAMsE,EAAOrE,GAQ3B,OAPe,IAAVqE,EAGJ9E,GAAOs6B,WAAY95B,EAAMC,GAEzBD,EAAKhB,aAAciB,EAAMA,GAEnBA,IAITT,GAAOsB,KAAMtB,GAAOqN,KAAKrD,MAAM3B,KAAK0X,OAAO/V,MAAO,QAAU,SAAU7E,EAAI1E,GACzE,IAAIi6B,EAASjtB,GAAYhN,IAAUT,GAAO4J,KAAK4D,KAE/CC,GAAYhN,GAAS,SAAUD,EAAMC,EAAM6U,GAC1C,IAAInU,EAAKykB,EACR+U,EAAgBl6B,EAAKC,cAYtB,OAVM4U,IAGLsQ,EAASnY,GAAYktB,GACrBltB,GAAYktB,GAAkBx5B,EAC9BA,EAAqC,MAA/Bu5B,EAAQl6B,EAAMC,EAAM6U,GACzBqlB,EACA,KACDltB,GAAYktB,GAAkB/U,GAExBzkB,KAOT,IAAIy5B,GAAa,sCAChBC,GAAa,gBAwIb,SAASC,GAAkBh2B,GAE1B,OADaA,EAAMkF,MAAO2N,IAAmB,IAC/B9M,KAAM,KAItB,SAASkwB,GAAUv6B,GAClB,OAAOA,EAAKjB,cAAgBiB,EAAKjB,aAAc,UAAa,GAG7D,SAASy7B,GAAgBl2B,GACxB,OAAKhC,MAAMC,QAAS+B,GACZA,EAEc,iBAAVA,GACJA,EAAMkF,MAAO2N,IAEd,GAvJR3X,GAAOG,GAAGmC,OAAQ,CACjBgc,KAAM,SAAU7d,EAAMqE,GACrB,OAAOkY,EAAQjgB,KAAMiD,GAAOse,KAAM7d,EAAMqE,EAA0B,EAAnBrD,UAAUnB,SAG1D26B,WAAY,SAAUx6B,GACrB,OAAO1D,KAAKuE,KAAM,kBACVvE,KAAMiD,GAAOk7B,QAASz6B,IAAUA,QAK1CT,GAAOsC,OAAQ,CACdgc,KAAM,SAAU9d,EAAMC,EAAMqE,GAC3B,IAAI3D,EAAKke,EACRkb,EAAQ/5B,EAAKlC,SAGd,GAAe,IAAVi8B,GAAyB,IAAVA,GAAyB,IAAVA,EAWnC,OAPe,IAAVA,GAAgBv6B,GAAOmE,SAAU3D,KAGrCC,EAAOT,GAAOk7B,QAASz6B,IAAUA,EACjC4e,EAAQrf,GAAO+0B,UAAWt0B,SAGZuC,IAAV8B,EACCua,GAAS,QAASA,QACuBrc,KAA3C7B,EAAMke,EAAMjB,IAAK5d,EAAMsE,EAAOrE,IACzBU,EAGCX,EAAMC,GAASqE,EAGpBua,GAAS,QAASA,GAA+C,QAApCle,EAAMke,EAAMte,IAAKP,EAAMC,IACjDU,EAGDX,EAAMC,IAGds0B,UAAW,CACV/jB,SAAU,CACTjQ,IAAK,SAAUP,GAMd,IAAI26B,EAAWn7B,GAAO4J,KAAK4D,KAAMhN,EAAM,YAEvC,OAAK26B,EACGjL,SAAUiL,EAAU,IAI3BP,GAAWp2B,KAAMhE,EAAKD,WACtBs6B,GAAWr2B,KAAMhE,EAAKD,WACtBC,EAAKuQ,KAEE,GAGA,KAKXmqB,QAAS,CACRE,MAAO,UACPC,QAAS,eAYLl9B,GAAQg8B,cACbn6B,GAAO+0B,UAAU5jB,SAAW,CAC3BpQ,IAAK,SAAUP,GAId,IAAI8O,EAAS9O,EAAKb,WAIlB,OAHK2P,GAAUA,EAAO3P,YACrB2P,EAAO3P,WAAWyR,cAEZ,MAERgN,IAAK,SAAU5d,GAId,IAAI8O,EAAS9O,EAAKb,WACb2P,IACJA,EAAO8B,cAEF9B,EAAO3P,YACX2P,EAAO3P,WAAWyR,kBAOvBpR,GAAOsB,KAAM,CACZ,WACA,WACA,YACA,cACA,cACA,UACA,UACA,SACA,cACA,mBACE,WACFtB,GAAOk7B,QAASn+B,KAAK2D,eAAkB3D,OA4BxCiD,GAAOG,GAAGmC,OAAQ,CACjBg5B,SAAU,SAAUx2B,GACnB,IAAIy2B,EAAY5kB,EAAK6kB,EAAUxuB,EAAW9N,EAAGu8B,EAE7C,OAAKr9B,EAAY0G,GACT/H,KAAKuE,KAAM,SAAUY,GAC3BlC,GAAQjD,MAAOu+B,SAAUx2B,EAAMtH,KAAMT,KAAMmF,EAAG64B,GAAUh+B,WAI1Dw+B,EAAaP,GAAgBl2B,IAEbxE,OACRvD,KAAKuE,KAAM,WAIjB,GAHAk6B,EAAWT,GAAUh+B,MACrB4Z,EAAwB,IAAlB5Z,KAAKuB,UAAoB,IAAMw8B,GAAkBU,GAAa,IAEzD,CACV,IAAMt8B,EAAI,EAAGA,EAAIq8B,EAAWj7B,OAAQpB,IACnC8N,EAAYuuB,EAAYr8B,GACnByX,EAAI/Y,QAAS,IAAMoP,EAAY,KAAQ,IAC3C2J,GAAO3J,EAAY,KAKrByuB,EAAaX,GAAkBnkB,GAC1B6kB,IAAaC,GACjB1+B,KAAKyC,aAAc,QAASi8B,MAMzB1+B,MAGR2+B,YAAa,SAAU52B,GACtB,IAAIy2B,EAAY5kB,EAAK6kB,EAAUxuB,EAAW9N,EAAGu8B,EAE7C,OAAKr9B,EAAY0G,GACT/H,KAAKuE,KAAM,SAAUY,GAC3BlC,GAAQjD,MAAO2+B,YAAa52B,EAAMtH,KAAMT,KAAMmF,EAAG64B,GAAUh+B,UAIvD0E,UAAUnB,QAIhBi7B,EAAaP,GAAgBl2B,IAEbxE,OACRvD,KAAKuE,KAAM,WAMjB,GALAk6B,EAAWT,GAAUh+B,MAGrB4Z,EAAwB,IAAlB5Z,KAAKuB,UAAoB,IAAMw8B,GAAkBU,GAAa,IAEzD,CACV,IAAMt8B,EAAI,EAAGA,EAAIq8B,EAAWj7B,OAAQpB,IAAM,CACzC8N,EAAYuuB,EAAYr8B,GAGxB,OAAgD,EAAxCyX,EAAI/Y,QAAS,IAAMoP,EAAY,KACtC2J,EAAMA,EAAIvT,QAAS,IAAM4J,EAAY,IAAK,KAK5CyuB,EAAaX,GAAkBnkB,GAC1B6kB,IAAaC,GACjB1+B,KAAKyC,aAAc,QAASi8B,MAMzB1+B,KA/BCA,KAAKyQ,KAAM,QAAS,KAkC7BmuB,YAAa,SAAU72B,EAAO82B,GAC7B,IAAIL,EAAYvuB,EAAW9N,EAAG+W,EAC7BvX,SAAcoG,EACd+2B,EAAwB,WAATn9B,GAAqBoE,MAAMC,QAAS+B,GAEpD,OAAK1G,EAAY0G,GACT/H,KAAKuE,KAAM,SAAUpC,GAC3Bc,GAAQjD,MAAO4+B,YACd72B,EAAMtH,KAAMT,KAAMmC,EAAG67B,GAAUh+B,MAAQ6+B,GACvCA,KAKsB,kBAAbA,GAA0BC,EAC9BD,EAAW7+B,KAAKu+B,SAAUx2B,GAAU/H,KAAK2+B,YAAa52B,IAG9Dy2B,EAAaP,GAAgBl2B,GAEtB/H,KAAKuE,KAAM,WACjB,GAAKu6B,EAKJ,IAFA5lB,EAAOjW,GAAQjD,MAETmC,EAAI,EAAGA,EAAIq8B,EAAWj7B,OAAQpB,IACnC8N,EAAYuuB,EAAYr8B,GAGnB+W,EAAK6lB,SAAU9uB,GACnBiJ,EAAKylB,YAAa1uB,GAElBiJ,EAAKqlB,SAAUtuB,aAKIhK,IAAV8B,GAAgC,YAATpG,KAClCsO,EAAY+tB,GAAUh+B,QAIrByhB,EAASJ,IAAKrhB,KAAM,gBAAiBiQ,GAOjCjQ,KAAKyC,cACTzC,KAAKyC,aAAc,QAClBwN,IAAuB,IAAVlI,EACZ,GACA0Z,EAASzd,IAAKhE,KAAM,kBAAqB,SAO/C++B,SAAU,SAAU77B,GACnB,IAAI+M,EAAWxM,EACdtB,EAAI,EAEL8N,EAAY,IAAM/M,EAAW,IAC7B,MAAUO,EAAOzD,KAAMmC,KACtB,GAAuB,IAAlBsB,EAAKlC,WACoE,GAA3E,IAAMw8B,GAAkBC,GAAUv6B,IAAW,KAAM5C,QAASoP,GAC9D,OAAO,EAIT,OAAO,KAOT,IAAI+uB,GAAU,MAEd/7B,GAAOG,GAAGmC,OAAQ,CACjBnD,IAAK,SAAU2F,GACd,IAAIua,EAAOle,EAAKuqB,EACflrB,EAAOzD,KAAM,GAEd,OAAM0E,UAAUnB,QA0BhBorB,EAAkBttB,EAAY0G,GAEvB/H,KAAKuE,KAAM,SAAUpC,GAC3B,IAAIC,EAEmB,IAAlBpC,KAAKuB,WAWE,OANXa,EADIusB,EACE5mB,EAAMtH,KAAMT,KAAMmC,EAAGc,GAAQjD,MAAOoC,OAEpC2F,GAKN3F,EAAM,GAEoB,iBAARA,EAClBA,GAAO,GAEI2D,MAAMC,QAAS5D,KAC1BA,EAAMa,GAAOwB,IAAKrC,EAAK,SAAU2F,GAChC,OAAgB,MAATA,EAAgB,GAAKA,EAAQ,OAItCua,EAAQrf,GAAOg8B,SAAUj/B,KAAK2B,OAAUsB,GAAOg8B,SAAUj/B,KAAKwD,SAASG,iBAGrD,QAAS2e,QAA+Crc,IAApCqc,EAAMjB,IAAKrhB,KAAMoC,EAAK,WAC3DpC,KAAK+H,MAAQ3F,OAzDTqB,GACJ6e,EAAQrf,GAAOg8B,SAAUx7B,EAAK9B,OAC7BsB,GAAOg8B,SAAUx7B,EAAKD,SAASG,iBAG/B,QAAS2e,QACgCrc,KAAvC7B,EAAMke,EAAMte,IAAKP,EAAM,UAElBW,EAMY,iBAHpBA,EAAMX,EAAKsE,OAIH3D,EAAIiC,QAAS24B,GAAS,IAIhB,MAAP56B,EAAc,GAAKA,OAG3B,KAyCHnB,GAAOsC,OAAQ,CACd05B,SAAU,CACT5Z,OAAQ,CACPrhB,IAAK,SAAUP,GAEd,IAAIrB,EAAMa,GAAO4J,KAAK4D,KAAMhN,EAAM,SAClC,OAAc,MAAPrB,EACNA,EAMA27B,GAAkB96B,GAAOV,KAAMkB,MAGlCyK,OAAQ,CACPlK,IAAK,SAAUP,GACd,IAAIsE,EAAOsd,EAAQljB,EAClBqD,EAAU/B,EAAK+B,QACfwU,EAAQvW,EAAK4Q,cACbgT,EAAoB,eAAd5jB,EAAK9B,KACX6iB,EAAS6C,EAAM,KAAO,GACtBkN,EAAMlN,EAAMrN,EAAQ,EAAIxU,EAAQjC,OAUjC,IAPCpB,EADI6X,EAAQ,EACRua,EAGAlN,EAAMrN,EAAQ,EAIX7X,EAAIoyB,EAAKpyB,IAKhB,KAJAkjB,EAAS7f,EAASrD,IAIJiS,UAAYjS,IAAM6X,KAG7BqL,EAAO9Y,YACL8Y,EAAOziB,WAAW2J,WACnB/I,GAAU6hB,EAAOziB,WAAY,aAAiB,CAMjD,GAHAmF,EAAQ9E,GAAQoiB,GAASjjB,MAGpBilB,EACJ,OAAOtf,EAIRyc,EAAO5jB,KAAMmH,GAIf,OAAOyc,GAGRnD,IAAK,SAAU5d,EAAMsE,GACpB,IAAIm3B,EAAW7Z,EACd7f,EAAU/B,EAAK+B,QACfgf,EAASvhB,GAAOgE,UAAWc,GAC3B5F,EAAIqD,EAAQjC,OAEb,MAAQpB,MACPkjB,EAAS7f,EAASrD,IAINiS,UACuD,EAAlEnR,GAAOkE,QAASlE,GAAOg8B,SAAS5Z,OAAOrhB,IAAKqhB,GAAUb,MAEtD0a,GAAY,GAUd,OAHMA,IACLz7B,EAAK4Q,eAAiB,GAEhBmQ,OAOXvhB,GAAOsB,KAAM,CAAE,QAAS,YAAc,WACrCtB,GAAOg8B,SAAUj/B,MAAS,CACzBqhB,IAAK,SAAU5d,EAAMsE,GACpB,GAAKhC,MAAMC,QAAS+B,GACnB,OAAStE,EAAK0Q,SAA2D,EAAjDlR,GAAOkE,QAASlE,GAAQQ,GAAOrB,MAAO2F,KAI3D3G,GAAQ+7B,UACbl6B,GAAOg8B,SAAUj/B,MAAOgE,IAAM,SAAUP,GACvC,OAAwC,OAAjCA,EAAKjB,aAAc,SAAqB,KAAOiB,EAAKsE,UAS9D,IAAI0L,GAAW1T,GAAO0T,SAElB5R,GAAQ,CAAEmG,KAAMkjB,KAAKC,OAErBgU,GAAS,KAKbl8B,GAAOm8B,SAAW,SAAU9d,GAC3B,IAAInP,EAAKktB,EACT,IAAM/d,GAAwB,iBAATA,EACpB,OAAO,KAKR,IACCnP,GAAM,IAAMpS,GAAOu/B,WAAcC,gBAAiBje,EAAM,YACvD,MAAQ3U,IAYV,OAVA0yB,EAAkBltB,GAAOA,EAAI3E,qBAAsB,eAAiB,GAC9D2E,IAAOktB,GACZp8B,GAAOsD,MAAO,iBACb84B,EACCp8B,GAAOwB,IAAK46B,EAAgB3yB,WAAY,SAAUgC,GACjD,OAAOA,EAAG5H,cACPgH,KAAM,MACVwT,IAGInP,GAIR,IAAIqtB,GAAc,kCACjBC,GAA0B,SAAU9yB,GACnCA,EAAEmb,mBAGJ7kB,GAAOsC,OAAQtC,GAAOskB,MAAO,CAE5BU,QAAS,SAAUV,EAAOjG,EAAM7d,EAAMi8B,GAErC,IAAIv9B,EAAGyX,EAAKgJ,EAAK+c,EAAYC,EAAQ/W,EAAQ9K,EAAS8hB,EACrDC,EAAY,CAAEr8B,GAAQ7D,GACtB+B,EAAOX,GAAOP,KAAM8mB,EAAO,QAAWA,EAAM5lB,KAAO4lB,EACnDkB,EAAaznB,GAAOP,KAAM8mB,EAAO,aAAgBA,EAAMlgB,UAAUc,MAAO,KAAQ,GAKjF,GAHAyR,EAAMimB,EAAcjd,EAAMnf,EAAOA,GAAQ7D,EAGlB,IAAlB6D,EAAKlC,UAAoC,IAAlBkC,EAAKlC,WAK5Bi+B,GAAY/3B,KAAM9F,EAAOsB,GAAOskB,MAAMuB,cAIf,EAAvBnnB,EAAKd,QAAS,OAIlBc,GADA8mB,EAAa9mB,EAAKwG,MAAO,MACPoG,QAClBka,EAAWpjB,QAEZu6B,EAASj+B,EAAKd,QAAS,KAAQ,GAAK,KAAOc,GAG3C4lB,EAAQA,EAAOtkB,GAAOiD,SACrBqhB,EACA,IAAItkB,GAAOmnB,MAAOzoB,EAAuB,iBAAV4lB,GAAsBA,IAGhDK,UAAY8X,EAAe,EAAI,EACrCnY,EAAMlgB,UAAYohB,EAAW3a,KAAM,KACnCyZ,EAAMuC,WAAavC,EAAMlgB,UACxB,IAAImB,OAAQ,UAAYigB,EAAW3a,KAAM,iBAAoB,WAC7D,KAGDyZ,EAAM3V,YAAS3L,EACTshB,EAAM3hB,SACX2hB,EAAM3hB,OAASnC,GAIhB6d,EAAe,MAARA,EACN,CAAEiG,GACFtkB,GAAOgE,UAAWqa,EAAM,CAAEiG,IAG3BxJ,EAAU9a,GAAOskB,MAAMxJ,QAASpc,IAAU,GACpC+9B,IAAgB3hB,EAAQkK,UAAmD,IAAxClK,EAAQkK,QAAQtnB,MAAO8C,EAAM6d,IAAtE,CAMA,IAAMoe,IAAiB3hB,EAAQ0M,WAAahpB,EAAUgC,GAAS,CAM9D,IAJAk8B,EAAa5hB,EAAQ8J,cAAgBlmB,EAC/B69B,GAAY/3B,KAAMk4B,EAAah+B,KACpCiY,EAAMA,EAAIhX,YAEHgX,EAAKA,EAAMA,EAAIhX,WACtBk9B,EAAUl/B,KAAMgZ,GAChBgJ,EAAMhJ,EAIFgJ,KAAUnf,EAAK+D,eAAiB5H,IACpCkgC,EAAUl/B,KAAMgiB,EAAIvT,aAAeuT,EAAImd,cAAgBhgC,IAKzDoC,EAAI,EACJ,OAAUyX,EAAMkmB,EAAW39B,QAAYolB,EAAMqC,uBAC5CiW,EAAcjmB,EACd2N,EAAM5lB,KAAW,EAAJQ,EACZw9B,EACA5hB,EAAQiL,UAAYrnB,GAGrBknB,GAAWpH,EAASzd,IAAK4V,EAAK,WAAcxZ,OAAOwoB,OAAQ,OAAUrB,EAAM5lB,OAC1E8f,EAASzd,IAAK4V,EAAK,YAEnBiP,EAAOloB,MAAOiZ,EAAK0H,IAIpBuH,EAAS+W,GAAUhmB,EAAKgmB,KACT/W,EAAOloB,OAASogB,EAAYnH,KAC1C2N,EAAM3V,OAASiX,EAAOloB,MAAOiZ,EAAK0H,IACZ,IAAjBiG,EAAM3V,QACV2V,EAAMS,kBA8CT,OA1CAT,EAAM5lB,KAAOA,EAGP+9B,GAAiBnY,EAAMuD,sBAEpB/M,EAAQ4H,WACqC,IAApD5H,EAAQ4H,SAAShlB,MAAOm/B,EAAUz3B,MAAOiZ,KACzCP,EAAYtd,IAIPm8B,GAAUv+B,EAAYoC,EAAM9B,MAAaF,EAAUgC,MAGvDmf,EAAMnf,EAAMm8B,MAGXn8B,EAAMm8B,GAAW,MAIlB38B,GAAOskB,MAAMuB,UAAYnnB,EAEpB4lB,EAAMqC,wBACViW,EAAYtwB,iBAAkB5N,EAAM89B,IAGrCh8B,EAAM9B,KAED4lB,EAAMqC,wBACViW,EAAYjgB,oBAAqBje,EAAM89B,IAGxCx8B,GAAOskB,MAAMuB,eAAY7iB,EAEpB2c,IACJnf,EAAMm8B,GAAWhd,IAMd2E,EAAM3V,SAKdwb,SAAU,SAAUzrB,EAAM8B,EAAM8jB,GAC/B,IAAI5a,EAAI1J,GAAOsC,OACd,IAAItC,GAAOmnB,MACX7C,EACA,CACC5lB,KAAMA,EACNypB,aAAa,IAIfnoB,GAAOskB,MAAMU,QAAStb,EAAG,KAAMlJ,MAKjCR,GAAOG,GAAGmC,OAAQ,CAEjB0iB,QAAS,SAAUtmB,EAAM2f,GACxB,OAAOthB,KAAKuE,KAAM,WACjBtB,GAAOskB,MAAMU,QAAStmB,EAAM2f,EAAMthB,SAGpCggC,eAAgB,SAAUr+B,EAAM2f,GAC/B,IAAI7d,EAAOzD,KAAM,GACjB,GAAKyD,EACJ,OAAOR,GAAOskB,MAAMU,QAAStmB,EAAM2f,EAAM7d,GAAM,MAMlD,IACCw8B,GAAW,QACXC,GAAQ,SACRC,GAAkB,wCAClBC,GAAe,qCAEhB,SAASC,GAAa1I,EAAQr2B,EAAKg/B,EAAapmB,GAC/C,IAAIxW,EAEJ,GAAKqC,MAAMC,QAAS1E,GAGnB2B,GAAOsB,KAAMjD,EAAK,SAAUa,EAAG2Y,GACzBwlB,GAAeL,GAASx4B,KAAMkwB,GAGlCzd,EAAKyd,EAAQ7c,GAKbulB,GACC1I,EAAS,KAAqB,iBAAN7c,GAAuB,MAALA,EAAY3Y,EAAI,IAAO,IACjE2Y,EACAwlB,EACApmB,UAKG,GAAMomB,GAAiC,WAAlBx9B,EAAQxB,GAUnC4Y,EAAKyd,EAAQr2B,QAPb,IAAMoC,KAAQpC,EACb++B,GAAa1I,EAAS,IAAMj0B,EAAO,IAAKpC,EAAKoC,GAAQ48B,EAAapmB,GAYrEjX,GAAOs9B,MAAQ,SAAU73B,EAAG43B,GAC3B,IAAI3I,EACH6I,EAAI,GACJtmB,EAAM,SAAU7L,EAAKoyB,GAGpB,IAAI14B,EAAQ1G,EAAYo/B,GACvBA,IACAA,EAEDD,EAAGA,EAAEj9B,QAAWm9B,mBAAoBryB,GAAQ,IAC3CqyB,mBAA6B,MAAT34B,EAAgB,GAAKA,IAG5C,GAAU,MAALW,EACJ,MAAO,GAIR,GAAK3C,MAAMC,QAAS0C,IAASA,EAAE7E,SAAWZ,GAAO6C,cAAe4C,GAG/DzF,GAAOsB,KAAMmE,EAAG,WACfwR,EAAKla,KAAK0D,KAAM1D,KAAK+H,cAOtB,IAAM4vB,KAAUjvB,EACf23B,GAAa1I,EAAQjvB,EAAGivB,GAAU2I,EAAapmB,GAKjD,OAAOsmB,EAAE1yB,KAAM,MAGhB7K,GAAOG,GAAGmC,OAAQ,CACjBo7B,UAAW,WACV,OAAO19B,GAAOs9B,MAAOvgC,KAAK4gC,mBAE3BA,eAAgB,WACf,OAAO5gC,KAAKyE,IAAK,WAGhB,IAAI8L,EAAWtN,GAAOse,KAAMvhB,KAAM,YAClC,OAAOuQ,EAAWtN,GAAOgE,UAAWsJ,GAAavQ,OAC9C6P,OAAQ,WACX,IAAIlO,EAAO3B,KAAK2B,KAGhB,OAAO3B,KAAK0D,OAAST,GAAQjD,MAAO2Y,GAAI,cACvCynB,GAAa34B,KAAMzH,KAAKwD,YAAe28B,GAAgB14B,KAAM9F,KAC3D3B,KAAKmU,UAAY0Q,GAAepd,KAAM9F,MACtC8C,IAAK,SAAU2D,EAAI3E,GACtB,IAAIrB,EAAMa,GAAQjD,MAAOoC,MAEzB,OAAY,MAAPA,EACG,KAGH2D,MAAMC,QAAS5D,GACZa,GAAOwB,IAAKrC,EAAK,SAAUA,GACjC,MAAO,CAAEsB,KAAMD,EAAKC,KAAMqE,MAAO3F,EAAIiE,QAAS65B,GAAO,WAIhD,CAAEx8B,KAAMD,EAAKC,KAAMqE,MAAO3F,EAAIiE,QAAS65B,GAAO,WAClDl8B,SAKN,IACC68B,GAAM,OACNC,GAAQ,OACRC,GAAa,gBACbC,GAAW,6BAIXC,GAAa,iBACbC,GAAY,QAWZhH,GAAa,GAObiH,GAAa,GAGbC,GAAW,KAAK1gC,OAAQ,KAGxB2gC,GAAezhC,EAAS0C,cAAe,KAKxC,SAASg/B,GAA6BC,GAGrC,OAAO,SAAUC,EAAoB5kB,GAED,iBAAvB4kB,IACX5kB,EAAO4kB,EACPA,EAAqB,KAGtB,IAAIC,EACHt/B,EAAI,EACJu/B,EAAYF,EAAmB79B,cAAcsJ,MAAO2N,IAAmB,GAExE,GAAKvZ,EAAYub,GAGhB,MAAU6kB,EAAWC,EAAWv/B,KAGR,MAAlBs/B,EAAU,IACdA,EAAWA,EAASnhC,MAAO,IAAO,KAChCihC,EAAWE,GAAaF,EAAWE,IAAc,IAAKjf,QAAS5F,KAI/D2kB,EAAWE,GAAaF,EAAWE,IAAc,IAAK7gC,KAAMgc,IAQnE,SAAS+kB,GAA+BJ,EAAW/7B,EAASi1B,EAAiBmH,GAE5E,IAAIC,EAAY,GACfC,EAAqBP,IAAcJ,GAEpC,SAASY,EAASN,GACjB,IAAIrtB,EAcJ,OAbAytB,EAAWJ,IAAa,EACxBx+B,GAAOsB,KAAMg9B,EAAWE,IAAc,GAAI,SAAU9lB,EAAGqmB,GACtD,IAAIC,EAAsBD,EAAoBx8B,EAASi1B,EAAiBmH,GACxE,MAAoC,iBAAxBK,GACVH,GAAqBD,EAAWI,GAKtBH,IACD1tB,EAAW6tB,QADf,GAHNz8B,EAAQk8B,UAAUlf,QAASyf,GAC3BF,EAASE,IACF,KAKF7tB,EAGR,OAAO2tB,EAASv8B,EAAQk8B,UAAW,MAAUG,EAAW,MAASE,EAAS,KAM3E,SAASG,GAAYt8B,EAAQhE,GAC5B,IAAIyM,EAAKxI,EACRs8B,EAAcl/B,GAAOm/B,aAAaD,aAAe,GAElD,IAAM9zB,KAAOzM,OACQqE,IAAfrE,EAAKyM,MACP8zB,EAAa9zB,GAAQzI,EAAWC,IAAUA,EAAO,KAAUwI,GAAQzM,EAAKyM,IAO5E,OAJKxI,GACJ5C,GAAOsC,QAAQ,EAAMK,EAAQC,GAGvBD,EA/ERy7B,GAAartB,KAAOP,GAASO,KAgP7B/Q,GAAOsC,OAAQ,CAGd88B,OAAQ,EAGRC,aAAc,GACdC,KAAM,GAENH,aAAc,CACbI,IAAK/uB,GAASO,KACdrS,KAAM,MACN8gC,QAxRgB,4DAwRQh7B,KAAMgM,GAASivB,UACvCljC,QAAQ,EACRmjC,aAAa,EACbC,OAAO,EACPC,YAAa,mDAcbC,QAAS,CACR9H,IAAKoG,GACL7+B,KAAM,aACNqsB,KAAM,YACNzc,IAAK,4BACL4wB,KAAM,qCAGPtpB,SAAU,CACTtH,IAAK,UACLyc,KAAM,SACNmU,KAAM,YAGPC,eAAgB,CACf7wB,IAAK,cACL5P,KAAM,eACNwgC,KAAM,gBAKPE,WAAY,CAGXC,SAAUj3B,OAGVk3B,aAAa,EAGbC,YAAathB,KAAKC,MAGlBshB,WAAYpgC,GAAOm8B,UAOpB+C,YAAa,CACZK,KAAK,EACLr/B,SAAS,IAOXmgC,UAAW,SAAU19B,EAAQ29B,GAC5B,OAAOA,EAGNrB,GAAYA,GAAYt8B,EAAQ3C,GAAOm/B,cAAgBmB,GAGvDrB,GAAYj/B,GAAOm/B,aAAcx8B,IAGnC49B,cAAelC,GAA6BpH,IAC5CuJ,cAAenC,GAA6BH,IAG5CuC,KAAM,SAAUlB,EAAKh9B,GAGA,iBAARg9B,IACXh9B,EAAUg9B,EACVA,OAAMv8B,GAIPT,EAAUA,GAAW,GAErB,IAAIm+B,EAGHC,EAGAC,EACAC,EAGAC,EAGAC,EAGArkB,EAGAskB,EAGA9hC,EAGA+hC,EAGA1D,EAAIv9B,GAAOqgC,UAAW,GAAI99B,GAG1B2+B,EAAkB3D,EAAEr9B,SAAWq9B,EAG/B4D,EAAqB5D,EAAEr9B,UACpBghC,EAAgB5iC,UAAY4iC,EAAgBtgC,QAC9CZ,GAAQkhC,GACRlhC,GAAOskB,MAGRvK,EAAW/Z,GAAO0Z,WAClB0nB,EAAmBphC,GAAOwY,UAAW,eAGrC6oB,EAAa9D,EAAE8D,YAAc,GAG7BC,EAAiB,GACjBC,EAAsB,GAGtBC,EAAW,WAGX7C,EAAQ,CACP7hB,WAAY,EAGZ2kB,kBAAmB,SAAUr2B,GAC5B,IAAIpB,EACJ,GAAK0S,EAAY,CAChB,IAAMmkB,EAAkB,CACvBA,EAAkB,GAClB,MAAU72B,EAAQ+zB,GAAS3zB,KAAMw2B,GAChCC,EAAiB72B,EAAO,GAAItJ,cAAgB,MACzCmgC,EAAiB72B,EAAO,GAAItJ,cAAgB,MAAS,IACrDjD,OAAQuM,EAAO,IAGpBA,EAAQ62B,EAAiBz1B,EAAI1K,cAAgB,KAE9C,OAAgB,MAATsJ,EAAgB,KAAOA,EAAMa,KAAM,OAI3C62B,sBAAuB,WACtB,OAAOhlB,EAAYkkB,EAAwB,MAI5Ce,iBAAkB,SAAUlhC,EAAMqE,GAMjC,OALkB,MAAb4X,IACJjc,EAAO8gC,EAAqB9gC,EAAKC,eAChC6gC,EAAqB9gC,EAAKC,gBAAmBD,EAC9C6gC,EAAgB7gC,GAASqE,GAEnB/H,MAIR6kC,iBAAkB,SAAUljC,GAI3B,OAHkB,MAAbge,IACJ6gB,EAAEsE,SAAWnjC,GAEP3B,MAIRskC,WAAY,SAAU7/B,GACrB,IAAIzC,EACJ,GAAKyC,EACJ,GAAKkb,EAGJiiB,EAAM7kB,OAAQtY,EAAKm9B,EAAMmD,cAIzB,IAAM/iC,KAAQyC,EACb6/B,EAAYtiC,GAAS,CAAEsiC,EAAYtiC,GAAQyC,EAAKzC,IAInD,OAAOhC,MAIRglC,MAAO,SAAUC,GAChB,IAAIC,EAAYD,GAAcR,EAK9B,OAJKd,GACJA,EAAUqB,MAAOE,GAElBp7B,EAAM,EAAGo7B,GACFllC,OAoBV,GAfAgd,EAAS1B,QAASsmB,GAKlBpB,EAAEgC,MAAUA,GAAOhC,EAAEgC,KAAO/uB,GAASO,MAAS,IAC5C3N,QAAS66B,GAAWztB,GAASivB,SAAW,MAG1ClC,EAAE7+B,KAAO6D,EAAQ6V,QAAU7V,EAAQ7D,MAAQ6+B,EAAEnlB,QAAUmlB,EAAE7+B,KAGzD6+B,EAAEkB,WAAclB,EAAEiB,UAAY,KAAM99B,cAAcsJ,MAAO2N,IAAmB,CAAE,IAGxD,MAAjB4lB,EAAE2E,YAAsB,CAC5BnB,EAAYpkC,EAAS0C,cAAe,KAKpC,IACC0hC,EAAUhwB,KAAOwsB,EAAEgC,IAInBwB,EAAUhwB,KAAOgwB,EAAUhwB,KAC3BwsB,EAAE2E,YAAc9D,GAAaqB,SAAW,KAAOrB,GAAa+D,MAC3DpB,EAAUtB,SAAW,KAAOsB,EAAUoB,KACtC,MAAQz4B,GAIT6zB,EAAE2E,aAAc,GAalB,GARK3E,EAAElf,MAAQkf,EAAEmC,aAAiC,iBAAXnC,EAAElf,OACxCkf,EAAElf,KAAOre,GAAOs9B,MAAOC,EAAElf,KAAMkf,EAAEF,cAIlCqB,GAA+BzH,GAAYsG,EAAGh7B,EAASo8B,GAGlDjiB,EACJ,OAAOiiB,EA8ER,IAAMz/B,KAzEN8hC,EAAchhC,GAAOskB,OAASiZ,EAAEhhC,SAGQ,GAApByD,GAAOo/B,UAC1Bp/B,GAAOskB,MAAMU,QAAS,aAIvBuY,EAAE7+B,KAAO6+B,EAAE7+B,KAAKif,cAGhB4f,EAAE6E,YAAcpE,GAAWx5B,KAAM+4B,EAAE7+B,MAKnCiiC,EAAWpD,EAAEgC,IAAIn8B,QAASy6B,GAAO,IAG3BN,EAAE6E,WAwBI7E,EAAElf,MAAQkf,EAAEmC,aACoD,KAAzEnC,EAAEqC,aAAe,IAAKhiC,QAAS,uCACjC2/B,EAAElf,KAAOkf,EAAElf,KAAKjb,QAASw6B,GAAK,OAvB9BqD,EAAW1D,EAAEgC,IAAIliC,MAAOsjC,EAASrgC,QAG5Bi9B,EAAElf,OAAUkf,EAAEmC,aAAiC,iBAAXnC,EAAElf,QAC1CsiB,IAAczE,GAAO13B,KAAMm8B,GAAa,IAAM,KAAQpD,EAAElf,YAGjDkf,EAAElf,OAIO,IAAZkf,EAAEpyB,QACNw1B,EAAWA,EAASv9B,QAAS06B,GAAY,MACzCmD,GAAa/E,GAAO13B,KAAMm8B,GAAa,IAAM,KAAQ,KAAS/hC,GAAMmG,OACnEk8B,GAIF1D,EAAEgC,IAAMoB,EAAWM,GASf1D,EAAE8E,aACDriC,GAAOq/B,aAAcsB,IACzBhC,EAAMgD,iBAAkB,oBAAqB3hC,GAAOq/B,aAAcsB,IAE9D3gC,GAAOs/B,KAAMqB,IACjBhC,EAAMgD,iBAAkB,gBAAiB3hC,GAAOs/B,KAAMqB,MAKnDpD,EAAElf,MAAQkf,EAAE6E,aAAgC,IAAlB7E,EAAEqC,aAAyBr9B,EAAQq9B,cACjEjB,EAAMgD,iBAAkB,eAAgBpE,EAAEqC,aAI3CjB,EAAMgD,iBACL,SACApE,EAAEkB,UAAW,IAAOlB,EAAEsC,QAAStC,EAAEkB,UAAW,IAC3ClB,EAAEsC,QAAStC,EAAEkB,UAAW,KACA,MAArBlB,EAAEkB,UAAW,GAAc,KAAON,GAAW,WAAa,IAC7DZ,EAAEsC,QAAS,MAIFtC,EAAE+E,QACZ3D,EAAMgD,iBAAkBziC,EAAGq+B,EAAE+E,QAASpjC,IAIvC,GAAKq+B,EAAEgF,cAC+C,IAAnDhF,EAAEgF,WAAW/kC,KAAM0jC,EAAiBvC,EAAOpB,IAAiB7gB,GAG9D,OAAOiiB,EAAMoD,QAed,GAXAP,EAAW,QAGXJ,EAAiBnqB,IAAKsmB,EAAE3F,UACxB+G,EAAM93B,KAAM02B,EAAEiF,SACd7D,EAAMrmB,KAAMilB,EAAEj6B,OAGdo9B,EAAYhC,GAA+BR,GAAYX,EAAGh7B,EAASo8B,GAK5D,CASN,GARAA,EAAM7hB,WAAa,EAGdkkB,GACJG,EAAmBnc,QAAS,WAAY,CAAE2Z,EAAOpB,IAI7C7gB,EACJ,OAAOiiB,EAIHpB,EAAEoC,OAAqB,EAAZpC,EAAEvD,UACjB8G,EAAehkC,GAAO2e,WAAY,WACjCkjB,EAAMoD,MAAO,YACXxE,EAAEvD,UAGN,IACCtd,GAAY,EACZgkB,EAAU+B,KAAMnB,EAAgBz6B,GAC/B,MAAQ6C,GAGT,GAAKgT,EACJ,MAAMhT,EAIP7C,GAAO,EAAG6C,SAhCX7C,GAAO,EAAG,gBAqCX,SAASA,EAAMi7B,EAAQY,EAAkBC,EAAWL,GACnD,IAAIM,EAAWJ,EAASl/B,EAAOu/B,EAAUC,EACxCd,EAAaU,EAGThmB,IAILA,GAAY,EAGPokB,GACJhkC,GAAOm9B,aAAc6G,GAKtBJ,OAAY19B,EAGZ49B,EAAwB0B,GAAW,GAGnC3D,EAAM7hB,WAAsB,EAATglB,EAAa,EAAI,EAGpCc,EAAsB,KAAVd,GAAiBA,EAAS,KAAkB,MAAXA,EAGxCa,IACJE,EA7lBJ,SAA8BtF,EAAGoB,EAAOgE,GAEvC,IAAII,EAAIrkC,EAAMskC,EAAeC,EAC5BzsB,EAAW+mB,EAAE/mB,SACbioB,EAAYlB,EAAEkB,UAGf,MAA2B,MAAnBA,EAAW,GAClBA,EAAUnzB,aACEtI,IAAP+/B,IACJA,EAAKxF,EAAEsE,UAAYlD,EAAM8C,kBAAmB,iBAK9C,GAAKsB,EACJ,IAAMrkC,KAAQ8X,EACb,GAAKA,EAAU9X,IAAU8X,EAAU9X,GAAO8F,KAAMu+B,GAAO,CACtDtE,EAAUlf,QAAS7gB,GACnB,MAMH,GAAK+/B,EAAW,KAAOkE,EACtBK,EAAgBvE,EAAW,OACrB,CAGN,IAAM//B,KAAQikC,EAAY,CACzB,IAAMlE,EAAW,IAAOlB,EAAEyC,WAAYthC,EAAO,IAAM+/B,EAAW,IAAQ,CACrEuE,EAAgBtkC,EAChB,MAEKukC,IACLA,EAAgBvkC,GAKlBskC,EAAgBA,GAAiBC,EAMlC,GAAKD,EAIJ,OAHKA,IAAkBvE,EAAW,IACjCA,EAAUlf,QAASyjB,GAEbL,EAAWK,GA0iBLE,CAAqB3F,EAAGoB,EAAOgE,KAIrCC,IACsC,EAA3C5iC,GAAOkE,QAAS,SAAUq5B,EAAEkB,YAC5Bz+B,GAAOkE,QAAS,OAAQq5B,EAAEkB,WAAc,IACxClB,EAAEyC,WAAY,eAAkB,cAIjC6C,EA9iBH,SAAsBtF,EAAGsF,EAAUlE,EAAOiE,GACzC,IAAIO,EAAOC,EAASC,EAAM1jB,EAAKlJ,EAC9BupB,EAAa,GAGbvB,EAAYlB,EAAEkB,UAAUphC,QAGzB,GAAKohC,EAAW,GACf,IAAM4E,KAAQ9F,EAAEyC,WACfA,EAAYqD,EAAK3iC,eAAkB68B,EAAEyC,WAAYqD,GAInDD,EAAU3E,EAAUnzB,QAGpB,MAAQ83B,EAcP,GAZK7F,EAAEwC,eAAgBqD,KACtBzE,EAAOpB,EAAEwC,eAAgBqD,IAAcP,IAIlCpsB,GAAQmsB,GAAarF,EAAE+F,aAC5BT,EAAWtF,EAAE+F,WAAYT,EAAUtF,EAAEiB,WAGtC/nB,EAAO2sB,EACPA,EAAU3E,EAAUnzB,QAKnB,GAAiB,MAAZ83B,EAEJA,EAAU3sB,OAGJ,GAAc,MAATA,GAAgBA,IAAS2sB,EAAU,CAM9C,KAHAC,EAAOrD,EAAYvpB,EAAO,IAAM2sB,IAAapD,EAAY,KAAOoD,IAI/D,IAAMD,KAASnD,EAId,IADArgB,EAAMwjB,EAAMj+B,MAAO,MACT,KAAQk+B,IAGjBC,EAAOrD,EAAYvpB,EAAO,IAAMkJ,EAAK,KACpCqgB,EAAY,KAAOrgB,EAAK,KACb,EAGG,IAAT0jB,EACJA,EAAOrD,EAAYmD,IAGgB,IAAxBnD,EAAYmD,KACvBC,EAAUzjB,EAAK,GACf8e,EAAUlf,QAASI,EAAK,KAEzB,MAOJ,IAAc,IAAT0jB,EAGJ,GAAKA,GAAQ9F,EAAEgG,UACdV,EAAWQ,EAAMR,QAEjB,IACCA,EAAWQ,EAAMR,GAChB,MAAQn5B,GACT,MAAO,CACNmQ,MAAO,cACPvW,MAAO+/B,EAAO35B,EAAI,sBAAwB+M,EAAO,OAAS2sB,IASjE,MAAO,CAAEvpB,MAAO,UAAWwE,KAAMwkB,GAidpBW,CAAajG,EAAGsF,EAAUlE,EAAOiE,GAGvCA,GAGCrF,EAAE8E,cACNS,EAAWnE,EAAM8C,kBAAmB,oBAEnCzhC,GAAOq/B,aAAcsB,GAAamC,IAEnCA,EAAWnE,EAAM8C,kBAAmB,WAEnCzhC,GAAOs/B,KAAMqB,GAAamC,IAKZ,MAAXhB,GAA6B,SAAXvE,EAAE7+B,KACxBsjC,EAAa,YAGS,MAAXF,EACXE,EAAa,eAIbA,EAAaa,EAAShpB,MACtB2oB,EAAUK,EAASxkB,KAEnBukB,IADAt/B,EAAQu/B,EAASv/B,UAMlBA,EAAQ0+B,GACHF,GAAWE,IACfA,EAAa,QACRF,EAAS,IACbA,EAAS,KAMZnD,EAAMmD,OAASA,EACfnD,EAAMqD,YAAeU,GAAoBV,GAAe,GAGnDY,EACJ7oB,EAASoB,YAAa+lB,EAAiB,CAAEsB,EAASR,EAAYrD,IAE9D5kB,EAASuB,WAAY4lB,EAAiB,CAAEvC,EAAOqD,EAAY1+B,IAI5Dq7B,EAAM0C,WAAYA,GAClBA,OAAar+B,EAERg+B,GACJG,EAAmBnc,QAAS4d,EAAY,cAAgB,YACvD,CAAEjE,EAAOpB,EAAGqF,EAAYJ,EAAUl/B,IAIpC89B,EAAiB3nB,SAAUynB,EAAiB,CAAEvC,EAAOqD,IAEhDhB,IACJG,EAAmBnc,QAAS,eAAgB,CAAE2Z,EAAOpB,MAG3Cv9B,GAAOo/B,QAChBp/B,GAAOskB,MAAMU,QAAS,cAKzB,OAAO2Z,GAGR8E,QAAS,SAAUlE,EAAKlhB,EAAM9c,GAC7B,OAAOvB,GAAOe,IAAKw+B,EAAKlhB,EAAM9c,EAAU,SAGzCmiC,UAAW,SAAUnE,EAAKh+B,GACzB,OAAOvB,GAAOe,IAAKw+B,OAAKv8B,EAAWzB,EAAU,aAI/CvB,GAAOsB,KAAM,CAAE,MAAO,QAAU,SAAU6D,EAAIiT,GAC7CpY,GAAQoY,GAAW,SAAUmnB,EAAKlhB,EAAM9c,EAAU7C,GAUjD,OAPKN,EAAYigB,KAChB3f,EAAOA,GAAQ6C,EACfA,EAAW8c,EACXA,OAAOrb,GAIDhD,GAAOygC,KAAMzgC,GAAOsC,OAAQ,CAClCi9B,IAAKA,EACL7gC,KAAM0Z,EACNomB,SAAU9/B,EACV2f,KAAMA,EACNmkB,QAASjhC,GACPvB,GAAO6C,cAAe08B,IAASA,OAIpCv/B,GAAOugC,cAAe,SAAUhD,GAC/B,IAAIr+B,EACJ,IAAMA,KAAKq+B,EAAE+E,QACa,iBAApBpjC,EAAEwB,gBACN68B,EAAEqC,YAAcrC,EAAE+E,QAASpjC,IAAO,MAMrCc,GAAO4rB,SAAW,SAAU2T,EAAKh9B,EAAStD,GACzC,OAAOe,GAAOygC,KAAM,CACnBlB,IAAKA,EAGL7gC,KAAM,MACN8/B,SAAU,SACVrzB,OAAO,EACPw0B,OAAO,EACPpjC,QAAQ,EAKRyjC,WAAY,CACX2D,cAAe,cAEhBL,WAAY,SAAUT,GACrB7iC,GAAO4D,WAAYi/B,EAAUtgC,EAAStD,OAMzCe,GAAOG,GAAGmC,OAAQ,CACjBshC,QAAS,SAAUjY,GAClB,IAAIlI,EAyBJ,OAvBK1mB,KAAM,KACLqB,EAAYutB,KAChBA,EAAOA,EAAKnuB,KAAMT,KAAM,KAIzB0mB,EAAOzjB,GAAQ2rB,EAAM5uB,KAAM,GAAIwH,eAAgB5C,GAAI,GAAIe,OAAO,GAEzD3F,KAAM,GAAI4C,YACd8jB,EAAK8I,aAAcxvB,KAAM,IAG1B0mB,EAAKjiB,IAAK,WACT,IAAIhB,EAAOzD,KAEX,MAAQyD,EAAKqjC,kBACZrjC,EAAOA,EAAKqjC,kBAGb,OAAOrjC,IACJ6rB,OAAQtvB,OAGNA,MAGR+mC,UAAW,SAAUnY,GACpB,OAAKvtB,EAAYutB,GACT5uB,KAAKuE,KAAM,SAAUpC,GAC3Bc,GAAQjD,MAAO+mC,UAAWnY,EAAKnuB,KAAMT,KAAMmC,MAItCnC,KAAKuE,KAAM,WACjB,IAAI2U,EAAOjW,GAAQjD,MAClByZ,EAAWP,EAAKO,WAEZA,EAASlW,OACbkW,EAASotB,QAASjY,GAGlB1V,EAAKoW,OAAQV,MAKhBlI,KAAM,SAAUkI,GACf,IAAIoY,EAAiB3lC,EAAYutB,GAEjC,OAAO5uB,KAAKuE,KAAM,SAAUpC,GAC3Bc,GAAQjD,MAAO6mC,QAASG,EAAiBpY,EAAKnuB,KAAMT,KAAMmC,GAAMysB,MAIlEqY,OAAQ,SAAU/jC,GAIjB,OAHAlD,KAAKuS,OAAQrP,GAAW+P,IAAK,QAAS1O,KAAM,WAC3CtB,GAAQjD,MAAO2vB,YAAa3vB,KAAK0M,cAE3B1M,QAKTiD,GAAOqN,KAAK9F,QAAQ6uB,OAAS,SAAU51B,GACtC,OAAQR,GAAOqN,KAAK9F,QAAQ08B,QAASzjC,IAEtCR,GAAOqN,KAAK9F,QAAQ08B,QAAU,SAAUzjC,GACvC,SAAWA,EAAK0uB,aAAe1uB,EAAK6vB,cAAgB7vB,EAAK4xB,iBAAiB9xB,SAM3EN,GAAOm/B,aAAa+E,IAAM,WACzB,IACC,OAAO,IAAIpnC,GAAOqnC,eACjB,MAAQz6B,MAGX,IAAI06B,GAAmB,CAGrBC,EAAG,IAIHC,KAAM,KAEPC,GAAevkC,GAAOm/B,aAAa+E,MAEpC/lC,GAAQqmC,OAASD,IAAkB,oBAAqBA,GACxDpmC,GAAQsiC,KAAO8D,KAAiBA,GAEhCvkC,GAAOwgC,cAAe,SAAUj+B,GAC/B,IAAIhB,EAAUkjC,EAGd,GAAKtmC,GAAQqmC,MAAQD,KAAiBhiC,EAAQ2/B,YAC7C,MAAO,CACNO,KAAM,SAAUH,EAAS1K,GACxB,IAAI14B,EACHglC,EAAM3hC,EAAQ2hC,MAWf,GATAA,EAAIQ,KACHniC,EAAQ7D,KACR6D,EAAQg9B,IACRh9B,EAAQo9B,MACRp9B,EAAQoiC,SACRpiC,EAAQyP,UAIJzP,EAAQqiC,UACZ,IAAM1lC,KAAKqD,EAAQqiC,UAClBV,EAAKhlC,GAAMqD,EAAQqiC,UAAW1lC,GAmBhC,IAAMA,KAdDqD,EAAQs/B,UAAYqC,EAAItC,kBAC5BsC,EAAItC,iBAAkBr/B,EAAQs/B,UAQzBt/B,EAAQ2/B,aAAgBI,EAAS,sBACtCA,EAAS,oBAAuB,kBAItBA,EACV4B,EAAIvC,iBAAkBziC,EAAGojC,EAASpjC,IAInCqC,EAAW,SAAU7C,GACpB,OAAO,WACD6C,IACJA,EAAWkjC,EAAgBP,EAAIW,OAC9BX,EAAIY,QAAUZ,EAAIa,QAAUb,EAAIc,UAC/Bd,EAAIe,mBAAqB,KAEb,UAATvmC,EACJwlC,EAAInC,QACgB,UAATrjC,EAKgB,iBAAfwlC,EAAIpC,OACflK,EAAU,EAAG,SAEbA,EAGCsM,EAAIpC,OACJoC,EAAIlC,YAINpK,EACCwM,GAAkBF,EAAIpC,SAAYoC,EAAIpC,OACtCoC,EAAIlC,WAK+B,UAAjCkC,EAAIgB,cAAgB,SACM,iBAArBhB,EAAIiB,aACV,CAAEC,OAAQlB,EAAIrB,UACd,CAAEvjC,KAAM4kC,EAAIiB,cACbjB,EAAIxC,4BAQTwC,EAAIW,OAAStjC,IACbkjC,EAAgBP,EAAIY,QAAUZ,EAAIc,UAAYzjC,EAAU,cAKnCyB,IAAhBkhC,EAAIa,QACRb,EAAIa,QAAUN,EAEdP,EAAIe,mBAAqB,WAGA,IAAnBf,EAAIpnB,YAMRhgB,GAAO2e,WAAY,WACbla,GACJkjC,OAQLljC,EAAWA,EAAU,SAErB,IAGC2iC,EAAIzB,KAAMlgC,EAAQ6/B,YAAc7/B,EAAQ8b,MAAQ,MAC/C,MAAQ3U,GAGT,GAAKnI,EACJ,MAAMmI,IAKTq4B,MAAO,WACDxgC,GACJA,QAWLvB,GAAOugC,cAAe,SAAUhD,GAC1BA,EAAE2E,cACN3E,EAAE/mB,SAASpX,QAAS,KAKtBY,GAAOqgC,UAAW,CACjBR,QAAS,CACRzgC,OAAQ,6FAGToX,SAAU,CACTpX,OAAQ,2BAET4gC,WAAY,CACX2D,cAAe,SAAUrkC,GAExB,OADAU,GAAO4D,WAAYtE,GACZA,MAMVU,GAAOugC,cAAe,SAAU,SAAUhD,QACxBv6B,IAAZu6B,EAAEpyB,QACNoyB,EAAEpyB,OAAQ,GAENoyB,EAAE2E,cACN3E,EAAE7+B,KAAO,SAKXsB,GAAOwgC,cAAe,SAAU,SAAUjD,GAIxC,IAAIn+B,EAAQmC,EADb,GAAKg8B,EAAE2E,aAAe3E,EAAE8H,YAEvB,MAAO,CACN5C,KAAM,SAAU/pB,EAAGkf,GAClBx4B,EAASY,GAAQ,YACfwN,KAAM+vB,EAAE8H,aAAe,IACvB/mB,KAAM,CAAEgnB,QAAS/H,EAAEgI,cAAe5mC,IAAK4+B,EAAEgC,MACzCrb,GAAI,aAAc3iB,EAAW,SAAUikC,GACvCpmC,EAAOka,SACP/X,EAAW,KACNikC,GACJ5N,EAAuB,UAAb4N,EAAI9mC,KAAmB,IAAM,IAAK8mC,EAAI9mC,QAKnD/B,EAAS8C,KAAKC,YAAaN,EAAQ,KAEpC2iC,MAAO,WACDxgC,GACJA,QAUL,IAqGKigB,GArGDikB,GAAe,GAClBC,GAAS,oBAGV1lC,GAAOqgC,UAAW,CACjBsF,MAAO,WACPC,cAAe,WACd,IAAIrkC,EAAWkkC,GAAargC,OAAWpF,GAAOiD,QAAU,IAAQrE,GAAMmG,OAEtE,OADAhI,KAAMwE,IAAa,EACZA,KAKTvB,GAAOugC,cAAe,aAAc,SAAUhD,EAAGsI,EAAkBlH,GAElE,IAAImH,EAAcC,EAAaC,EAC9BC,GAAuB,IAAZ1I,EAAEoI,QAAqBD,GAAOlhC,KAAM+4B,EAAEgC,KAChD,MACkB,iBAAXhC,EAAElf,MAE6C,KADnDkf,EAAEqC,aAAe,IACjBhiC,QAAS,sCACX8nC,GAAOlhC,KAAM+4B,EAAElf,OAAU,QAI5B,GAAK4nB,GAAiC,UAArB1I,EAAEkB,UAAW,GA8D7B,OA3DAqH,EAAevI,EAAEqI,cAAgBxnC,EAAYm/B,EAAEqI,eAC9CrI,EAAEqI,gBACFrI,EAAEqI,cAGEK,EACJ1I,EAAG0I,GAAa1I,EAAG0I,GAAW7iC,QAASsiC,GAAQ,KAAOI,IAC/B,IAAZvI,EAAEoI,QACbpI,EAAEgC,MAASrD,GAAO13B,KAAM+4B,EAAEgC,KAAQ,IAAM,KAAQhC,EAAEoI,MAAQ,IAAMG,GAIjEvI,EAAEyC,WAAY,eAAkB,WAI/B,OAHMgG,GACLhmC,GAAOsD,MAAOwiC,EAAe,mBAEvBE,EAAmB,IAI3BzI,EAAEkB,UAAW,GAAM,OAGnBsH,EAAcjpC,GAAQgpC,GACtBhpC,GAAQgpC,GAAiB,WACxBE,EAAoBvkC,WAIrBk9B,EAAM7kB,OAAQ,gBAGQ9W,IAAhB+iC,EACJ/lC,GAAQlD,IAASm+B,WAAY6K,GAI7BhpC,GAAQgpC,GAAiBC,EAIrBxI,EAAGuI,KAGPvI,EAAEqI,cAAgBC,EAAiBD,cAGnCH,GAAa9nC,KAAMmoC,IAIfE,GAAqB5nC,EAAY2nC,IACrCA,EAAaC,EAAmB,IAGjCA,EAAoBD,OAAc/iC,IAI5B,WAYT7E,GAAQ+nC,qBACH1kB,GAAO7kB,EAASwpC,eAAeD,mBAAoB,IAAK1kB,MACvDtU,UAAY,6BACiB,IAA3BsU,GAAK/X,WAAWnJ,QAQxBN,GAAOmW,UAAY,SAAUkI,EAAMne,EAASkmC,GAC3C,MAAqB,iBAAT/nB,EACJ,IAEgB,kBAAZne,IACXkmC,EAAclmC,EACdA,GAAU,GAKLA,IAIA/B,GAAQ+nC,qBAMZxzB,GALAxS,EAAUvD,EAASwpC,eAAeD,mBAAoB,KAKvC7mC,cAAe,SACzB0R,KAAOpU,EAAS6T,SAASO,KAC9B7Q,EAAQT,KAAKC,YAAagT,IAE1BxS,EAAUvD,GAKZ2mB,GAAW8iB,GAAe,IAD1BC,EAASvwB,EAAW1L,KAAMiU,IAKlB,CAAEne,EAAQb,cAAegnC,EAAQ,MAGzCA,EAAShjB,GAAe,CAAEhF,GAAQne,EAASojB,GAEtCA,GAAWA,EAAQhjB,QACvBN,GAAQsjB,GAAUhK,SAGZtZ,GAAOoB,MAAO,GAAIilC,EAAO58B,cAlChC,IAAIiJ,EAAM2zB,EAAQ/iB,GAyCnBtjB,GAAOG,GAAGonB,KAAO,SAAUgY,EAAK+G,EAAQ/kC,GACvC,IAAItB,EAAUvB,EAAMmkC,EACnB5sB,EAAOlZ,KACPwnB,EAAMgb,EAAI3hC,QAAS,KAsDpB,OApDY,EAAP2mB,IACJtkB,EAAW66B,GAAkByE,EAAIliC,MAAOknB,IACxCgb,EAAMA,EAAIliC,MAAO,EAAGknB,IAIhBnmB,EAAYkoC,IAGhB/kC,EAAW+kC,EACXA,OAAStjC,GAGEsjC,GAA4B,iBAAXA,IAC5B5nC,EAAO,QAIW,EAAduX,EAAK3V,QACTN,GAAOygC,KAAM,CACZlB,IAAKA,EAKL7gC,KAAMA,GAAQ,MACd8/B,SAAU,OACVngB,KAAMioB,IACHz/B,KAAM,SAAUs+B,GAGnBtC,EAAWphC,UAEXwU,EAAK0V,KAAM1rB,EAIVD,GAAQ,SAAUqsB,OAAQrsB,GAAOmW,UAAWgvB,IAAiBv7B,KAAM3J,GAGnEklC,KAKErrB,OAAQvY,GAAY,SAAUo9B,EAAOmD,GACxC7rB,EAAK3U,KAAM,WACVC,EAAS7D,MAAOX,KAAM8lC,GAAY,CAAElE,EAAMwG,aAAcrD,EAAQnD,QAK5D5hC,MAMRiD,GAAOqN,KAAK9F,QAAQg/B,SAAW,SAAU/lC,GACxC,OAAOR,GAAO8B,KAAM9B,GAAOo5B,OAAQ,SAAUj5B,GAC5C,OAAOK,IAASL,EAAGK,OAChBF,QAMLN,GAAOwmC,OAAS,CACfC,UAAW,SAAUjmC,EAAM+B,EAASrD,GACnC,IAAIwnC,EAAaC,EAASC,EAAWC,EAAQC,EAAWC,EACvD/X,EAAWhvB,GAAOwgB,IAAKhgB,EAAM,YAC7BwmC,EAAUhnC,GAAQQ,GAClBonB,EAAQ,GAGS,WAAboH,IACJxuB,EAAK8f,MAAM0O,SAAW,YAGvB8X,EAAYE,EAAQR,SACpBI,EAAY5mC,GAAOwgB,IAAKhgB,EAAM,OAC9BumC,EAAa/mC,GAAOwgB,IAAKhgB,EAAM,SACI,aAAbwuB,GAAwC,UAAbA,KACA,GAA9C4X,EAAYG,GAAanpC,QAAS,SAMpCipC,GADAH,EAAcM,EAAQhY,YACD3iB,IACrBs6B,EAAUD,EAAYpS,OAGtBuS,EAASxX,WAAYuX,IAAe,EACpCD,EAAUtX,WAAY0X,IAAgB,GAGlC3oC,EAAYmE,KAGhBA,EAAUA,EAAQ/E,KAAMgD,EAAMtB,EAAGc,GAAOsC,OAAQ,GAAIwkC,KAGjC,MAAfvkC,EAAQ8J,MACZub,EAAMvb,IAAQ9J,EAAQ8J,IAAMy6B,EAAUz6B,IAAQw6B,GAE1B,MAAhBtkC,EAAQ+xB,OACZ1M,EAAM0M,KAAS/xB,EAAQ+xB,KAAOwS,EAAUxS,KAASqS,GAG7C,UAAWpkC,EACfA,EAAQ0kC,MAAMzpC,KAAMgD,EAAMonB,GAG1Bof,EAAQxmB,IAAKoH,KAKhB5nB,GAAOG,GAAGmC,OAAQ,CAGjBkkC,OAAQ,SAAUjkC,GAGjB,GAAKd,UAAUnB,OACd,YAAmB0C,IAAZT,EACNxF,KACAA,KAAKuE,KAAM,SAAUpC,GACpBc,GAAOwmC,OAAOC,UAAW1pC,KAAMwF,EAASrD,KAI3C,IAAIgoC,EAAMC,EACT3mC,EAAOzD,KAAM,GAEd,OAAMyD,EAQAA,EAAK4xB,iBAAiB9xB,QAK5B4mC,EAAO1mC,EAAK4zB,wBACZ+S,EAAM3mC,EAAK+D,cAAc6H,YAClB,CACNC,IAAK66B,EAAK76B,IAAM86B,EAAIC,YACpB9S,KAAM4S,EAAK5S,KAAO6S,EAAIE,cARf,CAAEh7B,IAAK,EAAGioB,KAAM,QATxB,GAuBDtF,SAAU,WACT,GAAMjyB,KAAM,GAAZ,CAIA,IAAIuqC,EAAcd,EAAQvnC,EACzBuB,EAAOzD,KAAM,GACbwqC,EAAe,CAAEl7B,IAAK,EAAGioB,KAAM,GAGhC,GAAwC,UAAnCt0B,GAAOwgB,IAAKhgB,EAAM,YAGtBgmC,EAAShmC,EAAK4zB,4BAER,CACNoS,EAASzpC,KAAKypC,SAIdvnC,EAAMuB,EAAK+D,cACX+iC,EAAe9mC,EAAK8mC,cAAgBroC,EAAI6E,gBACxC,MAAQwjC,IACLA,IAAiBroC,EAAIuiB,MAAQ8lB,IAAiBroC,EAAI6E,kBACT,WAA3C9D,GAAOwgB,IAAK8mB,EAAc,YAE1BA,EAAeA,EAAa3nC,WAExB2nC,GAAgBA,IAAiB9mC,GAAkC,IAA1B8mC,EAAahpC,YAG1DipC,EAAevnC,GAAQsnC,GAAed,UACzBn6B,KAAOrM,GAAOwgB,IAAK8mB,EAAc,kBAAkB,GAChEC,EAAajT,MAAQt0B,GAAOwgB,IAAK8mB,EAAc,mBAAmB,IAKpE,MAAO,CACNj7B,IAAKm6B,EAAOn6B,IAAMk7B,EAAal7B,IAAMrM,GAAOwgB,IAAKhgB,EAAM,aAAa,GACpE8zB,KAAMkS,EAAOlS,KAAOiT,EAAajT,KAAOt0B,GAAOwgB,IAAKhgB,EAAM,cAAc,MAc1E8mC,aAAc,WACb,OAAOvqC,KAAKyE,IAAK,WAChB,IAAI8lC,EAAevqC,KAAKuqC,aAExB,MAAQA,GAA2D,WAA3CtnC,GAAOwgB,IAAK8mB,EAAc,YACjDA,EAAeA,EAAaA,aAG7B,OAAOA,GAAgBxjC,OAM1B9D,GAAOsB,KAAM,CAAEk0B,WAAY,cAAeD,UAAW,eAAiB,SAAUnd,EAAQkG,GACvF,IAAIjS,EAAM,gBAAkBiS,EAE5Bte,GAAOG,GAAIiY,GAAW,SAAUjZ,GAC/B,OAAO6d,EAAQjgB,KAAM,SAAUyD,EAAM4X,EAAQjZ,GAG5C,IAAIgoC,EAOJ,GANK3oC,EAAUgC,GACd2mC,EAAM3mC,EACuB,IAAlBA,EAAKlC,WAChB6oC,EAAM3mC,EAAK4L,kBAGCpJ,IAAR7D,EACJ,OAAOgoC,EAAMA,EAAK7oB,GAAS9d,EAAM4X,GAG7B+uB,EACJA,EAAIK,SACFn7B,EAAY86B,EAAIE,YAAVloC,EACPkN,EAAMlN,EAAMgoC,EAAIC,aAIjB5mC,EAAM4X,GAAWjZ,GAEhBiZ,EAAQjZ,EAAKsC,UAAUnB,WAU5BN,GAAOsB,KAAM,CAAE,MAAO,QAAU,SAAU6D,EAAImZ,GAC7Cte,GAAOuyB,SAAUjU,GAAS4P,GAAc/vB,GAAQuxB,cAC/C,SAAUlvB,EAAMmtB,GACf,GAAKA,EAIJ,OAHAA,EAAWD,GAAQltB,EAAM8d,GAGlB4O,GAAU1oB,KAAMmpB,GACtB3tB,GAAQQ,GAAOwuB,WAAY1Q,GAAS,KACpCqP,MAQL3tB,GAAOsB,KAAM,CAAEmmC,OAAQ,SAAUC,MAAO,SAAW,SAAUjnC,EAAM/B,GAClEsB,GAAOsB,KAAM,CACZkzB,QAAS,QAAU/zB,EACnBgX,QAAS/Y,EACTipC,GAAI,QAAUlnC,GACZ,SAAUmnC,EAAcC,GAG1B7nC,GAAOG,GAAI0nC,GAAa,SAAUtT,EAAQzvB,GACzC,IAAImY,EAAYxb,UAAUnB,SAAYsnC,GAAkC,kBAAXrT,GAC5D1C,EAAQ+V,KAA6B,IAAXrT,IAA6B,IAAVzvB,EAAiB,SAAW,UAE1E,OAAOkY,EAAQjgB,KAAM,SAAUyD,EAAM9B,EAAMoG,GAC1C,IAAI7F,EAEJ,OAAKT,EAAUgC,GAGyB,IAAhCqnC,EAASjqC,QAAS,SACxB4C,EAAM,QAAUC,GAChBD,EAAK7D,SAASmH,gBAAiB,SAAWrD,GAIrB,IAAlBD,EAAKlC,UACTW,EAAMuB,EAAKsD,gBAIJZ,KAAKouB,IACX9wB,EAAKghB,KAAM,SAAW/gB,GAAQxB,EAAK,SAAWwB,GAC9CD,EAAKghB,KAAM,SAAW/gB,GAAQxB,EAAK,SAAWwB,GAC9CxB,EAAK,SAAWwB,UAIDuC,IAAV8B,EAGN9E,GAAOwgB,IAAKhgB,EAAM9B,EAAMmzB,GAGxB7xB,GAAOsgB,MAAO9f,EAAM9B,EAAMoG,EAAO+sB,IAChCnzB,EAAMue,EAAYsX,OAASvxB,EAAWia,QAM5Cjd,GAAOsB,KAAM,CACZ,YACA,WACA,eACA,YACA,cACA,YACE,SAAU6D,EAAIzG,GAChBsB,GAAOG,GAAIzB,GAAS,SAAUyB,GAC7B,OAAOpD,KAAKmnB,GAAIxlB,EAAMyB,MAOxBH,GAAOG,GAAGmC,OAAQ,CAEjBq1B,KAAM,SAAUxT,EAAO9F,EAAMle,GAC5B,OAAOpD,KAAKmnB,GAAIC,EAAO,KAAM9F,EAAMle,IAEpC2nC,OAAQ,SAAU3jB,EAAOhkB,GACxB,OAAOpD,KAAKwnB,IAAKJ,EAAO,KAAMhkB,IAG/B4nC,SAAU,SAAU9nC,EAAUkkB,EAAO9F,EAAMle,GAC1C,OAAOpD,KAAKmnB,GAAIC,EAAOlkB,EAAUoe,EAAMle,IAExC6nC,WAAY,SAAU/nC,EAAUkkB,EAAOhkB,GAGtC,OAA4B,IAArBsB,UAAUnB,OAChBvD,KAAKwnB,IAAKtkB,EAAU,MACpBlD,KAAKwnB,IAAKJ,EAAOlkB,GAAY,KAAME,IAGrC8nC,MAAO,SAAUC,EAAQC,GACxB,OAAOprC,KACLmnB,GAAI,aAAcgkB,GAClBhkB,GAAI,aAAcikB,GAASD,MAI/BloC,GAAOsB,KACN,wLAE4D4D,MAAO,KACnE,SAAUC,EAAI1E,GAGbT,GAAOG,GAAIM,GAAS,SAAU4d,EAAMle,GACnC,OAA0B,EAAnBsB,UAAUnB,OAChBvD,KAAKmnB,GAAIzjB,EAAM,KAAM4d,EAAMle,GAC3BpD,KAAKioB,QAASvkB,MAYlB,IAAI2nC,GAAQ,sDAMZpoC,GAAOqoC,MAAQ,SAAUloC,EAAID,GAC5B,IAAIyf,EAAK/P,EAAMy4B,EAUf,GARwB,iBAAZnoC,IACXyf,EAAMxf,EAAID,GACVA,EAAUC,EACVA,EAAKwf,GAKAvhB,EAAY+B,GAalB,OARAyP,EAAOvS,GAAMG,KAAMiE,UAAW,IAC9B4mC,EAAQ,WACP,OAAOloC,EAAGzC,MAAOwC,GAAWnD,KAAM6S,EAAKnS,OAAQJ,GAAMG,KAAMiE,eAItDsD,KAAO5E,EAAG4E,KAAO5E,EAAG4E,MAAQ/E,GAAO+E,OAElCsjC,GAGRroC,GAAOsoC,UAAY,SAAUC,GACvBA,EACJvoC,GAAO4c,YAEP5c,GAAOoW,OAAO,IAGhBpW,GAAO+C,QAAUD,MAAMC,QACvB/C,GAAOwoC,UAAY3pB,KAAKC,MACxB9e,GAAOO,SAAWA,GAClBP,GAAO5B,WAAaA,EACpB4B,GAAOxB,SAAWA,EAClBwB,GAAO4d,UAAYA,EACnB5d,GAAOtB,KAAOmB,EAEdG,GAAOkoB,IAAMD,KAAKC,IAElBloB,GAAOyoC,UAAY,SAAUpqC,GAK5B,IAAIK,EAAOsB,GAAOtB,KAAML,GACxB,OAAkB,WAATK,GAA8B,WAATA,KAK5BgqC,MAAOrqC,EAAMgxB,WAAYhxB,KAG5B2B,GAAO2oC,KAAO,SAAUrpC,GACvB,OAAe,MAARA,EACN,IACEA,EAAO,IAAK8D,QAASglC,GAAO,OAkBT,mBAAXQ,QAAyBA,OAAOC,KAC3CD,OAAQ,SAAU,GAAI,WACrB,OAAO5oC,KAOT,IAGC8oC,GAAUhsC,GAAOkD,OAGjB+oC,GAAKjsC,GAAOksC,EAwBb,OAtBAhpC,GAAOipC,WAAa,SAAUrmC,GAS7B,OARK9F,GAAOksC,IAAMhpC,KACjBlD,GAAOksC,EAAID,IAGPnmC,GAAQ9F,GAAOkD,SAAWA,KAC9BlD,GAAOkD,OAAS8oC,IAGV9oC,IAMiB,oBAAbhD,IACXF,GAAOkD,OAASlD,GAAOksC,EAAIhpC,IAMrBA","file":"jquery-3.7.1.min.js"}vendor/components/jquery/composer.json000064400000001700147400355670014300 0ustar00{ "name": "components/jquery", "description": "jQuery JavaScript Library", "type": "component", "homepage": "http://jquery.com", "license": "MIT", "support": { "irc": "irc://irc.freenode.org/jquery", "issues": "https://github.com/jquery/jquery/issues", "forum": "http://forum.jquery.com", "wiki": "http://docs.jquery.com/", "source": "https://github.com/jquery/jquery" }, "authors": [ { "name": "JS Foundation and other contributors", "url": "https://github.com/jquery/jquery/blob/master/AUTHORS.txt" } ], "extra": { "component": { "scripts": [ "jquery.js" ], "files": [ "jquery.min.js", "jquery.min.map", "jquery.slim.js", "jquery.slim.min.js", "jquery.slim.min.map" ] } } } vendor/components/jquery/jquery.min.js000064400000252755147400355670014237 0ustar00/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0 elements // (i.e., `typeof document.createElement( "object" ) === "function"`). // We don't want to classify *any* DOM node as a function. // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 // Plus for old WebKit, typeof returns "function" for HTML collections // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) return typeof obj === "function" && typeof obj.nodeType !== "number" && typeof obj.item !== "function"; }; var isWindow = function isWindow( obj ) { return obj != null && obj === obj.window; }; var document = window.document; var preservedScriptAttributes = { type: true, src: true, nonce: true, noModule: true }; function DOMEval( code, node, doc ) { doc = doc || document; var i, val, script = doc.createElement( "script" ); script.text = code; if ( node ) { for ( i in preservedScriptAttributes ) { // Support: Firefox 64+, Edge 18+ // Some browsers don't support the "nonce" property on scripts. // On the other hand, just using `getAttribute` is not enough as // the `nonce` attribute is reset to an empty string whenever it // becomes browsing-context connected. // See https://github.com/whatwg/html/issues/2369 // See https://html.spec.whatwg.org/#nonce-attributes // The `node.getAttribute` check was added for the sake of // `jQuery.globalEval` so that it can fake a nonce-containing node // via an object. val = node[ i ] || node.getAttribute && node.getAttribute( i ); if ( val ) { script.setAttribute( i, val ); } } } doc.head.appendChild( script ).parentNode.removeChild( script ); } function toType( obj ) { if ( obj == null ) { return obj + ""; } // Support: Android <=2.3 only (functionish RegExp) return typeof obj === "object" || typeof obj === "function" ? class2type[ toString.call( obj ) ] || "object" : typeof obj; } /* global Symbol */ // Defining this global in .eslintrc.json would create a danger of using the global // unguarded in another place, it seems safer to define global only for this module var version = "3.7.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/animatedSelector,-effects/Tween", rhtmlSuffix = /HTML$/i, // Define a local copy of jQuery jQuery = function( selector, context ) { // The jQuery object is actually just the init constructor 'enhanced' // Need init if jQuery is called (just allow error to be thrown if not included) return new jQuery.fn.init( selector, context ); }; jQuery.fn = jQuery.prototype = { // The current version of jQuery being used jquery: version, constructor: jQuery, // The default length of a jQuery object is 0 length: 0, toArray: function() { return slice.call( this ); }, // Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get: function( num ) { // Return all the elements in a clean array if ( num == null ) { return slice.call( this ); } // Return just the one element from the set return num < 0 ? this[ num + this.length ] : this[ num ]; }, // Take an array of elements and push it onto the stack // (returning the new matched element set) pushStack: function( elems ) { // Build a new jQuery matched element set var ret = jQuery.merge( this.constructor(), elems ); // Add the old object onto the stack (as a reference) ret.prevObject = this; // Return the newly-formed element set return ret; }, // Execute a callback for every element in the matched set. each: function( callback ) { return jQuery.each( this, callback ); }, map: function( callback ) { return this.pushStack( jQuery.map( this, function( elem, i ) { return callback.call( elem, i, elem ); } ) ); }, slice: function() { return this.pushStack( slice.apply( this, arguments ) ); }, first: function() { return this.eq( 0 ); }, last: function() { return this.eq( -1 ); }, even: function() { return this.pushStack( jQuery.grep( this, function( _elem, i ) { return ( i + 1 ) % 2; } ) ); }, odd: function() { return this.pushStack( jQuery.grep( this, function( _elem, i ) { return i % 2; } ) ); }, eq: function( i ) { var len = this.length, j = +i + ( i < 0 ? len : 0 ); return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); }, end: function() { return this.prevObject || this.constructor(); }, // For internal use only. // Behaves like an Array's method, not like a jQuery method. push: push, sort: arr.sort, splice: arr.splice }; jQuery.extend = jQuery.fn.extend = function() { var options, name, src, copy, copyIsArray, clone, target = arguments[ 0 ] || {}, i = 1, length = arguments.length, deep = false; // Handle a deep copy situation if ( typeof target === "boolean" ) { deep = target; // Skip the boolean and the target target = arguments[ i ] || {}; i++; } // Handle case when target is a string or something (possible in deep copy) if ( typeof target !== "object" && !isFunction( target ) ) { target = {}; } // Extend jQuery itself if only one argument is passed if ( i === length ) { target = this; i--; } for ( ; i < length; i++ ) { // Only deal with non-null/undefined values if ( ( options = arguments[ i ] ) != null ) { // Extend the base object for ( name in options ) { copy = options[ name ]; // Prevent Object.prototype pollution // Prevent never-ending loop if ( name === "__proto__" || target === copy ) { continue; } // Recurse if we're merging plain objects or arrays if ( deep && copy && ( jQuery.isPlainObject( copy ) || ( copyIsArray = Array.isArray( copy ) ) ) ) { src = target[ name ]; // Ensure proper type for the source value if ( copyIsArray && !Array.isArray( src ) ) { clone = []; } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { clone = {}; } else { clone = src; } copyIsArray = false; // Never move original objects, clone them target[ name ] = jQuery.extend( deep, clone, copy ); // Don't bring in undefined values } else if ( copy !== undefined ) { target[ name ] = copy; } } } } // Return the modified object return target; }; jQuery.extend( { // Unique for each copy of jQuery on the page expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), // Assume jQuery is ready without the ready module isReady: true, error: function( msg ) { throw new Error( msg ); }, noop: function() {}, isPlainObject: function( obj ) { var proto, Ctor; // Detect obvious negatives // Use toString instead of jQuery.type to catch host objects if ( !obj || toString.call( obj ) !== "[object Object]" ) { return false; } proto = getProto( obj ); // Objects with no prototype (e.g., `Object.create( null )`) are plain if ( !proto ) { return true; } // Objects with prototype are plain iff they were constructed by a global Object function Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; }, isEmptyObject: function( obj ) { var name; for ( name in obj ) { return false; } return true; }, // Evaluates a script in a provided context; falls back to the global one // if not specified. globalEval: function( code, options, doc ) { DOMEval( code, { nonce: options && options.nonce }, doc ); }, each: function( obj, callback ) { var length, i = 0; if ( isArrayLike( obj ) ) { length = obj.length; for ( ; i < length; i++ ) { if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { break; } } } else { for ( i in obj ) { if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { break; } } } return obj; }, // Retrieve the text value of an array of DOM nodes text: function( elem ) { var node, ret = "", i = 0, nodeType = elem.nodeType; if ( !nodeType ) { // If no nodeType, this is expected to be an array while ( ( node = elem[ i++ ] ) ) { // Do not traverse comment nodes ret += jQuery.text( node ); } } if ( nodeType === 1 || nodeType === 11 ) { return elem.textContent; } if ( nodeType === 9 ) { return elem.documentElement.textContent; } if ( nodeType === 3 || nodeType === 4 ) { return elem.nodeValue; } // Do not include comment or processing instruction nodes return ret; }, // results is for internal usage only makeArray: function( arr, results ) { var ret = results || []; if ( arr != null ) { if ( isArrayLike( Object( arr ) ) ) { jQuery.merge( ret, typeof arr === "string" ? [ arr ] : arr ); } else { push.call( ret, arr ); } } return ret; }, inArray: function( elem, arr, i ) { return arr == null ? -1 : indexOf.call( arr, elem, i ); }, isXMLDoc: function( elem ) { var namespace = elem && elem.namespaceURI, docElem = elem && ( elem.ownerDocument || elem ).documentElement; // Assume HTML when documentElement doesn't yet exist, such as inside // document fragments. return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" ); }, // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit merge: function( first, second ) { var len = +second.length, j = 0, i = first.length; for ( ; j < len; j++ ) { first[ i++ ] = second[ j ]; } first.length = i; return first; }, grep: function( elems, callback, invert ) { var callbackInverse, matches = [], i = 0, length = elems.length, callbackExpect = !invert; // Go through the array, only saving the items // that pass the validator function for ( ; i < length; i++ ) { callbackInverse = !callback( elems[ i ], i ); if ( callbackInverse !== callbackExpect ) { matches.push( elems[ i ] ); } } return matches; }, // arg is for internal usage only map: function( elems, callback, arg ) { var length, value, i = 0, ret = []; // Go through the array, translating each of the items to their new values if ( isArrayLike( elems ) ) { length = elems.length; for ( ; i < length; i++ ) { value = callback( elems[ i ], i, arg ); if ( value != null ) { ret.push( value ); } } // Go through every key on the object, } else { for ( i in elems ) { value = callback( elems[ i ], i, arg ); if ( value != null ) { ret.push( value ); } } } // Flatten any nested arrays return flat( ret ); }, // A global GUID counter for objects guid: 1, // jQuery.support is not used in Core but other projects attach their // properties to it so it needs to exist. support: support } ); if ( typeof Symbol === "function" ) { jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; } // Populate the class2type map jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), function( _i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); } ); function isArrayLike( obj ) { // Support: real iOS 8.2 only (not reproducible in simulator) // `in` check used to prevent JIT error (gh-2145) // hasOwn isn't used here due to false negatives // regarding Nodelist length in IE var length = !!obj && "length" in obj && obj.length, type = toType( obj ); if ( isFunction( obj ) || isWindow( obj ) ) { return false; } return type === "array" || length === 0 || typeof length === "number" && length > 0 && ( length - 1 ) in obj; } function nodeName( elem, name ) { return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); } var pop = arr.pop; var sort = arr.sort; var splice = arr.splice; var whitespace = "[\\x20\\t\\r\\n\\f]"; var rtrimCSS = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ); // Note: an element does not contain itself jQuery.contains = function( a, b ) { var bup = b && b.parentNode; return a === bup || !!( bup && bup.nodeType === 1 && ( // Support: IE 9 - 11+ // IE doesn't have `contains` on SVG. a.contains ? a.contains( bup ) : a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 ) ); }; // CSS string/identifier serialization // https://drafts.csswg.org/cssom/#common-serializing-idioms var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; function fcssescape( ch, asCodePoint ) { if ( asCodePoint ) { // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER if ( ch === "\0" ) { return "\uFFFD"; } // Control characters and (dependent upon position) numbers get escaped as code points return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; } // Other potentially-special ASCII characters get backslash-escaped return "\\" + ch; } jQuery.escapeSelector = function( sel ) { return ( sel + "" ).replace( rcssescape, fcssescape ); }; var preferredDoc = document, pushNative = push; ( function() { var i, Expr, outermostContext, sortInput, hasDuplicate, push = pushNative, // Local document vars document, documentElement, documentIsHTML, rbuggyQSA, matches, // Instance-specific data expando = jQuery.expando, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), nonnativeSelectorCache = createCache(), sortOrder = function( a, b ) { if ( a === b ) { hasDuplicate = true; } return 0; }, booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" + "loop|multiple|open|readonly|required|scoped", // Regular expressions // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", // Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + // Operator (capture 2) "*([*^$|!~]?=)" + whitespace + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]", pseudos = ":(" + identifier + ")(?:\\((" + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: // 1. quoted (capture 3; capture 4 or capture 5) "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + // 2. simple (capture 6) "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + // 3. anything else (capture 2) ".*" + ")\\)|)", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter rwhitespace = new RegExp( whitespace + "+", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), rdescend = new RegExp( whitespace + "|>" ), rpseudo = new RegExp( pseudos ), ridentifier = new RegExp( "^" + identifier + "$" ), matchExpr = { ID: new RegExp( "^#(" + identifier + ")" ), CLASS: new RegExp( "^\\.(" + identifier + ")" ), TAG: new RegExp( "^(" + identifier + "|[*])" ), ATTR: new RegExp( "^" + attributes ), PSEUDO: new RegExp( "^" + pseudos ), CHILD: new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), bool: new RegExp( "^(?:" + booleans + ")$", "i" ), // For use in libraries implementing .is() // We use this for POS matching in `select` needsContext: new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) }, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\d$/i, // Easily-parseable/retrievable ID or TAG or CLASS selectors rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, rsibling = /[+~]/, // CSS escapes // https://www.w3.org/TR/CSS21/syndata.html#escaped-characters runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), funescape = function( escape, nonHex ) { var high = "0x" + escape.slice( 1 ) - 0x10000; if ( nonHex ) { // Strip the backslash prefix from a non-hex escape sequence return nonHex; } // Replace a hexadecimal escape sequence with the encoded Unicode code point // Support: IE <=11+ // For values outside the Basic Multilingual Plane (BMP), manually construct a // surrogate pair return high < 0 ? String.fromCharCode( high + 0x10000 ) : String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); }, // Used for iframes; see `setDocument`. // Support: IE 9 - 11+, Edge 12 - 18+ // Removing the function wrapper causes a "Permission Denied" // error in IE/Edge. unloadHandler = function() { setDocument(); }, inDisabledFieldset = addCombinator( function( elem ) { return elem.disabled === true && nodeName( elem, "fieldset" ); }, { dir: "parentNode", next: "legend" } ); // Support: IE <=9 only // Accessing document.activeElement can throw unexpectedly // https://bugs.jquery.com/ticket/13393 function safeActiveElement() { try { return document.activeElement; } catch ( err ) { } } // Optimize for push.apply( _, NodeList ) try { push.apply( ( arr = slice.call( preferredDoc.childNodes ) ), preferredDoc.childNodes ); // Support: Android <=4.0 // Detect silently failing push.apply // eslint-disable-next-line no-unused-expressions arr[ preferredDoc.childNodes.length ].nodeType; } catch ( e ) { push = { apply: function( target, els ) { pushNative.apply( target, slice.call( els ) ); }, call: function( target ) { pushNative.apply( target, slice.call( arguments, 1 ) ); } }; } function find( selector, context, results, seed ) { var m, i, elem, nid, match, groups, newSelector, newContext = context && context.ownerDocument, // nodeType defaults to 9, since context defaults to document nodeType = context ? context.nodeType : 9; results = results || []; // Return early from calls with invalid selector or context if ( typeof selector !== "string" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { return results; } // Try to shortcut find operations (as opposed to filters) in HTML documents if ( !seed ) { setDocument( context ); context = context || document; if ( documentIsHTML ) { // If the selector is sufficiently simple, try using a "get*By*" DOM method // (excepting DocumentFragment context, where the methods don't exist) if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { // ID selector if ( ( m = match[ 1 ] ) ) { // Document context if ( nodeType === 9 ) { if ( ( elem = context.getElementById( m ) ) ) { // Support: IE 9 only // getElementById can match elements by name instead of ID if ( elem.id === m ) { push.call( results, elem ); return results; } } else { return results; } // Element context } else { // Support: IE 9 only // getElementById can match elements by name instead of ID if ( newContext && ( elem = newContext.getElementById( m ) ) && find.contains( context, elem ) && elem.id === m ) { push.call( results, elem ); return results; } } // Type selector } else if ( match[ 2 ] ) { push.apply( results, context.getElementsByTagName( selector ) ); return results; // Class selector } else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) { push.apply( results, context.getElementsByClassName( m ) ); return results; } } // Take advantage of querySelectorAll if ( !nonnativeSelectorCache[ selector + " " ] && ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) { newSelector = selector; newContext = context; // qSA considers elements outside a scoping root when evaluating child or // descendant combinators, which is not what we want. // In such cases, we work around the behavior by prefixing every selector in the // list with an ID selector referencing the scope context. // The technique has to be used as well when a leading combinator is used // as such selectors are not recognized by querySelectorAll. // Thanks to Andrew Dupont for this technique. if ( nodeType === 1 && ( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) { // Expand context for sibling selectors newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; // We can use :scope instead of the ID hack if the browser // supports it & if we're not changing the context. // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when // strict-comparing two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( newContext != context || !support.scope ) { // Capture the context ID, setting it first if necessary if ( ( nid = context.getAttribute( "id" ) ) ) { nid = jQuery.escapeSelector( nid ); } else { context.setAttribute( "id", ( nid = expando ) ); } } // Prefix every selector in the list groups = tokenize( selector ); i = groups.length; while ( i-- ) { groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + toSelector( groups[ i ] ); } newSelector = groups.join( "," ); } try { push.apply( results, newContext.querySelectorAll( newSelector ) ); return results; } catch ( qsaError ) { nonnativeSelectorCache( selector, true ); } finally { if ( nid === expando ) { context.removeAttribute( "id" ); } } } } } // All others return select( selector.replace( rtrimCSS, "$1" ), context, results, seed ); } /** * Create key-value caches of limited size * @returns {function(string, object)} Returns the Object data after storing it on itself with * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) * deleting the oldest entry */ function createCache() { var keys = []; function cache( key, value ) { // Use (key + " ") to avoid collision with native prototype properties // (see https://github.com/jquery/sizzle/issues/157) if ( keys.push( key + " " ) > Expr.cacheLength ) { // Only keep the most recent entries delete cache[ keys.shift() ]; } return ( cache[ key + " " ] = value ); } return cache; } /** * Mark a function for special use by jQuery selector module * @param {Function} fn The function to mark */ function markFunction( fn ) { fn[ expando ] = true; return fn; } /** * Support testing using an element * @param {Function} fn Passed the created element and returns a boolean result */ function assert( fn ) { var el = document.createElement( "fieldset" ); try { return !!fn( el ); } catch ( e ) { return false; } finally { // Remove from its parent by default if ( el.parentNode ) { el.parentNode.removeChild( el ); } // release memory in IE el = null; } } /** * Returns a function to use in pseudos for input types * @param {String} type */ function createInputPseudo( type ) { return function( elem ) { return nodeName( elem, "input" ) && elem.type === type; }; } /** * Returns a function to use in pseudos for buttons * @param {String} type */ function createButtonPseudo( type ) { return function( elem ) { return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) && elem.type === type; }; } /** * Returns a function to use in pseudos for :enabled/:disabled * @param {Boolean} disabled true for :disabled; false for :enabled */ function createDisabledPseudo( disabled ) { // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable return function( elem ) { // Only certain elements can match :enabled or :disabled // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled if ( "form" in elem ) { // Check for inherited disabledness on relevant non-disabled elements: // * listed form-associated elements in a disabled fieldset // https://html.spec.whatwg.org/multipage/forms.html#category-listed // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled // * option elements in a disabled optgroup // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled // All such elements have a "form" property. if ( elem.parentNode && elem.disabled === false ) { // Option elements defer to a parent optgroup if present if ( "label" in elem ) { if ( "label" in elem.parentNode ) { return elem.parentNode.disabled === disabled; } else { return elem.disabled === disabled; } } // Support: IE 6 - 11+ // Use the isDisabled shortcut property to check for disabled fieldset ancestors return elem.isDisabled === disabled || // Where there is no isDisabled, check manually elem.isDisabled !== !disabled && inDisabledFieldset( elem ) === disabled; } return elem.disabled === disabled; // Try to winnow out elements that can't be disabled before trusting the disabled property. // Some victims get caught in our net (label, legend, menu, track), but it shouldn't // even exist on them, let alone have a boolean value. } else if ( "label" in elem ) { return elem.disabled === disabled; } // Remaining elements are neither :enabled nor :disabled return false; }; } /** * Returns a function to use in pseudos for positionals * @param {Function} fn */ function createPositionalPseudo( fn ) { return markFunction( function( argument ) { argument = +argument; return markFunction( function( seed, matches ) { var j, matchIndexes = fn( [], seed.length, argument ), i = matchIndexes.length; // Match elements found at the specified indexes while ( i-- ) { if ( seed[ ( j = matchIndexes[ i ] ) ] ) { seed[ j ] = !( matches[ j ] = seed[ j ] ); } } } ); } ); } /** * Checks a node for validity as a jQuery selector context * @param {Element|Object=} context * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value */ function testContext( context ) { return context && typeof context.getElementsByTagName !== "undefined" && context; } /** * Sets document-related variables once based on the current document * @param {Element|Object} [node] An element or document object to use to set the document * @returns {Object} Returns the current document */ function setDocument( node ) { var subWindow, doc = node ? node.ownerDocument || node : preferredDoc; // Return early if doc is invalid or already selected // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { return document; } // Update global variables document = doc; documentElement = document.documentElement; documentIsHTML = !jQuery.isXMLDoc( document ); // Support: iOS 7 only, IE 9 - 11+ // Older browsers didn't support unprefixed `matches`. matches = documentElement.matches || documentElement.webkitMatchesSelector || documentElement.msMatchesSelector; // Support: IE 9 - 11+, Edge 12 - 18+ // Accessing iframe documents after unload throws "permission denied" errors // (see trac-13936). // Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`, // all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well. if ( documentElement.msMatchesSelector && // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq preferredDoc != document && ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { // Support: IE 9 - 11+, Edge 12 - 18+ subWindow.addEventListener( "unload", unloadHandler ); } // Support: IE <10 // Check if getElementById returns elements by name // The broken getElementById methods don't pick up programmatically-set names, // so use a roundabout getElementsByName test support.getById = assert( function( el ) { documentElement.appendChild( el ).id = jQuery.expando; return !document.getElementsByName || !document.getElementsByName( jQuery.expando ).length; } ); // Support: IE 9 only // Check to see if it's possible to do matchesSelector // on a disconnected node. support.disconnectedMatch = assert( function( el ) { return matches.call( el, "*" ); } ); // Support: IE 9 - 11+, Edge 12 - 18+ // IE/Edge don't support the :scope pseudo-class. support.scope = assert( function() { return document.querySelectorAll( ":scope" ); } ); // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only // Make sure the `:has()` argument is parsed unforgivingly. // We include `*` in the test to detect buggy implementations that are // _selectively_ forgiving (specifically when the list includes at least // one valid selector). // Note that we treat complete lack of support for `:has()` as if it were // spec-compliant support, which is fine because use of `:has()` in such // environments will fail in the qSA path and fall back to jQuery traversal // anyway. support.cssHas = assert( function() { try { document.querySelector( ":has(*,:jqfake)" ); return false; } catch ( e ) { return true; } } ); // ID filter and find if ( support.getById ) { Expr.filter.ID = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { return elem.getAttribute( "id" ) === attrId; }; }; Expr.find.ID = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var elem = context.getElementById( id ); return elem ? [ elem ] : []; } }; } else { Expr.filter.ID = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode( "id" ); return node && node.value === attrId; }; }; // Support: IE 6 - 7 only // getElementById is not reliable as a find shortcut Expr.find.ID = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var node, i, elems, elem = context.getElementById( id ); if ( elem ) { // Verify the id attribute node = elem.getAttributeNode( "id" ); if ( node && node.value === id ) { return [ elem ]; } // Fall back on getElementsByName elems = context.getElementsByName( id ); i = 0; while ( ( elem = elems[ i++ ] ) ) { node = elem.getAttributeNode( "id" ); if ( node && node.value === id ) { return [ elem ]; } } } return []; } }; } // Tag Expr.find.TAG = function( tag, context ) { if ( typeof context.getElementsByTagName !== "undefined" ) { return context.getElementsByTagName( tag ); // DocumentFragment nodes don't have gEBTN } else { return context.querySelectorAll( tag ); } }; // Class Expr.find.CLASS = function( className, context ) { if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { return context.getElementsByClassName( className ); } }; /* QSA/matchesSelector ---------------------------------------------------------------------- */ // QSA and matchesSelector support rbuggyQSA = []; // Build QSA regex // Regex strategy adopted from Diego Perini assert( function( el ) { var input; documentElement.appendChild( el ).innerHTML = "" + ""; // Support: iOS <=7 - 8 only // Boolean attributes and "value" are not treated correctly in some XML documents if ( !el.querySelectorAll( "[selected]" ).length ) { rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); } // Support: iOS <=7 - 8 only if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { rbuggyQSA.push( "~=" ); } // Support: iOS 8 only // https://bugs.webkit.org/show_bug.cgi?id=136851 // In-page `selector#id sibling-combinator selector` fails if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { rbuggyQSA.push( ".#.+[+~]" ); } // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ // In some of the document kinds, these selectors wouldn't work natively. // This is probably OK but for backwards compatibility we want to maintain // handling them through jQuery traversal in jQuery 3.x. if ( !el.querySelectorAll( ":checked" ).length ) { rbuggyQSA.push( ":checked" ); } // Support: Windows 8 Native Apps // The type and name attributes are restricted during .innerHTML assignment input = document.createElement( "input" ); input.setAttribute( "type", "hidden" ); el.appendChild( input ).setAttribute( "name", "D" ); // Support: IE 9 - 11+ // IE's :disabled selector does not pick up the children of disabled fieldsets // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ // In some of the document kinds, these selectors wouldn't work natively. // This is probably OK but for backwards compatibility we want to maintain // handling them through jQuery traversal in jQuery 3.x. documentElement.appendChild( el ).disabled = true; if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { rbuggyQSA.push( ":enabled", ":disabled" ); } // Support: IE 11+, Edge 15 - 18+ // IE 11/Edge don't find elements on a `[name='']` query in some cases. // Adding a temporary attribute to the document before the selection works // around the issue. // Interestingly, IE 10 & older don't seem to have the issue. input = document.createElement( "input" ); input.setAttribute( "name", "" ); el.appendChild( input ); if ( !el.querySelectorAll( "[name='']" ).length ) { rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + whitespace + "*(?:''|\"\")" ); } } ); if ( !support.cssHas ) { // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+ // Our regular `try-catch` mechanism fails to detect natively-unsupported // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`) // in browsers that parse the `:has()` argument as a forgiving selector list. // https://drafts.csswg.org/selectors/#relational now requires the argument // to be parsed unforgivingly, but browsers have not yet fully adjusted. rbuggyQSA.push( ":has" ); } rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); /* Sorting ---------------------------------------------------------------------- */ // Document order sorting sortOrder = function( a, b ) { // Flag for duplicate removal if ( a === b ) { hasDuplicate = true; return 0; } // Sort on method existence if only one input has compareDocumentPosition var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; if ( compare ) { return compare; } // Calculate position if both inputs belong to the same document // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? a.compareDocumentPosition( b ) : // Otherwise we know they are disconnected 1; // Disconnected nodes if ( compare & 1 || ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { // Choose the first element that is related to our preferred document // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( a === document || a.ownerDocument == preferredDoc && find.contains( preferredDoc, a ) ) { return -1; } // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( b === document || b.ownerDocument == preferredDoc && find.contains( preferredDoc, b ) ) { return 1; } // Maintain original order return sortInput ? ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : 0; } return compare & 4 ? -1 : 1; }; return document; } find.matches = function( expr, elements ) { return find( expr, null, null, elements ); }; find.matchesSelector = function( elem, expr ) { setDocument( elem ); if ( documentIsHTML && !nonnativeSelectorCache[ expr + " " ] && ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { try { var ret = matches.call( elem, expr ); // IE 9's matchesSelector returns false on disconnected nodes if ( ret || support.disconnectedMatch || // As well, disconnected nodes are said to be in a document // fragment in IE 9 elem.document && elem.document.nodeType !== 11 ) { return ret; } } catch ( e ) { nonnativeSelectorCache( expr, true ); } } return find( expr, document, null, [ elem ] ).length > 0; }; find.contains = function( context, elem ) { // Set document vars if needed // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( ( context.ownerDocument || context ) != document ) { setDocument( context ); } return jQuery.contains( context, elem ); }; find.attr = function( elem, name ) { // Set document vars if needed // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( ( elem.ownerDocument || elem ) != document ) { setDocument( elem ); } var fn = Expr.attrHandle[ name.toLowerCase() ], // Don't get fooled by Object.prototype properties (see trac-13807) val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? fn( elem, name, !documentIsHTML ) : undefined; if ( val !== undefined ) { return val; } return elem.getAttribute( name ); }; find.error = function( msg ) { throw new Error( "Syntax error, unrecognized expression: " + msg ); }; /** * Document sorting and removing duplicates * @param {ArrayLike} results */ jQuery.uniqueSort = function( results ) { var elem, duplicates = [], j = 0, i = 0; // Unless we *know* we can detect duplicates, assume their presence // // Support: Android <=4.0+ // Testing for detecting duplicates is unpredictable so instead assume we can't // depend on duplicate detection in all browsers without a stable sort. hasDuplicate = !support.sortStable; sortInput = !support.sortStable && slice.call( results, 0 ); sort.call( results, sortOrder ); if ( hasDuplicate ) { while ( ( elem = results[ i++ ] ) ) { if ( elem === results[ i ] ) { j = duplicates.push( i ); } } while ( j-- ) { splice.call( results, duplicates[ j ], 1 ); } } // Clear input after sorting to release objects // See https://github.com/jquery/sizzle/pull/225 sortInput = null; return results; }; jQuery.fn.uniqueSort = function() { return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) ); }; Expr = jQuery.expr = { // Can be adjusted by the user cacheLength: 50, createPseudo: markFunction, match: matchExpr, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: true }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: true }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function( match ) { match[ 1 ] = match[ 1 ].replace( runescape, funescape ); // Move the given value to match[3] whether quoted or unquoted match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" ) .replace( runescape, funescape ); if ( match[ 2 ] === "~=" ) { match[ 3 ] = " " + match[ 3 ] + " "; } return match.slice( 0, 4 ); }, CHILD: function( match ) { /* matches from matchExpr["CHILD"] 1 type (only|nth|...) 2 what (child|of-type) 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) 4 xn-component of xn+y argument ([+-]?\d*n|) 5 sign of xn-component 6 x of xn-component 7 sign of y-component 8 y of y-component */ match[ 1 ] = match[ 1 ].toLowerCase(); if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { // nth-* requires argument if ( !match[ 3 ] ) { find.error( match[ 0 ] ); } // numeric x and y parameters for Expr.filter.CHILD // remember that false/true cast respectively to 0/1 match[ 4 ] = +( match[ 4 ] ? match[ 5 ] + ( match[ 6 ] || 1 ) : 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); // other types prohibit arguments } else if ( match[ 3 ] ) { find.error( match[ 0 ] ); } return match; }, PSEUDO: function( match ) { var excess, unquoted = !match[ 6 ] && match[ 2 ]; if ( matchExpr.CHILD.test( match[ 0 ] ) ) { return null; } // Accept quoted arguments as-is if ( match[ 3 ] ) { match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; // Strip excess characters from unquoted arguments } else if ( unquoted && rpseudo.test( unquoted ) && // Get excess from tokenize (recursively) ( excess = tokenize( unquoted, true ) ) && // advance to the next closing parenthesis ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { // excess is a negative index match[ 0 ] = match[ 0 ].slice( 0, excess ); match[ 2 ] = unquoted.slice( 0, excess ); } // Return only captures needed by the pseudo filter method (type and argument) return match.slice( 0, 3 ); } }, filter: { TAG: function( nodeNameSelector ) { var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); return nodeNameSelector === "*" ? function() { return true; } : function( elem ) { return nodeName( elem, expectedNodeName ); }; }, CLASS: function( className ) { var pattern = classCache[ className + " " ]; return pattern || ( pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( className, function( elem ) { return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute( "class" ) || "" ); } ); }, ATTR: function( name, operator, check ) { return function( elem ) { var result = find.attr( elem, name ); if ( result == null ) { return operator === "!="; } if ( !operator ) { return true; } result += ""; if ( operator === "=" ) { return result === check; } if ( operator === "!=" ) { return result !== check; } if ( operator === "^=" ) { return check && result.indexOf( check ) === 0; } if ( operator === "*=" ) { return check && result.indexOf( check ) > -1; } if ( operator === "$=" ) { return check && result.slice( -check.length ) === check; } if ( operator === "~=" ) { return ( " " + result.replace( rwhitespace, " " ) + " " ) .indexOf( check ) > -1; } if ( operator === "|=" ) { return result === check || result.slice( 0, check.length + 1 ) === check + "-"; } return false; }; }, CHILD: function( type, what, _argument, first, last ) { var simple = type.slice( 0, 3 ) !== "nth", forward = type.slice( -4 ) !== "last", ofType = what === "of-type"; return first === 1 && last === 0 ? // Shortcut for :nth-*(n) function( elem ) { return !!elem.parentNode; } : function( elem, _context, xml ) { var cache, outerCache, node, nodeIndex, start, dir = simple !== forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, name = ofType && elem.nodeName.toLowerCase(), useCache = !xml && !ofType, diff = false; if ( parent ) { // :(first|last|only)-(child|of-type) if ( simple ) { while ( dir ) { node = elem; while ( ( node = node[ dir ] ) ) { if ( ofType ? nodeName( node, name ) : node.nodeType === 1 ) { return false; } } // Reverse direction for :only-* (if we haven't yet done so) start = dir = type === "only" && !start && "nextSibling"; } return true; } start = [ forward ? parent.firstChild : parent.lastChild ]; // non-xml :nth-child(...) stores cache data on `parent` if ( forward && useCache ) { // Seek `elem` from a previously-cached index outerCache = parent[ expando ] || ( parent[ expando ] = {} ); cache = outerCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; diff = nodeIndex && cache[ 2 ]; node = nodeIndex && parent.childNodes[ nodeIndex ]; while ( ( node = ++nodeIndex && node && node[ dir ] || // Fallback to seeking `elem` from the start ( diff = nodeIndex = 0 ) || start.pop() ) ) { // When found, cache indexes on `parent` and break if ( node.nodeType === 1 && ++diff && node === elem ) { outerCache[ type ] = [ dirruns, nodeIndex, diff ]; break; } } } else { // Use previously-cached element index if available if ( useCache ) { outerCache = elem[ expando ] || ( elem[ expando ] = {} ); cache = outerCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; diff = nodeIndex; } // xml :nth-child(...) // or :nth-last-child(...) or :nth(-last)?-of-type(...) if ( diff === false ) { // Use the same loop as above to seek `elem` from the start while ( ( node = ++nodeIndex && node && node[ dir ] || ( diff = nodeIndex = 0 ) || start.pop() ) ) { if ( ( ofType ? nodeName( node, name ) : node.nodeType === 1 ) && ++diff ) { // Cache the index of each encountered element if ( useCache ) { outerCache = node[ expando ] || ( node[ expando ] = {} ); outerCache[ type ] = [ dirruns, diff ]; } if ( node === elem ) { break; } } } } } // Incorporate the offset, then check against cycle size diff -= last; return diff === first || ( diff % first === 0 && diff / first >= 0 ); } }; }, PSEUDO: function( pseudo, argument ) { // pseudo-class names are case-insensitive // https://www.w3.org/TR/selectors/#pseudo-classes // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters // Remember that setFilters inherits from pseudos var args, fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || find.error( "unsupported pseudo: " + pseudo ); // The user may use createPseudo to indicate that // arguments are needed to create the filter function // just as jQuery does if ( fn[ expando ] ) { return fn( argument ); } // But maintain support for old signatures if ( fn.length > 1 ) { args = [ pseudo, pseudo, "", argument ]; return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? markFunction( function( seed, matches ) { var idx, matched = fn( seed, argument ), i = matched.length; while ( i-- ) { idx = indexOf.call( seed, matched[ i ] ); seed[ idx ] = !( matches[ idx ] = matched[ i ] ); } } ) : function( elem ) { return fn( elem, 0, args ); }; } return fn; } }, pseudos: { // Potentially complex pseudos not: markFunction( function( selector ) { // Trim the selector passed to compile // to avoid treating leading and trailing // spaces as combinators var input = [], results = [], matcher = compile( selector.replace( rtrimCSS, "$1" ) ); return matcher[ expando ] ? markFunction( function( seed, matches, _context, xml ) { var elem, unmatched = matcher( seed, null, xml, [] ), i = seed.length; // Match elements unmatched by `matcher` while ( i-- ) { if ( ( elem = unmatched[ i ] ) ) { seed[ i ] = !( matches[ i ] = elem ); } } } ) : function( elem, _context, xml ) { input[ 0 ] = elem; matcher( input, null, xml, results ); // Don't keep the element // (see https://github.com/jquery/sizzle/issues/299) input[ 0 ] = null; return !results.pop(); }; } ), has: markFunction( function( selector ) { return function( elem ) { return find( selector, elem ).length > 0; }; } ), contains: markFunction( function( text ) { text = text.replace( runescape, funescape ); return function( elem ) { return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1; }; } ), // "Whether an element is represented by a :lang() selector // is based solely on the element's language value // being equal to the identifier C, // or beginning with the identifier C immediately followed by "-". // The matching of C against the element's language value is performed case-insensitively. // The identifier C does not have to be a valid language name." // https://www.w3.org/TR/selectors/#lang-pseudo lang: markFunction( function( lang ) { // lang value must be a valid identifier if ( !ridentifier.test( lang || "" ) ) { find.error( "unsupported lang: " + lang ); } lang = lang.replace( runescape, funescape ).toLowerCase(); return function( elem ) { var elemLang; do { if ( ( elemLang = documentIsHTML ? elem.lang : elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { elemLang = elemLang.toLowerCase(); return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; } } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); return false; }; } ), // Miscellaneous target: function( elem ) { var hash = window.location && window.location.hash; return hash && hash.slice( 1 ) === elem.id; }, root: function( elem ) { return elem === documentElement; }, focus: function( elem ) { return elem === safeActiveElement() && document.hasFocus() && !!( elem.type || elem.href || ~elem.tabIndex ); }, // Boolean properties enabled: createDisabledPseudo( false ), disabled: createDisabledPseudo( true ), checked: function( elem ) { // In CSS3, :checked should return both checked and selected elements // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked return ( nodeName( elem, "input" ) && !!elem.checked ) || ( nodeName( elem, "option" ) && !!elem.selected ); }, selected: function( elem ) { // Support: IE <=11+ // Accessing the selectedIndex property // forces the browser to treat the default option as // selected when in an optgroup. if ( elem.parentNode ) { // eslint-disable-next-line no-unused-expressions elem.parentNode.selectedIndex; } return elem.selected === true; }, // Contents empty: function( elem ) { // https://www.w3.org/TR/selectors/#empty-pseudo // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), // but not by others (comment: 8; processing instruction: 7; etc.) // nodeType < 6 works because attributes (2) do not appear as children for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { if ( elem.nodeType < 6 ) { return false; } } return true; }, parent: function( elem ) { return !Expr.pseudos.empty( elem ); }, // Element/input types header: function( elem ) { return rheader.test( elem.nodeName ); }, input: function( elem ) { return rinputs.test( elem.nodeName ); }, button: function( elem ) { return nodeName( elem, "input" ) && elem.type === "button" || nodeName( elem, "button" ); }, text: function( elem ) { var attr; return nodeName( elem, "input" ) && elem.type === "text" && // Support: IE <10 only // New HTML5 attribute values (e.g., "search") appear // with elem.type === "text" ( ( attr = elem.getAttribute( "type" ) ) == null || attr.toLowerCase() === "text" ); }, // Position-in-collection first: createPositionalPseudo( function() { return [ 0 ]; } ), last: createPositionalPseudo( function( _matchIndexes, length ) { return [ length - 1 ]; } ), eq: createPositionalPseudo( function( _matchIndexes, length, argument ) { return [ argument < 0 ? argument + length : argument ]; } ), even: createPositionalPseudo( function( matchIndexes, length ) { var i = 0; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; } ), odd: createPositionalPseudo( function( matchIndexes, length ) { var i = 1; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; } ), lt: createPositionalPseudo( function( matchIndexes, length, argument ) { var i; if ( argument < 0 ) { i = argument + length; } else if ( argument > length ) { i = length; } else { i = argument; } for ( ; --i >= 0; ) { matchIndexes.push( i ); } return matchIndexes; } ), gt: createPositionalPseudo( function( matchIndexes, length, argument ) { var i = argument < 0 ? argument + length : argument; for ( ; ++i < length; ) { matchIndexes.push( i ); } return matchIndexes; } ) } }; Expr.pseudos.nth = Expr.pseudos.eq; // Add button/input type pseudos for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { Expr.pseudos[ i ] = createInputPseudo( i ); } for ( i in { submit: true, reset: true } ) { Expr.pseudos[ i ] = createButtonPseudo( i ); } // Easy API for creating new setFilters function setFilters() {} setFilters.prototype = Expr.filters = Expr.pseudos; Expr.setFilters = new setFilters(); function tokenize( selector, parseOnly ) { var matched, match, tokens, type, soFar, groups, preFilters, cached = tokenCache[ selector + " " ]; if ( cached ) { return parseOnly ? 0 : cached.slice( 0 ); } soFar = selector; groups = []; preFilters = Expr.preFilter; while ( soFar ) { // Comma and first run if ( !matched || ( match = rcomma.exec( soFar ) ) ) { if ( match ) { // Don't consume trailing commas as valid soFar = soFar.slice( match[ 0 ].length ) || soFar; } groups.push( ( tokens = [] ) ); } matched = false; // Combinators if ( ( match = rleadingCombinator.exec( soFar ) ) ) { matched = match.shift(); tokens.push( { value: matched, // Cast descendant combinators to space type: match[ 0 ].replace( rtrimCSS, " " ) } ); soFar = soFar.slice( matched.length ); } // Filters for ( type in Expr.filter ) { if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || ( match = preFilters[ type ]( match ) ) ) ) { matched = match.shift(); tokens.push( { value: matched, type: type, matches: match } ); soFar = soFar.slice( matched.length ); } } if ( !matched ) { break; } } // Return the length of the invalid excess // if we're just parsing // Otherwise, throw an error or return tokens if ( parseOnly ) { return soFar.length; } return soFar ? find.error( selector ) : // Cache the tokens tokenCache( selector, groups ).slice( 0 ); } function toSelector( tokens ) { var i = 0, len = tokens.length, selector = ""; for ( ; i < len; i++ ) { selector += tokens[ i ].value; } return selector; } function addCombinator( matcher, combinator, base ) { var dir = combinator.dir, skip = combinator.next, key = skip || dir, checkNonElements = base && key === "parentNode", doneName = done++; return combinator.first ? // Check against closest ancestor/preceding element function( elem, context, xml ) { while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { return matcher( elem, context, xml ); } } return false; } : // Check against all ancestor/preceding elements function( elem, context, xml ) { var oldCache, outerCache, newCache = [ dirruns, doneName ]; // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching if ( xml ) { while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { if ( matcher( elem, context, xml ) ) { return true; } } } } else { while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { outerCache = elem[ expando ] || ( elem[ expando ] = {} ); if ( skip && nodeName( elem, skip ) ) { elem = elem[ dir ] || elem; } else if ( ( oldCache = outerCache[ key ] ) && oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { // Assign to newCache so results back-propagate to previous elements return ( newCache[ 2 ] = oldCache[ 2 ] ); } else { // Reuse newcache so results back-propagate to previous elements outerCache[ key ] = newCache; // A match means we're done; a fail means we have to keep checking if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { return true; } } } } } return false; }; } function elementMatcher( matchers ) { return matchers.length > 1 ? function( elem, context, xml ) { var i = matchers.length; while ( i-- ) { if ( !matchers[ i ]( elem, context, xml ) ) { return false; } } return true; } : matchers[ 0 ]; } function multipleContexts( selector, contexts, results ) { var i = 0, len = contexts.length; for ( ; i < len; i++ ) { find( selector, contexts[ i ], results ); } return results; } function condense( unmatched, map, filter, context, xml ) { var elem, newUnmatched = [], i = 0, len = unmatched.length, mapped = map != null; for ( ; i < len; i++ ) { if ( ( elem = unmatched[ i ] ) ) { if ( !filter || filter( elem, context, xml ) ) { newUnmatched.push( elem ); if ( mapped ) { map.push( i ); } } } } return newUnmatched; } function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { if ( postFilter && !postFilter[ expando ] ) { postFilter = setMatcher( postFilter ); } if ( postFinder && !postFinder[ expando ] ) { postFinder = setMatcher( postFinder, postSelector ); } return markFunction( function( seed, results, context, xml ) { var temp, i, elem, matcherOut, preMap = [], postMap = [], preexisting = results.length, // Get initial elements from seed or context elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), // Prefilter to get matcher input, preserving a map for seed-results synchronization matcherIn = preFilter && ( seed || !selector ) ? condense( elems, preMap, preFilter, context, xml ) : elems; if ( matcher ) { // If we have a postFinder, or filtered seed, or non-seed postFilter // or preexisting results, matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ? // ...intermediate processing is necessary [] : // ...otherwise use results directly results; // Find primary matches matcher( matcherIn, matcherOut, context, xml ); } else { matcherOut = matcherIn; } // Apply postFilter if ( postFilter ) { temp = condense( matcherOut, postMap ); postFilter( temp, [], context, xml ); // Un-match failing elements by moving them back to matcherIn i = temp.length; while ( i-- ) { if ( ( elem = temp[ i ] ) ) { matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); } } } if ( seed ) { if ( postFinder || preFilter ) { if ( postFinder ) { // Get the final matcherOut by condensing this intermediate into postFinder contexts temp = []; i = matcherOut.length; while ( i-- ) { if ( ( elem = matcherOut[ i ] ) ) { // Restore matcherIn since elem is not yet a final match temp.push( ( matcherIn[ i ] = elem ) ); } } postFinder( null, ( matcherOut = [] ), temp, xml ); } // Move matched elements from seed to results to keep them synchronized i = matcherOut.length; while ( i-- ) { if ( ( elem = matcherOut[ i ] ) && ( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) { seed[ temp ] = !( results[ temp ] = elem ); } } } // Add elements to results, through postFinder if defined } else { matcherOut = condense( matcherOut === results ? matcherOut.splice( preexisting, matcherOut.length ) : matcherOut ); if ( postFinder ) { postFinder( null, results, matcherOut, xml ); } else { push.apply( results, matcherOut ); } } } ); } function matcherFromTokens( tokens ) { var checkContext, matcher, j, len = tokens.length, leadingRelative = Expr.relative[ tokens[ 0 ].type ], implicitRelative = leadingRelative || Expr.relative[ " " ], i = leadingRelative ? 1 : 0, // The foundational matcher ensures that elements are reachable from top-level context(s) matchContext = addCombinator( function( elem ) { return elem === checkContext; }, implicitRelative, true ), matchAnyContext = addCombinator( function( elem ) { return indexOf.call( checkContext, elem ) > -1; }, implicitRelative, true ), matchers = [ function( elem, context, xml ) { // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || ( ( checkContext = context ).nodeType ? matchContext( elem, context, xml ) : matchAnyContext( elem, context, xml ) ); // Avoid hanging onto element // (see https://github.com/jquery/sizzle/issues/299) checkContext = null; return ret; } ]; for ( ; i < len; i++ ) { if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; } else { matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); // Return special upon seeing a positional matcher if ( matcher[ expando ] ) { // Find the next relative operator (if any) for proper handling j = ++i; for ( ; j < len; j++ ) { if ( Expr.relative[ tokens[ j ].type ] ) { break; } } return setMatcher( i > 1 && elementMatcher( matchers ), i > 1 && toSelector( // If the preceding token was a descendant combinator, insert an implicit any-element `*` tokens.slice( 0, i - 1 ) .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) ).replace( rtrimCSS, "$1" ), matcher, i < j && matcherFromTokens( tokens.slice( i, j ) ), j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), j < len && toSelector( tokens ) ); } matchers.push( matcher ); } } return elementMatcher( matchers ); } function matcherFromGroupMatchers( elementMatchers, setMatchers ) { var bySet = setMatchers.length > 0, byElement = elementMatchers.length > 0, superMatcher = function( seed, context, xml, results, outermost ) { var elem, j, matcher, matchedCount = 0, i = "0", unmatched = seed && [], setMatched = [], contextBackup = outermostContext, // We must always have either seed elements or outermost context elems = seed || byElement && Expr.find.TAG( "*", outermost ), // Use integer dirruns iff this is the outermost matcher dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), len = elems.length; if ( outermost ) { // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq outermostContext = context == document || context || outermost; } // Add elements passing elementMatchers directly to results // Support: iOS <=7 - 9 only // Tolerate NodeList properties (IE: "length"; Safari: ) matching // elements by id. (see trac-14142) for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { if ( byElement && elem ) { j = 0; // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( !context && elem.ownerDocument != document ) { setDocument( elem ); xml = !documentIsHTML; } while ( ( matcher = elementMatchers[ j++ ] ) ) { if ( matcher( elem, context || document, xml ) ) { push.call( results, elem ); break; } } if ( outermost ) { dirruns = dirrunsUnique; } } // Track unmatched elements for set filters if ( bySet ) { // They will have gone through all possible matchers if ( ( elem = !matcher && elem ) ) { matchedCount--; } // Lengthen the array for every element, matched or not if ( seed ) { unmatched.push( elem ); } } } // `i` is now the count of elements visited above, and adding it to `matchedCount` // makes the latter nonnegative. matchedCount += i; // Apply set filters to unmatched elements // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` // equals `i`), unless we didn't visit _any_ elements in the above loop because we have // no element matchers and no seed. // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that // case, which will result in a "00" `matchedCount` that differs from `i` but is also // numerically zero. if ( bySet && i !== matchedCount ) { j = 0; while ( ( matcher = setMatchers[ j++ ] ) ) { matcher( unmatched, setMatched, context, xml ); } if ( seed ) { // Reintegrate element matches to eliminate the need for sorting if ( matchedCount > 0 ) { while ( i-- ) { if ( !( unmatched[ i ] || setMatched[ i ] ) ) { setMatched[ i ] = pop.call( results ); } } } // Discard index placeholder values to get only actual matches setMatched = condense( setMatched ); } // Add matches to results push.apply( results, setMatched ); // Seedless set matches succeeding multiple successful matchers stipulate sorting if ( outermost && !seed && setMatched.length > 0 && ( matchedCount + setMatchers.length ) > 1 ) { jQuery.uniqueSort( results ); } } // Override manipulation of globals by nested matchers if ( outermost ) { dirruns = dirrunsUnique; outermostContext = contextBackup; } return unmatched; }; return bySet ? markFunction( superMatcher ) : superMatcher; } function compile( selector, match /* Internal Use Only */ ) { var i, setMatchers = [], elementMatchers = [], cached = compilerCache[ selector + " " ]; if ( !cached ) { // Generate a function of recursive functions that can be used to check each element if ( !match ) { match = tokenize( selector ); } i = match.length; while ( i-- ) { cached = matcherFromTokens( match[ i ] ); if ( cached[ expando ] ) { setMatchers.push( cached ); } else { elementMatchers.push( cached ); } } // Cache the compiled function cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); // Save selector and tokenization cached.selector = selector; } return cached; } /** * A low-level selection function that works with jQuery's compiled * selector functions * @param {String|Function} selector A selector or a pre-compiled * selector function built with jQuery selector compile * @param {Element} context * @param {Array} [results] * @param {Array} [seed] A set of elements to match against */ function select( selector, context, results, seed ) { var i, tokens, token, type, find, compiled = typeof selector === "function" && selector, match = !seed && tokenize( ( selector = compiled.selector || selector ) ); results = results || []; // Try to minimize operations if there is only one selector in the list and no seed // (the latter of which guarantees us context) if ( match.length === 1 ) { // Reduce context if the leading compound selector is an ID tokens = match[ 0 ] = match[ 0 ].slice( 0 ); if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { context = ( Expr.find.ID( token.matches[ 0 ].replace( runescape, funescape ), context ) || [] )[ 0 ]; if ( !context ) { return results; // Precompiled matchers will still verify ancestry, so step up a level } else if ( compiled ) { context = context.parentNode; } selector = selector.slice( tokens.shift().value.length ); } // Fetch a seed set for right-to-left matching i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length; while ( i-- ) { token = tokens[ i ]; // Abort if we hit a combinator if ( Expr.relative[ ( type = token.type ) ] ) { break; } if ( ( find = Expr.find[ type ] ) ) { // Search, expanding context for leading sibling combinators if ( ( seed = find( token.matches[ 0 ].replace( runescape, funescape ), rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || context ) ) ) { // If seed is empty or no tokens remain, we can return early tokens.splice( i, 1 ); selector = seed.length && toSelector( tokens ); if ( !selector ) { push.apply( results, seed ); return results; } break; } } } } // Compile and execute a filtering function if one is not provided // Provide `match` to avoid retokenization if we modified the selector above ( compiled || compile( selector, match ) )( seed, context, !documentIsHTML, results, !context || rsibling.test( selector ) && testContext( context.parentNode ) || context ); return results; } // One-time assignments // Support: Android <=4.0 - 4.1+ // Sort stability support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; // Initialize against the default document setDocument(); // Support: Android <=4.0 - 4.1+ // Detached nodes confoundingly follow *each other* support.sortDetached = assert( function( el ) { // Should return 1, but returns 4 (following) return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; } ); jQuery.find = find; // Deprecated jQuery.expr[ ":" ] = jQuery.expr.pseudos; jQuery.unique = jQuery.uniqueSort; // These have always been private, but they used to be documented as part of // Sizzle so let's maintain them for now for backwards compatibility purposes. find.compile = compile; find.select = select; find.setDocument = setDocument; find.tokenize = tokenize; find.escape = jQuery.escapeSelector; find.getText = jQuery.text; find.isXML = jQuery.isXMLDoc; find.selectors = jQuery.expr; find.support = jQuery.support; find.uniqueSort = jQuery.uniqueSort; /* eslint-enable */ } )(); var dir = function( elem, dir, until ) { var matched = [], truncate = until !== undefined; while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { if ( elem.nodeType === 1 ) { if ( truncate && jQuery( elem ).is( until ) ) { break; } matched.push( elem ); } } return matched; }; var siblings = function( n, elem ) { var matched = []; for ( ; n; n = n.nextSibling ) { if ( n.nodeType === 1 && n !== elem ) { matched.push( n ); } } return matched; }; var rneedsContext = jQuery.expr.match.needsContext; var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); // Implement the identical functionality for filter and not function winnow( elements, qualifier, not ) { if ( isFunction( qualifier ) ) { return jQuery.grep( elements, function( elem, i ) { return !!qualifier.call( elem, i, elem ) !== not; } ); } // Single element if ( qualifier.nodeType ) { return jQuery.grep( elements, function( elem ) { return ( elem === qualifier ) !== not; } ); } // Arraylike of elements (jQuery, arguments, Array) if ( typeof qualifier !== "string" ) { return jQuery.grep( elements, function( elem ) { return ( indexOf.call( qualifier, elem ) > -1 ) !== not; } ); } // Filtered directly for both simple and complex selectors return jQuery.filter( qualifier, elements, not ); } jQuery.filter = function( expr, elems, not ) { var elem = elems[ 0 ]; if ( not ) { expr = ":not(" + expr + ")"; } if ( elems.length === 1 && elem.nodeType === 1 ) { return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; } return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { return elem.nodeType === 1; } ) ); }; jQuery.fn.extend( { find: function( selector ) { var i, ret, len = this.length, self = this; if ( typeof selector !== "string" ) { return this.pushStack( jQuery( selector ).filter( function() { for ( i = 0; i < len; i++ ) { if ( jQuery.contains( self[ i ], this ) ) { return true; } } } ) ); } ret = this.pushStack( [] ); for ( i = 0; i < len; i++ ) { jQuery.find( selector, self[ i ], ret ); } return len > 1 ? jQuery.uniqueSort( ret ) : ret; }, filter: function( selector ) { return this.pushStack( winnow( this, selector || [], false ) ); }, not: function( selector ) { return this.pushStack( winnow( this, selector || [], true ) ); }, is: function( selector ) { return !!winnow( this, // If this is a positional/relative selector, check membership in the returned set // so $("p:first").is("p:last") won't return true for a doc with two "p". typeof selector === "string" && rneedsContext.test( selector ) ? jQuery( selector ) : selector || [], false ).length; } } ); // Initialize a jQuery object // A central reference to the root jQuery(document) var rootjQuery, // A simple way to check for HTML strings // Prioritize #id over to avoid XSS via location.hash (trac-9521) // Strict HTML recognition (trac-11290: must start with <) // Shortcut simple #id case for speed rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, init = jQuery.fn.init = function( selector, context, root ) { var match, elem; // HANDLE: $(""), $(null), $(undefined), $(false) if ( !selector ) { return this; } // Method init() accepts an alternate rootjQuery // so migrate can support jQuery.sub (gh-2101) root = root || rootjQuery; // Handle HTML strings if ( typeof selector === "string" ) { if ( selector[ 0 ] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) { // Assume that strings that start and end with <> are HTML and skip the regex check match = [ null, selector, null ]; } else { match = rquickExpr.exec( selector ); } // Match html or make sure no context is specified for #id if ( match && ( match[ 1 ] || !context ) ) { // HANDLE: $(html) -> $(array) if ( match[ 1 ] ) { context = context instanceof jQuery ? context[ 0 ] : context; // Option to run scripts is true for back-compat // Intentionally let the error be thrown if parseHTML is not present jQuery.merge( this, jQuery.parseHTML( match[ 1 ], context && context.nodeType ? context.ownerDocument || context : document, true ) ); // HANDLE: $(html, props) if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { for ( match in context ) { // Properties of context are called as methods if possible if ( isFunction( this[ match ] ) ) { this[ match ]( context[ match ] ); // ...and otherwise set as attributes } else { this.attr( match, context[ match ] ); } } } return this; // HANDLE: $(#id) } else { elem = document.getElementById( match[ 2 ] ); if ( elem ) { // Inject the element directly into the jQuery object this[ 0 ] = elem; this.length = 1; } return this; } // HANDLE: $(expr, $(...)) } else if ( !context || context.jquery ) { return ( context || root ).find( selector ); // HANDLE: $(expr, context) // (which is just equivalent to: $(context).find(expr) } else { return this.constructor( context ).find( selector ); } // HANDLE: $(DOMElement) } else if ( selector.nodeType ) { this[ 0 ] = selector; this.length = 1; return this; // HANDLE: $(function) // Shortcut for document ready } else if ( isFunction( selector ) ) { return root.ready !== undefined ? root.ready( selector ) : // Execute immediately if ready is not present selector( jQuery ); } return jQuery.makeArray( selector, this ); }; // Give the init function the jQuery prototype for later instantiation init.prototype = jQuery.fn; // Initialize central reference rootjQuery = jQuery( document ); var rparentsprev = /^(?:parents|prev(?:Until|All))/, // Methods guaranteed to produce a unique set when starting from a unique set guaranteedUnique = { children: true, contents: true, next: true, prev: true }; jQuery.fn.extend( { has: function( target ) { var targets = jQuery( target, this ), l = targets.length; return this.filter( function() { var i = 0; for ( ; i < l; i++ ) { if ( jQuery.contains( this, targets[ i ] ) ) { return true; } } } ); }, closest: function( selectors, context ) { var cur, i = 0, l = this.length, matched = [], targets = typeof selectors !== "string" && jQuery( selectors ); // Positional selectors never match, since there's no _selection_ context if ( !rneedsContext.test( selectors ) ) { for ( ; i < l; i++ ) { for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { // Always skip document fragments if ( cur.nodeType < 11 && ( targets ? targets.index( cur ) > -1 : // Don't pass non-elements to jQuery#find cur.nodeType === 1 && jQuery.find.matchesSelector( cur, selectors ) ) ) { matched.push( cur ); break; } } } } return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); }, // Determine the position of an element within the set index: function( elem ) { // No argument, return index in parent if ( !elem ) { return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; } // Index in selector if ( typeof elem === "string" ) { return indexOf.call( jQuery( elem ), this[ 0 ] ); } // Locate the position of the desired element return indexOf.call( this, // If it receives a jQuery object, the first element is used elem.jquery ? elem[ 0 ] : elem ); }, add: function( selector, context ) { return this.pushStack( jQuery.uniqueSort( jQuery.merge( this.get(), jQuery( selector, context ) ) ) ); }, addBack: function( selector ) { return this.add( selector == null ? this.prevObject : this.prevObject.filter( selector ) ); } } ); function sibling( cur, dir ) { while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} return cur; } jQuery.each( { parent: function( elem ) { var parent = elem.parentNode; return parent && parent.nodeType !== 11 ? parent : null; }, parents: function( elem ) { return dir( elem, "parentNode" ); }, parentsUntil: function( elem, _i, until ) { return dir( elem, "parentNode", until ); }, next: function( elem ) { return sibling( elem, "nextSibling" ); }, prev: function( elem ) { return sibling( elem, "previousSibling" ); }, nextAll: function( elem ) { return dir( elem, "nextSibling" ); }, prevAll: function( elem ) { return dir( elem, "previousSibling" ); }, nextUntil: function( elem, _i, until ) { return dir( elem, "nextSibling", until ); }, prevUntil: function( elem, _i, until ) { return dir( elem, "previousSibling", until ); }, siblings: function( elem ) { return siblings( ( elem.parentNode || {} ).firstChild, elem ); }, children: function( elem ) { return siblings( elem.firstChild ); }, contents: function( elem ) { if ( elem.contentDocument != null && // Support: IE 11+ // elements with no `data` attribute has an object // `contentDocument` with a `null` prototype. getProto( elem.contentDocument ) ) { return elem.contentDocument; } // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only // Treat the template element as a regular one in browsers that // don't support it. if ( nodeName( elem, "template" ) ) { elem = elem.content || elem; } return jQuery.merge( [], elem.childNodes ); } }, function( name, fn ) { jQuery.fn[ name ] = function( until, selector ) { var matched = jQuery.map( this, fn, until ); if ( name.slice( -5 ) !== "Until" ) { selector = until; } if ( selector && typeof selector === "string" ) { matched = jQuery.filter( selector, matched ); } if ( this.length > 1 ) { // Remove duplicates if ( !guaranteedUnique[ name ] ) { jQuery.uniqueSort( matched ); } // Reverse order for parents* and prev-derivatives if ( rparentsprev.test( name ) ) { matched.reverse(); } } return this.pushStack( matched ); }; } ); var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); // Convert String-formatted options into Object-formatted ones function createOptions( options ) { var object = {}; jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { object[ flag ] = true; } ); return object; } /* * Create a callback list using the following parameters: * * options: an optional list of space-separated options that will change how * the callback list behaves or a more traditional option object * * By default a callback list will act like an event callback list and can be * "fired" multiple times. * * Possible options: * * once: will ensure the callback list can only be fired once (like a Deferred) * * memory: will keep track of previous values and will call any callback added * after the list has been fired right away with the latest "memorized" * values (like a Deferred) * * unique: will ensure a callback can only be added once (no duplicate in the list) * * stopOnFalse: interrupt callings when a callback returns false * */ jQuery.Callbacks = function( options ) { // Convert options from String-formatted to Object-formatted if needed // (we check in cache first) options = typeof options === "string" ? createOptions( options ) : jQuery.extend( {}, options ); var // Flag to know if list is currently firing firing, // Last fire value for non-forgettable lists memory, // Flag to know if list was already fired fired, // Flag to prevent firing locked, // Actual callback list list = [], // Queue of execution data for repeatable lists queue = [], // Index of currently firing callback (modified by add/remove as needed) firingIndex = -1, // Fire callbacks fire = function() { // Enforce single-firing locked = locked || options.once; // Execute callbacks for all pending executions, // respecting firingIndex overrides and runtime changes fired = firing = true; for ( ; queue.length; firingIndex = -1 ) { memory = queue.shift(); while ( ++firingIndex < list.length ) { // Run callback and check for early termination if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && options.stopOnFalse ) { // Jump to end and forget the data so .add doesn't re-fire firingIndex = list.length; memory = false; } } } // Forget the data if we're done with it if ( !options.memory ) { memory = false; } firing = false; // Clean up if we're done firing for good if ( locked ) { // Keep an empty list if we have data for future add calls if ( memory ) { list = []; // Otherwise, this object is spent } else { list = ""; } } }, // Actual Callbacks object self = { // Add a callback or a collection of callbacks to the list add: function() { if ( list ) { // If we have memory from a past run, we should fire after adding if ( memory && !firing ) { firingIndex = list.length - 1; queue.push( memory ); } ( function add( args ) { jQuery.each( args, function( _, arg ) { if ( isFunction( arg ) ) { if ( !options.unique || !self.has( arg ) ) { list.push( arg ); } } else if ( arg && arg.length && toType( arg ) !== "string" ) { // Inspect recursively add( arg ); } } ); } )( arguments ); if ( memory && !firing ) { fire(); } } return this; }, // Remove a callback from the list remove: function() { jQuery.each( arguments, function( _, arg ) { var index; while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { list.splice( index, 1 ); // Handle firing indexes if ( index <= firingIndex ) { firingIndex--; } } } ); return this; }, // Check if a given callback is in the list. // If no argument is given, return whether or not list has callbacks attached. has: function( fn ) { return fn ? jQuery.inArray( fn, list ) > -1 : list.length > 0; }, // Remove all callbacks from the list empty: function() { if ( list ) { list = []; } return this; }, // Disable .fire and .add // Abort any current/pending executions // Clear all callbacks and values disable: function() { locked = queue = []; list = memory = ""; return this; }, disabled: function() { return !list; }, // Disable .fire // Also disable .add unless we have memory (since it would have no effect) // Abort any pending executions lock: function() { locked = queue = []; if ( !memory && !firing ) { list = memory = ""; } return this; }, locked: function() { return !!locked; }, // Call all callbacks with the given context and arguments fireWith: function( context, args ) { if ( !locked ) { args = args || []; args = [ context, args.slice ? args.slice() : args ]; queue.push( args ); if ( !firing ) { fire(); } } return this; }, // Call all the callbacks with the given arguments fire: function() { self.fireWith( this, arguments ); return this; }, // To know if the callbacks have already been called at least once fired: function() { return !!fired; } }; return self; }; function Identity( v ) { return v; } function Thrower( ex ) { throw ex; } function adoptValue( value, resolve, reject, noValue ) { var method; try { // Check for promise aspect first to privilege synchronous behavior if ( value && isFunction( ( method = value.promise ) ) ) { method.call( value ).done( resolve ).fail( reject ); // Other thenables } else if ( value && isFunction( ( method = value.then ) ) ) { method.call( value, resolve, reject ); // Other non-thenables } else { // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: // * false: [ value ].slice( 0 ) => resolve( value ) // * true: [ value ].slice( 1 ) => resolve() resolve.apply( undefined, [ value ].slice( noValue ) ); } // For Promises/A+, convert exceptions into rejections // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in // Deferred#then to conditionally suppress rejection. } catch ( value ) { // Support: Android 4.0 only // Strict mode functions invoked without .call/.apply get global-object context reject.apply( undefined, [ value ] ); } } jQuery.extend( { Deferred: function( func ) { var tuples = [ // action, add listener, callbacks, // ... .then handlers, argument index, [final state] [ "notify", "progress", jQuery.Callbacks( "memory" ), jQuery.Callbacks( "memory" ), 2 ], [ "resolve", "done", jQuery.Callbacks( "once memory" ), jQuery.Callbacks( "once memory" ), 0, "resolved" ], [ "reject", "fail", jQuery.Callbacks( "once memory" ), jQuery.Callbacks( "once memory" ), 1, "rejected" ] ], state = "pending", promise = { state: function() { return state; }, always: function() { deferred.done( arguments ).fail( arguments ); return this; }, "catch": function( fn ) { return promise.then( null, fn ); }, // Keep pipe for back-compat pipe: function( /* fnDone, fnFail, fnProgress */ ) { var fns = arguments; return jQuery.Deferred( function( newDefer ) { jQuery.each( tuples, function( _i, tuple ) { // Map tuples (progress, done, fail) to arguments (done, fail, progress) var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; // deferred.progress(function() { bind to newDefer or newDefer.notify }) // deferred.done(function() { bind to newDefer or newDefer.resolve }) // deferred.fail(function() { bind to newDefer or newDefer.reject }) deferred[ tuple[ 1 ] ]( function() { var returned = fn && fn.apply( this, arguments ); if ( returned && isFunction( returned.promise ) ) { returned.promise() .progress( newDefer.notify ) .done( newDefer.resolve ) .fail( newDefer.reject ); } else { newDefer[ tuple[ 0 ] + "With" ]( this, fn ? [ returned ] : arguments ); } } ); } ); fns = null; } ).promise(); }, then: function( onFulfilled, onRejected, onProgress ) { var maxDepth = 0; function resolve( depth, deferred, handler, special ) { return function() { var that = this, args = arguments, mightThrow = function() { var returned, then; // Support: Promises/A+ section 2.3.3.3.3 // https://promisesaplus.com/#point-59 // Ignore double-resolution attempts if ( depth < maxDepth ) { return; } returned = handler.apply( that, args ); // Support: Promises/A+ section 2.3.1 // https://promisesaplus.com/#point-48 if ( returned === deferred.promise() ) { throw new TypeError( "Thenable self-resolution" ); } // Support: Promises/A+ sections 2.3.3.1, 3.5 // https://promisesaplus.com/#point-54 // https://promisesaplus.com/#point-75 // Retrieve `then` only once then = returned && // Support: Promises/A+ section 2.3.4 // https://promisesaplus.com/#point-64 // Only check objects and functions for thenability ( typeof returned === "object" || typeof returned === "function" ) && returned.then; // Handle a returned thenable if ( isFunction( then ) ) { // Special processors (notify) just wait for resolution if ( special ) { then.call( returned, resolve( maxDepth, deferred, Identity, special ), resolve( maxDepth, deferred, Thrower, special ) ); // Normal processors (resolve) also hook into progress } else { // ...and disregard older resolution values maxDepth++; then.call( returned, resolve( maxDepth, deferred, Identity, special ), resolve( maxDepth, deferred, Thrower, special ), resolve( maxDepth, deferred, Identity, deferred.notifyWith ) ); } // Handle all other returned values } else { // Only substitute handlers pass on context // and multiple values (non-spec behavior) if ( handler !== Identity ) { that = undefined; args = [ returned ]; } // Process the value(s) // Default process is resolve ( special || deferred.resolveWith )( that, args ); } }, // Only normal processors (resolve) catch and reject exceptions process = special ? mightThrow : function() { try { mightThrow(); } catch ( e ) { if ( jQuery.Deferred.exceptionHook ) { jQuery.Deferred.exceptionHook( e, process.error ); } // Support: Promises/A+ section 2.3.3.3.4.1 // https://promisesaplus.com/#point-61 // Ignore post-resolution exceptions if ( depth + 1 >= maxDepth ) { // Only substitute handlers pass on context // and multiple values (non-spec behavior) if ( handler !== Thrower ) { that = undefined; args = [ e ]; } deferred.rejectWith( that, args ); } } }; // Support: Promises/A+ section 2.3.3.3.1 // https://promisesaplus.com/#point-57 // Re-resolve promises immediately to dodge false rejection from // subsequent errors if ( depth ) { process(); } else { // Call an optional hook to record the error, in case of exception // since it's otherwise lost when execution goes async if ( jQuery.Deferred.getErrorHook ) { process.error = jQuery.Deferred.getErrorHook(); // The deprecated alias of the above. While the name suggests // returning the stack, not an error instance, jQuery just passes // it directly to `console.warn` so both will work; an instance // just better cooperates with source maps. } else if ( jQuery.Deferred.getStackHook ) { process.error = jQuery.Deferred.getStackHook(); } window.setTimeout( process ); } }; } return jQuery.Deferred( function( newDefer ) { // progress_handlers.add( ... ) tuples[ 0 ][ 3 ].add( resolve( 0, newDefer, isFunction( onProgress ) ? onProgress : Identity, newDefer.notifyWith ) ); // fulfilled_handlers.add( ... ) tuples[ 1 ][ 3 ].add( resolve( 0, newDefer, isFunction( onFulfilled ) ? onFulfilled : Identity ) ); // rejected_handlers.add( ... ) tuples[ 2 ][ 3 ].add( resolve( 0, newDefer, isFunction( onRejected ) ? onRejected : Thrower ) ); } ).promise(); }, // Get a promise for this deferred // If obj is provided, the promise aspect is added to the object promise: function( obj ) { return obj != null ? jQuery.extend( obj, promise ) : promise; } }, deferred = {}; // Add list-specific methods jQuery.each( tuples, function( i, tuple ) { var list = tuple[ 2 ], stateString = tuple[ 5 ]; // promise.progress = list.add // promise.done = list.add // promise.fail = list.add promise[ tuple[ 1 ] ] = list.add; // Handle state if ( stateString ) { list.add( function() { // state = "resolved" (i.e., fulfilled) // state = "rejected" state = stateString; }, // rejected_callbacks.disable // fulfilled_callbacks.disable tuples[ 3 - i ][ 2 ].disable, // rejected_handlers.disable // fulfilled_handlers.disable tuples[ 3 - i ][ 3 ].disable, // progress_callbacks.lock tuples[ 0 ][ 2 ].lock, // progress_handlers.lock tuples[ 0 ][ 3 ].lock ); } // progress_handlers.fire // fulfilled_handlers.fire // rejected_handlers.fire list.add( tuple[ 3 ].fire ); // deferred.notify = function() { deferred.notifyWith(...) } // deferred.resolve = function() { deferred.resolveWith(...) } // deferred.reject = function() { deferred.rejectWith(...) } deferred[ tuple[ 0 ] ] = function() { deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); return this; }; // deferred.notifyWith = list.fireWith // deferred.resolveWith = list.fireWith // deferred.rejectWith = list.fireWith deferred[ tuple[ 0 ] + "With" ] = list.fireWith; } ); // Make the deferred a promise promise.promise( deferred ); // Call given func if any if ( func ) { func.call( deferred, deferred ); } // All done! return deferred; }, // Deferred helper when: function( singleValue ) { var // count of uncompleted subordinates remaining = arguments.length, // count of unprocessed arguments i = remaining, // subordinate fulfillment data resolveContexts = Array( i ), resolveValues = slice.call( arguments ), // the primary Deferred primary = jQuery.Deferred(), // subordinate callback factory updateFunc = function( i ) { return function( value ) { resolveContexts[ i ] = this; resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; if ( !( --remaining ) ) { primary.resolveWith( resolveContexts, resolveValues ); } }; }; // Single- and empty arguments are adopted like Promise.resolve if ( remaining <= 1 ) { adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, !remaining ); // Use .then() to unwrap secondary thenables (cf. gh-3000) if ( primary.state() === "pending" || isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { return primary.then(); } } // Multiple arguments are aggregated like Promise.all array elements while ( i-- ) { adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); } return primary.promise(); } } ); // These usually indicate a programmer mistake during development, // warn about them ASAP rather than swallowing them by default. var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; // If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error // captured before the async barrier to get the original error cause // which may otherwise be hidden. jQuery.Deferred.exceptionHook = function( error, asyncError ) { // Support: IE 8 - 9 only // Console exists when dev tools are open, which can happen at any time if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, asyncError ); } }; jQuery.readyException = function( error ) { window.setTimeout( function() { throw error; } ); }; // The deferred used on DOM ready var readyList = jQuery.Deferred(); jQuery.fn.ready = function( fn ) { readyList .then( fn ) // Wrap jQuery.readyException in a function so that the lookup // happens at the time of error handling instead of callback // registration. .catch( function( error ) { jQuery.readyException( error ); } ); return this; }; jQuery.extend( { // Is the DOM ready to be used? Set to true once it occurs. isReady: false, // A counter to track how many items to wait for before // the ready event fires. See trac-6781 readyWait: 1, // Handle when the DOM is ready ready: function( wait ) { // Abort if there are pending holds or we're already ready if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { return; } // Remember that the DOM is ready jQuery.isReady = true; // If a normal DOM Ready event fired, decrement, and wait if need be if ( wait !== true && --jQuery.readyWait > 0 ) { return; } // If there are functions bound, to execute readyList.resolveWith( document, [ jQuery ] ); } } ); jQuery.ready.then = readyList.then; // The ready event handler and self cleanup method function completed() { document.removeEventListener( "DOMContentLoaded", completed ); window.removeEventListener( "load", completed ); jQuery.ready(); } // Catch cases where $(document).ready() is called // after the browser event has already occurred. // Support: IE <=9 - 10 only // Older IE sometimes signals "interactive" too soon if ( document.readyState === "complete" || ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { // Handle it asynchronously to allow scripts the opportunity to delay ready window.setTimeout( jQuery.ready ); } else { // Use the handy event callback document.addEventListener( "DOMContentLoaded", completed ); // A fallback to window.onload, that will always work window.addEventListener( "load", completed ); } // Multifunctional method to get and set values of a collection // The value/s can optionally be executed if it's a function var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { var i = 0, len = elems.length, bulk = key == null; // Sets many values if ( toType( key ) === "object" ) { chainable = true; for ( i in key ) { access( elems, fn, i, key[ i ], true, emptyGet, raw ); } // Sets one value } else if ( value !== undefined ) { chainable = true; if ( !isFunction( value ) ) { raw = true; } if ( bulk ) { // Bulk operations run against the entire set if ( raw ) { fn.call( elems, value ); fn = null; // ...except when executing function values } else { bulk = fn; fn = function( elem, _key, value ) { return bulk.call( jQuery( elem ), value ); }; } } if ( fn ) { for ( ; i < len; i++ ) { fn( elems[ i ], key, raw ? value : value.call( elems[ i ], i, fn( elems[ i ], key ) ) ); } } } if ( chainable ) { return elems; } // Gets if ( bulk ) { return fn.call( elems ); } return len ? fn( elems[ 0 ], key ) : emptyGet; }; // Matches dashed string for camelizing var rmsPrefix = /^-ms-/, rdashAlpha = /-([a-z])/g; // Used by camelCase as callback to replace() function fcamelCase( _all, letter ) { return letter.toUpperCase(); } // Convert dashed to camelCase; used by the css and data modules // Support: IE <=9 - 11, Edge 12 - 15 // Microsoft forgot to hump their vendor prefix (trac-9572) function camelCase( string ) { return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); } var acceptData = function( owner ) { // Accepts only: // - Node // - Node.ELEMENT_NODE // - Node.DOCUMENT_NODE // - Object // - Any return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); }; function Data() { this.expando = jQuery.expando + Data.uid++; } Data.uid = 1; Data.prototype = { cache: function( owner ) { // Check if the owner object already has a cache var value = owner[ this.expando ]; // If not, create one if ( !value ) { value = {}; // We can accept data for non-element nodes in modern browsers, // but we should not, see trac-8335. // Always return an empty object. if ( acceptData( owner ) ) { // If it is a node unlikely to be stringify-ed or looped over // use plain assignment if ( owner.nodeType ) { owner[ this.expando ] = value; // Otherwise secure it in a non-enumerable property // configurable must be true to allow the property to be // deleted when data is removed } else { Object.defineProperty( owner, this.expando, { value: value, configurable: true } ); } } } return value; }, set: function( owner, data, value ) { var prop, cache = this.cache( owner ); // Handle: [ owner, key, value ] args // Always use camelCase key (gh-2257) if ( typeof data === "string" ) { cache[ camelCase( data ) ] = value; // Handle: [ owner, { properties } ] args } else { // Copy the properties one-by-one to the cache object for ( prop in data ) { cache[ camelCase( prop ) ] = data[ prop ]; } } return cache; }, get: function( owner, key ) { return key === undefined ? this.cache( owner ) : // Always use camelCase key (gh-2257) owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; }, access: function( owner, key, value ) { // In cases where either: // // 1. No key was specified // 2. A string key was specified, but no value provided // // Take the "read" path and allow the get method to determine // which value to return, respectively either: // // 1. The entire cache object // 2. The data stored at the key // if ( key === undefined || ( ( key && typeof key === "string" ) && value === undefined ) ) { return this.get( owner, key ); } // When the key is not a string, or both a key and value // are specified, set or extend (existing objects) with either: // // 1. An object of properties // 2. A key and value // this.set( owner, key, value ); // Since the "set" path can have two possible entry points // return the expected data based on which path was taken[*] return value !== undefined ? value : key; }, remove: function( owner, key ) { var i, cache = owner[ this.expando ]; if ( cache === undefined ) { return; } if ( key !== undefined ) { // Support array or space separated string of keys if ( Array.isArray( key ) ) { // If key is an array of keys... // We always set camelCase keys, so remove that. key = key.map( camelCase ); } else { key = camelCase( key ); // If a key with the spaces exists, use it. // Otherwise, create an array by matching non-whitespace key = key in cache ? [ key ] : ( key.match( rnothtmlwhite ) || [] ); } i = key.length; while ( i-- ) { delete cache[ key[ i ] ]; } } // Remove the expando if there's no more data if ( key === undefined || jQuery.isEmptyObject( cache ) ) { // Support: Chrome <=35 - 45 // Webkit & Blink performance suffers when deleting properties // from DOM nodes, so set to undefined instead // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) if ( owner.nodeType ) { owner[ this.expando ] = undefined; } else { delete owner[ this.expando ]; } } }, hasData: function( owner ) { var cache = owner[ this.expando ]; return cache !== undefined && !jQuery.isEmptyObject( cache ); } }; var dataPriv = new Data(); var dataUser = new Data(); // Implementation Summary // // 1. Enforce API surface and semantic compatibility with 1.9.x branch // 2. Improve the module's maintainability by reducing the storage // paths to a single mechanism. // 3. Use the same single mechanism to support "private" and "user" data. // 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) // 5. Avoid exposing implementation details on user objects (eg. expando properties) // 6. Provide a clear path for implementation upgrade to WeakMap in 2014 var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, rmultiDash = /[A-Z]/g; function getData( data ) { if ( data === "true" ) { return true; } if ( data === "false" ) { return false; } if ( data === "null" ) { return null; } // Only convert to a number if it doesn't change the string if ( data === +data + "" ) { return +data; } if ( rbrace.test( data ) ) { return JSON.parse( data ); } return data; } function dataAttr( elem, key, data ) { var name; // If nothing was found internally, try to fetch any // data from the HTML5 data-* attribute if ( data === undefined && elem.nodeType === 1 ) { name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); data = elem.getAttribute( name ); if ( typeof data === "string" ) { try { data = getData( data ); } catch ( e ) {} // Make sure we set the data so it isn't changed later dataUser.set( elem, key, data ); } else { data = undefined; } } return data; } jQuery.extend( { hasData: function( elem ) { return dataUser.hasData( elem ) || dataPriv.hasData( elem ); }, data: function( elem, name, data ) { return dataUser.access( elem, name, data ); }, removeData: function( elem, name ) { dataUser.remove( elem, name ); }, // TODO: Now that all calls to _data and _removeData have been replaced // with direct calls to dataPriv methods, these can be deprecated. _data: function( elem, name, data ) { return dataPriv.access( elem, name, data ); }, _removeData: function( elem, name ) { dataPriv.remove( elem, name ); } } ); jQuery.fn.extend( { data: function( key, value ) { var i, name, data, elem = this[ 0 ], attrs = elem && elem.attributes; // Gets all values if ( key === undefined ) { if ( this.length ) { data = dataUser.get( elem ); if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { i = attrs.length; while ( i-- ) { // Support: IE 11 only // The attrs elements can be null (trac-14894) if ( attrs[ i ] ) { name = attrs[ i ].name; if ( name.indexOf( "data-" ) === 0 ) { name = camelCase( name.slice( 5 ) ); dataAttr( elem, name, data[ name ] ); } } } dataPriv.set( elem, "hasDataAttrs", true ); } } return data; } // Sets multiple values if ( typeof key === "object" ) { return this.each( function() { dataUser.set( this, key ); } ); } return access( this, function( value ) { var data; // The calling jQuery object (element matches) is not empty // (and therefore has an element appears at this[ 0 ]) and the // `value` parameter was not undefined. An empty jQuery object // will result in `undefined` for elem = this[ 0 ] which will // throw an exception if an attempt to read a data cache is made. if ( elem && value === undefined ) { // Attempt to get data from the cache // The key will always be camelCased in Data data = dataUser.get( elem, key ); if ( data !== undefined ) { return data; } // Attempt to "discover" the data in // HTML5 custom data-* attrs data = dataAttr( elem, key ); if ( data !== undefined ) { return data; } // We tried really hard, but the data doesn't exist. return; } // Set the data... this.each( function() { // We always store the camelCased key dataUser.set( this, key, value ); } ); }, null, value, arguments.length > 1, null, true ); }, removeData: function( key ) { return this.each( function() { dataUser.remove( this, key ); } ); } } ); jQuery.extend( { queue: function( elem, type, data ) { var queue; if ( elem ) { type = ( type || "fx" ) + "queue"; queue = dataPriv.get( elem, type ); // Speed up dequeue by getting out quickly if this is just a lookup if ( data ) { if ( !queue || Array.isArray( data ) ) { queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); } else { queue.push( data ); } } return queue || []; } }, dequeue: function( elem, type ) { type = type || "fx"; var queue = jQuery.queue( elem, type ), startLength = queue.length, fn = queue.shift(), hooks = jQuery._queueHooks( elem, type ), next = function() { jQuery.dequeue( elem, type ); }; // If the fx queue is dequeued, always remove the progress sentinel if ( fn === "inprogress" ) { fn = queue.shift(); startLength--; } if ( fn ) { // Add a progress sentinel to prevent the fx queue from being // automatically dequeued if ( type === "fx" ) { queue.unshift( "inprogress" ); } // Clear up the last queue stop function delete hooks.stop; fn.call( elem, next, hooks ); } if ( !startLength && hooks ) { hooks.empty.fire(); } }, // Not public - generate a queueHooks object, or return the current one _queueHooks: function( elem, type ) { var key = type + "queueHooks"; return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { empty: jQuery.Callbacks( "once memory" ).add( function() { dataPriv.remove( elem, [ type + "queue", key ] ); } ) } ); } } ); jQuery.fn.extend( { queue: function( type, data ) { var setter = 2; if ( typeof type !== "string" ) { data = type; type = "fx"; setter--; } if ( arguments.length < setter ) { return jQuery.queue( this[ 0 ], type ); } return data === undefined ? this : this.each( function() { var queue = jQuery.queue( this, type, data ); // Ensure a hooks for this queue jQuery._queueHooks( this, type ); if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { jQuery.dequeue( this, type ); } } ); }, dequeue: function( type ) { return this.each( function() { jQuery.dequeue( this, type ); } ); }, clearQueue: function( type ) { return this.queue( type || "fx", [] ); }, // Get a promise resolved when queues of a certain type // are emptied (fx is the type by default) promise: function( type, obj ) { var tmp, count = 1, defer = jQuery.Deferred(), elements = this, i = this.length, resolve = function() { if ( !( --count ) ) { defer.resolveWith( elements, [ elements ] ); } }; if ( typeof type !== "string" ) { obj = type; type = undefined; } type = type || "fx"; while ( i-- ) { tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); if ( tmp && tmp.empty ) { count++; tmp.empty.add( resolve ); } } resolve(); return defer.promise( obj ); } } ); var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; var documentElement = document.documentElement; var isAttached = function( elem ) { return jQuery.contains( elem.ownerDocument, elem ); }, composed = { composed: true }; // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only // Check attachment across shadow DOM boundaries when possible (gh-3504) // Support: iOS 10.0-10.2 only // Early iOS 10 versions support `attachShadow` but not `getRootNode`, // leading to errors. We need to check for `getRootNode`. if ( documentElement.getRootNode ) { isAttached = function( elem ) { return jQuery.contains( elem.ownerDocument, elem ) || elem.getRootNode( composed ) === elem.ownerDocument; }; } var isHiddenWithinTree = function( elem, el ) { // isHiddenWithinTree might be called from jQuery#filter function; // in that case, element will be second argument elem = el || elem; // Inline style trumps all return elem.style.display === "none" || elem.style.display === "" && // Otherwise, check computed style // Support: Firefox <=43 - 45 // Disconnected elements can have computed display: none, so first confirm that elem is // in the document. isAttached( elem ) && jQuery.css( elem, "display" ) === "none"; }; function adjustCSS( elem, prop, valueParts, tween ) { var adjusted, scale, maxIterations = 20, currentValue = tween ? function() { return tween.cur(); } : function() { return jQuery.css( elem, prop, "" ); }, initial = currentValue(), unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), // Starting value computation is required for potential unit mismatches initialInUnit = elem.nodeType && ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && rcssNum.exec( jQuery.css( elem, prop ) ); if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { // Support: Firefox <=54 // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) initial = initial / 2; // Trust units reported by jQuery.css unit = unit || initialInUnit[ 3 ]; // Iteratively approximate from a nonzero starting point initialInUnit = +initial || 1; while ( maxIterations-- ) { // Evaluate and update our best guess (doubling guesses that zero out). // Finish if the scale equals or crosses 1 (making the old*new product non-positive). jQuery.style( elem, prop, initialInUnit + unit ); if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { maxIterations = 0; } initialInUnit = initialInUnit / scale; } initialInUnit = initialInUnit * 2; jQuery.style( elem, prop, initialInUnit + unit ); // Make sure we update the tween properties later on valueParts = valueParts || []; } if ( valueParts ) { initialInUnit = +initialInUnit || +initial || 0; // Apply relative offset (+=/-=) if specified adjusted = valueParts[ 1 ] ? initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : +valueParts[ 2 ]; if ( tween ) { tween.unit = unit; tween.start = initialInUnit; tween.end = adjusted; } } return adjusted; } var defaultDisplayMap = {}; function getDefaultDisplay( elem ) { var temp, doc = elem.ownerDocument, nodeName = elem.nodeName, display = defaultDisplayMap[ nodeName ]; if ( display ) { return display; } temp = doc.body.appendChild( doc.createElement( nodeName ) ); display = jQuery.css( temp, "display" ); temp.parentNode.removeChild( temp ); if ( display === "none" ) { display = "block"; } defaultDisplayMap[ nodeName ] = display; return display; } function showHide( elements, show ) { var display, elem, values = [], index = 0, length = elements.length; // Determine new display value for elements that need to change for ( ; index < length; index++ ) { elem = elements[ index ]; if ( !elem.style ) { continue; } display = elem.style.display; if ( show ) { // Since we force visibility upon cascade-hidden elements, an immediate (and slow) // check is required in this first loop unless we have a nonempty display value (either // inline or about-to-be-restored) if ( display === "none" ) { values[ index ] = dataPriv.get( elem, "display" ) || null; if ( !values[ index ] ) { elem.style.display = ""; } } if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { values[ index ] = getDefaultDisplay( elem ); } } else { if ( display !== "none" ) { values[ index ] = "none"; // Remember what we're overwriting dataPriv.set( elem, "display", display ); } } } // Set the display of the elements in a second loop to avoid constant reflow for ( index = 0; index < length; index++ ) { if ( values[ index ] != null ) { elements[ index ].style.display = values[ index ]; } } return elements; } jQuery.fn.extend( { show: function() { return showHide( this, true ); }, hide: function() { return showHide( this ); }, toggle: function( state ) { if ( typeof state === "boolean" ) { return state ? this.show() : this.hide(); } return this.each( function() { if ( isHiddenWithinTree( this ) ) { jQuery( this ).show(); } else { jQuery( this ).hide(); } } ); } } ); var rcheckableType = ( /^(?:checkbox|radio)$/i ); var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); ( function() { var fragment = document.createDocumentFragment(), div = fragment.appendChild( document.createElement( "div" ) ), input = document.createElement( "input" ); // Support: Android 4.0 - 4.3 only // Check state lost if the name is set (trac-11217) // Support: Windows Web Apps (WWA) // `name` and `type` must use .setAttribute for WWA (trac-14901) input.setAttribute( "type", "radio" ); input.setAttribute( "checked", "checked" ); input.setAttribute( "name", "t" ); div.appendChild( input ); // Support: Android <=4.1 only // Older WebKit doesn't clone checked state correctly in fragments support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; // Support: IE <=11 only // Make sure textarea (and checkbox) defaultValue is properly cloned div.innerHTML = ""; support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; // Support: IE <=9 only // IE <=9 replaces "; support.option = !!div.lastChild; } )(); // We have to close these tags to support XHTML (trac-13200) var wrapMap = { // XHTML parsers do not magically insert elements in the // same way that tag soup parsers do. So we cannot shorten // this by omitting or other required elements. thead: [ 1, "", "
    " ], col: [ 2, "", "
    " ], tr: [ 2, "", "
    " ], td: [ 3, "", "
    " ], _default: [ 0, "", "" ] }; wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; wrapMap.th = wrapMap.td; // Support: IE <=9 only if ( !support.option ) { wrapMap.optgroup = wrapMap.option = [ 1, "" ]; } function getAll( context, tag ) { // Support: IE <=9 - 11 only // Use typeof to avoid zero-argument method invocation on host objects (trac-15151) var ret; if ( typeof context.getElementsByTagName !== "undefined" ) { ret = context.getElementsByTagName( tag || "*" ); } else if ( typeof context.querySelectorAll !== "undefined" ) { ret = context.querySelectorAll( tag || "*" ); } else { ret = []; } if ( tag === undefined || tag && nodeName( context, tag ) ) { return jQuery.merge( [ context ], ret ); } return ret; } // Mark scripts as having already been evaluated function setGlobalEval( elems, refElements ) { var i = 0, l = elems.length; for ( ; i < l; i++ ) { dataPriv.set( elems[ i ], "globalEval", !refElements || dataPriv.get( refElements[ i ], "globalEval" ) ); } } var rhtml = /<|&#?\w+;/; function buildFragment( elems, context, scripts, selection, ignored ) { var elem, tmp, tag, wrap, attached, j, fragment = context.createDocumentFragment(), nodes = [], i = 0, l = elems.length; for ( ; i < l; i++ ) { elem = elems[ i ]; if ( elem || elem === 0 ) { // Add nodes directly if ( toType( elem ) === "object" ) { // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); // Convert non-html into a text node } else if ( !rhtml.test( elem ) ) { nodes.push( context.createTextNode( elem ) ); // Convert html into DOM nodes } else { tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); // Deserialize a standard representation tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); wrap = wrapMap[ tag ] || wrapMap._default; tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; // Descend through wrappers to the right content j = wrap[ 0 ]; while ( j-- ) { tmp = tmp.lastChild; } // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit jQuery.merge( nodes, tmp.childNodes ); // Remember the top-level container tmp = fragment.firstChild; // Ensure the created nodes are orphaned (trac-12392) tmp.textContent = ""; } } } // Remove wrapper from fragment fragment.textContent = ""; i = 0; while ( ( elem = nodes[ i++ ] ) ) { // Skip elements already in the context collection (trac-4087) if ( selection && jQuery.inArray( elem, selection ) > -1 ) { if ( ignored ) { ignored.push( elem ); } continue; } attached = isAttached( elem ); // Append to fragment tmp = getAll( fragment.appendChild( elem ), "script" ); // Preserve script evaluation history if ( attached ) { setGlobalEval( tmp ); } // Capture executables if ( scripts ) { j = 0; while ( ( elem = tmp[ j++ ] ) ) { if ( rscriptType.test( elem.type || "" ) ) { scripts.push( elem ); } } } } return fragment; } var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; function returnTrue() { return true; } function returnFalse() { return false; } function on( elem, types, selector, data, fn, one ) { var origFn, type; // Types can be a map of types/handlers if ( typeof types === "object" ) { // ( types-Object, selector, data ) if ( typeof selector !== "string" ) { // ( types-Object, data ) data = data || selector; selector = undefined; } for ( type in types ) { on( elem, type, selector, data, types[ type ], one ); } return elem; } if ( data == null && fn == null ) { // ( types, fn ) fn = selector; data = selector = undefined; } else if ( fn == null ) { if ( typeof selector === "string" ) { // ( types, selector, fn ) fn = data; data = undefined; } else { // ( types, data, fn ) fn = data; data = selector; selector = undefined; } } if ( fn === false ) { fn = returnFalse; } else if ( !fn ) { return elem; } if ( one === 1 ) { origFn = fn; fn = function( event ) { // Can use an empty set, since event contains the info jQuery().off( event ); return origFn.apply( this, arguments ); }; // Use same guid so caller can remove using origFn fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); } return elem.each( function() { jQuery.event.add( this, types, fn, data, selector ); } ); } /* * Helper functions for managing events -- not part of the public interface. * Props to Dean Edwards' addEvent library for many of the ideas. */ jQuery.event = { global: {}, add: function( elem, types, handler, data, selector ) { var handleObjIn, eventHandle, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, elemData = dataPriv.get( elem ); // Only attach events to objects that accept data if ( !acceptData( elem ) ) { return; } // Caller can pass in an object of custom data in lieu of the handler if ( handler.handler ) { handleObjIn = handler; handler = handleObjIn.handler; selector = handleObjIn.selector; } // Ensure that invalid selectors throw exceptions at attach time // Evaluate against documentElement in case elem is a non-element node (e.g., document) if ( selector ) { jQuery.find.matchesSelector( documentElement, selector ); } // Make sure that the handler has a unique ID, used to find/remove it later if ( !handler.guid ) { handler.guid = jQuery.guid++; } // Init the element's event structure and main handler, if this is the first if ( !( events = elemData.events ) ) { events = elemData.events = Object.create( null ); } if ( !( eventHandle = elemData.handle ) ) { eventHandle = elemData.handle = function( e ) { // Discard the second event of a jQuery.event.trigger() and // when an event is called after a page has unloaded return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply( elem, arguments ) : undefined; }; } // Handle multiple events separated by a space types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; t = types.length; while ( t-- ) { tmp = rtypenamespace.exec( types[ t ] ) || []; type = origType = tmp[ 1 ]; namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); // There *must* be a type, no attaching namespace-only handlers if ( !type ) { continue; } // If event changes its type, use the special event handlers for the changed type special = jQuery.event.special[ type ] || {}; // If selector defined, determine special event api type, otherwise given type type = ( selector ? special.delegateType : special.bindType ) || type; // Update special based on newly reset type special = jQuery.event.special[ type ] || {}; // handleObj is passed to all event handlers handleObj = jQuery.extend( { type: type, origType: origType, data: data, handler: handler, guid: handler.guid, selector: selector, needsContext: selector && jQuery.expr.match.needsContext.test( selector ), namespace: namespaces.join( "." ) }, handleObjIn ); // Init the event handler queue if we're the first if ( !( handlers = events[ type ] ) ) { handlers = events[ type ] = []; handlers.delegateCount = 0; // Only use addEventListener if the special events handler returns false if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { if ( elem.addEventListener ) { elem.addEventListener( type, eventHandle ); } } } if ( special.add ) { special.add.call( elem, handleObj ); if ( !handleObj.handler.guid ) { handleObj.handler.guid = handler.guid; } } // Add to the element's handler list, delegates in front if ( selector ) { handlers.splice( handlers.delegateCount++, 0, handleObj ); } else { handlers.push( handleObj ); } // Keep track of which events have ever been used, for event optimization jQuery.event.global[ type ] = true; } }, // Detach an event or set of events from an element remove: function( elem, types, handler, selector, mappedTypes ) { var j, origCount, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); if ( !elemData || !( events = elemData.events ) ) { return; } // Once for each type.namespace in types; type may be omitted types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; t = types.length; while ( t-- ) { tmp = rtypenamespace.exec( types[ t ] ) || []; type = origType = tmp[ 1 ]; namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); // Unbind all events (on this namespace, if provided) for the element if ( !type ) { for ( type in events ) { jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); } continue; } special = jQuery.event.special[ type ] || {}; type = ( selector ? special.delegateType : special.bindType ) || type; handlers = events[ type ] || []; tmp = tmp[ 2 ] && new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); // Remove matching events origCount = j = handlers.length; while ( j-- ) { handleObj = handlers[ j ]; if ( ( mappedTypes || origType === handleObj.origType ) && ( !handler || handler.guid === handleObj.guid ) && ( !tmp || tmp.test( handleObj.namespace ) ) && ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { handlers.splice( j, 1 ); if ( handleObj.selector ) { handlers.delegateCount--; } if ( special.remove ) { special.remove.call( elem, handleObj ); } } } // Remove generic event handler if we removed something and no more handlers exist // (avoids potential for endless recursion during removal of special event handlers) if ( origCount && !handlers.length ) { if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { jQuery.removeEvent( elem, type, elemData.handle ); } delete events[ type ]; } } // Remove data and the expando if it's no longer used if ( jQuery.isEmptyObject( events ) ) { dataPriv.remove( elem, "handle events" ); } }, dispatch: function( nativeEvent ) { var i, j, ret, matched, handleObj, handlerQueue, args = new Array( arguments.length ), // Make a writable jQuery.Event from the native event object event = jQuery.event.fix( nativeEvent ), handlers = ( dataPriv.get( this, "events" ) || Object.create( null ) )[ event.type ] || [], special = jQuery.event.special[ event.type ] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event args[ 0 ] = event; for ( i = 1; i < arguments.length; i++ ) { args[ i ] = arguments[ i ]; } event.delegateTarget = this; // Call the preDispatch hook for the mapped type, and let it bail if desired if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { return; } // Determine handlers handlerQueue = jQuery.event.handlers.call( this, event, handlers ); // Run delegates first; they may want to stop propagation beneath us i = 0; while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { event.currentTarget = matched.elem; j = 0; while ( ( handleObj = matched.handlers[ j++ ] ) && !event.isImmediatePropagationStopped() ) { // If the event is namespaced, then each handler is only invoked if it is // specially universal or its namespaces are a superset of the event's. if ( !event.rnamespace || handleObj.namespace === false || event.rnamespace.test( handleObj.namespace ) ) { event.handleObj = handleObj; event.data = handleObj.data; ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || handleObj.handler ).apply( matched.elem, args ); if ( ret !== undefined ) { if ( ( event.result = ret ) === false ) { event.preventDefault(); event.stopPropagation(); } } } } } // Call the postDispatch hook for the mapped type if ( special.postDispatch ) { special.postDispatch.call( this, event ); } return event.result; }, handlers: function( event, handlers ) { var i, handleObj, sel, matchedHandlers, matchedSelectors, handlerQueue = [], delegateCount = handlers.delegateCount, cur = event.target; // Find delegate handlers if ( delegateCount && // Support: IE <=9 // Black-hole SVG instance trees (trac-13180) cur.nodeType && // Support: Firefox <=42 // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click // Support: IE 11 only // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) !( event.type === "click" && event.button >= 1 ) ) { for ( ; cur !== this; cur = cur.parentNode || this ) { // Don't check non-elements (trac-13208) // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764) if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { matchedHandlers = []; matchedSelectors = {}; for ( i = 0; i < delegateCount; i++ ) { handleObj = handlers[ i ]; // Don't conflict with Object.prototype properties (trac-13203) sel = handleObj.selector + " "; if ( matchedSelectors[ sel ] === undefined ) { matchedSelectors[ sel ] = handleObj.needsContext ? jQuery( sel, this ).index( cur ) > -1 : jQuery.find( sel, this, null, [ cur ] ).length; } if ( matchedSelectors[ sel ] ) { matchedHandlers.push( handleObj ); } } if ( matchedHandlers.length ) { handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); } } } } // Add the remaining (directly-bound) handlers cur = this; if ( delegateCount < handlers.length ) { handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); } return handlerQueue; }, addProp: function( name, hook ) { Object.defineProperty( jQuery.Event.prototype, name, { enumerable: true, configurable: true, get: isFunction( hook ) ? function() { if ( this.originalEvent ) { return hook( this.originalEvent ); } } : function() { if ( this.originalEvent ) { return this.originalEvent[ name ]; } }, set: function( value ) { Object.defineProperty( this, name, { enumerable: true, configurable: true, writable: true, value: value } ); } } ); }, fix: function( originalEvent ) { return originalEvent[ jQuery.expando ] ? originalEvent : new jQuery.Event( originalEvent ); }, special: { load: { // Prevent triggered image.load events from bubbling to window.load noBubble: true }, click: { // Utilize native event to ensure correct state for checkable inputs setup: function( data ) { // For mutual compressibility with _default, replace `this` access with a local var. // `|| data` is dead code meant only to preserve the variable through minification. var el = this || data; // Claim the first handler if ( rcheckableType.test( el.type ) && el.click && nodeName( el, "input" ) ) { // dataPriv.set( el, "click", ... ) leverageNative( el, "click", true ); } // Return false to allow normal processing in the caller return false; }, trigger: function( data ) { // For mutual compressibility with _default, replace `this` access with a local var. // `|| data` is dead code meant only to preserve the variable through minification. var el = this || data; // Force setup before triggering a click if ( rcheckableType.test( el.type ) && el.click && nodeName( el, "input" ) ) { leverageNative( el, "click" ); } // Return non-false to allow normal event-path propagation return true; }, // For cross-browser consistency, suppress native .click() on links // Also prevent it if we're currently inside a leveraged native-event stack _default: function( event ) { var target = event.target; return rcheckableType.test( target.type ) && target.click && nodeName( target, "input" ) && dataPriv.get( target, "click" ) || nodeName( target, "a" ); } }, beforeunload: { postDispatch: function( event ) { // Support: Firefox 20+ // Firefox doesn't alert if the returnValue field is not set. if ( event.result !== undefined && event.originalEvent ) { event.originalEvent.returnValue = event.result; } } } } }; // Ensure the presence of an event listener that handles manually-triggered // synthetic events by interrupting progress until reinvoked in response to // *native* events that it fires directly, ensuring that state changes have // already occurred before other listeners are invoked. function leverageNative( el, type, isSetup ) { // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add if ( !isSetup ) { if ( dataPriv.get( el, type ) === undefined ) { jQuery.event.add( el, type, returnTrue ); } return; } // Register the controller as a special universal handler for all event namespaces dataPriv.set( el, type, false ); jQuery.event.add( el, type, { namespace: false, handler: function( event ) { var result, saved = dataPriv.get( this, type ); if ( ( event.isTrigger & 1 ) && this[ type ] ) { // Interrupt processing of the outer synthetic .trigger()ed event if ( !saved ) { // Store arguments for use when handling the inner native event // There will always be at least one argument (an event object), so this array // will not be confused with a leftover capture object. saved = slice.call( arguments ); dataPriv.set( this, type, saved ); // Trigger the native event and capture its result this[ type ](); result = dataPriv.get( this, type ); dataPriv.set( this, type, false ); if ( saved !== result ) { // Cancel the outer synthetic event event.stopImmediatePropagation(); event.preventDefault(); return result; } // If this is an inner synthetic event for an event with a bubbling surrogate // (focus or blur), assume that the surrogate already propagated from triggering // the native event and prevent that from happening again here. // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the // bubbling surrogate propagates *after* the non-bubbling base), but that seems // less bad than duplication. } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { event.stopPropagation(); } // If this is a native event triggered above, everything is now in order // Fire an inner synthetic event with the original arguments } else if ( saved ) { // ...and capture the result dataPriv.set( this, type, jQuery.event.trigger( saved[ 0 ], saved.slice( 1 ), this ) ); // Abort handling of the native event by all jQuery handlers while allowing // native handlers on the same element to run. On target, this is achieved // by stopping immediate propagation just on the jQuery event. However, // the native event is re-wrapped by a jQuery one on each level of the // propagation so the only way to stop it for jQuery is to stop it for // everyone via native `stopPropagation()`. This is not a problem for // focus/blur which don't bubble, but it does also stop click on checkboxes // and radios. We accept this limitation. event.stopPropagation(); event.isImmediatePropagationStopped = returnTrue; } } } ); } jQuery.removeEvent = function( elem, type, handle ) { // This "if" is needed for plain objects if ( elem.removeEventListener ) { elem.removeEventListener( type, handle ); } }; jQuery.Event = function( src, props ) { // Allow instantiation without the 'new' keyword if ( !( this instanceof jQuery.Event ) ) { return new jQuery.Event( src, props ); } // Event object if ( src && src.type ) { this.originalEvent = src; this.type = src.type; // Events bubbling up the document may have been marked as prevented // by a handler lower down the tree; reflect the correct value. this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && // Support: Android <=2.3 only src.returnValue === false ? returnTrue : returnFalse; // Create target properties // Support: Safari <=6 - 7 only // Target should not be a text node (trac-504, trac-13143) this.target = ( src.target && src.target.nodeType === 3 ) ? src.target.parentNode : src.target; this.currentTarget = src.currentTarget; this.relatedTarget = src.relatedTarget; // Event type } else { this.type = src; } // Put explicitly provided properties onto the event object if ( props ) { jQuery.extend( this, props ); } // Create a timestamp if incoming event doesn't have one this.timeStamp = src && src.timeStamp || Date.now(); // Mark it as fixed this[ jQuery.expando ] = true; }; // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html jQuery.Event.prototype = { constructor: jQuery.Event, isDefaultPrevented: returnFalse, isPropagationStopped: returnFalse, isImmediatePropagationStopped: returnFalse, isSimulated: false, preventDefault: function() { var e = this.originalEvent; this.isDefaultPrevented = returnTrue; if ( e && !this.isSimulated ) { e.preventDefault(); } }, stopPropagation: function() { var e = this.originalEvent; this.isPropagationStopped = returnTrue; if ( e && !this.isSimulated ) { e.stopPropagation(); } }, stopImmediatePropagation: function() { var e = this.originalEvent; this.isImmediatePropagationStopped = returnTrue; if ( e && !this.isSimulated ) { e.stopImmediatePropagation(); } this.stopPropagation(); } }; // Includes all common event props including KeyEvent and MouseEvent specific props jQuery.each( { altKey: true, bubbles: true, cancelable: true, changedTouches: true, ctrlKey: true, detail: true, eventPhase: true, metaKey: true, pageX: true, pageY: true, shiftKey: true, view: true, "char": true, code: true, charCode: true, key: true, keyCode: true, button: true, buttons: true, clientX: true, clientY: true, offsetX: true, offsetY: true, pointerId: true, pointerType: true, screenX: true, screenY: true, targetTouches: true, toElement: true, touches: true, which: true }, jQuery.event.addProp ); jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { function focusMappedHandler( nativeEvent ) { if ( document.documentMode ) { // Support: IE 11+ // Attach a single focusin/focusout handler on the document while someone wants // focus/blur. This is because the former are synchronous in IE while the latter // are async. In other browsers, all those handlers are invoked synchronously. // `handle` from private data would already wrap the event, but we need // to change the `type` here. var handle = dataPriv.get( this, "handle" ), event = jQuery.event.fix( nativeEvent ); event.type = nativeEvent.type === "focusin" ? "focus" : "blur"; event.isSimulated = true; // First, handle focusin/focusout handle( nativeEvent ); // ...then, handle focus/blur // // focus/blur don't bubble while focusin/focusout do; simulate the former by only // invoking the handler at the lower level. if ( event.target === event.currentTarget ) { // The setup part calls `leverageNative`, which, in turn, calls // `jQuery.event.add`, so event handle will already have been set // by this point. handle( event ); } } else { // For non-IE browsers, attach a single capturing handler on the document // while someone wants focusin/focusout. jQuery.event.simulate( delegateType, nativeEvent.target, jQuery.event.fix( nativeEvent ) ); } } jQuery.event.special[ type ] = { // Utilize native event if possible so blur/focus sequence is correct setup: function() { var attaches; // Claim the first handler // dataPriv.set( this, "focus", ... ) // dataPriv.set( this, "blur", ... ) leverageNative( this, type, true ); if ( document.documentMode ) { // Support: IE 9 - 11+ // We use the same native handler for focusin & focus (and focusout & blur) // so we need to coordinate setup & teardown parts between those events. // Use `delegateType` as the key as `type` is already used by `leverageNative`. attaches = dataPriv.get( this, delegateType ); if ( !attaches ) { this.addEventListener( delegateType, focusMappedHandler ); } dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 ); } else { // Return false to allow normal processing in the caller return false; } }, trigger: function() { // Force setup before trigger leverageNative( this, type ); // Return non-false to allow normal event-path propagation return true; }, teardown: function() { var attaches; if ( document.documentMode ) { attaches = dataPriv.get( this, delegateType ) - 1; if ( !attaches ) { this.removeEventListener( delegateType, focusMappedHandler ); dataPriv.remove( this, delegateType ); } else { dataPriv.set( this, delegateType, attaches ); } } else { // Return false to indicate standard teardown should be applied return false; } }, // Suppress native focus or blur if we're currently inside // a leveraged native-event stack _default: function( event ) { return dataPriv.get( event.target, type ); }, delegateType: delegateType }; // Support: Firefox <=44 // Firefox doesn't have focus(in | out) events // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 // // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 // focus(in | out) events fire after focus & blur events, // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 // // Support: IE 9 - 11+ // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch, // attach a single handler for both events in IE. jQuery.event.special[ delegateType ] = { setup: function() { // Handle: regular nodes (via `this.ownerDocument`), window // (via `this.document`) & document (via `this`). var doc = this.ownerDocument || this.document || this, dataHolder = document.documentMode ? this : doc, attaches = dataPriv.get( dataHolder, delegateType ); // Support: IE 9 - 11+ // We use the same native handler for focusin & focus (and focusout & blur) // so we need to coordinate setup & teardown parts between those events. // Use `delegateType` as the key as `type` is already used by `leverageNative`. if ( !attaches ) { if ( document.documentMode ) { this.addEventListener( delegateType, focusMappedHandler ); } else { doc.addEventListener( type, focusMappedHandler, true ); } } dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 ); }, teardown: function() { var doc = this.ownerDocument || this.document || this, dataHolder = document.documentMode ? this : doc, attaches = dataPriv.get( dataHolder, delegateType ) - 1; if ( !attaches ) { if ( document.documentMode ) { this.removeEventListener( delegateType, focusMappedHandler ); } else { doc.removeEventListener( type, focusMappedHandler, true ); } dataPriv.remove( dataHolder, delegateType ); } else { dataPriv.set( dataHolder, delegateType, attaches ); } } }; } ); // Create mouseenter/leave events using mouseover/out and event-time checks // so that event delegation works in jQuery. // Do the same for pointerenter/pointerleave and pointerover/pointerout // // Support: Safari 7 only // Safari sends mouseenter too often; see: // https://bugs.chromium.org/p/chromium/issues/detail?id=470258 // for the description of the bug (it existed in older Chrome versions as well). jQuery.each( { mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function( orig, fix ) { jQuery.event.special[ orig ] = { delegateType: fix, bindType: fix, handle: function( event ) { var ret, target = this, related = event.relatedTarget, handleObj = event.handleObj; // For mouseenter/leave call the handler if related is outside the target. // NB: No relatedTarget if the mouse left/entered the browser window if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { event.type = handleObj.origType; ret = handleObj.handler.apply( this, arguments ); event.type = fix; } return ret; } }; } ); jQuery.fn.extend( { on: function( types, selector, data, fn ) { return on( this, types, selector, data, fn ); }, one: function( types, selector, data, fn ) { return on( this, types, selector, data, fn, 1 ); }, off: function( types, selector, fn ) { var handleObj, type; if ( types && types.preventDefault && types.handleObj ) { // ( event ) dispatched jQuery.Event handleObj = types.handleObj; jQuery( types.delegateTarget ).off( handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler ); return this; } if ( typeof types === "object" ) { // ( types-object [, selector] ) for ( type in types ) { this.off( type, selector, types[ type ] ); } return this; } if ( selector === false || typeof selector === "function" ) { // ( types [, fn] ) fn = selector; selector = undefined; } if ( fn === false ) { fn = returnFalse; } return this.each( function() { jQuery.event.remove( this, types, fn, selector ); } ); } } ); var // Support: IE <=10 - 11, Edge 12 - 13 only // In IE/Edge using regex groups here causes severe slowdowns. // See https://connect.microsoft.com/IE/feedback/details/1736512/ rnoInnerhtml = /\s*$/g; // Prefer a tbody over its parent table for containing new rows function manipulationTarget( elem, content ) { if ( nodeName( elem, "table" ) && nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { return jQuery( elem ).children( "tbody" )[ 0 ] || elem; } return elem; } // Replace/restore the type attribute of script elements for safe DOM manipulation function disableScript( elem ) { elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; return elem; } function restoreScript( elem ) { if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { elem.type = elem.type.slice( 5 ); } else { elem.removeAttribute( "type" ); } return elem; } function cloneCopyEvent( src, dest ) { var i, l, type, pdataOld, udataOld, udataCur, events; if ( dest.nodeType !== 1 ) { return; } // 1. Copy private data: events, handlers, etc. if ( dataPriv.hasData( src ) ) { pdataOld = dataPriv.get( src ); events = pdataOld.events; if ( events ) { dataPriv.remove( dest, "handle events" ); for ( type in events ) { for ( i = 0, l = events[ type ].length; i < l; i++ ) { jQuery.event.add( dest, type, events[ type ][ i ] ); } } } } // 2. Copy user data if ( dataUser.hasData( src ) ) { udataOld = dataUser.access( src ); udataCur = jQuery.extend( {}, udataOld ); dataUser.set( dest, udataCur ); } } // Fix IE bugs, see support tests function fixInput( src, dest ) { var nodeName = dest.nodeName.toLowerCase(); // Fails to persist the checked state of a cloned checkbox or radio button. if ( nodeName === "input" && rcheckableType.test( src.type ) ) { dest.checked = src.checked; // Fails to return the selected option to the default selected state when cloning options } else if ( nodeName === "input" || nodeName === "textarea" ) { dest.defaultValue = src.defaultValue; } } function domManip( collection, args, callback, ignored ) { // Flatten any nested arrays args = flat( args ); var fragment, first, scripts, hasScripts, node, doc, i = 0, l = collection.length, iNoClone = l - 1, value = args[ 0 ], valueIsFunction = isFunction( value ); // We can't cloneNode fragments that contain checked, in WebKit if ( valueIsFunction || ( l > 1 && typeof value === "string" && !support.checkClone && rchecked.test( value ) ) ) { return collection.each( function( index ) { var self = collection.eq( index ); if ( valueIsFunction ) { args[ 0 ] = value.call( this, index, self.html() ); } domManip( self, args, callback, ignored ); } ); } if ( l ) { fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); first = fragment.firstChild; if ( fragment.childNodes.length === 1 ) { fragment = first; } // Require either new content or an interest in ignored elements to invoke the callback if ( first || ignored ) { scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); hasScripts = scripts.length; // Use the original fragment for the last item // instead of the first because it can end up // being emptied incorrectly in certain situations (trac-8070). for ( ; i < l; i++ ) { node = fragment; if ( i !== iNoClone ) { node = jQuery.clone( node, true, true ); // Keep references to cloned scripts for later restoration if ( hasScripts ) { // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit jQuery.merge( scripts, getAll( node, "script" ) ); } } callback.call( collection[ i ], node, i ); } if ( hasScripts ) { doc = scripts[ scripts.length - 1 ].ownerDocument; // Re-enable scripts jQuery.map( scripts, restoreScript ); // Evaluate executable scripts on first document insertion for ( i = 0; i < hasScripts; i++ ) { node = scripts[ i ]; if ( rscriptType.test( node.type || "" ) && !dataPriv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) { if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { // Optional AJAX dependency, but won't run scripts if not present if ( jQuery._evalUrl && !node.noModule ) { jQuery._evalUrl( node.src, { nonce: node.nonce || node.getAttribute( "nonce" ) }, doc ); } } else { // Unwrap a CDATA section containing script contents. This shouldn't be // needed as in XML documents they're already not visible when // inspecting element contents and in HTML documents they have no // meaning but we're preserving that logic for backwards compatibility. // This will be removed completely in 4.0. See gh-4904. DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); } } } } } } return collection; } function remove( elem, selector, keepData ) { var node, nodes = selector ? jQuery.filter( selector, elem ) : elem, i = 0; for ( ; ( node = nodes[ i ] ) != null; i++ ) { if ( !keepData && node.nodeType === 1 ) { jQuery.cleanData( getAll( node ) ); } if ( node.parentNode ) { if ( keepData && isAttached( node ) ) { setGlobalEval( getAll( node, "script" ) ); } node.parentNode.removeChild( node ); } } return elem; } jQuery.extend( { htmlPrefilter: function( html ) { return html; }, clone: function( elem, dataAndEvents, deepDataAndEvents ) { var i, l, srcElements, destElements, clone = elem.cloneNode( true ), inPage = isAttached( elem ); // Fix IE cloning issues if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) { // We eschew jQuery#find here for performance reasons: // https://jsperf.com/getall-vs-sizzle/2 destElements = getAll( clone ); srcElements = getAll( elem ); for ( i = 0, l = srcElements.length; i < l; i++ ) { fixInput( srcElements[ i ], destElements[ i ] ); } } // Copy the events from the original to the clone if ( dataAndEvents ) { if ( deepDataAndEvents ) { srcElements = srcElements || getAll( elem ); destElements = destElements || getAll( clone ); for ( i = 0, l = srcElements.length; i < l; i++ ) { cloneCopyEvent( srcElements[ i ], destElements[ i ] ); } } else { cloneCopyEvent( elem, clone ); } } // Preserve script evaluation history destElements = getAll( clone, "script" ); if ( destElements.length > 0 ) { setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); } // Return the cloned set return clone; }, cleanData: function( elems ) { var data, elem, type, special = jQuery.event.special, i = 0; for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { if ( acceptData( elem ) ) { if ( ( data = elem[ dataPriv.expando ] ) ) { if ( data.events ) { for ( type in data.events ) { if ( special[ type ] ) { jQuery.event.remove( elem, type ); // This is a shortcut to avoid jQuery.event.remove's overhead } else { jQuery.removeEvent( elem, type, data.handle ); } } } // Support: Chrome <=35 - 45+ // Assign undefined instead of using delete, see Data#remove elem[ dataPriv.expando ] = undefined; } if ( elem[ dataUser.expando ] ) { // Support: Chrome <=35 - 45+ // Assign undefined instead of using delete, see Data#remove elem[ dataUser.expando ] = undefined; } } } } } ); jQuery.fn.extend( { detach: function( selector ) { return remove( this, selector, true ); }, remove: function( selector ) { return remove( this, selector ); }, text: function( value ) { return access( this, function( value ) { return value === undefined ? jQuery.text( this ) : this.empty().each( function() { if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { this.textContent = value; } } ); }, null, value, arguments.length ); }, append: function() { return domManip( this, arguments, function( elem ) { if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { var target = manipulationTarget( this, elem ); target.appendChild( elem ); } } ); }, prepend: function() { return domManip( this, arguments, function( elem ) { if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { var target = manipulationTarget( this, elem ); target.insertBefore( elem, target.firstChild ); } } ); }, before: function() { return domManip( this, arguments, function( elem ) { if ( this.parentNode ) { this.parentNode.insertBefore( elem, this ); } } ); }, after: function() { return domManip( this, arguments, function( elem ) { if ( this.parentNode ) { this.parentNode.insertBefore( elem, this.nextSibling ); } } ); }, empty: function() { var elem, i = 0; for ( ; ( elem = this[ i ] ) != null; i++ ) { if ( elem.nodeType === 1 ) { // Prevent memory leaks jQuery.cleanData( getAll( elem, false ) ); // Remove any remaining nodes elem.textContent = ""; } } return this; }, clone: function( dataAndEvents, deepDataAndEvents ) { dataAndEvents = dataAndEvents == null ? false : dataAndEvents; deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; return this.map( function() { return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); } ); }, html: function( value ) { return access( this, function( value ) { var elem = this[ 0 ] || {}, i = 0, l = this.length; if ( value === undefined && elem.nodeType === 1 ) { return elem.innerHTML; } // See if we can take a shortcut and just use innerHTML if ( typeof value === "string" && !rnoInnerhtml.test( value ) && !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { value = jQuery.htmlPrefilter( value ); try { for ( ; i < l; i++ ) { elem = this[ i ] || {}; // Remove element nodes and prevent memory leaks if ( elem.nodeType === 1 ) { jQuery.cleanData( getAll( elem, false ) ); elem.innerHTML = value; } } elem = 0; // If using innerHTML throws an exception, use the fallback method } catch ( e ) {} } if ( elem ) { this.empty().append( value ); } }, null, value, arguments.length ); }, replaceWith: function() { var ignored = []; // Make the changes, replacing each non-ignored context element with the new content return domManip( this, arguments, function( elem ) { var parent = this.parentNode; if ( jQuery.inArray( this, ignored ) < 0 ) { jQuery.cleanData( getAll( this ) ); if ( parent ) { parent.replaceChild( elem, this ); } } // Force callback invocation }, ignored ); } } ); jQuery.each( { appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function( name, original ) { jQuery.fn[ name ] = function( selector ) { var elems, ret = [], insert = jQuery( selector ), last = insert.length - 1, i = 0; for ( ; i <= last; i++ ) { elems = i === last ? this : this.clone( true ); jQuery( insert[ i ] )[ original ]( elems ); // Support: Android <=4.0 only, PhantomJS 1 only // .get() because push.apply(_, arraylike) throws on ancient WebKit push.apply( ret, elems.get() ); } return this.pushStack( ret ); }; } ); var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); var rcustomProp = /^--/; var getStyles = function( elem ) { // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150) // IE throws on elements created in popups // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" var view = elem.ownerDocument.defaultView; if ( !view || !view.opener ) { view = window; } return view.getComputedStyle( elem ); }; var swap = function( elem, options, callback ) { var ret, name, old = {}; // Remember the old values, and insert the new ones for ( name in options ) { old[ name ] = elem.style[ name ]; elem.style[ name ] = options[ name ]; } ret = callback.call( elem ); // Revert the old values for ( name in options ) { elem.style[ name ] = old[ name ]; } return ret; }; var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); ( function() { // Executing both pixelPosition & boxSizingReliable tests require only one layout // so they're executed at the same time to save the second computation. function computeStyleTests() { // This is a singleton, we need to execute it only once if ( !div ) { return; } container.style.cssText = "position:absolute;left:-11111px;width:60px;" + "margin-top:1px;padding:0;border:0"; div.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + "margin:auto;border:1px;padding:1px;" + "width:60%;top:1%"; documentElement.appendChild( container ).appendChild( div ); var divStyle = window.getComputedStyle( div ); pixelPositionVal = divStyle.top !== "1%"; // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 // Some styles come back with percentage values, even though they shouldn't div.style.right = "60%"; pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; // Support: IE 9 - 11 only // Detect misreporting of content dimensions for box-sizing:border-box elements boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; // Support: IE 9 only // Detect overflow:scroll screwiness (gh-3699) // Support: Chrome <=64 // Don't get tricked when zoom affects offsetWidth (gh-4029) div.style.position = "absolute"; scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; documentElement.removeChild( container ); // Nullify the div so it wouldn't be stored in the memory and // it will also be a sign that checks already performed div = null; } function roundPixelMeasures( measure ) { return Math.round( parseFloat( measure ) ); } var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, reliableTrDimensionsVal, reliableMarginLeftVal, container = document.createElement( "div" ), div = document.createElement( "div" ); // Finish early in limited (non-browser) environments if ( !div.style ) { return; } // Support: IE <=9 - 11 only // Style of cloned element affects source element cloned (trac-8908) div.style.backgroundClip = "content-box"; div.cloneNode( true ).style.backgroundClip = ""; support.clearCloneStyle = div.style.backgroundClip === "content-box"; jQuery.extend( support, { boxSizingReliable: function() { computeStyleTests(); return boxSizingReliableVal; }, pixelBoxStyles: function() { computeStyleTests(); return pixelBoxStylesVal; }, pixelPosition: function() { computeStyleTests(); return pixelPositionVal; }, reliableMarginLeft: function() { computeStyleTests(); return reliableMarginLeftVal; }, scrollboxSize: function() { computeStyleTests(); return scrollboxSizeVal; }, // Support: IE 9 - 11+, Edge 15 - 18+ // IE/Edge misreport `getComputedStyle` of table rows with width/height // set in CSS while `offset*` properties report correct values. // Behavior in IE 9 is more subtle than in newer versions & it passes // some versions of this test; make sure not to make it pass there! // // Support: Firefox 70+ // Only Firefox includes border widths // in computed dimensions. (gh-4529) reliableTrDimensions: function() { var table, tr, trChild, trStyle; if ( reliableTrDimensionsVal == null ) { table = document.createElement( "table" ); tr = document.createElement( "tr" ); trChild = document.createElement( "div" ); table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; tr.style.cssText = "box-sizing:content-box;border:1px solid"; // Support: Chrome 86+ // Height set through cssText does not get applied. // Computed height then comes back as 0. tr.style.height = "1px"; trChild.style.height = "9px"; // Support: Android 8 Chrome 86+ // In our bodyBackground.html iframe, // display for all div elements is set to "inline", // which causes a problem only in Android 8 Chrome 86. // Ensuring the div is `display: block` // gets around this issue. trChild.style.display = "block"; documentElement .appendChild( table ) .appendChild( tr ) .appendChild( trChild ); trStyle = window.getComputedStyle( tr ); reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + parseInt( trStyle.borderTopWidth, 10 ) + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; documentElement.removeChild( table ); } return reliableTrDimensionsVal; } } ); } )(); function curCSS( elem, name, computed ) { var width, minWidth, maxWidth, ret, isCustomProp = rcustomProp.test( name ), // Support: Firefox 51+ // Retrieving style before computed somehow // fixes an issue with getting wrong values // on detached elements style = elem.style; computed = computed || getStyles( elem ); // getPropertyValue is needed for: // .css('filter') (IE 9 only, trac-12537) // .css('--customProperty) (gh-3144) if ( computed ) { // Support: IE <=9 - 11+ // IE only supports `"float"` in `getPropertyValue`; in computed styles // it's only available as `"cssFloat"`. We no longer modify properties // sent to `.css()` apart from camelCasing, so we need to check both. // Normally, this would create difference in behavior: if // `getPropertyValue` returns an empty string, the value returned // by `.css()` would be `undefined`. This is usually the case for // disconnected elements. However, in IE even disconnected elements // with no styles return `"none"` for `getPropertyValue( "float" )` ret = computed.getPropertyValue( name ) || computed[ name ]; if ( isCustomProp && ret ) { // Support: Firefox 105+, Chrome <=105+ // Spec requires trimming whitespace for custom properties (gh-4926). // Firefox only trims leading whitespace. Chrome just collapses // both leading & trailing whitespace to a single space. // // Fall back to `undefined` if empty string returned. // This collapses a missing definition with property defined // and set to an empty string but there's no standard API // allowing us to differentiate them without a performance penalty // and returning `undefined` aligns with older jQuery. // // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED // as whitespace while CSS does not, but this is not a problem // because CSS preprocessing replaces them with U+000A LINE FEED // (which *is* CSS whitespace) // https://www.w3.org/TR/css-syntax-3/#input-preprocessing ret = ret.replace( rtrimCSS, "$1" ) || undefined; } if ( ret === "" && !isAttached( elem ) ) { ret = jQuery.style( elem, name ); } // A tribute to the "awesome hack by Dean Edwards" // Android Browser returns percentage for some values, // but width seems to be reliably pixels. // This is against the CSSOM draft spec: // https://drafts.csswg.org/cssom/#resolved-values if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { // Remember the original values width = style.width; minWidth = style.minWidth; maxWidth = style.maxWidth; // Put in the new values to get a computed value out style.minWidth = style.maxWidth = style.width = ret; ret = computed.width; // Revert the changed values style.width = width; style.minWidth = minWidth; style.maxWidth = maxWidth; } } return ret !== undefined ? // Support: IE <=9 - 11 only // IE returns zIndex value as an integer. ret + "" : ret; } function addGetHookIf( conditionFn, hookFn ) { // Define the hook, we'll check on the first run if it's really needed. return { get: function() { if ( conditionFn() ) { // Hook not needed (or it's not possible to use it due // to missing dependency), remove it. delete this.get; return; } // Hook needed; redefine it so that the support test is not executed again. return ( this.get = hookFn ).apply( this, arguments ); } }; } var cssPrefixes = [ "Webkit", "Moz", "ms" ], emptyStyle = document.createElement( "div" ).style, vendorProps = {}; // Return a vendor-prefixed property or undefined function vendorPropName( name ) { // Check for vendor prefixed names var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), i = cssPrefixes.length; while ( i-- ) { name = cssPrefixes[ i ] + capName; if ( name in emptyStyle ) { return name; } } } // Return a potentially-mapped jQuery.cssProps or vendor prefixed property function finalPropName( name ) { var final = jQuery.cssProps[ name ] || vendorProps[ name ]; if ( final ) { return final; } if ( name in emptyStyle ) { return name; } return vendorProps[ name ] = vendorPropName( name ) || name; } var // Swappable if display is none or starts with table // except "table", "table-cell", or "table-caption" // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display rdisplayswap = /^(none|table(?!-c[ea]).+)/, cssShow = { position: "absolute", visibility: "hidden", display: "block" }, cssNormalTransform = { letterSpacing: "0", fontWeight: "400" }; function setPositiveNumber( _elem, value, subtract ) { // Any relative (+/-) values have already been // normalized at this point var matches = rcssNum.exec( value ); return matches ? // Guard against undefined "subtract", e.g., when used as in cssHooks Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : value; } function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { var i = dimension === "width" ? 1 : 0, extra = 0, delta = 0, marginDelta = 0; // Adjustment may not be necessary if ( box === ( isBorderBox ? "border" : "content" ) ) { return 0; } for ( ; i < 4; i += 2 ) { // Both box models exclude margin // Count margin delta separately to only add it after scroll gutter adjustment. // This is needed to make negative margins work with `outerHeight( true )` (gh-3982). if ( box === "margin" ) { marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); } // If we get here with a content-box, we're seeking "padding" or "border" or "margin" if ( !isBorderBox ) { // Add padding delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); // For "border" or "margin", add border if ( box !== "padding" ) { delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); // But still keep track of it otherwise } else { extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); } // If we get here with a border-box (content + padding + border), we're seeking "content" or // "padding" or "margin" } else { // For "content", subtract padding if ( box === "content" ) { delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); } // For "content" or "padding", subtract border if ( box !== "margin" ) { delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); } } } // Account for positive content-box scroll gutter when requested by providing computedVal if ( !isBorderBox && computedVal >= 0 ) { // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border // Assuming integer scroll gutter, subtract the rest and round down delta += Math.max( 0, Math.ceil( elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - computedVal - delta - extra - 0.5 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter // Use an explicit zero to avoid NaN (gh-3964) ) ) || 0; } return delta + marginDelta; } function getWidthOrHeight( elem, dimension, extra ) { // Start with computed style var styles = getStyles( elem ), // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). // Fake content-box until we know it's needed to know the true value. boxSizingNeeded = !support.boxSizingReliable() || extra, isBorderBox = boxSizingNeeded && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", valueIsBorderBox = isBorderBox, val = curCSS( elem, dimension, styles ), offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); // Support: Firefox <=54 // Return a confounding non-pixel value or feign ignorance, as appropriate. if ( rnumnonpx.test( val ) ) { if ( !extra ) { return val; } val = "auto"; } // Support: IE 9 - 11 only // Use offsetWidth/offsetHeight for when box sizing is unreliable. // In those cases, the computed value can be trusted to be border-box. if ( ( !support.boxSizingReliable() && isBorderBox || // Support: IE 10 - 11+, Edge 15 - 18+ // IE/Edge misreport `getComputedStyle` of table rows with width/height // set in CSS while `offset*` properties report correct values. // Interestingly, in some cases IE 9 doesn't suffer from this issue. !support.reliableTrDimensions() && nodeName( elem, "tr" ) || // Fall back to offsetWidth/offsetHeight when value is "auto" // This happens for inline elements with no explicit setting (gh-3571) val === "auto" || // Support: Android <=4.1 - 4.3 only // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && // Make sure the element is visible & connected elem.getClientRects().length ) { isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; // Where available, offsetWidth/offsetHeight approximate border box dimensions. // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the // retrieved value as a content box dimension. valueIsBorderBox = offsetProp in elem; if ( valueIsBorderBox ) { val = elem[ offsetProp ]; } } // Normalize "" and auto val = parseFloat( val ) || 0; // Adjust for the element's box model return ( val + boxModelAdjustment( elem, dimension, extra || ( isBorderBox ? "border" : "content" ), valueIsBorderBox, styles, // Provide the current computed size to request scroll gutter calculation (gh-3589) val ) ) + "px"; } jQuery.extend( { // Add in style property hooks for overriding the default // behavior of getting and setting a style property cssHooks: { opacity: { get: function( elem, computed ) { if ( computed ) { // We should always get a number back from opacity var ret = curCSS( elem, "opacity" ); return ret === "" ? "1" : ret; } } } }, // Don't automatically add "px" to these possibly-unitless properties cssNumber: { animationIterationCount: true, aspectRatio: true, borderImageSlice: true, columnCount: true, flexGrow: true, flexShrink: true, fontWeight: true, gridArea: true, gridColumn: true, gridColumnEnd: true, gridColumnStart: true, gridRow: true, gridRowEnd: true, gridRowStart: true, lineHeight: true, opacity: true, order: true, orphans: true, scale: true, widows: true, zIndex: true, zoom: true, // SVG-related fillOpacity: true, floodOpacity: true, stopOpacity: true, strokeMiterlimit: true, strokeOpacity: true }, // Add in properties whose names you wish to fix before // setting or getting the value cssProps: {}, // Get and set the style property on a DOM Node style: function( elem, name, value, extra ) { // Don't set styles on text and comment nodes if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { return; } // Make sure that we're working with the right name var ret, type, hooks, origName = camelCase( name ), isCustomProp = rcustomProp.test( name ), style = elem.style; // Make sure that we're working with the right name. We don't // want to query the value if it is a CSS custom property // since they are user-defined. if ( !isCustomProp ) { name = finalPropName( origName ); } // Gets hook for the prefixed version, then unprefixed version hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; // Check if we're setting a value if ( value !== undefined ) { type = typeof value; // Convert "+=" or "-=" to relative numbers (trac-7345) if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { value = adjustCSS( elem, name, ret ); // Fixes bug trac-9237 type = "number"; } // Make sure that null and NaN values aren't set (trac-7116) if ( value == null || value !== value ) { return; } // If a number was passed in, add the unit (except for certain CSS properties) // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append // "px" to a few hardcoded values. if ( type === "number" && !isCustomProp ) { value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); } // background-* props affect original clone's values if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { style[ name ] = "inherit"; } // If a hook was provided, use that value, otherwise just set the specified value if ( !hooks || !( "set" in hooks ) || ( value = hooks.set( elem, value, extra ) ) !== undefined ) { if ( isCustomProp ) { style.setProperty( name, value ); } else { style[ name ] = value; } } } else { // If a hook was provided get the non-computed value from there if ( hooks && "get" in hooks && ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { return ret; } // Otherwise just get the value from the style object return style[ name ]; } }, css: function( elem, name, extra, styles ) { var val, num, hooks, origName = camelCase( name ), isCustomProp = rcustomProp.test( name ); // Make sure that we're working with the right name. We don't // want to modify the value if it is a CSS custom property // since they are user-defined. if ( !isCustomProp ) { name = finalPropName( origName ); } // Try prefixed name followed by the unprefixed name hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; // If a hook was provided get the computed value from there if ( hooks && "get" in hooks ) { val = hooks.get( elem, true, extra ); } // Otherwise, if a way to get the computed value exists, use that if ( val === undefined ) { val = curCSS( elem, name, styles ); } // Convert "normal" to computed value if ( val === "normal" && name in cssNormalTransform ) { val = cssNormalTransform[ name ]; } // Make numeric if forced or a qualifier was provided and val looks numeric if ( extra === "" || extra ) { num = parseFloat( val ); return extra === true || isFinite( num ) ? num || 0 : val; } return val; } } ); jQuery.each( [ "height", "width" ], function( _i, dimension ) { jQuery.cssHooks[ dimension ] = { get: function( elem, computed, extra ) { if ( computed ) { // Certain elements can have dimension info if we invisibly show them // but it must have a current display style that would benefit return rdisplayswap.test( jQuery.css( elem, "display" ) ) && // Support: Safari 8+ // Table columns in Safari have non-zero offsetWidth & zero // getBoundingClientRect().width unless display is changed. // Support: IE <=11 only // Running getBoundingClientRect on a disconnected node // in IE throws an error. ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? swap( elem, cssShow, function() { return getWidthOrHeight( elem, dimension, extra ); } ) : getWidthOrHeight( elem, dimension, extra ); } }, set: function( elem, value, extra ) { var matches, styles = getStyles( elem ), // Only read styles.position if the test has a chance to fail // to avoid forcing a reflow. scrollboxSizeBuggy = !support.scrollboxSize() && styles.position === "absolute", // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) boxSizingNeeded = scrollboxSizeBuggy || extra, isBorderBox = boxSizingNeeded && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", subtract = extra ? boxModelAdjustment( elem, dimension, extra, isBorderBox, styles ) : 0; // Account for unreliable border-box dimensions by comparing offset* to computed and // faking a content-box to get border and padding (gh-3699) if ( isBorderBox && scrollboxSizeBuggy ) { subtract -= Math.ceil( elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - parseFloat( styles[ dimension ] ) - boxModelAdjustment( elem, dimension, "border", false, styles ) - 0.5 ); } // Convert to pixels if value adjustment is needed if ( subtract && ( matches = rcssNum.exec( value ) ) && ( matches[ 3 ] || "px" ) !== "px" ) { elem.style[ dimension ] = value; value = jQuery.css( elem, dimension ); } return setPositiveNumber( elem, value, subtract ); } }; } ); jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, function( elem, computed ) { if ( computed ) { return ( parseFloat( curCSS( elem, "marginLeft" ) ) || elem.getBoundingClientRect().left - swap( elem, { marginLeft: 0 }, function() { return elem.getBoundingClientRect().left; } ) ) + "px"; } } ); // These hooks are used by animate to expand properties jQuery.each( { margin: "", padding: "", border: "Width" }, function( prefix, suffix ) { jQuery.cssHooks[ prefix + suffix ] = { expand: function( value ) { var i = 0, expanded = {}, // Assumes a single number if not a string parts = typeof value === "string" ? value.split( " " ) : [ value ]; for ( ; i < 4; i++ ) { expanded[ prefix + cssExpand[ i ] + suffix ] = parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; } return expanded; } }; if ( prefix !== "margin" ) { jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; } } ); jQuery.fn.extend( { css: function( name, value ) { return access( this, function( elem, name, value ) { var styles, len, map = {}, i = 0; if ( Array.isArray( name ) ) { styles = getStyles( elem ); len = name.length; for ( ; i < len; i++ ) { map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); } return map; } return value !== undefined ? jQuery.style( elem, name, value ) : jQuery.css( elem, name ); }, name, value, arguments.length > 1 ); } } ); // Based off of the plugin by Clint Helfers, with permission. jQuery.fn.delay = function( time, type ) { time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; type = type || "fx"; return this.queue( type, function( next, hooks ) { var timeout = window.setTimeout( next, time ); hooks.stop = function() { window.clearTimeout( timeout ); }; } ); }; ( function() { var input = document.createElement( "input" ), select = document.createElement( "select" ), opt = select.appendChild( document.createElement( "option" ) ); input.type = "checkbox"; // Support: Android <=4.3 only // Default value for a checkbox should be "on" support.checkOn = input.value !== ""; // Support: IE <=11 only // Must access selectedIndex to make default options select support.optSelected = opt.selected; // Support: IE <=11 only // An input loses its value after becoming a radio input = document.createElement( "input" ); input.value = "t"; input.type = "radio"; support.radioValue = input.value === "t"; } )(); var boolHook, attrHandle = jQuery.expr.attrHandle; jQuery.fn.extend( { attr: function( name, value ) { return access( this, jQuery.attr, name, value, arguments.length > 1 ); }, removeAttr: function( name ) { return this.each( function() { jQuery.removeAttr( this, name ); } ); } } ); jQuery.extend( { attr: function( elem, name, value ) { var ret, hooks, nType = elem.nodeType; // Don't get/set attributes on text, comment and attribute nodes if ( nType === 3 || nType === 8 || nType === 2 ) { return; } // Fallback to prop when attributes are not supported if ( typeof elem.getAttribute === "undefined" ) { return jQuery.prop( elem, name, value ); } // Attribute hooks are determined by the lowercase version // Grab necessary hook if one is defined if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { hooks = jQuery.attrHooks[ name.toLowerCase() ] || ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); } if ( value !== undefined ) { if ( value === null ) { jQuery.removeAttr( elem, name ); return; } if ( hooks && "set" in hooks && ( ret = hooks.set( elem, value, name ) ) !== undefined ) { return ret; } elem.setAttribute( name, value + "" ); return value; } if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { return ret; } ret = jQuery.find.attr( elem, name ); // Non-existent attributes return null, we normalize to undefined return ret == null ? undefined : ret; }, attrHooks: { type: { set: function( elem, value ) { if ( !support.radioValue && value === "radio" && nodeName( elem, "input" ) ) { var val = elem.value; elem.setAttribute( "type", value ); if ( val ) { elem.value = val; } return value; } } } }, removeAttr: function( elem, value ) { var name, i = 0, // Attribute names can contain non-HTML whitespace characters // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 attrNames = value && value.match( rnothtmlwhite ); if ( attrNames && elem.nodeType === 1 ) { while ( ( name = attrNames[ i++ ] ) ) { elem.removeAttribute( name ); } } } } ); // Hooks for boolean attributes boolHook = { set: function( elem, value, name ) { if ( value === false ) { // Remove boolean attributes when set to false jQuery.removeAttr( elem, name ); } else { elem.setAttribute( name, name ); } return name; } }; jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { var getter = attrHandle[ name ] || jQuery.find.attr; attrHandle[ name ] = function( elem, name, isXML ) { var ret, handle, lowercaseName = name.toLowerCase(); if ( !isXML ) { // Avoid an infinite loop by temporarily removing this function from the getter handle = attrHandle[ lowercaseName ]; attrHandle[ lowercaseName ] = ret; ret = getter( elem, name, isXML ) != null ? lowercaseName : null; attrHandle[ lowercaseName ] = handle; } return ret; }; } ); var rfocusable = /^(?:input|select|textarea|button)$/i, rclickable = /^(?:a|area)$/i; jQuery.fn.extend( { prop: function( name, value ) { return access( this, jQuery.prop, name, value, arguments.length > 1 ); }, removeProp: function( name ) { return this.each( function() { delete this[ jQuery.propFix[ name ] || name ]; } ); } } ); jQuery.extend( { prop: function( elem, name, value ) { var ret, hooks, nType = elem.nodeType; // Don't get/set properties on text, comment and attribute nodes if ( nType === 3 || nType === 8 || nType === 2 ) { return; } if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { // Fix name and attach hooks name = jQuery.propFix[ name ] || name; hooks = jQuery.propHooks[ name ]; } if ( value !== undefined ) { if ( hooks && "set" in hooks && ( ret = hooks.set( elem, value, name ) ) !== undefined ) { return ret; } return ( elem[ name ] = value ); } if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { return ret; } return elem[ name ]; }, propHooks: { tabIndex: { get: function( elem ) { // Support: IE <=9 - 11 only // elem.tabIndex doesn't always return the // correct value when it hasn't been explicitly set // Use proper attribute retrieval (trac-12072) var tabindex = jQuery.find.attr( elem, "tabindex" ); if ( tabindex ) { return parseInt( tabindex, 10 ); } if ( rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ) { return 0; } return -1; } } }, propFix: { "for": "htmlFor", "class": "className" } } ); // Support: IE <=11 only // Accessing the selectedIndex property // forces the browser to respect setting selected // on the option // The getter ensures a default option is selected // when in an optgroup // eslint rule "no-unused-expressions" is disabled for this code // since it considers such accessions noop if ( !support.optSelected ) { jQuery.propHooks.selected = { get: function( elem ) { /* eslint no-unused-expressions: "off" */ var parent = elem.parentNode; if ( parent && parent.parentNode ) { parent.parentNode.selectedIndex; } return null; }, set: function( elem ) { /* eslint no-unused-expressions: "off" */ var parent = elem.parentNode; if ( parent ) { parent.selectedIndex; if ( parent.parentNode ) { parent.parentNode.selectedIndex; } } } }; } jQuery.each( [ "tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable" ], function() { jQuery.propFix[ this.toLowerCase() ] = this; } ); // Strip and collapse whitespace according to HTML spec // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace function stripAndCollapse( value ) { var tokens = value.match( rnothtmlwhite ) || []; return tokens.join( " " ); } function getClass( elem ) { return elem.getAttribute && elem.getAttribute( "class" ) || ""; } function classesToArray( value ) { if ( Array.isArray( value ) ) { return value; } if ( typeof value === "string" ) { return value.match( rnothtmlwhite ) || []; } return []; } jQuery.fn.extend( { addClass: function( value ) { var classNames, cur, curValue, className, i, finalValue; if ( isFunction( value ) ) { return this.each( function( j ) { jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); } ); } classNames = classesToArray( value ); if ( classNames.length ) { return this.each( function() { curValue = getClass( this ); cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); if ( cur ) { for ( i = 0; i < classNames.length; i++ ) { className = classNames[ i ]; if ( cur.indexOf( " " + className + " " ) < 0 ) { cur += className + " "; } } // Only assign if different to avoid unneeded rendering. finalValue = stripAndCollapse( cur ); if ( curValue !== finalValue ) { this.setAttribute( "class", finalValue ); } } } ); } return this; }, removeClass: function( value ) { var classNames, cur, curValue, className, i, finalValue; if ( isFunction( value ) ) { return this.each( function( j ) { jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); } ); } if ( !arguments.length ) { return this.attr( "class", "" ); } classNames = classesToArray( value ); if ( classNames.length ) { return this.each( function() { curValue = getClass( this ); // This expression is here for better compressibility (see addClass) cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); if ( cur ) { for ( i = 0; i < classNames.length; i++ ) { className = classNames[ i ]; // Remove *all* instances while ( cur.indexOf( " " + className + " " ) > -1 ) { cur = cur.replace( " " + className + " ", " " ); } } // Only assign if different to avoid unneeded rendering. finalValue = stripAndCollapse( cur ); if ( curValue !== finalValue ) { this.setAttribute( "class", finalValue ); } } } ); } return this; }, toggleClass: function( value, stateVal ) { var classNames, className, i, self, type = typeof value, isValidValue = type === "string" || Array.isArray( value ); if ( isFunction( value ) ) { return this.each( function( i ) { jQuery( this ).toggleClass( value.call( this, i, getClass( this ), stateVal ), stateVal ); } ); } if ( typeof stateVal === "boolean" && isValidValue ) { return stateVal ? this.addClass( value ) : this.removeClass( value ); } classNames = classesToArray( value ); return this.each( function() { if ( isValidValue ) { // Toggle individual class names self = jQuery( this ); for ( i = 0; i < classNames.length; i++ ) { className = classNames[ i ]; // Check each className given, space separated list if ( self.hasClass( className ) ) { self.removeClass( className ); } else { self.addClass( className ); } } // Toggle whole class name } else if ( value === undefined || type === "boolean" ) { className = getClass( this ); if ( className ) { // Store className if set dataPriv.set( this, "__className__", className ); } // If the element has a class name or if we're passed `false`, // then remove the whole classname (if there was one, the above saved it). // Otherwise bring back whatever was previously saved (if anything), // falling back to the empty string if nothing was stored. if ( this.setAttribute ) { this.setAttribute( "class", className || value === false ? "" : dataPriv.get( this, "__className__" ) || "" ); } } } ); }, hasClass: function( selector ) { var className, elem, i = 0; className = " " + selector + " "; while ( ( elem = this[ i++ ] ) ) { if ( elem.nodeType === 1 && ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { return true; } } return false; } } ); var rreturn = /\r/g; jQuery.fn.extend( { val: function( value ) { var hooks, ret, valueIsFunction, elem = this[ 0 ]; if ( !arguments.length ) { if ( elem ) { hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; if ( hooks && "get" in hooks && ( ret = hooks.get( elem, "value" ) ) !== undefined ) { return ret; } ret = elem.value; // Handle most common string cases if ( typeof ret === "string" ) { return ret.replace( rreturn, "" ); } // Handle cases where value is null/undef or number return ret == null ? "" : ret; } return; } valueIsFunction = isFunction( value ); return this.each( function( i ) { var val; if ( this.nodeType !== 1 ) { return; } if ( valueIsFunction ) { val = value.call( this, i, jQuery( this ).val() ); } else { val = value; } // Treat null/undefined as ""; convert numbers to string if ( val == null ) { val = ""; } else if ( typeof val === "number" ) { val += ""; } else if ( Array.isArray( val ) ) { val = jQuery.map( val, function( value ) { return value == null ? "" : value + ""; } ); } hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; // If set returns undefined, fall back to normal setting if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { this.value = val; } } ); } } ); jQuery.extend( { valHooks: { option: { get: function( elem ) { var val = jQuery.find.attr( elem, "value" ); return val != null ? val : // Support: IE <=10 - 11 only // option.text throws exceptions (trac-14686, trac-14858) // Strip and collapse whitespace // https://html.spec.whatwg.org/#strip-and-collapse-whitespace stripAndCollapse( jQuery.text( elem ) ); } }, select: { get: function( elem ) { var value, option, i, options = elem.options, index = elem.selectedIndex, one = elem.type === "select-one", values = one ? null : [], max = one ? index + 1 : options.length; if ( index < 0 ) { i = max; } else { i = one ? index : 0; } // Loop through all the selected options for ( ; i < max; i++ ) { option = options[ i ]; // Support: IE <=9 only // IE8-9 doesn't update selected after form reset (trac-2551) if ( ( option.selected || i === index ) && // Don't return options that are disabled or in a disabled optgroup !option.disabled && ( !option.parentNode.disabled || !nodeName( option.parentNode, "optgroup" ) ) ) { // Get the specific value for the option value = jQuery( option ).val(); // We don't need an array for one selects if ( one ) { return value; } // Multi-Selects return an array values.push( value ); } } return values; }, set: function( elem, value ) { var optionSet, option, options = elem.options, values = jQuery.makeArray( value ), i = options.length; while ( i-- ) { option = options[ i ]; /* eslint-disable no-cond-assign */ if ( option.selected = jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 ) { optionSet = true; } /* eslint-enable no-cond-assign */ } // Force browsers to behave consistently when non-matching value is set if ( !optionSet ) { elem.selectedIndex = -1; } return values; } } } } ); // Radios and checkboxes getter/setter jQuery.each( [ "radio", "checkbox" ], function() { jQuery.valHooks[ this ] = { set: function( elem, value ) { if ( Array.isArray( value ) ) { return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); } } }; if ( !support.checkOn ) { jQuery.valHooks[ this ].get = function( elem ) { return elem.getAttribute( "value" ) === null ? "on" : elem.value; }; } } ); // Return jQuery for attributes-only inclusion // Cross-browser xml parsing jQuery.parseXML = function( data ) { var xml, parserErrorElem; if ( !data || typeof data !== "string" ) { return null; } // Support: IE 9 - 11 only // IE throws on parseFromString with invalid input. try { xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); } catch ( e ) {} parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; if ( !xml || parserErrorElem ) { jQuery.error( "Invalid XML: " + ( parserErrorElem ? jQuery.map( parserErrorElem.childNodes, function( el ) { return el.textContent; } ).join( "\n" ) : data ) ); } return xml; }; var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, stopPropagationCallback = function( e ) { e.stopPropagation(); }; jQuery.extend( jQuery.event, { trigger: function( event, data, elem, onlyHandlers ) { var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, eventPath = [ elem || document ], type = hasOwn.call( event, "type" ) ? event.type : event, namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; cur = lastElement = tmp = elem = elem || document; // Don't do events on text and comment nodes if ( elem.nodeType === 3 || elem.nodeType === 8 ) { return; } // focus/blur morphs to focusin/out; ensure we're not firing them right now if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { return; } if ( type.indexOf( "." ) > -1 ) { // Namespaced trigger; create a regexp to match event type in handle() namespaces = type.split( "." ); type = namespaces.shift(); namespaces.sort(); } ontype = type.indexOf( ":" ) < 0 && "on" + type; // Caller can pass in a jQuery.Event object, Object, or just an event type string event = event[ jQuery.expando ] ? event : new jQuery.Event( type, typeof event === "object" && event ); // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) event.isTrigger = onlyHandlers ? 2 : 3; event.namespace = namespaces.join( "." ); event.rnamespace = event.namespace ? new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : null; // Clean up the event in case it is being reused event.result = undefined; if ( !event.target ) { event.target = elem; } // Clone any incoming data and prepend the event, creating the handler arg list data = data == null ? [ event ] : jQuery.makeArray( data, [ event ] ); // Allow special events to draw outside the lines special = jQuery.event.special[ type ] || {}; if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { return; } // Determine event propagation path in advance, per W3C events spec (trac-9951) // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724) if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { bubbleType = special.delegateType || type; if ( !rfocusMorph.test( bubbleType + type ) ) { cur = cur.parentNode; } for ( ; cur; cur = cur.parentNode ) { eventPath.push( cur ); tmp = cur; } // Only add window if we got to document (e.g., not plain obj or detached DOM) if ( tmp === ( elem.ownerDocument || document ) ) { eventPath.push( tmp.defaultView || tmp.parentWindow || window ); } } // Fire handlers on the event path i = 0; while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { lastElement = cur; event.type = i > 1 ? bubbleType : special.bindType || type; // jQuery handler handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && dataPriv.get( cur, "handle" ); if ( handle ) { handle.apply( cur, data ); } // Native handler handle = ontype && cur[ ontype ]; if ( handle && handle.apply && acceptData( cur ) ) { event.result = handle.apply( cur, data ); if ( event.result === false ) { event.preventDefault(); } } } event.type = type; // If nobody prevented the default action, do it now if ( !onlyHandlers && !event.isDefaultPrevented() ) { if ( ( !special._default || special._default.apply( eventPath.pop(), data ) === false ) && acceptData( elem ) ) { // Call a native DOM method on the target with the same name as the event. // Don't do default actions on window, that's where global variables be (trac-6170) if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { // Don't re-trigger an onFOO event when we call its FOO() method tmp = elem[ ontype ]; if ( tmp ) { elem[ ontype ] = null; } // Prevent re-triggering of the same event, since we already bubbled it above jQuery.event.triggered = type; if ( event.isPropagationStopped() ) { lastElement.addEventListener( type, stopPropagationCallback ); } elem[ type ](); if ( event.isPropagationStopped() ) { lastElement.removeEventListener( type, stopPropagationCallback ); } jQuery.event.triggered = undefined; if ( tmp ) { elem[ ontype ] = tmp; } } } } return event.result; }, // Piggyback on a donor event to simulate a different one // Used only for `focus(in | out)` events simulate: function( type, elem, event ) { var e = jQuery.extend( new jQuery.Event(), event, { type: type, isSimulated: true } ); jQuery.event.trigger( e, null, elem ); } } ); jQuery.fn.extend( { trigger: function( type, data ) { return this.each( function() { jQuery.event.trigger( type, data, this ); } ); }, triggerHandler: function( type, data ) { var elem = this[ 0 ]; if ( elem ) { return jQuery.event.trigger( type, data, elem, true ); } } } ); var rbracket = /\[\]$/, rCRLF = /\r?\n/g, rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, rsubmittable = /^(?:input|select|textarea|keygen)/i; function buildParams( prefix, obj, traditional, add ) { var name; if ( Array.isArray( obj ) ) { // Serialize array item. jQuery.each( obj, function( i, v ) { if ( traditional || rbracket.test( prefix ) ) { // Treat each array item as a scalar. add( prefix, v ); } else { // Item is non-scalar (array or object), encode its numeric index. buildParams( prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", v, traditional, add ); } } ); } else if ( !traditional && toType( obj ) === "object" ) { // Serialize object item. for ( name in obj ) { buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); } } else { // Serialize scalar item. add( prefix, obj ); } } // Serialize an array of form elements or a set of // key/values into a query string jQuery.param = function( a, traditional ) { var prefix, s = [], add = function( key, valueOrFunction ) { // If value is a function, invoke it and use its return value var value = isFunction( valueOrFunction ) ? valueOrFunction() : valueOrFunction; s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value == null ? "" : value ); }; if ( a == null ) { return ""; } // If an array was passed in, assume that it is an array of form elements. if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { // Serialize the form elements jQuery.each( a, function() { add( this.name, this.value ); } ); } else { // If traditional, encode the "old" way (the way 1.3.2 or older // did it), otherwise encode params recursively. for ( prefix in a ) { buildParams( prefix, a[ prefix ], traditional, add ); } } // Return the resulting serialization return s.join( "&" ); }; jQuery.fn.extend( { serialize: function() { return jQuery.param( this.serializeArray() ); }, serializeArray: function() { return this.map( function() { // Can add propHook for "elements" to filter or add form elements var elements = jQuery.prop( this, "elements" ); return elements ? jQuery.makeArray( elements ) : this; } ).filter( function() { var type = this.type; // Use .is( ":disabled" ) so that fieldset[disabled] works return this.name && !jQuery( this ).is( ":disabled" ) && rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && ( this.checked || !rcheckableType.test( type ) ); } ).map( function( _i, elem ) { var val = jQuery( this ).val(); if ( val == null ) { return null; } if ( Array.isArray( val ) ) { return jQuery.map( val, function( val ) { return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; } ); } return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; } ).get(); } } ); jQuery.fn.extend( { wrapAll: function( html ) { var wrap; if ( this[ 0 ] ) { if ( isFunction( html ) ) { html = html.call( this[ 0 ] ); } // The elements to wrap the target around wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); if ( this[ 0 ].parentNode ) { wrap.insertBefore( this[ 0 ] ); } wrap.map( function() { var elem = this; while ( elem.firstElementChild ) { elem = elem.firstElementChild; } return elem; } ).append( this ); } return this; }, wrapInner: function( html ) { if ( isFunction( html ) ) { return this.each( function( i ) { jQuery( this ).wrapInner( html.call( this, i ) ); } ); } return this.each( function() { var self = jQuery( this ), contents = self.contents(); if ( contents.length ) { contents.wrapAll( html ); } else { self.append( html ); } } ); }, wrap: function( html ) { var htmlIsFunction = isFunction( html ); return this.each( function( i ) { jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); } ); }, unwrap: function( selector ) { this.parent( selector ).not( "body" ).each( function() { jQuery( this ).replaceWith( this.childNodes ); } ); return this; } } ); jQuery.expr.pseudos.hidden = function( elem ) { return !jQuery.expr.pseudos.visible( elem ); }; jQuery.expr.pseudos.visible = function( elem ) { return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); }; // Support: Safari 8 only // In Safari 8 documents created via document.implementation.createHTMLDocument // collapse sibling forms: the second one becomes a child of the first one. // Because of that, this security measure has to be disabled in Safari 8. // https://bugs.webkit.org/show_bug.cgi?id=137337 support.createHTMLDocument = ( function() { var body = document.implementation.createHTMLDocument( "" ).body; body.innerHTML = "
    "; return body.childNodes.length === 2; } )(); // Argument "data" should be string of html // context (optional): If specified, the fragment will be created in this context, // defaults to document // keepScripts (optional): If true, will include scripts passed in the html string jQuery.parseHTML = function( data, context, keepScripts ) { if ( typeof data !== "string" ) { return []; } if ( typeof context === "boolean" ) { keepScripts = context; context = false; } var base, parsed, scripts; if ( !context ) { // Stop scripts or inline event handlers from being executed immediately // by using document.implementation if ( support.createHTMLDocument ) { context = document.implementation.createHTMLDocument( "" ); // Set the base href for the created document // so any parsed elements with URLs // are based on the document's URL (gh-2965) base = context.createElement( "base" ); base.href = document.location.href; context.head.appendChild( base ); } else { context = document; } } parsed = rsingleTag.exec( data ); scripts = !keepScripts && []; // Single tag if ( parsed ) { return [ context.createElement( parsed[ 1 ] ) ]; } parsed = buildFragment( [ data ], context, scripts ); if ( scripts && scripts.length ) { jQuery( scripts ).remove(); } return jQuery.merge( [], parsed.childNodes ); }; jQuery.offset = { setOffset: function( elem, options, i ) { var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, position = jQuery.css( elem, "position" ), curElem = jQuery( elem ), props = {}; // Set position first, in-case top/left are set even on static elem if ( position === "static" ) { elem.style.position = "relative"; } curOffset = curElem.offset(); curCSSTop = jQuery.css( elem, "top" ); curCSSLeft = jQuery.css( elem, "left" ); calculatePosition = ( position === "absolute" || position === "fixed" ) && ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; // Need to be able to calculate position if either // top or left is auto and position is either absolute or fixed if ( calculatePosition ) { curPosition = curElem.position(); curTop = curPosition.top; curLeft = curPosition.left; } else { curTop = parseFloat( curCSSTop ) || 0; curLeft = parseFloat( curCSSLeft ) || 0; } if ( isFunction( options ) ) { // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); } if ( options.top != null ) { props.top = ( options.top - curOffset.top ) + curTop; } if ( options.left != null ) { props.left = ( options.left - curOffset.left ) + curLeft; } if ( "using" in options ) { options.using.call( elem, props ); } else { curElem.css( props ); } } }; jQuery.fn.extend( { // offset() relates an element's border box to the document origin offset: function( options ) { // Preserve chaining for setter if ( arguments.length ) { return options === undefined ? this : this.each( function( i ) { jQuery.offset.setOffset( this, options, i ); } ); } var rect, win, elem = this[ 0 ]; if ( !elem ) { return; } // Return zeros for disconnected and hidden (display: none) elements (gh-2310) // Support: IE <=11 only // Running getBoundingClientRect on a // disconnected node in IE throws an error if ( !elem.getClientRects().length ) { return { top: 0, left: 0 }; } // Get document-relative position by adding viewport scroll to viewport-relative gBCR rect = elem.getBoundingClientRect(); win = elem.ownerDocument.defaultView; return { top: rect.top + win.pageYOffset, left: rect.left + win.pageXOffset }; }, // position() relates an element's margin box to its offset parent's padding box // This corresponds to the behavior of CSS absolute positioning position: function() { if ( !this[ 0 ] ) { return; } var offsetParent, offset, doc, elem = this[ 0 ], parentOffset = { top: 0, left: 0 }; // position:fixed elements are offset from the viewport, which itself always has zero offset if ( jQuery.css( elem, "position" ) === "fixed" ) { // Assume position:fixed implies availability of getBoundingClientRect offset = elem.getBoundingClientRect(); } else { offset = this.offset(); // Account for the *real* offset parent, which can be the document or its root element // when a statically positioned element is identified doc = elem.ownerDocument; offsetParent = elem.offsetParent || doc.documentElement; while ( offsetParent && ( offsetParent === doc.body || offsetParent === doc.documentElement ) && jQuery.css( offsetParent, "position" ) === "static" ) { offsetParent = offsetParent.parentNode; } if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { // Incorporate borders into its offset, since they are outside its content origin parentOffset = jQuery( offsetParent ).offset(); parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); } } // Subtract parent offsets and element margins return { top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) }; }, // This method will return documentElement in the following cases: // 1) For the element inside the iframe without offsetParent, this method will return // documentElement of the parent window // 2) For the hidden or detached element // 3) For body or html element, i.e. in case of the html node - it will return itself // // but those exceptions were never presented as a real life use-cases // and might be considered as more preferable results. // // This logic, however, is not guaranteed and can change at any point in the future offsetParent: function() { return this.map( function() { var offsetParent = this.offsetParent; while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { offsetParent = offsetParent.offsetParent; } return offsetParent || documentElement; } ); } } ); // Create scrollLeft and scrollTop methods jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { var top = "pageYOffset" === prop; jQuery.fn[ method ] = function( val ) { return access( this, function( elem, method, val ) { // Coalesce documents and windows var win; if ( isWindow( elem ) ) { win = elem; } else if ( elem.nodeType === 9 ) { win = elem.defaultView; } if ( val === undefined ) { return win ? win[ prop ] : elem[ method ]; } if ( win ) { win.scrollTo( !top ? val : win.pageXOffset, top ? val : win.pageYOffset ); } else { elem[ method ] = val; } }, method, val, arguments.length ); }; } ); // Support: Safari <=7 - 9.1, Chrome <=37 - 49 // Add the top/left cssHooks using jQuery.fn.position // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 // Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 // getComputedStyle returns percent when specified for top/left/bottom/right; // rather than make the css module depend on the offset module, just check for it here jQuery.each( [ "top", "left" ], function( _i, prop ) { jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, function( elem, computed ) { if ( computed ) { computed = curCSS( elem, prop ); // If curCSS returns percentage, fallback to offset return rnumnonpx.test( computed ) ? jQuery( elem ).position()[ prop ] + "px" : computed; } } ); } ); // Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { // Margin is only for outerHeight, outerWidth jQuery.fn[ funcName ] = function( margin, value ) { var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); return access( this, function( elem, type, value ) { var doc; if ( isWindow( elem ) ) { // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) return funcName.indexOf( "outer" ) === 0 ? elem[ "inner" + name ] : elem.document.documentElement[ "client" + name ]; } // Get document width or height if ( elem.nodeType === 9 ) { doc = elem.documentElement; // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], // whichever is greatest return Math.max( elem.body[ "scroll" + name ], doc[ "scroll" + name ], elem.body[ "offset" + name ], doc[ "offset" + name ], doc[ "client" + name ] ); } return value === undefined ? // Get width or height on the element, requesting but not forcing parseFloat jQuery.css( elem, type, extra ) : // Set width or height on the element jQuery.style( elem, type, value, extra ); }, type, chainable ? margin : undefined, chainable ); }; } ); } ); jQuery.fn.extend( { bind: function( types, data, fn ) { return this.on( types, null, data, fn ); }, unbind: function( types, fn ) { return this.off( types, null, fn ); }, delegate: function( selector, types, data, fn ) { return this.on( types, selector, data, fn ); }, undelegate: function( selector, types, fn ) { // ( namespace ) or ( selector, types [, fn] ) return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); }, hover: function( fnOver, fnOut ) { return this .on( "mouseenter", fnOver ) .on( "mouseleave", fnOut || fnOver ); } } ); jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + "change select submit keydown keypress keyup contextmenu" ).split( " " ), function( _i, name ) { // Handle event binding jQuery.fn[ name ] = function( data, fn ) { return arguments.length > 0 ? this.on( name, null, data, fn ) : this.trigger( name ); }; } ); // Support: Android <=4.0 only // Make sure we trim BOM and NBSP // Require that the "whitespace run" starts from a non-whitespace // to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position. var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g; // Bind a function to a context, optionally partially applying any // arguments. // jQuery.proxy is deprecated to promote standards (specifically Function#bind) // However, it is not slated for removal any time soon jQuery.proxy = function( fn, context ) { var tmp, args, proxy; if ( typeof context === "string" ) { tmp = fn[ context ]; context = fn; fn = tmp; } // Quick check to determine if target is callable, in the spec // this throws a TypeError, but we will just return undefined. if ( !isFunction( fn ) ) { return undefined; } // Simulated bind args = slice.call( arguments, 2 ); proxy = function() { return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); }; // Set the guid of unique handler to the same of original handler, so it can be removed proxy.guid = fn.guid = fn.guid || jQuery.guid++; return proxy; }; jQuery.holdReady = function( hold ) { if ( hold ) { jQuery.readyWait++; } else { jQuery.ready( true ); } }; jQuery.isArray = Array.isArray; jQuery.parseJSON = JSON.parse; jQuery.nodeName = nodeName; jQuery.isFunction = isFunction; jQuery.isWindow = isWindow; jQuery.camelCase = camelCase; jQuery.type = toType; jQuery.now = Date.now; jQuery.isNumeric = function( obj ) { // As of jQuery 3.0, isNumeric is limited to // strings and numbers (primitives or objects) // that can be coerced to finite numbers (gh-2662) var type = jQuery.type( obj ); return ( type === "number" || type === "string" ) && // parseFloat NaNs numeric-cast false positives ("") // ...but misinterprets leading-number strings, particularly hex literals ("0x...") // subtraction forces infinities to NaN !isNaN( obj - parseFloat( obj ) ); }; jQuery.trim = function( text ) { return text == null ? "" : ( text + "" ).replace( rtrim, "$1" ); }; // Register as a named AMD module, since jQuery can be concatenated with other // files that may use define, but not via a proper concatenation script that // understands anonymous AMD modules. A named AMD is safest and most robust // way to register. Lowercase jquery is used because AMD module names are // derived from file names, and jQuery is normally delivered in a lowercase // file name. Do this after creating the global so that if an AMD module wants // to call noConflict to hide this version of jQuery, it will work. // Note that for maximum portability, libraries that are not jQuery should // declare themselves as anonymous modules, and avoid setting a global if an // AMD loader is present. jQuery is a special case. For more information, see // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon if ( typeof define === "function" && define.amd ) { define( "jquery", [], function() { return jQuery; } ); } var // Map over jQuery in case of overwrite _jQuery = window.jQuery, // Map over the $ in case of overwrite _$ = window.$; jQuery.noConflict = function( deep ) { if ( window.$ === jQuery ) { window.$ = _$; } if ( deep && window.jQuery === jQuery ) { window.jQuery = _jQuery; } return jQuery; }; // Expose jQuery and $ identifiers, even in AMD // (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557) // and CommonJS for browser emulators (trac-13566) if ( typeof noGlobal === "undefined" ) { window.jQuery = window.$ = jQuery; } return jQuery; } ); vendor/components/jquery/jquery.js000064400001055202147400355670013442 0ustar00/*! * jQuery JavaScript Library v3.7.1 * https://jquery.com/ * * Copyright OpenJS Foundation and other contributors * Released under the MIT license * https://jquery.org/license * * Date: 2023-08-28T13:37Z */ ( function( global, factory ) { "use strict"; if ( typeof module === "object" && typeof module.exports === "object" ) { // For CommonJS and CommonJS-like environments where a proper `window` // is present, execute the factory and get jQuery. // For environments that do not have a `window` with a `document` // (such as Node.js), expose a factory as module.exports. // This accentuates the need for the creation of a real `window`. // e.g. var jQuery = require("jquery")(window); // See ticket trac-14549 for more info. module.exports = global.document ? factory( global, true ) : function( w ) { if ( !w.document ) { throw new Error( "jQuery requires a window with a document" ); } return factory( w ); }; } else { factory( global ); } // Pass this if window is not defined yet } )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { // Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 // throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode // arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common // enough that all such attempts are guarded in a try block. "use strict"; var arr = []; var getProto = Object.getPrototypeOf; var slice = arr.slice; var flat = arr.flat ? function( array ) { return arr.flat.call( array ); } : function( array ) { return arr.concat.apply( [], array ); }; var push = arr.push; var indexOf = arr.indexOf; var class2type = {}; var toString = class2type.toString; var hasOwn = class2type.hasOwnProperty; var fnToString = hasOwn.toString; var ObjectFunctionString = fnToString.call( Object ); var support = {}; var isFunction = function isFunction( obj ) { // Support: Chrome <=57, Firefox <=52 // In some browsers, typeof returns "function" for HTML elements // (i.e., `typeof document.createElement( "object" ) === "function"`). // We don't want to classify *any* DOM node as a function. // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 // Plus for old WebKit, typeof returns "function" for HTML collections // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) return typeof obj === "function" && typeof obj.nodeType !== "number" && typeof obj.item !== "function"; }; var isWindow = function isWindow( obj ) { return obj != null && obj === obj.window; }; var document = window.document; var preservedScriptAttributes = { type: true, src: true, nonce: true, noModule: true }; function DOMEval( code, node, doc ) { doc = doc || document; var i, val, script = doc.createElement( "script" ); script.text = code; if ( node ) { for ( i in preservedScriptAttributes ) { // Support: Firefox 64+, Edge 18+ // Some browsers don't support the "nonce" property on scripts. // On the other hand, just using `getAttribute` is not enough as // the `nonce` attribute is reset to an empty string whenever it // becomes browsing-context connected. // See https://github.com/whatwg/html/issues/2369 // See https://html.spec.whatwg.org/#nonce-attributes // The `node.getAttribute` check was added for the sake of // `jQuery.globalEval` so that it can fake a nonce-containing node // via an object. val = node[ i ] || node.getAttribute && node.getAttribute( i ); if ( val ) { script.setAttribute( i, val ); } } } doc.head.appendChild( script ).parentNode.removeChild( script ); } function toType( obj ) { if ( obj == null ) { return obj + ""; } // Support: Android <=2.3 only (functionish RegExp) return typeof obj === "object" || typeof obj === "function" ? class2type[ toString.call( obj ) ] || "object" : typeof obj; } /* global Symbol */ // Defining this global in .eslintrc.json would create a danger of using the global // unguarded in another place, it seems safer to define global only for this module var version = "3.7.1", rhtmlSuffix = /HTML$/i, // Define a local copy of jQuery jQuery = function( selector, context ) { // The jQuery object is actually just the init constructor 'enhanced' // Need init if jQuery is called (just allow error to be thrown if not included) return new jQuery.fn.init( selector, context ); }; jQuery.fn = jQuery.prototype = { // The current version of jQuery being used jquery: version, constructor: jQuery, // The default length of a jQuery object is 0 length: 0, toArray: function() { return slice.call( this ); }, // Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get: function( num ) { // Return all the elements in a clean array if ( num == null ) { return slice.call( this ); } // Return just the one element from the set return num < 0 ? this[ num + this.length ] : this[ num ]; }, // Take an array of elements and push it onto the stack // (returning the new matched element set) pushStack: function( elems ) { // Build a new jQuery matched element set var ret = jQuery.merge( this.constructor(), elems ); // Add the old object onto the stack (as a reference) ret.prevObject = this; // Return the newly-formed element set return ret; }, // Execute a callback for every element in the matched set. each: function( callback ) { return jQuery.each( this, callback ); }, map: function( callback ) { return this.pushStack( jQuery.map( this, function( elem, i ) { return callback.call( elem, i, elem ); } ) ); }, slice: function() { return this.pushStack( slice.apply( this, arguments ) ); }, first: function() { return this.eq( 0 ); }, last: function() { return this.eq( -1 ); }, even: function() { return this.pushStack( jQuery.grep( this, function( _elem, i ) { return ( i + 1 ) % 2; } ) ); }, odd: function() { return this.pushStack( jQuery.grep( this, function( _elem, i ) { return i % 2; } ) ); }, eq: function( i ) { var len = this.length, j = +i + ( i < 0 ? len : 0 ); return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); }, end: function() { return this.prevObject || this.constructor(); }, // For internal use only. // Behaves like an Array's method, not like a jQuery method. push: push, sort: arr.sort, splice: arr.splice }; jQuery.extend = jQuery.fn.extend = function() { var options, name, src, copy, copyIsArray, clone, target = arguments[ 0 ] || {}, i = 1, length = arguments.length, deep = false; // Handle a deep copy situation if ( typeof target === "boolean" ) { deep = target; // Skip the boolean and the target target = arguments[ i ] || {}; i++; } // Handle case when target is a string or something (possible in deep copy) if ( typeof target !== "object" && !isFunction( target ) ) { target = {}; } // Extend jQuery itself if only one argument is passed if ( i === length ) { target = this; i--; } for ( ; i < length; i++ ) { // Only deal with non-null/undefined values if ( ( options = arguments[ i ] ) != null ) { // Extend the base object for ( name in options ) { copy = options[ name ]; // Prevent Object.prototype pollution // Prevent never-ending loop if ( name === "__proto__" || target === copy ) { continue; } // Recurse if we're merging plain objects or arrays if ( deep && copy && ( jQuery.isPlainObject( copy ) || ( copyIsArray = Array.isArray( copy ) ) ) ) { src = target[ name ]; // Ensure proper type for the source value if ( copyIsArray && !Array.isArray( src ) ) { clone = []; } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { clone = {}; } else { clone = src; } copyIsArray = false; // Never move original objects, clone them target[ name ] = jQuery.extend( deep, clone, copy ); // Don't bring in undefined values } else if ( copy !== undefined ) { target[ name ] = copy; } } } } // Return the modified object return target; }; jQuery.extend( { // Unique for each copy of jQuery on the page expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), // Assume jQuery is ready without the ready module isReady: true, error: function( msg ) { throw new Error( msg ); }, noop: function() {}, isPlainObject: function( obj ) { var proto, Ctor; // Detect obvious negatives // Use toString instead of jQuery.type to catch host objects if ( !obj || toString.call( obj ) !== "[object Object]" ) { return false; } proto = getProto( obj ); // Objects with no prototype (e.g., `Object.create( null )`) are plain if ( !proto ) { return true; } // Objects with prototype are plain iff they were constructed by a global Object function Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; }, isEmptyObject: function( obj ) { var name; for ( name in obj ) { return false; } return true; }, // Evaluates a script in a provided context; falls back to the global one // if not specified. globalEval: function( code, options, doc ) { DOMEval( code, { nonce: options && options.nonce }, doc ); }, each: function( obj, callback ) { var length, i = 0; if ( isArrayLike( obj ) ) { length = obj.length; for ( ; i < length; i++ ) { if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { break; } } } else { for ( i in obj ) { if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { break; } } } return obj; }, // Retrieve the text value of an array of DOM nodes text: function( elem ) { var node, ret = "", i = 0, nodeType = elem.nodeType; if ( !nodeType ) { // If no nodeType, this is expected to be an array while ( ( node = elem[ i++ ] ) ) { // Do not traverse comment nodes ret += jQuery.text( node ); } } if ( nodeType === 1 || nodeType === 11 ) { return elem.textContent; } if ( nodeType === 9 ) { return elem.documentElement.textContent; } if ( nodeType === 3 || nodeType === 4 ) { return elem.nodeValue; } // Do not include comment or processing instruction nodes return ret; }, // results is for internal usage only makeArray: function( arr, results ) { var ret = results || []; if ( arr != null ) { if ( isArrayLike( Object( arr ) ) ) { jQuery.merge( ret, typeof arr === "string" ? [ arr ] : arr ); } else { push.call( ret, arr ); } } return ret; }, inArray: function( elem, arr, i ) { return arr == null ? -1 : indexOf.call( arr, elem, i ); }, isXMLDoc: function( elem ) { var namespace = elem && elem.namespaceURI, docElem = elem && ( elem.ownerDocument || elem ).documentElement; // Assume HTML when documentElement doesn't yet exist, such as inside // document fragments. return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" ); }, // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit merge: function( first, second ) { var len = +second.length, j = 0, i = first.length; for ( ; j < len; j++ ) { first[ i++ ] = second[ j ]; } first.length = i; return first; }, grep: function( elems, callback, invert ) { var callbackInverse, matches = [], i = 0, length = elems.length, callbackExpect = !invert; // Go through the array, only saving the items // that pass the validator function for ( ; i < length; i++ ) { callbackInverse = !callback( elems[ i ], i ); if ( callbackInverse !== callbackExpect ) { matches.push( elems[ i ] ); } } return matches; }, // arg is for internal usage only map: function( elems, callback, arg ) { var length, value, i = 0, ret = []; // Go through the array, translating each of the items to their new values if ( isArrayLike( elems ) ) { length = elems.length; for ( ; i < length; i++ ) { value = callback( elems[ i ], i, arg ); if ( value != null ) { ret.push( value ); } } // Go through every key on the object, } else { for ( i in elems ) { value = callback( elems[ i ], i, arg ); if ( value != null ) { ret.push( value ); } } } // Flatten any nested arrays return flat( ret ); }, // A global GUID counter for objects guid: 1, // jQuery.support is not used in Core but other projects attach their // properties to it so it needs to exist. support: support } ); if ( typeof Symbol === "function" ) { jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; } // Populate the class2type map jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), function( _i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); } ); function isArrayLike( obj ) { // Support: real iOS 8.2 only (not reproducible in simulator) // `in` check used to prevent JIT error (gh-2145) // hasOwn isn't used here due to false negatives // regarding Nodelist length in IE var length = !!obj && "length" in obj && obj.length, type = toType( obj ); if ( isFunction( obj ) || isWindow( obj ) ) { return false; } return type === "array" || length === 0 || typeof length === "number" && length > 0 && ( length - 1 ) in obj; } function nodeName( elem, name ) { return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); } var pop = arr.pop; var sort = arr.sort; var splice = arr.splice; var whitespace = "[\\x20\\t\\r\\n\\f]"; var rtrimCSS = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ); // Note: an element does not contain itself jQuery.contains = function( a, b ) { var bup = b && b.parentNode; return a === bup || !!( bup && bup.nodeType === 1 && ( // Support: IE 9 - 11+ // IE doesn't have `contains` on SVG. a.contains ? a.contains( bup ) : a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 ) ); }; // CSS string/identifier serialization // https://drafts.csswg.org/cssom/#common-serializing-idioms var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; function fcssescape( ch, asCodePoint ) { if ( asCodePoint ) { // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER if ( ch === "\0" ) { return "\uFFFD"; } // Control characters and (dependent upon position) numbers get escaped as code points return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; } // Other potentially-special ASCII characters get backslash-escaped return "\\" + ch; } jQuery.escapeSelector = function( sel ) { return ( sel + "" ).replace( rcssescape, fcssescape ); }; var preferredDoc = document, pushNative = push; ( function() { var i, Expr, outermostContext, sortInput, hasDuplicate, push = pushNative, // Local document vars document, documentElement, documentIsHTML, rbuggyQSA, matches, // Instance-specific data expando = jQuery.expando, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), nonnativeSelectorCache = createCache(), sortOrder = function( a, b ) { if ( a === b ) { hasDuplicate = true; } return 0; }, booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" + "loop|multiple|open|readonly|required|scoped", // Regular expressions // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", // Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + // Operator (capture 2) "*([*^$|!~]?=)" + whitespace + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]", pseudos = ":(" + identifier + ")(?:\\((" + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: // 1. quoted (capture 3; capture 4 or capture 5) "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + // 2. simple (capture 6) "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + // 3. anything else (capture 2) ".*" + ")\\)|)", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter rwhitespace = new RegExp( whitespace + "+", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), rdescend = new RegExp( whitespace + "|>" ), rpseudo = new RegExp( pseudos ), ridentifier = new RegExp( "^" + identifier + "$" ), matchExpr = { ID: new RegExp( "^#(" + identifier + ")" ), CLASS: new RegExp( "^\\.(" + identifier + ")" ), TAG: new RegExp( "^(" + identifier + "|[*])" ), ATTR: new RegExp( "^" + attributes ), PSEUDO: new RegExp( "^" + pseudos ), CHILD: new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), bool: new RegExp( "^(?:" + booleans + ")$", "i" ), // For use in libraries implementing .is() // We use this for POS matching in `select` needsContext: new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) }, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\d$/i, // Easily-parseable/retrievable ID or TAG or CLASS selectors rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, rsibling = /[+~]/, // CSS escapes // https://www.w3.org/TR/CSS21/syndata.html#escaped-characters runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), funescape = function( escape, nonHex ) { var high = "0x" + escape.slice( 1 ) - 0x10000; if ( nonHex ) { // Strip the backslash prefix from a non-hex escape sequence return nonHex; } // Replace a hexadecimal escape sequence with the encoded Unicode code point // Support: IE <=11+ // For values outside the Basic Multilingual Plane (BMP), manually construct a // surrogate pair return high < 0 ? String.fromCharCode( high + 0x10000 ) : String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); }, // Used for iframes; see `setDocument`. // Support: IE 9 - 11+, Edge 12 - 18+ // Removing the function wrapper causes a "Permission Denied" // error in IE/Edge. unloadHandler = function() { setDocument(); }, inDisabledFieldset = addCombinator( function( elem ) { return elem.disabled === true && nodeName( elem, "fieldset" ); }, { dir: "parentNode", next: "legend" } ); // Support: IE <=9 only // Accessing document.activeElement can throw unexpectedly // https://bugs.jquery.com/ticket/13393 function safeActiveElement() { try { return document.activeElement; } catch ( err ) { } } // Optimize for push.apply( _, NodeList ) try { push.apply( ( arr = slice.call( preferredDoc.childNodes ) ), preferredDoc.childNodes ); // Support: Android <=4.0 // Detect silently failing push.apply // eslint-disable-next-line no-unused-expressions arr[ preferredDoc.childNodes.length ].nodeType; } catch ( e ) { push = { apply: function( target, els ) { pushNative.apply( target, slice.call( els ) ); }, call: function( target ) { pushNative.apply( target, slice.call( arguments, 1 ) ); } }; } function find( selector, context, results, seed ) { var m, i, elem, nid, match, groups, newSelector, newContext = context && context.ownerDocument, // nodeType defaults to 9, since context defaults to document nodeType = context ? context.nodeType : 9; results = results || []; // Return early from calls with invalid selector or context if ( typeof selector !== "string" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { return results; } // Try to shortcut find operations (as opposed to filters) in HTML documents if ( !seed ) { setDocument( context ); context = context || document; if ( documentIsHTML ) { // If the selector is sufficiently simple, try using a "get*By*" DOM method // (excepting DocumentFragment context, where the methods don't exist) if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { // ID selector if ( ( m = match[ 1 ] ) ) { // Document context if ( nodeType === 9 ) { if ( ( elem = context.getElementById( m ) ) ) { // Support: IE 9 only // getElementById can match elements by name instead of ID if ( elem.id === m ) { push.call( results, elem ); return results; } } else { return results; } // Element context } else { // Support: IE 9 only // getElementById can match elements by name instead of ID if ( newContext && ( elem = newContext.getElementById( m ) ) && find.contains( context, elem ) && elem.id === m ) { push.call( results, elem ); return results; } } // Type selector } else if ( match[ 2 ] ) { push.apply( results, context.getElementsByTagName( selector ) ); return results; // Class selector } else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) { push.apply( results, context.getElementsByClassName( m ) ); return results; } } // Take advantage of querySelectorAll if ( !nonnativeSelectorCache[ selector + " " ] && ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) { newSelector = selector; newContext = context; // qSA considers elements outside a scoping root when evaluating child or // descendant combinators, which is not what we want. // In such cases, we work around the behavior by prefixing every selector in the // list with an ID selector referencing the scope context. // The technique has to be used as well when a leading combinator is used // as such selectors are not recognized by querySelectorAll. // Thanks to Andrew Dupont for this technique. if ( nodeType === 1 && ( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) { // Expand context for sibling selectors newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; // We can use :scope instead of the ID hack if the browser // supports it & if we're not changing the context. // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when // strict-comparing two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( newContext != context || !support.scope ) { // Capture the context ID, setting it first if necessary if ( ( nid = context.getAttribute( "id" ) ) ) { nid = jQuery.escapeSelector( nid ); } else { context.setAttribute( "id", ( nid = expando ) ); } } // Prefix every selector in the list groups = tokenize( selector ); i = groups.length; while ( i-- ) { groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + toSelector( groups[ i ] ); } newSelector = groups.join( "," ); } try { push.apply( results, newContext.querySelectorAll( newSelector ) ); return results; } catch ( qsaError ) { nonnativeSelectorCache( selector, true ); } finally { if ( nid === expando ) { context.removeAttribute( "id" ); } } } } } // All others return select( selector.replace( rtrimCSS, "$1" ), context, results, seed ); } /** * Create key-value caches of limited size * @returns {function(string, object)} Returns the Object data after storing it on itself with * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) * deleting the oldest entry */ function createCache() { var keys = []; function cache( key, value ) { // Use (key + " ") to avoid collision with native prototype properties // (see https://github.com/jquery/sizzle/issues/157) if ( keys.push( key + " " ) > Expr.cacheLength ) { // Only keep the most recent entries delete cache[ keys.shift() ]; } return ( cache[ key + " " ] = value ); } return cache; } /** * Mark a function for special use by jQuery selector module * @param {Function} fn The function to mark */ function markFunction( fn ) { fn[ expando ] = true; return fn; } /** * Support testing using an element * @param {Function} fn Passed the created element and returns a boolean result */ function assert( fn ) { var el = document.createElement( "fieldset" ); try { return !!fn( el ); } catch ( e ) { return false; } finally { // Remove from its parent by default if ( el.parentNode ) { el.parentNode.removeChild( el ); } // release memory in IE el = null; } } /** * Returns a function to use in pseudos for input types * @param {String} type */ function createInputPseudo( type ) { return function( elem ) { return nodeName( elem, "input" ) && elem.type === type; }; } /** * Returns a function to use in pseudos for buttons * @param {String} type */ function createButtonPseudo( type ) { return function( elem ) { return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) && elem.type === type; }; } /** * Returns a function to use in pseudos for :enabled/:disabled * @param {Boolean} disabled true for :disabled; false for :enabled */ function createDisabledPseudo( disabled ) { // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable return function( elem ) { // Only certain elements can match :enabled or :disabled // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled if ( "form" in elem ) { // Check for inherited disabledness on relevant non-disabled elements: // * listed form-associated elements in a disabled fieldset // https://html.spec.whatwg.org/multipage/forms.html#category-listed // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled // * option elements in a disabled optgroup // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled // All such elements have a "form" property. if ( elem.parentNode && elem.disabled === false ) { // Option elements defer to a parent optgroup if present if ( "label" in elem ) { if ( "label" in elem.parentNode ) { return elem.parentNode.disabled === disabled; } else { return elem.disabled === disabled; } } // Support: IE 6 - 11+ // Use the isDisabled shortcut property to check for disabled fieldset ancestors return elem.isDisabled === disabled || // Where there is no isDisabled, check manually elem.isDisabled !== !disabled && inDisabledFieldset( elem ) === disabled; } return elem.disabled === disabled; // Try to winnow out elements that can't be disabled before trusting the disabled property. // Some victims get caught in our net (label, legend, menu, track), but it shouldn't // even exist on them, let alone have a boolean value. } else if ( "label" in elem ) { return elem.disabled === disabled; } // Remaining elements are neither :enabled nor :disabled return false; }; } /** * Returns a function to use in pseudos for positionals * @param {Function} fn */ function createPositionalPseudo( fn ) { return markFunction( function( argument ) { argument = +argument; return markFunction( function( seed, matches ) { var j, matchIndexes = fn( [], seed.length, argument ), i = matchIndexes.length; // Match elements found at the specified indexes while ( i-- ) { if ( seed[ ( j = matchIndexes[ i ] ) ] ) { seed[ j ] = !( matches[ j ] = seed[ j ] ); } } } ); } ); } /** * Checks a node for validity as a jQuery selector context * @param {Element|Object=} context * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value */ function testContext( context ) { return context && typeof context.getElementsByTagName !== "undefined" && context; } /** * Sets document-related variables once based on the current document * @param {Element|Object} [node] An element or document object to use to set the document * @returns {Object} Returns the current document */ function setDocument( node ) { var subWindow, doc = node ? node.ownerDocument || node : preferredDoc; // Return early if doc is invalid or already selected // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { return document; } // Update global variables document = doc; documentElement = document.documentElement; documentIsHTML = !jQuery.isXMLDoc( document ); // Support: iOS 7 only, IE 9 - 11+ // Older browsers didn't support unprefixed `matches`. matches = documentElement.matches || documentElement.webkitMatchesSelector || documentElement.msMatchesSelector; // Support: IE 9 - 11+, Edge 12 - 18+ // Accessing iframe documents after unload throws "permission denied" errors // (see trac-13936). // Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`, // all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well. if ( documentElement.msMatchesSelector && // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq preferredDoc != document && ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { // Support: IE 9 - 11+, Edge 12 - 18+ subWindow.addEventListener( "unload", unloadHandler ); } // Support: IE <10 // Check if getElementById returns elements by name // The broken getElementById methods don't pick up programmatically-set names, // so use a roundabout getElementsByName test support.getById = assert( function( el ) { documentElement.appendChild( el ).id = jQuery.expando; return !document.getElementsByName || !document.getElementsByName( jQuery.expando ).length; } ); // Support: IE 9 only // Check to see if it's possible to do matchesSelector // on a disconnected node. support.disconnectedMatch = assert( function( el ) { return matches.call( el, "*" ); } ); // Support: IE 9 - 11+, Edge 12 - 18+ // IE/Edge don't support the :scope pseudo-class. support.scope = assert( function() { return document.querySelectorAll( ":scope" ); } ); // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only // Make sure the `:has()` argument is parsed unforgivingly. // We include `*` in the test to detect buggy implementations that are // _selectively_ forgiving (specifically when the list includes at least // one valid selector). // Note that we treat complete lack of support for `:has()` as if it were // spec-compliant support, which is fine because use of `:has()` in such // environments will fail in the qSA path and fall back to jQuery traversal // anyway. support.cssHas = assert( function() { try { document.querySelector( ":has(*,:jqfake)" ); return false; } catch ( e ) { return true; } } ); // ID filter and find if ( support.getById ) { Expr.filter.ID = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { return elem.getAttribute( "id" ) === attrId; }; }; Expr.find.ID = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var elem = context.getElementById( id ); return elem ? [ elem ] : []; } }; } else { Expr.filter.ID = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode( "id" ); return node && node.value === attrId; }; }; // Support: IE 6 - 7 only // getElementById is not reliable as a find shortcut Expr.find.ID = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var node, i, elems, elem = context.getElementById( id ); if ( elem ) { // Verify the id attribute node = elem.getAttributeNode( "id" ); if ( node && node.value === id ) { return [ elem ]; } // Fall back on getElementsByName elems = context.getElementsByName( id ); i = 0; while ( ( elem = elems[ i++ ] ) ) { node = elem.getAttributeNode( "id" ); if ( node && node.value === id ) { return [ elem ]; } } } return []; } }; } // Tag Expr.find.TAG = function( tag, context ) { if ( typeof context.getElementsByTagName !== "undefined" ) { return context.getElementsByTagName( tag ); // DocumentFragment nodes don't have gEBTN } else { return context.querySelectorAll( tag ); } }; // Class Expr.find.CLASS = function( className, context ) { if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { return context.getElementsByClassName( className ); } }; /* QSA/matchesSelector ---------------------------------------------------------------------- */ // QSA and matchesSelector support rbuggyQSA = []; // Build QSA regex // Regex strategy adopted from Diego Perini assert( function( el ) { var input; documentElement.appendChild( el ).innerHTML = "" + ""; // Support: iOS <=7 - 8 only // Boolean attributes and "value" are not treated correctly in some XML documents if ( !el.querySelectorAll( "[selected]" ).length ) { rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); } // Support: iOS <=7 - 8 only if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { rbuggyQSA.push( "~=" ); } // Support: iOS 8 only // https://bugs.webkit.org/show_bug.cgi?id=136851 // In-page `selector#id sibling-combinator selector` fails if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { rbuggyQSA.push( ".#.+[+~]" ); } // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ // In some of the document kinds, these selectors wouldn't work natively. // This is probably OK but for backwards compatibility we want to maintain // handling them through jQuery traversal in jQuery 3.x. if ( !el.querySelectorAll( ":checked" ).length ) { rbuggyQSA.push( ":checked" ); } // Support: Windows 8 Native Apps // The type and name attributes are restricted during .innerHTML assignment input = document.createElement( "input" ); input.setAttribute( "type", "hidden" ); el.appendChild( input ).setAttribute( "name", "D" ); // Support: IE 9 - 11+ // IE's :disabled selector does not pick up the children of disabled fieldsets // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ // In some of the document kinds, these selectors wouldn't work natively. // This is probably OK but for backwards compatibility we want to maintain // handling them through jQuery traversal in jQuery 3.x. documentElement.appendChild( el ).disabled = true; if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { rbuggyQSA.push( ":enabled", ":disabled" ); } // Support: IE 11+, Edge 15 - 18+ // IE 11/Edge don't find elements on a `[name='']` query in some cases. // Adding a temporary attribute to the document before the selection works // around the issue. // Interestingly, IE 10 & older don't seem to have the issue. input = document.createElement( "input" ); input.setAttribute( "name", "" ); el.appendChild( input ); if ( !el.querySelectorAll( "[name='']" ).length ) { rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + whitespace + "*(?:''|\"\")" ); } } ); if ( !support.cssHas ) { // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+ // Our regular `try-catch` mechanism fails to detect natively-unsupported // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`) // in browsers that parse the `:has()` argument as a forgiving selector list. // https://drafts.csswg.org/selectors/#relational now requires the argument // to be parsed unforgivingly, but browsers have not yet fully adjusted. rbuggyQSA.push( ":has" ); } rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); /* Sorting ---------------------------------------------------------------------- */ // Document order sorting sortOrder = function( a, b ) { // Flag for duplicate removal if ( a === b ) { hasDuplicate = true; return 0; } // Sort on method existence if only one input has compareDocumentPosition var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; if ( compare ) { return compare; } // Calculate position if both inputs belong to the same document // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? a.compareDocumentPosition( b ) : // Otherwise we know they are disconnected 1; // Disconnected nodes if ( compare & 1 || ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { // Choose the first element that is related to our preferred document // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( a === document || a.ownerDocument == preferredDoc && find.contains( preferredDoc, a ) ) { return -1; } // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( b === document || b.ownerDocument == preferredDoc && find.contains( preferredDoc, b ) ) { return 1; } // Maintain original order return sortInput ? ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : 0; } return compare & 4 ? -1 : 1; }; return document; } find.matches = function( expr, elements ) { return find( expr, null, null, elements ); }; find.matchesSelector = function( elem, expr ) { setDocument( elem ); if ( documentIsHTML && !nonnativeSelectorCache[ expr + " " ] && ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { try { var ret = matches.call( elem, expr ); // IE 9's matchesSelector returns false on disconnected nodes if ( ret || support.disconnectedMatch || // As well, disconnected nodes are said to be in a document // fragment in IE 9 elem.document && elem.document.nodeType !== 11 ) { return ret; } } catch ( e ) { nonnativeSelectorCache( expr, true ); } } return find( expr, document, null, [ elem ] ).length > 0; }; find.contains = function( context, elem ) { // Set document vars if needed // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( ( context.ownerDocument || context ) != document ) { setDocument( context ); } return jQuery.contains( context, elem ); }; find.attr = function( elem, name ) { // Set document vars if needed // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( ( elem.ownerDocument || elem ) != document ) { setDocument( elem ); } var fn = Expr.attrHandle[ name.toLowerCase() ], // Don't get fooled by Object.prototype properties (see trac-13807) val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? fn( elem, name, !documentIsHTML ) : undefined; if ( val !== undefined ) { return val; } return elem.getAttribute( name ); }; find.error = function( msg ) { throw new Error( "Syntax error, unrecognized expression: " + msg ); }; /** * Document sorting and removing duplicates * @param {ArrayLike} results */ jQuery.uniqueSort = function( results ) { var elem, duplicates = [], j = 0, i = 0; // Unless we *know* we can detect duplicates, assume their presence // // Support: Android <=4.0+ // Testing for detecting duplicates is unpredictable so instead assume we can't // depend on duplicate detection in all browsers without a stable sort. hasDuplicate = !support.sortStable; sortInput = !support.sortStable && slice.call( results, 0 ); sort.call( results, sortOrder ); if ( hasDuplicate ) { while ( ( elem = results[ i++ ] ) ) { if ( elem === results[ i ] ) { j = duplicates.push( i ); } } while ( j-- ) { splice.call( results, duplicates[ j ], 1 ); } } // Clear input after sorting to release objects // See https://github.com/jquery/sizzle/pull/225 sortInput = null; return results; }; jQuery.fn.uniqueSort = function() { return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) ); }; Expr = jQuery.expr = { // Can be adjusted by the user cacheLength: 50, createPseudo: markFunction, match: matchExpr, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: true }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: true }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function( match ) { match[ 1 ] = match[ 1 ].replace( runescape, funescape ); // Move the given value to match[3] whether quoted or unquoted match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" ) .replace( runescape, funescape ); if ( match[ 2 ] === "~=" ) { match[ 3 ] = " " + match[ 3 ] + " "; } return match.slice( 0, 4 ); }, CHILD: function( match ) { /* matches from matchExpr["CHILD"] 1 type (only|nth|...) 2 what (child|of-type) 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) 4 xn-component of xn+y argument ([+-]?\d*n|) 5 sign of xn-component 6 x of xn-component 7 sign of y-component 8 y of y-component */ match[ 1 ] = match[ 1 ].toLowerCase(); if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { // nth-* requires argument if ( !match[ 3 ] ) { find.error( match[ 0 ] ); } // numeric x and y parameters for Expr.filter.CHILD // remember that false/true cast respectively to 0/1 match[ 4 ] = +( match[ 4 ] ? match[ 5 ] + ( match[ 6 ] || 1 ) : 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); // other types prohibit arguments } else if ( match[ 3 ] ) { find.error( match[ 0 ] ); } return match; }, PSEUDO: function( match ) { var excess, unquoted = !match[ 6 ] && match[ 2 ]; if ( matchExpr.CHILD.test( match[ 0 ] ) ) { return null; } // Accept quoted arguments as-is if ( match[ 3 ] ) { match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; // Strip excess characters from unquoted arguments } else if ( unquoted && rpseudo.test( unquoted ) && // Get excess from tokenize (recursively) ( excess = tokenize( unquoted, true ) ) && // advance to the next closing parenthesis ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { // excess is a negative index match[ 0 ] = match[ 0 ].slice( 0, excess ); match[ 2 ] = unquoted.slice( 0, excess ); } // Return only captures needed by the pseudo filter method (type and argument) return match.slice( 0, 3 ); } }, filter: { TAG: function( nodeNameSelector ) { var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); return nodeNameSelector === "*" ? function() { return true; } : function( elem ) { return nodeName( elem, expectedNodeName ); }; }, CLASS: function( className ) { var pattern = classCache[ className + " " ]; return pattern || ( pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( className, function( elem ) { return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute( "class" ) || "" ); } ); }, ATTR: function( name, operator, check ) { return function( elem ) { var result = find.attr( elem, name ); if ( result == null ) { return operator === "!="; } if ( !operator ) { return true; } result += ""; if ( operator === "=" ) { return result === check; } if ( operator === "!=" ) { return result !== check; } if ( operator === "^=" ) { return check && result.indexOf( check ) === 0; } if ( operator === "*=" ) { return check && result.indexOf( check ) > -1; } if ( operator === "$=" ) { return check && result.slice( -check.length ) === check; } if ( operator === "~=" ) { return ( " " + result.replace( rwhitespace, " " ) + " " ) .indexOf( check ) > -1; } if ( operator === "|=" ) { return result === check || result.slice( 0, check.length + 1 ) === check + "-"; } return false; }; }, CHILD: function( type, what, _argument, first, last ) { var simple = type.slice( 0, 3 ) !== "nth", forward = type.slice( -4 ) !== "last", ofType = what === "of-type"; return first === 1 && last === 0 ? // Shortcut for :nth-*(n) function( elem ) { return !!elem.parentNode; } : function( elem, _context, xml ) { var cache, outerCache, node, nodeIndex, start, dir = simple !== forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, name = ofType && elem.nodeName.toLowerCase(), useCache = !xml && !ofType, diff = false; if ( parent ) { // :(first|last|only)-(child|of-type) if ( simple ) { while ( dir ) { node = elem; while ( ( node = node[ dir ] ) ) { if ( ofType ? nodeName( node, name ) : node.nodeType === 1 ) { return false; } } // Reverse direction for :only-* (if we haven't yet done so) start = dir = type === "only" && !start && "nextSibling"; } return true; } start = [ forward ? parent.firstChild : parent.lastChild ]; // non-xml :nth-child(...) stores cache data on `parent` if ( forward && useCache ) { // Seek `elem` from a previously-cached index outerCache = parent[ expando ] || ( parent[ expando ] = {} ); cache = outerCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; diff = nodeIndex && cache[ 2 ]; node = nodeIndex && parent.childNodes[ nodeIndex ]; while ( ( node = ++nodeIndex && node && node[ dir ] || // Fallback to seeking `elem` from the start ( diff = nodeIndex = 0 ) || start.pop() ) ) { // When found, cache indexes on `parent` and break if ( node.nodeType === 1 && ++diff && node === elem ) { outerCache[ type ] = [ dirruns, nodeIndex, diff ]; break; } } } else { // Use previously-cached element index if available if ( useCache ) { outerCache = elem[ expando ] || ( elem[ expando ] = {} ); cache = outerCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; diff = nodeIndex; } // xml :nth-child(...) // or :nth-last-child(...) or :nth(-last)?-of-type(...) if ( diff === false ) { // Use the same loop as above to seek `elem` from the start while ( ( node = ++nodeIndex && node && node[ dir ] || ( diff = nodeIndex = 0 ) || start.pop() ) ) { if ( ( ofType ? nodeName( node, name ) : node.nodeType === 1 ) && ++diff ) { // Cache the index of each encountered element if ( useCache ) { outerCache = node[ expando ] || ( node[ expando ] = {} ); outerCache[ type ] = [ dirruns, diff ]; } if ( node === elem ) { break; } } } } } // Incorporate the offset, then check against cycle size diff -= last; return diff === first || ( diff % first === 0 && diff / first >= 0 ); } }; }, PSEUDO: function( pseudo, argument ) { // pseudo-class names are case-insensitive // https://www.w3.org/TR/selectors/#pseudo-classes // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters // Remember that setFilters inherits from pseudos var args, fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || find.error( "unsupported pseudo: " + pseudo ); // The user may use createPseudo to indicate that // arguments are needed to create the filter function // just as jQuery does if ( fn[ expando ] ) { return fn( argument ); } // But maintain support for old signatures if ( fn.length > 1 ) { args = [ pseudo, pseudo, "", argument ]; return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? markFunction( function( seed, matches ) { var idx, matched = fn( seed, argument ), i = matched.length; while ( i-- ) { idx = indexOf.call( seed, matched[ i ] ); seed[ idx ] = !( matches[ idx ] = matched[ i ] ); } } ) : function( elem ) { return fn( elem, 0, args ); }; } return fn; } }, pseudos: { // Potentially complex pseudos not: markFunction( function( selector ) { // Trim the selector passed to compile // to avoid treating leading and trailing // spaces as combinators var input = [], results = [], matcher = compile( selector.replace( rtrimCSS, "$1" ) ); return matcher[ expando ] ? markFunction( function( seed, matches, _context, xml ) { var elem, unmatched = matcher( seed, null, xml, [] ), i = seed.length; // Match elements unmatched by `matcher` while ( i-- ) { if ( ( elem = unmatched[ i ] ) ) { seed[ i ] = !( matches[ i ] = elem ); } } } ) : function( elem, _context, xml ) { input[ 0 ] = elem; matcher( input, null, xml, results ); // Don't keep the element // (see https://github.com/jquery/sizzle/issues/299) input[ 0 ] = null; return !results.pop(); }; } ), has: markFunction( function( selector ) { return function( elem ) { return find( selector, elem ).length > 0; }; } ), contains: markFunction( function( text ) { text = text.replace( runescape, funescape ); return function( elem ) { return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1; }; } ), // "Whether an element is represented by a :lang() selector // is based solely on the element's language value // being equal to the identifier C, // or beginning with the identifier C immediately followed by "-". // The matching of C against the element's language value is performed case-insensitively. // The identifier C does not have to be a valid language name." // https://www.w3.org/TR/selectors/#lang-pseudo lang: markFunction( function( lang ) { // lang value must be a valid identifier if ( !ridentifier.test( lang || "" ) ) { find.error( "unsupported lang: " + lang ); } lang = lang.replace( runescape, funescape ).toLowerCase(); return function( elem ) { var elemLang; do { if ( ( elemLang = documentIsHTML ? elem.lang : elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { elemLang = elemLang.toLowerCase(); return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; } } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); return false; }; } ), // Miscellaneous target: function( elem ) { var hash = window.location && window.location.hash; return hash && hash.slice( 1 ) === elem.id; }, root: function( elem ) { return elem === documentElement; }, focus: function( elem ) { return elem === safeActiveElement() && document.hasFocus() && !!( elem.type || elem.href || ~elem.tabIndex ); }, // Boolean properties enabled: createDisabledPseudo( false ), disabled: createDisabledPseudo( true ), checked: function( elem ) { // In CSS3, :checked should return both checked and selected elements // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked return ( nodeName( elem, "input" ) && !!elem.checked ) || ( nodeName( elem, "option" ) && !!elem.selected ); }, selected: function( elem ) { // Support: IE <=11+ // Accessing the selectedIndex property // forces the browser to treat the default option as // selected when in an optgroup. if ( elem.parentNode ) { // eslint-disable-next-line no-unused-expressions elem.parentNode.selectedIndex; } return elem.selected === true; }, // Contents empty: function( elem ) { // https://www.w3.org/TR/selectors/#empty-pseudo // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), // but not by others (comment: 8; processing instruction: 7; etc.) // nodeType < 6 works because attributes (2) do not appear as children for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { if ( elem.nodeType < 6 ) { return false; } } return true; }, parent: function( elem ) { return !Expr.pseudos.empty( elem ); }, // Element/input types header: function( elem ) { return rheader.test( elem.nodeName ); }, input: function( elem ) { return rinputs.test( elem.nodeName ); }, button: function( elem ) { return nodeName( elem, "input" ) && elem.type === "button" || nodeName( elem, "button" ); }, text: function( elem ) { var attr; return nodeName( elem, "input" ) && elem.type === "text" && // Support: IE <10 only // New HTML5 attribute values (e.g., "search") appear // with elem.type === "text" ( ( attr = elem.getAttribute( "type" ) ) == null || attr.toLowerCase() === "text" ); }, // Position-in-collection first: createPositionalPseudo( function() { return [ 0 ]; } ), last: createPositionalPseudo( function( _matchIndexes, length ) { return [ length - 1 ]; } ), eq: createPositionalPseudo( function( _matchIndexes, length, argument ) { return [ argument < 0 ? argument + length : argument ]; } ), even: createPositionalPseudo( function( matchIndexes, length ) { var i = 0; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; } ), odd: createPositionalPseudo( function( matchIndexes, length ) { var i = 1; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; } ), lt: createPositionalPseudo( function( matchIndexes, length, argument ) { var i; if ( argument < 0 ) { i = argument + length; } else if ( argument > length ) { i = length; } else { i = argument; } for ( ; --i >= 0; ) { matchIndexes.push( i ); } return matchIndexes; } ), gt: createPositionalPseudo( function( matchIndexes, length, argument ) { var i = argument < 0 ? argument + length : argument; for ( ; ++i < length; ) { matchIndexes.push( i ); } return matchIndexes; } ) } }; Expr.pseudos.nth = Expr.pseudos.eq; // Add button/input type pseudos for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { Expr.pseudos[ i ] = createInputPseudo( i ); } for ( i in { submit: true, reset: true } ) { Expr.pseudos[ i ] = createButtonPseudo( i ); } // Easy API for creating new setFilters function setFilters() {} setFilters.prototype = Expr.filters = Expr.pseudos; Expr.setFilters = new setFilters(); function tokenize( selector, parseOnly ) { var matched, match, tokens, type, soFar, groups, preFilters, cached = tokenCache[ selector + " " ]; if ( cached ) { return parseOnly ? 0 : cached.slice( 0 ); } soFar = selector; groups = []; preFilters = Expr.preFilter; while ( soFar ) { // Comma and first run if ( !matched || ( match = rcomma.exec( soFar ) ) ) { if ( match ) { // Don't consume trailing commas as valid soFar = soFar.slice( match[ 0 ].length ) || soFar; } groups.push( ( tokens = [] ) ); } matched = false; // Combinators if ( ( match = rleadingCombinator.exec( soFar ) ) ) { matched = match.shift(); tokens.push( { value: matched, // Cast descendant combinators to space type: match[ 0 ].replace( rtrimCSS, " " ) } ); soFar = soFar.slice( matched.length ); } // Filters for ( type in Expr.filter ) { if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || ( match = preFilters[ type ]( match ) ) ) ) { matched = match.shift(); tokens.push( { value: matched, type: type, matches: match } ); soFar = soFar.slice( matched.length ); } } if ( !matched ) { break; } } // Return the length of the invalid excess // if we're just parsing // Otherwise, throw an error or return tokens if ( parseOnly ) { return soFar.length; } return soFar ? find.error( selector ) : // Cache the tokens tokenCache( selector, groups ).slice( 0 ); } function toSelector( tokens ) { var i = 0, len = tokens.length, selector = ""; for ( ; i < len; i++ ) { selector += tokens[ i ].value; } return selector; } function addCombinator( matcher, combinator, base ) { var dir = combinator.dir, skip = combinator.next, key = skip || dir, checkNonElements = base && key === "parentNode", doneName = done++; return combinator.first ? // Check against closest ancestor/preceding element function( elem, context, xml ) { while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { return matcher( elem, context, xml ); } } return false; } : // Check against all ancestor/preceding elements function( elem, context, xml ) { var oldCache, outerCache, newCache = [ dirruns, doneName ]; // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching if ( xml ) { while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { if ( matcher( elem, context, xml ) ) { return true; } } } } else { while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { outerCache = elem[ expando ] || ( elem[ expando ] = {} ); if ( skip && nodeName( elem, skip ) ) { elem = elem[ dir ] || elem; } else if ( ( oldCache = outerCache[ key ] ) && oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { // Assign to newCache so results back-propagate to previous elements return ( newCache[ 2 ] = oldCache[ 2 ] ); } else { // Reuse newcache so results back-propagate to previous elements outerCache[ key ] = newCache; // A match means we're done; a fail means we have to keep checking if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { return true; } } } } } return false; }; } function elementMatcher( matchers ) { return matchers.length > 1 ? function( elem, context, xml ) { var i = matchers.length; while ( i-- ) { if ( !matchers[ i ]( elem, context, xml ) ) { return false; } } return true; } : matchers[ 0 ]; } function multipleContexts( selector, contexts, results ) { var i = 0, len = contexts.length; for ( ; i < len; i++ ) { find( selector, contexts[ i ], results ); } return results; } function condense( unmatched, map, filter, context, xml ) { var elem, newUnmatched = [], i = 0, len = unmatched.length, mapped = map != null; for ( ; i < len; i++ ) { if ( ( elem = unmatched[ i ] ) ) { if ( !filter || filter( elem, context, xml ) ) { newUnmatched.push( elem ); if ( mapped ) { map.push( i ); } } } } return newUnmatched; } function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { if ( postFilter && !postFilter[ expando ] ) { postFilter = setMatcher( postFilter ); } if ( postFinder && !postFinder[ expando ] ) { postFinder = setMatcher( postFinder, postSelector ); } return markFunction( function( seed, results, context, xml ) { var temp, i, elem, matcherOut, preMap = [], postMap = [], preexisting = results.length, // Get initial elements from seed or context elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), // Prefilter to get matcher input, preserving a map for seed-results synchronization matcherIn = preFilter && ( seed || !selector ) ? condense( elems, preMap, preFilter, context, xml ) : elems; if ( matcher ) { // If we have a postFinder, or filtered seed, or non-seed postFilter // or preexisting results, matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ? // ...intermediate processing is necessary [] : // ...otherwise use results directly results; // Find primary matches matcher( matcherIn, matcherOut, context, xml ); } else { matcherOut = matcherIn; } // Apply postFilter if ( postFilter ) { temp = condense( matcherOut, postMap ); postFilter( temp, [], context, xml ); // Un-match failing elements by moving them back to matcherIn i = temp.length; while ( i-- ) { if ( ( elem = temp[ i ] ) ) { matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); } } } if ( seed ) { if ( postFinder || preFilter ) { if ( postFinder ) { // Get the final matcherOut by condensing this intermediate into postFinder contexts temp = []; i = matcherOut.length; while ( i-- ) { if ( ( elem = matcherOut[ i ] ) ) { // Restore matcherIn since elem is not yet a final match temp.push( ( matcherIn[ i ] = elem ) ); } } postFinder( null, ( matcherOut = [] ), temp, xml ); } // Move matched elements from seed to results to keep them synchronized i = matcherOut.length; while ( i-- ) { if ( ( elem = matcherOut[ i ] ) && ( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) { seed[ temp ] = !( results[ temp ] = elem ); } } } // Add elements to results, through postFinder if defined } else { matcherOut = condense( matcherOut === results ? matcherOut.splice( preexisting, matcherOut.length ) : matcherOut ); if ( postFinder ) { postFinder( null, results, matcherOut, xml ); } else { push.apply( results, matcherOut ); } } } ); } function matcherFromTokens( tokens ) { var checkContext, matcher, j, len = tokens.length, leadingRelative = Expr.relative[ tokens[ 0 ].type ], implicitRelative = leadingRelative || Expr.relative[ " " ], i = leadingRelative ? 1 : 0, // The foundational matcher ensures that elements are reachable from top-level context(s) matchContext = addCombinator( function( elem ) { return elem === checkContext; }, implicitRelative, true ), matchAnyContext = addCombinator( function( elem ) { return indexOf.call( checkContext, elem ) > -1; }, implicitRelative, true ), matchers = [ function( elem, context, xml ) { // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || ( ( checkContext = context ).nodeType ? matchContext( elem, context, xml ) : matchAnyContext( elem, context, xml ) ); // Avoid hanging onto element // (see https://github.com/jquery/sizzle/issues/299) checkContext = null; return ret; } ]; for ( ; i < len; i++ ) { if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; } else { matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); // Return special upon seeing a positional matcher if ( matcher[ expando ] ) { // Find the next relative operator (if any) for proper handling j = ++i; for ( ; j < len; j++ ) { if ( Expr.relative[ tokens[ j ].type ] ) { break; } } return setMatcher( i > 1 && elementMatcher( matchers ), i > 1 && toSelector( // If the preceding token was a descendant combinator, insert an implicit any-element `*` tokens.slice( 0, i - 1 ) .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) ).replace( rtrimCSS, "$1" ), matcher, i < j && matcherFromTokens( tokens.slice( i, j ) ), j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), j < len && toSelector( tokens ) ); } matchers.push( matcher ); } } return elementMatcher( matchers ); } function matcherFromGroupMatchers( elementMatchers, setMatchers ) { var bySet = setMatchers.length > 0, byElement = elementMatchers.length > 0, superMatcher = function( seed, context, xml, results, outermost ) { var elem, j, matcher, matchedCount = 0, i = "0", unmatched = seed && [], setMatched = [], contextBackup = outermostContext, // We must always have either seed elements or outermost context elems = seed || byElement && Expr.find.TAG( "*", outermost ), // Use integer dirruns iff this is the outermost matcher dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), len = elems.length; if ( outermost ) { // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq outermostContext = context == document || context || outermost; } // Add elements passing elementMatchers directly to results // Support: iOS <=7 - 9 only // Tolerate NodeList properties (IE: "length"; Safari: ) matching // elements by id. (see trac-14142) for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { if ( byElement && elem ) { j = 0; // Support: IE 11+, Edge 17 - 18+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing // two documents; shallow comparisons work. // eslint-disable-next-line eqeqeq if ( !context && elem.ownerDocument != document ) { setDocument( elem ); xml = !documentIsHTML; } while ( ( matcher = elementMatchers[ j++ ] ) ) { if ( matcher( elem, context || document, xml ) ) { push.call( results, elem ); break; } } if ( outermost ) { dirruns = dirrunsUnique; } } // Track unmatched elements for set filters if ( bySet ) { // They will have gone through all possible matchers if ( ( elem = !matcher && elem ) ) { matchedCount--; } // Lengthen the array for every element, matched or not if ( seed ) { unmatched.push( elem ); } } } // `i` is now the count of elements visited above, and adding it to `matchedCount` // makes the latter nonnegative. matchedCount += i; // Apply set filters to unmatched elements // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` // equals `i`), unless we didn't visit _any_ elements in the above loop because we have // no element matchers and no seed. // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that // case, which will result in a "00" `matchedCount` that differs from `i` but is also // numerically zero. if ( bySet && i !== matchedCount ) { j = 0; while ( ( matcher = setMatchers[ j++ ] ) ) { matcher( unmatched, setMatched, context, xml ); } if ( seed ) { // Reintegrate element matches to eliminate the need for sorting if ( matchedCount > 0 ) { while ( i-- ) { if ( !( unmatched[ i ] || setMatched[ i ] ) ) { setMatched[ i ] = pop.call( results ); } } } // Discard index placeholder values to get only actual matches setMatched = condense( setMatched ); } // Add matches to results push.apply( results, setMatched ); // Seedless set matches succeeding multiple successful matchers stipulate sorting if ( outermost && !seed && setMatched.length > 0 && ( matchedCount + setMatchers.length ) > 1 ) { jQuery.uniqueSort( results ); } } // Override manipulation of globals by nested matchers if ( outermost ) { dirruns = dirrunsUnique; outermostContext = contextBackup; } return unmatched; }; return bySet ? markFunction( superMatcher ) : superMatcher; } function compile( selector, match /* Internal Use Only */ ) { var i, setMatchers = [], elementMatchers = [], cached = compilerCache[ selector + " " ]; if ( !cached ) { // Generate a function of recursive functions that can be used to check each element if ( !match ) { match = tokenize( selector ); } i = match.length; while ( i-- ) { cached = matcherFromTokens( match[ i ] ); if ( cached[ expando ] ) { setMatchers.push( cached ); } else { elementMatchers.push( cached ); } } // Cache the compiled function cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); // Save selector and tokenization cached.selector = selector; } return cached; } /** * A low-level selection function that works with jQuery's compiled * selector functions * @param {String|Function} selector A selector or a pre-compiled * selector function built with jQuery selector compile * @param {Element} context * @param {Array} [results] * @param {Array} [seed] A set of elements to match against */ function select( selector, context, results, seed ) { var i, tokens, token, type, find, compiled = typeof selector === "function" && selector, match = !seed && tokenize( ( selector = compiled.selector || selector ) ); results = results || []; // Try to minimize operations if there is only one selector in the list and no seed // (the latter of which guarantees us context) if ( match.length === 1 ) { // Reduce context if the leading compound selector is an ID tokens = match[ 0 ] = match[ 0 ].slice( 0 ); if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { context = ( Expr.find.ID( token.matches[ 0 ].replace( runescape, funescape ), context ) || [] )[ 0 ]; if ( !context ) { return results; // Precompiled matchers will still verify ancestry, so step up a level } else if ( compiled ) { context = context.parentNode; } selector = selector.slice( tokens.shift().value.length ); } // Fetch a seed set for right-to-left matching i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length; while ( i-- ) { token = tokens[ i ]; // Abort if we hit a combinator if ( Expr.relative[ ( type = token.type ) ] ) { break; } if ( ( find = Expr.find[ type ] ) ) { // Search, expanding context for leading sibling combinators if ( ( seed = find( token.matches[ 0 ].replace( runescape, funescape ), rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || context ) ) ) { // If seed is empty or no tokens remain, we can return early tokens.splice( i, 1 ); selector = seed.length && toSelector( tokens ); if ( !selector ) { push.apply( results, seed ); return results; } break; } } } } // Compile and execute a filtering function if one is not provided // Provide `match` to avoid retokenization if we modified the selector above ( compiled || compile( selector, match ) )( seed, context, !documentIsHTML, results, !context || rsibling.test( selector ) && testContext( context.parentNode ) || context ); return results; } // One-time assignments // Support: Android <=4.0 - 4.1+ // Sort stability support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; // Initialize against the default document setDocument(); // Support: Android <=4.0 - 4.1+ // Detached nodes confoundingly follow *each other* support.sortDetached = assert( function( el ) { // Should return 1, but returns 4 (following) return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; } ); jQuery.find = find; // Deprecated jQuery.expr[ ":" ] = jQuery.expr.pseudos; jQuery.unique = jQuery.uniqueSort; // These have always been private, but they used to be documented as part of // Sizzle so let's maintain them for now for backwards compatibility purposes. find.compile = compile; find.select = select; find.setDocument = setDocument; find.tokenize = tokenize; find.escape = jQuery.escapeSelector; find.getText = jQuery.text; find.isXML = jQuery.isXMLDoc; find.selectors = jQuery.expr; find.support = jQuery.support; find.uniqueSort = jQuery.uniqueSort; /* eslint-enable */ } )(); var dir = function( elem, dir, until ) { var matched = [], truncate = until !== undefined; while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { if ( elem.nodeType === 1 ) { if ( truncate && jQuery( elem ).is( until ) ) { break; } matched.push( elem ); } } return matched; }; var siblings = function( n, elem ) { var matched = []; for ( ; n; n = n.nextSibling ) { if ( n.nodeType === 1 && n !== elem ) { matched.push( n ); } } return matched; }; var rneedsContext = jQuery.expr.match.needsContext; var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); // Implement the identical functionality for filter and not function winnow( elements, qualifier, not ) { if ( isFunction( qualifier ) ) { return jQuery.grep( elements, function( elem, i ) { return !!qualifier.call( elem, i, elem ) !== not; } ); } // Single element if ( qualifier.nodeType ) { return jQuery.grep( elements, function( elem ) { return ( elem === qualifier ) !== not; } ); } // Arraylike of elements (jQuery, arguments, Array) if ( typeof qualifier !== "string" ) { return jQuery.grep( elements, function( elem ) { return ( indexOf.call( qualifier, elem ) > -1 ) !== not; } ); } // Filtered directly for both simple and complex selectors return jQuery.filter( qualifier, elements, not ); } jQuery.filter = function( expr, elems, not ) { var elem = elems[ 0 ]; if ( not ) { expr = ":not(" + expr + ")"; } if ( elems.length === 1 && elem.nodeType === 1 ) { return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; } return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { return elem.nodeType === 1; } ) ); }; jQuery.fn.extend( { find: function( selector ) { var i, ret, len = this.length, self = this; if ( typeof selector !== "string" ) { return this.pushStack( jQuery( selector ).filter( function() { for ( i = 0; i < len; i++ ) { if ( jQuery.contains( self[ i ], this ) ) { return true; } } } ) ); } ret = this.pushStack( [] ); for ( i = 0; i < len; i++ ) { jQuery.find( selector, self[ i ], ret ); } return len > 1 ? jQuery.uniqueSort( ret ) : ret; }, filter: function( selector ) { return this.pushStack( winnow( this, selector || [], false ) ); }, not: function( selector ) { return this.pushStack( winnow( this, selector || [], true ) ); }, is: function( selector ) { return !!winnow( this, // If this is a positional/relative selector, check membership in the returned set // so $("p:first").is("p:last") won't return true for a doc with two "p". typeof selector === "string" && rneedsContext.test( selector ) ? jQuery( selector ) : selector || [], false ).length; } } ); // Initialize a jQuery object // A central reference to the root jQuery(document) var rootjQuery, // A simple way to check for HTML strings // Prioritize #id over to avoid XSS via location.hash (trac-9521) // Strict HTML recognition (trac-11290: must start with <) // Shortcut simple #id case for speed rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, init = jQuery.fn.init = function( selector, context, root ) { var match, elem; // HANDLE: $(""), $(null), $(undefined), $(false) if ( !selector ) { return this; } // Method init() accepts an alternate rootjQuery // so migrate can support jQuery.sub (gh-2101) root = root || rootjQuery; // Handle HTML strings if ( typeof selector === "string" ) { if ( selector[ 0 ] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) { // Assume that strings that start and end with <> are HTML and skip the regex check match = [ null, selector, null ]; } else { match = rquickExpr.exec( selector ); } // Match html or make sure no context is specified for #id if ( match && ( match[ 1 ] || !context ) ) { // HANDLE: $(html) -> $(array) if ( match[ 1 ] ) { context = context instanceof jQuery ? context[ 0 ] : context; // Option to run scripts is true for back-compat // Intentionally let the error be thrown if parseHTML is not present jQuery.merge( this, jQuery.parseHTML( match[ 1 ], context && context.nodeType ? context.ownerDocument || context : document, true ) ); // HANDLE: $(html, props) if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { for ( match in context ) { // Properties of context are called as methods if possible if ( isFunction( this[ match ] ) ) { this[ match ]( context[ match ] ); // ...and otherwise set as attributes } else { this.attr( match, context[ match ] ); } } } return this; // HANDLE: $(#id) } else { elem = document.getElementById( match[ 2 ] ); if ( elem ) { // Inject the element directly into the jQuery object this[ 0 ] = elem; this.length = 1; } return this; } // HANDLE: $(expr, $(...)) } else if ( !context || context.jquery ) { return ( context || root ).find( selector ); // HANDLE: $(expr, context) // (which is just equivalent to: $(context).find(expr) } else { return this.constructor( context ).find( selector ); } // HANDLE: $(DOMElement) } else if ( selector.nodeType ) { this[ 0 ] = selector; this.length = 1; return this; // HANDLE: $(function) // Shortcut for document ready } else if ( isFunction( selector ) ) { return root.ready !== undefined ? root.ready( selector ) : // Execute immediately if ready is not present selector( jQuery ); } return jQuery.makeArray( selector, this ); }; // Give the init function the jQuery prototype for later instantiation init.prototype = jQuery.fn; // Initialize central reference rootjQuery = jQuery( document ); var rparentsprev = /^(?:parents|prev(?:Until|All))/, // Methods guaranteed to produce a unique set when starting from a unique set guaranteedUnique = { children: true, contents: true, next: true, prev: true }; jQuery.fn.extend( { has: function( target ) { var targets = jQuery( target, this ), l = targets.length; return this.filter( function() { var i = 0; for ( ; i < l; i++ ) { if ( jQuery.contains( this, targets[ i ] ) ) { return true; } } } ); }, closest: function( selectors, context ) { var cur, i = 0, l = this.length, matched = [], targets = typeof selectors !== "string" && jQuery( selectors ); // Positional selectors never match, since there's no _selection_ context if ( !rneedsContext.test( selectors ) ) { for ( ; i < l; i++ ) { for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { // Always skip document fragments if ( cur.nodeType < 11 && ( targets ? targets.index( cur ) > -1 : // Don't pass non-elements to jQuery#find cur.nodeType === 1 && jQuery.find.matchesSelector( cur, selectors ) ) ) { matched.push( cur ); break; } } } } return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); }, // Determine the position of an element within the set index: function( elem ) { // No argument, return index in parent if ( !elem ) { return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; } // Index in selector if ( typeof elem === "string" ) { return indexOf.call( jQuery( elem ), this[ 0 ] ); } // Locate the position of the desired element return indexOf.call( this, // If it receives a jQuery object, the first element is used elem.jquery ? elem[ 0 ] : elem ); }, add: function( selector, context ) { return this.pushStack( jQuery.uniqueSort( jQuery.merge( this.get(), jQuery( selector, context ) ) ) ); }, addBack: function( selector ) { return this.add( selector == null ? this.prevObject : this.prevObject.filter( selector ) ); } } ); function sibling( cur, dir ) { while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} return cur; } jQuery.each( { parent: function( elem ) { var parent = elem.parentNode; return parent && parent.nodeType !== 11 ? parent : null; }, parents: function( elem ) { return dir( elem, "parentNode" ); }, parentsUntil: function( elem, _i, until ) { return dir( elem, "parentNode", until ); }, next: function( elem ) { return sibling( elem, "nextSibling" ); }, prev: function( elem ) { return sibling( elem, "previousSibling" ); }, nextAll: function( elem ) { return dir( elem, "nextSibling" ); }, prevAll: function( elem ) { return dir( elem, "previousSibling" ); }, nextUntil: function( elem, _i, until ) { return dir( elem, "nextSibling", until ); }, prevUntil: function( elem, _i, until ) { return dir( elem, "previousSibling", until ); }, siblings: function( elem ) { return siblings( ( elem.parentNode || {} ).firstChild, elem ); }, children: function( elem ) { return siblings( elem.firstChild ); }, contents: function( elem ) { if ( elem.contentDocument != null && // Support: IE 11+ // elements with no `data` attribute has an object // `contentDocument` with a `null` prototype. getProto( elem.contentDocument ) ) { return elem.contentDocument; } // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only // Treat the template element as a regular one in browsers that // don't support it. if ( nodeName( elem, "template" ) ) { elem = elem.content || elem; } return jQuery.merge( [], elem.childNodes ); } }, function( name, fn ) { jQuery.fn[ name ] = function( until, selector ) { var matched = jQuery.map( this, fn, until ); if ( name.slice( -5 ) !== "Until" ) { selector = until; } if ( selector && typeof selector === "string" ) { matched = jQuery.filter( selector, matched ); } if ( this.length > 1 ) { // Remove duplicates if ( !guaranteedUnique[ name ] ) { jQuery.uniqueSort( matched ); } // Reverse order for parents* and prev-derivatives if ( rparentsprev.test( name ) ) { matched.reverse(); } } return this.pushStack( matched ); }; } ); var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); // Convert String-formatted options into Object-formatted ones function createOptions( options ) { var object = {}; jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { object[ flag ] = true; } ); return object; } /* * Create a callback list using the following parameters: * * options: an optional list of space-separated options that will change how * the callback list behaves or a more traditional option object * * By default a callback list will act like an event callback list and can be * "fired" multiple times. * * Possible options: * * once: will ensure the callback list can only be fired once (like a Deferred) * * memory: will keep track of previous values and will call any callback added * after the list has been fired right away with the latest "memorized" * values (like a Deferred) * * unique: will ensure a callback can only be added once (no duplicate in the list) * * stopOnFalse: interrupt callings when a callback returns false * */ jQuery.Callbacks = function( options ) { // Convert options from String-formatted to Object-formatted if needed // (we check in cache first) options = typeof options === "string" ? createOptions( options ) : jQuery.extend( {}, options ); var // Flag to know if list is currently firing firing, // Last fire value for non-forgettable lists memory, // Flag to know if list was already fired fired, // Flag to prevent firing locked, // Actual callback list list = [], // Queue of execution data for repeatable lists queue = [], // Index of currently firing callback (modified by add/remove as needed) firingIndex = -1, // Fire callbacks fire = function() { // Enforce single-firing locked = locked || options.once; // Execute callbacks for all pending executions, // respecting firingIndex overrides and runtime changes fired = firing = true; for ( ; queue.length; firingIndex = -1 ) { memory = queue.shift(); while ( ++firingIndex < list.length ) { // Run callback and check for early termination if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && options.stopOnFalse ) { // Jump to end and forget the data so .add doesn't re-fire firingIndex = list.length; memory = false; } } } // Forget the data if we're done with it if ( !options.memory ) { memory = false; } firing = false; // Clean up if we're done firing for good if ( locked ) { // Keep an empty list if we have data for future add calls if ( memory ) { list = []; // Otherwise, this object is spent } else { list = ""; } } }, // Actual Callbacks object self = { // Add a callback or a collection of callbacks to the list add: function() { if ( list ) { // If we have memory from a past run, we should fire after adding if ( memory && !firing ) { firingIndex = list.length - 1; queue.push( memory ); } ( function add( args ) { jQuery.each( args, function( _, arg ) { if ( isFunction( arg ) ) { if ( !options.unique || !self.has( arg ) ) { list.push( arg ); } } else if ( arg && arg.length && toType( arg ) !== "string" ) { // Inspect recursively add( arg ); } } ); } )( arguments ); if ( memory && !firing ) { fire(); } } return this; }, // Remove a callback from the list remove: function() { jQuery.each( arguments, function( _, arg ) { var index; while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { list.splice( index, 1 ); // Handle firing indexes if ( index <= firingIndex ) { firingIndex--; } } } ); return this; }, // Check if a given callback is in the list. // If no argument is given, return whether or not list has callbacks attached. has: function( fn ) { return fn ? jQuery.inArray( fn, list ) > -1 : list.length > 0; }, // Remove all callbacks from the list empty: function() { if ( list ) { list = []; } return this; }, // Disable .fire and .add // Abort any current/pending executions // Clear all callbacks and values disable: function() { locked = queue = []; list = memory = ""; return this; }, disabled: function() { return !list; }, // Disable .fire // Also disable .add unless we have memory (since it would have no effect) // Abort any pending executions lock: function() { locked = queue = []; if ( !memory && !firing ) { list = memory = ""; } return this; }, locked: function() { return !!locked; }, // Call all callbacks with the given context and arguments fireWith: function( context, args ) { if ( !locked ) { args = args || []; args = [ context, args.slice ? args.slice() : args ]; queue.push( args ); if ( !firing ) { fire(); } } return this; }, // Call all the callbacks with the given arguments fire: function() { self.fireWith( this, arguments ); return this; }, // To know if the callbacks have already been called at least once fired: function() { return !!fired; } }; return self; }; function Identity( v ) { return v; } function Thrower( ex ) { throw ex; } function adoptValue( value, resolve, reject, noValue ) { var method; try { // Check for promise aspect first to privilege synchronous behavior if ( value && isFunction( ( method = value.promise ) ) ) { method.call( value ).done( resolve ).fail( reject ); // Other thenables } else if ( value && isFunction( ( method = value.then ) ) ) { method.call( value, resolve, reject ); // Other non-thenables } else { // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: // * false: [ value ].slice( 0 ) => resolve( value ) // * true: [ value ].slice( 1 ) => resolve() resolve.apply( undefined, [ value ].slice( noValue ) ); } // For Promises/A+, convert exceptions into rejections // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in // Deferred#then to conditionally suppress rejection. } catch ( value ) { // Support: Android 4.0 only // Strict mode functions invoked without .call/.apply get global-object context reject.apply( undefined, [ value ] ); } } jQuery.extend( { Deferred: function( func ) { var tuples = [ // action, add listener, callbacks, // ... .then handlers, argument index, [final state] [ "notify", "progress", jQuery.Callbacks( "memory" ), jQuery.Callbacks( "memory" ), 2 ], [ "resolve", "done", jQuery.Callbacks( "once memory" ), jQuery.Callbacks( "once memory" ), 0, "resolved" ], [ "reject", "fail", jQuery.Callbacks( "once memory" ), jQuery.Callbacks( "once memory" ), 1, "rejected" ] ], state = "pending", promise = { state: function() { return state; }, always: function() { deferred.done( arguments ).fail( arguments ); return this; }, "catch": function( fn ) { return promise.then( null, fn ); }, // Keep pipe for back-compat pipe: function( /* fnDone, fnFail, fnProgress */ ) { var fns = arguments; return jQuery.Deferred( function( newDefer ) { jQuery.each( tuples, function( _i, tuple ) { // Map tuples (progress, done, fail) to arguments (done, fail, progress) var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; // deferred.progress(function() { bind to newDefer or newDefer.notify }) // deferred.done(function() { bind to newDefer or newDefer.resolve }) // deferred.fail(function() { bind to newDefer or newDefer.reject }) deferred[ tuple[ 1 ] ]( function() { var returned = fn && fn.apply( this, arguments ); if ( returned && isFunction( returned.promise ) ) { returned.promise() .progress( newDefer.notify ) .done( newDefer.resolve ) .fail( newDefer.reject ); } else { newDefer[ tuple[ 0 ] + "With" ]( this, fn ? [ returned ] : arguments ); } } ); } ); fns = null; } ).promise(); }, then: function( onFulfilled, onRejected, onProgress ) { var maxDepth = 0; function resolve( depth, deferred, handler, special ) { return function() { var that = this, args = arguments, mightThrow = function() { var returned, then; // Support: Promises/A+ section 2.3.3.3.3 // https://promisesaplus.com/#point-59 // Ignore double-resolution attempts if ( depth < maxDepth ) { return; } returned = handler.apply( that, args ); // Support: Promises/A+ section 2.3.1 // https://promisesaplus.com/#point-48 if ( returned === deferred.promise() ) { throw new TypeError( "Thenable self-resolution" ); } // Support: Promises/A+ sections 2.3.3.1, 3.5 // https://promisesaplus.com/#point-54 // https://promisesaplus.com/#point-75 // Retrieve `then` only once then = returned && // Support: Promises/A+ section 2.3.4 // https://promisesaplus.com/#point-64 // Only check objects and functions for thenability ( typeof returned === "object" || typeof returned === "function" ) && returned.then; // Handle a returned thenable if ( isFunction( then ) ) { // Special processors (notify) just wait for resolution if ( special ) { then.call( returned, resolve( maxDepth, deferred, Identity, special ), resolve( maxDepth, deferred, Thrower, special ) ); // Normal processors (resolve) also hook into progress } else { // ...and disregard older resolution values maxDepth++; then.call( returned, resolve( maxDepth, deferred, Identity, special ), resolve( maxDepth, deferred, Thrower, special ), resolve( maxDepth, deferred, Identity, deferred.notifyWith ) ); } // Handle all other returned values } else { // Only substitute handlers pass on context // and multiple values (non-spec behavior) if ( handler !== Identity ) { that = undefined; args = [ returned ]; } // Process the value(s) // Default process is resolve ( special || deferred.resolveWith )( that, args ); } }, // Only normal processors (resolve) catch and reject exceptions process = special ? mightThrow : function() { try { mightThrow(); } catch ( e ) { if ( jQuery.Deferred.exceptionHook ) { jQuery.Deferred.exceptionHook( e, process.error ); } // Support: Promises/A+ section 2.3.3.3.4.1 // https://promisesaplus.com/#point-61 // Ignore post-resolution exceptions if ( depth + 1 >= maxDepth ) { // Only substitute handlers pass on context // and multiple values (non-spec behavior) if ( handler !== Thrower ) { that = undefined; args = [ e ]; } deferred.rejectWith( that, args ); } } }; // Support: Promises/A+ section 2.3.3.3.1 // https://promisesaplus.com/#point-57 // Re-resolve promises immediately to dodge false rejection from // subsequent errors if ( depth ) { process(); } else { // Call an optional hook to record the error, in case of exception // since it's otherwise lost when execution goes async if ( jQuery.Deferred.getErrorHook ) { process.error = jQuery.Deferred.getErrorHook(); // The deprecated alias of the above. While the name suggests // returning the stack, not an error instance, jQuery just passes // it directly to `console.warn` so both will work; an instance // just better cooperates with source maps. } else if ( jQuery.Deferred.getStackHook ) { process.error = jQuery.Deferred.getStackHook(); } window.setTimeout( process ); } }; } return jQuery.Deferred( function( newDefer ) { // progress_handlers.add( ... ) tuples[ 0 ][ 3 ].add( resolve( 0, newDefer, isFunction( onProgress ) ? onProgress : Identity, newDefer.notifyWith ) ); // fulfilled_handlers.add( ... ) tuples[ 1 ][ 3 ].add( resolve( 0, newDefer, isFunction( onFulfilled ) ? onFulfilled : Identity ) ); // rejected_handlers.add( ... ) tuples[ 2 ][ 3 ].add( resolve( 0, newDefer, isFunction( onRejected ) ? onRejected : Thrower ) ); } ).promise(); }, // Get a promise for this deferred // If obj is provided, the promise aspect is added to the object promise: function( obj ) { return obj != null ? jQuery.extend( obj, promise ) : promise; } }, deferred = {}; // Add list-specific methods jQuery.each( tuples, function( i, tuple ) { var list = tuple[ 2 ], stateString = tuple[ 5 ]; // promise.progress = list.add // promise.done = list.add // promise.fail = list.add promise[ tuple[ 1 ] ] = list.add; // Handle state if ( stateString ) { list.add( function() { // state = "resolved" (i.e., fulfilled) // state = "rejected" state = stateString; }, // rejected_callbacks.disable // fulfilled_callbacks.disable tuples[ 3 - i ][ 2 ].disable, // rejected_handlers.disable // fulfilled_handlers.disable tuples[ 3 - i ][ 3 ].disable, // progress_callbacks.lock tuples[ 0 ][ 2 ].lock, // progress_handlers.lock tuples[ 0 ][ 3 ].lock ); } // progress_handlers.fire // fulfilled_handlers.fire // rejected_handlers.fire list.add( tuple[ 3 ].fire ); // deferred.notify = function() { deferred.notifyWith(...) } // deferred.resolve = function() { deferred.resolveWith(...) } // deferred.reject = function() { deferred.rejectWith(...) } deferred[ tuple[ 0 ] ] = function() { deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); return this; }; // deferred.notifyWith = list.fireWith // deferred.resolveWith = list.fireWith // deferred.rejectWith = list.fireWith deferred[ tuple[ 0 ] + "With" ] = list.fireWith; } ); // Make the deferred a promise promise.promise( deferred ); // Call given func if any if ( func ) { func.call( deferred, deferred ); } // All done! return deferred; }, // Deferred helper when: function( singleValue ) { var // count of uncompleted subordinates remaining = arguments.length, // count of unprocessed arguments i = remaining, // subordinate fulfillment data resolveContexts = Array( i ), resolveValues = slice.call( arguments ), // the primary Deferred primary = jQuery.Deferred(), // subordinate callback factory updateFunc = function( i ) { return function( value ) { resolveContexts[ i ] = this; resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; if ( !( --remaining ) ) { primary.resolveWith( resolveContexts, resolveValues ); } }; }; // Single- and empty arguments are adopted like Promise.resolve if ( remaining <= 1 ) { adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, !remaining ); // Use .then() to unwrap secondary thenables (cf. gh-3000) if ( primary.state() === "pending" || isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { return primary.then(); } } // Multiple arguments are aggregated like Promise.all array elements while ( i-- ) { adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); } return primary.promise(); } } ); // These usually indicate a programmer mistake during development, // warn about them ASAP rather than swallowing them by default. var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; // If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error // captured before the async barrier to get the original error cause // which may otherwise be hidden. jQuery.Deferred.exceptionHook = function( error, asyncError ) { // Support: IE 8 - 9 only // Console exists when dev tools are open, which can happen at any time if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, asyncError ); } }; jQuery.readyException = function( error ) { window.setTimeout( function() { throw error; } ); }; // The deferred used on DOM ready var readyList = jQuery.Deferred(); jQuery.fn.ready = function( fn ) { readyList .then( fn ) // Wrap jQuery.readyException in a function so that the lookup // happens at the time of error handling instead of callback // registration. .catch( function( error ) { jQuery.readyException( error ); } ); return this; }; jQuery.extend( { // Is the DOM ready to be used? Set to true once it occurs. isReady: false, // A counter to track how many items to wait for before // the ready event fires. See trac-6781 readyWait: 1, // Handle when the DOM is ready ready: function( wait ) { // Abort if there are pending holds or we're already ready if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { return; } // Remember that the DOM is ready jQuery.isReady = true; // If a normal DOM Ready event fired, decrement, and wait if need be if ( wait !== true && --jQuery.readyWait > 0 ) { return; } // If there are functions bound, to execute readyList.resolveWith( document, [ jQuery ] ); } } ); jQuery.ready.then = readyList.then; // The ready event handler and self cleanup method function completed() { document.removeEventListener( "DOMContentLoaded", completed ); window.removeEventListener( "load", completed ); jQuery.ready(); } // Catch cases where $(document).ready() is called // after the browser event has already occurred. // Support: IE <=9 - 10 only // Older IE sometimes signals "interactive" too soon if ( document.readyState === "complete" || ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { // Handle it asynchronously to allow scripts the opportunity to delay ready window.setTimeout( jQuery.ready ); } else { // Use the handy event callback document.addEventListener( "DOMContentLoaded", completed ); // A fallback to window.onload, that will always work window.addEventListener( "load", completed ); } // Multifunctional method to get and set values of a collection // The value/s can optionally be executed if it's a function var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { var i = 0, len = elems.length, bulk = key == null; // Sets many values if ( toType( key ) === "object" ) { chainable = true; for ( i in key ) { access( elems, fn, i, key[ i ], true, emptyGet, raw ); } // Sets one value } else if ( value !== undefined ) { chainable = true; if ( !isFunction( value ) ) { raw = true; } if ( bulk ) { // Bulk operations run against the entire set if ( raw ) { fn.call( elems, value ); fn = null; // ...except when executing function values } else { bulk = fn; fn = function( elem, _key, value ) { return bulk.call( jQuery( elem ), value ); }; } } if ( fn ) { for ( ; i < len; i++ ) { fn( elems[ i ], key, raw ? value : value.call( elems[ i ], i, fn( elems[ i ], key ) ) ); } } } if ( chainable ) { return elems; } // Gets if ( bulk ) { return fn.call( elems ); } return len ? fn( elems[ 0 ], key ) : emptyGet; }; // Matches dashed string for camelizing var rmsPrefix = /^-ms-/, rdashAlpha = /-([a-z])/g; // Used by camelCase as callback to replace() function fcamelCase( _all, letter ) { return letter.toUpperCase(); } // Convert dashed to camelCase; used by the css and data modules // Support: IE <=9 - 11, Edge 12 - 15 // Microsoft forgot to hump their vendor prefix (trac-9572) function camelCase( string ) { return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); } var acceptData = function( owner ) { // Accepts only: // - Node // - Node.ELEMENT_NODE // - Node.DOCUMENT_NODE // - Object // - Any return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); }; function Data() { this.expando = jQuery.expando + Data.uid++; } Data.uid = 1; Data.prototype = { cache: function( owner ) { // Check if the owner object already has a cache var value = owner[ this.expando ]; // If not, create one if ( !value ) { value = {}; // We can accept data for non-element nodes in modern browsers, // but we should not, see trac-8335. // Always return an empty object. if ( acceptData( owner ) ) { // If it is a node unlikely to be stringify-ed or looped over // use plain assignment if ( owner.nodeType ) { owner[ this.expando ] = value; // Otherwise secure it in a non-enumerable property // configurable must be true to allow the property to be // deleted when data is removed } else { Object.defineProperty( owner, this.expando, { value: value, configurable: true } ); } } } return value; }, set: function( owner, data, value ) { var prop, cache = this.cache( owner ); // Handle: [ owner, key, value ] args // Always use camelCase key (gh-2257) if ( typeof data === "string" ) { cache[ camelCase( data ) ] = value; // Handle: [ owner, { properties } ] args } else { // Copy the properties one-by-one to the cache object for ( prop in data ) { cache[ camelCase( prop ) ] = data[ prop ]; } } return cache; }, get: function( owner, key ) { return key === undefined ? this.cache( owner ) : // Always use camelCase key (gh-2257) owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; }, access: function( owner, key, value ) { // In cases where either: // // 1. No key was specified // 2. A string key was specified, but no value provided // // Take the "read" path and allow the get method to determine // which value to return, respectively either: // // 1. The entire cache object // 2. The data stored at the key // if ( key === undefined || ( ( key && typeof key === "string" ) && value === undefined ) ) { return this.get( owner, key ); } // When the key is not a string, or both a key and value // are specified, set or extend (existing objects) with either: // // 1. An object of properties // 2. A key and value // this.set( owner, key, value ); // Since the "set" path can have two possible entry points // return the expected data based on which path was taken[*] return value !== undefined ? value : key; }, remove: function( owner, key ) { var i, cache = owner[ this.expando ]; if ( cache === undefined ) { return; } if ( key !== undefined ) { // Support array or space separated string of keys if ( Array.isArray( key ) ) { // If key is an array of keys... // We always set camelCase keys, so remove that. key = key.map( camelCase ); } else { key = camelCase( key ); // If a key with the spaces exists, use it. // Otherwise, create an array by matching non-whitespace key = key in cache ? [ key ] : ( key.match( rnothtmlwhite ) || [] ); } i = key.length; while ( i-- ) { delete cache[ key[ i ] ]; } } // Remove the expando if there's no more data if ( key === undefined || jQuery.isEmptyObject( cache ) ) { // Support: Chrome <=35 - 45 // Webkit & Blink performance suffers when deleting properties // from DOM nodes, so set to undefined instead // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) if ( owner.nodeType ) { owner[ this.expando ] = undefined; } else { delete owner[ this.expando ]; } } }, hasData: function( owner ) { var cache = owner[ this.expando ]; return cache !== undefined && !jQuery.isEmptyObject( cache ); } }; var dataPriv = new Data(); var dataUser = new Data(); // Implementation Summary // // 1. Enforce API surface and semantic compatibility with 1.9.x branch // 2. Improve the module's maintainability by reducing the storage // paths to a single mechanism. // 3. Use the same single mechanism to support "private" and "user" data. // 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) // 5. Avoid exposing implementation details on user objects (eg. expando properties) // 6. Provide a clear path for implementation upgrade to WeakMap in 2014 var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, rmultiDash = /[A-Z]/g; function getData( data ) { if ( data === "true" ) { return true; } if ( data === "false" ) { return false; } if ( data === "null" ) { return null; } // Only convert to a number if it doesn't change the string if ( data === +data + "" ) { return +data; } if ( rbrace.test( data ) ) { return JSON.parse( data ); } return data; } function dataAttr( elem, key, data ) { var name; // If nothing was found internally, try to fetch any // data from the HTML5 data-* attribute if ( data === undefined && elem.nodeType === 1 ) { name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); data = elem.getAttribute( name ); if ( typeof data === "string" ) { try { data = getData( data ); } catch ( e ) {} // Make sure we set the data so it isn't changed later dataUser.set( elem, key, data ); } else { data = undefined; } } return data; } jQuery.extend( { hasData: function( elem ) { return dataUser.hasData( elem ) || dataPriv.hasData( elem ); }, data: function( elem, name, data ) { return dataUser.access( elem, name, data ); }, removeData: function( elem, name ) { dataUser.remove( elem, name ); }, // TODO: Now that all calls to _data and _removeData have been replaced // with direct calls to dataPriv methods, these can be deprecated. _data: function( elem, name, data ) { return dataPriv.access( elem, name, data ); }, _removeData: function( elem, name ) { dataPriv.remove( elem, name ); } } ); jQuery.fn.extend( { data: function( key, value ) { var i, name, data, elem = this[ 0 ], attrs = elem && elem.attributes; // Gets all values if ( key === undefined ) { if ( this.length ) { data = dataUser.get( elem ); if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { i = attrs.length; while ( i-- ) { // Support: IE 11 only // The attrs elements can be null (trac-14894) if ( attrs[ i ] ) { name = attrs[ i ].name; if ( name.indexOf( "data-" ) === 0 ) { name = camelCase( name.slice( 5 ) ); dataAttr( elem, name, data[ name ] ); } } } dataPriv.set( elem, "hasDataAttrs", true ); } } return data; } // Sets multiple values if ( typeof key === "object" ) { return this.each( function() { dataUser.set( this, key ); } ); } return access( this, function( value ) { var data; // The calling jQuery object (element matches) is not empty // (and therefore has an element appears at this[ 0 ]) and the // `value` parameter was not undefined. An empty jQuery object // will result in `undefined` for elem = this[ 0 ] which will // throw an exception if an attempt to read a data cache is made. if ( elem && value === undefined ) { // Attempt to get data from the cache // The key will always be camelCased in Data data = dataUser.get( elem, key ); if ( data !== undefined ) { return data; } // Attempt to "discover" the data in // HTML5 custom data-* attrs data = dataAttr( elem, key ); if ( data !== undefined ) { return data; } // We tried really hard, but the data doesn't exist. return; } // Set the data... this.each( function() { // We always store the camelCased key dataUser.set( this, key, value ); } ); }, null, value, arguments.length > 1, null, true ); }, removeData: function( key ) { return this.each( function() { dataUser.remove( this, key ); } ); } } ); jQuery.extend( { queue: function( elem, type, data ) { var queue; if ( elem ) { type = ( type || "fx" ) + "queue"; queue = dataPriv.get( elem, type ); // Speed up dequeue by getting out quickly if this is just a lookup if ( data ) { if ( !queue || Array.isArray( data ) ) { queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); } else { queue.push( data ); } } return queue || []; } }, dequeue: function( elem, type ) { type = type || "fx"; var queue = jQuery.queue( elem, type ), startLength = queue.length, fn = queue.shift(), hooks = jQuery._queueHooks( elem, type ), next = function() { jQuery.dequeue( elem, type ); }; // If the fx queue is dequeued, always remove the progress sentinel if ( fn === "inprogress" ) { fn = queue.shift(); startLength--; } if ( fn ) { // Add a progress sentinel to prevent the fx queue from being // automatically dequeued if ( type === "fx" ) { queue.unshift( "inprogress" ); } // Clear up the last queue stop function delete hooks.stop; fn.call( elem, next, hooks ); } if ( !startLength && hooks ) { hooks.empty.fire(); } }, // Not public - generate a queueHooks object, or return the current one _queueHooks: function( elem, type ) { var key = type + "queueHooks"; return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { empty: jQuery.Callbacks( "once memory" ).add( function() { dataPriv.remove( elem, [ type + "queue", key ] ); } ) } ); } } ); jQuery.fn.extend( { queue: function( type, data ) { var setter = 2; if ( typeof type !== "string" ) { data = type; type = "fx"; setter--; } if ( arguments.length < setter ) { return jQuery.queue( this[ 0 ], type ); } return data === undefined ? this : this.each( function() { var queue = jQuery.queue( this, type, data ); // Ensure a hooks for this queue jQuery._queueHooks( this, type ); if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { jQuery.dequeue( this, type ); } } ); }, dequeue: function( type ) { return this.each( function() { jQuery.dequeue( this, type ); } ); }, clearQueue: function( type ) { return this.queue( type || "fx", [] ); }, // Get a promise resolved when queues of a certain type // are emptied (fx is the type by default) promise: function( type, obj ) { var tmp, count = 1, defer = jQuery.Deferred(), elements = this, i = this.length, resolve = function() { if ( !( --count ) ) { defer.resolveWith( elements, [ elements ] ); } }; if ( typeof type !== "string" ) { obj = type; type = undefined; } type = type || "fx"; while ( i-- ) { tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); if ( tmp && tmp.empty ) { count++; tmp.empty.add( resolve ); } } resolve(); return defer.promise( obj ); } } ); var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; var documentElement = document.documentElement; var isAttached = function( elem ) { return jQuery.contains( elem.ownerDocument, elem ); }, composed = { composed: true }; // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only // Check attachment across shadow DOM boundaries when possible (gh-3504) // Support: iOS 10.0-10.2 only // Early iOS 10 versions support `attachShadow` but not `getRootNode`, // leading to errors. We need to check for `getRootNode`. if ( documentElement.getRootNode ) { isAttached = function( elem ) { return jQuery.contains( elem.ownerDocument, elem ) || elem.getRootNode( composed ) === elem.ownerDocument; }; } var isHiddenWithinTree = function( elem, el ) { // isHiddenWithinTree might be called from jQuery#filter function; // in that case, element will be second argument elem = el || elem; // Inline style trumps all return elem.style.display === "none" || elem.style.display === "" && // Otherwise, check computed style // Support: Firefox <=43 - 45 // Disconnected elements can have computed display: none, so first confirm that elem is // in the document. isAttached( elem ) && jQuery.css( elem, "display" ) === "none"; }; function adjustCSS( elem, prop, valueParts, tween ) { var adjusted, scale, maxIterations = 20, currentValue = tween ? function() { return tween.cur(); } : function() { return jQuery.css( elem, prop, "" ); }, initial = currentValue(), unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), // Starting value computation is required for potential unit mismatches initialInUnit = elem.nodeType && ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && rcssNum.exec( jQuery.css( elem, prop ) ); if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { // Support: Firefox <=54 // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) initial = initial / 2; // Trust units reported by jQuery.css unit = unit || initialInUnit[ 3 ]; // Iteratively approximate from a nonzero starting point initialInUnit = +initial || 1; while ( maxIterations-- ) { // Evaluate and update our best guess (doubling guesses that zero out). // Finish if the scale equals or crosses 1 (making the old*new product non-positive). jQuery.style( elem, prop, initialInUnit + unit ); if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { maxIterations = 0; } initialInUnit = initialInUnit / scale; } initialInUnit = initialInUnit * 2; jQuery.style( elem, prop, initialInUnit + unit ); // Make sure we update the tween properties later on valueParts = valueParts || []; } if ( valueParts ) { initialInUnit = +initialInUnit || +initial || 0; // Apply relative offset (+=/-=) if specified adjusted = valueParts[ 1 ] ? initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : +valueParts[ 2 ]; if ( tween ) { tween.unit = unit; tween.start = initialInUnit; tween.end = adjusted; } } return adjusted; } var defaultDisplayMap = {}; function getDefaultDisplay( elem ) { var temp, doc = elem.ownerDocument, nodeName = elem.nodeName, display = defaultDisplayMap[ nodeName ]; if ( display ) { return display; } temp = doc.body.appendChild( doc.createElement( nodeName ) ); display = jQuery.css( temp, "display" ); temp.parentNode.removeChild( temp ); if ( display === "none" ) { display = "block"; } defaultDisplayMap[ nodeName ] = display; return display; } function showHide( elements, show ) { var display, elem, values = [], index = 0, length = elements.length; // Determine new display value for elements that need to change for ( ; index < length; index++ ) { elem = elements[ index ]; if ( !elem.style ) { continue; } display = elem.style.display; if ( show ) { // Since we force visibility upon cascade-hidden elements, an immediate (and slow) // check is required in this first loop unless we have a nonempty display value (either // inline or about-to-be-restored) if ( display === "none" ) { values[ index ] = dataPriv.get( elem, "display" ) || null; if ( !values[ index ] ) { elem.style.display = ""; } } if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { values[ index ] = getDefaultDisplay( elem ); } } else { if ( display !== "none" ) { values[ index ] = "none"; // Remember what we're overwriting dataPriv.set( elem, "display", display ); } } } // Set the display of the elements in a second loop to avoid constant reflow for ( index = 0; index < length; index++ ) { if ( values[ index ] != null ) { elements[ index ].style.display = values[ index ]; } } return elements; } jQuery.fn.extend( { show: function() { return showHide( this, true ); }, hide: function() { return showHide( this ); }, toggle: function( state ) { if ( typeof state === "boolean" ) { return state ? this.show() : this.hide(); } return this.each( function() { if ( isHiddenWithinTree( this ) ) { jQuery( this ).show(); } else { jQuery( this ).hide(); } } ); } } ); var rcheckableType = ( /^(?:checkbox|radio)$/i ); var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); ( function() { var fragment = document.createDocumentFragment(), div = fragment.appendChild( document.createElement( "div" ) ), input = document.createElement( "input" ); // Support: Android 4.0 - 4.3 only // Check state lost if the name is set (trac-11217) // Support: Windows Web Apps (WWA) // `name` and `type` must use .setAttribute for WWA (trac-14901) input.setAttribute( "type", "radio" ); input.setAttribute( "checked", "checked" ); input.setAttribute( "name", "t" ); div.appendChild( input ); // Support: Android <=4.1 only // Older WebKit doesn't clone checked state correctly in fragments support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; // Support: IE <=11 only // Make sure textarea (and checkbox) defaultValue is properly cloned div.innerHTML = ""; support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; // Support: IE <=9 only // IE <=9 replaces "; support.option = !!div.lastChild; } )(); // We have to close these tags to support XHTML (trac-13200) var wrapMap = { // XHTML parsers do not magically insert elements in the // same way that tag soup parsers do. So we cannot shorten // this by omitting or other required elements. thead: [ 1, "", "
    " ], col: [ 2, "", "
    " ], tr: [ 2, "", "
    " ], td: [ 3, "", "
    " ], _default: [ 0, "", "" ] }; wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; wrapMap.th = wrapMap.td; // Support: IE <=9 only if ( !support.option ) { wrapMap.optgroup = wrapMap.option = [ 1, "" ]; } function getAll( context, tag ) { // Support: IE <=9 - 11 only // Use typeof to avoid zero-argument method invocation on host objects (trac-15151) var ret; if ( typeof context.getElementsByTagName !== "undefined" ) { ret = context.getElementsByTagName( tag || "*" ); } else if ( typeof context.querySelectorAll !== "undefined" ) { ret = context.querySelectorAll( tag || "*" ); } else { ret = []; } if ( tag === undefined || tag && nodeName( context, tag ) ) { return jQuery.merge( [ context ], ret ); } return ret; } // Mark scripts as having already been evaluated function setGlobalEval( elems, refElements ) { var i = 0, l = elems.length; for ( ; i < l; i++ ) { dataPriv.set( elems[ i ], "globalEval", !refElements || dataPriv.get( refElements[ i ], "globalEval" ) ); } } var rhtml = /<|&#?\w+;/; function buildFragment( elems, context, scripts, selection, ignored ) { var elem, tmp, tag, wrap, attached, j, fragment = context.createDocumentFragment(), nodes = [], i = 0, l = elems.length; for ( ; i < l; i++ ) { elem = elems[ i ]; if ( elem || elem === 0 ) { // Add nodes directly if ( toType( elem ) === "object" ) { // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); // Convert non-html into a text node } else if ( !rhtml.test( elem ) ) { nodes.push( context.createTextNode( elem ) ); // Convert html into DOM nodes } else { tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); // Deserialize a standard representation tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); wrap = wrapMap[ tag ] || wrapMap._default; tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; // Descend through wrappers to the right content j = wrap[ 0 ]; while ( j-- ) { tmp = tmp.lastChild; } // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit jQuery.merge( nodes, tmp.childNodes ); // Remember the top-level container tmp = fragment.firstChild; // Ensure the created nodes are orphaned (trac-12392) tmp.textContent = ""; } } } // Remove wrapper from fragment fragment.textContent = ""; i = 0; while ( ( elem = nodes[ i++ ] ) ) { // Skip elements already in the context collection (trac-4087) if ( selection && jQuery.inArray( elem, selection ) > -1 ) { if ( ignored ) { ignored.push( elem ); } continue; } attached = isAttached( elem ); // Append to fragment tmp = getAll( fragment.appendChild( elem ), "script" ); // Preserve script evaluation history if ( attached ) { setGlobalEval( tmp ); } // Capture executables if ( scripts ) { j = 0; while ( ( elem = tmp[ j++ ] ) ) { if ( rscriptType.test( elem.type || "" ) ) { scripts.push( elem ); } } } } return fragment; } var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; function returnTrue() { return true; } function returnFalse() { return false; } function on( elem, types, selector, data, fn, one ) { var origFn, type; // Types can be a map of types/handlers if ( typeof types === "object" ) { // ( types-Object, selector, data ) if ( typeof selector !== "string" ) { // ( types-Object, data ) data = data || selector; selector = undefined; } for ( type in types ) { on( elem, type, selector, data, types[ type ], one ); } return elem; } if ( data == null && fn == null ) { // ( types, fn ) fn = selector; data = selector = undefined; } else if ( fn == null ) { if ( typeof selector === "string" ) { // ( types, selector, fn ) fn = data; data = undefined; } else { // ( types, data, fn ) fn = data; data = selector; selector = undefined; } } if ( fn === false ) { fn = returnFalse; } else if ( !fn ) { return elem; } if ( one === 1 ) { origFn = fn; fn = function( event ) { // Can use an empty set, since event contains the info jQuery().off( event ); return origFn.apply( this, arguments ); }; // Use same guid so caller can remove using origFn fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); } return elem.each( function() { jQuery.event.add( this, types, fn, data, selector ); } ); } /* * Helper functions for managing events -- not part of the public interface. * Props to Dean Edwards' addEvent library for many of the ideas. */ jQuery.event = { global: {}, add: function( elem, types, handler, data, selector ) { var handleObjIn, eventHandle, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, elemData = dataPriv.get( elem ); // Only attach events to objects that accept data if ( !acceptData( elem ) ) { return; } // Caller can pass in an object of custom data in lieu of the handler if ( handler.handler ) { handleObjIn = handler; handler = handleObjIn.handler; selector = handleObjIn.selector; } // Ensure that invalid selectors throw exceptions at attach time // Evaluate against documentElement in case elem is a non-element node (e.g., document) if ( selector ) { jQuery.find.matchesSelector( documentElement, selector ); } // Make sure that the handler has a unique ID, used to find/remove it later if ( !handler.guid ) { handler.guid = jQuery.guid++; } // Init the element's event structure and main handler, if this is the first if ( !( events = elemData.events ) ) { events = elemData.events = Object.create( null ); } if ( !( eventHandle = elemData.handle ) ) { eventHandle = elemData.handle = function( e ) { // Discard the second event of a jQuery.event.trigger() and // when an event is called after a page has unloaded return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply( elem, arguments ) : undefined; }; } // Handle multiple events separated by a space types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; t = types.length; while ( t-- ) { tmp = rtypenamespace.exec( types[ t ] ) || []; type = origType = tmp[ 1 ]; namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); // There *must* be a type, no attaching namespace-only handlers if ( !type ) { continue; } // If event changes its type, use the special event handlers for the changed type special = jQuery.event.special[ type ] || {}; // If selector defined, determine special event api type, otherwise given type type = ( selector ? special.delegateType : special.bindType ) || type; // Update special based on newly reset type special = jQuery.event.special[ type ] || {}; // handleObj is passed to all event handlers handleObj = jQuery.extend( { type: type, origType: origType, data: data, handler: handler, guid: handler.guid, selector: selector, needsContext: selector && jQuery.expr.match.needsContext.test( selector ), namespace: namespaces.join( "." ) }, handleObjIn ); // Init the event handler queue if we're the first if ( !( handlers = events[ type ] ) ) { handlers = events[ type ] = []; handlers.delegateCount = 0; // Only use addEventListener if the special events handler returns false if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { if ( elem.addEventListener ) { elem.addEventListener( type, eventHandle ); } } } if ( special.add ) { special.add.call( elem, handleObj ); if ( !handleObj.handler.guid ) { handleObj.handler.guid = handler.guid; } } // Add to the element's handler list, delegates in front if ( selector ) { handlers.splice( handlers.delegateCount++, 0, handleObj ); } else { handlers.push( handleObj ); } // Keep track of which events have ever been used, for event optimization jQuery.event.global[ type ] = true; } }, // Detach an event or set of events from an element remove: function( elem, types, handler, selector, mappedTypes ) { var j, origCount, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); if ( !elemData || !( events = elemData.events ) ) { return; } // Once for each type.namespace in types; type may be omitted types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; t = types.length; while ( t-- ) { tmp = rtypenamespace.exec( types[ t ] ) || []; type = origType = tmp[ 1 ]; namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); // Unbind all events (on this namespace, if provided) for the element if ( !type ) { for ( type in events ) { jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); } continue; } special = jQuery.event.special[ type ] || {}; type = ( selector ? special.delegateType : special.bindType ) || type; handlers = events[ type ] || []; tmp = tmp[ 2 ] && new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); // Remove matching events origCount = j = handlers.length; while ( j-- ) { handleObj = handlers[ j ]; if ( ( mappedTypes || origType === handleObj.origType ) && ( !handler || handler.guid === handleObj.guid ) && ( !tmp || tmp.test( handleObj.namespace ) ) && ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { handlers.splice( j, 1 ); if ( handleObj.selector ) { handlers.delegateCount--; } if ( special.remove ) { special.remove.call( elem, handleObj ); } } } // Remove generic event handler if we removed something and no more handlers exist // (avoids potential for endless recursion during removal of special event handlers) if ( origCount && !handlers.length ) { if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { jQuery.removeEvent( elem, type, elemData.handle ); } delete events[ type ]; } } // Remove data and the expando if it's no longer used if ( jQuery.isEmptyObject( events ) ) { dataPriv.remove( elem, "handle events" ); } }, dispatch: function( nativeEvent ) { var i, j, ret, matched, handleObj, handlerQueue, args = new Array( arguments.length ), // Make a writable jQuery.Event from the native event object event = jQuery.event.fix( nativeEvent ), handlers = ( dataPriv.get( this, "events" ) || Object.create( null ) )[ event.type ] || [], special = jQuery.event.special[ event.type ] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event args[ 0 ] = event; for ( i = 1; i < arguments.length; i++ ) { args[ i ] = arguments[ i ]; } event.delegateTarget = this; // Call the preDispatch hook for the mapped type, and let it bail if desired if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { return; } // Determine handlers handlerQueue = jQuery.event.handlers.call( this, event, handlers ); // Run delegates first; they may want to stop propagation beneath us i = 0; while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { event.currentTarget = matched.elem; j = 0; while ( ( handleObj = matched.handlers[ j++ ] ) && !event.isImmediatePropagationStopped() ) { // If the event is namespaced, then each handler is only invoked if it is // specially universal or its namespaces are a superset of the event's. if ( !event.rnamespace || handleObj.namespace === false || event.rnamespace.test( handleObj.namespace ) ) { event.handleObj = handleObj; event.data = handleObj.data; ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || handleObj.handler ).apply( matched.elem, args ); if ( ret !== undefined ) { if ( ( event.result = ret ) === false ) { event.preventDefault(); event.stopPropagation(); } } } } } // Call the postDispatch hook for the mapped type if ( special.postDispatch ) { special.postDispatch.call( this, event ); } return event.result; }, handlers: function( event, handlers ) { var i, handleObj, sel, matchedHandlers, matchedSelectors, handlerQueue = [], delegateCount = handlers.delegateCount, cur = event.target; // Find delegate handlers if ( delegateCount && // Support: IE <=9 // Black-hole SVG instance trees (trac-13180) cur.nodeType && // Support: Firefox <=42 // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click // Support: IE 11 only // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) !( event.type === "click" && event.button >= 1 ) ) { for ( ; cur !== this; cur = cur.parentNode || this ) { // Don't check non-elements (trac-13208) // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764) if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { matchedHandlers = []; matchedSelectors = {}; for ( i = 0; i < delegateCount; i++ ) { handleObj = handlers[ i ]; // Don't conflict with Object.prototype properties (trac-13203) sel = handleObj.selector + " "; if ( matchedSelectors[ sel ] === undefined ) { matchedSelectors[ sel ] = handleObj.needsContext ? jQuery( sel, this ).index( cur ) > -1 : jQuery.find( sel, this, null, [ cur ] ).length; } if ( matchedSelectors[ sel ] ) { matchedHandlers.push( handleObj ); } } if ( matchedHandlers.length ) { handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); } } } } // Add the remaining (directly-bound) handlers cur = this; if ( delegateCount < handlers.length ) { handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); } return handlerQueue; }, addProp: function( name, hook ) { Object.defineProperty( jQuery.Event.prototype, name, { enumerable: true, configurable: true, get: isFunction( hook ) ? function() { if ( this.originalEvent ) { return hook( this.originalEvent ); } } : function() { if ( this.originalEvent ) { return this.originalEvent[ name ]; } }, set: function( value ) { Object.defineProperty( this, name, { enumerable: true, configurable: true, writable: true, value: value } ); } } ); }, fix: function( originalEvent ) { return originalEvent[ jQuery.expando ] ? originalEvent : new jQuery.Event( originalEvent ); }, special: { load: { // Prevent triggered image.load events from bubbling to window.load noBubble: true }, click: { // Utilize native event to ensure correct state for checkable inputs setup: function( data ) { // For mutual compressibility with _default, replace `this` access with a local var. // `|| data` is dead code meant only to preserve the variable through minification. var el = this || data; // Claim the first handler if ( rcheckableType.test( el.type ) && el.click && nodeName( el, "input" ) ) { // dataPriv.set( el, "click", ... ) leverageNative( el, "click", true ); } // Return false to allow normal processing in the caller return false; }, trigger: function( data ) { // For mutual compressibility with _default, replace `this` access with a local var. // `|| data` is dead code meant only to preserve the variable through minification. var el = this || data; // Force setup before triggering a click if ( rcheckableType.test( el.type ) && el.click && nodeName( el, "input" ) ) { leverageNative( el, "click" ); } // Return non-false to allow normal event-path propagation return true; }, // For cross-browser consistency, suppress native .click() on links // Also prevent it if we're currently inside a leveraged native-event stack _default: function( event ) { var target = event.target; return rcheckableType.test( target.type ) && target.click && nodeName( target, "input" ) && dataPriv.get( target, "click" ) || nodeName( target, "a" ); } }, beforeunload: { postDispatch: function( event ) { // Support: Firefox 20+ // Firefox doesn't alert if the returnValue field is not set. if ( event.result !== undefined && event.originalEvent ) { event.originalEvent.returnValue = event.result; } } } } }; // Ensure the presence of an event listener that handles manually-triggered // synthetic events by interrupting progress until reinvoked in response to // *native* events that it fires directly, ensuring that state changes have // already occurred before other listeners are invoked. function leverageNative( el, type, isSetup ) { // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add if ( !isSetup ) { if ( dataPriv.get( el, type ) === undefined ) { jQuery.event.add( el, type, returnTrue ); } return; } // Register the controller as a special universal handler for all event namespaces dataPriv.set( el, type, false ); jQuery.event.add( el, type, { namespace: false, handler: function( event ) { var result, saved = dataPriv.get( this, type ); if ( ( event.isTrigger & 1 ) && this[ type ] ) { // Interrupt processing of the outer synthetic .trigger()ed event if ( !saved ) { // Store arguments for use when handling the inner native event // There will always be at least one argument (an event object), so this array // will not be confused with a leftover capture object. saved = slice.call( arguments ); dataPriv.set( this, type, saved ); // Trigger the native event and capture its result this[ type ](); result = dataPriv.get( this, type ); dataPriv.set( this, type, false ); if ( saved !== result ) { // Cancel the outer synthetic event event.stopImmediatePropagation(); event.preventDefault(); return result; } // If this is an inner synthetic event for an event with a bubbling surrogate // (focus or blur), assume that the surrogate already propagated from triggering // the native event and prevent that from happening again here. // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the // bubbling surrogate propagates *after* the non-bubbling base), but that seems // less bad than duplication. } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { event.stopPropagation(); } // If this is a native event triggered above, everything is now in order // Fire an inner synthetic event with the original arguments } else if ( saved ) { // ...and capture the result dataPriv.set( this, type, jQuery.event.trigger( saved[ 0 ], saved.slice( 1 ), this ) ); // Abort handling of the native event by all jQuery handlers while allowing // native handlers on the same element to run. On target, this is achieved // by stopping immediate propagation just on the jQuery event. However, // the native event is re-wrapped by a jQuery one on each level of the // propagation so the only way to stop it for jQuery is to stop it for // everyone via native `stopPropagation()`. This is not a problem for // focus/blur which don't bubble, but it does also stop click on checkboxes // and radios. We accept this limitation. event.stopPropagation(); event.isImmediatePropagationStopped = returnTrue; } } } ); } jQuery.removeEvent = function( elem, type, handle ) { // This "if" is needed for plain objects if ( elem.removeEventListener ) { elem.removeEventListener( type, handle ); } }; jQuery.Event = function( src, props ) { // Allow instantiation without the 'new' keyword if ( !( this instanceof jQuery.Event ) ) { return new jQuery.Event( src, props ); } // Event object if ( src && src.type ) { this.originalEvent = src; this.type = src.type; // Events bubbling up the document may have been marked as prevented // by a handler lower down the tree; reflect the correct value. this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && // Support: Android <=2.3 only src.returnValue === false ? returnTrue : returnFalse; // Create target properties // Support: Safari <=6 - 7 only // Target should not be a text node (trac-504, trac-13143) this.target = ( src.target && src.target.nodeType === 3 ) ? src.target.parentNode : src.target; this.currentTarget = src.currentTarget; this.relatedTarget = src.relatedTarget; // Event type } else { this.type = src; } // Put explicitly provided properties onto the event object if ( props ) { jQuery.extend( this, props ); } // Create a timestamp if incoming event doesn't have one this.timeStamp = src && src.timeStamp || Date.now(); // Mark it as fixed this[ jQuery.expando ] = true; }; // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html jQuery.Event.prototype = { constructor: jQuery.Event, isDefaultPrevented: returnFalse, isPropagationStopped: returnFalse, isImmediatePropagationStopped: returnFalse, isSimulated: false, preventDefault: function() { var e = this.originalEvent; this.isDefaultPrevented = returnTrue; if ( e && !this.isSimulated ) { e.preventDefault(); } }, stopPropagation: function() { var e = this.originalEvent; this.isPropagationStopped = returnTrue; if ( e && !this.isSimulated ) { e.stopPropagation(); } }, stopImmediatePropagation: function() { var e = this.originalEvent; this.isImmediatePropagationStopped = returnTrue; if ( e && !this.isSimulated ) { e.stopImmediatePropagation(); } this.stopPropagation(); } }; // Includes all common event props including KeyEvent and MouseEvent specific props jQuery.each( { altKey: true, bubbles: true, cancelable: true, changedTouches: true, ctrlKey: true, detail: true, eventPhase: true, metaKey: true, pageX: true, pageY: true, shiftKey: true, view: true, "char": true, code: true, charCode: true, key: true, keyCode: true, button: true, buttons: true, clientX: true, clientY: true, offsetX: true, offsetY: true, pointerId: true, pointerType: true, screenX: true, screenY: true, targetTouches: true, toElement: true, touches: true, which: true }, jQuery.event.addProp ); jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { function focusMappedHandler( nativeEvent ) { if ( document.documentMode ) { // Support: IE 11+ // Attach a single focusin/focusout handler on the document while someone wants // focus/blur. This is because the former are synchronous in IE while the latter // are async. In other browsers, all those handlers are invoked synchronously. // `handle` from private data would already wrap the event, but we need // to change the `type` here. var handle = dataPriv.get( this, "handle" ), event = jQuery.event.fix( nativeEvent ); event.type = nativeEvent.type === "focusin" ? "focus" : "blur"; event.isSimulated = true; // First, handle focusin/focusout handle( nativeEvent ); // ...then, handle focus/blur // // focus/blur don't bubble while focusin/focusout do; simulate the former by only // invoking the handler at the lower level. if ( event.target === event.currentTarget ) { // The setup part calls `leverageNative`, which, in turn, calls // `jQuery.event.add`, so event handle will already have been set // by this point. handle( event ); } } else { // For non-IE browsers, attach a single capturing handler on the document // while someone wants focusin/focusout. jQuery.event.simulate( delegateType, nativeEvent.target, jQuery.event.fix( nativeEvent ) ); } } jQuery.event.special[ type ] = { // Utilize native event if possible so blur/focus sequence is correct setup: function() { var attaches; // Claim the first handler // dataPriv.set( this, "focus", ... ) // dataPriv.set( this, "blur", ... ) leverageNative( this, type, true ); if ( document.documentMode ) { // Support: IE 9 - 11+ // We use the same native handler for focusin & focus (and focusout & blur) // so we need to coordinate setup & teardown parts between those events. // Use `delegateType` as the key as `type` is already used by `leverageNative`. attaches = dataPriv.get( this, delegateType ); if ( !attaches ) { this.addEventListener( delegateType, focusMappedHandler ); } dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 ); } else { // Return false to allow normal processing in the caller return false; } }, trigger: function() { // Force setup before trigger leverageNative( this, type ); // Return non-false to allow normal event-path propagation return true; }, teardown: function() { var attaches; if ( document.documentMode ) { attaches = dataPriv.get( this, delegateType ) - 1; if ( !attaches ) { this.removeEventListener( delegateType, focusMappedHandler ); dataPriv.remove( this, delegateType ); } else { dataPriv.set( this, delegateType, attaches ); } } else { // Return false to indicate standard teardown should be applied return false; } }, // Suppress native focus or blur if we're currently inside // a leveraged native-event stack _default: function( event ) { return dataPriv.get( event.target, type ); }, delegateType: delegateType }; // Support: Firefox <=44 // Firefox doesn't have focus(in | out) events // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 // // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 // focus(in | out) events fire after focus & blur events, // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 // // Support: IE 9 - 11+ // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch, // attach a single handler for both events in IE. jQuery.event.special[ delegateType ] = { setup: function() { // Handle: regular nodes (via `this.ownerDocument`), window // (via `this.document`) & document (via `this`). var doc = this.ownerDocument || this.document || this, dataHolder = document.documentMode ? this : doc, attaches = dataPriv.get( dataHolder, delegateType ); // Support: IE 9 - 11+ // We use the same native handler for focusin & focus (and focusout & blur) // so we need to coordinate setup & teardown parts between those events. // Use `delegateType` as the key as `type` is already used by `leverageNative`. if ( !attaches ) { if ( document.documentMode ) { this.addEventListener( delegateType, focusMappedHandler ); } else { doc.addEventListener( type, focusMappedHandler, true ); } } dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 ); }, teardown: function() { var doc = this.ownerDocument || this.document || this, dataHolder = document.documentMode ? this : doc, attaches = dataPriv.get( dataHolder, delegateType ) - 1; if ( !attaches ) { if ( document.documentMode ) { this.removeEventListener( delegateType, focusMappedHandler ); } else { doc.removeEventListener( type, focusMappedHandler, true ); } dataPriv.remove( dataHolder, delegateType ); } else { dataPriv.set( dataHolder, delegateType, attaches ); } } }; } ); // Create mouseenter/leave events using mouseover/out and event-time checks // so that event delegation works in jQuery. // Do the same for pointerenter/pointerleave and pointerover/pointerout // // Support: Safari 7 only // Safari sends mouseenter too often; see: // https://bugs.chromium.org/p/chromium/issues/detail?id=470258 // for the description of the bug (it existed in older Chrome versions as well). jQuery.each( { mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function( orig, fix ) { jQuery.event.special[ orig ] = { delegateType: fix, bindType: fix, handle: function( event ) { var ret, target = this, related = event.relatedTarget, handleObj = event.handleObj; // For mouseenter/leave call the handler if related is outside the target. // NB: No relatedTarget if the mouse left/entered the browser window if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { event.type = handleObj.origType; ret = handleObj.handler.apply( this, arguments ); event.type = fix; } return ret; } }; } ); jQuery.fn.extend( { on: function( types, selector, data, fn ) { return on( this, types, selector, data, fn ); }, one: function( types, selector, data, fn ) { return on( this, types, selector, data, fn, 1 ); }, off: function( types, selector, fn ) { var handleObj, type; if ( types && types.preventDefault && types.handleObj ) { // ( event ) dispatched jQuery.Event handleObj = types.handleObj; jQuery( types.delegateTarget ).off( handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler ); return this; } if ( typeof types === "object" ) { // ( types-object [, selector] ) for ( type in types ) { this.off( type, selector, types[ type ] ); } return this; } if ( selector === false || typeof selector === "function" ) { // ( types [, fn] ) fn = selector; selector = undefined; } if ( fn === false ) { fn = returnFalse; } return this.each( function() { jQuery.event.remove( this, types, fn, selector ); } ); } } ); var // Support: IE <=10 - 11, Edge 12 - 13 only // In IE/Edge using regex groups here causes severe slowdowns. // See https://connect.microsoft.com/IE/feedback/details/1736512/ rnoInnerhtml = /\s*$/g; // Prefer a tbody over its parent table for containing new rows function manipulationTarget( elem, content ) { if ( nodeName( elem, "table" ) && nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { return jQuery( elem ).children( "tbody" )[ 0 ] || elem; } return elem; } // Replace/restore the type attribute of script elements for safe DOM manipulation function disableScript( elem ) { elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; return elem; } function restoreScript( elem ) { if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { elem.type = elem.type.slice( 5 ); } else { elem.removeAttribute( "type" ); } return elem; } function cloneCopyEvent( src, dest ) { var i, l, type, pdataOld, udataOld, udataCur, events; if ( dest.nodeType !== 1 ) { return; } // 1. Copy private data: events, handlers, etc. if ( dataPriv.hasData( src ) ) { pdataOld = dataPriv.get( src ); events = pdataOld.events; if ( events ) { dataPriv.remove( dest, "handle events" ); for ( type in events ) { for ( i = 0, l = events[ type ].length; i < l; i++ ) { jQuery.event.add( dest, type, events[ type ][ i ] ); } } } } // 2. Copy user data if ( dataUser.hasData( src ) ) { udataOld = dataUser.access( src ); udataCur = jQuery.extend( {}, udataOld ); dataUser.set( dest, udataCur ); } } // Fix IE bugs, see support tests function fixInput( src, dest ) { var nodeName = dest.nodeName.toLowerCase(); // Fails to persist the checked state of a cloned checkbox or radio button. if ( nodeName === "input" && rcheckableType.test( src.type ) ) { dest.checked = src.checked; // Fails to return the selected option to the default selected state when cloning options } else if ( nodeName === "input" || nodeName === "textarea" ) { dest.defaultValue = src.defaultValue; } } function domManip( collection, args, callback, ignored ) { // Flatten any nested arrays args = flat( args ); var fragment, first, scripts, hasScripts, node, doc, i = 0, l = collection.length, iNoClone = l - 1, value = args[ 0 ], valueIsFunction = isFunction( value ); // We can't cloneNode fragments that contain checked, in WebKit if ( valueIsFunction || ( l > 1 && typeof value === "string" && !support.checkClone && rchecked.test( value ) ) ) { return collection.each( function( index ) { var self = collection.eq( index ); if ( valueIsFunction ) { args[ 0 ] = value.call( this, index, self.html() ); } domManip( self, args, callback, ignored ); } ); } if ( l ) { fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); first = fragment.firstChild; if ( fragment.childNodes.length === 1 ) { fragment = first; } // Require either new content or an interest in ignored elements to invoke the callback if ( first || ignored ) { scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); hasScripts = scripts.length; // Use the original fragment for the last item // instead of the first because it can end up // being emptied incorrectly in certain situations (trac-8070). for ( ; i < l; i++ ) { node = fragment; if ( i !== iNoClone ) { node = jQuery.clone( node, true, true ); // Keep references to cloned scripts for later restoration if ( hasScripts ) { // Support: Android <=4.0 only, PhantomJS 1 only // push.apply(_, arraylike) throws on ancient WebKit jQuery.merge( scripts, getAll( node, "script" ) ); } } callback.call( collection[ i ], node, i ); } if ( hasScripts ) { doc = scripts[ scripts.length - 1 ].ownerDocument; // Re-enable scripts jQuery.map( scripts, restoreScript ); // Evaluate executable scripts on first document insertion for ( i = 0; i < hasScripts; i++ ) { node = scripts[ i ]; if ( rscriptType.test( node.type || "" ) && !dataPriv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) { if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { // Optional AJAX dependency, but won't run scripts if not present if ( jQuery._evalUrl && !node.noModule ) { jQuery._evalUrl( node.src, { nonce: node.nonce || node.getAttribute( "nonce" ) }, doc ); } } else { // Unwrap a CDATA section containing script contents. This shouldn't be // needed as in XML documents they're already not visible when // inspecting element contents and in HTML documents they have no // meaning but we're preserving that logic for backwards compatibility. // This will be removed completely in 4.0. See gh-4904. DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); } } } } } } return collection; } function remove( elem, selector, keepData ) { var node, nodes = selector ? jQuery.filter( selector, elem ) : elem, i = 0; for ( ; ( node = nodes[ i ] ) != null; i++ ) { if ( !keepData && node.nodeType === 1 ) { jQuery.cleanData( getAll( node ) ); } if ( node.parentNode ) { if ( keepData && isAttached( node ) ) { setGlobalEval( getAll( node, "script" ) ); } node.parentNode.removeChild( node ); } } return elem; } jQuery.extend( { htmlPrefilter: function( html ) { return html; }, clone: function( elem, dataAndEvents, deepDataAndEvents ) { var i, l, srcElements, destElements, clone = elem.cloneNode( true ), inPage = isAttached( elem ); // Fix IE cloning issues if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) { // We eschew jQuery#find here for performance reasons: // https://jsperf.com/getall-vs-sizzle/2 destElements = getAll( clone ); srcElements = getAll( elem ); for ( i = 0, l = srcElements.length; i < l; i++ ) { fixInput( srcElements[ i ], destElements[ i ] ); } } // Copy the events from the original to the clone if ( dataAndEvents ) { if ( deepDataAndEvents ) { srcElements = srcElements || getAll( elem ); destElements = destElements || getAll( clone ); for ( i = 0, l = srcElements.length; i < l; i++ ) { cloneCopyEvent( srcElements[ i ], destElements[ i ] ); } } else { cloneCopyEvent( elem, clone ); } } // Preserve script evaluation history destElements = getAll( clone, "script" ); if ( destElements.length > 0 ) { setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); } // Return the cloned set return clone; }, cleanData: function( elems ) { var data, elem, type, special = jQuery.event.special, i = 0; for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { if ( acceptData( elem ) ) { if ( ( data = elem[ dataPriv.expando ] ) ) { if ( data.events ) { for ( type in data.events ) { if ( special[ type ] ) { jQuery.event.remove( elem, type ); // This is a shortcut to avoid jQuery.event.remove's overhead } else { jQuery.removeEvent( elem, type, data.handle ); } } } // Support: Chrome <=35 - 45+ // Assign undefined instead of using delete, see Data#remove elem[ dataPriv.expando ] = undefined; } if ( elem[ dataUser.expando ] ) { // Support: Chrome <=35 - 45+ // Assign undefined instead of using delete, see Data#remove elem[ dataUser.expando ] = undefined; } } } } } ); jQuery.fn.extend( { detach: function( selector ) { return remove( this, selector, true ); }, remove: function( selector ) { return remove( this, selector ); }, text: function( value ) { return access( this, function( value ) { return value === undefined ? jQuery.text( this ) : this.empty().each( function() { if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { this.textContent = value; } } ); }, null, value, arguments.length ); }, append: function() { return domManip( this, arguments, function( elem ) { if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { var target = manipulationTarget( this, elem ); target.appendChild( elem ); } } ); }, prepend: function() { return domManip( this, arguments, function( elem ) { if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { var target = manipulationTarget( this, elem ); target.insertBefore( elem, target.firstChild ); } } ); }, before: function() { return domManip( this, arguments, function( elem ) { if ( this.parentNode ) { this.parentNode.insertBefore( elem, this ); } } ); }, after: function() { return domManip( this, arguments, function( elem ) { if ( this.parentNode ) { this.parentNode.insertBefore( elem, this.nextSibling ); } } ); }, empty: function() { var elem, i = 0; for ( ; ( elem = this[ i ] ) != null; i++ ) { if ( elem.nodeType === 1 ) { // Prevent memory leaks jQuery.cleanData( getAll( elem, false ) ); // Remove any remaining nodes elem.textContent = ""; } } return this; }, clone: function( dataAndEvents, deepDataAndEvents ) { dataAndEvents = dataAndEvents == null ? false : dataAndEvents; deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; return this.map( function() { return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); } ); }, html: function( value ) { return access( this, function( value ) { var elem = this[ 0 ] || {}, i = 0, l = this.length; if ( value === undefined && elem.nodeType === 1 ) { return elem.innerHTML; } // See if we can take a shortcut and just use innerHTML if ( typeof value === "string" && !rnoInnerhtml.test( value ) && !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { value = jQuery.htmlPrefilter( value ); try { for ( ; i < l; i++ ) { elem = this[ i ] || {}; // Remove element nodes and prevent memory leaks if ( elem.nodeType === 1 ) { jQuery.cleanData( getAll( elem, false ) ); elem.innerHTML = value; } } elem = 0; // If using innerHTML throws an exception, use the fallback method } catch ( e ) {} } if ( elem ) { this.empty().append( value ); } }, null, value, arguments.length ); }, replaceWith: function() { var ignored = []; // Make the changes, replacing each non-ignored context element with the new content return domManip( this, arguments, function( elem ) { var parent = this.parentNode; if ( jQuery.inArray( this, ignored ) < 0 ) { jQuery.cleanData( getAll( this ) ); if ( parent ) { parent.replaceChild( elem, this ); } } // Force callback invocation }, ignored ); } } ); jQuery.each( { appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function( name, original ) { jQuery.fn[ name ] = function( selector ) { var elems, ret = [], insert = jQuery( selector ), last = insert.length - 1, i = 0; for ( ; i <= last; i++ ) { elems = i === last ? this : this.clone( true ); jQuery( insert[ i ] )[ original ]( elems ); // Support: Android <=4.0 only, PhantomJS 1 only // .get() because push.apply(_, arraylike) throws on ancient WebKit push.apply( ret, elems.get() ); } return this.pushStack( ret ); }; } ); var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); var rcustomProp = /^--/; var getStyles = function( elem ) { // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150) // IE throws on elements created in popups // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" var view = elem.ownerDocument.defaultView; if ( !view || !view.opener ) { view = window; } return view.getComputedStyle( elem ); }; var swap = function( elem, options, callback ) { var ret, name, old = {}; // Remember the old values, and insert the new ones for ( name in options ) { old[ name ] = elem.style[ name ]; elem.style[ name ] = options[ name ]; } ret = callback.call( elem ); // Revert the old values for ( name in options ) { elem.style[ name ] = old[ name ]; } return ret; }; var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); ( function() { // Executing both pixelPosition & boxSizingReliable tests require only one layout // so they're executed at the same time to save the second computation. function computeStyleTests() { // This is a singleton, we need to execute it only once if ( !div ) { return; } container.style.cssText = "position:absolute;left:-11111px;width:60px;" + "margin-top:1px;padding:0;border:0"; div.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + "margin:auto;border:1px;padding:1px;" + "width:60%;top:1%"; documentElement.appendChild( container ).appendChild( div ); var divStyle = window.getComputedStyle( div ); pixelPositionVal = divStyle.top !== "1%"; // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 // Some styles come back with percentage values, even though they shouldn't div.style.right = "60%"; pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; // Support: IE 9 - 11 only // Detect misreporting of content dimensions for box-sizing:border-box elements boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; // Support: IE 9 only // Detect overflow:scroll screwiness (gh-3699) // Support: Chrome <=64 // Don't get tricked when zoom affects offsetWidth (gh-4029) div.style.position = "absolute"; scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; documentElement.removeChild( container ); // Nullify the div so it wouldn't be stored in the memory and // it will also be a sign that checks already performed div = null; } function roundPixelMeasures( measure ) { return Math.round( parseFloat( measure ) ); } var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, reliableTrDimensionsVal, reliableMarginLeftVal, container = document.createElement( "div" ), div = document.createElement( "div" ); // Finish early in limited (non-browser) environments if ( !div.style ) { return; } // Support: IE <=9 - 11 only // Style of cloned element affects source element cloned (trac-8908) div.style.backgroundClip = "content-box"; div.cloneNode( true ).style.backgroundClip = ""; support.clearCloneStyle = div.style.backgroundClip === "content-box"; jQuery.extend( support, { boxSizingReliable: function() { computeStyleTests(); return boxSizingReliableVal; }, pixelBoxStyles: function() { computeStyleTests(); return pixelBoxStylesVal; }, pixelPosition: function() { computeStyleTests(); return pixelPositionVal; }, reliableMarginLeft: function() { computeStyleTests(); return reliableMarginLeftVal; }, scrollboxSize: function() { computeStyleTests(); return scrollboxSizeVal; }, // Support: IE 9 - 11+, Edge 15 - 18+ // IE/Edge misreport `getComputedStyle` of table rows with width/height // set in CSS while `offset*` properties report correct values. // Behavior in IE 9 is more subtle than in newer versions & it passes // some versions of this test; make sure not to make it pass there! // // Support: Firefox 70+ // Only Firefox includes border widths // in computed dimensions. (gh-4529) reliableTrDimensions: function() { var table, tr, trChild, trStyle; if ( reliableTrDimensionsVal == null ) { table = document.createElement( "table" ); tr = document.createElement( "tr" ); trChild = document.createElement( "div" ); table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; tr.style.cssText = "box-sizing:content-box;border:1px solid"; // Support: Chrome 86+ // Height set through cssText does not get applied. // Computed height then comes back as 0. tr.style.height = "1px"; trChild.style.height = "9px"; // Support: Android 8 Chrome 86+ // In our bodyBackground.html iframe, // display for all div elements is set to "inline", // which causes a problem only in Android 8 Chrome 86. // Ensuring the div is `display: block` // gets around this issue. trChild.style.display = "block"; documentElement .appendChild( table ) .appendChild( tr ) .appendChild( trChild ); trStyle = window.getComputedStyle( tr ); reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + parseInt( trStyle.borderTopWidth, 10 ) + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; documentElement.removeChild( table ); } return reliableTrDimensionsVal; } } ); } )(); function curCSS( elem, name, computed ) { var width, minWidth, maxWidth, ret, isCustomProp = rcustomProp.test( name ), // Support: Firefox 51+ // Retrieving style before computed somehow // fixes an issue with getting wrong values // on detached elements style = elem.style; computed = computed || getStyles( elem ); // getPropertyValue is needed for: // .css('filter') (IE 9 only, trac-12537) // .css('--customProperty) (gh-3144) if ( computed ) { // Support: IE <=9 - 11+ // IE only supports `"float"` in `getPropertyValue`; in computed styles // it's only available as `"cssFloat"`. We no longer modify properties // sent to `.css()` apart from camelCasing, so we need to check both. // Normally, this would create difference in behavior: if // `getPropertyValue` returns an empty string, the value returned // by `.css()` would be `undefined`. This is usually the case for // disconnected elements. However, in IE even disconnected elements // with no styles return `"none"` for `getPropertyValue( "float" )` ret = computed.getPropertyValue( name ) || computed[ name ]; if ( isCustomProp && ret ) { // Support: Firefox 105+, Chrome <=105+ // Spec requires trimming whitespace for custom properties (gh-4926). // Firefox only trims leading whitespace. Chrome just collapses // both leading & trailing whitespace to a single space. // // Fall back to `undefined` if empty string returned. // This collapses a missing definition with property defined // and set to an empty string but there's no standard API // allowing us to differentiate them without a performance penalty // and returning `undefined` aligns with older jQuery. // // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED // as whitespace while CSS does not, but this is not a problem // because CSS preprocessing replaces them with U+000A LINE FEED // (which *is* CSS whitespace) // https://www.w3.org/TR/css-syntax-3/#input-preprocessing ret = ret.replace( rtrimCSS, "$1" ) || undefined; } if ( ret === "" && !isAttached( elem ) ) { ret = jQuery.style( elem, name ); } // A tribute to the "awesome hack by Dean Edwards" // Android Browser returns percentage for some values, // but width seems to be reliably pixels. // This is against the CSSOM draft spec: // https://drafts.csswg.org/cssom/#resolved-values if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { // Remember the original values width = style.width; minWidth = style.minWidth; maxWidth = style.maxWidth; // Put in the new values to get a computed value out style.minWidth = style.maxWidth = style.width = ret; ret = computed.width; // Revert the changed values style.width = width; style.minWidth = minWidth; style.maxWidth = maxWidth; } } return ret !== undefined ? // Support: IE <=9 - 11 only // IE returns zIndex value as an integer. ret + "" : ret; } function addGetHookIf( conditionFn, hookFn ) { // Define the hook, we'll check on the first run if it's really needed. return { get: function() { if ( conditionFn() ) { // Hook not needed (or it's not possible to use it due // to missing dependency), remove it. delete this.get; return; } // Hook needed; redefine it so that the support test is not executed again. return ( this.get = hookFn ).apply( this, arguments ); } }; } var cssPrefixes = [ "Webkit", "Moz", "ms" ], emptyStyle = document.createElement( "div" ).style, vendorProps = {}; // Return a vendor-prefixed property or undefined function vendorPropName( name ) { // Check for vendor prefixed names var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), i = cssPrefixes.length; while ( i-- ) { name = cssPrefixes[ i ] + capName; if ( name in emptyStyle ) { return name; } } } // Return a potentially-mapped jQuery.cssProps or vendor prefixed property function finalPropName( name ) { var final = jQuery.cssProps[ name ] || vendorProps[ name ]; if ( final ) { return final; } if ( name in emptyStyle ) { return name; } return vendorProps[ name ] = vendorPropName( name ) || name; } var // Swappable if display is none or starts with table // except "table", "table-cell", or "table-caption" // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display rdisplayswap = /^(none|table(?!-c[ea]).+)/, cssShow = { position: "absolute", visibility: "hidden", display: "block" }, cssNormalTransform = { letterSpacing: "0", fontWeight: "400" }; function setPositiveNumber( _elem, value, subtract ) { // Any relative (+/-) values have already been // normalized at this point var matches = rcssNum.exec( value ); return matches ? // Guard against undefined "subtract", e.g., when used as in cssHooks Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : value; } function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { var i = dimension === "width" ? 1 : 0, extra = 0, delta = 0, marginDelta = 0; // Adjustment may not be necessary if ( box === ( isBorderBox ? "border" : "content" ) ) { return 0; } for ( ; i < 4; i += 2 ) { // Both box models exclude margin // Count margin delta separately to only add it after scroll gutter adjustment. // This is needed to make negative margins work with `outerHeight( true )` (gh-3982). if ( box === "margin" ) { marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); } // If we get here with a content-box, we're seeking "padding" or "border" or "margin" if ( !isBorderBox ) { // Add padding delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); // For "border" or "margin", add border if ( box !== "padding" ) { delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); // But still keep track of it otherwise } else { extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); } // If we get here with a border-box (content + padding + border), we're seeking "content" or // "padding" or "margin" } else { // For "content", subtract padding if ( box === "content" ) { delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); } // For "content" or "padding", subtract border if ( box !== "margin" ) { delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); } } } // Account for positive content-box scroll gutter when requested by providing computedVal if ( !isBorderBox && computedVal >= 0 ) { // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border // Assuming integer scroll gutter, subtract the rest and round down delta += Math.max( 0, Math.ceil( elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - computedVal - delta - extra - 0.5 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter // Use an explicit zero to avoid NaN (gh-3964) ) ) || 0; } return delta + marginDelta; } function getWidthOrHeight( elem, dimension, extra ) { // Start with computed style var styles = getStyles( elem ), // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). // Fake content-box until we know it's needed to know the true value. boxSizingNeeded = !support.boxSizingReliable() || extra, isBorderBox = boxSizingNeeded && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", valueIsBorderBox = isBorderBox, val = curCSS( elem, dimension, styles ), offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); // Support: Firefox <=54 // Return a confounding non-pixel value or feign ignorance, as appropriate. if ( rnumnonpx.test( val ) ) { if ( !extra ) { return val; } val = "auto"; } // Support: IE 9 - 11 only // Use offsetWidth/offsetHeight for when box sizing is unreliable. // In those cases, the computed value can be trusted to be border-box. if ( ( !support.boxSizingReliable() && isBorderBox || // Support: IE 10 - 11+, Edge 15 - 18+ // IE/Edge misreport `getComputedStyle` of table rows with width/height // set in CSS while `offset*` properties report correct values. // Interestingly, in some cases IE 9 doesn't suffer from this issue. !support.reliableTrDimensions() && nodeName( elem, "tr" ) || // Fall back to offsetWidth/offsetHeight when value is "auto" // This happens for inline elements with no explicit setting (gh-3571) val === "auto" || // Support: Android <=4.1 - 4.3 only // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && // Make sure the element is visible & connected elem.getClientRects().length ) { isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; // Where available, offsetWidth/offsetHeight approximate border box dimensions. // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the // retrieved value as a content box dimension. valueIsBorderBox = offsetProp in elem; if ( valueIsBorderBox ) { val = elem[ offsetProp ]; } } // Normalize "" and auto val = parseFloat( val ) || 0; // Adjust for the element's box model return ( val + boxModelAdjustment( elem, dimension, extra || ( isBorderBox ? "border" : "content" ), valueIsBorderBox, styles, // Provide the current computed size to request scroll gutter calculation (gh-3589) val ) ) + "px"; } jQuery.extend( { // Add in style property hooks for overriding the default // behavior of getting and setting a style property cssHooks: { opacity: { get: function( elem, computed ) { if ( computed ) { // We should always get a number back from opacity var ret = curCSS( elem, "opacity" ); return ret === "" ? "1" : ret; } } } }, // Don't automatically add "px" to these possibly-unitless properties cssNumber: { animationIterationCount: true, aspectRatio: true, borderImageSlice: true, columnCount: true, flexGrow: true, flexShrink: true, fontWeight: true, gridArea: true, gridColumn: true, gridColumnEnd: true, gridColumnStart: true, gridRow: true, gridRowEnd: true, gridRowStart: true, lineHeight: true, opacity: true, order: true, orphans: true, scale: true, widows: true, zIndex: true, zoom: true, // SVG-related fillOpacity: true, floodOpacity: true, stopOpacity: true, strokeMiterlimit: true, strokeOpacity: true }, // Add in properties whose names you wish to fix before // setting or getting the value cssProps: {}, // Get and set the style property on a DOM Node style: function( elem, name, value, extra ) { // Don't set styles on text and comment nodes if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { return; } // Make sure that we're working with the right name var ret, type, hooks, origName = camelCase( name ), isCustomProp = rcustomProp.test( name ), style = elem.style; // Make sure that we're working with the right name. We don't // want to query the value if it is a CSS custom property // since they are user-defined. if ( !isCustomProp ) { name = finalPropName( origName ); } // Gets hook for the prefixed version, then unprefixed version hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; // Check if we're setting a value if ( value !== undefined ) { type = typeof value; // Convert "+=" or "-=" to relative numbers (trac-7345) if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { value = adjustCSS( elem, name, ret ); // Fixes bug trac-9237 type = "number"; } // Make sure that null and NaN values aren't set (trac-7116) if ( value == null || value !== value ) { return; } // If a number was passed in, add the unit (except for certain CSS properties) // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append // "px" to a few hardcoded values. if ( type === "number" && !isCustomProp ) { value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); } // background-* props affect original clone's values if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { style[ name ] = "inherit"; } // If a hook was provided, use that value, otherwise just set the specified value if ( !hooks || !( "set" in hooks ) || ( value = hooks.set( elem, value, extra ) ) !== undefined ) { if ( isCustomProp ) { style.setProperty( name, value ); } else { style[ name ] = value; } } } else { // If a hook was provided get the non-computed value from there if ( hooks && "get" in hooks && ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { return ret; } // Otherwise just get the value from the style object return style[ name ]; } }, css: function( elem, name, extra, styles ) { var val, num, hooks, origName = camelCase( name ), isCustomProp = rcustomProp.test( name ); // Make sure that we're working with the right name. We don't // want to modify the value if it is a CSS custom property // since they are user-defined. if ( !isCustomProp ) { name = finalPropName( origName ); } // Try prefixed name followed by the unprefixed name hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; // If a hook was provided get the computed value from there if ( hooks && "get" in hooks ) { val = hooks.get( elem, true, extra ); } // Otherwise, if a way to get the computed value exists, use that if ( val === undefined ) { val = curCSS( elem, name, styles ); } // Convert "normal" to computed value if ( val === "normal" && name in cssNormalTransform ) { val = cssNormalTransform[ name ]; } // Make numeric if forced or a qualifier was provided and val looks numeric if ( extra === "" || extra ) { num = parseFloat( val ); return extra === true || isFinite( num ) ? num || 0 : val; } return val; } } ); jQuery.each( [ "height", "width" ], function( _i, dimension ) { jQuery.cssHooks[ dimension ] = { get: function( elem, computed, extra ) { if ( computed ) { // Certain elements can have dimension info if we invisibly show them // but it must have a current display style that would benefit return rdisplayswap.test( jQuery.css( elem, "display" ) ) && // Support: Safari 8+ // Table columns in Safari have non-zero offsetWidth & zero // getBoundingClientRect().width unless display is changed. // Support: IE <=11 only // Running getBoundingClientRect on a disconnected node // in IE throws an error. ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? swap( elem, cssShow, function() { return getWidthOrHeight( elem, dimension, extra ); } ) : getWidthOrHeight( elem, dimension, extra ); } }, set: function( elem, value, extra ) { var matches, styles = getStyles( elem ), // Only read styles.position if the test has a chance to fail // to avoid forcing a reflow. scrollboxSizeBuggy = !support.scrollboxSize() && styles.position === "absolute", // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) boxSizingNeeded = scrollboxSizeBuggy || extra, isBorderBox = boxSizingNeeded && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", subtract = extra ? boxModelAdjustment( elem, dimension, extra, isBorderBox, styles ) : 0; // Account for unreliable border-box dimensions by comparing offset* to computed and // faking a content-box to get border and padding (gh-3699) if ( isBorderBox && scrollboxSizeBuggy ) { subtract -= Math.ceil( elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - parseFloat( styles[ dimension ] ) - boxModelAdjustment( elem, dimension, "border", false, styles ) - 0.5 ); } // Convert to pixels if value adjustment is needed if ( subtract && ( matches = rcssNum.exec( value ) ) && ( matches[ 3 ] || "px" ) !== "px" ) { elem.style[ dimension ] = value; value = jQuery.css( elem, dimension ); } return setPositiveNumber( elem, value, subtract ); } }; } ); jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, function( elem, computed ) { if ( computed ) { return ( parseFloat( curCSS( elem, "marginLeft" ) ) || elem.getBoundingClientRect().left - swap( elem, { marginLeft: 0 }, function() { return elem.getBoundingClientRect().left; } ) ) + "px"; } } ); // These hooks are used by animate to expand properties jQuery.each( { margin: "", padding: "", border: "Width" }, function( prefix, suffix ) { jQuery.cssHooks[ prefix + suffix ] = { expand: function( value ) { var i = 0, expanded = {}, // Assumes a single number if not a string parts = typeof value === "string" ? value.split( " " ) : [ value ]; for ( ; i < 4; i++ ) { expanded[ prefix + cssExpand[ i ] + suffix ] = parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; } return expanded; } }; if ( prefix !== "margin" ) { jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; } } ); jQuery.fn.extend( { css: function( name, value ) { return access( this, function( elem, name, value ) { var styles, len, map = {}, i = 0; if ( Array.isArray( name ) ) { styles = getStyles( elem ); len = name.length; for ( ; i < len; i++ ) { map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); } return map; } return value !== undefined ? jQuery.style( elem, name, value ) : jQuery.css( elem, name ); }, name, value, arguments.length > 1 ); } } ); function Tween( elem, options, prop, end, easing ) { return new Tween.prototype.init( elem, options, prop, end, easing ); } jQuery.Tween = Tween; Tween.prototype = { constructor: Tween, init: function( elem, options, prop, end, easing, unit ) { this.elem = elem; this.prop = prop; this.easing = easing || jQuery.easing._default; this.options = options; this.start = this.now = this.cur(); this.end = end; this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); }, cur: function() { var hooks = Tween.propHooks[ this.prop ]; return hooks && hooks.get ? hooks.get( this ) : Tween.propHooks._default.get( this ); }, run: function( percent ) { var eased, hooks = Tween.propHooks[ this.prop ]; if ( this.options.duration ) { this.pos = eased = jQuery.easing[ this.easing ]( percent, this.options.duration * percent, 0, 1, this.options.duration ); } else { this.pos = eased = percent; } this.now = ( this.end - this.start ) * eased + this.start; if ( this.options.step ) { this.options.step.call( this.elem, this.now, this ); } if ( hooks && hooks.set ) { hooks.set( this ); } else { Tween.propHooks._default.set( this ); } return this; } }; Tween.prototype.init.prototype = Tween.prototype; Tween.propHooks = { _default: { get: function( tween ) { var result; // Use a property on the element directly when it is not a DOM element, // or when there is no matching style property that exists. if ( tween.elem.nodeType !== 1 || tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { return tween.elem[ tween.prop ]; } // Passing an empty string as a 3rd parameter to .css will automatically // attempt a parseFloat and fallback to a string if the parse fails. // Simple values such as "10px" are parsed to Float; // complex values such as "rotate(1rad)" are returned as-is. result = jQuery.css( tween.elem, tween.prop, "" ); // Empty strings, null, undefined and "auto" are converted to 0. return !result || result === "auto" ? 0 : result; }, set: function( tween ) { // Use step hook for back compat. // Use cssHook if its there. // Use .style if available and use plain properties where available. if ( jQuery.fx.step[ tween.prop ] ) { jQuery.fx.step[ tween.prop ]( tween ); } else if ( tween.elem.nodeType === 1 && ( jQuery.cssHooks[ tween.prop ] || tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); } else { tween.elem[ tween.prop ] = tween.now; } } } }; // Support: IE <=9 only // Panic based approach to setting things on disconnected nodes Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { set: function( tween ) { if ( tween.elem.nodeType && tween.elem.parentNode ) { tween.elem[ tween.prop ] = tween.now; } } }; jQuery.easing = { linear: function( p ) { return p; }, swing: function( p ) { return 0.5 - Math.cos( p * Math.PI ) / 2; }, _default: "swing" }; jQuery.fx = Tween.prototype.init; // Back compat <1.8 extension point jQuery.fx.step = {}; var fxNow, inProgress, rfxtypes = /^(?:toggle|show|hide)$/, rrun = /queueHooks$/; function schedule() { if ( inProgress ) { if ( document.hidden === false && window.requestAnimationFrame ) { window.requestAnimationFrame( schedule ); } else { window.setTimeout( schedule, jQuery.fx.interval ); } jQuery.fx.tick(); } } // Animations created synchronously will run synchronously function createFxNow() { window.setTimeout( function() { fxNow = undefined; } ); return ( fxNow = Date.now() ); } // Generate parameters to create a standard animation function genFx( type, includeWidth ) { var which, i = 0, attrs = { height: type }; // If we include width, step value is 1 to do all cssExpand values, // otherwise step value is 2 to skip over Left and Right includeWidth = includeWidth ? 1 : 0; for ( ; i < 4; i += 2 - includeWidth ) { which = cssExpand[ i ]; attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; } if ( includeWidth ) { attrs.opacity = attrs.width = type; } return attrs; } function createTween( value, prop, animation ) { var tween, collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), index = 0, length = collection.length; for ( ; index < length; index++ ) { if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { // We're done with this property return tween; } } } function defaultPrefilter( elem, props, opts ) { var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, isBox = "width" in props || "height" in props, anim = this, orig = {}, style = elem.style, hidden = elem.nodeType && isHiddenWithinTree( elem ), dataShow = dataPriv.get( elem, "fxshow" ); // Queue-skipping animations hijack the fx hooks if ( !opts.queue ) { hooks = jQuery._queueHooks( elem, "fx" ); if ( hooks.unqueued == null ) { hooks.unqueued = 0; oldfire = hooks.empty.fire; hooks.empty.fire = function() { if ( !hooks.unqueued ) { oldfire(); } }; } hooks.unqueued++; anim.always( function() { // Ensure the complete handler is called before this completes anim.always( function() { hooks.unqueued--; if ( !jQuery.queue( elem, "fx" ).length ) { hooks.empty.fire(); } } ); } ); } // Detect show/hide animations for ( prop in props ) { value = props[ prop ]; if ( rfxtypes.test( value ) ) { delete props[ prop ]; toggle = toggle || value === "toggle"; if ( value === ( hidden ? "hide" : "show" ) ) { // Pretend to be hidden if this is a "show" and // there is still data from a stopped show/hide if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { hidden = true; // Ignore all other no-op show/hide data } else { continue; } } orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); } } // Bail out if this is a no-op like .hide().hide() propTween = !jQuery.isEmptyObject( props ); if ( !propTween && jQuery.isEmptyObject( orig ) ) { return; } // Restrict "overflow" and "display" styles during box animations if ( isBox && elem.nodeType === 1 ) { // Support: IE <=9 - 11, Edge 12 - 15 // Record all 3 overflow attributes because IE does not infer the shorthand // from identically-valued overflowX and overflowY and Edge just mirrors // the overflowX value there. opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; // Identify a display type, preferring old show/hide data over the CSS cascade restoreDisplay = dataShow && dataShow.display; if ( restoreDisplay == null ) { restoreDisplay = dataPriv.get( elem, "display" ); } display = jQuery.css( elem, "display" ); if ( display === "none" ) { if ( restoreDisplay ) { display = restoreDisplay; } else { // Get nonempty value(s) by temporarily forcing visibility showHide( [ elem ], true ); restoreDisplay = elem.style.display || restoreDisplay; display = jQuery.css( elem, "display" ); showHide( [ elem ] ); } } // Animate inline elements as inline-block if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { if ( jQuery.css( elem, "float" ) === "none" ) { // Restore the original display value at the end of pure show/hide animations if ( !propTween ) { anim.done( function() { style.display = restoreDisplay; } ); if ( restoreDisplay == null ) { display = style.display; restoreDisplay = display === "none" ? "" : display; } } style.display = "inline-block"; } } } if ( opts.overflow ) { style.overflow = "hidden"; anim.always( function() { style.overflow = opts.overflow[ 0 ]; style.overflowX = opts.overflow[ 1 ]; style.overflowY = opts.overflow[ 2 ]; } ); } // Implement show/hide animations propTween = false; for ( prop in orig ) { // General show/hide setup for this element animation if ( !propTween ) { if ( dataShow ) { if ( "hidden" in dataShow ) { hidden = dataShow.hidden; } } else { dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); } // Store hidden/visible for toggle so `.stop().toggle()` "reverses" if ( toggle ) { dataShow.hidden = !hidden; } // Show elements before animating them if ( hidden ) { showHide( [ elem ], true ); } /* eslint-disable no-loop-func */ anim.done( function() { /* eslint-enable no-loop-func */ // The final step of a "hide" animation is actually hiding the element if ( !hidden ) { showHide( [ elem ] ); } dataPriv.remove( elem, "fxshow" ); for ( prop in orig ) { jQuery.style( elem, prop, orig[ prop ] ); } } ); } // Per-property setup propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); if ( !( prop in dataShow ) ) { dataShow[ prop ] = propTween.start; if ( hidden ) { propTween.end = propTween.start; propTween.start = 0; } } } } function propFilter( props, specialEasing ) { var index, name, easing, value, hooks; // camelCase, specialEasing and expand cssHook pass for ( index in props ) { name = camelCase( index ); easing = specialEasing[ name ]; value = props[ index ]; if ( Array.isArray( value ) ) { easing = value[ 1 ]; value = props[ index ] = value[ 0 ]; } if ( index !== name ) { props[ name ] = value; delete props[ index ]; } hooks = jQuery.cssHooks[ name ]; if ( hooks && "expand" in hooks ) { value = hooks.expand( value ); delete props[ name ]; // Not quite $.extend, this won't overwrite existing keys. // Reusing 'index' because we have the correct "name" for ( index in value ) { if ( !( index in props ) ) { props[ index ] = value[ index ]; specialEasing[ index ] = easing; } } } else { specialEasing[ name ] = easing; } } } function Animation( elem, properties, options ) { var result, stopped, index = 0, length = Animation.prefilters.length, deferred = jQuery.Deferred().always( function() { // Don't match elem in the :animated selector delete tick.elem; } ), tick = function() { if ( stopped ) { return false; } var currentTime = fxNow || createFxNow(), remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), // Support: Android 2.3 only // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497) temp = remaining / animation.duration || 0, percent = 1 - temp, index = 0, length = animation.tweens.length; for ( ; index < length; index++ ) { animation.tweens[ index ].run( percent ); } deferred.notifyWith( elem, [ animation, percent, remaining ] ); // If there's more to do, yield if ( percent < 1 && length ) { return remaining; } // If this was an empty animation, synthesize a final progress notification if ( !length ) { deferred.notifyWith( elem, [ animation, 1, 0 ] ); } // Resolve the animation and report its conclusion deferred.resolveWith( elem, [ animation ] ); return false; }, animation = deferred.promise( { elem: elem, props: jQuery.extend( {}, properties ), opts: jQuery.extend( true, { specialEasing: {}, easing: jQuery.easing._default }, options ), originalProperties: properties, originalOptions: options, startTime: fxNow || createFxNow(), duration: options.duration, tweens: [], createTween: function( prop, end ) { var tween = jQuery.Tween( elem, animation.opts, prop, end, animation.opts.specialEasing[ prop ] || animation.opts.easing ); animation.tweens.push( tween ); return tween; }, stop: function( gotoEnd ) { var index = 0, // If we are going to the end, we want to run all the tweens // otherwise we skip this part length = gotoEnd ? animation.tweens.length : 0; if ( stopped ) { return this; } stopped = true; for ( ; index < length; index++ ) { animation.tweens[ index ].run( 1 ); } // Resolve when we played the last frame; otherwise, reject if ( gotoEnd ) { deferred.notifyWith( elem, [ animation, 1, 0 ] ); deferred.resolveWith( elem, [ animation, gotoEnd ] ); } else { deferred.rejectWith( elem, [ animation, gotoEnd ] ); } return this; } } ), props = animation.props; propFilter( props, animation.opts.specialEasing ); for ( ; index < length; index++ ) { result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); if ( result ) { if ( isFunction( result.stop ) ) { jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = result.stop.bind( result ); } return result; } } jQuery.map( props, createTween, animation ); if ( isFunction( animation.opts.start ) ) { animation.opts.start.call( elem, animation ); } // Attach callbacks from options animation .progress( animation.opts.progress ) .done( animation.opts.done, animation.opts.complete ) .fail( animation.opts.fail ) .always( animation.opts.always ); jQuery.fx.timer( jQuery.extend( tick, { elem: elem, anim: animation, queue: animation.opts.queue } ) ); return animation; } jQuery.Animation = jQuery.extend( Animation, { tweeners: { "*": [ function( prop, value ) { var tween = this.createTween( prop, value ); adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); return tween; } ] }, tweener: function( props, callback ) { if ( isFunction( props ) ) { callback = props; props = [ "*" ]; } else { props = props.match( rnothtmlwhite ); } var prop, index = 0, length = props.length; for ( ; index < length; index++ ) { prop = props[ index ]; Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; Animation.tweeners[ prop ].unshift( callback ); } }, prefilters: [ defaultPrefilter ], prefilter: function( callback, prepend ) { if ( prepend ) { Animation.prefilters.unshift( callback ); } else { Animation.prefilters.push( callback ); } } } ); jQuery.speed = function( speed, easing, fn ) { var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { complete: fn || !fn && easing || isFunction( speed ) && speed, duration: speed, easing: fn && easing || easing && !isFunction( easing ) && easing }; // Go to the end state if fx are off if ( jQuery.fx.off ) { opt.duration = 0; } else { if ( typeof opt.duration !== "number" ) { if ( opt.duration in jQuery.fx.speeds ) { opt.duration = jQuery.fx.speeds[ opt.duration ]; } else { opt.duration = jQuery.fx.speeds._default; } } } // Normalize opt.queue - true/undefined/null -> "fx" if ( opt.queue == null || opt.queue === true ) { opt.queue = "fx"; } // Queueing opt.old = opt.complete; opt.complete = function() { if ( isFunction( opt.old ) ) { opt.old.call( this ); } if ( opt.queue ) { jQuery.dequeue( this, opt.queue ); } }; return opt; }; jQuery.fn.extend( { fadeTo: function( speed, to, easing, callback ) { // Show any hidden elements after setting opacity to 0 return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() // Animate to the value specified .end().animate( { opacity: to }, speed, easing, callback ); }, animate: function( prop, speed, easing, callback ) { var empty = jQuery.isEmptyObject( prop ), optall = jQuery.speed( speed, easing, callback ), doAnimation = function() { // Operate on a copy of prop so per-property easing won't be lost var anim = Animation( this, jQuery.extend( {}, prop ), optall ); // Empty animations, or finishing resolves immediately if ( empty || dataPriv.get( this, "finish" ) ) { anim.stop( true ); } }; doAnimation.finish = doAnimation; return empty || optall.queue === false ? this.each( doAnimation ) : this.queue( optall.queue, doAnimation ); }, stop: function( type, clearQueue, gotoEnd ) { var stopQueue = function( hooks ) { var stop = hooks.stop; delete hooks.stop; stop( gotoEnd ); }; if ( typeof type !== "string" ) { gotoEnd = clearQueue; clearQueue = type; type = undefined; } if ( clearQueue ) { this.queue( type || "fx", [] ); } return this.each( function() { var dequeue = true, index = type != null && type + "queueHooks", timers = jQuery.timers, data = dataPriv.get( this ); if ( index ) { if ( data[ index ] && data[ index ].stop ) { stopQueue( data[ index ] ); } } else { for ( index in data ) { if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { stopQueue( data[ index ] ); } } } for ( index = timers.length; index--; ) { if ( timers[ index ].elem === this && ( type == null || timers[ index ].queue === type ) ) { timers[ index ].anim.stop( gotoEnd ); dequeue = false; timers.splice( index, 1 ); } } // Start the next in the queue if the last step wasn't forced. // Timers currently will call their complete callbacks, which // will dequeue but only if they were gotoEnd. if ( dequeue || !gotoEnd ) { jQuery.dequeue( this, type ); } } ); }, finish: function( type ) { if ( type !== false ) { type = type || "fx"; } return this.each( function() { var index, data = dataPriv.get( this ), queue = data[ type + "queue" ], hooks = data[ type + "queueHooks" ], timers = jQuery.timers, length = queue ? queue.length : 0; // Enable finishing flag on private data data.finish = true; // Empty the queue first jQuery.queue( this, type, [] ); if ( hooks && hooks.stop ) { hooks.stop.call( this, true ); } // Look for any active animations, and finish them for ( index = timers.length; index--; ) { if ( timers[ index ].elem === this && timers[ index ].queue === type ) { timers[ index ].anim.stop( true ); timers.splice( index, 1 ); } } // Look for any animations in the old queue and finish them for ( index = 0; index < length; index++ ) { if ( queue[ index ] && queue[ index ].finish ) { queue[ index ].finish.call( this ); } } // Turn off finishing flag delete data.finish; } ); } } ); jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { var cssFn = jQuery.fn[ name ]; jQuery.fn[ name ] = function( speed, easing, callback ) { return speed == null || typeof speed === "boolean" ? cssFn.apply( this, arguments ) : this.animate( genFx( name, true ), speed, easing, callback ); }; } ); // Generate shortcuts for custom animations jQuery.each( { slideDown: genFx( "show" ), slideUp: genFx( "hide" ), slideToggle: genFx( "toggle" ), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function( name, props ) { jQuery.fn[ name ] = function( speed, easing, callback ) { return this.animate( props, speed, easing, callback ); }; } ); jQuery.timers = []; jQuery.fx.tick = function() { var timer, i = 0, timers = jQuery.timers; fxNow = Date.now(); for ( ; i < timers.length; i++ ) { timer = timers[ i ]; // Run the timer and safely remove it when done (allowing for external removal) if ( !timer() && timers[ i ] === timer ) { timers.splice( i--, 1 ); } } if ( !timers.length ) { jQuery.fx.stop(); } fxNow = undefined; }; jQuery.fx.timer = function( timer ) { jQuery.timers.push( timer ); jQuery.fx.start(); }; jQuery.fx.interval = 13; jQuery.fx.start = function() { if ( inProgress ) { return; } inProgress = true; schedule(); }; jQuery.fx.stop = function() { inProgress = null; }; jQuery.fx.speeds = { slow: 600, fast: 200, // Default speed _default: 400 }; // Based off of the plugin by Clint Helfers, with permission. jQuery.fn.delay = function( time, type ) { time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; type = type || "fx"; return this.queue( type, function( next, hooks ) { var timeout = window.setTimeout( next, time ); hooks.stop = function() { window.clearTimeout( timeout ); }; } ); }; ( function() { var input = document.createElement( "input" ), select = document.createElement( "select" ), opt = select.appendChild( document.createElement( "option" ) ); input.type = "checkbox"; // Support: Android <=4.3 only // Default value for a checkbox should be "on" support.checkOn = input.value !== ""; // Support: IE <=11 only // Must access selectedIndex to make default options select support.optSelected = opt.selected; // Support: IE <=11 only // An input loses its value after becoming a radio input = document.createElement( "input" ); input.value = "t"; input.type = "radio"; support.radioValue = input.value === "t"; } )(); var boolHook, attrHandle = jQuery.expr.attrHandle; jQuery.fn.extend( { attr: function( name, value ) { return access( this, jQuery.attr, name, value, arguments.length > 1 ); }, removeAttr: function( name ) { return this.each( function() { jQuery.removeAttr( this, name ); } ); } } ); jQuery.extend( { attr: function( elem, name, value ) { var ret, hooks, nType = elem.nodeType; // Don't get/set attributes on text, comment and attribute nodes if ( nType === 3 || nType === 8 || nType === 2 ) { return; } // Fallback to prop when attributes are not supported if ( typeof elem.getAttribute === "undefined" ) { return jQuery.prop( elem, name, value ); } // Attribute hooks are determined by the lowercase version // Grab necessary hook if one is defined if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { hooks = jQuery.attrHooks[ name.toLowerCase() ] || ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); } if ( value !== undefined ) { if ( value === null ) { jQuery.removeAttr( elem, name ); return; } if ( hooks && "set" in hooks && ( ret = hooks.set( elem, value, name ) ) !== undefined ) { return ret; } elem.setAttribute( name, value + "" ); return value; } if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { return ret; } ret = jQuery.find.attr( elem, name ); // Non-existent attributes return null, we normalize to undefined return ret == null ? undefined : ret; }, attrHooks: { type: { set: function( elem, value ) { if ( !support.radioValue && value === "radio" && nodeName( elem, "input" ) ) { var val = elem.value; elem.setAttribute( "type", value ); if ( val ) { elem.value = val; } return value; } } } }, removeAttr: function( elem, value ) { var name, i = 0, // Attribute names can contain non-HTML whitespace characters // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 attrNames = value && value.match( rnothtmlwhite ); if ( attrNames && elem.nodeType === 1 ) { while ( ( name = attrNames[ i++ ] ) ) { elem.removeAttribute( name ); } } } } ); // Hooks for boolean attributes boolHook = { set: function( elem, value, name ) { if ( value === false ) { // Remove boolean attributes when set to false jQuery.removeAttr( elem, name ); } else { elem.setAttribute( name, name ); } return name; } }; jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { var getter = attrHandle[ name ] || jQuery.find.attr; attrHandle[ name ] = function( elem, name, isXML ) { var ret, handle, lowercaseName = name.toLowerCase(); if ( !isXML ) { // Avoid an infinite loop by temporarily removing this function from the getter handle = attrHandle[ lowercaseName ]; attrHandle[ lowercaseName ] = ret; ret = getter( elem, name, isXML ) != null ? lowercaseName : null; attrHandle[ lowercaseName ] = handle; } return ret; }; } ); var rfocusable = /^(?:input|select|textarea|button)$/i, rclickable = /^(?:a|area)$/i; jQuery.fn.extend( { prop: function( name, value ) { return access( this, jQuery.prop, name, value, arguments.length > 1 ); }, removeProp: function( name ) { return this.each( function() { delete this[ jQuery.propFix[ name ] || name ]; } ); } } ); jQuery.extend( { prop: function( elem, name, value ) { var ret, hooks, nType = elem.nodeType; // Don't get/set properties on text, comment and attribute nodes if ( nType === 3 || nType === 8 || nType === 2 ) { return; } if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { // Fix name and attach hooks name = jQuery.propFix[ name ] || name; hooks = jQuery.propHooks[ name ]; } if ( value !== undefined ) { if ( hooks && "set" in hooks && ( ret = hooks.set( elem, value, name ) ) !== undefined ) { return ret; } return ( elem[ name ] = value ); } if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { return ret; } return elem[ name ]; }, propHooks: { tabIndex: { get: function( elem ) { // Support: IE <=9 - 11 only // elem.tabIndex doesn't always return the // correct value when it hasn't been explicitly set // Use proper attribute retrieval (trac-12072) var tabindex = jQuery.find.attr( elem, "tabindex" ); if ( tabindex ) { return parseInt( tabindex, 10 ); } if ( rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ) { return 0; } return -1; } } }, propFix: { "for": "htmlFor", "class": "className" } } ); // Support: IE <=11 only // Accessing the selectedIndex property // forces the browser to respect setting selected // on the option // The getter ensures a default option is selected // when in an optgroup // eslint rule "no-unused-expressions" is disabled for this code // since it considers such accessions noop if ( !support.optSelected ) { jQuery.propHooks.selected = { get: function( elem ) { /* eslint no-unused-expressions: "off" */ var parent = elem.parentNode; if ( parent && parent.parentNode ) { parent.parentNode.selectedIndex; } return null; }, set: function( elem ) { /* eslint no-unused-expressions: "off" */ var parent = elem.parentNode; if ( parent ) { parent.selectedIndex; if ( parent.parentNode ) { parent.parentNode.selectedIndex; } } } }; } jQuery.each( [ "tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable" ], function() { jQuery.propFix[ this.toLowerCase() ] = this; } ); // Strip and collapse whitespace according to HTML spec // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace function stripAndCollapse( value ) { var tokens = value.match( rnothtmlwhite ) || []; return tokens.join( " " ); } function getClass( elem ) { return elem.getAttribute && elem.getAttribute( "class" ) || ""; } function classesToArray( value ) { if ( Array.isArray( value ) ) { return value; } if ( typeof value === "string" ) { return value.match( rnothtmlwhite ) || []; } return []; } jQuery.fn.extend( { addClass: function( value ) { var classNames, cur, curValue, className, i, finalValue; if ( isFunction( value ) ) { return this.each( function( j ) { jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); } ); } classNames = classesToArray( value ); if ( classNames.length ) { return this.each( function() { curValue = getClass( this ); cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); if ( cur ) { for ( i = 0; i < classNames.length; i++ ) { className = classNames[ i ]; if ( cur.indexOf( " " + className + " " ) < 0 ) { cur += className + " "; } } // Only assign if different to avoid unneeded rendering. finalValue = stripAndCollapse( cur ); if ( curValue !== finalValue ) { this.setAttribute( "class", finalValue ); } } } ); } return this; }, removeClass: function( value ) { var classNames, cur, curValue, className, i, finalValue; if ( isFunction( value ) ) { return this.each( function( j ) { jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); } ); } if ( !arguments.length ) { return this.attr( "class", "" ); } classNames = classesToArray( value ); if ( classNames.length ) { return this.each( function() { curValue = getClass( this ); // This expression is here for better compressibility (see addClass) cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); if ( cur ) { for ( i = 0; i < classNames.length; i++ ) { className = classNames[ i ]; // Remove *all* instances while ( cur.indexOf( " " + className + " " ) > -1 ) { cur = cur.replace( " " + className + " ", " " ); } } // Only assign if different to avoid unneeded rendering. finalValue = stripAndCollapse( cur ); if ( curValue !== finalValue ) { this.setAttribute( "class", finalValue ); } } } ); } return this; }, toggleClass: function( value, stateVal ) { var classNames, className, i, self, type = typeof value, isValidValue = type === "string" || Array.isArray( value ); if ( isFunction( value ) ) { return this.each( function( i ) { jQuery( this ).toggleClass( value.call( this, i, getClass( this ), stateVal ), stateVal ); } ); } if ( typeof stateVal === "boolean" && isValidValue ) { return stateVal ? this.addClass( value ) : this.removeClass( value ); } classNames = classesToArray( value ); return this.each( function() { if ( isValidValue ) { // Toggle individual class names self = jQuery( this ); for ( i = 0; i < classNames.length; i++ ) { className = classNames[ i ]; // Check each className given, space separated list if ( self.hasClass( className ) ) { self.removeClass( className ); } else { self.addClass( className ); } } // Toggle whole class name } else if ( value === undefined || type === "boolean" ) { className = getClass( this ); if ( className ) { // Store className if set dataPriv.set( this, "__className__", className ); } // If the element has a class name or if we're passed `false`, // then remove the whole classname (if there was one, the above saved it). // Otherwise bring back whatever was previously saved (if anything), // falling back to the empty string if nothing was stored. if ( this.setAttribute ) { this.setAttribute( "class", className || value === false ? "" : dataPriv.get( this, "__className__" ) || "" ); } } } ); }, hasClass: function( selector ) { var className, elem, i = 0; className = " " + selector + " "; while ( ( elem = this[ i++ ] ) ) { if ( elem.nodeType === 1 && ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { return true; } } return false; } } ); var rreturn = /\r/g; jQuery.fn.extend( { val: function( value ) { var hooks, ret, valueIsFunction, elem = this[ 0 ]; if ( !arguments.length ) { if ( elem ) { hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; if ( hooks && "get" in hooks && ( ret = hooks.get( elem, "value" ) ) !== undefined ) { return ret; } ret = elem.value; // Handle most common string cases if ( typeof ret === "string" ) { return ret.replace( rreturn, "" ); } // Handle cases where value is null/undef or number return ret == null ? "" : ret; } return; } valueIsFunction = isFunction( value ); return this.each( function( i ) { var val; if ( this.nodeType !== 1 ) { return; } if ( valueIsFunction ) { val = value.call( this, i, jQuery( this ).val() ); } else { val = value; } // Treat null/undefined as ""; convert numbers to string if ( val == null ) { val = ""; } else if ( typeof val === "number" ) { val += ""; } else if ( Array.isArray( val ) ) { val = jQuery.map( val, function( value ) { return value == null ? "" : value + ""; } ); } hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; // If set returns undefined, fall back to normal setting if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { this.value = val; } } ); } } ); jQuery.extend( { valHooks: { option: { get: function( elem ) { var val = jQuery.find.attr( elem, "value" ); return val != null ? val : // Support: IE <=10 - 11 only // option.text throws exceptions (trac-14686, trac-14858) // Strip and collapse whitespace // https://html.spec.whatwg.org/#strip-and-collapse-whitespace stripAndCollapse( jQuery.text( elem ) ); } }, select: { get: function( elem ) { var value, option, i, options = elem.options, index = elem.selectedIndex, one = elem.type === "select-one", values = one ? null : [], max = one ? index + 1 : options.length; if ( index < 0 ) { i = max; } else { i = one ? index : 0; } // Loop through all the selected options for ( ; i < max; i++ ) { option = options[ i ]; // Support: IE <=9 only // IE8-9 doesn't update selected after form reset (trac-2551) if ( ( option.selected || i === index ) && // Don't return options that are disabled or in a disabled optgroup !option.disabled && ( !option.parentNode.disabled || !nodeName( option.parentNode, "optgroup" ) ) ) { // Get the specific value for the option value = jQuery( option ).val(); // We don't need an array for one selects if ( one ) { return value; } // Multi-Selects return an array values.push( value ); } } return values; }, set: function( elem, value ) { var optionSet, option, options = elem.options, values = jQuery.makeArray( value ), i = options.length; while ( i-- ) { option = options[ i ]; /* eslint-disable no-cond-assign */ if ( option.selected = jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 ) { optionSet = true; } /* eslint-enable no-cond-assign */ } // Force browsers to behave consistently when non-matching value is set if ( !optionSet ) { elem.selectedIndex = -1; } return values; } } } } ); // Radios and checkboxes getter/setter jQuery.each( [ "radio", "checkbox" ], function() { jQuery.valHooks[ this ] = { set: function( elem, value ) { if ( Array.isArray( value ) ) { return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); } } }; if ( !support.checkOn ) { jQuery.valHooks[ this ].get = function( elem ) { return elem.getAttribute( "value" ) === null ? "on" : elem.value; }; } } ); // Return jQuery for attributes-only inclusion var location = window.location; var nonce = { guid: Date.now() }; var rquery = ( /\?/ ); // Cross-browser xml parsing jQuery.parseXML = function( data ) { var xml, parserErrorElem; if ( !data || typeof data !== "string" ) { return null; } // Support: IE 9 - 11 only // IE throws on parseFromString with invalid input. try { xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); } catch ( e ) {} parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; if ( !xml || parserErrorElem ) { jQuery.error( "Invalid XML: " + ( parserErrorElem ? jQuery.map( parserErrorElem.childNodes, function( el ) { return el.textContent; } ).join( "\n" ) : data ) ); } return xml; }; var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, stopPropagationCallback = function( e ) { e.stopPropagation(); }; jQuery.extend( jQuery.event, { trigger: function( event, data, elem, onlyHandlers ) { var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, eventPath = [ elem || document ], type = hasOwn.call( event, "type" ) ? event.type : event, namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; cur = lastElement = tmp = elem = elem || document; // Don't do events on text and comment nodes if ( elem.nodeType === 3 || elem.nodeType === 8 ) { return; } // focus/blur morphs to focusin/out; ensure we're not firing them right now if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { return; } if ( type.indexOf( "." ) > -1 ) { // Namespaced trigger; create a regexp to match event type in handle() namespaces = type.split( "." ); type = namespaces.shift(); namespaces.sort(); } ontype = type.indexOf( ":" ) < 0 && "on" + type; // Caller can pass in a jQuery.Event object, Object, or just an event type string event = event[ jQuery.expando ] ? event : new jQuery.Event( type, typeof event === "object" && event ); // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) event.isTrigger = onlyHandlers ? 2 : 3; event.namespace = namespaces.join( "." ); event.rnamespace = event.namespace ? new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : null; // Clean up the event in case it is being reused event.result = undefined; if ( !event.target ) { event.target = elem; } // Clone any incoming data and prepend the event, creating the handler arg list data = data == null ? [ event ] : jQuery.makeArray( data, [ event ] ); // Allow special events to draw outside the lines special = jQuery.event.special[ type ] || {}; if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { return; } // Determine event propagation path in advance, per W3C events spec (trac-9951) // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724) if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { bubbleType = special.delegateType || type; if ( !rfocusMorph.test( bubbleType + type ) ) { cur = cur.parentNode; } for ( ; cur; cur = cur.parentNode ) { eventPath.push( cur ); tmp = cur; } // Only add window if we got to document (e.g., not plain obj or detached DOM) if ( tmp === ( elem.ownerDocument || document ) ) { eventPath.push( tmp.defaultView || tmp.parentWindow || window ); } } // Fire handlers on the event path i = 0; while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { lastElement = cur; event.type = i > 1 ? bubbleType : special.bindType || type; // jQuery handler handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && dataPriv.get( cur, "handle" ); if ( handle ) { handle.apply( cur, data ); } // Native handler handle = ontype && cur[ ontype ]; if ( handle && handle.apply && acceptData( cur ) ) { event.result = handle.apply( cur, data ); if ( event.result === false ) { event.preventDefault(); } } } event.type = type; // If nobody prevented the default action, do it now if ( !onlyHandlers && !event.isDefaultPrevented() ) { if ( ( !special._default || special._default.apply( eventPath.pop(), data ) === false ) && acceptData( elem ) ) { // Call a native DOM method on the target with the same name as the event. // Don't do default actions on window, that's where global variables be (trac-6170) if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { // Don't re-trigger an onFOO event when we call its FOO() method tmp = elem[ ontype ]; if ( tmp ) { elem[ ontype ] = null; } // Prevent re-triggering of the same event, since we already bubbled it above jQuery.event.triggered = type; if ( event.isPropagationStopped() ) { lastElement.addEventListener( type, stopPropagationCallback ); } elem[ type ](); if ( event.isPropagationStopped() ) { lastElement.removeEventListener( type, stopPropagationCallback ); } jQuery.event.triggered = undefined; if ( tmp ) { elem[ ontype ] = tmp; } } } } return event.result; }, // Piggyback on a donor event to simulate a different one // Used only for `focus(in | out)` events simulate: function( type, elem, event ) { var e = jQuery.extend( new jQuery.Event(), event, { type: type, isSimulated: true } ); jQuery.event.trigger( e, null, elem ); } } ); jQuery.fn.extend( { trigger: function( type, data ) { return this.each( function() { jQuery.event.trigger( type, data, this ); } ); }, triggerHandler: function( type, data ) { var elem = this[ 0 ]; if ( elem ) { return jQuery.event.trigger( type, data, elem, true ); } } } ); var rbracket = /\[\]$/, rCRLF = /\r?\n/g, rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, rsubmittable = /^(?:input|select|textarea|keygen)/i; function buildParams( prefix, obj, traditional, add ) { var name; if ( Array.isArray( obj ) ) { // Serialize array item. jQuery.each( obj, function( i, v ) { if ( traditional || rbracket.test( prefix ) ) { // Treat each array item as a scalar. add( prefix, v ); } else { // Item is non-scalar (array or object), encode its numeric index. buildParams( prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", v, traditional, add ); } } ); } else if ( !traditional && toType( obj ) === "object" ) { // Serialize object item. for ( name in obj ) { buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); } } else { // Serialize scalar item. add( prefix, obj ); } } // Serialize an array of form elements or a set of // key/values into a query string jQuery.param = function( a, traditional ) { var prefix, s = [], add = function( key, valueOrFunction ) { // If value is a function, invoke it and use its return value var value = isFunction( valueOrFunction ) ? valueOrFunction() : valueOrFunction; s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value == null ? "" : value ); }; if ( a == null ) { return ""; } // If an array was passed in, assume that it is an array of form elements. if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { // Serialize the form elements jQuery.each( a, function() { add( this.name, this.value ); } ); } else { // If traditional, encode the "old" way (the way 1.3.2 or older // did it), otherwise encode params recursively. for ( prefix in a ) { buildParams( prefix, a[ prefix ], traditional, add ); } } // Return the resulting serialization return s.join( "&" ); }; jQuery.fn.extend( { serialize: function() { return jQuery.param( this.serializeArray() ); }, serializeArray: function() { return this.map( function() { // Can add propHook for "elements" to filter or add form elements var elements = jQuery.prop( this, "elements" ); return elements ? jQuery.makeArray( elements ) : this; } ).filter( function() { var type = this.type; // Use .is( ":disabled" ) so that fieldset[disabled] works return this.name && !jQuery( this ).is( ":disabled" ) && rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && ( this.checked || !rcheckableType.test( type ) ); } ).map( function( _i, elem ) { var val = jQuery( this ).val(); if ( val == null ) { return null; } if ( Array.isArray( val ) ) { return jQuery.map( val, function( val ) { return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; } ); } return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; } ).get(); } } ); var r20 = /%20/g, rhash = /#.*$/, rantiCache = /([?&])_=[^&]*/, rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, // trac-7653, trac-8125, trac-8152: local protocol detection rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, rnoContent = /^(?:GET|HEAD)$/, rprotocol = /^\/\//, /* Prefilters * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) * 2) These are called: * - BEFORE asking for a transport * - AFTER param serialization (s.data is a string if s.processData is true) * 3) key is the dataType * 4) the catchall symbol "*" can be used * 5) execution will start with transport dataType and THEN continue down to "*" if needed */ prefilters = {}, /* Transports bindings * 1) key is the dataType * 2) the catchall symbol "*" can be used * 3) selection will start with transport dataType and THEN go to "*" if needed */ transports = {}, // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression allTypes = "*/".concat( "*" ), // Anchor tag for parsing the document origin originAnchor = document.createElement( "a" ); originAnchor.href = location.href; // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport function addToPrefiltersOrTransports( structure ) { // dataTypeExpression is optional and defaults to "*" return function( dataTypeExpression, func ) { if ( typeof dataTypeExpression !== "string" ) { func = dataTypeExpression; dataTypeExpression = "*"; } var dataType, i = 0, dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; if ( isFunction( func ) ) { // For each dataType in the dataTypeExpression while ( ( dataType = dataTypes[ i++ ] ) ) { // Prepend if requested if ( dataType[ 0 ] === "+" ) { dataType = dataType.slice( 1 ) || "*"; ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); // Otherwise append } else { ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); } } } }; } // Base inspection function for prefilters and transports function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { var inspected = {}, seekingTransport = ( structure === transports ); function inspect( dataType ) { var selected; inspected[ dataType ] = true; jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); if ( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) { options.dataTypes.unshift( dataTypeOrTransport ); inspect( dataTypeOrTransport ); return false; } else if ( seekingTransport ) { return !( selected = dataTypeOrTransport ); } } ); return selected; } return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); } // A special extend for ajax options // that takes "flat" options (not to be deep extended) // Fixes trac-9887 function ajaxExtend( target, src ) { var key, deep, flatOptions = jQuery.ajaxSettings.flatOptions || {}; for ( key in src ) { if ( src[ key ] !== undefined ) { ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; } } if ( deep ) { jQuery.extend( true, target, deep ); } return target; } /* Handles responses to an ajax request: * - finds the right dataType (mediates between content-type and expected dataType) * - returns the corresponding response */ function ajaxHandleResponses( s, jqXHR, responses ) { var ct, type, finalDataType, firstDataType, contents = s.contents, dataTypes = s.dataTypes; // Remove auto dataType and get content-type in the process while ( dataTypes[ 0 ] === "*" ) { dataTypes.shift(); if ( ct === undefined ) { ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); } } // Check if we're dealing with a known content-type if ( ct ) { for ( type in contents ) { if ( contents[ type ] && contents[ type ].test( ct ) ) { dataTypes.unshift( type ); break; } } } // Check to see if we have a response for the expected dataType if ( dataTypes[ 0 ] in responses ) { finalDataType = dataTypes[ 0 ]; } else { // Try convertible dataTypes for ( type in responses ) { if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { finalDataType = type; break; } if ( !firstDataType ) { firstDataType = type; } } // Or just use first one finalDataType = finalDataType || firstDataType; } // If we found a dataType // We add the dataType to the list if needed // and return the corresponding response if ( finalDataType ) { if ( finalDataType !== dataTypes[ 0 ] ) { dataTypes.unshift( finalDataType ); } return responses[ finalDataType ]; } } /* Chain conversions given the request and the original response * Also sets the responseXXX fields on the jqXHR instance */ function ajaxConvert( s, response, jqXHR, isSuccess ) { var conv2, current, conv, tmp, prev, converters = {}, // Work with a copy of dataTypes in case we need to modify it for conversion dataTypes = s.dataTypes.slice(); // Create converters map with lowercased keys if ( dataTypes[ 1 ] ) { for ( conv in s.converters ) { converters[ conv.toLowerCase() ] = s.converters[ conv ]; } } current = dataTypes.shift(); // Convert to each sequential dataType while ( current ) { if ( s.responseFields[ current ] ) { jqXHR[ s.responseFields[ current ] ] = response; } // Apply the dataFilter if provided if ( !prev && isSuccess && s.dataFilter ) { response = s.dataFilter( response, s.dataType ); } prev = current; current = dataTypes.shift(); if ( current ) { // There's only work to do if current dataType is non-auto if ( current === "*" ) { current = prev; // Convert response if prev dataType is non-auto and differs from current } else if ( prev !== "*" && prev !== current ) { // Seek a direct converter conv = converters[ prev + " " + current ] || converters[ "* " + current ]; // If none found, seek a pair if ( !conv ) { for ( conv2 in converters ) { // If conv2 outputs current tmp = conv2.split( " " ); if ( tmp[ 1 ] === current ) { // If prev can be converted to accepted input conv = converters[ prev + " " + tmp[ 0 ] ] || converters[ "* " + tmp[ 0 ] ]; if ( conv ) { // Condense equivalence converters if ( conv === true ) { conv = converters[ conv2 ]; // Otherwise, insert the intermediate dataType } else if ( converters[ conv2 ] !== true ) { current = tmp[ 0 ]; dataTypes.unshift( tmp[ 1 ] ); } break; } } } } // Apply converter (if not an equivalence) if ( conv !== true ) { // Unless errors are allowed to bubble, catch and return them if ( conv && s.throws ) { response = conv( response ); } else { try { response = conv( response ); } catch ( e ) { return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; } } } } } } return { state: "success", data: response }; } jQuery.extend( { // Counter for holding the number of active queries active: 0, // Last-Modified header cache for next request lastModified: {}, etag: {}, ajaxSettings: { url: location.href, type: "GET", isLocal: rlocalProtocol.test( location.protocol ), global: true, processData: true, async: true, contentType: "application/x-www-form-urlencoded; charset=UTF-8", /* timeout: 0, data: null, dataType: null, username: null, password: null, cache: null, throws: false, traditional: false, headers: {}, */ accepts: { "*": allTypes, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, // Data converters // Keys separate source (or catchall "*") and destination types with a single space converters: { // Convert anything to text "* text": String, // Text to html (true = no transformation) "text html": true, // Evaluate text as a json expression "text json": JSON.parse, // Parse text as xml "text xml": jQuery.parseXML }, // For options that shouldn't be deep extended: // you can add your own custom options here if // and when you create one that shouldn't be // deep extended (see ajaxExtend) flatOptions: { url: true, context: true } }, // Creates a full fledged settings object into target // with both ajaxSettings and settings fields. // If target is omitted, writes into ajaxSettings. ajaxSetup: function( target, settings ) { return settings ? // Building a settings object ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : // Extending ajaxSettings ajaxExtend( jQuery.ajaxSettings, target ); }, ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), ajaxTransport: addToPrefiltersOrTransports( transports ), // Main method ajax: function( url, options ) { // If url is an object, simulate pre-1.5 signature if ( typeof url === "object" ) { options = url; url = undefined; } // Force options to be an object options = options || {}; var transport, // URL without anti-cache param cacheURL, // Response headers responseHeadersString, responseHeaders, // timeout handle timeoutTimer, // Url cleanup var urlAnchor, // Request state (becomes false upon send and true upon completion) completed, // To know if global events are to be dispatched fireGlobals, // Loop variable i, // uncached part of the url uncached, // Create the final options object s = jQuery.ajaxSetup( {}, options ), // Callbacks context callbackContext = s.context || s, // Context for global events is callbackContext if it is a DOM node or jQuery collection globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? jQuery( callbackContext ) : jQuery.event, // Deferreds deferred = jQuery.Deferred(), completeDeferred = jQuery.Callbacks( "once memory" ), // Status-dependent callbacks statusCode = s.statusCode || {}, // Headers (they are sent all at once) requestHeaders = {}, requestHeadersNames = {}, // Default abort message strAbort = "canceled", // Fake xhr jqXHR = { readyState: 0, // Builds headers hashtable if needed getResponseHeader: function( key ) { var match; if ( completed ) { if ( !responseHeaders ) { responseHeaders = {}; while ( ( match = rheaders.exec( responseHeadersString ) ) ) { responseHeaders[ match[ 1 ].toLowerCase() + " " ] = ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) .concat( match[ 2 ] ); } } match = responseHeaders[ key.toLowerCase() + " " ]; } return match == null ? null : match.join( ", " ); }, // Raw string getAllResponseHeaders: function() { return completed ? responseHeadersString : null; }, // Caches the header setRequestHeader: function( name, value ) { if ( completed == null ) { name = requestHeadersNames[ name.toLowerCase() ] = requestHeadersNames[ name.toLowerCase() ] || name; requestHeaders[ name ] = value; } return this; }, // Overrides response content-type header overrideMimeType: function( type ) { if ( completed == null ) { s.mimeType = type; } return this; }, // Status-dependent callbacks statusCode: function( map ) { var code; if ( map ) { if ( completed ) { // Execute the appropriate callbacks jqXHR.always( map[ jqXHR.status ] ); } else { // Lazy-add the new callbacks in a way that preserves old ones for ( code in map ) { statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; } } } return this; }, // Cancel the request abort: function( statusText ) { var finalText = statusText || strAbort; if ( transport ) { transport.abort( finalText ); } done( 0, finalText ); return this; } }; // Attach deferreds deferred.promise( jqXHR ); // Add protocol if not provided (prefilters might expect it) // Handle falsy url in the settings object (trac-10093: consistency with old signature) // We also use the url parameter if available s.url = ( ( url || s.url || location.href ) + "" ) .replace( rprotocol, location.protocol + "//" ); // Alias method option to type as per ticket trac-12004 s.type = options.method || options.type || s.method || s.type; // Extract dataTypes list s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; // A cross-domain request is in order when the origin doesn't match the current origin. if ( s.crossDomain == null ) { urlAnchor = document.createElement( "a" ); // Support: IE <=8 - 11, Edge 12 - 15 // IE throws exception on accessing the href property if url is malformed, // e.g. http://example.com:80x/ try { urlAnchor.href = s.url; // Support: IE <=8 - 11 only // Anchor's host property isn't correctly set when s.url is relative urlAnchor.href = urlAnchor.href; s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== urlAnchor.protocol + "//" + urlAnchor.host; } catch ( e ) { // If there is an error parsing the URL, assume it is crossDomain, // it can be rejected by the transport if it is invalid s.crossDomain = true; } } // Convert data if not already a string if ( s.data && s.processData && typeof s.data !== "string" ) { s.data = jQuery.param( s.data, s.traditional ); } // Apply prefilters inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); // If request was aborted inside a prefilter, stop there if ( completed ) { return jqXHR; } // We can fire global events as of now if asked to // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118) fireGlobals = jQuery.event && s.global; // Watch for a new set of requests if ( fireGlobals && jQuery.active++ === 0 ) { jQuery.event.trigger( "ajaxStart" ); } // Uppercase the type s.type = s.type.toUpperCase(); // Determine if request has content s.hasContent = !rnoContent.test( s.type ); // Save the URL in case we're toying with the If-Modified-Since // and/or If-None-Match header later on // Remove hash to simplify url manipulation cacheURL = s.url.replace( rhash, "" ); // More options handling for requests with no content if ( !s.hasContent ) { // Remember the hash so we can put it back uncached = s.url.slice( cacheURL.length ); // If data is available and should be processed, append data to url if ( s.data && ( s.processData || typeof s.data === "string" ) ) { cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; // trac-9682: remove data so that it's not used in an eventual retry delete s.data; } // Add or update anti-cache param if needed if ( s.cache === false ) { cacheURL = cacheURL.replace( rantiCache, "$1" ); uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + uncached; } // Put hash and anti-cache on the URL that will be requested (gh-1732) s.url = cacheURL + uncached; // Change '%20' to '+' if this is encoded form body content (gh-2658) } else if ( s.data && s.processData && ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { s.data = s.data.replace( r20, "+" ); } // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. if ( s.ifModified ) { if ( jQuery.lastModified[ cacheURL ] ) { jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); } if ( jQuery.etag[ cacheURL ] ) { jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); } } // Set the correct header, if data is being sent if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { jqXHR.setRequestHeader( "Content-Type", s.contentType ); } // Set the Accepts header for the server, depending on the dataType jqXHR.setRequestHeader( "Accept", s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? s.accepts[ s.dataTypes[ 0 ] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : s.accepts[ "*" ] ); // Check for headers option for ( i in s.headers ) { jqXHR.setRequestHeader( i, s.headers[ i ] ); } // Allow custom headers/mimetypes and early abort if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { // Abort if not done already and return return jqXHR.abort(); } // Aborting is no longer a cancellation strAbort = "abort"; // Install callbacks on deferreds completeDeferred.add( s.complete ); jqXHR.done( s.success ); jqXHR.fail( s.error ); // Get transport transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); // If no transport, we auto-abort if ( !transport ) { done( -1, "No Transport" ); } else { jqXHR.readyState = 1; // Send global event if ( fireGlobals ) { globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); } // If request was aborted inside ajaxSend, stop there if ( completed ) { return jqXHR; } // Timeout if ( s.async && s.timeout > 0 ) { timeoutTimer = window.setTimeout( function() { jqXHR.abort( "timeout" ); }, s.timeout ); } try { completed = false; transport.send( requestHeaders, done ); } catch ( e ) { // Rethrow post-completion exceptions if ( completed ) { throw e; } // Propagate others as results done( -1, e ); } } // Callback for when everything is done function done( status, nativeStatusText, responses, headers ) { var isSuccess, success, error, response, modified, statusText = nativeStatusText; // Ignore repeat invocations if ( completed ) { return; } completed = true; // Clear timeout if it exists if ( timeoutTimer ) { window.clearTimeout( timeoutTimer ); } // Dereference transport for early garbage collection // (no matter how long the jqXHR object will be used) transport = undefined; // Cache response headers responseHeadersString = headers || ""; // Set readyState jqXHR.readyState = status > 0 ? 4 : 0; // Determine if successful isSuccess = status >= 200 && status < 300 || status === 304; // Get response data if ( responses ) { response = ajaxHandleResponses( s, jqXHR, responses ); } // Use a noop converter for missing script but not if jsonp if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 && jQuery.inArray( "json", s.dataTypes ) < 0 ) { s.converters[ "text script" ] = function() {}; } // Convert no matter what (that way responseXXX fields are always set) response = ajaxConvert( s, response, jqXHR, isSuccess ); // If successful, handle type chaining if ( isSuccess ) { // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. if ( s.ifModified ) { modified = jqXHR.getResponseHeader( "Last-Modified" ); if ( modified ) { jQuery.lastModified[ cacheURL ] = modified; } modified = jqXHR.getResponseHeader( "etag" ); if ( modified ) { jQuery.etag[ cacheURL ] = modified; } } // if no content if ( status === 204 || s.type === "HEAD" ) { statusText = "nocontent"; // if not modified } else if ( status === 304 ) { statusText = "notmodified"; // If we have data, let's convert it } else { statusText = response.state; success = response.data; error = response.error; isSuccess = !error; } } else { // Extract error from statusText and normalize for non-aborts error = statusText; if ( status || !statusText ) { statusText = "error"; if ( status < 0 ) { status = 0; } } } // Set data for the fake xhr object jqXHR.status = status; jqXHR.statusText = ( nativeStatusText || statusText ) + ""; // Success/Error if ( isSuccess ) { deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); } else { deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); } // Status-dependent callbacks jqXHR.statusCode( statusCode ); statusCode = undefined; if ( fireGlobals ) { globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", [ jqXHR, s, isSuccess ? success : error ] ); } // Complete completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); if ( fireGlobals ) { globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); // Handle the global AJAX counter if ( !( --jQuery.active ) ) { jQuery.event.trigger( "ajaxStop" ); } } } return jqXHR; }, getJSON: function( url, data, callback ) { return jQuery.get( url, data, callback, "json" ); }, getScript: function( url, callback ) { return jQuery.get( url, undefined, callback, "script" ); } } ); jQuery.each( [ "get", "post" ], function( _i, method ) { jQuery[ method ] = function( url, data, callback, type ) { // Shift arguments if data argument was omitted if ( isFunction( data ) ) { type = type || callback; callback = data; data = undefined; } // The url can be an options object (which then must have .url) return jQuery.ajax( jQuery.extend( { url: url, type: method, dataType: type, data: data, success: callback }, jQuery.isPlainObject( url ) && url ) ); }; } ); jQuery.ajaxPrefilter( function( s ) { var i; for ( i in s.headers ) { if ( i.toLowerCase() === "content-type" ) { s.contentType = s.headers[ i ] || ""; } } } ); jQuery._evalUrl = function( url, options, doc ) { return jQuery.ajax( { url: url, // Make this explicit, since user can override this through ajaxSetup (trac-11264) type: "GET", dataType: "script", cache: true, async: false, global: false, // Only evaluate the response if it is successful (gh-4126) // dataFilter is not invoked for failure responses, so using it instead // of the default converter is kludgy but it works. converters: { "text script": function() {} }, dataFilter: function( response ) { jQuery.globalEval( response, options, doc ); } } ); }; jQuery.fn.extend( { wrapAll: function( html ) { var wrap; if ( this[ 0 ] ) { if ( isFunction( html ) ) { html = html.call( this[ 0 ] ); } // The elements to wrap the target around wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); if ( this[ 0 ].parentNode ) { wrap.insertBefore( this[ 0 ] ); } wrap.map( function() { var elem = this; while ( elem.firstElementChild ) { elem = elem.firstElementChild; } return elem; } ).append( this ); } return this; }, wrapInner: function( html ) { if ( isFunction( html ) ) { return this.each( function( i ) { jQuery( this ).wrapInner( html.call( this, i ) ); } ); } return this.each( function() { var self = jQuery( this ), contents = self.contents(); if ( contents.length ) { contents.wrapAll( html ); } else { self.append( html ); } } ); }, wrap: function( html ) { var htmlIsFunction = isFunction( html ); return this.each( function( i ) { jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); } ); }, unwrap: function( selector ) { this.parent( selector ).not( "body" ).each( function() { jQuery( this ).replaceWith( this.childNodes ); } ); return this; } } ); jQuery.expr.pseudos.hidden = function( elem ) { return !jQuery.expr.pseudos.visible( elem ); }; jQuery.expr.pseudos.visible = function( elem ) { return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); }; jQuery.ajaxSettings.xhr = function() { try { return new window.XMLHttpRequest(); } catch ( e ) {} }; var xhrSuccessStatus = { // File protocol always yields status code 0, assume 200 0: 200, // Support: IE <=9 only // trac-1450: sometimes IE returns 1223 when it should be 204 1223: 204 }, xhrSupported = jQuery.ajaxSettings.xhr(); support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); support.ajax = xhrSupported = !!xhrSupported; jQuery.ajaxTransport( function( options ) { var callback, errorCallback; // Cross domain only allowed if supported through XMLHttpRequest if ( support.cors || xhrSupported && !options.crossDomain ) { return { send: function( headers, complete ) { var i, xhr = options.xhr(); xhr.open( options.type, options.url, options.async, options.username, options.password ); // Apply custom fields if provided if ( options.xhrFields ) { for ( i in options.xhrFields ) { xhr[ i ] = options.xhrFields[ i ]; } } // Override mime type if needed if ( options.mimeType && xhr.overrideMimeType ) { xhr.overrideMimeType( options.mimeType ); } // X-Requested-With header // For cross-domain requests, seeing as conditions for a preflight are // akin to a jigsaw puzzle, we simply never set it to be sure. // (it can always be set on a per-request basis or even using ajaxSetup) // For same-domain requests, won't change header if already provided. if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { headers[ "X-Requested-With" ] = "XMLHttpRequest"; } // Set headers for ( i in headers ) { xhr.setRequestHeader( i, headers[ i ] ); } // Callback callback = function( type ) { return function() { if ( callback ) { callback = errorCallback = xhr.onload = xhr.onerror = xhr.onabort = xhr.ontimeout = xhr.onreadystatechange = null; if ( type === "abort" ) { xhr.abort(); } else if ( type === "error" ) { // Support: IE <=9 only // On a manual native abort, IE9 throws // errors on any property access that is not readyState if ( typeof xhr.status !== "number" ) { complete( 0, "error" ); } else { complete( // File: protocol always yields status 0; see trac-8605, trac-14207 xhr.status, xhr.statusText ); } } else { complete( xhrSuccessStatus[ xhr.status ] || xhr.status, xhr.statusText, // Support: IE <=9 only // IE9 has no XHR2 but throws on binary (trac-11426) // For XHR2 non-text, let the caller handle it (gh-2498) ( xhr.responseType || "text" ) !== "text" || typeof xhr.responseText !== "string" ? { binary: xhr.response } : { text: xhr.responseText }, xhr.getAllResponseHeaders() ); } } }; }; // Listen to events xhr.onload = callback(); errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); // Support: IE 9 only // Use onreadystatechange to replace onabort // to handle uncaught aborts if ( xhr.onabort !== undefined ) { xhr.onabort = errorCallback; } else { xhr.onreadystatechange = function() { // Check readyState before timeout as it changes if ( xhr.readyState === 4 ) { // Allow onerror to be called first, // but that will not handle a native abort // Also, save errorCallback to a variable // as xhr.onerror cannot be accessed window.setTimeout( function() { if ( callback ) { errorCallback(); } } ); } }; } // Create the abort callback callback = callback( "abort" ); try { // Do send the request (this may raise an exception) xhr.send( options.hasContent && options.data || null ); } catch ( e ) { // trac-14683: Only rethrow if this hasn't been notified as an error yet if ( callback ) { throw e; } } }, abort: function() { if ( callback ) { callback(); } } }; } } ); // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) jQuery.ajaxPrefilter( function( s ) { if ( s.crossDomain ) { s.contents.script = false; } } ); // Install script dataType jQuery.ajaxSetup( { accepts: { script: "text/javascript, application/javascript, " + "application/ecmascript, application/x-ecmascript" }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { "text script": function( text ) { jQuery.globalEval( text ); return text; } } } ); // Handle cache's special case and crossDomain jQuery.ajaxPrefilter( "script", function( s ) { if ( s.cache === undefined ) { s.cache = false; } if ( s.crossDomain ) { s.type = "GET"; } } ); // Bind script tag hack transport jQuery.ajaxTransport( "script", function( s ) { // This transport only deals with cross domain or forced-by-attrs requests if ( s.crossDomain || s.scriptAttrs ) { var script, callback; return { send: function( _, complete ) { script = jQuery( " _uc_helper = $uc_helper; global $updraftplus_admin, $updraftplus; $this->_updraftplus_admin = $updraftplus_admin; $this->_updraftplus = $updraftplus; parent::__construct($uc_helper); } /** * Forces a resumption of a backup where the resumption is overdue (so apparently cron is not working) * * @param Array $info - keys 'job_id' and 'resumption' * * @return Array - if there is an error. Otherwise, dies. */ public function forcescheduledresumption($info) { // Casting $resumption to int is absolutely necessary, as the WP cron system uses a hashed serialisation of the parameters for identifying jobs. Different type => different hash => does not match $resumption = (int) $info['resumption']; $job_id = $info['job_id']; $get_cron = $this->_updraftplus_admin->get_cron($job_id); if (!is_array($get_cron)) { return array('r' => false); } else { $this->_updraftplus->log("Forcing resumption: job id=$job_id, resumption=$resumption"); wp_clear_scheduled_hook('updraft_backup_resume', array($resumption, $job_id)); $this->_updraftplus->close_browser_connection(json_encode(array('r' => true))); $this->_updraftplus->jobdata_set_from_array($get_cron[1]); $this->_updraftplus->backup_resume($resumption, $job_id); // We don't want to return. The close_browser_connection call already returned a result. die; } } /** * Calls a WordPress action and dies * * @param Array $data - must have at least the key 'wpaction' with a string value * * @return WP_Error if no command was included */ public function call_wordpress_action($data) { if (empty($data['wpaction'])) return new WP_Error('error', '', 'no command sent'); $response = $this->_updraftplus_admin->call_wp_action($data, array($this->_uc_helper, '_updraftplus_background_operation_started'));// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Unused variable is for future use. die; // return array('response' => $response['response'], 'status' => $response['status'], 'log' => $response['log'] ); } public function updraftcentral_delete_key($params) { global $updraftcentral_main; if (!is_a($updraftcentral_main, 'UpdraftCentral_Main')) { return array('error' => 'UpdraftCentral_Main object not found'); } return $updraftcentral_main->delete_key($params['key_id']); } public function updraftcentral_get_log($params) { global $updraftcentral_main; if (!is_a($updraftcentral_main, 'UpdraftCentral_Main')) { return array('error' => 'UpdraftCentral_Main object not found'); } return call_user_func(array($updraftcentral_main, 'get_log'), $params); } public function updraftcentral_create_key($params) { global $updraftcentral_main; if (!is_a($updraftcentral_main, 'UpdraftCentral_Main')) { return array('error' => 'UpdraftCentral_Main object not found'); } return call_user_func(array($updraftcentral_main, 'create_key'), $params); } public function restore_alldownloaded($params) { $backups = UpdraftPlus_Backup_History::get_history(); $updraft_dir = $this->_updraftplus->backups_dir_location(); $timestamp = (int) $params['timestamp']; if (!isset($backups[$timestamp])) { return array('m' => '', 'w' => '', 'e' => __('No such backup set exists', 'updraftplus')); } $mess = array(); parse_str(stripslashes($params['restoreopts']), $res); if (isset($res['updraft_restore'])) { set_error_handler(array($this->_updraftplus_admin, 'get_php_errors'), E_ALL & ~E_STRICT); $elements = array_flip($res['updraft_restore']); $warn = array(); $err = array(); if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $max_execution_time = (int) @ini_get('max_execution_time');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if ($max_execution_time>0 && $max_execution_time<61) { $warn[] = sprintf(__('The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised.', 'updraftplus'), $max_execution_time).' '.__('If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece).', 'updraftplus'); } if (isset($backups[$timestamp]['native']) && false == $backups[$timestamp]['native']) { $warn[] = __('This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site.', 'updraftplus').' '.__('You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website).', 'updraftplus'); } if (isset($elements['db'])) { // Analyse the header of the database file + display results list ($mess2, $warn2, $err2, $info) = $this->_updraftplus->analyse_db_file($timestamp, $res); $mess = array_merge($mess, $mess2); $warn = array_merge($warn, $warn2); $err = array_merge($err, $err2); foreach ($backups[$timestamp] as $bid => $bval) { if ('db' != $bid && 'db' == substr($bid, 0, 2) && '-size' != substr($bid, -5, 5)) { $warn[] = __('Only the WordPress database can be restored; you will need to deal with the external database manually.', 'updraftplus'); break; } } } $backupable_entities = $this->_updraftplus->get_backupable_file_entities(true, true); $backupable_plus_db = $backupable_entities; $backupable_plus_db['db'] = array('path' => 'path-unused', 'description' => __('Database', 'updraftplus')); if (!empty($backups[$timestamp]['meta_foreign'])) { $foreign_known = apply_filters('updraftplus_accept_archivename', array()); if (!is_array($foreign_known) || empty($foreign_known[$backups[$timestamp]['meta_foreign']])) { $err[] = sprintf(__('Backup created by unknown source (%s) - cannot be restored.', 'updraftplus'), $backups[$timestamp]['meta_foreign']); } else { // For some reason, on PHP 5.5 passing by reference in a single array stopped working with apply_filters_ref_array (though not with do_action_ref_array). $backupable_plus_db = apply_filters_ref_array("updraftplus_importforeign_backupable_plus_db", array($backupable_plus_db, array($foreign_known[$backups[$timestamp]['meta_foreign']], &$mess, &$warn, &$err))); } } foreach ($backupable_plus_db as $type => $entity_info) { if (!isset($elements[$type]) || (isset($entity_info['restorable']) && !$entity_info['restorable'])) continue; $whatwegot = $backups[$timestamp][$type]; if (is_string($whatwegot)) $whatwegot = array($whatwegot); $expected_index = 0; $missing = ''; ksort($whatwegot); $outof = false; foreach ($whatwegot as $index => $file) { if (preg_match('/\d+of(\d+)\.zip/', $file, $omatch)) { $outof = max($omatch[1], 1); } while ($expected_index < $index) { $missing .= ('' == $missing) ? (1+$expected_index) : ",".(1+$expected_index); $expected_index++; } if (!file_exists($updraft_dir.'/'.$file)) { $err[] = sprintf(__('File not found (you need to upload it): %s', 'updraftplus'), $updraft_dir.'/'.$file); } elseif (filesize($updraft_dir.'/'.$file) == 0) { $err[] = sprintf(__('File was found, but is zero-sized (you need to re-upload it): %s', 'updraftplus'), $file); } else { $itext = (0 == $index) ? '' : $index; if (!empty($backups[$timestamp][$type.$itext.'-size']) && filesize($updraft_dir.'/'.$file) != $backups[$timestamp][$type.$itext.'-size']) { if (empty($warn['doublecompressfixed'])) { $warn[] = sprintf(__('File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt.', 'updraftplus'), $file, filesize($updraft_dir.'/'.$file), $backups[$timestamp][$type.$itext.'-size']); } } do_action_ref_array("updraftplus_checkzip_$type", array($updraft_dir.'/'.$file, &$mess, &$warn, &$err)); } $expected_index++; } do_action_ref_array("updraftplus_checkzip_end_$type", array(&$mess, &$warn, &$err)); // Detect missing archives where they are missing from the end of the set if ($outof>0 && $expected_index < $outof) { for ($j = $expected_index; $j<$outof; $j++) { $missing .= ('' == $missing) ? (1+$j) : ",".(1+$j); } } if ('' != $missing) { $warn[] = sprintf(__("This multi-archive backup set appears to have the following archives missing: %s", 'updraftplus'), $missing.' ('.$entity_info['description'].')'); } } // Check this backup set has a incremental_sets array e.g may have been created before this array was introduced if (isset($backups[$timestamp]['incremental_sets'])) { if (isset($elements['db']) && 1 === count($elements)) { // Don't show the incremental dropdown if the user only selects 'database' } else { $incremental_sets = array_keys($backups[$timestamp]['incremental_sets']); // Check if there are more than one timestamp in the incremental set if (1 < count($incremental_sets)) { $incremental_select_html = '
    '; $incremental_select_html .= ''; $incremental_select_html .= '
    '; $info['addui'] = empty($info['addui']) ? $incremental_select_html : $info['addui'].'
    '.$incremental_select_html; } } } if (0 == count($err) && 0 == count($warn)) { $mess_first = __('The backup archive files have been successfully processed.', 'updraftplus').' '.__('Now press Restore to proceed.', 'updraftplus'); } elseif (0 == count($err)) { $mess_first = __('The backup archive files have been processed, but with some warnings.', 'updraftplus').' '.__('If all is well, then press Restore to proceed.', 'updraftplus').' '.__('Otherwise, cancel and correct any problems first.', 'updraftplus'); } else { $mess_first = __('The backup archive files have been processed, but with some errors.', 'updraftplus').' '.__('You will need to cancel and correct any problems before retrying.', 'updraftplus'); } if (count($this->_updraftplus_admin->logged) >0) { foreach ($this->_updraftplus_admin->logged as $lwarn) $warn[] = $lwarn; } restore_error_handler(); // Get the info if it hasn't already come from the DB scan if (!isset($info) || !is_array($info)) $info = array(); // Not all characters can be json-encoded, and we don't need this potentially-arbitrary user-supplied info. unset($info['label']); if (!isset($info['created_by_version']) && !empty($backups[$timestamp]['created_by_version'])) $info['created_by_version'] = $backups[$timestamp]['created_by_version']; if (!isset($info['multisite']) && !empty($backups[$timestamp]['is_multisite'])) $info['multisite'] = $backups[$timestamp]['is_multisite']; do_action_ref_array('updraftplus_restore_all_downloaded_postscan', array($backups, $timestamp, $elements, &$info, &$mess, &$warn, &$err)); if (0 == count($err) && 0 == count($warn)) { $mess_first = __('The backup archive files have been successfully processed.', 'updraftplus').' '.__('Now press Restore again to proceed.', 'updraftplus'); } elseif (0 == count($err)) { $mess_first = __('The backup archive files have been processed, but with some warnings.', 'updraftplus').' '.__('If all is well, then now press Restore again to proceed.', 'updraftplus').' '.__('Otherwise, cancel and correct any problems first.', 'updraftplus'); } else { $mess_first = __('The backup archive files have been processed, but with some errors.', 'updraftplus').' '.__('You will need to cancel and correct any problems before retrying.', 'updraftplus'); } $warn_result = ''; foreach ($warn as $warning) { if (!$warn_result) $warn_result = '
      '; $warn_result .= '
    • '.$warning.'
    • '; } if ($warn_result) $warn_result .= '
    '; return array('m' => '

    '.$mess_first.'

    '.implode('
    ', $mess), 'w' => $warn_result, 'e' => implode('
    ', $err), 'i' => json_encode($info)); } } /** * The purpose of this is to detect brokenness caused by extra line feeds in plugins/themes - before it breaks other AJAX operations and leads to support requests * * @return string */ public function ping() { return 'pong'; } /** * This function is called via ajax and will update the autobackup notice dismiss time * * @return array - an empty array */ public function dismissautobackup() { UpdraftPlus_Options::update_updraft_option('updraftplus_dismissedautobackup', time() + 84*86400); return array(); } /** * This function is called via ajax and will update the general notice dismiss time * * @return array - an empty array */ public function dismiss_notice() { UpdraftPlus_Options::update_updraft_option('dismissed_general_notices_until', time() + 84*86400); return array(); } /** * This function is called via ajax and will update the review notice dismiss time * * @param array $data - an array that contains the dismiss notice for time * * @return array - an empty array */ public function dismiss_review_notice($data) { if (empty($data['dismiss_forever'])) { UpdraftPlus_Options::update_updraft_option('dismissed_review_notice', time() + 84*86400); } else { UpdraftPlus_Options::update_updraft_option('dismissed_review_notice', 100 * (365.25 * 86400)); } return array(); } /** * This function is called via ajax and will update the season notice dismiss time * * @return array - an empty array */ public function dismiss_season() { UpdraftPlus_Options::update_updraft_option('dismissed_season_notices_until', time() + 366*86400); return array(); } /** * This function is called via ajax and will update the clone php notice dismiss time * * @return array - an empty array */ public function dismiss_clone_php_notice() { UpdraftPlus_Options::update_updraft_option('dismissed_clone_php_notices_until', time() + 180 * 86400); return array(); } /** * Update and set dismiss_phpseclib_notice option name to true * * @return array - an associative array containing a key named 'success' with 1 value which indicates the successful of updating the option */ public function dismiss_phpseclib_notice() { UpdraftPlus_Options::update_updraft_option('updraft_dismiss_phpseclib_notice', true); return array('success' => 1); } /** * This function is called via ajax and will update the WooCommerce clone notice dismiss time * * @return array - an empty array */ public function dismiss_clone_wc_notice() { UpdraftPlus_Options::update_updraft_option('dismissed_clone_wc_notices_until', time() + 90 * 86400); return array(); } public function set_autobackup_default($params) { $default = empty($params['default']) ? 0 : 1; UpdraftPlus_Options::update_updraft_option('updraft_autobackup_default', $default); return array(); } public function dismissexpiry() { UpdraftPlus_Options::update_updraft_option('updraftplus_dismissedexpiry', time() + 14*86400); return array(); } public function dismissdashnotice() { UpdraftPlus_Options::update_updraft_option('updraftplus_dismisseddashnotice', time() + 366*86400); return array(); } public function rawbackuphistory() { // This is used for iframe source; hence, returns a string $show_raw_data = $this->_updraftplus_admin->show_raw_backups(); return $show_raw_data['html']; } /** * N.B. Not exactly the same as the phpinfo method in the UpdraftCentral core class * Returns a string, as it is directly fetched as the source of an iframe * * @return String - returns the resulting HTML */ public function phpinfo() { ob_start(); if (function_exists('phpinfo')) phpinfo(INFO_ALL ^ (INFO_CREDITS | INFO_LICENSE)); echo '

    '.__('Constants', 'updraftplus').'

    '; $opts = @get_defined_constants();// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. ksort($opts); echo ''; foreach ($opts as $key => $opt) { // Administrators can already read these in other ways, but we err on the side of caution if (is_string($opt) && false !== stripos($opt, 'api_key')) $opt = '***'; echo ''; } echo '
    '.htmlspecialchars($key).''.htmlspecialchars(print_r($opt, true)).'
    '; $ret = ob_get_contents(); ob_end_clean(); return $ret; } /** * Return messages if there are more than 4 overdue cron jobs * * @return Array - the messages are stored in an associative array and are indexed with key 'm' */ public function check_overdue_crons() { $messages = array(); $how_many_overdue = $this->_updraftplus_admin->howmany_overdue_crons(); if ($how_many_overdue >= 4) { $messages['m'] = array(); $messages['m'][] = $this->_updraftplus_admin->show_admin_warning_overdue_crons($how_many_overdue); if (defined('DISABLE_WP_CRON') && DISABLE_WP_CRON && (!defined('UPDRAFTPLUS_DISABLE_WP_CRON_NOTICE') || !UPDRAFTPLUS_DISABLE_WP_CRON_NOTICE)) $messages['m'][] = $this->_updraftplus_admin->show_admin_warning_disabledcron(); } return $messages; } public function whichdownloadsneeded($params) { // The purpose of this is to look at the list of indicated downloads, and indicate which are not already fully downloaded. i.e. Which need further action. $send_back = array(); $backup = UpdraftPlus_Backup_History::get_history($params['timestamp']); $updraft_dir = $this->_updraftplus->backups_dir_location(); $backupable_entities = $this->_updraftplus->get_backupable_file_entities(); if (empty($backup)) return array('result' => 'asyouwere'); if (isset($params['updraftplus_clone']) && empty($params['downloads'])) { $entities = array('db', 'plugins', 'themes', 'uploads', 'others'); foreach ($entities as $entity) { foreach ($backup as $key => $data) { if ($key != $entity) continue; $set_contents = ''; $entity_array = array(); $entity_array[] = $key; if ('db' == $key) { $set_contents = "0"; } else { foreach (array_keys($data) as $findex) { $set_contents .= ('' == $set_contents) ? $findex : ",$findex"; } } $entity_array[] = $set_contents; $params['downloads'][] = $entity_array; } } } foreach ($params['downloads'] as $i => $download) { if (is_array($download) && 2 == count($download) && isset($download[0]) && isset($download[1])) { $entity = $download[0]; if (('db' == $entity || isset($backupable_entities[$entity])) && isset($backup[$entity])) { $indexes = explode(',', $download[1]); $retain_string = ''; foreach ($indexes as $index) { $retain = true; // default $findex = (0 == $index) ? '' : (string) $index; $files = $backup[$entity]; if (!is_array($files)) $files = array($files); $size_key = $entity.$findex.'-size'; if (isset($files[$index]) && isset($backup[$size_key])) { $file = $updraft_dir.'/'.$files[$index]; if (file_exists($file) && filesize($file) >= $backup[$size_key]) { $retain = false; } } if ($retain) { $retain_string .= ('' === $retain_string) ? $index : ','.$index; $send_back[$i][0] = $entity; $send_back[$i][1] = $retain_string; } } } else { $send_back[$i][0] = $entity; $send_back[$i][1] = $download[$i][1]; } } else { // Format not understood. Just send it back as-is. $send_back[$i] = $download[$i]; } } // Finally, renumber the keys (to usual PHP style - 0, 1, ...). Otherwise, in order to preserve the indexes, json_encode() will create an object instead of an array in the case where $send_back only has one element (and is indexed with an index > 0) $send_back = array_values($send_back); return array('downloads' => $send_back); } /** * This is an handler function that checks what entity has been specified in the $params and calls the required method * * @param [array] $params this is an array of parameters sent via ajax it can include various things depending on what has called this method, this method only cares about the entity parameter which is used to call the correct method and return tree nodes based on that * @return [array] returns an array of jstree nodes */ public function get_jstree_directory_nodes($params) { if ('filebrowser' == $params['entity']) { $node_array = $this->_updraft_jstree_directory($params); } elseif ('zipbrowser' == $params['entity']) { $node_array = $this->_updraft_jstree_zip($params); } else { $node_array = apply_filters('updraftplus_jstree_'.$params['entity'], array(), $params); } return empty($node_array['error']) ? array('nodes' => $node_array) : $node_array; } /** * This creates an array of nodes, built from either ABSPATH or the given directory ready to be returned to the jstree object. * * @param [array] $params this is an array of parameters sent via ajax it can include the following: * node - this is a jstree node object containing information about the selected node * path - this is a path if provided this will be used to build the tree otherwise ABSPATH is used * drop_directory - this is a boolean that if set to true will drop one directory level off the path this is used so that you can move above the current root directory * @return [array] returns an array of jstree nodes */ private function _updraft_jstree_directory($params) { $node_array = array(); // # is the root node if it's the root node then this is the first call so create a parent node otherwise it's a child node and we should get the path from the node id if ('#' == $params['node']['id']) { $path = ABSPATH; if (!empty($params['path']) && is_dir($params['path']) && is_readable($params['path'])) $path = $params['path']; $one_dir_up = dirname($path); if (!empty($params['drop_directory']) && true == $params['drop_directory'] && is_readable($one_dir_up)) $path = $one_dir_up; if (empty($params['skip_root_node'])) { $node_array[] = array( 'text' => basename($path), 'children' => true, 'id' => $path, 'icon' => 'jstree-folder', 'state' => array( 'opened' => true ) ); } } else { $path = $params['node']['id']; } $page = empty($params['page']) ? '' : $params['page']; if ($dh = opendir($path)) { $path = rtrim($path, DIRECTORY_SEPARATOR); $skip_paths = array(".", ".."); while (($value = readdir($dh)) !== false) { if (!in_array($value, $skip_paths)) { if (is_dir($path . DIRECTORY_SEPARATOR . $value)) { $node_array[] = array( 'text' => $value, 'children' => true, 'id' => UpdraftPlus_Manipulation_Functions::wp_normalize_path($path . DIRECTORY_SEPARATOR . $value), 'icon' => 'jstree-folder' ); } elseif (empty($params['directories_only']) && 'restore' != $page && is_file($path . DIRECTORY_SEPARATOR . $value)) { $node_array[] = array( 'text' => $value, 'children' => false, 'id' => UpdraftPlus_Manipulation_Functions::wp_normalize_path($path . DIRECTORY_SEPARATOR . $value), 'type' => 'file', 'icon' => 'jstree-file' ); } } } } else { $node_array['error'] = sprintf(__('Failed to open directory: %s.', 'updraftplus'), $path).' '.__('This is normally caused by file permissions.', 'updraftplus'); } return $node_array; } /** * This creates an array of nodes, built from a unzipped zip file structure. * * @param [array] $params this is an array of parameters sent via ajax it can include the following: * node - this is a jstree node object containing information about the selected node * timestamp - this is the backup timestamp and is used to get the backup archive * type - this is the type of backup and is used to get the backup archive * findex - this is the index used to get the correct backup archive if theres more than one of a single archive type * @return [array] returns an array of jstree nodes */ private function _updraft_jstree_zip($params) { $updraftplus = $this->_updraftplus; $node_array = array(); $zip_object = $updraftplus->get_zip_object_name(); // Retrieve the information from our backup history $backup_history = UpdraftPlus_Backup_History::get_history(); if (!isset($backup_history[$params['timestamp']][$params['type']])) { return array('error' => __('Backup set not found', 'updraftplus')); } // Base name $file = $backup_history[$params['timestamp']][$params['type']]; // Get date in human readable form $pretty_date = get_date_from_gmt(gmdate('Y-m-d H:i:s', (int) $params['timestamp']), 'M d, Y G:i'); $backupable_entities = $updraftplus->get_backupable_file_entities(true, true); // Check the file type and set the name in a more friendly way $archive_name = isset($backupable_entities[$params['type']]['description']) ? $backupable_entities[$params['type']]['description'] : $params['type']; if (substr($params['type'], 0, 2) === 'db') $archive_name = __('Extra database', 'updraftplus') . ' ' . substr($params['type'], 3, 1); if ('db' == $params['type']) $archive_name = __('Database', 'updraftplus'); if ('more' == $params['type']) $archive_name = $backupable_entities[$params['type']]['shortdescription']; if ('wpcore' == $params['type']) $archive_name = __('WordPress Core', 'updraftplus'); $archive_set = ($params['findex'] + 1) . '/' . sizeof($file); if ('1/1' == $archive_set) $archive_set = ''; $parent_name = $archive_name . ' ' . __('archive', 'updraftplus') . ' ' . $archive_set . ' ' . $pretty_date; // Deal with multi-archive sets if (is_array($file)) $file = $file[$params['findex']]; // Where it should end up being downloaded to $fullpath = $updraftplus->backups_dir_location().'/'.$file; if (file_exists($fullpath) && is_readable($fullpath) && filesize($fullpath)>0) { $node_array[] = array( 'text' => $parent_name, 'parent' => '#', 'id' => $parent_name, 'icon' => 'jstree-folder', 'state' => array('opened' => true), 'li_attr' => array('path' => $parent_name) ); $zip = new $zip_object; $zip_opened = $zip->open($fullpath); if (true !== $zip_opened) { return array('error' => 'UpdraftPlus: opening zip (' . $fullpath . '): failed to open this zip file (object='.$zip_object.', code: '.$zip_opened.')'); } else { $numfiles = $zip->numFiles; if (false === $numfiles) return array('error' => 'UpdraftPlus: reading zip: '.$zip->last_error); for ($i=0; $i < $numfiles; $i++) { $si = $zip->statIndex($i); // Fix for windows being unable to build jstree due to different directory separators being used $si['name'] = str_replace("/", DIRECTORY_SEPARATOR, $si['name']); // if it's a dot then we don't want to append this as it will break the ids and the tree structure if ('.' == dirname($si['name'])) { $node_id = $parent_name; } else { $node_id = $parent_name . DIRECTORY_SEPARATOR . dirname($si['name']) . DIRECTORY_SEPARATOR; } $extension = substr(strrchr($si['name'], "."), 1); if (0 == $si['size'] && empty($extension)) { $node_array[] = array( 'text' => basename($si['name']), 'parent' => $node_id, 'id' => $parent_name . DIRECTORY_SEPARATOR . $si['name'], 'icon' => 'jstree-folder', 'li_attr' => array( 'path' => $parent_name . DIRECTORY_SEPARATOR . $si['name'] ) ); } else { $node_array[] = array( 'text' => basename($si['name']), 'parent' => $node_id, 'id' => $parent_name . DIRECTORY_SEPARATOR . $si['name'], 'type' => 'file', 'icon' => 'jstree-file', 'li_attr' => array( 'path' => $parent_name . DIRECTORY_SEPARATOR . $si['name'], 'size' => UpdraftPlus_Manipulation_Functions::convert_numeric_size_to_text($si['size']) ) ); } } // check if this is an upload archive if it is add a 'uploads' folder so that the children can attach to it if ('uploads' == $params['type']) $node_array[] = array( 'text' => 'uploads', 'parent' => $parent_name, 'id' => $parent_name . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR, 'icon' => 'jstree-folder', 'li_attr' => array( 'path' => $parent_name . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR ) ); @$zip->close();// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } } return $node_array; } /** * Return information on the zipfile download * * @param Array $params - details on the download; keys: type, findex, path, timestamp * * @return Array */ public function get_zipfile_download($params) { return apply_filters('updraftplus_command_get_zipfile_download', array('error' => 'UpdraftPlus: command (get_zipfile_download) not installed (are you missing an add-on?)'), $params); } /** * Dismiss the notice which will if .htaccess have any old migrated site reference. * * @return Boolean Return true if migration notice is dismissed */ public function dismiss_migration_notice_for_old_site_reference() { delete_site_option('updraftplus_migrated_site_domain'); return true; } /** * When character set and collate both are unsupported at restoration time and if user change anyone substitution dropdown from both, Other substitution select box value should be change respectively. To achieve this functionality, Ajax calls comes here. * * @param Array $params this is an array of parameters sent via ajax it can include the following: * collate_change_on_charset_selection_data - It is data in serialize form which is need for choose other dropdown option value. It contains below elements data: * db_supported_collations - All collations supported by current database. This is result of 'SHOW COLLATION' query * db_unsupported_collate_unique - Unsupported collates unique array * db_collates_found - All collates found in database backup file * event_source_elem - Dropdown elemtn id which trigger the ajax request * updraft_restorer_charset - Charset dropdown selected value option * updraft_restorer_collate - Collate dropdown selected value option * * @return array - $action_data which contains following data: * is_action_required - 1 or 0 Whether or not change other dropdown value * elem_id - Dropdown element id which value need to change. The other dropdown element id * elem_val - Dropdown element value which should be selected for other drodown */ public function collate_change_on_charset_selection($params) { $collate_change_on_charset_selection_data = json_decode(UpdraftPlus_Manipulation_Functions::wp_unslash($params['collate_change_on_charset_selection_data']), true); $updraft_restorer_collate = $params['updraft_restorer_collate']; $updraft_restorer_charset = $params['updraft_restorer_charset']; $db_supported_collations = $collate_change_on_charset_selection_data['db_supported_collations']; $db_unsupported_collate_unique = $collate_change_on_charset_selection_data['db_unsupported_collate_unique']; $db_collates_found = $collate_change_on_charset_selection_data['db_collates_found']; $action_data = array( 'is_action_required' => 0, ); // No need to change other dropdown value if (isset($db_supported_collations[$updraft_restorer_collate]->Charset) && $updraft_restorer_charset == $db_supported_collations[$updraft_restorer_collate]->Charset) { return $action_data; } $similar_type_collate = $this->_updraftplus->get_similar_collate_related_to_charset($db_supported_collations, $db_unsupported_collate_unique, $updraft_restorer_charset); if (empty($similar_type_collate)) { $similar_type_collate = $this->_updraftplus->get_similar_collate_based_on_ocuurence_count($db_collates_found, $db_supported_collations, $updraft_restorer_collate); } // Default collation for changed character set if (empty($similar_type_collate)) { $charset_row = $GLOBALS['wpdb']->get_row($GLOBALS['wpdb']->prepare("SHOW CHARACTER SET LIKE '%s'", $updraft_restorer_charset)); if (null !== $charset_row && !empty($charset_row->{'Default collation'})) { $similar_type_collate = $charset_row->{'Default collation'}; } } if (empty($similar_type_collate)) { foreach ($db_supported_collations as $db_supported_collation => $db_supported_collation_info) { if (isset($db_supported_collation_info->Charset) && $updraft_restorer_charset == $db_supported_collation_info->Charset) { $similar_type_collate = $db_supported_collation; break; } } } if (!empty($similar_type_collate)) { $action_data['is_action_required'] = 1; $action_data['similar_type_collate'] = $similar_type_collate; } return $action_data; } /** * Set the Tour status * * @param array $params - the $_REQUEST. We're looking for 'current_step' * @return bool */ public function set_tour_status($params) { return class_exists('UpdraftPlus_Tour') ? UpdraftPlus_Tour::get_instance()->set_tour_status($params) : false; } /** * Resets the tour status * * @return bool */ public function reset_tour_status() { return class_exists('UpdraftPlus_Tour') ? UpdraftPlus_Tour::get_instance()->reset_tour_status() : false; } /** * Return the database information * * @return array */ public function db_size() { global $wpdb; $db_table_res = $wpdb->get_results('SHOW TABLE STATUS', ARRAY_A); $db_table_size = 0; $db_table_html = ''; if ($wpdb->num_rows > 0) { $key_field_name = UpdraftPlus_Manipulation_Functions::backquote('Key'); foreach ($db_table_res as $row) { // Try search from transient $rows_count = get_transient('wpo_'.$row['Name'].'_count'); if (false === $rows_count) { // If not found, try search primary key first $table_name = UpdraftPlus_Manipulation_Functions::backquote($row['Name']); $primary_key = $wpdb->get_row("SHOW COLUMNS FROM $table_name WHERE $key_field_name = 'PRI'", ARRAY_A); if ($primary_key) { // Count rows by primary key $primary_key_field = UpdraftPlus_Manipulation_Functions::backquote($primary_key['Field']); $rows_count = $wpdb->get_var("SELECT COUNT($primary_key_field) FROM ".$table_name); } if (is_null($rows_count) || false === $rows_count) $rows_count = $wpdb->get_var("SELECT COUNT(*) FROM ".$table_name); } $db_table_html .= ''; $db_table_html .= sprintf('%s', esc_html($row['Name'])); $db_table_html .= sprintf('%s', esc_html($rows_count)); $db_table_html .= sprintf('%s', esc_html(size_format($row['Data_length'], 2))); $db_table_html .= sprintf('%s', esc_html(size_format($row['Index_length'], 2))); $db_table_html .= sprintf('%s', esc_html($row['Engine'])); $db_table_html .= ''; $db_table_size += $row['Data_length'] + $row['Index_length']; } } return array( 'size' => size_format((int) $db_table_size, 2), 'html' => $db_table_html ); } } includes/class-manipulation-functions.php000064400000041363147400355670014716 0ustar00 strtotime($matches[1].' '.$matches[2]), 'nonce' => $matches[3], 'type' => $matches[4], 'index' => (empty($matches[5]) ? 0 : $matches[5]-1), 'extension' => $matches[6] ); } else { return false; } } /** * Convert a number of bytes into a suitable textual string * * @param Integer $size - the number of bytes * * @return String - the resulting textual string */ public static function convert_numeric_size_to_text($size) { if ($size > 1073741824) { return round($size / 1073741824, 1).' GB'; } elseif ($size > 1048576) { return round($size / 1048576, 1).' MB'; } elseif ($size > 1024) { return round($size / 1024, 1).' KB'; } else { return round($size, 1).' B'; } } /** * Add backquotes to tables and db-names in SQL queries. Taken from phpMyAdmin. * * @param string $a_name - the table name * @return string - the quoted table name */ public static function backquote($a_name) { if (!empty($a_name) && '*' != $a_name) { if (is_array($a_name)) { $result = array(); foreach ($a_name as $key => $val) { $result[$key] = '`'.$val.'`'; } return $result; } else { return '`'.$a_name.'`'; } } else { return $a_name; } } /** * Remove empty (according to empty()) members of an array * * @param Array $list - input array * @return Array - pruned array */ public static function remove_empties($list) { if (!is_array($list)) return $list; foreach ($list as $ind => $entry) { if (empty($entry)) unset($list[$ind]); } return $list; } /** * Sort restoration entities * * @param String $a - first entity * @param String $b - second entity * * @return Integer - sort result */ public static function sort_restoration_entities($a, $b) { if ($a == $b) return 0; // Put the database first // Put wpcore after plugins/uploads/themes (needed for restores of foreign all-in-one formats) if ('db' == $a || 'wpcore' == $b) return -1; if ('db' == $b || 'wpcore' == $a) return 1; // After wpcore, next last is others if ('others' == $b) return -1; if ('others' == $a) return 1; // And then uploads - this is only because we want to make sure uploads is after plugins, so that we know before we get to the uploads whether the version of UD which might have to unpack them can do this new-style or not. if ('uploads' == $b) return -1; if ('uploads' == $a) return 1; return strcmp($a, $b); } /** * This options filter removes ABSPATH off the front of updraft_dir, if it is given absolutely and contained within it * * @param String $updraft_dir Directory * @return String */ public static function prune_updraft_dir_prefix($updraft_dir) { if ('/' == substr($updraft_dir, 0, 1) || "\\" == substr($updraft_dir, 0, 1) || preg_match('/^[a-zA-Z]:/', $updraft_dir)) { $wcd = trailingslashit(WP_CONTENT_DIR); if (strpos($updraft_dir, $wcd) === 0) { $updraft_dir = substr($updraft_dir, strlen($wcd)); } } return $updraft_dir; } public static function get_mime_type_from_filename($filename, $allow_gzip = true) { if ('.zip' == substr($filename, -4, 4)) { return 'application/zip'; } elseif ('.tar' == substr($filename, -4, 4)) { return 'application/x-tar'; } elseif ('.tar.gz' == substr($filename, -7, 7)) { return 'application/x-tgz'; } elseif ('.tar.bz2' == substr($filename, -8, 8)) { return 'application/x-bzip-compressed-tar'; } elseif ($allow_gzip && '.gz' == substr($filename, -3, 3)) { // When we sent application/x-gzip as a content-type header to the browser, we found a case where the server compressed it a second time (since observed several times) return 'application/x-gzip'; } else { return 'application/octet-stream'; } } /** * Filter the value to ensure it is between 1 and 9999 * * @param Integer $input * * @return Integer */ public static function retain_range($input) { $input = (int) $input; return ($input > 0) ? min($input, 9999) : 1; } /** * Find matching string from $str_arr1 and $str_arr2 * * @param array $str_arr1 array of strings * @param array $str_arr2 array of strings * @param boolean $match_until_first_numeric only match until first numeric occurrence * @return string matching str which will be best for replacement */ public static function get_matching_str_from_array_elems($str_arr1, $str_arr2, $match_until_first_numeric = true) { $matching_str = ''; if ($match_until_first_numeric) { $str_partial_arr = array(); foreach ($str_arr1 as $str1) { $str1_str_length = strlen($str1); $temp_str1_chars = str_split($str1); $temp_partial_str = ''; // The flag is for whether non-numeric character passed after numeric character occurrence in str1. For ex. str1 is utf8mb4, the flag wil be true when parsing m after utf8. $numeric_char_pass_flag = false; $char_position_in_str1 = 0; while ($char_position_in_str1 < $str1_str_length) { if ($numeric_char_pass_flag && !is_numeric($temp_str1_chars[$char_position_in_str1])) { break; } if (is_numeric($temp_str1_chars[$char_position_in_str1])) { $numeric_char_pass_flag = true; } $temp_partial_str .= $temp_str1_chars[$char_position_in_str1]; $char_position_in_str1++; } $str_partial_arr[] = $temp_partial_str; } foreach ($str_partial_arr as $str_partial) { if (!empty($matching_str)) { break; } foreach ($str_arr2 as $str2) { if (0 === stripos($str2, $str_partial)) { $matching_str = $str2; break; } } } } else { $str1_partial_first_arr = array(); $str1_partial_first_arr = array(); $str1_partial_start_n_middle_arr = array(); $str1_partial_middle_n_last_arr = array(); $str1_partial_last_arr = array(); foreach ($str_arr1 as $str1) { $str1_partial_arr = explode('_', $str1); $str1_parts_count = count($str1_partial_arr); $str1_partial_first_arr[] = $str1_partial_arr[0]; $str1_last_part_index = $str1_parts_count - 1; if ($str1_last_part_index > 0) { $str1_partial_last_arr[] = $str1_partial_arr[$str1_last_part_index]; $str1_partial_start_n_middle_arr[] = substr($str1, 0, stripos($str1, '_')); $str1_partial_middle_n_last_arr[] = substr($str1, stripos($str1, '_') + 1); } } for ($case_no = 1; $case_no <= 5; $case_no++) { if (!empty($matching_str)) { break; } foreach ($str_arr2 as $str2) { switch ($case_no) { // Case 1: Both Start and End match case 1: $str2_partial_arr = explode('_', $str2); $str2_first_part = $str2_partial_arr[0]; $str2_parts_count = count($str2_partial_arr); $str2_last_part_index = $str2_parts_count - 1; if ($str2_last_part_index > 0) { $str2_last_part = $str2_partial_arr[$str2_last_part_index]; } else { $str2_last_part = ''; } if (!empty($str2_last_part) && !empty($str1_partial_last_arr) && in_array($str2_first_part, $str1_partial_first_arr) && in_array($str2_last_part, $str1_partial_last_arr)) { $matching_str = $str2; } break; // Case 2: Start Middle Match case 2: $str2_partial_first_n_middle_parts = substr($str2, 0, stripos($str2, '_')); if (in_array($str2_partial_first_n_middle_parts, $str1_partial_start_n_middle_arr)) { $matching_str = $str2; } break; // Case 3: End Middle Match case 3: $str2_partial_middle_n_last_parts = stripos($str2, '_') !== false ? substr($str2, stripos($str2, '_') + 1) : ''; if (!empty($str2_partial_middle_n_last_parts) && in_array($str2_partial_middle_n_last_parts, $str1_partial_middle_n_last_arr)) { $matching_str = $str2; } break; // Case 4: Start Match (low possibilities) case 4: $str2_partial_arr = explode('_', $str2); $str2_first_part = $str2_partial_arr[0]; if (in_array($str2_first_part, $str1_partial_first_arr)) { $matching_str = $str2; } break; // Case 5: End Match (low possibilities) case 5: $str2_partial_arr = explode('_', $str2); $str2_parts_count = count($str2_partial_arr); $str2_last_part_index = $str2_parts_count - 1; if ($str2_last_part_index > 0) { $str2_last_part = $str2_partial_arr[$str2_last_part_index]; } else { $str2_last_part = ''; } if (!empty($str2_last_part) && in_array($str2_last_part, $str1_partial_last_arr)) { $matching_str = $str2; } break; } if (!empty($matching_str)) { break; } } } } return $matching_str; } /** * Produce a normalised version of a URL, useful for comparisons. This may produce a URL that does not actually reference the same location; its purpose is only to use in comparisons of two URLs that *both* go through this function. * * @param String $url - the URL * * @return String - normalised */ public static function normalise_url($url) { $parsed_descrip_url = parse_url($url); if (is_array($parsed_descrip_url)) { if (preg_match('/^www\./i', $parsed_descrip_url['host'], $matches)) $parsed_descrip_url['host'] = substr($parsed_descrip_url['host'], 4); $normalised_descrip_url = 'http://'.strtolower($parsed_descrip_url['host']); if (!empty($parsed_descrip_url['port'])) $normalised_descrip_url .= ':'.$parsed_descrip_url['port']; if (!empty($parsed_descrip_url['path'])) $normalised_descrip_url .= untrailingslashit($parsed_descrip_url['path']); } else { $normalised_descrip_url = untrailingslashit($url); } return $normalised_descrip_url; } /** * Normalize a filesystem path. * * On windows systems, replaces backslashes with forward slashes * and forces upper-case drive letters. * Allows for two leading slashes for Windows network shares, but * ensures that all other duplicate slashes are reduced to a single. * * @param string $path Path to normalize. * @return string Normalized path. */ public static function wp_normalize_path($path) { // wp_normalize_path is not present before WP 3.9 if (function_exists('wp_normalize_path')) return wp_normalize_path($path); // Taken from WP 4.6 $path = str_replace('\\', '/', $path); $path = preg_replace('|(?<=.)/+|', '/', $path); if (':' === substr($path, 1, 1)) { $path = ucfirst($path); } return $path; } /** * Given a set of times, find details about the maximum * * @param Array $time_passed - a list of times passed, with numerical indexes * @param Integer $upto - last index to consider * @param Integer $first_run - first index to consider * * @return Array - a list with entries, in order: maximum time, list in string format, how many run times were found */ public static function max_time_passed($time_passed, $upto, $first_run) { $max_time = 0; $timings_string = ""; $run_times_known = 0; for ($i = $first_run; $i <= $upto; $i++) { $timings_string .= "$i:"; if (isset($time_passed[$i])) { $timings_string .= round($time_passed[$i], 1).' '; $run_times_known++; if ($time_passed[$i] > $max_time) $max_time = round($time_passed[$i]); } else { $timings_string .= '? '; } } return array($max_time, $timings_string, $run_times_known); } /** * Determine if a given string ends with a given substring. * * @param string $haystack string * @param string $needle substring which should be checked at the end of the string * @return boolean Whether string ends with the substring or not */ public static function str_ends_with($haystack, $needle) { if (substr($haystack, - strlen($needle)) == $needle) return true; return false; } /** * Returns a random string of given length. * * @param string $length integer * @return string random string */ public static function generate_random_string($length = 2) { $characters = '0123456789abcdefghijklmnopqrstuvwxyz'; $characters_length = strlen($characters); $random_string = ''; for ($i = 0; $i < $length; $i++) { $random_string .= $characters[rand(0, $characters_length - 1)]; } return $random_string; } /** * Returns an anonymized IPv4 or IPv6 address. * * @param string $ip_addr The IPv4 or IPv6 address to be anonymized. * @return string The anonymized IP address. */ public static function wp_privacy_anonymize_ip($ip_addr) { if (empty($ip_addr)) { return '0.0.0.0'; } $ip_prefix = ''; $is_ipv6 = substr_count($ip_addr, ':') > 1; $is_ipv4 = (3 === substr_count($ip_addr, '.')); if ($is_ipv6 && $is_ipv4) { $ip_prefix = '::ffff:'; $ip_addr = preg_replace('/^\[?[0-9a-f:]*:/i', '', $ip_addr); $ip_addr = str_replace(']', '', $ip_addr); $is_ipv6 = false; } if ($is_ipv6) { $percent = strpos($ip_addr, '%'); $netmask = 'ffff:ffff:ffff:ffff:0000:0000:0000:0000'; if (preg_match('#\[(.*)\]#', $ip_addr, $matches)) $ip_addr = $matches[1]; if (false !== $percent) { $ip_addr = substr($ip_addr, 0, $percent); } if (preg_match('/[^0-9a-f:]/i', $ip_addr)) { return '::'; } if (function_exists('inet_pton') && function_exists('inet_ntop')) { $ip_addr = inet_ntop(inet_pton($ip_addr) & inet_pton($netmask)); if (false === $ip_addr) { return '::'; } } } elseif ($is_ipv4) { $last_octet_position = strrpos($ip_addr, '.'); $ip_addr = substr($ip_addr, 0, $last_octet_position) . '.0'; } else { return '0.0.0.0'; } return $ip_prefix . $ip_addr; } /** * Returns uniform "anonymous" data by type. * * @param string $type The type of data to be anonymized. * @param string $data Optional The data to be anonymized. * @return string The anonymous data for the requested type. */ public static function anonymize_data($type, $data = '') { switch ($type) { case 'email': $anonymous = 'invalid@example.com'; break; case 'url': $anonymous = 'https://invalid.example.com'; break; case 'ip': $anonymous = self::wp_privacy_anonymize_ip($data); break; case 'date': $anonymous = '0000-00-00 00:00:00'; break; case 'text': /* translators: Deleted text. */ $anonymous = __('[deleted]', 'updraftplus'); break; case 'longtext': /* translators: Deleted long text. */ $anonymous = __('This content was deleted in order to anonymize it.', 'updraftplus'); break; default: $anonymous = ''; break; } return $anonymous; } } includes/updraftvault.php000064400000003770147400355670011626 0ustar00set_options($opts, false, $instance_id); } else { if (!class_exists('UpdraftPlus_BackupModule_updraftvault')) updraft_try_include_file('methods/updraftvault.php', 'include_once'); $vault = new UpdraftPlus_BackupModule_updraftvault(); } $result = $vault->get_config(); if (isset($result['error']) && !empty($result['error'])) { $result = array('error' => true, 'message' => $result['error']['message'], 'values' => $result['error']['values']); } return $this->_response($result); } } includes/jquery-ui.custom-v1.12.1-1-24-6.min.css000064400000117061147400355670014562 0ustar00/* jQuery UI - v1.12.1* http://jqueryui.com* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, menu.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=custom-theme&bgImgOpacityError=18&bgImgOpacityHighlight=75&bgImgOpacityActive=65&bgImgOpacityHover=100&bgImgOpacityDefault=100&bgImgOpacityContent=100&bgImgOpacityHeader=35&cornerRadiusShadow=5px&offsetLeftShadow=-5px&offsetTopShadow=-5px&thicknessShadow=5px&opacityShadow=20&bgImgOpacityShadow=10&bgTextureShadow=flat&bgColorShadow=%23000000&opacityOverlay=50&bgImgOpacityOverlay=20&bgTextureOverlay=flat&bgColorOverlay=%23666666&iconColorError=%23ffd27a&fcError=%23ffffff&borderColorError=%23cd0a0a&bgTextureError=flat&bgColorError=%23b81900&iconColorHighlight=%23228ef1&fcHighlight=%23363636&borderColorHighlight=%23fed22f&bgTextureHighlight=flat&bgColorHighlight=%23ffe45c&iconColorActive=%23ef8c08&fcActive=%23454545&borderColorActive=%23C5C5C5&bgTextureActive=flat&bgColorActive=%23F6F6F6&iconColorHover=%23ef8c08&fcHover=%23454545&borderColorHover=%23C5C5C5&bgTextureHover=flat&bgColorHover=%23F6F6F6&iconColorDefault=%23ef8c08&fcDefault=%232B2B2B&borderColorDefault=%23CCC&bgTextureDefault=flat&bgColorDefault=%23f6f6f6&iconColorContent=%23222222&fcContent=%23333333&borderColorContent=%23dddddd&bgTextureContent=flat&bgColorContent=%23eeeeee&iconColorHeader=%23ffffff&fcHeader=%23ffffff&borderColorHeader=%23e78f08&bgTextureHeader=flat&bgColorHeader=%23f6a828&cornerRadius=4px&fwDefault=bold&fsDefault=1.1em&ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif* Copyright jQuery Foundation and other contributors; Licensed MIT* Changes: Add CSS scope (.updraft-container) to prevent CSS conflict with other plugins that use jQuery UI too except for .ui-front and .ui-widget-overlay*/.updraft-container{position:absolute;top:0;width:1px;height:1px;z-index:99999}.updraft-container .ui-draggable-handle{-ms-touch-action:none;touch-action:none}.updraft-container .ui-helper-hidden{display:none}.updraft-container .ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.updraft-container .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.updraft-container .ui-helper-clearfix:before,.updraft-container .ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.updraft-container .ui-helper-clearfix:after{clear:both}.updraft-container .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:alpha(opacity=0)}.ui-front{z-index:100}.updraft-container .ui-state-disabled{cursor:default !important;pointer-events:none}.updraft-container .ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.updraft-container .ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.updraft-container .ui-resizable{position:relative}.updraft-container .ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.updraft-container .ui-resizable-disabled .ui-resizable-handle,.updraft-container .ui-resizable-autohide .ui-resizable-handle{display:none}.updraft-container .ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.updraft-container .ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.updraft-container .ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.updraft-container .ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.updraft-container .ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.updraft-container .ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.updraft-container .ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.updraft-container .ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.updraft-container .ui-selectable{-ms-touch-action:none;touch-action:none}.updraft-container .ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.updraft-container .ui-sortable-handle{-ms-touch-action:none;touch-action:none}.updraft-container .ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.updraft-container .ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.updraft-container .ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.updraft-container .ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.updraft-container .ui-menu .ui-menu{position:absolute}.updraft-container .ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.updraft-container .ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.updraft-container .ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.updraft-container .ui-menu .ui-state-focus,.updraft-container .ui-menu .ui-state-active{margin:-1px}.updraft-container .ui-menu-icons{position:relative}.updraft-container .ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.updraft-container .ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.updraft-container .ui-menu .ui-menu-icon{left:auto;right:0}.updraft-container .ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.updraft-container .ui-button,.updraft-container .ui-button:link,.updraft-container .ui-button:visited,.updraft-container .ui-button:hover,.updraft-container .ui-button:active{text-decoration:none}.updraft-container .ui-button-icon-only{width:2em;-webkit-box-sizing:border-box;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}.updraft-container input.ui-button.ui-button-icon-only{text-indent:0}.updraft-container .ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.updraft-container .ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}.updraft-container input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}.updraft-container input.ui-button::-moz-focus-inner,.updraft-container button.ui-button::-moz-focus-inner{border:0;padding:0}.updraft-container .ui-controlgroup{vertical-align:middle;display:inline-block}.updraft-container .ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.updraft-container .ui-controlgroup>.ui-controlgroup-item:focus,.updraft-container .ui-controlgroup>.ui-controlgroup-item.ui-visual-focus{z-index:9999}.updraft-container .ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.updraft-container .ui-controlgroup-vertical .ui-controlgroup-item{-webkit-box-sizing:border-box;box-sizing:border-box}.updraft-container .ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.updraft-container .ui-controlgroup .ui-controlgroup-label span{font-size:80%}.updraft-container .ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:0}.updraft-container .ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:0}.updraft-container .ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:0}.updraft-container .ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:0}.updraft-container .ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc(100% - 2.4em)}.updraft-container .ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.updraft-container .ui-checkboxradio-label .ui-icon-background{-webkit-box-shadow:inset 1px 1px 1px #CCC;box-shadow:inset 1px 1px 1px #CCC;border-radius:.12em;border:0}.updraft-container .ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:0}.updraft-container .ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.updraft-container .ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.updraft-container .ui-checkboxradio-disabled{pointer-events:none}.updraft-container .ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.updraft-container .ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.updraft-container .ui-datepicker .ui-datepicker-prev,.updraft-container .ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.updraft-container .ui-datepicker .ui-datepicker-prev-hover,.updraft-container .ui-datepicker .ui-datepicker-next-hover{top:1px}.updraft-container .ui-datepicker .ui-datepicker-prev{left:2px}.updraft-container .ui-datepicker .ui-datepicker-next{right:2px}.updraft-container .ui-datepicker .ui-datepicker-prev-hover{left:1px}.updraft-container .ui-datepicker .ui-datepicker-next-hover{right:1px}.updraft-container .ui-datepicker .ui-datepicker-prev span,.updraft-container .ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.updraft-container .ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.updraft-container .ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.updraft-container .ui-datepicker select.ui-datepicker-month,.updraft-container .ui-datepicker select.ui-datepicker-year{width:45%}.updraft-container .ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.updraft-container .ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.updraft-container .ui-datepicker td{border:0;padding:1px}.updraft-container .ui-datepicker td span,.updraft-container .ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.updraft-container .ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.updraft-container .ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.updraft-container .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.updraft-container .ui-datepicker.ui-datepicker-multi{width:auto}.updraft-container .ui-datepicker-multi .ui-datepicker-group{float:left}.updraft-container .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.updraft-container .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.updraft-container .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.updraft-container .ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.updraft-container .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.updraft-container .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.updraft-container .ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.updraft-container .ui-datepicker-row-break{clear:both;width:100%;font-size:0}.updraft-container .ui-datepicker-rtl{direction:rtl}.updraft-container .ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.updraft-container .ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.updraft-container .ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.updraft-container .ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.updraft-container .ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.updraft-container .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.updraft-container .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.updraft-container .ui-datepicker-rtl .ui-datepicker-group{float:right}.updraft-container .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.updraft-container .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.updraft-container .ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.updraft-container .ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.updraft-container .ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative;height:auto;font-size:inherit;font-weight:inherit;line-height:inherit}.updraft-container .ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.updraft-container .ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.updraft-container .ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.updraft-container .ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.updraft-container .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.updraft-container .ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.updraft-container .ui-dialog .ui-resizable-n{height:2px;top:0}.updraft-container .ui-dialog .ui-resizable-e{width:2px;right:0}.updraft-container .ui-dialog .ui-resizable-s{height:2px;bottom:0}.updraft-container .ui-dialog .ui-resizable-w{width:2px;left:0}.updraft-container .ui-dialog .ui-resizable-se,.updraft-container .ui-dialog .ui-resizable-sw,.updraft-container .ui-dialog .ui-resizable-ne,.updraft-container .ui-dialog .ui-resizable-nw{width:7px;height:7px}.updraft-container .ui-dialog .ui-resizable-se{right:0;bottom:0}.updraft-container .ui-dialog .ui-resizable-sw{left:0;bottom:0}.updraft-container .ui-dialog .ui-resizable-ne{right:0;top:0}.updraft-container .ui-dialog .ui-resizable-nw{left:0;top:0}.updraft-container .ui-draggable .ui-dialog-titlebar{cursor:move}.updraft-container .ui-progressbar{height:2em;text-align:left;overflow:hidden}.updraft-container .ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.updraft-container .ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:.25}.updraft-container .ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.updraft-container .ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.updraft-container .ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.updraft-container .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px .4em;margin:.5em 0 0 0;height:auto;border:0}.updraft-container .ui-selectmenu-open{display:block}.updraft-container .ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.updraft-container .ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.updraft-container .ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.updraft-container .ui-slider{position:relative;text-align:left}.updraft-container .ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.updraft-container .ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.updraft-container .ui-slider.ui-state-disabled .ui-slider-handle,.updraft-container .ui-slider.ui-state-disabled .ui-slider-range{-webkit-filter:inherit;filter:inherit}.updraft-container .ui-slider-horizontal{height:.8em}.updraft-container .ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.updraft-container .ui-slider-horizontal .ui-slider-range{top:0;height:100%}.updraft-container .ui-slider-horizontal .ui-slider-range-min{left:0}.updraft-container .ui-slider-horizontal .ui-slider-range-max{right:0}.updraft-container .ui-slider-vertical{width:.8em;height:100px}.updraft-container .ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.updraft-container .ui-slider-vertical .ui-slider-range{left:0;width:100%}.updraft-container .ui-slider-vertical .ui-slider-range-min{bottom:0}.updraft-container .ui-slider-vertical .ui-slider-range-max{top:0}.updraft-container .ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.updraft-container .ui-spinner-input{border:0;background:0;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.updraft-container .ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.updraft-container .ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.updraft-container .ui-spinner-up{top:0}.updraft-container .ui-spinner-down{bottom:0}.updraft-container .ui-tabs{position:relative;padding:.2em}.updraft-container .ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.updraft-container .ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.updraft-container .ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.updraft-container .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.updraft-container .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.updraft-container .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.updraft-container .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.updraft-container .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.updraft-container .ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}.updraft-container .ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}.updraft-container body .ui-tooltip{border-width:2px}.updraft-container .ui-widget{font-family:trebuchet ms,tahoma,verdana,arial,sans-serif;font-size:1.1em}.updraft-container .ui-widget .ui-widget{font-size:1em}.updraft-container .ui-widget input,.updraft-container .ui-widget select,.updraft-container .ui-widget textarea,.updraft-container .ui-widget button{font-family:trebuchet ms,tahoma,verdana,arial,sans-serif;font-size:1em}.updraft-container .ui-widget.ui-widget-content{border:1px solid #CCC}.updraft-container .ui-widget-content{border:1px solid #DDD;background:#EEE;color:#333}.updraft-container .ui-widget-content a{color:#333}.updraft-container .ui-widget-header{border:1px solid #e78f08;background:#f6a828;color:#FFF;font-weight:bold}.updraft-container .ui-widget-header a{color:#FFF}.updraft-container .ui-state-default,.updraft-container .ui-widget-content .ui-state-default,.updraft-container .ui-widget-header .ui-state-default,.updraft-container .ui-button,.updraft-container html .ui-button.ui-state-disabled:hover,.updraft-container html .ui-button.ui-state-disabled:active{border:1px solid #CCC;background:#f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#2b2b2b}.updraft-container .ui-state-default a,.updraft-container .ui-state-default a:link,.updraft-container .ui-state-default a:visited,.updraft-container a.ui-button,.updraft-container a:link.ui-button,.updraft-container a:visited.ui-button,.updraft-container .ui-button{color:#2b2b2b;text-decoration:none}.updraft-container .ui-state-hover,.updraft-container .ui-widget-content .ui-state-hover,.updraft-container .ui-widget-header .ui-state-hover,.updraft-container .ui-state-focus,.updraft-container .ui-widget-content .ui-state-focus,.updraft-container .ui-widget-header .ui-state-focus,.updraft-container .ui-button:hover,.updraft-container .ui-button:focus{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.updraft-container .ui-state-hover a,.updraft-container .ui-state-hover a:hover,.updraft-container .ui-state-hover a:link,.updraft-container .ui-state-hover a:visited,.updraft-container .ui-state-focus a,.updraft-container .ui-state-focus a:hover,.updraft-container .ui-state-focus a:link,.updraft-container .ui-state-focus a:visited,.updraft-container a.ui-button:hover,.updraft-container a.ui-button:focus{color:#454545;text-decoration:none}.updraft-container .ui-visual-focus{-webkit-box-shadow:0 0 3px 1px #5e9ed6;box-shadow:0 0 3px 1px #5e9ed6}.updraft-container .ui-state-active,.updraft-container .ui-widget-content .ui-state-active,.updraft-container .ui-widget-header .ui-state-active,.updraft-container a.ui-button:active,.updraft-container .ui-button:active,.updraft-container .ui-button.ui-state-active:hover{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.updraft-container .ui-icon-background,.updraft-container .ui-state-active .ui-icon-background{border:#c5c5c5;background-color:#454545}.updraft-container .ui-state-active a,.updraft-container .ui-state-active a:link,.updraft-container .ui-state-active a:visited{color:#454545;text-decoration:none}.updraft-container .ui-state-highlight,.updraft-container .ui-widget-content .ui-state-highlight,.updraft-container .ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c;color:#363636}.updraft-container .ui-state-checked{border:1px solid #fed22f;background:#ffe45c}.updraft-container .ui-state-highlight a,.updraft-container .ui-widget-content .ui-state-highlight a,.updraft-container .ui-widget-header .ui-state-highlight a{color:#363636}.updraft-container .ui-state-error,.updraft-container .ui-widget-content .ui-state-error,.updraft-container .ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900;color:#FFF}.updraft-container .ui-state-error a,.updraft-container .ui-widget-content .ui-state-error a,.updraft-container .ui-widget-header .ui-state-error a{color:#FFF}.updraft-container .ui-state-error-text,.updraft-container .ui-widget-content .ui-state-error-text,.updraft-container .ui-widget-header .ui-state-error-text{color:#FFF}.updraft-container .ui-priority-primary,.updraft-container .ui-widget-content .ui-priority-primary,.updraft-container .ui-widget-header .ui-priority-primary{font-weight:bold}.updraft-container .ui-priority-secondary,.updraft-container .ui-widget-content .ui-priority-secondary,.updraft-container .ui-widget-header .ui-priority-secondary{opacity:.7;filter:alpha(opacity=70);font-weight:normal}.updraft-container .ui-state-disabled,.updraft-container .ui-widget-content .ui-state-disabled,.updraft-container .ui-widget-header .ui-state-disabled{opacity:.35;filter:alpha(opacity=35);background-image:none}.updraft-container .ui-state-disabled .ui-icon{filter:alpha(opacity=35)}.updraft-container .ui-icon{width:16px;height:16px}.updraft-container .ui-icon,.updraft-container .ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.updraft-container .ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.updraft-container .ui-state-hover .ui-icon,.updraft-container .ui-state-focus .ui-icon,.updraft-container .ui-button:hover .ui-icon,.updraft-container .ui-button:focus .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.updraft-container .ui-state-active .ui-icon,.updraft-container .ui-button:active .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.updraft-container .ui-state-highlight .ui-icon,.updraft-container .ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.updraft-container .ui-state-error .ui-icon,.updraft-container .ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.updraft-container .ui-button .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.updraft-container .ui-icon-blank{background-position:16px 16px}.updraft-container .ui-icon-caret-1-n{background-position:0 0}.updraft-container .ui-icon-caret-1-ne{background-position:-16px 0}.updraft-container .ui-icon-caret-1-e{background-position:-32px 0}.updraft-container .ui-icon-caret-1-se{background-position:-48px 0}.updraft-container .ui-icon-caret-1-s{background-position:-65px 0}.updraft-container .ui-icon-caret-1-sw{background-position:-80px 0}.updraft-container .ui-icon-caret-1-w{background-position:-96px 0}.updraft-container .ui-icon-caret-1-nw{background-position:-112px 0}.updraft-container .ui-icon-caret-2-n-s{background-position:-128px 0}.updraft-container .ui-icon-caret-2-e-w{background-position:-144px 0}.updraft-container .ui-icon-triangle-1-n{background-position:0 -16px}.updraft-container .ui-icon-triangle-1-ne{background-position:-16px -16px}.updraft-container .ui-icon-triangle-1-e{background-position:-32px -16px}.updraft-container .ui-icon-triangle-1-se{background-position:-48px -16px}.updraft-container .ui-icon-triangle-1-s{background-position:-65px -16px}.updraft-container .ui-icon-triangle-1-sw{background-position:-80px -16px}.updraft-container .ui-icon-triangle-1-w{background-position:-96px -16px}.updraft-container .ui-icon-triangle-1-nw{background-position:-112px -16px}.updraft-container .ui-icon-triangle-2-n-s{background-position:-128px -16px}.updraft-container .ui-icon-triangle-2-e-w{background-position:-144px -16px}.updraft-container .ui-icon-arrow-1-n{background-position:0 -32px}.updraft-container .ui-icon-arrow-1-ne{background-position:-16px -32px}.updraft-container .ui-icon-arrow-1-e{background-position:-32px -32px}.updraft-container .ui-icon-arrow-1-se{background-position:-48px -32px}.updraft-container .ui-icon-arrow-1-s{background-position:-65px -32px}.updraft-container .ui-icon-arrow-1-sw{background-position:-80px -32px}.updraft-container .ui-icon-arrow-1-w{background-position:-96px -32px}.updraft-container .ui-icon-arrow-1-nw{background-position:-112px -32px}.updraft-container .ui-icon-arrow-2-n-s{background-position:-128px -32px}.updraft-container .ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.updraft-container .ui-icon-arrow-2-e-w{background-position:-160px -32px}.updraft-container .ui-icon-arrow-2-se-nw{background-position:-176px -32px}.updraft-container .ui-icon-arrowstop-1-n{background-position:-192px -32px}.updraft-container .ui-icon-arrowstop-1-e{background-position:-208px -32px}.updraft-container .ui-icon-arrowstop-1-s{background-position:-224px -32px}.updraft-container .ui-icon-arrowstop-1-w{background-position:-240px -32px}.updraft-container .ui-icon-arrowthick-1-n{background-position:1px -48px}.updraft-container .ui-icon-arrowthick-1-ne{background-position:-16px -48px}.updraft-container .ui-icon-arrowthick-1-e{background-position:-32px -48px}.updraft-container .ui-icon-arrowthick-1-se{background-position:-48px -48px}.updraft-container .ui-icon-arrowthick-1-s{background-position:-64px -48px}.updraft-container .ui-icon-arrowthick-1-sw{background-position:-80px -48px}.updraft-container .ui-icon-arrowthick-1-w{background-position:-96px -48px}.updraft-container .ui-icon-arrowthick-1-nw{background-position:-112px -48px}.updraft-container .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.updraft-container .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.updraft-container .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.updraft-container .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.updraft-container .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.updraft-container .ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.updraft-container .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.updraft-container .ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.updraft-container .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.updraft-container .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.updraft-container .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.updraft-container .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.updraft-container .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.updraft-container .ui-icon-arrowreturn-1-n{background-position:-80px -64px}.updraft-container .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.updraft-container .ui-icon-arrowreturn-1-s{background-position:-112px -64px}.updraft-container .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.updraft-container .ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.updraft-container .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.updraft-container .ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.updraft-container .ui-icon-arrow-4{background-position:0 -80px}.updraft-container .ui-icon-arrow-4-diag{background-position:-16px -80px}.updraft-container .ui-icon-extlink{background-position:-32px -80px}.updraft-container .ui-icon-newwin{background-position:-48px -80px}.updraft-container .ui-icon-refresh{background-position:-64px -80px}.updraft-container .ui-icon-shuffle{background-position:-80px -80px}.updraft-container .ui-icon-transfer-e-w{background-position:-96px -80px}.updraft-container .ui-icon-transferthick-e-w{background-position:-112px -80px}.updraft-container .ui-icon-folder-collapsed{background-position:0 -96px}.updraft-container .ui-icon-folder-open{background-position:-16px -96px}.updraft-container .ui-icon-document{background-position:-32px -96px}.updraft-container .ui-icon-document-b{background-position:-48px -96px}.updraft-container .ui-icon-note{background-position:-64px -96px}.updraft-container .ui-icon-mail-closed{background-position:-80px -96px}.updraft-container .ui-icon-mail-open{background-position:-96px -96px}.updraft-container .ui-icon-suitcase{background-position:-112px -96px}.updraft-container .ui-icon-comment{background-position:-128px -96px}.updraft-container .ui-icon-person{background-position:-144px -96px}.updraft-container .ui-icon-print{background-position:-160px -96px}.updraft-container .ui-icon-trash{background-position:-176px -96px}.updraft-container .ui-icon-locked{background-position:-192px -96px}.updraft-container .ui-icon-unlocked{background-position:-208px -96px}.updraft-container .ui-icon-bookmark{background-position:-224px -96px}.updraft-container .ui-icon-tag{background-position:-240px -96px}.updraft-container .ui-icon-home{background-position:0 -112px}.updraft-container .ui-icon-flag{background-position:-16px -112px}.updraft-container .ui-icon-calendar{background-position:-32px -112px}.updraft-container .ui-icon-cart{background-position:-48px -112px}.updraft-container .ui-icon-pencil{background-position:-64px -112px}.updraft-container .ui-icon-clock{background-position:-80px -112px}.updraft-container .ui-icon-disk{background-position:-96px -112px}.updraft-container .ui-icon-calculator{background-position:-112px -112px}.updraft-container .ui-icon-zoomin{background-position:-128px -112px}.updraft-container .ui-icon-zoomout{background-position:-144px -112px}.updraft-container .ui-icon-search{background-position:-160px -112px}.updraft-container .ui-icon-wrench{background-position:-176px -112px}.updraft-container .ui-icon-gear{background-position:-192px -112px}.updraft-container .ui-icon-heart{background-position:-208px -112px}.updraft-container .ui-icon-star{background-position:-224px -112px}.updraft-container .ui-icon-link{background-position:-240px -112px}.updraft-container .ui-icon-cancel{background-position:0 -128px}.updraft-container .ui-icon-plus{background-position:-16px -128px}.updraft-container .ui-icon-plusthick{background-position:-32px -128px}.updraft-container .ui-icon-minus{background-position:-48px -128px}.updraft-container .ui-icon-minusthick{background-position:-64px -128px}.updraft-container .ui-icon-close{background-position:-80px -128px}.updraft-container .ui-icon-closethick{background-position:-96px -128px}.updraft-container .ui-icon-key{background-position:-112px -128px}.updraft-container .ui-icon-lightbulb{background-position:-128px -128px}.updraft-container .ui-icon-scissors{background-position:-144px -128px}.updraft-container .ui-icon-clipboard{background-position:-160px -128px}.updraft-container .ui-icon-copy{background-position:-176px -128px}.updraft-container .ui-icon-contact{background-position:-192px -128px}.updraft-container .ui-icon-image{background-position:-208px -128px}.updraft-container .ui-icon-video{background-position:-224px -128px}.updraft-container .ui-icon-script{background-position:-240px -128px}.updraft-container .ui-icon-alert{background-position:0 -144px}.updraft-container .ui-icon-info{background-position:-16px -144px}.updraft-container .ui-icon-notice{background-position:-32px -144px}.updraft-container .ui-icon-help{background-position:-48px -144px}.updraft-container .ui-icon-check{background-position:-64px -144px}.updraft-container .ui-icon-bullet{background-position:-80px -144px}.updraft-container .ui-icon-radio-on{background-position:-96px -144px}.updraft-container .ui-icon-radio-off{background-position:-112px -144px}.updraft-container .ui-icon-pin-w{background-position:-128px -144px}.updraft-container .ui-icon-pin-s{background-position:-144px -144px}.updraft-container .ui-icon-play{background-position:0 -160px}.updraft-container .ui-icon-pause{background-position:-16px -160px}.updraft-container .ui-icon-seek-next{background-position:-32px -160px}.updraft-container .ui-icon-seek-prev{background-position:-48px -160px}.updraft-container .ui-icon-seek-end{background-position:-64px -160px}.updraft-container .ui-icon-seek-start{background-position:-80px -160px}.updraft-container .ui-icon-seek-first{background-position:-80px -160px}.updraft-container .ui-icon-stop{background-position:-96px -160px}.updraft-container .ui-icon-eject{background-position:-112px -160px}.updraft-container .ui-icon-volume-off{background-position:-128px -160px}.updraft-container .ui-icon-volume-on{background-position:-144px -160px}.updraft-container .ui-icon-power{background-position:0 -176px}.updraft-container .ui-icon-signal-diag{background-position:-16px -176px}.updraft-container .ui-icon-signal{background-position:-32px -176px}.updraft-container .ui-icon-battery-0{background-position:-48px -176px}.updraft-container .ui-icon-battery-1{background-position:-64px -176px}.updraft-container .ui-icon-battery-2{background-position:-80px -176px}.updraft-container .ui-icon-battery-3{background-position:-96px -176px}.updraft-container .ui-icon-circle-plus{background-position:0 -192px}.updraft-container .ui-icon-circle-minus{background-position:-16px -192px}.updraft-container .ui-icon-circle-close{background-position:-32px -192px}.updraft-container .ui-icon-circle-triangle-e{background-position:-48px -192px}.updraft-container .ui-icon-circle-triangle-s{background-position:-64px -192px}.updraft-container .ui-icon-circle-triangle-w{background-position:-80px -192px}.updraft-container .ui-icon-circle-triangle-n{background-position:-96px -192px}.updraft-container .ui-icon-circle-arrow-e{background-position:-112px -192px}.updraft-container .ui-icon-circle-arrow-s{background-position:-128px -192px}.updraft-container .ui-icon-circle-arrow-w{background-position:-144px -192px}.updraft-container .ui-icon-circle-arrow-n{background-position:-160px -192px}.updraft-container .ui-icon-circle-zoomin{background-position:-176px -192px}.updraft-container .ui-icon-circle-zoomout{background-position:-192px -192px}.updraft-container .ui-icon-circle-check{background-position:-208px -192px}.updraft-container .ui-icon-circlesmall-plus{background-position:0 -208px}.updraft-container .ui-icon-circlesmall-minus{background-position:-16px -208px}.updraft-container .ui-icon-circlesmall-close{background-position:-32px -208px}.updraft-container .ui-icon-squaresmall-plus{background-position:-48px -208px}.updraft-container .ui-icon-squaresmall-minus{background-position:-64px -208px}.updraft-container .ui-icon-squaresmall-close{background-position:-80px -208px}.updraft-container .ui-icon-grip-dotted-vertical{background-position:0 -224px}.updraft-container .ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.updraft-container .ui-icon-grip-solid-vertical{background-position:-32px -224px}.updraft-container .ui-icon-grip-solid-horizontal{background-position:-48px -224px}.updraft-container .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.updraft-container .ui-icon-grip-diagonal-se{background-position:-80px -224px}.updraft-container .ui-corner-all,.updraft-container .ui-corner-top,.updraft-container .ui-corner-left,.updraft-container .ui-corner-tl{border-top-left-radius:4px}.updraft-container .ui-corner-all,.updraft-container .ui-corner-top,.updraft-container .ui-corner-right,.updraft-container .ui-corner-tr{border-top-right-radius:4px}.updraft-container .ui-corner-all,.updraft-container .ui-corner-bottom,.updraft-container .ui-corner-left,.updraft-container .ui-corner-bl{border-bottom-left-radius:4px}.updraft-container .ui-corner-all,.updraft-container .ui-corner-bottom,.updraft-container .ui-corner-right,.updraft-container .ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666;opacity:.5;filter:alpha(opacity=50)}.updraft-container .ui-widget-shadow{-webkit-box-shadow:-5px -5px 5px #000;box-shadow:-5px -5px 5px #000} /*# sourceMappingURL=jquery-ui.custom-v1.12.1-1-24-6.min.css.map */ includes/updraftplus-tour.php000064400000032117147400355670012442 0ustar00set_tour_status(array('current_step' => 'start')); return; } // if backups already exist and if ($this->updraftplus_was_already_installed() && !isset($_REQUEST['updraftplus_tour'])) { return; } // if 'Take tour' link was used, reset tour if (isset($_REQUEST['updraftplus_tour']) && 1 === (int) $_REQUEST['updraftplus_tour']) { $this->reset_tour_status(); } if (!UpdraftPlus_Options::get_updraft_option('updraftplus_tour_cancelled_on')) { add_action('admin_enqueue_scripts', array($this, 'load_tour')); } } /** * Loads in tour assets * * @param string $hook - current page */ public function load_tour($hook) { $pages = array('settings_page_updraftplus', 'plugins.php'); if (!in_array($hook, $pages)) return; if (!UpdraftPlus_Options::user_can_manage()) return; global $updraftplus, $updraftplus_addons2, $updraftplus_checkout_embed; $checkout_embed_5gb_attribute = ''; if ($updraftplus_checkout_embed) { $checkout_embed_5gb_attribute = $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-5-gb') ? 'data-embed-checkout="'.apply_filters('updraftplus_com_link', $updraftplus_checkout_embed->get_product('updraftplus-vault-storage-5-gb', UpdraftPlus_Options::admin_page_url().'?page=updraftplus&tab=settings')).'"' : ''; } $script_suffix = $updraftplus->use_unminified_scripts() ? '' : '.min'; $updraft_min_or_not = $updraftplus->get_updraftplus_file_version(); wp_enqueue_script('updraftplus-tether-js', trailingslashit(UPDRAFTPLUS_URL).'includes/tether/tether'.$script_suffix.'.js', $updraftplus->version, true); wp_enqueue_script('updraftplus-shepherd-js', trailingslashit(UPDRAFTPLUS_URL).'includes/tether-shepherd/shepherd'.$script_suffix.'.js', array('updraftplus-tether-js'), $updraftplus->version, true); wp_enqueue_style('updraftplus-shepherd-css', trailingslashit(UPDRAFTPLUS_URL).'css/tether-shepherd/shepherd-theme-arrows-plain-buttons'.$script_suffix.'.css', false, $updraftplus->version); wp_enqueue_style('updraftplus-tour-css', trailingslashit(UPDRAFTPLUS_URL).'css/updraftplus-tour'.$updraft_min_or_not.'.css', false, $updraftplus->version); wp_register_script('updraftplus-tour-js', trailingslashit(UPDRAFTPLUS_URL).'js/tour.js', array('updraftplus-tether-js'), $updraftplus->version, true); $tour_data = array( 'nonce' => wp_create_nonce('updraftplus-credentialtest-nonce'), 'show_tab_on_load' => '#updraft-navtab-status', 'next' => __('Next', 'updraftplus'), 'back' => __('Back', 'updraftplus'), 'skip' => __('Skip this step', 'updraftplus'), 'end_tour' => __('End tour', 'updraftplus'), 'close' => __('Close', 'updraftplus'), 'plugins_page' => array( 'title' => __("UpdraftPlus settings", 'updraftplus'), 'text' => ''.__('Welcome to UpdraftPlus', 'updraftplus').', '.__("the world’s most trusted backup plugin!", 'updraftplus'), 'button' => array( 'url' => UpdraftPlus_Options::admin_page_url().'?page=updraftplus', 'text' => __('Press here to start!', 'updraftplus') ) ), 'backup_now' => array( 'title' => __('Your first backup', 'updraftplus'), 'text' => sprintf(_x('To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s', 'updraftplus'), '', '') ), 'backup_options' => array( 'title' => __("Manual backup options", 'updraftplus'), 'text' => __('Select what you want to backup', 'updraftplus') ), 'backup_now_btn' => array( 'title' => __("Creating your first backup", 'updraftplus'), 'text' => __("Press here to run a manual backup.", 'updraftplus').'
    '.sprintf(_x("But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s", 'Translators: %s is a bold tag.', 'updraftplus'), '', ''), 'btn_text' => __('Go to settings', 'updraftplus') ), 'backup_now_btn_success' => array( 'title' => __('Creating your first backup', 'updraftplus'), 'text' => __('Congratulations! Your first backup is running.', 'updraftplus').'
    '.sprintf(_x('But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s', 'Translators: %s is a bold tag.', 'updraftplus'), '', ''), 'btn_text' => __('Go to settings', 'updraftplus') ), 'settings_timing' => array( 'title' => __("Choose your backup schedule", 'updraftplus'), 'text' => __("Choose the schedule that you want your backups to run on.", 'updraftplus') ), 'settings_remote_storage' => array( 'title' => __("Remote storage", 'updraftplus'), 'text' => __('Now select a remote storage destination to protect against server-wide threats.', 'updraftplus').' '.__('If not, your backups remain on the same server as your site.', 'updraftplus') .'
    ' .'

    '.__('Try UpdraftVault!').'

    ' .__("UpdraftVault is our remote storage which works seamlessly with UpdraftPlus.", 'updraftplus') .' '.__('Find out more here.', 'updraftplus').'' .'

    '.__('Try UpdraftVault for 1 month for only $1!', 'updraftplus').'

    ' .'
    ' ), 'settings_more' => array( 'title' => __("More settings", 'updraftplus'), 'text' => __("Look through the other settings here, making any changes you’d like.", 'updraftplus') ), 'settings_save' => array( 'title' => __("Save", 'updraftplus'), 'text' => __('Press here to save your settings.', 'updraftplus') ), 'settings_saved' => array( 'title' => __("Save", 'updraftplus'), 'text' => __('Congratulations, your settings have successfully been saved.', 'updraftplus') ), 'updraft_central' => array( 'title' => __("UpdraftCentral", 'updraftplus'), 'text' => '
    ' .'

    '.__('Control all your backups in one place', 'updraftplus').'

    ' .__('Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral.', 'updraftplus') .'
    ' ), 'premium' => array( 'title' => 'UpdraftPlus Premium', 'text' => __('Thank you for taking the tour.', 'updraftplus') .'
    ' .'

    '.__('UpdraftPlus Premium and addons', 'updraftplus').'

    ' .__('UpdraftPlus Premium has many more exciting features!', 'updraftplus').' '.__('Find out more here.', 'updraftplus').'' .'
    ', 'attach_to' => '#updraft-navtab-addons top', 'button' => __('Finish', 'updraftplus') ), 'vault_selected' => array( 'title' => 'UpdraftVault', 'text' => _x('To get started with UpdraftVault, select one of the options below:', 'Translators: UpdraftVault is a product name and should not be translated.', 'updraftplus') ) ); if (isset($_REQUEST['tab'])) { $tour_data['show_tab_on_load'] = '#updraft-navtab-'.esc_attr(sanitize_text_field($_REQUEST['tab'])); } // Change the data for premium users if ($updraftplus_addons2 && method_exists($updraftplus_addons2, 'connection_status')) { $tour_data['settings_remote_storage'] = array( 'title' => __("Remote storage", 'updraftplus'), 'text' => __('Now select a remote storage destination to protect against server-wide threats.', 'updraftplus').' '.__('If not, your backups remain on the same server as your site.', 'updraftplus') .'
    ' .'

    '.__('Try UpdraftVault!').'

    ' .__("UpdraftVault is our remote storage which works seamlessly with UpdraftPlus.", 'updraftplus') .' '.__('Find out more here.', 'updraftplus').'' .'
    ' .__("If you have a valid Premium license, you get 1GB of storage included.", 'updraftplus') .' '.__('Otherwise, you can try UpdraftVault for 1 month for only $1!', 'updraftplus').'' .'
    ' ); if ($updraftplus_addons2->connection_status() && !is_wp_error($updraftplus_addons2->connection_status())) { $tour_data['premium'] = array( 'title' => 'UpdraftPlus Premium', 'text' => __('Thank you for taking the tour.', 'updraftplus').' '.__('You are now all set to use UpdraftPlus!', 'updraftplus'), 'attach_to' => '#updraft-navtab-addons top', 'button' => __('Finish', 'updraftplus') ); } else { $tour_data['premium'] = array( 'title' => 'UpdraftPlus Premium', 'text' => __('Thank you for taking the tour.', 'updraftplus') .'
    ' .'

    '.__('Connect to updraftplus.com', 'updraftplus').'

    ' .__('Log in here to enable all the features you have access to.', 'updraftplus') .'
    ', 'attach_to' => '#updraftplus-addons_options_email right', 'button' => __('Finish', 'updraftplus') ); } } wp_localize_script('updraftplus-tour-js', 'updraftplus_tour_i18n', $tour_data); wp_enqueue_script('updraftplus-tour-js'); } /** * Removes the tour status so the tour can be seen again * * @return string|WP_Error not visible by the user */ public function reset_tour_status() { // If the option isn't set, the tour hasn't been cancelled if (!UpdraftPlus_Options::get_updraft_option('updraftplus_tour_cancelled_on')) { // string not visible by the user return 'The tour is still active. Everything should be ok.'; } $result = UpdraftPlus_Options::delete_updraft_option('updraftplus_tour_cancelled_on'); // strings not visible by the user return $result ? 'The tour status was successfully reset' : new WP_Error('update_failed', 'The attempt to update the tour option failed.', array('status' => 409)); } /** * Updates the stored value for which step the tour ended on * * @param object $request - the http $_REQUEST obj * @return bool */ public function set_tour_status($request) { if (!isset($request['current_step'])) return false; return UpdraftPlus_Options::update_updraft_option('updraftplus_tour_cancelled_on', $request['current_step']); } /** * Adds the Tour link under the plugin on the plugin screen. * * @param Array $links Set of links for the plugin, before being filtered * @param String $file File name (relative to the plugin directory) * @return Array filtered results */ public function plugin_action_links($links, $file) { if (is_array($links) && 'updraftplus/updraftplus.php' === $file) { $links['updraftplus_tour'] = ''.__("Take Tour", "updraftplus").''; } return $links; } /** * Checks if UDP was newly installed. * * Checks if there are backups, and if there are more than 1, * checks if the folder is older than 1 day old * * @return bool */ public function updraftplus_was_already_installed() { // If backups already exist $backup_history = UpdraftPlus_Backup_History::get_history(); // No backup history if (!$backup_history) return false; if (is_array($backup_history) && 0 === count($backup_history)) { return false; } // If there is at least 1 backup, we check if the folder is older than 1 day old if (0 < count($backup_history)) { $backups_timestamps = array_keys($backup_history); $last_backlup_age = time() - end($backups_timestamps); if (DAY_IN_SECONDS < $last_backlup_age) { // the oldest backup is older than 1 day old, so it's likely that UDP was already installed, and the backups aren't a product of the user testing while doing the tour. return true; } } return false; } } add_action('admin_init', array(UpdraftPlus_Tour::get_instance(), 'init')); includes/updraftcentral.php000064400000005371147400355670012122 0ustar00send_remote_request($data, $action); if (is_wp_error($response)) { $response = array('error' => true, 'code' => $response->get_error_code(), 'message' => $response->get_error_message()); } else { if (isset($response['status'])) { if (in_array($response['status'], array('authenticated', 'registered'))) { $response['redirect_url'] = $updraftplus->get_url('mothership').'/?udm_action=updraftcentral_cloud_redirect'; if (is_a($updraftcentral_main, 'UpdraftCentral_Main')) { $response['keys_table'] = $updraftcentral_main->get_keys_table(); } if (!empty($data['addons_options_connect']) && class_exists('UpdraftPlus_Options')) { UpdraftPlus_Options::update_updraft_option('updraftplus_com_and_udc_connection_success', 1, false); } } else { if ('error' === $response['status']) { $response = array( 'error' => true, 'code' => isset($response['code']) ? $response['code'] : -1, 'message' => isset($response['message']) ? $response['message'] : $this->translate_message('generic'), 'response' => $response ); } } } else { $response = array('error' => true, 'message' => $this->translate_message('generic')); } } return $response; } } includes/checkout-embed/assets/udp-checkout-embed-1-24-4.min.css.map000064400000006221147400355670021006 0ustar00{"version":3,"sources":["includes/checkout-embed/assets/udp-checkout-embed.css"],"names":[],"mappings":"AAAA;;CAEC;EACC,mCAA2B;UAA3B,2BAA2B;CAC5B;;AAED;;AANA;;CAEC;EACC,mCAA2B;UAA3B,2BAA2B;CAC5B;;AAED;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,MAAM;CACN,OAAO;CACP,SAAS;CACT,QAAQ;CACR,cAAc;AACf;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,kBAAkB;CAClB,gBAAgB;CAChB,YAAY;CACZ,UAAU;AACX;;AAEA;CACC,kBAAkB;CAClB,UAAU;CACV,OAAO;CACP,SAAS;CACT,SAAS;CACT,QAAQ;CACR,gBAAgB;CAChB,oDAAkC;SAAlC,4CAAkC;CAClC,cAAc;AACf;;AAEA;CACC,kBAAkB;CAClB,cAAc;AACf;;AAEA;CACC,eAAe;CACf,8BAAsB;SAAtB,sBAAsB;CACtB,kBAAkB;AACnB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,WAAW;CACX,UAAU;CACV,cAAc;CACd,kBAAkB;CAClB,QAAQ;CACR,SAAS;CACT,mBAAmB;CACnB,kBAAkB;CAClB,WAAW;CACX,0CAA0C;CAC1C,kCAAkC;CAClC,2CAA2C;CAC3C,sBAAsB;CACtB,cAAc;CACd,kBAAkB;CAClB,cAAc;CACd,WAAW;CACX,UAAU;CACV,YAAY;AACb;;AAEA;;;;CAIC,aAAa;AACd;;AAEA;CACC,kBAAkB;CAClB,MAAM;CACN,OAAO;CACP,QAAQ;CACR,SAAS;CACT,UAAU;CACV,gBAAgB;AACjB;;AAEA;CACC,kBAAkB;CAClB,WAAW;CACX,YAAY;AACb;;AAEA;;CAEC;EACC,UAAU;EACV,sBAAsB;EACtB,YAAY;EACZ,WAAW;CACZ;;AAED;;AAEA;;CAEC;EACC,SAAS;CACV;;AAED","file":"udp-checkout-embed-1-24-4.min.css","sourcesContent":["@keyframes spin {\n\n\t100% {\n\t\ttransform: rotate( 360deg );\n\t}\n\n}\n\nbody.udp-modal-is-opened {\n\toverflow: hidden;\n}\n\n.udp-modal {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\tz-index: 20000;\n}\n\n.udp-modal__overlay {\n\twidth: 100%;\n\theight: 100%;\n\tposition: absolute;\n\tbackground: #000;\n\topacity: 0.8;\n\tz-index: 1;\n}\n\n.udp-modal__modal {\n\tposition: absolute;\n\tz-index: 2;\n\tleft: 0;\n\ttop: 32px;\n\tbottom: 0;\n\tright: 0;\n\tbackground: #FFF;\n\tbox-shadow: 0px 4px 10px #00000075;\n\toverflow: auto;\n}\n\n.udp-modal__content {\n\tposition: relative;\n\toverflow: auto;\n}\n\n.udp-modal__content .img {\n\tpadding: 0 20px;\n\tbox-sizing: border-box;\n\ttext-align: center;\n}\n\n.udp-modal__content .img img {\n\tmax-width: 100%;\n}\n\n.udp-modal__content .text {\n\tpadding: 40px;\n}\n\n.udp-modal.loading {\n\tbackground-image: url();\n}\n\n.udp-modal.loading::before {\n\theight: 1em;\n\twidth: 1em;\n\tdisplay: block;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-left: -0.5em;\n\tmargin-top: -0.5em;\n\tcontent: '';\n\t-webkit-animation: spin 1s linear infinite;\n\tanimation: spin 1s linear infinite;\n\tbackground: url('loader.svg') center center;\n\tbackground-size: cover;\n\tline-height: 1;\n\ttext-align: center;\n\tfont-size: 2em;\n\tcolor: #000;\n\tz-index: 3;\n\topacity: 0.5;\n}\n\n.udp-modal.loading .udp-modal__content,\n.udp-modal.loading .udp-modal__sidebar,\n.iframe-is-opened .udp-modal__content,\n.iframe-is-opened .udp-modal__sidebar {\n\tdisplay: none;\n}\n\n.udp-modal__iframe {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tz-index: 3;\n\tbackground: #FFF;\n}\n\n.udp-modal__iframe iframe {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n}\n\n@media(min-width: 1200px) {\n\n\t.udp-modal__modal {\n\t\tleft: 20px;\n\t\ttop: calc(20px + 32px);\n\t\tbottom: 20px;\n\t\tright: 20px;\n\t}\n\n}\n\n@media(max-width: 782px) {\n\n\t.udp-modal__modal {\n\t\ttop: 46px;\n\t}\n\n}"]}includes/checkout-embed/assets/udp-checkout-embed.css000064400000004053147400355670016727 0ustar00@-webkit-keyframes spin { 100% { -webkit-transform: rotate( 360deg ); transform: rotate( 360deg ); } } @keyframes spin { 100% { -webkit-transform: rotate( 360deg ); transform: rotate( 360deg ); } } body.udp-modal-is-opened { overflow: hidden; } .udp-modal { position: fixed; top: 0; left: 0; bottom: 0; right: 0; z-index: 20000; } .udp-modal__overlay { width: 100%; height: 100%; position: absolute; background: #000; opacity: 0.8; z-index: 1; } .udp-modal__modal { position: absolute; z-index: 2; left: 0; top: 32px; bottom: 0; right: 0; background: #FFF; -webkit-box-shadow: 0px 4px 10px rgba(0,0,0,0.45882); box-shadow: 0px 4px 10px rgba(0,0,0,0.45882); overflow: auto; } .udp-modal__content { position: relative; overflow: auto; } .udp-modal__content .img { padding: 0 20px; -webkit-box-sizing: border-box; box-sizing: border-box; text-align: center; } .udp-modal__content .img img { max-width: 100%; } .udp-modal__content .text { padding: 40px; } .udp-modal.loading { background-image: url(); } .udp-modal.loading::before { height: 1em; width: 1em; display: block; position: absolute; top: 50%; left: 50%; margin-left: -0.5em; margin-top: -0.5em; content: ''; -webkit-animation: spin 1s linear infinite; animation: spin 1s linear infinite; background: url('loader.svg') center center; background-size: cover; line-height: 1; text-align: center; font-size: 2em; color: #000; z-index: 3; opacity: 0.5; } .udp-modal.loading .udp-modal__content, .udp-modal.loading .udp-modal__sidebar, .iframe-is-opened .udp-modal__content, .iframe-is-opened .udp-modal__sidebar { display: none; } .udp-modal__iframe { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 3; background: #FFF; } .udp-modal__iframe iframe { position: absolute; width: 100%; height: 100%; } @media(min-width: 1200px) { .udp-modal__modal { left: 20px; top: calc(20px + 32px); bottom: 20px; right: 20px; } } @media(max-width: 782px) { .udp-modal__modal { top: 46px; } }includes/checkout-embed/assets/udp-checkout-embed-1-24-6.min.css000064400000003352147400355670020236 0ustar00@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}body.udp-modal-is-opened{overflow:hidden}.udp-modal{position:fixed;top:0;left:0;bottom:0;right:0;z-index:20000}.udp-modal__overlay{width:100%;height:100%;position:absolute;background:#000;opacity:.8;z-index:1}.udp-modal__modal{position:absolute;z-index:2;left:0;top:32px;bottom:0;right:0;background:#FFF;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.45882);box-shadow:0 4px 10px rgba(0,0,0,0.45882);overflow:auto}.udp-modal__content{position:relative;overflow:auto}.udp-modal__content .img{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.udp-modal__content .img img{max-width:100%}.udp-modal__content .text{padding:40px}.udp-modal.loading{background-image:url()}.udp-modal.loading::before{height:1em;width:1em;display:block;position:absolute;top:50%;left:50%;margin-left:-0.5em;margin-top:-0.5em;content:'';-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;background:url('loader.svg') center center;background-size:cover;line-height:1;text-align:center;font-size:2em;color:#000;z-index:3;opacity:.5}.udp-modal.loading .udp-modal__content,.udp-modal.loading .udp-modal__sidebar,.iframe-is-opened .udp-modal__content,.iframe-is-opened .udp-modal__sidebar{display:none}.udp-modal__iframe{position:absolute;top:0;left:0;right:0;bottom:0;z-index:3;background:#FFF}.udp-modal__iframe iframe{position:absolute;width:100%;height:100%}@media(min-width:1200px){.udp-modal__modal{left:20px;top:calc(20px + 32px);bottom:20px;right:20px}}@media(max-width:782px){.udp-modal__modal{top:46px}} /*# sourceMappingURL=udp-checkout-embed-1-24-6.min.css.map */ includes/checkout-embed/assets/udp-checkout-embed-1-24-6.min.js000064400000002205147400355670020056 0ustar00!function(o){var t={loading:!1,init:function(){var t;o("a[data-embed-checkout]").length&&(t=this,o(document).on("click","a[data-embed-checkout]",function(e){e.preventDefault(),t.modal.open(o(this))}))},modal:{open:function(e){this.$target=e,(!this.product_url||this.product_url&&this.product_url!=e.data("embed-checkout"))&&(this.product_url=e.data("embed-checkout")),this.show_checkout()},setup:function(){this.$el&&(this.$el.remove(),this.$el=null);var e=o("#udp-modal-template").html();this.$el=o(e),window.addEventListener("message",function(e){var t=e.data;if(t&&t.action)switch(t.action){case"domready":this.$el.removeClass("loading");break;case"closemodal":o(document).trigger("udp/checkout/close",t.data,this.$target),this.close();break;case"ordercomplete":console.log("Order complete:",t.data),o(document).trigger("udp/checkout/done",t.data,this.$target)}}.bind(this))},close:function(e){e&&e.preventDefault(),o("body").removeClass("udp-modal-is-opened"),this.$iframe&&(this.$iframe.remove(),this.$iframe_container.remove()),this.$el.hide()},show_checkout:function(){window.open(this.product_url,"_blank")}}};jQuery(function(e){t.init()})}(jQuery);includes/checkout-embed/assets/udp-checkout-embed-1-24-6.min.css.map000064400000006221147400355670021010 0ustar00{"version":3,"sources":["includes/checkout-embed/assets/udp-checkout-embed.css"],"names":[],"mappings":"AAAA;;CAEC;EACC,mCAA2B;UAA3B,2BAA2B;CAC5B;;AAED;;AANA;;CAEC;EACC,mCAA2B;UAA3B,2BAA2B;CAC5B;;AAED;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,eAAe;CACf,MAAM;CACN,OAAO;CACP,SAAS;CACT,QAAQ;CACR,cAAc;AACf;;AAEA;CACC,WAAW;CACX,YAAY;CACZ,kBAAkB;CAClB,gBAAgB;CAChB,YAAY;CACZ,UAAU;AACX;;AAEA;CACC,kBAAkB;CAClB,UAAU;CACV,OAAO;CACP,SAAS;CACT,SAAS;CACT,QAAQ;CACR,gBAAgB;CAChB,oDAAkC;SAAlC,4CAAkC;CAClC,cAAc;AACf;;AAEA;CACC,kBAAkB;CAClB,cAAc;AACf;;AAEA;CACC,eAAe;CACf,8BAAsB;SAAtB,sBAAsB;CACtB,kBAAkB;AACnB;;AAEA;CACC,eAAe;AAChB;;AAEA;CACC,aAAa;AACd;;AAEA;CACC,uBAAuB;AACxB;;AAEA;CACC,WAAW;CACX,UAAU;CACV,cAAc;CACd,kBAAkB;CAClB,QAAQ;CACR,SAAS;CACT,mBAAmB;CACnB,kBAAkB;CAClB,WAAW;CACX,0CAA0C;CAC1C,kCAAkC;CAClC,2CAA2C;CAC3C,sBAAsB;CACtB,cAAc;CACd,kBAAkB;CAClB,cAAc;CACd,WAAW;CACX,UAAU;CACV,YAAY;AACb;;AAEA;;;;CAIC,aAAa;AACd;;AAEA;CACC,kBAAkB;CAClB,MAAM;CACN,OAAO;CACP,QAAQ;CACR,SAAS;CACT,UAAU;CACV,gBAAgB;AACjB;;AAEA;CACC,kBAAkB;CAClB,WAAW;CACX,YAAY;AACb;;AAEA;;CAEC;EACC,UAAU;EACV,sBAAsB;EACtB,YAAY;EACZ,WAAW;CACZ;;AAED;;AAEA;;CAEC;EACC,SAAS;CACV;;AAED","file":"udp-checkout-embed-1-24-6.min.css","sourcesContent":["@keyframes spin {\n\n\t100% {\n\t\ttransform: rotate( 360deg );\n\t}\n\n}\n\nbody.udp-modal-is-opened {\n\toverflow: hidden;\n}\n\n.udp-modal {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\tz-index: 20000;\n}\n\n.udp-modal__overlay {\n\twidth: 100%;\n\theight: 100%;\n\tposition: absolute;\n\tbackground: #000;\n\topacity: 0.8;\n\tz-index: 1;\n}\n\n.udp-modal__modal {\n\tposition: absolute;\n\tz-index: 2;\n\tleft: 0;\n\ttop: 32px;\n\tbottom: 0;\n\tright: 0;\n\tbackground: #FFF;\n\tbox-shadow: 0px 4px 10px #00000075;\n\toverflow: auto;\n}\n\n.udp-modal__content {\n\tposition: relative;\n\toverflow: auto;\n}\n\n.udp-modal__content .img {\n\tpadding: 0 20px;\n\tbox-sizing: border-box;\n\ttext-align: center;\n}\n\n.udp-modal__content .img img {\n\tmax-width: 100%;\n}\n\n.udp-modal__content .text {\n\tpadding: 40px;\n}\n\n.udp-modal.loading {\n\tbackground-image: url();\n}\n\n.udp-modal.loading::before {\n\theight: 1em;\n\twidth: 1em;\n\tdisplay: block;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\tmargin-left: -0.5em;\n\tmargin-top: -0.5em;\n\tcontent: '';\n\t-webkit-animation: spin 1s linear infinite;\n\tanimation: spin 1s linear infinite;\n\tbackground: url('loader.svg') center center;\n\tbackground-size: cover;\n\tline-height: 1;\n\ttext-align: center;\n\tfont-size: 2em;\n\tcolor: #000;\n\tz-index: 3;\n\topacity: 0.5;\n}\n\n.udp-modal.loading .udp-modal__content,\n.udp-modal.loading .udp-modal__sidebar,\n.iframe-is-opened .udp-modal__content,\n.iframe-is-opened .udp-modal__sidebar {\n\tdisplay: none;\n}\n\n.udp-modal__iframe {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tz-index: 3;\n\tbackground: #FFF;\n}\n\n.udp-modal__iframe iframe {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n}\n\n@media(min-width: 1200px) {\n\n\t.udp-modal__modal {\n\t\tleft: 20px;\n\t\ttop: calc(20px + 32px);\n\t\tbottom: 20px;\n\t\tright: 20px;\n\t}\n\n}\n\n@media(max-width: 782px) {\n\n\t.udp-modal__modal {\n\t\ttop: 46px;\n\t}\n\n}"]}includes/checkout-embed/assets/udp-checkout-embed-1-24-4.min.js000064400000002205147400355670020054 0ustar00!function(o){var t={loading:!1,init:function(){var t;o("a[data-embed-checkout]").length&&(t=this,o(document).on("click","a[data-embed-checkout]",function(e){e.preventDefault(),t.modal.open(o(this))}))},modal:{open:function(e){this.$target=e,(!this.product_url||this.product_url&&this.product_url!=e.data("embed-checkout"))&&(this.product_url=e.data("embed-checkout")),this.show_checkout()},setup:function(){this.$el&&(this.$el.remove(),this.$el=null);var e=o("#udp-modal-template").html();this.$el=o(e),window.addEventListener("message",function(e){var t=e.data;if(t&&t.action)switch(t.action){case"domready":this.$el.removeClass("loading");break;case"closemodal":o(document).trigger("udp/checkout/close",t.data,this.$target),this.close();break;case"ordercomplete":console.log("Order complete:",t.data),o(document).trigger("udp/checkout/done",t.data,this.$target)}}.bind(this))},close:function(e){e&&e.preventDefault(),o("body").removeClass("udp-modal-is-opened"),this.$iframe&&(this.$iframe.remove(),this.$iframe_container.remove()),this.$el.hide()},show_checkout:function(){window.open(this.product_url,"_blank")}}};jQuery(function(e){t.init()})}(jQuery);includes/checkout-embed/assets/udp-checkout-embed-1-24-4.min.css000064400000003352147400355670020234 0ustar00@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}body.udp-modal-is-opened{overflow:hidden}.udp-modal{position:fixed;top:0;left:0;bottom:0;right:0;z-index:20000}.udp-modal__overlay{width:100%;height:100%;position:absolute;background:#000;opacity:.8;z-index:1}.udp-modal__modal{position:absolute;z-index:2;left:0;top:32px;bottom:0;right:0;background:#FFF;-webkit-box-shadow:0 4px 10px rgba(0,0,0,0.45882);box-shadow:0 4px 10px rgba(0,0,0,0.45882);overflow:auto}.udp-modal__content{position:relative;overflow:auto}.udp-modal__content .img{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.udp-modal__content .img img{max-width:100%}.udp-modal__content .text{padding:40px}.udp-modal.loading{background-image:url()}.udp-modal.loading::before{height:1em;width:1em;display:block;position:absolute;top:50%;left:50%;margin-left:-0.5em;margin-top:-0.5em;content:'';-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;background:url('loader.svg') center center;background-size:cover;line-height:1;text-align:center;font-size:2em;color:#000;z-index:3;opacity:.5}.udp-modal.loading .udp-modal__content,.udp-modal.loading .udp-modal__sidebar,.iframe-is-opened .udp-modal__content,.iframe-is-opened .udp-modal__sidebar{display:none}.udp-modal__iframe{position:absolute;top:0;left:0;right:0;bottom:0;z-index:3;background:#FFF}.udp-modal__iframe iframe{position:absolute;width:100%;height:100%}@media(min-width:1200px){.udp-modal__modal{left:20px;top:calc(20px + 32px);bottom:20px;right:20px}}@media(max-width:782px){.udp-modal__modal{top:46px}} /*# sourceMappingURL=udp-checkout-embed-1-24-4.min.css.map */ includes/checkout-embed/assets/udp-checkout-embed.js000064400000004731147400355670016556 0ustar00(function($) { var checkout_embed = { loading: false, init: function() { var buttons = $('a[data-embed-checkout]'); if (!buttons.length) return; var that = this; $(document).on('click', 'a[data-embed-checkout]', function(e) { e.preventDefault(); that.modal.open($(this)); }); }, modal: { open: function($target) { // if first time opening or different product this.$target = $target; if (!this.product_url || (this.product_url && this.product_url != $target.data('embed-checkout'))) { this.product_url = $target.data('embed-checkout'); // Disabled because of SameSite cookie issues // this.setup(); } this.show_checkout(); if (0) { // Disabled because of SameSite cookie issues // adds / remove classes $('body').addClass('udp-modal-is-opened'); this.$el.removeClass('iframe-is-opened'); // Show it. this.$el.appendTo('body').show(); window.scrollTo(0,0); } }, setup: function() { if (this.$el) { this.$el.remove(); this.$el = null; } var template = $('#udp-modal-template').html(); this.$el = $(template); // receives events from iframe window.addEventListener('message', function(event) { var response = event.data; if (response && response.action) { switch (response.action) { case 'domready': this.$el.removeClass('loading'); break; case 'closemodal': $(document).trigger('udp/checkout/close', response.data, this.$target); this.close(); break; case 'ordercomplete': console.log('Order complete:', response.data); $(document).trigger('udp/checkout/done', response.data, this.$target); break; } } }.bind(this)); }, close: function(event) { if (event) event.preventDefault(); $('body').removeClass('udp-modal-is-opened'); if (this.$iframe) { this.$iframe.remove(); this.$iframe_container.remove(); } this.$el.hide(); }, show_checkout: function() { if (1) { window.open(this.product_url, '_blank'); } else { // Disabled because of SameSite problems this.$el.addClass('loading iframe-is-opened'); this.$iframe = $(''),jQuery("#updraft-iframe-modal").dialog({title:e,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,useContentSize:!1,open:function(t,e){jQuery(this).dialog("option","width",780),jQuery(this).dialog("option","minHeight",260),500r?jQuery(this).dialog("option","height",r):jQuery(this).dialog("option","height",jQuery(window).height()-30)}}).dialog("open")}function updraftplus_diskspace(){jQuery("#updraft-navtab-backups-content .updraft_diskspaceused").html(""+updraftlion.calculating+""),updraft_send_command("get_fragment",{fragment:"disk_usage",data:"updraft"},function(t){jQuery("#updraft-navtab-backups-content .updraft_diskspaceused").html(t.output)},{type:"GET"})}"undefined"!=typeof updraft_siteurl&&setInterval(function(){jQuery.get(updraft_siteurl+"/wp-cron.php")},21e4);lastlog_lastmessage="";function updraftplus_deletefromserver(t,e,a){updraft_send_command("updraft_download_backup",{stage:"delete",timestamp:t,type:e,findex:a=a||0},null,{action:"updraft_download_backup",nonce:updraft_download_nonce,nonce_key:"_wpnonce"})}function updraftplus_downloadstage2(t,e,a){location.href=ajaxurl+"?_wpnonce="+updraft_download_nonce+"×tamp="+t+"&type="+e+"&stage=2&findex="+a+"&action=updraft_download_backup"}function updraftplus_show_contents(t,e,a){updraft_html_modal('

    '+updraftlion.zip_file_contents_info+' -

    '+updraftlion.browse_download_link+'
    ',updraftlion.zip_file_contents,780,500),zip_files_jstree("zipbrowser",t,e,a)}function zip_files_jstree(a,r,n,o){jQuery("#updraft_zip_files_jstree").jstree({core:{multiple:!1,data:function(t,e){updraft_send_command("get_jstree_directory_nodes",{entity:a,node:t,timestamp:r,type:n,findex:o},function(t){t.hasOwnProperty("error")?alert(t.error):e.call(this,t.nodes)},{error_callback:function(t,e,a,r){void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),jQuery("#updraft_zip_files_jstree").html('

    '+r.fatal_error_message+"

    "),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",jQuery("#updraft_zip_files_jstree").html('

    '+r+"

    "),console.log(r),alert(r),console.log(t))}})},error:function(t){alert(t),console.log(t)}},search:{show_only_matches:!0},plugins:["search","sort"]}),jQuery("#updraft_zip_files_jstree").on("ready.jstree",function(t,e){jQuery("#updraft-iframe-modal").dialog("option","title",updraftlion.zip_file_contents+": "+e.instance.get_node("#").children[0])});var t=!1;jQuery("#zip_files_jstree_search").on("keyup",function(){t&&clearTimeout(t),t=setTimeout(function(){var t=jQuery("#zip_files_jstree_search").val();jQuery("#updraft_zip_files_jstree").jstree(!0).search(t)},250)}),jQuery("#updraft_zip_files_jstree").on("changed.jstree",function(t,e){jQuery("#updraft_zip_path_text").text(e.node.li_attr.path),e.node.li_attr.size?(jQuery("#updraft_zip_size_text").text(e.node.li_attr.size),jQuery("#updraft_zip_download_item").show()):(jQuery("#updraft_zip_size_text").text(""),jQuery("#updraft_zip_download_item").hide())}),jQuery("#updraft_zip_download_item").on("click",function(t){t.preventDefault(),updraft_send_command("get_zipfile_download",{path:jQuery("#updraft_zip_path_text").text(),timestamp:r,type:n,findex:o},function(t){t.hasOwnProperty("error")?alert(t.error):t.hasOwnProperty("path")?location.href=ajaxurl+"?_wpnonce="+updraft_download_nonce+"×tamp="+r+"&type="+n+"&stage=2&findex="+o+"&filepath="+t.path+"&action=updraft_download_backup":alert(updraftlion.download_timeout)},{error_callback:function(t,e,a,r){void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),alert(r),console.log(t))}})})}function remove_updraft_downloader(t,e){jQuery(t).closest(".updraftplus_downloader").fadeOut().remove(),0==jQuery(".updraftplus_downloader_container_"+e+" .updraftplus_downloader").length&&jQuery(".updraftplus_downloader_container_"+e).remove()}function updraft_downloader(t,e,a,r,n,o,d){"string"!=typeof n&&(n=n.toString()),jQuery(".ud_downloadstatus").show();var n=n.split(","),o=o||e,u=jQuery("#updraft-navtab-backups-content .uddownloadform_"+a+"_"+e+"_"+n[0]).data("wp_nonce").toString();jQuery(".updraftplus_downloader_container_"+a).length||(jQuery(r).append('
    '),jQuery(".updraftplus_downloader_container_"+a).append(''+updraftlion.download+" "+a+" ("+o+"):"));for(var s=0;s'+a+l+':
    '+updraftlion.begunlooking+'
    '),jQuery(p).data("downloaderfor",{base:t,nonce:e,what:a,index:n[s]}),setTimeout(function(){updraft_activejobs_update(!0)},1500)),jQuery(p).data("lasttimebegan",(new Date).getTime())}return updraft_send_command("updraft_download_backup",{type:a,timestamp:e,findex:n},null,{action:"updraft_download_backup",nonce_key:"_wpnonce",nonce:u,timeout:1e4,async:d=!!d}),!1}function ud_parse_json(e,a){if(!(a=void 0!==a))try{return JSON.parse(e)}catch(t){console.log("UpdraftPlus: Exception when trying to parse JSON (1) - will attempt to fix/re-parse based upon first/last curly brackets"),console.log(e)}var r=e.indexOf("{"),n=e.lastIndexOf("}");if(-1 '+updraftlion.preparing_backup_files),updraft_send_command("restore_alldownloaded",{timestamp:jQuery("#updraft_restore_timestamp").val(),restoreopts:jQuery("#updraft_restore_form").serialize()},function(e,t,a){var r=null;jQuery("#updraft_restorer_restore_options").val(""),jQuery(".updraft-restore--next-step").prop("disabled",!1);try{if(null==e)jQuery("#updraft-restore-modal-stage2a").html(updraftlion.emptyresponse);else{var n=e.m;if(""!=e.w&&(n=n+'

    '+updraftlion.warnings+"

    "+e.w+"
    "),""!=e.e?n=n+'

    '+updraftlion.errors+"

    "+e.e+"
    ":updraft_restore_stage=3,e.hasOwnProperty("i")){try{(r=ud_parse_json(e.i)).hasOwnProperty("addui")&&(console.log("Further UI options are being displayed"),n+='
    '+r.addui+"
    ","object"==typeof JSON)&&"function"==typeof JSON.stringify&&(delete r.addui,e.i=JSON.stringify(r)),r.hasOwnProperty("php_max_input_vars")&&(php_max_input_vars=parseInt(r.php_max_input_vars)),r.hasOwnProperty("skipped_db_scan")&&(skipped_db_scan=parseInt(r.skipped_db_scan))}catch(t){console.log(t),console.log(e)}jQuery("#updraft_restorer_backup_info").val(e.i)}else jQuery("#updraft_restorer_backup_info").val();jQuery("#updraft-restore-modal-stage2a").html(n),jQuery(".updraft-restore--next-step").text(updraftlion.restore),0'+r.fatal_error_message+"

    "),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",jQuery("#updraft-restore-modal-stage2a").html('

    '+r+"

    "),console.log(r),alert(r),console.log(t))}}))}function updraft_downloader_status(t,e,a,r){}function updraft_downloader_status_update(t,n){var o=0;return jQuery(t).each(function(t,e){var a,r;""!=e.base&&(a="."+(e.base+e.timestamp+"_"+e.what+"_"+e.findex),null!=e.e?(jQuery(a+" .raw").html(""+updraftlion.error+" "+e.e),console.log(e)):null!=e.p?(jQuery(a+"_st .dlfileprogress").width(e.p+"%"),null!=e.a&&0"+updraftlion.downloadtocomputer+' \t\t\t\t",e.hasOwnProperty("can_show_contents")&&e.can_show_contents&&(r+=' "),jQuery(a+" .raw").html(r),jQuery(a+"_st").remove()))):null!=e.m?jQuery(a+" .raw").html(e.m):(jQuery(a+" .raw").html(updraftlion.jsonnotunderstood+" ("+n+")"),o=1))}),o}function convert_numeric_size_to_text(t){return t<1024?t+" b":t<1048576?(t/1024).toFixed(2)+" KB":t<1073741824?(t/1048576).toFixed(2)+" MB":(t/1073741824).toFixed(2)+" GB"}function updraft_backupnow_go(t,e,a,r,n,o,d,u){var s,t={backupnow_nodb:t,backupnow_nofiles:e,backupnow_nocloud:a,backupnow_label:o,extradata:n};""!=r&&(t.onlythisfileentity=r),""!=d&&(t.onlythesetableentities=d),""!=u&&(t.only_these_cloud_services=u),t.always_keep=void 0!==n.always_keep?n.always_keep:0,delete n.always_keep,t.incremental=void 0!==n.incremental?n.incremental:0,delete n.incremental,t.db_anon_all=void 0!==n.db_anon&&void 0!==n.db_anon.all?n.db_anon.all:0,t.db_anon_non_staff=void 0!==n.db_anon&&void 0!==n.db_anon.non_staff?n.db_anon.non_staff:0,t.db_anon_wc_orders=void 0!==n.db_anon&&void 0!==n.db_anon.wc_orders?n.db_anon.wc_orders:0,void 0!==n.db_anon&&(delete n.db_anon.all,delete n.db_anon.non_staff,delete n.db_anon.wc_orders),jQuery(".updraft_requeststart").length||((s=jQuery('
    ').html(''+updraftlion.requeststart)).data("remove",!1),setTimeout(function(){s.data("remove",!0)},3e3),setTimeout(function(){s.remove()},75e3),jQuery("#updraft_activejobsrow").before(s)),updraft_activejobslist_backupnownonce_only=1,updraft_send_command("backupnow",t,function(t){t.hasOwnProperty("error")?(jQuery(".updraft_requeststart").remove(),alert(t.error)):(jQuery("#updraft_backup_started").html(t.m),t.hasOwnProperty("nonce")&&(updraft_backupnow_nonce=t.nonce,console.log("UpdraftPlus: ID of started job: "+updraft_backupnow_nonce)),setTimeout(function(){updraft_activejobs_update(!0)},500))})}function updraft_process_status_check(t,e,a){if(t.hasOwnProperty("fatal_error"))console.error(t.fatal_error_message),!0===updraftplus_activejobs_list_fatal_error_alert&&(updraftplus_activejobs_list_fatal_error_alert=!1,alert(this.alert_done+" "+t.fatal_error_message));else try{t.hasOwnProperty("l")&&(t.l?(jQuery("#updraft_lastlogmessagerow").show(),jQuery("#updraft_lastlogcontainer").html(t.l)):(jQuery("#updraft_lastlogmessagerow").hide(),jQuery("#updraft_lastlogcontainer").html("("+updraftlion.nothing_yet_logged+")"))),updraftlion.hasOwnProperty("hosting_restriction")&&updraftlion.hosting_restriction instanceof Array&&(updraftlion.hosting_restriction.length=0,t.hasOwnProperty("hosting_restriction"))&&(t.hosting_restriction&&t.hosting_restriction.includes("only_one_backup_per_month")&&updraftlion.hosting_restriction.push("only_one_backup_per_month"),t.hosting_restriction)&&t.hosting_restriction.includes("only_one_incremental_per_day")&&updraftlion.hosting_restriction.push("only_one_incremental_per_day"),jQuery("#updraft-wrap #updraft-navtab-settings-content").is(":hidden")||t.hasOwnProperty("automatic_updates")&&jQuery('input[name="updraft_auto_updates"]').prop("checked",t.automatic_updates);var r,n,o=-1,d=jQuery(".updraft_requeststart"),u=(t.j&&d.length&&d.data("remove")&&d.remove(),jQuery(t.j)),s=(u.find(".updraft_jobtimings").each(function(t,e){var a,e=jQuery(e);e.data("jobid")&&(a=e.data("jobid"),e=e.closest(".updraft_row"),updraft_aborted_jobs[a])&&e.hide()}),jQuery("#updraft_activejobsrow").html(u),u.find('.job-id[data-isclone="1"]'));0updraft_last_forced_when+1e5&&(updraft_last_forced_jobid!=a||e!=updraft_last_forced_resumption)&&(updraft_last_forced_resumption=e,updraft_last_forced_jobid=a,updraft_last_forced_when=timenow,console.log("UpdraftPlus: force resumption: job_id="+a+", resumption="+e),updraft_send_command("forcescheduledresumption",{resumption:e,job_id:a},function(t){console.log(t)},{json_parse:!1,alert_on_error:!1}))}),timenow=(new Date).getTime(),updraft_activejobs_nextupdate=timenow+18e4,1==updraft_page_is_visible&&"backups"==updraft_console_focussed_tab&&(updraft_activejobs_nextupdate=-1b1.text?1:-1:a1.icon"+updraftlion.error+" "+updraftlion.servererrorcode)):0<=a.url.search("subaction=restore_alldownloaded")&&jQuery("#updraft-restore-modal-stage2a").append("
    "+updraftlion.error+" "+updraftlion.servererrorcode+": "+r))}),jQuery(function(h){var e;h(document).on("udp/checkout/done",function(t,e){e.hasOwnProperty("product")&&"updraftpremium"===e.product&&"complete"===e.status&&(h(".premium-upgrade-purchase-success").show(),h(".updraft_feat_table").closest("section").hide(),h(".updraft_premium_cta__action").hide())}),h(".expertmode .advanced_settings_container .advanced_tools_button").on("click",function(){var t;t=h(this).attr("id"),h('.expertmode .advanced_settings_container .advanced_tools:not(".'+t+'")').hide(),h(".expertmode .advanced_settings_container .advanced_tools."+t).fadeIn("slow"),h(".expertmode .advanced_settings_container .advanced_tools_button:not(#"+t+")").removeClass("active"),h(".expertmode .advanced_settings_container .advanced_tools_button#"+t).addClass("active")}),jQuery.ui&&jQuery.ui.dialog&&jQuery.ui.dialog.prototype._allowInteraction&&(e=jQuery.ui.dialog.prototype._allowInteraction,jQuery.ui.dialog.prototype._allowInteraction=function(t){return!!jQuery(t.target).closest(".select2-dropdown").length||e.apply(this,arguments)}),h("#updraft-navtab-settings-content #remote-storage-holder").on("change keyup paste",".updraft_webdav_settings",function(){var t,e,a,r,n,o,d,u=h(this).attr("id");"string"==typeof u&&(u=u.match(/updraft_webdav_(.+)_(s-[^_]+)$/i))&&u[1]&&u[2]&&(t=u[2],e="","host"===(u=u[1].toLowerCase())?(h(".webdav-"+t+" .updraft_webdav_host_error").hide(),0<=h(this).val().indexOf("@")?h(this).val(h(this).val().replaceAll("@",encodeURIComponent("@"))):0<=h(this).val().indexOf("/")&&(h(this).val(h(this).val().replaceAll("/","")),h(".webdav-"+t+" .updraft_webdav_host_error").show())):"path"===u&&0==h(this).val().indexOf("/")&&h(this).val(h(this).val().replace(/^[\/]+/,"")),u=h("#updraft_webdav_webdav_"+t).val(),a=h("#updraft_webdav_host_"+t).val()||"",r=h("#updraft_webdav_user_"+t).val()||"",n=h("#updraft_webdav_pass_"+t).val()||"",o=h("#updraft_webdav_port_"+t).val()||"",d=h("#updraft_webdav_path_"+t).val()||"",n&&(e=n.replace(/./gi,"*")),r&&n&&(r+=":"),(r||n)&&a&&(e+="@",n+="@"),a&&o&&(a+=":"),d=d&&"/"+d,h("#updraft_webdav_url_"+t).val(u+r+n+a+o+d),h("#updraft_webdav_masked_url_"+t).val(u+r+e+a+o+d))}),h("div.ud-phpseclib-notice").on("click","button.notice-dismiss",function(t){t.stopImmediatePropagation(),updraft_send_command("dismiss_phpseclib_notice",null,function(t,e,a){t.hasOwnProperty("success")&&1===t.success||(console.log(t),alert(updraftlion.unexpectedresponse+" "+a))})}),h("#updraft-navtab-backups-content").on("click",".js--delete-selected-backups",function(t){t.preventDefault(),updraft_deleteallselected()}),h("#updraft-navtab-backups-content").on("click",".updraft_existing_backups .backup-select input",function(t){updraft_backups_selection.toggle(h(this).closest(".updraft_existing_backups_row"))}),h("#updraft-navtab-backups-content").on("click","#cb-select-all",function(t){h(this).is(":checked")?updraft_backups_selection.selectAll():updraft_backups_selection.deselectAll()}),h("#updraft-wrap").on("click","[id^=updraftplus_manual_authorisation_submit_]",function(t){t.preventDefault();var e,t=h(this).data("method"),a=h("#updraftplus_manual_authentication_data_"+t).val();h("#updraftplus_manual_authentication_error_"+t).text(),h("#updraft-wrap #updraftplus_manual_authorisation_template_"+t+" .updraftplus_spinner.spinner").addClass("visible"),h("#updraftplus_manual_authorisation_submit_"+t).prop("disabled",!0),updraft_send_command("manual_remote_storage_authentication",{method:e=t,auth_data:a},function(t){h("#updraft-wrap #updraftplus_manual_authorisation_template_"+e+" .updraftplus_spinner.spinner").removeClass("visible"),t.hasOwnProperty("result")&&"success"===t.result?(h("#updraft-wrap .updraftplus-top-menu").before(t.data),h("#updraft-wrap #updraftplus_manual_authorisation_template_"+e).parent().remove(),h("#updraft-wrap .updraft_authenticate_"+e).remove()):t.hasOwnProperty("result")&&"error"===t.result&&(h("#updraftplus_manual_authentication_error_"+e).text(t.data),h("#updraftplus_manual_authorisation_submit_"+e).prop("disabled",!1))})}),h("#updraft-navtab-backups-content").on("click",".js--select-all-backups",function(t){updraft_backups_selection.selectAll()}),h("#updraft-navtab-backups-content").on("click",".js--deselect-all-backups",function(t){updraft_backups_selection.deselectAll()}),h("#updraft-navtab-backups-content").on("click",".updraft_existing_backups .updraft_existing_backups_row",function(t){(t.ctrlKey||t.metaKey)&&(t.shiftKey?(void 0===updraft_backups_selection.firstMultipleSelectionIndex?(h(document).on("keyup.MultipleSelection",function(t){updraft_backups_selection.unregister_highlight_mode(),h(document).off(".MultipleSelection")}),updraft_backups_selection.select(this),h(this).addClass("range-selection-start"),updraft_backups_selection.register_highlight_mode()):(updraft_backups_selection.selectAllInBetween(this),jQuery("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").removeClass("range-selection")),updraft_backups_selection.firstMultipleSelectionIndex=this.rowIndex-1):updraft_backups_selection.toggle(this))}),updraft_backups_selection.checkSelectionStatus(),h("#updraft-navtab-addons-content .wrap").on("click",".updraftplus_com_login .ud_connectsubmit",function(t){t.preventDefault();var t=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_email").val(),e=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_password").val(),a=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_updates").is(":checked")?1:0,r=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_udc_connect").is(":checked")?1:0;n.submit({email:t,password:e,auto_update:a,auto_udc_connect:r})}),h("#updraft-navtab-addons-content .wrap").on("keydown",".updraftplus_com_login input",function(t){var e,a,r;13==t.which&&(t.preventDefault(),t=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_email").val(),e=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_password").val(),a=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_updates").is(":checked")?1:0,r=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_udc_connect").is(":checked")?1:0,n.submit({email:t,password:e,auto_update:a,auto_udc_connect:r}))}),h("#updraft-navtab-migrate-content").on("click",".updraftclone_show_step_1",function(t){h(".updraftplus-clone").addClass("opened"),h(".updraftclone_show_step_1").hide(),h(".updraft_migrate_widget_temporary_clone_stage1").show(),h(".updraft_migrate_widget_temporary_clone_stage0").hide()}),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_temporary_clone_show_stage0",function(t){t.preventDefault(),h(".updraft_migrate_widget_temporary_clone_stage0").toggle()}),setup_migrate_tabs(),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .close",function(t){h(".updraft_migrate_intro").show(),h(this).closest(".updraft_migrate_widget_module_content").hide()}),h("#updraft-navtab-migrate-content").on("click","#updraft_migrate_tab_alt .close",function(t){t.preventDefault(),h(".updraft_migrate_intro").show(),h("#updraft_migrate_tab_alt").html("").hide()}),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_add_site--trigger",function(t){t.preventDefault(),h(".updraft_migrate_add_site").toggle()}),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .updraftplus_com_login .ud_connectsubmit",function(t){t.preventDefault();var t=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_email").val(),e=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_password").val(),a=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val(),r=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .temporary_clone_terms_and_conditions").is(":checked")?1:0;t&&e?o({form_data:{email:t,password:e,two_factor_code:a,consent:r}}):h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html(""+updraftlion.error+" "+updraftlion.username_password_required).show()}),h("#updraft-navtab-migrate-content").on("keydown",".updraft_migrate_widget_module_content .updraftplus_com_login input",function(t){var e,a,r;13==t.which&&(t.preventDefault(),t=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_email").val(),e=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_password").val(),a=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val(),r=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .temporary_clone_terms_and_conditions").is(":checked")?1:0,t&&e?o({form_data:{email:t,password:e,two_factor_code:a,consent:r}}):h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html(""+updraftlion.error+" "+updraftlion.username_password_required).show())}),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .updraftplus_com_key .ud_key_connectsubmit",function(t){t.preventDefault();var t=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key #temporary_clone_options_key").val(),e=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .temporary_clone_terms_and_conditions").is(":checked")?1:0;t?a({form_data:{clone_key:t,consent:e}}):h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html(""+updraftlion.error+" "+updraftlion.clone_key_required).show()}),h("#updraft-navtab-migrate-content").on("keydown",".updraft_migrate_widget_module_content .updraftplus_com_key input",function(t){var e;13==t.which&&(t.preventDefault(),t=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key #temporary_clone_options_key").val(),e=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .temporary_clone_terms_and_conditions").is(":checked")?1:0,t?a({form_data:{clone_key:t,consent:e}}):h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html(""+updraftlion.error+" "+updraftlion.clone_key_required).show())}),h("#updraft-navtab-migrate-content").on("change",".updraft_migrate_widget_module_content #updraftplus_clone_php_options",function(){var t=h(this).data("php_version");h(this).val() option").each(function(){var t=h(this).val();"starter"==t&&h('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+t+'"]').prop("selected",!0),h('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+t+'"]').prop("disabled",!1)});var a,t=h(this).find("option:selected");"current"!=h(t).data("nonce")&&"wp_only"!=h(t).data("nonce")&&(a=h(t).data("size"),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options > option").each(function(){var t=h(this).data("size"),e=h(this).val();if(!(t<=a))return h('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+e+'"]').prop("selected",!0),!1;h('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+e+'"]').prop("disabled",!0)}))}),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content #updraft_migrate_createclone",function(t){t.preventDefault(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!0),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(""),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").addClass("visible");var t=h(this).data("clone_id"),e=h(this).data("secret_token"),a=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_php_options").val(),r=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_wp_options").val(),n=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_region_options").val(),o=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options").val(),d=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftclone_branch").val(),u=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftplus_branch").val(),s=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_admin_login_options").is(":checked"),i=h("#updraftplus_clone_use_queue").is(":checked")?1:0,p=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backupnow_db_anon_all").is(":checked")?1:0,l=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backupnow_db_anon_non_staff").is(":checked")?1:0,_=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backupnow_db_anon_wc_order_data").is(":checked")?1:0,c="current",f="current",g=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options").length,m=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options").find("option:selected"),g=(0!==g&&void 0!==m&&(c=m.data("nonce"),f=m.data("timestamp")),{form_data:{clone_id:t,secret_token:e,install_info:{php_version:a,wp_version:r,region:n,package:o,admin_only:s,updraftclone_branch:void 0===d?"":d,updraftplus_branch:void 0===u?"":u,use_queue:void 0===i?1:i}}}),m={db_anon_all:p,db_anon_non_staff:l,db_anon_wc_orders:_,clone_region:n};"wp_only"===c&&(g.form_data.install_info.wp_only=1),function t(r,n,o,d){var u="";"current"!=n&&updraft_send_command("whichdownloadsneeded",{updraftplus_clone:!0,timestamp:n},function(t){if(t.hasOwnProperty("downloads")&&(console.log("UpdraftPlus: items which still require downloading follow"),u=t.downloads,console.log(u)),0!=u.length)for(var e=0;e'+r.fatal_error_message+"

    ")):(r="updraft_send_command: error: "+e+" ("+a+")",h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html('

    '+r+"

    "),console.log(r),console.log(t))}});setTimeout(function(){var e,a;0!=u.length?t(r,n,o,d):(e=r.form_data.clone_id,a=r.form_data.secret_token,updraft_send_command("process_updraftplus_clone_create",r,function(t){try{h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!1),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").removeClass("visible"),t.hasOwnProperty("status")&&"error"==t.status?h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.error+" "+t.message).show():"success"===t.status&&(h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3").html(t.html),temporary_clone_timeout&&clearTimeout(temporary_clone_timeout),t.hasOwnProperty("secret_token")&&(a=t.secret_token),"wp_only"===o?(jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").addClass("visible"),y(e,a)):(jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").addClass("visible"),b(e,a,t.url,t.key,o,n,d)))}catch(t){h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!1),console.log("Error when processing the response of process_updraftplus_clone_create (as follows)"),console.log(t)}}))},5e3)}(g,f,c,m)});var n={};function o(t){h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html("").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .updraftplus_spinner.spinner").addClass("visible"),updraft_send_command("process_updraftplus_clone_login",t,function(t){try{h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .updraftplus_spinner.spinner").removeClass("visible"),t.hasOwnProperty("status")&&"error"==t.status?(h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html(t.message).show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val("")):(t.hasOwnProperty("tfa_enabled")&&1==t.tfa_enabled&&(h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 input#temporary_clone_options_two_factor_code").trigger("focus")),"authenticated"===t.status&&(h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 input#temporary_clone_options_two_factor_code").val(""),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(t.html),t.hasOwnProperty("clone_info"))&&t.clone_info.hasOwnProperty("expires_after")&&r(t.clone_info.expires_after))}catch(t){console.log(t)}})}function a(t){h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html("").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .updraftplus_spinner.spinner").addClass("visible"),updraft_send_command("process_updraftplus_clone_login",t,function(t){try{h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .updraftplus_spinner.spinner").removeClass("visible"),t.hasOwnProperty("status")&&"error"==t.status?h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html(t.message).show():"authenticated"===t.status&&(h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(t.html),t.hasOwnProperty("clone_info"))&&t.clone_info.hasOwnProperty("expires_after")&&r(t.clone_info.expires_after)}catch(t){console.log(t)}})}function r(t){temporary_clone_timeout=setTimeout(function(){h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(""),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").show()},1e3*t)}function b(t,e,a,r,n,o,d){t={updraftplus_clone_backup:1,backupnow_nodb:0,backupnow_nofiles:0,backupnow_nocloud:0,backupnow_label:"UpdraftClone",extradata:"",onlythisfileentity:"plugins,themes,uploads,others",clone_id:t,secret_token:e,clone_url:a,key:r,backup_nonce:n,backup_timestamp:o,db_anon_all:d.db_anon_all,db_anon_non_staff:d.db_anon_non_staff,db_anon_wc_orders:d.db_anon_wc_orders,clone_region:d.clone_region};updraft_activejobslist_backupnownonce_only=1,updraft_send_command("backupnow",t,function(t){jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").removeClass("visible"),jQuery("#updraft_backup_started").html(t.m),t.hasOwnProperty("nonce")&&(updraft_backupnow_nonce=t.nonce,updraft_clone_jobs.push(updraft_backupnow_nonce),updraft_inpage_success_callback=function(){jQuery("#updraft_clone_activejobsrow").hide(),updraft_aborted_jobs[updraft_backupnow_nonce]?jQuery("#updraft_clone_progress").html(updraftlion.clone_backup_aborted):jQuery("#updraft_clone_progress").html(updraftlion.clone_backup_complete)},console.log("UpdraftPlus: ID of started job: "+updraft_backupnow_nonce)),updraft_activejobs_update(!0)})}function y(e,a){var t={clone_id:e,secret_token:a};setTimeout(function(){updraft_send_command("process_updraftplus_clone_poll",t,function(t){if(t.hasOwnProperty("status")){if("error"==t.status)return void h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.error+" "+t.message).show();if("success"===t.status&&t.hasOwnProperty("data")&&t.data.hasOwnProperty("wordpress_credentials"))return h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").removeClass("visible"),void h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_clone_progress").append("
    WordPress "+updraftlion.credentials+":
    "+updraftlion.username+": "+t.data.wordpress_credentials.username+"
    "+updraftlion.password+": "+t.data.wordpress_credentials.password)}else console.log(t);y(e,a)})},6e4)}function d(t){var e=Handlebars.compile(updraftlion.remote_storage_templates[t]),a={},r=(Object.assign(a,updraftlion.remote_storage_options[t].template_properties,updraftlion.remote_storage_options[t].default),updraftlion.remote_storage_methods[t]),r=(a.instance_id="s-"+function(t){for(var e="",a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=0;r li").each(function(){jQuery(this).find("select").each(function(){jQuery(this).prop("disabled",!1)})})):(jQuery(this).parents("tr.updraftplusmethod").find("div.logic ul.rules > li").each(function(){jQuery(this).find("select").each(function(){jQuery(this).prop("disabled",!0)})}),jQuery(this).parents("tr.updraftplusmethod").find("div.logic").hide())}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("change","select[class='conditional_logic_operand']",function(){if(updraft_settings_form_changed=!0,load_save_button(),jQuery(this).parent().find("select:nth(2)").empty(),"day_of_the_week"===jQuery(this).val())for(var t=0;t').text(updraftlion.conditional_logic.day_of_the_week_options[t].value));else if("day_of_the_month"===jQuery(this).val())for(t=1;t<=31;t++)jQuery(this).parent().find("select:nth(2)").append(jQuery('').text(t))}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("click","div.conditional_remote_backup ul.rules li span",function(){updraft_settings_form_changed=!0,load_save_button();var t=jQuery(this).parents("ul.rules");jQuery(this).hasClass("remove-rule")&&jQuery(this).parent().slideUp(function(){jQuery(this).remove(),jQuery(t).find("> li").length<2&&jQuery("li:nth(0) span.remove-rule",t).remove()})}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("click","div.conditional_remote_backup input.add-new-rule",function(){var t=jQuery(this).parent().find("ul.rules");jQuery(t).find("> li").length<2&&jQuery(t).find("li:nth(0)").append(''),$cloned_item=jQuery(t).find("> li").last().clone(),jQuery($cloned_item).find("> select").each(function(){jQuery(this).prop("name",jQuery(this).prop("name").replace(/\[instance_conditional_logic\]\[rules\]\[[0-9]+\]/gi,"[instance_conditional_logic][rules]["+jQuery(t).data("rules")+"]"))}),jQuery(t).append($cloned_item),jQuery(t).data("rules",parseInt(jQuery(t).data("rules"))+1),jQuery($cloned_item).find('select[name*="[operand]"]').trigger("change")}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("click",".updraftplusmethod button.updraft-test-button",function(){var r=jQuery(this).data("method"),n=jQuery(this).data("instance_id");updraft_remote_storage_test(r,function(t,e,a){return"sftp"==r&&(a.hasOwnProperty("scp")&&a.scp?alert(updraftlion.settings_test_result.replace("%s","SCP")+" "+t.output):alert(updraftlion.settings_test_result.replace("%s","SFTP")+" "+t.output),t.hasOwnProperty("data")&&t.data&&t.data.hasOwnProperty("valid_md5_fingerprint")&&t.data.valid_md5_fingerprint&&h("#updraft_sftp_fingerprint_"+n).val(t.data.valid_md5_fingerprint),!0)},n)}),h("#updraft-navtab-settings-content select.updraft_interval, #updraft-navtab-settings-content select.updraft_interval_database").on("change",function(){updraft_check_same_times()}),h("#backupnow_includefiles_showmoreoptions").on("click",function(t){t.preventDefault(),h("#backupnow_includefiles_moreoptions").toggle()}),h("#backupnow_database_showmoreoptions").on("click",function(t){t.preventDefault(),h("#backupnow_database_moreoptions").toggle()}),h("#updraft-navtab-migrate-content").on("click","#backupnow_database_showmoreoptions",function(t){t.preventDefault(),h("#updraft-navtab-migrate-content #backupnow_database_moreoptions").toggle()}),h("#backupnow_db_anon_all").on("click",function(t){h("#backupnow_db_anon_non_staff").prop("checked")&&h("#backupnow_db_anon_non_staff").prop("checked",!1)}),h("#backupnow_db_anon_non_staff").on("click",function(t){h("#backupnow_db_anon_all").prop("checked")&&h("#backupnow_db_anon_all").prop("checked",!1)}),h("#updraft-navtab-migrate-content").on("click","#updraftplus_migration_backupnow_db_anon_all",function(){h("#updraftplus_migration_backupnow_db_anon_non_staff").prop("checked")&&h("#updraftplus_migration_backupnow_db_anon_non_staff").prop("checked",!1)}),h("#updraft-navtab-migrate-content").on("click","#updraftplus_migration_backupnow_db_anon_non_staff",function(){h("#updraftplus_migration_backupnow_db_anon_all").prop("checked")&&h("#updraftplus_migration_backupnow_db_anon_all").prop("checked",!1)}),h("#updraft-navtab-migrate-content").on("click","#updraftplus_clone_backupnow_db_anon_all",function(){h("#updraftplus_clone_backupnow_db_anon_non_staff").prop("checked")&&h("#updraftplus_clone_backupnow_db_anon_non_staff").prop("checked",!1)}),h("#updraft-navtab-migrate-content").on("click","#updraftplus_clone_backupnow_db_anon_non_staff",function(){h("#updraftplus_clone_backupnow_db_anon_all").prop("checked")&&h("#updraftplus_clone_backupnow_db_anon_all").prop("checked",!1)}),h("#updraft-backupnow-modal").on("click","#backupnow_includecloud_showmoreoptions",function(t){t.preventDefault(),h("#backupnow_includecloud_moreoptions").toggle()}),h("#updraft-navtab-backups-content").on("click","a.updraft_diskspaceused_update",function(t){t.preventDefault(),updraftplus_diskspace()}),h(".advanced_settings_content a.updraft_diskspaceused_update").on("click",function(t){t.preventDefault(),jQuery(".advanced_settings_content .updraft_diskspaceused").html(""+updraftlion.calculating+""),updraft_send_command("get_fragment",{fragment:"disk_usage",data:"updraft"},function(t){jQuery(".advanced_settings_content .updraft_diskspaceused").html(t.output)},{type:"GET"})}),h("#updraft-navtab-backups-content a.updraft_uploader_toggle").on("click",function(t){t.preventDefault(),h("#updraft-plupload-modal").slideToggle()}),h("#updraft-navtab-backups-content a.updraft_rescan_local").on("click",function(t){t.preventDefault(),updraft_updatehistory(1,0)}),h("#updraft-navtab-backups-content a.updraft_rescan_remote").on("click",function(t){t.preventDefault(),confirm(updraftlion.remote_scan_warning)&&updraft_updatehistory(1,1)}),h("#updraftplus-remote-rescan-debug").on("click",function(t){t.preventDefault(),updraft_updatehistory(1,1,1)}),jQuery("#updraft_reset_sid").on("click",function(t){t.preventDefault(),updraft_send_command("reset_site_id",null,function(t){jQuery("#updraft_show_sid").html(t)},{json_parse:!1})}),jQuery("#updraft-navtab-settings-content").on("input","form input:not('.udignorechange'), form textarea:not('.udignorechange')",function(t){updraft_settings_form_changed=!0,load_save_button()}),jQuery("#updraft-navtab-settings-content").on("change","form select",function(t){updraft_settings_form_changed=!0,load_save_button()}),jQuery("#updraft-navtab-settings-content").on("click","form input[type='submit']",function(t){updraft_settings_form_changed=!1});var u=180,t=(jQuery(".updraft-bigbutton").each(function(t,e){e=jQuery(e).width();u'+t.count_backups+"");for(e=t.deleted_timestamps.split(","),a=0;a '+updraftlion.maybe_downloading_entities),updraft_send_command("whichdownloadsneeded",{downloads:s,timestamp:n},function(t){if(h(".updraft-restore--next-step").prop("disabled",!1),t.hasOwnProperty("downloads")&&(console.log("UpdraftPlus: items which still require downloading follow"),r=t.downloads,console.log(r)),0==r.length)updraft_restorer_checkstage2(0);else for(var e=0;e'+r.fatal_error_message+"

    ")):(r="updraft_send_command: error: "+e+" ("+a+")",h("#updraft-restore-modal-stage2a").html('

    '+r+"

    "),console.log(r),console.log(t))}})}catch(t){console.log("UpdraftPlus: error (follows) when looking for items needing downloading"),console.log(t),alert(updraftlion.jsonnotunderstood)}})});else if(2==updraft_restore_stage)updraft_restorer_checkstage2(1);else if(3==updraft_restore_stage){var l=1;if(jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!0),h("#updraft_restoreoptions_ui input.required").each(function(t){var e,a;0!=l&&(""==(e=h(this).val())?(alert(updraftlion.pleasefillinrequired),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1),l=0):""!=h(this).attr("pattern")&&(a=h(this).attr("pattern"),new RegExp(a,"g").test(e)||(alert(h(this).data("invalidpattern")),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1),l=0)))}),1!=o||(r=0,jQuery('input[name="updraft_restore_tables_options[]"').each(function(t,e){jQuery(e).is(":checked")&&!jQuery(e).is(":disabled")&&(r=1)}),0!=r)||skipped_db_scan){if(1==d&&(r=0,jQuery(".updraftplus_restore_plugins_options_container").length||(r=1),jQuery('input[name="updraft_restore_plugins_options[]"').each(function(t,e){jQuery(e).is(":checked")&&!jQuery(e).is(":disabled")&&(r=1)}),0==r))alert(updraftlion.youdidnotselectany),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1);else if(1==u&&(r=0,jQuery(".updraftplus_restore_themes_options_container").length||(r=1),jQuery('input[name="updraft_restore_themes_options[]"').each(function(t,e){jQuery(e).is(":checked")&&!jQuery(e).is(":disabled")&&(r=1)}),0==r))alert(updraftlion.youdidnotselectany),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1);else if(1==n&&(r=0,jQuery('input[name="updraft_include_more_index[]"').each(function(t,e){jQuery(e).is(":checked")&&!jQuery(e).is(":disabled")&&(r=1,""==jQuery("#updraft_include_more_path_restore"+t).val())&&alert(updraftlion.emptyrestorepath)}),0==r))alert(updraftlion.youdidnotselectany),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1);else if(l){var _=h("#updraft_restoreoptions_ui select, #updraft_restoreoptions_ui input").serialize();if(jQuery.each(["table","plugins","themes"],function(t,a){jQuery.each(jQuery('input[name="updraft_restore_'+a+"_options[]").filter(function(t){return!1===jQuery(this).prop("checked")}),function(t,e){_+="&"+jQuery(e).attr("name")+"=udp-skip-"+a+"-"+jQuery(e).val()})}),console.log("Restore options: "+_),void 0!==php_max_input_vars){var t,e=_.split("&").length,a='

    '+updraftlion.warnings+'

      ';if(!php_max_input_vars&&1e3<=e)console.log("Restore options: "+e+" PHP max input vars not detected; using default: 1000");else if(php_max_input_vars&&php_max_input_vars<=e)return t="
    • "+updraftlion.php_max_input_vars_detected_warning+"
    • ",1!=jQuery("#updraft-restore-modal-stage2a .notice-warning").length?(a=a+t+"
    ",jQuery("#updraft_restoreoptions_ui").prepend(a)):jQuery("#updraft-restore-modal-stage2a #updraft_restore_warnings").append(t),console.log("Restore options: "+e+" PHP max input vars: "+php_max_input_vars),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1),void(php_max_input_vars=void 0)}h("#updraft_restorer_restore_options").val(_),h("#updraft-restore-modal-stage2a").html(updraftlion.restore_proceeding),h("#updraft_restore_form").trigger("submit"),updraft_restore_stage=4}}else alert(updraftlion.youdidnotselectany),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1)}}else alert(updraftlion.youdidnotselectany)}},p=h(".updraft_restore_main--activity").width(),t=(jQuery("#activity-full-log").on("click",function(){var t="1460px"==h(".updraft_restore_main").css("max-width")?"860px":"1460px",e=h(".updraft_restore_main--activity").width()==p?"100%":p+"px",a="600px"==h(".updraft_restore_main--activity").css("min-height")?"0px":"600px",r=h("#activity-full-log").attr("title")==updraftlion.restoreactivitylogscreenexit?updraftlion.restoreactivitylogfullscreen:updraftlion.restoreactivitylogscreenexit;h("#activity-full-log").toggleClass("dashicons-fullscreen-exit-alt"),h("#activity-full-log").attr("title",r),h(".updraft_restore_main--components").toggle("fast"),h(".updraft_restore_main--header").toggle("fast"),h(".updraft_restore_main--activity").animate({minHeight:a,width:e}),h(".updraft_restore_main").animate({maxWidth:t})}),jQuery("#updraft-iframe-modal").dialog({autoOpen:!1,height:500,width:780,modal:!0}),jQuery("#updraft-backupnow-inpage-modal").dialog({autoOpen:!1,modal:!0,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,useContentSize:!1,open:function(t,e){h(this).dialog("option","width",580),h(this).dialog("option","minHeight",261),h(this).dialog("option","height",380)}}),{});t[updraftlion.backupnow]=function(){var t,e,a=jQuery("#backupnow_includedb").is(":checked")?0:1,r=jQuery("#backupnow_includefiles").is(":checked")?0:1,n=jQuery("#backupnow_includecloud").is(":checked")?0:1,o=jQuery("#backupnow_db_anon_all").is(":checked")?1:0,d=jQuery("#backupnow_db_anon_non_staff").is(":checked")?1:0,u=jQuery("#backupnow_db_anon_wc_order_data").is(":checked")?1:0,s=backupnow_whichtables_checked(""),i=jQuery("#always_keep").is(":checked")?1:0,p="incremental"==jQuery("#updraft-backupnow-modal").data("backup-type")?1:0;updraftlion.hosting_restriction.includes("only_one_backup_per_month")&&!p?alert(updraftlion.hosting_restriction_one_backup_permonth):updraftlion.hosting_restriction.includes("only_one_incremental_per_day")&&p?alert(updraftlion.hosting_restriction_one_incremental_perday):""==s&&0==a?(alert(updraftlion.notableschosen),jQuery("#backupnow_database_moreoptions").show()):("boolean"==typeof s&&(s=null),""==(t=backupnow_whichfiles_checked(""))&&0==r?(alert(updraftlion.nofileschosen),jQuery("#backupnow_includefiles_moreoptions").show()):""==(e=jQuery("input[name^='updraft_include_remote_service_']").serializeArray())&&0==n?(alert(updraftlion.nocloudserviceschosen),jQuery("#backupnow_includecloud_moreoptions").show()):("boolean"==typeof e&&(e=null),a&&r?alert(updraftlion.excludedeverything):(jQuery(this).dialog("close"),setTimeout(function(){jQuery("#updraft_lastlogmessagerow").fadeOut("slow",function(){jQuery(this).fadeIn("slow")})},1700),updraft_backupnow_go(a,r,n,t,{always_keep:i,incremental:p,db_anon:{all:o,non_staff:d,wc_orders:u}},jQuery("#backupnow_label").val(),s,e))))},t[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-backupnow-modal").dialog({autoOpen:!1,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,useContentSize:!1,open:function(t,e){h(this).dialog("option","width",610),h(this).dialog("option","minHeight",300),h(this).dialog("option","height",472)},modal:!0,buttons:t,create:function(){h(this).closest(".ui-dialog").find(".ui-dialog-buttonpane .ui-button").first().addClass("js-tour-backup-now-button")}}),jQuery("#updraft-poplog").dialog({autoOpen:!1,modal:!0,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,useContentSize:!1,open:function(t,e){h(this).dialog("option","width",860),h(this).dialog("option","minHeight",260),600'+r.fatal_error_message+"

    "),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",jQuery("#updraft_zip_files_jstree").html('

    '+r+"

    "),console.log(r),alert(r),console.log(t))}})},error:function(t){alert(t),console.log(t)}},search:{show_only_matches:!0},plugins:["sort"]}):"contain-clause"==t&&jQuery("#updraft_exclude_files_folders_wildcards_jstree").jstree({core:{multiple:!1,data:function(t,e){updraft_send_command("get_jstree_directory_nodes",{entity:"filebrowser",directories_only:1,node:t,path:jQuery("#updraft_exclude_modal_path").val(),findex:0,skip_root_node:0},function(t){t.hasOwnProperty("error")?alert(t.error):e.call(this,t.nodes)},{error_callback:function(t,e,a,r){void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),jQuery("#updraft_zip_files_jstree").html('

    '+r.fatal_error_message+"

    "),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",jQuery("#updraft_zip_files_jstree").html('

    '+r+"

    "),console.log(r),alert(r),console.log(t))}})},error:function(t){alert(t),console.log(t)}},search:{show_only_matches:!0},plugins:["sort"]}),jQuery("#updraft_exclude_modal_main").slideUp(),jQuery(".updraft-exclude-panel").hide(),jQuery(".updraft-exclude-panel[data-panel="+t+"]").slideDown()}),jQuery(".updraft-exclude-modal-reset").on("click",function(t){t.preventDefault(),jQuery("#updraft_exclude_files_folders_jstree").jstree("destroy"),jQuery("#updraft_exclude_files_folders_wildcards_jstree").jstree("destroy"),jQuery("#updraft_exclude_extension_field").val(""),jQuery("#updraft_exclude_prefix_field").val(""),jQuery(".updraft-exclude-panel").slideUp(),jQuery("#updraft_exclude_modal_main").slideDown()}),jQuery(".updraft-exclude-submit").on("click",function(){var t,e="";switch(jQuery(this).data("panel")){case"file-dir":if(0==(t=jQuery("#updraft_exclude_files_folders_jstree").jstree("get_selected")).length)return void alert(updraftlion.exclude_select_file_or_folder_msg);var a=t[0],r=jQuery("#updraft_exclude_modal_path").val(),e=a="/"==(a="/"==(a=a.substr(0,r.length)==r?a.substr(r.length,a.length):a).charAt(0)?a.substr(1):a).charAt(a.length-1)?a.substr(0,a.length-1):a;break;case"extension":var n=jQuery("#updraft_exclude_extension_field").val();if(""==n)return void alert(updraftlion.exclude_type_ext_msg);if(!n.match(/^[0-9a-zA-Z]+$/))return void alert(updraftlion.exclude_ext_error_msg);e="ext:"+n;break;case"begin-with":n=jQuery("#updraft_exclude_prefix_field").val();if(""==n)return void alert(updraftlion.exclude_type_prefix_msg);if(!n.match(/^\s*[a-z-_\d,\s]+\s*$/i))return void alert(updraftlion.exclude_prefix_error_msg);e="prefix:"+n;break;case"contain-clause":if(0==(t=jQuery("#updraft_exclude_files_folders_wildcards_jstree").jstree("get_selected")).length)return void alert(updraftlion.exclude_select_folder_wildcards_msg);var n=jQuery(this).parents("div.updraft-exclude-panel").find("div.clause-input-container input").val(),o=(jQuery(this).parents("div.updraft-exclude-panel").find("div.clause-input-container input").val(""),jQuery(this).parents("div.updraft-exclude-panel").find("div.clause-input-container select").val());if(""==n)return void alert(updraftlion.exclude_contain_error_msg);jQuery(this).parents("div.updraft-exclude-panel").find("div.clause-input-container select option").eq(0).prop("selected",!0);a=t[0],r=jQuery("#updraft_exclude_modal_path").val();""!==(e=a="/"==(a="/"==(a=a.substr(0,r.length)==r?a.substr(r.length,a.length):a).charAt(0)?a.substr(1):a).charAt(a.length-1)?a.substr(0,a.length-1):a)&&(e+="/"),n=n.replace(/\*/g,"\\*"),"beginning"===o?e+=n+"*":"middle"===o?e+="*"+n+"*":"end"===o&&(e+="*"+n);break;default:return}var d,u=jQuery("#updraft_exclude_modal_for").val();updraft_is_unique_exclude_rule(e,u)&&(d='
    ',jQuery('.updraft_exclude_entity_container[data-include-backup-file="'+u+'"]').append(d),updraft_exclude_entity_update(u),jQuery("#updraft_exclude_modal").dialog("close"))}),jQuery("#updraft-navtab-settings-content .updraft-service").on("change",function(){var t=jQuery(this).val();jQuery("#updraft-navtab-settings-content .updraftplusmethod").hide(),jQuery("#updraft-navtab-settings-content ."+t).show()}),jQuery("#updraft-navtab-settings-content a.updraft_show_decryption_widget").on("click",function(t){t.preventDefault(),jQuery("#updraftplus_db_decrypt").val(jQuery("#updraft_encryptionphrase").val()),jQuery("#updraft-manualdecrypt-modal").slideToggle()}),jQuery("#updraftplus-phpinfo").on("click",function(t){t.preventDefault(),updraft_iframe_modal("phpinfo",updraftlion.phpinfo)}),jQuery("#updraftplus-rawbackuphistory").on("click",function(t){t.preventDefault(),updraft_iframe_modal("rawbackuphistory",updraftlion.raw)}),jQuery("#updraft-navtab-status").on("click",function(t){t.preventDefault(),updraft_open_main_tab("status"),updraft_page_is_visible=1,updraft_console_focussed_tab="status",updraft_activejobs_update(!0)}),jQuery("#updraft-navtab-expert").on("click",function(t){t.preventDefault(),updraft_open_main_tab("expert"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-settings, #updraft-navtab-settings2, #updraft_backupnow_gotosettings").on("click",function(t){t.preventDefault(),jQuery(this).parents(".updraftmessage").remove(),jQuery("#updraft-backupnow-modal").dialog("close"),updraft_open_main_tab("settings"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-addons").on("click",function(t){t.preventDefault(),jQuery(this).addClass("b#nav-tab-active"),updraft_open_main_tab("addons"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-backups").on("click",function(t){t.preventDefault(),updraft_console_focussed_tab="backups",updraft_historytimertoggle(1),updraft_open_main_tab("backups")}),jQuery("#updraft-navtab-migrate").on("click",function(t){t.preventDefault(),jQuery("#updraft_migrate_tab_alt").html("").hide(),updraft_open_main_tab("migrate"),updraft_page_is_visible=1,jQuery("#updraft_migrate .updraft_migrate_widget_module_content").is(":visible")||jQuery(".updraft_migrate_intro").show()}),"migrate"==updraftlion.tab&&jQuery("#updraft-navtab-migrate").trigger("click"),updraft_send_command("ping",null,function(t,e){"success"==e&&"pong"!=t&&0<=t.indexOf("pong")&&(jQuery("#updraft-navtab-backups-content .ud-whitespace-warning").show(),console.log("UpdraftPlus: Extra output warning: response (which should be just (string)'pong') follows."),console.log(t))},{json_parse:!1,type:"GET"});try{"undefined"!=typeof updraft_plupload_config&&((s=new plupload.Uploader(updraft_plupload_config)).bind("Init",function(t){var e=jQuery("#plupload-upload-ui");t.features.dragdrop?(e.addClass("drag-drop"),jQuery("#drag-drop-area").on("dragover.wp-uploader",function(){e.addClass("drag-over")}).on("dragleave.wp-uploader, drop.wp-uploader",function(){e.removeClass("drag-over")})):(e.removeClass("drag-drop"),jQuery("#drag-drop-area").off(".wp-uploader"))}),s.init(),s.bind("FilesAdded",function(t,e){h("#updraft-plupload-modal").is(":hidden")&&h("#updraft-plupload-modal").slideToggle(),plupload.each(e,function(t){if(!/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-[\-a-z]+([0-9]+?)?(\.(zip|gz|gz\.crypt))?$/i.test(t.name)&&!/^log\.([0-9a-f]{12})\.txt$/.test(t.name)){for(var e=!1,a=0;a"+t.name+"

    "+updraftlion.notarchive2),jQuery("#updraft-message-modal").dialog("open")):alert(t.name+": "+updraftlion.notarchive),void s.removeFile(t)}jQuery("#filelist").append('
    '+t.name+" ("+plupload.formatSize(0)+"/"+plupload.formatSize(t.size)+')
    ')}),t.refresh(),t.start()}),s.bind("UploadProgress",function(t,e){jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"),jQuery("#"+e.id+" span").html(plupload.formatSize(parseInt(e.size*e.percent/100))),e.size==e.loaded&&(jQuery("#"+e.id).html('
    '+e.name+" ("+plupload.formatSize(parseInt(e.size*e.percent/100))+"/"+plupload.formatSize(e.size)+") - "+updraftlion.complete+"
    "),jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"))}),s.bind("Error",function(t,e){console.log(e),a="-200"==e.code?"\n"+updraftlion.makesure2:updraftlion.makesure;var a,r=updraftlion.uploaderr+" (code "+e.code+") : "+e.message;e.hasOwnProperty("status")&&e.status&&(r+=" ("+updraftlion.http_code+" "+e.status+")"),e.hasOwnProperty("response")&&(console.log("UpdraftPlus: plupload error: "+e.response),e.response.length<100)&&(r+=" "+updraftlion.error+" "+e.response+"\n"),r+=" "+a,alert(r)}),s.bind("FileUploaded",function(t,e,a){if("200"==a.status)try{(resp=ud_parse_json(a.response)).e?alert(updraftlion.uploaderror+" "+resp.e):resp.dm?(alert(resp.dm),updraft_updatehistory(1,0)):resp.m?updraft_updatehistory(1,0):alert("Unknown server response: "+a.response)}catch(t){console.log(a),alert(updraftlion.jsonnotunderstood)}else alert("Unknown server response status: "+a.code),console.log(a)}))}catch(t){console.log(t)}function l(t){(params={uri:jQuery("#updraftplus_httpget_uri").val()}).curl=t,updraft_send_command("httpget",params,function(t){t.e&&alert(t.e),t.r?jQuery("#updraftplus_httpget_results").html("
    "+t.r+"
    "):console.log(t)},{type:"GET"})}function _(t,e,a){updraft_restore_setoptions(t),jQuery("#updraft_restore_timestamp").val(e),jQuery(".updraft_restore_date").html(a),updraft_restore_stage=1,i.open(),updraft_activejobs_update(!0)}function c(t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");t=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(window.location.href);return null==t?"":decodeURIComponent(t[1].replace(/\+/g," "))}jQuery("#updraftplus_httpget_go").on("click",function(t){t.preventDefault(),l(0)}),jQuery("#updraftplus_httpget_gocurl").on("click",function(t){t.preventDefault(),l(1)}),jQuery("#updraftplus_callwpaction_go").on("click",function(t){t.preventDefault(),updraft_send_command("call_wordpress_action",params={wpaction:jQuery("#updraftplus_callwpaction").val()},function(t){t.e?alert(t.e):t.s||(t.r?jQuery("#updraftplus_callwpaction_results").html(t.r):(console.log(t),alert(updraftlion.jsonnotunderstood)))})}),jQuery("#updraft_activejobs_table, #updraft-navtab-migrate-content").on("click",".updraft_jobinfo_delete",function(t){t.preventDefault();t=jQuery(this).data("jobid");t?(h(this).addClass("disabled"),updraft_activejobs_delete(t)):console.log("UpdraftPlus: A stop job link was clicked, but the Job ID could not be found")}),jQuery("#updraft_activejobs_table, #updraft-navtab-backups-content .updraft_existing_backups, #updraft-backupnow-inpage-modal, #updraft-navtab-migrate-content").on("click",".updraft-log-link",function(t){t.preventDefault();var t=jQuery(this).data("fileid"),e=jQuery(this).data("jobid");t?updraft_popuplog(t):e?updraft_popuplog(e):console.log("UpdraftPlus: A log link was clicked, but the Job ID could not be found")}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click","button.choose-components-button",function(t){_(jQuery(this).data("entities"),jQuery(this).data("backup_timestamp"),jQuery(this).data("showdata"))}),"initiate_restore"==c("udaction")&&_(c("entities"),c("backup_timestamp"),c("showdata"));t={};function f(){var t=jQuery(".db-search").val().toLowerCase();jQuery(".db-size-content tr").filter(function(){jQuery(this).toggle(-1
    '+updraftlion.loading+"
    ",updraftlion.raw,780,500)}),jQuery("#backupnow_database_moreoptions").on("click","div.backupnow-db-tables > a",function(t){t.preventDefault(),jQuery("> input",jQuery(this).parents("div.backupnow-db-tables")).prop("checked",!1),jQuery(this).hasClass("backupnow-select-all-table")?jQuery("> input",jQuery(this).parents("div.backupnow-db-tables")).prop("checked",!0):jQuery(this).hasClass("backupnow-select-all-this-site")&&jQuery("> input",jQuery(this).parents("div.backupnow-db-tables")).not("[data-non_wp_table]").prop("checked",!0)}),jQuery("#updraft-restore-modal").on("click",".updraft_restore_select_all_themes",function(t){t.preventDefault(),jQuery(".updraft_restore_themes_options").prop("checked",!0)}),jQuery("#updraft-restore-modal").on("click",".updraft_restore_deselect_all_themes",function(t){t.preventDefault(),jQuery(".updraft_restore_themes_options").prop("checked",!1)}),jQuery("#updraft-restore-modal").on("click",".updraft_restore_select_all_plugins",function(t){t.preventDefault(),jQuery(".updraft_restore_plugins_options").prop("checked",!0)}),jQuery("#updraft-restore-modal").on("click",".updraft_restore_deselect_all_plugins",function(t){t.preventDefault(),jQuery(".updraft_restore_plugins_options").prop("checked",!1)}),jQuery(".updraftmessage.admin-warning-litespeed").on("click",".notice-dismiss",function(t){t.preventDefault(),updraft_send_command("dismiss_admin_warning_litespeed")}),jQuery(".updraftmessage.admin-warning-pclzip").on("click",".notice-dismiss",function(t){t.preventDefault(),updraft_send_command("dismiss_admin_warning_pclzip")}),jQuery("#db_size.advanced_tools_button, .db-size-refresh").on("click",function(t){t.preventDefault();var e=jQuery(".advanced_settings_content .advanced_tools.db_size .total-size"),a=jQuery(".advanced_settings_content .advanced_tools.db_size tbody.db-size-content");jQuery(this).hasClass("advanced_tools_button")&&""!=a.html()||(a.html(""),updraft_send_command("db_size",1,function(t){e.html(t.size),a.html(t.html),f()}))}),jQuery(".db-search").on("input",function(){f()}),jQuery(".db-search-clear").on("click",function(t){t.preventDefault(),jQuery(".db-search").val(""),f()}),jQuery(".updraft_restore_main").on("click","button#updraft_restore_abort",function(t){t.preventDefault(),jQuery("#updraft_restore_continue_action").val("updraft_restore_abort"),jQuery(this).parent("form").trigger("submit")})}),jQuery(function(n){var o="#updraft-navtab-settings-content ";n(o+"#remote-storage-holder").on("click",".updraftvault_backtostart",function(t){t.preventDefault(),n(o+"#updraftvault_settings_showoptions").slideUp(),n(o+"#updraftvault_settings_connect").slideUp(),n(o+"#updraftvault_settings_connected").slideUp(),n(o+"#updraftvault_settings_default").slideDown()}),n(o).on("keypress","#updraftvault_settings_connect input",function(t){if(13==t.which)return n(o+"#updraftvault_connect_go").trigger("click"),!1}),n(o+"#remote-storage-holder").on("click","#updraftvault_recountquota",function(t){t.preventDefault(),n(o+"#updraftvault_recountquota").html(updraftlion.counting);try{updraft_send_command("vault_recountquota",{instance_id:n("#updraftvault_settings_connect").data("instance_id")},function(t){n(o+"#updraftvault_recountquota").html(updraftlion.updatequotacount),t.hasOwnProperty("html")&&(n(o+"#updraftvault_settings_connected").html(t.html),t.hasOwnProperty("connected"))&&(t.connected?(n(o+"#updraftvault_settings_default").hide(),n(o+"#updraftvault_settings_connected")):(n(o+"#updraftvault_settings_connected").hide(),n(o+"#updraftvault_settings_default"))).show()},{error_callback:function(t,e,a,r){n(o+"#updraftvault_recountquota").html(updraftlion.updatequotacount),void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),alert(r),console.log(t))}})}catch(t){n(o+"#updraftvault_recountquota").html(updraftlion.updatequotacount),console.log(t)}}),n(o+"#remote-storage-holder").on("click","#updraftvault_disconnect",function(t){t.preventDefault(),n(o+"#updraftvault_disconnect").html(updraftlion.disconnecting);try{updraft_send_command("vault_disconnect",{immediate_echo:!0,instance_id:n("#updraftvault_settings_connect").data("instance_id")},function(t){n(o+"#updraftvault_disconnect").html(updraftlion.disconnect),t.hasOwnProperty("html")&&(n(o+"#updraftvault_settings_connected").html(t.html).slideUp(),n(o+"#updraftvault_settings_default").slideDown())},{error_callback:function(t,e,a,r){n(o+"#updraftvault_disconnect").html(updraftlion.disconnect),void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),alert(r),console.log(t))}})}catch(t){n(o+"#updraftvault_disconnect").html(updraftlion.disconnect),console.log(t)}}),n(o+"#remote-storage-holder").on("click","#updraftvault_connect",function(t){t.preventDefault(),n(o+"#updraftvault_settings_default").slideUp(),n(o+"#updraftvault_settings_connect").slideDown()}),n(o+"#remote-storage-holder").on("click","#updraftvault_showoptions",function(t){t.preventDefault(),n(o+"#updraftvault_settings_default").slideUp(),n(o+"#updraftvault_settings_showoptions").slideDown()}),n("#remote-storage-holder").on("keyup",".updraftplus_onedrive_folder_input",function(t){var e=n(this).val(),a=n(this).closest("td");0==e.indexOf("https:")||0==e.indexOf("http:")?a.find(".onedrive_folder_error").length||a.append('
    '+updraftlion.onedrive_folder_url_warning+"
    "):a.find(".onedrive_folder_error").slideUp("slow",function(){a.find(".onedrive_folder_error").remove()})}),n(o+"#remote-storage-holder").on("click","#updraftvault_connect_go",function(t){return n(o+"#updraftvault_connect_go").html(updraftlion.connecting),updraft_send_command("vault_connect",{email:n("#updraftvault_email").val(),pass:n("#updraftvault_pass").val(),instance_id:n("#updraftvault_settings_connect").data("instance_id")},function(t,e,a){n(o+"#updraftvault_connect_go").html(updraftlion.connect),t.hasOwnProperty("e")?(updraft_html_modal('

    '+updraftlion.errornocolon+"

    "+t.e+"

    ",updraftlion.disconnect,400,250),t.hasOwnProperty("code")&&"no_quota"==t.code&&(n(o+"#updraftvault_settings_connect").slideUp(),n(o+"#updraftvault_settings_default").slideDown())):t.hasOwnProperty("connected")&&t.connected&&t.hasOwnProperty("html")?(n(o+"#updraftvault_settings_connect").slideUp(),n(o+"#updraftvault_settings_connected").html(t.html).slideDown()):(console.log(t),alert(updraftlion.unexpectedresponse+" "+a))},{error_callback:function(t,e,a,r){n(o+"#updraftvault_connect_go").html(updraftlion.connect),void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),alert(r),console.log(t))}}),!1}),n("#updraft-iframe-modal").on("change","#always_keep_this_backup",function(){var e=n(this).data("backup_key");updraft_send_command("always_keep_this_backup",{backup_key:e,always_keep:n(this).is(":checked")?1:0},function(t){t.hasOwnProperty("rawbackup")&&(jQuery("#updraft-iframe-modal").dialog("close"),jQuery(".updraft_existing_backups_row_"+e+" .updraft_existingbackup_date").data("rawbackup",t.rawbackup),updraft_html_modal(jQuery(".updraft_existing_backups_row_"+e+" .updraft_existingbackup_date").data("rawbackup"),updraftlion.raw,780,500))})})}),jQuery(function(t){try{"undefined"!=typeof updraft_plupload_config2&&((a=new plupload.Uploader(updraft_plupload_config2)).bind("Init",function(t){var e=jQuery("#plupload-upload-ui2");t.features.dragdrop?(e.addClass("drag-drop"),jQuery("#drag-drop-area2").on("dragover.wp-uploader",function(){e.addClass("drag-over")}).on("dragleave.wp-uploader, drop.wp-uploader",function(){e.removeClass("drag-over")})):(e.removeClass("drag-drop"),jQuery("#drag-drop-area2").off(".wp-uploader"))}),a.init(),a.bind("FilesAdded",function(t,e){plupload.each(e,function(t){/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-db([0-9]+)?\.(gz\.crypt)$/i.test(t.name)?jQuery("#filelist2").append('
    '+t.name+" ("+plupload.formatSize(0)+"/"+plupload.formatSize(t.size)+')
    '):(alert(t.name+": "+updraftlion.notdba),a.removeFile(t))}),t.refresh(),t.start()}),a.bind("UploadProgress",function(t,e){jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"),jQuery("#"+e.id+" span").html(plupload.formatSize(parseInt(e.size*e.percent/100)))}),a.bind("Error",function(t,e){err_makesure="-200"==e.code?"\n"+updraftlion.makesure2:updraftlion.makesure,alert(updraftlion.uploaderr+" (code "+e.code+") : "+e.message+" "+err_makesure)}),a.bind("FileUploaded",function(t,e,a){"200"==a.status?"ERROR:"==a.response.substring(0,6)?alert(updraftlion.uploaderror+" "+a.response.substring(6)):"OK:"==a.response.substring(0,3)?(bkey=a.response.substring(3),jQuery("#"+e.id+" .fileprogress").hide(),jQuery("#"+e.id).append(updraftlion.uploaded+' '+updraftlion.followlink+" "+updraftlion.thiskey+" "+jQuery("#updraftplus_db_decrypt").val().replace(/&/g,"&").replace(//g,">"))):alert(updraftlion.unknownresp+" "+a.response):alert(updraftlion.ukrespstatus+" "+a.code)}))}catch(t){console.log(t)}var a;if(jQuery("#updraft-hidethis").remove(),Handlebars.registerHelper("ifeq",function(t,e,a){return(t="string"!=typeof t&&null!=t?t.toString():t)===(e="string"!=typeof e&&null!=e?e.toString():e)?a.fn(this):a.inverse(this)}),Handlebars.registerHelper("maskPassword",function(t){return t.replace(/./gi,"*")}),Handlebars.registerHelper("encodeURIComponent",function(t){return encodeURIComponent(t)}),Handlebars.registerHelper("ifCond",function(t,e,a,r){switch(e){case"==":return t==a?r.fn(this):r.inverse(this);case"===":return t===a?r.fn(this):r.inverse(this);case"!=":return t!=a?r.fn(this):r.inverse(this);case"!==":return t!==a?r.fn(this):r.inverse(this);case"<":return t":return a=":return a<=t?r.fn(this):r.inverse(this);case"&&":return t&&a?r.fn(this):r.inverse(this);case"||":return t||a?r.fn(this):r.inverse(this);case"typeof":return t===typeof a?r.fn(this):r.inverse(this);case"not_typeof":return t!==typeof a?r.fn(this):r.inverse(this);default:return r.inverse(this)}}),Handlebars.registerHelper("for",function(t,e,a,r){for(var n="",o=t;o \t\t\t \t\t\t \t\t\t\t

    \t\t\t\t\t \t\t\t\t

    \t\t\t \t\t"}),t("#remote-storage-holder").length){var e,r="",n=["default","template_properties"];for(e in updraftlion.remote_storage_templates)if(void 0!==updraftlion.remote_storage_options[e]&&n.length'+jQuery(this).html()+"

    "),e=!0}),e&&((t={})[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-authenticate-modal").dialog({autoOpen:!0,modal:!0,resizable:!1,draggable:!1,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,useContentSize:!1,open:function(t,e){o(this).dialog("option","width",860),o(this).dialog("option","height",260)},buttons:t}).dialog("open"))}(new Image).src=updraftlion.ud_url+"/images/notices/updraft_logo.png",o("#updraft-navtab-settings-content input.updraft_include_entity").on("change",function(t){var e=o(this).attr("id"),a=o(this).is(":checked");o("#backupnow_files_"+e).prop("checked",a)}),o("#updraftplus-settings-save").on("click",function(t){t.preventDefault(),o.blockUI({css:{width:"300px",border:"none","border-radius":"10px",left:"calc(50% - 150px)",padding:"20px"},message:'

    '+updraftlion.saving+"
    "}),updraft_send_command("savesettings",{settings:a("string"),updraftplus_version:updraftlion.updraftplus_version},function(t,e,a){r(t,a),o("#updraft-wrap .fade").delay(6e3).fadeOut(2e3),window.updraft_main_tour&&!window.updraft_main_tour.canceled?(window.updraft_main_tour.show("settings_saved"),n()):o("html, body").animate({scrollTop:o("#updraft-wrap").offset().top},1e3,function(){n()}),o.unblockUI()},{action:"updraft_savesettings",error_callback:function(t,e,a,r){o.unblockUI(),void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),alert(r),console.log(t))},nonce:updraftplus_settings_nonce})}),o("#updraftplus-settings-export").on("click",function(){var t,e;updraft_settings_form_changed&&alert(updraftlion.unsaved_settings_export),t=a("object"),e=new Date,t=JSON.stringify({version:"1.12.40",epoch_date:e.getTime(),local_date:e.toLocaleString(),network_site_url:updraftlion.network_site_url,data:t}),(e=document.body.appendChild(document.createElement("a"))).setAttribute("download",updraftlion.export_settings_file_name),e.setAttribute("style","display:none;"),e.setAttribute("href","data:text/json;charset=UTF-8,"+encodeURIComponent(t)),e.click()}),o("#updraftplus-settings-import").on("click",function(){o.blockUI({css:{width:"300px",border:"none","border-radius":"10px",left:"calc(50% - 150px)",padding:"20px"},message:'

    '+updraftlion.importing+"
    "});var t,e=document.getElementById("import_settings");0==e.files.length?(alert(updraftlion.import_select_file),o.unblockUI()):(e=e.files[0],(t=new FileReader).onload=function(){var t,e=this.result;try{t=ud_parse_json(e)}catch(t){return void(o.unblockUI(),jQuery("#import_settings").val(""),console.log(e),console.log(t),alert(updraftlion.import_invalid_json_file))}window.confirm(updraftlion.importing_data_from+" "+t.network_site_url+"\n"+updraftlion.exported_on+" "+t.local_date+"\n"+updraftlion.continue_import)?updraft_send_command("importsettings",{settings:JSON.stringify(t.data),updraftplus_version:updraftlion.updraftplus_version},function(t,e,a){t=r(t);!t.hasOwnProperty("saved")||t.saved?(updraft_settings_form_changed=!1,location.replace(updraftlion.updraft_settings_url)):(o.unblockUI(),t.hasOwnProperty("error_message")&&t.error_message&&alert(t.error_message))},{action:"updraft_importsettings",nonce:updraftplus_settings_nonce,error_callback:function(t,e,a,r){o.unblockUI(),void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),console.log(t),alert(r))}}):o.unblockUI()},t.readAsText(e))}),o(".udp-replace-with-iframe--js").on("click",function(t){t.preventDefault();t=o(this).prop("href");o(''); jQuery('#updraft-iframe-modal').dialog({ title: title, resizeOnWindowResize: true, scrollWithViewport: true, resizeAccordingToViewport: true, useContentSize: false, open: function(event, ui) { jQuery(this).dialog('option', 'width', width), jQuery(this).dialog('option', 'minHeight', 260); if (jQuery(window).height() > height) { jQuery(this).dialog('option', 'height', height); } else { jQuery(this).dialog('option', 'height', jQuery(window).height()-30); } } }).dialog('open'); } function updraft_html_modal(showwhat, title, width, height) { jQuery('#updraft-iframe-modal-innards').html(showwhat); var updraft_html_modal_buttons = {}; if (width < 450) { updraft_html_modal_buttons[updraftlion.close] = function() { jQuery(this).dialog("close"); }; } jQuery('#updraft-iframe-modal').dialog({ title: title, buttons: updraft_html_modal_buttons, resizeOnWindowResize: true, scrollWithViewport: true, resizeAccordingToViewport: true, useContentSize: false, open: function(event, ui) { jQuery(this).dialog('option', 'width', width), jQuery(this).dialog('option', 'minHeight', 260); if (jQuery(window).height() > height) { jQuery(this).dialog('option', 'height', height); } else { jQuery(this).dialog('option', 'height', jQuery(window).height()-30); } } }).dialog('open'); } function updraftplus_diskspace() { jQuery('#updraft-navtab-backups-content .updraft_diskspaceused').html(''+updraftlion.calculating+''); updraft_send_command('get_fragment', { fragment: 'disk_usage', data: 'updraft' }, function(response) { jQuery('#updraft-navtab-backups-content .updraft_diskspaceused').html(response.output); }, { type: 'GET' }); } var lastlog_lastmessage = ""; function updraftplus_deletefromserver(timestamp, type, findex) { if (!findex) findex=0; var pdata = { stage: 'delete', timestamp: timestamp, type: type, findex: findex }; updraft_send_command('updraft_download_backup', pdata, null, { action: 'updraft_download_backup', nonce: updraft_download_nonce, nonce_key: '_wpnonce' }); } function updraftplus_downloadstage2(timestamp, type, findex) { location.href =ajaxurl+'?_wpnonce='+updraft_download_nonce+'×tamp='+timestamp+'&type='+type+'&stage=2&findex='+findex+'&action=updraft_download_backup'; } function updraftplus_show_contents(timestamp, type, findex) { var modal_content = '

    ' + updraftlion.zip_file_contents_info + ' -

    '+updraftlion.browse_download_link+'
    '; updraft_html_modal(modal_content, updraftlion.zip_file_contents, 780, 500); zip_files_jstree('zipbrowser', timestamp, type, findex); } /** * Creates the jstree and makes a call to the backend to dynamically get the tree nodes * * @param {string} entity Entity for the jstree * @param {integer} timestamp Timestamp of the jstree * @param {string} type Type of file to display in the JS tree * @param {array} findex Index of Zip */ function zip_files_jstree(entity, timestamp, type, findex) { jQuery('#updraft_zip_files_jstree').jstree({ "core": { "multiple": false, "data": function (nodeid, callback) { updraft_send_command('get_jstree_directory_nodes', {entity:entity, node:nodeid, timestamp:timestamp, type:type, findex:findex}, function(response) { if (response.hasOwnProperty('error')) { alert(response.error); } else { callback.call(this, response.nodes); } }, { error_callback: function(response, status, error_code, resp) { if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); jQuery('#updraft_zip_files_jstree').html('

    '+resp.fatal_error_message+'

    '); alert(resp.fatal_error_message); } else { var error_message = "updraft_send_command: error: "+status+" ("+error_code+")"; jQuery('#updraft_zip_files_jstree').html('

    '+error_message+'

    '); console.log(error_message); alert(error_message); console.log(response); } } }); }, "error": function(error) { alert(error); console.log(error); }, }, "search": { "show_only_matches": true }, "plugins": ["search", "sort"], }); // Update modal title once tree loads jQuery('#updraft_zip_files_jstree').on('ready.jstree', function(e, data) { jQuery('#updraft-iframe-modal').dialog('option', 'title', updraftlion.zip_file_contents + ': ' + data.instance.get_node('#').children[0]) }); // Search function for jstree, this will hide nodes that don't match the search var timeout = false; jQuery('#zip_files_jstree_search').on('keyup', function () { if (timeout) { clearTimeout(timeout); } timeout = setTimeout(function () { var value = jQuery('#zip_files_jstree_search').val(); jQuery('#updraft_zip_files_jstree').jstree(true).search(value); }, 250); }); // Detect change on the tree and update the input that has been marked as editing jQuery('#updraft_zip_files_jstree').on("changed.jstree", function (e, data) { jQuery('#updraft_zip_path_text').text(data.node.li_attr.path); if (data.node.li_attr.size) { jQuery('#updraft_zip_size_text').text(data.node.li_attr.size); jQuery('#updraft_zip_download_item').show(); } else { jQuery('#updraft_zip_size_text').text(''); jQuery('#updraft_zip_download_item').hide(); } }); jQuery('#updraft_zip_download_item').on('click', function(event) { event.preventDefault(); var path = jQuery('#updraft_zip_path_text').text(); updraft_send_command('get_zipfile_download', {path:path, timestamp:timestamp, type:type, findex:findex}, function(response) { if (response.hasOwnProperty('error')) { alert(response.error); } else if (response.hasOwnProperty('path')) { location.href =ajaxurl+'?_wpnonce='+updraft_download_nonce+'×tamp='+timestamp+'&type='+type+'&stage=2&findex='+findex+'&filepath='+response.path+'&action=updraft_download_backup'; } else { alert(updraftlion.download_timeout); } }, { error_callback: function(response, status, error_code, resp) { if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); alert(resp.fatal_error_message); } else { var error_message = "updraft_send_command: error: "+status+" ("+error_code+")"; console.log(error_message); alert(error_message); console.log(response); } } }); }); } /** * This function will clean up the updraft downloader UI * * @param {object} item - the object pressed in the UI * @param {string} what - the file entity */ function remove_updraft_downloader(item, what) { jQuery(item).closest('.updraftplus_downloader').fadeOut().remove(); if (0 == jQuery('.updraftplus_downloader_container_'+what+' .updraftplus_downloader').length) jQuery('.updraftplus_downloader_container_'+what).remove(); } /** * This function will prepare the downloader UI and kick of the request to download the file entities. * * @param {string} base - the base string for the id * @param {integer} backup_timestamp - the backup timestamp * @param {string} what - the file entity * @param {string} whicharea - the area we want to append the downloader * @param {string} set_contents - the contents we want to download * @param {string} prettydate - the pretty backup date * @param {boolean} async - boolean to indicate if this is a async request or not */ function updraft_downloader(base, backup_timestamp, what, whicharea, set_contents, prettydate, async) { if (typeof set_contents !== "string") set_contents = set_contents.toString(); jQuery('.ud_downloadstatus').show(); var set_contents = set_contents.split(','); var prdate = (prettydate) ? prettydate : backup_timestamp; // Old-style, from when it was a form // var data = jQuery('#updraft-navtab-backups-content .uddownloadform_'+what+'_'+backup_timestamp+'_'+set_contents[i]).serialize(); var nonce = jQuery('#updraft-navtab-backups-content .uddownloadform_'+what+'_'+backup_timestamp+'_'+set_contents[0]).data('wp_nonce').toString(); if (!jQuery('.updraftplus_downloader_container_'+what).length) { jQuery(whicharea).append('
    '); jQuery('.updraftplus_downloader_container_' + what).append('' + updraftlion.download + ' ' + what + ' (' + prdate + '):'); } for (var i = 0; i < set_contents.length; i++) { // Create somewhere for the status to be found var stid = base+backup_timestamp+'_'+what+'_'+set_contents[i]; var stid_selector = '.'+stid; var show_index = parseInt(set_contents[i]); show_index++; var itext = (0 == set_contents[i]) ? '' : ' ('+show_index+')'; if (!jQuery(stid_selector).length) { jQuery('.updraftplus_downloader_container_'+what).append('
    '+what+itext+':
    '+updraftlion.begunlooking+'
    '); jQuery(stid_selector).data('downloaderfor', { base: base, nonce: backup_timestamp, what: what, index: set_contents[i] }); setTimeout(function() { updraft_activejobs_update(true); }, 1500); } jQuery(stid_selector).data('lasttimebegan', (new Date).getTime()); } // Now send the actual request to kick it all off async = async ? true : false; var data = { type: what, timestamp: backup_timestamp, findex: set_contents }; var options = { action: 'updraft_download_backup', nonce_key: '_wpnonce', nonce: nonce, timeout: 10000, async: async } updraft_send_command('updraft_download_backup', data, null, options); // We don't want the form to submit as that replaces the document return false; } /** * Parse JSON string, including automatically detecting unwanted extra input and skipping it * * @param {string} json_mix_str - JSON string which need to parse and convert to object * @param {boolean} analyse - if true, then the return format will contain information on the parsing, and parsing will skip attempting to JSON.parse() the entire string (will begin with trying to locate the actual JSON) * * @throws SyntaxError|String (including passing on what JSON.parse may throw) if a parsing error occurs. * * @returns Mixed parsed JSON object. Will only return if parsing is successful (otherwise, will throw). If analyse is true, then will rather return an object with properties (mixed)parsed, (integer)json_start_pos and (integer)json_end_pos */ function ud_parse_json(json_mix_str, analyse) { analyse = ('undefined' === typeof analyse) ? false : true; // Just try it - i.e. the 'default' case where things work (which can include extra whitespace/line-feeds, and simple strings, etc.). if (!analyse) { try { var result = JSON.parse(json_mix_str); return result; } catch (e) { console.log('UpdraftPlus: Exception when trying to parse JSON (1) - will attempt to fix/re-parse based upon first/last curly brackets'); console.log(json_mix_str); } } var json_start_pos = json_mix_str.indexOf('{'); var json_last_pos = json_mix_str.lastIndexOf('}'); // Case where some php notice may be added after or before json string if (json_start_pos > -1 && json_last_pos > -1) { var json_str = json_mix_str.slice(json_start_pos, json_last_pos + 1); try { var parsed = JSON.parse(json_str); if (!analyse) { console.log('UpdraftPlus: JSON re-parse successful'); } return analyse ? { parsed: parsed, json_start_pos: json_start_pos, json_last_pos: json_last_pos + 1 } : parsed; } catch (e) { console.log('UpdraftPlus: Exception when trying to parse JSON (2) - will attempt to fix/re-parse based upon bracket counting'); var cursor = json_start_pos; var open_count = 0; var last_character = ''; var inside_string = false; // Don't mistake this for a real JSON parser. Its aim is to improve the odds in real-world cases seen, not to arrive at universal perfection. while ((open_count > 0 || cursor == json_start_pos) && cursor <= json_last_pos) { var current_character = json_mix_str.charAt(cursor); if (!inside_string && '{' == current_character) { open_count++; } else if (!inside_string && '}' == current_character) { open_count--; } else if ('"' == current_character && '\\' != last_character) { inside_string = inside_string ? false : true; } last_character = current_character; cursor++; } console.log("Started at cursor="+json_start_pos+", ended at cursor="+cursor+" with result following:"); console.log(json_mix_str.substring(json_start_pos, cursor)); try { var parsed = JSON.parse(json_mix_str.substring(json_start_pos, cursor)); console.log('UpdraftPlus: JSON re-parse successful'); return analyse ? { parsed: parsed, json_start_pos: json_start_pos, json_last_pos: cursor } : parsed; } catch (e) { // Throw it again, so that our function works just like JSON.parse() in its behaviour. throw e; } } } throw "UpdraftPlus: could not parse the JSON"; } // Catch HTTP errors if the download status check returns them jQuery(document).ajaxError(function(event, jqxhr, settings, exception) { if (exception == null || exception == '') return; if (jqxhr.responseText == null || jqxhr.responseText == '') return; console.log("Error caught by UpdraftPlus ajaxError handler (follows) for "+settings.url); console.log(exception); if (settings.url.search(ajaxurl) == 0) { // TODO subaction=downloadstatus is no longer used. This should be adjusted to the current set-up. if (settings.url.search('subaction=downloadstatus') >= 0) { var timestamp = settings.url.match(/timestamp=\d+/); var type = settings.url.match(/type=[a-z]+/); var findex = settings.url.match(/findex=\d+/); var base = settings.url.match(/base=[a-z_]+/); findex = (findex instanceof Array) ? parseInt(findex[0].substr(7)) : 0; type = (type instanceof Array) ? type[0].substr(5) : ''; base = (base instanceof Array) ? base[0].substr(5) : ''; timestamp = (timestamp instanceof Array) ? parseInt(timestamp[0].substr(10)) : 0; if ('' != base && '' != type && timestamp >0) { var stid = base+timestamp+'_'+type+'_'+findex; jQuery('.'+stid+' .raw').html(''+updraftlion.error+' '+updraftlion.servererrorcode); } } else if (settings.url.search('subaction=restore_alldownloaded') >= 0) { // var timestamp = settings.url.match(/timestamp=\d+/); jQuery('#updraft-restore-modal-stage2a').append('
    '+updraftlion.error+' '+updraftlion.servererrorcode+': '+exception); } } }); function updraft_restorer_checkstage2(doalert) { // How many left? var stilldownloading = jQuery('#ud_downloadstatus2 .file').length; if (stilldownloading > 0) { if (doalert) { alert(updraftlion.stilldownloading); } return; } // Allow pressing 'Restore' to proceed jQuery('.updraft-restore--next-step').prop('disabled', true); jQuery('#updraft-restore-modal-stage2a').html(' '+updraftlion.preparing_backup_files); updraft_send_command('restore_alldownloaded', { timestamp: jQuery('#updraft_restore_timestamp').val(), restoreopts: jQuery('#updraft_restore_form').serialize() }, function(resp, status, data) { var info = null; jQuery('#updraft_restorer_restore_options').val(''); jQuery('.updraft-restore--next-step').prop('disabled', false); try { // var resp = ud_parse_json(data); if (null == resp) { jQuery('#updraft-restore-modal-stage2a').html(updraftlion.emptyresponse); return; } var report = resp.m; if (resp.w != '') { report = report + '

    ' + updraftlion.warnings +'

    ' + resp.w + '
    '; } if (resp.e != '') { report = report + '

    ' + updraftlion.errors+'

    ' + resp.e + '
    '; } else { updraft_restore_stage = 3; } if (resp.hasOwnProperty('i')) { // Store the information passed back from the backup scan try { info = ud_parse_json(resp.i); // if (info.hasOwnProperty('multisite') && info.multisite && info.hasOwnProperty('same_url') && info.same_url) { if (info.hasOwnProperty('addui')) { console.log("Further UI options are being displayed"); var addui = info.addui; report += '
    '+addui+'
    '; if (typeof JSON == 'object' && typeof JSON.stringify == 'function') { // If possible, remove from the stored info, to prevent passing back potentially large amounts of unwanted data delete info.addui; resp.i = JSON.stringify(info); } } if (info.hasOwnProperty('php_max_input_vars')) { php_max_input_vars = parseInt(info.php_max_input_vars); } if (info.hasOwnProperty('skipped_db_scan')) { skipped_db_scan = parseInt(info.skipped_db_scan); } } catch (err) { console.log(err); console.log(resp); } jQuery('#updraft_restorer_backup_info').val(resp.i); } else { jQuery('#updraft_restorer_backup_info').val(); } jQuery('#updraft-restore-modal-stage2a').html(report); jQuery('.updraft-restore--next-step').text(updraftlion.restore); if (jQuery('#updraft-restore-modal-stage2a .updraft_select2').length > 0) { jQuery('#updraft-restore-modal-stage2a .updraft_select2').select2(); } } catch (err) { console.log(data); console.log(err); jQuery('#updraft-restore-modal-stage2a').text(updraftlion.jsonnotunderstood+' '+updraftlion.errordata+": "+data).html(); } }, { error_callback: function(response, status, error_code, resp) { if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); jQuery('#updraft-restore-modal-stage2a').html('

    '+resp.fatal_error_message+'

    '); alert(resp.fatal_error_message); } else { var error_message = "updraft_send_command: error: "+status+" ("+error_code+")"; jQuery('#updraft-restore-modal-stage2a').html('

    '+error_message+'

    '); console.log(error_message); alert(error_message); console.log(response); } } }); } function updraft_downloader_status(base, nonce, what, findex) { // Short-circuit. See previous versions for the old code. return; } function updraft_downloader_status_update(download_status, response_raw) { var cancel_repeat = 0; jQuery(download_status).each(function (x, dstatus) { if (dstatus.base == '') return; var stid = dstatus.base + dstatus.timestamp + '_' + dstatus.what + '_' + dstatus.findex; var stid_selector = '.' + stid; if (dstatus.e != null) { jQuery(stid_selector + ' .raw').html('' + updraftlion.error + ' ' + dstatus.e); console.log(dstatus); } else if (dstatus.p != null) { jQuery(stid_selector + '_st .dlfileprogress').width(dstatus.p + '%'); // jQuery(stid_selector+'_st .dlsofar').html(Math.round(dstatus.s/1024)); // jQuery(stid_selector+'_st .dlsize').html(Math.round(dstatus.t/1024)); // Is a restart appropriate? // dstatus.a, if set, indicates that a) the download is incomplete and b) the value is the number of seconds since the file was last modified... if (dstatus.a != null && dstatus.a > 0) { var timenow = (new Date).getTime(); var lasttimebegan = jQuery(stid_selector).data('lasttimebegan'); // Remember that this is in milliseconds var sincelastrestart = timenow - lasttimebegan; if (dstatus.a > 90 && sincelastrestart > 60000) { console.log(dstatus.timestamp + " " + dstatus.what + " " + dstatus.findex + ": restarting download: file_age=" + dstatus.a + ", sincelastrestart_ms=" + sincelastrestart); jQuery(stid_selector).data('lasttimebegan', (new Date).getTime()); var $original_button = jQuery('#updraft-navtab-backups-content .uddownloadform_' + dstatus.what + '_' + dstatus.timestamp + '_' + dstatus.findex); var data = { type: dstatus.what, timestamp: dstatus.timestamp, findex: dstatus.findex }; var options = { action: 'updraft_download_backup', nonce_key: '_wpnonce', nonce: $original_button.data('wp_nonce').toString(), timeout: 10000 }; updraft_send_command('updraft_download_backup', data, null, options); jQuery(stid_selector).data('lasttimebegan', (new Date).getTime()); } } if (dstatus.m != null) { if (dstatus.p >= 100 && 'udrestoredlstatus_' == dstatus.base) { jQuery(stid_selector + ' .raw').html(dstatus.m); jQuery(stid_selector).fadeOut('slow', function () { remove_updraft_downloader(this, dstatus.what); updraft_restorer_checkstage2(0); }); } else if (dstatus.p >= 100 && dstatus.base == 'udclonedlstatus_') { jQuery(stid_selector + ' .raw').html(dstatus.m); jQuery(stid_selector).fadeOut('slow', function () { remove_updraft_downloader(this, dstatus.what); }); } else if (dstatus.p < 100 || dstatus.base != 'uddlstatus_') { jQuery(stid_selector + ' .raw').html(dstatus.m); } else { var file_ready_actions = updraftlion.fileready + ' ' + '(size: ' + convert_numeric_size_to_text(dstatus.s) + '). ' + updraftlion.actions + ':\ \ '; if (dstatus.hasOwnProperty('can_show_contents') && dstatus.can_show_contents) { file_ready_actions += ' '; } jQuery(stid_selector + ' .raw').html(file_ready_actions); jQuery(stid_selector + '_st').remove(); } } // dlstatus_lastlog = response_raw; } else if (dstatus.m != null) { jQuery(stid_selector + ' .raw').html(dstatus.m); } else { jQuery(stid_selector + ' .raw').html(updraftlion.jsonnotunderstood + ' (' + response_raw + ')'); cancel_repeat = 1; } }); return cancel_repeat; } /** * Converts a number of bytes into a suitable textual unit value * * @param {long} bytes * @returns string */ function convert_numeric_size_to_text(bytes) { if (1024 > bytes) { return bytes + " b"; } else if (1024 * 1024 >bytes) { return (bytes / 1024).toFixed(2) + " KB"; } else if (1024 * 1024 * 1024 > bytes ) { return (bytes / (1024 * 1024)).toFixed(2) + " MB"; } else { return (bytes / (1024 * 1024 * 1024)).toFixed(2) + " GB"; } } /** * Function that sets up a ajax call to start a backup * * @param {Integer} backupnow_nodb Indicate whether the database should be backed up: valid values are 0, 1 * @param {Integer} backupnow_nofiles Indicate whether any files should be backed up: valid values are 0, 1 * @param {Integer} backupnow_nocloud Indicate whether the backup should be uploaded to cloud storage: valid values are 0, 1 * @param {String} onlythesefileentities A csv list of file entities to be backed up * @param {String} onlythesetableentities A csv list of table entities to be backed up * @param {Array} extradata any extra data to be added * @param {String} label A optional label to be added to a backup * @param {String} only_these_cloud_services An array of remote sorage locations to be backed up to */ function updraft_backupnow_go(backupnow_nodb, backupnow_nofiles, backupnow_nocloud, onlythesefileentities, extradata, label, onlythesetableentities, only_these_cloud_services) { var params = { backupnow_nodb: backupnow_nodb, backupnow_nofiles: backupnow_nofiles, backupnow_nocloud: backupnow_nocloud, backupnow_label: label, extradata: extradata }; if ('' != onlythesefileentities) { params.onlythisfileentity = onlythesefileentities; } if ('' != onlythesetableentities) { params.onlythesetableentities = onlythesetableentities; } if ('' != only_these_cloud_services) { params.only_these_cloud_services = only_these_cloud_services; } params.always_keep = (typeof extradata.always_keep !== 'undefined') ? extradata.always_keep : 0; delete extradata.always_keep; params.incremental = (typeof extradata.incremental !== 'undefined') ? extradata.incremental : 0; delete extradata.incremental; params.db_anon_all = (typeof extradata.db_anon !== 'undefined' && typeof extradata.db_anon.all !== 'undefined') ? extradata.db_anon.all : 0; params.db_anon_non_staff = (typeof extradata.db_anon !== 'undefined' && typeof extradata.db_anon.non_staff !== 'undefined') ? extradata.db_anon.non_staff : 0; params.db_anon_wc_orders = (typeof extradata.db_anon !== 'undefined' && typeof extradata.db_anon.wc_orders !== 'undefined') ? extradata.db_anon.wc_orders : 0; if ('undefined' !== typeof extradata.db_anon) { delete extradata.db_anon.all; delete extradata.db_anon.non_staff; delete extradata.db_anon.wc_orders; } // Display Request start message if (!jQuery('.updraft_requeststart').length) { var requeststart_el = jQuery('
    ').html(''+updraftlion.requeststart); requeststart_el.data('remove', false); setTimeout( function() { requeststart_el.data('remove', true); }, 3000 ); setTimeout( function() { requeststart_el.remove(); }, 75000 ); jQuery('#updraft_activejobsrow').before(requeststart_el); } updraft_activejobslist_backupnownonce_only = 1; updraft_send_command('backupnow', params, function(resp) { if (resp.hasOwnProperty('error')) { jQuery('.updraft_requeststart').remove(); alert(resp.error); return; } jQuery('#updraft_backup_started').html(resp.m); if (resp.hasOwnProperty('nonce')) { // Can't return it from this context updraft_backupnow_nonce = resp.nonce; console.log("UpdraftPlus: ID of started job: "+updraft_backupnow_nonce); } setTimeout(function() { updraft_activejobs_update(true);}, 500); }); } jQuery(function($) { // actioned When the checkout embed is complete $(document).on('udp/checkout/done', function(e, data) { if (data.hasOwnProperty('product') && 'updraftpremium' === data.product && 'complete' === data.status) { $('.premium-upgrade-purchase-success').show(); $('.updraft_feat_table').closest('section').hide(); $('.updraft_premium_cta__action').hide(); } }); // Advanced settings new menu button listeners $('.expertmode .advanced_settings_container .advanced_tools_button').on('click', function() { advanced_tool_hide($(this).attr("id")); }); function advanced_tool_hide(show_tool) { $('.expertmode .advanced_settings_container .advanced_tools:not(".'+show_tool+'")').hide(); $('.expertmode .advanced_settings_container .advanced_tools.'+show_tool).fadeIn('slow'); $('.expertmode .advanced_settings_container .advanced_tools_button:not(#'+show_tool+')').removeClass('active'); $('.expertmode .advanced_settings_container .advanced_tools_button#'+show_tool).addClass('active'); } // https://github.com/select2/select2/issues/1246#issuecomment-71710835 if (jQuery.ui && jQuery.ui.dialog && jQuery.ui.dialog.prototype._allowInteraction) { var ui_dialog_interaction = jQuery.ui.dialog.prototype._allowInteraction; jQuery.ui.dialog.prototype._allowInteraction = function(e) { if (jQuery(e.target).closest('.select2-dropdown').length) return true; return ui_dialog_interaction.apply(this, arguments); }; } // Update WebDAV URL as user edits $('#updraft-navtab-settings-content #remote-storage-holder').on('change keyup paste', '.updraft_webdav_settings', function() { var attr_id = $(this).attr('id'); if ('string' !== typeof attr_id) return; var parsed_attr_id = attr_id.match(/updraft_webdav_(.+)_(s-[^_]+)$/i); if (!parsed_attr_id || !parsed_attr_id[1] || !parsed_attr_id[2]) return; var instance_id = parsed_attr_id[2], webdav_input = parsed_attr_id[1].toLowerCase(), masked_password = ''; if ('host' === webdav_input) { $('.webdav-'+instance_id+' .updraft_webdav_host_error').hide(); if ($(this).val().indexOf("@") >= 0) { $(this).val($(this).val().replaceAll('@', encodeURIComponent('@'))); } else if ($(this).val().indexOf("/") >= 0) { $(this).val($(this).val().replaceAll('/', '')); $('.webdav-'+instance_id+' .updraft_webdav_host_error').show(); } } else if ('path' === webdav_input && 0 == $(this).val().indexOf('/')) { $(this).val($(this).val().replace(/^[\/]+/, '')); } var webdav = $('#updraft_webdav_webdav_' + instance_id).val(), host = $('#updraft_webdav_host_' + instance_id).val() || '', user = $('#updraft_webdav_user_' + instance_id).val() || '', password = $('#updraft_webdav_pass_' + instance_id).val() || '', port = $('#updraft_webdav_port_' + instance_id).val() || '', path = $('#updraft_webdav_path_' + instance_id).val() || ''; if (password) { masked_password = password.replace(/./gi,'*'); } if (user && password) { user += ':'; } if ((user || password) && host) { masked_password += '@'; password += '@'; } if (host && port) { host += ':'; } if (path) { path = '/' + path; } $('#updraft_webdav_url_' + instance_id).val(webdav + user + password + host + port + path); $('#updraft_webdav_masked_url_' + instance_id).val(webdav + user + masked_password + host + port + path); }); $('div.ud-phpseclib-notice').on('click', 'button.notice-dismiss', function (event) { event.stopImmediatePropagation(); updraft_send_command('dismiss_phpseclib_notice', null, function(resp, status, response) { if (!resp.hasOwnProperty('success') || 1 !== resp.success) { console.log(resp); alert(updraftlion.unexpectedresponse+' '+response); } }); }); // Delete button $('#updraft-navtab-backups-content').on('click', '.js--delete-selected-backups', function(e) { e.preventDefault(); updraft_deleteallselected(); }); $('#updraft-navtab-backups-content').on('click', '.updraft_existing_backups .backup-select input', function(e) { // e.preventDefault(); updraft_backups_selection.toggle($(this).closest('.updraft_existing_backups_row')); }); $('#updraft-navtab-backups-content').on('click', '#cb-select-all', function(e) { if ($(this).is(':checked')) { updraft_backups_selection.selectAll(); } else { updraft_backups_selection.deselectAll(); } }); $('#updraft-wrap').on('click', '[id^=updraftplus_manual_authorisation_submit_]', function(e) { e.preventDefault(); var method = $(this).data('method'); var auth_data = $('#updraftplus_manual_authentication_data_'+method).val(); $('#updraftplus_manual_authentication_error_'+method).text(); $('#updraft-wrap #updraftplus_manual_authorisation_template_'+method+' .updraftplus_spinner.spinner').addClass('visible'); $('#updraftplus_manual_authorisation_submit_'+method).prop('disabled', true); manual_remote_storage_auth(method, auth_data); }); /** * This method will send the ajax request to manually authenticate the remote storage method and then update the page with the response * * @param {string} method - the remote storage method * @param {string} auth_data - the auth data as a base64 json encoded string */ function manual_remote_storage_auth(method, auth_data) { updraft_send_command('manual_remote_storage_authentication', {method: method, auth_data: auth_data}, function(response) { $('#updraft-wrap #updraftplus_manual_authorisation_template_'+method+' .updraftplus_spinner.spinner').removeClass('visible'); if (response.hasOwnProperty('result') && 'success' === response.result) { $('#updraft-wrap .updraftplus-top-menu').before(response.data); $('#updraft-wrap #updraftplus_manual_authorisation_template_'+method).parent().remove(); $('#updraft-wrap .updraft_authenticate_'+method).remove(); } else if (response.hasOwnProperty('result') && 'error' === response.result) { $('#updraftplus_manual_authentication_error_'+method).text(response.data); $('#updraftplus_manual_authorisation_submit_'+method).prop('disabled', false); } }); } $('#updraft-navtab-backups-content').on('click', '.js--select-all-backups', function(e) { updraft_backups_selection.selectAll(); }); $('#updraft-navtab-backups-content').on('click', '.js--deselect-all-backups', function(e) { updraft_backups_selection.deselectAll(); }); $('#updraft-navtab-backups-content').on('click', '.updraft_existing_backups .updraft_existing_backups_row', function(e) { if (!e.ctrlKey && !e.metaKey) return; if (e.shiftKey) { // it's multiple range selection, it requires the user to hold shift+ctrl buttons during the range selection, the initial and the new starting index is saved in firstMultipleSelectionIndex variable if ("undefined" == typeof updraft_backups_selection.firstMultipleSelectionIndex) { // if all the above conditions are fulfilled then we need to set up the keyup event handler only for range selection operation. By doing it, we also ignore the Apple Command (metaKey) keycode checking which varies among the browser https://unixpapa.com/js/key.html $(document).on('keyup.MultipleSelection', function(e) { // multiple range selection operation requires the user to hold ctrl/cmd + shift buttons all the time during the selections, the range selection operation will be canceled if the user releases one of the held buttons (shitf or ctrl/cmd) and if that happens the highlight mode will stop working updraft_backups_selection.unregister_highlight_mode(); // once this event handler has been triggered and the highlight mode has been turned off, this event handler needs to be removed by using its namespace .MultipleSelection $(document).off('.MultipleSelection'); }); updraft_backups_selection.select(this); $(this).addClass('range-selection-start'); updraft_backups_selection.register_highlight_mode(); } else { updraft_backups_selection.selectAllInBetween(this); jQuery('#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row').removeClass('range-selection'); } // set the new starting index to the ending range index updraft_backups_selection.firstMultipleSelectionIndex = this.rowIndex - 1; } else { updraft_backups_selection.toggle(this); } }); updraft_backups_selection.checkSelectionStatus(); $('#updraft-navtab-addons-content .wrap').on('click', '.updraftplus_com_login .ud_connectsubmit', function (e) { e.preventDefault(); var email = $('#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_email').val(); var password = $('#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_password').val(); var auto_update = $('#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_updates').is(':checked') ? 1: 0; var auto_udc_connect = $('#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_udc_connect').is(':checked') ? 1: 0; var options = { email: email, password: password, auto_update: auto_update, auto_udc_connect: auto_udc_connect }; updraftplus_com_login.submit(options); }); $('#updraft-navtab-addons-content .wrap').on('keydown', '.updraftplus_com_login input', function (e) { if (13 == e.which) { e.preventDefault(); var email = $('#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_email').val(); var password = $('#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_password').val(); var auto_update = $('#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_updates').is(':checked') ? 1: 0; var auto_udc_connect = $('#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_udc_connect').is(':checked') ? 1: 0; var options = { email: email, password: password, auto_update: auto_update, auto_udc_connect: auto_udc_connect }; updraftplus_com_login.submit(options); } }); $('#updraft-navtab-migrate-content').on('click', '.updraftclone_show_step_1', function (e) { $('.updraftplus-clone').addClass('opened'); $('.updraftclone_show_step_1').hide(); $('.updraft_migrate_widget_temporary_clone_stage1').show(); $('.updraft_migrate_widget_temporary_clone_stage0').hide(); }); $('#updraft-navtab-migrate-content').on('click', '.updraft_migrate_widget_temporary_clone_show_stage0', function(e) { e.preventDefault(); $('.updraft_migrate_widget_temporary_clone_stage0').toggle(); }); // First tab setup setup_migrate_tabs(); // hide section when clicking the close button $('#updraft-navtab-migrate-content').on('click', '.updraft_migrate_widget_module_content .close', function (e) { $('.updraft_migrate_intro').show(); $(this).closest('.updraft_migrate_widget_module_content').hide(); }); $('#updraft-navtab-migrate-content').on('click', '#updraft_migrate_tab_alt .close', function (e) { e.preventDefault(); $('.updraft_migrate_intro').show(); $('#updraft_migrate_tab_alt').html('').hide(); }); // Migrate show Add site button $('#updraft-navtab-migrate-content').on('click', '.updraft_migrate_add_site--trigger', function (e) { e.preventDefault(); $('.updraft_migrate_add_site').toggle(); }); $('#updraft-navtab-migrate-content').on('click', '.updraft_migrate_widget_module_content .updraftplus_com_login .ud_connectsubmit', function (e) { e.preventDefault(); var email = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_email').val(); var password = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_password').val(); var tfa = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code').val(); var consent = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .temporary_clone_terms_and_conditions').is(':checked') ? 1 : 0; var options = { form_data: { email: email, password: password, two_factor_code: tfa, consent: consent } }; if (!email || !password) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status').html('' + updraftlion.error + ' ' + updraftlion.username_password_required).show(); } else { temporary_clone_submit(options); } }); $('#updraft-navtab-migrate-content').on('keydown', '.updraft_migrate_widget_module_content .updraftplus_com_login input', function (e) { if (13 == e.which) { e.preventDefault(); var email = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_email').val(); var password = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_password').val(); var tfa = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code').val(); var consent = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .temporary_clone_terms_and_conditions').is(':checked') ? 1 : 0; var options = { form_data: { email: email, password: password, two_factor_code: tfa, consent: consent } }; if (!email || !password) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status').html('' + updraftlion.error + ' ' + updraftlion.username_password_required).show(); } else { temporary_clone_submit(options); } } }); $('#updraft-navtab-migrate-content').on('click', '.updraft_migrate_widget_module_content .updraftplus_com_key .ud_key_connectsubmit', function (e) { e.preventDefault(); var clone_key = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key #temporary_clone_options_key').val(); var consent = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .temporary_clone_terms_and_conditions').is(':checked') ? 1 : 0; var options = { form_data: { clone_key: clone_key, consent: consent } }; if (!clone_key) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status').html('' + updraftlion.error + ' ' + updraftlion.clone_key_required).show(); } else { temporary_clone_key_submit(options); } }); $('#updraft-navtab-migrate-content').on('keydown', '.updraft_migrate_widget_module_content .updraftplus_com_key input', function (e) { if (13 == e.which) { e.preventDefault(); var clone_key = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key #temporary_clone_options_key').val(); var consent = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .temporary_clone_terms_and_conditions').is(':checked') ? 1 : 0; var options = { form_data: { clone_key: clone_key, consent: consent } }; if (!clone_key) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status').html('' + updraftlion.error + ' ' + updraftlion.clone_key_required).show(); } else { temporary_clone_key_submit(options); } } }); $('#updraft-navtab-migrate-content').on('change', '.updraft_migrate_widget_module_content #updraftplus_clone_php_options', function () { var php_version = $(this).data('php_version'); var selected_version = $(this).val(); if (selected_version < php_version) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status').html(updraftlion.clone_version_warning); } else { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status').html(''); } }); $('#updraft-navtab-migrate-content').on('change', '.updraft_migrate_widget_module_content #updraftplus_clone_wp_options', function () { var wp_version = $(this).data('wp_version'); var selected_version = $(this).val(); if (selected_version < wp_version) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status').html(updraftlion.clone_version_warning); } else { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status').html(''); } }); $('#updraft-navtab-migrate-content').on('change', '.updraft_migrate_widget_module_content #updraftplus_clone_backup_options', function() { // reset the package list $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options > option').each(function() { var value = $(this).val(); if ('starter' == value) $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+value+'"]').prop('selected', true); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+value+'"]').prop("disabled", false); }); var clone_backup_select = $(this).find('option:selected'); if ('current' == $(clone_backup_select).data('nonce') || 'wp_only' == $(clone_backup_select).data('nonce')) return; var total_size = $(clone_backup_select).data('size'); // Disable packages that are to small for this backup set, then set the first available package as the selected option $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options > option').each(function() { var size = $(this).data('size'); var value = $(this).val(); if (total_size >= size) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+value+'"]').prop("disabled", true); } else { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+value+'"]').prop('selected', true); return false; } }); }); $('#updraft-navtab-migrate-content').on('click', '.updraft_migrate_widget_module_content #updraft_migrate_createclone', function (e) { e.preventDefault(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone').prop('disabled', true); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status').html(''); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner').addClass('visible'); var clone_id = $(this).data('clone_id'); var secret_token = $(this).data('secret_token'); var php_version = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_php_options').val(); var wp_version = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_wp_options').val(); var region = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_region_options').val(); var package = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options').val(); var updraftclone_branch = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftclone_branch').val(); var updraftplus_branch = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftplus_branch').val(); var admin_only = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_admin_login_options').is(':checked'); var use_queue = $('#updraftplus_clone_use_queue').is(':checked') ? 1 : 0; var db_anon_all = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backupnow_db_anon_all').is(':checked') ? 1 : 0; var db_anon_non_staff = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backupnow_db_anon_non_staff').is(':checked') ? 1 : 0; var db_anon_wc_orders = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backupnow_db_anon_wc_order_data').is(':checked') ? 1 : 0; var backup_nonce = 'current'; var backup_timestamp = 'current'; var clone_backup_select_length = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options').length; var clone_backup_select = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options').find('option:selected'); if (0 !== clone_backup_select_length && 'undefined' !== typeof clone_backup_select) { backup_nonce = clone_backup_select.data('nonce'); backup_timestamp = clone_backup_select.data('timestamp'); } var options = { form_data: { clone_id: clone_id, secret_token: secret_token, install_info: { php_version: php_version, wp_version: wp_version, region: region, package: package, admin_only: admin_only, updraftclone_branch: ('undefined' === typeof updraftclone_branch) ? '' : updraftclone_branch, updraftplus_branch: ('undefined' === typeof updraftplus_branch) ? '' : updraftplus_branch, use_queue: ('undefined' === typeof use_queue) ? 1 : use_queue } } }; var backup_options = { db_anon_all: db_anon_all, db_anon_non_staff: db_anon_non_staff, db_anon_wc_orders: db_anon_wc_orders, clone_region: region } if ('wp_only' === backup_nonce) { options['form_data']['install_info']['wp_only'] = 1; } temporary_clone_process_create(options, backup_timestamp, backup_nonce, backup_options); }); // Create a updraftplus_com_login object, to store functions and variables var updraftplus_com_login = {}; updraftplus_com_login.set_status = function(status) { $('#updraft-navtab-addons-content .wrap').find('.updraftplus_spinner.spinner').text(status); } updraftplus_com_login.show_loader = function() { $('#updraft-navtab-addons-content .wrap').find('.updraftplus_spinner.spinner').addClass('visible'); $('#updraft-navtab-addons-content .wrap').find('.ud_connectsubmit').prop('disabled', 'disabled'); } updraftplus_com_login.hide_loader = function() { $('#updraft-navtab-addons-content .wrap').find('.updraftplus_spinner.spinner').removeClass('visible').text(updraftlion.processing); $('#updraft-navtab-addons-content .wrap').find('.ud_connectsubmit').prop('disabled', false); } /* This function will send an AJAX request to the backend to check the users credentials, then it will either inform the user of any errors or if there are none it will submit the form. @param {array} options - an array that includes the users email and password */ updraftplus_com_login.submit = function(options) { $('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').html('').hide(); if (this.stage) { switch (this.stage) { case 'connect_udc': case 'connect_udc_TFA': // update data in object var email = $('#updraftplus-addons_options_email').val(); var password = $('#updraftplus-addons_options_password').val(); this.login_data.email = email; this.login_data.password = password; // connect_udc again this.connect_udc(); break; case 'create_key': this.create_key(); break; default: this.stage = null; updraftplus_com_login.submit(); break; } return; } this.set_status(updraftlion.connecting); this.show_loader(); updraft_send_command('updraftplus_com_login_submit', { data: options, }, function (response) { if (response.hasOwnProperty('success')) { // logged in was successful, so create a key if the checkbox was checked. if ($('#updraftplus-addons_options_auto_udc_connect').is(':checked')) { this.login_data = { email: options.email, password: options.password, i_consent: 1, two_factor_code: '' }; // CREATE KEY updraftplus_com_login.create_key(); } else { updraftplus_com_login.hide_loader(); $('#updraft-navtab-addons-content .wrap .updraftplus_com_login').trigger('submit'); } } else if (response.hasOwnProperty('error')) { updraftplus_com_login.hide_loader(); $('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').html(response.message).show(); } }.bind(this)); } updraftplus_com_login.create_key = function() { this.stage = 'create_key'; this.set_status(updraftlion.udc_cloud_connected); this.show_loader(); var command_data = { where_send: '__updraftpluscom', key_description: '', key_size: null, mothership_firewalled: 0 }; // updraftcentral_cloud_show_spinner(modal); updraft_send_command('updraftcentral_create_key', command_data, function(response) { // updraftcentral_cloud_hide_spinner(modal); try { var data = ud_parse_json(response); if (data.hasOwnProperty('error')) { console.log(data); return; } if (data.hasOwnProperty('bundle')) { console.log('bundle', data.bundle); this.login_data.key = data.bundle, this.stage = 'connect_udc'; updraftplus_com_login.connect_udc(); } else { if (data.hasOwnProperty('r')) { $('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').html(updraftlion.trouble_connecting).show(); alert(data.r); } else { $('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').html(updraftlion.trouble_connecting).show(); console.log(data); } updraftplus_com_login.hide_loader(); } } catch (err) { console.log(err); updraftplus_com_login.hide_loader(); } }.bind(this), { json_parse: false }); } updraftplus_com_login.connect_udc = function() { var container = $('#updraft-navtab-addons-content .wrap'); updraftplus_com_login.set_status(updraftlion.udc_cloud_key_created); updraftplus_com_login.show_loader(); if ('connect_udc_TFA' == this.stage) { this.login_data.two_factor_code = container.find('input#updraftplus-addons_options_two_factor_code').val(); updraftplus_com_login.set_status(updraftlion.checking_tfa_code); } var login_data = { form_data: this.login_data }; login_data.form_data.addons_options_connect = 1; // Final step, connect UDC with the Key and all. updraft_send_command('process_updraftcentral_login', login_data, function(login_response) { try { var data = ud_parse_json(login_response); if (data.hasOwnProperty('error')) { if ('incorrect_password' === data.code) { container.find('.tfa_fields').hide(); container.find('.non_tfa_fields').show(); container.find('input#updraftplus-addons_options_two_factor_code').val(''); container.find('input#updraftplus-addons_options_password').val('').trigger('focus'); } if ('no_key_found' === data.code) { this.stage = 'create_key'; } // Continue with UpdraftPlus account even if the user has used all UpdraftCentral licences if ('no_licences_available' === data.code) { $('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').html(updraftlion.login_udc_no_licences_short).show(); data.status = 'authenticated'; container.find('input[name="_wp_http_referer"]').val(function(index, val) { return val + '&udc_connect=0'; }); } else { $('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').html(data.message).show(); $('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').find('a').attr('target', '_blank'); console.log(data); updraftplus_com_login.hide_loader(); return; } } if (data.hasOwnProperty('tfa_enabled') && true == data.tfa_enabled) { $('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').html('').hide(); container.find('.non_tfa_fields').hide(); container.find('.tfa_fields').show(); container.find('input#updraftplus-addons_options_two_factor_code').trigger('focus'); this.stage = 'connect_udc_TFA'; } if ('authenticated' === data.status) { container.find('.non_tfa_fields').hide(); container.find('.tfa_fields').hide(); container.find('.updraft-after-form-table').hide(); this.stage = null; $('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').html(updraftlion.login_successful_short).show().addClass('success'); // submit the form (to reload the page). setTimeout(function() { $('#updraft-navtab-addons-content .wrap form.updraftplus_com_login').trigger('submit'); }, 1000); } } catch (err) { console.log(err); } updraftplus_com_login.hide_loader(); }.bind(this), { json_parse: false }); } /** * This function will send an AJAX request to the backend to check the users credentials, then it will either inform the user of any errors or display UI elements that include their token count and a way to create new clones. * * @param {array} options - an array that includes the users email and password */ function temporary_clone_submit(options) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status').html('').hide(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .updraftplus_spinner.spinner').addClass('visible'); updraft_send_command('process_updraftplus_clone_login', options, function (response) { try { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .updraftplus_spinner.spinner').removeClass('visible'); if (response.hasOwnProperty('status') && 'error' == response.status) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status').html(response.message).show(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields').hide(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields').show(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code').val(''); return; } if (response.hasOwnProperty('tfa_enabled') && true == response.tfa_enabled) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields').hide(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields').show(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 input#temporary_clone_options_two_factor_code').trigger('focus'); } if ('authenticated' === response.status) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1').hide(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields').show(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields').hide(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 input#temporary_clone_options_two_factor_code').val(''); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2').show(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2').html(response.html); if (response.hasOwnProperty('clone_info') && response.clone_info.hasOwnProperty('expires_after')) temporary_clone_timer(response.clone_info.expires_after); } } catch (err) { console.log(err); } }); } /** * This function will send an AJAX request to the backend to check the clone key, then it will either inform the user of any errors or display UI elements that include their token count and a way to create new clones. * * @param {array} options - an array that includes the clone key */ function temporary_clone_key_submit(options) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status').html('').hide(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .updraftplus_spinner.spinner').addClass('visible'); updraft_send_command('process_updraftplus_clone_login', options, function (response) { try { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .updraftplus_spinner.spinner').removeClass('visible'); if (response.hasOwnProperty('status') && 'error' == response.status) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status').html(response.message).show(); return; } if ('authenticated' === response.status) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1').hide(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2').show(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2').html(response.html); if (response.hasOwnProperty('clone_info') && response.clone_info.hasOwnProperty('expires_after')) temporary_clone_timer(response.clone_info.expires_after); } } catch (err) { console.log(err); } }); } /** * This function will add a timer to reset the UI if the user does not create the clone before it expires * * @param {integer} expires_after - the clone expires time in seconds */ function temporary_clone_timer(expires_after) { // the expires_after time is in seconds we need it in milliseconds for the setTimeout function var timeout = expires_after * 1000; temporary_clone_timeout = setTimeout(function () { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2').hide(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2').html(''); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1').show(); }, timeout); } /** * This function will check if we are using an existing backup and if anything needs downloading before proceeding to process the clone create command * * @param {array} options - an array of options to create the clone * @param {string} backup_timestamp - the timestamp of the backup we want to use or 'current' to create a new backup * @param {string} backup_nonce - the backup nonce of the backup we want to use or 'current' to create a new backup * @param {array} backup_options - an array of options for the backup */ function temporary_clone_process_create(options, backup_timestamp, backup_nonce, backup_options) { var which_to_download = ''; if ('current' != backup_timestamp) { updraft_send_command('whichdownloadsneeded', { updraftplus_clone: true, timestamp: backup_timestamp }, function (response) { if (response.hasOwnProperty('downloads')) { console.log('UpdraftPlus: items which still require downloading follow'); which_to_download = response.downloads; console.log(which_to_download); } // Kick off any downloads, if needed if (0 == which_to_download.length) return; for (var i = 0; i < which_to_download.length; i++) { // updraft_downloader(base, backup_timestamp, what, whicharea, set_contents, prettydate, async) updraft_downloader('udclonedlstatus_', backup_timestamp, which_to_download[i][0], '#ud_downloadstatus3', which_to_download[i][1], '', false); } }, { alert_on_error: false, error_callback: function (response, status, error_code, resp) { if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status').html('

    ' + resp.fatal_error_message + '

    '); } else { var error_message = "updraft_send_command: error: " + status + " (" + error_code + ")"; $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status').html('

    ' + error_message + '

    '); console.log(error_message); console.log(response); } } }); } setTimeout(function () { if (0 != which_to_download.length) { temporary_clone_process_create(options, backup_timestamp, backup_nonce, backup_options); return; } var clone_id = options['form_data']['clone_id']; var secret_token = options['form_data']['secret_token']; updraft_send_command('process_updraftplus_clone_create', options, function (response) { try { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone').prop('disabled', false); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner').removeClass('visible'); if (response.hasOwnProperty('status') && 'error' == response.status) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status').html(updraftlion.error + ' ' + response.message).show(); return; } if ('success' === response.status) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2').hide(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3').show(); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3').html(response.html); // remove the clone timeout as the clone has now been created if (temporary_clone_timeout) clearTimeout(temporary_clone_timeout); // check if the response includes a secret token, if it does we have claimed a clone from the queue and need to update our current secret token to the one that belongs to the claimed clone if (response.hasOwnProperty('secret_token')) { secret_token = response.secret_token; } if ('wp_only' === backup_nonce) { jQuery('#updraft_clone_progress .updraftplus_spinner.spinner').addClass('visible'); temporary_clone_poll(clone_id, secret_token); } else { jQuery('#updraft_clone_progress .updraftplus_spinner.spinner').addClass('visible'); temporary_clone_boot_backup(clone_id, secret_token, response.url, response.key, backup_nonce, backup_timestamp, backup_options); } } } catch (err) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone').prop('disabled', false); console.log("Error when processing the response of process_updraftplus_clone_create (as follows)"); console.log(err); } }); }, 5000); } /** * This function will send an AJAX request to the backend to start a clone backup job * * @param {string} clone_id - the clone id * @param {string} secret_token - the clone secret * @param {string} clone_url - the clone url * @param {string} key - the migration key * @param {string} backup_nonce - the nonce for the backup we want to use or 'current' for a fresh backup * @param {string} backup_timestamp - the timestamp for the backup we want to use or 'current' for a fresh backup * @param {array} backup_options - an array of options for the backup */ function temporary_clone_boot_backup(clone_id, secret_token, clone_url, key, backup_nonce, backup_timestamp, backup_options) { var params = { updraftplus_clone_backup: 1, backupnow_nodb: 0, backupnow_nofiles: 0, backupnow_nocloud: 0, backupnow_label: 'UpdraftClone', extradata: '', onlythisfileentity: 'plugins,themes,uploads,others', clone_id: clone_id, secret_token: secret_token, clone_url: clone_url, key: key, backup_nonce: backup_nonce, backup_timestamp: backup_timestamp, db_anon_all: backup_options['db_anon_all'], db_anon_non_staff: backup_options['db_anon_non_staff'], db_anon_wc_orders: backup_options['db_anon_wc_orders'], clone_region: backup_options['clone_region'] }; updraft_activejobslist_backupnownonce_only = 1; updraft_send_command('backupnow', params, function (response) { jQuery('#updraft_clone_progress .updraftplus_spinner.spinner').removeClass('visible'); jQuery('#updraft_backup_started').html(response.m); if (response.hasOwnProperty('nonce')) { // Can't return it from this context updraft_backupnow_nonce = response.nonce; updraft_clone_jobs.push(updraft_backupnow_nonce); updraft_inpage_success_callback = function () { jQuery('#updraft_clone_activejobsrow').hide(); // If user aborts the job if (updraft_aborted_jobs[updraft_backupnow_nonce]) { jQuery('#updraft_clone_progress').html(updraftlion.clone_backup_aborted); } else { jQuery('#updraft_clone_progress').html(updraftlion.clone_backup_complete); } }; console.log("UpdraftPlus: ID of started job: " + updraft_backupnow_nonce); } updraft_activejobs_update(true); }); } /** * This function will send an AJAX request to the backend to poll for the clones install information * * @param {string} clone_id - the clone id * @param {string} secret_token - the clone secret */ function temporary_clone_poll(clone_id, secret_token) { var options = { clone_id: clone_id, secret_token: secret_token, }; setTimeout(function () { updraft_send_command('process_updraftplus_clone_poll', options, function (response) { if (response.hasOwnProperty('status')) { if ('error' == response.status) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status').html(updraftlion.error + ' ' + response.message).show(); return; } if ('success' === response.status) { if (response.hasOwnProperty('data') && response.data.hasOwnProperty('wordpress_credentials')) { $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner').removeClass('visible'); $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_clone_progress').append('
    WordPress ' + updraftlion.credentials + ':
    ' + updraftlion.username + ': ' + response.data.wordpress_credentials.username + '
    ' + updraftlion.password + ': ' + response.data.wordpress_credentials.password); return; } } } else { console.log(response); } temporary_clone_poll(clone_id, secret_token); }); }, 60000); } $('#updraft-navtab-settings-content #remote-storage-holder').on('click', '.updraftplusmethod a.updraft_add_instance', function(e) { e.preventDefault(); updraft_settings_form_changed = true; load_save_button(); var method = $(this).data('method'); add_new_instance(method); }); $('#updraft-navtab-settings-content #remote-storage-holder').on('click', '.updraftplusmethod a.updraft_delete_instance', function(e) { e.preventDefault(); updraft_settings_form_changed = true; load_save_button(); var method = $(this).data('method'); var instance_id = $(this).data('instance_id'); if (1 === $('.' + method + '_updraft_remote_storage_border').length) { add_new_instance(method); } $('.' + method + '-' + instance_id).hide('slow', function() { $(this).remove(); }); }); $('#updraft-navtab-settings-content #remote-storage-holder').on('click', '.updraftplusmethod .updraft_edit_label_instance', function(e) { $(this).find('span').hide(); $(this).attr('contentEditable', true).trigger('focus'); }); $('#updraft-navtab-settings-content #remote-storage-holder').on('keyup', '.updraftplusmethod .updraft_edit_label_instance', function(e) { var method = jQuery(this).data('method'); var instance_id = jQuery(this).data('instance_id'); var content = jQuery(this).text(); $('#updraft_' + method + '_instance_label_' + instance_id).val(content); }); $('#updraft-navtab-settings-content #remote-storage-holder').on('blur', '.updraftplusmethod .updraft_edit_label_instance', function(e) { $(this).attr('contentEditable', false); $(this).find('span').show(); }); $('#updraft-navtab-settings-content #remote-storage-holder').on('keypress', '.updraftplusmethod .updraft_edit_label_instance', function(e) { if (13 === e.which) { $(this).attr('contentEditable', false); $(this).find('span').show(); $(this).trigger('blur'); } }); /** * This method will get the default options and compile a template with them * * @param {string} method - the remote storage name * @param {boolean} first_instance - indicates if this is the first instance of this type */ function add_new_instance(method) { var template = Handlebars.compile(updraftlion.remote_storage_templates[method]); var context = {}; // Initiate a reference by assigning an empty object to a variable (in this case the context variable) so that it can be used as a target of merging one or more other objects. Unlike basic values (boolean, string, integer, etc.), in Javascript objects and arrays are passed by reference // copy what are in the template properties to the context overwriting the same object properties, and then copy what are in the default instance settings to the context overwriting all the same properties from the previous merging operation (if any). The context properties are overwritten by other objects that have the same properties later in the parameters order Object.assign(context, updraftlion.remote_storage_options[method]['template_properties'], updraftlion.remote_storage_options[method]['default']); var method_name = updraftlion.remote_storage_methods[method]; context['instance_id'] = 's-' + generate_instance_id(32); context['instance_enabled'] = 1; context['instance_label'] = method_name + ' (' + (jQuery('.' + method + '_updraft_remote_storage_border').length + 1) + ')'; context['instance_conditional_logic'] = { type: '', // always by default rules: [], day_of_the_week_options: updraftlion.conditional_logic.day_of_the_week_options, logic_options: updraftlion.conditional_logic.logic_options, operand_options: updraftlion.conditional_logic.operand_options, operator_options: updraftlion.conditional_logic.operator_options, }; var html = template(context); jQuery(html).hide().insertAfter(jQuery('.' + method + '_add_instance_container').first()).show('slow'); } /** * This method will return a random instance id string * * @param {integer} length - the length of the string to be generated * * @return string - the instance id */ function generate_instance_id(length) { var uuid = ''; var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; for (var i = 0; i < length; i++) { uuid += characters.charAt(Math.floor(Math.random() * characters.length)); } return uuid; } jQuery('#updraft-navtab-settings-content #remote-storage-holder').on("change", "input[class='updraft_instance_toggle']", function () { updraft_settings_form_changed = true; load_save_button(); if (jQuery(this).is(':checked')) { jQuery(this).siblings('label').html(updraftlion.instance_enabled); } else { jQuery(this).siblings('label').html(updraftlion.instance_disabled); } }); jQuery('#updraft-navtab-settings-content #remote-storage-holder').on("change", "select[class='logic_type']", function () { updraft_settings_form_changed = true; load_save_button(); if ('' !== this.value) { jQuery('div.logic', jQuery(this).parents('tr.updraftplusmethod')).show(); jQuery(this).parents('tr.updraftplusmethod').find('div.logic ul.rules > li').each(function() { jQuery(this).find('select').each(function() { jQuery(this).prop('disabled', false); }) }); } else { jQuery(this).parents('tr.updraftplusmethod').find('div.logic ul.rules > li').each(function() { jQuery(this).find('select').each(function() { jQuery(this).prop('disabled', true); }) }); jQuery(this).parents('tr.updraftplusmethod').find('div.logic').hide(); } }); jQuery('#updraft-navtab-settings-content #remote-storage-holder').on("change", "select[class='conditional_logic_operand']", function () { updraft_settings_form_changed = true; load_save_button(); jQuery(this).parent().find('select:nth(2)').empty(); if ('day_of_the_week' === jQuery(this).val()) { for (var i=0; i').text(updraftlion.conditional_logic.day_of_the_week_options[i].value)); } } else if ('day_of_the_month' === jQuery(this).val()) { for (var i=1; i<=31; i++) { jQuery(this).parent().find('select:nth(2)').append(jQuery('').text(i)); } } }); jQuery('#updraft-navtab-settings-content #remote-storage-holder').on("click", "div.conditional_remote_backup ul.rules li span", function () { updraft_settings_form_changed = true; load_save_button(); var $ul = jQuery(this).parents('ul.rules'); if (jQuery(this).hasClass('remove-rule')) { jQuery(this).parent().slideUp(function() { jQuery(this).remove(); if (jQuery($ul).find('> li').length < 2) { jQuery('li:nth(0) span.remove-rule', $ul).remove(); } }); } }); jQuery('#updraft-navtab-settings-content #remote-storage-holder').on("click", "div.conditional_remote_backup input.add-new-rule", function () { var $ul = jQuery(this).parent().find('ul.rules'); if (jQuery($ul).find('> li').length < 2) { jQuery($ul).find('li:nth(0)').append(''); } $cloned_item = jQuery($ul).find('> li').last().clone(); jQuery($cloned_item).find('> select').each(function() { jQuery(this).prop('name', jQuery(this).prop('name').replace(/\[instance_conditional_logic\]\[rules\]\[[0-9]+\]/gi, '[instance_conditional_logic][rules]['+jQuery($ul).data('rules')+']')); }); jQuery($ul).append($cloned_item); jQuery($ul).data('rules', parseInt(jQuery($ul).data('rules')) + 1); jQuery($cloned_item).find('select[name*="[operand]"]').trigger('change'); }); jQuery('#updraft-navtab-settings-content #remote-storage-holder').on('click', '.updraftplusmethod button.updraft-test-button', function() { var method = jQuery(this).data('method'); var instance_id = jQuery(this).data('instance_id'); updraft_remote_storage_test(method, function(response, status, data) { if ('sftp' != method) { return false; } if (data.hasOwnProperty('scp') && data.scp) { alert(updraftlion.settings_test_result.replace('%s', 'SCP')+' '+response.output); } else { alert(updraftlion.settings_test_result.replace('%s', 'SFTP')+' '+response.output); } if (response.hasOwnProperty('data') && response.data) { if (response.data.hasOwnProperty('valid_md5_fingerprint') && response.data.valid_md5_fingerprint) { $('#updraft_sftp_fingerprint_'+instance_id).val(response.data.valid_md5_fingerprint); } } return true; }, instance_id); }); $('#updraft-navtab-settings-content select.updraft_interval, #updraft-navtab-settings-content select.updraft_interval_database').on('change', function() { updraft_check_same_times(); }); $('#backupnow_includefiles_showmoreoptions').on('click', function(e) { e.preventDefault(); $('#backupnow_includefiles_moreoptions').toggle(); }); $('#backupnow_database_showmoreoptions').on('click', function(e) { e.preventDefault(); $('#backupnow_database_moreoptions').toggle(); }); $('#updraft-navtab-migrate-content').on('click', '#backupnow_database_showmoreoptions', function (e) { e.preventDefault(); $('#updraft-navtab-migrate-content #backupnow_database_moreoptions').toggle(); }); $('#backupnow_db_anon_all').on('click', function(e) { if ($('#backupnow_db_anon_non_staff').prop('checked')) $('#backupnow_db_anon_non_staff').prop("checked", false); }); $('#backupnow_db_anon_non_staff').on('click', function(e) { if ($('#backupnow_db_anon_all').prop('checked')) $('#backupnow_db_anon_all').prop("checked", false); }); $('#updraft-navtab-migrate-content').on('click', '#updraftplus_migration_backupnow_db_anon_all', function() { if ($('#updraftplus_migration_backupnow_db_anon_non_staff').prop('checked')) $('#updraftplus_migration_backupnow_db_anon_non_staff').prop("checked", false); }); $('#updraft-navtab-migrate-content').on('click', '#updraftplus_migration_backupnow_db_anon_non_staff', function() { if ($('#updraftplus_migration_backupnow_db_anon_all').prop('checked')) $('#updraftplus_migration_backupnow_db_anon_all').prop("checked", false); }); $('#updraft-navtab-migrate-content').on('click', '#updraftplus_clone_backupnow_db_anon_all', function() { if ($('#updraftplus_clone_backupnow_db_anon_non_staff').prop('checked')) $('#updraftplus_clone_backupnow_db_anon_non_staff').prop("checked", false); }); $('#updraft-navtab-migrate-content').on('click', '#updraftplus_clone_backupnow_db_anon_non_staff', function() { if ($('#updraftplus_clone_backupnow_db_anon_all').prop('checked')) $('#updraftplus_clone_backupnow_db_anon_all').prop("checked", false); }); $('#updraft-backupnow-modal').on('click', '#backupnow_includecloud_showmoreoptions', function(e) { e.preventDefault(); $('#backupnow_includecloud_moreoptions').toggle(); }); $('#updraft-navtab-backups-content').on('click', 'a.updraft_diskspaceused_update',function(e) { e.preventDefault(); updraftplus_diskspace(); }); // For Advanced Tools > Site information > Web-server disk space in use by UpdraftPlus $('.advanced_settings_content a.updraft_diskspaceused_update').on('click', function(e) { e.preventDefault(); jQuery('.advanced_settings_content .updraft_diskspaceused').html(''+updraftlion.calculating+''); updraft_send_command('get_fragment', { fragment: 'disk_usage', data: 'updraft' }, function(response) { jQuery('.advanced_settings_content .updraft_diskspaceused').html(response.output); }, { type: 'GET' }); }); $('#updraft-navtab-backups-content a.updraft_uploader_toggle').on('click', function(e) { e.preventDefault(); $('#updraft-plupload-modal').slideToggle(); }); $('#updraft-navtab-backups-content a.updraft_rescan_local').on('click', function(e) { e.preventDefault(); updraft_updatehistory(1, 0); }); $('#updraft-navtab-backups-content a.updraft_rescan_remote').on('click', function(e) { e.preventDefault(); if (!confirm(updraftlion.remote_scan_warning)) return; updraft_updatehistory(1, 1); }); $('#updraftplus-remote-rescan-debug').on('click', function(e) { e.preventDefault(); updraft_updatehistory(1, 1, 1); }); jQuery('#updraft_reset_sid').on('click', function(e) { e.preventDefault(); updraft_send_command('reset_site_id', null, function(response) { jQuery('#updraft_show_sid').html(response); }, { json_parse: false }); }); jQuery("#updraft-navtab-settings-content").on('input', "form input:not('.udignorechange'), form textarea:not('.udignorechange')", function(e) { updraft_settings_form_changed = true; load_save_button(); }); jQuery("#updraft-navtab-settings-content").on('change', "form select", function(e) { updraft_settings_form_changed = true; load_save_button(); }); jQuery("#updraft-navtab-settings-content").on('click', "form input[type='submit']", function (e) { updraft_settings_form_changed = false; }); var bigbutton_width = 180; jQuery('.updraft-bigbutton').each(function(x,y) { var bwid = jQuery(y).width(); if (bwid > bigbutton_width) bigbutton_width = bwid; }); if (bigbutton_width > 180) jQuery('.updraft-bigbutton').width(bigbutton_width); if (jQuery('#updraft-navtab-backups-content').length) { // setTimeout(function(){updraft_showlastlog(true);}, 1200); setInterval(function() { updraft_activejobs_update(false);}, 1250); } // Prevent profusion of notices setTimeout(function() { jQuery('#setting-error-settings_updated').slideUp();}, 5000); jQuery('#updraft_restore_db').on('change', function() { if (jQuery('#updraft_restore_db').is(':checked') && 1 == jQuery(this).data('encrypted')) { jQuery('#updraft_restorer_dboptions').slideDown(); } else { jQuery('#updraft_restorer_dboptions').slideUp(); } }); updraft_check_same_times(); var updraft_message_modal_buttons = {}; updraft_message_modal_buttons[updraftlion.close] = function() { jQuery(this).dialog("close"); }; jQuery("#updraft-message-modal").dialog({ autoOpen: false, resizeOnWindowResize: true, scrollWithViewport: true, resizeAccordingToViewport: true, useContentSize: false, open: function(event, ui) { $(this).dialog('option', 'width', 520); $(this).dialog('option', 'minHeight', 260); if ($(window).height() > 360 ) { $(this).dialog('option', 'height', 360); } else { $(this).dialog('option', 'height', $(window).height()-30); } }, modal: true, buttons: updraft_message_modal_buttons }); var updraft_delete_modal_buttons = {}; updraft_delete_modal_buttons[updraftlion.deletebutton] = function() { updraft_remove_backup_sets(0, 0, 0, 0, [], false); }; /** * Perform a manual backup sets deletion * * @param {integer} deleted_counter - The total number of local and remote files that have successfully been removed already. This and the next three parameters are used recursively so that the final total can be displayed to the user in a display message. * @param {integer} backup_local - The total number of local files that have been removed * @param {integer} backup_remote - The total number of remote files that have successfully been removed * @param {integer} backup_sets - The total number of backup sets that have been deleted * @param {array} processed_instance_ids - An array that contains a group of storage instance IDs that have been processed * @param {boolean} is_continuation - Whether or not the backup sets deletion is a continuation of an ongoing deletion */ function updraft_remove_backup_sets(deleted_counter, backup_local, backup_remote, backup_sets, processed_instance_ids, is_continuation) { jQuery("#updraft-delete-modal").dialog('close'); var deleted_files_counter = deleted_counter; var local_deleted = backup_local; var remote_deleted = backup_remote; var sets_deleted = backup_sets; var error_log_prompt = ''; var form_data = jQuery('#updraft_delete_form').serializeArray(); var data = {}; $.each(form_data, function() { if (undefined !== data[this.name]) { if (!data[this.name].push) { data[this.name] = [data[this.name]]; } data[this.name].push(this.value || ''); } else { data[this.name] = this.value || ''; } }); if (data.delete_remote) { jQuery('#updraft-delete-waitwarning').find('.updraft-deleting-remote').show(); } else { jQuery('#updraft-delete-waitwarning').find('.updraft-deleting-remote').hide(); } jQuery('#updraft-delete-waitwarning').slideDown().addClass('active'); data.remote_delete_limit = updraftlion.remote_delete_limit; data.processed_instance_ids = processed_instance_ids; data.is_continuation = is_continuation; delete data.action; delete data.subaction; delete data.nonce; updraft_send_command('deleteset', data, function(resp) { if (!resp.hasOwnProperty('result') || resp.result == null) { jQuery('#updraft-delete-waitwarning').slideUp(); return; } if (resp.result == 'error') { jQuery('#updraft-delete-waitwarning').slideUp(); alert(updraftlion.error+' '+resp.message); } else if (resp.result == 'continue') { deleted_files_counter = deleted_files_counter + resp.backup_local + resp.backup_remote; local_deleted = local_deleted + resp.backup_local; remote_deleted = remote_deleted + resp.backup_remote; sets_deleted = sets_deleted + resp.backup_sets; var deleted_timestamps = resp.deleted_timestamps.split(','); for (var i = 0; i < deleted_timestamps.length; i++) { var timestamp = deleted_timestamps[i]; jQuery('#updraft-navtab-backups-content .updraft_existing_backups_row_' + timestamp).slideUp().remove(); } jQuery('#updraft_delete_timestamp').val(resp.timestamps); jQuery('#updraft-deleted-files-total').text(deleted_files_counter + ' ' + updraftlion.remote_files_deleted); updraft_remove_backup_sets(deleted_files_counter, local_deleted, remote_deleted, sets_deleted, resp.processed_instance_ids, true); } else if (resp.result == 'success') { setTimeout(function() { jQuery('#updraft-deleted-files-total').text(''); jQuery('#updraft-delete-waitwarning').slideUp(); }, 500); update_backupnow_modal(resp); if (resp.hasOwnProperty('backupnow_file_entities')) { impossible_increment_entities = resp.backupnow_file_entities; } if (resp.hasOwnProperty('count_backups')) { jQuery('#updraft-existing-backups-heading').html(updraftlion.existing_backups+' '+resp.count_backups+''); } var deleted_timestamps = resp.deleted_timestamps.split(','); for (var i = 0; i < deleted_timestamps.length; i++) { var timestamp = deleted_timestamps[i]; jQuery('#updraft-navtab-backups-content .updraft_existing_backups_row_' + timestamp).slideUp().remove(); } updraft_backups_selection.checkSelectionStatus(); updraft_history_lastchecksum = false; local_deleted = local_deleted + resp.backup_local; remote_deleted = remote_deleted + resp.backup_remote; sets_deleted = sets_deleted + resp.backup_sets; if ('' != resp.error_messages) { error_log_prompt = updraftlion.delete_error_log_prompt; } setTimeout(function() { alert(resp.set_message + " " + sets_deleted + "\n" + resp.local_message + " " + local_deleted + "\n" + resp.remote_message + " " + remote_deleted + "\n\n" + resp.error_messages + "\n" + error_log_prompt); }, 900); } }); }; updraft_delete_modal_buttons[updraftlion.cancel] = function() { jQuery(this).dialog("close"); }; jQuery("#updraft-delete-modal").dialog({ autoOpen: false, resizeOnWindowResize: true, scrollWithViewport: true, resizeAccordingToViewport: true, useContentSize: false, open: function(event, ui) { $(this).css('minHeight', 83); }, modal: true, buttons: updraft_delete_modal_buttons }); var updraft_restore_modal = { initialized: false, init: function() { if (this.initialized) return; this.initialized = true; // Setup cancel button events $('.updraft-restore--cancel').on('click', function(e) { e.preventDefault(); jQuery('#ud_downloadstatus2').html(''); this.close(); }.bind(this)); this.default_next_text = $('.updraft-restore--next-step').eq(0).text(); // Setup next button event $('.updraft-restore--next-step').on('click', function(e) { e.preventDefault(); this.process_next_action(); }.bind(this)); }, close: function() { $('.updraft_restore_container').hide(); $('body').removeClass('updraft-modal-is-opened'); }, open: function() { this.init(); // reset elements $('#updraft-restore-modal-stage1').show(); $('#updraft-restore-modal-stage2').hide(); $('#updraft-restore-modal-stage2a').html(''); $('.updraft-restore--next-step').text(this.default_next_text); $('.updraft-restore--stages li').removeClass('active').first().addClass('active'); // Show restoration window $('.updraft_restore_container').show(); $('body').addClass('updraft-modal-is-opened'); }, process_next_action: function() { var anyselected = 0; var moreselected = 0; var dbselected = 0; var pluginselected = 0; var themeselected = 0; var whichselected = []; // Make a list of what files we want var already_added_wpcore = 0; var meta_foreign = $('#updraft_restore_meta_foreign').val(); $('input[name="updraft_restore[]"]').each(function(x, y) { if ($(y).is(':checked') && !$(y).is(':disabled')) { anyselected = 1; var howmany = $(y).data('howmany'); var type = $(y).val(); if ('more' == type) moreselected = 1; if ('db' == type) dbselected = 1; if ('plugins' == type) pluginselected = 1; if ('themes' == type) themeselected = 1; if (1 == meta_foreign || (2 == meta_foreign && 'db' != type)) { if ('wpcore' != type) { howmany = $('#updraft_restore_form #updraft_restore_wpcore').data('howmany'); } type = 'wpcore'; } if ('wpcore' != type || already_added_wpcore == 0) { var restobj = [ type, howmany ]; whichselected.push(restobj); // alert($(y).val()); if ('wpcore' == type) { already_added_wpcore = 1; } } } }); if (1 == anyselected) { // Work out what to download if (1 == updraft_restore_stage) { // meta_foreign == 1 : All-in-one format: the only thing to download, always, is wpcore // if ('1' == meta_foreign) { // whichselected = []; // whichselected.push([ 'wpcore', 0 ]); // } else if ('2' == meta_foreign) { // $(whichselected).each(function(x,y) { // restobj = whichselected[x]; // }); // whichselected = []; // whichselected.push([ 'wpcore', 0 ]); // } $('.updraft-restore--stages li').removeClass('active').eq(1).addClass('active'); $('#updraft-restore-modal-stage1').slideUp('slow', function() { $('#updraft-restore-modal-stage2').show(100, function() { updraft_restore_stage = 2; var pretty_date = $('.updraft_restore_date').first().text(); // Create the downloader active widgets // See if we some are already known to be downloaded - in which case, skip creating the download widget. (That saves on HTTP round-trips, as each widget creates a new POST request. Of course, this is at the expense of one extra one here). var which_to_download = whichselected; var backup_timestamp = $('#updraft_restore_timestamp').val(); try { $('.updraft-restore--next-step').prop('disabled', true); $('#updraft-restore-modal-stage2a').html(' '+updraftlion.maybe_downloading_entities); updraft_send_command('whichdownloadsneeded', { downloads: whichselected, timestamp: backup_timestamp }, function(response) { $('.updraft-restore--next-step').prop('disabled', false); if (response.hasOwnProperty('downloads')) { console.log('UpdraftPlus: items which still require downloading follow'); which_to_download = response.downloads; console.log(which_to_download); } // Kick off any downloads, if needed if (0 == which_to_download.length) { updraft_restorer_checkstage2(0); } else { for (var i=0; i'+resp.fatal_error_message+'

    '); } else { var error_message = "updraft_send_command: error: "+status+" ("+error_code+")"; $('#updraft-restore-modal-stage2a').html('

    '+error_message+'

    '); console.log(error_message); console.log(response); } } }); } catch (err) { console.log("UpdraftPlus: error (follows) when looking for items needing downloading"); console.log(err); alert(updraftlion.jsonnotunderstood); } }); }); // Make sure all are downloaded } else if (2 == updraft_restore_stage) { updraft_restorer_checkstage2(1); } else if (3 == updraft_restore_stage) { var continue_restore = 1; jQuery('.updraft-restore--next-step, .updraft-restore--cancel').prop('disabled', true); $('#updraft_restoreoptions_ui input.required').each(function(index) { if (continue_restore == 0) return; var sitename = $(this).val(); if (sitename == '') { alert(updraftlion.pleasefillinrequired); jQuery('.updraft-restore--next-step, .updraft-restore--cancel').prop('disabled', false); continue_restore = 0; } else if ($(this).attr('pattern') != '') { var pattern = $(this).attr('pattern'); var re = new RegExp(pattern, "g"); if (!re.test(sitename)) { alert($(this).data('invalidpattern')); jQuery('.updraft-restore--next-step, .updraft-restore--cancel').prop('disabled', false); continue_restore = 0; } } }); if (1 == dbselected) { anyselected = 0; jQuery('input[name="updraft_restore_tables_options[]"').each(function (x, y) { if (jQuery(y).is(':checked') && !jQuery(y).is(':disabled')) anyselected = 1; }); if (0 == anyselected && !skipped_db_scan) { alert(updraftlion.youdidnotselectany); jQuery('.updraft-restore--next-step, .updraft-restore--cancel').prop('disabled', false); return; } } if (1 == pluginselected) { anyselected = 0; if (!jQuery(".updraftplus_restore_plugins_options_container").length) anyselected = 1; jQuery('input[name="updraft_restore_plugins_options[]"').each(function (x, y) { if (jQuery(y).is(':checked') && !jQuery(y).is(':disabled')) anyselected = 1; }); if (0 == anyselected) { alert(updraftlion.youdidnotselectany); jQuery('.updraft-restore--next-step, .updraft-restore--cancel').prop('disabled', false); return; } } if (1 == themeselected) { anyselected = 0; if (!jQuery(".updraftplus_restore_themes_options_container").length) anyselected = 1; jQuery('input[name="updraft_restore_themes_options[]"').each(function (x, y) { if (jQuery(y).is(':checked') && !jQuery(y).is(':disabled')) anyselected = 1; }); if (0 == anyselected) { alert(updraftlion.youdidnotselectany); jQuery('.updraft-restore--next-step, .updraft-restore--cancel').prop('disabled', false); return; } } if (1 == moreselected) { anyselected = 0; jQuery('input[name="updraft_include_more_index[]"').each(function (x, y) { if (jQuery(y).is(':checked') && !jQuery(y).is(':disabled')) { anyselected = 1; if ('' == jQuery('#updraft_include_more_path_restore' + x).val()) { alert(updraftlion.emptyrestorepath); } } }); if (0 == anyselected) { alert(updraftlion.youdidnotselectany); jQuery('.updraft-restore--next-step, .updraft-restore--cancel').prop('disabled', false); return; } } if (!continue_restore) return; var restore_options = $('#updraft_restoreoptions_ui select, #updraft_restoreoptions_ui input').serialize(); // jQuery serialize does not pick up unchecked checkboxes, but we want to include these so that we have a list of table/plugins/themes the user does not want to restore we prepend these with udp-skip-{entity}- and check this on the backend var entities = ['table', 'plugins', 'themes']; jQuery.each(entities, function(i, entity) { jQuery.each(jQuery('input[name="updraft_restore_' + entity + '_options[]').filter(function(idx) { return jQuery(this).prop('checked') === false }), function(idx, el) { restore_options += '&' + jQuery(el).attr('name') + '=' + 'udp-skip-' + entity + '-' + jQuery(el).val(); }); }) console.log("Restore options: "+restore_options); if (typeof php_max_input_vars !== 'undefined') { var restore_options_length = restore_options.split("&").length; var warning_template_start = '

    ' + updraftlion.warnings +'

      '; var warning_template_end = '
    '; // If we can't detect the php_max_input_vars assume the PHP default of 1000 if (!php_max_input_vars && 1000 <= restore_options_length) { console.log('Restore options: ' + restore_options_length + ' PHP max input vars not detected; using default: 1000'); } else if (php_max_input_vars && restore_options_length >= php_max_input_vars) { var warning = '
  • ' + updraftlion.php_max_input_vars_detected_warning + '
  • '; if (1 != jQuery('#updraft-restore-modal-stage2a .notice-warning').length) { var final_warning = warning_template_start + warning + warning_template_end; jQuery('#updraft_restoreoptions_ui').prepend(final_warning); } else { jQuery('#updraft-restore-modal-stage2a #updraft_restore_warnings').append(warning); } console.log('Restore options: ' + restore_options_length + ' PHP max input vars: ' + php_max_input_vars); jQuery('.updraft-restore--next-step, .updraft-restore--cancel').prop('disabled', false); php_max_input_vars = undefined; return; } } $('#updraft_restorer_restore_options').val(restore_options); // This must be done last, as it wipes out the section with #updraft_restoreoptions_ui $('#updraft-restore-modal-stage2a').html(updraftlion.restore_proceeding); $('#updraft_restore_form').trigger('submit'); // In progress; prevent the button being pressed again updraft_restore_stage = 4; } } else { alert(updraftlion.youdidnotselectany); } } } var original_restore_main_activity_width = $('.updraft_restore_main--activity').width(); jQuery('#activity-full-log').on('click', function() { var activity_log_max_width = $('.updraft_restore_main').css('max-width') == '1460px' ? '860px' : '1460px'; var restore_main_activity_width = $('.updraft_restore_main--activity').width() == original_restore_main_activity_width ? '100%' : original_restore_main_activity_width + 'px'; var activity_log_max_height = $('.updraft_restore_main--activity').css('min-height') == '600px' ? '0px' : '600px'; var activity_log_icon_title = $('#activity-full-log').attr('title') == updraftlion.restoreactivitylogscreenexit ? updraftlion.restoreactivitylogfullscreen : updraftlion.restoreactivitylogscreenexit; $('#activity-full-log').toggleClass('dashicons-fullscreen-exit-alt'); $('#activity-full-log').attr('title', activity_log_icon_title); $('.updraft_restore_main--components').toggle('fast'); $('.updraft_restore_main--header').toggle('fast'); $('.updraft_restore_main--activity').animate({minHeight: activity_log_max_height, width: restore_main_activity_width}); $('.updraft_restore_main').animate({maxWidth: activity_log_max_width}); }); jQuery("#updraft-iframe-modal").dialog({ autoOpen: false, height: 500, width: 780, modal: true }); jQuery("#updraft-backupnow-inpage-modal").dialog({ autoOpen: false, modal: true, resizeOnWindowResize: true, scrollWithViewport: true, resizeAccordingToViewport: true, useContentSize: false, open: function(event, ui) { $(this).dialog('option', 'width', 580); $(this).dialog('option', 'minHeight', 261); $(this).dialog('option', 'height', 380); }, }); var backupnow_modal_buttons = {}; backupnow_modal_buttons[updraftlion.backupnow] = function() { var backupnow_nodb = jQuery('#backupnow_includedb').is(':checked') ? 0 : 1; var backupnow_nofiles = jQuery('#backupnow_includefiles').is(':checked') ? 0 : 1; var backupnow_nocloud = jQuery('#backupnow_includecloud').is(':checked') ? 0 : 1; var db_anon_all = jQuery('#backupnow_db_anon_all').is(':checked') ? 1 : 0; var db_anon_non_staff = jQuery('#backupnow_db_anon_non_staff').is(':checked') ? 1 : 0; var db_anon_wc_orders = jQuery('#backupnow_db_anon_wc_order_data').is(':checked') ? 1 : 0; var onlythesetableentities = backupnow_whichtables_checked(''); var always_keep = jQuery('#always_keep').is(':checked') ? 1 : 0; var incremental = ('incremental' == jQuery('#updraft-backupnow-modal').data('backup-type')) ? 1 : 0; if (updraftlion.hosting_restriction.includes('only_one_backup_per_month') && !incremental) { alert(updraftlion.hosting_restriction_one_backup_permonth); return; } if (updraftlion.hosting_restriction.includes('only_one_incremental_per_day') && incremental) { alert(updraftlion.hosting_restriction_one_incremental_perday); return; } if ('' == onlythesetableentities && 0 == backupnow_nodb) { alert(updraftlion.notableschosen); jQuery('#backupnow_database_moreoptions').show(); return; } if (typeof onlythesetableentities === 'boolean') { onlythesetableentities = null; } var onlythesefileentities = backupnow_whichfiles_checked(''); if ('' == onlythesefileentities && 0 == backupnow_nofiles) { alert(updraftlion.nofileschosen); jQuery('#backupnow_includefiles_moreoptions').show(); return; } var only_these_cloud_services = jQuery("input[name^='updraft_include_remote_service_']").serializeArray(); if ('' == only_these_cloud_services && 0 == backupnow_nocloud) { alert(updraftlion.nocloudserviceschosen); jQuery('#backupnow_includecloud_moreoptions').show(); return; } if (typeof only_these_cloud_services === 'boolean') { only_these_cloud_services = null; } if (backupnow_nodb && backupnow_nofiles) { alert(updraftlion.excludedeverything); return; } jQuery(this).dialog("close"); setTimeout(function() { jQuery('#updraft_lastlogmessagerow').fadeOut('slow', function() { jQuery(this).fadeIn('slow'); }); }, 1700); updraft_backupnow_go(backupnow_nodb, backupnow_nofiles, backupnow_nocloud, onlythesefileentities, {always_keep: always_keep, incremental: incremental, db_anon: { all: db_anon_all, non_staff: db_anon_non_staff, wc_orders: db_anon_wc_orders }}, jQuery('#backupnow_label').val(), onlythesetableentities, only_these_cloud_services); }; backupnow_modal_buttons[updraftlion.cancel] = function() { jQuery(this).dialog("close"); }; jQuery("#updraft-backupnow-modal").dialog({ autoOpen: false, resizeOnWindowResize: true, scrollWithViewport: true, resizeAccordingToViewport: true, useContentSize: false, open: function(event, ui) { $(this).dialog('option', 'width', 610); $(this).dialog('option', 'minHeight', 300); $(this).dialog('option', 'height', 472); }, modal: true, buttons: backupnow_modal_buttons, create: function () { $(this).closest(".ui-dialog") .find(".ui-dialog-buttonpane .ui-button").first() // the first button .addClass("js-tour-backup-now-button"); } }); jQuery("#updraft-poplog").dialog({ autoOpen: false, modal: true, resizeOnWindowResize: true, scrollWithViewport: true, resizeAccordingToViewport: true, useContentSize: false, open: function(event, ui) { $(this).dialog('option', 'width', 860); $(this).dialog('option', 'minHeight', 260); if ($(window).height() > 600) { $(this).dialog('option', 'height', 600); } else { $(this).dialog('option', 'height', $(window).height()-50); } }, }); jQuery('#updraft-navtab-settings-content .enableexpertmode').on('click', function() { jQuery('#updraft-navtab-settings-content .expertmode').fadeIn(); jQuery('#updraft-navtab-settings-content .enableexpertmode').off('click'); return false; }); jQuery('#updraft-navtab-settings-content .backupdirrow').on('click', 'a.updraft_backup_dir_reset', function() { jQuery('#updraft_dir').val('updraft'); return false; }); function setup_file_entity_exclude_field(field, instant) { if (jQuery('#updraft-navtab-settings-content #updraft_include_'+field).is(':checked')) { if (instant) { jQuery('#updraft-navtab-settings-content #updraft_include_'+field+'_exclude_container').show(); } else { jQuery('#updraft-navtab-settings-content #updraft_include_'+field+'_exclude_container').slideDown(); } } else { if (instant) { jQuery('#updraft-navtab-settings-content #updraft_include_'+field+'_exclude').hide(); } else { jQuery('#updraft-navtab-settings-content #updraft_include_'+field+'_exclude_container').slideUp(); } } } jQuery('#updraft-navtab-settings-content .updraft_include_entity').on('click', function() { var has_exclude_field = jQuery(this).data('toggle_exclude_field'); if (has_exclude_field) { setup_file_entity_exclude_field(has_exclude_field, false); } }); jQuery('.updraft_exclude_entity_container').on('click', '.updraft_exclude_entity_delete', function(event) { event.preventDefault(); if (!confirm(updraftlion.exclude_rule_remove_conformation_msg)) return; var include_entity_name = jQuery(this).data('include-backup-file'); jQuery.when( jQuery(this).closest('.updraft_exclude_entity_wrapper').remove() ).then( updraft_exclude_entity_update(include_entity_name) ); }); jQuery('.updraft_exclude_entity_container').on('click', '.updraft_exclude_entity_edit', function(event) { event.preventDefault(); var wrapper = jQuery(this).hide().closest('.updraft_exclude_entity_wrapper'); var input = wrapper.find('input'); input.prop('readonly', false).trigger('focus'); // place caret at the end of the text var input_val = input.val(); input.val(''); input.val(input_val); wrapper.find('.updraft_exclude_entity_update').addClass('is-active').show(); }); jQuery('.updraft_exclude_entity_container').on('click', '.updraft_exclude_entity_update', function(event) { event.preventDefault(); var wrapper = jQuery(this).closest('.updraft_exclude_entity_wrapper'); var include_backup_file = jQuery(this).data('include-backup-file') var exclude_item_val = wrapper.find('input').val().trim(); var should_be_updated = false; if (exclude_item_val == wrapper.find('input').data('val')) { should_be_updated = true; } else if (updraft_is_unique_exclude_rule(exclude_item_val, include_backup_file)) { should_be_updated = true; } if (should_be_updated) { jQuery(this).hide().removeClass('is-active'); jQuery.when( wrapper.find('input').prop('readonly', 'readonly').data('val', exclude_item_val) ).then(function() { wrapper.find('.updraft_exclude_entity_edit').show(); updraft_exclude_entity_update(include_backup_file); }); } }); jQuery('#updraft_exclude_modal').dialog({ autoOpen: false, modal: true, resizeOnWindowResize: true, scrollWithViewport: true, resizeAccordingToViewport: true, useContentSize: false, open: function(event,ui) { $(this).parent().trigger('focus'); $(this).dialog('option', 'width', 520); $(this).dialog('option', 'minHeight', 260); if ($(window).height() > 579) { $(this).css('height', 'auto'); } else if ($(window).height() < 580 && $(window).height() > 410) { $(this).dialog('option', 'height', 410); $(this).css('height', 'auto'); } else { $(this).dialog('option', 'height', $(window).height()-20); } } }); jQuery('#updraft_include_others_exclude_container, #updraft_include_uploads_exclude_container, .updraft_exclude_container').on('click', 'a.updraft_add_exclude_item', function(event) { event.preventDefault(); var backup_entity = jQuery(this).data('include-backup-file'); jQuery('#updraft_exclude_modal_for').val(backup_entity); jQuery('#updraft_exclude_modal_path').val(jQuery(this).data('path')); if ('uploads' == backup_entity) { jQuery('#updraft-exclude-file-dir-prefix').html(jQuery('#updraft-exclude-upload-base-dir').val()); } jQuery('.updraft-exclude-modal-reset').trigger('click'); jQuery('#updraft_exclude_modal').dialog('open'); }); jQuery('.updraft-exclude-link').on('click', function(event) { event.preventDefault(); var panel = jQuery(this).data('panel'); if ('file-dir' == panel) { jQuery('#updraft_exclude_files_folders_jstree').jstree({ "core": { "multiple": false, "data": function (nodeid, callback) { updraft_send_command('get_jstree_directory_nodes', {entity: 'filebrowser', node:nodeid, path: jQuery('#updraft_exclude_modal_path').val(), findex: 0, skip_root_node: true}, function(response) { if (response.hasOwnProperty('error')) { alert(response.error); } else { callback.call(this, response.nodes); } }, { error_callback: function(response, status, error_code, resp) { if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); jQuery('#updraft_zip_files_jstree').html('

    '+resp.fatal_error_message+'

    '); alert(resp.fatal_error_message); } else { var error_message = "updraft_send_command: error: "+status+" ("+error_code+")"; jQuery('#updraft_zip_files_jstree').html('

    '+error_message+'

    '); console.log(error_message); alert(error_message); console.log(response); } } }); }, "error": function(error) { alert(error); console.log(error); }, }, "search": { "show_only_matches": true }, "plugins": ["sort"], }); } else if ('contain-clause' == panel) { jQuery('#updraft_exclude_files_folders_wildcards_jstree').jstree({ "core": { "multiple": false, "data": function (nodeid, callback) { updraft_send_command('get_jstree_directory_nodes', {entity: 'filebrowser', directories_only: 1, node:nodeid, path: jQuery('#updraft_exclude_modal_path').val(), findex: 0, skip_root_node: 0}, function(response) { if (response.hasOwnProperty('error')) { alert(response.error); } else { callback.call(this, response.nodes); } }, { error_callback: function(response, status, error_code, resp) { if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); jQuery('#updraft_zip_files_jstree').html('

    '+resp.fatal_error_message+'

    '); alert(resp.fatal_error_message); } else { var error_message = "updraft_send_command: error: "+status+" ("+error_code+")"; jQuery('#updraft_zip_files_jstree').html('

    '+error_message+'

    '); console.log(error_message); alert(error_message); console.log(response); } } }); }, "error": function(error) { alert(error); console.log(error); }, }, "search": { "show_only_matches": true }, "plugins": ["sort"], }); } jQuery('#updraft_exclude_modal_main').slideUp(); jQuery('.updraft-exclude-panel').hide(); jQuery('.updraft-exclude-panel[data-panel='+panel+']').slideDown(); }); jQuery('.updraft-exclude-modal-reset').on('click', function(event) { event.preventDefault(); jQuery('#updraft_exclude_files_folders_jstree').jstree("destroy"); jQuery('#updraft_exclude_files_folders_wildcards_jstree').jstree("destroy"); jQuery('#updraft_exclude_extension_field').val(''); jQuery('#updraft_exclude_prefix_field').val(''); jQuery('.updraft-exclude-panel').slideUp(); jQuery('#updraft_exclude_modal_main').slideDown(); }); jQuery('.updraft-exclude-submit').on('click', function() { var panel = jQuery(this).data('panel'); var exclude_item_val = ''; switch (panel) { case 'file-dir': var exclude_jstree_selected = jQuery("#updraft_exclude_files_folders_jstree").jstree("get_selected"); if (0 == exclude_jstree_selected.length) { alert(updraftlion.exclude_select_file_or_folder_msg); return; } var selected_file_or_folder = exclude_jstree_selected[0]; var prefix_path = jQuery('#updraft_exclude_modal_path').val(); if (selected_file_or_folder.substr(0, prefix_path.length) == prefix_path) { selected_file_or_folder = selected_file_or_folder.substr(prefix_path.length, selected_file_or_folder.length); } if ('/' == selected_file_or_folder.charAt(0)) selected_file_or_folder = selected_file_or_folder.substr(1); if ('/' == selected_file_or_folder.charAt(selected_file_or_folder.length - 1)) selected_file_or_folder = selected_file_or_folder.substr(0, selected_file_or_folder.length - 1); exclude_item_val = selected_file_or_folder; break; case 'extension': var exclude_extension = jQuery('#updraft_exclude_extension_field').val(); if ('' == exclude_extension) { alert(updraftlion.exclude_type_ext_msg); return; } if (!exclude_extension.match(/^[0-9a-zA-Z]+$/)) { alert(updraftlion.exclude_ext_error_msg); return; } exclude_item_val = 'ext:'+exclude_extension; break; case 'begin-with': var prefix = jQuery('#updraft_exclude_prefix_field').val(); if ('' == prefix) { alert(updraftlion.exclude_type_prefix_msg); return; } if (!prefix.match(/^\s*[a-z-_\d,\s]+\s*$/i)) { alert(updraftlion.exclude_prefix_error_msg); return; } exclude_item_val = 'prefix:'+prefix; break; case 'contain-clause': var exclude_jstree_selected = jQuery("#updraft_exclude_files_folders_wildcards_jstree").jstree("get_selected"); if (0 == exclude_jstree_selected.length) { alert(updraftlion.exclude_select_folder_wildcards_msg); return; } var clause_val = jQuery(this).parents('div.updraft-exclude-panel').find('div.clause-input-container input').val(); jQuery(this).parents('div.updraft-exclude-panel').find('div.clause-input-container input').val(''); var clause_type = jQuery(this).parents('div.updraft-exclude-panel').find('div.clause-input-container select').val(); if ('' == clause_val) { alert(updraftlion.exclude_contain_error_msg); return; } jQuery(this).parents('div.updraft-exclude-panel').find('div.clause-input-container select option').eq(0).prop('selected', true); var selected_file_or_folder = exclude_jstree_selected[0]; var prefix_path = jQuery('#updraft_exclude_modal_path').val(); if (selected_file_or_folder.substr(0, prefix_path.length) == prefix_path) { selected_file_or_folder = selected_file_or_folder.substr(prefix_path.length, selected_file_or_folder.length); } if ('/' == selected_file_or_folder.charAt(0)) selected_file_or_folder = selected_file_or_folder.substr(1); if ('/' == selected_file_or_folder.charAt(selected_file_or_folder.length - 1)) selected_file_or_folder = selected_file_or_folder.substr(0, selected_file_or_folder.length - 1); exclude_item_val = selected_file_or_folder; if ('' !== exclude_item_val) exclude_item_val += '/'; clause_val = clause_val.replace(/\*/g, '\\*'); if ('beginning' === clause_type) { exclude_item_val += clause_val + '*'; } else if ('middle' === clause_type) { exclude_item_val += '*' + clause_val + '*'; } else if ('end' === clause_type) { exclude_item_val += '*' + clause_val; } break; default: return; } var include_backup_file = jQuery('#updraft_exclude_modal_for').val(); if (!updraft_is_unique_exclude_rule(exclude_item_val, include_backup_file)) return; var exclude_entity_html = '
    '; jQuery('.updraft_exclude_entity_container[data-include-backup-file="' + include_backup_file + '"]').append(exclude_entity_html); updraft_exclude_entity_update(include_backup_file); jQuery('#updraft_exclude_modal').dialog('close'); }); // TODO: This is suspected to be obsolete. Confirm + remove. jQuery('#updraft-navtab-settings-content .updraft-service').on('change', function() { var active_class = jQuery(this).val(); jQuery('#updraft-navtab-settings-content .updraftplusmethod').hide(); jQuery('#updraft-navtab-settings-content .'+active_class).show(); }); jQuery('#updraft-navtab-settings-content a.updraft_show_decryption_widget').on('click', function(e) { e.preventDefault(); jQuery('#updraftplus_db_decrypt').val(jQuery('#updraft_encryptionphrase').val()); jQuery('#updraft-manualdecrypt-modal').slideToggle(); }); jQuery('#updraftplus-phpinfo').on('click', function(e) { e.preventDefault(); updraft_iframe_modal('phpinfo', updraftlion.phpinfo); }); jQuery('#updraftplus-rawbackuphistory').on('click', function(e) { e.preventDefault(); updraft_iframe_modal('rawbackuphistory', updraftlion.raw); }); // + Added addons navtab jQuery('#updraft-navtab-status').on('click', function(e) { e.preventDefault(); updraft_open_main_tab('status'); updraft_page_is_visible = 1; updraft_console_focussed_tab = 'status'; // Refresh the console, as its next update might be far away updraft_activejobs_update(true); }); jQuery('#updraft-navtab-expert').on('click', function(e) { e.preventDefault(); updraft_open_main_tab('expert'); updraft_page_is_visible = 1; }); jQuery('#updraft-navtab-settings, #updraft-navtab-settings2, #updraft_backupnow_gotosettings').on('click', function(e) { e.preventDefault(); // These next two should only do anything if the relevant selector was clicked jQuery(this).parents('.updraftmessage').remove(); jQuery('#updraft-backupnow-modal').dialog('close'); updraft_open_main_tab('settings'); updraft_page_is_visible = 1; }); jQuery('#updraft-navtab-addons').on('click', function(e) { e.preventDefault(); jQuery(this).addClass('b#nav-tab-active'); updraft_open_main_tab('addons'); updraft_page_is_visible = 1; }); jQuery('#updraft-navtab-backups').on('click', function(e) { e.preventDefault(); updraft_console_focussed_tab = 'backups'; updraft_historytimertoggle(1); updraft_open_main_tab('backups'); }); jQuery('#updraft-navtab-migrate').on('click', function(e) { e.preventDefault(); jQuery('#updraft_migrate_tab_alt').html('').hide(); updraft_open_main_tab('migrate'); updraft_page_is_visible = 1; if (!jQuery('#updraft_migrate .updraft_migrate_widget_module_content').is(':visible')) { jQuery('.updraft_migrate_intro').show(); } }); if ('migrate' == updraftlion.tab) jQuery('#updraft-navtab-migrate').trigger('click'); updraft_send_command('ping', null, function(data, response) { if ('success' == response && data != 'pong' && data.indexOf('pong')>=0) { jQuery('#updraft-navtab-backups-content .ud-whitespace-warning').show(); console.log("UpdraftPlus: Extra output warning: response (which should be just (string)'pong') follows."); console.log(data); } }, { json_parse: false, type: 'GET' }); // Section: Plupload try { if (typeof updraft_plupload_config !== 'undefined') { plupload_init(); } } catch (err) { console.log(err); } function plupload_init() { // create the uploader and pass the config from above var uploader = new plupload.Uploader(updraft_plupload_config); // checks if browser supports drag and drop upload, makes some css adjustments if necessary uploader.bind('Init', function(up) { var uploaddiv = jQuery('#plupload-upload-ui'); if (up.features.dragdrop) { uploaddiv.addClass('drag-drop'); jQuery('#drag-drop-area') .on('dragover.wp-uploader', function() { uploaddiv.addClass('drag-over'); }) .on('dragleave.wp-uploader, drop.wp-uploader', function() { uploaddiv.removeClass('drag-over'); }); } else { uploaddiv.removeClass('drag-drop'); jQuery('#drag-drop-area').off('.wp-uploader'); } }); uploader.init(); // a file was added in the queue uploader.bind('FilesAdded', function(up, files) { if ($('#updraft-plupload-modal').is(':hidden')) { $('#updraft-plupload-modal').slideToggle(); } // var hundredmb = 100 * 1024 * 1024, max = parseInt(up.settings.max_file_size, 10); plupload.each(files, function(file) { // @codingStandardsIgnoreLine if (! /^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-[\-a-z]+([0-9]+?)?(\.(zip|gz|gz\.crypt))?$/i.test(file.name) && ! /^log\.([0-9a-f]{12})\.txt$/.test(file.name)) { var accepted_file = false; for (var i = 0; i'+file.name+"

    "+updraftlion.notarchive2); jQuery('#updraft-message-modal').dialog('open'); } else { alert(file.name+": "+updraftlion.notarchive); } uploader.removeFile(file); return; } } // a file was added, you may want to update your DOM here... jQuery('#filelist').append( '
    ' + file.name + ' (' + plupload.formatSize(0) + '/' + plupload.formatSize(file.size) + ') ' + '
    '); }); up.refresh(); up.start(); }); uploader.bind('UploadProgress', function(up, file) { jQuery('#' + file.id + " .fileprogress").width(file.percent + "%"); jQuery('#' + file.id + " span").html(plupload.formatSize(parseInt(file.size * file.percent / 100))); if (file.size == file.loaded) { jQuery('#' + file.id).html('
    ' + file.name + ' (' + plupload.formatSize(parseInt(file.size * file.percent / 100)) + '/' + plupload.formatSize(file.size) + ') - ' + updraftlion.complete + '
    '); // Removed
    (just before closing
    ) to make clearer it's complete. jQuery('#' + file.id + " .fileprogress").width(file.percent + "%"); } }); uploader.bind('Error', function(up, error) { console.log(error); var err_makesure; if (error.code == "-200") { err_makesure = '\n'+updraftlion.makesure2; } else { err_makesure = updraftlion.makesure; } var msg = updraftlion.uploaderr+' (code '+error.code+') : '+error.message; if (error.hasOwnProperty('status') && error.status) { msg += ' ('+updraftlion.http_code+' '+error.status+')'; } if (error.hasOwnProperty('response')) { console.log('UpdraftPlus: plupload error: '+error.response); if (error.response.length < 100) msg += ' '+updraftlion.error+' '+error.response+'\n'; } msg += ' '+err_makesure; alert(msg); }); // a file was uploaded uploader.bind('FileUploaded', function(up, file, response) { if (response.status == '200') { // this is your ajax response, update the DOM with it or something... try { resp = ud_parse_json(response.response); if (resp.e) { alert(updraftlion.uploaderror+" "+resp.e); } else if (resp.dm) { alert(resp.dm); updraft_updatehistory(1, 0); } else if (resp.m) { updraft_updatehistory(1, 0); } else { alert('Unknown server response: '+response.response); } } catch (err) { console.log(response); alert(updraftlion.jsonnotunderstood); } } else { alert('Unknown server response status: '+response.code); console.log(response); } }); } // Functions in the debugging console jQuery('#updraftplus_httpget_go').on('click', function(e) { e.preventDefault(); updraftplus_httpget_go(0); }); jQuery('#updraftplus_httpget_gocurl').on('click', function(e) { e.preventDefault(); updraftplus_httpget_go(1); }); jQuery('#updraftplus_callwpaction_go').on('click', function(e) { e.preventDefault(); params = { wpaction: jQuery('#updraftplus_callwpaction').val() }; updraft_send_command('call_wordpress_action', params, function(response) { if (response.e) { alert(response.e); } else if (response.s) { // Silence } else if (response.r) { jQuery('#updraftplus_callwpaction_results').html(response.r); } else { console.log(response); alert(updraftlion.jsonnotunderstood); } }); }); function updraftplus_httpget_go(curl) { params = { uri: jQuery('#updraftplus_httpget_uri').val() }; params.curl = curl; updraft_send_command('httpget', params, function(resp) { if (resp.e) { alert(resp.e); } if (resp.r) { jQuery('#updraftplus_httpget_results').html('
    '+resp.r+'
    '); } else { console.log(resp); } }, { type: 'GET' }); } jQuery('#updraft_activejobs_table, #updraft-navtab-migrate-content').on('click', '.updraft_jobinfo_delete', function(e) { e.preventDefault(); var job_id = jQuery(this).data('jobid'); if (job_id) { $(this).addClass('disabled'); updraft_activejobs_delete(job_id); } else { console.log("UpdraftPlus: A stop job link was clicked, but the Job ID could not be found"); } }); jQuery('#updraft_activejobs_table, #updraft-navtab-backups-content .updraft_existing_backups, #updraft-backupnow-inpage-modal, #updraft-navtab-migrate-content').on('click', '.updraft-log-link', function(e) { e.preventDefault(); var file_id = jQuery(this).data('fileid'); var job_id = jQuery(this).data('jobid'); if (file_id) { updraft_popuplog(file_id); } else if (job_id) { updraft_popuplog(job_id); } else { console.log("UpdraftPlus: A log link was clicked, but the Job ID could not be found"); } }); function updraft_restore_setup(entities, key, show_data) { updraft_restore_setoptions(entities); jQuery('#updraft_restore_timestamp').val(key); jQuery('.updraft_restore_date').html(show_data); updraft_restore_stage = 1; // jQuery('#updraft-restore-modal').dialog('open'); updraft_restore_modal.open(); updraft_activejobs_update(true); } jQuery('#updraft-navtab-backups-content .updraft_existing_backups').on('click', 'button.choose-components-button', function(e) { var entities = jQuery(this).data('entities'); var backup_timestamp = jQuery(this).data('backup_timestamp'); var show_data = jQuery(this).data('showdata'); updraft_restore_setup(entities, backup_timestamp, show_data); }); /** * Get the value of a named URL parameter - https://stackoverflow.com/questions/4548487/jquery-read-query-string * * @param {string} name - URL parameter to return the value of * * @returns {string} */ function get_parameter_by_name(name) { name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regex_s = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp(regex_s); var results = regex.exec(window.location.href); if (results == null) { return ''; } else { return decodeURIComponent(results[1].replace(/\+/g, ' ')); } } if (get_parameter_by_name('udaction') == 'initiate_restore') { var entities = get_parameter_by_name('entities'); var backup_timestamp = get_parameter_by_name('backup_timestamp'); var show_data = get_parameter_by_name('showdata'); updraft_restore_setup(entities, backup_timestamp, show_data); } var updraft_upload_modal_buttons = {}; updraft_upload_modal_buttons[updraftlion.uploadbutton] = function () { var key = jQuery('#updraft_upload_timestamp').val(); var nonce = jQuery('#updraft_upload_nonce').val(); var services = ''; var send_list = false; jQuery('.updraft_remote_storage_destination').each(function (index) { if (jQuery(this).is(':checked')) { send_list = true; } }); if (!send_list) { jQuery('#updraft-upload-modal-error').html(updraftlion.local_upload_error); return; } else { services = jQuery("input[name^='updraft_remote_storage_destination_']").serializeArray(); } jQuery(this).dialog("close"); alert(updraftlion.local_upload_started); updraft_send_command('upload_local_backup', { use_nonce: nonce, use_timestamp: key, services: services }); }; updraft_upload_modal_buttons[updraftlion.cancel] = function () { jQuery(this).dialog("close"); }; jQuery("#updraft-upload-modal").dialog({ autoOpen: false, modal: true, resizeOnWindowResize: true, scrollWithViewport: true, resizeAccordingToViewport: true, useContentSize: false, open: function(event, ui) { $(this).parent().trigger('focus'); $(this).dialog('option', 'width', 308); if (jQuery(window).height() > 460) { $(this).dialog('option', 'height', 318); } else if (jQuery(window).height() > 250 && jQuery(window).height() < 461) { $(this).dialog('option', 'height', 460); } else { $(this).dialog('option', 'height', jQuery(window).height() - 20); } }, buttons: updraft_upload_modal_buttons }); jQuery('#updraft-navtab-backups-content .updraft_existing_backups').on('click', 'button.updraft-upload-link', function (e) { e.preventDefault(); var nonce = jQuery(this).data('nonce').toString(); var key = jQuery(this).data('key').toString(); var services = jQuery(this).data('services').toString(); if (nonce) { updraft_upload(key, nonce, services); } else { console.log("UpdraftPlus: A upload link was clicked, but the Job ID could not be found"); } }); jQuery('#updraft-navtab-backups-content .updraft_existing_backups').on('click', '.updraft-load-more-backups', function (e) { e.preventDefault(); var backup_count = parseInt(jQuery('#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row').length) + parseInt(updraftlion.existing_backups_limit); updraft_updatehistory(0, 0, 0, backup_count); }); jQuery('#updraft-navtab-backups-content .updraft_existing_backups').on('click', '.updraft-load-all-backups', function (e) { e.preventDefault(); updraft_updatehistory(0, 0, 0, 9999999); }); /** * Opens the dialog box for confirmation of where to upload the backup * * @param {string} key - The UNIX timestamp of the backup * @param {string} nonce - The backup job ID * @param {string} services - A list of services that have not been uploaded to yet */ function updraft_upload(key, nonce, services) { jQuery('#updraft_upload_timestamp').val(key); jQuery('#updraft_upload_nonce').val(nonce); var services_array = services.split(","); jQuery('.updraft_remote_storage_destination').each(function (index) { var name = jQuery(this).val(); if (jQuery.inArray(name, services_array) == -1) { jQuery(this).prop('checked', false); jQuery(this).prop('disabled', true); var label = $(this).prop("labels"); jQuery(label).find('span').show(); } }); jQuery('#updraft-upload-modal').dialog('open'); } jQuery('#updraft-navtab-backups-content .updraft_existing_backups').on('click', '.updraft-delete-link', function(e) { e.preventDefault(); var hasremote = jQuery(this).data('hasremote'); var nonce = jQuery(this).data('nonce').toString(); var key = jQuery(this).data('key').toString(); if (nonce) { updraft_delete(key, nonce, hasremote); } else { console.log("UpdraftPlus: A delete link was clicked, but the Job ID could not be found"); } }); jQuery('#updraft-navtab-backups-content .updraft_existing_backups').on('click', 'button.updraft_download_button', function(e) { e.preventDefault(); var base = 'uddlstatus_'; var backup_timestamp = jQuery(this).data('backup_timestamp'); var what = jQuery(this).data('what'); var whicharea = '.ud_downloadstatus'; var set_contents = jQuery(this).data('set_contents'); var prettydate = jQuery(this).data('prettydate'); var async = true; updraft_downloader(base, backup_timestamp, what, whicharea, set_contents, prettydate, async); }); jQuery('#updraft-navtab-backups-content .updraft_existing_backups').on('dblclick', '.updraft_existingbackup_date', function (e) { e.preventDefault(); var nonce = jQuery(this).data('nonce').toString(); var timestamp = jQuery(this).data('timestamp').toString(); updraft_send_command('rawbackup_history', { timestamp: timestamp, nonce: nonce }, function (response) { if (response.hasOwnProperty('rawbackup')) { var textArea = document.createElement('textarea'); textArea.innerHTML = response.rawbackup; updraft_html_modal(textArea.value, updraftlion.raw, 780, 500); } else { updraft_html_modal(updraftlion.jsonnotunderstood, updraftlion.raw, 780, 500); } }, { type: 'POST' }); updraft_html_modal('

    '+ updraftlion.loading +'
    ', updraftlion.raw, 780, 500); }); jQuery('#backupnow_database_moreoptions').on('click', 'div.backupnow-db-tables > a', function(e) { e.preventDefault(); jQuery('> input', jQuery(this).parents('div.backupnow-db-tables')).prop('checked', false); if (jQuery(this).hasClass('backupnow-select-all-table')) { jQuery('> input', jQuery(this).parents('div.backupnow-db-tables')).prop('checked', true); } else if (jQuery(this).hasClass('backupnow-select-all-this-site')) { jQuery('> input', jQuery(this).parents('div.backupnow-db-tables')).not('[data-non_wp_table]').prop('checked', true); } }); jQuery('#updraft-restore-modal').on('click', '.updraft_restore_select_all_themes', function(e) { e.preventDefault(); jQuery('.updraft_restore_themes_options').prop('checked', true); }); jQuery('#updraft-restore-modal').on('click', '.updraft_restore_deselect_all_themes', function(e) { e.preventDefault(); jQuery('.updraft_restore_themes_options').prop('checked', false); }); jQuery('#updraft-restore-modal').on('click', '.updraft_restore_select_all_plugins', function(e) { e.preventDefault(); jQuery('.updraft_restore_plugins_options').prop('checked', true); }); jQuery('#updraft-restore-modal').on('click', '.updraft_restore_deselect_all_plugins', function(e) { e.preventDefault(); jQuery('.updraft_restore_plugins_options').prop('checked', false); }); jQuery('.updraftmessage.admin-warning-litespeed').on('click', '.notice-dismiss', function(e) { e.preventDefault(); updraft_send_command('dismiss_admin_warning_litespeed'); }); jQuery('.updraftmessage.admin-warning-pclzip').on('click', '.notice-dismiss', function(e) { e.preventDefault(); updraft_send_command('dismiss_admin_warning_pclzip'); }); function apply_search_on_db_size() { var value = jQuery('.db-search').val().toLowerCase(); jQuery(".db-size-content tr").filter(function() { jQuery(this).toggle(jQuery(this).text().toLowerCase().indexOf(value) > -1) }); } jQuery('#db_size.advanced_tools_button, .db-size-refresh').on('click', function(e) { e.preventDefault(); var $total_size = jQuery('.advanced_settings_content .advanced_tools.db_size .total-size'); var $table_body = jQuery('.advanced_settings_content .advanced_tools.db_size tbody.db-size-content'); // trigger the ajax from the 'Database size' menu only for the first time if (jQuery(this).hasClass('advanced_tools_button') && '' != $table_body.html()) { return; } $table_body.html(''); updraft_send_command('db_size', 1, function (response) { $total_size.html(response.size); $table_body.html(response.html); apply_search_on_db_size(); }); }); jQuery('.db-search').on('input', function() { apply_search_on_db_size(); }); jQuery('.db-search-clear').on('click', function(e) { e.preventDefault(); jQuery('.db-search').val(''); apply_search_on_db_size(); }); jQuery('.updraft_restore_main').on('click', 'button#updraft_restore_abort', function(e) { e.preventDefault(); jQuery('#updraft_restore_continue_action').val('updraft_restore_abort'); jQuery(this).parent('form').trigger('submit'); }); }); // UpdraftVault jQuery(function($) { var settings_css_prefix = '#updraft-navtab-settings-content '; $(settings_css_prefix+'#remote-storage-holder').on('click', '.updraftvault_backtostart', function(e) { e.preventDefault(); $(settings_css_prefix+'#updraftvault_settings_showoptions').slideUp(); $(settings_css_prefix+'#updraftvault_settings_connect').slideUp(); $(settings_css_prefix+'#updraftvault_settings_connected').slideUp(); $(settings_css_prefix+'#updraftvault_settings_default').slideDown(); }); // Prevent default event when pressing return in the form $(settings_css_prefix).on('keypress','#updraftvault_settings_connect input', function(e) { if (13 == e.which) { $(settings_css_prefix+'#updraftvault_connect_go').trigger('click'); return false; } }); $(settings_css_prefix+'#remote-storage-holder').on('click', '#updraftvault_recountquota', function(e) { e.preventDefault(); $(settings_css_prefix+'#updraftvault_recountquota').html(updraftlion.counting); try { updraft_send_command('vault_recountquota', { instance_id: $('#updraftvault_settings_connect').data('instance_id') }, function(response) { $(settings_css_prefix+'#updraftvault_recountquota').html(updraftlion.updatequotacount); if (response.hasOwnProperty('html')) { $(settings_css_prefix+'#updraftvault_settings_connected').html(response.html); if (response.hasOwnProperty('connected')) { if (response.connected) { $(settings_css_prefix+'#updraftvault_settings_default').hide(); $(settings_css_prefix+'#updraftvault_settings_connected').show(); } else { $(settings_css_prefix+'#updraftvault_settings_connected').hide(); $(settings_css_prefix+'#updraftvault_settings_default').show(); } } } }, { error_callback: function(response, status, error_code, resp) { $(settings_css_prefix+'#updraftvault_recountquota').html(updraftlion.updatequotacount); if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); alert(resp.fatal_error_message); } else { var error_message = "updraft_send_command: error: "+status+" ("+error_code+")"; console.log(error_message); alert(error_message); console.log(response); } } }); } catch (err) { $(settings_css_prefix+'#updraftvault_recountquota').html(updraftlion.updatequotacount); console.log(err); } }); $(settings_css_prefix+'#remote-storage-holder').on('click', '#updraftvault_disconnect', function(e) { e.preventDefault(); $(settings_css_prefix+'#updraftvault_disconnect').html(updraftlion.disconnecting); try { updraft_send_command('vault_disconnect', { immediate_echo: true, instance_id: $('#updraftvault_settings_connect').data('instance_id') }, function(response) { $(settings_css_prefix+'#updraftvault_disconnect').html(updraftlion.disconnect); if (response.hasOwnProperty('html')) { $(settings_css_prefix+'#updraftvault_settings_connected').html(response.html).slideUp(); $(settings_css_prefix+'#updraftvault_settings_default').slideDown(); } }, { error_callback: function(response, status, error_code, resp) { $(settings_css_prefix+'#updraftvault_disconnect').html(updraftlion.disconnect); if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); alert(resp.fatal_error_message); } else { var error_message = "updraft_send_command: error: "+status+" ("+error_code+")"; console.log(error_message); alert(error_message); console.log(response); } } }); } catch (err) { $(settings_css_prefix+'#updraftvault_disconnect').html(updraftlion.disconnect); console.log(err); } }); $(settings_css_prefix+'#remote-storage-holder').on('click', '#updraftvault_connect', function(e) { e.preventDefault(); $(settings_css_prefix+'#updraftvault_settings_default').slideUp(); $(settings_css_prefix+'#updraftvault_settings_connect').slideDown(); }); $(settings_css_prefix+'#remote-storage-holder').on('click', '#updraftvault_showoptions', function(e) { e.preventDefault(); $(settings_css_prefix+'#updraftvault_settings_default').slideUp(); $(settings_css_prefix+'#updraftvault_settings_showoptions').slideDown(); }); $('#remote-storage-holder').on('keyup', '.updraftplus_onedrive_folder_input', function(e) { var folder = $(this).val(); var td_container = $(this).closest('td') if (0 == folder.indexOf('https:') || 0 == folder.indexOf('http:')) { if (!td_container.find('.onedrive_folder_error').length) { td_container.append('
    '+updraftlion.onedrive_folder_url_warning+'
    '); } } else { td_container.find('.onedrive_folder_error').slideUp('slow', function() { td_container.find('.onedrive_folder_error').remove(); }); } }); $(settings_css_prefix+'#remote-storage-holder').on('click', '#updraftvault_connect_go', function(e) { $(settings_css_prefix+'#updraftvault_connect_go').html(updraftlion.connecting); updraft_send_command('vault_connect', { email: $('#updraftvault_email').val(), pass: $('#updraftvault_pass').val(), instance_id: $('#updraftvault_settings_connect').data('instance_id'), }, function(resp, status, response) { $(settings_css_prefix+'#updraftvault_connect_go').html(updraftlion.connect); if (resp.hasOwnProperty('e')) { updraft_html_modal('

    '+updraftlion.errornocolon+'

    '+resp.e+'

    ', updraftlion.disconnect, 400, 250); if (resp.hasOwnProperty('code') && resp.code == 'no_quota') { $(settings_css_prefix+'#updraftvault_settings_connect').slideUp(); $(settings_css_prefix+'#updraftvault_settings_default').slideDown(); } } else if (resp.hasOwnProperty('connected') && resp.connected && resp.hasOwnProperty('html')) { $(settings_css_prefix+'#updraftvault_settings_connect').slideUp(); $(settings_css_prefix+'#updraftvault_settings_connected').html(resp.html).slideDown(); } else { console.log(resp); alert(updraftlion.unexpectedresponse+' '+response); } }, { error_callback: function(response, status, error_code, resp) { $(settings_css_prefix+'#updraftvault_connect_go').html(updraftlion.connect); if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); alert(resp.fatal_error_message); } else { var error_message = "updraft_send_command: error: "+status+" ("+error_code+")"; console.log(error_message); alert(error_message); console.log(response); } } }); return false; }); // Mark a backup as always keep (do not delete) $('#updraft-iframe-modal').on('change', '#always_keep_this_backup', function() { var backup_key = $(this).data('backup_key'); var params = { backup_key: backup_key, always_keep: $(this).is(':checked') ? 1 : 0, }; updraft_send_command('always_keep_this_backup', params, function(resp) { if (resp.hasOwnProperty('rawbackup')) { jQuery('#updraft-iframe-modal').dialog('close'); jQuery('.updraft_existing_backups_row_'+backup_key+' .updraft_existingbackup_date').data('rawbackup', resp.rawbackup); updraft_html_modal(jQuery('.updraft_existing_backups_row_'+backup_key+' .updraft_existingbackup_date').data('rawbackup'), updraftlion.raw, 780, 500); } }); }); }); // End ready Vault // Next: the encrypted database pluploader jQuery(function($) { try { if (typeof updraft_plupload_config2 !== 'undefined') { plupload_init(); } } catch (err) { console.log(err); } function plupload_init() { // create the uploader and pass the config from above var uploader = new plupload.Uploader(updraft_plupload_config2); // checks if browser supports drag and drop upload, makes some css adjustments if necessary uploader.bind('Init', function(up) { var uploaddiv = jQuery('#plupload-upload-ui2'); if (up.features.dragdrop) { uploaddiv.addClass('drag-drop'); jQuery('#drag-drop-area2') .on('dragover.wp-uploader', function() { uploaddiv.addClass('drag-over'); }) .on('dragleave.wp-uploader, drop.wp-uploader', function() { uploaddiv.removeClass('drag-over'); }); } else { uploaddiv.removeClass('drag-drop'); jQuery('#drag-drop-area2').off('.wp-uploader'); } }); uploader.init(); // a file was added in the queue uploader.bind('FilesAdded', function(up, files) { // var hundredmb = 100 * 1024 * 1024, max = parseInt(up.settings.max_file_size, 10); plupload.each(files, function(file) { // @codingStandardsIgnoreLine if (!/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-db([0-9]+)?\.(gz\.crypt)$/i.test(file.name)) { alert(file.name+': '+updraftlion.notdba); uploader.removeFile(file); return; } // a file was added, you may want to update your DOM here... jQuery('#filelist2').append( '
    ' + file.name + ' (' + plupload.formatSize(0) + '/' + plupload.formatSize(file.size) + ') ' + '
    '); }); up.refresh(); up.start(); }); uploader.bind('UploadProgress', function(up, file) { jQuery('#' + file.id + " .fileprogress").width(file.percent + "%"); jQuery('#' + file.id + " span").html(plupload.formatSize(parseInt(file.size * file.percent / 100))); }); uploader.bind('Error', function(up, error) { if ('-200' == error.code) { err_makesure = '\n'+updraftlion.makesure2; } else { err_makesure = updraftlion.makesure; } alert(updraftlion.uploaderr+' (code '+error.code+") : "+error.message+" "+err_makesure); }); // a file was uploaded uploader.bind('FileUploaded', function(up, file, response) { if (response.status == '200') { // this is your ajax response, update the DOM with it or something... if (response.response.substring(0,6) == 'ERROR:') { alert(updraftlion.uploaderror+" "+response.response.substring(6)); } else if (response.response.substring(0,3) == 'OK:') { bkey = response.response.substring(3); jQuery('#' + file.id + " .fileprogress").hide(); jQuery('#' + file.id).append(updraftlion.uploaded+' '+updraftlion.followlink+' '+updraftlion.thiskey+' '+jQuery('#updraftplus_db_decrypt').val().replace(/&/g, "&").replace(//g, ">")); } else { alert(updraftlion.unknownresp+' '+response.response); } } else { alert(updraftlion.ukrespstatus+' '+response.code); } }); } jQuery('#updraft-hidethis').remove(); /* * A Handlebarsjs helper function that is used to compare * two values if they are equal. Please refer to the example below. * Assuming "comment_status" contains the value of "spam". * * @param {mixed} a The first value to compare * @param {mixed} b The second value to compare * * @example * // returns "I am spam!", otherwise "I am not a spam!" * {{#ifeq "spam" comment_status}} * I am spam! * {{else}} * I am not a spam! * {{/ifeq}} * * @return {string} */ Handlebars.registerHelper('ifeq', function (a, b, opts) { if ('string' !== typeof a && 'undefined' !== typeof a && null !== a) a = a.toString(); if ('string' !== typeof b && 'undefined' !== typeof b && null !== b) b = b.toString(); if (a === b) { return opts.fn(this); } else { return opts.inverse(this); } }); /* * Handlebars helper function to replace all password chars into asterisk char * * @param {string} password Required. The plain-text password * * @return {string} */ Handlebars.registerHelper('maskPassword', function(password) { return password.replace(/./gi,'*'); }); /* * Handlebars helper function that wraps javascript encodeURIComponent so that it could encode the following characters: , / ? : @ & = + $ # * * @param {string} uri Required. The URI to be encoded */ Handlebars.registerHelper('encodeURIComponent', function(uri) { return encodeURIComponent(uri); }); /** * Handlebars helper function to compare two values using a specified operator * * @see https://stackoverflow.com/questions/8853396/logical-operator-in-a-handlebars-js-if-conditional#answer-16315366 * * @param {mixed} v1 the first value to compare * @param {mixed} v2 the second value to compare * * @return {boolean} true if the first value matched against the second value, false otherwise */ Handlebars.registerHelper('ifCond', function(v1, operator, v2, options) { switch (operator) { case '==': return (v1 == v2) ? options.fn(this) : options.inverse(this); case '===': return (v1 === v2) ? options.fn(this) : options.inverse(this); case '!=': return (v1 != v2) ? options.fn(this) : options.inverse(this); case '!==': return (v1 !== v2) ? options.fn(this) : options.inverse(this); case '<': return (v1 < v2) ? options.fn(this) : options.inverse(this); case '<=': return (v1 <= v2) ? options.fn(this) : options.inverse(this); case '>': return (v1 > v2) ? options.fn(this) : options.inverse(this); case '>=': return (v1 >= v2) ? options.fn(this) : options.inverse(this); case '&&': return (v1 && v2) ? options.fn(this) : options.inverse(this); case '||': return (v1 || v2) ? options.fn(this) : options.inverse(this); case 'typeof': return (v1 === typeof v2) ? options.fn(this) : options.inverse(this); case 'not_typeof': return (v1 !== typeof v2) ? options.fn(this) : options.inverse(this); default: return options.inverse(this); } }); /** * Handlebars helper function for looping through a block of code a specified number of times * * @param {mixed} from the start value * @param {mixed} to the end value where the loop will stop * @param {mixed} incr the increment number * * @return {mixed} the current processing number */ Handlebars.registerHelper('for', function(from, to, incr, block) { var accum = ''; for (var i = from; i < to; i += incr) accum += block.fn(i); return accum; }); /** * Assign value into a variable * * @param {string} name the variable name * @param {mixed} val the value */ Handlebars.registerHelper('set_var', function(name, val, options) { if (!options.data.root) { options.data.root = {}; } options.data.root[name] = val; }); /** * Get length of an array/object * * @param {mixed} object the object */ Handlebars.registerHelper('get_length', function(object) { if ("undefined" !== typeof object && false === object instanceof Array) { return Object.keys(object).length; } else if (true === object instanceof Array) { return object.length; } else { return 0; } }); /** * Return a space-separated list of CSS classes suitable for rows in the configuration section * * @see UpdraftPlus_BackupModule::get_css_classes() * * @param {boolean} include_instance a boolean value to indicate if we want to include the instance_id in the css class, we may not want to include the instance if it's for a UI element that we don't want to be removed along with other UI elements that do include a instance id * @return {string} the list of CSS classes */ Handlebars.registerHelper('get_template_css_classes', function(include_instance, options) { var css_classes = options.data.root.css_class + ' ' + options.data.root.method_id; if (!include_instance || !options.data.root['is_multi_options_feature_supported']) return css_classes; if (options.data.root['is_config_templates_feature_supported']) { css_classes += ' ' + options.data.root.method_id + '-' + options.data.root.instance_id; } else { css_classes += ' ' + options.data.root.method_id + '-' + options.data.root._instance_id; } return css_classes; }); /** * Output the value of an id or name attribute, as if currently within an input tag * This assumes standardised options handling (i.e. that the options array is updraft_(method-id)) * * @see UpdraftPlus_BackupModule::output_settings_field_name_and_id() * * @param {string} input_attribute The attribute of an input tag * @param {mixed} fields the field identifiers * @return {string} a specific value to the given input attribute */ Handlebars.registerHelper('get_template_input_attribute_value', function(input_attribute, fields, options) { var instance_id = options.data.root['is_config_templates_feature_supported'] ? options.data.root.instance_id : options.data.root._instance_id; var id = ename = ''; var method_id = options.data.root.method_id; try { fields = JSON.parse(fields); } catch (e) {} if ("undefined" !== typeof fields && Array === fields.constructor) { for (var i=0; i \ \ \

    \ \

    \ \ '; }); // Add remote methods html using handlebarjs if ($('#remote-storage-holder').length) { var html = ''; var not_instance_ids = ['default', 'template_properties']; for (var method in updraftlion.remote_storage_templates) { if ('undefined' != typeof updraftlion.remote_storage_options[method] && not_instance_ids.length < Object.keys(updraftlion.remote_storage_options[method]).length) { var template = Handlebars.compile(updraftlion.remote_storage_templates[method]); for (var partial_template_name in updraftlion.remote_storage_partial_templates[method]) { Handlebars.registerPartial(partial_template_name, Handlebars.compile(updraftlion.remote_storage_partial_templates[method][partial_template_name])); } var first_instance = true; var instance_count = 1; for (var instance_id in updraftlion.remote_storage_options[method]) { if (not_instance_ids.indexOf(instance_id) > -1) continue; var context = {}; // Initiate a reference by assigning an empty object to a variable (in this case the context variable) so that it can be used as a target of merging one or more other objects. Unlike basic values (boolean, string, integer, etc.), in Javascript objects and arrays are passed by reference // copy what are in the template properties to the context overwriting the same object properties, and then copy what are in the instance settings to the context overwriting all the same properties from the previous merging operation (if any). The context properties are overwritten by other objects that have the same properties later in the parameters order Object.assign(context, updraftlion.remote_storage_options[method]['template_properties'], updraftlion.remote_storage_options[method][instance_id]); if ('undefined' == typeof context['instance_conditional_logic']) { context['instance_conditional_logic'] = { type: '', // always by default rules: [], }; } context['instance_conditional_logic'].day_of_the_week_options = updraftlion.conditional_logic.day_of_the_week_options; context['instance_conditional_logic'].logic_options = updraftlion.conditional_logic.logic_options; context['instance_conditional_logic'].operand_options = updraftlion.conditional_logic.operand_options; context['instance_conditional_logic'].operator_options = updraftlion.conditional_logic.operator_options; context['first_instance'] = first_instance; if ('undefined' == typeof context['instance_enabled']) { context['instance_enabled'] = 1; } if ('undefined' == typeof context['instance_label'] || '' == context['instance_label']) { var method_name = updraftlion.remote_storage_methods[method]; var instance_label = ' (' + instance_count + ')'; if (1 == instance_count) { instance_label = ''; } context['instance_label'] = method_name + instance_label; } html += template(context); first_instance = false; instance_count++; } } else { html += updraftlion.remote_storage_templates[method]; } } $('#remote-storage-holder').append(html).ready(function () { $('.updraftplusmethod').not('.none').hide(); updraft_remote_storage_tabs_setup(); updraft_setup_remote_storage_config_link(); updraft_scroll_to_remote_storage_config(); // Displays warning to the user of their mistake if they try to enter a URL in the OneDrive settings and saved $('#remote-storage-holder .updraftplus_onedrive_folder_input').trigger('keyup'); }); } }); // Save/Export/Import settings via AJAX jQuery(function($) { // Pre-load the image so that it doesn't jerk when first used var my_image = new Image(); my_image.src = updraftlion.ud_url+'/images/notices/updraft_logo.png'; // When inclusion options for file entities in the settings tab, reflect that in the "Backup Now" dialog, to prevent unexpected surprises $('#updraft-navtab-settings-content input.updraft_include_entity').on('change', function(e) { var event_target = $(this).attr('id'); var checked = $(this).is(':checked'); var backup_target = '#backupnow_files_'+event_target; $(backup_target).prop('checked', checked); }); $('#updraftplus-settings-save').on('click', function(e) { e.preventDefault(); $.blockUI({ css: { width: '300px', border: 'none', 'border-radius': '10px', left: 'calc(50% - 150px)', padding: '20px', }, message: '

    '+updraftlion.saving+'
    ' }); var form_data = gather_updraft_settings('string'); // POST the settings back to the AJAX handler updraft_send_command('savesettings', { settings: form_data, updraftplus_version: updraftlion.updraftplus_version }, function(resp, status, response) { // Add page updates etc based on response updraft_handle_page_updates(resp, response); $('#updraft-wrap .fade').delay(6000).fadeOut(2000); if (window.updraft_main_tour && !window.updraft_main_tour.canceled) { window.updraft_main_tour.show('settings_saved'); check_cloud_authentication(); } else { $('html, body').animate({ scrollTop: $("#updraft-wrap").offset().top }, 1000, function() { check_cloud_authentication() }); } $.unblockUI(); }, { action: 'updraft_savesettings', error_callback: function(response, status, error_code, resp) { $.unblockUI(); if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); alert(resp.fatal_error_message); } else { var error_message = "updraft_send_command: error: "+status+" ("+error_code+")"; console.log(error_message); alert(error_message); console.log(response); } }, nonce: updraftplus_settings_nonce}); }); $('#updraftplus-settings-export').on('click', function() { if (updraft_settings_form_changed) { alert(updraftlion.unsaved_settings_export); } export_settings(); }); $('#updraftplus-settings-import').on('click', function() { $.blockUI({ css: { width: '300px', border: 'none', 'border-radius': '10px', left: 'calc(50% - 150px)', padding: '20px', }, message: '

    '+updraftlion.importing+'
    ' }); var updraft_import_file_input = document.getElementById('import_settings'); if (updraft_import_file_input.files.length == 0) { alert(updraftlion.import_select_file); $.unblockUI(); return; } var updraft_import_file_file = updraft_import_file_input.files[0]; var updraft_import_file_reader = new FileReader(); updraft_import_file_reader.onload = function() { import_settings(this.result); }; updraft_import_file_reader.readAsText(updraft_import_file_file); }); function export_settings() { var form_data = gather_updraft_settings('object'); var date_now = new Date(); // The 'version' attribute indicates the last time the format changed - i.e. do not update this unless there is a format change form_data = JSON.stringify({ version: '1.12.40', epoch_date: date_now.getTime(), local_date: date_now.toLocaleString(), network_site_url: updraftlion.network_site_url, data: form_data }); // Attach this data to an anchor on page var link = document.body.appendChild(document.createElement('a')); link.setAttribute('download', updraftlion.export_settings_file_name); link.setAttribute('style', "display:none;"); link.setAttribute('href', 'data:text/json' + ';charset=UTF-8,' + encodeURIComponent(form_data)); link.click(); } function import_settings(updraft_file_result) { var parsed; try { parsed = ud_parse_json(updraft_file_result); } catch (e) { $.unblockUI(); jQuery('#import_settings').val(''); console.log(updraft_file_result); console.log(e); alert(updraftlion.import_invalid_json_file); return; } if (window.confirm(updraftlion.importing_data_from + ' ' + parsed['network_site_url'] + "\n" + updraftlion.exported_on + ' ' + parsed['local_date'] + "\n" + updraftlion.continue_import)) { // GET the settings back to the AJAX handler var stringified = JSON.stringify(parsed['data']); updraft_send_command('importsettings', { settings: stringified, updraftplus_version: updraftlion.updraftplus_version, }, function(decoded_response, status, response) { var resp = updraft_handle_page_updates(decoded_response); if (!resp.hasOwnProperty('saved') || resp.saved) { // Prevent the user being told they have unsaved settings updraft_settings_form_changed = false; // Add page updates etc based on response location.replace(updraftlion.updraft_settings_url); } else { $.unblockUI(); if (resp.hasOwnProperty('error_message') && resp.error_message) { alert(resp.error_message); } } }, { action: 'updraft_importsettings', nonce: updraftplus_settings_nonce, error_callback: function(response, status, error_code, resp) { $.unblockUI(); if (typeof resp !== 'undefined' && resp.hasOwnProperty('fatal_error')) { console.error(resp.fatal_error_message); alert(resp.fatal_error_message); } else { var error_message = "updraft_send_command: error: "+status+" ("+error_code+")"; console.log(error_message); console.log(response); alert(error_message); } } }); } else { $.unblockUI(); } } /** * Retrieve the current settings from the DOM * * @param {string} output_format - the output format; valid values are 'string' or 'object' * * @returns String|Object */ function gather_updraft_settings(output_format) { var form_data = ''; var output_format = ('undefined' === typeof output_format) ? 'string' : output_format; if ('object' == output_format) { // Excluding the unnecessary 'action' input avoids triggering a very mis-conceived mod_security rule seen on one user's site form_data = $("#updraft-navtab-settings-content form input[name!='action'][name!='option_page'][name!='_wpnonce'][name!='_wp_http_referer'], #updraft-navtab-settings-content form textarea, #updraft-navtab-settings-content form select, #updraft-navtab-settings-content form input[type=checkbox]").serializeJSON({checkboxUncheckedValue: '0', useIntKeysAsArrayIndex: true}); } else { // Excluding the unnecessary 'action' input avoids triggering a very mis-conceived mod_security rule seen on one user's site form_data = $("#updraft-navtab-settings-content form input[name!='action'], #updraft-navtab-settings-content form textarea, #updraft-navtab-settings-content form select").serialize(); // include unchecked checkboxes. user filter to only include unchecked boxes. $.each($('#updraft-navtab-settings-content form input[type=checkbox]') .filter(function(idx) { return $(this).prop('checked') == false }), function(idx, el) { // attach matched element names to the form_data with chosen value. var empty_val = '0'; form_data += '&' + $(el).attr('name') + '=' + empty_val; } ); } return form_data; } /** * Method to parse the response from the backend and update the page with the returned content or display error messages if failed * * @param {array} resp - the JSON-decoded response containing information to update the settings page with * @param {string} response - the JSON-encoded response containing information to update the settings page with * * @return {object} - the decoded response (empty if decoding was not successful) */ function updraft_handle_page_updates(resp, response) { try { var messages = resp.messages; // var debug = resp.changed.updraft_debug_mode; // If backup dir is not writable, change the text, and grey out the 'Backup Now' button var backup_dir_writable = resp.backup_dir.writable; var backup_dir_message = resp.backup_dir.message; var backup_button_title = resp.backup_dir.button_title; } catch (e) { console.log(e); console.log(response); alert(updraftlion.jsonnotunderstood); $.unblockUI(); return {}; } if (resp.hasOwnProperty('changed')) { console.log("UpdraftPlus: savesettings: some values were changed after being filtered"); console.log(resp.changed); for (prop in resp.changed) { if ('object' === typeof resp.changed[prop]) { for (innerprop in resp.changed[prop]) { if (!$("[name='"+innerprop+"']").is(':checkbox')) { $("[name='"+prop+"["+innerprop+"]']").val(resp.changed[prop][innerprop]); } } } else { if (!$("[name='"+prop+"']").is(':checkbox')) { $("[name='"+prop+"']").val(resp.changed[prop]); } } } } $('#updraft_writable_mess').html(backup_dir_message); if (false == backup_dir_writable) { $('#updraft-backupnow-button').attr('disabled', 'disabled'); $('#updraft-backupnow-button').attr('title', backup_button_title); $('.backupdirrow').css('display', 'table-row'); } else { $('#updraft-backupnow-button').prop('disabled', false); $('#updraft-backupnow-button').removeAttr('title'); // $('.backupdirrow').hide(); } if (resp.hasOwnProperty('updraft_include_more_path')) { $('#backupnow_includefiles_moreoptions').html(resp.updraft_include_more_path); } if (resp.hasOwnProperty('backup_now_message')) { $('#backupnow_remote_container').html(resp.backup_now_message); } // Move from 2 to 1 $('.updraftmessage').remove(); $('#updraft_backup_started').before(resp.messages); updraft_setup_remote_storage_config_link(); console.log(resp); // $('#updraft-next-backup-inner').html(resp.scheduled); $('#updraft-next-files-backup-inner').html(resp.files_scheduled); $('#updraft-next-database-backup-inner').html(resp.database_scheduled); return resp; } /** * This function has the workings for checking if any cloud storage needs authentication * If so, these are amended to the HTML and the popup is shown to the users. */ function check_cloud_authentication(){ var show_auth_modal = false; jQuery('#updraft-authenticate-modal-innards').html(''); jQuery("div[class*=updraft_authenticate_] a.updraft_authlink").each(function () { var pretext = jQuery(this).data('pretext'); if ('undefined' === typeof pretext) pretext = ''; jQuery("#updraft-authenticate-modal-innards").append(pretext+'

    '+jQuery(this).html()+'

    '); show_auth_modal = true; }); if (show_auth_modal) { var updraft_authenticate_modal_buttons = {}; updraft_authenticate_modal_buttons[updraftlion.cancel] = function() { jQuery(this).dialog("close"); }; jQuery('#updraft-authenticate-modal').dialog({autoOpen: true, modal: true, resizable: false, draggable: false, resizeOnWindowResize: true, scrollWithViewport: true, resizeAccordingToViewport: true, useContentSize: false, open: function(event, ui) { $(this).dialog('option', 'width', 860); $(this).dialog('option', 'height', 260); }, buttons: updraft_authenticate_modal_buttons}).dialog('open'); } } $('.udp-replace-with-iframe--js').on('click', function(e) { e.preventDefault(); var url = $(this).prop('href'); var iframe = $(''),jQuery("#updraft-iframe-modal").dialog({title:e,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,useContentSize:!1,open:function(t,e){jQuery(this).dialog("option","width",780),jQuery(this).dialog("option","minHeight",260),500r?jQuery(this).dialog("option","height",r):jQuery(this).dialog("option","height",jQuery(window).height()-30)}}).dialog("open")}function updraftplus_diskspace(){jQuery("#updraft-navtab-backups-content .updraft_diskspaceused").html(""+updraftlion.calculating+""),updraft_send_command("get_fragment",{fragment:"disk_usage",data:"updraft"},function(t){jQuery("#updraft-navtab-backups-content .updraft_diskspaceused").html(t.output)},{type:"GET"})}"undefined"!=typeof updraft_siteurl&&setInterval(function(){jQuery.get(updraft_siteurl+"/wp-cron.php")},21e4);lastlog_lastmessage="";function updraftplus_deletefromserver(t,e,a){updraft_send_command("updraft_download_backup",{stage:"delete",timestamp:t,type:e,findex:a=a||0},null,{action:"updraft_download_backup",nonce:updraft_download_nonce,nonce_key:"_wpnonce"})}function updraftplus_downloadstage2(t,e,a){location.href=ajaxurl+"?_wpnonce="+updraft_download_nonce+"×tamp="+t+"&type="+e+"&stage=2&findex="+a+"&action=updraft_download_backup"}function updraftplus_show_contents(t,e,a){updraft_html_modal('

    '+updraftlion.zip_file_contents_info+' -

    '+updraftlion.browse_download_link+'
    ',updraftlion.zip_file_contents,780,500),zip_files_jstree("zipbrowser",t,e,a)}function zip_files_jstree(a,r,n,o){jQuery("#updraft_zip_files_jstree").jstree({core:{multiple:!1,data:function(t,e){updraft_send_command("get_jstree_directory_nodes",{entity:a,node:t,timestamp:r,type:n,findex:o},function(t){t.hasOwnProperty("error")?alert(t.error):e.call(this,t.nodes)},{error_callback:function(t,e,a,r){void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),jQuery("#updraft_zip_files_jstree").html('

    '+r.fatal_error_message+"

    "),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",jQuery("#updraft_zip_files_jstree").html('

    '+r+"

    "),console.log(r),alert(r),console.log(t))}})},error:function(t){alert(t),console.log(t)}},search:{show_only_matches:!0},plugins:["search","sort"]}),jQuery("#updraft_zip_files_jstree").on("ready.jstree",function(t,e){jQuery("#updraft-iframe-modal").dialog("option","title",updraftlion.zip_file_contents+": "+e.instance.get_node("#").children[0])});var t=!1;jQuery("#zip_files_jstree_search").on("keyup",function(){t&&clearTimeout(t),t=setTimeout(function(){var t=jQuery("#zip_files_jstree_search").val();jQuery("#updraft_zip_files_jstree").jstree(!0).search(t)},250)}),jQuery("#updraft_zip_files_jstree").on("changed.jstree",function(t,e){jQuery("#updraft_zip_path_text").text(e.node.li_attr.path),e.node.li_attr.size?(jQuery("#updraft_zip_size_text").text(e.node.li_attr.size),jQuery("#updraft_zip_download_item").show()):(jQuery("#updraft_zip_size_text").text(""),jQuery("#updraft_zip_download_item").hide())}),jQuery("#updraft_zip_download_item").on("click",function(t){t.preventDefault(),updraft_send_command("get_zipfile_download",{path:jQuery("#updraft_zip_path_text").text(),timestamp:r,type:n,findex:o},function(t){t.hasOwnProperty("error")?alert(t.error):t.hasOwnProperty("path")?location.href=ajaxurl+"?_wpnonce="+updraft_download_nonce+"×tamp="+r+"&type="+n+"&stage=2&findex="+o+"&filepath="+t.path+"&action=updraft_download_backup":alert(updraftlion.download_timeout)},{error_callback:function(t,e,a,r){void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),alert(r),console.log(t))}})})}function remove_updraft_downloader(t,e){jQuery(t).closest(".updraftplus_downloader").fadeOut().remove(),0==jQuery(".updraftplus_downloader_container_"+e+" .updraftplus_downloader").length&&jQuery(".updraftplus_downloader_container_"+e).remove()}function updraft_downloader(t,e,a,r,n,o,d){"string"!=typeof n&&(n=n.toString()),jQuery(".ud_downloadstatus").show();var n=n.split(","),o=o||e,u=jQuery("#updraft-navtab-backups-content .uddownloadform_"+a+"_"+e+"_"+n[0]).data("wp_nonce").toString();jQuery(".updraftplus_downloader_container_"+a).length||(jQuery(r).append('
    '),jQuery(".updraftplus_downloader_container_"+a).append(''+updraftlion.download+" "+a+" ("+o+"):"));for(var s=0;s'+a+l+':
    '+updraftlion.begunlooking+'
    '),jQuery(p).data("downloaderfor",{base:t,nonce:e,what:a,index:n[s]}),setTimeout(function(){updraft_activejobs_update(!0)},1500)),jQuery(p).data("lasttimebegan",(new Date).getTime())}return updraft_send_command("updraft_download_backup",{type:a,timestamp:e,findex:n},null,{action:"updraft_download_backup",nonce_key:"_wpnonce",nonce:u,timeout:1e4,async:d=!!d}),!1}function ud_parse_json(e,a){if(!(a=void 0!==a))try{return JSON.parse(e)}catch(t){console.log("UpdraftPlus: Exception when trying to parse JSON (1) - will attempt to fix/re-parse based upon first/last curly brackets"),console.log(e)}var r=e.indexOf("{"),n=e.lastIndexOf("}");if(-1 '+updraftlion.preparing_backup_files),updraft_send_command("restore_alldownloaded",{timestamp:jQuery("#updraft_restore_timestamp").val(),restoreopts:jQuery("#updraft_restore_form").serialize()},function(e,t,a){var r=null;jQuery("#updraft_restorer_restore_options").val(""),jQuery(".updraft-restore--next-step").prop("disabled",!1);try{if(null==e)jQuery("#updraft-restore-modal-stage2a").html(updraftlion.emptyresponse);else{var n=e.m;if(""!=e.w&&(n=n+'

    '+updraftlion.warnings+"

    "+e.w+"
    "),""!=e.e?n=n+'

    '+updraftlion.errors+"

    "+e.e+"
    ":updraft_restore_stage=3,e.hasOwnProperty("i")){try{(r=ud_parse_json(e.i)).hasOwnProperty("addui")&&(console.log("Further UI options are being displayed"),n+='
    '+r.addui+"
    ","object"==typeof JSON)&&"function"==typeof JSON.stringify&&(delete r.addui,e.i=JSON.stringify(r)),r.hasOwnProperty("php_max_input_vars")&&(php_max_input_vars=parseInt(r.php_max_input_vars)),r.hasOwnProperty("skipped_db_scan")&&(skipped_db_scan=parseInt(r.skipped_db_scan))}catch(t){console.log(t),console.log(e)}jQuery("#updraft_restorer_backup_info").val(e.i)}else jQuery("#updraft_restorer_backup_info").val();jQuery("#updraft-restore-modal-stage2a").html(n),jQuery(".updraft-restore--next-step").text(updraftlion.restore),0'+r.fatal_error_message+"

    "),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",jQuery("#updraft-restore-modal-stage2a").html('

    '+r+"

    "),console.log(r),alert(r),console.log(t))}}))}function updraft_downloader_status(t,e,a,r){}function updraft_downloader_status_update(t,n){var o=0;return jQuery(t).each(function(t,e){var a,r;""!=e.base&&(a="."+(e.base+e.timestamp+"_"+e.what+"_"+e.findex),null!=e.e?(jQuery(a+" .raw").html(""+updraftlion.error+" "+e.e),console.log(e)):null!=e.p?(jQuery(a+"_st .dlfileprogress").width(e.p+"%"),null!=e.a&&0"+updraftlion.downloadtocomputer+' \t\t\t\t",e.hasOwnProperty("can_show_contents")&&e.can_show_contents&&(r+=' "),jQuery(a+" .raw").html(r),jQuery(a+"_st").remove()))):null!=e.m?jQuery(a+" .raw").html(e.m):(jQuery(a+" .raw").html(updraftlion.jsonnotunderstood+" ("+n+")"),o=1))}),o}function convert_numeric_size_to_text(t){return t<1024?t+" b":t<1048576?(t/1024).toFixed(2)+" KB":t<1073741824?(t/1048576).toFixed(2)+" MB":(t/1073741824).toFixed(2)+" GB"}function updraft_backupnow_go(t,e,a,r,n,o,d,u){var s,t={backupnow_nodb:t,backupnow_nofiles:e,backupnow_nocloud:a,backupnow_label:o,extradata:n};""!=r&&(t.onlythisfileentity=r),""!=d&&(t.onlythesetableentities=d),""!=u&&(t.only_these_cloud_services=u),t.always_keep=void 0!==n.always_keep?n.always_keep:0,delete n.always_keep,t.incremental=void 0!==n.incremental?n.incremental:0,delete n.incremental,t.db_anon_all=void 0!==n.db_anon&&void 0!==n.db_anon.all?n.db_anon.all:0,t.db_anon_non_staff=void 0!==n.db_anon&&void 0!==n.db_anon.non_staff?n.db_anon.non_staff:0,t.db_anon_wc_orders=void 0!==n.db_anon&&void 0!==n.db_anon.wc_orders?n.db_anon.wc_orders:0,void 0!==n.db_anon&&(delete n.db_anon.all,delete n.db_anon.non_staff,delete n.db_anon.wc_orders),jQuery(".updraft_requeststart").length||((s=jQuery('
    ').html(''+updraftlion.requeststart)).data("remove",!1),setTimeout(function(){s.data("remove",!0)},3e3),setTimeout(function(){s.remove()},75e3),jQuery("#updraft_activejobsrow").before(s)),updraft_activejobslist_backupnownonce_only=1,updraft_send_command("backupnow",t,function(t){t.hasOwnProperty("error")?(jQuery(".updraft_requeststart").remove(),alert(t.error)):(jQuery("#updraft_backup_started").html(t.m),t.hasOwnProperty("nonce")&&(updraft_backupnow_nonce=t.nonce,console.log("UpdraftPlus: ID of started job: "+updraft_backupnow_nonce)),setTimeout(function(){updraft_activejobs_update(!0)},500))})}function updraft_process_status_check(t,e,a){if(t.hasOwnProperty("fatal_error"))console.error(t.fatal_error_message),!0===updraftplus_activejobs_list_fatal_error_alert&&(updraftplus_activejobs_list_fatal_error_alert=!1,alert(this.alert_done+" "+t.fatal_error_message));else try{t.hasOwnProperty("l")&&(t.l?(jQuery("#updraft_lastlogmessagerow").show(),jQuery("#updraft_lastlogcontainer").html(t.l)):(jQuery("#updraft_lastlogmessagerow").hide(),jQuery("#updraft_lastlogcontainer").html("("+updraftlion.nothing_yet_logged+")"))),updraftlion.hasOwnProperty("hosting_restriction")&&updraftlion.hosting_restriction instanceof Array&&(updraftlion.hosting_restriction.length=0,t.hasOwnProperty("hosting_restriction"))&&(t.hosting_restriction&&t.hosting_restriction.includes("only_one_backup_per_month")&&updraftlion.hosting_restriction.push("only_one_backup_per_month"),t.hosting_restriction)&&t.hosting_restriction.includes("only_one_incremental_per_day")&&updraftlion.hosting_restriction.push("only_one_incremental_per_day"),jQuery("#updraft-wrap #updraft-navtab-settings-content").is(":hidden")||t.hasOwnProperty("automatic_updates")&&jQuery('input[name="updraft_auto_updates"]').prop("checked",t.automatic_updates);var r,n,o=-1,d=jQuery(".updraft_requeststart"),u=(t.j&&d.length&&d.data("remove")&&d.remove(),jQuery(t.j)),s=(u.find(".updraft_jobtimings").each(function(t,e){var a,e=jQuery(e);e.data("jobid")&&(a=e.data("jobid"),e=e.closest(".updraft_row"),updraft_aborted_jobs[a])&&e.hide()}),jQuery("#updraft_activejobsrow").html(u),u.find('.job-id[data-isclone="1"]'));0updraft_last_forced_when+1e5&&(updraft_last_forced_jobid!=a||e!=updraft_last_forced_resumption)&&(updraft_last_forced_resumption=e,updraft_last_forced_jobid=a,updraft_last_forced_when=timenow,console.log("UpdraftPlus: force resumption: job_id="+a+", resumption="+e),updraft_send_command("forcescheduledresumption",{resumption:e,job_id:a},function(t){console.log(t)},{json_parse:!1,alert_on_error:!1}))}),timenow=(new Date).getTime(),updraft_activejobs_nextupdate=timenow+18e4,1==updraft_page_is_visible&&"backups"==updraft_console_focussed_tab&&(updraft_activejobs_nextupdate=-1b1.text?1:-1:a1.icon"+updraftlion.error+" "+updraftlion.servererrorcode)):0<=a.url.search("subaction=restore_alldownloaded")&&jQuery("#updraft-restore-modal-stage2a").append("
    "+updraftlion.error+" "+updraftlion.servererrorcode+": "+r))}),jQuery(function(h){var e;h(document).on("udp/checkout/done",function(t,e){e.hasOwnProperty("product")&&"updraftpremium"===e.product&&"complete"===e.status&&(h(".premium-upgrade-purchase-success").show(),h(".updraft_feat_table").closest("section").hide(),h(".updraft_premium_cta__action").hide())}),h(".expertmode .advanced_settings_container .advanced_tools_button").on("click",function(){var t;t=h(this).attr("id"),h('.expertmode .advanced_settings_container .advanced_tools:not(".'+t+'")').hide(),h(".expertmode .advanced_settings_container .advanced_tools."+t).fadeIn("slow"),h(".expertmode .advanced_settings_container .advanced_tools_button:not(#"+t+")").removeClass("active"),h(".expertmode .advanced_settings_container .advanced_tools_button#"+t).addClass("active")}),jQuery.ui&&jQuery.ui.dialog&&jQuery.ui.dialog.prototype._allowInteraction&&(e=jQuery.ui.dialog.prototype._allowInteraction,jQuery.ui.dialog.prototype._allowInteraction=function(t){return!!jQuery(t.target).closest(".select2-dropdown").length||e.apply(this,arguments)}),h("#updraft-navtab-settings-content #remote-storage-holder").on("change keyup paste",".updraft_webdav_settings",function(){var t,e,a,r,n,o,d,u=h(this).attr("id");"string"==typeof u&&(u=u.match(/updraft_webdav_(.+)_(s-[^_]+)$/i))&&u[1]&&u[2]&&(t=u[2],e="","host"===(u=u[1].toLowerCase())?(h(".webdav-"+t+" .updraft_webdav_host_error").hide(),0<=h(this).val().indexOf("@")?h(this).val(h(this).val().replaceAll("@",encodeURIComponent("@"))):0<=h(this).val().indexOf("/")&&(h(this).val(h(this).val().replaceAll("/","")),h(".webdav-"+t+" .updraft_webdav_host_error").show())):"path"===u&&0==h(this).val().indexOf("/")&&h(this).val(h(this).val().replace(/^[\/]+/,"")),u=h("#updraft_webdav_webdav_"+t).val(),a=h("#updraft_webdav_host_"+t).val()||"",r=h("#updraft_webdav_user_"+t).val()||"",n=h("#updraft_webdav_pass_"+t).val()||"",o=h("#updraft_webdav_port_"+t).val()||"",d=h("#updraft_webdav_path_"+t).val()||"",n&&(e=n.replace(/./gi,"*")),r&&n&&(r+=":"),(r||n)&&a&&(e+="@",n+="@"),a&&o&&(a+=":"),d=d&&"/"+d,h("#updraft_webdav_url_"+t).val(u+r+n+a+o+d),h("#updraft_webdav_masked_url_"+t).val(u+r+e+a+o+d))}),h("div.ud-phpseclib-notice").on("click","button.notice-dismiss",function(t){t.stopImmediatePropagation(),updraft_send_command("dismiss_phpseclib_notice",null,function(t,e,a){t.hasOwnProperty("success")&&1===t.success||(console.log(t),alert(updraftlion.unexpectedresponse+" "+a))})}),h("#updraft-navtab-backups-content").on("click",".js--delete-selected-backups",function(t){t.preventDefault(),updraft_deleteallselected()}),h("#updraft-navtab-backups-content").on("click",".updraft_existing_backups .backup-select input",function(t){updraft_backups_selection.toggle(h(this).closest(".updraft_existing_backups_row"))}),h("#updraft-navtab-backups-content").on("click","#cb-select-all",function(t){h(this).is(":checked")?updraft_backups_selection.selectAll():updraft_backups_selection.deselectAll()}),h("#updraft-wrap").on("click","[id^=updraftplus_manual_authorisation_submit_]",function(t){t.preventDefault();var e,t=h(this).data("method"),a=h("#updraftplus_manual_authentication_data_"+t).val();h("#updraftplus_manual_authentication_error_"+t).text(),h("#updraft-wrap #updraftplus_manual_authorisation_template_"+t+" .updraftplus_spinner.spinner").addClass("visible"),h("#updraftplus_manual_authorisation_submit_"+t).prop("disabled",!0),updraft_send_command("manual_remote_storage_authentication",{method:e=t,auth_data:a},function(t){h("#updraft-wrap #updraftplus_manual_authorisation_template_"+e+" .updraftplus_spinner.spinner").removeClass("visible"),t.hasOwnProperty("result")&&"success"===t.result?(h("#updraft-wrap .updraftplus-top-menu").before(t.data),h("#updraft-wrap #updraftplus_manual_authorisation_template_"+e).parent().remove(),h("#updraft-wrap .updraft_authenticate_"+e).remove()):t.hasOwnProperty("result")&&"error"===t.result&&(h("#updraftplus_manual_authentication_error_"+e).text(t.data),h("#updraftplus_manual_authorisation_submit_"+e).prop("disabled",!1))})}),h("#updraft-navtab-backups-content").on("click",".js--select-all-backups",function(t){updraft_backups_selection.selectAll()}),h("#updraft-navtab-backups-content").on("click",".js--deselect-all-backups",function(t){updraft_backups_selection.deselectAll()}),h("#updraft-navtab-backups-content").on("click",".updraft_existing_backups .updraft_existing_backups_row",function(t){(t.ctrlKey||t.metaKey)&&(t.shiftKey?(void 0===updraft_backups_selection.firstMultipleSelectionIndex?(h(document).on("keyup.MultipleSelection",function(t){updraft_backups_selection.unregister_highlight_mode(),h(document).off(".MultipleSelection")}),updraft_backups_selection.select(this),h(this).addClass("range-selection-start"),updraft_backups_selection.register_highlight_mode()):(updraft_backups_selection.selectAllInBetween(this),jQuery("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").removeClass("range-selection")),updraft_backups_selection.firstMultipleSelectionIndex=this.rowIndex-1):updraft_backups_selection.toggle(this))}),updraft_backups_selection.checkSelectionStatus(),h("#updraft-navtab-addons-content .wrap").on("click",".updraftplus_com_login .ud_connectsubmit",function(t){t.preventDefault();var t=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_email").val(),e=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_password").val(),a=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_updates").is(":checked")?1:0,r=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_udc_connect").is(":checked")?1:0;n.submit({email:t,password:e,auto_update:a,auto_udc_connect:r})}),h("#updraft-navtab-addons-content .wrap").on("keydown",".updraftplus_com_login input",function(t){var e,a,r;13==t.which&&(t.preventDefault(),t=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_email").val(),e=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_password").val(),a=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_updates").is(":checked")?1:0,r=h("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_udc_connect").is(":checked")?1:0,n.submit({email:t,password:e,auto_update:a,auto_udc_connect:r}))}),h("#updraft-navtab-migrate-content").on("click",".updraftclone_show_step_1",function(t){h(".updraftplus-clone").addClass("opened"),h(".updraftclone_show_step_1").hide(),h(".updraft_migrate_widget_temporary_clone_stage1").show(),h(".updraft_migrate_widget_temporary_clone_stage0").hide()}),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_temporary_clone_show_stage0",function(t){t.preventDefault(),h(".updraft_migrate_widget_temporary_clone_stage0").toggle()}),setup_migrate_tabs(),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .close",function(t){h(".updraft_migrate_intro").show(),h(this).closest(".updraft_migrate_widget_module_content").hide()}),h("#updraft-navtab-migrate-content").on("click","#updraft_migrate_tab_alt .close",function(t){t.preventDefault(),h(".updraft_migrate_intro").show(),h("#updraft_migrate_tab_alt").html("").hide()}),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_add_site--trigger",function(t){t.preventDefault(),h(".updraft_migrate_add_site").toggle()}),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .updraftplus_com_login .ud_connectsubmit",function(t){t.preventDefault();var t=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_email").val(),e=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_password").val(),a=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val(),r=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .temporary_clone_terms_and_conditions").is(":checked")?1:0;t&&e?o({form_data:{email:t,password:e,two_factor_code:a,consent:r}}):h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html(""+updraftlion.error+" "+updraftlion.username_password_required).show()}),h("#updraft-navtab-migrate-content").on("keydown",".updraft_migrate_widget_module_content .updraftplus_com_login input",function(t){var e,a,r;13==t.which&&(t.preventDefault(),t=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_email").val(),e=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_password").val(),a=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val(),r=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .temporary_clone_terms_and_conditions").is(":checked")?1:0,t&&e?o({form_data:{email:t,password:e,two_factor_code:a,consent:r}}):h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html(""+updraftlion.error+" "+updraftlion.username_password_required).show())}),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .updraftplus_com_key .ud_key_connectsubmit",function(t){t.preventDefault();var t=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key #temporary_clone_options_key").val(),e=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .temporary_clone_terms_and_conditions").is(":checked")?1:0;t?a({form_data:{clone_key:t,consent:e}}):h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html(""+updraftlion.error+" "+updraftlion.clone_key_required).show()}),h("#updraft-navtab-migrate-content").on("keydown",".updraft_migrate_widget_module_content .updraftplus_com_key input",function(t){var e;13==t.which&&(t.preventDefault(),t=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key #temporary_clone_options_key").val(),e=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .temporary_clone_terms_and_conditions").is(":checked")?1:0,t?a({form_data:{clone_key:t,consent:e}}):h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html(""+updraftlion.error+" "+updraftlion.clone_key_required).show())}),h("#updraft-navtab-migrate-content").on("change",".updraft_migrate_widget_module_content #updraftplus_clone_php_options",function(){var t=h(this).data("php_version");h(this).val() option").each(function(){var t=h(this).val();"starter"==t&&h('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+t+'"]').prop("selected",!0),h('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+t+'"]').prop("disabled",!1)});var a,t=h(this).find("option:selected");"current"!=h(t).data("nonce")&&"wp_only"!=h(t).data("nonce")&&(a=h(t).data("size"),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options > option").each(function(){var t=h(this).data("size"),e=h(this).val();if(!(t<=a))return h('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+e+'"]').prop("selected",!0),!1;h('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+e+'"]').prop("disabled",!0)}))}),h("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content #updraft_migrate_createclone",function(t){t.preventDefault(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!0),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(""),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").addClass("visible");var t=h(this).data("clone_id"),e=h(this).data("secret_token"),a=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_php_options").val(),r=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_wp_options").val(),n=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_region_options").val(),o=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options").val(),d=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftclone_branch").val(),u=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftplus_branch").val(),s=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_admin_login_options").is(":checked"),i=h("#updraftplus_clone_use_queue").is(":checked")?1:0,p=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backupnow_db_anon_all").is(":checked")?1:0,l=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backupnow_db_anon_non_staff").is(":checked")?1:0,_=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backupnow_db_anon_wc_order_data").is(":checked")?1:0,c="current",f="current",g=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options").length,m=h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options").find("option:selected"),g=(0!==g&&void 0!==m&&(c=m.data("nonce"),f=m.data("timestamp")),{form_data:{clone_id:t,secret_token:e,install_info:{php_version:a,wp_version:r,region:n,package:o,admin_only:s,updraftclone_branch:void 0===d?"":d,updraftplus_branch:void 0===u?"":u,use_queue:void 0===i?1:i}}}),m={db_anon_all:p,db_anon_non_staff:l,db_anon_wc_orders:_,clone_region:n};"wp_only"===c&&(g.form_data.install_info.wp_only=1),function t(r,n,o,d){var u="";"current"!=n&&updraft_send_command("whichdownloadsneeded",{updraftplus_clone:!0,timestamp:n},function(t){if(t.hasOwnProperty("downloads")&&(console.log("UpdraftPlus: items which still require downloading follow"),u=t.downloads,console.log(u)),0!=u.length)for(var e=0;e'+r.fatal_error_message+"

    ")):(r="updraft_send_command: error: "+e+" ("+a+")",h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html('

    '+r+"

    "),console.log(r),console.log(t))}});setTimeout(function(){var e,a;0!=u.length?t(r,n,o,d):(e=r.form_data.clone_id,a=r.form_data.secret_token,updraft_send_command("process_updraftplus_clone_create",r,function(t){try{h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!1),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").removeClass("visible"),t.hasOwnProperty("status")&&"error"==t.status?h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.error+" "+t.message).show():"success"===t.status&&(h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3").html(t.html),temporary_clone_timeout&&clearTimeout(temporary_clone_timeout),t.hasOwnProperty("secret_token")&&(a=t.secret_token),"wp_only"===o?(jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").addClass("visible"),y(e,a)):(jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").addClass("visible"),b(e,a,t.url,t.key,o,n,d)))}catch(t){h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!1),console.log("Error when processing the response of process_updraftplus_clone_create (as follows)"),console.log(t)}}))},5e3)}(g,f,c,m)});var n={};function o(t){h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html("").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .updraftplus_spinner.spinner").addClass("visible"),updraft_send_command("process_updraftplus_clone_login",t,function(t){try{h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .updraftplus_spinner.spinner").removeClass("visible"),t.hasOwnProperty("status")&&"error"==t.status?(h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html(t.message).show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val("")):(t.hasOwnProperty("tfa_enabled")&&1==t.tfa_enabled&&(h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 input#temporary_clone_options_two_factor_code").trigger("focus")),"authenticated"===t.status&&(h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 input#temporary_clone_options_two_factor_code").val(""),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(t.html),t.hasOwnProperty("clone_info"))&&t.clone_info.hasOwnProperty("expires_after")&&r(t.clone_info.expires_after))}catch(t){console.log(t)}})}function a(t){h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html("").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .updraftplus_spinner.spinner").addClass("visible"),updraft_send_command("process_updraftplus_clone_login",t,function(t){try{h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .updraftplus_spinner.spinner").removeClass("visible"),t.hasOwnProperty("status")&&"error"==t.status?h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html(t.message).show():"authenticated"===t.status&&(h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").show(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(t.html),t.hasOwnProperty("clone_info"))&&t.clone_info.hasOwnProperty("expires_after")&&r(t.clone_info.expires_after)}catch(t){console.log(t)}})}function r(t){temporary_clone_timeout=setTimeout(function(){h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").hide(),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(""),h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").show()},1e3*t)}function b(t,e,a,r,n,o,d){t={updraftplus_clone_backup:1,backupnow_nodb:0,backupnow_nofiles:0,backupnow_nocloud:0,backupnow_label:"UpdraftClone",extradata:"",onlythisfileentity:"plugins,themes,uploads,others",clone_id:t,secret_token:e,clone_url:a,key:r,backup_nonce:n,backup_timestamp:o,db_anon_all:d.db_anon_all,db_anon_non_staff:d.db_anon_non_staff,db_anon_wc_orders:d.db_anon_wc_orders,clone_region:d.clone_region};updraft_activejobslist_backupnownonce_only=1,updraft_send_command("backupnow",t,function(t){jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").removeClass("visible"),jQuery("#updraft_backup_started").html(t.m),t.hasOwnProperty("nonce")&&(updraft_backupnow_nonce=t.nonce,updraft_clone_jobs.push(updraft_backupnow_nonce),updraft_inpage_success_callback=function(){jQuery("#updraft_clone_activejobsrow").hide(),updraft_aborted_jobs[updraft_backupnow_nonce]?jQuery("#updraft_clone_progress").html(updraftlion.clone_backup_aborted):jQuery("#updraft_clone_progress").html(updraftlion.clone_backup_complete)},console.log("UpdraftPlus: ID of started job: "+updraft_backupnow_nonce)),updraft_activejobs_update(!0)})}function y(e,a){var t={clone_id:e,secret_token:a};setTimeout(function(){updraft_send_command("process_updraftplus_clone_poll",t,function(t){if(t.hasOwnProperty("status")){if("error"==t.status)return void h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.error+" "+t.message).show();if("success"===t.status&&t.hasOwnProperty("data")&&t.data.hasOwnProperty("wordpress_credentials"))return h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").removeClass("visible"),void h("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_clone_progress").append("
    WordPress "+updraftlion.credentials+":
    "+updraftlion.username+": "+t.data.wordpress_credentials.username+"
    "+updraftlion.password+": "+t.data.wordpress_credentials.password)}else console.log(t);y(e,a)})},6e4)}function d(t){var e=Handlebars.compile(updraftlion.remote_storage_templates[t]),a={},r=(Object.assign(a,updraftlion.remote_storage_options[t].template_properties,updraftlion.remote_storage_options[t].default),updraftlion.remote_storage_methods[t]),r=(a.instance_id="s-"+function(t){for(var e="",a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=0;r li").each(function(){jQuery(this).find("select").each(function(){jQuery(this).prop("disabled",!1)})})):(jQuery(this).parents("tr.updraftplusmethod").find("div.logic ul.rules > li").each(function(){jQuery(this).find("select").each(function(){jQuery(this).prop("disabled",!0)})}),jQuery(this).parents("tr.updraftplusmethod").find("div.logic").hide())}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("change","select[class='conditional_logic_operand']",function(){if(updraft_settings_form_changed=!0,load_save_button(),jQuery(this).parent().find("select:nth(2)").empty(),"day_of_the_week"===jQuery(this).val())for(var t=0;t').text(updraftlion.conditional_logic.day_of_the_week_options[t].value));else if("day_of_the_month"===jQuery(this).val())for(t=1;t<=31;t++)jQuery(this).parent().find("select:nth(2)").append(jQuery('').text(t))}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("click","div.conditional_remote_backup ul.rules li span",function(){updraft_settings_form_changed=!0,load_save_button();var t=jQuery(this).parents("ul.rules");jQuery(this).hasClass("remove-rule")&&jQuery(this).parent().slideUp(function(){jQuery(this).remove(),jQuery(t).find("> li").length<2&&jQuery("li:nth(0) span.remove-rule",t).remove()})}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("click","div.conditional_remote_backup input.add-new-rule",function(){var t=jQuery(this).parent().find("ul.rules");jQuery(t).find("> li").length<2&&jQuery(t).find("li:nth(0)").append(''),$cloned_item=jQuery(t).find("> li").last().clone(),jQuery($cloned_item).find("> select").each(function(){jQuery(this).prop("name",jQuery(this).prop("name").replace(/\[instance_conditional_logic\]\[rules\]\[[0-9]+\]/gi,"[instance_conditional_logic][rules]["+jQuery(t).data("rules")+"]"))}),jQuery(t).append($cloned_item),jQuery(t).data("rules",parseInt(jQuery(t).data("rules"))+1),jQuery($cloned_item).find('select[name*="[operand]"]').trigger("change")}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("click",".updraftplusmethod button.updraft-test-button",function(){var r=jQuery(this).data("method"),n=jQuery(this).data("instance_id");updraft_remote_storage_test(r,function(t,e,a){return"sftp"==r&&(a.hasOwnProperty("scp")&&a.scp?alert(updraftlion.settings_test_result.replace("%s","SCP")+" "+t.output):alert(updraftlion.settings_test_result.replace("%s","SFTP")+" "+t.output),t.hasOwnProperty("data")&&t.data&&t.data.hasOwnProperty("valid_md5_fingerprint")&&t.data.valid_md5_fingerprint&&h("#updraft_sftp_fingerprint_"+n).val(t.data.valid_md5_fingerprint),!0)},n)}),h("#updraft-navtab-settings-content select.updraft_interval, #updraft-navtab-settings-content select.updraft_interval_database").on("change",function(){updraft_check_same_times()}),h("#backupnow_includefiles_showmoreoptions").on("click",function(t){t.preventDefault(),h("#backupnow_includefiles_moreoptions").toggle()}),h("#backupnow_database_showmoreoptions").on("click",function(t){t.preventDefault(),h("#backupnow_database_moreoptions").toggle()}),h("#updraft-navtab-migrate-content").on("click","#backupnow_database_showmoreoptions",function(t){t.preventDefault(),h("#updraft-navtab-migrate-content #backupnow_database_moreoptions").toggle()}),h("#backupnow_db_anon_all").on("click",function(t){h("#backupnow_db_anon_non_staff").prop("checked")&&h("#backupnow_db_anon_non_staff").prop("checked",!1)}),h("#backupnow_db_anon_non_staff").on("click",function(t){h("#backupnow_db_anon_all").prop("checked")&&h("#backupnow_db_anon_all").prop("checked",!1)}),h("#updraft-navtab-migrate-content").on("click","#updraftplus_migration_backupnow_db_anon_all",function(){h("#updraftplus_migration_backupnow_db_anon_non_staff").prop("checked")&&h("#updraftplus_migration_backupnow_db_anon_non_staff").prop("checked",!1)}),h("#updraft-navtab-migrate-content").on("click","#updraftplus_migration_backupnow_db_anon_non_staff",function(){h("#updraftplus_migration_backupnow_db_anon_all").prop("checked")&&h("#updraftplus_migration_backupnow_db_anon_all").prop("checked",!1)}),h("#updraft-navtab-migrate-content").on("click","#updraftplus_clone_backupnow_db_anon_all",function(){h("#updraftplus_clone_backupnow_db_anon_non_staff").prop("checked")&&h("#updraftplus_clone_backupnow_db_anon_non_staff").prop("checked",!1)}),h("#updraft-navtab-migrate-content").on("click","#updraftplus_clone_backupnow_db_anon_non_staff",function(){h("#updraftplus_clone_backupnow_db_anon_all").prop("checked")&&h("#updraftplus_clone_backupnow_db_anon_all").prop("checked",!1)}),h("#updraft-backupnow-modal").on("click","#backupnow_includecloud_showmoreoptions",function(t){t.preventDefault(),h("#backupnow_includecloud_moreoptions").toggle()}),h("#updraft-navtab-backups-content").on("click","a.updraft_diskspaceused_update",function(t){t.preventDefault(),updraftplus_diskspace()}),h(".advanced_settings_content a.updraft_diskspaceused_update").on("click",function(t){t.preventDefault(),jQuery(".advanced_settings_content .updraft_diskspaceused").html(""+updraftlion.calculating+""),updraft_send_command("get_fragment",{fragment:"disk_usage",data:"updraft"},function(t){jQuery(".advanced_settings_content .updraft_diskspaceused").html(t.output)},{type:"GET"})}),h("#updraft-navtab-backups-content a.updraft_uploader_toggle").on("click",function(t){t.preventDefault(),h("#updraft-plupload-modal").slideToggle()}),h("#updraft-navtab-backups-content a.updraft_rescan_local").on("click",function(t){t.preventDefault(),updraft_updatehistory(1,0)}),h("#updraft-navtab-backups-content a.updraft_rescan_remote").on("click",function(t){t.preventDefault(),confirm(updraftlion.remote_scan_warning)&&updraft_updatehistory(1,1)}),h("#updraftplus-remote-rescan-debug").on("click",function(t){t.preventDefault(),updraft_updatehistory(1,1,1)}),jQuery("#updraft_reset_sid").on("click",function(t){t.preventDefault(),updraft_send_command("reset_site_id",null,function(t){jQuery("#updraft_show_sid").html(t)},{json_parse:!1})}),jQuery("#updraft-navtab-settings-content").on("input","form input:not('.udignorechange'), form textarea:not('.udignorechange')",function(t){updraft_settings_form_changed=!0,load_save_button()}),jQuery("#updraft-navtab-settings-content").on("change","form select",function(t){updraft_settings_form_changed=!0,load_save_button()}),jQuery("#updraft-navtab-settings-content").on("click","form input[type='submit']",function(t){updraft_settings_form_changed=!1});var u=180,t=(jQuery(".updraft-bigbutton").each(function(t,e){e=jQuery(e).width();u'+t.count_backups+"");for(e=t.deleted_timestamps.split(","),a=0;a '+updraftlion.maybe_downloading_entities),updraft_send_command("whichdownloadsneeded",{downloads:s,timestamp:n},function(t){if(h(".updraft-restore--next-step").prop("disabled",!1),t.hasOwnProperty("downloads")&&(console.log("UpdraftPlus: items which still require downloading follow"),r=t.downloads,console.log(r)),0==r.length)updraft_restorer_checkstage2(0);else for(var e=0;e'+r.fatal_error_message+"

    ")):(r="updraft_send_command: error: "+e+" ("+a+")",h("#updraft-restore-modal-stage2a").html('

    '+r+"

    "),console.log(r),console.log(t))}})}catch(t){console.log("UpdraftPlus: error (follows) when looking for items needing downloading"),console.log(t),alert(updraftlion.jsonnotunderstood)}})});else if(2==updraft_restore_stage)updraft_restorer_checkstage2(1);else if(3==updraft_restore_stage){var l=1;if(jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!0),h("#updraft_restoreoptions_ui input.required").each(function(t){var e,a;0!=l&&(""==(e=h(this).val())?(alert(updraftlion.pleasefillinrequired),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1),l=0):""!=h(this).attr("pattern")&&(a=h(this).attr("pattern"),new RegExp(a,"g").test(e)||(alert(h(this).data("invalidpattern")),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1),l=0)))}),1!=o||(r=0,jQuery('input[name="updraft_restore_tables_options[]"').each(function(t,e){jQuery(e).is(":checked")&&!jQuery(e).is(":disabled")&&(r=1)}),0!=r)||skipped_db_scan){if(1==d&&(r=0,jQuery(".updraftplus_restore_plugins_options_container").length||(r=1),jQuery('input[name="updraft_restore_plugins_options[]"').each(function(t,e){jQuery(e).is(":checked")&&!jQuery(e).is(":disabled")&&(r=1)}),0==r))alert(updraftlion.youdidnotselectany),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1);else if(1==u&&(r=0,jQuery(".updraftplus_restore_themes_options_container").length||(r=1),jQuery('input[name="updraft_restore_themes_options[]"').each(function(t,e){jQuery(e).is(":checked")&&!jQuery(e).is(":disabled")&&(r=1)}),0==r))alert(updraftlion.youdidnotselectany),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1);else if(1==n&&(r=0,jQuery('input[name="updraft_include_more_index[]"').each(function(t,e){jQuery(e).is(":checked")&&!jQuery(e).is(":disabled")&&(r=1,""==jQuery("#updraft_include_more_path_restore"+t).val())&&alert(updraftlion.emptyrestorepath)}),0==r))alert(updraftlion.youdidnotselectany),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1);else if(l){var _=h("#updraft_restoreoptions_ui select, #updraft_restoreoptions_ui input").serialize();if(jQuery.each(["table","plugins","themes"],function(t,a){jQuery.each(jQuery('input[name="updraft_restore_'+a+"_options[]").filter(function(t){return!1===jQuery(this).prop("checked")}),function(t,e){_+="&"+jQuery(e).attr("name")+"=udp-skip-"+a+"-"+jQuery(e).val()})}),console.log("Restore options: "+_),void 0!==php_max_input_vars){var t,e=_.split("&").length,a='

    '+updraftlion.warnings+'

      ';if(!php_max_input_vars&&1e3<=e)console.log("Restore options: "+e+" PHP max input vars not detected; using default: 1000");else if(php_max_input_vars&&php_max_input_vars<=e)return t="
    • "+updraftlion.php_max_input_vars_detected_warning+"
    • ",1!=jQuery("#updraft-restore-modal-stage2a .notice-warning").length?(a=a+t+"
    ",jQuery("#updraft_restoreoptions_ui").prepend(a)):jQuery("#updraft-restore-modal-stage2a #updraft_restore_warnings").append(t),console.log("Restore options: "+e+" PHP max input vars: "+php_max_input_vars),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1),void(php_max_input_vars=void 0)}h("#updraft_restorer_restore_options").val(_),h("#updraft-restore-modal-stage2a").html(updraftlion.restore_proceeding),h("#updraft_restore_form").trigger("submit"),updraft_restore_stage=4}}else alert(updraftlion.youdidnotselectany),jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1)}}else alert(updraftlion.youdidnotselectany)}},p=h(".updraft_restore_main--activity").width(),t=(jQuery("#activity-full-log").on("click",function(){var t="1460px"==h(".updraft_restore_main").css("max-width")?"860px":"1460px",e=h(".updraft_restore_main--activity").width()==p?"100%":p+"px",a="600px"==h(".updraft_restore_main--activity").css("min-height")?"0px":"600px",r=h("#activity-full-log").attr("title")==updraftlion.restoreactivitylogscreenexit?updraftlion.restoreactivitylogfullscreen:updraftlion.restoreactivitylogscreenexit;h("#activity-full-log").toggleClass("dashicons-fullscreen-exit-alt"),h("#activity-full-log").attr("title",r),h(".updraft_restore_main--components").toggle("fast"),h(".updraft_restore_main--header").toggle("fast"),h(".updraft_restore_main--activity").animate({minHeight:a,width:e}),h(".updraft_restore_main").animate({maxWidth:t})}),jQuery("#updraft-iframe-modal").dialog({autoOpen:!1,height:500,width:780,modal:!0}),jQuery("#updraft-backupnow-inpage-modal").dialog({autoOpen:!1,modal:!0,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,useContentSize:!1,open:function(t,e){h(this).dialog("option","width",580),h(this).dialog("option","minHeight",261),h(this).dialog("option","height",380)}}),{});t[updraftlion.backupnow]=function(){var t,e,a=jQuery("#backupnow_includedb").is(":checked")?0:1,r=jQuery("#backupnow_includefiles").is(":checked")?0:1,n=jQuery("#backupnow_includecloud").is(":checked")?0:1,o=jQuery("#backupnow_db_anon_all").is(":checked")?1:0,d=jQuery("#backupnow_db_anon_non_staff").is(":checked")?1:0,u=jQuery("#backupnow_db_anon_wc_order_data").is(":checked")?1:0,s=backupnow_whichtables_checked(""),i=jQuery("#always_keep").is(":checked")?1:0,p="incremental"==jQuery("#updraft-backupnow-modal").data("backup-type")?1:0;updraftlion.hosting_restriction.includes("only_one_backup_per_month")&&!p?alert(updraftlion.hosting_restriction_one_backup_permonth):updraftlion.hosting_restriction.includes("only_one_incremental_per_day")&&p?alert(updraftlion.hosting_restriction_one_incremental_perday):""==s&&0==a?(alert(updraftlion.notableschosen),jQuery("#backupnow_database_moreoptions").show()):("boolean"==typeof s&&(s=null),""==(t=backupnow_whichfiles_checked(""))&&0==r?(alert(updraftlion.nofileschosen),jQuery("#backupnow_includefiles_moreoptions").show()):""==(e=jQuery("input[name^='updraft_include_remote_service_']").serializeArray())&&0==n?(alert(updraftlion.nocloudserviceschosen),jQuery("#backupnow_includecloud_moreoptions").show()):("boolean"==typeof e&&(e=null),a&&r?alert(updraftlion.excludedeverything):(jQuery(this).dialog("close"),setTimeout(function(){jQuery("#updraft_lastlogmessagerow").fadeOut("slow",function(){jQuery(this).fadeIn("slow")})},1700),updraft_backupnow_go(a,r,n,t,{always_keep:i,incremental:p,db_anon:{all:o,non_staff:d,wc_orders:u}},jQuery("#backupnow_label").val(),s,e))))},t[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-backupnow-modal").dialog({autoOpen:!1,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,useContentSize:!1,open:function(t,e){h(this).dialog("option","width",610),h(this).dialog("option","minHeight",300),h(this).dialog("option","height",472)},modal:!0,buttons:t,create:function(){h(this).closest(".ui-dialog").find(".ui-dialog-buttonpane .ui-button").first().addClass("js-tour-backup-now-button")}}),jQuery("#updraft-poplog").dialog({autoOpen:!1,modal:!0,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,useContentSize:!1,open:function(t,e){h(this).dialog("option","width",860),h(this).dialog("option","minHeight",260),600'+r.fatal_error_message+"

    "),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",jQuery("#updraft_zip_files_jstree").html('

    '+r+"

    "),console.log(r),alert(r),console.log(t))}})},error:function(t){alert(t),console.log(t)}},search:{show_only_matches:!0},plugins:["sort"]}):"contain-clause"==t&&jQuery("#updraft_exclude_files_folders_wildcards_jstree").jstree({core:{multiple:!1,data:function(t,e){updraft_send_command("get_jstree_directory_nodes",{entity:"filebrowser",directories_only:1,node:t,path:jQuery("#updraft_exclude_modal_path").val(),findex:0,skip_root_node:0},function(t){t.hasOwnProperty("error")?alert(t.error):e.call(this,t.nodes)},{error_callback:function(t,e,a,r){void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),jQuery("#updraft_zip_files_jstree").html('

    '+r.fatal_error_message+"

    "),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",jQuery("#updraft_zip_files_jstree").html('

    '+r+"

    "),console.log(r),alert(r),console.log(t))}})},error:function(t){alert(t),console.log(t)}},search:{show_only_matches:!0},plugins:["sort"]}),jQuery("#updraft_exclude_modal_main").slideUp(),jQuery(".updraft-exclude-panel").hide(),jQuery(".updraft-exclude-panel[data-panel="+t+"]").slideDown()}),jQuery(".updraft-exclude-modal-reset").on("click",function(t){t.preventDefault(),jQuery("#updraft_exclude_files_folders_jstree").jstree("destroy"),jQuery("#updraft_exclude_files_folders_wildcards_jstree").jstree("destroy"),jQuery("#updraft_exclude_extension_field").val(""),jQuery("#updraft_exclude_prefix_field").val(""),jQuery(".updraft-exclude-panel").slideUp(),jQuery("#updraft_exclude_modal_main").slideDown()}),jQuery(".updraft-exclude-submit").on("click",function(){var t,e="";switch(jQuery(this).data("panel")){case"file-dir":if(0==(t=jQuery("#updraft_exclude_files_folders_jstree").jstree("get_selected")).length)return void alert(updraftlion.exclude_select_file_or_folder_msg);var a=t[0],r=jQuery("#updraft_exclude_modal_path").val(),e=a="/"==(a="/"==(a=a.substr(0,r.length)==r?a.substr(r.length,a.length):a).charAt(0)?a.substr(1):a).charAt(a.length-1)?a.substr(0,a.length-1):a;break;case"extension":var n=jQuery("#updraft_exclude_extension_field").val();if(""==n)return void alert(updraftlion.exclude_type_ext_msg);if(!n.match(/^[0-9a-zA-Z]+$/))return void alert(updraftlion.exclude_ext_error_msg);e="ext:"+n;break;case"begin-with":n=jQuery("#updraft_exclude_prefix_field").val();if(""==n)return void alert(updraftlion.exclude_type_prefix_msg);if(!n.match(/^\s*[a-z-_\d,\s]+\s*$/i))return void alert(updraftlion.exclude_prefix_error_msg);e="prefix:"+n;break;case"contain-clause":if(0==(t=jQuery("#updraft_exclude_files_folders_wildcards_jstree").jstree("get_selected")).length)return void alert(updraftlion.exclude_select_folder_wildcards_msg);var n=jQuery(this).parents("div.updraft-exclude-panel").find("div.clause-input-container input").val(),o=(jQuery(this).parents("div.updraft-exclude-panel").find("div.clause-input-container input").val(""),jQuery(this).parents("div.updraft-exclude-panel").find("div.clause-input-container select").val());if(""==n)return void alert(updraftlion.exclude_contain_error_msg);jQuery(this).parents("div.updraft-exclude-panel").find("div.clause-input-container select option").eq(0).prop("selected",!0);a=t[0],r=jQuery("#updraft_exclude_modal_path").val();""!==(e=a="/"==(a="/"==(a=a.substr(0,r.length)==r?a.substr(r.length,a.length):a).charAt(0)?a.substr(1):a).charAt(a.length-1)?a.substr(0,a.length-1):a)&&(e+="/"),n=n.replace(/\*/g,"\\*"),"beginning"===o?e+=n+"*":"middle"===o?e+="*"+n+"*":"end"===o&&(e+="*"+n);break;default:return}var d,u=jQuery("#updraft_exclude_modal_for").val();updraft_is_unique_exclude_rule(e,u)&&(d='
    ',jQuery('.updraft_exclude_entity_container[data-include-backup-file="'+u+'"]').append(d),updraft_exclude_entity_update(u),jQuery("#updraft_exclude_modal").dialog("close"))}),jQuery("#updraft-navtab-settings-content .updraft-service").on("change",function(){var t=jQuery(this).val();jQuery("#updraft-navtab-settings-content .updraftplusmethod").hide(),jQuery("#updraft-navtab-settings-content ."+t).show()}),jQuery("#updraft-navtab-settings-content a.updraft_show_decryption_widget").on("click",function(t){t.preventDefault(),jQuery("#updraftplus_db_decrypt").val(jQuery("#updraft_encryptionphrase").val()),jQuery("#updraft-manualdecrypt-modal").slideToggle()}),jQuery("#updraftplus-phpinfo").on("click",function(t){t.preventDefault(),updraft_iframe_modal("phpinfo",updraftlion.phpinfo)}),jQuery("#updraftplus-rawbackuphistory").on("click",function(t){t.preventDefault(),updraft_iframe_modal("rawbackuphistory",updraftlion.raw)}),jQuery("#updraft-navtab-status").on("click",function(t){t.preventDefault(),updraft_open_main_tab("status"),updraft_page_is_visible=1,updraft_console_focussed_tab="status",updraft_activejobs_update(!0)}),jQuery("#updraft-navtab-expert").on("click",function(t){t.preventDefault(),updraft_open_main_tab("expert"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-settings, #updraft-navtab-settings2, #updraft_backupnow_gotosettings").on("click",function(t){t.preventDefault(),jQuery(this).parents(".updraftmessage").remove(),jQuery("#updraft-backupnow-modal").dialog("close"),updraft_open_main_tab("settings"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-addons").on("click",function(t){t.preventDefault(),jQuery(this).addClass("b#nav-tab-active"),updraft_open_main_tab("addons"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-backups").on("click",function(t){t.preventDefault(),updraft_console_focussed_tab="backups",updraft_historytimertoggle(1),updraft_open_main_tab("backups")}),jQuery("#updraft-navtab-migrate").on("click",function(t){t.preventDefault(),jQuery("#updraft_migrate_tab_alt").html("").hide(),updraft_open_main_tab("migrate"),updraft_page_is_visible=1,jQuery("#updraft_migrate .updraft_migrate_widget_module_content").is(":visible")||jQuery(".updraft_migrate_intro").show()}),"migrate"==updraftlion.tab&&jQuery("#updraft-navtab-migrate").trigger("click"),updraft_send_command("ping",null,function(t,e){"success"==e&&"pong"!=t&&0<=t.indexOf("pong")&&(jQuery("#updraft-navtab-backups-content .ud-whitespace-warning").show(),console.log("UpdraftPlus: Extra output warning: response (which should be just (string)'pong') follows."),console.log(t))},{json_parse:!1,type:"GET"});try{"undefined"!=typeof updraft_plupload_config&&((s=new plupload.Uploader(updraft_plupload_config)).bind("Init",function(t){var e=jQuery("#plupload-upload-ui");t.features.dragdrop?(e.addClass("drag-drop"),jQuery("#drag-drop-area").on("dragover.wp-uploader",function(){e.addClass("drag-over")}).on("dragleave.wp-uploader, drop.wp-uploader",function(){e.removeClass("drag-over")})):(e.removeClass("drag-drop"),jQuery("#drag-drop-area").off(".wp-uploader"))}),s.init(),s.bind("FilesAdded",function(t,e){h("#updraft-plupload-modal").is(":hidden")&&h("#updraft-plupload-modal").slideToggle(),plupload.each(e,function(t){if(!/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-[\-a-z]+([0-9]+?)?(\.(zip|gz|gz\.crypt))?$/i.test(t.name)&&!/^log\.([0-9a-f]{12})\.txt$/.test(t.name)){for(var e=!1,a=0;a"+t.name+"

    "+updraftlion.notarchive2),jQuery("#updraft-message-modal").dialog("open")):alert(t.name+": "+updraftlion.notarchive),void s.removeFile(t)}jQuery("#filelist").append('
    '+t.name+" ("+plupload.formatSize(0)+"/"+plupload.formatSize(t.size)+')
    ')}),t.refresh(),t.start()}),s.bind("UploadProgress",function(t,e){jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"),jQuery("#"+e.id+" span").html(plupload.formatSize(parseInt(e.size*e.percent/100))),e.size==e.loaded&&(jQuery("#"+e.id).html('
    '+e.name+" ("+plupload.formatSize(parseInt(e.size*e.percent/100))+"/"+plupload.formatSize(e.size)+") - "+updraftlion.complete+"
    "),jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"))}),s.bind("Error",function(t,e){console.log(e),a="-200"==e.code?"\n"+updraftlion.makesure2:updraftlion.makesure;var a,r=updraftlion.uploaderr+" (code "+e.code+") : "+e.message;e.hasOwnProperty("status")&&e.status&&(r+=" ("+updraftlion.http_code+" "+e.status+")"),e.hasOwnProperty("response")&&(console.log("UpdraftPlus: plupload error: "+e.response),e.response.length<100)&&(r+=" "+updraftlion.error+" "+e.response+"\n"),r+=" "+a,alert(r)}),s.bind("FileUploaded",function(t,e,a){if("200"==a.status)try{(resp=ud_parse_json(a.response)).e?alert(updraftlion.uploaderror+" "+resp.e):resp.dm?(alert(resp.dm),updraft_updatehistory(1,0)):resp.m?updraft_updatehistory(1,0):alert("Unknown server response: "+a.response)}catch(t){console.log(a),alert(updraftlion.jsonnotunderstood)}else alert("Unknown server response status: "+a.code),console.log(a)}))}catch(t){console.log(t)}function l(t){(params={uri:jQuery("#updraftplus_httpget_uri").val()}).curl=t,updraft_send_command("httpget",params,function(t){t.e&&alert(t.e),t.r?jQuery("#updraftplus_httpget_results").html("
    "+t.r+"
    "):console.log(t)},{type:"GET"})}function _(t,e,a){updraft_restore_setoptions(t),jQuery("#updraft_restore_timestamp").val(e),jQuery(".updraft_restore_date").html(a),updraft_restore_stage=1,i.open(),updraft_activejobs_update(!0)}function c(t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");t=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(window.location.href);return null==t?"":decodeURIComponent(t[1].replace(/\+/g," "))}jQuery("#updraftplus_httpget_go").on("click",function(t){t.preventDefault(),l(0)}),jQuery("#updraftplus_httpget_gocurl").on("click",function(t){t.preventDefault(),l(1)}),jQuery("#updraftplus_callwpaction_go").on("click",function(t){t.preventDefault(),updraft_send_command("call_wordpress_action",params={wpaction:jQuery("#updraftplus_callwpaction").val()},function(t){t.e?alert(t.e):t.s||(t.r?jQuery("#updraftplus_callwpaction_results").html(t.r):(console.log(t),alert(updraftlion.jsonnotunderstood)))})}),jQuery("#updraft_activejobs_table, #updraft-navtab-migrate-content").on("click",".updraft_jobinfo_delete",function(t){t.preventDefault();t=jQuery(this).data("jobid");t?(h(this).addClass("disabled"),updraft_activejobs_delete(t)):console.log("UpdraftPlus: A stop job link was clicked, but the Job ID could not be found")}),jQuery("#updraft_activejobs_table, #updraft-navtab-backups-content .updraft_existing_backups, #updraft-backupnow-inpage-modal, #updraft-navtab-migrate-content").on("click",".updraft-log-link",function(t){t.preventDefault();var t=jQuery(this).data("fileid"),e=jQuery(this).data("jobid");t?updraft_popuplog(t):e?updraft_popuplog(e):console.log("UpdraftPlus: A log link was clicked, but the Job ID could not be found")}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click","button.choose-components-button",function(t){_(jQuery(this).data("entities"),jQuery(this).data("backup_timestamp"),jQuery(this).data("showdata"))}),"initiate_restore"==c("udaction")&&_(c("entities"),c("backup_timestamp"),c("showdata"));t={};function f(){var t=jQuery(".db-search").val().toLowerCase();jQuery(".db-size-content tr").filter(function(){jQuery(this).toggle(-1
    '+updraftlion.loading+"
    ",updraftlion.raw,780,500)}),jQuery("#backupnow_database_moreoptions").on("click","div.backupnow-db-tables > a",function(t){t.preventDefault(),jQuery("> input",jQuery(this).parents("div.backupnow-db-tables")).prop("checked",!1),jQuery(this).hasClass("backupnow-select-all-table")?jQuery("> input",jQuery(this).parents("div.backupnow-db-tables")).prop("checked",!0):jQuery(this).hasClass("backupnow-select-all-this-site")&&jQuery("> input",jQuery(this).parents("div.backupnow-db-tables")).not("[data-non_wp_table]").prop("checked",!0)}),jQuery("#updraft-restore-modal").on("click",".updraft_restore_select_all_themes",function(t){t.preventDefault(),jQuery(".updraft_restore_themes_options").prop("checked",!0)}),jQuery("#updraft-restore-modal").on("click",".updraft_restore_deselect_all_themes",function(t){t.preventDefault(),jQuery(".updraft_restore_themes_options").prop("checked",!1)}),jQuery("#updraft-restore-modal").on("click",".updraft_restore_select_all_plugins",function(t){t.preventDefault(),jQuery(".updraft_restore_plugins_options").prop("checked",!0)}),jQuery("#updraft-restore-modal").on("click",".updraft_restore_deselect_all_plugins",function(t){t.preventDefault(),jQuery(".updraft_restore_plugins_options").prop("checked",!1)}),jQuery(".updraftmessage.admin-warning-litespeed").on("click",".notice-dismiss",function(t){t.preventDefault(),updraft_send_command("dismiss_admin_warning_litespeed")}),jQuery(".updraftmessage.admin-warning-pclzip").on("click",".notice-dismiss",function(t){t.preventDefault(),updraft_send_command("dismiss_admin_warning_pclzip")}),jQuery("#db_size.advanced_tools_button, .db-size-refresh").on("click",function(t){t.preventDefault();var e=jQuery(".advanced_settings_content .advanced_tools.db_size .total-size"),a=jQuery(".advanced_settings_content .advanced_tools.db_size tbody.db-size-content");jQuery(this).hasClass("advanced_tools_button")&&""!=a.html()||(a.html(""),updraft_send_command("db_size",1,function(t){e.html(t.size),a.html(t.html),f()}))}),jQuery(".db-search").on("input",function(){f()}),jQuery(".db-search-clear").on("click",function(t){t.preventDefault(),jQuery(".db-search").val(""),f()}),jQuery(".updraft_restore_main").on("click","button#updraft_restore_abort",function(t){t.preventDefault(),jQuery("#updraft_restore_continue_action").val("updraft_restore_abort"),jQuery(this).parent("form").trigger("submit")})}),jQuery(function(n){var o="#updraft-navtab-settings-content ";n(o+"#remote-storage-holder").on("click",".updraftvault_backtostart",function(t){t.preventDefault(),n(o+"#updraftvault_settings_showoptions").slideUp(),n(o+"#updraftvault_settings_connect").slideUp(),n(o+"#updraftvault_settings_connected").slideUp(),n(o+"#updraftvault_settings_default").slideDown()}),n(o).on("keypress","#updraftvault_settings_connect input",function(t){if(13==t.which)return n(o+"#updraftvault_connect_go").trigger("click"),!1}),n(o+"#remote-storage-holder").on("click","#updraftvault_recountquota",function(t){t.preventDefault(),n(o+"#updraftvault_recountquota").html(updraftlion.counting);try{updraft_send_command("vault_recountquota",{instance_id:n("#updraftvault_settings_connect").data("instance_id")},function(t){n(o+"#updraftvault_recountquota").html(updraftlion.updatequotacount),t.hasOwnProperty("html")&&(n(o+"#updraftvault_settings_connected").html(t.html),t.hasOwnProperty("connected"))&&(t.connected?(n(o+"#updraftvault_settings_default").hide(),n(o+"#updraftvault_settings_connected")):(n(o+"#updraftvault_settings_connected").hide(),n(o+"#updraftvault_settings_default"))).show()},{error_callback:function(t,e,a,r){n(o+"#updraftvault_recountquota").html(updraftlion.updatequotacount),void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),alert(r),console.log(t))}})}catch(t){n(o+"#updraftvault_recountquota").html(updraftlion.updatequotacount),console.log(t)}}),n(o+"#remote-storage-holder").on("click","#updraftvault_disconnect",function(t){t.preventDefault(),n(o+"#updraftvault_disconnect").html(updraftlion.disconnecting);try{updraft_send_command("vault_disconnect",{immediate_echo:!0,instance_id:n("#updraftvault_settings_connect").data("instance_id")},function(t){n(o+"#updraftvault_disconnect").html(updraftlion.disconnect),t.hasOwnProperty("html")&&(n(o+"#updraftvault_settings_connected").html(t.html).slideUp(),n(o+"#updraftvault_settings_default").slideDown())},{error_callback:function(t,e,a,r){n(o+"#updraftvault_disconnect").html(updraftlion.disconnect),void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),alert(r),console.log(t))}})}catch(t){n(o+"#updraftvault_disconnect").html(updraftlion.disconnect),console.log(t)}}),n(o+"#remote-storage-holder").on("click","#updraftvault_connect",function(t){t.preventDefault(),n(o+"#updraftvault_settings_default").slideUp(),n(o+"#updraftvault_settings_connect").slideDown()}),n(o+"#remote-storage-holder").on("click","#updraftvault_showoptions",function(t){t.preventDefault(),n(o+"#updraftvault_settings_default").slideUp(),n(o+"#updraftvault_settings_showoptions").slideDown()}),n("#remote-storage-holder").on("keyup",".updraftplus_onedrive_folder_input",function(t){var e=n(this).val(),a=n(this).closest("td");0==e.indexOf("https:")||0==e.indexOf("http:")?a.find(".onedrive_folder_error").length||a.append('
    '+updraftlion.onedrive_folder_url_warning+"
    "):a.find(".onedrive_folder_error").slideUp("slow",function(){a.find(".onedrive_folder_error").remove()})}),n(o+"#remote-storage-holder").on("click","#updraftvault_connect_go",function(t){return n(o+"#updraftvault_connect_go").html(updraftlion.connecting),updraft_send_command("vault_connect",{email:n("#updraftvault_email").val(),pass:n("#updraftvault_pass").val(),instance_id:n("#updraftvault_settings_connect").data("instance_id")},function(t,e,a){n(o+"#updraftvault_connect_go").html(updraftlion.connect),t.hasOwnProperty("e")?(updraft_html_modal('

    '+updraftlion.errornocolon+"

    "+t.e+"

    ",updraftlion.disconnect,400,250),t.hasOwnProperty("code")&&"no_quota"==t.code&&(n(o+"#updraftvault_settings_connect").slideUp(),n(o+"#updraftvault_settings_default").slideDown())):t.hasOwnProperty("connected")&&t.connected&&t.hasOwnProperty("html")?(n(o+"#updraftvault_settings_connect").slideUp(),n(o+"#updraftvault_settings_connected").html(t.html).slideDown()):(console.log(t),alert(updraftlion.unexpectedresponse+" "+a))},{error_callback:function(t,e,a,r){n(o+"#updraftvault_connect_go").html(updraftlion.connect),void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),alert(r),console.log(t))}}),!1}),n("#updraft-iframe-modal").on("change","#always_keep_this_backup",function(){var e=n(this).data("backup_key");updraft_send_command("always_keep_this_backup",{backup_key:e,always_keep:n(this).is(":checked")?1:0},function(t){t.hasOwnProperty("rawbackup")&&(jQuery("#updraft-iframe-modal").dialog("close"),jQuery(".updraft_existing_backups_row_"+e+" .updraft_existingbackup_date").data("rawbackup",t.rawbackup),updraft_html_modal(jQuery(".updraft_existing_backups_row_"+e+" .updraft_existingbackup_date").data("rawbackup"),updraftlion.raw,780,500))})})}),jQuery(function(t){try{"undefined"!=typeof updraft_plupload_config2&&((a=new plupload.Uploader(updraft_plupload_config2)).bind("Init",function(t){var e=jQuery("#plupload-upload-ui2");t.features.dragdrop?(e.addClass("drag-drop"),jQuery("#drag-drop-area2").on("dragover.wp-uploader",function(){e.addClass("drag-over")}).on("dragleave.wp-uploader, drop.wp-uploader",function(){e.removeClass("drag-over")})):(e.removeClass("drag-drop"),jQuery("#drag-drop-area2").off(".wp-uploader"))}),a.init(),a.bind("FilesAdded",function(t,e){plupload.each(e,function(t){/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-db([0-9]+)?\.(gz\.crypt)$/i.test(t.name)?jQuery("#filelist2").append('
    '+t.name+" ("+plupload.formatSize(0)+"/"+plupload.formatSize(t.size)+')
    '):(alert(t.name+": "+updraftlion.notdba),a.removeFile(t))}),t.refresh(),t.start()}),a.bind("UploadProgress",function(t,e){jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"),jQuery("#"+e.id+" span").html(plupload.formatSize(parseInt(e.size*e.percent/100)))}),a.bind("Error",function(t,e){err_makesure="-200"==e.code?"\n"+updraftlion.makesure2:updraftlion.makesure,alert(updraftlion.uploaderr+" (code "+e.code+") : "+e.message+" "+err_makesure)}),a.bind("FileUploaded",function(t,e,a){"200"==a.status?"ERROR:"==a.response.substring(0,6)?alert(updraftlion.uploaderror+" "+a.response.substring(6)):"OK:"==a.response.substring(0,3)?(bkey=a.response.substring(3),jQuery("#"+e.id+" .fileprogress").hide(),jQuery("#"+e.id).append(updraftlion.uploaded+' '+updraftlion.followlink+" "+updraftlion.thiskey+" "+jQuery("#updraftplus_db_decrypt").val().replace(/&/g,"&").replace(//g,">"))):alert(updraftlion.unknownresp+" "+a.response):alert(updraftlion.ukrespstatus+" "+a.code)}))}catch(t){console.log(t)}var a;if(jQuery("#updraft-hidethis").remove(),Handlebars.registerHelper("ifeq",function(t,e,a){return(t="string"!=typeof t&&null!=t?t.toString():t)===(e="string"!=typeof e&&null!=e?e.toString():e)?a.fn(this):a.inverse(this)}),Handlebars.registerHelper("maskPassword",function(t){return t.replace(/./gi,"*")}),Handlebars.registerHelper("encodeURIComponent",function(t){return encodeURIComponent(t)}),Handlebars.registerHelper("ifCond",function(t,e,a,r){switch(e){case"==":return t==a?r.fn(this):r.inverse(this);case"===":return t===a?r.fn(this):r.inverse(this);case"!=":return t!=a?r.fn(this):r.inverse(this);case"!==":return t!==a?r.fn(this):r.inverse(this);case"<":return t":return a=":return a<=t?r.fn(this):r.inverse(this);case"&&":return t&&a?r.fn(this):r.inverse(this);case"||":return t||a?r.fn(this):r.inverse(this);case"typeof":return t===typeof a?r.fn(this):r.inverse(this);case"not_typeof":return t!==typeof a?r.fn(this):r.inverse(this);default:return r.inverse(this)}}),Handlebars.registerHelper("for",function(t,e,a,r){for(var n="",o=t;o \t\t\t \t\t\t \t\t\t\t

    \t\t\t\t\t \t\t\t\t

    \t\t\t \t\t"}),t("#remote-storage-holder").length){var e,r="",n=["default","template_properties"];for(e in updraftlion.remote_storage_templates)if(void 0!==updraftlion.remote_storage_options[e]&&n.length'+jQuery(this).html()+"

    "),e=!0}),e&&((t={})[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-authenticate-modal").dialog({autoOpen:!0,modal:!0,resizable:!1,draggable:!1,resizeOnWindowResize:!0,scrollWithViewport:!0,resizeAccordingToViewport:!0,useContentSize:!1,open:function(t,e){o(this).dialog("option","width",860),o(this).dialog("option","height",260)},buttons:t}).dialog("open"))}(new Image).src=updraftlion.ud_url+"/images/notices/updraft_logo.png",o("#updraft-navtab-settings-content input.updraft_include_entity").on("change",function(t){var e=o(this).attr("id"),a=o(this).is(":checked");o("#backupnow_files_"+e).prop("checked",a)}),o("#updraftplus-settings-save").on("click",function(t){t.preventDefault(),o.blockUI({css:{width:"300px",border:"none","border-radius":"10px",left:"calc(50% - 150px)",padding:"20px"},message:'

    '+updraftlion.saving+"
    "}),updraft_send_command("savesettings",{settings:a("string"),updraftplus_version:updraftlion.updraftplus_version},function(t,e,a){r(t,a),o("#updraft-wrap .fade").delay(6e3).fadeOut(2e3),window.updraft_main_tour&&!window.updraft_main_tour.canceled?(window.updraft_main_tour.show("settings_saved"),n()):o("html, body").animate({scrollTop:o("#updraft-wrap").offset().top},1e3,function(){n()}),o.unblockUI()},{action:"updraft_savesettings",error_callback:function(t,e,a,r){o.unblockUI(),void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),alert(r),console.log(t))},nonce:updraftplus_settings_nonce})}),o("#updraftplus-settings-export").on("click",function(){var t,e;updraft_settings_form_changed&&alert(updraftlion.unsaved_settings_export),t=a("object"),e=new Date,t=JSON.stringify({version:"1.12.40",epoch_date:e.getTime(),local_date:e.toLocaleString(),network_site_url:updraftlion.network_site_url,data:t}),(e=document.body.appendChild(document.createElement("a"))).setAttribute("download",updraftlion.export_settings_file_name),e.setAttribute("style","display:none;"),e.setAttribute("href","data:text/json;charset=UTF-8,"+encodeURIComponent(t)),e.click()}),o("#updraftplus-settings-import").on("click",function(){o.blockUI({css:{width:"300px",border:"none","border-radius":"10px",left:"calc(50% - 150px)",padding:"20px"},message:'

    '+updraftlion.importing+"
    "});var t,e=document.getElementById("import_settings");0==e.files.length?(alert(updraftlion.import_select_file),o.unblockUI()):(e=e.files[0],(t=new FileReader).onload=function(){var t,e=this.result;try{t=ud_parse_json(e)}catch(t){return void(o.unblockUI(),jQuery("#import_settings").val(""),console.log(e),console.log(t),alert(updraftlion.import_invalid_json_file))}window.confirm(updraftlion.importing_data_from+" "+t.network_site_url+"\n"+updraftlion.exported_on+" "+t.local_date+"\n"+updraftlion.continue_import)?updraft_send_command("importsettings",{settings:JSON.stringify(t.data),updraftplus_version:updraftlion.updraftplus_version},function(t,e,a){t=r(t);!t.hasOwnProperty("saved")||t.saved?(updraft_settings_form_changed=!1,location.replace(updraftlion.updraft_settings_url)):(o.unblockUI(),t.hasOwnProperty("error_message")&&t.error_message&&alert(t.error_message))},{action:"updraft_importsettings",nonce:updraftplus_settings_nonce,error_callback:function(t,e,a,r){o.unblockUI(),void 0!==r&&r.hasOwnProperty("fatal_error")?(console.error(r.fatal_error_message),alert(r.fatal_error_message)):(r="updraft_send_command: error: "+e+" ("+a+")",console.log(r),console.log(t),alert(r))}}):o.unblockUI()},t.readAsText(e))}),o(".udp-replace-with-iframe--js").on("click",function(t){t.preventDefault();t=o(this).prop("href");o(''):p(''),d=o.theme?p(''):p(''),c=(o.theme&&n?(c=''):o.theme?(c=''):c=n?'':'',s=p(c),t&&(o.theme?(s.css(u),s.addClass("ui-widget-content")):s.css(f)),o.theme||d.css(o.overlayCSS),d.css("position",n?"fixed":"absolute"),(h||o.forceIframe)&&a.css("opacity",0),[a,d,s]),r=p(n?"body":e),u=(p.each(c,function(){this.appendTo(r)}),o.theme&&o.draggable&&p.fn.draggable&&s.draggable({handle:".ui-dialog-titlebar",cancel:"li"}),k&&("CSS1Compat"!==document.compatMode||0 .blockUI"):l.find(">.blockUI"),t.cursorReset&&(1');e&&l.append("

    "+e+"

    "),t&&l.append("

    "+t+"

    "),void 0===o&&(o=3e3),i(),l.css("opacity"),l.on("mouseover",function(){i({fadeIn:0,timeout:3e4});var e=p(".blockMsg");e.stop(),e.fadeTo(300,1)}).on("mouseout",function(){p(".blockMsg").fadeOut(1e3)})},p.fn.block=function(e){var t;return this[0]===window?(p.blockUI(e),this):(t=p.extend({},p.blockUI.defaults,e||{}),this.each(function(){var e=p(this);t.ignoreIfBlocked&&e.data("blockUI.isBlocked")||e.unblock({fadeOut:0})}),this.each(function(){"static"==p.css(this,"position")&&(this.style.position="relative",p(this).data("blockUI.static",!0)),this.style.zoom=1,o(this,e)}))},p.fn.unblock=function(e){return this[0]===window?(p.unblockUI(e),this):this.each(function(){v(this,e)})},p.blockUI.version=2.7,p.blockUI.defaults={message:"

    Please wait...

    ",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1},null),g=[];function o(e,o){var n,i,t,l,s,a,d,c,r,u=e==window,f=o&&void 0!==o.message?o.message:void 0;(o=p.extend({},p.blockUI.defaults,o||{})).ignoreIfBlocked&&p(e).data("blockUI.isBlocked")||(o.overlayCSS=p.extend({},p.blockUI.defaults.overlayCSS,o.overlayCSS||{}),s=p.extend({},p.blockUI.defaults.css,o.css||{}),o.onOverlayClick&&(o.overlayCSS.cursor="pointer"),a=p.extend({},p.blockUI.defaults.themedCSS,o.themedCSS||{}),f=void 0===f?o.message:f,u&&y&&v(window,{fadeOut:0}),f&&"string"!=typeof f&&(f.parentNode||f.jquery)&&(r=f.jquery?f[0]:f,t={},p(e).data("blockUI.history",t),t.el=r,t.parent=r.parentNode,t.display=r.style.display,t.position=r.style.position,t.parent)&&t.parent.removeChild(r),p(e).data("blockUI.onUnblock",o.onUnblock),t=o.baseZ,r=h||o.forceIframe?p(''):p(''),c=o.theme?p(''):p(''),o.theme&&u?(d=''):o.theme?(d=''):d=u?'':'',t=p(d),f&&(o.theme?(t.css(a),t.addClass("ui-widget-content")):t.css(s)),o.theme||c.css(o.overlayCSS),c.css("position",u?"fixed":"absolute"),(h||o.forceIframe)&&r.css("opacity",0),d=[r,c,t],l=p(u?"body":e),p.each(d,function(){this.appendTo(l)}),o.theme&&o.draggable&&p.fn.draggable&&t.draggable({handle:".ui-dialog-titlebar",cancel:"li"}),a=k&&("CSS1Compat"!==document.compatMode||0 .blockUI"):l.find(">.blockUI"),t.cursorReset&&(1');e&&l.append("

    "+e+"

    "),t&&l.append("

    "+t+"

    "),void 0===o&&(o=3e3),i(),l.css("opacity");l.on("mouseover",function(){i({fadeIn:0,timeout:3e4});var e=p(".blockMsg");e.stop(),e.fadeTo(300,1)}).on("mouseout",function(){p(".blockMsg").fadeOut(1e3)})},p.fn.block=function(e){var t;return this[0]===window?(p.blockUI(e),this):(t=p.extend({},p.blockUI.defaults,e||{}),this.each(function(){var e=p(this);t.ignoreIfBlocked&&e.data("blockUI.isBlocked")||e.unblock({fadeOut:0})}),this.each(function(){"static"==p.css(this,"position")&&(this.style.position="relative",p(this).data("blockUI.static",!0)),this.style.zoom=1,o(this,e)}))},p.fn.unblock=function(e){return this[0]===window?(p.unblockUI(e),this):this.each(function(){v(this,e)})},p.blockUI.version=2.7,p.blockUI.defaults={message:"

    Please wait...

    ",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1},null),g=[];function o(e,o){var n=e==window,t=o&&void 0!==o.message?o.message:void 0;if(!(o=p.extend({},p.blockUI.defaults,o||{})).ignoreIfBlocked||!p(e).data("blockUI.isBlocked")){o.overlayCSS=p.extend({},p.blockUI.defaults.overlayCSS,o.overlayCSS||{}),f=p.extend({},p.blockUI.defaults.css,o.css||{}),o.onOverlayClick&&(o.overlayCSS.cursor="pointer"),u=p.extend({},p.blockUI.defaults.themedCSS,o.themedCSS||{}),t=void 0===t?o.message:t,n&&y&&v(window,{fadeOut:0}),t&&"string"!=typeof t&&(t.parentNode||t.jquery)&&(a=t.jquery?t[0]:t,s={},p(e).data("blockUI.history",s),s.el=a,s.parent=a.parentNode,s.display=a.style.display,s.position=a.style.position,s.parent)&&s.parent.removeChild(a),p(e).data("blockUI.onUnblock",o.onUnblock);var i,l,s=o.baseZ,a=h||o.forceIframe?p(''):p(''),d=o.theme?p(''):p(''),c=(o.theme&&n?(c=''):o.theme?(c=''):c=n?'':'',s=p(c),t&&(o.theme?(s.css(u),s.addClass("ui-widget-content")):s.css(f)),o.theme||d.css(o.overlayCSS),d.css("position",n?"fixed":"absolute"),(h||o.forceIframe)&&a.css("opacity",0),[a,d,s]),r=p(n?"body":e),u=(p.each(c,function(){this.appendTo(r)}),o.theme&&o.draggable&&p.fn.draggable&&s.draggable({handle:".ui-dialog-titlebar",cancel:"li"}),k&&("CSS1Compat"!==document.compatMode||0 .blockUI"):l.find(">.blockUI"),t.cursorReset&&(1');e&&l.append("

    "+e+"

    "),t&&l.append("

    "+t+"

    "),void 0===o&&(o=3e3),i(),l.css("opacity"),l.on("mouseover",function(){i({fadeIn:0,timeout:3e4});var e=p(".blockMsg");e.stop(),e.fadeTo(300,1)}).on("mouseout",function(){p(".blockMsg").fadeOut(1e3)})},p.fn.block=function(e){var t;return this[0]===window?(p.blockUI(e),this):(t=p.extend({},p.blockUI.defaults,e||{}),this.each(function(){var e=p(this);t.ignoreIfBlocked&&e.data("blockUI.isBlocked")||e.unblock({fadeOut:0})}),this.each(function(){"static"==p.css(this,"position")&&(this.style.position="relative",p(this).data("blockUI.static",!0)),this.style.zoom=1,o(this,e)}))},p.fn.unblock=function(e){return this[0]===window?(p.unblockUI(e),this):this.each(function(){v(this,e)})},p.blockUI.version=2.7,p.blockUI.defaults={message:"

    Please wait...

    ",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1},null),g=[];function o(e,o){var n,i,t,l,s,a,d,c,r,u=e==window,f=o&&void 0!==o.message?o.message:void 0;(o=p.extend({},p.blockUI.defaults,o||{})).ignoreIfBlocked&&p(e).data("blockUI.isBlocked")||(o.overlayCSS=p.extend({},p.blockUI.defaults.overlayCSS,o.overlayCSS||{}),s=p.extend({},p.blockUI.defaults.css,o.css||{}),o.onOverlayClick&&(o.overlayCSS.cursor="pointer"),a=p.extend({},p.blockUI.defaults.themedCSS,o.themedCSS||{}),f=void 0===f?o.message:f,u&&y&&v(window,{fadeOut:0}),f&&"string"!=typeof f&&(f.parentNode||f.jquery)&&(r=f.jquery?f[0]:f,t={},p(e).data("blockUI.history",t),t.el=r,t.parent=r.parentNode,t.display=r.style.display,t.position=r.style.position,t.parent)&&t.parent.removeChild(r),p(e).data("blockUI.onUnblock",o.onUnblock),t=o.baseZ,r=h||o.forceIframe?p(''):p(''),c=o.theme?p(''):p(''),o.theme&&u?(d=''):o.theme?(d=''):d=u?'':'',t=p(d),f&&(o.theme?(t.css(a),t.addClass("ui-widget-content")):t.css(s)),o.theme||c.css(o.overlayCSS),c.css("position",u?"fixed":"absolute"),(h||o.forceIframe)&&r.css("opacity",0),d=[r,c,t],l=p(u?"body":e),p.each(d,function(){this.appendTo(l)}),o.theme&&o.draggable&&p.fn.draggable&&t.draggable({handle:".ui-dialog-titlebar",cancel:"li"}),a=k&&("CSS1Compat"!==document.compatMode||0 .blockUI"):l.find(">.blockUI"),t.cursorReset&&(1');e&&s.append("

    "+e+"

    "),t&&s.append("

    "+t+"

    "),void 0===o&&(o=3e3),i(),s.css("opacity");s.on("mouseover",function(){i({fadeIn:0,timeout:3e4});var e=p(".blockMsg");e.stop(),e.fadeTo(300,1)}).on("mouseout",function(){p(".blockMsg").fadeOut(1e3)})},p.fn.block=function(e){if(this[0]===window)return p.blockUI(e),this;var t=p.extend({},p.blockUI.defaults,e||{});return this.each(function(){var e=p(this);t.ignoreIfBlocked&&e.data("blockUI.isBlocked")||e.unblock({fadeOut:0})}),this.each(function(){"static"==p.css(this,"position")&&(this.style.position="relative",p(this).data("blockUI.static",!0)),this.style.zoom=1,o(this,e)})},p.fn.unblock=function(e){return this[0]===window?(p.unblockUI(e),this):this.each(function(){g(this,e)})},p.blockUI.version=2.7,p.blockUI.defaults={message:"

    Please wait...

    ",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1},null),y=[];function o(e,o){var n=e==window,t=o&&void 0!==o.message?o.message:void 0;if(!(o=p.extend({},p.blockUI.defaults,o||{})).ignoreIfBlocked||!p(e).data("blockUI.isBlocked")){o.overlayCSS=p.extend({},p.blockUI.defaults.overlayCSS,o.overlayCSS||{}),c=p.extend({},p.blockUI.defaults.css,o.css||{}),o.onOverlayClick&&(o.overlayCSS.cursor="pointer"),d=p.extend({},p.blockUI.defaults.themedCSS,o.themedCSS||{}),t=void 0===t?o.message:t,n&&k&&g(window,{fadeOut:0}),t&&"string"!=typeof t&&(t.parentNode||t.jquery)&&(s=t.jquery?t[0]:t,i={},p(e).data("blockUI.history",i),i.el=s,i.parent=s.parentNode,i.display=s.style.display,i.position=s.style.position,i.parent&&i.parent.removeChild(s)),p(e).data("blockUI.onUnblock",o.onUnblock);var r,u,i=o.baseZ,s=h||o.forceIframe?p(''):p(''),l=o.theme?p(''):p(''),a=(o.theme&&n?(a=''):o.theme?(a=''):a=n?'':'',i=p(a),t&&(o.theme?(i.css(d),i.addClass("ui-widget-content")):i.css(c)),o.theme||l.css(o.overlayCSS),l.css("position",n?"fixed":"absolute"),(h||o.forceIframe)&&s.css("opacity",0),[s,l,i]),f=p(n?"body":e),d=(p.each(a,function(){this.appendTo(f)}),o.theme&&o.draggable&&p.fn.draggable&&i.draggable({handle:".ui-dialog-titlebar",cancel:"li"}),I&&("CSS1Compat"!==document.compatMode||0 .blockUI"):s.find(">.blockUI"),t.cursorReset&&(1'); if (title) $m.append('

    '+title+'

    '); if (message) $m.append('

    '+message+'

    '); if (timeout === undefined) timeout = 3000; // Added by konapun: Set timeout to 30 seconds if this growl is moused over, like normal toast notifications var callBlock = function(opts) { opts = opts || {}; $.blockUI({ message: $m, fadeIn : typeof opts.fadeIn !== 'undefined' ? opts.fadeIn : 700, fadeOut: typeof opts.fadeOut !== 'undefined' ? opts.fadeOut : 1000, timeout: typeof opts.timeout !== 'undefined' ? opts.timeout : timeout, centerY: false, showOverlay: false, onUnblock: onClose, css: $.blockUI.defaults.growlCSS }); }; callBlock(); var nonmousedOpacity = $m.css('opacity'); $m.on('mouseover', function() { callBlock({ fadeIn: 0, timeout: 30000 }); var displayBlock = $('.blockMsg'); displayBlock.stop(); // cancel fadeout if it has started displayBlock.fadeTo(300, 1); // make it easier to read the message by removing transparency }).on('mouseout', function() { $('.blockMsg').fadeOut(1000); }); // End konapun additions }; // plugin method for blocking element content $.fn.block = function(opts) { if ( this[0] === window ) { $.blockUI( opts ); return this; } var fullOpts = $.extend({}, $.blockUI.defaults, opts || {}); this.each(function() { var $el = $(this); if (fullOpts.ignoreIfBlocked && $el.data('blockUI.isBlocked')) return; $el.unblock({ fadeOut: 0 }); }); return this.each(function() { if ($.css(this,'position') == 'static') { this.style.position = 'relative'; $(this).data('blockUI.static', true); } this.style.zoom = 1; // force 'hasLayout' in ie install(this, opts); }); }; // plugin method for unblocking element content $.fn.unblock = function(opts) { if ( this[0] === window ) { $.unblockUI( opts ); return this; } return this.each(function() { remove(this, opts); }); }; $.blockUI.version = 2.70; // 2nd generation blocking at no extra cost! // override these in your code to change the default behavior and style $.blockUI.defaults = { // message displayed when blocking (use null for no message) message: '

    Please wait...

    ', title: null, // title string; only used when theme == true draggable: true, // only used when theme == true (requires jquery-ui.js to be loaded) theme: false, // set to true to use with jQuery UI themes // styles for the message when blocking; if you wish to disable // these and use an external stylesheet then do this in your code: // $.blockUI.defaults.css = {}; css: { padding: 0, margin: 0, width: '30%', top: '40%', left: '35%', textAlign: 'center', color: '#000', border: '3px solid #aaa', backgroundColor:'#fff', cursor: 'wait' }, // minimal style set used when themes are used themedCSS: { width: '30%', top: '40%', left: '35%' }, // styles for the overlay overlayCSS: { backgroundColor: '#000', opacity: 0.6, cursor: 'wait' }, // style to replace wait cursor before unblocking to correct issue // of lingering wait cursor cursorReset: 'default', // styles applied when using $.growlUI growlCSS: { width: '350px', top: '10px', left: '', right: '10px', border: 'none', padding: '5px', opacity: 0.6, cursor: 'default', color: '#fff', backgroundColor: '#000', '-webkit-border-radius':'10px', '-moz-border-radius': '10px', 'border-radius': '10px' }, // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w // (hat tip to Jorge H. N. de Vasconcelos) /*jshint scripturl:true */ iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', // force usage of iframe in non-IE browsers (handy for blocking applets) forceIframe: false, // z-index for the blocking overlay baseZ: 1000, // set these to true to have the message automatically centered centerX: true, // <-- only effects element blocking (page block controlled via css above) centerY: true, // allow body element to be stetched in ie6; this makes blocking look better // on "short" pages. disable if you wish to prevent changes to the body height allowBodyStretch: true, // enable if you want key and mouse events to be disabled for content that is blocked bindEvents: true, // be default blockUI will suppress tab navigation from leaving blocking content // (if bindEvents is true) constrainTabKey: true, // fadeIn time in millis; set to 0 to disable fadeIn on block fadeIn: 200, // fadeOut time in millis; set to 0 to disable fadeOut on unblock fadeOut: 400, // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock timeout: 0, // disable if you don't want to show the overlay showOverlay: true, // if true, focus will be placed in the first available input field when // page blocking focusInput: true, // elements that can receive focus focusableElements: ':input:enabled:visible', // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity) // no longer needed in 2012 // applyPlatformOpacityRules: true, // callback method invoked when fadeIn has completed and blocking message is visible onBlock: null, // callback method invoked when unblocking has completed; the callback is // passed the element that has been unblocked (which is the window object for page // blocks) and the options that were passed to the unblock call: // onUnblock(element, options) onUnblock: null, // callback method invoked when the overlay area is clicked. // setting this will turn the cursor to a pointer, otherwise cursor defined in overlayCss will be used. onOverlayClick: null, // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493 quirksmodeOffsetHack: 4, // class name of the message block blockMsgClass: 'blockMsg', // if it is already blocked, then ignore it (don't unblock and reblock) ignoreIfBlocked: false }; // private data and functions follow... var pageBlock = null; var pageBlockEls = []; function install(el, opts) { var css, themedCSS; var full = (el == window); var msg = (opts && opts.message !== undefined ? opts.message : undefined); opts = $.extend({}, $.blockUI.defaults, opts || {}); if (opts.ignoreIfBlocked && $(el).data('blockUI.isBlocked')) return; opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {}); css = $.extend({}, $.blockUI.defaults.css, opts.css || {}); if (opts.onOverlayClick) opts.overlayCSS.cursor = 'pointer'; themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {}); msg = msg === undefined ? opts.message : msg; // remove the current block (if there is one) if (full && pageBlock) remove(window, {fadeOut:0}); // if an existing element is being used as the blocking content then we capture // its current place in the DOM (and current display style) so we can restore // it when we unblock if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) { var node = msg.jquery ? msg[0] : msg; var data = {}; $(el).data('blockUI.history', data); data.el = node; data.parent = node.parentNode; data.display = node.style.display; data.position = node.style.position; if (data.parent) data.parent.removeChild(node); } $(el).data('blockUI.onUnblock', opts.onUnblock); var z = opts.baseZ; // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform; // layer1 is the iframe layer which is used to suppress bleed through of underlying content // layer2 is the overlay layer which has opacity and a wait cursor (by default) // layer3 is the message content that is displayed while blocking var lyr1, lyr2, lyr3, s; if (msie || opts.forceIframe) lyr1 = $(''); else lyr1 = $(''); if (opts.theme) lyr2 = $(''); else lyr2 = $(''); if (opts.theme && full) { s = ''; } else if (opts.theme) { s = ''; } else if (full) { s = ''; } else { s = ''; } lyr3 = $(s); // if we have a message, style it if (msg) { if (opts.theme) { lyr3.css(themedCSS); lyr3.addClass('ui-widget-content'); } else lyr3.css(css); } // style the overlay if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/) lyr2.css(opts.overlayCSS); lyr2.css('position', full ? 'fixed' : 'absolute'); // make iframe layer transparent in IE if (msie || opts.forceIframe) lyr1.css('opacity',0.0); //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el); var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el); $.each(layers, function() { this.appendTo($par); }); if (opts.theme && opts.draggable && $.fn.draggable) { lyr3.draggable({ handle: '.ui-dialog-titlebar', cancel: 'li' }); } // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling) var expr = setExpr && ( "CSS1Compat" !== document.compatMode || $('object,embed', full ? null : el).length > 0); if (ie6 || expr) { // give body 100% height if (full && opts.allowBodyStretch && "CSS1Compat" === document.compatMode) $('html,body').css('height','100%'); // fix ie6 issue when blocked element has a border width if ((ie6 || "CSS1Compat" !== document.compatMode) && !full) { var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth'); var fixT = t ? '(0 - '+t+')' : 0; var fixL = l ? '(0 - '+l+')' : 0; } // simulate fixed position $.each(layers, function(i,o) { var s = o[0].style; s.position = 'absolute'; if (i < 2) { if (full) s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - ("CSS1Compat" === document.compatMode?0:'+opts.quirksmodeOffsetHack+') + "px"'); else s.setExpression('height','this.parentNode.offsetHeight + "px"'); if (full) s.setExpression('width','"CSS1Compat" === document.compatMode && document.documentElement.clientWidth || document.body.clientWidth + "px"'); else s.setExpression('width','this.parentNode.offsetWidth + "px"'); if (fixL) s.setExpression('left', fixL); if (fixT) s.setExpression('top', fixT); } else if (opts.centerY) { if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'); s.marginTop = 0; } else if (!opts.centerY && full) { var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0; var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"'; s.setExpression('top',expression); } }); } // show the message if (msg) { if (opts.theme) lyr3.find('.ui-widget-content').append(msg); else lyr3.append(msg); if (msg.jquery || msg.nodeType) $(msg).show(); } if ((msie || opts.forceIframe) && opts.showOverlay) lyr1.show(); // opacity is zero if (opts.fadeIn) { var cb = opts.onBlock ? opts.onBlock : noOp; var cb1 = (opts.showOverlay && !msg) ? cb : noOp; var cb2 = msg ? cb : noOp; if (opts.showOverlay) lyr2._fadeIn(opts.fadeIn, cb1); if (msg) lyr3._fadeIn(opts.fadeIn, cb2); } else { if (opts.showOverlay) lyr2.show(); if (msg) lyr3.show(); if (opts.onBlock) opts.onBlock.bind(lyr3)(); } // bind key and mouse events bind(1, el, opts); if (full) { pageBlock = lyr3[0]; pageBlockEls = $(opts.focusableElements,pageBlock); if (opts.focusInput) setTimeout(focus, 20); } else center(lyr3[0], opts.centerX, opts.centerY); if (opts.timeout) { // auto-unblock var to = setTimeout(function() { if (full) $.unblockUI(opts); else $(el).unblock(opts); }, opts.timeout); $(el).data('blockUI.timeout', to); } } // remove the block function remove(el, opts) { var count; var full = (el == window); var $el = $(el); var data = $el.data('blockUI.history'); var to = $el.data('blockUI.timeout'); if (to) { clearTimeout(to); $el.removeData('blockUI.timeout'); } opts = $.extend({}, $.blockUI.defaults, opts || {}); bind(0, el, opts); // unbind events if (opts.onUnblock === null) { opts.onUnblock = $el.data('blockUI.onUnblock'); $el.removeData('blockUI.onUnblock'); } var els; if (full) // crazy selector to handle odd field errors in ie6/7 els = $('body').children().filter('.blockUI').add('body > .blockUI'); else els = $el.find('>.blockUI'); // fix cursor issue if ( opts.cursorReset ) { if ( els.length > 1 ) els[1].style.cursor = opts.cursorReset; if ( els.length > 2 ) els[2].style.cursor = opts.cursorReset; } if (full) pageBlock = pageBlockEls = null; if (opts.fadeOut) { count = els.length; els.stop().fadeOut(opts.fadeOut, function() { if ( --count === 0) reset(els,data,opts,el); }); } else reset(els, data, opts, el); } // move blocking element back into the DOM where it started function reset(els,data,opts,el) { var $el = $(el); if ( $el.data('blockUI.isBlocked') ) return; els.each(function(i,o) { // remove via DOM calls so we don't lose event handlers if (this.parentNode) this.parentNode.removeChild(this); }); if (data && data.el) { data.el.style.display = data.display; data.el.style.position = data.position; data.el.style.cursor = 'default'; // #59 if (data.parent) data.parent.appendChild(data.el); $el.removeData('blockUI.history'); } if ($el.data('blockUI.static')) { $el.css('position', 'static'); // #22 } if (typeof opts.onUnblock == 'function') opts.onUnblock(el,opts); // fix issue in Safari 6 where block artifacts remain until reflow var body = $(document.body), w = body.width(), cssW = body[0].style.width; body.width(w-1).width(w); body[0].style.width = cssW; } // bind/unbind the handler function bind(b, el, opts) { var full = el == window, $el = $(el); // don't bother unbinding if there is nothing to unbind if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked'))) return; $el.data('blockUI.isBlocked', b); // don't bind events when overlay is not in use or if bindEvents is false if (!full || !opts.bindEvents || (b && !opts.showOverlay)) return; // bind anchors and inputs for mouse and key events var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove'; if (b) $(document).on(events, opts, handler); else $(document).off(events, handler); // former impl... // var $e = $('a,:input'); // b ? $e.bind(events, opts, handler) : $e.unbind(events, handler); } // event handler to suppress keyboard/mouse events when blocking function handler(e) { // allow tab navigation (conditionally) if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) { if (pageBlock && e.data.constrainTabKey) { var els = pageBlockEls; var fwd = !e.shiftKey && e.target === els[els.length-1]; var back = e.shiftKey && e.target === els[0]; if (fwd || back) { setTimeout(function(){focus(back);},10); return false; } } } var opts = e.data; var target = $(e.target); if (target.hasClass('blockOverlay') && opts.onOverlayClick) opts.onOverlayClick(e); // allow events within the message content if (target.parents('div.' + opts.blockMsgClass).length > 0) return true; // allow events for content that is not being blocked return target.parents().children().filter('div.blockUI').length === 0; } function focus(back) { if (!pageBlockEls) return; var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0]; if (e) e.focus(); } function center(el, x, y) { var p = el.parentNode, s = el.style; var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth'); var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth'); if (x) s.left = l > 0 ? (l+'px') : '0'; if (y) s.top = t > 0 ? (t+'px') : '0'; } function sz(el, p) { return parseInt($.css(el,p),10)||0; } jQuery.migrateDeduplicateWarnings = migrateDeduplicateWarnings; } /*global define:true */ if (typeof define === 'function' && define.amd && define.amd.jQuery) { define(['jquery'], setup); } else { setup(jQuery); } })(); includes/jquery-ui.custom-v1.12.1-1-24-4.min.css000064400000117061147400355670014560 0ustar00/* jQuery UI - v1.12.1* http://jqueryui.com* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, menu.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=custom-theme&bgImgOpacityError=18&bgImgOpacityHighlight=75&bgImgOpacityActive=65&bgImgOpacityHover=100&bgImgOpacityDefault=100&bgImgOpacityContent=100&bgImgOpacityHeader=35&cornerRadiusShadow=5px&offsetLeftShadow=-5px&offsetTopShadow=-5px&thicknessShadow=5px&opacityShadow=20&bgImgOpacityShadow=10&bgTextureShadow=flat&bgColorShadow=%23000000&opacityOverlay=50&bgImgOpacityOverlay=20&bgTextureOverlay=flat&bgColorOverlay=%23666666&iconColorError=%23ffd27a&fcError=%23ffffff&borderColorError=%23cd0a0a&bgTextureError=flat&bgColorError=%23b81900&iconColorHighlight=%23228ef1&fcHighlight=%23363636&borderColorHighlight=%23fed22f&bgTextureHighlight=flat&bgColorHighlight=%23ffe45c&iconColorActive=%23ef8c08&fcActive=%23454545&borderColorActive=%23C5C5C5&bgTextureActive=flat&bgColorActive=%23F6F6F6&iconColorHover=%23ef8c08&fcHover=%23454545&borderColorHover=%23C5C5C5&bgTextureHover=flat&bgColorHover=%23F6F6F6&iconColorDefault=%23ef8c08&fcDefault=%232B2B2B&borderColorDefault=%23CCC&bgTextureDefault=flat&bgColorDefault=%23f6f6f6&iconColorContent=%23222222&fcContent=%23333333&borderColorContent=%23dddddd&bgTextureContent=flat&bgColorContent=%23eeeeee&iconColorHeader=%23ffffff&fcHeader=%23ffffff&borderColorHeader=%23e78f08&bgTextureHeader=flat&bgColorHeader=%23f6a828&cornerRadius=4px&fwDefault=bold&fsDefault=1.1em&ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif* Copyright jQuery Foundation and other contributors; Licensed MIT* Changes: Add CSS scope (.updraft-container) to prevent CSS conflict with other plugins that use jQuery UI too except for .ui-front and .ui-widget-overlay*/.updraft-container{position:absolute;top:0;width:1px;height:1px;z-index:99999}.updraft-container .ui-draggable-handle{-ms-touch-action:none;touch-action:none}.updraft-container .ui-helper-hidden{display:none}.updraft-container .ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.updraft-container .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.updraft-container .ui-helper-clearfix:before,.updraft-container .ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.updraft-container .ui-helper-clearfix:after{clear:both}.updraft-container .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:alpha(opacity=0)}.ui-front{z-index:100}.updraft-container .ui-state-disabled{cursor:default !important;pointer-events:none}.updraft-container .ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.updraft-container .ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.updraft-container .ui-resizable{position:relative}.updraft-container .ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.updraft-container .ui-resizable-disabled .ui-resizable-handle,.updraft-container .ui-resizable-autohide .ui-resizable-handle{display:none}.updraft-container .ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.updraft-container .ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.updraft-container .ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.updraft-container .ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.updraft-container .ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.updraft-container .ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.updraft-container .ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.updraft-container .ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.updraft-container .ui-selectable{-ms-touch-action:none;touch-action:none}.updraft-container .ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.updraft-container .ui-sortable-handle{-ms-touch-action:none;touch-action:none}.updraft-container .ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.updraft-container .ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.updraft-container .ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.updraft-container .ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.updraft-container .ui-menu .ui-menu{position:absolute}.updraft-container .ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.updraft-container .ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.updraft-container .ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.updraft-container .ui-menu .ui-state-focus,.updraft-container .ui-menu .ui-state-active{margin:-1px}.updraft-container .ui-menu-icons{position:relative}.updraft-container .ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.updraft-container .ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.updraft-container .ui-menu .ui-menu-icon{left:auto;right:0}.updraft-container .ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.updraft-container .ui-button,.updraft-container .ui-button:link,.updraft-container .ui-button:visited,.updraft-container .ui-button:hover,.updraft-container .ui-button:active{text-decoration:none}.updraft-container .ui-button-icon-only{width:2em;-webkit-box-sizing:border-box;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}.updraft-container input.ui-button.ui-button-icon-only{text-indent:0}.updraft-container .ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.updraft-container .ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}.updraft-container input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}.updraft-container input.ui-button::-moz-focus-inner,.updraft-container button.ui-button::-moz-focus-inner{border:0;padding:0}.updraft-container .ui-controlgroup{vertical-align:middle;display:inline-block}.updraft-container .ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.updraft-container .ui-controlgroup>.ui-controlgroup-item:focus,.updraft-container .ui-controlgroup>.ui-controlgroup-item.ui-visual-focus{z-index:9999}.updraft-container .ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.updraft-container .ui-controlgroup-vertical .ui-controlgroup-item{-webkit-box-sizing:border-box;box-sizing:border-box}.updraft-container .ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.updraft-container .ui-controlgroup .ui-controlgroup-label span{font-size:80%}.updraft-container .ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:0}.updraft-container .ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:0}.updraft-container .ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:0}.updraft-container .ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:0}.updraft-container .ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc(100% - 2.4em)}.updraft-container .ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.updraft-container .ui-checkboxradio-label .ui-icon-background{-webkit-box-shadow:inset 1px 1px 1px #CCC;box-shadow:inset 1px 1px 1px #CCC;border-radius:.12em;border:0}.updraft-container .ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:0}.updraft-container .ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.updraft-container .ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.updraft-container .ui-checkboxradio-disabled{pointer-events:none}.updraft-container .ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.updraft-container .ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.updraft-container .ui-datepicker .ui-datepicker-prev,.updraft-container .ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.updraft-container .ui-datepicker .ui-datepicker-prev-hover,.updraft-container .ui-datepicker .ui-datepicker-next-hover{top:1px}.updraft-container .ui-datepicker .ui-datepicker-prev{left:2px}.updraft-container .ui-datepicker .ui-datepicker-next{right:2px}.updraft-container .ui-datepicker .ui-datepicker-prev-hover{left:1px}.updraft-container .ui-datepicker .ui-datepicker-next-hover{right:1px}.updraft-container .ui-datepicker .ui-datepicker-prev span,.updraft-container .ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.updraft-container .ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.updraft-container .ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.updraft-container .ui-datepicker select.ui-datepicker-month,.updraft-container .ui-datepicker select.ui-datepicker-year{width:45%}.updraft-container .ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.updraft-container .ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.updraft-container .ui-datepicker td{border:0;padding:1px}.updraft-container .ui-datepicker td span,.updraft-container .ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.updraft-container .ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.updraft-container .ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.updraft-container .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.updraft-container .ui-datepicker.ui-datepicker-multi{width:auto}.updraft-container .ui-datepicker-multi .ui-datepicker-group{float:left}.updraft-container .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.updraft-container .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.updraft-container .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.updraft-container .ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.updraft-container .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.updraft-container .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.updraft-container .ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.updraft-container .ui-datepicker-row-break{clear:both;width:100%;font-size:0}.updraft-container .ui-datepicker-rtl{direction:rtl}.updraft-container .ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.updraft-container .ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.updraft-container .ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.updraft-container .ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.updraft-container .ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.updraft-container .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.updraft-container .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.updraft-container .ui-datepicker-rtl .ui-datepicker-group{float:right}.updraft-container .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.updraft-container .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.updraft-container .ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.updraft-container .ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.updraft-container .ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative;height:auto;font-size:inherit;font-weight:inherit;line-height:inherit}.updraft-container .ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.updraft-container .ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.updraft-container .ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.updraft-container .ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.updraft-container .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.updraft-container .ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.updraft-container .ui-dialog .ui-resizable-n{height:2px;top:0}.updraft-container .ui-dialog .ui-resizable-e{width:2px;right:0}.updraft-container .ui-dialog .ui-resizable-s{height:2px;bottom:0}.updraft-container .ui-dialog .ui-resizable-w{width:2px;left:0}.updraft-container .ui-dialog .ui-resizable-se,.updraft-container .ui-dialog .ui-resizable-sw,.updraft-container .ui-dialog .ui-resizable-ne,.updraft-container .ui-dialog .ui-resizable-nw{width:7px;height:7px}.updraft-container .ui-dialog .ui-resizable-se{right:0;bottom:0}.updraft-container .ui-dialog .ui-resizable-sw{left:0;bottom:0}.updraft-container .ui-dialog .ui-resizable-ne{right:0;top:0}.updraft-container .ui-dialog .ui-resizable-nw{left:0;top:0}.updraft-container .ui-draggable .ui-dialog-titlebar{cursor:move}.updraft-container .ui-progressbar{height:2em;text-align:left;overflow:hidden}.updraft-container .ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.updraft-container .ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:.25}.updraft-container .ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.updraft-container .ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.updraft-container .ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.updraft-container .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px .4em;margin:.5em 0 0 0;height:auto;border:0}.updraft-container .ui-selectmenu-open{display:block}.updraft-container .ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.updraft-container .ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.updraft-container .ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.updraft-container .ui-slider{position:relative;text-align:left}.updraft-container .ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.updraft-container .ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.updraft-container .ui-slider.ui-state-disabled .ui-slider-handle,.updraft-container .ui-slider.ui-state-disabled .ui-slider-range{-webkit-filter:inherit;filter:inherit}.updraft-container .ui-slider-horizontal{height:.8em}.updraft-container .ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.updraft-container .ui-slider-horizontal .ui-slider-range{top:0;height:100%}.updraft-container .ui-slider-horizontal .ui-slider-range-min{left:0}.updraft-container .ui-slider-horizontal .ui-slider-range-max{right:0}.updraft-container .ui-slider-vertical{width:.8em;height:100px}.updraft-container .ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.updraft-container .ui-slider-vertical .ui-slider-range{left:0;width:100%}.updraft-container .ui-slider-vertical .ui-slider-range-min{bottom:0}.updraft-container .ui-slider-vertical .ui-slider-range-max{top:0}.updraft-container .ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.updraft-container .ui-spinner-input{border:0;background:0;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.updraft-container .ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.updraft-container .ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.updraft-container .ui-spinner-up{top:0}.updraft-container .ui-spinner-down{bottom:0}.updraft-container .ui-tabs{position:relative;padding:.2em}.updraft-container .ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.updraft-container .ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.updraft-container .ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.updraft-container .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.updraft-container .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.updraft-container .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.updraft-container .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.updraft-container .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.updraft-container .ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}.updraft-container .ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}.updraft-container body .ui-tooltip{border-width:2px}.updraft-container .ui-widget{font-family:trebuchet ms,tahoma,verdana,arial,sans-serif;font-size:1.1em}.updraft-container .ui-widget .ui-widget{font-size:1em}.updraft-container .ui-widget input,.updraft-container .ui-widget select,.updraft-container .ui-widget textarea,.updraft-container .ui-widget button{font-family:trebuchet ms,tahoma,verdana,arial,sans-serif;font-size:1em}.updraft-container .ui-widget.ui-widget-content{border:1px solid #CCC}.updraft-container .ui-widget-content{border:1px solid #DDD;background:#EEE;color:#333}.updraft-container .ui-widget-content a{color:#333}.updraft-container .ui-widget-header{border:1px solid #e78f08;background:#f6a828;color:#FFF;font-weight:bold}.updraft-container .ui-widget-header a{color:#FFF}.updraft-container .ui-state-default,.updraft-container .ui-widget-content .ui-state-default,.updraft-container .ui-widget-header .ui-state-default,.updraft-container .ui-button,.updraft-container html .ui-button.ui-state-disabled:hover,.updraft-container html .ui-button.ui-state-disabled:active{border:1px solid #CCC;background:#f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#2b2b2b}.updraft-container .ui-state-default a,.updraft-container .ui-state-default a:link,.updraft-container .ui-state-default a:visited,.updraft-container a.ui-button,.updraft-container a:link.ui-button,.updraft-container a:visited.ui-button,.updraft-container .ui-button{color:#2b2b2b;text-decoration:none}.updraft-container .ui-state-hover,.updraft-container .ui-widget-content .ui-state-hover,.updraft-container .ui-widget-header .ui-state-hover,.updraft-container .ui-state-focus,.updraft-container .ui-widget-content .ui-state-focus,.updraft-container .ui-widget-header .ui-state-focus,.updraft-container .ui-button:hover,.updraft-container .ui-button:focus{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.updraft-container .ui-state-hover a,.updraft-container .ui-state-hover a:hover,.updraft-container .ui-state-hover a:link,.updraft-container .ui-state-hover a:visited,.updraft-container .ui-state-focus a,.updraft-container .ui-state-focus a:hover,.updraft-container .ui-state-focus a:link,.updraft-container .ui-state-focus a:visited,.updraft-container a.ui-button:hover,.updraft-container a.ui-button:focus{color:#454545;text-decoration:none}.updraft-container .ui-visual-focus{-webkit-box-shadow:0 0 3px 1px #5e9ed6;box-shadow:0 0 3px 1px #5e9ed6}.updraft-container .ui-state-active,.updraft-container .ui-widget-content .ui-state-active,.updraft-container .ui-widget-header .ui-state-active,.updraft-container a.ui-button:active,.updraft-container .ui-button:active,.updraft-container .ui-button.ui-state-active:hover{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.updraft-container .ui-icon-background,.updraft-container .ui-state-active .ui-icon-background{border:#c5c5c5;background-color:#454545}.updraft-container .ui-state-active a,.updraft-container .ui-state-active a:link,.updraft-container .ui-state-active a:visited{color:#454545;text-decoration:none}.updraft-container .ui-state-highlight,.updraft-container .ui-widget-content .ui-state-highlight,.updraft-container .ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c;color:#363636}.updraft-container .ui-state-checked{border:1px solid #fed22f;background:#ffe45c}.updraft-container .ui-state-highlight a,.updraft-container .ui-widget-content .ui-state-highlight a,.updraft-container .ui-widget-header .ui-state-highlight a{color:#363636}.updraft-container .ui-state-error,.updraft-container .ui-widget-content .ui-state-error,.updraft-container .ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900;color:#FFF}.updraft-container .ui-state-error a,.updraft-container .ui-widget-content .ui-state-error a,.updraft-container .ui-widget-header .ui-state-error a{color:#FFF}.updraft-container .ui-state-error-text,.updraft-container .ui-widget-content .ui-state-error-text,.updraft-container .ui-widget-header .ui-state-error-text{color:#FFF}.updraft-container .ui-priority-primary,.updraft-container .ui-widget-content .ui-priority-primary,.updraft-container .ui-widget-header .ui-priority-primary{font-weight:bold}.updraft-container .ui-priority-secondary,.updraft-container .ui-widget-content .ui-priority-secondary,.updraft-container .ui-widget-header .ui-priority-secondary{opacity:.7;filter:alpha(opacity=70);font-weight:normal}.updraft-container .ui-state-disabled,.updraft-container .ui-widget-content .ui-state-disabled,.updraft-container .ui-widget-header .ui-state-disabled{opacity:.35;filter:alpha(opacity=35);background-image:none}.updraft-container .ui-state-disabled .ui-icon{filter:alpha(opacity=35)}.updraft-container .ui-icon{width:16px;height:16px}.updraft-container .ui-icon,.updraft-container .ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.updraft-container .ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.updraft-container .ui-state-hover .ui-icon,.updraft-container .ui-state-focus .ui-icon,.updraft-container .ui-button:hover .ui-icon,.updraft-container .ui-button:focus .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.updraft-container .ui-state-active .ui-icon,.updraft-container .ui-button:active .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.updraft-container .ui-state-highlight .ui-icon,.updraft-container .ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.updraft-container .ui-state-error .ui-icon,.updraft-container .ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.updraft-container .ui-button .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.updraft-container .ui-icon-blank{background-position:16px 16px}.updraft-container .ui-icon-caret-1-n{background-position:0 0}.updraft-container .ui-icon-caret-1-ne{background-position:-16px 0}.updraft-container .ui-icon-caret-1-e{background-position:-32px 0}.updraft-container .ui-icon-caret-1-se{background-position:-48px 0}.updraft-container .ui-icon-caret-1-s{background-position:-65px 0}.updraft-container .ui-icon-caret-1-sw{background-position:-80px 0}.updraft-container .ui-icon-caret-1-w{background-position:-96px 0}.updraft-container .ui-icon-caret-1-nw{background-position:-112px 0}.updraft-container .ui-icon-caret-2-n-s{background-position:-128px 0}.updraft-container .ui-icon-caret-2-e-w{background-position:-144px 0}.updraft-container .ui-icon-triangle-1-n{background-position:0 -16px}.updraft-container .ui-icon-triangle-1-ne{background-position:-16px -16px}.updraft-container .ui-icon-triangle-1-e{background-position:-32px -16px}.updraft-container .ui-icon-triangle-1-se{background-position:-48px -16px}.updraft-container .ui-icon-triangle-1-s{background-position:-65px -16px}.updraft-container .ui-icon-triangle-1-sw{background-position:-80px -16px}.updraft-container .ui-icon-triangle-1-w{background-position:-96px -16px}.updraft-container .ui-icon-triangle-1-nw{background-position:-112px -16px}.updraft-container .ui-icon-triangle-2-n-s{background-position:-128px -16px}.updraft-container .ui-icon-triangle-2-e-w{background-position:-144px -16px}.updraft-container .ui-icon-arrow-1-n{background-position:0 -32px}.updraft-container .ui-icon-arrow-1-ne{background-position:-16px -32px}.updraft-container .ui-icon-arrow-1-e{background-position:-32px -32px}.updraft-container .ui-icon-arrow-1-se{background-position:-48px -32px}.updraft-container .ui-icon-arrow-1-s{background-position:-65px -32px}.updraft-container .ui-icon-arrow-1-sw{background-position:-80px -32px}.updraft-container .ui-icon-arrow-1-w{background-position:-96px -32px}.updraft-container .ui-icon-arrow-1-nw{background-position:-112px -32px}.updraft-container .ui-icon-arrow-2-n-s{background-position:-128px -32px}.updraft-container .ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.updraft-container .ui-icon-arrow-2-e-w{background-position:-160px -32px}.updraft-container .ui-icon-arrow-2-se-nw{background-position:-176px -32px}.updraft-container .ui-icon-arrowstop-1-n{background-position:-192px -32px}.updraft-container .ui-icon-arrowstop-1-e{background-position:-208px -32px}.updraft-container .ui-icon-arrowstop-1-s{background-position:-224px -32px}.updraft-container .ui-icon-arrowstop-1-w{background-position:-240px -32px}.updraft-container .ui-icon-arrowthick-1-n{background-position:1px -48px}.updraft-container .ui-icon-arrowthick-1-ne{background-position:-16px -48px}.updraft-container .ui-icon-arrowthick-1-e{background-position:-32px -48px}.updraft-container .ui-icon-arrowthick-1-se{background-position:-48px -48px}.updraft-container .ui-icon-arrowthick-1-s{background-position:-64px -48px}.updraft-container .ui-icon-arrowthick-1-sw{background-position:-80px -48px}.updraft-container .ui-icon-arrowthick-1-w{background-position:-96px -48px}.updraft-container .ui-icon-arrowthick-1-nw{background-position:-112px -48px}.updraft-container .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.updraft-container .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.updraft-container .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.updraft-container .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.updraft-container .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.updraft-container .ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.updraft-container .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.updraft-container .ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.updraft-container .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.updraft-container .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.updraft-container .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.updraft-container .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.updraft-container .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.updraft-container .ui-icon-arrowreturn-1-n{background-position:-80px -64px}.updraft-container .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.updraft-container .ui-icon-arrowreturn-1-s{background-position:-112px -64px}.updraft-container .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.updraft-container .ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.updraft-container .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.updraft-container .ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.updraft-container .ui-icon-arrow-4{background-position:0 -80px}.updraft-container .ui-icon-arrow-4-diag{background-position:-16px -80px}.updraft-container .ui-icon-extlink{background-position:-32px -80px}.updraft-container .ui-icon-newwin{background-position:-48px -80px}.updraft-container .ui-icon-refresh{background-position:-64px -80px}.updraft-container .ui-icon-shuffle{background-position:-80px -80px}.updraft-container .ui-icon-transfer-e-w{background-position:-96px -80px}.updraft-container .ui-icon-transferthick-e-w{background-position:-112px -80px}.updraft-container .ui-icon-folder-collapsed{background-position:0 -96px}.updraft-container .ui-icon-folder-open{background-position:-16px -96px}.updraft-container .ui-icon-document{background-position:-32px -96px}.updraft-container .ui-icon-document-b{background-position:-48px -96px}.updraft-container .ui-icon-note{background-position:-64px -96px}.updraft-container .ui-icon-mail-closed{background-position:-80px -96px}.updraft-container .ui-icon-mail-open{background-position:-96px -96px}.updraft-container .ui-icon-suitcase{background-position:-112px -96px}.updraft-container .ui-icon-comment{background-position:-128px -96px}.updraft-container .ui-icon-person{background-position:-144px -96px}.updraft-container .ui-icon-print{background-position:-160px -96px}.updraft-container .ui-icon-trash{background-position:-176px -96px}.updraft-container .ui-icon-locked{background-position:-192px -96px}.updraft-container .ui-icon-unlocked{background-position:-208px -96px}.updraft-container .ui-icon-bookmark{background-position:-224px -96px}.updraft-container .ui-icon-tag{background-position:-240px -96px}.updraft-container .ui-icon-home{background-position:0 -112px}.updraft-container .ui-icon-flag{background-position:-16px -112px}.updraft-container .ui-icon-calendar{background-position:-32px -112px}.updraft-container .ui-icon-cart{background-position:-48px -112px}.updraft-container .ui-icon-pencil{background-position:-64px -112px}.updraft-container .ui-icon-clock{background-position:-80px -112px}.updraft-container .ui-icon-disk{background-position:-96px -112px}.updraft-container .ui-icon-calculator{background-position:-112px -112px}.updraft-container .ui-icon-zoomin{background-position:-128px -112px}.updraft-container .ui-icon-zoomout{background-position:-144px -112px}.updraft-container .ui-icon-search{background-position:-160px -112px}.updraft-container .ui-icon-wrench{background-position:-176px -112px}.updraft-container .ui-icon-gear{background-position:-192px -112px}.updraft-container .ui-icon-heart{background-position:-208px -112px}.updraft-container .ui-icon-star{background-position:-224px -112px}.updraft-container .ui-icon-link{background-position:-240px -112px}.updraft-container .ui-icon-cancel{background-position:0 -128px}.updraft-container .ui-icon-plus{background-position:-16px -128px}.updraft-container .ui-icon-plusthick{background-position:-32px -128px}.updraft-container .ui-icon-minus{background-position:-48px -128px}.updraft-container .ui-icon-minusthick{background-position:-64px -128px}.updraft-container .ui-icon-close{background-position:-80px -128px}.updraft-container .ui-icon-closethick{background-position:-96px -128px}.updraft-container .ui-icon-key{background-position:-112px -128px}.updraft-container .ui-icon-lightbulb{background-position:-128px -128px}.updraft-container .ui-icon-scissors{background-position:-144px -128px}.updraft-container .ui-icon-clipboard{background-position:-160px -128px}.updraft-container .ui-icon-copy{background-position:-176px -128px}.updraft-container .ui-icon-contact{background-position:-192px -128px}.updraft-container .ui-icon-image{background-position:-208px -128px}.updraft-container .ui-icon-video{background-position:-224px -128px}.updraft-container .ui-icon-script{background-position:-240px -128px}.updraft-container .ui-icon-alert{background-position:0 -144px}.updraft-container .ui-icon-info{background-position:-16px -144px}.updraft-container .ui-icon-notice{background-position:-32px -144px}.updraft-container .ui-icon-help{background-position:-48px -144px}.updraft-container .ui-icon-check{background-position:-64px -144px}.updraft-container .ui-icon-bullet{background-position:-80px -144px}.updraft-container .ui-icon-radio-on{background-position:-96px -144px}.updraft-container .ui-icon-radio-off{background-position:-112px -144px}.updraft-container .ui-icon-pin-w{background-position:-128px -144px}.updraft-container .ui-icon-pin-s{background-position:-144px -144px}.updraft-container .ui-icon-play{background-position:0 -160px}.updraft-container .ui-icon-pause{background-position:-16px -160px}.updraft-container .ui-icon-seek-next{background-position:-32px -160px}.updraft-container .ui-icon-seek-prev{background-position:-48px -160px}.updraft-container .ui-icon-seek-end{background-position:-64px -160px}.updraft-container .ui-icon-seek-start{background-position:-80px -160px}.updraft-container .ui-icon-seek-first{background-position:-80px -160px}.updraft-container .ui-icon-stop{background-position:-96px -160px}.updraft-container .ui-icon-eject{background-position:-112px -160px}.updraft-container .ui-icon-volume-off{background-position:-128px -160px}.updraft-container .ui-icon-volume-on{background-position:-144px -160px}.updraft-container .ui-icon-power{background-position:0 -176px}.updraft-container .ui-icon-signal-diag{background-position:-16px -176px}.updraft-container .ui-icon-signal{background-position:-32px -176px}.updraft-container .ui-icon-battery-0{background-position:-48px -176px}.updraft-container .ui-icon-battery-1{background-position:-64px -176px}.updraft-container .ui-icon-battery-2{background-position:-80px -176px}.updraft-container .ui-icon-battery-3{background-position:-96px -176px}.updraft-container .ui-icon-circle-plus{background-position:0 -192px}.updraft-container .ui-icon-circle-minus{background-position:-16px -192px}.updraft-container .ui-icon-circle-close{background-position:-32px -192px}.updraft-container .ui-icon-circle-triangle-e{background-position:-48px -192px}.updraft-container .ui-icon-circle-triangle-s{background-position:-64px -192px}.updraft-container .ui-icon-circle-triangle-w{background-position:-80px -192px}.updraft-container .ui-icon-circle-triangle-n{background-position:-96px -192px}.updraft-container .ui-icon-circle-arrow-e{background-position:-112px -192px}.updraft-container .ui-icon-circle-arrow-s{background-position:-128px -192px}.updraft-container .ui-icon-circle-arrow-w{background-position:-144px -192px}.updraft-container .ui-icon-circle-arrow-n{background-position:-160px -192px}.updraft-container .ui-icon-circle-zoomin{background-position:-176px -192px}.updraft-container .ui-icon-circle-zoomout{background-position:-192px -192px}.updraft-container .ui-icon-circle-check{background-position:-208px -192px}.updraft-container .ui-icon-circlesmall-plus{background-position:0 -208px}.updraft-container .ui-icon-circlesmall-minus{background-position:-16px -208px}.updraft-container .ui-icon-circlesmall-close{background-position:-32px -208px}.updraft-container .ui-icon-squaresmall-plus{background-position:-48px -208px}.updraft-container .ui-icon-squaresmall-minus{background-position:-64px -208px}.updraft-container .ui-icon-squaresmall-close{background-position:-80px -208px}.updraft-container .ui-icon-grip-dotted-vertical{background-position:0 -224px}.updraft-container .ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.updraft-container .ui-icon-grip-solid-vertical{background-position:-32px -224px}.updraft-container .ui-icon-grip-solid-horizontal{background-position:-48px -224px}.updraft-container .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.updraft-container .ui-icon-grip-diagonal-se{background-position:-80px -224px}.updraft-container .ui-corner-all,.updraft-container .ui-corner-top,.updraft-container .ui-corner-left,.updraft-container .ui-corner-tl{border-top-left-radius:4px}.updraft-container .ui-corner-all,.updraft-container .ui-corner-top,.updraft-container .ui-corner-right,.updraft-container .ui-corner-tr{border-top-right-radius:4px}.updraft-container .ui-corner-all,.updraft-container .ui-corner-bottom,.updraft-container .ui-corner-left,.updraft-container .ui-corner-bl{border-bottom-left-radius:4px}.updraft-container .ui-corner-all,.updraft-container .ui-corner-bottom,.updraft-container .ui-corner-right,.updraft-container .ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666;opacity:.5;filter:alpha(opacity=50)}.updraft-container .ui-widget-shadow{-webkit-box-shadow:-5px -5px 5px #000;box-shadow:-5px -5px 5px #000} /*# sourceMappingURL=jquery-ui.custom-v1.12.1-1-24-4.min.css.map */ includes/class-job-scheduler.php000064400000024470147400355670012736 0ustar00jobdata_get('run_times'); if (!is_array($time_passed)) $time_passed = array(); $time_this_run = microtime(true)-$updraftplus->opened_log_time; $time_passed[$updraftplus->current_resumption] = $time_this_run; $updraftplus->jobdata_set('run_times', $time_passed); $resume_interval = $updraftplus->jobdata_get('resume_interval'); if ($time_this_run + 30 > $resume_interval) { $new_interval = ceil($time_this_run + 30); set_site_transient('updraft_initial_resume_interval', (int) $new_interval, 8*86400); $updraftplus->log("The time we have been running (".round($time_this_run, 1).") is approaching the resumption interval ($resume_interval) - increasing resumption interval to $new_interval"); $updraftplus->jobdata_set('resume_interval', $new_interval); } } /** * This method helps with efficient scheduling */ public static function reschedule_if_needed() { global $updraftplus; // If nothing is scheduled, then no re-scheduling is needed, so return if (empty($updraftplus->newresumption_scheduled)) return; $time_away = $updraftplus->newresumption_scheduled - time(); // 45 is chosen because it is 15 seconds more than what is used to detect recent activity on files (file mod times). (If we use exactly the same, then it's more possible to slightly miss each other) if ($time_away > 1 && $time_away <= 45) { $updraftplus->log('The scheduled resumption is within 45 seconds - will reschedule'); // Increase interval generally by 45 seconds, on the assumption that our prior estimates were innaccurate (i.e. not just 45 seconds *this* time) self::increase_resume_and_reschedule(45); } } /** * Indicate that something useful happened. Calling this at appropriate times is an important part of scheduling decisions. */ public static function something_useful_happened() { global $updraftplus; self::record_still_alive(); if (!$updraftplus->something_useful_happened) { // Update the record of when something useful happened $useful_checkins = $updraftplus->jobdata_get('useful_checkins'); if (!is_array($useful_checkins)) $useful_checkins = array(); if (!in_array($updraftplus->current_resumption, $useful_checkins)) { $useful_checkins[] = $updraftplus->current_resumption; $updraftplus->jobdata_set('useful_checkins', $useful_checkins); } } $updraftplus->something_useful_happened = true; $clone_job = $updraftplus->jobdata_get('clone_job'); if (!empty($clone_job)) { static $last_call = false; // Check we haven't yet made a call or that 15 minutes has passed before we make another call if (!$last_call || time() - $last_call > 900) { $last_call = time(); $clone_id = $updraftplus->jobdata_get('clone_id'); $secret_token = $updraftplus->jobdata_get('secret_token'); $log_data = $updraftplus->get_last_log_chunk($updraftplus->file_nonce); $log_contents = isset($log_data['log_contents']) ? $log_data['log_contents'] : ''; $first_byte = isset($log_data['first_byte']) ? $log_data['first_byte'] : 0; $response = $updraftplus->get_updraftplus_clone()->backup_checkin(array('clone_id' => $clone_id, 'secret_token' => $secret_token, 'first_byte' => $first_byte, 'log_contents' => $log_contents)); if (!isset($response['status']) || 'success' != $response['status']) { $updraftplus->log("UpdraftClone backup check-in failed."); } else { $updraftplus->log("UpdraftClone backup check-in made successfully."); } } } $updraft_dir = $updraftplus->backups_dir_location(); if (file_exists($updraft_dir.'/deleteflag-'.$updraftplus->nonce.'.txt')) { $updraftplus->log("User request for abort: backup job will be immediately halted"); @unlink($updraft_dir.'/deleteflag-'.$updraftplus->nonce.'.txt');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. $updraftplus->backup_finish(true, true, true); die; } if ($updraftplus->current_resumption >= 9 && false == $updraftplus->newresumption_scheduled) { $updraftplus->log("This is resumption ".$updraftplus->current_resumption.", but meaningful activity is still taking place; so a new one will be scheduled"); // We just use max here to make sure we get a number at all $resume_interval = max($updraftplus->jobdata_get('resume_interval'), 75); // Don't consult the minimum here // if (!is_numeric($resume_interval) || $resume_interval<300) { $resume_interval = 300; } $schedule_for = time()+$resume_interval; $updraftplus->newresumption_scheduled = $schedule_for; wp_schedule_single_event($schedule_for, 'updraft_backup_resume', array($updraftplus->current_resumption + 1, $updraftplus->nonce)); } else { self::reschedule_if_needed(); } } /** * Reschedule the next resumption for the specified amount of time in the future * * @uses wp_schedule_single_event() * * @param Integer $how_far_ahead - a number of seconds */ public static function reschedule($how_far_ahead) { global $updraftplus; // Reschedule - remove presently scheduled event $next_resumption = $updraftplus->current_resumption + 1; wp_clear_scheduled_hook('updraft_backup_resume', array($next_resumption, $updraftplus->nonce)); // Add new event // This next line may be too cautious; but until 14-Aug-2014, it was 300. // Update 20-Mar-2015 - lowered from 180 to 120 // Update 03-Aug-2018 - lowered from 120 to 100 // Update 09-Oct-2020 - lowered from 100 to 60 if ($how_far_ahead < 60) $how_far_ahead = 60; $schedule_for = time() + $how_far_ahead; $updraftplus->log("Rescheduling resumption $next_resumption: moving to $how_far_ahead seconds from now ($schedule_for)"); wp_schedule_single_event($schedule_for, 'updraft_backup_resume', array($next_resumption, $updraftplus->nonce)); $updraftplus->newresumption_scheduled = $schedule_for; } /** * Terminate a backup run because other activity on the backup has been detected * * @uses die() * * @param String $file - Indicate the file whose recent modification is indicative of activity * @param Integer $time_now - The epoch time at which the detection took place * @param Integer $time_mod - The epoch time at which the file was modified * @param Boolean $increase_resumption - Whether or not to increase the resumption interval */ public static function terminate_due_to_activity($file, $time_now, $time_mod, $increase_resumption = true) { global $updraftplus; // We check-in, to avoid 'no check in last time!' detectors firing. self::record_still_alive(); // Log $file_size = file_exists($file) ? round(filesize($file)/1024, 1). 'KB' : 'n/a'; $updraftplus->log("Terminate: ".basename($file)." exists with activity within the last 30 seconds (time_mod=$time_mod, time_now=$time_now, diff=".(floor($time_now-$time_mod)).", size=$file_size). This likely means that another UpdraftPlus run is at work; so we will exit."); $increase_by = $increase_resumption ? 120 : 0; self::increase_resume_and_reschedule($increase_by, true); // Die, unless there was a deliberate over-ride (for development purposes) if (!defined('UPDRAFTPLUS_ALLOW_RECENT_ACTIVITY') || !UPDRAFTPLUS_ALLOW_RECENT_ACTIVITY) die; } /** * Increase the resumption interval and reschedule the next resumption * * @uses self::reschedule() * * @param Integer $howmuch - how much to add to the existing resumption interval * @param Boolean $due_to_overlap - setting this changes the strategy for calculating the next resumption; it indicates that the reason for an increase is because of recent activity detection */ private static function increase_resume_and_reschedule($howmuch = 120, $due_to_overlap = false) { global $updraftplus; $resume_interval = max((int) $updraftplus->jobdata_get('resume_interval'), (0 === $howmuch) ? 120 : 300); if (empty($updraftplus->newresumption_scheduled) && $due_to_overlap) { $updraftplus->log('A new resumption will be scheduled to prevent the job ending'); } $new_resume = $resume_interval + $howmuch; // It may be that we're increasing for the second (or more) time during a run, and that we already know that the new value will be insufficient, and can be increased if ($updraftplus->opened_log_time > 100 && microtime(true)-$updraftplus->opened_log_time > $new_resume) { $new_resume = ceil(microtime(true)-$updraftplus->opened_log_time)+45; $howmuch = $new_resume-$resume_interval; } // This used to be always $new_resume, until 14-Aug-2014. However, people who have very long-running processes can end up with very long times between resumptions as a result. // Actually, let's not try this yet. I think it is safe, but think there is a more conservative solution available. // $how_far_ahead = min($new_resume, 600); // Nov 2018 - scheduling the next resumption unnecessarily-far-in-the-future after an overlap is still occurring, so, we're adjusting this to have a maximum value in that particular case $how_far_ahead = $due_to_overlap ? min($new_resume, 900) : $new_resume; // If it is very long-running, then that would normally be known soon. // If the interval is already 12 minutes or more, then try the next resumption 10 minutes from now (i.e. sooner than it would have been). Thus, we are guaranteed to get at least 24 minutes of processing in the first 34. if ($updraftplus->current_resumption <= 1 && $new_resume > 720) $how_far_ahead = 600; if (!empty($updraftplus->newresumption_scheduled) || $due_to_overlap) self::reschedule($how_far_ahead); $updraftplus->jobdata_set('resume_interval', $new_resume); $updraftplus->log("To decrease the likelihood of overlaps, increasing resumption interval to: $resume_interval + $howmuch = $new_resume"); } } includes/get-cpanel-quota-usage.pl000064400000000630147400355670013171 0ustar00#!/usr/local/bin/perl use strict; use Env qw(UPDRAFTPLUSKEY); if ($UPDRAFTPLUSKEY ne 'updraftplus') { die('Error'); } BEGIN { unshift @INC, '/usr/local/cpanel'; } use Cpanel::Quota (); # Used, limit, remain, files used, files limit, files remain my @homesize = ( Cpanel::Quota::displayquota( { 'bytes' => 1, 'include_sqldbs' => 1, 'include_mailman' => 1, })); print 'RESULT: '.join(" ", @homesize)."\n"; updraftplus.php000064400000037675147400355670007663 0ustar00 array( 'interval' => 3600, 'display' => apply_filters('updraftplus_cron_schedule_description', __('Every hour', 'updraftplus'), 'everyhour'), ), 'every2hours' => array( 'interval' => 7200, 'display' => apply_filters('updraftplus_cron_schedule_description', sprintf($every_particular_hour_label, '2'), 'every2hours'), ), 'every4hours' => array( 'interval' => 14400, 'display' => apply_filters('updraftplus_cron_schedule_description', sprintf($every_particular_hour_label, '4'), 'every4hours'), ), 'every8hours' => array( 'interval' => 28800, 'display' => apply_filters('updraftplus_cron_schedule_description', sprintf($every_particular_hour_label, '8'), 'every8hours'), ), 'twicedaily' => array( 'interval' => 43200, 'display' => apply_filters('updraftplus_cron_schedule_description', sprintf($every_particular_hour_label, '12'), 'twicedaily'), ), 'daily' => array( 'interval' => 86400, 'display' => apply_filters('updraftplus_cron_schedule_description', __('Daily'), 'daily'), ), 'weekly' => array( 'interval' => 604800, 'display' => apply_filters('updraftplus_cron_schedule_description', __('Weekly'), 'weekly'), ), 'fortnightly' => array( 'interval' => 1209600, 'display' => apply_filters('updraftplus_cron_schedule_description', __('Fortnightly'), 'fortnightly'), ), 'monthly' => array( 'interval' => 2592000, 'display' => apply_filters('updraftplus_cron_schedule_description', __('Monthly'), 'monthly'), ), ); } if (!function_exists('updraftplus_modify_cron_schedules')) : /** * wp-cron only has hourly, daily and twicedaily, so we need to add some of our own * * @param array $schedules an array of schedule types * @return array cron schedules which contains schedules of our own */ function updraftplus_modify_cron_schedules($schedules) { return array_merge($schedules, updraftplus_list_cron_schedules()); } endif; // http://codex.wordpress.org/Plugin_API/Filter_Reference/cron_schedules. Raised priority because some plugins wrongly over-write all prior schedule changes (including BackupBuddy!) add_filter('cron_schedules', 'updraftplus_modify_cron_schedules', 30); // The checks here before loading are for performance only - unless one of those conditions is met, then none of the hooks will ever be used if (!is_admin() && (!defined('DOING_CRON') || !DOING_CRON) && (!defined('XMLRPC_REQUEST') || !XMLRPC_REQUEST) && empty($_SERVER['SHELL']) && empty($_POST['udrpc_message']) && empty($_GET['udcentral_action']) && (defined('UPDRAFTPLUS_THIS_IS_CLONE') && '1' != UPDRAFTPLUS_THIS_IS_CLONE) && empty($_GET['uc_auto_login']) && (empty($_SERVER['REQUEST_METHOD']) || 'OPTIONS' != $_SERVER['REQUEST_METHOD']) && (!defined('WP_CLI') || !WP_CLI)) { // There is no good way to work out if the cron event is likely to be called under the ALTERNATE_WP_CRON system, other than re-running the calculation // If ALTERNATE_WP_CRON is not active (and a few other things), then we are done if (!defined('ALTERNATE_WP_CRON') || !ALTERNATE_WP_CRON || !empty($_POST) || defined('DOING_AJAX') || isset($_GET['doing_wp_cron'])) return; // The check below is the one used by spawn_cron() to decide whether cron events should be run $gmt_time = microtime(true); $lock = get_transient('doing_cron'); if ($lock > $gmt_time + 10 * 60) $lock = 0; if ((defined('WP_CRON_LOCK_TIMEOUT') && $lock + WP_CRON_LOCK_TIMEOUT > $gmt_time) || (!defined('WP_CRON_LOCK_TIMEOUT') && $lock + 60 > $gmt_time)) return; if (function_exists('_get_cron_array')) { $crons = _get_cron_array(); } else { $crons = get_option('cron'); } if (!is_array($crons)) return; $keys = array_keys($crons); if (isset($keys[0]) && $keys[0] > $gmt_time) return; // If we got this far, then cron is going to be fired, so we do want to load all our hooks } $updraftplus_have_addons = 0; if (is_dir(UPDRAFTPLUS_DIR.'/addons') && $dir_handle = opendir(UPDRAFTPLUS_DIR.'/addons')) { while (false !== ($e = readdir($dir_handle))) { if (is_file(UPDRAFTPLUS_DIR.'/addons/'.$e) && preg_match('/\.php$/', $e)) { // We used to have 1024 bytes here - but this meant that if someone's site was hacked and a lot of code added at the top, and if they were running a too-low PHP version, then they might just see the symptom rather than the cause - and raise the support request with us. $header = file_get_contents(UPDRAFTPLUS_DIR.'/addons/'.$e, false, null, 0, 16384); $phprequires = preg_match("/RequiresPHP: (\d[\d\.]+)/", $header, $matches) ? $matches[1] : false; $phpinclude = preg_match("/IncludePHP: (\S+)/", $header, $matches) ? $matches[1] : false; if (false === $phprequires || version_compare(PHP_VERSION, $phprequires, '>=')) { $updraftplus_have_addons++; if ($phpinclude) updraft_try_include_file(''.$phpinclude, 'include_once'); updraft_try_include_file('addons/'.$e, 'include_once'); } unset($header); } } @closedir($dir_handle);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } if (is_file(UPDRAFTPLUS_DIR.'/udaddons/updraftplus-addons.php')) updraft_try_include_file('udaddons/updraftplus-addons.php', 'require_once'); if (!file_exists(UPDRAFTPLUS_DIR.'/class-updraftplus.php') || !file_exists(UPDRAFTPLUS_DIR.'/options.php')) { /** * Warn if they've not got the whole plugin - can happen if WP crashes (e.g. out of disk space) when upgrading the plugin */ function updraftplus_incomplete_install_warning() { echo '

    '.__('Error', 'updraftplus').': '.__('You do not have UpdraftPlus completely installed - please de-install and install it again.', 'updraftplus').' '.__('Most likely, WordPress malfunctioned when copying the plugin files.', 'updraftplus').' '.__('Go here for more information.', 'updraftplus').'

    '; } add_action('all_admin_notices', 'updraftplus_incomplete_install_warning'); } else { updraft_try_include_file('class-updraftplus.php', 'include_once'); $updraftplus = new UpdraftPlus(); $GLOBALS['updraftplus'] = $updraftplus; $updraftplus->have_addons = $updraftplus_have_addons; if (!$updraftplus->memory_check(192)) { // Experience appears to show that the memory limit is only likely to be hit (unless it is very low) by single files that are larger than available memory (when compressed) // Add sanity checks - found someone who'd set WP_MAX_MEMORY_LIMIT to 256K ! if (!$updraftplus->memory_check($updraftplus->memory_check_current(WP_MAX_MEMORY_LIMIT))) { $new = absint($updraftplus->memory_check_current(WP_MAX_MEMORY_LIMIT)); if ($new>32 && $new<100000) { @ini_set('memory_limit', $new.'M');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } } } // Blocking updates during restore; placed here so that it still runs e.g. under WP-CLI $updraftplus->block_updates_during_restore_progress(); } // Ubuntu bug - https://bugs.launchpad.net/ubuntu/+source/php5/+bug/1315888 if (!function_exists('gzopen') && function_exists('gzopen64')) { function gzopen($filename, $mode, $use_include_path = 0) { return gzopen64($filename, $mode, $use_include_path); } } /** * For finding mysqldump. Added to include Windows locations. */ function updraftplus_build_mysqldump_list() { if ('win' == strtolower(substr(PHP_OS, 0, 3)) && function_exists('glob')) { $drives = array('C', 'D', 'E'); if (!empty($_SERVER['DOCUMENT_ROOT'])) { // Get the drive that this is running on $current_drive = strtoupper(substr($_SERVER['DOCUMENT_ROOT'], 0, 1)); if (!in_array($current_drive, $drives)) array_unshift($drives, $current_drive); } $directories = array(); foreach ($drives as $drive_letter) { $dir = glob("$drive_letter:\\{Program Files\\MySQL\\{,MySQL*,etc}{,\\bin,\\?},mysqldump}\\mysqldump*", GLOB_BRACE); if (is_array($dir)) $directories = array_merge($directories, $dir); } $drive_string = implode(',', $directories); return $drive_string; } else { return "/usr/bin/mysqldump,/bin/mysqldump,/usr/local/bin/mysqldump,/usr/sfw/bin/mysqldump,/usr/xdg4/bin/mysqldump,/opt/bin/mysqldump"; } } // Do this even if the missing files detection above fired, as the "missing files" detection above has a greater chance of showing the user useful info if (!class_exists('UpdraftPlus_Options')) updraft_try_include_file('options.php', 'require_once'); restorer.php000064400000731505147400355670007150 0ustar00our_siteurl = untrailingslashit(site_url()); $this->continuation_data = $continuation_data; $this->setup_database_objects(); $this->search_replace_obj = new UpdraftPlus_Search_Replace(); if ($short_init) return; // If updraft_incremental_restore_point is equal to -1 then this is either not a incremental restore or we are going to restore up to the latest increment, so there is no need to prune the backup set of any unwanted backup archives. if (isset($restore_options['updraft_incremental_restore_point']) && $restore_options['updraft_incremental_restore_point'] > 0) { $restore_point = $restore_options['updraft_incremental_restore_point']; foreach ($backup_set['incremental_sets'] as $increment_timestamp => $entities) { if ($increment_timestamp > $restore_point) { foreach ($entities as $entity => $backups) { foreach ($backups as $key => $value) { unset($backup_set[$entity][$key]); } } } } } // if updraft_include_more_path is set then, the user has chosen where they want these backup files to be restored as either UD did not know where to restore them or the original location is not found on disk any more if (isset($restore_options['updraft_include_more_path'])) { if (!isset($backup_set['morefiles_linked_indexes']) || !isset($backup_set['morefiles_more_locations'])) { $backup_set['morefiles_more_locations'] = $restore_options['updraft_include_more_path']; foreach ($restore_options['updraft_include_more_path'] as $key => $path) { $backup_set['morefiles_linked_indexes'][] = $key; } } else { foreach ($restore_options['updraft_include_more_path'] as $key => $path) { $backup_set['morefiles_more_locations'][$key] = $path; } } if (isset($restore_options['updraft_include_more_index'])) { // unset any backups the user has chosen not to restore foreach (array_keys($backup_set['more']) as $key) { if (!in_array($key, $restore_options['updraft_include_more_index'])) unset($backup_set['more'][$key]); } } } if (isset($restore_options['include_unspecified_tables'])) $this->include_unspecified_tables = $restore_options['include_unspecified_tables']; if (isset($restore_options['tables_to_restore'])) $this->tables_to_restore = $restore_options['tables_to_restore']; if (isset($restore_options['tables_to_skip'])) $this->tables_to_skip = $restore_options['tables_to_skip']; if (isset($restore_options['include_unspecified_plugins'])) $this->include_unspecified_plugins = $restore_options['include_unspecified_plugins']; if (isset($restore_options['plugins_to_restore'])) $this->plugins_to_restore = $restore_options['plugins_to_restore']; if (isset($restore_options['plugins_to_skip'])) $this->plugins_to_skip = $restore_options['plugins_to_skip']; if (isset($restore_options['include_unspecified_themes'])) $this->include_unspecified_themes = $restore_options['include_unspecified_themes']; if (isset($restore_options['themes_to_restore'])) $this->themes_to_restore = $restore_options['themes_to_restore']; if (isset($restore_options['themes_to_skip'])) $this->themes_to_skip = $restore_options['themes_to_skip']; // Restore in the most helpful order uksort($backup_set, array('UpdraftPlus_Manipulation_Functions', 'sort_restoration_entities')); $this->ud_backup_set = $backup_set; add_filter('updraftplus_logline', array($this, 'updraftplus_logline'), 10, 5); add_action('updraftplus_restored_db_table', array($this, 'updraftplus_restored_db_table'), 10, 3); do_action('updraftplus_restorer_restore_options', $restore_options); $this->ud_multisite_selective_restore = (is_array($restore_options) && !empty($restore_options['updraft_restore_ms_whichsites']) && $restore_options['updraft_restore_ms_whichsites'] > 0) ? $restore_options['updraft_restore_ms_whichsites'] : false; $this->restore_options = $restore_options; $this->ud_foreign = empty($backup_set['meta_foreign']) ? false : $backup_set['meta_foreign']; if (isset($backup_set['is_multisite'])) $this->ud_backup_is_multisite = $backup_set['is_multisite']; if (isset($backup_set['created_by_version'])) $this->created_by_version = $backup_set['created_by_version']; $this->backup_strings(); $this->is_multisite = is_multisite(); updraft_try_include_file('includes/class-database-utility.php', 'require_once'); if (!class_exists('WP_Upgrader')) include_once(ABSPATH.'wp-admin/includes/class-wp-upgrader.php'); $this->skin = $skin; $this->wp_upgrader = new WP_Upgrader($skin); $this->wp_upgrader->init(); } /** * This function will check if we are using wpdb, if we are not then it will setup our wpdb-like objects * * @param boolean $reconnect_wpdb - if we should include and create a new instance of wpdb * * @return void */ private function setup_database_objects($reconnect_wpdb = false) { global $wpdb; if ($reconnect_wpdb) { $wpdb->db_connect(true); } // Line up a wpdb-like object if (!$this->use_wpdb()) { // We have our own extension which drops lots of the overhead on the query $wpdb_obj = new UpdraftPlus_WPDB(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST); // Was that successful? if (!$wpdb_obj->is_mysql || !$wpdb_obj->ready) { $this->use_wpdb = true; } else { $this->wpdb_obj = $wpdb_obj; $this->mysql_dbh = $wpdb_obj->updraftplus_get_database_handle(); $this->use_mysqli = $wpdb_obj->updraftplus_use_mysqli(); } } } /** * This function will try to restore the database connection, if it succeeds then it returns true otherwise false * * @return boolean - true if the connection is restored, otherwise false */ private function restore_database_connection() { global $updraftplus, $wpdb; $wpdb_connected = $updraftplus->check_db_connection($wpdb, false, false, true); if (false === $wpdb_connected || -1 === $wpdb_connected) { sleep(10); $this->setup_database_objects(true); return false; } return true; } /** * Get the wpdb-like object that we are using, if we are using one * * @return UpdraftPlus_WPDB|Boolean */ public function get_db_object() { return $this->wpdb_obj; } /** * Restore has been completed - clean some things up * * @param Boolean|WP_Error $successful - if the restore was successful (true) or not (false or WP_Error). If not, then only a minimum of necessary clean-up things is done. * @param Boolean $browser_context - if true, then extra messages will be echo-ed * * @uses UpdraftPlus::log() */ public function post_restore_clean_up($successful = true, $browser_context = true) { global $updraftplus, $updraftplus_admin; $updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'cleaning', 'data' => array())); if (is_wp_error($successful)) { foreach ($successful->get_error_codes() as $code) { if ('already_exists' == $code) { if ($browser_context) { global $updraftplus_admin; $updraftplus_admin->print_delete_old_dirs_form(false); } else { $updraftplus->log(__('Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old).', 'updraftplus')); } } $data = $successful->get_error_data($code); if (!empty($data)) { $pdata = is_string($data) ? $data : serialize($data); $updraftplus->log(__('Error data:', 'updraftplus').' '.$pdata, 'warning-restore'); if (false !== strpos($pdata, 'PCLZIP_ERR_BAD_FORMAT (-10)')) { $url = apply_filters('updraftplus_com_link', 'https://updraftplus.com/faqs/error-message-pclzip_err_bad_format-10-invalid-archive-structure-mean/'); if ($browser_context) { echo ''.__('Follow this link for more information', 'updraftplus').'
    '; } else { $updraftplus->log(__('Follow this link for more information', 'updraftplus').': '.$url); } } } } $successful = false; } // From this point on, $successful is a boolean if ($successful) { // All done - remove the intermediate marker delete_site_option('updraft_restore_in_progress'); foreach (array('template', 'stylesheet', 'template_root', 'stylesheet_root') as $opt) { add_filter('pre_option_'.$opt, array($this, 'option_filter_'.$opt)); } // Clear any cached pages after the restore $this->clear_caches(); // Have seen a case where the current theme in the DB began with a capital, but not on disk - and this breaks migrating from Windows to a case-sensitive system $template = get_option('template'); if (!empty($template) && WP_DEFAULT_THEME != $template && strtolower($template) != $template) { $theme_root = get_theme_root($template); if (!file_exists("$theme_root/$template/style.css") && file_exists("$theme_root/".strtolower($template)."/style.css")) { $updraftplus->log_e("Theme directory (%s) not found, but lower-case version exists; updating database option accordingly", $template); update_option('template', strtolower($template)); } } if (!function_exists('validate_current_theme')) include_once(ABSPATH.WPINC.'/themes'); if (!validate_current_theme()) { if ($browser_context) echo ''; $updraftplus->log_e("The current theme was not found; to prevent this stopping the site from loading, your theme has been reverted to the default theme"); if ($browser_context) echo ''; } do_action('updraftplus_restore_completed'); } if ($browser_context) echo ''; // Close the updraft_restore_progress div restore_error_handler(); } /** * Whether or not we must use the global $wpdb object for database queries. * That is to say: we *can* always use it. But we prefer to avoid the overhead since we are potentially doing very many queries. * * This is the getter. We have no use-case for a setter outside of this class, so we just set it directly. * * @return Boolean */ public function use_wpdb() { if (!is_bool($this->use_wpdb)) { global $wpdb; if (defined('UPDRAFTPLUS_USE_WPDB')) { $this->use_wpdb = (bool) UPDRAFTPLUS_USE_WPDB; } else { $this->use_wpdb = ((!function_exists('mysql_query') && !function_exists('mysqli_query')) || !$wpdb->is_mysql || !$wpdb->ready) ? true : false; } } return $this->use_wpdb; } /** * Get the skin * * @return WP_Upgrader_Skin */ public function ud_get_skin() { return $this->skin; } /** * Ensure that needed files are present locally, and return data for the next step (plus do some internal configuration) * * @param Array $entities_to_restore - as returned by self::get_entities_to_restore() * @param Array $backupable_entities - list of entities that can be backed u * @param Array $services - list of services that the backup can be found at * * @uses self::pre_restore_backup() (and some other internal properties) * @uses UpdraftPlus::log() * * @return Boolean|Array|WP_Error - a sorted array (of entity types and files for each entity type) or false or a WP_Error if there was an error */ private function ensure_restore_files_present($entities_to_restore, $backupable_entities, $services) { global $updraftplus; $entities_to_download = $this->get_entities_to_download($entities_to_restore); $backup_set = $this->ud_backup_set; $timestamp = $backup_set['timestamp']; $second_loop = array(); $updraft_dir = $updraftplus->backups_dir_location(); $foreign_known = apply_filters('updraftplus_accept_archivename', array()); // First loop: make sure that files are present + readable; and populate array for second loop foreach ($backup_set as $type => $files) { // All restorable entities must be given explicitly, as we can store other arbitrary data in the history array if (!isset($backupable_entities[$type]) && 'db' != $type) continue; if (isset($backupable_entities[$type]['restorable']) && false == $backupable_entities[$type]['restorable']) continue; if (!isset($entities_to_download[$type])) continue; if ('wpcore' == $type && is_multisite() && 0 === $this->ud_backup_is_multisite) { $updraftplus->log('wpcore: '.__('Skipping restoration of WordPress core when importing a single site into a multisite installation.', 'updraftplus').' '.__('If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file.', 'updraftplus'), 'notice-restore'); // TODO // $updraftplus->log_e('Skipping restoration of WordPress core when importing a single site into a multisite installation. If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file.'); continue; } if (is_string($files)) $files = array($files); foreach ($files as $ind => $file) { $fullpath = $updraft_dir.'/'.$file; $updraftplus->log(sprintf(__("Looking for %s archive: file name: %s", 'updraftplus'), $type, $file), 'notice-restore'); if (is_array($this->continuation_data) && isset($this->continuation_data['second_loop_entities'][$type]) && !in_array($file, $this->continuation_data['second_loop_entities'][$type])) { $updraftplus->log(__('Skipping: this archive was already restored.', 'updraftplus'), 'notice-restore'); // Set the marker so that the existing directory isn't moved out of the way $this->been_restored[$type] = true; continue; } if (!is_readable($fullpath) || 0 == filesize($fullpath)) UpdraftPlus_Storage_Methods_Interface::get_remote_file($services, $file, $timestamp, true); $index = (0 == $ind) ? '' : $ind; // If a file size is stored in the backup data, then verify correctness of the local file if (isset($backup_set[$type.$index.'-size'])) { $fs = $backup_set[$type.$index.'-size']; $print_message = __("Archive is expected to be size:", 'updraftplus')." ".round($fs/1024, 1)." KB: "; $as = @filesize($fullpath);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. if ($as == $fs) { $updraftplus->log($print_message.__('OK', 'updraftplus'), 'notice-restore'); } else { $updraftplus->log($print_message.__('Error:', 'updraftplus')." ".__('file is size:', 'updraftplus')." ".round($as/1024)." ($fs, $as)", 'warning-restore'); } } else { $updraftplus->log(__("The backup records do not contain information about the proper size of this file.", 'updraftplus'), 'notice-restore'); } if (!is_readable($fullpath)) { $updraftplus->log(__('Could not read one of the files for restoration', 'updraftplus')." ($file)", 'warning-restore'); $updraftplus->log("$file: ".__('Could not read one of the files for restoration', 'updraftplus'), 'error'); return false; } } if (empty($this->ud_foreign)) { $types = array($type); } else { if ('db' != $type || empty($foreign_known[$this->ud_foreign]['separatedb'])) { $types = array('wpcore'); } else { $types = array('db'); } } foreach ($types as $check_type) { $info = isset($backupable_entities[$check_type]) ? $backupable_entities[$check_type] : array(); $val = $this->pre_restore_backup($files, $check_type, $info); if (is_wp_error($val)) { $updraftplus->log_wp_error($val); foreach ($val->get_error_messages() as $msg) { $updraftplus->log(__('Error:', 'updraftplus').' '.$msg, 'warning-restore'); } return $val; } elseif (false === $val) { return false; } } foreach ($entities_to_restore as $entity => $via) { if ($via == $type) { if ('wpcore' == $via && 'db' == $entity && count($files) > 1) { $second_loop[$entity] = apply_filters('updraftplus_select_wpcore_file_with_db', $files, $this->ud_foreign); } else { $second_loop[$entity] = $files; } } } } $this->delete = UpdraftPlus_Options::get_updraft_option('updraft_delete_local', 1) ? true : false; if (empty($services) || array('email') === $services || !empty($this->ud_foreign)) { if ($this->delete) $updraftplus->log_e('Will not delete any archives after unpacking them, because there was no cloud storage for this backup'); $this->delete = false; } if (!empty($this->ud_foreign)) $updraftplus->log("Foreign backup; created by: ".$this->ud_foreign); // Second loop: now actually do the restoration uksort($second_loop, array('UpdraftPlus_Manipulation_Functions', 'sort_restoration_entities')); // If continuing, then prune those already done if (is_array($this->continuation_data) && isset($this->continuation_data['second_loop_entities'])) { foreach ($second_loop as $type => $files) { if (isset($this->continuation_data['second_loop_entities'][$type])) { $second_loop[$type] = $this->continuation_data['second_loop_entities'][$type]; } else { $updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'files', 'data' => array('entity' => $type, 'index' => 0, 'file' => '', 'fileindex' => 0, 'size_written' => 0, 'total_files' => 0))); unset($second_loop[$type]); } } } return $second_loop; } /** * Perform the restoration. No code here (or called) should assume anything about the method used to call it (e.g. wp-admin or WP-CLI); it should be independent of how it is being called. * * The path through this class is perform_restore() -> restore_backup() -> unpack_package() -> unpack_package_(archive|database) and then (for standard UD archives) UpdraftPlus_Filesystem_Functions::unzip_file() * * @param Array $entities_to_restore - entities to restore * @param Array $restore_options - restoration options * * @uses the WordPress action updraftplus_restoration_title, allowing the title to be printed * * @return Boolean */ public function perform_restore($entities_to_restore, $restore_options) { global $updraftplus; $updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'verifying', 'data' => implode(', ', array_flip($entities_to_restore)))); // Now log. We first remove any encryption passphrase from the log data. $copy_restore_options = $restore_options; if (!empty($copy_restore_options['updraft_encryptionphrase'])) $copy_restore_options['updraft_encryptionphrase'] = '***'; $updraftplus->log("Restore job started. Entities to restore: ".implode(', ', array_flip($entities_to_restore)).'. Restore options: '.json_encode($copy_restore_options)); do_action('updraftplus_restoration_title', __('Final checks', 'updraftplus')); add_action('updraftplus_unzip_progress_restore_info', array($this, 'unzip_progress_restore_info'), 10, 4); $backup_set = $this->ud_backup_set; $services = isset($backup_set['service']) ? $updraftplus->get_canonical_service_list($backup_set['service']) : array(); $backupable_entities = $updraftplus->get_backupable_file_entities(true, true); $remove_zip = isset($restore_options['delete_during_restore']) ? $restore_options['delete_during_restore'] : false; if (!empty($restore_options['dummy_db_restore'])) { $this->is_dummy_db_restore = true; add_filter('updraftplus_restore_table_prefix', array($this, 'updraftplus_random_restore_table_prefix')); } // Allow add-ons to adjust the restore directory (but only in the case of restore - otherwise, they could just use the filter built into UpdraftPlus::get_backupable_file_entities) $backupable_entities = apply_filters('updraft_backupable_file_entities_on_restore', $backupable_entities, $restore_options, $backup_set); if (function_exists('set_time_limit')) @set_time_limit(UPDRAFTPLUS_SET_TIME_LIMIT);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. // Get an ordered list of things to restore // This requires the global $updraft_restorer to be set up $second_loop = $this->ensure_restore_files_present($entities_to_restore, $backupable_entities, $services); if (!is_array($second_loop)) return $second_loop; $timestamp = $backup_set['timestamp']; $updraftplus->jobdata_set('second_loop_entities', $second_loop); $updraftplus->jobdata_set('backup_timestamp', $timestamp); // Use a site option, as otherwise on multisite when all the array of options is updated via UpdraftPlus_Options::update_site_option(), it will over-write any restored UD options from the backup update_site_option('updraft_restore_in_progress', $updraftplus->nonce); // Now process the actual restoration of the entities foreach ($second_loop as $type => $files) { $this->current_type = $type; // Types: uploads, themes, plugins, others, db $info = isset($backupable_entities[$type]) ? $backupable_entities[$type] : array(); $restoration_title = ('db' == $type) ? __('Database', 'updraftplus') : $info['description']; // Indicate the type changed $updraftplus->log_restore_update(array('type' => 'state_change', 'stage' => $type, 'data' => array())); do_action('updraftplus_restoration_title', $restoration_title); $updraftplus->log('Entity: '.$type); if (is_string($files)) $files = array($files); // Don't assume that the caller pre-sorted the array. We do need it sorted, so that incremental zips get restored in the right order ksort($files); foreach ($files as $fkey => $file) { $this->current_index = $fkey; $last_one = (1 == count($second_loop) && 1 == count($files)); $last_entity = (1 == count($files)); try { do_action('updraftplus_pre_entity_restoration', $type, $fkey); // Returns a boolean or WP_Error $restore_result = $this->restore_backup($file, $type, $info, $last_one, $last_entity); } catch (Exception $e) { $log_message = 'Exception ('.get_class($e).') occurred during restore: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; $display_log_message = sprintf(__('A PHP exception (%s) has occurred: %s', 'updraftplus'), get_class($e), $e->getMessage()); error_log($log_message); // @codingStandardsIgnoreLine if (function_exists('wp_debug_backtrace_summary')) $log_message .= ' Backtrace: '.str_replace(array(ABSPATH, "\n"), array('', ', '), $e->getTraceAsString()); $updraftplus->log($display_log_message, 'notice-restore'); die(); // @codingStandardsIgnoreLine } catch (Error $e) { $log_message = 'PHP Fatal error ('.get_class($e).') has occurred. Error Message: '.$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); // @codingStandardsIgnoreLine if (function_exists('wp_debug_backtrace_summary')) $log_message .= ' Backtrace: '.str_replace(array(ABSPATH, "\n"), array('', ', '), $e->getTraceAsString()); $display_log_message = sprintf(__('A PHP fatal error (%s) has occurred: %s', 'updraftplus'), get_class($e), $e->getMessage()); $updraftplus->log($display_log_message, 'notice-restore'); die(); } if (is_wp_error($restore_result)) { $codes = $restore_result->get_error_codes(); if (is_array($codes) && in_array('not_found', $codes) && !empty($this->ud_foreign) && apply_filters('updraftplus_foreign_allow_missing_entity', false, $type, $this->ud_foreign)) { $updraftplus->log('Entity to move not found in this zip - but this is possible with this foreign backup type'); } else { $updraftplus->log_e($restore_result); foreach ($restore_result->get_error_messages() as $msg) { $updraftplus->log(__('Error message', 'updraftplus').': '.$msg, 'notice-restore'); } return $restore_result; } } elseif (false === $restore_result) { return false; } elseif ($restore_result && $remove_zip) { $deleted = unlink($updraftplus->backups_dir_location().'/'.$file); $updraftplus->log("Delete zip during restore active; removing backup file: $file: ".($deleted ? 'OK' : 'Failed')); } unset($files[$fkey]); $second_loop[$type] = $files; $updraftplus->jobdata_set_multi(array('second_loop_entities' => $second_loop, 'backup_timestamp' => $timestamp)); do_action('updraft_restored_archive', $file, $type, $restore_result, $fkey, $timestamp); } // Update the job data each time we go round the loop, so that if it aborts, it can be resumed from the correct point unset($second_loop[$type]); update_site_option('updraft_restore_in_progress', $updraftplus->nonce); $updraftplus->jobdata_set_multi(array('second_loop_entities' => $second_loop, 'backup_timestamp' => $timestamp)); } // If the database was restored, then check active plugins and make sure they all exist; otherwise, the site may go down if (null !== $this->final_import_table_prefix) $this->check_active_plugins($this->final_import_table_prefix); return true; } /** * Calculate the entities to download for a given backup set * * @param Array $entities_to_restore - entities to restore, in the format returned by UpdraftPlus_Admin::get_entities_to_restore * * @return Array - keys are entities, and values are 0|1 */ public function get_entities_to_download($entities_to_restore) { $backup_set = $this->ud_backup_set; $foreign_known = apply_filters('updraftplus_accept_archivename', array()); if (empty($backup_set['meta_foreign'])) return $entities_to_restore; if (empty($foreign_known[$backup_set['meta_foreign']]['separatedb'])) return array('wpcore' => 1); $entities_to_download = array(); if (in_array('db', $entities_to_restore)) $entities_to_download['db'] = 1; if (count($entities_to_restore) > 1 || !in_array('db', $entities_to_restore)) { $entities_to_download['wpcore'] = 1; } return $entities_to_download; } /** * Logs a line from the restore process, being called from UpdraftPlus::log(). Currently, this means adding it to the browser output log file and either (depending on the constant WP_CLI) echoing it or passing it to a WPCLI method. * Hooks the WordPress filter updraftplus_logline * In future, this can get more sophisticated. For now, things are funnelled through here, giving the future possibility. * * @param String $line the line to be logged * @param String $nonce the job ID of the restore job * @param String $level the level of the log notice * @param String|Boolean $uniq_id a unique ID for the log if it should only be logged once; or false otherwise * @param String $destination the type of job ongoing. If it is not 'restore', then we will skip the logging. * @return The filtered value. If set to false, then UpdraftPlus::log() will stop processing the log line. */ public function updraftplus_logline($line, $nonce, $level, $uniq_id, $destination) { if ('restore' != $destination) return $line; global $updraftplus; static $logfile_handle; if (empty($logfile_handle)) { $logfile_name = $updraftplus->backups_dir_location()."/log.$nonce-browser.txt"; $logfile_handle = fopen($logfile_name, 'a'); } if (!empty($logfile_handle)) { $rtime = microtime(true)-$updraftplus->job_time_ms; fwrite($logfile_handle, sprintf("%08.03f", round($rtime, 3))." (R) ".'['.$level.'] '.$line."\n"); } if (defined('WP_CLI') && WP_CLI) { switch ($level) { case 'error': case 'warning': // WP_CLI::error() displays message with the prefix "Error: ", We don't like message which are double prefixed like the "Error: Error: ". if (0 === stripos($line, 'Error: ')) { $log_line = substr($line, 7); } else { $log_line = $line; } WP_CLI::error($log_line, false); break; case 'notice': default: WP_CLI::log($line, false); break; } } else { if ('warning' == $level || 'error' == $level || $uniq_id) { $line = ''.htmlspecialchars($line).''; } else { $line = htmlspecialchars($line); } $updraftplus->output_to_browser($line.'
    '); } return false; } private function backup_strings() { $this->strings['not_possible'] = __('UpdraftPlus is not able to directly restore this kind of entity.', 'updraftplus').' '.__('It must be restored manually.', 'updraftplus'); $this->strings['no_package'] = __('Backup file not available.', 'updraftplus'); $this->strings['copy_failed'] = __('Copying this entity failed.', 'updraftplus'); $this->strings['unpack_package'] = __('Unpacking backup...', 'updraftplus'); $this->strings['decrypt_database'] = __('Decrypting database (can take a while)...', 'updraftplus'); $this->strings['decrypted_database'] = __('Database successfully decrypted.', 'updraftplus'); $this->strings['moving_old'] = __('Moving old data out of the way...', 'updraftplus'); $this->strings['moving_backup'] = __('Moving unpacked backup into place...', 'updraftplus'); $this->strings['restore_database'] = __('Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)...', 'updraftplus'); $this->strings['cleaning_up'] = __('Cleaning up rubbish...', 'updraftplus'); $this->strings['old_move_failed'] = __('Could not move old files out of the way.', 'updraftplus').' '.__('You should check the file ownerships and permissions in your WordPress installation', 'updraftplus'); $this->strings['old_delete_failed'] = __('Could not delete old path.', 'updraftplus'); $this->strings['new_move_failed'] = __('Could not move new files into place.', 'updraftplus').' '.__('Check your wp-content/upgrade folder.', 'updraftplus'); $this->strings['move_failed'] = __('Could not move the files into place.', 'updraftplus').' '.__('Check your file permissions.', 'updraftplus'); $this->strings['delete_failed'] = __('Failed to delete working directory after restoring.', 'updraftplus'); $this->strings['multisite_error'] = __('You are running on WordPress multisite - but your backup is not of a multisite site.', 'updraftplus'); $this->strings['unpack_failed'] = __('Failed to unpack the archive', 'updraftplus'); $this->strings['read_manifest_failed'] = __('Failed to read the manifest file from backup.', 'updraftplus'); $this->strings['manifest_not_found'] = __('Failed to find a manifest file in the backup.', 'updraftplus'); $this->strings['read_working_dir_failed'] = __('Failed to read from the working directory.', 'updraftplus'); } /** * This function will build the unzip progress restore info array ready to be output to the js * * @param string $filepath - the current file we are working on * @param integer $fileindex - how far into the zip we got * @param Integer $size_written - net total number of bytes thus far * @param Integer $num_files - the total number of files (i.e. one more than the the maximum value of $fileindex) * * @return void */ public function unzip_progress_restore_info($filepath, $fileindex, $size_written, $num_files) { global $updraftplus; $index = $this->current_index; $file_type = $this->current_type; $updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'files', 'data' => array('entity' => $file_type, 'index' => $index, 'file' => basename($filepath), 'fileindex' => $fileindex, 'size_written' => $size_written, 'total_files' => $num_files))); } /** * This function is copied from class WP_Upgrader (WP 3.8 - no significant changes since 3.2 at least); we only had to fork it because it hard-codes using the basename of the zip file as its unpack directory; which can be long; and then combining that with long pathnames in the zip being unpacked can overflow a 256-character path limit (yes, they apparently still exist - amazing!) * Subsequently, we have also added the ability to unpack tarballs * * In the 'ordinary' case of unzipping a UD zip backup, this method basically does some preparation, and then calls UpdraftPlus_Filesystem_Functions::unzip_file() for the actual unzipping * * @used-by self::unpack_package() * * @param String $package specify package - full filepath * @param Boolean $delete_package check to delete package * @param String|Boolean $type type of archive e.g. db. * * @return String|WP_Error If successful, then this indicates the working directory that the archive was unpacked in; a WP_Filesystem path */ private function unpack_package_archive($package, $delete_package = true, $type = false) { global $wp_filesystem, $updraftplus; // If it is a non-UD archive that is already unpacked, then don't re-run, but return the existing result if (!empty($this->ud_foreign) && !empty($this->ud_foreign_working_dir) && $package == $this->ud_foreign_package) { if (is_dir($this->ud_foreign_working_dir)) { return $this->ud_foreign_working_dir; } else { $updraftplus->log('Previously unpacked directory seems to have disappeared; will unpack again'); } } $this->skin->feedback($this->strings['unpack_package'].' ('.basename($package).', '.round(filesize($package)/1048576, 1).' MB)'); $upgrade_folder = $wp_filesystem->wp_content_dir().'upgrade/'; $zip_starting_index = 0; // We need a working directory. This has a change from the WP core version - minimise path length // N.B. It is deterministic; the same package file will get the same working directory // $working_dir = $upgrade_folder . basename($package, '.zip'); $working_dir = $upgrade_folder.substr(md5($package), 0, 8); if ('.zip' == strtolower(substr($package, -4, 4))) { $last_index_key = UpdraftPlus_Filesystem_Functions::get_jobdata_progress_key($package); // Turn off the feature with define('UPDRAFTPLUS_UNZIP_RESUME_ENABLED', false); if ((!defined('UPDRAFTPLUS_UNZIP_RESUME_ENABLED') || UPDRAFTPLUS_UNZIP_RESUME_ENABLED) && !empty($this->continuation_data[$last_index_key]) && !empty($this->continuation_data[$last_index_key]['info']['name'])) { $reached = $this->continuation_data[$last_index_key]; $last_exists = $wp_filesystem->exists($working_dir.'/'.$reached['info']['name']); $last_size = $last_exists ? $wp_filesystem->size($working_dir.'/'.$reached['info']['name']) : 'n/a'; if ($last_exists && $last_size == $reached['info']['size'] && isset($reached['index'])) $zip_starting_index = $reached['index']; $updraftplus->log("Unpack resumption may be possible: zip_starting_index=$zip_starting_index, last_exists=$last_exists, last_size=$last_size, last_status=".serialize($this->continuation_data[$last_index_key])); } } if (0 == $zip_starting_index) { // Clean up contents of upgrade directory beforehand. $upgrade_files = $wp_filesystem->dirlist($upgrade_folder); if (!empty($upgrade_files)) { foreach ($upgrade_files as $file) { if (!$wp_filesystem->delete($upgrade_folder . $file['name'], true)) { $this->restore_log_permission_failure_message($upgrade_folder, 'Delete '.$upgrade_folder.$file['name']); } } } // Clean up working directory - this is redundant, as we already cleared out the parent folder if ($wp_filesystem->is_dir($working_dir)) { if (!$wp_filesystem->delete($working_dir, true)) { $this->restore_log_permission_failure_message(dirname($working_dir), 'Delete '.$working_dir); } } } // Unzip package to working directory if ('.zip' == strtolower(substr($package, -4, 4))) { $folders_to_include = array(); if ('themes' == $type && !$this->include_unspecified_themes) $folders_to_include = $this->themes_to_restore; if ('plugins' == $type && !$this->include_unspecified_plugins) $folders_to_include = $this->plugins_to_restore; $result = UpdraftPlus_Filesystem_Functions::unzip_file($package, $working_dir, $zip_starting_index, $folders_to_include); } elseif ('.tar' == strtolower(substr($package, -4, 4)) || '.tar.gz' == strtolower(substr($package, -7, 7)) || '.tar.bz2' == strtolower(substr($package, -8, 8))) { if (!class_exists('UpdraftPlus_Archive_Tar')) { if (false === strpos(get_include_path(), UPDRAFTPLUS_DIR.'/includes/PEAR')) set_include_path(UPDRAFTPLUS_DIR.'/includes/PEAR'.PATH_SEPARATOR.get_include_path()); updraft_try_include_file('includes/PEAR/Archive/Tar.php', 'include_once'); } $p_compress = null; if ('.tar.gz' == strtolower(substr($package, -7, 7))) { $p_compress = 'gz'; } elseif ('.tar.bz2' == strtolower(substr($package, -8, 8))) { $p_compress = 'bz2'; } // It's not pretty, but it works. if (is_a($wp_filesystem, 'WP_Filesystem_Direct')) { $extract_dir = $working_dir; } else { $updraft_dir = $updraftplus->backups_dir_location(); if (!UpdraftPlus_Filesystem_Functions::really_is_writable($updraft_dir)) { $updraftplus->log_e("Backup directory (%s) is not writable, or does not exist.", $updraft_dir); $result = new WP_Error('unpack_failed', $this->strings['unpack_failed']); } else { $extract_dir = $updraft_dir.'/'.basename($working_dir).'-old'; if (file_exists($extract_dir)) UpdraftPlus_Filesystem_Functions::remove_local_directory($extract_dir); $updraftplus->log("Using a temporary folder to extract before moving over WPFS: $extract_dir"); } } // Slightly hackish - rather than re-write Archive_Tar to use wp_filesystem, we instead unpack into the location that we already require to be directly writable for other reasons, and then move from there. if (empty($result)) { $this->ud_extract_count = 0; $this->ud_working_dir = trailingslashit($working_dir); $this->ud_extract_dir = untrailingslashit($extract_dir); $this->ud_made_dirs = array(); add_filter('updraftplus_tar_wrote', array($this, 'tar_wrote'), 10, 2); $tar = new UpdraftPlus_Archive_Tar($package, $p_compress); $result = $tar->extract($extract_dir, false); if (!is_a($wp_filesystem, 'WP_Filesystem_Direct')) UpdraftPlus_Filesystem_Functions::remove_local_directory($extract_dir); if (true != $result) { $result = new WP_Error('unpack_failed', $this->strings['unpack_failed'], $result); } else { if (!is_a($wp_filesystem, 'WP_Filesystem_Direct')) { $updraftplus->log('Moved unpacked tarball contents'); } } remove_filter('updraftplus_tar_wrote', array($this, 'tar_wrote'), 10, 2); } } // Once extracted, delete the package if required. if ($delete_package) unlink($package); if (is_wp_error($result)) { $wp_filesystem->delete($working_dir, true); if ('incompatible_archive' == $result->get_error_code()) { return new WP_Error('incompatible_archive', $this->wp_upgrader->strings['incompatible_archive'], $result->get_error_data()); } return $result; } if (!empty($this->ud_foreign)) { $this->ud_foreign_working_dir = $working_dir; $this->ud_foreign_package = $package; // Zip containing an SQL file. We try a default pattern. if ('db' === $type) { $basepack = basename($package, '.zip'); if ($wp_filesystem->exists($working_dir.'/'.$basepack.'.sql')) { if (!$wp_filesystem->move($working_dir.'/'.$basepack.'.sql', $working_dir . "/backup.db", true)) { $this->restore_log_permission_failure_message($working_dir, 'Move '. $working_dir.'/'.$basepack.'.sql'.' -> '.$working_dir . "/backup.db", 'Destination'); } $updraftplus->log("Moving database file $basepack.sql to backup.db"); } } } return $working_dir; } public function tar_wrote($result, $file) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Filter use if (0 !== strpos($file, $this->ud_extract_dir)) return false; global $wp_filesystem, $updraftplus; if (!is_a($wp_filesystem, 'WP_Filesystem_Direct')) { $modint = 100; $leaf = substr($file, strlen($this->ud_extract_dir)); $dirname = dirname($leaf); $need_dirs = explode('/', $dirname); if (empty($this->ud_made_dirs[$dirname])) { $cdir = ''; foreach ($need_dirs as $ndir) { $cdir .= ($cdir) ? '/'.$ndir : $ndir; if (empty($this->ud_made_dirs[$cdir])) { if (!$wp_filesystem->mkdir($this->ud_working_dir.$cdir, FS_CHMOD_DIR) && !$wp_filesystem->is_dir($this->ud_working_dir.$cdir)) { $updraftplus->log("Failed to create WPFS directory: ".$this->ud_working_dir.$cdir); return false; } else { $this->ud_made_dirs[$cdir] = true; } } } } $put = $wp_filesystem->put_contents($this->ud_working_dir.$leaf, file_get_contents($file)); if (is_wp_error($put)) $updraftplus->log_wp_error($put); @unlink($file);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise if the file doesn't exist. } else { $modint = 500; $put = true; } if ($put) { $this->ud_extract_count++; if (0 == $this->ud_extract_count % $modint) { $updraftplus->log_e("%s files have been extracted", $this->ud_extract_count); } } return (true == $put); } // This returns a wp_filesystem location (and we musn't change that, as we must retain compatibility with the class parent) /** * This returns a wp_filesystem location (and we musn't change that, as we must retain compatibility with the class parent) * along with unpacking the encrypted db file and checking its contents before going off and restoring the Db * * @param string $package The file name of the encrypted File * @param boolean $delete_package the file can be removed before going off to the restore stage (this is just incase the user dont want to proceed) * @param boolean $type Check if the type is true or false * @return string Returns success or Fail depending on errors and restores DB */ public function unpack_package($package, $delete_package = true, $type = false) { if (preg_match('/-db(\.gz(\.crypt)?)?$/i', $package) || preg_match('/\.sql(\.gz|\.bz2)?$/i', $package)) { return $this->unpack_package_database($package, $delete_package); } else { global $updraftplus; // If not database, then it is a zip - unpack in the usual way return $this->unpack_package_archive($updraftplus->backups_dir_location().'/'.$package, $delete_package, $type); } } /** * Unpack a database backup file * * @used-by self::unpack_package() * * @param String $package - file to unpack; relative filepath * @param Boolean $delete_package - check to delete package * * @return String|WP_Error If successful, then this indicates the working directory that the archive was unpacked in (a WP_Filesystem path) */ private function unpack_package_database($package, $delete_package = true) { global $wp_filesystem, $updraftplus; $updraft_dir = $updraftplus->backups_dir_location(); // The general shape of the following comes from class-wp-upgrader.php $backup_dir = $wp_filesystem->find_folder($updraft_dir); if (function_exists('set_time_limit')) @set_time_limit(1800);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $packsize = round(filesize($backup_dir.$package)/1048576, 1).' Mb'; $this->skin->feedback($this->strings['unpack_package'].' ('.basename($package).', '.$packsize.')'); $upgrade_folder = $wp_filesystem->wp_content_dir() . 'upgrade/'; @$wp_filesystem->mkdir($upgrade_folder, octdec($this->calculate_additive_chmod_oct(FS_CHMOD_DIR, 0775)));// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. // Clean up contents of upgrade directory beforehand. $upgrade_files = $wp_filesystem->dirlist($upgrade_folder); if (!empty($upgrade_files)) { foreach ($upgrade_files as $file) { if (!$wp_filesystem->delete($upgrade_folder.$file['name'], true)) { $this->restore_log_permission_failure_message($upgrade_folder, 'Delete '.$upgrade_folder.$file['name']); } } } // We need a working directory $working_dir = $upgrade_folder . basename($package, '.crypt'); // Clean up working directory if ($wp_filesystem->is_dir($working_dir)) { if (!$wp_filesystem->delete($working_dir, true)) { $this->restore_log_permission_failure_message(dirname($working_dir), 'Delete '.$working_dir); } } if (!$wp_filesystem->mkdir($working_dir, octdec($this->calculate_additive_chmod_oct(FS_CHMOD_DIR, 0775)))) return new WP_Error('mkdir_failed', __('Failed to create a temporary directory', 'updraftplus').' ('.$working_dir.')'); // Unpack package to working directory if (UpdraftPlus_Encryption::is_file_encrypted($package)) { $this->skin->feedback($this->strings['decrypt_database']); $encryption = empty($this->restore_options['updraft_encryptionphrase']) ? UpdraftPlus_Options::get_updraft_option('updraft_encryptionphrase') : $this->restore_options['updraft_encryptionphrase']; if (!$encryption) return new WP_Error('no_encryption_key', __('Decryption failed.', 'updraftplus').' '.__('The database file is encrypted, but you have no encryption key entered.', 'updraftplus')); // function decrypt $decrypted_file = UpdraftPlus_Encryption::decrypt($backup_dir.$package, $encryption); if (is_array($decrypted_file)) { $this->skin->feedback($this->strings['decrypted_database']); if (!copy($decrypted_file['fullpath'], $working_dir.'/backup.db.gz')) { return new WP_Error('write_failed', __('Failed to write out the decrypted database to the filesystem', 'updraftplus')); } else { unlink($decrypted_file['fullpath']); } } else { return new WP_Error('decryption_failed', __('Decryption failed.', 'updraftplus').' '.__('The most likely cause is that you used the wrong key.', 'updraftplus')); } } else { if (preg_match('/\.sql$/i', $package)) { if (!$wp_filesystem->copy($backup_dir.$package, $working_dir.'/backup.db')) { if ($wp_filesystem->errors->get_error_code()) { foreach ($wp_filesystem->errors->get_error_messages() as $message) show_message($message); } return new WP_Error('copy_failed', $this->strings['copy_failed']); } } elseif (preg_match('/\.bz2$/i', $package)) { if (!$wp_filesystem->copy($backup_dir.$package, $working_dir.'/backup.db.bz2')) { if ($wp_filesystem->errors->get_error_code()) { foreach ($wp_filesystem->errors->get_error_messages() as $message) show_message($message); } return new WP_Error('copy_failed', $this->strings['copy_failed']); } } elseif (!$wp_filesystem->copy($backup_dir.$package, $working_dir.'/backup.db.gz')) { if ($wp_filesystem->errors->get_error_code()) { foreach ($wp_filesystem->errors->get_error_messages() as $message) show_message($message); } return new WP_Error('copy_failed', $this->strings['copy_failed']); } } // Once extracted, delete the package if required (non-recursive, is a file) // if ($delete_package) $wp_filesystem->delete($decrypted_file['fullpath'], false, true); if ($delete_package) { if (!$wp_filesystem->delete($backup_dir.$package, false, true)) { $this->restore_log_permission_failure_message($backup_dir, 'Delete '.$backup_dir.$package); } } $updraftplus->log('Database successfully unpacked'); return $working_dir; } /** * For moving files out of a directory into their new location * The purposes of the $type parameter are 1) to detect 'others' and apply a historical bugfix 2) to detect wpcore, and apply the setting for what to do with wp-config.php 3) to work out whether to delete the directory itself * Must use only wp_filesystem * $dest_dir must already have a trailing slash * * @param string $working_dir specify working directory * @param string $dest_dir specify destination directory (a WP_Filesystem path) * @param integer $preserve_existing this setting only applies at the top level: 0 = overwrite with no backup; 1 = make backup of existing; 2 = do nothing if there is existing, 3 = do nothing to the top level directory, but do copy-in contents (and over-write files). Thus, on a multi-archive set where you want a backup, you'd do this: first call with $preserve_existing === 1, then on subsequent zips call with 3 * @param array $do_not_overwrite Specify files or directories not to overwrite * @param string $type specify type * @param boolean $send_actions send actions * @param boolean $force_local force local * @param boolean $moving_old indicates if we are moving old files * @return boolean */ public function move_backup_in($working_dir, $dest_dir, $preserve_existing = 1, $do_not_overwrite = array('plugins', 'themes', 'uploads', 'upgrade'), $type = 'not-others', $send_actions = false, $force_local = false, $moving_old = false) { global $wp_filesystem, $updraftplus; $updraft_dir = $updraftplus->backups_dir_location(); if (true == $force_local || is_a($wp_filesystem, 'WP_Filesystem_Direct')) { $wpfs = new UpdraftPlus_WP_Filesystem_Direct(true); } else { $wpfs = $wp_filesystem; } // Get the content to be moved in. Include hidden files = true. Recursion is only required if we're likely to copy-in $recursive = (self::MOVEIN_COPY_IN_CONTENTS == $preserve_existing) ? true : false; $upgrade_files = $wpfs->dirlist($working_dir, true, $recursive); if (empty($upgrade_files)) return true; // check if our path is a file by looking to see if it's in the list of files we want to restore, if it is then remove the file from the path if (isset($upgrade_files[basename($dest_dir)]) && 'f' == $upgrade_files[basename($dest_dir)]['type']) $dest_dir = trailingslashit(dirname($dest_dir)); if (!$wpfs->is_dir($dest_dir)) { if ($wpfs->is_dir(dirname($dest_dir))) { if (!$wpfs->mkdir($dest_dir, FS_CHMOD_DIR)) return new WP_Error('mkdir_failed', __('The directory does not exist, and the attempt to create it failed', 'updraftplus') . ' (' . $dest_dir . ')'); $updraftplus->log("Destination directory did not exist, but was successfully created ($dest_dir)"); } else { return new WP_Error('no_such_dir', __('The directory does not exist', 'updraftplus') . " ($dest_dir)"); } } $wpcore_config_moved = false; if ('plugins' == $type || 'themes' == $type) { $upgrade_files_log = implode(', ', array_keys($upgrade_files)); if ('plugins' == $type && !empty($this->plugins_to_restore) && !$this->include_unspecified_plugins) $upgrade_files_log = implode(', ', $this->plugins_to_restore); if ('themes' == $type && !empty($this->themes_to_restore) && !$this->include_unspecified_themes) $upgrade_files_log = implode(', ', $this->themes_to_restore); $updraftplus->log("Top-level entities being moved: ".$upgrade_files_log); } foreach ($upgrade_files as $file => $filestruc) { if (empty($file)) continue; if ($dest_dir.$file == $updraft_dir) { $updraftplus->log('Skipping attempt to replace updraft_dir whilst processing '.$type); continue; } // Correctly restore files in 'others' in no directory that were wrongly backed up in versions 1.4.0 - 1.4.48 if (('others' == $type || 'wpcore' == $type) && preg_match('/^([\-_A-Za-z0-9]+\.php)$/i', $file, $matches) && $wpfs->exists($working_dir . "/$file/$file")) { if ('others' == $type) { $updraftplus->log("Found file: $file/$file: presuming this is a backup with a known fault (backup made with versions 1.4.0 - 1.4.48, and sometimes up to 1.6.55 on some Windows servers); will rename to simply $file", 'notice-restore'); } else { $updraftplus->log("Found file: $file/$file: presuming this is a backup with a known fault (backup made with versions before 1.6.55 in certain situations on Windows servers); will rename to simply $file", 'notice-restore'); } $updraftplus->log("$file/$file: rename to $file"); $file = $matches[1]; $tmp_file = rand(0, 999999999).'.php'; // Rename directory if (!$wpfs->move($working_dir . "/$file", $working_dir . "/".$tmp_file, true)) { $this->restore_log_permission_failure_message($working_dir, 'Move '. $working_dir . "/$file -> ".$working_dir . "/".$tmp_file, 'Destination'); } if (!$wpfs->move($working_dir . "/$tmp_file/$file", $working_dir ."/".$file, true)) { $this->restore_log_permission_failure_message($working_dir, 'Move '.$working_dir . "/$tmp_file/$file -> ".$working_dir ."/".$file, 'Destination'); } if (!$wpfs->rmdir($working_dir . "/$tmp_file", false)) { $this->restore_log_permission_failure_message($working_dir, 'Delete '.$working_dir . "/$tmp_file"); } } if ('wp-config.php' == $file && 'wpcore' == $type) { if (empty($this->restore_options['updraft_restorer_wpcore_includewpconfig'])) { $updraftplus->log_e('wp-config.php from backup: will restore as wp-config-pre-ud-restore-backup.php', 'updraftplus'); if (!$wpfs->move($working_dir . "/$file", $working_dir . "/wp-config-pre-ud-restore-backup.php", true)) { $this->restore_log_permission_failure_message($working_dir, 'Move '.$working_dir . "/$file -> ".$working_dir . "/wp-config-pre-ud-restore-backup.php", 'Destination'); } $file = "wp-config-pre-ud-restore-backup.php"; $wpcore_config_moved = true; } else { $updraftplus->log_e("wp-config.php from backup: restoring (as per user's request)", 'updraftplus'); } } elseif ('wpcore' == $type && 'wp-config-pre-ud-restore-backup.php' == $file && $wpcore_config_moved) { // The file is already gone; nothing to do continue; } // Sanity check (should not be possible as these were excluded at backup time) if (in_array($file, $do_not_overwrite)) continue; if (('object-cache.php' == $file || 'advanced-cache.php' == $file) && 'others' == $type) { if (false == apply_filters('updraftplus_restorecachefiles', true, $file)) { $nfile = preg_replace('/\.php$/', '-backup.php', $file); if (!$wpfs->move($working_dir . "/$file", $working_dir . "/" .$nfile, true)) { $this->restore_log_permission_failure_message($working_dir, 'Move '. $working_dir . '/' . $file .' -> '.$working_dir . '/' . $nfile, 'Destination'); } $file = $nfile; } } elseif (('object-cache-backup.php' == $file || 'advanced-cache-backup.php' == $file) && 'others' == $type) { if (!$wpfs->delete($working_dir."/".$file)) { $this->restore_log_permission_failure_message($working_dir, 'Delete '.$working_dir."/".$file); } continue; } if ('plugins' == $type && !empty($this->plugins_to_skip) && in_array($file, $this->plugins_to_skip)) { if (!$moving_old) { $updraftplus->log("Skipping {$file} as user requested it to not be restored.", "notice-restore"); // Remove it from the temporary directory - so that it will be clean later @$wpfs->delete($working_dir.'/'.$file, true);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } continue; } elseif ('plugins' == $type && !empty($this->plugins_to_restore) && !in_array($file, $this->plugins_to_restore) && !$this->include_unspecified_plugins) { if (!$moving_old) { $updraftplus->log("Skipping {$file} as it's not in the list of plugins to restore and we are not including unspecified plugins.", "notice-restore"); // Remove it from the temporary directory - so that it will be clean later @$wpfs->delete($working_dir.'/'.$file, true);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } continue; } if ('themes' == $type && !empty($this->themes_to_skip) && in_array($file, $this->themes_to_skip)) { if (!$moving_old) { $updraftplus->log("Skipping {$file} as user requested it to not be restored.", "notice-restore"); // Remove it from the temporary directory - so that it will be clean later @$wpfs->delete($working_dir.'/'.$file, true);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } continue; } elseif ('themes' == $type && !empty($this->themes_to_restore) && !in_array($file, $this->themes_to_restore) && !$this->include_unspecified_themes) { if (!$moving_old) { $updraftplus->log("Skipping {$file} as it's not in the list of themes to restore and we are not including unspecified themes.", "notice-restore"); // Remove it from the temporary directory - so that it will be clean later @$wpfs->delete($working_dir.'/'.$file, true);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } continue; } // First, move the existing one, if necessary (may not be present) if ($wpfs->exists($dest_dir.$file)) { if (!isset($checksums)) $checksums = $updraftplus->which_checksums(); if (self::MOVEIN_MAKE_BACKUP_OF_EXISTING == $preserve_existing) { if (!$wpfs->move($dest_dir.$file, $dest_dir.$file.'-old', true)) { // The entity could not be moved out of the way, so is likely still there. Check its contents are already what was desired. if ('others' == $type && hash_file($checksums[0], $working_dir.'/'.$file) == hash_file($checksums[0], $dest_dir.$file)) { $updraftplus->log($dest_dir.$file." could not be moved out of the way, but the new version had an identical hash, so the existing version will be left as-is"); @$wpfs->delete($working_dir.'/'.$file, true);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced because failure to delete the source will be noted later and is not useful to record on individual files. } else { $this->restore_log_permission_failure_message($dest_dir, 'Move '.$dest_dir.$file.' -> '.$dest_dir.$file.'-old', 'Destination'); return new WP_Error('old_move_failed', $this->strings['old_move_failed']." ($dest_dir$file)"); } } } elseif (self::MOVEIN_OVERWRITE_NO_BACKUP == $preserve_existing) { if (!$wpfs->delete($dest_dir.$file, true)) { if ('others' == $type && hash_file($checksums[0], $working_dir.'/'.$file) == hash_file($checksums[0], $dest_dir.$file)) { $updraftplus->log($dest_dir.$file." could not be removed, but the new version had an identical hash, so the existing version will be left as-is"); @$wpfs->delete($working_dir.'/'.$file, true);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced because failure to delete the source will be noted later and is not useful to record on individual files. } else { $this->restore_log_permission_failure_message($dest_dir, 'Delete '.$dest_dir.$file); return new WP_Error('old_delete_failed', $this->strings['old_delete_failed']." ($file)"); } } } } // Secondly, move in the new one $is_dir = $wpfs->is_dir($working_dir."/".$file); if (self::MOVEIN_DO_NOTHING_IF_EXISTING == $preserve_existing && $wpfs->exists($dest_dir.$file)) { // Something exists - no move. Remove it from the temporary directory - so that it will be clean later @$wpfs->delete($working_dir.'/'.$file, true);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. // The $is_dir check was added in version 1.11.18; without this, files in the top-level that weren't in the first archive didn't get over-written } elseif (self::MOVEIN_COPY_IN_CONTENTS != $preserve_existing || !$wpfs->exists($dest_dir.$file) || !$is_dir) { if ($wpfs->move($working_dir."/".$file, $dest_dir.$file, true)) { if ($send_actions) do_action('updraftplus_restored_'.$type.'_one', $file); // Make sure permissions are at least as great as those of the parent if ($is_dir) { // This method is broken due to https://core.trac.wordpress.org/ticket/26598 if (empty($chmod)) $chmod = octdec(sprintf("%04d", $this->get_current_chmod($dest_dir, $wpfs)));// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined after the check. if (!empty($chmod)) $this->chmod_if_needed($dest_dir.$file, $chmod, false, $wpfs); } } else { if ($is_dir) $updraftplus->log(sprintf("There was an error when performing the move operation by renaming or copying %s to %s: will attempt a recursive copy instead.", $working_dir."/".$file, $dest_dir.$file), 'updraftplus'); if (empty($chmod)) $chmod = octdec(sprintf("%04d", $this->get_current_chmod($dest_dir, $wpfs))); if (!$wpfs->exists($dest_dir.$file)) $wpfs->mkdir($dest_dir.$file, $chmod); $delete_root = ('others' == $type || 'wpcore' == $type) ? false : true; $copy_in = $this->copy_files_in($working_dir.'/'.$file, $dest_dir.$file, $filestruc['files'], $chmod, $delete_root); if (!empty($chmod)) $this->chmod_if_needed($dest_dir.$file, $chmod, false, $wpfs); if (is_wp_error($copy_in) || !$copy_in) { $this->restore_log_permission_failure_message($dest_dir, 'Move '. $working_dir."/".$file." -> ".$dest_dir.$file, 'Destination'); } if (is_wp_error($copy_in)) return $copy_in; if (!$copy_in) return new WP_Error('move_failed', $this->strings['move_failed'], $working_dir."/".$file." -> ".$dest_dir.$file); if (!$wpfs->rmdir($working_dir.'/'.$file)) { $this->restore_log_permission_failure_message($working_dir, 'Delete '.$working_dir.'/'.$file); } } } elseif (self::MOVEIN_COPY_IN_CONTENTS == $preserve_existing && !empty($filestruc['files'])) { // The directory ($dest_dir) already exists, and we've been requested to copy-in. We need to perform the recursive copy-in // $filestruc['files'] is then a new structure like $upgrade_files // First pass: create directory structure // Get chmod value for the parent directory, and re-use it (instead of passing false) // This method is broken due to https://core.trac.wordpress.org/ticket/26598 if (empty($chmod)) $chmod = octdec(sprintf("%04d", $this->get_current_chmod($dest_dir, $wpfs))); // Copy in the files. This also needs to make sure the directories exist, in case the zip file lacks entries $delete_root = ('others' == $type || 'wpcore' == $type) ? false : true; $copy_in = $this->copy_files_in($working_dir.'/'.$file, $dest_dir.$file, $filestruc['files'], $chmod, $delete_root); if (!empty($chmod)) $this->chmod_if_needed($dest_dir.$file, $chmod, false, $wpfs); if (is_wp_error($copy_in) || !$copy_in) { $this->restore_log_permission_failure_message($dest_dir, 'Move '. $working_dir."/".$file." -> ".$dest_dir.$file, 'Destination'); } if (is_wp_error($copy_in)) return $copy_in; if (!$copy_in) return new WP_Error('move_failed', $this->strings['move_failed'], "(2) ".$working_dir.'/'.$file." -> ".$dest_dir.$file); if (!$wpfs->rmdir($working_dir.'/'.$file)) { $this->restore_log_permission_failure_message($working_dir, 'Delete '.$working_dir.'/'.$file); } } else { if (!$wpfs->rmdir($working_dir.'/'.$file)) { $this->restore_log_permission_failure_message($working_dir, 'Delete '.$working_dir.'/'.$file); } } } return true; } /** * $dest_dir must already exist * * @param string $source_dir source directory * @param string $dest_dir destintion directory * @param string $files files to be placed in directory * @param boolean $chmod chmod type * @param boolean $delete_source indicate whether source needs deleting * @return boolean */ private function copy_files_in($source_dir, $dest_dir, $files, $chmod = false, $delete_source = false) { global $wp_filesystem, $updraftplus; foreach ($files as $rname => $rfile) { if ('d' != $rfile['type']) { // Delete it if it already exists (or perhaps WP does it for us) if (!$wp_filesystem->move($source_dir.'/'.$rname, $dest_dir.'/'.$rname, true)) { $this->restore_log_permission_failure_message($dest_dir, $source_dir.'/'.$rname.' -> '.$dest_dir.'/'.$rname, 'Destination'); return false; } } else { // Directory if ($wp_filesystem->is_file($dest_dir.'/'.$rname)) @$wp_filesystem->delete($dest_dir.'/'.$rname, false, 'f');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. // No such directory yet: just move it if ($wp_filesystem->exists($dest_dir.'/'.$rname) && !$wp_filesystem->is_dir($dest_dir.'/'.$rname) && !$wp_filesystem->move($source_dir.'/'.$rname, $dest_dir.'/'.$rname, false)) { $this->restore_log_permission_failure_message($dest_dir, 'Move '.$source_dir.'/'.$rname.' -> '.$dest_dir.'/'.$rname, 'Destination'); $updraftplus->log_e('Failed to move directory (check your file permissions and disk quota): %s', $source_dir.'/'.$rname." -> ".$dest_dir.'/'.$rname); return false; } elseif (!empty($rfile['files'])) { if (!$wp_filesystem->exists($dest_dir.'/'.$rname)) $wp_filesystem->mkdir($dest_dir.'/'.$rname, $chmod); // There is a directory - and we want to to copy in $docopy = $this->copy_files_in($source_dir.'/'.$rname, $dest_dir.'/'.$rname, $rfile['files'], $chmod, false); if (is_wp_error($docopy)) return $docopy; if (false === $docopy) { return false; } } else { // There is a directory: but nothing to copy in to it @$wp_filesystem->rmdir($source_dir.'/'.$rname);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } } } // We are meant to leave the working directory empty. Hence, need to rmdir() once a directory is empty. But not the root of it all in case of others/wpcore. if ($delete_source || strpos($source_dir, '/') !== false) { if (!$wp_filesystem->rmdir($source_dir, false)) { $this->restore_log_permission_failure_message($source_dir, 'Delete '.$source_dir); } } return true; } /** * Pre-flight check: chance to complain and abort before anything at all is done * * @param Array $backup_files - An array of backup files * @param String $type - Type of file * @param Array $info - Information about the backup * * @return Boolean|WP_Error */ private function pre_restore_backup($backup_files, $type, $info) { if (is_string($backup_files)) $backup_files = array($backup_files); // convert this to an array if it's not one as more files uses an array of paths if (empty($info['path'])) $info['path'] = array(); if (!is_array($info['path'])) $info['path'] = array($info['path']); // Ensure access to the indicated directory - and to WP_CONTENT_DIR (in which we use upgrade/) $need_these = array(WP_CONTENT_DIR); foreach ($info['path'] as $path) { $need_these[] = $path; } $res = $this->wp_upgrader->fs_connect($need_these); if (false === $res || is_wp_error($res)) return $res; // Check upgrade directory is writable (instead of having non-obvious messages when we try to write) // In theory, this is redundant (since we already checked for access to WP_CONTENT_DIR); but in practice, this extra check has been needed global $wp_filesystem, $updraftplus, $updraftplus_addons_migrator; if (empty($this->pre_restore_updatedir_writable)) { $upgrade_folder = $wp_filesystem->wp_content_dir() . 'upgrade/'; @$wp_filesystem->mkdir($upgrade_folder, octdec($this->calculate_additive_chmod_oct(FS_CHMOD_DIR, 0775)));// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. if (!$wp_filesystem->is_dir($upgrade_folder)) { return new WP_Error('no_dir', sprintf(__('UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)', 'updraftplus'), __('folder', 'updraftplus'), $upgrade_folder)); } $rand_file = 'testfile_'.rand(0, 9999999).md5(microtime(true)).'.txt'; if ($wp_filesystem->put_contents($upgrade_folder.$rand_file, 'testing...')) { @$wp_filesystem->delete($upgrade_folder.$rand_file);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. $this->pre_restore_updatedir_writable = true; } else { $this->restore_log_permission_failure_message($upgrade_folder, 'Put contents '.$upgrade_folder.$rand_file, 'Destination'); return new WP_Error('no_file', sprintf(__('UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)', 'updraftplus'), __('file', 'updraftplus'), $upgrade_folder.$rand_file)); } } // Code below here assumes that we're dealing with file-based entities if ('db' == $type) return true; foreach ($info['path'] as $path) { $wp_filesystem_dir = $this->get_wp_filesystem_dir($path); if (false === $wp_filesystem_dir) return false; $ret_val = true; $updraft_dir = $updraftplus->backups_dir_location(); if (isset($this->continuation_data['updraftplus_ajax_restore']) && 'continue_ajax_restore' != $this->continuation_data['updraftplus_ajax_restore'] && (('plugins' == $type || 'uploads' == $type || 'themes' == $type || 'more' == $type) && (!is_multisite() || 0 !== $this->ud_backup_is_multisite || ('uploads' != $type || empty($updraftplus_addons_migrator->new_blogid))))) { if (file_exists($updraft_dir.'/'.basename($wp_filesystem_dir)."-old")) { $ret_val = new WP_Error('already_exists', sprintf(__('Existing unremoved folders from a previous restore exist (please use the "Delete old folders" button to delete them before trying again): %s', 'updraftplus'), $updraft_dir.'/'.basename($wp_filesystem_dir)."-old")); } } } if (!empty($this->ud_foreign)) { $known_foreigners = apply_filters('updraftplus_accept_archivename', array()); if (!is_array($known_foreigners) || empty($known_foreigners[$this->ud_foreign])) { return new WP_Error('uk_foreign', __('This version of UpdraftPlus does not know how to handle this type of foreign backup', 'updraftplus').' ('.$this->ud_foreign.')'); } } return $ret_val; } private function get_wp_filesystem_dir($path) { global $wp_filesystem; // Get the wp_filesystem location for the folder on the local install switch ($path) { case ABSPATH: case '': $wp_filesystem_dir = $wp_filesystem->abspath(); break; case WP_CONTENT_DIR: $wp_filesystem_dir = $wp_filesystem->wp_content_dir(); break; case WP_PLUGIN_DIR: $wp_filesystem_dir = $wp_filesystem->wp_plugins_dir(); break; case WP_CONTENT_DIR . '/themes': $wp_filesystem_dir = $wp_filesystem->wp_themes_dir(); // If the themes directory does not exist then it's possible to get a broken path, confirm and try to resolve this if (!$wp_filesystem->exists($wp_filesystem_dir) && $wp_filesystem_dir == $wp_filesystem->find_folder(WP_CONTENT_DIR.get_theme_root()) && $wp_filesystem->exists($wp_filesystem->wp_content_dir())) { $wp_filesystem_dir = $wp_filesystem->find_folder(WP_CONTENT_DIR.'/themes'); } break; default: $wp_filesystem_dir = $wp_filesystem->find_folder($path); break; } if (!$wp_filesystem_dir) return false; return untrailingslashit($wp_filesystem_dir); } /** * $backup_file is just the basename, and must be a string; we expect the caller to deal with looping over an array (multi-archive sets). We do, however, record whether we have already unpacked an entity of the same type - so that we know to add (not replace). * * @param string $backup_file name of file being backed up * @param string $type type of file * @param array $info information array * @param boolean $last_one indicate if this is the last file to be restored * @param boolean $last_entity indicate if this is the last entity of this type to be restored * @return WP_Error|Boolean - true if successful; otherwise false or an error */ private function restore_backup($backup_file, $type, $info, $last_one = false, $last_entity = false) { global $wp_filesystem, $updraftplus; $updraftplus->log("restore_backup(backup_file=$backup_file, type=$type, info=".serialize($info).", last_one=$last_one)"); if ('db' == $type) { $get_dir = ''; } else { $entity_path = isset($info['path']) ? $info['path'] : ''; $path = apply_filters('updraftplus_restore_path', $entity_path, $backup_file, $this->ud_backup_set, $type); $get_dir = empty($path) ? '' : $path; } if (false === ($wp_filesystem_dir = $this->get_wp_filesystem_dir($get_dir))) return false; if (empty($this->abspath)) $this->abspath = trailingslashit($wp_filesystem->abspath()); if (function_exists('set_time_limit')) @set_time_limit(1800);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. // This returns the wp_filesystem path $working_dir = $this->unpack_package($backup_file, $this->delete, $type); if (is_wp_error($working_dir)) return $working_dir; $working_dir_localpath = apply_filters('updraftplus_working_dir_localpath', WP_CONTENT_DIR.'/upgrade/'.basename($working_dir)); if (function_exists('set_time_limit')) @set_time_limit(1800);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. // We copy the variable because we may be importing with a different prefix (e.g. on multisite imports of individual blog data) // The filter allows you to restore to a completely different prefix - i.e. don't replace this site; possibly useful for testing the restore process (but not yet tested) $import_table_prefix = apply_filters('updraftplus_restore_table_prefix', $updraftplus->get_table_prefix(false)); $this->import_table_prefix = $import_table_prefix; $this->final_import_table_prefix = $updraftplus->get_table_prefix(false); $now_done = apply_filters('updraftplus_pre_restore_move_in', false, $type, $working_dir, $info, $this->ud_backup_set, $this, $wp_filesystem_dir); if (is_wp_error($now_done)) return $now_done; // A slightly ugly way of getting a particular result back if (is_string($now_done)) { $wp_filesystem_dir = $now_done; $now_done = false; $do_not_move_old = true; } if (!$now_done) { if ('db' == $type) { $updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'db', 'data' => array('stage' => 'begun', 'table' => ''))); $rdb = $this->restore_backup_db($working_dir, $working_dir_localpath, $import_table_prefix); if (false === $rdb || is_wp_error($rdb)) return $rdb; $updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'db', 'data' => array('stage' => 'finished', 'table' => ''))); } elseif ('others' == $type) { // For foreign 'Simple Backup', we need to keep going down until we find wp-content if (empty($this->ud_foreign)) { $move_from = $working_dir; } else { $move_from = $this->search_for_folder('wp-content', $working_dir); if (!is_string($move_from)) return new WP_Error('not_found', __('The WordPress content folder (wp-content) was not found in this zip file.', 'updraftplus')); } // In this special case, the backup contents are not in a folder, so it is not simply a case of moving the folder around, but rather looping over all that we find // On subsequent archives of a multi-archive set, don't move anything; but do on the first $preserve_existing = isset($this->been_restored['others']) ? self::MOVEIN_COPY_IN_CONTENTS : self::MOVEIN_MAKE_BACKUP_OF_EXISTING; $preserve_existing = apply_filters('updraft_move_others_preserve_existing', $preserve_existing, $this->been_restored, $this->restore_options, $this->ud_backup_set); $new_move_from = apply_filters('updraft_restore_backup_move_from', $move_from, 'others', $this->restore_options, $this->ud_backup_set); if ($new_move_from != $move_from && 0 === strpos($new_move_from, $move_from)) { $new_suffix = substr($new_move_from, strlen($move_from)); $wp_filesystem_dir .= $new_suffix; $move_from = $new_move_from; } $move_in = $this->move_backup_in($move_from, trailingslashit($wp_filesystem_dir), $preserve_existing, array('plugins', 'themes', 'uploads', 'upgrade'), 'others'); if (is_wp_error($move_in)) return $move_in; if (!$move_in) return new WP_Error('new_move_failed', $this->strings['new_move_failed']); $this->been_restored['others'] = true; } else { // Default action: used for plugins, themes and uploads (and wpcore, via a filter) // Multi-archive sets: we record what we've already begun on, and on subsequent runs, copy in instead of replacing $movedin = apply_filters('updraftplus_restore_movein_'.$type, $working_dir, $this->abspath, $wp_filesystem_dir); // A filter, to allow add-ons to perform the install of non-standard entities, or to indicate that it's not possible if (false === $movedin) { $this->skin->feedback($this->strings['not_possible']); } elseif (is_wp_error($movedin)) { return $movedin; } elseif (true !== $movedin) { // We get the directory to move from early, in case there is a problem with the backup that affects the result - we want to detect that before moving existing data out of the way $short_circuit = false; // For foreign 'Simple Backup', we need to keep going down until we find wp-content if (empty($this->ud_foreign)) { $working_dir_use = $working_dir; } else { $working_dir_use = $this->search_for_folder('wp-content', $working_dir); if (!is_string($working_dir_use)) { if (empty($this->ud_foreign) || !apply_filters('updraftplus_foreign_allow_missing_entity', false, $type, $this->ud_foreign)) { return new WP_Error('not_found', __('The WordPress content folder (wp-content) was not found in this zip file.', 'updraftplus')); } else { $short_circuit = true; } } } // The backup may not actually have /$type, since that is info from the present site $move_from = $this->get_first_directory($working_dir_use, array(basename($path), $type)); if (false !== $move_from) $move_from = apply_filters('updraft_restore_backup_move_from', $move_from, $type, $this->restore_options, $this->ud_backup_set); if (false === $move_from) { if (!empty($this->ud_foreign) && !apply_filters('updraftplus_foreign_allow_missing_entity', false, $type, $this->ud_foreign)) { return new WP_Error('new_move_failed', $this->strings['new_move_failed']); } } // On the first time, create the -old directory in updraft_dir // (Old style was: On the first time, move the existing data to -old) if (!isset($this->been_restored[$type]) && empty($do_not_move_old)) { $this->move_existing_to_old($type, $get_dir, $wp_filesystem, $wp_filesystem_dir); } if (empty($short_circuit)) { if (false === $move_from) { if (!empty($this->ud_foreign) && !apply_filters('updraftplus_foreign_allow_missing_entity', false, $type, $this->ud_foreign)) { return new WP_Error('new_move_failed', $this->strings['new_move_failed']); } } else { $this->skin->feedback($this->strings['moving_backup']); $move_in = $this->move_backup_in($move_from, trailingslashit($wp_filesystem_dir), self::MOVEIN_COPY_IN_CONTENTS, array(), $type); if (is_wp_error($move_in)) return $move_in; if (!$move_in) return new WP_Error('new_move_failed', $this->strings['new_move_failed']); if (!$wp_filesystem->rmdir($move_from)) { $this->restore_log_permission_failure_message(dirname($move_from), 'Delete '.$move_from); } } } } $this->been_restored[$type] = true; } } $attempt_delete = (!empty($this->ud_foreign) && !$last_one) ? false : true; if ($attempt_delete) { // Non-recursive, so the directory needs to be empty $this->skin->feedback($this->strings['cleaning_up']); if (!empty($do_not_move_old)) @$wp_filesystem->delete($working_dir.'/'.$type);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. // Foreign backups can contain extra data and thus leave stuff behind, thus causing errors $recurse = empty($this->ud_foreign) ? false : true; $recurse = apply_filters('updraftplus_restore_delete_recursive', $recurse, $this->ud_foreign, $this->restore_options, $type); if (!$wp_filesystem->delete($working_dir, $recurse)) { // Can remove this after 1-Jan-2015; or at least, make it so that it requires the version number to be present. $fixed_it_now = false; // Deal with a corner-case in version 1.8.5 if ('uploads' == $type && (empty($this->created_by_version) || (version_compare($this->created_by_version, '1.8.5', '>=') && version_compare($this->created_by_version, '1.8.8', '<')))) { $updraftplus->log("Clean-up failed with uploads: will attempt 1.8.5-1.8.7 fix (".$this->created_by_version.")"); $move_in = @$this->move_backup_in(dirname($move_from), trailingslashit($wp_filesystem_dir), 3, array(), $type);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. $updraftplus->log("Result: ".serialize($move_in)); if ($wp_filesystem->delete($working_dir)) $fixed_it_now = true; } if (file_exists($working_dir.DIRECTORY_SEPARATOR.'updraftplus-manifest.json')) { // Before we cleanup and remove the manifest check if this is the last entity of this type, if it is then we want to remove anything that no longer exists in this manifest if ($last_entity) { $incremental_restore_prune = $this->incremental_restore_prune_files($working_dir, $type); if (is_wp_error($incremental_restore_prune)) return $incremental_restore_prune; } $wp_filesystem->delete($working_dir.DIRECTORY_SEPARATOR.'updraftplus-manifest.json'); if ($wp_filesystem->delete($working_dir)) $fixed_it_now = true; } if (!$fixed_it_now) { $updraftplus->log_e('Error: %s', $this->strings['delete_failed'].' ('.$working_dir.')'); // List contents // No need to make this a restoration-aborting error condition - it's not $dirlist = $wp_filesystem->dirlist($working_dir, true, true); if (is_array($dirlist)) { $updraftplus->log(__('Files found:', 'updraftplus'), 'notice-restore'); foreach (array_keys($dirlist) as $name) { $updraftplus->log("* $name", 'notice-restore'); } } else { $updraftplus->log_e('Unable to enumerate files in that directory.'); } } } } // Permissions changes (at the top level - i.e. this does not apply if using recursion) are now *additive* - i.e. there's no danger of permissions being removed from what's on-disk switch ($type) { case 'wpcore': $this->adjust_auto_prepend_directive(); $this->chmod_if_needed($wp_filesystem_dir, FS_CHMOD_DIR, false, $wp_filesystem); // In case we restored a .htaccess which is incorrect for the local setup $this->flush_rewrite_rules(); break; case 'uploads': $this->chmod_if_needed($wp_filesystem_dir, FS_CHMOD_DIR, false, $wp_filesystem); break; case 'themes': // Cherry Framework needs its cache files removing after migration if ((empty($this->old_siteurl) || ($this->old_siteurl != $this->our_siteurl)) && function_exists('glob')) { $cherry_child = glob(WP_CONTENT_DIR.'/themes/theme*'); if (is_array($cherry_child)) { foreach ($cherry_child as $theme) { if (file_exists($theme.'/style.less.cache')) unlink($theme.'/style.less.cache'); if (file_exists($theme.'/bootstrap/less/bootstrap.less.cache')) unlink($theme.'/bootstrap/less/bootstrap.less.cache'); } } } break; case 'db': if (function_exists('wp_cache_flush')) wp_cache_flush(); do_action('updraftplus_restored_db', array( 'expected_oldsiteurl' => $this->old_siteurl, 'expected_oldhome' => $this->old_home, 'expected_oldcontent' => $this->old_content ), $import_table_prefix); // N.B. flush_rewrite_rules() causes $wp_rewrite to become up to date again - important for the no_mod_rewrite() call $this->flush_rewrite_rules(); if ($updraftplus->mod_rewrite_unavailable()) { $updraftplus->log("Using Apache, with permalinks (".get_option('permalink_structure').") but no mod_rewrite enabled - enable it to make your permalinks work"); $warn_no_rewrite = sprintf(__('You are using the %s webserver, but do not seem to have the %s module loaded.', 'updraftplus'), 'Apache', 'mod_rewrite').' '.sprintf(__('You should enable %s to make any pretty permalinks (e.g. %s) work', 'updraftplus'), 'mod_rewrite', 'http://example.com/my-page/'); $updraftplus->log($warn_no_rewrite, 'warning-restore'); } break; default: $this->chmod_if_needed($wp_filesystem_dir, FS_CHMOD_DIR, false, $wp_filesystem); } // db was already done if ('db' != $type) do_action('updraftplus_restored_'.$type); return true; } /** * This method will read in the latest manifest file for an entity type and start the file prune. * * @param string $working_dir - the directory we are working in * @param string $type - the type of file * @return boolean|WP_Error */ private function incremental_restore_prune_files($working_dir, $type) { // Check file exists again just in case it some how got removed $manifest_file = $working_dir.DIRECTORY_SEPARATOR.'updraftplus-manifest.json'; if (file_exists($manifest_file) && filesize($manifest_file) > 0) { $entity_manifest = file_get_contents($working_dir.DIRECTORY_SEPARATOR.'updraftplus-manifest.json'); $decoded_manifest = json_decode($entity_manifest, true); if (null === $decoded_manifest) { // 2.16.0 could fail to put a comma after the first 'files' item $entity_manifest = preg_replace('/files":(.*)""/', 'files":$1","', $entity_manifest); $decoded_manifest = json_decode($entity_manifest, true); if (null === $decoded_manifest) return new WP_Error('decode_manifest_failed', 'Failed to JSON-decode the manifest file'); global $updraftplus; $updraftplus->log('Manifest file had invalid JSON, but it was successfully patched'); } $base_path = trailingslashit(WP_CONTENT_DIR); $path = $base_path.$type; return $this->incremental_restore_scan_dir($base_path, $path, 1, $decoded_manifest); } else { return new WP_Error('manifest_not_found', $this->strings['manifest_not_found']); } } /** * This method will recursively scan each directory to the given listed_level which is located in the manifest and prune and files or folders that do not exist in the manifest. * * @param string $base_path - the base path of the entity type * @param string $path - the current path we are scanning * @param integer $current_level - the level we are currently scanning at * @param array $entity_manifest - the manifest array which includes the listed_level, directories and files to keep * @return boolean|WP_Error */ private function incremental_restore_scan_dir($base_path, $path, $current_level, $entity_manifest) { global $wp_filesystem; $directory_level = $entity_manifest['listed_levels']; $entity_directories = $entity_manifest['contents']['directories']; $entity_files = $entity_manifest['contents']['files']; if (!isset($directory_level) || !isset($entity_directories) || !isset($entity_files)) return new WP_Error('read_manifest_failed', $this->strings['read_manifest_failed']); $directory_files = $wp_filesystem->dirlist($path); if (isset($directory_files)) { foreach ($directory_files as $file => $filestruc) { if ($wp_filesystem->is_dir($path . DIRECTORY_SEPARATOR . $file)) { $directory = $path . DIRECTORY_SEPARATOR . $file; // Check if we should go deeper in the file path, if not then check if this directory exists in the manifest, if not then remove it. if ($current_level + 1 < $directory_level) { $incremental_restore_prune = $this->incremental_restore_scan_dir($base_path, $directory, $current_level + 1, $entity_manifest); if (is_wp_error($incremental_restore_prune)) return $incremental_restore_prune; } else { $directory = str_replace($base_path, "", $directory); if (!in_array($directory, $entity_directories)) { $wp_filesystem->delete($base_path . $directory, true); } } } else { $file = str_replace($base_path, "", $path . DIRECTORY_SEPARATOR . $file); if (!in_array($file, $entity_files)) { $wp_filesystem->delete($base_path . $file, false); } } } return true; } else { return new WP_Error('read_working_dir_failed', $this->strings['read_working_dir_failed']); } } private function move_existing_to_old($type, $get_dir, $wp_filesystem, $wp_filesystem_dir) { if (apply_filters('updraft_move_existing_to_old_short_circuit', false, $type, $this->restore_options)) { // Users of the filter should do their own logging return; } global $updraftplus; $updraft_dir = $updraftplus->backups_dir_location(); // Firstly, if there's already an '-old' directory, get rid of it // Try filesystem-level move $old_dir = $updraft_dir.'/'.$type.'-old'; if (is_dir($old_dir)) { $updraftplus->log_e('%s: This directory already exists, and will be replaced', $old_dir); UpdraftPlus_Filesystem_Functions::remove_local_directory($old_dir); } $move_old_destination = apply_filters('updraftplus_restore_move_old_mode', 0, $type, $this->restore_options); if (0 == $move_old_destination && @mkdir($old_dir)) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $updraftplus->log("Moving old data: filesystem method / updraft_dir is potentially possible"); $move_old_destination = 1; } // Try wp_filesystem instead if ($wp_filesystem->exists($wp_filesystem_dir."-old")) { // Is better to warn and delete the restore than abort mid-restore and leave inconsistent site $updraftplus->log_e('%s: This directory already exists, and will be replaced', $wp_filesystem_dir."-old"); // In theory, supplying true as the 3rd parameter achieves this; in practice, not always so (leads to support requests) $wp_filesystem->delete($wp_filesystem_dir."-old", true); if ($wp_filesystem->exists($wp_filesystem_dir."-old")) { $updraftplus->log("Failed to remove existing directory (".$wp_filesystem_dir."-old"); $failed_to_remove = true; } } if (-1 != $move_old_destination && empty($failed_to_remove) && @$wp_filesystem->mkdir($wp_filesystem_dir."-old")) {// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. $updraftplus->log("Moving old data: can potentially use wp_filesystem method / -old"); $move_old_destination += 2; } if (0 == $move_old_destination) { $updraftplus->log_e("File permissions do not allow the old data to be moved and retained; instead, it will be deleted."); } $this->skin->feedback($this->strings['moving_old']); // Firstly, try direct filesystem method into updraft_dir if ($move_old_destination > 0 && 1 == $move_old_destination % 2) { // The final 'true' forces direct filesystem access $move_old = @$this->move_backup_in($get_dir, $updraft_dir.'/'.$type.'-old/', 3, array(), $type, false, true, true);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. if (is_wp_error($move_old)) $updraftplus->log_wp_error($move_old); } // Try wp_filesystem method into -old if that failed if (2 >= $move_old_destination && (0 == $move_old_destination % 2 || (!empty($move_old) && is_wp_error($move_old)))) { $move_old = @$this->move_backup_in($wp_filesystem_dir, $wp_filesystem_dir."-old/", 3, array(), $type, false, false, true);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. if (is_wp_error($move_old)) $updraftplus->log_wp_error($move_old); } // Finally, when all else fails, nuke it if (-1 == $move_old_destination || 0 == $move_old_destination || (!empty($move_old) && is_wp_error($move_old))) { if (-1 == $move_old_destination) { $updraftplus->log("$type: $wp_filesystem_dir: deleting contents"); } else { $updraftplus->log("$type: $wp_filesystem_dir: deleting contents (as attempts to copy failed)"); } $del_files = $wp_filesystem->dirlist($wp_filesystem_dir, true, false); if (empty($del_files)) $del_files = array(); foreach ($del_files as $file => $filestruc) { if (empty($file)) continue; if (!$wp_filesystem->delete($wp_filesystem_dir.'/'.$file, true)) { $this->restore_log_permission_failure_message($wp_filesystem_dir, 'Delete '.$wp_filesystem_dir.'/'.$file); } } } } /** * First added in UD 1.9.47. */ private function clear_caches() { global $updraftplus; // Functions called here need to not assume that the relevant plugin actually exists - they should check for any functions they intend to call, before calling them. $methods = array( 'clear_cache_wpsupercache', 'clear_avada_fusion_cache', // avada theme with its theme engine called fusion 'clear_elementor_cache', ); foreach ($methods as $method) { try { call_user_func(array($this, $method)); } catch (Exception $e) { $log_message = 'Exception ('.get_class($e).") occurred when cleaning up third-party cache ($method) during post-restore: ".$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); $updraftplus->log($log_message); } catch (Error $e) { // phpcs:ignore PHPCompatibility.Classes.NewClasses.errorFound -- The Error class does not exist in PHP below 5.6. $log_message = 'Error ('.get_class($e).") occurred when cleaning up third-party cache ($method) during post-restore: ".$e->getMessage().' (Code: '.$e->getCode().', line '.$e->getLine().' in '.$e->getFile().')'; error_log($log_message); $updraftplus->log($log_message); } } // It should be harmless to just purge the standard directory anyway (it's not backed up by default), and any others from other plugins $cache_sub_directories = array('cache', 'wphb-cache', 'endurance-page-cache'); foreach ($cache_sub_directories as $sub_dir) { if (!is_dir(WP_CONTENT_DIR.'/'.$sub_dir)) continue; $updraftplus->log("Purging cache directory: ".WP_CONTENT_DIR.'/'.$sub_dir); UpdraftPlus_Filesystem_Functions::remove_local_directory(WP_CONTENT_DIR.'/'.$sub_dir, true); } } /** * Clear cached Fusion-theme's Dynamic CSS */ private function clear_avada_fusion_cache() { global $updraftplus; $upload_dir = $updraftplus->wp_upload_dir(); $fusion_css_dir = realpath($upload_dir['basedir']).DIRECTORY_SEPARATOR.'fusion-styles'; if (is_dir($fusion_css_dir)) { $updraftplus->log("Avada/Fusion's dynamic CSS folder exists, and will be emptied (so that it will be automatically regenerated)"); UpdraftPlus_Filesystem_Functions::remove_local_directory($fusion_css_dir, true); } } /** * Clear cached Elementor styles that are saved in CSS files in the uploads folder. Clearing the caches will regenerate new CSS files, according to the most recent settings. */ private function clear_elementor_cache() { global $updraftplus; $cache_uncleared = true; if (apply_filters('updraftplus_elementor_direct_clear_cache', $cache_uncleared)) { if (class_exists('\Elementor\Plugin')) class_alias('\Elementor\Plugin', 'UpdraftPlus_Elementor_Plugin'); // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.class_aliasFound -- Ignore class_alias function. if (class_exists('UpdraftPlus_Elementor_Plugin') && isset(UpdraftPlus_Elementor_Plugin::$instance) && isset(UpdraftPlus_Elementor_Plugin::$instance->files_manager) && is_object(UpdraftPlus_Elementor_Plugin::$instance->files_manager) && method_exists(UpdraftPlus_Elementor_Plugin::$instance->files_manager, 'clear_cache')) { $updraftplus->log("Elementor's clear cache method exists and will be executed"); UpdraftPlus_Elementor_Plugin::$instance->files_manager->clear_cache(); $cache_uncleared = false; } } if (apply_filters('updraftplus_elementor_manual_clear_cache', $cache_uncleared)) { $upload_dir = $updraftplus->wp_upload_dir(); $elementor_css_dir = realpath($upload_dir['basedir']).DIRECTORY_SEPARATOR.'elementor'.DIRECTORY_SEPARATOR.'css'; if (is_dir($elementor_css_dir)) { $updraftplus->log("Elementor's CSS directory exists, and will be emptied (so that it will be automatically regenerated)"); UpdraftPlus_Filesystem_Functions::remove_local_directory($elementor_css_dir, true); } // deleting only the Elementor's CSS files won't make Elementor regenerate the new CSS files the next time the website is loaded/visited again // Elementor will regenerate the files only if these meta and options get deleted as well delete_post_meta_by_key('_elementor_css'); delete_option('_elementor_global_css'); delete_option('elementor-custom-breakpoints-files'); } } /** * Adapted from wp_cache_clean_cache($file_prefix, $all = false) in WP Super Cache (wp-cache.php) * * @return boolean */ private function clear_cache_wpsupercache() { $all = true; global $updraftplus, $cache_path, $wp_cache_object_cache; if ($wp_cache_object_cache && function_exists('reset_oc_version')) reset_oc_version(); // Removed check: && wpsupercache_site_admin() if (true == $all && function_exists('prune_super_cache')) { if (!empty($cache_path)) { $updraftplus->log_e("Clearing cached pages (%s)...", 'WP Super Cache'); prune_super_cache($cache_path, true); } return true; } } private function search_for_folder($folder, $startat) { if (!is_dir($startat)) return false; // Exists in this folder? if (is_dir($startat.'/'.$folder)) return trailingslashit($startat).$folder; // Does not if ($handle = opendir($startat)) { while (($file = readdir($handle)) !== false) { if ('.' != $file && '..' != $file && is_dir($startat).'/'.$file) { $ss = $this->search_for_folder($folder, trailingslashit($startat).$file); if (is_string($ss)) return $ss; } } closedir($handle); } return false; } /** * Returns an octal string (but not an octal number) * * @param String $file The file to get the permissions for * @param WP_Filesystem|Boolean $wpfs WP_Filesystem object, at least support the getchmod() method * * @return String */ private function get_current_chmod($file, $wpfs = false) { if (false == $wpfs) { global $wp_filesystem; $wpfs = $wp_filesystem; } // getchmod() is broken at least as recently as WP3.8 - see: https://core.trac.wordpress.org/ticket/26598 return (is_a($wpfs, 'WP_Filesystem_Direct')) ? substr(sprintf("%06d", decoct(@fileperms($file))), 3) : $wpfs->getchmod($file);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } /** * Returns a string in octal format * $new_chmod should be an octal, i.e. what you'd pass to chmod() * * @param string $old_chmod specify old chmod * @param string $new_chmod specify new chmod * @return string */ private function calculate_additive_chmod_oct($old_chmod, $new_chmod) { // chmod() expects octal form, which means a preceding zero - see http://php.net/chmod $old_chmod = sprintf("%04d", $old_chmod); $new_chmod = sprintf("%04d", decoct($new_chmod)); for ($i=1; $i<=3; $i++) { $oldbit = substr($old_chmod, $i, 1); $newbit = substr($new_chmod, $i, 1); for ($j=0; $j<=2; $j++) { if (($oldbit & (1<<$j)) && !($newbit & (1<<$j))) { $newbit = (string) ($newbit | 1<<$j); $new_chmod = sprintf("%04d", substr($new_chmod, 0, $i).$newbit.substr($new_chmod, $i+1)); } } } return $new_chmod; } /** * "If needed" means, "If the permissions are not already more permissive than this". i.e. This will not tighten permissions from what the user had before (we trust them) * $chmod should be an octal - i.e. the same as you'd pass to chmod() * * @param String $dir a WP_Filesystem path * @param String $chmod specific chmod * @param Boolean $recursive indicate if recursive chmod is needed * @param Boolean $wpfs indicate whether to use wpfs access methods * @param Boolean $suppress suppress PHP error/warning output * * @return Boolean - whether the operation was successfully carried out */ private function chmod_if_needed($dir, $chmod, $recursive = false, $wpfs = false, $suppress = true) { // Do nothing on Windows if ('WIN' === strtoupper(substr(PHP_OS, 0, 3))) return true; if (false == $wpfs) { global $wp_filesystem; $wpfs = $wp_filesystem; } $old_chmod = $this->get_current_chmod($dir, $wpfs); // Sanity check if (strlen($old_chmod) < 3) return false; $new_chmod = $this->calculate_additive_chmod_oct($old_chmod, $chmod); // Don't fix what isn't broken if (!$recursive && $new_chmod == $old_chmod) return true; $new_chmod = octdec($new_chmod); if ($suppress) { return @$wpfs->chmod($dir, $new_chmod, $recursive);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the method. } else { return $wpfs->chmod($dir, $new_chmod, $recursive); } } /** * This will return the path with the actual content we want to restore, ignoring any other files that may be in the top level of the zip file * $dirnames: an array of preferred names * * @param string $working_dir specify working directory * @param string $dirnames directory names * @return string the final path with the content we want to restore */ public function get_first_directory($working_dir, $dirnames) { global $wp_filesystem, $updraftplus; $fdirnames = array_flip($dirnames); $dirlist = $wp_filesystem->dirlist($working_dir, true, false); if (is_array($dirlist)) { $move_from = false; foreach ($dirlist as $name => $struct) { if (isset($struct['type']) && 'd' != $struct['type']) continue; if (false === $move_from) { if (isset($fdirnames[$name])) { $move_from = $working_dir . "/".$name; } elseif (preg_match('/^([^\.].*)$/', $name, $fmatch)) { // In the case of a third-party backup, the first entry may be the wrong entity. We could try a more sophisticated algorithm, but a third party backup requiring one has never been seen (and it is not easy to envisage what the algorithm might be). if (empty($this->ud_foreign)) { $first_entry = $working_dir."/".$fmatch[1]; } } } } if (false === $move_from && isset($first_entry)) { $updraftplus->log_e('Using directory from backup: %s', basename($first_entry)); $move_from = $first_entry; } } else { // That shouldn't happen. Fall back to default $move_from = $working_dir."/".$dirnames[0]; } return $move_from; } /** * Enter or leave maintenance mode * * @param Boolean $active - whether to activate, or de-activate, maintenance mode */ private function maintenance_mode($active) { // This allows add-ons to do something different if they prefer if (apply_filters('updraft_restore_maintenance_mode', true, $active, $this, $this->wp_upgrader)) { $this->wp_upgrader->maintenance_mode($active); } } /** * Gets the table prefix to use, using the filter updraftplus_restore_set_import_table_prefix * * @param String $import_table_prefix - table prefix to act upon * * @return String|WP_Error|Boolean - the modified table prefix, or an error or indication of an error */ private function pre_sql_actions($import_table_prefix) { global $updraftplus; $import_table_prefix = apply_filters('updraftplus_restore_set_table_prefix', $import_table_prefix, $this->ud_backup_is_multisite); if (!is_string($import_table_prefix)) { $this->maintenance_mode(false); if (false === $import_table_prefix) { $updraftplus->log(__('Please supply the requested information, and then continue.', 'updraftplus'), 'notice-restore'); return false; } elseif (is_wp_error($import_table_prefix)) { return $import_table_prefix; } else { return new WP_Error('invalid_table_prefix', __('Error:', 'updraftplus').' '.serialize($import_table_prefix)); } } $updraftplus->log_e('New table prefix: %s', $import_table_prefix); return $import_table_prefix; } /** * WordPress options filter * * @param String $val - pre-filter value * * @return String - filtered value */ public function option_filter_permalink_structure($val) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Filter use global $updraftplus; return $updraftplus->option_filter_get('permalink_structure'); } /** * WordPress options filter * * @param String $val - pre-filter value * * @return String - filtered value */ public function option_filter_page_on_front($val) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Filter use global $updraftplus; return $updraftplus->option_filter_get('page_on_front'); } /** * WordPress options filter * * @param String $val - pre-filter value * * @return String - filtered value */ public function option_filter_rewrite_rules($val) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Filter use global $updraftplus; return $updraftplus->option_filter_get('rewrite_rules'); } /** * Assign a value to log_bin_trust_function_creators system variable and return its previous value * * @see https://mariadb.com/kb/en/library/binary-logging-of-stored-routines/ * @see https://dev.mysql.com/doc/refman/8.0/en/stored-programs-logging.html * * @param String $value It can only be set to ON or OFF * @return String|WP_Error the variable value before it got assigned a new value, or WP_Error object on failure */ private function set_log_bin_trust_function_creators($value) { global $wpdb; static $saved_value = null; static $initial_value = null; $old_val = $wpdb->suppress_errors(); try { if (is_null($initial_value) || is_wp_error($initial_value)) { $creators_val = $wpdb->get_var("SELECT @@GLOBAL.log_bin_trust_function_creators"); if (is_null($creators_val)) throw new Exception(sprintf(__('An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s', 'updraftplus'), '('. $wpdb->last_error.' - '.$wpdb->last_query.')'), 0); $initial_value = '1' === $creators_val || 'on' === strtolower($creators_val) ? 'ON' : 'OFF'; } if ((is_null($saved_value) || ($saved_value != $value))) { $res = $wpdb->query("SET GLOBAL log_bin_trust_function_creators = ".$value); if (false === $res) { $saved_value = null; throw new Exception(sprintf(__('An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s', 'updraftplus'), '('. $wpdb->last_error.' - '.$wpdb->last_query.')'), 0); } if (!is_null($saved_value)) { $initial_value = $saved_value; } $saved_value = $value; } } catch (Exception $ex) { $initial_value = new WP_Error('log_bin_trust_function_creators', $ex->getMessage()); } $wpdb->suppress_errors($old_val); return $initial_value; } /** * Prepare the create table statement before sending it to the query execution * * @param String $create_table_statement an SQL create table statement in which some part of the SQL is going to be parsed and/or replaced * @param String $import_table_prefix table prefix to use * @param Array $supported_engines the list of supported DB engines * @param Array $supported_charsets the list of supported DB charsets * @param Array $supported_collations the list of supported DB collations * @return String the processed create table statement that may have been transformed, sanitised or cleaned */ private function prepare_create_table($create_table_statement, $import_table_prefix, $supported_engines, $supported_charsets, $supported_collations) { global $updraftplus, $wpdb; $updraft_restorer_collate = isset($this->restore_options['updraft_restorer_collate']) ? $this->restore_options['updraft_restorer_collate'] : ''; $non_wp_table = false; // Legacy, less reliable - in case it was not caught before. We added it in here (CREATE) as well as in DROP because of SQL dumps which lack DROP statements. if (null === $this->old_table_prefix && preg_match('/^([a-z0-9]+)_.*$/i', $this->table_name, $tmatches)) { $this->old_table_prefix = $tmatches[1].'_'; $updraftplus->log(__('Old table prefix:', 'updraftplus').' '.$this->old_table_prefix, 'notice-restore', 'old-table-prefix'); $updraftplus->log("Old table prefix (detected from creating first table): ".$this->old_table_prefix); } // MySQL 4.1 outputs TYPE=, but accepts ENGINE=; 5.1 onwards accept *only* ENGINE= $create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace('TYPE=', 'ENGINE=', $create_table_statement); if ('' === $this->old_table_prefix) { $this->new_table_name = $import_table_prefix.$this->table_name; } else { $this->new_table_name = $this->old_table_prefix ? UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $this->table_name) : $this->table_name; // if we have a different prefix but the table name has not changed after the replace then we are dealing with a table that does not use the WordPress table prefix, in order for an Atomic restore to work on this table we need to attach our temporary prefix if (!$this->rename_forbidden && $this->old_table_prefix && $this->new_table_name == $this->table_name) { $non_wp_table = true; $this->new_table_name = $import_table_prefix.$this->table_name; } } // This CREATE TABLE command may be the de-facto mark for the end of processing a previous table (which is so if this is not the first table in the SQL dump) if ($this->restoring_table) { // Attempt to reconnect if the DB connection dropped (may not succeed, of course - but that will soon become evident) $updraftplus->check_db_connection($this->wpdb_obj); // After restoring the options table, we can set old_siteurl if on legacy (i.e. not already set) if ($this->restoring_table == $import_table_prefix.'options') { if ('' == $this->old_siteurl || '' == $this->old_home || '' == $this->old_content) { global $updraftplus_addons_migrator; if (!empty($updraftplus_addons_migrator->new_blogid)) switch_to_blog($updraftplus_addons_migrator->new_blogid); if ('' == $this->old_siteurl) { $this->old_siteurl = untrailingslashit($wpdb->get_row("SELECT option_value FROM ".$import_table_prefix.'options'." WHERE option_name='siteurl'")->option_value); do_action('updraftplus_restore_db_record_old_siteurl', $this->old_siteurl); } if ('' == $this->old_home) { $this->old_home = untrailingslashit($wpdb->get_row("SELECT option_value FROM ".$import_table_prefix.'options'." WHERE option_name='home'")->option_value); do_action('updraftplus_restore_db_record_old_home', $this->old_home); } if ('' == $this->old_content) { $this->old_content = $this->old_siteurl.'/wp-content'; do_action('updraftplus_restore_db_record_old_content', $this->old_content); } if (!empty($updraftplus_addons_migrator->new_blogid)) restore_current_blog(); } } if ('' !== $this->restoring_table && $this->restoring_table != $this->new_table_name) { $final_table_name = $this->maybe_rename_restored_table(); $this->restored_table($final_table_name, $this->final_import_table_prefix, $this->old_table_prefix, $this->table_engine); } } // Detect this as early as possible so we can turn off atomic restores if needed. If the table prefix has changed and key constraints are found, make sure they are updated $constraint_change_message = ''; $constraints = array(); $constraint_found = false; if (preg_match_all('/CONSTRAINT ([\a-zA-Z0-9_\']+) FOREIGN KEY \([a-zA-z0-9_\', ]+\) REFERENCES \'?([a-zA-z0-9_]+)\'? /i', $create_table_statement, $constraint_matches)) { $constraints = $constraint_matches; $constraint_found = true; } elseif (preg_match_all('/ FOREIGN KEY \([a-zA-z0-9_\', ]+\) REFERENCES \'?([a-zA-z0-9_]+)\'? /i', $create_table_statement, $constraint_matches)) { $constraints = $constraint_matches; $constraint_found = true; } // Constraints were found so we need to disable the atomic restore for this table, which means resetting the import table prefix and current table name and finally dropping the original table if it exists if ($constraint_found && !$this->rename_forbidden && !$this->is_dummy_db_restore) { $import_table_prefix = $this->final_import_table_prefix; $this->disable_atomic_on_current_table = true; if ('' === $this->old_table_prefix) { $this->new_table_name = $import_table_prefix.$this->table_name; } else { $this->new_table_name = $this->old_table_prefix ? UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $this->table_name) : $this->table_name; } $updraftplus->log('Constraints found, will disable atomic restore for current table ('.$this->table_name.')', 'notice-restore'); $this->drop_tables(array($this->new_table_name)); } $this->table_engine = "(?)"; $engine_change_message = ''; if (preg_match('/ENGINE=([^\s;]+)/', $create_table_statement, $eng_match)) { $this->table_engine = $eng_match[1]; if (isset($supported_engines[strtolower($this->table_engine)])) { if ('myisam' == strtolower($this->table_engine)) { $create_table_statement = preg_replace('/PAGE_CHECKSUM=\d\s?/', '', $create_table_statement, 1); } } else { $engine_change_message = sprintf(__('Requested table engine (%s) is not present - changing to MyISAM.', 'updraftplus'), $this->table_engine)."
    "; $create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace("ENGINE=$this->table_engine", "ENGINE=MyISAM", $create_table_statement); $this->table_engine = "MyISAM"; // Remove (M)aria options if ('maria' == strtolower($this->table_engine) || 'aria' == strtolower($this->table_engine) || 'myisam' == strtolower($this->table_engine)) { $create_table_statement = preg_replace('/PAGE_CHECKSUM=\d\s?/', '', $create_table_statement, 1); $create_table_statement = preg_replace('/TRANSACTIONAL=\d\s?/', '', $create_table_statement, 1); } } } $charset_change_message = ''; if (preg_match('/ CHARSET=([^\s;]+)/i', $create_table_statement, $charset_match)) { $charset = $charset_match[1]; if (!isset($supported_charsets[strtolower($charset)])) { $charset_change_message = sprintf(__('Requested table character set (%s) is not present - changing to %s.', 'updraftplus'), esc_html($charset), esc_html($this->restore_options['updraft_restorer_charset'])); $create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace("CHARSET=$charset", "CHARSET=".$this->restore_options['updraft_restorer_charset'], $create_table_statement); // Allow default COLLLATE to database if (preg_match('/ COLLATE=([^\s;]+)/i', $create_table_statement, $collate_match)) { $collate = $collate_match[1]; $create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace(" COLLATE=$collate", "", $create_table_statement); } } } if (!empty($constraints) && $this->old_table_prefix != $this->final_import_table_prefix) { foreach ($constraints[0] as $constraint) { $updated_constraint = str_replace($this->old_table_prefix, $this->final_import_table_prefix, $constraint); $create_table_statement = str_replace($constraint, $updated_constraint, $create_table_statement); } $constraint_change_message = __('Found and replaced existing table foreign key constraints as the table prefix has changed.', 'updraftplus'); } $collate_change_message = ''; $unsupported_collates_in_sql_line = array(); if (!empty($updraft_restorer_collate) && preg_match('/ COLLATE=([a-zA-Z0-9._-]+)/i', $create_table_statement, $collate_match)) { $collate = $collate_match[1]; if (!isset($supported_collations[strtolower($collate)])) { $unsupported_collates_in_sql_line[] = $collate; if ('choose_a_default_for_each_table' == $updraft_restorer_collate) { $create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace("COLLATE=$collate", "", $create_table_statement, false); } else { $create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace("COLLATE=$collate", "COLLATE=".$updraft_restorer_collate, $create_table_statement, false); } } } if (!empty($updraft_restorer_collate) && preg_match_all('/ COLLATE ([a-zA-Z0-9._-]+) /i', $create_table_statement, $collate_matches)) { $collates = array_unique($collate_matches[1]); foreach ($collates as $collate) { if (!isset($supported_collations[strtolower($collate)])) { $unsupported_collates_in_sql_line[] = $collate; if ('choose_a_default_for_each_table' == $updraft_restorer_collate) { $create_table_statement = str_ireplace("COLLATE $collate ", "", $create_table_statement); } else { $create_table_statement = str_ireplace("COLLATE $collate ", "COLLATE ".$updraft_restorer_collate." ", $create_table_statement); } } } } if (!empty($updraft_restorer_collate) && preg_match_all('/ COLLATE ([a-zA-Z0-9._-]+),/i', $create_table_statement, $collate_matches)) { $collates = array_unique($collate_matches[1]); foreach ($collates as $collate) { if (!isset($supported_collations[strtolower($collate)])) { $unsupported_collates_in_sql_line[] = $collate; if ('choose_a_default_for_each_table' == $updraft_restorer_collate) { $create_table_statement = str_ireplace("COLLATE $collate,", ",", $create_table_statement); } else { $create_table_statement = str_ireplace("COLLATE $collate,", "COLLATE ".$updraft_restorer_collate.",", $create_table_statement); } } } } if (count($unsupported_collates_in_sql_line) > 0) { $unsupported_unique_collates_in_sql_line = array_unique($unsupported_collates_in_sql_line); $collate_change_message = sprintf(_n('Requested table collation (%1$s) is not present - changing to %2$s.', 'Requested table collations (%1$s) are not present - changing to %2$s.', count($unsupported_unique_collates_in_sql_line), 'updraftplus'), esc_html(implode(', ', $unsupported_unique_collates_in_sql_line)), esc_html($this->restore_options['updraft_restorer_collate'])); } $print_line = sprintf(__('Processing table (%s)', 'updraftplus'), $this->table_engine).": ".$this->table_name; $logline = "Processing table ($this->table_engine): ".$this->table_name; if (null !== $this->old_table_prefix && $import_table_prefix != $this->old_table_prefix) { if ($this->restore_this_table($this->table_name)) { $print_line .= ' - '.__('will restore as:', 'updraftplus').' '.htmlspecialchars($this->new_table_name); $logline .= " - will restore as: ".$this->new_table_name; } else { $logline .= ' - skipping'; } if ('' === $this->old_table_prefix || $non_wp_table) { $create_table_statement = UpdraftPlus_Manipulation_Functions::str_replace_once($this->table_name, $this->new_table_name, $create_table_statement); } else { $create_table_statement = UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $create_table_statement); } $this->restored_table_names[] = $this->new_table_name; } if (!empty($this->generated_columns[$this->table_name]) && isset($this->generated_columns[$this->table_name]['columns'])) { // get all the keys definition in the create table statement if any. // preg_match_all('/\s*[^,]+?key\s*[^(]+\(\s*(`.+?(?:\)|`))\s*\),?/i', $create_table_statement, $key_definitions); // https://regex101.com/r/NEXaLy/1/ preg_match_all('/(?generated_columns[$this->table_name]['columns']); foreach ((array) $reversed_generated_columns as $generated_column) { if (empty($generated_column)) continue; if (!isset($this->supported_generated_column_engines[strtolower($this->table_engine)])) $this->supported_generated_column_engines[strtolower($this->table_engine)] = UpdraftPlus_Database_Utility::is_generated_column_supported($this->table_engine); if ($generated_column_db_info = $this->supported_generated_column_engines[strtolower($this->table_engine)]) { $reversed_data_type_definition = array_reverse((array) $generated_column['column_data_type_definition']); foreach ($reversed_data_type_definition as $key => &$data_type_definition) { if (in_array($key, array('DATA_TYPE_TOKEN', 'GENERATED_ALWAYS_TOKEN', 'COMMENT_TOKEN'))) continue; // we dont want to replace "not null" in the "generated always as" expression, neither in the comments' string as well, so we continue if (empty($data_type_definition) || 0 === strlen(trim($data_type_definition[0]))) continue; if (!$generated_column_db_info['is_not_null_supported']) { // If the database server doesn't support either null or not null constraint on generated virtual/stored/persistent column then the constraints need to be removed $replaced_data_type_definition = preg_replace('/\b(?:not\s+null|null)\b/i', '', $data_type_definition[0]); $create_table_statement = substr_replace($create_table_statement, $replaced_data_type_definition, $data_type_definition[1], strlen($data_type_definition[0])); $data_type_definition[0] = $replaced_data_type_definition; } if (!$generated_column['is_virtual'] && !$generated_column_db_info['is_persistent_supported']) { // If the persistent type is not supported it likely means that the currently running db server is MySQL, Mariadb uses persistent as an alias for stored type so if the backup file is taken from MariaDB then it needs to be changed to stored $replaced_data_type_definition = preg_replace('/\bpersistent\b/i', 'STORED', $data_type_definition[0]); $create_table_statement = substr_replace($create_table_statement, $replaced_data_type_definition, $data_type_definition[1], strlen($data_type_definition[0])); $data_type_definition[0] = $replaced_data_type_definition; } } if ($generated_column['is_virtual'] && ($generated_column_db_info['can_insert_ignore_to_generated_column'] || (isset($this->generated_columns_exist_in_the_statement[$this->table_name]) && false === $this->generated_columns_exist_in_the_statement[$this->table_name])) && !$generated_column_db_info['is_virtual_index_supported'] && !empty($key_definitions)) { // MySQL doesn't support index on MyISAM's virtual generated column, in case that the restoration process is importing from MariaDB backup file which contains create index definition on virtual generated column then it needs to be removed too // the column can be defined as a single or composite index, so we have no choice but loop until the end foreach ($key_definitions[1] as $array_index => $column_names) { if (empty($column_names)) continue; if (empty($key_definitions[0][$array_index])) continue; if (is_numeric(stripos($column_names, $generated_column['column_name']))) { $replaced_key_definition = preg_replace('/(\s*,?[^,]+?key\s*[^(]+\(.*?)(`'.$generated_column['column_name'].'`\s*(?:\([0-9]+\)\s*)?,|,\s*`'.$generated_column['column_name'].'`\s*(?:\([0-9]+\)\s*)?|\s*`'.$generated_column['column_name'].'`\s*(?:\([0-9]+\)\s*)?)(.*\))/ism', '$1$3', $key_definitions[0][$array_index]); $create_table_statement = str_ireplace($key_definitions[0][$array_index], $replaced_key_definition, $create_table_statement); $key_definitions[0][$array_index] = $replaced_key_definition; if (preg_match('/\s*,?[^,]+?key\s*[^(]+\(\s*\)\s*,?/i', $key_definitions[0][$array_index])) { $create_table_statement = preg_replace('/\s*,?[^,]+?key\s+[^(]+\(\s*\)\s*/i', '', $create_table_statement); $key_definitions[0][$array_index] = ''; } } } } if (!$generated_column_db_info['can_insert_ignore_to_generated_column'] && isset($this->generated_columns_exist_in_the_statement[$this->table_name]) && true === $this->generated_columns_exist_in_the_statement[$this->table_name]) { foreach ($reversed_data_type_definition as $key => &$data_type_definition) { if (empty($data_type_definition) || 0 === strlen(trim($data_type_definition[0]))) continue; if ('GENERATED_ALWAYS_TOKEN' === $key) { // if it's not possible to use insert ignore for the generated column even if the sql strict mode has been turned off then first we need to change the generated column to a normal/standard column $create_table_statement = substr_replace($create_table_statement, '', $data_type_definition[1], strlen($data_type_definition[0])); $data_type_definition[0] = ''; } elseif (!in_array($key, array('DATA_TYPE_TOKEN', 'COMMENT_TOKEN'))) { // since "comments" and "generated always as" could contain a string of these keywords (virtual/stored/persistent), so we can't use preg_replace and $generated_column['column_definition'] var as the subject to replace the keyword to an empty string, but instead we lookup the keyword through column_data_type_definition that has captured data type definitions $replaced_data_type_definition = preg_replace('/\b(?:virtual|stored|persistent)\b/i', '', $data_type_definition[0]); $create_table_statement = substr_replace($create_table_statement, $replaced_data_type_definition, $data_type_definition[1], strlen($data_type_definition[0])); $data_type_definition[0] = $replaced_data_type_definition; } } // once the create table and also the insert ignore statement for the corresponding table have been executed, we will use alter table statement to change back the columns to STORED type // this is the only way to avoid "value specified for generated column is not allowed" error, and I think it is the best we can do for now rather than checking the insert statement for virtual columns and replacing the value with DEFAULT } } else { // generated column is not supported but we found a virtual/stored/persistent column type, so it needs to be changed to a normal/standard column // we need to keep the generated column along with its single key index and composite key index so that the select statement on the upper layer of the application which selects the the virtual column does not break the application itself due to unknown column error $reversed_data_type_definition = array_reverse((array) $generated_column['column_data_type_definition']); foreach ($reversed_data_type_definition as $key => &$data_type_definition) { if (empty($data_type_definition) || 0 === strlen(trim($data_type_definition[0]))) continue; if ('GENERATED_ALWAYS_TOKEN' === $key) { $create_table_statement = substr_replace($create_table_statement, '', $data_type_definition[1], strlen($data_type_definition[0])); $data_type_definition[0] = ''; } elseif (!in_array($key, array('DATA_TYPE_TOKEN', 'COMMENT_TOKEN'))) { $replaced_data_type_definition = preg_replace('/\b(?:virtual|stored|persistent)\b/i', '', $data_type_definition[0]); $create_table_statement = substr_replace($create_table_statement, $replaced_data_type_definition, $data_type_definition[1], strlen($data_type_definition[0])); $data_type_definition[0] = $replaced_data_type_definition; } } } } } $updraftplus->log($logline); $updraftplus->log($print_line, 'notice-restore'); // If this is a non wp table we don't want to replace our temp prefix with the final prefix, we need to drop our prefix if ($non_wp_table) { $this->original_table_name = UpdraftPlus_Manipulation_Functions::str_replace_once($this->import_table_prefix, '', $this->new_table_name); } else { $this->original_table_name = UpdraftPlus_Manipulation_Functions::str_replace_once($this->import_table_prefix, $this->final_import_table_prefix, $this->new_table_name); } $this->restoring_table = $this->new_table_name; if ($charset_change_message) $updraftplus->log($charset_change_message, 'notice-restore'); if ($constraint_change_message) $updraftplus->log($constraint_change_message, 'notice-restore'); if ($collate_change_message) $updraftplus->log($collate_change_message, 'notice-restore'); if ($engine_change_message) $updraftplus->log($engine_change_message, 'notice-restore'); return $create_table_statement; } /** * Callback function that will be triggered when the script execution ends. Reset log_bin_trust_function_creators variable's value to its original value */ public function on_shutdown() { global $updraftplus; if (!empty($this->stored_routine_supported) && is_array($this->stored_routine_supported) && $this->stored_routine_supported['is_binary_logging_enabled']) { // if this condition is met, it means that db server binary logging is enabled and the value of the log_bin_trust_function_system_variable has previously been set to ON (1), and now the value must be changed back to what it originally was if (isset($this->continuation_data['old_log_bin_trust_function_creators'])) { $old_log_bin_trust_function_creators = $this->continuation_data['old_log_bin_trust_function_creators']; } else { $old_log_bin_trust_function_creators = $updraftplus->jobdata_get('old_log_bin_trust_function_creators'); } if (is_string($old_log_bin_trust_function_creators) && '' !== $old_log_bin_trust_function_creators) $this->set_log_bin_trust_function_creators($old_log_bin_trust_function_creators); } } /** * Restore the database backup * * @param string $working_dir specify working directory * @param string $working_dir_localpath specify working local directory * @param string $import_table_prefix table prefix to use * @return boolean|WP_Error */ private function restore_backup_db($working_dir, $working_dir_localpath, $import_table_prefix) { global $updraftplus; do_action('updraftplus_restore_db_pre'); // This is now a legacy option (at least on the front end), so we should not see it much $this->prior_upload_path = get_option('upload_path'); // There is a file backup.db(.gz) inside the working directory // The 'off' check is for badly configured setups - http://wordpress.org/support/topic/plugin-wp-super-cache-warning-php-safe-mode-enabled-but-safe-mode-is-off // @codingStandardsIgnoreLine if (@ini_get('safe_mode') && 'off' != strtolower(@ini_get('safe_mode'))) { $updraftplus->log(__('Warning: PHP safe_mode is active on your server.', 'updraftplus').' '.__('Timeouts are much more likely.', 'updraftplus').' '.__('If these happen, then you will need to manually restore the file via phpMyAdmin or another method.', 'updraftplus'), 'notice-restore'); } $db_basename = 'backup.db.gz'; if (!empty($this->ud_foreign)) { $plugins = apply_filters('updraftplus_accept_archivename', array()); if (empty($plugins[$this->ud_foreign])) return new WP_Error('unknown', sprintf(__('Backup created by unknown source (%s) - cannot be restored.', 'updraftplus'), $this->ud_foreign)); if (!file_exists($working_dir_localpath.'/'.$db_basename) && file_exists($working_dir_localpath.'/backup.db')) { $db_basename = 'backup.db'; } elseif (!file_exists($working_dir_localpath.'/'.$db_basename) && file_exists($working_dir_localpath.'/backup.db.bz2')) { $db_basename = 'backup.db.bz2'; } if (!file_exists($working_dir_localpath.'/'.$db_basename)) { $separatedb = empty($plugins[$this->ud_foreign]['separatedb']) ? false : true; $filtered_db_name = apply_filters('updraftplus_foreign_dbfilename', false, $this->ud_foreign, $this->ud_backup_set, $working_dir_localpath, $separatedb); if (is_string($filtered_db_name)) $db_basename = $filtered_db_name; } } // wp_filesystem has no gzopen method, so we switch to using the local filesystem (which is harmless, since we are performing read-only operations) if (false === $db_basename || !is_readable($working_dir_localpath.'/'.$db_basename)) return new WP_Error('dbopen_failed', __('Failed to find database file', 'updraftplus')." ($working_dir/".$db_basename.")"); global $wpdb, $updraftplus; $this->skin->feedback($this->strings['restore_database']); $is_plain = ('.db' == substr($db_basename, -3, 3)); $is_bz2 = ('.db.bz2' == substr($db_basename, -7, 7)); // Read-only access: don't need to go through WP_Filesystem if ($is_plain) { $dbhandle = fopen($working_dir_localpath.'/'.$db_basename, 'r'); } elseif ($is_bz2) { if (!function_exists('bzopen')) { $updraftplus->log_e("Your web server's PHP installation has these functions disabled: %s.", 'bzopen'); $updraftplus->log_e('Your hosting company must enable these functions before %s can work.', __('restoration', 'updraftplus')); } $dbhandle = bzopen($working_dir_localpath.'/'.$db_basename, 'r'); } else { $dbhandle = gzopen($working_dir_localpath.'/'.$db_basename, 'r'); } if (!$dbhandle) return new WP_Error('dbopen_failed', __('Failed to open database file', 'updraftplus')); $this->line = 0; if ($this->use_wpdb()) { $updraftplus->log_e('Database access: Direct MySQL access is not available, so we are falling back to wpdb (this will be considerably slower)'); } else { $updraftplus->log("Using direct MySQL access; value of use_mysqli is: ".($this->use_mysqli ? '1' : '0')); if ($this->use_mysqli) { @mysqli_query($this->mysql_dbh, 'SET SESSION query_cache_type = OFF;');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. } else { // @codingStandardsIgnoreLine @mysql_query('SET SESSION query_cache_type = OFF;', $this->mysql_dbh); } } UpdraftPlus_Database_Utility::set_sql_mode(array('NO_AUTO_VALUE_ON_ZERO'), array(), $this->use_wpdb() ? null : $this->mysql_dbh); // register restoration shutdown event so that we can set some mysql's global variable back to its original value register_shutdown_function(array($this, 'on_shutdown')); // Find the supported engines - in case the dump had something else (case seen: saved from MariaDB with engine Aria; imported into plain MySQL without) $supported_engines = array_change_key_case((array) $wpdb->get_results("SHOW ENGINES", OBJECT_K)); $supported_charsets = array_change_key_case((array) $wpdb->get_results("SHOW CHARACTER SET", OBJECT_K)); $supported_collations = array_change_key_case((array) $wpdb->get_results('SHOW COLLATION', OBJECT_K)); $this->table_engine = ''; $this->errors = 0; $this->statements_run = 0; $this->insert_statements_run = 0; $this->tables_created = 0; $sql_line = ""; $sql_type = -1; $this->start_time = microtime(true); $this->old_siteurl = ''; $this->old_home = ''; $this->old_content = ''; $this->old_uploads = ''; $this->old_table_prefix = (defined('UPDRAFTPLUS_OVERRIDE_IMPORT_PREFIX') && UPDRAFTPLUS_OVERRIDE_IMPORT_PREFIX) ? UPDRAFTPLUS_OVERRIDE_IMPORT_PREFIX : null; $this->old_siteinfo = array(); $gathering_siteinfo = true; $this->create_forbidden = false; $this->drop_forbidden = false; $this->lock_forbidden = false; $this->rename_forbidden = false; // This will get flipped if positive success is confirmed $this->triggers_forbidden = true; $this->last_error = ''; $random_table_name = 'updraft_tmp_'.rand(0, 9999999).md5(microtime(true)); $renamed_random_table_name = 'updraft_tmp_'.rand(0, 9999999).md5(microtime(true)); $last_created_generated_columns_table = ''; // The only purpose in funnelling queries directly here is to be able to get the error number if ($this->use_wpdb()) { $req = $wpdb->query("CREATE TABLE $random_table_name (test INT)"); // WPDB, for several query types, returns the number of rows changed; in distinction from an error, indicated by (bool)false if (0 === $req) $req = true; if (!$req) $this->last_error = $wpdb->last_error; $this->last_error_no = false; if ($req && false !== $wpdb->query("CREATE TRIGGER test_trigger BEFORE INSERT ON $random_table_name FOR EACH ROW SET @sum = @sum + NEW.test")) $this->triggers_forbidden = false; } else { if ($this->use_mysqli) { $req = mysqli_query($this->mysql_dbh, "CREATE TABLE $random_table_name (test INT)"); } else { // @codingStandardsIgnoreLine $req = mysql_unbuffered_query("CREATE TABLE $random_table_name (test INT)", $this->mysql_dbh); } if (!$req) { // @codingStandardsIgnoreLine $this->last_error = $this->use_mysqli ? mysqli_error($this->mysql_dbh) : mysql_error($this->mysql_dbh); // @codingStandardsIgnoreLine $this->last_error_no = $this->use_mysqli ? mysqli_errno($this->mysql_dbh) : mysql_errno($this->mysql_dbh); } else { if ($this->use_mysqli) { $reqtrigger = mysqli_query($this->mysql_dbh, "CREATE TRIGGER test_trigger BEFORE INSERT ON $random_table_name FOR EACH ROW SET @sum = @sum + NEW.test"); } else { // @codingStandardsIgnoreLine $reqtrigger = mysql_unbuffered_query("CREATE TRIGGER test_trigger BEFORE INSERT ON $random_table_name FOR EACH ROW SET @sum = @sum + NEW.test", $this->mysql_dbh); } if ($reqtrigger) $this->triggers_forbidden = false; } } if (!$req && ($this->use_wpdb() || 1142 === $this->last_error_no)) { $this->create_forbidden = true; // If we can't create, then there's no point dropping $this->drop_forbidden = true; // abort dummy restore process if ($this->is_dummy_db_restore) { return new WP_Error('abort_dummy_restore', __('Your database user does not have permission to drop tables', 'updraftplus')); } $updraftplus->log(__('Your database user does not have permission to create tables.', 'updraftplus').' '.__('We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site.', 'updraftplus'), 'warning-restore'); $updraftplus->log('Your database user does not have permission to create tables. We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site.'); $updraftplus->log('Error was: '.$this->last_error.' ('.$this->last_error_no.')'); } else { if (1142 === $this->rename_table($random_table_name, $renamed_random_table_name)) { $this->rename_forbidden = true; $updraftplus->log('Database user has no permission to rename tables - restoration will be non-atomic', 'warning-restore'); } else { // We renamed the table so update the $random_table_name $random_table_name = $renamed_random_table_name; } if (1142 === $this->lock_table($random_table_name)) { $this->lock_forbidden = true; $updraftplus->log("Database user has no permission to lock tables - will not lock after CREATE", "warning-restore"); } if ($this->use_wpdb()) { $req = $wpdb->query("DROP TABLE $random_table_name"); // WPDB, for several query types, returns the number of rows changed; in distinction from an error, indicated by (bool)false if (0 === $req) { $req = true; } if (!$req) $this->last_error = $wpdb->last_error; $this->last_error_no = false; } else { if ($this->use_mysqli) { $req = mysqli_query($this->mysql_dbh, "DROP TABLE $random_table_name"); } else { // @codingStandardsIgnoreLine $req = mysql_unbuffered_query("DROP TABLE $random_table_name", $this->mysql_dbh); } if (!$req) { // @codingStandardsIgnoreLine $this->last_error = ($this->use_mysqli) ? mysqli_error($this->mysql_dbh) : mysql_error($this->mysql_dbh); // @codingStandardsIgnoreLine $this->last_error_no = ($this->use_mysqli) ? mysqli_errno($this->mysql_dbh) : mysql_errno($this->mysql_dbh); } } if (!$req && ($this->use_wpdb() || 1142 === $this->last_error_no)) { $this->drop_forbidden = true; $this->rename_forbidden = true; // abort dummy restore process if ($this->is_dummy_db_restore) { return new WP_Error('abort_dummy_restore', __('Your database user does not have permission to drop tables', 'updraftplus')); } $updraftplus->log(sprintf('Your database user does not have permission to drop tables. We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)', '('.$this->last_error.', '.$this->last_error_no.')')); $updraftplus->log(__('Your database user does not have permission to drop tables.', 'updraftplus').' '.sprintf(__('We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)', 'updraftplus'), '('.$this->last_error.', '.$this->last_error_no.')'), 'warning-restore'); } } if (defined('UPDRAFTPLUS_ATOMIC_RESTORE_DISABLED') && UPDRAFTPLUS_ATOMIC_RESTORE_DISABLED) { $updraftplus->log('Atomic restore disabled by constant UPDRAFTPLUS_ATOMIC_RESTORE_DISABLED - restoration will be non-atomic', 'warning-restore'); $this->rename_forbidden = true; } // If this is not a dummy restore or not importing a single site into a multisite and we can rename and drop tables then change the import prefix and proceed with atomic restore if (!$this->rename_forbidden && !$this->is_dummy_db_restore && !isset($this->restore_options['updraftplus_migrate_blogname']) && empty($this->ud_foreign)) { add_filter('updraftplus_restore_table_prefix', array($this, 'updraftplus_random_restore_table_prefix')); $import_table_prefix = isset($this->continuation_data['temp_import_table_prefix']) ? $this->continuation_data['temp_import_table_prefix'] : apply_filters('updraftplus_restore_table_prefix', $this->final_import_table_prefix); $this->import_table_prefix = $import_table_prefix; $updraftplus->jobdata_set('temp_import_table_prefix', $this->import_table_prefix); } else { $this->rename_forbidden = true; } $this->restoring_table = ''; $this->max_allowed_packet = $updraftplus->max_packet_size(); $updraftplus->log('Entering maintenance mode'); $this->maintenance_mode(true); $delimiter = ';'; $delimiter_regex = ';'; $virtual_columns_exist = false; $old_log_bin_trust_function_creators = null; if (is_null($this->stored_routine_supported)) $this->stored_routine_supported = UpdraftPlus_Database_Utility::is_stored_routine_supported(); if (is_wp_error($this->stored_routine_supported)) $updraftplus->log('is_stored_routine_supported(): '.$this->stored_routine_supported->get_error_message()); // N.B. There is no such function as bzeof() - we have to detect that another way while (($is_plain && !feof($dbhandle)) || (!$is_plain && (($is_bz2) || (!$is_bz2 && !gzeof($dbhandle))))) { // Up to 1Mb if ($is_plain) { $buffer = rtrim(fgets($dbhandle, 1048576)); } elseif ($is_bz2) { if (!isset($bz2_buffer)) $bz2_buffer = '';// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- The variable is defined after check. $buffer = ''; if (strlen($bz2_buffer) < 524288) $bz2_buffer .= bzread($dbhandle, 1048576); if (bzerrno($dbhandle) !== 0) { $updraftplus->log("bz2 error: ".bzerrstr($dbhandle)." (code: ".bzerrno($dbhandle).")"); break; } if (false !== $bz2_buffer && '' !== $bz2_buffer) { if (false !== ($p = strpos($bz2_buffer, "\n"))) { $buffer .= substr($bz2_buffer, 0, $p+1); $bz2_buffer = substr($bz2_buffer, $p+1); } else { $buffer .= $bz2_buffer; $bz2_buffer = ''; } } else { break; } $buffer = rtrim($buffer); } else { $buffer = rtrim(gzgets($dbhandle, 1048576)); } // Discard comments if (empty($buffer) || '#' == substr($buffer, 0, 1) || preg_match('/^--(\s|$)/', substr($buffer, 0, 3))) { if ('' == $this->old_siteurl && preg_match('/^\# Backup of: (http(.*))$/', $buffer, $matches)) { $this->old_siteurl = untrailingslashit($matches[1]); $updraftplus->log("Backup of: ".$this->old_siteurl); $updraftplus->log(sprintf(__('Backup of: %s', 'updraftplus'), $this->old_siteurl), 'notice-restore', 'backup-of'); do_action('updraftplus_restore_db_record_old_siteurl', $this->old_siteurl); $this->save_configuration_bundle(); } elseif (false === $this->created_by_version && preg_match('/^\# Created by UpdraftPlus version ([\d\.]+)/', $buffer, $matches)) { $this->created_by_version = trim($matches[1]); $updraftplus->log(__('Backup created by:', 'updraftplus').' '.$this->created_by_version, 'notice-restore', 'created-by'); $updraftplus->log('Backup created by: '.$this->created_by_version); } elseif ('' == $this->old_home && preg_match('/^\# Home URL: (http(.*))$/', $buffer, $matches)) { $this->old_home = untrailingslashit($matches[1]); if ($this->old_siteurl && $this->old_home != $this->old_siteurl) { $updraftplus->log(__('Site home:', 'updraftplus').' '.$this->old_home, 'notice-restore', 'site-home'); $updraftplus->log('Site home: '.$this->old_home); } do_action('updraftplus_restore_db_record_old_home', $this->old_home); } elseif ('' == $this->old_content && preg_match('/^\# Content URL: (http(.*))$/', $buffer, $matches)) { $this->old_content = untrailingslashit($matches[1]); $updraftplus->log(__('Content URL:', 'updraftplus').' '.$this->old_content, 'notice-restore', 'content-url'); $updraftplus->log('Content URL: '.$this->old_content); do_action('updraftplus_restore_db_record_old_content', $this->old_content); } elseif ('' == $this->old_uploads && preg_match('/^\# Uploads URL: (http(.*))$/', $buffer, $matches)) { $this->old_uploads = untrailingslashit($matches[1]); $updraftplus->log(__('Uploads URL:', 'updraftplus').' '.$this->old_uploads, 'notice-restore', 'uploads-url'); $updraftplus->log('Uploads URL: '.$this->old_uploads); do_action('updraftplus_restore_db_record_old_uploads', $this->old_uploads); } elseif (null === $this->old_table_prefix && (preg_match('/^\# Table prefix: ?(\S*)$/', $buffer, $matches) || preg_match('/^-- Table Prefix: ?(\S*)$/i', $buffer, $matches))) { // We also support backwpup style: // -- Table Prefix: wp_ $this->old_table_prefix = $matches[1]; $updraftplus->log(__('Old table prefix:', 'updraftplus').' '.$this->old_table_prefix, 'notice-restore', 'old-table-prefix'); $updraftplus->log("Old table prefix: ".$this->old_table_prefix); } elseif (preg_match('/^\# Skipped tables: (.*)$/', $buffer, $matches)) { $updraftplus->log(__('Skipped tables:', 'updraftplus').' '.$matches[1], 'notice-restore', 'skipped-tables'); $updraftplus->log("Skipped tables: ".$matches[1]); } elseif ($gathering_siteinfo && preg_match('/^\# Site info: (\S+)$/', $buffer, $matches)) { if ('end' == $matches[1]) { $gathering_siteinfo = false; // Sanity checks if (isset($this->old_siteinfo['multisite']) && !$this->old_siteinfo['multisite'] && is_multisite()) { if (!class_exists('UpdraftPlusAddOn_MultiSite') || !class_exists('UpdraftPlus_Addons_Migrator')) { return new WP_Error('missing_addons', sprintf(__('To import an ordinary WordPress site into a multisite installation requires %s.', 'updraftplus'), 'UpdraftPlus Premium')); } } } elseif (preg_match('/^([^=]+)=(.*)$/', $matches[1], $kvmatches)) { $key = $kvmatches[1]; $val = $kvmatches[2]; $updraftplus->log(__('Site information:', 'updraftplus')." $key = $val", 'notice-restore', 'site-information'); $updraftplus->log("Site information: $key=$val"); if ('multisite_data' == $key) { $this->old_siteinfo[$key] = json_decode($val, true); } else { $this->old_siteinfo[$key] = $val; } if ('multisite' == $key) { $this->ud_backup_is_multisite = ($val) ? 1 : 0; } } } elseif ('' == $this->old_abspath && preg_match('/^\# ABSPATH: ?(.*)$/', $buffer, $matches)) { if (ABSPATH != $matches[1] && '/' != $matches[1]) { $this->old_abspath = $matches[1]; $updraftplus->log(__('Old ABSPATH:', 'updraftplus').' '.$this->old_abspath, 'notice-restore', 'old-abspath'); $updraftplus->log("Old ABSPATH: {$this->old_abspath}"); do_action('updraftplus_restore_db_record_old_abspath', $this->old_abspath); } } elseif ('' == $this->old_updraftplus_plugin_slug && preg_match('/^\# UpdraftPlus plugin slug: ?(.*)$/', $buffer, $matches)) { $this->old_updraftplus_plugin_slug = $matches[1]; $updraftplus->log(__('UpdraftPlus plugin slug:', 'updraftplus').' '.$this->old_updraftplus_plugin_slug, 'notice-restore', 'old-updraftplus-plugin-slug'); $updraftplus->log("UpdraftPlus plugin slug: {$this->old_updraftplus_plugin_slug}"); } continue; } // Detect INSERT and various other commands early, so that we can split or combine them if necessary if (preg_match('/^\s*(insert\s\s*into(?:\s*`(.+?)`|[^\(]+)(?:\s*\(.+?\))?\s*(?:values|\())/i', $sql_line.$buffer, $matches)) { // https://regex101.com/r/zrQquQ/2 $this->table_name = $matches[2]; $sql_type = 3; $insert_prefix = $matches[1]; // if the current table is a generated columns table, that means at this stage the table creation is being postponed and the block of code below will get executed first to filter the create statement if (!empty($this->generated_columns[$this->table_name])) { // parse the generated columns insert statement so that later we can instantly retrieve the information needed when creating the table $this->generated_columns_exist_in_the_statement[$this->table_name] = UpdraftPlus_Database_Utility::generated_columns_exist_in_the_statement($sql_line.$buffer, $this->generated_columns[$this->table_name]['column_names']); if ($this->table_name != $last_created_generated_columns_table) { $create_statement = $this->prepare_create_table($this->generated_columns[$this->table_name]['create_statement'], $import_table_prefix, $supported_engines, $supported_charsets, $supported_collations); // after getting the filtered create statement, continue with the table creation $do_exec = $this->sql_exec($create_statement, 2, $import_table_prefix); $last_created_generated_columns_table = $this->table_name; if (is_wp_error($do_exec)) return $do_exec; } // on MySQL 5.7.x, we could get an error "the value specified for generated column is not allowed", disabling strict mode doesn't work, adding insert ignore doesn't work either // disabling strict mode works fine on MariaDB, it may be good if we can strengthen the insert statement by adding ignore keyword into it $sql_line = preg_replace('/^(\s*insert\s\s*into)(.+)$/is', 'insert ignore into$2', $sql_line); $insert_prefix = preg_replace('/^(\s*insert\s\s*into)(.+)$/is', 'insert ignore into$2', $matches[0]); } } elseif (preg_match('/^\s*delimiter (\S+)\s*$/i', $sql_line.$buffer, $matches)) { // This also needs processing early so that the correct delimiter is used a few lines down $sql_type = 10; $delimiter = $matches[1]; // Obviously, what is supported here is quite limited $delimiter_regex = str_replace(array('$', '#', '/'), array('\$', '\#', '\/'), $delimiter); } elseif (preg_match('/^\s*create trigger /i', $sql_line.$buffer)) { $sql_type = 9; $buffer = $buffer."\n"; } elseif (preg_match("/^\s*CREATE\s\s*(?:DEFINER\s*=\s*(?:`.{1,17}`@`[^\s]+`\s*|'.{1,17}'@'[^\s]+'\s*|[^\s]+?\s))?(?:AGGREGATE\s\s*)?(?:PROCEDURE|FUNCTION)((?:\s\s*[^\(`]+|\s*`(?:[^`]|``)+`))\s*\(/is", $sql_line.$buffer)) { $sql_type = 12; $buffer = $buffer."\n"; // need to do this so that the functions/procedures which have double dash and/or shell comment style (i.e -- comment, # comment) doesn't block the rest of the code in the routines body and also because we want to keep the routines as it is or in multiline (in a form that people prefer) so they who will edit it later don't get surprised by the look of it in a single line/one line } elseif (preg_match('/^\s*create table \`?([^\`\(]*)\`?\s*\(/i', $sql_line.$buffer, $matches)) { $sql_type = 2; $this->table_name = $matches[1]; // check whether the column definition is a generated column $generated_column_info = UpdraftPlus_Database_Utility::get_generated_column_info($buffer, strlen($sql_line)); if ($generated_column_info) { if (!isset($this->generated_columns[$this->table_name])) $this->generated_columns[$this->table_name] = array(); if (!$virtual_columns_exist) $virtual_columns_exist = $generated_column_info['is_virtual']; $this->generated_columns[$this->table_name]['columns'][] = $generated_column_info; $this->generated_columns[$this->table_name]['column_names'][] = $generated_column_info['column_name']; } if (!empty($this->generated_columns[$this->table_name]) && substr($sql_line.$buffer, -strlen($delimiter), strlen($delimiter)) == $delimiter) { $this->generated_columns[$this->table_name]['create_statement'] = $sql_line.$buffer; $this->generated_columns[$this->table_name]['virtual_columns_exist'] = $virtual_columns_exist; $virtual_columns_exist = false; } } // Deal with case where adding this line will take us over the MySQL max_allowed_packet limit - must split, if we can (if it looks like consecutive rows) // Allow a 100-byte margin for error (including searching/replacing table prefix) if (3 == $sql_type && $sql_line && strlen($sql_line.$buffer) > ($this->max_allowed_packet - 100) && preg_match('/,\s*$/', $sql_line) && preg_match('/^\s*\(/', $buffer)) { if ($this->table_should_be_skipped($this->table_name)) { // Reset - we need the insert prefix so following lines get detected correctly $sql_line = $insert_prefix." "; continue; } // Remove the final comma; replace with delimiter $sql_line = substr(rtrim($sql_line), 0, strlen($sql_line)-1).';'; if ($import_table_prefix != $this->old_table_prefix) { if ('' != $this->old_table_prefix) { $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $sql_line); } else { $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->table_name, $this->table_prefix.$this->table_name, $sql_line); } } // Run the SQL command; then set up for the next one. $this->line++; $updraftplus->log(__("Split line to avoid exceeding maximum packet size", 'updraftplus')." (".strlen($sql_line)." + ".strlen($buffer)." : ".$this->max_allowed_packet.")", 'notice-restore'); $updraftplus->log("Split line to avoid exceeding maximum packet size (".strlen($sql_line)." + ".strlen($buffer)." : ".$this->max_allowed_packet.")"); $do_exec = $this->sql_exec($sql_line, $sql_type, $import_table_prefix); if (is_wp_error($do_exec)) return $do_exec; // Reset, then carry on $sql_line = $insert_prefix." "; } $sql_line .= (9 == $sql_type && '' != $sql_line) ? ' '.$buffer : $buffer; // Do we have a complete line yet? We used to just test the final character for ';' here (up to 1.8.12), but that was too unsophisticated // From 1.16.16, we don't hard-code the delimiter here, and we also add the knowledge that CREATE TRIGGER statements finish with END // The aim, in order to get something valid to execute, is to get something like this, with the entire trigger on a single line: // // $wpdb->query("CREATE TRIGGER `civicrm_acl_after_insert` AFTER INSERT ON `civicrm_acl` FOR EACH ROW BEGIN IF (@civicrm_disable_logging IS NULL OR @civicrm_disable_logging = 0 ) THEN INSERT INTO log_civicrm_acl (`id`, `name`, `deny`, `entity_table`, `entity_id`, `operation`, `object_table`, `object_id`, `acl_table`, `acl_id`, `is_active`, log_conn_id, log_user_id, log_action) VALUES ( NEW.`id`, NEW.`name`, NEW.`deny`, NEW.`entity_table`, NEW.`entity_id`, NEW.`operation`, NEW.`object_table`, NEW.`object_id`, NEW.`acl_table`, NEW.`acl_id`, NEW.`is_active`, COALESCE(@uniqueID, LEFT(CONCAT('c_', unix_timestamp()/3600, CONNECTION_ID()), 17)), @civicrm_user_id, 'insert'); END IF; END")); if ((3 == $sql_type && !preg_match('/\)\s*'.$delimiter_regex.'$/', substr($sql_line, -5, 5))) || (!in_array($sql_type, array(3, 9, 10, 12)) && substr($sql_line, -strlen($delimiter), strlen($delimiter)) != $delimiter) || (9 == $sql_type && !preg_match('/(?:END)?\s*'.$delimiter_regex.'\s*$/', $sql_line))) continue; $this->line++; // We now have a complete line - process it if (3 == $sql_type && $sql_line && strlen($sql_line) > $this->max_allowed_packet) { $this->log_oversized_packet($sql_line); // Reset $sql_line = ''; $sql_type = -1; // If this is the very first SQL line of the options table, we need to bail; it's essential if (0 == $this->insert_statements_run && $this->restoring_table && $this->restoring_table == $import_table_prefix.'options') { $updraftplus->log("Leaving maintenance mode"); $this->maintenance_mode(false); return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'INSERT (options)')); } continue; } // The timed overhead of this is negligible if (preg_match('/^\s*drop view (if exists )?\`?([^\`]*)\`?\s*'.$delimiter_regex.'/i', $sql_line, $matches)) { $sql_type = 16; $this->view_names[] = $matches[2]; $this->view_names = array_unique($this->view_names); } elseif (preg_match('/^\s*drop table (if exists )?\`?([^\`]*)\`?\s*'.$delimiter_regex.'/i', $sql_line, $matches)) { $sql_type = 1; if (!$this->printed_new_table_prefix) { $import_table_prefix = $this->pre_sql_actions($import_table_prefix); if (false === $import_table_prefix || is_wp_error($import_table_prefix)) return $import_table_prefix; $this->printed_new_table_prefix = true; } $this->table_name = $matches[2]; if ($this->table_should_be_skipped($this->table_name)) { // Reset $sql_line = ''; $sql_type = -1; continue; } // Legacy, less reliable - in case it was not caught before if (null === $this->old_table_prefix && preg_match('/^([a-z0-9]+)_.*$/i', $this->table_name, $tmatches)) { $this->old_table_prefix = $tmatches[1].'_'; $updraftplus->log(__('Old table prefix:', 'updraftplus').' '.$this->old_table_prefix, 'notice-restore', 'old-table-prefix'); $updraftplus->log("Old table prefix (detected from first table): ".$this->old_table_prefix); } $this->new_table_name = $this->old_table_prefix ? UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $this->table_name) : $this->table_name; $non_wp_table = false; // if we have a different prefix but the table name has not changed after the replace then we are dealing with a table that does not use the WordPress table prefix, in order for an Atomic restore to work on this table we need to attach our temporary prefix if (!$this->rename_forbidden && $this->old_table_prefix && $this->new_table_name == $this->table_name) { $non_wp_table = true; $this->new_table_name = $import_table_prefix.$this->table_name; } if ($import_table_prefix != $this->old_table_prefix) { if ('' === $this->old_table_prefix || $non_wp_table) { $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->table_name, $this->new_table_name, $sql_line); } else { $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $sql_line); } } if (empty($matches[1])) { // Seen with some foreign backups $sql_line = preg_replace('/drop table/i', 'drop table if exists', $sql_line, 1); } $this->tables_been_dropped[] = $this->new_table_name; } elseif (preg_match('/^\s*create table \`?([^\`\(]*)\`?\s*\(/i', $sql_line, $matches)) { $sql_type = 2; $this->insert_statements_run = 0; $this->table_name = $matches[1]; // regardless of whether or not the table should be skipped, the table creation should also be postponed if the table contains one or more generated columns if ($this->table_should_be_skipped($this->table_name) || !empty($this->generated_columns[$this->table_name])) { // Reset $sql_line = ''; $sql_type = -1; continue; } if (!$this->printed_new_table_prefix) { $import_table_prefix = $this->pre_sql_actions($import_table_prefix); if (false === $import_table_prefix || is_wp_error($import_table_prefix)) return $import_table_prefix; $this->printed_new_table_prefix = true; } $sql_line = $this->prepare_create_table($sql_line, $import_table_prefix, $supported_engines, $supported_charsets, $supported_collations); } elseif (preg_match('/^\s*insert(?:\s\s*ignore)?\s\s*into(?:\s*`(.+?)`|[^\(]+)(?:\s*\(.+?\))?\s*(?:values|\()/i', $sql_line, $matches)) { $sql_type = 3; $this->table_name = $matches[1]; if ($this->table_should_be_skipped($this->table_name)) { // Reset $sql_line = ''; $sql_type = -1; continue; } $non_wp_table = false; $this->new_table_name = $this->old_table_prefix ? UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $this->table_name) : $this->table_name; // if we have a different prefix but the table name has not changed after the replace then we are dealing with a table that does not use the WordPress table prefix, in order for an Atomic restore to work on this table we need to attach our temporary prefix if (!$this->rename_forbidden && $this->old_table_prefix && $this->new_table_name == $this->table_name) { $non_wp_table = true; $this->new_table_name = $import_table_prefix.$this->table_name; } // If this is set then we have disabled atomic restores for this table so we need to make sure we are using the correct prefix when inserting the data $temp_insert_table_prefix = $this->disable_atomic_on_current_table ? $this->final_import_table_prefix : $import_table_prefix; if ($temp_insert_table_prefix != $this->old_table_prefix) { if ('' === $this->old_table_prefix || $non_wp_table) { $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->table_name, $this->new_table_name, $sql_line); } else { $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $temp_insert_table_prefix, $sql_line); } } } elseif (preg_match('/^\s*(\/\*\!40000 )?(alter|lock) tables? \`?([^\`\(]*)\`?\s+(write|disable|enable)/i', $sql_line, $matches)) { // Only binary mysqldump produces this pattern (LOCK TABLES `table` WRITE, ALTER TABLE `table` (DISABLE|ENABLE) KEYS) $sql_type = 4; $temp_insert_table_prefix = $this->disable_atomic_on_current_table ? $this->final_import_table_prefix : $import_table_prefix; if ($temp_insert_table_prefix != $this->old_table_prefix) { if ('' === $this->old_table_prefix || $non_wp_table) { $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->table_name, $this->new_table_name, $sql_line); } else { $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $temp_insert_table_prefix, $sql_line); } } } elseif (preg_match('/^(un)?lock tables/i', $sql_line)) { // BackWPup produces these $sql_type = 15; } elseif (preg_match('/^(create|drop) database /i', $sql_line)) { // WPB2D produces these, as do some phpMyAdmin dumps $sql_type = 6; } elseif (preg_match('/^use /i', $sql_line)) { // WPB2D produces these, as do some phpMyAdmin dumps $sql_type = 7; } elseif (preg_match('#^\s*/\*\!40\d+ (SET NAMES) (.*)\*\/#i', $sql_line, $smatches)) { $sql_type = 8; $charset = rtrim($smatches[2]); $connection_charset = $updraftplus->get_connection_charset(); if ('utf8' === $charset && 'utf8mb4' === $connection_charset) { $sql_line = UpdraftPlus_Manipulation_Functions::str_lreplace("SET NAMES $charset", "SET NAMES $connection_charset", $sql_line); $updraftplus->log(sprintf(__('Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset().', 'updraftplus'), $charset, $connection_charset), 'notice-restore'); $charset = $connection_charset; } $this->set_names = $charset; if (!isset($supported_charsets[strtolower($charset)])) { $sql_line = UpdraftPlus_Manipulation_Functions::str_lreplace($smatches[1]." ".$charset, "SET NAMES ".$this->restore_options['updraft_restorer_charset'], $sql_line); $updraftplus->log('SET NAMES: '.sprintf(__('Requested character set (%s) is not present - changing to %s.', 'updraftplus'), esc_html($charset), esc_html($this->restore_options['updraft_restorer_charset'])), 'notice-restore'); } } elseif (preg_match('/^\s*create trigger /i', $sql_line)) { $sql_type = 9; // If the statement is not yet complete, then continue (to get the next line) if (!preg_match('/(?:END)?\s*'.$delimiter_regex.'\s*$/', $sql_line)) continue; // If it's a comment then continue; if (preg_match('/(?:--|#).+?'.$delimiter_regex.'\s*$/i', $buffer)) continue; $updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'db', 'data' => array('stage' => 'trigger', 'table' => ''))); if ($import_table_prefix != $this->old_table_prefix) { if ('' != $this->old_table_prefix) { $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $sql_line); } else { $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->table_name, $this->new_table_name, $sql_line); } } if (';' !== $delimiter) { $sql_line = preg_replace('/END\s*'.$delimiter_regex.'\s*$/', 'END', $sql_line); // handle trigger statement which doesn't include begin and end in the trigger body, and remove the delimiter $sql_line = preg_replace('/\s*'.$delimiter_regex.'\s*$/', '', $sql_line); } if ($this->triggers_forbidden) $updraftplus->log("Database user lacks permission to create triggers; statement will not be executed ($sql_line)"); } elseif (preg_match('/^\s*drop trigger /i', $sql_line)) { // Avoid sending unrecognised delimiters to the SQL server (this only affects backups created outside UD; we use ";;" which is cunningly compatible) if (';' !== $delimiter) $sql_line = preg_replace('/'.$delimiter_regex.'\s*$/', '', $sql_line); } elseif (preg_match("/^\s*CREATE\s\s*(?:OR\s\s*REPLACE\s\s*)?(?:DEFINER\s*=\s*(?:`.{1,17}`@`[^\s]+`\s*|'.{1,17}'@'[^\s]+'\s*|[^\s]+?\s))?(?:AGGREGATE\s\s*)?(?:PROCEDURE|FUNCTION)((?:\s\s*[^\(`]+|\s*`(?:[^`]|``)+`))\s*\(/is", $sql_line, $routine_matches)) { // ^\s*create\s\s*(?:or\s\s*replace\s\s*)?.*?(?:(?:aggregate\s\s*)?function|procedure)\s\s*`(.+)`(?:\s\s*if\s\s*not\s\s*exists\s*|\s*)?\( // ^[^'\"]*create[^'\"]*(?:function(?:\s\s*if\s\s*not\s\s*exists)?|procedure)\s*`([^\r\n]+)` $sql_type = 12; // it's possible that a routine doesn't have BEGIN and END statements in its routine body, unfortunately sometimes it does have the statement separator (;) at the end of the routine statement but sometimes it doesn't // if it has the statement separator (;) then we add the statement separator into the regex and the preceding delimiter, if it doesn't have statement separator then check only the delimiter if (!preg_match('/END\s*(?:\*\/)?'.$delimiter_regex.'\s*$/is', rtrim($sql_line)) && !preg_match('/\;\s*'.$delimiter_regex.'\s*$/is', rtrim($sql_line)) && !preg_match('/\s*(?:\*\/)?'.$delimiter_regex.'\s*$/is', rtrim($sql_line))) continue; // if it's already at the end of the statement check whether it's a comment or not (e.g. SET @VARIABLE = 'the value'; -- the comment END;; or SET @VARIABLE = 'the value'; # the comment END;;;) if (preg_match('/(?:--|#).+?END\s*'.$delimiter_regex.'\s*$/i', rtrim($sql_line)) && preg_match('/(?:--|#).+?'.$delimiter_regex.'\s*$/i', rtrim($sql_line))) continue; if (is_array($this->stored_routine_supported) && !empty($this->stored_routine_supported) && !is_wp_error($old_log_bin_trust_function_creators)) { $updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'db', 'data' => array('stage' => 'stored_routine', 'routine_name' => preg_replace('/^`?(.+?)`?$/i', "$1", trim(str_replace('``', '`', $routine_matches[1])))))); if ($this->stored_routine_supported['is_binary_logging_enabled'] && !$this->stored_routine_supported['is_function_creators_trusted'] && !isset($this->continuation_data['old_log_bin_trust_function_creators']) && is_null($old_log_bin_trust_function_creators)) { // it's a new restoration // no matter what the database server is and the privileges the current DB user has, if the binary logging is enabled, log_bin_trust_function_creators is set to off and DB current, we could end up getting the below error when restoring routines // ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) // we need to set the log_bin_trust_function_creators "ON" so that the db server will treat all functions as deterministic safe functions. // https://mariadb.com/kb/en/library/binary-logging-of-stored-routines/ // https://dev.mysql.com/doc/refman/8.0/en/stored-programs-logging.html // if the DB current user is a non super admin, binary logging is enabled and log_bin_trust_function_creators is set to OFF/0 it will produce this error "(You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)" // the log_bin_trust_function_creators variable is a global variable that should only be changed with caution because other plugins may also use it for some purpose, this can lead to an inaccurate value of log_bin_trust_function_creators especially if the restoration failed and the resumption could not be triggered $old_log_bin_trust_function_creators = $this->set_log_bin_trust_function_creators('ON'); if (is_wp_error($old_log_bin_trust_function_creators)) { $updraftplus->log('set_log_bin_trust_function_creators(ON): '.$old_log_bin_trust_function_creators); } else { $updraftplus->log('log_bin_trust_function_creators value has been set to: ON'); // we also need to store the original value of the log_bin_trust_function_creator variable to UDP jobdata so that if something goes wrong in the restoration, we're still able in a earlier time to set this global variable back to what it was (register_shutdown_function seems to be the good one) $updraftplus->jobdata_set('old_log_bin_trust_function_creators', $old_log_bin_trust_function_creators); $updraftplus->log('The original value of log_bin_trust_function_creators variable has been successfully added to UDP jobdata'); } } elseif ($this->stored_routine_supported['is_binary_logging_enabled'] && !$this->stored_routine_supported['is_function_creators_trusted'] && is_null($old_log_bin_trust_function_creators) && isset($this->continuation_data['old_log_bin_trust_function_creators'])) { // it's a resumption of the previous run, it can be recognised from the existence of old_log_bin_trust_function_creators index in $continuation_data variable $old_log_bin_trust_function_creators = $this->continuation_data['old_log_bin_trust_function_creators']; $updraftplus->log('Running a resumption from the previous restoration'); $this->set_log_bin_trust_function_creators('ON'); $updraftplus->log('log_bin_trust_function_creators value has been set to: ON'); } // the routine's definer in the backup file could be different with the user and host on the targeted restore site, so we need to replace the user and host information for the definer option with the current user account or remove the DEFINER clause and let the system use the default value (which is current user) // replace the user and host with db_user and db_host // $sql_line = preg_replace("/^([^'\"]*create[^'\"]*definer\s*=\s*)(?:`.{1,17}`@`[^\s]+`|'.{1,17}'@'[^\s]+')(.+?(?:function(?:\s\s*if\s\s*not\s\s*exists)?|procedure)\s*`)/is", "$1`".DB_USER."`@`".DB_HOST."`$2", $sql_line); // remove the DEFINER clause $sql_line = preg_replace("/^\s*(CREATE(?:\s\s*OR\s\s*REPLACE)?)\s\s*DEFINER\s*=\s*(?:`.{1,17}`@`[^\s]+`\s*|'.{1,17}'@'[^\s]+'\s*|[^\s]+?\s)((?:AGGREGATE\s\s*)?(?:PROCEDURE|FUNCTION))/is", "$1 $2", $sql_line); if (preg_match('/^\s*CREATE(?:\s\s*OR\s\s*REPLACE)?\s\s*(?:DEFINER\s*=\s*(?:`.{1,17}`@`[^\s]+`\s*|\'.{1,17}\'@\'[^\s]+\'\s*|[^\s]+?\s))?PROCEDURE(?:\s*`(?:[^`]|``)+`\s*|\s[^\(]+)(?\'params\'(?:[^()]+|\((?1)*\)))(?:(.*?)COMMENT\s\s*\'[^\']+\'|COMMENT\s\s*\'[^\']+\'(.*?)|(.*?))(?:(.*?)BEGIN|([^\'"]+))/is', $sql_line, $sql_security_matches, PREG_OFFSET_CAPTURE) || preg_match('/^\s*CREATE(?:\s\s*OR\s\s*REPLACE)?\s\s*(?:DEFINER\s*=\s*(?:`.{1,17}`@`[^\s]+`\s*|\'.{1,17}\'@\'[^\s]+\'\s*|[^\s]+?\s))?(?:AGGREGATE\s\s*)?FUNCTION(?:\s*`(?:[^`]|``)+`\s*|\s[^\(]+)(?\'params\'(?:[^()]+|\((?1)*\)))\s*RETURNS\s[\w]+(?:\(.*?\))?\s*(?:CHARSET\s\s*[^\s]+\s\s*)?(?:COLLATE\s\s*[^\s]+\s\s*)?(?:(.*?)COMMENT\s\s*\'[^\']+\'|COMMENT\s\s*\'[^\']+\'(.*?)|(.*?))(?:(.*?)BEGIN|(.*?)RETURN)/is', $sql_line, $sql_security_matches, PREG_OFFSET_CAPTURE)) { // replace SQL SECURITY DEFINER and add SQL SECURITY INVOKER $is_last_index_replaced = false; $sql_security_matches = array_reverse($sql_security_matches); foreach ($sql_security_matches as $key => $match) { if ((int) $match[1] <= 0 || 'params' === $key) continue; $length = strlen($match[0]); $match[0] = preg_replace('/SQL\s\s*SECURITY\s\s*(?:DEFINER|INVOKER)/is', ' ', $match[0]); if (!$is_last_index_replaced) { // $match[0] .= ' SQL SECURITY INVOKER '; $match[0] = ' SQL SECURITY INVOKER ' . $match[0]; $is_last_index_replaced = true; } $sql_line = substr_replace($sql_line, $match[0], $match[1], max(0, $length)); } } // there could be a text/varchar variable declaration in the routine body in which the charset is also being specified in it, this could lead to an error when restoring the routine because of unsupported charset. for example, the declaration for a varchar/text variable in the routine body or the function parameter with the uf8mb4 charset defined but the running DB doesn't support utf8mb4 // to handle this we first check the routine creation statement and collect all the variable declarations which in relation with text/char variables that contain charset specification and then replace or remove the charset if necessary /* e.g: create procedure `test`(_user_id varchar(50) CHARSET utf8, _user_passwd varchar(255) CHARSET utf8, success_text text CHARSET utf8mb4, failure_text text CHARSET utf8) begin declare insert_status int default 0; declare _user_id varchar(2049) CHARSET utf8; declare _password varchar(255) CHARSET utf8mb4; declare _parent_nid bigint; declare _uid bigint; declare _node varchar(255) CHARSET utf8mb4; end ;; */ if (preg_match_all('/(\s(?:long|medium|tiny)?text\s*(?:\([0-9]+\))?|\s(?:var)?char\s*(?:\([0-9]+\))?).*?charset\s([^;,\)\s]+).*?(?:,|;|\))/is', $sql_line, $charset_matches)) { foreach ((array) $charset_matches[2] as $key => $charset) { $replaced_charset_declaration = $charset_matches[0][$key]; if (!empty($charset) && !isset($supported_charsets[strtolower(trim($charset))])) { $replaced_charset_declaration = !empty($this->restore_options['updraft_restorer_charset']) ? str_ireplace($charset, $this->restore_options['updraft_restorer_charset'], $replaced_charset_declaration) : str_ireplace(array('charset', $charset), array('', ''), $replaced_charset_declaration); $sql_line = str_ireplace($charset_matches[0][$key], $replaced_charset_declaration, $sql_line); } } } if (!$this->stored_routine_supported['is_create_or_replace_supported']) { // "create or replace" syntax is used by MariaDB only, in case we are restoring from the MariaDB backup file to MySQL database server, we need to remove the "or replace" syntax if any $sql_line = preg_replace("/^([^'\"]*)create\s\s*or\s\s*replace([^'\"]*(?:function(?:\s\s*if\s\s*not\s\s*exists)?|procedure)\s*`)/is", "$1create$2", $sql_line); } if (!$this->stored_routine_supported['is_if_not_exists_function_supported']) { // MariaDB supports IF NOT EXISTS syntax after the FUNCTION keyword (e.g create function if not exists function_name), we need to remove it to ensure the syntax compatility with MySQL $sql_line = preg_replace("/^([^'\"]*create[^'\"]*function)\s\s*if\s\s*not\s\s*exists(\s*`)/is", "$1$2", $sql_line); } if (!$this->stored_routine_supported['is_aggregate_function_supported'] && preg_match("/^[^'\"]*create[^'\"]*(?:\baggregate\s\s*function\b)\s*`([^\r\n]+)`/is", $sql_line, $aggregate_matches)) { // there's no way that we can make mariadb aggregate function compatible with MySQL, the function itself must contain "FETCH GROUP NEXT ROW" in the routine body which mysql doesn't know what that is $aggregate_log = "Function {$aggregate_matches[1]} has been neglected due to the unsupported function type (aggregate)"; $updraftplus->log($aggregate_log); $updraftplus->log($aggregate_log, 'notice-restore'); $sql_line = ''; // we ignore the routine and move to the next line $sql_type = -1; continue; } } else { $updraftplus->log("Stored function/procedure {$routine_matches[1]} has been neglected due to the unsupported database routine creation"); // move to the next line if stored routine is not supported $sql_line = ''; $sql_type = -1; continue; } } elseif (preg_match('/^.*?drop\s\s*(?:function|procedure)\s\s*(?:if\s\s*exists\s\s*)?/i', $sql_line)) { $sql_type = 13; // if (';' !== $delimiter) $sql_line = preg_replace('/'.$delimiter_regex.'\s*$/', '', $sql_line); } elseif (preg_match('/^\s*delimiter (\S+)\s*$/i', $sql_line, $matches)) { // Nothing to do here - deliberate no-op (is processed earlier) $sql_type = 10; } elseif (preg_match('/^CREATE(\s+ALGORITHM=\S+)?(\s+DEFINER=\S+)?(\s+SQL SECURITY (\S+))?\s+VIEW/i', $sql_line, $matches)) { $sql_type = 11; // remove DEFINER clause from the create view statement and add or replace SQL SECURITY DEFINER with INVOKER // https://regex101.com/r/2tOEhe/4/ $sql_line = preg_replace('/^(\s*CREATE\s\s*(?\'or_replace\'OR\s\s*REPLACE\s\s*)?(?\'algorithm\'ALGORITHM\s*=\s*[^\s]+\s\s*)?)(?\'definer\'DEFINER\s*=\s*(?:`.{1,17}`@`[^\s]+`\s*|\'.{1,17}\'@\'[^\s]+\'\s*|[^\s]+?\s\s*))?(?\'sql_security\'SQL\s\s*SECURITY\s\s*[^\s]+?\s\s*)?(VIEW(?:\s\s*IF\s\s*NOT\s\s*EXISTS)?(?:\s*`(?:[^`]|``)+`\s*|\s\s*[^\s]+\s\s*)AS)/is', "$1 SQL SECURITY INVOKER $6", $sql_line); if (null !== $this->old_table_prefix) { foreach (array_keys($this->restore_this_table) as $table_name) { // Code for a view can contain pretty much anything. As such, we want to be minimise the risks of unwanted matches. if (in_array($table_name, $this->view_names)) continue; // since DROP VIEW statement is preceded by DROP TABLE statement (@see UpdraftPlus_Backup::write_table_backup_beginning), it makes the view name to be recognised as a real table and to be added to the $this->restore_this_table variable when executing the DROP TABLE statement via UpdraftPlus_Restore::sql_exec method. This line prevents a view name from being replaced and suffixed with $import_table_prefix during an atomic restoration and/or when the view uses the same table prefix if (false !== strpos($sql_line, $table_name)) { $new_table_name = ('' == $this->old_table_prefix) ? $import_table_prefix.$table_name : UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $this->rename_forbidden ? $import_table_prefix : $this->final_import_table_prefix, $table_name); $sql_line = str_replace($table_name, $new_table_name, $sql_line); } } // by default during an atomic restoration, the last created table is renamed at the end of the restoration process (@see the `if ($this->restoring_table)` code at the end of this method), typically the DB server will throw an error when creating a view that requires a table that doesn't exist in the database if ($this->restoring_table) { $final_table_name = $this->maybe_rename_restored_table(); $this->restored_table($final_table_name, $this->final_import_table_prefix, $this->old_table_prefix, $this->table_engine); $this->restoring_table = ''; // reset this variable so that the same table renaming procedure at the end of this method doesn't get executed } } } elseif (preg_match('/^SET @@GLOBAL.GTID_PURGED/i', $sql_line)) { // skip the SET @@GLOBAL.GTID_PURGED command $sql_type = 17; } elseif (preg_match('/^\/\*\!\d+\s+SET\s+(?:[^,].*)?(?=SQL_MODE\s*=)/i', $sql_line)) { // skip the SET SQL_MODE command because we adjust the SQL mode dynamically during restoration and offer users the flexibility to change it themselves using action or filter, we don't use the SQL mode specified in the dumped file. Skipping this line prevents any unintended changes to the default SQL mode already set by our system or any custom mode chosen by the user. $sql_type = 18; } else { // Prevent the previous value of $sql_type being retained for an unknown type $sql_type = 0; } // Do not execute "USE" or "CREATE|DROP DATABASE" or "SET @@GLOBAL.GTID_PURGED" or "SET SQL_MODE" commands if (!in_array($sql_type, array(6, 7, 10, 17, 18)) && (9 != $sql_type || false == $this->triggers_forbidden)) { $do_exec = $this->sql_exec($sql_line, $sql_type); if (is_wp_error($do_exec)) return $do_exec; } else { $updraftplus->log("Skipped execution of SQL statement (unwanted or internally handled type=$sql_type): $sql_line"); } // currently, the way UDP backups the generated column is different with the way mysqldump does it. // mysqldump doesn't include all of the columns/fields value into the insert statement but instead it specifies only non generated-columns to be included in the insert statement (i.e insert into `table`(`non-generated-column1`,`non-generated-column2`) values('value','value2')) // UDP includes all the columns (i.e insert into `table` values ('non-generated-column-value1', 'non-generated-column-value2', 'virtual-column-value', 'stored-column-value')) // the code below will only get executed if the running DB server is MySQL and the insert statement has all the columns included. If we change the way UDP backup the generated columns to be the same as mysqldump then the code below is no longer necessary and can be removed if (3 == $sql_type && !empty($this->generated_columns[$this->table_name])) { // MySQL doesn't allow the "generated columns" value takes its place in the insert statement, and because of that the only solution is to change the generated columns to standard columns which have been done previously // now we need to change it back to generated columns but unfortunately changing it to virtual type wont work, it can only be changed to stored type if (!isset($this->supported_generated_column_engines[strtolower($this->table_engine)])) $this->supported_generated_column_engines[strtolower($this->table_engine)] = UpdraftPlus_Database_Utility::is_generated_column_supported($this->table_engine); if (($generated_column_db_info = $this->supported_generated_column_engines[strtolower($this->table_engine)]) && !$generated_column_db_info['can_insert_ignore_to_generated_column'] && isset($this->generated_columns_exist_in_the_statement[$this->table_name]) && true === $this->generated_columns_exist_in_the_statement[$this->table_name]) { foreach ((array) $this->generated_columns[$this->table_name]['columns'] as $generated_column) { $new_data_type_definition = "`{$generated_column['column_name']}`"; foreach ((array) $generated_column['column_data_type_definition'] as $key => $data_type_definition) { if (empty($data_type_definition) || 0 === strlen(trim($data_type_definition[0]))) continue; if (in_array($key, array('DATA_TYPE_TOKEN', 'GENERATED_ALWAYS_TOKEN', 'COMMENT_TOKEN'))) { $new_data_type_definition .= " ".$data_type_definition[0]; continue; // we only want the data type options after the "generated always as()", so we continue } // If the database server doesn't support either null or not null constraint on generated virtual/stored/persistent column then the constraints need to be removed $new_data_type_definition .= $generated_column_db_info['is_not_null_supported'] ? $data_type_definition[0] : preg_replace('/\b(?:not\s+null|null)\b/i', '', $data_type_definition[0]); if (!$generated_column['is_virtual']) { // If the persistent type is not supported it likely means that the currently running db server is MySQL, Mariadb uses persistent as an alias for stored type so if the backup file is taken from MariaDB then it needs to be changed to stored $new_data_type_definition = $generated_column_db_info['is_persistent_supported'] ? $new_data_type_definition : preg_replace('/\bpersistent\b/i', 'STORED', $new_data_type_definition); } } $new_data_type_definition = preg_replace('/\bvirtual\b/i', 'STORED', $new_data_type_definition); // altering table could take minutes or hours to complete depending on the size of the rows of the table $do_exec = $this->sql_exec(sprintf("alter table `%s` change `%s` %s", $this->new_table_name, $generated_column['column_name'], $new_data_type_definition), -1); if (is_wp_error($do_exec)) return $do_exec; } } } // Reset $sql_line = ''; $sql_type = -1; } if (is_array($this->stored_routine_supported) && $this->stored_routine_supported['is_binary_logging_enabled']) { // if this condition is met, it means that db server binary logging is enabled and the value of the log_bin_trust_function_system_variable has previously been set to ON (1), and now the value must be changed back to what it originally was if (isset($this->continuation_data['old_log_bin_trust_function_creators'])) { // it's a resumption $old_log_bin_trust_function_creators = $this->continuation_data['old_log_bin_trust_function_creators']; } else { $old_log_bin_trust_function_creators = $updraftplus->jobdata_get('old_log_bin_trust_function_creators'); } if (is_string($old_log_bin_trust_function_creators) && '' !== $old_log_bin_trust_function_creators) { $this->set_log_bin_trust_function_creators($old_log_bin_trust_function_creators); // no need to check the return value of the set_log_bin_trust_function_creators here as if it is an wp error it has been handled already and this block of code wont be executed $updraftplus->log("log_bin_trust_function_creators variable has been reset: ".$old_log_bin_trust_function_creators); // unset the old_log_bin_trust_function_creators index from the continuation_data so that the on_shutdown function won't check it again unset($this->continuation_data['old_log_bin_trust_function_creators']); // also delete the old_log_bin_trust_function_creators jobdata to prevent the on_shutdown function accessing and deleting it twice $updraftplus->jobdata_delete('old_log_bin_trust_function_creators'); $updraftplus->log("log_bin_trust_function_creators variable has successfully been removed from UDP jobdata"); } } // Rescan storage, but only if there was remote storage and a database; otherwise just re-scan locally if (!empty($this->ud_backup_set['db']) && !empty($this->ud_backup_set['service']) && ('none' !== $this->ud_backup_set['service'] && 'email' !== $this->ud_backup_set['service'] && array('') !== $this->ud_backup_set['service'] && array('none') !== $this->ud_backup_set['service'] && array('email') !== $this->ud_backup_set['service'])) { $only_add_this_file = array('file' => $this->ud_backup_set['db']); UpdraftPlus_Backup_History::rebuild(true, $only_add_this_file); } else { UpdraftPlus_Backup_History::rebuild(); } if (!empty($this->lock_forbidden)) { $updraftplus->log("Leaving maintenance mode"); } else { $updraftplus->log("Unlocking database and leaving maintenance mode"); $this->unlock_tables(); } $this->maintenance_mode(false); if ($this->restoring_table) { $final_table_name = $this->maybe_rename_restored_table(); $this->restored_table($final_table_name, $this->final_import_table_prefix, $this->old_table_prefix, $this->table_engine); } // drop the dummy restored tables if ($this->is_dummy_db_restore) $this->drop_tables($this->restored_table_names); $time_taken = microtime(true) - $this->start_time; $updraftplus->log_e('Finished: lines processed: %d in %.2f seconds', $this->line, $time_taken); if ($is_plain) { fclose($dbhandle); } elseif ($is_bz2) { bzclose($dbhandle); } else { gzclose($dbhandle); } global $wp_filesystem; if (!$wp_filesystem->delete($working_dir.'/'.$db_basename, false, 'f')) { $this->restore_log_permission_failure_message($working_dir, 'Delete '.$working_dir.'/'.$db_basename); } return true; } /** * This function will check if the passed in table should be skipped e.g it was processed on another run * * @param string $table_name - the name of the table we want to check * * @return boolean - returns true if we should skip the table, otherwise false if the table should be processed */ private function table_should_be_skipped($table_name) { global $updraftplus; $skip_table = false; $last_table = isset($this->continuation_data['last_processed_db_table']) ? $this->continuation_data['last_processed_db_table'] : ''; $table_should_be_skipped = false; if (!empty($this->tables_to_skip) && in_array($table_name, $this->tables_to_skip)) { $table_should_be_skipped = true; } elseif (!empty($this->tables_to_restore) && !in_array($table_name, $this->tables_to_restore) && !$this->include_unspecified_tables) { $table_should_be_skipped = true; } if ($table_should_be_skipped) { if (empty($this->previous_table_name) || $table_name != $this->previous_table_name) $updraftplus->log(sprintf(__('Skipping table %s: user has chosen not to restore this table', 'updraftplus'), $table_name), 'notice-restore'); $skip_table = true; } elseif (!empty($last_table) && !empty($table_name) && $table_name != $last_table) { if (empty($this->previous_table_name) || $table_name != $this->previous_table_name) $updraftplus->log(sprintf(__('Skipping table %s: already restored on a prior run; next table to restore: %s', 'updraftplus'), $table_name, $last_table), 'notice-restore'); $skip_table = true; } elseif (!empty($last_table) && !empty($table_name) && $table_name == $last_table) { unset($this->continuation_data['last_processed_db_table']); $skip_table = false; } $this->previous_table_name = $table_name; if (!$skip_table) { $updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'db', 'data' => array('stage' => 'table', 'table' => $table_name))); $updraftplus->jobdata_set('last_processed_db_table', $table_name); } return $skip_table; } /** * This function will check if we are performing an atomic restore by renaming a temporary table to the final table name and returning the final table name * * @return string - returns the final table name */ private function maybe_rename_restored_table() { global $updraftplus; // If this is set then we do not want to attempt an atomic restore as it will remove the final table if ($this->disable_atomic_on_current_table) { $this->disable_atomic_on_current_table = false; return $this->original_table_name; } // If the table names are the same then we do not want to attempt an atomic restore as it will remove the final table if ($this->original_table_name == $this->restoring_table) return $this->original_table_name; // If we have skipped this table then we don't want to attempt the atomic restore if (!$this->restore_this_table($this->original_table_name)) { return $this->original_table_name; } if (!$this->rename_forbidden) { $updraftplus->log_e('Atomic restore: dropping original table (%s)', $this->original_table_name); $this->drop_tables(array($this->original_table_name)); $updraftplus->log_e('Atomic restore: renaming new table (%s) to final table name (%s)', $this->restoring_table, $this->original_table_name); $this->rename_table($this->restoring_table, $this->original_table_name); } return $this->original_table_name; } /** * This function will try to rename a table, if successful returns true otherwise returns an error number * * @param string $current_table_name - the current table name * @param string $new_table_name - the new table name * * @return boolean|integer - returns true if successful otherwise an error number */ private function rename_table($current_table_name, $new_table_name) { $current_table_name = UpdraftPlus_Manipulation_Functions::backquote($current_table_name); $new_table_name = UpdraftPlus_Manipulation_Functions::backquote($new_table_name); return $this->sql_exec("ALTER TABLE $current_table_name RENAME TO $new_table_name;", 14, '', false); } private function lock_table($table) { // Not yet working return true; global $updraftplus;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Function isnt being used yet $table = UpdraftPlus_Manipulation_Functions::backquote($table); if ($this->use_wpdb()) { $req = $wpdb->query("LOCK TABLES $table WRITE;");// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- Function isnt being used yet } else { if ($this->use_mysqli) { $req = mysqli_query($this->mysql_dbh, "LOCK TABLES $table WRITE;"); } else { // @codingStandardsIgnoreLine $req = mysql_unbuffered_query("LOCK TABLES $table WRITE;", $this->mysql_dbh); } if (!$req) { // @codingStandardsIgnoreLine $lock_error_no = $this->use_mysqli ? mysqli_errno($this->mysql_dbh) : mysql_errno($this->mysql_dbh); } } if (!$req && ($this->use_wpdb() || 1142 === $lock_error_no)) { // Permission denied return 1142; } return true; } public function unlock_tables() { return; // Not yet working if ($this->use_wpdb()) { $wpdb->query("UNLOCK TABLES;");// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable -- Function isnt being used yet } elseif ($this->use_mysqli) { $req = mysqli_query($this->mysql_dbh, "UNLOCK TABLES;");// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Function isnt being used yet } else { // @codingStandardsIgnoreLine $req = mysql_unbuffered_query("UNLOCK TABLES;"); } } /** * Save configuration bundle, ready to restore it once the options table has been restored */ private function save_configuration_bundle() { $this->configuration_bundle = array(); // Some items must always be saved + restored; others only on a migration // Remember, if modifying this, that a restoration can include restoring a destroyed site from a backup onto a fresh WP install on the same URL. So, it is not necessarily desirable to retain the current settings and drop the ones in the backup. $keys_to_save = array('updraft_remotesites', 'updraft_migrator_localkeys', 'updraft_central_localkeys', 'updraft_restore_in_progress'); if ($this->old_siteurl != $this->our_siteurl || (defined('UPDRAFTPLUS_RESTORE_ALL_SETTINGS') && UPDRAFTPLUS_RESTORE_ALL_SETTINGS)) { global $updraftplus; $keys_to_save = array_merge($keys_to_save, $updraftplus->get_settings_keys()); $keys_to_save[] = 'updraft_backup_history'; } foreach ($keys_to_save as $key) { $this->configuration_bundle[$key] = UpdraftPlus_Options::get_updraft_option($key); } } /** * The table here is just for logging/info. The actual restoration itself is done via the standard options class. * * @param string $table specific table */ private function restore_configuration_bundle($table) { if (!is_array($this->configuration_bundle)) return; global $updraftplus; $updraftplus->log("Restoring prior UD configuration (table: $table; keys: ".count($this->configuration_bundle).")"); foreach ($this->configuration_bundle as $key => $value) { UpdraftPlus_Options::delete_updraft_option($key); UpdraftPlus_Options::update_updraft_option($key, $value); } // reset the Litespeed server warning message for migration if (!empty($this->restore_options['updraft_restorer_replacesiteurl'])) { if (isset($_SERVER['SERVER_SOFTWARE']) && false !== strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed')) { if (!is_file(ABSPATH.'.htaccess') || !preg_match('/noabort/i', file_get_contents(ABSPATH.'.htaccess'))) { UpdraftPlus_Options::delete_updraft_option('updraft_dismiss_admin_warning_litespeed'); } } } } /** * Log the information that a particular SQL commandment is too long * * @param String $sql_line - the SQL */ private function log_oversized_packet($sql_line) { global $updraftplus; $logit = substr($sql_line, 0, 100); $updraftplus->log(sprintf("An SQL line that is larger than the maximum packet size and cannot be split was found: %s", '('.strlen($sql_line).', '.$logit.' ...)')); $updraftplus->log(__('Warning:', 'updraftplus').' '.sprintf(__("An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s", 'updraftplus'), '('.strlen($sql_line).', '.$this->max_allowed_packet.', '.$logit.' ...)'), 'notice-restore'); } private function restore_this_table($table_name) { global $updraftplus; $unprefixed_table_name = substr($table_name, strlen($this->old_table_prefix)); // First, check whether it's a multisite site which we're not restoring. This is stored in restore_this_site (once we know the site). if (!empty($this->ud_multisite_selective_restore)) { if (preg_match('/^(\d+)_.*$/', $unprefixed_table_name, $matches)) { $site_id = $matches[1]; if (!isset($this->restore_this_site[$site_id])) { $this->restore_this_site[$site_id] = apply_filters( 'updraftplus_restore_this_site', true, $site_id, $unprefixed_table_name, $this->restore_options ); } if (false === $this->restore_this_site[$site_id]) { // The first time it's looked into, it gets logged $updraftplus->log_e('Skipping site %s: this table (%s) and others from the site will not be restored', $site_id, $table_name); $this->restore_this_site[$site_id] = 0; } if (!$this->restore_this_site[$site_id]) { return false; } } } // Secondly, if we're still intending to proceed, check the table specifically if (!isset($this->restore_this_table[$table_name])) { $this->restore_this_table[$table_name] = apply_filters( 'updraftplus_restore_this_table', true, $unprefixed_table_name, $this->restore_options ); if (false === $this->restore_this_table[$table_name]) { // The first time it's looked into, it gets logged $updraftplus->log_e('Skipping table %s: this table will not be restored', $table_name); $this->restore_this_table[$table_name] = 0; } } return $this->restore_this_table[$table_name]; } /** * UPDATE is sql_type=5 (not used in the function, but used in Migrator and so noted here for reference) * $import_table_prefix is only use in one place in this function (long INSERTTs), and otherwise need/should not be supplied * * SQL Types: * 1 DROP * 2 CREATE * 3 INSERT * 4 LOCK * 5 UPDATE * 6 WPB2D CREATE/DROP * 7 WPB2D USE * 8 SET NAMES * 9 TRIGGER * 10 DELIMITER * 11 CREATE VIEW * 12 ROUTINE * 13 DROP FUNCTION|PROCEDURE * 14 ALTER * 15 UNLOCK * 16 DROP VIEW * 17 SET GLOBAL.GTID_PURGED * 18 SET SQL_MODE|@OLD_SQL_MODE * * @param String $sql_line sql line to execute * @param Integer $sql_type sql type * @param String $import_table_prefix import type prefix * @param Boolean $check_skipping if true, then check whether the table is on the list of tables to skip * * @return Boolean|WP_Error|Void */ public function sql_exec($sql_line, $sql_type, $import_table_prefix = '', $check_skipping = true) { global $wpdb, $updraftplus; if ($check_skipping && !empty($this->table_name) && !$this->restore_this_table($this->table_name)) return; $ignore_errors = false; // Type 2 = CREATE TABLE if (2 == $sql_type && $this->create_forbidden) { $updraftplus->log_e('Cannot create new tables, so skipping this command (%s)', htmlspecialchars($sql_line)); $req = true; } else { if (2 == $sql_type && !$this->drop_forbidden) { // We choose, for now, to be very conservative - we only do the apparently-missing drop if we have never seen any drop - i.e. assume that in SQL dumps with missing DROPs, that it's because there are no DROPs at all if (!in_array($this->new_table_name, $this->tables_been_dropped)) { $updraftplus->log_e('Table to be implicitly dropped: %s', $this->new_table_name); $this->sql_exec('DROP TABLE IF EXISTS '.UpdraftPlus_Manipulation_Functions::backquote($this->new_table_name), 1, '', false); $this->tables_been_dropped[] = $this->new_table_name; } } // Type 1 = DROP TABLE if (1 == $sql_type) { if ($this->drop_forbidden) { $sql_line = "DELETE FROM ".UpdraftPlus_Manipulation_Functions::backquote($this->new_table_name); $updraftplus->log_e('Cannot drop tables, so deleting instead (%s)', $sql_line); $ignore_errors = true; } } if (3 == $sql_type && $sql_line && strlen($sql_line) > $this->max_allowed_packet) { $this->log_oversized_packet($sql_line); // If this is the very first SQL line of the options table, we need to bail; it's essential $this->errors++; if (0 == $this->insert_statements_run && $this->new_table_name && $this->new_table_name == $import_table_prefix.'options') { $updraftplus->log('Leaving maintenance mode'); $this->maintenance_mode(false); return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'INSERT (options)')); } return false; } static $first_trigger = true; if (9 == $sql_type && $first_trigger) { $first_trigger = false; $updraftplus->log('Restoring TRIGGERs...'); } static $first_stored_routine = true; if (12 == $sql_type && $first_stored_routine) { $first_stored_routine = false; $updraftplus->log('Restoring STORED ROUTINES...'); } if ($this->use_wpdb()) { $req = $wpdb->query($sql_line); // WPDB, for several query types, returns the number of rows changed; in distinction from an error, indicated by (bool)false if (0 === $req) { $req = true; } if (!$req) $this->last_error = $wpdb->last_error; } else { if ($this->use_mysqli) { $req = mysqli_query($this->mysql_dbh, $sql_line); if (!$req) $this->last_error = mysqli_error($this->mysql_dbh); } else { // @codingStandardsIgnoreLine $req = mysql_unbuffered_query($sql_line, $this->mysql_dbh); // @codingStandardsIgnoreLine if (!$req) $this->last_error = mysql_error($this->mysql_dbh); } } if (3 == $sql_type) $this->insert_statements_run++; if (1 == $sql_type) $this->tables_been_dropped[] = $this->new_table_name; $this->statements_run++; } if (!$req) { if (!$ignore_errors) $this->errors++; $print_err = (strlen($sql_line) > 100) ? substr($sql_line, 0, 100).' ...' : $sql_line; $updraftplus->log(sprintf(_x('An error (%s) occurred:', 'The user is being told the number of times an error has happened, e.g. An error (27) occurred', 'updraftplus'), $this->errors)." - ".$this->last_error." - ".__('the database query being run was:', 'updraftplus').' '.$print_err, 'notice-restore'); $updraftplus->log("An error (".$this->errors.") occurred: ".$this->last_error." - SQL query was (type=$sql_type): ".substr($sql_line, 0, 65536)); if ('MySQL server has gone away' == $this->last_error || 'Connection was killed' == $this->last_error) { $restored = false; for ($i = 0; $i < 3; $i++) { if ($this->restore_database_connection()) { $restored = true; break; } } if (!$restored) { $updraftplus->log("The Database connection has been closed and cannot be reopened."); $updraftplus->log("Leaving maintenance mode"); $this->maintenance_mode(false); return new WP_Error('db_connection_closed', __('The Database connection has been closed and cannot be reopened.', 'updraftplus')); } return $this->sql_exec($sql_line, $sql_type, $import_table_prefix, $check_skipping); } // First command is expected to be DROP TABLE if (1 == $this->errors && 2 == $sql_type && 0 == $this->tables_created) { if ($this->drop_forbidden) { $updraftplus->log_e("Create table failed - probably because there is no permission to drop tables and the table already exists; will continue"); } else { $updraftplus->log("Leaving maintenance mode"); $this->maintenance_mode(false); return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'CREATE TABLE')); } } elseif (2 == $sql_type && 0 == $this->tables_created && $this->drop_forbidden) { // Decrease error counter again; otherwise, we'll cease if there are >=50 tables if (!$ignore_errors) $this->errors--; } elseif (3 == $sql_type && false !== strpos($this->last_error, 'Duplicate entry') && false !== strpos($sql_line, 'INSERT')) { $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once('INSERT', 'INSERT IGNORE', $sql_line); $updraftplus->log('Retrying SQL query with INSERT IGNORE', 'notice-restore'); $this->sql_exec($sql_line, $sql_type, $import_table_prefix, $check_skipping); } elseif (8 == $sql_type && 1 == $this->errors) { $updraftplus->log("Aborted: SET NAMES ".$this->set_names." failed: leaving maintenance mode"); $this->maintenance_mode(false); $extra_msg = ''; $dbv = $wpdb->db_version(); if ('utf8mb4' == strtolower($this->set_names) && $dbv && version_compare($dbv, '5.2.0', '<=')) { $extra_msg = ' '.__('This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database.', 'updraftplus').' '.sprintf(__('This database needs to be deployed on MySQL version %s or later.', 'updraftplus'), '5.5'); } return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'SET NAMES').'. '.sprintf(__('To use this backup, your database server needs to support the %s character set.', 'updraftplus'), $this->set_names).$extra_msg); } elseif (12 == $sql_type) { // sql_type 12 is stored routine creation // in case we dealt with an sql syntax error from the stored routine body, the restore operation should not be stopped $req = true; // Type 14 = ALTER TABLE } elseif (14 == $sql_type && 1 == $this->errors) { return 1142; } if ($this->errors >= (defined('UPDRAFTPLUS_SQLEXEC_MAXIMUM_ERRORS') ? UPDRAFTPLUS_SQLEXEC_MAXIMUM_ERRORS : 50)) { $this->maintenance_mode(false); return new WP_Error('too_many_db_errors', __('Too many database errors have occurred - aborting', 'updraftplus')); } } elseif (2 == $sql_type) { if (!$this->lock_forbidden) $this->lock_table($this->new_table_name); $this->tables_created++; do_action('updraftplus_creating_table', $this->new_table_name); } if ($this->line >0 && 0 == $this->line % 50) { if ($this->line > $this->line_last_logged && (0 == $this->line % 250 || $this->line < 250)) { $this->line_last_logged = $this->line; $time_taken = microtime(true) - $this->start_time; $updraftplus->log_e('Database queries processed: %d in %.2f seconds', $this->line, $time_taken); } } return $req; } private function flush_rewrite_rules() { // We have to deal with the fact that the procedures used call get_option, which could be looking at the wrong table prefix, or have the wrong thing cached global $updraftplus_addons_migrator; if (!empty($updraftplus_addons_migrator->new_blogid)) switch_to_blog($updraftplus_addons_migrator->new_blogid); $filter_these = array('permalink_structure', 'rewrite_rules', 'page_on_front'); foreach ($filter_these as $opt) { add_filter('pre_option_'.$opt, array($this, 'option_filter_'.$opt)); } global $wp_rewrite; $wp_rewrite->init(); // Don't do this: it will cause rules created by plugins that weren't active at the start of the restore run to be lost // flush_rewrite_rules(true); if (function_exists('save_mod_rewrite_rules')) save_mod_rewrite_rules(); if (function_exists('iis7_save_url_rewrite_rules')) iis7_save_url_rewrite_rules(); foreach ($filter_these as $opt) { remove_filter('pre_option_'.$opt, array($this, 'option_filter_'.$opt)); } if (!empty($updraftplus_addons_migrator->new_blogid)) restore_current_blog(); } /** * WordPress options filter * * @param String $val - pre-filter value * * @return String - filtered value */ public function option_filter_template($val) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Filter use global $updraftplus; return $updraftplus->option_filter_get('template'); } /** * WordPress options filter * * @param String $val - pre-filter value * * @return String - filtered value */ public function option_filter_stylesheet($val) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Filter use global $updraftplus; return $updraftplus->option_filter_get('stylesheet'); } /** * WordPress options filter * * @param String $val - pre-filter value * * @return String - filtered value */ public function option_filter_template_root($val) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Filter use global $updraftplus; return $updraftplus->option_filter_get('template_root'); } /** * WordPress options filter * * @param String $val - pre-filter value * * @return String - filtered value */ public function option_filter_stylesheet_root($val) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- Filter use global $updraftplus; return $updraftplus->option_filter_get('stylesheet_root'); } /** * Called when a table has been restored * * @param String $table - The full table name that has been restored * @param String $import_table_prefix - The table prefix being used to import * @param String $old_table_prefix - The table prefix in the backup file * @param String $engine - The database engine, if known */ private function restored_table($table, $import_table_prefix, $old_table_prefix, $engine = '') { $table_without_prefix = substr($table, strlen($import_table_prefix)); if (isset($this->restore_this_table[$old_table_prefix.$table_without_prefix]) && !$this->restore_this_table[$old_table_prefix.$table_without_prefix]) return; global $wpdb, $updraftplus; if ($table == $import_table_prefix.UpdraftPlus_Options::options_table()) { // This became necessary somewhere around WP 4.5 - otherwise deleting and re-saving options stopped working wp_cache_flush(); $this->restore_configuration_bundle($table); } if ($this->is_multisite && $import_table_prefix.'sitemeta' === $table) { // the reason why this if statement is needed is that when *_options table is not included in the backup, then updraft_jobdata will never be wiped out from the *_sitemeta table as the below elseif statement will call wipe_state_data() only if *_options table is included $updraftplus->wipe_state_data(false, 'sitemeta'); } elseif (preg_match('/^([\d+]_)?options$/', substr($table, strlen($import_table_prefix)), $matches)) { // The second prefix here used to have a '!$this->is_multisite' on it (i.e. 'options' table on non-multisite). However, the user_roles entry exists in the main options table on multisite too. if (($this->is_multisite && !empty($matches[1])) || $table == $import_table_prefix.'options') { $updraftplus->wipe_state_data(); $mprefix = empty($matches[1]) ? '' : $matches[1]; $new_table_name = $import_table_prefix.$mprefix."options"; // WordPress has an option name predicated upon the table prefix. Yuk. if ($import_table_prefix != $old_table_prefix) { $updraftplus->log("Table prefix has changed: changing options table field(s) accordingly (".$mprefix."options)"); $print_line = sprintf(__('Table prefix has changed: changing %s table field(s) accordingly:', 'updraftplus'), 'option').' '; if (false === $wpdb->query("UPDATE $new_table_name SET option_name='{$import_table_prefix}".$mprefix."user_roles' WHERE option_name='{$old_table_prefix}".$mprefix."user_roles' LIMIT 1")) { $print_line .= __('Error', 'updraftplus'); $updraftplus->log("Error when changing options table fields: ".$wpdb->last_error); } else { $updraftplus->log("Options table fields changed OK"); $print_line .= __('OK', 'updraftplus'); } $updraftplus->log($print_line, 'notice-restore'); } // Now deal with the situation where the imported database sets a new over-ride upload_path that is absolute - which may not be wanted $new_upload_path = $wpdb->get_row($wpdb->prepare("SELECT option_value FROM {$import_table_prefix}".$mprefix."options WHERE option_name = %s LIMIT 1", 'upload_path')); $new_upload_path = (is_object($new_upload_path)) ? $new_upload_path->option_value : ''; // The danger situation is absolute and points somewhere that is now perhaps not accessible at all if (!empty($new_upload_path) && $new_upload_path != $this->prior_upload_path && (strpos($new_upload_path, '/') === 0) || preg_match('#^[A-Za-z]:[/\\\]#', $new_upload_path)) { // $this->old_siteurl != untrailingslashit(site_url()) is not a perfect proxy for "is a migration" (other possibilities exist), but since the upload_path option should not exist since WP 3.5 anyway, the chances of other possibilities are vanishingly small if (!file_exists($new_upload_path) || $this->old_siteurl != $this->our_siteurl) { if (!file_exists($new_upload_path)) { $updraftplus->log_e("Uploads path (%s) does not exist - resetting (%s)", $new_upload_path, $this->prior_upload_path); } else { $updraftplus->log_e("Uploads path (%s) has changed during a migration - resetting (to: %s)", $new_upload_path, $this->prior_upload_path); } if (false === $wpdb->query($wpdb->prepare("UPDATE {$import_table_prefix}".$mprefix."options SET option_value='%s' WHERE option_name='upload_path' LIMIT 1", array($this->prior_upload_path)))) { $updraftplus->log(__('Error', 'updraftplus'), 'notice-restore'); $updraftplus->log("Error when changing upload path: ".$wpdb->last_error); $updraftplus->log("Failed"); } } } // TODO:Do on all WPMU tables if ($table == $import_table_prefix.'options') { // Bad plugin that hard-codes path references - https://wordpress.org/plugins/custom-content-type-manager/ $cctm_data = $wpdb->get_row($wpdb->prepare("SELECT option_value FROM $new_table_name WHERE option_name = %s LIMIT 1", 'cctm_data')); if (!empty($cctm_data->option_value)) { $cctm_data = maybe_unserialize($cctm_data->option_value); if (is_array($cctm_data) && !empty($cctm_data['cache']) && is_array($cctm_data['cache'])) { $cctm_data['cache'] = array(); $updraftplus->log_e("Custom content type manager plugin data detected: clearing option cache"); update_option('cctm_data', $cctm_data); } } } if ($table == $import_table_prefix.$mprefix.'options') { // Another - http://www.elegantthemes.com/gallery/elegant-builder/ $elegant_data = $wpdb->get_row($wpdb->prepare("SELECT option_value FROM $new_table_name WHERE option_name = %s LIMIT 1", 'et_images_temp_folder')); if (!empty($elegant_data->option_value)) { $dbase = basename($elegant_data->option_value); $wp_upload_dir = wp_upload_dir(); $edir = $wp_upload_dir['basedir']; $new_dir = $edir.'/'.$dbase; if (!is_dir($new_dir)) @mkdir($new_dir, 0775, true);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. $updraftplus->log_e("Elegant themes theme builder plugin data detected: resetting temporary folder"); $wpdb->update($new_table_name, array('option_value' => $new_dir), array('option_name' => 'et_images_temp_folder')); } // check if current restoration is a migration if (!empty($this->restore_options['updraft_restorer_replacesiteurl'])) { $wp_rocket_settings = $wpdb->get_row($wpdb->prepare("SELECT option_value FROM $new_table_name WHERE option_name = %s LIMIT 1", 'wp_rocket_settings')); if (!empty($wp_rocket_settings->option_value)) { $wp_rocket_settings = maybe_unserialize($wp_rocket_settings->option_value); // if WP Rocket settings is found and cdn is enabled if (isset($wp_rocket_settings['cdn'])) { unset($wp_rocket_settings['cdn']); $wpdb->update($new_table_name, array('option_value' => serialize($wp_rocket_settings)), array('option_name' => 'wp_rocket_settings')); $updraftplus->log_e("WP Rocket CDN option detected: disabling the option"); } } } } // The gantry menu plugin sometimes uses too-long transient names, causing the timeout option to be missing; and hence the transient becomes permanent. // WP 3.4 onwards has $wpdb->delete(). But we support 3.2 onwards. $wpdb->query("DELETE FROM $new_table_name WHERE option_name LIKE '_transient_gantry-menu%' OR option_name LIKE '_transient_timeout_gantry-menu%'"); // Jetpack: see: https://wordpress.org/support/topic/issues-with-dev-site if ($this->old_siteurl != $this->our_siteurl) { $wpdb->query("DELETE FROM $new_table_name WHERE option_name = 'jetpack_options'"); } // if we are importing a single site into a multisite (which means we have the multisite add-on) we need to clear our saved options and crons to prevent unwanted backups if (isset($this->restore_options['updraftplus_migrate_blogname'])) { $wpdb->query("DELETE FROM {$import_table_prefix}{$mprefix}options WHERE option_name LIKE 'updraft_%'"); $crons = maybe_unserialize($wpdb->get_var("SELECT option_value FROM {$import_table_prefix}{$mprefix}options WHERE option_name = 'cron'")); foreach ($crons as $timestamp => $cron) { if (!is_array($cron)) continue; foreach (array_keys($cron) as $key) { if (false !== strpos($key, 'updraft_')) unset($crons[$timestamp][$key]); if (empty($crons[$timestamp])) unset($crons[$timestamp]); } } $crons = serialize($crons); $wpdb->query($wpdb->prepare("UPDATE {$import_table_prefix}{$mprefix}options SET option_value='%s' WHERE option_name='cron'", $crons)); } } } elseif ($import_table_prefix != $old_table_prefix && preg_match('/^([\d+]_)?usermeta$/', substr($table, strlen($import_table_prefix)), $matches)) { // This table is not a per-site table, but per-install $updraftplus->log("Table prefix has changed: changing usermeta table field(s) accordingly"); $print_line = sprintf(__('Table prefix has changed: changing %s table field(s) accordingly:', 'updraftplus'), 'usermeta').' '; $errors_occurred = false; if (false === strpos($old_table_prefix, '_')) { // Old, slow way: do it row-by-row // By Jul 2015, doing this on the updraftplus.com database took 20 minutes on a slow test machine $old_prefix_length = strlen($old_table_prefix); $um_sql = "SELECT umeta_id, meta_key FROM {$import_table_prefix}usermeta WHERE meta_key LIKE '".UpdraftPlus_Database_Utility::esc_like($old_table_prefix)."%'"; $meta_keys = $wpdb->get_results($um_sql); foreach ($meta_keys as $meta_key) { // Create new meta key $new_meta_key = $import_table_prefix . substr($meta_key->meta_key, $old_prefix_length); $query = "UPDATE " . $import_table_prefix . "usermeta SET meta_key='".$new_meta_key."' WHERE umeta_id=".$meta_key->umeta_id; if (false === $wpdb->query($query)) $errors_occurred = true; } } else { // New, fast way: do it in a single query $sql = "UPDATE {$import_table_prefix}usermeta SET meta_key = REPLACE(meta_key, '$old_table_prefix', '{$import_table_prefix}') WHERE meta_key LIKE '".UpdraftPlus_Database_Utility::esc_like($old_table_prefix)."%';"; if (false === $wpdb->query($sql)) $errors_occurred = true; } if ($errors_occurred) { $updraftplus->log("Error when changing usermeta table fields"); $print_line .= __('Error', 'updraftplus'); } else { $updraftplus->log("Usermeta table fields changed OK"); $print_line .= __('OK', 'updraftplus'); } $updraftplus->log($print_line, 'notice-restore'); } do_action('updraftplus_restored_db_table', $table, $import_table_prefix, $engine); // Re-generate permalinks. Do this last - i.e. make sure everything else is fixed up first. if ($table == $import_table_prefix.'options') $this->flush_rewrite_rules(); } /** * This function will search and replace ABSPATH in the restored table * * @param string $table - the table to search and replace * @param string $import_table_prefix - the import table prefix * * @return void */ public function updraftplus_restored_db_table($table, $import_table_prefix) { global $updraftplus; // If this is set return as migrator will handle the abspath change, this way we don't search and replace each table twice if (!empty($this->restore_options['updraft_restorer_replacesiteurl'])) return; // If old abspath is not empty then it has changed so try and search replace it, just in case a bad plugin/theme has saved abspath to the DB if (!empty($this->old_abspath)) { $from_array = array(); $from_array[] = $this->old_abspath; $to_array = array(); $to_array[] = ABSPATH; $stripped_table = substr($table, strlen($import_table_prefix)); // The search/replace parameters are allowed to be either strings or arrays $report = $this->search_replace_obj->icit_srdb_replacer($from_array, $to_array, array($table => $stripped_table), 5000); // Output any errors encountered during the db work. if (!empty($report['errors']) && is_array($report['errors'])) { $updraftplus->log(__('Error:', 'updraftplus'), 'warning-restore', 'restore-db-error'); $processed_errors = array(); foreach ($report['errors'] as $error) { if (in_array($error, $processed_errors)) continue; $processed_errors[] = $error; $num = count(array_keys($report['errors'], $error)); $err_string = $error; if ($num > 1) $err_string .= ' (x'.$num.')'; $updraftplus->log($err_string, 'warning-restore'); } } elseif (false == $report) { $updraftplus->log(sprintf(__('Failed: the %s operation was not able to start.', 'updraftplus'), __('search and replace', 'updraftplus')), 'warning-notice'); } elseif (!is_array($report)) { $updraftplus->log(sprintf(__('Failed: we did not understand the result returned by the %s operation.', 'updraftplus'), __('search and replace', 'updraftplus')), 'warning-notice'); } } } /** * Log permission failure message when restoring a backup * * @param string $path full path of file or folder * @param string $log_message_prefix action which is performed to path * @param string $directory_prefix_in_log_message Directory Prefix. It should be either "Parent" or "Destination" */ private function restore_log_permission_failure_message($path, $log_message_prefix, $directory_prefix_in_log_message = 'Parent') { global $updraftplus; $log_message = $updraftplus->log_permission_failure_message($path, $log_message_prefix, $directory_prefix_in_log_message); if ($log_message) { $updraftplus->log($log_message, 'warning-restore'); } } /** * This function will loop through all the sites available and get their active plugins and ensure any missing plugins are removed from the active list to prevent crashes. * * @param string $import_table_prefix - the table prefix * * @return void */ private function check_active_plugins($import_table_prefix) { global $wpdb; if ($this->is_multisite) { // Get the site wide active plugins $plugins = $wpdb->get_row("SELECT meta_value FROM {$import_table_prefix}sitemeta WHERE meta_key = 'active_sitewide_plugins'"); if (!empty($plugins->meta_value)) { $plugins = $this->deactivate_missing_plugins($plugins->meta_value); $wpdb->query($wpdb->prepare("UPDATE {$import_table_prefix}sitemeta SET meta_value=%s WHERE meta_key='active_sitewide_plugins'", $plugins)); } $offset = 0; $limit = 250; while (true) { // Loop over and get each sites active plugins $blogs = $wpdb->get_results("SELECT blog_id FROM {$wpdb->blogs} LIMIT {$offset}, {$limit}", ARRAY_A); if (empty($blogs)) break; foreach ($blogs as $row) { if (!apply_filters('updraftplus_restore_this_site', true, $row['blog_id'], '', $this->restore_options)) continue; $plugins = $wpdb->get_row("SELECT option_value FROM ".$wpdb->get_blog_prefix($row['blog_id'])."options WHERE option_name = 'active_plugins'"); if (empty($plugins->option_value)) continue; $plugins = $this->deactivate_missing_plugins($plugins->option_value); $wpdb->query($wpdb->prepare("UPDATE ".$wpdb->get_blog_prefix($row['blog_id'])."options SET option_value=%s WHERE option_name='active_plugins'", $plugins)); } $offset += $limit; } } else { $plugins = $wpdb->get_row("SELECT option_value FROM {$import_table_prefix}options WHERE option_name = 'active_plugins'"); if (empty($plugins->option_value)) return; $plugins = $this->deactivate_missing_plugins($plugins->option_value); $wpdb->query($wpdb->prepare("UPDATE {$import_table_prefix}options SET option_value=%s WHERE option_name='active_plugins'", $plugins)); } } /** * This function will check the list of active plugins and ensure they are still installed, if any are missing it will deactivate them to prevent the site from crashing. * * @param String $plugins - serialized active plugins * * @return String - filtered results */ private function deactivate_missing_plugins($plugins) { global $updraftplus; if (!function_exists('get_plugins')) include_once(ABSPATH.'wp-admin/includes/plugin.php'); $installed_plugins = array_keys(get_plugins()); $plugins = maybe_unserialize($plugins); foreach ($plugins as $key => $path) { // Single site and multisite have a different array structure, in single site the path is the array value, in multisite the path is the array key. if (!in_array($key, $installed_plugins) && !in_array($path, $installed_plugins)) { $log_path = $this->is_multisite ? $key : $path; $updraftplus->log_e('Plugin path %s not found: de-activating.', $log_path); unset($plugins[$key]); } } $plugins = serialize($plugins); return $plugins; } /** * This function will return a random table prefix * * @param String $string - default prefix * * @return String - the random prefix */ public function updraftplus_random_restore_table_prefix($string) { global $wpdb; while (true) { $random_string = UpdraftPlus_Manipulation_Functions::generate_random_string(2). '_'; if ($string != $random_string) { if (0 === $wpdb->query("SHOW TABLES LIKE '".$random_string."%'")) return $random_string; } } } /** * This function will drop all tables from the database * * @param Array $tables - list of table names */ private function drop_tables($tables) { foreach ($tables as $table) $this->sql_exec('DROP TABLE IF EXISTS '.UpdraftPlus_Manipulation_Functions::backquote($table), 1, '', false); } /** * Adjust and replace the invalid root path of the auto_prepend_file values with the current server's root path */ private function adjust_auto_prepend_directive() { global $wp_filesystem, $updraftplus; $external_plugins = array( 'wordfence' => array( 'filename' => 'wordfence-waf.php', // this file is located in the root directory so there's no additional path in it, other plugins may place the corresponding file in its plugin directory, in that case the additional path should be added (e.g. 'wp-content/plugins/plugin-name/file-name.php') 'callback' => 'adjust_wordfencewaf_root_path', ) ); foreach ($updraftplus->server_configuration_file_list() as $server_config_file) { if (empty($server_config_file)) continue; if (file_exists($this->abspath.$server_config_file)) { $updraftplus->log("$server_config_file configuration file has been detected during the restoration. Trying to open the file now for various-fixing tasks"); $server_config_file_content = file_get_contents($this->abspath.$server_config_file); if (false !== $server_config_file_content) { foreach ($external_plugins as $data) { $file_pattern = str_replace(array('/', '.', "'", '"'), array('\/', '\.', "\'", '\"'), $data['filename']); if (file_exists($this->abspath.$data['filename'])) { if (!$wp_filesystem->put_contents($this->abspath.$server_config_file, preg_replace('/((?:php_value\s\s*)?auto_prepend_file(?:\s*=)?\s*(?:\'|")).+?'.$file_pattern.'(\'|")/is', "$1{$this->abspath}{$data['filename']}$2", $server_config_file_content))) { $updraftplus->log("Couldn't write a fix into the $server_config_file file"); } if (isset($data['callback']) && method_exists($this, $data['callback'])) call_user_func(array($this, $data['callback'])); } else { // if somehow, some way, the plugin's auto prepended file is missing then the auto_prepend_file directive in the config file needs to be removed or it will cause a fatal error if (!$wp_filesystem->put_contents($this->abspath.$server_config_file, preg_replace('/((?:php_value\s\s*)?auto_prepend_file(?:\s*=)?\s*(?:\'|")).+?'.$file_pattern.'(\'|")/is', "", $server_config_file_content))) { $updraftplus->log("The {$data['filename']} file doesn't exist, couldn't write a fix into the $server_config_file file"); } } } } else { $updraftplus->log("Failed to read the $server_config_file file"); } } } } /** * Adjust and replace the root paths in the wordfence-waf.php file with the current server's root path */ private function adjust_wordfencewaf_root_path() { global $wp_filesystem, $updraftplus; if (file_exists($this->abspath.'wordfence-waf.php')) { $updraftplus->log("Wordfence auto-prepended file has been detected during the restoration. Trying to open the file now for various-fixing tasks"); $wordfence_waf = file_get_contents($this->abspath.'wordfence-waf.php'); if (false !== $wordfence_waf) { // https://regex101.com/r/VeCwzH/1/ if (preg_match_all('/(?:wp-content[\/\\\]+plugins[\/\\\]+wordfence[\/\\\]+waf[\/\\\]+bootstrap\.php|wp-content[\/\\\]+wflogs[\/\\\]*)((?:\'|"))/is', $wordfence_waf, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER)) { $matches = array_reverse($matches); foreach ($matches as $match) { $enclosure_cnt = 0; $start = (int) $match[0][1]; $enclosure = $match[1][0]; $offset = -1; for ($i=$start; $i>=0; $i--) { if ($enclosure_cnt > 0) { if ('\\' === $wordfence_waf[$i]) { $enclosure_cnt--; } else { $offset = $i+2; break; } } else { if ($enclosure === $wordfence_waf[$i]) { $enclosure_cnt++; } } } if ($offset >= 0) { if (false !== stripos($match[0][0], 'wflogs')) { $wordfence_waf = substr_replace($wordfence_waf, WP_CONTENT_DIR.'/wflogs/', $offset, ((int) $match[1][1]) - $offset); } else { $wordfence_waf = substr_replace($wordfence_waf, WP_PLUGIN_DIR.'/wordfence/waf/bootstrap.php', $offset, ((int) $match[1][1]) - $offset); } } } if (!$wp_filesystem->put_contents($this->abspath.'wordfence-waf.php', $wordfence_waf)) { $updraftplus->log("Couldn't write fixes into the wordfence-waf.php file"); } } } else { $updraftplus->log("Failed to read the wordfence-waf.php file"); } } } } // The purpose of this is that, in a certain case, we want to forbid the "move" operation from doing a copy/delete if a direct move fails... because we have our own method for retrying (and don't want to risk copying a tonne of data if we can avoid it) if (!class_exists('WP_Filesystem_Direct')) { if (!class_exists('WP_Filesystem_Base')) include_once(ABSPATH.'wp-admin/includes/class-wp-filesystem-base.php'); include_once(ABSPATH.'wp-admin/includes/class-wp-filesystem-direct.php'); } class UpdraftPlus_WP_Filesystem_Direct extends WP_Filesystem_Direct { /** * Moves a file * * @param String $source Path to the source file. * @param String $destination Path to the destination file. * @param Boolean $overwrite Whether to overwrite the destination file if it exists. * * @return Boolean Success status */ public function move($source, $destination, $overwrite = false) { if (!$overwrite && $this->exists($destination)) return false; // try using rename first. if that fails (for example, source is read only) try copy if (@rename($source, $destination))// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged -- Silenced to suppress errors that may arise because of the function. return true; return false; } } /** * Plugin class that is used for Elementor's namespace aliasing or could also be used for a variety of purposes of Elementor need */ if (!class_exists('\Elementor\Plugin')) { class UpdraftPlus_Elementor_Plugin { } } /** * Get a protected property */ class UpdraftPlus_WPDB extends wpdb { /** * Get the database handle * * @return Mixed - the database handle */ public function updraftplus_get_database_handle() { return $this->dbh; } /** * Return whether the object is using mysqli or not. * * @return Boolean */ public function updraftplus_use_mysqli() { return $this->dbh instanceof mysqli; } } options.php000064400000030502147400355670006763 0ustar00 $item) { if ('updraftplus' != $item[2]) continue; unset($submenu['options-general.php'][$key]); } } else { UpdraftPlus_Options::add_submenu(); } } /** * Adds a submenu page under the "Settings" menu in the WordPress admin. * * The capability required to access this submenu is filtered through the * 'option_page_capability_updraft-options-group' filter, with a default value of 'manage_options'. */ public static function add_submenu() { global $updraftplus_admin; $capability = apply_filters('option_page_capability_updraft-options-group', 'manage_options'); add_submenu_page( 'options-general.php', 'UpdraftPlus', __('UpdraftPlus Backups', 'updraftplus'), $capability, 'updraftplus', array($updraftplus_admin, 'settings_output') ); } public static function options_form_begin($settings_fields = 'updraft-options-group', $allow_autocomplete = true, $get_params = array(), $classes = '') { global $pagenow; echo '
    $v) { if ($first_one) { $first_one = false; } else { $page .= '&'; } $page .= urlencode($k).'='.urlencode($v); } } if ($page) echo ' action="'.$page.'"'; if (!$allow_autocomplete) echo ' autocomplete="off"'; echo '>'; if ($settings_fields) { // This is settings_fields('updraft-options-group'), but with the referer pruned echo ""; echo ''; wp_nonce_field("updraft-options-group-options", '_wpnonce', false); $remove_query_args = array('state', 'action', 'oauth_verifier'); $referer = UpdraftPlus_Manipulation_Functions::wp_unslash(remove_query_arg($remove_query_args, $_SERVER['REQUEST_URI'])); // Add back the page parameter if it looks like we were on the settings page via an OAuth callback that has now had all parameters removed. This is likely unnecessarily conservative, but there's nothing requiring more than this at the current time. if (substr($referer, -19, 19) == 'options-general.php' && false !== strpos($_SERVER['REQUEST_URI'], '?')) $referer .= '?page=updraftplus'; $referer_field = ''; echo $referer_field; } } /** * Runs upon the WordPress action admin_init */ public static function admin_init() { static $already_inited = false; if ($already_inited) return; $already_inited = true; // If being called outside of the admin context, this may not be loaded yet if (!function_exists('register_setting')) include_once(ABSPATH.'wp-admin/includes/plugin.php'); global $updraftplus, $updraftplus_admin; register_setting('updraft-options-group', 'updraft_interval', array($updraftplus, 'schedule_backup')); register_setting('updraft-options-group', 'updraft_interval_database', array($updraftplus, 'schedule_backup_database')); register_setting('updraft-options-group', 'updraft_interval_increments', array($updraftplus, 'schedule_backup_increments')); register_setting('updraft-options-group', 'updraft_retain', array('UpdraftPlus_Manipulation_Functions', 'retain_range')); register_setting('updraft-options-group', 'updraft_retain_db', array('UpdraftPlus_Manipulation_Functions', 'retain_range')); register_setting('updraft-options-group', 'updraft_retain_extrarules'); register_setting('updraft-options-group', 'updraft_encryptionphrase'); register_setting('updraft-options-group', 'updraft_service', array($updraftplus, 'just_one')); $services_to_register = array_keys($updraftplus->backup_methods); foreach ($services_to_register as $service) { register_setting('updraft-options-group', 'updraft_'.$service); // We have to add the filter manually in order to get the second parameter passed through (register_setting() only registers with one parameter) add_filter('sanitize_option_updraft_'.$service, array($updraftplus, 'storage_options_filter'), 10, 2); } register_setting('updraft-options-group', 'updraft_auto_updates', 'absint'); register_setting('updraft-options-group', 'updraft_ssl_nossl', 'absint'); register_setting('updraft-options-group', 'updraft_log_syslog', 'absint'); register_setting('updraft-options-group', 'updraft_ssl_useservercerts', 'absint'); register_setting('updraft-options-group', 'updraft_ssl_disableverify', 'absint'); register_setting('updraft-options-group', 'updraft_split_every', array($updraftplus_admin, 'optionfilter_split_every')); register_setting('updraft-options-group', 'updraft_dir', array('UpdraftPlus_Manipulation_Functions', 'prune_updraft_dir_prefix')); register_setting('updraft-options-group', 'updraft_report_warningsonly', array($updraftplus_admin, 'return_array')); register_setting('updraft-options-group', 'updraft_report_wholebackup', array($updraftplus_admin, 'return_array')); register_setting('updraft-options-group', 'updraft_report_dbbackup', array($updraftplus_admin, 'return_array')); register_setting('updraft-options-group', 'updraft_autobackup_default', 'absint'); register_setting('updraft-options-group', 'updraft_delete_local', 'absint'); register_setting('updraft-options-group', 'updraft_debug_mode', 'absint'); register_setting('updraft-options-group', 'updraft_extradbs'); register_setting('updraft-options-group', 'updraft_backupdb_nonwp', 'absint'); register_setting('updraft-options-group', 'updraft_include_plugins', 'absint'); register_setting('updraft-options-group', 'updraft_include_themes', 'absint'); register_setting('updraft-options-group', 'updraft_include_uploads', 'absint'); register_setting('updraft-options-group', 'updraft_include_others', 'absint'); register_setting('updraft-options-group', 'updraft_include_wpcore', 'absint'); register_setting('updraft-options-group', 'updraft_include_wpcore_exclude', array('UpdraftPlus_Manipulation_Functions', 'strip_dirslash')); register_setting('updraft-options-group', 'updraft_include_more', 'absint'); register_setting('updraft-options-group', 'updraft_include_more_path', array('UpdraftPlus_Manipulation_Functions', 'remove_empties')); register_setting('updraft-options-group', 'updraft_include_uploads_exclude', array('UpdraftPlus_Manipulation_Functions', 'strip_dirslash')); register_setting('updraft-options-group', 'updraft_include_others_exclude', array('UpdraftPlus_Manipulation_Functions', 'strip_dirslash')); register_setting('updraft-options-group', 'updraft_starttime_files', array('UpdraftPlus_Options', 'hourminute')); register_setting('updraft-options-group', 'updraft_starttime_db', array('UpdraftPlus_Options', 'hourminute')); register_setting('updraft-options-group', 'updraft_startday_files', array('UpdraftPlus_Options', 'week_or_month_day')); register_setting('updraft-options-group', 'updraft_startday_db', array('UpdraftPlus_Options', 'week_or_month_day')); global $pagenow; if ('options-general.php' == $pagenow && isset($_REQUEST['page']) && 'updraftplus' == substr($_REQUEST['page'], 0, 11)) { if (!defined('UPDRAFTPLUS_DISABLE_TOP_LEVEL_MENU_ENTRY') || !UPDRAFTPLUS_DISABLE_TOP_LEVEL_MENU_ENTRY) add_filter('parent_file', array('UpdraftPlus', 'parent_file'), 99); if (is_multisite()) add_action('all_admin_notices', array('UpdraftPlus_Options', 'show_admin_warning_multisite')); } } public static function hourminute($pot) { if (preg_match("/^([0-2]?[0-9]):([0-5][0-9])$/", $pot, $matches)) return sprintf("%02d:%s", $matches[1], $matches[2]); if ('' == $pot) return date('H:i', time()+300); return '00:00'; } public static function week_or_month_day($pot) { $pot = absint($pot); return ($pot>28) ? 1 : $pot; } /** * Output information about the multisite add-on when relevant */ public static function show_admin_warning_multisite() { global $updraftplus_admin; $updraftplus_admin->show_admin_warning(''.__('UpdraftPlus warning:', 'updraftplus').' '.__('This is a WordPress multi-site (a.k.a. network) installation.', 'updraftplus').' '.__('WordPress Multisite is supported, with extra features, by UpdraftPlus Premium.', 'updraftplus').' '.__('Without upgrading, UpdraftPlus allows every blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) the entire network.', 'updraftplus').' '.__('(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).', 'updraftplus'), 'error'); } } add_action('admin_init', array('UpdraftPlus_Options', 'admin_init')); add_action('admin_menu', array('UpdraftPlus_Options', 'add_admin_pages'));